IP ที่เรารู้จักกันมานานนมนั้นอันที่จริงมันมีชื่อจริงว่า IPv4 ย่อมาจาก Internet Protocal version 4 นั่นเอง ในยุคข่าวสารข้อมูลเช่นนี้ เทคโนโลยีไอทีพัฒนารวดเร็วอย่างกับจรวด ไม่ทันไรเจ้า IPv4 ที่ใช้งานกันมานานนี้ก็เริ่มจะมีเนื้อที่ไม่พอใช้งานกันเสียแล้ว หากจะย้อนเวลากลับไปเพื่อสังเกตพัฒนาการแล้วล่ะก็ การพัฒนาอย่างช้าๆ แต่มั่นคงคือความเป็นไปของ IPv4 ด้วยพื้นที่ Address spaces แบบ 32 บิต ที่ยอมให้มีจำนวน Address ทั้งหมดถึง 4.2 หมื่นล้าน Address
แต่ ณ.วันนี้พื้นที่ดังกล่าวกำลังจะไม่เพียงพออีกต่อไป จึงต้องมีการพัฒนาเทคโนโลยีใหม่ๆ มาให้เพียงพอต่อความต้องการดังกล่าว ทายาทที่เห็นได้ชัดของมันอย่าง IPv6 นั้นมีขนาด Address space ถึง 128 บิต หรือประมาณ 3.4x1038 หรือ 655, 570, 793, 348, 866, 943, 898, 599 address ต่อตารางเมตรบนพื้นผิวโลก!
Internet Protocal Version 4 และ Version 6 ที่มีขนาดความจุที่แตกต่าง กันมาก 32 บิต และ 128 บิตตามลำดับ
การเทียบเคียง Address ของ IPv4 และ IPv6 ที่แตกต่างกัน เนื่องจากข้อจำกัด เรื่องพื้นที่ต้องมีมากขึ้น
ก็เห็นว่าน่าจะพอใช้งานกันไปได้อีกนานเลยทีเดียว หากพิจารณาดูอีกด้านหนึ่ง IPv6 นั้นมีการแปลกแยกไปจาก IPv4 ผู้พี่ไปอีกด้วย ตัวอย่างเช่น กรณีรูปแบบ dot quad (ตัวอย่างเช่น 193.10.10.154) ที่ IPv4 ใช้กันมาจนเราคุ้นเคยเป็นอย่างดี แต่ IPv6 กลับใช้อีกวิธีหนึ่ง (ก็เนื่องมาจากความไม่พอที่กล่าวถึงไปแล้วเป็นส่วนหนึ่งนั่นแหละครับ) Hexadecimal notation และ colon แทน กลายเป็นรูปแบบดังตัวอย่างนี้คือ FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 ดูแล้วก็งงๆ คงจะเนื่องมาจากยังไม่ค่อยคุ้นเคย
เรื่องของ Heading
ในขณะที่ Header ของ IPv6 จะมีจำนวนบิตข้อมูลมากกว่า Header IPv4 ถึงสองเท่า (40 กับ 20 บิตตามลำดับ) แต่มันก็ยังนำเสนอรูปแบบของ Streamlined header ที่มีขนาดย่อมกว่าเดิมดังรายละเอียดในตาราง Header ด้านล่างนี้ ใช้จำนวนฟิลด์ข้อมูลเพียง 8 จาก 14 ฟิลด์เมื่อเทียบกับ IPv4 เดิม มีการลดและเปลี่ยนแปลงวัตถุประสงค์ของฟิลด์บางฟิลด์ เพื่อให้เกิดการประมวลผลแพ็กเกจข้อมูลที่มีประสิทธิภาพมากยิ่งขึ้น
หากเราจะลองมาพิจารณาในรายละเอียดกันดูก็พอจะเปรียบเทียบได้ดังนี้คือ Version filed ของทั้งคู่ยังคงไว้เหมือนเดิม ส่วนตัวถัดมาของ IPv4 นั่นคือ Internet Header Length, Type of Service, Identification, Flags, Fragment Offset และ Header Checksum fileds ถูกยกเลิกไป ฟิลด์ Total length (Time to Live; TTL) และ Protocal เปลี่ยนชื่อไป พร้อมกับปรับปรุงคุณสมบัติบางอย่างไปบ้าง Option filed ถูกนำออกจาก Header และ ปรับปรุงวัตถุประสงค์ใหม่เป็นส่วน extension capability สุดท้ายก็คือ IPv6 เพิ่มฟิลด์ใหม่เข้าไปเพิ่มคือ Class และ Flow Label
ผู้เชี่ยวชาญเครือข่ายทั้งหลายคงจะรู้สึกงงๆ ไปบ้างเมื่อ Checksum และ Fragmentation filed หายไปจาก Header ของ IPv6 เจ้า packet header ความหมายที่เจ้า checksum ถูกละทิ้งไปนั้น ก็เพื่อเพิ่มประสิทธิภาพการทำงานของเราเตอร์ ในขณะที่ความผิดพลาดในข้อมูล Header ยังมีโอกาสที่จะเกิดขึ้นได้นั้น แต่ผู้ออกแบบโพรโตคอลตัวใหม่นี้มีความเห็นว่าความเสี่ยงดังกล่าวยังอยู่ในระดับที่ยอมรับได้ โดยเฉพาะเมื่อพิจารณาว่า Data-Link และ Transport layer มีการตรวจสอบในเรื่องนี้อยู่ด้วยแล้ว สำหรับ Fragmentation แล้ว IPv6 ยังคงอนุญาติให้มีการแบ่งแพ็กเกจออกเป็นส่วนๆ
แต่กระบวนการจะเกิดขึ้นที่ส่วน Header extension ไม่ใช่ที่ตัว Header เอง ยิ่งไปกว่านั้นก็คือ แพ็กเกจของ IPv6 สามารถแบ่งออกได้ที่ Source node เท่านั้น แล้วจึงนำไปรวมกันได้อีกทีที่ node เป้าหมาย node-interventing routers ที่อยู่ระหว่างทางของการส่งข้อมูลไม่ได้รับอนุญาตให้แยกหรือรวมแพ็กเกจข้อมูลฟีเจอร์ Fragmentation ในรูปแบบนี้ตั้งใจจะลดระยะเวลาในการประมวลผลรวมระหว่างทางทั้งหมด และเป็นการอนุมานว่าขนาดเฟรมข้อมูลของเครือข่ายปัจจุบันมีขนาดใหญ่พอที่แพ็กเกจส่วนใหญ่ไม่ต้องทำการแบ่งส่วนอีก
และหากว่าแพ็กเกจ IPv6 จะต้องมีการแบ่งส่วนข้อมูลแล้วล่ะก็ Source node จะทำการระบุ Maximum Transmission Unit (MTU) ของแต่ละลิงก์ วิธีหนึ่งที่มันใช้ก็คือลองส่งแพ็กเกจไปตรวจสอบยัง Address เป้าหมายหรือปลายทาง หากว่าแพ็กเกจทดสอบดังกล่าวมีขนาดใหญ่เกินไปลิงก์ดังกล่าวก็จะส่ง Internet Control Massage Protocal (ICMP) กลับมาให้ Source node อีกทีหนึ่งเพื่อจะให้มีการลดขนาดของการแบ่งแพ็กเกจต้นทางลง
ส่วนขยายเพิ่มหรือ Extension mechanism ที่ดำเนินกระบวนการ Fragmentation ข้างต้นนั้น เป็นเพียงหนึ่งในหลายส่วนออปชันที่ IPv6 มีการดำเนินการปรับปรุงและนำมารวมกันอยู่นอกส่วน Header นั่นเอง บางส่วนก็มาแทนที่ Option field เดิมของ IPv4 ที่มีหน้าที่ดูแลในส่วนเสริมเช่น เรื่องความปลอดภัยและ Source routing ของแพ็กเกจ IPv4 แทนที่จะรวมเอาสิ่งเหล่านั้นเอาไว้ในส่วน Header ทั้งหมด ผู้ออกแบบสถาปัตยกรรมรุ่นใหม่ก็นำมันออกมารวมไว้อยู่ระหว่างส่วน Header กับ higher layer protocal header (ดังรูปถัดไปนี้) ที่จะช่วยให้แพ็กเกจที่ถูกแยกส่วนขยายออกไปนั้น สามารถประมวลผลได้เร็วยิ่งขึ้น รวมถึงเป็นการตระเตรียมที่ทางให้กับ extensible option อย่างพวก Encryption, Authentication, Fragmentation, Source routing, Hop และ Destination option หรืออื่นๆ
IPv6 user extension headers ที่เป็นที่อยู่ของบรรดาออปชันต่างๆ เช่น Fragmentation หรือ Source routing เจ้า Extension Header ที่มาแทน Option field นี้ จัดวางอยู่ระหว่าง IP Header และ Transport Layer Header
No comments:
Post a Comment