目錄傳送門
IPv6之地址小結(1)
IPv6之報頭小結(2)
IPv6之自動配置(4)
IPv6之雜七雜八(5)
序:孤掌難鳴,讓我們看看支撐IPv6各種機制的周邊協議
一、ICMPv6協議
1.ICMP協議概述
2.ICMPv6報頭
①ICMPv6 type
------錯誤類消息(error),也稱差錯報文,最高bit位為0,也就是ICMPv6 type【0,127】
Ⅰ,目的不可達(Destination Unreachable,type=1)
Ⅱ,數據包超長(packet too big,type=2) code = 0
Ⅲ,超時(time exceeded,type=3)
Ⅳ,參數問題(parameter problem,type=4)
------信息類消息(information),也稱信息報文,最高bit位為1,也就是ICMPv6 type【128,255】
Ⅰ,回送請求報文(echo request,type=128 ) code = 0
Ⅱ,回送應答報文(echo reply,type=129) code = 0
3.ICMPv6協議其他用途
①鄰居發現協議
②多播偵聽發現協議
二、NDP鄰居發現協議
1.實現功能概述(通過ICMP報文實現)
①地址協議:相當於IPv4中的ARP
②重複地址檢測(duplicate address detect,DAD)
③跟蹤鄰居狀態
④重定向
⑤前綴重新編製
⑥無狀態自動配置
2.五種ICMPv6消息
①路由器請求,RS
②路由器請求,RA
③鄰居請求,NS
④鄰居公告,NA
⑤重定向,R
3.不同NDP機制使用不同ICMPv6消息
4.地址解析
①使用兩種ICMPv6報文
------鄰居請求(NS,type=135,code=0)
------鄰居通告(NA,type=136,code=0)
②圖解地址解析
5.重複地址檢測
PS:IPv6地址周期
在preferred time 和 valid lifetime之間的叫做deprecated(反對)狀態,當地址達到這個時間段的時候,地址不能主動的發起連接只能是被動的接受連接,過了valid lifetime時間,地址就變為invalid,這時任何連接就會down掉
①DAD通過類似地址解析的方法,但是發送的地址解析是本身的IP地址,源地址是::
------ 如果存在重複地址,則地址衝突,失效
------ 如果不存在衝突地址,一秒後,主動發送NA報文(沒有請求的NA報文)
6.跟蹤鄰居狀態(臨節點可達性檢測)
①鄰居狀態種類:
------ incomplete 未完成
------ reachable 可達
------stale 陳舊
------delay 延遲
------probe 探查
②跟蹤鄰居狀態目的
------確認同一鏈路上節點的2層地址
------找到可以轉發它們數據包的臨近路由器
------隨時跟蹤那些路由器可達,那些不可達,並且檢測有改變的鏈路層地址
③ 當節點A要訪問節點B,A的緩存中無B的條目,狀態機如下
------one,A先發送NS,並生成緩存條目,狀態為Incomplete(伴隨地址解析過程)
------two,若B回復NA,則Incomplete變成Reachable;如果沒有回應連發三次,每次間隔一秒,然後刪除條目,Incomplete變為Empty
------three,經過ReachableTime(預設30s),B的條目狀態Reachable變為Stale
------four,或者在Reachable狀態時,收到B的非請求NA,且鏈路層地址不同,則馬上變為Stale(通常是DAD地址重複檢測,暗示著地址變更)
------five,在Stale狀態若A要向B發送數據,發送數據,並從Stale變為Delay,等待應用層的提示信息,表示鄰居可達
------six,在Delay_First_Probe_Time(默認5s)內,若有NA應答或者應用層的提示信息,則Delay變為Reachable;若無應用層提示信息,Delay變為Probe
------seven,在Probe狀態下,每個RetransTimer(默認1秒)發送單播NS,發送MAX_UNICAST_SOLICIT(預設3個)後在等RestransTimer,有應答則變為Reachable,否則則刪除表項
7.ICMPv6重定向
PS:路由器用重定向通知主機有更好的路由
PS:路由器可以產生重定向報文,但是不能處理收到的重定向報文
①ICMP重定向消息
------target address:包含了路徑中更優的下一跳介面的本地鏈路地址
------destination address:被重定向的目的地址
------option:包含了最佳下一跳路由器的鏈路層地址
8.路由器發現(略寫,詳情看下一章)
①路由器周期發送RA報文
------鏈路上的路由器會定期(200s)RA(router advertisement)消息
------收到RA的主機將加入默認路由器列表
RA報文大致內容:
②主機發送RS報文
------主機介面初始化的時候發送RS(router solicitation)消息,路由器回應RA
------回復RA可以直接單播給請求主機,也可以選擇組播到所有節點
RS報文大致內容: