IPV6邻居发现协议

NDP(Neighbor Discovery Protocol,邻居发现协议)是IPv6的一个关键协议,它组合了IPv4中的ARP、ICMP路由器发现和ICMP重定向等协议,并对它们作了改进。

作为IPv6的基础性协议,NDP还提供了前缀发现、邻居不可达检测、重复地址监测、地址自动配置等功能。如下图:

一、邻居发现协议功能
1.地址解析:

地址解析是一种确定目的节点的链路层地址的方法。NDP中的地址解析功能不仅替代了原IPv4中的ARP,同时还用邻居不可达检测(NUD)方法来维持邻居节点之间的可达性状态信息。

2.无状态地址配置:

NDP中特有的地址自动配置机制,包括一些列相关功能,如路由器发现、接口ID自动生成、重复地址监测等。通过无状态自动配置机制,链路上的节点可以自动获得IPv6全球单播地址。

a)路由器发现:路由器与其他相连的链路上发布网络参数信息,主机捕获此信息后,可以获得全球单播IPv6地址前缀、默认路由、链路参数(链路MTU)等信息。

b)接口ID自动生成:主机根据EUI-64规范或其他方式为接口自动生成接口标识符。

c)重复地址监测(DAD):根据前缀信息生成或手动配置IPv6地址后,为保证该地址的唯一性,在其可以使用之前,主机需要检验它是否已被链路上的其他节点所使用。

d)前缀重新编址:当网络前缀变化时,路由器在与其相连的链路上发布新的网络参数信息,主机捕获这些新信息后,重新配置前缀、链路MTU等地址相关信息。

3.路由重定向:

当在本地链路上存在一个更好的到达目的网络的路由器时,路由器需要通告节点来进行相应配置改变。

二、邻居发现协议报文类型

ICMPv6类型消息名称说明
133RS当接口工作时,主机发送路由器请求消息,要求路由器立即产生路由器通告消息,而不必等待下一个预定时间。
134RA路由器周期性地通告它的存在以及配置的链路和网络参数,或者对路由器请求消息作出响应。
135NS节点发送邻居请求消息来请求邻居的链路层地址,以验证它先前所获取并保存在缓存中的邻居链路层地址的可达性,或者验证它自己的地址在本地链路是唯一的。
136NA邻居请求消息的响应。节点也可以发送非请求邻居通告来指示链路层地址的变化
137Redirect对于特定的目的地址,如果不是最佳路由,路由器则通知主机到达目的的最佳下一跳

三、邻居发现相对于IPv4的改进

  • 邻居不可达检测是基础协议的一部分,在路由器出错或链路接口改变的情况下,改善了数据包的传输;
  • 路由器通告和ICMP重定向使用本地链路地址来识别路由器,即便网络重新编码,与路由器的关系可以保持;
  • 邻居发现协议被用来检测一个连路上重复的IP地址;
  • 路由器发现是基础协议的一部分,IPv4需要从路由表中获取信息;
  • 路由器通告数据包中包含了路由器的链路层地址,节点无需再请求;
  • 重定向消息包含了路由器的链路层地址,节点无需再请求;
  • 路由器通告数据中包含了一个链路的前缀(子网信息),无需再配置子网掩码;
  • 路由器通告消息不再包含优先级,代表稳定性,由邻居发现协议来确保可达;
  • 邻居发现提供了一种易于对网络重新编号的机制,引入新的前缀和地址;
  • 路由器通告使得无状态自动配置成为可能,可以通知何时使用有状态地址配置;
  • ICMP实现链路层地址解析,与arp相比可以实现与传播介质无关,更加通用,可以实现安全机制;
  • 一个链路可以分配多个前缀。默认路由器知道所有前缀,但路由器也可以配置成不通告前缀,接收到数据包,发送ICMP重定向;
  • 标准身份验证和安全机制可以用于邻居发现。

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值