Transmission Control Protocol (TCP) และ User Datagram Protocol (UDP) เป็นสองชั้นขนส่งมาตรฐานที่ใช้กับ อินเทอร์เน็ตโพรโทคอล (IP)
ทั้ง TDP และ UDP ใช้ ส่วนหัว ของข้อมูลการบรรจุหีบห่อเพื่อถ่ายโอนผ่านการเชื่อมต่อเครือข่าย ส่วนหัว TCP และส่วนหัว UDP แต่ละชุดมีชุดพารามิเตอร์ที่เรียกว่า ฟิลด์ที่ กำหนดโดยข้อกำหนดทางเทคนิคของโปรโตคอล
รูปแบบส่วนหัวของ TCP
ส่วนหัวของ TCP แต่ละช่องมีฟิลด์ที่ต้องกรอก 10 ช่องซึ่งมี ขนาด 20 ไบต์ (160 บิต ) นอกจากนี้ยังสามารถเพิ่มส่วนข้อมูลเพิ่มเติมได้ถึง 40 ไบต์
นี่คือเค้าโครงของส่วนหัว TCP:
- หมายเลขพอร์ต TCP ที่มา (2 ไบต์)
- ปลายทางพอร์ต TCP (2 ไบต์)
- หมายเลขลำดับ (4 ไบต์)
- หมายเลขการตอบรับ (4 ไบต์)
- TCP data offset (4 บิต)
- ข้อมูลที่สงวนไว้ (3 บิต)
- ควบคุมธง (ไม่เกิน 9 บิต)
- ขนาดหน้าต่าง (2 ไบต์)
- TCP checksum (2 ไบต์)
- ตัวชี้ด่วน (2 ไบต์)
- TCP optional data (0-40 bytes)
TCP แทรกเขตข้อมูลส่วนหัวลงในสตรีมข้อความตามลำดับที่แสดงด้านบน
- หมายเลขพอร์ต TCP และปลายทาง คือปลายทางการสื่อสารสำหรับการส่งและรับอุปกรณ์
- ผู้ส่งข้อความใช้ หมายเลขลำดับ เพื่อทำเครื่องหมายการสั่งซื้อของกลุ่มข้อความ ทั้งผู้ส่งและผู้รับใช้ฟิลด์ หมายเลข รับทราบเพื่อสื่อสารหมายเลขลำดับของข้อความที่ได้รับหรือคาดว่าจะได้รับเมื่อเร็ว ๆ นี้
- ฟิลด์ออฟเซ็ทข้อมูลจะ เก็บขนาดของส่วนหัว TCP ทั้งหมดไว้เป็นทวีคูณของสี่ไบต์ ส่วนหัวที่ไม่ใช้ฟิลด์ TCP ที่ไม่บังคับมีข้อมูลออฟเซตเท่ากับ 5 (แสดงเป็น 20 ไบต์) ส่วนส่วนหัวโดยใช้ฟิลด์ตัวเลือกสูงสุดจะมีข้อมูลออฟเซตเท่ากับ 15 (แสดงเป็น 60 ไบต์)
- ข้อมูลที่สงวนไว้ ในส่วนหัว TCP จะมีค่าเท่ากับศูนย์เสมอ ฟิลด์นี้มีจุดประสงค์เพื่อปรับขนาดส่วนหัวทั้งหมดให้เป็นไบต์สี่ไบต์ (มีความสำคัญต่อประสิทธิภาพในการประมวลผลข้อมูลคอมพิวเตอร์)
- TCP ใช้ชุดค่า สถานะการควบคุม แบบมาตรฐาน 6 ชุดและสาม ชุด (แต่ละบิตแสดงถึงหรือ ปิด ) เพื่อจัดการการไหลของข้อมูลในสถานการณ์เฉพาะ ธงบิตหนึ่งเช่นเริ่มต้นตรรกะการตั้งค่าการเชื่อมต่อ TCP การดำเนินการโดยละเอียดของฟิลด์เหล่านี้อยู่นอกเหนือขอบเขตของบทความนี้
- ผู้ส่ง TCP ใช้หมายเลขที่เรียกว่า ขนาดหน้าต่าง เพื่อควบคุมจำนวนข้อมูลที่ส่งไปยังผู้รับก่อนที่จะต้องได้รับการตอบรับ ถ้าขนาดหน้าต่างเล็กเกินไปการโอนข้อมูลเครือข่ายจะช้าลงโดยไม่จำเป็นขณะที่ขนาดของหน้าต่างใหญ่เกินไปลิงก์เครือข่ายอาจอิ่มตัว (ไม่สามารถใช้งานกับแอพพลิเคชันอื่น ๆ ) หรือผู้รับอาจไม่สามารถประมวลผลข้อมูลขาเข้าได้อย่างรวดเร็ว พอ (ยังส่งผลให้ประสิทธิภาพการทำงานช้า) อัลกอริทึม Windowing ที่สร้างขึ้นในโปรโตคอลจะคำนวณค่าขนาดแบบไดนามิกและใช้ฟิลด์นี้ของส่วนหัว TCP เพื่อประสานการเปลี่ยนแปลงระหว่างผู้ส่งและผู้รับ
- ค่า checksum ภายในส่วนหัว TCP ถูกสร้างขึ้นโดยผู้ส่งโปรโตคอลเป็นเทคนิคทางคณิตศาสตร์เพื่อช่วยให้ผู้รับสามารถตรวจจับข้อความที่เสียหายหรือถูกดัดแปลงด้วย
- ฟิลด์ตัวชี้เร่งด่วนมักถูกตั้งค่าเป็นศูนย์และไม่สนใจ แต่ใช้ร่วมกับแฟล็กควบคุมหนึ่ง ๆ ซึ่งสามารถใช้เป็นข้อมูลชดเชยเพื่อทำเครื่องหมายเซตย่อยของข้อความตามที่ต้องการการประมวลผลระดับความสำคัญ
- ประเพณีของ TCP ข้อมูลนอกเหนือไปจากขอบเขตของบทความนี้ แต่รวมถึงการสนับสนุนการรับทราบพิเศษและอัลกอริทึมการปรับขนาดหน้าต่าง
รูปแบบส่วนหัว UDP
เนื่องจาก UDP มีข้อ จำกัด ในด้านความสามารถมากกว่า TCP ส่วนหัวมีขนาดเล็กมาก ส่วนหัว UDP มี 8 ไบต์แบ่งเป็นสี่ฟิลด์ที่จำเป็นต่อไปนี้:
- หมายเลขพอร์ตต้นทาง (2 ไบต์)
- หมายเลขพอร์ตปลายทาง (2 ไบต์)
- ความยาวของข้อมูล (2 ไบต์)
- การตรวจสอบ UDP (2 ไบต์)
UDP แทรกเขตข้อมูลส่วนหัวเข้าไปในสตรีมข้อความตามลำดับที่แสดงไว้ด้านบน
- หมายเลขพอร์ต UDP และปลายทาง เป็นปลายทางการสื่อสารสำหรับการส่งและรับอุปกรณ์
- ฟิลด์ ความยาว ใน UDP หมายถึงขนาดรวมของเดตาแกรมรวมทั้งส่วนหัวและข้อมูล ฟิลด์นี้มีมูลค่าตั้งแต่น้อยกว่า 8 ไบต์ (ขนาดส่วนหัวที่ต้องการ) ถึงขนาดที่มากกว่า 65,000 ไบต์
- คล้ายกับ TCP การ ตรวจสอบความถูกต้องของ UDP ช่วยให้ผู้รับสามารถตรวจสอบข้อมูลขาเข้าสำหรับข้อมูลที่เสียหายของข้อความได้