tft每日頭條

 > 圖文

 > ipv6測試命令

ipv6測試命令

圖文 更新时间:2024-07-30 09:12:04

  ipv6/IPv4協議棧對比

  ipv6測試命令(IPv6基礎及常用命令)(1)

  IPv6的一些變化

  

  1)數據鍊路層(L2)的type字段标識為 0x86dd,表示承載的上層協議是IPv6(IPv4對比:type字段為0x0800);

  2)IPv6的頭部字段(40bytes),和IPv4差别巨大。

  IPv6報文頭部是定長(固定為40字節),IPv4報文頭部是變長的。這個意味着,寫代碼處理IPv6數據報文的效率會提高很多:);IPv6中Hop Limit字段含義類似IPv4的TTL;IPv6中的Traffic Class字段含義類似IPv4中的TOS(Type Of Service);IPv6的報文頭部取消了校驗和字段:取消這個字段也是對IPv4協議的一個改進。當IPv4報文在網路間傳輸,每經過一個路由器轉發就是修改TTL字段,就需要重新計算校驗和,而由于數據鍊路層L2和傳輸層L4的校驗已經足夠強壯,因此IPv6取消這個字段會提高路由器的轉發效率。值得一提的是,在IPv6協議下,傳輸層L4協議UDP、TCP是強制需要進行校驗和的(IPv4是可選的);IPv6報文頭部中的Next Header字段表示“承載上一層的協議類型”或者“擴展頭部類型”。當IPv6數據報文承載的是上層協議ICMPv6、TCP、UDP的時候,Next Header的值分别為58、6、17,這個時候和IPv4報文頭部中的Protocol字段很類似;當不是以上3種協議類型的時候,IPv6報文頭部緊接的是擴展頭部。擴展頭部是IPv6引入的一個新的概念,每個IPv6的數據報文可以承載0個或多個擴展頭部,擴展頭部通過鍊表的形式組織起來。當IPv6數據報文承載着擴展頭部的時候,Next Header的數值為擴展頭部的類型值。當發送一個分片IPv6數據報文的時候,IPv6使用的是擴展頭部的形式組織各個分片的信息, Next Header字段值為44對比IPv4,分片信息是記錄在IPv4報文頭部的分片字段中。IPv6的擴展頭部類型有很多種,除了上述的分片頭部,還有路由頭部、逐跳可選頭部等,具體的可以參考RFC2460。

  鄰居發現協議NDP

  鄰居發現協議NDP是通過 Internet 控制報文協議(ICMPv6)報文來承載的;在一個IPv6數據報中,如果該數據報的“下一個報頭”字段的值為 58,且 ICMPv6 報文中類型字段取值範圍為133-137,則此IPv6報文的數據部分含有鄰居發現協議報文。NDP使用ICMPv6報文實現地址解析,跟蹤鄰居狀态,重複地址檢測,路由器發現以及重定向等功能。

  路由請求報文(Router Solicitation Message,RS) ICMPv6 Type = 133

  接口初始化或接口地址發生變化時,終端主動發起RS請求路由信息

  ipv6測試命令(IPv6基礎及常用命令)(3)

   路由通告報文(Router Advertisement Message,RA) ICMPv6 Type = 134

  路由器定期或收到用戶RS時發送RA報文(包含路由有效時間,終端獲取方式,前綴信息等),當終端收到RA報文後會根據RA報文的指示構造自己的地址,建立路由信息和缺省網關等

  ipv6測試命令(IPv6基礎及常用命令)(4)

  鄰居請求報文NS(Neighbor Solicitation Message,NS) ICMPv6 Type 135

  鄰居請求報文可以用來完成ARP的功能(地址解析),NS 報文包含發送方的源鍊路層mac地址,IPV6首部中:當進行地址解析時,目的IPV6地址是一個多播地址 ipv6測試命令(IPv6基礎及常用命令)(5)

  2.可以用來探測目的主機的連通性(跟蹤鄰居狀态)

  ipv6測試命令(IPv6基礎及常用命令)(6)

  3.可以用來驗證自己的地址在本地鍊路上是否唯一,IPV6首部中:目的地址是鄰居的多播地址。

  ipv6測試命令(IPv6基礎及常用命令)(7)

  鄰居通告報文NA(Neighbor Advertisement Message,NA) ICMPv6 Type 135

  通告鄰居自己的能力(如路由器,置位R标記),是否收到請求發送,是否需要立刻覆蓋鄰居表

  ipv6測試命令(IPv6基礎及常用命令)(8)

  重複地址檢測 重複地址檢測DAD(Duplicate Address Detect)是在接口使用某個IPv6單播地址之前進行的,主要是為了探測是否有其它的節點使用了該地址。尤其是在地址自動配置的時候,進行DAD檢測是很必要的。一個IPv6單播地址在分配給一個接口之後且通過重複地址檢測之前稱為試驗地址(Tentative Address)。此時該接口不能使用這個試驗地址進行單播通信,但是仍然會加入兩個組播組:ALL-NODES組播組和試驗地址所對應的Solicited-Node組播組。

  IPv6重複地址檢測技術和IPv4中的免費ARP類似:節點向試驗地址所對應的Solicited-Node組播組發送NS報文。NS報文中目标地址即為該試驗地址。如果收到某個其他站點回應的NA報文,就證明該地址已被網絡上使用,節點将不能使用該試驗地址通訊。

  ipv6測試命令(IPv6基礎及常用命令)(9)

  跟蹤鄰居狀态

  通過鄰居或到達鄰居的通信,會因各種原因而中斷,包括硬件故障、接口卡的熱插入等。如果目的地失效,則恢複是不可能的,通信失敗;如果路徑失效,則恢複是可能的。因此節點需要維護一張鄰居表,每個鄰居都有相應的狀态,狀态之間可以遷移。

  RFC2461中定義了5種鄰居狀态,分别是:

  未完成(Incomplete)可達(Reachable)陳舊(Stale)延遲(Delay)探查(Probe) ipv6測試命令(IPv6基礎及常用命令)(10)

  A之間的鄰居狀态遷移的過程:

  A先發送NS報文,并生成緩存條目,此時,鄰居狀态為Incomplete。若B回複NA報文,則鄰居狀态由Incomplete變為Reachable,否則固定時間後鄰居狀态由Incomplete變為Empty,即删除表項。經過鄰居可達時間,鄰居狀态由Reachable(默認30s)變為Stale,即未知是否可達。如果在Reachable狀态,A收到B的非請求NA報文(MAC地址修改),且報文中攜帶的B的鍊路層地址和表項中不同,則鄰居狀态馬上變為Stale。在Stale狀态若A要向B發送數據,則鄰居狀态由Stale變為Delay,并發送NS請求。在經過一段固定時間後,鄰居狀态由Delay(默認5s)變為Probe(每隔1s發送一次NS報文,連續發送3次),其間若有NA應答,則鄰居狀态由Delay變為Reachable。在Probe狀态,A每隔一定時間間隔z(1s)發送單播NS,發送固定次數(3)後,有應答則鄰居狀态變為Reachable,否則鄰居狀态變為Empty,即删除表項。

  Linux常用IPv6命令

  查看接口地址

  ip -f inet6 addr show br1

  查看路由

  ip -f inet6 route show

  顯示路由選擇表中的ipv6路由

  netstat -A inet6 –rn

  查看鄰居緩存

  ip -f inet6 neighbor show

  添加IPV6地址

  ip -6 addr add ipv6addressprefixlength dev interface ip -6 addr add 2001:0db8:0:f101::1/64 dev eth0

  ifconfig interface inet6 add ipv6addressprefixlength ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64

  添加路由

  ip -6 route add ipv6networkprefixlength via ipv6address ip -6 route add default via 2001:0db8:0:f101::1

  route -A inet6 add ipv6networkprefixlength gw route -A inet6 add default gw 2001:0db8:0:f101::1 ip -6 route add 2001:1:1:1fb::/64 dev br1 via fe80::68b:42ff:fe28:f02

  删除路由

  ip -6 route del 2001:1:1:200::/64 ip -f inet6 route del ipv6-prefix/prefixlength via gateway[dev interface] route -A inet6 del ipv6-prefix/prefixlength via gateway[dev interface]

  Ping

  檢查連通性

  traceroute6

  traceroute6使用ipv6跟蹤到目的網絡路由

  5.tracepath6 ipv6網址 路徑跟蹤并發現到目的網絡的MTU值

  Windows常用IPv6命令

  查看接口地址

  ip -f inet6 addr show br1

  查看路由

  ip -f inet6 route show

  查看鄰居

  netsh interface ipv6 show neighbors

  其它netsh

  ipv6測試命令(IPv6基礎及常用命令)(11)

  ,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved