IPv4 สู่ IPv6

ปัจจุบันนี้อินเทอร์เน็ตเข้ามามีบทบาทสำคัญในชีวิตประจำวันของเรามากยิ่ง ขึ้นและมีเทคโนโลยีต่างๆมากมายที่จะต้องใช้อินเทอร์เน็ตในการเชื่อมต่อถึง กัน ดังในปัจจุบันเราจะเห็นได้ว่าแม้กระทั่งโทรศัพท์มือถือก็มีอินเทอร์เน็ตเป็น ส่วนประกอบหนึ่งรวมไปถึงอุปกรณ์อิเล็กทรอนิกส์ต่างๆ ดังนั้นระบบอินเทอร์เน็ตในปัจจุบันที่ใช้ IP Address ซึ่งมีอยู่อย่างจำกัด ทำให้จะต้องมีการพัฒนาระบบอินเทอร์เน็ตโดยการขยาย IP Address ให้เพิ่มมากขึ้นเพื่อรองรับการทำงานในโลกอนาคตที่มีอย่างไม่ จำกัด ซึ่งอินเทอร์เน็ต ที่ถูกพัฒนาขึ้นนี้จะก่อให้ประโยชน์ได้อย่างมหาศาลและช่วยอำนวยความสะดวกใน การดำรงชีวิตในทุกๆด้านรวมไปถึงการศึกษาและด้านธุรกิจ

 ความหมายของ IP Address IP Address ที่ใช้นั้นประกอบด้วยเลข 4 ชุด (หรือ 4 Bytes) แต่ละชุดจะแยกกันด้วยเครื่องหมาย “.” และแต่ละชุดจะเป็นตัวเลขได้ ตั้งแต่ 0 – 255 (มาจาก 28-1) ดังตัวอย่าง 66.218.71.86 เป็นต้น มีด้วยกัน 5 Classes ได้แก่ Class A, B, C, D,และ E แต่ที่ใช้อยู่ในระบบเพียง 4 Classes โดย Class D นำมาใช้งานด้าน Multicast Application ส่งแพ็กเก็ตข้อมูลกระจายให้กลุ่มคอมพิวเตอร์ได้แก่งาน Tele- conference งานถ่ายทอด TV/Video บนระบบ IP Network เป็นต้น และสำหรับ Class E ไม่มีการใช้จริง

การขยาย IP จาก IPv4 เป็น IPv6 กลไกสำคัญในการทำงานของอินเทอร์เน็ต คือ อินเทอร์เน็ตโพรโตคอล ส่วนประกอบสำคัญของอินเทอร์เน็ตโพรโตคอลคือ IP address ที่ใช้ในการอ้างอิงเครื่องคอมพิวเตอร์และอุปกรณ์เครือข่ายต่างๆบน อินเทอร์เน็ตทั่วโลก เปรียบเสมือนการใช้งานโทรศัพท์ในการติดต่อสื่อสารกันจะต้องมีเลขหมายเบอร์ โทรศัพท์เพื่อให้อ้างอิงผู้รับสายได้ คอมพิวเตอร์ทุกเครื่องในอินเทอร์เน็ตก็ต้องมีหมายเลข IP Address ที่ไม่ซ้ำกับใครหมายเลข IP address ที่เราใช้กันทุกวันนี้ คือ Internet Protocol version 4 (IPv4) ซึ่งเราใช้เป็นมาตรฐานในการส่งข้อมูลในเครือข่ายอินเทอร์เน็ตตั้งแต่ ปี ค.ศ. 1981 ทั้งนี้การขยายตัวของเครือข่ายอินเทอร์เน็ตในช่วงที่ผ่านมามี อัตราการเติบโตอย่างรวดเร็ว

