众元教育H3CSE20200603 IPV6邻居发现

由于IPv4的地址数量不足,未来一定会全面转向IPv6。而IPv6不仅仅只是地址数量的增加,其中一个基础协议也发生改变。IPv6的邻居发现协议综合了IPv4中ARP、ICMP路由器、ICMP重定向等,并对他们进行改进。

ND(Neighbor Discover)协议包括以下几种重要的功能

  • 地址解析:已知目的节点的网络层地址,想要确定数据链路层地址(在IPv4中使用ARP协议)
  • 邻居不可达检测:在获取得到对端的数据链路层地址后,需要发送消息来验证邻居节点是否可达
  • 重复地址检测:当主机获得一个地址时需要进行地址冲突的检测(在IPv4中使用无故ARP进行检测)
  • 无状态地址自动配置:主机可以根据路由器发现/前缀发现所获得的信息,自动配置IPv6全球单播地址(IPv4中可以使用DHCP自动分配地址)
  • 路由器重定向:当主机启动后,主机会选择一个路由器作为网关和其他主机进行通信。当路由器发现在从其他路由器发送会更好时,会发送一个重定向消息,通知主机选择更好的路由器作为网关设备。

ND协议使用五种报文实现上述功能:
众元教育H3CSE20200603 IPV6邻居发现_第1张图片一、IPv6地址解析:
如图:众元教育H3CSE20200603 IPV6邻居发现_第2张图片1.Node A发送一个NS报文,目的IP地址是被请求节点组播地址(FF02::1::FF02),报文内部携带了Node A的MAC地址
2.Node B收到报文后,回复一个NA报文,目的IP是 Node A的IP地址,在报文中的数据链路层地址选项携带了自己MAC地址

二、邻居不可达检测:
邻居不可达检测通过状态机来描述邻居可达,存在如下五种状态:

  • Incomplete(未完成):表示正在解析地址,邻居的数据链路层地址还未确定(首先得确定MAC地址才能进行不可达检测)。当节点发送了NS报文后,会在邻居缓存表中创建一个到达此邻节点的新状态表项—Incomplete

  • Reachable(可达):表示地址解析成功,该邻居可达。节点可以与处于可达状态的节点进行通信。存在一个Reachable Time定时器,长时间不发送报文,则定时器超时,会转化到Stale(失效状态)。
    注:为什么以及通过了地址解析,以及确定可达了,还得进行可达性检测?因为设备都是更加相信自己。对端设备还未确定可达,所以对端设备还得确定本段设备是否可达

  • Stale(失效):表示未确定邻居是否可达,此状态是稳定

  • Delay(延迟):表示未确定邻居是否可达,此状态不稳定,该状态是一个延时等待状态,如果收到了“节点可达性证实消息”则进入Reachable状态。

  • Probe(探测):表示未确定邻居是否可达,节点会向处于Probe状态的邻居持续发送NS报文,知道收到了“节点可达性证实消息”则进入Reachable状态
    注:可达性证实消息有以下两种
    1.来自上层连接协议的暗示。如果邻接点之间存在TCP连接,且收到了对端的确认消息,则表明邻接点之间可达
    2.来自不可达检测回应,发送NS后,收到NA回复即可认为邻居节点可达。
    众元教育H3CSE20200603 IPV6邻居发现_第3张图片Node A为发送地址解析。
    Node B为对端节点发送可达性检测

你可能感兴趣的:(众元教育H3CSE20200603 IPV6邻居发现)