วันเสาร์ที่ 6 กันยายน พ.ศ. 2557

Internet Protocol Version 6 (IPv6)

Internet Protocol Version 6 (IPv6)
          การขยายตัวอย่างรวดเร็วของอินเตอร์เน็ตอย่างที่ไม่เคยมีมาก่อน และไม่เคยคาดคิด ได้ทำให้เกิดปัญหาของ IPv4 มีจำนวนไม่เพียงพอต่อการใช้งาน ซึ่งเป็นปัญหาใหญ่ที่มีใน IPv4 โดย IPv6 สามารถแก้ไขปัญหาการขาดแคลนของจำนวนที่อยู่ IPv4 โดยทำการพัฒนาและเพิ่มคุณสมบัติเพื่อให้รองรับความต้องการที่เพิ่มขึ้น โดยพื้นฐานของตัว IPv6 เอง ได้แสดงให้เห็นการพัฒนาการออกแบบให้รองรับหมายเลขที่อยู่ได้สูงถึง 3.4 x 1038 เพื่อแก้ปัญหาการคลาดแคลนหมายเลขที่อยู่ IPv4 และคุณสมบัติหนึ่งที่น่าสนใจของ IPv6 คือเฮดเดอร์ที่มีจำนวนฟิลด์เพียงครึ่งเดียวของ IPv4 ทำให้มีความเร็วในการประมวลผลเพิ่มขึ้นและฟิลด์ในรุ่นเดิมยังสามารถนำมาใช้ได้ โดยการนำมาใส่ลงไปในส่วนขยายของเฮดเดอร์ (Extension Header) ซึ่งอยู่ถัดจากเฮดเดอร์ปกติ ดังรูปที่ 1

รูปที่ เฮดเดอร์ IPv4 และ IPv6
         โดย IPv6 ได้มีการปรับปรุงหลัก  ในเรื่องของหมายเลขที่อยู่ให้รองรับได้มากขึ้น และมีการจัดเรียงลำดับและมีความกระชับมากขึ้น ทำให้การกำหนดเส้นทางมีประสิทธิภาพมากขึ้น และมีความน่าเชื่อถือมากขึ้น ซึ่งมีวิธีการแก้ปัญหาหลัก ๆ ของ IPv4 ดังต่อไปนี้
          1 เพิ่มพื้นที่การใช้งานให้ใหญ่ขึ้นโดยที่ IPv6 ได้ออกแบบให้รองรับหมายเลขไอพีแอดเดรสได้สูงถึง 3.4 x 1038 ซึ่งทำให้มีจำนวนที่อยู่เพียงพอสำหรับอนาคตและยังช่วยให้อุปกรณ์ทั้งหมดที่เชื่อมต่อบนอินเตอร์เน็ตที่ใช้ NAT บนพื้นที่ของที่อยู่ที่ยังมีการจัดสรรให้เสมอภาคมากขึ้น
          2 โครงสร้างพื้นฐานลำดับชั้นของเร้าติง ซึ่งหมายเลขที่อยู่ที่เข้าถึงได้บน IPv6 ในส่วนของอินเตอร์เน็ตที่เรียกว่าลำดับชั้นของผู้ให้บริการอินเตอร์เน็ต (ISPs) ซึ่งปกติจะอยู่ระหว่างองค์กร บ้าน หรือ เส้นทางหลักของอินเตอร์เน็ตประเภทของที่อยู่แบบ Global Address ได้ถูกออกแบบให้เป็นแบบสรุปรวม (summarizable) และลำดับชั้นทำให้เส้นทางในตารางเส้นทางของเร้าเตอร์สั้นลง
          3 การตั้งค่าที่อยู่โดยอัตโนมัติ โฮสต์ที่ใช้หมายเลขไอพีแอดเดรส IPv6 สามารถกำหนดค่าที่อยู่ได้โดยอัตโนมัติ และกำหนดค่าพารามิเตอร์อื่นๆ ถึงแม้ว่าในโครงข่ายนั้นๆ จะไม่มีเครื่องแม่ข่าย DHCP
          การสนับสนุนการลำดับจัดส่งที่ดี มีการจัดลำดับการส่งเปรียบเสมือนฟิลด์ Type-of-Service (ToS) ของ IPv4 สำหรับการส่งที่ไม่เป็นมาตรฐาน นอกจากนี้ฟิลด์ Flow Label ใน IPv6 เฮดเดอร์เป็นการส่งเพ็กเก็ตที่ทำให้เร้าเตอร์มีการส่งที่มีประสิทธิภาพมากขึ้น

ตำแหน่งเฮดเดอร์ของหมายเลขที่อยู่ IPv6 ที่ตัดออกดังต่อไปนี้
          1 ความยาวของเฮดเดอร์ ถูกตัดออกไปเนื่องจากเฮดเดอร์ของ IPv6 มีขนาดคงที่ 40 ไบต์ ทำให้มีประสิทธิภาพโดยรวมของการประมวลผลเพ็กเก็ตดีขึ้น และไม่เสียเวลาในการคำนวณขนาดของเฮดเดอร์
          2 Identification Flag และ Flag Offset Protocol Options รวมทั้ง Padding ถูกย้ายไปอยู่ในส่วนขยายของเฮดเดอร์ (Extended Header) เนื่องจากเป็นส่วนที่ไม่จำเป็นต้องประมวลผลในทุก ๆ เร้าเตอร์
          3 การตรวจสอบส่วนเฮดเดอร์ถูกตัดออกเนื่องจากซ้ำซ้อนกับฟังก์ชันของโพรโทคอลในชั้นที่อยู่สูงกว่า อีกทั้งเป็นการเพิ่มประสิทธิภาพของการประมวลผลด้วย เนื่องจาก การตรวจสอบความถูกต้องของข้อมูล (Checksum) จะต้องมีการคำนวณใหม่ที่เร้าเตอร์เสมอ หากตัดออกจะลดภาระที่เร้าเตอร์ไปได้

