|
เทคนิคในการปรับเปลี่ยนเครือข่ายจาก IPv4 สู่
IPv6 (Transition technology) มีสามเทคนิค
ได้แก่ การใช้งาน IPv4 ควบคู่กับ IPv6 (Dual
stack) การทำอุโมงค์ (tunneling)
และการเปลี่ยนแปลงข้อมูล (translation)
ซึ่งการเลือกใช้แต่ละเทคนิคขึ้นอยู่กับความเหมาะสมและลักษณะการใช้งานของเครือข่ายที่มีอยู่
โดยเทคนิคการปรับเปลี่ยนแต่รูปแบบแตกต่างกันดังนี้
๕.๑ การใช้งาน
IPv4
ควบคู่กับ
IPv6 (Dual stack)
เทคนิคนี้เป็นการปรับเปลี่ยนเครือข่ายการใช้งาน
IPv4 และ IPv6 stack
ควบคู่กันไปภายในอุปกรณ์ตัวเดียวกัน Dual
stacks สามารถใช้ได้ทั้งที่ end host
ที่เซิร์ฟเวอร์และที่อุปกรณ์เครือข่าย
(network device) เช่น
เราเตอร์ซึ่งโครงสร้างของ Dual stack
แสดงดังรูปที่ ๕.๑
|


รูปที่
๕.๑ โครงสร้างของ
Dual IP stacks
|
การใช้งานแบบ Dual stack เหมาะสำหรับเครือข่ายที่ต้องการเริ่มใช้งาน IPv6
ใช้สำหรับการติดต่อระหว่างสองโหนด (node) ที่ใช้อินเทอร์เน็ต
โพรโทคอลเวอร์ชันเดียวกันแต่ต้องผ่านเครือข่ายกลางที่ใช้ไอพีโพรโทคอลคนละเวอร์ชัน
เช่น IPv4-IPv4 ผ่านเครือข่าย IPv6 หรือ
IPv6-IPv6 ผ่านเครือข่าย IPv4
หรือในกรณีที่บางโหนดต้องการปรับเปลี่ยนไปใช้โพรโทคอล
IPv6
แต่เครือข่ายที่เชื่อมต่ออยู่ด้วยไม่สนับสนุน
IPv6 โหนดดังกล่าว สามารถใช้ Dual stacks
เพื่อรองรับทั้ง IPv4 และ IPv6
หลักการทำงานคือ IP stack
ที่อยู่ภายในโหนดจะแบ่งออกเป็นสอง Stacks
ที่ทำงานขนานกัน เช่น เมื่อโหนดได้รับ IPv6
packet โหนดจะเลือก IPv6 stack
มาจัดการกับแพกเกต
(โดยตรวจสอบเวอร์ชันของโพรโทคอลจากส่วนหัวของแพกเกต)
ในขณะเดียวกันโหนดสามารถติดต่อกับเครือข่าย
IPv4 (ผ่าน IPv4 stack)
ได้เหมือนเดิมโดยไม่ต้องเปลี่ยนแปลงซึ่งโหนดที่มี
dual stack นี้จะต้องมี IP Address สองหมายเลข
คือ IPv4 address และ IPv6 address
โดยการเปลี่ยนแปลงโดยใช้เทคนิค dual stacks
นี้มีความต้องการเบื้องต้น (ระดับ Host และ
Network) ดังนี้
ก) หมายเลข Public IPv4 address และ
IPv6 address อย่างละ ๑ หมายเลข
สำหรับแต่ละอุปกรณ์ที่ต้องการติดตั้งโดยใช้เทคนิคแบบ
Dual stacks
ข) โฮสต์หรืออุปกรณ์ที่จะใช้งาน
dual-stack ต้องรองรับ IPv6
๕.๒ เทคนิคการทำอุโมงค์
(Tunnel)
Tunnel หรือการทำอุโมงค์
เป็นการห่อหุ้มแพกเกตข้อมูลที่ต้องการส่งไว้ในอีกแพกเกตหนึ่ง
เนื่องจากแพกเกตที่อยู่ภายในไม่สามารถถูกส่งไปยังปลายทางได้
จึงต้องอาศัยการห่อหุ้มด้วยแพกเกตอื่น
การทำอุโมงค์เพื่อใช้งาน IPv6
ใช้เมื่อเครือข่ายเชื่อมต่ออยู่ด้วยไม่สนับสนุน
IPv6 จึงจำเป็นต้องหุ้มแพกเกต IPv6
ไว้ภายใต้แพกเกต IPv4 แสดง ดังรูปที่ ๕.๒
|


