IPv6基础及常用命令

IPv6/IPv4协议栈对比

IPv6基础及常用命令


IPv6的一些变化

IPv6基础及常用命令


1)数据链路层(L2)的type字段标识为 0x86dd,表示承载的上层协议是IPv6(IPv4对比:type字段为0x0800);

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

邻居发现协议NDP

邻居发现协议NDP是通过 Internet 控制报文协议(ICMPv6)报文来承载的;在一个IPv6数据报中,如果该数据报的“下一个报头”字段的值为 58,且 ICMPv6 报文中类型字段取值范围为133-137,则此IPv6报文的数据部分含有邻居发现协议报文。NDP使用ICMPv6报文实现地址解析,跟踪邻居状态,重复地址检测,路由器发现以及重定向等功能。

ICMPv6 Type = 133

接口初始化或接口地址发生变化时,终端主动发起RS请求路由信息

IPv6基础及常用命令


ICMPv6 Type = 134

路由器定期或收到用户RS时发送RA报文(包含路由有效时间,终端获取方式,前缀信息等),当终端收到RA报文后会根据RA报文的指示构造自己的地址,建立路由信息和缺省网关等

IPv6基础及常用命令


ICMPv6 Type 135

  1. 邻居请求报文可以用来完成ARP的功能(地址解析),NS 报文包含发送方的源链路层mac地址,IPV6首部中:当进行地址解析时,目的IPV6地址是一个多播地址
IPv6基础及常用命令


2.可以用来探测目的主机的连通性(跟踪邻居状态)

IPv6基础及常用命令


3.可以用来验证自己的地址在本地链路上是否唯一,IPV6首部中:目的地址是邻居的多播地址。

IPv6基础及常用命令


ICMPv6 Type 135

通告邻居自己的能力(如路由器,置位R标记),是否收到请求发送,是否需要立刻覆盖邻居表

IPv6基础及常用命令


重复地址检测DAD(Duplicate Address Detect)是在接口使用某个IPv6单播地址之前进行的,主要是为了探测是否有其它的节点使用了该地址。尤其是在地址自动配置的时候,进行DAD检测是很必要的。一个IPv6单播地址在分配给一个接口之后且通过重复地址检测之前称为试验地址(Tentative Address)。此时该接口不能使用这个试验地址进行单播通信,但是仍然会加入两个组播组:ALL-NODES组播组和试验地址所对应的Solicited-Node组播组。

IPv6重复地址检测技术和IPv4中的免费ARP类似:节点向试验地址所对应的Solicited-Node组播组发送NS报文。NS报文中目标地址即为该试验地址。如果收到某个其他站点回应的NA报文,就证明该地址已被网络上使用,节点将不能使用该试验地址通讯。


IPv6基础及常用命令


跟踪邻居状态

通过邻居或到达邻居的通信,会因各种原因而中断,包括硬件故障、接口卡的热插入等。如果目的地失效,则恢复是不可能的,通信失败;如果路径失效,则恢复是可能的。因此节点需要维护一张邻居表,每个邻居都有相应的状态,状态之间可以迁移。

RFC2461中定义了5种邻居状态,分别是:

IPv6基础及常用命令


A之间的邻居状态迁移的过程:

  1. A先发送NS报文,并生成缓存条目,此时,邻居状态为Incomplete。
  2. 若B回复NA报文,则邻居状态由Incomplete变为Reachable,否则固定时间后邻居状态由Incomplete变为Empty,即删除表项。
  3. 经过邻居可达时间,邻居状态由Reachable(默认30s)变为Stale,即未知是否可达。
  4. 如果在Reachable状态,A收到B的非请求NA报文(MAC地址修改),且报文中携带的B的链路层地址和表项中不同,则邻居状态马上变为Stale。
  5. 在Stale状态若A要向B发送数据,则邻居状态由Stale变为Delay,并发送NS请求。
  6. 在经过一段固定时间后,邻居状态由Delay(默认5s)变为Probe(每隔1s发送一次NS报文,连续发送3次),其间若有NA应答,则邻居状态由Delay变为Reachable。
  7. 在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 / dev 
ip -6 addr add 2001:0db8:0:f101::1/64 dev eth0
 ifconfig  inet6 add /
ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64

添加路由

ip -6 route add / via 
ip -6 route add default via 2001:0db8:0:f101::1
 route -A inet6 add / 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基础及常用命令

展开阅读全文

页面更新:2024-03-10

标签:目的   报文   节点   字段   路由   路由器   头部   邻居   接口   状态   协议   类型   地址   发现   基础   常用命令   数据   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top