พอดีเมื่อเช้าเพื่อนโทรมาถามว่าใน vista มันมี IPv6 ด้วย มันต่างกับ IPv4 ยังไง ไอ้เราก็แเรียนเกี่ยวกับคอมดันไม่ได้ รู้แต่ว่าตอนนี้ยังไม่ต้องไปยุ่งกับมัน ไม่ต้องไปset IP อะไรเลย ทำแต่IPv4 พอ และตอนนี้เลยลองหาดู ฉลาดขึ้นอีกหน่อยเลย อิอิ
มาอ่านกันเลยดีกว่า

IPv6 ย่อมาจาก "Internet Protocol Version 6" ซึ่งจะเป็น Internet protocol รุ่นต่อไป ออกแบบและคิดค้นโดย IETF เพื่อที่จะนำมาใช้แทน Internet Protocol รุ่นปัจจุบันคือ IP Version 4 ("IPv4")

ปัจจุบันนี้ส่วนใหญ่ เราจะใช้ IPv4 ที่มีอายุเกือบ 20 ปีแล้ว และเริ่มจะมีปัญหาคือ IPv4 addresses กำลังใกล้จะหมด เนื่องจากมีเครื่องคอมพิวเตอร์ใหม่ ๆ ที่ต้องการจะต่อกับ Internet เพิ่มขึ้นทุกวัน


IPv6 จึงถูกคิดขึ้นมาเพื่อแก้ไขปัญหาที่เกิดใน IPv4 เช่น เพิ่มจำนวน IP address ที่ใกล้จะหมด และได้เพิ่มความสามารถ บางอย่างให้ดีขึ้นกว่า IPv4 ด้วย เช่นความสามารถในด้าน routing และ network autoconfiguration


IPv6 ถูกกำหนดให้แทนที่ IPv4 แบบค่อยเป็นค่อยไป คือช่วงระหว่างการเปลี่ยนจาก IPv4 เป็น IPv6 คงใช้เวลาหลายปี จะต้องให้ IP ทั้งสองเวอร์ชั่นทำงานร่วมกันได้ เครื่องไหนเปลี่ยนเป็น IPv6 แล้วก็ต้องให้ IPv4 เข้าใช้บริการได้

IPv4 addresses ก่อน
IPv4 ที่เราใช้กันอยู่ในปัจจุบัน เช่น 192.168.1.1 หรือ 203.97.45.200 มาจากเลขฐานสอง(มีเลข 1 กับเลข 0 เท่านั้น) จำนวน 32 บิท ตัวอย่าง

110000001010100000000001000000001

ถ้าเป็น IP แบบนี้ IP เดียว คงจะพอจำได้ แต่เวลาอ้างถึง IP คงจะบอกกัน หนึ่ง หนึ่ง ศูนย์ ศูนย์.......... เป็นที่ลำบาก ทั้งคนบอกและคนฟัง เพื่อให้สื่อถึงกันได้ง่ายขึ้น จึงใช้วิธีเปลี่ยนเป็นเลขฐานสิบ ที่เราคุ้นเคย แต่ถ้าเปลี่ยนทีเดียวทั้ง 32 บิท เป็นเลขฐานสิบแล้ว ก็ยังเป็นจำนวนสูงมาก ยากที่จะจดจำเช่นกัน จึงใช้แบ่งเลขฐานสอง 32 บิทที่ว่าเป็นช่วง ๆ ช่วงละ 8 บิท 4 ช่วง จากนั้นก็แปลงเลขฐานสอง 8 บิทเป็นเลขฐานสิบแต่ละช่วงคั่นด้วย "." อธิบายมากไป อาจจะงงเปล่า ๆ ดูตัวอย่างดีกว่า

11000000 10101000 00000001 000000001 = 192.168.1.1

สำหรับท่านที่ไม่เคยเรียนวิธีการแปลงฐานเลข อาจจะงง ได้เลข 192.168.1.1 มาอย่างไร มาดูวิธีการแปลงฐานเลข กันสักหน่อยดีไหม สูตรการแปลงฐานเลข (จำไม่ได้เหมือนกัน นึก ๆ เอา ถ้าผิดขออภัย)

N*B(x-1)
เมื่อ

N คือจำนวนเลขที่เราเห็น 0 หรือ 1 สำหรับเลขฐานสอง ถ้าเป็นฐานอื่น ก็จะมีเลชมากกว่านี้ เช่น ฐานแปด ก็จะมีเลข 0 - 7

B คือฐานเลข ในที่นี้ เท่ากับ 2 เพราะเป็นฐานสอง ถ้าฐานแปด B ก็จะเท่ากับแปด

X เป็นหลักที่เลข N อยู่
ว่าไปแล้วผมก็ชักมึน ๆ ไม่รู้ว่าสูตรจริง ๆ เป็นแบบนี้เปล่า มาดูตัวอย่างกันเลยดีกว่า

11000000 =
1*27 + 1*26 + 0*25+ 0*24 + 0*23 + 0*22 + 0*21 + 0*20

=
128 + 64 + 0 + 0 + 0 + 0 + 0 + 0

=
192

10101000 = 1*27 + 0*26 + 1*25+ 0*24 + 1*23 + 0*22 + 0*21 + 0*20

= 128 + 0 + 32 + 0 + 8 + 0 + 0 + 0

= 168

00000001 = 0*27 + 0*26 + 0*25+ 0*24 + 0*23 + 0*22 + 0*21 + 1*20

= 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1

= 1

พอว่าเรื่องการแปลงฐานเลข ทำให้นึกได้ เมื่อก่อนนี้ ไม่เข้าใจเลย เช่น เวลา Network admin ให้มาว่า เน็ตเวอร์กคุณคือ 203.46.246.64/28 นะ เราก็พอรู้ว่า /28 น่ะคือ netmask แล้วมันคือ netmask เท่าไร หาได้อย่างไร ตอนหลังจึงทราบว่า 28 มาจาก mask ตัวเลข 1 ไป 28 บิท(ของ 32 บิท) ที่เหลือเป็น 0 หมด เขียนเป็นเลขฐานสอง 8 บิท 4 ชุดได้ว่า

11111111 11111111 11111111 11110000 พอรู็ว่าเป็นแบบนี้ ก็แปลงเป็นฐานสิบจากวิธีการข้างบนได้ว่า 255.255.255.240 จึงหายสงสัยไปได้

อ่านเพิ่มเติมได้ที่ http://linux.sra.cattelecom.com/new/IPv6.html