นักวิจัยเริ่มพบว่า จำนวนหมายเลข IP address ของ IPv4 กำลังจะถูกใช้หมดไป ไม่เพียงพอกับการใช้งานอินเทอร์เน็ตในอนาคตและหากเกิดขึ้นก็หมายความว่าเรา จะไม่สามารถเชื่อมต่อเครือข่ายเข้ากับระบบอินเทอร์เน็ตเพิ่มขึ้นได้อีก ดังนั้น จึงได้พัฒนาอินเทอร์เน็ตโพรโตคอลรุ่นใหม่ขึ้น คือ รุ่นที่หก (Internet Protocol version 6; IPv6) เพื่อทดแทนอินเทอร์เน็ตโพรโตคอลรุ่นเดิม โดยมีวัตถุประสงค์ เพื่อปรับปรุงโครงสร้างของตัวโพรโตคอล ให้รองรับหมายเลขแอดเดรสจำนวนมาก และปรับปรุงคุณลักษณะอื่นๆ อีกหลายประการ ทั้งในแง่ของประสิทธิภาพและความปลอดภัยรองรับระบบแอพพลิเคชั่น (application) ใหม่ๆ ที่จะเกิดขึ้นในอนาคต และเพิ่มประสิทธิภาพในการประมวลผล แพ็กเก็ต (packet) ให้ดีขึ้น ทำให้สามารถตอบสนองต่อการขยายตัวและความต้องการใช้งานเทคโนโลยีบนเครือข่าย อินเทอร์เน็ตในอนาคตได้เป็นอย่างดี

Internet Protocol version 6 (IPv6) บางครั้งเรียกว่า  Next Generation Internet   Protocol หรือ IPng  ถูกออกแบบมาให้ทำงานได้ดีในเครือข่ายที่มี ประสิทธิภาพสูง เช่น  Gigabit Ethernet, OC-12, ATMและในขณะเดียวกันก็ยังคงสามารถทำงานในเครือข่ายที่มีประสิทธิภาพต่ำได้ เช่น  wireless network นอกจากนี้ยังได้มีการจัดเตรียมแพลตฟอร์มสำหรับฟังก์ชันใหม่ๆ ของอินเทอร์เน็ตซึ่งเป็นที่ต้องการในอนาคตอันใกล้ไว้ด้วย  ความแตกต่าง ระหว่าง  IPv6 และ  IPv4 มีอยู่ 5 ส่วนใหญ่ๆคือ การกำหนดหมายเลขและการเลือกเส้นทาง (Addressing & Routing) ความปลอดภัย   อุปกรณ์แปลแอดเดรส (Network Address Translator : NAT)  การลดภาระในการจัดการ ของผู้ดูแลระบบ  และการรองรับการใช้งานในอุปกรณ์พกพา  (Mobile Devices)

ที่มา : http://www.thnic.or.th/article/18-technology/46-ip-v4-ip-v6

การใช้งาน Mobile IPv6

เมื่อเราต้องการใช้งานอินเตอร์เน็ตขณะเคลื่อนที่ การใช้ Mobile IPv6 ทำให้การส่งข้อมูลผ่านอินเตอร์เน็ตราบรื่น ทุกเครือข่ายต้องเชื่อมผ่านรูปแบบ IPv6 เราจะสามารถเคลื่อนย้ายในรูปแบบนี้ได้จากทุกที่ที่สามารถเชื่อมถึงกัน ในการทดสอบได้ทำอยู่ในระดับห้องทดลองก็จะมี การทดสอบในระดับโปรแกรมที่ใช้งาน 3 โปรแกรมคือการ ping ssh ftp และการ Streaming ได้แสดงผลของการทดลองให้ดูความแตกต่างและความสะดวกในการใช้งานเมื่อเราเคลื่อนย้ายไปสู่เครือข่ายอื่น
องค์ประกอบที่สำคัญของ IPv6
1. Mobile Node (MN) อุปกรณ์เคลื่อนที่
2. Corespoding Node’s (CN) คู่สนทนา
3. Home Agent (HA) ตัวกลางในการติดต่อกับ MN
4. Home Network เครือข่ายเดิม
5. Home Address หมายเลขไอพีเดิม
6. Foreign Network เครือข่ายใหม่
7. Care-of Address หมายเลขไอพีใหม่

ที่มา : http://sakon-pin.blogspot.com/2009/11/ipv6-internet-protocol-version-6_04.html

ขั้นตอนการทำงานของ Mobile IP

