IPv6和IPv4的對比
IPv6產生原因:IPv4地址空間已經消耗殆盡,近乎無限的地址空間是IPv6的最大優勢
IPv6的基本報頭在IPv4報頭的基礎上,增加了流標籤域,去除了一些冗餘字段,使報文頭的處理更爲簡單、高效
擴展報頭提供報文轉發信息,並不會被路徑上所有路由器解析,一般只會被目的路由器解析處理 除了逐條選項擴展頭之外,其餘擴展頭在傳輸路徑中不被路由器查看這種機制保證了路由器只查看和選路相關的基本字段,保證了轉發數據的高效。
網絡層一般要限制每次發送數據幀的最大長度。任何時候IP層接收到一份要發送的IP數據時,它要判斷向本地哪個接口發送數據,並查詢該接口獲得其MTU。IP層把MTU與要發送的數據包長度進行比較,如果數據包的長度比MTU值大,那麼IP層就需要進行分片,分片後的數據可以小於等於MTU
IPV4中,分片,假設PC1流出來的報文爲1500的,在R1分成2片最後一跳由PC2把他重組起來,中間路由器負責分片,由目標主機負責重組,中間路由負責分片,也會引入額外的開銷
IPv6中,中間的IPV6路由器不負責分片 PC1發一個1500的數據包的時候,由於R1的MTU,R1就會把包drop掉會給源端回一個ICMPV6的差錯控制,同時會在裏面加上去MTU=1400 PC機再往下發包的時候,就按1200發包,PC1會先分好片,然後發送出來
IPv6的地址格式
IPv6地址長度爲128比特,每16比特劃分爲一段,每段由4個十六進制數表示,並用冒號隔開(簡稱冒號分16進制)
IPv6地址包括網絡前綴和接口標識兩部分
1111:2222:3333:4444:aaaa:bbbb:cccc:dddd 64 冒號分16進制
十六進制 0 1 2 3 4 5 6 7 8 9 a b c d e f
16進制 二進制
1 -----0001
a -----1010
f -----1111
e -----1110
1111 -----0001000100010001
網絡前綴---網絡位 接口標識---主機位 前綴長度---掩碼
1111:2222:3333:4444:aaaa:bbbb:cccc:dddd 64
IPV6地址 掩碼
IPV6地址地址優化
規定1:每一組中的前導0都可以省略。
規定2:地址中包含的連續全爲0的組,可以用雙冒號::來代替。
需要注意的是,在一個IPv6地址中只能使用一次雙冒號::
把IPV6的地址每一組中(一共有8組)前面前導的0可以省略
0002:3030:0000:2000:acb4:0000:0000:1000
2:3030:0:2000:acb4:0:0:1000
IPV6地址當中可以把連續全爲0的組用我們雙冒號代替(::)這個::只能在IPv6地址當中出現一次
0002:3030:0000:2000:acb4:0000:0000:1000
2:3030:0:2000:acb4::1000
2019::1 也就是
2019:0000:0000:0000:0000:0000:0000:0001
2019::1
2001:0DB8:0000:0000:0000:0000:032A:2D70此IPv6地址壓縮到最短是多少?
答案:2001:DB8::32A:2D70
什麼是EUI_64
將FFFE插入MAC地址的前24位與後24位之間,並將第7位的0改爲1或者1改爲0(把第七位進行反轉)即可生成接口ID。
接口ID可以由EUI-64方式獲得
舉例:MAC地址:00e0-fcf4-14bc
第一步:00e0-fc FFFE f4-14bc
0000 0000 第七比特就是0 反轉後就是0000 0010 就是我們的02
第二步:生成eui-64的地址:02eo-fcff-fef4-14bc
IPv6地址的分類
IPv4支持單播、組播、廣播地址
IPv6支持單播、組播、任播地址
單播地址
2開頭IPV6地址
全球單播地址帶有固定前綴,類似於IPv4中的公網地址
配置IPv6單播地址
FE80IPV6地址
鏈路本地單播地址前綴爲FE80::/10,類似於IPv4中的私有地址。鏈路本地地址只能在連接到同一本地鏈路的節點之間使用。它使用了特定的本地鏈路前綴FE80::/10(最高10位值爲1111111010),接口ID使用EUI-64自動生成,也可以使用手動配置
當一個節點啓動IPv6協議棧時,啓動時節點的每個接口會自動配置一個鏈路本地地址(其固定的前綴+EUI-64規則形成的接口標識)。這種機制使得兩個連接到同一鏈路的IPv6節點不需要做任何配置就可以通信。所以鏈路本地地址廣泛應用於鄰居發現,無狀態地址配置等應用。同時,OSPFv3,RIPng等協議都工作在該地址上。以鏈路本地地址爲源地址或目的地址的IPv6報文不會被路由設備轉發到其他鏈路
Link-local怎麼ping?
善於利用百度尋找答案
查看自己電腦的link-local地址
唯一本地地址
唯一本地地址的作用類似於IPv4中的私網地址,任何沒有申請到提供商分配的全球單播地址的組織機構都可以使用唯一本地地址。唯一本地地址只能在本地網絡內部被路由轉發而不會在全球網絡中被路由轉發
Prefix:前綴;固定爲FC00::/7。
L:L標誌位;值爲1代表該地址爲在本地網絡範圍內使用的地址;值爲0被保留,用於以後擴展。
Global ID:全球唯一前綴;通過僞隨機方式產生。
Subnet ID:子網ID;劃分子網使用。
Interface ID:接口標識。
唯一本地地址具有如下特點:
具有全球唯一的前綴(雖然隨機方式產生,但是衝突概率很低)
可以進行網絡之間的私有連接,而不必擔心地址衝突等問題
具有知名前綴(FC00::/7),方便邊緣設備進行路由過濾
組播地址
IPv6的組播與IPv4相同,用來標識一組接口,一般這些接口屬於不同的節點
前綴:IPv6組播地址的前綴是FF00::/8
標誌字段(Flag):長度4bit,目前只使用了最後一個比特(前三位必須置0),當該位值爲0時,表示當前的組播地址是由IANA所分配的一個永久分配地址;當該值爲1時,表示當前的組播地址是一個臨時組播地址(非永久分配地址)
範圍字段(Scope):長度4bit,用來限制組播數據流在網絡中發送的範圍
組播組ID(Group ID):長度112bit,用以標識組播組。目前,RFC2373並沒有將所有的112位都定義成組標識,而是建議僅使用該112位的最低32位作爲組播組ID,將剩餘的80位都置0 這樣每個組播組ID都映射到一個唯一的以太網組播MAC地址
常見的組播地址
所有IPv6組播地址都以FF開始 IPv6爲需要使用組播發送數據的協議預留了一些組播組
被請求節點組播地址
被請求節點組播地址通過節點的單播或任播地址生成。當一個節點具有了單播或任播地址,就會對應生成一個被請求節點組播地址,該地址主要用於鄰居發現機制和地址重複檢測功能
IPv6中沒有廣播地址,也不使用ARP。但是仍然需要從IP地址解析到MAC地址的功能。在IPv6中,這個功能通過鄰居請求NS(Neighbor Solicitation)報文完成。當一個節點需要解析某個IPv6地址對應的MAC地址時,會發送NS報文,該報文的目的IP就是需要解析的IPv6地址對應的被請求節點組播地址;只有具有該組播地址的節點會檢查處理。
被請求節點組播地址由前綴FF02::1:FF00:0/104和單播地址的最後24位組成
查看如下接口的配置
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2019::1/64
#
[R2]display ipv6 interface GigabitEthernet 0/0/0
GigabitEthernet0/0/0 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE8E:302A
Global unicast address(es):
2019::1, subnet is 2019::/64
Joined group address(es):
FF02::1:FF00:1
FF02::2
FF02::1
FF02::1:FF8E:302A
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
Hosts use stateless autoconfig for addresses
任播地址
任播地址用來標識一組網絡接口,在給多個主機或者節點提供相同服務時提供冗餘和負載分擔
配置IPv6任播地址
特殊地址
::/128 未指定地址
::1/128 環回地址