IPV6 出現的背景
考慮到 IPV4 的地址已經不能滿足當前網絡的需要,出現了不夠用的情況。為此做出了如下的努力:
- 無類的路由 - CIDR,可攜帶子網掩碼進行傳輸
- 可變長子網 - VLSM,向主機位借為成為網絡位
- 使用 NAT, 使用多個私有地址對應一個 NAT 外網地址
- 多私有地址的使用 - 私有在不同的局域網可以重復
雖然出現了類似的解決方案,但終究無法從根本上解決這個問題,而且還帶來了一些額外的問題:
- NAT 打破了 IP 端到端的傳輸機制,並且抑制了端到端的網絡安全性
- NAT 不能支持所有的應用
- 將多個網絡的私有地址進行合並時非常麻煩,存在重疊的問題。
所以新版本的 IPV6 出現了,並增加了更多的支持和功能:
- 地址數量激增:2^128 個
- 簡化 IP 地址頭部
- 增強了安全性和可移動性(EUI-64)
- 支持 IPV4 到 IPV6 的過度技術,兼容 IPV4(雙棧,隧道,NAT64...)
IPV6 地址格式
可以看到:IPV6 由 128bit 組成,用 16 進制表示,共 32 位,其中每四位為一組,用冒號分開,共 8 組。
由於 IPV6 位數較多,於是有了一些縮寫的原則:
- 前導 0 可以省略
- 每組中如果都是0,可以簡寫為 0.
- 如果有連續的 0:0:0,可以將其簡寫為 ::, 但每個 IPV6 中只能有一個 :: .
另外和 IPV4 一樣,在表示網段時,IPV6 也為網絡位和主機位。其中默認前 64 位為網絡位。
IPV6 地址類型
IPV4 | IPV6 |
---|---|
單播 | 單播 |
組播 | 組播 |
廣播 | 任播(尋找最近) |
單播:
- 全局為一單播地址:如
2000::/3
, 相當於 IPV4 中的公有 IP 地址(有 IANA 管理和下發)- 前 3 個 bit 固定為 001
- 從 4 個 bit 到 64 為 subnet-ID (由區域構成)
- 后 64 個為接口 ID(主機 ID)
- 鏈路本地地址:如
fe80::/10
,在物理鏈路中使用,可理解為在一個廣播域內的通信(無法跨越路由器)- 滿足
1111 1110 10xx
前 10 位為鏈路本地地址
- 滿足
- 本地唯一單播地址:如
fc00::/7
, 類似於 IPV4 中的私有地址- 滿足
1111 110x
前 7 位開頭的所有地址為本地唯一單播地址
- 滿足
任播:和之前 IPV4 給路由器接口配置地址只能唯一不同,一個 IPV6 地址可以配置到多台路由器的接口上。此時路由器再轉發數據時,會查看路由表中,離自己最近的那台設備進行轉發。
特殊地址:
::1
類似於 IPV4 (127.10.0.1)回環接口,用於測試::
類似於 IPV40.0.0.0
EUI-64
使用 EUI-64 自動配置 IPV6 地址,配置鏈路本地地址。
由於每台設備的 MAC 地址是唯一的,所以通過 MAC 我們就能得到唯一的 IPV6 地址:
- 將 MAC 地址均分為前 24 位和后 24 位,在中間插入 FF FE 共 16 bit .
- 然后將第 7 位反轉.
- 最后補充前 64 位,鏈路本地加 FE80:: + 上面的地址
配置
# 打開 ipv6 功能
Router1(config)#ipv6 unicast-routing
Router1(config)#int e 0/0
# 自動分配地址
Router(config-if)#ipv6 address autoconfig
# 配置全局唯一地址:
Router(config-if)#ipv6 address 2000::1/64
Router(config-if)#no shutdown
Router1#show ipv6 interface brief
Ethernet0/0 [administratively down/down]
FE80::A8BB:CCFF:FE00:1000
2000::1
Ethernet0/1 [administratively down/down]
unassigned
Ethernet0/2 [administratively down/down]
unassigned
Ethernet0/3 [administratively down/down]
unassigned