รูปที่
๕.๒ การห่อหุ้มชุดข้อมูล
IPv6
ไว้ภายใต้ชุดข้อมูล
IPv4
|
เทคนิคการทำอุโมงค์ (Tunnel) สำหรับเครือข่าย
IPv6
ต้องสร้างเส้นทางการติดต่อระหว่างเครื่องที่ใช้หมายเลข
IPv6 ผ่านเครือข่ายที่ใช้หมายเลข IPv4
โดยเกตเวย์ (Gateway)
ของเครือข่ายของเครื่องที่ใช้หมายเลข IPv6
จะทำหน้าที่ห่อหุ้มแพกเกต IPv6 ไว้ใน IPv4
ก่อนจะส่งไปในเครือข่ายอินเทอร์เน็ตที่สนับสนุนการใช้หมายเลข
IPv4 เท่านั้น
โดยระหว่างทางจะตรวจสอบหมายเลขต้นทางและปลายทางที่อยู่ในส่วนหัวของแพกเกต
IPv4 เท่านั้น
โดยไม่คำนึงถึงส่วนที่อยู่ภายในเมื่อส่งไปถึงปลายทางเกตเวย์จะถอดแพกเกต
IPv4 ออกให้เหลือแต่แพกเกต IPv6
แล้วส่งแพกเกตต่อไปยังเครื่องปลายทางที่ใช้
IPv6 ต่อไป
ข้อเสียของวิธีนี้คือ
การห่อหุ้มชุดข้อมูลทำให้แพกเกตมีขนาดใหญ่ขึ้นเป็นผลให้เครือข่ายมี
overhead สูงขึ้น นอกจากนี้การทำ Tunnel
จำเป็นต้องใช้ Dual stacks
ที่ตัวเกตเวย์ทั้งสองด้านของอุโมงค์
โดยเทคนิคการทำ IPv6 Tunnel มีสามประเภทดังนี้
๕.๒.๑ Manually Configured
Tunnel
วิธีนี้เหมาะสำหรับการให้บริการที่เชื่อมต่อกันระหว่างเครื่องที่ใช้และติดตั้งหมายเลย
IPv6 เพียงประเภทเดียว
โดยต้องมีเกตเวย์ที่ติดตั้งและใช้งานแบบ Dual
stacks
ซึ่งจะทำหน้าที่เป็นอุโมงค์เครือข่ายทางเข้าและทางออกโดยแต่ละด้านจะต้องเก็บหมายเลข
IP address
ของอุโมงค์เครือข่ายของอีกด้านที่ต้องการเชื่อมต่อ
ซึ่งผู้ดูแลระบบจะต้องใส่หมายเลข IP address
ของปลายทางอุโมงค์เข้าไปเอง
วิธีนี้จึงต้องการการดูแลสูงในส่วนของการทำงาน
เมื่อแพกเกต IPv6
มาถึงอุโมงค์จะถูกห่อหุ้มด้วยเฮดเดอร์ IPv4
โดยใช้หมายเลข IPv4 ของเครือข่ายต้นทาง
หมายเลข IPv4 ของเครือข่ายปลายทาง
และระบุชนิดโพรโทคอลของข้อมูลที่อยู่ภายในเป็น
IPv6 เมื่อแพกเกตมาถึงปลายทางอุโมงค์
เครือข่ายปลายทางจะทำการตรวจสอบเฮดเดอร์ซึ่งจะทราบว่าภายในเป็นแพกเกตที่ใช้หมายเลข
IPv6 ดังนั้นอุปกรณ์เกตเวย์จะแยกส่วน Header
ของ IPv4 ออกไปเหลือแต่ส่วนที่เป็น IPv6
แพกเกตแล้วส่งต่อไปยังเครื่องปลายทางที่ใช้หมายเลข
IPv6 ที่ระบุอยู่ในส่วน Destination
ของเฮดเดอร์ IPv6
|


รูปที่ ๕.๓ การทำงานของ
Manually Configured tunnel
|
โดยวิธีการแบบ Manually Configured Tunnel
มีความต้องการเบื้องต้น ดังนี้
ก) ต้องใช้เราเตอร์หรือเกตเวย์ที่เป็น
Dual Stacks สำหรับ Tunnel Gateway
ข) หมายเลข Public IPv4 address และ
IPv6 address อย่างละหนึ่งหมายเลขสำหรับ
Tunnel Gateway
ค) ต้องทราบหมายเลข Public IPv4
address และ IPv6 address ของ Tunnel Gateway
อีกฝั่ง
๕.๒.๒ Semi Automatic Tunnel (Tunnel
Broker)
การทำงานของ Semi Automatic Tunnel
หรือ Tunnel Broker
เป็นการสร้างอุโมงค์อัตโนมัติโดยผู้ใช้ (end
user) ต้องลงทะเบียนใช้บริการกับผู้ให้บริการ
โดยผู้ให้บริการจะสร้าง Tunnel
เพื่อเชื่อมต่อไปยังเครือข่าย IPv6
แทนผู้ที่มาลงทะเบียน ดังนั้นผู้ที่ให้บริการ
Tunnel Broker จึงเป็นเสมือนผู้ให้บริการ IPv6
แก่ผู้ใช้ที่มีการเชื่อมต่อผ่านเครือข่าย IPv4
ที่มีอยู่
การเลือกใช้งาน Tunnel Broker
เหมาะสำหรับเครือข่าย IPv6
ขนาดเล็กหรือโฮสต์จำนวนไม่มากที่ต้องการเชื่อมต่อกับเครือข่าย
IPv6 ขนาดใหญ่แห่งอื่นแบบง่าย
การเชื่อมต่อด้วย Tunnel
แบบอื่นจะเหมาะสำหรับการติดต่อกันระหว่างเครือข่าย
IPv6
ย่อยสองเครือข่ายโดยไม่ต้องใช้การเชื่อมต่อที่ระดับ
ISP
|


