IPv6邻居发现协议基础,地址解析协议

一、IPv6 邻居发现协议介绍

1、IPv6 邻居发现(Neighbor Discovery,ND)协议使用五种类型的ICMPv6 消息,实现下面一些功

能:地址解析、验证邻居是否可达、重复地址检测、路由器发现/前缀发现、地址自动配置和重定向

功能。

2、邻居发现协议使用的ICMPv6 消息类型及作用

IPv6邻居发现协议基础,地址解析协议,一分钟了解下

二、邻居发现协议提供的主要功能

1. 地址解析

获取同一链路上邻居节点的链路层地址(与IPv4 的ARP功能相同),通过邻居请求消息NS和邻居通

告消息NA实现。节点A要获取节点B的链路层地址。

IPv6邻居发现协议基础,地址解析协议,一分钟了解下

(1) 节点A 以组播方式发送NS 消息。NS 消息的源地址是节点A 的接口IPv6 地址,目的地址是

节点B 的被请求节点组播地址,消息内容中包含了节点A 的链路层地址和请求的目标地址。

(2) 节点B 收到NS 消息后,判断报文的目标地址是否为自己的IPv6 地址。如果是,则节点B 可

以学习到节点A 的链路层地址,并以单播方式返回NA 消息,其中包含了自己的链路层地址。

(3) 节点A 从收到的NA 消息中就可获取到节点B 的链路层地址。

2、验证邻居是否可达

在获取到邻居节点的链路层地址后,通过邻居请求消息NS 和邻居通告消息NA 可以验证邻居节点

是否可达。

(1) 节点发送NS 消息,其中目的地址是邻居节点的IPv6 地址。

(2) 如果收到邻居节点的确认报文,则认为邻居可达;否则,认为邻居不可达。

3、重复地址检测

当节点获取到一个IPv6 地址后,需要使用重复地址检测功能确定该地址是否已被其他节点使用(与

IPv4 的免费ARP功能相似)。通过NS和NA可以实现重复地址检测。

IPv6邻居发现协议基础,地址解析协议,一分钟了解下

(1) 节点A 发送NS 消息,NS 消息的源地址是未指定地址::,目的地址是待检测的IPv6 地址对应

的被请求节点组播地址,消息内容中包含了待检测的IPv6 地址。

(2) 如果节点B 已经使用这个IPv6 地址,则会返回NA 消息。其中包含了自己的IPv6 地址。

(3) 节点A 收到节点B 发来的NA 消息,就知道该IPv6 地址已被使用。反之,则说明该地址未被

使用,节点A 就可使用此IPv6 地址。

4. 路由器发现/前缀发现及地址无状态自动配置

路由器发现/前缀发现通过路由器请求消息RS 和路由器通告消息RA 来实现,具体过程如下:

(1) 节点启动时,通过RS 消息向路由器发出请求,请求前缀和其他配置信息,以便用于节点的配

置。

(2) 路由器返回RA 消息,其中包括前缀信息选项(路由器也会周期性地发布RA 消息)。

(3) 节点利用路由器返回的RA 消息中的地址前缀及其他配置参数,自动配置接口的IPv6 地址及

其他信息。

5. 重定向功能

当主机启动时,它的路由表中可能只有一条到缺省网关的缺省路由。当满足一定的条件时,缺省网

关会向源主机发送ICMPv6 重定向消息,通知主机选择更好的下一跳进行后续报文的发送(与IPv4

的ICMP 重定向消息的功能相同)。

同时满足下列条件时,设备会发送ICMPv6 重定向报文:

A、接收和转发数据报文的接口是同一接口;

B、被选择的路由本身没有被ICMPv6 重定向报文创建或修改过;

C、 被选择的路由不是设备的缺省路由;

D、 被转发的IPv6 数据报文中不包含路由扩展头

三、IPv6 PMTU发现

报文从源端到目的端的传输路径中所经过的链路可能具有不同的MTU。在IPv6 中,当报文的长度

大于链路的MTU 时,报文的分片将在源端进行,从而减轻中间转发设备的处理压力,合理利用网

络资源。

IPv6邻居发现协议基础,地址解析协议,一分钟了解下

(1) 源端主机按照自己的MTU 对报文进行分片,之后向目的主机发送报文。

(2) 中间转发设备接收到该报文进行转发时,如果发现转发报文的接口支持的MTU 值小于报文长

度,则会丢弃报文,并给源端返回一个ICMPv6 差错报文,其中包含了转发失败的接口的MTU

(3) 源主机收到该差错报文后,将按照报文中所携带的MTU 重新对报文进行分片并发送

(4) 如此反复,直到目的端主机收到这个报文,从而确定报文从源端到目的端路径中的最小MTU。




猜你喜欢

转载自blog.51cto.com/14820476/2496576