IPv6地址解析之链路层地址学习
IPV6地址解析包括两个部分:一部分解析目的IP对应的链路层地址(类似于IPV4的ARP 协议),另一部分是邻居状态可达性检测(NUD)。
IPV6地址解析工作在网络层,与链路层协议无关。
地址解析过程:
假设PC1pingPC2
PC1------------------------------------------------------PC2
2001:0206::1/64 2001:0206::2/64
00:24:ac:ef:47:8a 00:24:ee:ee:ee:88
1、PC1pingPC2需要封装二层头部,首先暂停发送该ping包,学习链路层地址。
2、PC1发送一条请求消息(NS),请求PC2的链路层地址,该请求消息的目的IP为被请求节点的组播地址,源地址为PC1的IP地址。
3、PC2收到该请求后,回应一个邻居宣告消息(NA),源IP为PC2,目的IP为PC1(单播)。消息的内容是PC2的链路层地址。PC2将PC1的IP地址和MAC地址加入自己的邻居缓存表中。
4、PC1收到邻居宣告消息后,将PC2的IP地址和MAC地址加入自己的邻居缓存表中。
5、此时PC1可以发送对PC2的ping包了。
解析过程中NS消息二层地址与三层地址的形成:
三层地址:取全球单播地址的后24位,与固定前缀FF02:1:FF::/104形成。
二层地址:RFC2464规定使用33-33-xx-xx-xx-xx,其后32位取用三层地址后32位。