ค้นหาเว็บไซต์

IPv6: Windows สร้างที่อยู่ Link-Local อย่างไร (EUI-64)


ในบทความ บล็อก และฟอรั่ม ฉันมักจะอ่านว่า Windows สร้างที่อยู่ IPv6 จากที่อยู่ MAC กระบวนการนี้เรียกว่า EUI-64 และการสันนิษฐานว่า Windows (Vista ขึ้นไป) ใช้ EUI-64 นั้นผิด เราสามารถเปิดใช้งานกระบวนการ EUI-64 ได้ แต่โดยค่าเริ่มต้น Windows จะใช้ค่าสุ่มสำหรับการสร้าง IPv6 Link-Local Addresses

EUI-64 (ตัวระบุเฉพาะแบบขยาย 64 บิต)

มาดูเราเตอร์ของ Cisco กันดีกว่า ที่อยู่ IPv6 ของเราเตอร์นี้คำนวณจากที่อยู่ MAC ของอินเทอร์เฟซ

ที่อยู่ MAC จะถูกแบ่งออกเป็นสองส่วน จากนั้น FFFE จะถูกแทรกไว้ตรงกลางของทั้งสองส่วน ซ้ายและขวาของ FF: FE เป็นส่วนหนึ่งของที่อยู่ MAC ของอินเทอร์เฟซ

Windows (Windows Vista ขึ้นไป)

ระบบปฏิบัติการ Windows ไม่ใช้ EUI-64 ที่อยู่ IPv6 คำนวณโดยใช้ค่าสุ่ม ที่อยู่ MAC ไม่มีผลต่อสิ่งนี้ การไม่มี FFFE บ่งชี้ว่าไม่ได้ใช้ EUI-64 นี่คือตัวอย่างของที่อยู่ IPv6 Link-Local ที่สร้างขึ้นแบบสุ่ม


Get-NetIPConfiguration | Select-Object IPv6LinkLocalAddress

การตั้งค่านี้เรียกว่า RandomizeIdentifier และเปิดใช้งานอยู่ %2 ต่อท้ายคือหมายเลขอินเทอร์เฟซของการ์ดเครือข่าย

เรียกใช้ Get-NetAdapter เพื่อแสดง ID ของการ์ดเครือข่ายของคุณ คุณจะพบมัน


Get-NetAdapter


Get-NetIPv6Protocol

หากคุณต้องการเปลี่ยนแปลง เพียงตั้งค่า RandomizIdentifier เป็น Disabled


Set-NetIPv6Protocol -RandomizeIdentifiers Disabled

ตอนนี้คอมพิวเตอร์ของคุณใช้ EUI-64 ให้ความสนใจกับ ff:fe


Get-NetIPAddress -AddressFamily IPv6 -InterfaceAlias "Ethernet" -PrefixOrigin Wellknown | Select-Object IPAddress

บิต U/L

ดังที่เราเห็นแล้วว่าส่วนที่ควรจะเหมือนกัน (ที่อยู่ MAC และที่อยู่ IPv6) นั้นไม่เหมือนกันทุกประการ ศูนย์นำหน้าในที่อยู่ IPv6 ถูกลบออก นี่คือการตั้งค่าเริ่มต้น. มีความแตกต่างในบิตที่สอง:

ที่อยู่ IPv6 จึงไม่ได้จำลองแบบ 1:1 บิตที่ต่างกันเรียกว่าบิต U/L สงวนไว้สำหรับเทคโนโลยีในอนาคต เหตุใดจึงเป็นเช่นนี้ สามารถพบได้ที่นี่:

https://supportforums.cisco.com/document/100566/understand-ipv6-eui-64-bit-address

บทความที่เกี่ยวข้อง