1. เมื่อ MN เคลื่อนที่ไปยัง Foreign network จะได้รับ IP address ใหม่จากเจ้าของเครือข่าย เรียกว่า Care-of address
2. MN ส่ง Binding Update ไปยัง HA เพื่อประกาศ Care-of address ให้ Home network ทราบ
3. HA ตอบรับโดยส่ง Binding Acknowledgement กลับ
4. เมื่อ CN ต้องการติดต่อกับ MN จะติดต่อผ่าน HA (เพราะยังไม่ทราบว่ามีการเคลื่อนที่)
5. HA ส่งต่อข้อมูลจาก CN ให้กับ MN โดยใช้ Care-of address ของ MN
6. MN สร้าง tunnel ผ่าน HA เพื่อส่งข้อมูลต่อไปยัง CN
7. Return Routability: MN และ CN แลกเปลี่ยน test packet เพื่อทดสอบเส้นทางว่าทั้ง Home address และ Care-of-address นั้นใช้งานได้ โดย MN จะส่ง test packet ไปทั้งสองเส้นทาง เส้นทางแรกส่งผ่าน HA ไปยัง CN และเส้นทางที่สองส่งไปยัง CN โดยตรง จากนั้น CN ตอบรับ test packet ทั้งสองพร้อมทั้งส่งรหัสเพื่อเริ่มการติดต่อ
8. Route Optimization: MN ส่ง Binding Update ไปยัง CN เพื่อประกาศ IP address ใหม่ จากนั้น CN จะตอบรับโดยส่ง Binding Acknowledgement กลับ จากนั้น MN และ CN จะติดต่อกันโดยตรงไม่ผ่าน HA โดยข้อมูลที่ส่งผ่านกันทั้งหมดนี้จะถูกเข้ารหัสลับเพื่อความปลอดภัย
หมายเลขไอพี หรือ ไอพีแอดเดรส (Internet Protocol Address) คือหมายเลขที่ใช้ในระบบเครือข่ายที่ใช้โพรโทคอล Internet Protocol คล้ายกับหมายเลขโทรศัพท์ ที่เครื่องคอมพิวเตอร์ เครื่องเราท์เตอร์ เครื่องแฟกซ์ จะมีหมายเลขเฉพาะตัวโดยใช้เลขฐานสอง จำนวน 32 บิต โดยการเขียนจะเขียนเป็นชุด 4 ชุด โดยแต่ละชุดจะใช้เลขฐานสองจำนวน 8 บิต ซึ่งโดยทั่วไปแล้ว ผู้คนส่วนใหญ่จะคุ้นเคยกับระบบเลขฐานสิบ จึงมักแสดงผลโดยการใช้เลขฐานสิบ จำนวน 4 ชุด ซึ่งแสดงถึงหมายเลขเฉพาะของเครื่องนั้น สำหรับการส่งข้อมูลภายในเครือข่ายแลน แวนหรือ อินเทอร์เน็ต โดยหมายเลขไอพีมีไว้เพื่อให้ผู้ส่งรู้ว่าเครื่องของผู้รับคือใคร และผู้รับสามารถรู้ได้ว่าผู้ส่งคือใคร
ตัวอย่างของหมายเลขไอพี ได้แก่ 207.142.131.236 ซึ่งเมื่อแปลงกลับมาในรูปแบบที่อ่านได้จะเรียกว่า โดเมนแอดเดรส ผ่านทาง โดเมนเนมซีสเทม (Domain Name System) ซึ่งหมายเลขนั้นหมายถึง www.wikipedia.orgไอพีเวอร์ชัน 6
ไอพีเวอร์ชันที่ 6 (IPv6) ถูกพัฒนาขึ้นมาด้วยจุดประสงค์หลักในการแก้ปัญหาการขาดแคลนจำนวนหมายเลขไอพีซึ่งกำหนดโดยมาตรฐานไอพีเวอร์ชันที่ 4 ซึ่งในมาตรฐานของเวอร์ชัน 6 นี้จะใช้ระบบ 128 บิตในการระบุหมายเลขไอพี

ความแตกต่างของ IPv6 กับ IPv4

IPv6 มีข้อปรับปรุงเพิ่มมาจาก IPv4 ดังนี้

– ขยายขนาด Address จากเดิม 32 bit เป็น 128 bit
– เพิ่มขีดความสามารถในการเลือกเส้นทาง
– สนับสนุนการใช้ Mobile Host
– สนับสนุนการทำงานแบบเวลาจริง
– มีระบบติดตั้ง Address อัตโนมัติ
– เพิ่มระบบรักษาความปลอดภัย
– ปรับปรุงระบบ Header เพื่อให้ประมวลผลได้ประสิทธิภาพดียิ่งขึ้น