ตำแหน่งเฮดเดอร์ของหมายเลขที่อยู่ IPv6 ปรับเปลี่ยนดังต่อไปนี้
          1 Total Length ในเฮดเดอร์ IPv4 เปลี่ยนมาเป็น Payload ในเฮดเดอร์ IPv6 เพื่อระบุขนาดของ Payload ในหน่วยไบต์ ดังนั้นขนาดของ Payload สูงสุดจะเป็น 65,536 ไบต์
          2 Time-To-Live (TTL) ของเฮดเดอร์ IPv4 เปลี่ยนมาเป็น Hop Limit เนื่องจาก TTL ระบุเวลาในชุดข้อมูลอยู่ในอินเทอร์เน็ตมีหน่วยเป็นวินาที แต่เร้าเตอร์ไม่สามารถวัดเวลาของเพ็กเก็ตในหน่วยวินาที ทำได้เพียงวัดจำนวน HOP ที่เพ็กเก็ตนั้นผ่านในเครือข่ายจะสามารถผ่านได้ไม่เกินกี่ HOP ในการเดินผ่านเครือข่ายโดยการลด TTL ครั้งละหนึ่งหน่วยทุกครั้งที่เพ็กเก็ตเดินทางผ่านเร้าเตอร์ แม้จะใช้เวลาประมวลผลเพ็กเก็ตน้อยกว่าหรือมากกว่า 1 วินาที ทำให้ไม่ตรงกับความหมายของ TTL ดังนั้นจึงถูกเปลี่ยนเป็น Hop Limit เพื่อให้ตรงกับความหมายจริง ซึ่งเหมาะสมและง่ายสำหรับการประมวลผล
          3 Protocol ของเฮดเดอร์ IPv4 เปลี่ยนมาเป็น Next Header ซึ่งจะใช้ระบุส่วนขยายเฮดเดอร์ว่าเป็นเฮดเดอร์ประเภทใด เช่น ส่วนขยายเฮดเดอร์ชนิดไอพีเซค (IPsec)  จะมีค่า Next Header เท่ากับ 51 
          4 ประเภทของบริการ (Type-of-Service: ToS) ของเฮดเดอร์ IPv4 เปลี่ยนมาเป็น Traffic Class ซึ่งมีจำนวนบิตมากกว่า สามารถแบ่งกลุ่มและระดับความสำคัญของแต่ละเพ็กเก็ตละเอียดมากขึ้น ทำให้เร้าเตอร์สามารถจัดลำดับการส่งเพ็กเก็ตให้เหมาะสม

ตำแหน่งเฮดเดอร์ของหมายเลขที่อยู่ IPv6 ที่เพิ่มขึ้นดังต่อไปนี้
          Flow Label ใช้ระบุลักษณะการไหลเวียนของ การจราจรของข้อมูลระหว่างต้นทางกับปลายทาง เนื่องจากในแอปพลิเคชั่นหนึ่งมีการจราจรของข้อมูลหลายประเภท เช่น ภาพ, เสียง หรือ ตัวอักษร เป็นต้น และการจราจรของข้อมูลแต่ละประเภทมีความต้องการที่แตกต่างกัน Flow Label จึงมีไว้เพื่อแยกประเภทของการจราจรของข้อมูลและเพื่อให้เร้าเตอร์ทราบว่าควรปฏิบัติต่อการจราจรของข้อมูลแต่ละประเภทแตกต่างกัน

