การแนะนำ
เราทุกคนทราบถึงหลักการจำแนกประเภทและหลักการไม่จำแนกประเภทของ IP และการนำไปใช้ในการสื่อสารเครือข่าย การแบ่งส่วนและการประกอบ IP เป็นกลไกสำคัญในกระบวนการส่งแพ็กเก็ต เมื่อขนาดของแพ็กเก็ตเกินขีดจำกัดของหน่วยส่งข้อมูลสูงสุด (MTU) ของลิงก์เครือข่าย การแบ่งส่วน IP จะแบ่งแพ็กเก็ตนั้นออกเป็นชิ้นเล็กๆ หลายชิ้นเพื่อส่ง ชิ้นส่วนเหล่านี้จะถูกส่งอย่างอิสระในเครือข่าย และเมื่อถึงปลายทาง จะถูกประกอบกลับเป็นแพ็กเก็ตที่สมบูรณ์โดยกลไก IP reassemble กระบวนการแบ่งส่วนและการประกอบใหม่นี้ช่วยให้มั่นใจได้ว่าแพ็กเก็ตขนาดใหญ่สามารถส่งผ่านเครือข่ายได้ ในขณะเดียวกันก็รับประกันความสมบูรณ์และความน่าเชื่อถือของข้อมูล ในส่วนนี้ เราจะเจาะลึกลงไปว่าการแบ่งส่วนและการประกอบ IP ทำงานอย่างไร
การแบ่งส่วนและการประกอบ IP อีกครั้ง
ลิงก์ข้อมูลแต่ละลิงก์มีหน่วยการส่งข้อมูลสูงสุด (MTU) ที่แตกต่างกัน ตัวอย่างเช่น ลิงก์ข้อมูล FDDI มี MTU อยู่ที่ 4,352 ไบต์ และ MTU ของอีเทอร์เน็ตอยู่ที่ 1,500 ไบต์ MTU ย่อมาจาก Maximum Transmission Unit และหมายถึงขนาดแพ็กเก็ตสูงสุดที่สามารถส่งผ่านเครือข่ายได้
FDDI (Fiber Distributed Data Interface) เป็นมาตรฐานเครือข่ายท้องถิ่น (LAN) ความเร็วสูงที่ใช้ใยแก้วนำแสงเป็นสื่อกลางในการส่งข้อมูล หน่วยส่งข้อมูลสูงสุด (MTU) คือขนาดแพ็กเก็ตสูงสุดที่สามารถส่งได้โดยโปรโตคอลชั้นลิงก์ข้อมูล ในเครือข่าย FDDI ขนาดของ MTU คือ 4352 ไบต์ ซึ่งหมายความว่าขนาดแพ็กเก็ตสูงสุดที่สามารถส่งได้โดยโปรโตคอลชั้นลิงก์ข้อมูลในเครือข่าย FDDI คือ 4352 ไบต์ หากแพ็กเก็ตที่ต้องการส่งมีขนาดใหญ่กว่าที่กำหนด จำเป็นต้องแบ่งแพ็กเก็ตออกเป็นหลายส่วนย่อยตามขนาด MTU เพื่อส่งและประกอบกลับเข้าที่ตัวรับ
สำหรับอีเทอร์เน็ต MTU โดยทั่วไปจะมีขนาด 1,500 ไบต์ ซึ่งหมายความว่าอีเทอร์เน็ตสามารถส่งแพ็กเก็ตที่มีขนาดสูงสุด 1,500 ไบต์ได้ หากขนาดแพ็กเก็ตเกินขีดจำกัด MTU แพ็กเก็ตจะถูกแบ่งย่อยออกเป็นส่วนย่อยๆ เพื่อส่งและประกอบขึ้นใหม่ที่ปลายทาง การประกอบเดตาแกรม IP ที่แยกย่อยสามารถทำได้โดยโฮสต์ปลายทางเท่านั้น และเราเตอร์จะไม่ดำเนินการประกอบขึ้นใหม่
เราได้พูดถึงเซกเมนต์ TCP ไปแล้วก่อนหน้านี้ แต่ MSS ย่อมาจาก Maximum Segment Size (ขนาดเซกเมนต์สูงสุด) และมีบทบาทสำคัญในโพรโทคอล TCP MSS หมายถึงขนาดของเซกเมนต์ข้อมูลสูงสุดที่อนุญาตให้ส่งได้ในการเชื่อมต่อ TCP เช่นเดียวกับ MTU MSS ใช้เพื่อจำกัดขนาดของแพ็กเก็ต แต่จะทำเช่นนั้นที่ชั้น Transport Layer หรือชั้นโปรโตคอล TCP โพรโทคอล TCP ส่งข้อมูลของชั้นแอปพลิเคชันโดยการแบ่งข้อมูลออกเป็นเซกเมนต์ข้อมูลหลายเซกเมนต์ และขนาดของเซกเมนต์ข้อมูลแต่ละเซกเมนต์จะถูกจำกัดโดย MSS
MTU ของลิงก์ข้อมูลแต่ละลิงก์มีความแตกต่างกัน เนื่องจากลิงก์ข้อมูลแต่ละประเภทมีการใช้งานที่แตกต่างกัน โฮสต์ MTU ที่แตกต่างกันได้ขึ้นอยู่กับวัตถุประสงค์การใช้งาน
สมมติว่าผู้ส่งต้องการส่งเดตาแกรมขนาดใหญ่ 4,000 ไบต์เพื่อส่งผ่านลิงก์อีเทอร์เน็ต ดังนั้นเดตาแกรมจึงต้องถูกแบ่งออกเป็นเดตาแกรมขนาดเล็กสามชุดเพื่อส่ง เนื่องจากขนาดของเดตาแกรมขนาดเล็กแต่ละชุดต้องไม่เกินขีดจำกัด MTU ซึ่งอยู่ที่ 1,500 ไบต์ หลังจากได้รับเดตาแกรมขนาดเล็กสามชุดแล้ว ผู้รับจะประกอบเดตาแกรมเหล่านั้นกลับเข้าเป็นเดตาแกรมขนาดใหญ่เดิมขนาด 4,000 ไบต์ โดยพิจารณาจากหมายเลขลำดับและออฟเซ็ตของแต่ละเดตาแกรม
ในการส่งข้อมูลแบบแยกส่วน การสูญเสียส่วนย่อยจะทำให้เดตาแกรม IP ทั้งหมดใช้งานไม่ได้ เพื่อหลีกเลี่ยงปัญหานี้ TCP จึงได้นำ MSS มาใช้ ซึ่งการแบ่งส่วนข้อมูลจะดำเนินการที่ชั้น TCP แทนที่จะทำที่ชั้น IP ข้อดีของวิธีนี้คือ TCP สามารถควบคุมขนาดของแต่ละส่วนได้แม่นยำยิ่งขึ้น ซึ่งช่วยหลีกเลี่ยงปัญหาการแบ่งส่วนข้อมูลที่ชั้น IP
สำหรับ UDP เราพยายามที่จะไม่ส่งแพ็กเก็ตข้อมูลที่มีขนาดใหญ่กว่า MTU เนื่องจาก UDP เป็นโปรโตคอลการขนส่งแบบไร้การเชื่อมต่อ ซึ่งไม่มีกลไกความน่าเชื่อถือและการส่งข้อมูลซ้ำเหมือน TCP หากเราส่งแพ็กเก็ตข้อมูล UDP ที่มีขนาดใหญ่กว่า MTU แพ็กเก็ตข้อมูลจะถูกแบ่งส่วนโดยเลเยอร์ IP เพื่อส่ง เมื่อแพ็กเก็ตข้อมูลใดแพ็กเก็ตหนึ่งสูญหาย โปรโตคอล UDP จะไม่สามารถส่งซ้ำได้ ส่งผลให้ข้อมูลสูญหาย ดังนั้น เพื่อให้มั่นใจว่าการส่งข้อมูลมีความน่าเชื่อถือ เราควรพยายามควบคุมขนาดของแพ็กเก็ตข้อมูล UDP ภายใน MTU และหลีกเลี่ยงการส่งข้อมูลแบบแบ่งส่วน
โบรกเกอร์แพ็กเก็ตเครือข่าย Mylinking ™สามารถระบุโปรโตคอลอุโมงค์ต่างๆ เช่น VxLAN/NVGRE/IPoverIP/MPLS/GRE ได้โดยอัตโนมัติ และกำหนดได้ตามโปรไฟล์ผู้ใช้ตามเอาท์พุตการไหลของอุโมงค์ของลักษณะภายในหรือภายนอก
○ สามารถจดจำแพ็กเก็ตฉลาก VLAN, QinQ และ MPLS ได้
○ สามารถระบุ VLAN ภายในและภายนอกได้
○ สามารถระบุแพ็กเก็ต IPv4/IPv6 ได้
○ สามารถระบุแพ็กเก็ตอุโมงค์ VxLAN, NVGRE, GRE, IPoverIP, GENEVE, MPLS ได้
○ สามารถระบุแพ็กเก็ต IP ที่กระจัดกระจายได้ (รองรับการระบุการแบ่งส่วน IP และการประกอบใหม่ของการแบ่งส่วน IP เพื่อนำการกรองคุณลักษณะ L4 ไปใช้กับแพ็กเก็ต IP ที่กระจัดกระจายทั้งหมด นำนโยบายเอาต์พุตการรับส่งข้อมูลไปใช้)
เหตุใด IP จึงกระจัดกระจายและ TCP จึงกระจัดกระจาย?
เนื่องจากในการส่งข้อมูลผ่านเครือข่าย ชั้น IP จะแบ่งแพ็กเก็ตข้อมูลโดยอัตโนมัติ แม้ว่าชั้น TCP จะไม่แบ่งข้อมูล แต่แพ็กเก็ตข้อมูลจะถูกแบ่งโดยชั้น IP โดยอัตโนมัติและถูกส่งตามปกติ แล้วทำไม TCP ถึงต้องมีการแบ่งข้อมูลล่ะ? มันไม่มากเกินไปเหรอ?
สมมติว่ามีแพ็กเก็ตขนาดใหญ่ที่ไม่ได้แบ่งส่วนในเลเยอร์ TCP และสูญหายระหว่างการส่ง TCP จะส่งแพ็กเก็ตนั้นซ้ำ แต่จะส่งในแพ็กเก็ตขนาดใหญ่ทั้งหมดเท่านั้น (แม้ว่าเลเยอร์ IP จะแบ่งข้อมูลออกเป็นแพ็กเก็ตย่อยๆ ซึ่งแต่ละแพ็กเก็ตมีความยาว MTU ก็ตาม) ทั้งนี้เนื่องจากเลเยอร์ IP ไม่ได้ให้ความสำคัญกับการส่งข้อมูลที่เชื่อถือได้
กล่าวอีกนัยหนึ่ง ในการเชื่อมโยงการขนส่งระหว่างเครื่องกับเครือข่าย หากเลเยอร์การขนส่งแบ่งข้อมูลออกเป็นชิ้นเล็กชิ้นน้อย เลเยอร์ IP จะไม่แบ่งข้อมูลนั้น หากไม่มีการแบ่งข้อมูลที่เลเยอร์การขนส่ง การแบ่งข้อมูลที่เลเยอร์ IP ก็สามารถทำได้
พูดอย่างง่ายๆ คือ TCP จะแบ่งส่วนข้อมูลเพื่อให้ชั้น IP ไม่กระจัดกระจายอีกต่อไป และเมื่อมีการส่งซ้ำ จะมีเพียงส่วนเล็กๆ ของข้อมูลที่ถูกกระจัดกระจายเท่านั้นที่จะถูกส่งซ้ำ ด้วยวิธีนี้ จึงสามารถเพิ่มประสิทธิภาพและความน่าเชื่อถือในการส่งข้อมูลได้
หาก TCP ถูกแบ่งแยก แล้วเลเยอร์ IP จะไม่ถูกแบ่งแยกใช่หรือไม่
ในการอภิปรายข้างต้น เราได้กล่าวถึงว่าหลังจากการแบ่งส่วนข้อมูล TCP ที่ผู้ส่งแล้ว จะไม่มีการแตกส่วนข้อมูลที่ชั้น IP อย่างไรก็ตาม อาจมีอุปกรณ์ชั้นเครือข่ายอื่นๆ ตลอดเส้นทางการขนส่งที่อาจมีหน่วยส่งข้อมูลสูงสุด (MTU) น้อยกว่า MTU ที่ผู้ส่ง ดังนั้น แม้ว่าแพ็กเก็ตจะถูกแบ่งส่วนข้อมูลที่ผู้ส่ง แต่แพ็กเก็ตก็จะถูกแบ่งส่วนอีกครั้งเมื่อผ่านชั้น IP ของอุปกรณ์เหล่านี้ ในที่สุด ชาร์ดทั้งหมดจะถูกประกอบเข้าด้วยกันที่ผู้รับ
หากเราสามารถกำหนดค่า MTU ขั้นต่ำของลิงก์ทั้งหมดและส่งข้อมูลที่ความยาวดังกล่าวได้ ก็จะไม่มีการแตกกระจายข้อมูลไม่ว่าข้อมูลจะถูกส่งไปยังโหนดใด ค่า MTU ขั้นต่ำของลิงก์ทั้งหมดนี้เรียกว่า path MTU (PMTU) เมื่อแพ็กเก็ต IP มาถึงเราเตอร์ หาก MTU ของเราเตอร์น้อยกว่าความยาวแพ็กเก็ตและตั้งค่าแฟล็ก DF (Do not Fragment) เป็น 1 เราเตอร์จะไม่สามารถแตกกระจายข้อมูลได้และทำได้เพียงทิ้งแพ็กเก็ตนั้นไปเท่านั้น ในกรณีนี้ เราเตอร์จะสร้างข้อความแสดงข้อผิดพลาด ICMP (Internet Control Message Protocol) ชื่อ "Fragmentation Needed But DF Set" ข้อความแสดงข้อผิดพลาด ICMP นี้จะถูกส่งกลับไปยังที่อยู่ต้นทางพร้อมค่า MTU ของเราเตอร์ เมื่อผู้ส่งได้รับข้อความแสดงข้อผิดพลาด ICMP ผู้ส่งสามารถปรับขนาดแพ็กเก็ตตามค่า MTU เพื่อป้องกันไม่ให้เกิดการแตกกระจายข้อมูลอีกครั้ง
การแบ่งส่วน IP เป็นสิ่งจำเป็นและควรหลีกเลี่ยงที่เลเยอร์ IP โดยเฉพาะอย่างยิ่งบนอุปกรณ์ตัวกลางในลิงก์ ดังนั้น ใน IPv6 การแบ่งส่วนแพ็กเก็ต IP โดยอุปกรณ์ตัวกลางจึงถูกห้าม และการแบ่งส่วนสามารถทำได้เฉพาะที่จุดเริ่มต้นและจุดสิ้นสุดของลิงก์เท่านั้น
ความเข้าใจพื้นฐานเกี่ยวกับ IPv6
IPv6 คือ Internet Protocol เวอร์ชัน 6 ซึ่งเป็นเวอร์ชันต่อยอดจาก IPv4 IPv6 ใช้ความยาวแอดเดรส 128 บิต ซึ่งสามารถให้หมายเลข IP ได้มากกว่า IPv4 ที่มีความยาวแอดเดรส 32 บิต เนื่องจากพื้นที่แอดเดรส IPv4 กำลังค่อยๆ หมดลง ในขณะที่พื้นที่แอดเดรส IPv6 มีขนาดใหญ่มากและสามารถตอบสนองความต้องการของอินเทอร์เน็ตในอนาคตได้
เมื่อพูดถึง IPv6 นอกเหนือจากพื้นที่อยู่ที่มากขึ้นแล้ว ยังมีการรักษาความปลอดภัยและความสามารถในการปรับขนาดที่ดีขึ้น ซึ่งหมายความว่า IPv6 สามารถมอบประสบการณ์เครือข่ายที่ดีกว่าเมื่อเทียบกับ IPv4
แม้ว่า IPv6 จะมีมานานแล้ว แต่การใช้งานทั่วโลกยังคงค่อนข้างช้า สาเหตุหลักมาจาก IPv6 จำเป็นต้องเข้ากันได้กับเครือข่าย IPv4 ที่มีอยู่ ซึ่งจำเป็นต้องมีการเปลี่ยนผ่านและการย้ายเครือข่าย อย่างไรก็ตาม ด้วยจำนวนที่อยู่ IPv4 ที่ลดลงและความต้องการ IPv6 ที่เพิ่มมากขึ้น ผู้ให้บริการอินเทอร์เน็ตและองค์กรต่างๆ จึงค่อยๆ หันมาใช้ IPv6 และค่อยๆ ตระหนักถึงการทำงานแบบ dual-stack ของ IPv6 และ IPv4
สรุป
ในบทนี้ เราได้เจาะลึกลงไปถึงวิธีการแบ่งส่วนและการประกอบ IP ลิงก์ข้อมูลแต่ละลิงก์จะมีหน่วยส่งข้อมูลสูงสุด (MTU) ที่แตกต่างกัน เมื่อขนาดของแพ็กเก็ตเกินขีดจำกัด MTU การแบ่งส่วน IP จะแบ่งแพ็กเก็ตนั้นออกเป็นส่วนย่อยๆ หลายส่วนเพื่อส่ง และประกอบกลับเป็นแพ็กเก็ตที่สมบูรณ์โดยใช้กลไก IP reassemble หลังจากถึงปลายทาง วัตถุประสงค์ของการแบ่งส่วน TCP คือการทำให้ชั้น IP ไม่แบ่งส่วนอีกต่อไป และส่งข้อมูลขนาดเล็กที่แบ่งส่วนไปแล้วกลับมาส่งซ้ำอีกครั้ง เพื่อเพิ่มประสิทธิภาพและความน่าเชื่อถือในการส่งข้อมูล อย่างไรก็ตาม อาจมีอุปกรณ์ชั้นเครือข่ายอื่นๆ ตลอดลิงก์การขนส่งที่มี MTU น้อยกว่าของผู้ส่ง ดังนั้นแพ็กเก็ตจะยังคงถูกแบ่งส่วนอีกครั้งที่ชั้น IP ของอุปกรณ์เหล่านี้ ควรหลีกเลี่ยงการแบ่งส่วนในชั้น IP ให้มากที่สุด โดยเฉพาะอย่างยิ่งบนอุปกรณ์ตัวกลางในลิงก์
เวลาโพสต์: 07 ส.ค. 2568