Please enable JavaScript.
Coggle requires JavaScript to display documents.
Transport Layer - Coggle Diagram
Transport Layer
3.1 Introduction and Transport-Layer Services
บทสรุป:
เลเยอร์การขนส่งจัดการการสื่อสารระหว่างแอปพลิเคชันบนโฮสต์ต่างๆ ผ่าน logical communication
เลเยอร์การขนส่งมีโปรโตคอลหลายตัว เช่น TCP และ UDP แต่ละตัวมีบริการที่แตกต่างกัน
เลเยอร์การขนส่งมีหน้าที่แปลงข้อความแอปพลิเคชันเป็น segment ใส่ header และส่งต่อไปยังเลเยอร์เครือข่าย
แอปพลิเคชันมองว่าโฮสต์เชื่อมต่อกันโดยตรง โดยไม่ต้องกังวลกับการเชื่อมต่อทางกายภาพ
ประเด็นสำคัญ:
เลเยอร์การขนส่งอยู่เหนือเลเยอร์เครือข่าย
เลเยอร์การขนส่งจัดการ logical communication แอปพลิเคชันไม่ต้องกังวลกับรายละเอียดทางกายภาพ
เลเยอร์การขนส่งแปลงข้อความแอปพลิเคชันเป็น segment ใส่ header และส่งต่อไปยังเลเยอร์เครือข่าย
เลเยอร์การขนส่งมีโปรโตคอลหลายตัว เช่น TCP เหมาะสำหรับการส่งข้อมูลที่เชื่อถือได้และเรียงลำดับ UDP เหมาะสำหรับการส่งข้อมูลที่ต้องการความเร็วสูง
5 Connection-Oriented Transport: TCP
(การขนส่งเชิงการเชื่อมต่อ: TCP)
5.1 The TCP Connection การเชื่อมต่อ TPC
เป็นการเชื่อมต่อแบบ point-to-point ที่เชื่อถือได้ระหว่างสองโฮสต์บนเครือข่าย TCP ทำหน้าที่รับประกันว่าข้อมูลจะถูกส่งมอบอย่างถูกต้องและครบถ้วน โดยไม่คำนึงถึงความผิดพลาดที่อาจเกิดขึ้นในเครือข่าย
5.2 TCP Segment Structure โครงสร้างส่วนข้อมูล
TCP Segment ประกอบด้วยส่วนหัว (header) และข้อมูล (data) ส่วนหัวของ TCP Segment มีขนาด 20 ไบต์ โดยไม่รวมตัวเลือก (option)
5.3 Round-Trip Time Estimation and Timeout
5.4 Reliable Data Transfer
5.5 Flow Control
5.6 TCP Connection Management
การควบคมุความแออัดของ TCP
การควบคุมความแออัดของ TCP แบบคลาสสิก
กลไกการควบคุมความแออัดของ TCP แบบคลาสสิค
Slow Start: เริ่มต้นส่งข้อมูลด้วยขนาด Window เล็ก ค่อยๆ เพิ่มขนาด Window ขึ้นทีละ 1 MSS เมื่อได้รับ ACK
Congestion Avoidance: ปรับขนาด Window ขึ้นทีละ 1 MSS เมื่อไม่มีความแออัด
Fast Retransmit: ส่งข้อมูลซ้ำโดยไม่ต้องรอ Timeout เมื่อตรวจพบ Packet Loss
Fast Recovery: กลับมาสู่ Slow Start เมื่อตรวจพบ Congestion
ข้อดีละข้อเสียของการควบคุมความแออัดของ TCP แบบคลาสสิค
ข้อดี
ใช้งานง่าย
มีประสิทธิภาพ
ข้อเสีย
ไม่เหมาะกับเครือข่ายที่มีความหน่วงเวลามาก
ไม่เหมาะกับเครือข่ายที่มีการสูญเสียข้อมูลสูง
หลักการควบคมุความแออัด
สาเหตุของความแออัด
มีจำนวนข้อมูลบนเครือข่ายมากกว่าที่เครือข่ายสามารถรองรับได้
การกระจายการใช้งานเครือข่ายไม่เท่าเทียมกัน
มีการส่งข้อมูลขนาดใหญ่ในเวลาเดียวกัน
แนวทางการควบคุมการจราจรติดขัด
• การควบคุมความแออัดแบบครบวงจร แบบ end-to-end ในการควบคุมความแออัด
• การควบคุมความแออัดโดยใชเ้ครอืข่ายช่วย ด้วยการได้รับความช่วยเหลือจากเครอืข่าย
3.4 Principles of Reliable Data Transfer
บทสรุป:
โปรโตคอล TCP เป็นตัวอย่างของโปรโตคอลที่ใช้กลไกเหล่านี้
การถ่ายโอนข้อมูลที่เชื่อถือได้ หมายถึง การรับประกันว่าข้อมูลจะถูกส่งมอบปลายทางอย่างถูกต้อง ครบถ้วน และตามลำดับ
เลเยอร์การขนส่งมีกลไกต่างๆ สำหรับการถ่ายโอนข้อมูลที่เชื่อถือได้ เช่น การตรวจสอบข้อผิดพลาด การควบคุมการไหล และการติดตามสถานะ
ประเด็นสำคัญ:
การถ่ายโอนข้อมูลที่เชื่อถือได้เป็นสิ่งสำคัญสำหรับแอปพลิเคชันหลายประเภท
กลไกต่างๆ ที่ใช้ในเลเยอร์การขนส่งช่วยให้มั่นใจว่าข้อมูลจะถูกส่งมอบปลายทางอย่างถูกต้อง
โปรโตคอล TCP เป็นโปรโตคอลที่ได้รับความนิยมสำหรับการถ่ายโอนข้อมูลที่เชื่อถือได้
ตัวอย่างกลไก:
การควบคุมการไหล: ควบคุมอัตราการส่งข้อมูลเพื่อป้องกันการรับข้อมูลล้น
การติดตามสถานะ: ติดตามสถานะของข้อมูลที่ส่ง เพื่อให้สามารถส่ง повторно
การตรวจสอบข้อผิดพลาด: ใช้ checksum เพื่อตรวจสอบความถูกต้องของข้อมูล
3.2 Multiplexing and Demultiplexing
บทสรุป:
เลเยอร์การขนส่งใช้การดีมัลติเพล็กซิ่งเพื่อแยกข้อมูลจากแหล่งต่างๆ ออกจากกัน
การมัลติเพล็กซิ่งคือการรวมสัญญาณหลายสัญญาณเข้าด้วยกันบนสื่อกลางเดียว
เลเยอร์การขนส่งใช้การมัลติเพล็กซิ่งเพื่อส่งข้อมูลจากหลายแหล่งบนลิงก์เดียว
การดีมัลติเพล็กซิ่งคือกระบวนการแยกสัญญาณที่มัลติเพล็กซ์ไว้กลับมา
ประเด็นสำคัญ:
เลเยอร์การขนส่งใช้เทคนิคการมัลติเพล็กซิ่งเพื่อเพิ่มประสิทธิภาพการใช้สื่อกลาง
เทคนิคการมัลติเพล็กซิ่งที่ใช้ในเลเยอร์การขนส่งมีหลายแบบ เช่น Time Division Multiplexing (TDM) และ Frequency Division Multiplexing (FDM)
การดีมัลติเพล็กซิ่งจำเป็นต้องใช้ข้อมูล header ที่ส่งมากับ segment
เลเยอร์การขนส่งใช้การดีมัลติเพล็กซิ่งเพื่อแยกข้อมูลจากแหล่งต่างๆ ออกจากกัน
วิวัฒนาการของฟังก์ชั่น Transport-Layer
3.3 Connectionless Transport: UDP
บทสรุป:
UDP เหมาะสำหรับการส่งข้อมูลที่ต้องการความเร็วสูง
UDP ไม่รับประกันการส่งมอบข้อมูล
แอปพลิเคชันต้องตรวจสอบความถูกต้องและความสมบูรณ์ของข้อมูลเอง
UDP เป็นโปรโตคอลเลเยอร์การขนส่งแบบไม่มีการเชื่อมต่อ
ประเด็นสำคัญ:
แอปพลิเคชันต้องตรวจสอบความถูกต้องและความสมบูรณ์ของข้อมูลเอง
UDP เหมาะสำหรับการส่งข้อมูลแบบ broadcast
แอปพลิเคชันต้องมีกลไกควบคุมการไหลของข้อมูลเอง
UDP เป็นโปรโตคอลที่เรียบง่ายและมี overhead น้อย
UDP เหมาะสำหรับการส่งข้อมูลแบบ streaming เช่น วิดีโอ เสียง
ตัวอย่างการใช้งาน UDP:
VoIP (Voice over Internet Protocol):
ใช้ UDP สำหรับการส่งข้อมูลเสียงแบบเรียลไทม์
เหมาะสำหรับการสื่อสารแบบโต้ตอบโดยตรง
Streaming media
ใช้ UDP สำหรับการส่งข้อมูลวิดีโอและเสียงแบบสตรีมมิ่ง
เหมาะสำหรับการรับชมเนื้อหาแบบเรียลไทม์ เช่น รายการสด
DHCP (Dynamic Host Configuration Protocol):
ใช้ UDP สำหรับการกำหนดค่า IP address อัตโนมัติ
อุปกรณ์ DHCP Client ส่งข้อความ DHCP Discover ผ่าน UDP
DNS (Domain Name System):
ใช้ UDP สำหรับการค้นหาชื่อโดเมน
ไคลเอ็นต์ส่งข้อความค้นหาไปยังเซิร์ฟเวอร์ DNS ผ่าน UDP