ประสิทธิภาพด้านต่าง ๆ ของหมายเลขที่อยู่  IPv6
          นอกจากจำนวนของหมายเลขที่อยู่ IPv6 จะเพิ่มมากขึ้น แต่ IPv6 ยังปรับปรุงประสิทธิภาพต่าง ๆ ดังต่อไปนี้
          การจัดการ (Management) เนื่องจากการตั้งค่าและปรับแต่งระบบเครือข่ายมีความซับซ้อนมากขึ้น ดังนั้น ไอพีรุ่นที่ 6 จึงสนับสนุนการติดตั้งและปรับแต่งระบบแบบอัตโนมัติ เพื่ออำนวยความสะดวกสำหรับการปรับเปลี่ยนหมายเลขที่อยู่การเชื่อมต่อกับผู้ให้บริการหลายราย และการจัดการเครือข่ายแบบปลั๊กแอนด์เพลย์ (Plug-and-Play)
          2 ที่อยู่แบบ Broadcast, Multicast และ Anycast ซึ่งที่อยู่ IPv4 มีการจัดสรรหมายเลขที่อยู่ส่วนหนึ่งเพื่อเป็นที่อยู่ Broadcast แต่การสื่อสาร Broadcast จะสิ้นเปลืองแบนด์วิด แต่ที่อยู่แบบ Multicast เป็นการสื่อสารที่มีประสิทธิภาพมากกว่าและเริ่มเป็นที่นิยม ที่อยู่ IPv6 จึงถูกออกแบบให้รองรับกลุ่ม Multicast และตัดที่อยู่ Broadcast ออก นอกจากนี้ยังเพิ่มที่อยู่แบบ Anycast ที่อนุญาตให้อุปกรณ์มากกว่าหนึ่งจัดสรรหมายเลขที่อยู่เดียวกันได้
          ระบบความปลอดภัย (Security) เร้าเตอร์และอุปกรณ์ภายในเครือข่าย IPv6 สามารถรองรับการใช้งาน IPSec และยังมีการกำหนดความปลอดภัยของ Payload สองประเภทคือ 
             3.1 Authentication Payload 
             3.2 Encrypted Security Payload 
          เพื่อสนับสนุนการรับส่งข้อมูลที่มั่นคงปลอดภัยภายใต้ระดับชั้นเครือข่าย (Network Layer) แทนการใช้ชั้นโปรแกรมประยุกต์ (Application Layer) เหมือนในเครือข่าย IPv4
          4 Mobile IP โดย IPv6 สนับสนุนการใช้งานเครือข่ายแบบเคลื่อนที่เช่นเดียวกับ IPv4 แต่มีประสิทธิภาพมากกว่า เนื่องจากส่งข้อมูลผ่านเส้นทางที่สั้นที่สุดโดยไม่ต้องอาศัยตัวกลางในการส่งต่อข้อมูล และสามารถใช้ IPSec ในการป้องกันเพ็กเก็ตในการรับและส่งข้อมูล
          5 Virtual Private Network (VPN) การให้บริการ VPN ของเครือข่าย IPv4 จะใช้ IPSec ในการเข้ารหัสในชั้นเครือข่าย ซึ่งจะเกิดปัญหาหากเครือข่ายต้นทางหรือปลายทางทำการแปลงหมายเลขที่อยู่หรือ NAT เนื่องจากการเข้ารหัสต้องสิ้นสุดก่อนถึงจุดหมายปลายทาง แต่สำหรับเครือข่าย IPv6 ไม่มีการแปลงหมายเลขที่อยู่ดังนั้นจึงไม่เกิดปัญหาดังกล่าว นอกจากนี้ยังมีส่วนขยายของเฮดเดอร์ หรือเฮดเดอร์การพิสูจน์ (Authentication Header) และ Payload การเข้ารหัสความปลอดภัย เพื่อรองรับการใช้งาน VPN แบบปลอดภัย
          คุณภาพของการบริการ (Quality-of-Service) โดยที่อยู่ IPv6 ออกแบบมาให้สนับสนุนการรับประกันคุณภาพของบริการตั้งแต่เริ่ม โดยจะเห็นได้จากตำแหน่ง Flow Label และ Traffic Class ในเฮดเดอร์ แม้ว่าในเฮดเดอร์ของ IPv4 จะมีตำแหน่ง Type-of-Service (ToS) แต่ไม่มีการใช้อย่างแพร่หลาย เนื่องจากไม่มีมาตรฐานในการกำหนดค่าและมีเร้าเตอร์บางตัวเท่านั้นที่สามารถประมวลผลเฮดเดอร์ในตำแหน่ง ToS ได้ โดยที่ผ่านมาเครือข่าย IPv4 จะปล่อยให้ชั้นข้างล่างจัดการเรื่อง QoS แทน เช่น ผ่านเทคโนโลยี Multiprotocol Label Switching (MPLS) เป็นต้น

รูปแบบของหมายเลขที่อยู่ IPv6
          ในรูปแบบของหมายเลขที่อยู่ IPv6 จะมีขนาด 128 บิต โดยใช้เลขฐาน 16 ทำการแบ่งหมายเลขออกเป็น 8 กลุ่ม กลุ่มละ 4 ตัว คั่นกลางด้วยเครื่องหมาย :” ดังตัวอย่างต่อไปนี้
hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh
h = เลขฐานสิบหก ( F)
2001:0db8:3c4d:0012:0000:0000:1234:56ab

การย่อที่อยู่ใน IPv6
          หมายเลขไอพีแอดเดรสของ IPv6 ค่อนข้างยาวและค่อนข้างยากในการจ แต่ก็ได้มีเทคนิคในการย่อหมายเลขที่อยู่ของ IPv6 ให้สั้นลง ซึ่งไม่มีคุณสมบัตินี้ใน IPv4 โดยการตัดบางส่วนของที่อยู่ออก โดยมีเงื่อนไข ดังนี้
          หากมีเลขศูนย์ด้านหน้าของกลุ่มใดสามารถละไว้ได้
2001:0db8:3c4d:0012:0012:0012:1234:56ab
เขียนย่อได้เป็น
2001:db8:3c4d:12:12:12:1234:56ab
          หากมีกลุ่มใดมีเลขศูนย์ทั้ง 4 ตัว สามารถเขียนแทนได้ด้วย “0
