IPv6邻居发现协议
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地址自动配置
当一台IPv6的主机第一次连接到链路上时, 它能够自我配置其接口地址。对于大多数 的以太网接口,使用的方法是通过MAC-toEUI64的方法确定本地的接口ID,加上链路 本地前缀形成链路本地地址。 而当该主机需要获得一个全球IPv6地址时, 则使用两种方式获取该地址:有状态和无 状态的地址自动配置。
谢谢!
邻居地址解析
当目的地址是本地链路之外的节点时,主 机需要通过默认路由器来发送数据包,因 此链路层地址应使用默认路由器的链路层 地址(由路由器通告消息获得)。 如果该地址是本地链路的邻居地址时,节 点会查看本地的邻居缓存是否存在这个地 址,该过程与ARP非常类似。
邻居地址解析
当目的地址不在邻居缓存中,主机会发送 一个邻居请求消息到与目标节点相关的被 请求节点的多播地址。 如果被请求的节点存在并且邻居请求消息 是有效的,那么该节点会答复一个邻居通 告消息。 如果被请求的节点不存在或由于其他原因 未收到回复,那么邻居请求消息会每隔1s 重新发送一次。若发送3次仍未有答复,则 宣布该邻居不可达,地址解析失败。
邻居发现协议的消息类型
路由器通告消息由路由器发起,用来通告 这些路由器的存在和链路细节的参数,例 如链路前缀、链路MTU以及跳数限制等。这 些消息周期性发送,也用于答复路由器请 求消息。 路由器请求消息由主机发起,用来请求路 由器发送一个RA。
邻居发现协议的消息类型
邻居请求消息由节点主机发起,用来请求 另一台主机的链路层地址,也用来实现诸 如地址冲突检测的功能。 邻居通告消息是用来响应邻居请求消息。 此外,如果一个节点的链路层地址发生了 改变,它能够通过发送一个未请求的邻居 通告消息来通告这个新地址。 重定向消息用于通知主机将默认路由器重 定向为本地链路中的另一个节点。使用方 法与IPv4中ICMP的基本相同。
邻居发现协议的消息类型
邻居发现协议(NDP)是在RFC2461中定义的, 为了完成某些功能,它使用ICMPv6协议来 交换一些必要的消息,主要有5种: 路由器通告(Router Advertisement, RA)消息 路由器请求(Router Solicitation, RS)消息 邻居通告(Neighbor Advertisement, NA)消息 邻居请求(Neighbor Solicitation, NR)消息 重定向(Redirect)消息
路由器发现
路由器通过在相连的链路上周期性地发送 路由器通告消息,表明它的存在并通告配 置的所有参数。大多数情况下在广播链路 上使用。 刚刚连接到某个链路接口的主机需要获得 一份路由器通告消息,以便能够发现链路 上的路由器并学习到链路的参数。因此连 接到链路时,主机会发送一条路由器请求 消息去请求一条路由器通告消息。收到后 将该路由器添加到缺省路由器列表中。
地址自动配置
若该主机使用的是有状态的地址自动配置, 它将会借助DHCPv6服务器来获取必要的地 址信息。 如果该主机使用的是无状态的地址自动配 置的话,主机将从它所收到的路由器通告 消息中获得一个或多个链路前缀,加上它 先前确定的接口ID,这样就得到了一个全球 唯一的IPv6地址。
地址冲突检测
虽然利用了MAC地址转换导出一个接口ID的 方法,在绝大多数情况下可以保证得到的 地址是唯一的。但由于IPv6地址也可以手工 配置,因此在使用一个地址之前,都必须 进行地址冲突检测。 节点将需要检测的地址以邻居请求消息的 方式发出,该消息的源地址是未指定的地 址,目的地址则是所有被请求节点的多播 地址。
地址冲突检测
被请求节点的多播地址是由前缀 FF02:0:0:0:0:1:FF00::/104加上目标地址的 最后24位组成。这样做的原因是这个地址 可以匹配该节点自动配置的所有地址。除 此以外,如果两个节点同时对一个地址进 行冲突检测时,它们可以互相检测到。
邻居地址解析
在IPv4中,当一个节点需要和本地链路上的 另一个IPv4节点进行通讯时,它必须要获取 该节点的链路层地址。IPv4使用ARP来获取 目的节点的链路层地址,而IPv6使用NDP来 完成。 根据目的IPv6地址的前缀,本地节点可以判 断出该地址是本地链路的邻居或是本地链 路之外的节点。
IPv6邻居发现协议
IPv6邻居发现协议
概述 邻居发现协议的消息类型 路由器发现 地址自动配置 地址冲突检测 邻居地址解析
概述
IPv6具有即插即用的特性,而该特性就 是通过邻居发现协议(Neighbor Discovery Protocol, NDP)来实现的。 NDP消息通常应该在链路本地的范围内 收发。因此,封装NDP消息的数据包也始终 使用IPv6链路本地地址,或者链路本地范围 内的多播地址。
总结
邻居发现协议(NDP)解决了很多与单一链路 上的节百度文库有关的问题,并提供了路由器发 现、地址自动配置以及邻居地址解析等功 能。对于IPv4来说需要多种协议(包括 DHCP、IGMP路由器发现、ARP等)才能提 供的功能,而NDP利用ICMPv6即可完成。 这些功能作为IPv6的一个必须组件整合到了 ICMPv6中,体现出了IPv6相对于IPv4的先进 性。