เนื่องจาก IP Address ของ v6 มีขนาด 128 bit การเขียนจึงแตกต่างจากแบบเดิม การเขียนใช้เลขฐาน 16 แทนโดยมีเครื่องหมาย colon ( : ) คั่นระหว่างตัวเลข เช่น

F3B8 : AS3C : 1436 : 3120 : FABC : BC91 : 7211 : 2820

อย่างไรก็ดี ถ้ามีข้อเสนอ เป็นจำนวนเลขหมายหลายตัวจะเขียนแบบย่อได้ เช่น

2425 : 0000 : 0000 : 0000 : 0000 : 0000 :1812 :2137 : 425A

เขียนได้ดังนี้

2425 : 0 : 0 : 0 : 0 : 0 : 1812 : 2137 : 425A

มาทำความรู้จักกับ IPv6

IPv6

ก่อนที่จะทำการกล่าวถึงIPv6 ต้องมาทำความรู้จักกับIP Address  เพราะ IPv6 พัฒนามาจาก IPv4 ซึ่ง IPv4 พัฒนามาจาก IP Address นั่นเอง

IP Address

เนื่องจากในระบบเครือข่ายอินเทอร์เน็ต จะใช้โปรโตคอล TCP/IP เป็นมาตรฐานในการสื่อสารข้อมูล ซึ่งจะมีการกำหนดหมายเลขประจำตัวที่ไม่ซ้ำกันให้กับเครื่องคอมพิวเตอร์ทุกเครื่องที่มีการเชื่อมกันอยู่ในระบบเครือข่าย หมายเลขประจำตัวนี้จะถูกเรียกว่า หมายเลข IP หรือ IP Address และจากที่ว่า

ในinternet ทุกโฮสต์และเราเตอร์จะต้องมีแอดเดรสเพื่อส่งข้อมูลติดต่อกันดังนั้น จึงเกิดมี IP Address ขึ้น IP Address ของแต่ละโหนดนี้จะเป็นลอจิคัลแอดเดรส ซึ่งไม่ขึ้นอยู่กับฮาร์ดแวร์หรือรูปแบบของเครือข่าย (network configuration) และแอดเดรสนี้มีรูปแบบเหมือนกันไม่ว่าเป็นเครือข่ายชนิดโทเคนริง อีเทอร์เน็ต หรือชนิดอื่นๆ ปกติไอพีแอดเดรสจะประกอบด้วย 4 ไบต์  ซึ่งบ่งบอกทั้งเครือข่ายและโฮสต์ (หรือโหนดที่อาจจะเป็นคอมพิวเตอร์ หรืออุปกรณ์อื่นๆของเครือข่าย) ซึ่งไอพีแอดเดรส 4 ไบต์นี้จะถูกเขียนแยกแต่ละไบต์ด้วยจุดทศนิยม และแต่ละไบต์จะมีค่าซึ่งบ่งบอกด้วยเลขฐานสิบ เช่นไอพีแอดเดรส 129.47.6.17 เป็นต้น โดยตัวเลขในแต่ละชุดจะมีขนาด 8บิต ดังนั้นแต่ละชุดจะมีค่าได้ตั้งแต่ 0 ถึง 28-1=255 เท่านั้น ซึ่งจะทำให้สามารถกำหนดหมายเลขIP ให้กับเครื่องคอมพิวเตอร์ได้ทั้งหมดถึง 4พันล้านเลขหมาย ที่ไม่ซ้ำกัน ในการกำหนดไอพีแอดเดรสของแต่ละโหนดนั้น หากผู้ใช้ต้องการติดต่อกับอินเทอร์เน็ตจะต้องได้รับไอพีแอดเดรสจากองค์การข้างล่างนี้

DDN Network Information Center

SRI International

333 Ravenswood Avenue, Room EJ291

Menlo Park, CA  94025

USA

แต่ถ้าผู้ใช้สมัครเป็นสมาชิกกับหน่วยงานที่ทำหน้าที่เป็นผู้ให้บริการอินเทอร์เน็ต(Internet Service Provider:ISP)(ในประเทศไทยมีอยู่หลายหน่วยงาน)ก็ไม่ต้องขอหมายเลขIP เนื่องจากISP จะเป็นผู้ส่งหมายเลข IPให้แก่ผู้ใช้เอง