2001:0db8:3c4d:0012:0000:0000:1234:56ab 
เขียนย่อได้เป็น
2001:db8:3c4d:12:0:0:1234:56ab
          3 หากกลุ่มใดกลุ่มหนึ่ง หรือหลายกลุ่มที่มีตำแหน่งติดกัน เป็นเลขศูนย์ทั้งหมด สามารถละไว้ได้โดยใช้เครื่องหมาย “::” แต่จะสามารถทำในลักษณะนี้ได้ในตำแหน่งเดียวเท่านั้น ถ้ากลุ่มที่มีเลขศูนย์ 2 กลุ่มติดกัน แต่มีกลุ่มที่มีตัวเลขคั่นอยู่ ต้องแทนที่ได้เพียงแค่คู่เดียว
2001:0db8:3c4d:0012:0000:0000:1234:56ab 
เขียนย่อได้เป็น
2001:db8:3c4d:12::1234:56ab
หรือ
2001:0000:0000:0012:0000:0000:1234:56ab
เขียนย่อได้เป็น
2001::12:0:0:1234:56ab

หมายเลขที่อยู่แบบพิเศษ
          1  0:0:0:0:0:0:0:0 เท่ากับ :: โดยมีความหมายเดียวกับ 0.0.0.0 ในที่อยู่ IPv4
          2  0:0:0:0:0:0:0:1 เท่ากับ ::1 มีความเดียวกับ 127.0.0.1 ในที่อยู่ IPv4
          3  0:0:0:0:0:0:192.168.100.1 เป็นการกำหนดหมายเลขที่อยู่ IPv6 เพื่อให้เข้ากันได้กับที่อยู่ IPv4
          4  2000::/3 เป็นช่วงที่อยู่ของ Global Unicast
          5  FC00::/7 เป็นช่วงที่อยู่ของ Unique Local Unicast
          6  FE80::/10 เป็นช่วงที่อยู่ของ Link-Local Unicast
          7  FF00::/8  เป็นช่วงที่อยู่ของ Multicast
          8  3FFF:FFFF::/32 และ 2001:0DB8::/32 เป็นช่วงที่อยู่ที่สงวนไว้สำหรับการทดลอง
          9  2002::/16 เป็นช่วงที่อยู่สำหรับการส่งเพ็กเก็ต IPv6 ไปบนเครือข่ายที่ใช้หมายเลขที่อยู่ IPv6

การใช้งานหมายเลขที่อยู่ ไอพีรุ่นที่ 6
          ที่อยู่ IPv6 ใช้ “ / ” เพื่อแสดงว่ามีจำนวนกี่บิตภายในที่อยู่บน IPv4 ที่ Subnet มีรูปแบบดังนี้
          หมายเลขที่อยู่ IPv6/ความยาวของ Prefix
          1 หมายเลขที่อยู่ IPv6 เป็นที่อยู่ขนาด 128 บิต
          2 ความยาว Prefix เป็นเลขใช้แสดงจำนวนบิตของเครือข่าย ดังตัวอย่าง
2001:C:7:ABCD::1/64 ที่อยู่นี้สามารถถูกเขียนเป็น
2001:000C:0007:ABCD:0000:0000:0000:0001/64
64 บิตแรก ได้แก่ 2001:000C:0007:ABCD เป็นที่อยู่แบบ Prefix และ 64 บิตสุดท้าย ได้แก่ 0000:0000:0000:0001 เป็นหมายเลขอินเตอร์เฟส หน่วยงานที่รับผิดชอบในการกำหนดหมายเลขที่อยู่สำหรับ IPv6 ได้แก่ Internet Corporation for Assigned Named and Number (ICANN) โดย ICANN จะเป็นผู้กำหนดหมายเลขที่อยู่ให้กับองค์กรที่ชื่อว่า Regional Internet Registry (RIR) ขนาดของหมายเลขที่ให้กับ RIR อาจเปลี่ยนแปลงได้ แต่อย่างน้อยมีขนาด /12 มีหมายเลขที่อยู่ตั้งแต่ 2000::/12 ไปจนถึง 200F:FFFF:FFFF:FFFF::/64 ดังรูปที่ 2

รูปที่ แสดงพิกัดของหมายเลขที่อยู่ขนาดต่าง 

          ISP (Internet Service Provider) แต่ละแห่งจะได้รับขนาดของที่อยู่ /32 และ /48 สำหรับไซด์แต่ละแห่ง หรือ ISP แต่ละแห่งสามารถกำหนดให้มี 2(48-32) = 65,536 ไซต์ โดย 1 ไซต์เท่ากับหนึ่งเครือข่าย ในแต่ละไซต์สามารถกำหนดให้มีหมายเลขที่อยู่เท่ากับ 2(64-48) = 65,536 ที่อยู่สำหรับเครือข่ายท้องถิ่น ดังนั้นภายในวงเครือข่ายท้องถิ่นแต่ละวงสามารถมีที่อยู่ขนาด 264 สำหรับคอมพิวเตอร์ภายใน ดังรูปที่ 3
รูปที่ การจัดแบ่งหมายเลขที่อยู่ให้กับเครือข่ายลักษณะต่าง 

          รูปที่ แสดงถึงตัวอย่างของหมายเลขที่อยู่ IPv6 ที่มีค่า Prefix ขนาด 64 บิต เช่น 
