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 規範了位址縮寫的表示法
- 每個 block 前面的 0 可省略 (中間或尾巴不行)
- 0000 可以縮寫成一個 0
- 連續兩個以上 0000 的 block 可以省略 e.g xxxx:0000:0000:xxxx ⇒ xxxx::xxxx
- 若符合 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