Page 150 - Computer Network
P. 150
19.2. INTERNET PROTOCOL (IP) 141
• Total length: ระบุความยาวทั้งหมดของดาต้าแกรม รวมถึงความยาวของเฮดเดอร์ด้วย ทำให้เร้าเตอร์
สามารถคำนวณหาค่าของความยาวของ payload ที่ถูกส่งมาด้วยการลบขนาดของเฮดเดอร์ออก
• Identification: เพื่อเป็นหมายเลขของดาต้าแกรม ในการใช้งานร่วมกับแอดเดรสต้นทาง ปลายทาง และ
โพรโตคอล เพื่อให้ไม่มีแพกเกตซํ้าในอินเทอร์เน็ต
• Flags: เป็นฟิลด์ขนาด 3 บิต แต่มีการใช้งานเพียงสองบิตเท่านั้นคือ บิต More เพื่อใช้ในการแบ่งแพกเกต
ขนาดใหญ่ให้มีขนาดเล็กลง ในกรณีที่ความแตกต่างของศักยภาพของเน็ตเวิร์ค บิต Don't fragment เมื่อไม่
ต้องการให้เร้าเตอร์ระหว่างทางแบ่งแพกเกต อาจเนื่องจากภาครับไม่รองรับการแบ่งดาต้าแกรม ดังนั้นหาก
ดาต้าแกรมมีขนาดเกินกว่าเน็ตเวิร์คสามารถรองรับได้ ดาต้าแกรมจะ ถูกกำจัดออกไปโดยปริยาย
• Fragment offset: เพื่อใช้ในระบุลำดับของดาต้าแกรม ในการประกอบกับเมื่อมีการแบ่งดาต้าแกรมออก
เป็น Fragment
book)
• Time-to-live (TTL): ในเบื้องต้นฟิลด์นี้ถูกออกแบบมาโดยจะใช้เวลาเป็นวินาที เพื่อกำจัดแพกเกตใน
เน็ตเวิร์ค เนื่องจากดาต้าแกรมอาจเกิดการลูปในเน็ตเวิร์คนานเกินไป แต่ในทางปฏิบัติเร้าเตอร์ส่วนมาก
ใช้จำนวนของฮอบของดาต้าแกรมเพื่อกำจัดดาต้าแกรมที่กล่าวถึงออกไป เมื่อมีค่าเป็น 0
(partial
• Protocol field: เพื่อระบุโพรโตคอลที่ใช้ในเลเยอร์ถัดขึ้นไป ในภาครับที่ปลายทาง เช่น TCP = 6, UDP =
17 และ ICMP มีค่าเป็น 1 เป็นต้น
• Header Checksum: เพื่อใช้ในการหลีกเลี่ยงการที่ดาต้าแกรมส่งไปยังปลายทางที่ไม่ถูกต้อง เนื่องจาก
ระหว่างการส่งดาต้าแกรม บางส่วนของเฮดเดอร์จะมีการเปลี่ยนแปลงตลอดเวลา ทำให้เร้าเตอร์ต้องคำนวณ
only
เฮดเดอร์ทุกครั้ง
• Source/destination addresses: ขนาด 32 บิต เพื่อระบุต้นทางและปลายทาง โดยจะได้กล่าวในราย
KKU
ละเอียดต่อไป
• IP options: เพื่อเพิ่มเติมข้อมูลจากผู้ใช้
• Padding: เพื่อทำให้เฮดเดอร์ของดาต้าแกรมมีขนาดเป็นจำนวนเท่าของ 32 บิต
• Data: ขนาดตามข้อมูลเป็นจำนวนเท่าของ 8 บิต ไม่เกิน 65,535 octects
19.2.2 การทำงานของการแบ่งดาต้าแกรม ( Fragmentation) ใน IPv4
เนื่องจากความแตกต่างของช่องสัญญาณ แพกเกตที่ส่งผ่านในแต่ละช่องสัญญาณต้องไม่เกิน Maximum
Transmission Unit (MTU) หากขนาดของ IP ดาต้าแกรมเกินกว่า MTU ดาต้าแกรมดังกล่าวจะต้องถูกแบ่งเพื่อให้
สามารถส่งผ่านไปได้ ยกเว้นกรณีมีการกำหนด Don't Fragment (DF) = 1 เพื่อไม่ให้แบ่ง IP ดาต้าแกรมดังกล่าว
จะทำให้ดาต้าแกรมถูกกำจัดทิ้งไป รูปที่ 19.10 แสดงค่า flag เมื่อมีการกำหนดห้ามการแบ่งดาต้าแกรม
รูปที่ 19.11 แสดงการแบ่งดาต้าแกรมออกเป็นส่วนย่อย เนื่องจากมีขนาดใหญ่เกินกว่าที่จะผ่านเน็ตเวิร์คหนึ่งได้
ในการแบ่งดาต้าแกรมเราจะพิจารณาสามส่วนหลักได้แก่ ส่วนของ Identification (ID), flag และ fragment offset
โดยส่วนของ Identification เป็นเสมือนหมายเลขประจำตัวของดาต้าแกรม ดังนั้นแม้ว่าดาต้าแกรมจะถูกแบ่งให้มี
ขนาดเล็กลง หมายเลขนี้จะคงเดิมเสมอไม่ว่าจะมีการแบ่งออกเป็นกี่ส่วน ถัดมาในส่วนของ Flags จากเดิมจะมีค่า
More fragment = 0 หลังจากมีการแบ่งดาต้าแกรม ค่าของ Flags จะถูกกำหนดให้เป็น 1 (More fragment = 1)