รูปที่ ๕.๔ การทำงานของ
Tunnel Broker
|
สำหรับความต้องการระดับเบื้องต้น ระดับ
Network และระดับ Host ของวิธีการแบบ Semi
Automatic Tunnel มีดังนี้
ความต้องการระดับ Network
ก) เราเตอร์หรือเกตเวย์ (IPv4 หรือ
Dual stacks ก็ได้) สำหรับ Tunnel Broker
ข) เราเตอร์หรือเกตเวย์ที่เป็น Dual
stacks สำหรับ Tunnel Server (Tunnel Gateway)
ค) หมายเลข Public IPv4 address ๑
หมายเลข สำหรับ Tunnel Broker
ง) หมายเลข Public IPv4 address ๑
หมายเลข สำหรับ Tunnel Server
ความต้องการระดับ Host
ก) ผู้ที่เรียกใช้บริการจาก Tunnel
Broker อาจเป็นโฮสต์หรือเราเตอร์ก็ได้
ซึ่งเราจะเรียกอุปกรณ์นี้ว่า Tunnel Broker
Client
ข) อุปกรณ์โฮสต์หรือเราเตอร์ที่เป็น
Dual stacks สำหรับ Tunnel Broker Client
ค) หมายเลข Public IPv4 address สำหรับ
Tunnel Broker Client หนึ่งหมายเลข
ง)
ชื่อที่ต้องการลงทะเบียนในฐานข้อมูลของโดเมนหรือดีเอ็นเอช(Domain
Name System: DNS) คู่กับหมายเลข IPv6 address
ที่ได้รับจัดสรรจาก Tunnel Broker
จ) ถ้า Tunnel Broker Client
เป็นโฮสต์ไม่ควรอยู่หลัง NAT Gateway
หรือถ้าหลีกเลี่ยงไม่ได้ ต้องเปิดพอร์ต ๔๑ ที่
NAT Gateway
ฉ) ถ้า Tunnel Broker Client
เป็นเราเตอร์ ต้องระบุจำนวน IPv6 address
ที่ต้องการรับจัดสรรจาก Tunnel Broker
ขั้นตอนการติดตั้ง Tunnel Broker
บนโฮสต์โดยส่วนใหญ่ผู้ให้บริการ Tunnel Broker
จะเป็นผู้กำหนดขั้นตอนการติดตั้งค่าต่าง ๆ
บนโฮสต์ที่ต้องการเป็น Tunnel Broker Client
มาให้โดยคอมพิวเตอร์ที่เป็น Tunnel Broker
Client จะต้องทำการติดตั้ง Dual stacks ก่อน
เพื่อให้สามารถใช้งาน IPv6 ได้
จากนั้นผู้ใช้จะต้องลงทะเบียนขอใช้ Tunnel
Borker ที่เว็บไซต์ของผู้ให้บริการ Tunnel
Broker
และทางผู้ให้บริการจะส่งซอฟต์แวร์เพื่อใช้ในการติดต่อกับ
Tunnel Broker มาให้ลงที่เครื่องโฮสต์
๕.๒.๓ Fully Automatic Tunnel
การทำงานแบบ Fully Automatic Tunnel
มีขั้นตอนการทำงานเหมือนกับวิธี Manually
Configured Tunnel แต่จะแตกต่างกันตรงที่
Tunnel Gateway แต่ละด้านไม่ต้องเก็บหมายเลข
IP address
ของเกตเวย์ปลายทางที่ต้องการเชื่อมต่อ
แต่เกตเวย์จะตรวจสอบหมายเลขเครื่องปลายทางโดยพิจารณาจากหมายเลขปลายทางของแพกเกตที่ถูกห่อหุ้มอยู่
วิธีหนึ่งในการทำ Fully Automatic
Tunnel คือ วิธี 6to4 Tunnel
เครือข่ายที่เชื่อมต่อแบบ 6to4 Tunnel
จะต้องกำหนดหมายเลข IPv6 Prefix
พิเศษให้กับตัวเกตเวย์ทั้งสองฝั่งของ 6to4
Tunnel Prefix นี้จะขึ้นต้นด้วย 2002
และจะต้องมี IPv4 address
ที่อยู่ในรูปเลขฐานสิบหก ตามมา เพราะฉะนั้น
Prefix ต้องมีความยาวอย่างน้อย ๔๘
บิตตามรูปแบบ 2002:<IPv4 in hex>::/48 เช่น
หาก IPv4 address ของเกตเวย์คือ
202.57.124.186 (แปลงเป็นเลขฐานสิบหกได้
CA39:7cBA) IPv6 address ของเกตเวย์อาจเป็น
2002:CA39:7CBA::1/48 การกำหนด Prefix
วิธีนี้จะทำให้ทราบหมายเลข IPv4
ของเกตเวย์ปลายทางได้โดยอัตโนมัติ
จากรูปที่ ๕.๕ เมื่อแพกเกต IPv6
มาถึงเกตเวย์ทางออกที่จะไปยังอินเทอร์เน็ตเกตเวย์
จะตรวจสอบหมายเลขปลายทาง
พบหมายเลขปลายทางถูกกำหนดเป็น
2002:C096:F018::2/128
เกตเวย์สามารถทราบได้ว่า IPv4 address
ของเกตเวย์ปลายทางจะต้องเป็น CO96:F018 หรือ
192.150.240.24 จึงกำหนดหมายเลขนี้ใน
Destination field ของ IPv4 packet header
ที่นำมา encapsulate โดยวิธีการแบบ Fully
Automatic Tunnel หรือ 6to4 Tunnel
มีความต้องการเบื้องต้นระดับ Network และระดับ
Host แสดงดังนี้
ความต้องการระดับ Network
ก) เราเตอร์หรือเกตเวย์ที่เป็น Dual
stacks สำหรับ Tunnel Gateway
ข) หมายเลข Public IPv4 address
หนึ่งหมายเลข สำหรับ Tunnel Gateway
ความต้องการ ระดับ Host ดังนี้
ก) หมายเลข Public IPv4 address
สำหรับโฮต์หนึ่ง หมายเลข
ข) โฮต์ไม่ควรอยู่หลัง NAT Gateway
หรือถ้าหลีกเลี่ยงไม่ได้ ต้องเปิดพอร์ต ๔๑ ที่
NAT Gateway
|


