System Track
Network
OSI Model
Transport Layer
ทำความเข้าใจ Transport Layer (Layer 4): การส่งข้อมูลแบบ end-to-end, แนวคิด TCP/UDP และบทบาทของพอร์ตสำหรับผู้เริ่มต้น
1. Core Idea: Transport Layer ดูแลการส่งแบบ end-to-end
Transport Layer (Layer 4) ดูแลการส่งข้อมูลระหว่างโปรเซสของต้นทางและปลายทาง ชั้นนี้ช่วยจัดการเรื่องความน่าเชื่อถือ ลำดับข้อมูล และการแยกบริการด้วย port
- ดูแลการส่งแบบ end-to-end ระหว่างแอป
- มีแนวคิด reliability/ordering/retransmission
- ใช้ port แยกบริการต่าง ๆ ในเครื่องเดียวกัน
2. Mental Model: ส่งพัสดุแบบรับประกัน vs ด่วนเร็ว
ถ้ามองแบบขนส่ง: - แบบรับประกัน: ต้องถึงครบและเรียงลำดับ (แนวคิดแบบ TCP) - แบบเร็ว: เน้นส่งไว อาจไม่ครบทุกชิ้น (แนวคิดแบบ UDP) ไม่มีแบบไหนดีที่สุดเสมอ ขึ้นกับชนิดงาน
Transport Layer เลือกแนวทางส่งข้อมูลให้เหมาะงาน เช่นความน่าเชื่อถือหรือความเร็ว
3. คำสำคัญของ Transport Layer
| คำศัพท์ | ความหมายแบบสั้น | บทบาทในงานจริง |
|---|---|---|
| TCP | ส่งข้อมูลแบบเน้นความถูกต้องครบถ้วน | เหมาะกับเว็บ, API, login, transaction |
| UDP | ส่งแบบเบาและเร็วกว่าโดยทั่วไป | เหมาะกับ stream realtime/game บางกรณี |
| Port | เลขประจำบริการในเครื่อง | แยกว่า request เข้า service ใด |
| Retransmission | ส่งซ้ำเมื่อข้อมูลหาย | เพิ่มความน่าเชื่อถือ |
| Ordering | จัดลำดับข้อมูลให้ถูกต้อง | สำคัญกับงานที่ต้องเรียงครบ |
4. Worked Example: โหลดเว็บกับดูวิดีโอสด
- 1) โหลดเว็บ/เรียก API มักต้องการข้อมูลครบและเชื่อถือได้ (แนว TCP)
- 2) ถ้าข้อมูลหายบางส่วน ระบบสามารถขอส่งใหม่เพื่อความถูกต้อง
- 3) งานวิดีโอสดหรือ realtime บางแบบเน้นความต่อเนื่องและ latency ต่ำ
- 4) บางกรณีจึงเลือกแนวทางส่งที่เบากว่าเพื่อไม่หน่วงมากเกินไป
- 5) แอปเลือกแนวทางตามความต้องการของงาน ไม่ใช่เลือกแบบเดียวทุกสถานการณ์
5. Practical Notes: จุดสับสนของมือใหม่
- TCP ไม่ได้แปลว่าช้าตลอด และ UDP ไม่ได้แปลว่าดีกว่าเสมอ
- port คือการแยก service ไม่ใช่ตัวตนผู้ใช้
- ปัญหา timeout หรือช้าอาจเกี่ยวหลายชั้น ไม่ใช่ Transport อย่างเดียว
- บทนี้ไม่ลงลึก packet flags/handshake detail จะไปต่อในบทเฉพาะทาง
6. Recap + เชื่อมไปบทถัดไป
- Transport Layer ดูแลส่งข้อมูลแบบ end-to-end และแยกบริการด้วย port
- TCP/UDP เป็นแนวทางที่มี trade-off ต่างกัน
- บทถัดไปจะอธิบาย Session/Presentation/Application ว่าชั้นบนทำงานกับข้อมูลอย่างไร