2001:0A3C:5437:ABCD::/64 โดย RIR กำหนดให้มีหมายเลขที่อยู่ที่มีค่า Prefix ขนาด 12 บิต และ ISP ถูกกำหนดให้มีหมายเลขที่อยู่ขนาด 32 บิต รวมทั้งไซต์มีขนาด 48 บิต ส่วนอีก 16 บิต เป็นช่องฟิลด์สำหรับซับเน็ตที่ยอมให้มีซับเน็ตได้ถึง 65,536 ซับเน็ต ส่วน 64 บิตสุดท้ายในช่องขวามือสุดเป็นหมายเลขอินเตอร์เฟส หรือส่วนที่เป็นหมายเลขที่อยู่ของเครื่องคอมพิวเตอร์ มีขนาด 64 บิต หรือ 264 ต่อหนึ่งซับเน็ต เช่น 
2001:0A3C:5437:ABCD::/64 ผู้ดูแลระบบเครือข่ายสามารถกำหนดหมายเลขที่อยู่ IPv6 ให้กับเครื่องคอมพิวเตอร์เป็นหมายเลข 2001:0A3C:5437:ABCD:218:34EF:AD34:98D
รูปที่ โครงสร้างของหมายเลขที่อยู่ IPv6

คุณสมบัติตั้งค่าหมายเลขที่อยู่อัตโนมัติ (Automatic Configuration)
          คุณสมบัติตั้งค่าหมายเลขที่อยู่อัตโนมัติเป็นระบบการจัดการที่มีประสิทธิภาพ เนื่องจากกลไกการจัดการที่เรียบง่ายหรือที่เรียกกันว่า Plug-and-Play โดยให้อุปกรณ์ในเครือข่ายสามารถกำหนดหมายเลขที่อยู่ IPv6 ได้ด้วยตัวเอง โดยที่ไม่ต้องการความช่วยเหลือจากเครื่องแม่ข่ายที่ให้บริการ DHCPv6 โดยที่คุณสมบัตินี้เกิดจากการเรียนรู้ข้อมูล Prefix จากเร้าเตอร์ แล้วผนวกเข้ากับที่อยู่ Physical Address ของตัวอุปกรณ์เอง โดยที่อยู่ของตัวอุปกรณ์คือค่า MAC Address แต่ค่า MAC Address มีความยาวแค่ 48 บิต ซึ่งที่อยู่ส่วน Prefix ต้องการความยาวที่ 64 บิต ทำให้ต้องการความยาวเพิ่มอีก 16 บิต ซึ่งความยาวที่เพิ่มอีก 16 บิต จะได้จากการเพิ่ม FFFE เข้าไประหว่างกึ่งกลางของ MAC Address ดังต่อไปนี้
MAC = 000C.290C.47D5 ตั้งค่าเป็น 020C:29FF:FE0C:47D5
          หมายเลขที่อยู่ที่ได้จากการตั้งค่าอัตโนมัติ ได้จากการแปลงค่าตามมาตรฐาน EUI-64 โดยทำการเปลี่ยนค่าบิตที่ 2 ใน 8 บิตแรก โดยเปลี่ยนจากค่า 0 เป็น 1 ซึ่งบิตที่มีค่าเป็น 1 หมายถึง Global Unicast และค่าเป็น 0 หมายถึง Local Unicast
รูปที่ 5 การแปลง MAC Address ตามมาตรฐาน EUI-64
          การทำงานของคุณสมบัติการตั้งค่าหมายเลขที่อยู่อัตโนมัติ แบ่งออกเป็น 2 ขั้นตอน ดังนี้
          1. Host ร้องขอข้อมูล Prefix เพื่อตั้งค่าอินเตอร์เฟสจากเร้าเตอร์ โดยส่งคำขอ router solicitation (RS) โดยจะส่งแบบ Multicast ไปยังทุก ๆ ที่อยู่ Multicast ของเร้าเตอร์ โดยจะส่งเป็น ICMP message Type 133
          2. เร้าเตอร์จะตอบกลับค่า Prefix ที่ต้องการ โดยส่ง router advertisement (RA) ซึ่ง RA จะส่งไปแบบ Multicast ไปยังที่อยู่ Multicast ของโฮสต์บนเครือข่าย โดยจะส่งเป็น ICMP message Type 134 ข้อความ RA 
จะส่งแบบกำหนดช่วงเวลา แต่ Host จะส่งข้อความ RS แบบต่อเนื่อง ดังนั้นไม่จำเป็นต้องรอตารางเวลาของ RA โฮสต์ทำการส่ง RS เพื่อตอบสนองทันที ดังรูปที่ 6
รูปที่ 6 การทำงานของคุณสมบัติการตั้งค่าหมายเลขที่อยู่อัตโนมัติ
          วิธีการตั้งค่าหมายเลขที่อยู่อัตโนมัติ จะใช้การทำงานแบบ Stateless เนื่องจากไม่จำเป็นติดต่อ หรือเชื่อมต่อ และไม่ต้องรับข้อมูลเสริมจากอุปกรณ์อื่น

ประเภทของหมายเลขที่อยู่ไอพีรุ่นที่ 6
          หมายเลขที่อยู่ IPv6 สามารถแบ่งรูปแบบหมายเลขที่อยู่ IPv6 ออกเป็น ประเภท คือ UnicastMulticast และ Anycast ซึ่งในที่อยู่แบบ Unicast และ Multicast ยังคงการทำงานเหมือนใน IPv4 ทุกประการ
          1. หมายเลขที่อยู่แบบ Unicast เป็นการเชื่อมต่อระหว่างจุดไม่ว่าจะเป็นที่อยู่ Global Unicast หรือแบบ Link Local รวมทั้งแบบ Unique Local รวมทั้งที่อยู่ที่มีจุดหมายปลายทางไปที่อินเตอร์เฟซเฉพาะ และมีการทำงานเช่นเดียวกับ IPv4 ซึ่งประเภทของหมายเลขที่อยู่แบบ Unicast มีดังต่อไปนี้
              1.1 ที่อยู่ Global Unicast เปรียบได้กับที่อยู่สาธารณะของ IPv4 ซึ่งสามารถเข้าถึงได้ทั่วโลกบนอินเตอร์เน็ต แต่จะต่างกันตรงที่ IPv4 ใช้พื้นที่เรียบและสรุปรวมของที่อยู่รวมกัน แต่ในส่วน Global Unicast ของ IPv6 จะง่ายต่อการรวมและสรุปต่อที่อยู่ทำให้ผลของการหาเส้นทางน้อยลงภายในขอบเขตของเส้นทางบนอินเตอร์เน็ต
               1.2 ที่อยู่ Link Local มีการใช้งานบนเครือข่ายภายในเดียวกัน จะเทียบได้กับ Automatic Private IP Addressing (APIPA) ใน IPv4 ในปัจจุบันมีใช้อยู่บนเดสก์ทอป Microsoft และระบบปฏิบัติการเซิร์ฟเวอร์ โดยที่อยู่ Link Local มีการกำหนดค่าโดยอัตโนมัติ และสามารถใช้งานได้อัตโนมัติ สำหรับ Host ที่ต่ออยู่ในเครือข่ายภายในเดียวกัน แต่ถ้าเครือข่ายภายในไม่มีเร้าเตอร์ ที่อยู่ Link Local จะเริ่มต้นด้วย “FE80” เสมอ
               1.3 ที่อยู่ Uni Local จะมีลักษณะคล้ายคลึงกับ Private IP Address ของ IPv4 โดยที่เร้าเตอร์จะไม่ทำการส่งต่อหมายเลขที่อยู่ประเภทนี้ จะมีค่าเริ่มต้นด้วย “FD” หรือ “FC”
          2. Multicast เป็นการสื่อสารระหว่างหนึ่งจุดต่อหลาย ๆ จุด หรือหนึ่งหมายเลขที่อยู่ต่อหลาย ๆ หมายเลขที่อยู่ หรือหลาย ๆ อินเตอร์เฟซ โดยที่อยู่แบบนี้ถูกใช้แทนที่อยู่ IPvแบบ Broadcast และมีคุณสมบัติเหมือนกับ Multicast ของ IPv4 ทุกประการ โดยที่อยู่แบบ Multicast มีคุณสมบัติดังต่อไปนี้
                2.1 ใช้ Prefix ขนาด 8 บิต คือ FF00::/8
                2.2 สามารถมีขอบเขตในการทำ Multicast ได้หลายรูปแบบ โดยดูจากส่วนของบิตในกลุ่ม Multicast เช่น Link Local, Site, Global Scope ดังที่แสดงในรูปที่ 7
รูปที่ 7 โครงสร้างที่อยู่แบบ Multicast
                 2.3 ใช้ Multicast Listener Discovery (MLD) ที่เทียบเท่ากับ Internet Group Management Protocol (IGMP) ใน IPv4
          ตารางแสดงถึงหมายเลขที่อยู่ IPv6 แบบ Multicast ที่สงวนไว้ใช้ในการติดต่อสื่อสาร