แต่หากไม่ต้องการติดต่อกับอินเทอร์เน็ต ผู้ใช้อาจเลือกแอดเดรสใช้เอง ซึ่งในการเลือกแอดเดรสใช้เองนี้ ควรกำหนดแอดเดรสของทุกโหนดภายในเครือข่ายให้สอดคล้องตามเงื่อนไขต่อไปนี้

  1. ส่วนของแอดเดรสของเครือข่ายในไอพีแอดเดรสของทุกโหนดต้องมีแอดเดรสเดียวกัน เช่น ทุกโหนดบนเครือข่าย 129.47 ต้องใช้ 129.47 เป็นส่วนของแอดเดรสของเครือข่ายเป็นต้น
  2. ทุกโหนดบนเครือข่ายหนึ่งจะมีไอพีแอดเดรสแตกต่างกับโหนดอื่น

 

 IPv6 เป็นมาตรฐานใหม่ของโปรโตคอลไอพี ซึ่งจะมาแทนที่IPv4 ที่ใช้ในปัจจุบัน

สำหรับฟิลด์แอดเดรสต้นทางและแอดเดรสปลายทาง จะใช้16 ไบต์ ซึ่งสามารถมีหมายเลขได้ถึง 2128ค่าหรือประมาณ 3*1038 ค่า ซึ่งจำนวนนี้สามารถเพียงพอสำหรับคอมพิวเตอร์ทั่วโลก กล่าวคือถ้าพื้นโลกที่ประกอบด้วยดินและน้ำเต็มไปด้วยคอมพิวเตอร์ แลัวIPv6 จะทำให้สามารถกำหนดแอดเดรสได้ถึง 7*1023 ค่าต่อพื้นที่ 1 ตารางเมตร

รหัสนำหน้า

ใช้เป็น

สัดส่วนของแอดเดรสที่ถูกใช้
0000 0000

สำรองไว้(รวมแอดเดรสของ IPv4 ด้วย)

1/256

0000 0001 ยังไม่กำหนด

1/256

0000 001 แอดเดรสNSAP ของตัวแบบOSI

1/128

0000 010 แอดเดรส IPX ของโนเวลล์เน็ตแวร์

1/128

0000 011 ยังไม่กำหนด

1/128

0000 1 ยังไม่กำหนด

1/32

0001 ยังไม่กำหนด

1/16

001 ยังไม่กำหนด

1/8

010 แอดเดรสสำหรับผู้ให้บริการอิน-เทอร์เน็ต

1/8

011 ยังไม่กำหนด

1/8

100 แอดเดรสตามภูมิประเทศ

1/8

101 ยังไม่กำหนด

1/8

110 ยังไม่กำหนด

1/8

1110 ยังไม่กำหนด

1/16

11110 ยังไม่กำหนด

1/32

1111 10 ยังไม่กำหนด

1/64

1111 110 ยังไม่กำหนด

1/128

1111 1110 0 ยังไม่กำหนด

1/512

1111 1110 10 แอดเดรสเฉพาะลิงก์

1/1024

1111 1110 11 แอดเดรสเฉพาะสถานที่

1/1024

1111 1111 Multicast

1/256

รูป แสดงการแบ่งแอดเดรสของIPv6 เป็นส่วนๆตามการใช้งาน

รูปแสดงการแบ่งแอดเดรสของIPv6 ออกตามการใช้งานเป็นส่วนๆ และมีการใช้รหัสนำหน้าของแต่ละส่วน จากในรูป แอดเดรสที่มีค่าบิต 0 นำหน้า 80 ตัว(10 ไบต์) ถูกใช้เพื่อเป็นแอดเดรสสำหรับ IPv4 โดยที่อีก 2 ไบต์จะใช้เพื่อเลือกวิธี ที่จะส่งแพ็กเกตของ IPv6 ผ่านเครือข่ายของ IPv4 ที่ใช้ในปัจจุบัน เหลืออีก 4 ไบต์จะเป็นแอดเดรสตามมาตรฐานของIPv4 นั่นเอง

สำหรับแอดเดรสของผู้ให้บริการเครือข่าย (Provider-based address)เป็นแอดเดรสที่จัดให้แก่ผู้ให้บริการอินเทอร์เน็ต  เพื่อให้บริการแก่ลูกค้า บิต 5 บิต(มีค่าได้ 32 ค่า)ที่ตามหลังค่า 010 จะใช้ระบุถึงนายทะเบียนอินเทอร์เน็ตที่บริษัทให้บริการอินเทอร์เน็ตเหล่านี้ลงทะเบียนอยู่ด้วย ปัจจุบัน นายทะเบียนอินเทอร์เน็ตดำเนินงานอยู่ที่ ทวีป อเมริกาเหนือ ยุโรป และเอเชีย ดังนั้นจึงสามารถเพิ่มนายทะเบียนได้อีก 29 แห่ง สำหรับบิตที่เหลืออีก 15 ไบต์ ขึ้นอยู่กับว่า แต่ละนายทะเบียน จะจัดการอย่างไร บางแห่งอาจใช้ 3 ไบต์ (ประมาณ 16 ล้านเลขหมาย)สำหรับใช้เป็นรหัสของผู้ให้บริการ ดังนั้นอาจเป็นไปได้ที่บริษัทใหญ่ๆ อาจจะเป็นผู้ให้บริการอินเทอร์เน็ต และให้บริการแก่พนักงานของตัวเอง นายทะเบียนบางแห่งอาจจะใช้ 1 ไบต์ สำหรับรหัสผู้จัดให้บริการระดับประเทศ ซึ่งจะจัดการแอดเดรสภายในแต่ละประเทศเอง

ส่วนของแอดเดรสตามภูมิประเทศ (Geographic-based address)จะคล้ายกับวิธีการของ CIDR กล่าวคือเป็นการจัดแอดเดรสให้ตามภูมิภาคต่างๆของโลก สำหรับส่วนของแอดเดรสเฉพาะลิงก์(link) และแอดเดรสเฉพาะสถานที่ (site local address)นั้นจะใช้เพื่อส่งแพ็กเกตข้อมูลภายในลิงก์ หรือภายในองค์กร โดยไม่แพร่ออกไปภายนอก ซึ่งจะช่วยทำให้ความปลอดภัยของข้อมูลมีมากขึ้น

 

สำหรับแอดเดรส แบบ multicast ซึ่งใช้ส่งข้อมูลเฉพาะกลุ่ม ไบต์หลังจากรหัสนำหน้าจะแบ่งเป็น ฟิลด์ แฟล็ก4 บิต และฟิลด์ขอบเขต(scope) 4บิต ฟิลด์ แฟล็กบางค่า จะใช้แยกระหว่างกลุ่มผู้ใช้ แบบถาวร และแบบกำหนดชั่วคราว ส่วนฟิลด์ ขอบเขตนั้นใช้บ่งบอกว่าการแพร่ข้อมูลให้กลุ่มผู้ใช้นี้จำกัดวงอยู่ภายในลิงก์นี้ สถานที่นี้ องค์กรนี้ หรือโลกนี้เป็นต้น  และเนื่องจาก ฟิลด์ นี้มีค่าได้ถึง 16 ค่า ดังนั้นในอนาคตอาจจะกำหนดขอบเขตของการแพร่ข้อมูลถึงระดับดาวเคราะห์ดวงอื่นหรือระบบสุริยจักรวาลก็ได้

 

แอดเดรสของIPv6 จำนวน 16 ไบต์ นี้จะถูกเขียนแยกเป็น 8กลุ่ม ด้วยเครื่องหมายโคลอน(:)แต่ละกลุ่มประกอบด้วย 16 บิต ซึ่งแสดงด้วยเลขฐานสิบหก 4 ตัว ดังเช่น8000:0000:0000:0000:0012:3456:9ACD:87EF เป็นต้น  และเพื่อให้การเขียนแอดเดรสได้กระทัดรัดขึ้น กลุ่มใดหรือหลายกลุ่ม ที่มีค่าเป็น 0 ทั้งหมดจะสามารถถูกแทนที่ได้ด้วยเครื่องหมายโคลอน สองตัว นอกจากนั้นภายในกลุ่มหนึ่งๆ หากมีค่า 0นำหน้า ค่า 0นั้นอาจถูกยกเว้นได้ ดังนั้น ตัวอย่างข้างต้นจะสามารถเขียนได้ด้วย 8000::12:3456:9ACD:87EF เป็นต้น