資訊人筆記

Work hard, Have fun, Make history!

使用者工具

網站工具


network:ipv4_vs_ipv6

IPv6

0x00 前言

IPv6 的推動主要源自於 IPv4 的位址消耗殆盡,即便有 DHCP, NAT 這些暫時性的解決方式,但位址的消耗是一個長期的問題

另外 IPv6 也加入了即時影音傳輸處理,資料加密驗證的問題


0x01 IPv6 Notation

2406:da1c:046b:0001:3661:b584:f526:5cfb
  • IPv6 使用 Hex (16進位) 表示
  • IPv6 由 16 bytes 組成,總長度為 128 bits
  • IPv6 分為 8 個 blocks,每個 block 是 16 bits (2 bytes)
  • 每個 block 以冒號 : 隔開
  • 由上述可得,每個完整的 IPv6 位址由 32 個 16 進位數字構成,每四個 16 進位數字以冒號隔開

0x02 IPv6 Address Compression

IPv6 位址即便使用十六進位來表示,但仍然很長,且其中包含很多的 0

因此 IPv6 規範了位址縮寫的表示法

  1. 每個 block 前面的 0 可省略 (中間或尾巴不行)
  2. 0000 可以縮寫成一個 0
  3. 連續兩個以上 0000 的 block 可以省略 e.g xxxx:0000:0000:xxxx ⇒ xxxx::xxxx
  4. 若符合 rule 3 的地方有兩處,可以選較長的為準,省略較多,但在一個 IPv6 位址中,rule 3 只能使用一次
Original Address fdec:0074:0000:0000:0000:b0ff:0000:fff0
Compression 1 fdec:74:0:0:0:b0ff:0:fff0
Compression 2 fdec:74::b0ff:0:fff0

預設路由位址因為全為 0 所以表示法就寫為

Default route address becames ::/0

這邊有一個網站可以幫你縮寫你的 IPv6 address


0x03 IPv6 Address Format

IPv6 unicast address 是由 prefix (Network Address) 和 Interface Identifier (Host address) 兩部份結合而成,各佔 64 bits,這是固定的

舉例來說,上圖 IPv6 address 2600:1f16:ade:a811:cf76:c8b9:53f0:1bdd/64

其中 Network address 為 2600:1f16:ade:a8

Subnet address 為 11

Host address 則為 cf76:c8b9:53f0:1bdd

在 AWS 中的 VPC 則是切 /56,而 Subnet 也是固定 /64


0x04 EUI-64

0x0 Reference

network/ipv4_vs_ipv6.txt · 上一次變更: 127.0.0.1