ที่อยู่แบบ Multicast
รายละเอียด
FF02::1
สำหรับทุก ๆ โหนด บนการเชื่อมต่อ
FF02::2
สำหรับทุกเร้าเตอร์บนเส้นทางเชื่อมต่อ
FF02::5
SPF สำหรับเร้าเตอร์ที่ใช้เร้าติง OSPFv3
FF02::6
DR สำหรับเร้าเตอร์ที่ใช้เร้าติง OSPFv3
FF02::9
สำหรับเร้าเตอร์ทุกที่ใช้เร้าติง RIP บนเส้นทางเชื่อมต่อ
FF02::A
สำหรับเร้าเตอร์ที่ใช้เร้าติง EIGRP
FF05::1:FFxx:xxxx
สำหรับทุกโหนดที่ใช้ที่อยู่มัลติแค้สต์ที่โหนดใช้การตั้งค่าหมายเลขที่อยู่อัตโนมัติ และการค้นพบอุปกรณ์เครือข่ายเพื่อนบ้าน
FF05::101
สำหรับเซิร์ฟเวอร์ที่ให้บริการ Network Time Protocol (NTP) ทั้งหมด

          3 Anycast จะมีลักษณะคล้าย ๆ กับที่อยู่แบบ Multicast แต่ที่อยู่แบบ Anycast จะเป็นการส่งข้อมูลไปยังหนึ่งผู้รับปลายทางที่ใกล้ที่สุดซึ่งกำหนดขึ้นโดยเร้าติง ซึ่งจะเป็นการส่งแบบ one-to-one-of-many เมื่ออินเตอร์เฟสที่รู้จักเป็นกลุ่มสมาชิก Anycast เมื่อโฮสต์ต้นทางส่งแพ็กเก็ตไปยังโฮสต์ปลายทางที่ใช้ที่อยู่ Anycast เพ็กเก็ตจะถูกส่งไปยังสมาชิกในกลุ่ม Anycast ที่อยู่ใกล้กับโฮสต์ต้นทางมากที่สุด โดยโฮสต์จะใช้โครงสร้างพื้นฐานของเร้าติงที่มีการวัดเส้นทางกลุ่มสมาชิกที่ใกล้ที่สุด ที่อยู่แบบนี้ช่วยให้ทรัพยากรในเครือข่ายกระจายอยู่ทั่วเครือข่ายในการเชื่อมต่อ เช่น เมื่อโฮสต์ต้องการส่งข้อมูลไปยังเครื่องแม่ข่ายที่ใช้ที่อยู่ IPv6 แบบ Anycast การส่งจะอาศัยค่าต้นทุนของเส้นทางในเร้าติงไปยังเครื่องแม่ข่ายที่ใกล้กับโฮสต์มากที่สุด
          การส่งข้อมูลของที่อยู่แบบเอนีแค้สต์ เป็นการส่งข้อมูลแบบ stateless ทำให้ Anycast เหมาะกับโปรแกรมที่ใช้โปรโตคอลแบบ User Datagram Protocol (UDP) โดยธรรมชาติ ซึ่งรูปแบบการส่งข้อมูลของที่อยู่แบบ Anycast จะมีลักษณะเหมือนกับ Unicast และหมายเลขที่อยู่ของ Anycast มีลักษณะเหมือนหมายเลขที่อยู่แบบ Unicast จากการที่ IPv6 ได้กำหนดรูปแบบของ Anycast แบบนี้ ทำให้โฮสต์ที่จะส่งข้อมูลไปยังปลายทางที่ใช้ที่อยู่แบบ Anycast โฮสต์จะไม่สามารถแยกความแตกต่างระหว่างที่อยู่ Anycast และที่อยู่ Unicast เพียงแต่จะทราบว่าจะส่งไปที่ปลายทางใดเท่านั้น โดยอาศัยค่า Cost ในเร้าติงในการส่งข้อมูล ซึ่งการประกาศใช้ที่อยู่แบบ Anycast เป็นการเผยแพร่ผ่านเร้าติงโปรโตคอล ดังนั้นการประกาศใช้ที่อยู่แบบ Anycast ต้องประกาศจากเร้าเตอร์ไปยังเร้าเตอร์เพื่อนบ้าน แม้ว่าที่อยู่แบบ Anycast มีความได้เปรียบในการสนับสนุนความต่อเนื่องในการทำงานและป้องกันความเสียหายจากความไม่แน่นอนเช่นการโจมตีด้วย Denial of service (DoS) และที่อยู่แบบ Anycast เป็นบริการแบบ stateless ดังนั้นจะใช้วิธีการสื่อสารแบบ connectionless เช่น UDP แต่วิธีการส่งข้อมูลแบบ Transmission Control Protocol (TCP) ยังเป็นเรื่องยากที่จะคงรักษาสถานะการสื่อสารใน TCP  เนื่องจาก TCP เป็นวิธีการเชื่อมต่อการสื่อสารแบบ oriented ดังนั้นที่อยู่แบบ Anycast เป็นการทำงานแบบ stateless โดยไม่การตรวจสอบว่าข้อมูลที่ส่งไปจะถึงผู้รับหรือไม่ และการส่งไปยังบางเครื่องแม่ข่ายยังมีการเสียเปรียบในการใช้ Fragment, encryption และ authentication เนื่องจากของคุณสมบัติที่การสื่อสารของที่อยู่แบบ Anycast ไปยังเซิร์ฟเวอร์ไม่คงที่เสมอ มันค่อนข้างที่จะเหมาะสมสำหรับบริการเพ็กเก็ตที่เดินทางรอบเดียว เช่น บริการ DNS ที่ใช้การสื่อสารแบบ UDP
          สามารถสรุปได้สั้น ๆ คือ การประกาศหมายเลขที่อยู่หนึ่งหมายเลข ที่อนุญาตให้อุปกรณ์สามารถใช้หมายเลขที่อยู่นั้นซ้ำกันได้ และเป็นการที่ผู้ส่งข้อมูลจะส่งข้อมูลถึงปลายทางที่เป็นที่อยู่แบบเอนีแค้สต์ ที่อยู่ใกล้กลับผู้ส่งมากที่สุดเพียงหนึ่งเดียว

