News
发布日期:2022-06-06 浏览次数:1750 来源:崔志鹏
HCIE Datacom学习技术-ICMPV6高级特性-地址解析详解(替代ARP)
HCIE Datacom培训学习可联系WOLFLAB网站客服
IPV4中使用ARP协议进行地址上解析、重复地址检测等功能,但是IPV6没有广播机制,那IPV6如何进行地址解析封装二层呢?就是使用ICMPV6,ICMPv6除了提供ICMPv4常用的功能之外,还是其它一些功能,如地址解析、重复地址检测、PMTU发现等,提供的这些额外功能组成的集合就成为NDP;
NDP并不是某个协议,而是一些功能的集合;
NDP使用的ICMPV6的相关报文:
地址解析 | NUD | DAD | |
NS | SIP:出接口地址 DIP:被请求节点组播地址 | SIP:link-local地址 DIP:邻居的link-local地址或接口地址 | SIP:未指定地址 DIP:被请求节点组播地址 |
NA | SIP:出接口地址 DIP:出接口地址 | SIP:link-local地址或接口地址 DIP:link-local地址 | SIP:出接口地址 DIP:FF02::1 |
地址解析:
第一步:AR1 PING 2001:12::2
ICMPV6 REQUEST:
SIP:2001:12::1 DIP:2001:12::2 | SMAC:AR1 DMAC:?
数据包封装失败
---------------------------------------------------------------------------------------------------
第二步:AR1发送NS报文,就相当于ARP REQUEST
Ethernet II, Src: HuaweiTe_e6:7d:3f (00:e0:fc:e6:7d:3f), Dst: IPv6mcast_ff:00:00:02 (33:33:ff:00:00:02)
Internet Protocol Version 6, Src: 2001:12::1, Dst: ff02::1:ff00:2
Internet Control Message Protocol v6
Type: Neighbor Solicitation (135)
Code: 0
Checksum: 0xbe6d [correct]
[Checksum Status: Good]
Reserved: 00000000
Target Address: 2001:12::2
ICMPv6 Option (Source link-layer address : 00:e0:fc:e6:7d:3f)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: HuaweiTe_e6:7d:3f (00:e0:fc:e6:7d:3f)
说明:
①NS报文就是TYPE=135的ICMPV6的报文;
②NS报文的SIP:2001:12::1 DIP:ff02::1:ff00:2,目的IP地址对应的被请求节点组播组地址;
③NS报文的二层封装SMAC:AR1的mac,DMAC:组播mac;
④NS报文里面携带我要请求谁的MAC地址2001:12::2和自己的MAC地址通过option携带;
---------------------------------------------------------------------------------------------------
第三步:AR2收到NS报文之后,发现DIP是ff02::1:ff00:2,而我的g0/0/0接口加入到了这个组,我就会解封装看看里面具体的数据,
发现AR1要请求我的MAC地址,此时AR2会回复一个NA报文,就相当于ARP reply;
Ethernet II, Src: HuaweiTe_9b:37:94 (00:e0:fc:9b:37:94), Dst: HuaweiTe_e6:7d:3f (00:e0:fc:e6:7d:3f)
Internet Protocol Version 6, Src: 2001:12::2, Dst: 2001:12::1
Internet Control Message Protocol v6
Type: Neighbor Advertisement (136)
Code: 0
Checksum: 0x0055 [correct]
[Checksum Status: Good]
Flags: 0xe0000000, Router, Solicited, Override
1... .... .... .... .... .... .... .... = Router: Set
.1.. .... .... .... .... .... .... .... = Solicited: Set
..1. .... .... .... .... .... .... .... = Override: Set
...0 0000 0000 0000 0000 0000 0000 0000 = Reserved: 0
Target Address: 2001:12::2
ICMPv6 Option (Target link-layer address : 00:e0:fc:9b:37:94)
Type: Target link-layer address (2)
Length: 1 (8 bytes)
Link-layer address: HuaweiTe_9b:37:94 (00:e0:fc:9b:37:94)
说明:
①NA报文就是TYPE=136的ICMPV6的报文;
②NA报文的SIP:2001:12::2 DIP:2001:12::1,单播回复;
③target address不动;
④自己的mac地址放在icmpv6 option携带;
⑤NA报文相对于NS报文多出了三个bit
R:表示发送者是一台路由器,1表示路由器,目的是为了告诉主机,我未来可能是你的网关,两台主机在解析的时候,就知道对端是主机。
S:对某个NS报文的响应报文
O:就是如果主机的mac地址变了,但是IP地址不动,就需要对原有的缓存信息ARP进行覆盖,如果没有就创建新的。
---------------------------------------------------------------------------------------------------
第四步:此时AR1就拿到了2001:12::2的MAC地址了,此时数据包就可以封装完整发出去了
ICMPV6 REQUEST:
SIP:2001:12::1 DIP:2001:12::2 | SMAC:AR1 DMAC:AR2
使用组播地址进行地址解析的优势:
①不在依赖于ARP这个协议,ARP容易遭到攻击;
②相对于广播更高效,影响范围更小;
③可以使用三层的安全机制ipsec,提高安全性;
HCIE Datacom学习,请先做好HCIP及HCIA的预习