当前位置: 首页 > 网络技术 > 网络基础 > 正文

IPv6邻居发现的工作机制和原理详解

时间:2014-10-19

IPv6 邻居发现 和静态邻居指定

拓扑图依旧,在现在的拓扑图上面,显示了静态手工配置的全局单播地址和link-local地址。

那么IPv6邻居发现是怎么回事呢?

有一个命令是:

show ipv6 neighbor

首先在R1上面,show ipv6 neighbor.看到的肯定是直连的R2.

我第一次看的时候都看错了,呵呵,ca01.1a44.0008是R2的,R1是ca00开头的。

所以这里,从本台路由器上面看到的邻居实际上是直连设备的link-local地址,绝对不会是配置的接口地址2012::2/64那个单播地址。

再看看R2上面,两边R1和R3的邻居都在。

各个参数的意义:

Age: IPv6的生存周期,我的理解是一个定时器。和arp那个倒是有点类似,老化以后,然后触发重新发送更新报文来维持邻居关系。但是这里单位是分钟.然后递增往上加1来做的定时器.

link-layer addr:这个其实一眼就能看出来,就是对端直连邻居的一个MAC地址。48位,和IPv4一样.

status:REACH状态意味着邻居可达。STALE状态(默认)意味着邻居在最后的30分钟内是不可达的.

interface:出接口.从哪个接口出去学习到对端的地址的。

还有一个问题,cisco路由器上面支持添加静态邻居表项到邻居发现表.

问题是,为什么有这个功能?这个功能背后的需求是什么?

URL:http://www.bianceng.cn/Network/basis/201410/45996.htm

CISCO实现了添加静态邻居表项,因为大多数IPv6流量产生设备不能正确的支持IPv6的NDP.如果邻居发现表中没有建立起来邻居表,就不能发送IPv6流量通过路由器进行转发。为了能做兼容性也好,还是一个容错功能也好,这个功能是很有必要的。

通过命令IPv6 neighbor来添加一个静态表项邻居。

Router#Ipv6 neighbor IPv6-address interface hw-address

PS:该命令是在全局进行使用的。

既然是静态表项,那么设备肯定是被动的去知道有这个信息。

在R1上面,现在已经有一个R2是它的邻居了,但是网络类型不是point-to-point的类型。

所以我想加多少个就有多少个,哪怕,被我添加的那个邻居根本就不存在。

在没有添加邻居以前的R1: