admin管理员组

文章数量:1641881

ipv6的NDP协议有哪些功能

NDP(neighbor Discovery protocol)是ICMPv6的子协议是IPV6协议体系中一个重要的基础协议,邻居发现协议替代了IPV4的ARP,ICMP路由器发现。它定义了使用ICMPv6报文实现地址解析,跟踪邻居状态,重复地址检测,路由器发现,以及重定向等功能。

  • 地址解析:从IP地址解析到数据链路层,地址解析过程中使用了两种ICMPv6报文;邻居请求报文NS(neighbor solicitation)type=135,code=0类似IPV4中ARP请求报文。邻居通告报文NA(neighbor advertisemen type=136,code=0类似IPV4中ARP应答报文)。
  • 跟踪邻居状态:通过邻居到达邻居的通信,会因为各种原因中断,如果目的地失效,则恢复是不可能的,通信失败,如果路径失效,则恢复是可能的。因此节点需要维护一张邻居表,每个邻居都有相应的状态,状态之间可以迁移。
    RFC2461中定义了五种邻居状态,分别是:未完成(Incomplete)、可达(Reachable)、陈旧(stale)、延迟(Delay)、探查(Probe)。
  • 重复地址检测:DAD(Duplicate Address Detect),是在接口使用某个IPV6单播地址之前进行的,主要是为了探测是否有其他节点使用了该地址。类似IPV4中的免费ARP。在通过DAD检测之前,该接口分配的单播地址不能用于单播通信,成为实验地址,但是仍然会加入两个组播组ALL-NODES组播组和试验地址所对应的Solicited-Node组播组。
  • 路由器发现:用来发现与本地链路相连的路由器,并获取与地址自动配置相关的前缀和其他配置参数。依靠RA type=134(路由器通告),RS type=133(路由器请求)来实现。
  • 重定向:当网关路由器发现报文从其他网关路由器转发更好,就会发送重定向报文告知报文的发送者,让报文发送者选择另一个网关路由器。type=137.报文中携带更好地路径下一跳地址和需要重定向转发的报文的目的地址等信息。

是如何进行工作的

地址解析:地址解析过程中主要使用了两种ICMPv6报文;邻居请求报文NS(neighbor solicitation)type=135,code=0,类似IPV4中ARP请求报文。邻居通告报文NA(neighbor advertisement )type=136,code=0类似IPV4中ARP应答报文。

下面通过实验抓取报文来看看。

我们配置好地址后,使用AR1pingAR2。
AR1要访问AR2直连接口,需要得到AR2的MAC地址。
在IPV4中ARP普遍认为是工作在2.5层中,但在IPV6中地址解析工作在第三层中
优点如下:
工作在网络层,抗攻击能力比ARP强
使用组播机制,提高工作效率。
地址解析在三层完成,可以使用不同的二层介质

第5,第6两个包分别是地址解析使用的NS,NA。
工作流程(1)

本文标签: 协议功能有哪些工作NDP