รูปที่ ๕.๕ การทำงานแบบ
Fully Automatic Tunnel
|
๕.๓ เทคนิคการเปลี่ยนแปลงข้อมูล
(Translation)
เทคนิค NAT-PT (Network Address
Translation-Protocol Translation)
เป็นวิธีการแปลงข้อมูลโดยมี
รายละเอียดของการทำงาน ดังนี้
๕.๓.๑ NAT-PT (Network Address
Translation-Protocol Translation)
NAT-PT มีพื้นฐานเช่นเดียวกับการทำ NAT
ในเครือข่าย IPv4
เป็นเทคนิคการแปลงหมายเลขไอพีเสมือนว่าคอมพิวเตอร์แต่ละเครื่องจะมีหมายเลขไอพีสองตัวสำหรับติดต่อกับเครือข่ายภายในและสำหรับติดต่อกับเครือข่ายภายนอก
สำหรับ NAT-PT จะเป็นการแปลงระหว่าง IPv4
address กับ IPv6 address
เพื่อใช้สำหรับการติดต่อสื่อสารกันระหว่างเครือข่ายที่ใช้อินเทอร์เน็ตโพรโทคอลคนละรุ่น
เช่น ในรูปที่ ๕.๕
คอมพิวเตอร์ทางซ้ายมือใช้หมายเลข 127.16.1.1
ในการติดต่อกับเครื่องอื่นในเครือข่าย IPv4
ด้วยกัน แต่หากต้องการติดต่อ
กับคอมพิวเตอร์อีกเครื่อง ในเครื่องข่าย
IPv6 จำเป็นต้องส่ง
แพกเกตข้อมูล ผ่านเกตเวย์ NAT- PT เพื่อแปลงหมายเลขต้นทาง จาก 127.16.1.1
ให้เป็นรูปแบบ IPv6 address เช่น 2001:0420:1987:0:2E0:B0FF:
FE6A:412C จะได้ติดต่อกับ IPv6 ได้
โดยมีอุปกรณ์เกตเวย์ NAT-PT นี้
จำคู่หมายเลขนี้ไว้
เพื่อที่ว่าเมื่อได้รับแพกเกตตอบจากเครื่องในเครือข่าย
IPv6 โดยมีปลายทางที่
2001:0420:1987:0:2E0:B0FF:FE6A:412C
เพื่อจะได้ทราบว่าควรแปลงกลับเป็นหมายเลข
172.16.1.1
|


รูปที่ ๕.๖ การทำงานของ
NAT-PT
|
เนื่องจากแอปพลิเคชันบางชนิด เช่น
ในบริการชื่อโดเมน (DNS) มีการบรรจุหมายเลข IP
Address ในส่วนของ payload ด้วย
ทำให้เกิดปัญหา เนื่องจากเกตเวย์ NAT-PT
จะไม่สามารถแปลง IP address
นอกเหนือจากส่วนที่อยู่ใน IP เฮดเดอร์ได้
เพราะเกตเวย์ NAT-PT
เป็นอุปกรณ์ที่ทำงานในระดับ Network layer
จึงไม่สามารถตรวจสอบว่าแต่ละแพกเกต
ที่ผ่านเข้ามาเป็นของแอปพลิเคชันชนิดใด
ดังนั้นจึงจำเป็นต้องมีอุปกรณ์อีกตัวที่ทำงานในระดับ
Application layer สำหรับจัดการกับปัญหานี้
ซึ่งเรียกว่า Application Layer Gateway (ALG)
โดยที่เกตเวย์ NAT-PT
จะต้องคอยส่งแพกเกตต่อไปยัง ALG
และแปลงค่าให้เป็น IP address ใหม่ที่ถูกต้อง
|