IPv6地址解析

IPv6地址解析原理:

IPv6的地址解析包括两个过程:一、解析目的IP对应的链路层地址,二、邻居可达性状态的维护过程。

在IPv4中使用的是ARP协议,在IPv6中使用的是ND(Neighbor discover)协议中的NS和NA报文来实现的。

采用ND协议的优势在于增加了地址解析协议与底层链路的独立性。对每一种链路层系诶都是用相同的地址解析协议,无须再为每一种链路层协议定义一个新的地址解析协议。

减小报文的传播范围。在IPv4中,ARP使用的是广播地址,必须泛滥到二层网络的每台主机。IPv6的地址解析利用三层的组播寻址限制了地址的传播范围,通过将地址解析请求发送到特定解析地址所属的被请求节点组播组(FF02::1:FF00:0/104+IPv6地址后24位组成),减小了报文的传播范围,节省了网络的带宽。

在IPv6中,ND协议通过在节点之间交互NS和NA报文完成IPv6地址到链路层地址的解析,解析后用得到的链路层地址和IPv6地址等信息来建立相应的邻居缓存表项。

NS报文的主要功能字段包括Target Address和Option字段。

TargetAddress包含待解析的IPv6地址。

NA报文的Option字段只使用链路层地址选项(Link layer Address Option)。链路层地址选项包括类型、长度和地址三个部分。

当类型为1时,表示源链路层地址,在NS、RS、Redirect报文中使用;当类型为2时,表明链路层地址为目标链路层地址,在NA报文中使用。

IPv6地址解析过程:假如网络中有主机A和主机B。A的链路层地址为MAC1,IPv6地址为IP1;B的链路层地址为MAC2,IPv6地址为IP2(假设为2001::1)。则A查询B的链路层地址的过程如下:

1)节点A发送一个NS报文到链路上,目的IPv6地址为B对应的被请去节点组播地址(FF02::1:FF00:1),目标地址为IP2,选项字段中携带MAC1;

2)节点B接收到该DS报文后,根据NS报文中的源IPv6地址和源链路层地址选项更新自己的邻居缓存表项,并发送一个NA报文来应答NS报文,报文Option字段中的链路层地址为自己的链路层地址MAC2;

3)节点A收到NA报文后,根据报文中携带的节点B的链路层创建一个到目标节点B的邻居缓存表项。

以下为IPv6地址解析实验过程:

拓扑:

实验命令及验证截图:

1.PC机IPv6地址配置:


2.路由器配置:

[Huawei]ipv6

[Huawei]int e0/0/0

[Huawei-Ethernet0/0/0]ipv6 enable

[Huawei-Ethernet0/0/0]ipv6 address 1::1 64

[Huawei-Ethernet0/0/0]ipv6address auto link-local

3.验证:


PC机ping1::1之前路由器上没有邻居信息,PC机ping1::1之后路由器上查看[Huawei]disipv6 neighbors

出现:

[Huawei]dis ipv6 neighbors

-----------------------------------------------------------------------------

IPv6 Address : 1::2                                             

Link-layer   : 5489-985e-2a53                     State : REACH       

Interface    : Eth0/0/0                           Age   : 0                  

VLAN         : -                                  CEVLAN:-                  

VPN name     :                                    Is Router:FALSE           

Secure FLAG  : UN-SECURE                         

 

-----------------------------------------------------------------------------

Total: 1       Dynamic: 1       Static: 0     

PC机e0/0/0口抓包:

 

NS报文:

地址ff02::1::ff00:1是1::1被请求节点组播地址。Link-layer包含了自己的链路层地址。

NA报文:

Flags标志位字段中三个标志位都置位了,router字段表示发送者是router、solicited字段表示此报文是对NS的回应、override字段表示本次地址解析结果覆盖以前的结果。NA报文以单播形式发送。

猜你喜欢

转载自blog.csdn.net/Aee86_/article/details/79746578