1,954 瀏覽數

IPv6 link-local address

在 IPv6 中每個網卡都會有屬於自己的 link-local address,這位址跟網卡的 MAC Address 是相關的.先來看看我的 link-local address 和 MAC Address

[root@benjr Desktop]# ifconfig eth0
eth0          Link encap:Ethernet   HWaddr 00:1A:64:22:04:83
                  inet6 addr: 2001:db8:0:1::100/64 Scope:Global
                  inet6 addr: fe80::21a:64ff:fe22:483/64 Scope:Link
                  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                  RX packets:36304 errors:0 dropped:0 overruns:0 frame:0
                  TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
                  collisions:0 txqueuelen:1000
                  RX bytes:4193445 (3.9 MiB) TX bytes:12248 (11.9 KiB)
                  Interrupt:17

  • MAC Address – 00:1A:64:22:04:83
  • link-local address – fe80::21a:64ff:fe22:483

IPV6 長度為 128bits 而 MAC 長度為 48bits 要怎麼轉換呢!!

  1. 首先 MAC Address 的第五位元組與第四位元組插入 FF:FE
  2. 原 MAC Address 第6位元組的第二個 bit 從原來的 "0"轉成 "1",所以 00 -> 02
  3. 前面再填入 fe80:0000:0000:0000

fe80:0000:0000:0000:021a:64ff:fe22:0483
寫這麼多 0 一定會寫錯,所以有簡寫的規則,規則如下:

  • 每 32Bit 如開頭之4bit表示為0,即可省略,若32Bit全為0,則可簡寫為0
  • 若連續完整之32Bit段落皆為 0000,則可全省略,簡寫為::,但以一次為限

最後簡寫成為 : fe80::21a:64ff:fe22:483
ipv6_mac

6 個網友的想法 “IPv6 link-local address

  1. 自動參照通知: RA (Router Advertisement) – Benjr.tw

  2. 自動參照通知: Linux command – ping6 – Benjr.tw

  3. 自動參照通知: iperf – IPv6 – Benjr.tw

  4. 將此行
    1. 首先 MAC Address 的第四位元組與第五位元組插入 FF:FE

    改為
    1. 首先 MAC Address 的第五位元組與第四位元組插入 FF:FE

    左右方向會比較清楚。

    或是如引用連結的
    將十六進位值 0xFF-FE 插入乙太網路 MAC 位址的中間,也就是原先第三位元組與第四位元組中間。

  5. 自動參照通知: IPv6 位址自動指派 (address auto-configuration) | Benjr.tw

發表迴響