โปรโตคอลหลักที่ใช้ใน IPv6
          เฮดเดอร์ของ IPv6 มีการออกแบบโดยการเอาฟิลด์ที่ไม่ต้องการออก และย้ายฟิลด์ที่ไม่ได้ใช่ซึ่งมีที่อยู่ขนาดใหญ่กว่า IPv4 เฉพาะขนาดของเฮดเดอร์ที่ใหญ่เป็นสองเท่าของเฮดเดอร์ IPv4 ซึ่งมีขนาดถึง 40 ไบต์ ถึงแม้จะมีขนาดใหญ่ที่ประกอบด้วยฟิลด์เฮดเดอร์น้อยลง และมีการประมวลผลที่มีประสิทธิภาพด้วยเร้าเตอร์ ถ้าเฮดเดอร์ของ IPvไม่สอดคล้องกับเฮดเดอร์ของ IPv4 จะทิ้งแพ็กเก็ตของ IPv6 และเช่นเดียวกับ IPv6 ก็จะทิ้งแพ็กเก็ตของ IPv4 โปรโตคอลหลักของ IPvประกอบดังต่อไปนี้
          1. Internet Control Message Protocol for IPv6 (ICMPv6) ทำหน้าที่รายงานข้อผิดพลาดและมีหน้าที่วิเคราะห์ นอกจากนี้ ICMPv6 ยังมีโครงสร้างแพ็กเก็ตทั่วไปสำหรับข้อความของ Neighbor Discovery (ND) และ Multicast Listener Discovery (MLD) คล้ายกับ ICMP ของ IPv4 ประเภทข้อความของ ICMPv6 มีดังต่อไปนี้
              1.1 Echo Request (การร้องขอ)
              1.2 Echo Reply (การตอบกลับ)
              1.3 Destination Unreachable (ไม่สามารถระบุปลายทางได้)
              1.4 Time Exceeded (เวลาเกิน)
              1.5 Parameter Problem (ปัญหาของพารามิเตอร์)
         ถ้าแพ็กเก็ตมีขนาดใหญ่เกินไป ICMPv6 จะมีข้อความที่กำหนดส่วนที่จำเป็นปลายทางที่ไม่สามารถระบุได้และชุดข้อความ Don’t Fragment (DF) ของ ICMP ข้อความแพ็กเก็ตที่มีขนาดใหญ่เกินไปสำหรับ path maximum transmission unit (PMTU)
          2. Neighbor Discovery (ND) ประกอบด้วยชุดของข้อความ ICMPv6 และกำหนดกระบวนการที่ทำให้โหนดใกล้เคียงค้นพบโหนดอื่น ๆ การค้นพบเร้าเตอร์บนลิ้งค์ และการรองรับโฮสต์ที่เปลี่ยนเส้นทาง ND จะเป็นสิ่งอำนวยความสะดวกที่เข้ามาแทนข้อความของ IPv4 คือ Address Resolution Protocol (ARP), ICMP Router Discovery และ ICMP Redirect ซึ่ง ND มี 5 ข้อความคือ Neighbor Solicitation (ชักชวนเพื่อนบ้าน), Neighbor Advertisement (โฆษณาเพื่อนบ้าน), Router Solicitation (ชักชวนเร้าเตอร์), Router Advertisement (โฆษณาเร้าเตอร์) และ Redirect (การเปลี่ยนเส้นทาง) ซึ่ง ND ได้กำหนดกระบวนการไว้ดังต่อไปนี้
              2.1 Address resolution เป็นการส่งข้อความร้องขอ ARP แบบ Broadcast และรับการตอบรับ ARP แบบ Unicast ซึ่งโหนดใน IPv6 จะชักชวนเพื่อนบ้านโดยการส่งแบบ Multicast และจะรับการโฆษณาจากเพื่อนบ้านแบบ Unicast
              2.2 Duplicate address detection เป็นการส่งเฟรมเปล่าเช่นเดียวกับ ARP ของ IPv4 ซึ่งโฮสต์ใน IPv6 จะมีประสิทธิภาพความละเอียดของที่อยู่ที่พยายามใช้ก่อนที่จะเริ่มการทำงานบนอินเตอร์เฟส
              2.3 Router discovery เมื่อโหนดเริ่มต้นทำงานบนลิ้งค์ จะส่งข้อความร้องขอเร้าเตอร์ เร้าเตอร์บนลิ้งค์จะส่งข้อความโฆษณาแบบ Unicast หรือ Multicast ซึ่งประกอบด้วยส่วนของที่อยู่และการกำหนดค่าตัวเลือกอื่น ๆ เพื่อให้โฮสต์สามารถกำหนดค่าอัตโนมัติและไม่ซ้ำกับตำแหน่งที่อยู่อื่น
              2.4 Neighbor unreachability detection จะติดตามโหนดเพื่อนบ้านใดบ้างที่เข้าถึงได้ ถ้าโหนดเพื่อนบ้านไม่สามารถเข้าถึงได้ จะตรวจสอบปัญหาและทำการปรับเปลี่ยนอัตโนมัติ เช่น เลือกค่าเริ่มต้นของเร้าเตอร์ใหม่ หรือระบุข้อผิดพลาดให้กับโปรโตคอลที่อยู่ในชั้นบน
              2.5 Multicast Listener Discovery (MLD) เปรียบเสมือน Internet Group Management Protocol version 2 (IGMPv2) ของ IPv4 ซึ่งข้อความ ICMPv6 ที่ใช้โดยโฮสต์ที่ลงทะเบียนเป็นสมาชิกในกลุ่ม, โฮสต์ที่ย้ายออกจากลุ่ม และเร้าเตอร์ที่ค้นหาซับเน็ต (subnet) จากสมาชิกในกลุ่ม ซึ่ง MLD version 2 (MLDv2) จะเปรียบเสมือน IGMP version 3 (IGMPv3) ของ IPv4 แต่ MLDv2 มีประสิทธิภาพการทำงานเหมือน MLD แต่จะช่วยให้โฮสต์ที่สนใจจะลงทะเบียนในการเข้าถึงแบบ Multicast กับพื้นที่ของเร้าเตอร์ใน MLDv2 ซึ่งโฮสต์สามารถเข้ามาลงทะเบียนได้ในการสื่อสารแบบ Multicast จากที่อยู่ในรายการหรือจากทุกที่อยู่ที่ยกเว้นที่ไม่ได้อยู่ในรายการ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น