NIDA COM24 (REUTERS)AS612 DATA COMMUNICATION AND COMPUTER NETWORKS
P. 2
1.6.
PresentationLayer–
ระดับนี ้จะทําหนาที ่
“
ใหบริการ
User
หรือ
User Application
เกี่ยวกับ
การคงไวซึ่งความหมายของขอมูล
เนื ้อหาหลักใน
Layer
นี ้จะกลาวถึงการสื ่อความหมายระหวางฝ งสงและฝ งรับ
1.
แปลงรหัสใหเปนรหัสกลาง
กลาวคือ
เมื ่อฝ งสง
สงเปนตัวอักษร
A
ฝ งรับก็จะตองรับเปนตัวอักษร
A
ดวย
(
คลายๆ
ภาษา
ถาเราพูด
ครับ
ฝรั ่งอาจจะไดยินเปน
Crab
ก็ได
)
ดังนั ้น
เพื ่อใหฝ งสงและฝ งรับเขาใจซึ ่งกันและกันจึงตองมีภาษากลางประกาศไว ใหทุกคนเขาใจตรงกัน
เชน
การ
Encode
ตัวอักษร
มีทั ้งแบบ
ASCII
และ
EBCDIC
หรือ
OneComplementVSTwoComplement
หากเครื ่องหนึ ่งเปน
ASCII
อีกเครื ่องรับเปน
EBCDIC
ก็ตองระบุวาจะใชอะไรเปนภาษากลาง
ถาใช
ASCII
เวลาไปถึง
ฝ งรับก็ตองแปลงเปน
EBCDIC
กอนเอาไปใช
2.
การใหบริการบีบอัดขอมูล
เมื ่อขอมูลมีปริมาณมากๆและซ้ ําๆกัน
3.
การใหบริการดานความปลอดภัย
มีการ
Encrypt
และ
Decrypt
เพื ่อไม ใหผู อื ่นนําขอมูลไปใชงานไดโดยงาย
การเขารหัสมี
2
วิธี
คือ
-
SymmetricKey–
ฝ งสงและฝ งรับมี
Key
เหมือนกัน
เชน
o
Caesar–
เปนการเขารหัสโดยใชการ
ShiftBit
ของขอมูล
o
XOR–
เปนการขารหัสโดยนําขอมูลไปทําการ
ExclusiveOR
กับ
Key
เมื ่อสงถึงฝ งรับก็ทําการ
XOR
กับ
Key
อีกครั ้งก็จะไดขอมูลเดิม
(kxork)=1
แตการเขารหัสแบบนี ้มีปญหาตรงที ่
Key
จะใชตัวเดิมๆ
วิธีเดิมๆ
ซ้ ํากันบอยๆ
ทําใหมีคนแกะได
-
AsymmetricKey–
ฝ งสงและฝ งรับมี
Key
ไมเหมือนกัน
หลักการคือ
มี
Key
อยู
2
ประเภท
ที ่ ใช ในการเขารหัส
และไมสามารถใช
Key
เดิมในการถอดรหัสได
o
PrivateKey
เปน
Key
ที ่อยู กับเครื ่องของผู สงเทานั ้น
o
PublicKey
เปน
Key
ที ่ประกาศใหเครื ่องอื ่นๆรู
หลักการ
คือ
เมื ่อตองการสงขอมลก็ทําการ
Encrypt
ดวย
PrivateKey
ของเราไป
เมื ่อไปถึงฝ งรับก็ ให ใช
PublicKey
ของเราในการถอดรหัส
หรือหากคนอื ่นตองการ
สงขอมูลที ่เปนความลับมาใหเราก็ ใหเขาใช
PublicKey
ของเราเปนตัวเขารหัส
แลวพอมาถึงเราก็เอา
PrivateKey
ของเราเปนตัวถอดรหัส
เทานี ้ก็ไมมี ใครสามารถแกะรหัสได
เพราะ
PrivateKey
ที ่ ใชถอดรหัสมีอยู แต ในเครื ่องเราเทานั ้น
หลักการนี ้ยังมีการนําไปประยุกตใชในการทํา
Signature
กลาวคือ
เมื ่อเรา
Encrypt
ดวย
PrivateKey
ของเราเมื ่อไปถึงผู รับ
จะตองใช
PublicKey
ของเราเทานั ้น
จึงจะสามารถเปดเอกสารออกดูได
ดังนั ้นจึงเปนการระบุความเปนเจาของไดวาเอกสารนั ้นๆ
มาจากเรา
1.7.
ApplicationLayer–
ระดับนี้จะทําหนาที่
ใหบริการ
User
หรือ
User Application
เกี่ยวกับการรับและสงขอมูล
”
กลาวคือเมื ่อ
User
หรือ
UserApplication
ตองการที ่จะสงขอมูลตองติดตอกับ
Layer
นี ้เหมือนเปนจุดใหบริการจุดแรกที ่
User
ตองมา
ตัวอยางการใหบริการในระดับนี ้
เชน
บริการรับสงไฟล
ไดแก
HTTP,FTP,SMTP,
บริการแปลงชื ่อเครื ่องเปน
IPAddress
ไดแก
DNS
บริการดาน
Terminal
ไดแก
Telnet
สรุป
Layer1–4
ทําหนาที ่ควบคุมการสงขอมูล
แปลวาพอถึง
Layer4
ขอมูลจะถึงมือผู รับเรียบรอยแลว
Layer5–7
ทําหนาที ่ ใหบริการ
+
อํานวยความสะดวกแก
User
และ
UserApplication2.
TCP/IP(TransmissionControlProtocol/InternetProtocol)–
เปนตัวแบบที ่ถูกสรางขึ ้นเพื ่ออธิบายการทํางานของ
Network
เปนตัวแบบแบบ
DeFacto
ตัวแบบนี ้จะคลายกับตัวแบบ
OSI
เพียงแตมีการรวม
ServicesLayer(Layer5–7)
เขาไวดวยกัน
Peer
คือ
ชองทางที ่ ใชเชื ่อมตอ
รับหรือสงขอมูล
PeerProcess
คือ
งานรับหรือสงขอมูลที ่กําลังทําอยู
ในทุกๆ
Layer
ถามองแคระดับเดียวกันไมสนใจวามันจะสงอะไรไปอยางไร
เราก็จะพบวามันคลายๆ
จะมี
Channel
หรือ
ชองทางที ่เชื ่อมถึงกันได
ชองทางนั ้นเรียกวา
LogicalChannel
เปนการทํางานในระดับ
PeerProcess
กับ
PeerProcess(
แต ในความเปนจริงมันก็ยังสงขอมูลผานลงไป
Layer
ดานลางแลวสงผาน
PhysicalMedium
เชน
สายไฟ
หรือ
คลื ่นวิทยุ
ไปขึ ้นที ่
Layer
ลางสุดของฝ งรับแลวคอยๆสงขึ ้นไปถึง
Layer
ระดับเดียวกัน
)
ในแตละ
Layer
จะมี
Interface
ใหเรียกใชงาน
เหมือนเปนฟงกชั ่นที ่มีการรับคา
Parameter
ซึ ่ง
Interface
นี ้จะเปนตัวระบุวา
Layer
ขางลางจะใหบริการอะไรกับ
Layer
ขางบน
(Return
คาอะไร
)
และการบริการจะทําอยางไร
(
ตองสง
Parameter
อะไรบาง
)Interface
ที ่ดีเมื ่อเวลาเราเปลี ่ยนเนื ้อหาภายในแลวตองยังทํางานไดเหมือนเดิม
ตัวอยางเชน
ถาเราเปลี ่ยนการทํางานของ
Function
จาก
BubbleSort
เปน
QuickSort
ก็จะตองใหบริการ
MainProgram
ไดเหมือนเดิม
Clean-cutInterface
คือ
ชัดเจนวาใหบริการอะไร
และตองสง
Parameter
ใหนอยที ่สุด
NetworkArchitecture
เปนตัวที ่บอกวา
Network
นั ้นมีกี ่
Layer
แตละ
Layer
มีหนาที ่อะไร
ทํางานอะไร
และ
Protocol
ที ่ ใช ในแตละ
Layer
มีอะไรบาง
(
เหมือนเปนกฎเกณฑ
)ProtocolStack
จะเปนสิ ่งที ่บอกวาในแตละ
Layer
ปจจุบันมี
Protocol
อะไรที ่ ใชงานจริงบาง
(ListofProtocol)
เชน
ตัวแบบ
TCP/IP
ถาเปนระดับ
IP(Network)
ก็จะมี
IP
ให ใชงาน
สวนในระดับ
TCP(Transport)
ก็จะมี
TCP
และ
UDP
ให ใชงาน
สวนในระดับ
DataLinkLayer
ก็จะมี
PPP(PointtoPointProtocol)
ให ใชงาน
Concept
ของ
Layer
คือ
การที ่
Layer
ลางใหบริการแก
Layer
บนโดยตัวที ่ทํางานจะเรียกวา
PeerProcess
จะทํางานโดยสงขอมูลพูดคุยกันใน
Layer
ระดับเดียวกัน
และการพูดคุยสงขอมูลกันจะตองมี
Protocol(
กฎ
)
ที ่ชัดเจน
ตั ้งแตระดับ
ApplicationLayer
เปนตนไป
จะมีการปะ
Header
เขาไปกับขอมูลที ่สงดวย
ดังนี ้
-
ApplicationLayer
มีการปะ
Header
เกี ่ยวกับ
ความยาวไฟล
,
ชื ่อไฟล
-
PresentationLayer
ถาขอมูลที ่สงเปนความลับก็จะมีการ
Encrypt
ไฟล
และใช
Algorithm
อะไรในการเขารหัส
ในบางครั ้งอาจมีการแนบ
Key
ไปดวย
-
SessionLayer
อาจมีการใส
บท
หนา
เรียกขอมูลเหลานี ้วา
SynchronizationPoint
เผื ่อถาเกิดการสงขอมูลมีปญหาก็จะไดสงเฉพาะหนาที ่มีปญหา
-
TransportationLayer
มีการแบงไฟลที ่จะสงออกเปนยอยๆใหขนาดไมเกิน
64Kbytes
เพราะเปนขนาดสูงสุดที ่จะวิ ่งผาน
InternetProtocol
ได
และมีการปะ
SequenceNo.
ไปดวยเผื ่อฝ งรับเอาไปรวมจะไดเรียงตามลําดับ
-
NetworkLayer
ในระดับนี ้ก็จะมีการปะ
IPAddress
ปลายทางเขาไป
-
DataLinkLayer
มีการปะทั ้ง
Header
และ
Trailer
โดย
Detail
ก็จะเปนขอมูลจําพวก
ErrorCorrection
เชน
ParityBit
และ
HammingCode
หนวยขอขอมูล
o
TransportLayer
มีหนวยเปน
Segment
ขนาดไมเกิน
64Kbytes
o
NetworkLayer
มีหนวยเปน
Package
o
DataLinkLayer
มีหนวยเปน
Frame
o
PhysicalLayer
มีหนวยเปน
Bit-
PhysicalLayer
มีการปะ
Clock
ไปดวยเพื ่อทําการ
SyncBit
ใหตรงกัน
เมื ่อขอมูลถูกสงออกจาก
Host
ตนทางออกไปเจอ
Router
ตัวที ่
1
ก็จะใช
Clock
ที ่ปะมาในการทํา
SamplingBit
ใหถูกตองเสร็จแลวก็ตองเช็ควาขอมูลที ่สงมาถูกตองหรือไมก็เอา
Clock
ที ่ปะมาออกแลวสงที ่เหลือให
DataLinkLayer
จากนั ้นเอา
Frame
มารวมกันแลวตัด
Header
ออกแลวเอา
Trailer
มาตรวจ
Error
จากนั ้นเอา
SOT(StartofText),EOT(EndofText)
และ
Trailer
ออกแลวสงตอไปยัง
NetworkLayer
เพื ่อหาเสนทาง
ในระดับนี ้ก็จะเอา
IPAddress
มาทํางานเพื ่อหาวาไปตอ
ทางไหนใกลสุด
จากนั ้นก็สงกลับไปยัง
Layer
ที ่
2
และ
1
เพื ่อสงตอไปยัง
Router
ตัวตอไป
(Layer3
จะ
ไมสงตอไปยัง
Layer4
เพราะ
Router
จะทํางานถึงระดับ
NetworkLayer
เทานั ้น
และ
Layer
ที ่
4
ทํางานแบบ
HosttoHost
ตองไปถึง
Host
กอนถึงจะทํางานที ่
Layer
ที ่
4
ได
และเมื ่อถึง
Layer
ที ่
4
แปลวาขอมูลถึงปลายทาแลว
)
เมื ่อขอมูลสงมาถึง
Host2
ที ่
Layer4
ก็จะเอา
Header
ทิ ้งแลวเอาขอมูลที ่แยกเปน
Segment
ไวมาตอเรียงกันตาม
SequenceNo.(Header
ของ
Layer5
ขึ ้นไปจะไมถือเปน
Header
แตจะถือเปนขอมูลตัวหนึ ่ง
)Layer7–EndtoEnd(HosttoHost)Layer6–EndtoEnd(HosttoHost)Layer5–EndtoEnd(HosttoHost)Layer4–SAP(ServiceAccessPoint)=PortNo.Layer3–SAP(ServiceAccessPoint)=IPAddressLayer2–SAP(ServiceAccessPoint)=MACAddressLayer1
Host1
Host2
R1
R1
R1
R1
Segment–PortNo.Package–IPAddressFrame–MACAddress
Leave a Comment