วันพฤหัสบดีที่ 29 ตุลาคม พ.ศ. 2552

IPv4 & IPv6

IPv4 (IP Address version4)
  • IPv4 มีขนาด 32 bit ถูกแบ่งออกเป็น 4 ชุดด้วยเครื่องหมายจุด โดยแต่ละชุดมีขนาด 8 bitClassful Addressingเริ่มแรกเลย IPv4 มีการแบ่ง IP Address ออกเป็น 2 ส่วน ได้แก่ Network ID และ Host ID ซึ่งการแบ่งเป็น 2 ส่วนนี้ (Two-level addressing hierarchy) จะมีชื่อเรียกว่า Classful addressing อย่างไรก็ตามการนำ IP Address แบ่งเป็น2 ส่วนนี้ ทำให้การใช้งาน IP Address ไม่มีประสิทธิภาพ
  • Block of addresses can be defined as x.y.z.t/n , x.y.z.t. defines one of the address and the /n defines the mask.
  • The firs address in the block can be found by setting the rightmost 32 - n bits to 0s. The last address in the block can be found by setting the rightmost 32 - n bits to 1s.
  • ตัวเลข address ใน block หาจาก 2 ยกกำลัง 32-n

Subnet mask

  • Subnet Mask คือ ตัวเลขที่ใช้แสดงว่าส่วนไหนของ IP Address เป็น Network ID และส่วนไหนเป็น Host ID ซึ่ง Subnet Mask จะมีความยาวเท่ากับ IP Address คือ 32 bit โดยในส่วน Network ID นั้นทุก bit จะเป็น 1 และในส่วน Host ID นั้นทุก bit จะเป็น 0

IPv6 (IP Address version6)

  • มี Address ประมาณ 1 พันล้าน addresses
  • ประมาวลผลได้เร็วกว่า IPv4
  • มีการรองรับการจัดการ เพื่อให้สามารถส่งขอ้มูลได้รวดเร็ว ทำให้สื่อสารแบบ Real time ได้

IPv6 Addressing

  • มีขนาด 16 ไบต์ หรือ 128 บิต ในการเขียน Address ของ IPv6 จะใช้เลขฐาน 16 โดยแบ่งบิตข้อมูลออกเป็น 8 ส่วนๆ ละ 2 ไบต์ ดังนั้นต้องใช้ตัวเลข 4 หลักสำหรับแต่ละส่วน แล้วใช้ ":" (Gap) คั่นระหว่างส่วนต่าง ๆ เพื่อใช้ในการเขียน Address แบบย่อ โดยย่อส่วนที่มีเลข 0 ต่อเนื่องกัน เช่น
    - 1080:0000:0000:0000:0000:008:200C:417A สามารถอ่านเขียนย่อโดยใช้ 0 ตัวเดียว แทน 0000
    - 1080::0008:0800:200C:417A เลขศูนย์ที่ติดกันต่อเนื่องเป็นชุด สามารถใช้สัญลักษณ์ "::" แทนเลขศูนย์ทั้งชุดได้

Transition from IPv4 to IPv6

  • การเปลี่ยนแปลงจาก IPv4 เป็น IPv6 ไม่สามารถทำได้ในทันที ต้องใช้เวลาและค่าใช้จ่ายจำนวนมากในการเปลี่ยนแปลงครั้งนี้ จุงค่อยๆทำ เพื่อป้องกันปัญหาที่จะเกิดขึ้นในการใช้งาน
  • IETF กำหนดมาตรฐานในการเปลี่ยนจาก IPv4 เป็น IPv6 ไว้ 3 วิธี ดังนี้
    1. Dual Stack เนื่องจาก Protocol ของการใช้ stack คู่นี้จะทำให้ Host สามารถที่จะใช้งานได้ทั้งสองอย่าง ในการเลือกว่าจะส่ง Packet ออกไปให้กลับ Host ปลายทางโดยใช้ IP เวอร์ชั่นไหนนั้น Host ต้นทางจะส่งPacket ไปยัง DNS (Domain Name System) ก่อน ถ้าตอบ IPv4 กลับมา แสดงว่า Host ต้นทางจะต้องส่ง Packet เป็น IPv4 เป็นต้น
    2. Tunneling คือ Host ทั้ง 2 ตัวใช้ IPv6 ต้องการสื่อสารกัน แต่ต้องส่ง Packet ผ่าน IPv4 ดังนั้น Packet นั้นจะต้องใช้ Address ของ IPv4ด้วย ทำให้ Packet IPv6 ต้อง Encapsulate เป็น Packet IPv 4 ก่อน เมื่อออกจากเครือข่าย IPv4 จึงทำการ Decapsulate ให้เป็น Packet IPv6 เหมือนเดิม
    3. Header Translation จำเป็นเมื่อ Internet ได้มีการเปลี่ยนเป็น IPv6 แต่ยังมีบางเครื่องที่ใช้ IPv4 ต้องเปลี่ยนโครงสร้างของ Header ทั้งหมด โดยใช้วแปลง Header ทำหน้าที่ในการแปลง Header ของ IPv6 ให้เป็น IPv4