IPv6实验NDP地址解析和DAD(nmap扫描ipv6地址)

网友投稿 793 2022-09-22


IPv6实验NDP地址解析和DAD(nmap扫描ipv6地址)

R1的IP和MAC

R2的IP和MAC

1      NDP地址解析

1.        所有路由器接入交换机后,手动配置接口IPv6,

配置举例:

#

ipv6

#

interface GigabitEthernet0/0/0

ipv6 enable

ipv6 address 2003::1/64

#

2.        接入网络后每台设备都发送NS(Neighbor Solicition)报文做DAD(Neighbor Unreachability Detection);源MAC为接口MAC,目的MAC为目的IP的组播MAC,源IP为未指定IP(::),目的IP为被请求节点的组播IP(即配置的IPv6或自动生成的link-local地址转换后的被请求节点组播地址),ICMPv6的的target address 为配置的IPv6或自动生成的link-local地址。总共3台设备6个包(每台设备的link-local和global)

3.        R1访问R2之前需要先得知R2的MAC地址,即发送NS(Neighbor Solicition)请求R2的MAC地址,源MAC为接口MAC,目的MAC为目的IP的组播MAC,源IP为接口global IP,目的IP为被请求节点的组播IP(R2的IP转换所得),ICMPv6的Type=135(NS),target address为目的IP(R2的IP),option携带自己的源MAC

4.        R2收到NS后,发现目的MAC是自己的组播MAC,目的IP是自己的组播IP,检查target address是自己的接口IP,单播回复NA(Neighbor Advertisement),因此源MAC是自己的MAC,目的MAC是R1的MAC(R2收到R1的NS后已经知道R1的IPv6和MAC映射关系,R1的NS携带了自己的MAC),源IP为接口IP,目的IP为NS的R2的IP,ICMP Type=136(NA),Flags的R位=1表示该节点为路由器,S位=1表示收到NS后回应的NA,O位=1表示更新当前缓存的链路层地址,因为这个包是收到NS后回复的NA,因此该NA的target address为NS的报文的target address,Option携带的是此NA消息发送者的链路层地址,回应组播NS的NA必须包含此选项。

5.        R1查看IP6的邻居,分别为global IP和link-local IP

6.        R2查看IPv6邻居

2      NDP DAD

R3配置与R1相同的IPv6地址,接入网络

interface GigabitEthernet0/0/0

ipv6 enable

ipv6 address 2003::1/64

#

1.        后发送NS接入网络后每台设备都发送NS(Neighbor Solicition)报文做DAD(Neighbor Unreachability Detection); 发出NS确定是否其他设备在使用该IP,IPv6报文的目的IP是2003::1的请求节点组播地址FF02::1:FF00:1,ICMPv6的Target Address是2003::1

2.        R1收到NS后发现与自己的IP冲突,回应NA,源地址是自己的IP,目的是所有节点组播地址FF02::1,相当于IPv4的免费ARP,Flags的R位=1表示该节点为路由器,S位=0(S位在邻居不可达检测中用作可达性确认,在组播的NA(DAD)和主动发送的 NA 中,S 比特一定不能置 1),O位=1表示更新当前缓存的链路层地址,option携带的target链路层MAC是自己的MAC,通告自己的IPv6和MAC对应关系。

3.        R3收到后提示冲突。

1      总结

1.        设备访问同网段的未知链路层地址的目的IP时,会先发送NS(Neighbor Solicition)消息请求 对方的链路层地址,类似IPv4的ARP请求,源MAC为接口MAC,目的MAC为目的IP的组播MAC,源IP为接口global IP,目的IP为被请求节点的组播IP(目的的IP转换所得),ICMPv6的Type=135(NS),target address为目的IP(,option为source link-layer address携带自己的源MAC

2.        被请求设备收到NS后单播回复NA(Neighbor Advertisement),源MAC是自己的MAC,目的MAC是NS的源MAC(被请求设备收到NS后已经知道NS源设备的IPv6和MAC映射关系,NS携带了自己的MAC),源IP为接口IP,目的IP为NS的源IP,ICMP Type=136(NA),Flags的R位=1表示该节点为路由器,S位=1表示收到NS后回应的NA,O位=1表示更新当前缓存的链路层地址,因为这个包是收到NS后回复的NA,因此该NA的target address为NS的报文的target address,Option为target link-layer address携带的是此NA消息发送者的链路层地址,回应组播NS的NA必须包含此选项。

3.        DAD(Duplicate Address Detect)通过NS消息实现,发起方发送NS消息,源IP是未指定IP(::),目的IP为自己配置IP的节点请求组播地址,ICMPv6的target address为自己配置的IP。

4.        如果没有冲突就没有设备回复消息,有冲突冲突设备回复NA消息,NA消息相当于IPv4的免费ARP,发送给所有设备,源地址是自己的,IP目的是所有节点组播地址FF02::1, Flags的R位=1表示该节点为路由器,S位=0(S位在邻居不可达检测中用作可达性确认,在组播的NA(DAD)和主动发送的 NA 中,S 比特一定不能置 1),O位=1表示更新当前缓存的链路层地址,option携带的target链路层MAC是自己的MAC,通告自己的IPv6和MAC对应关系。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:IPv6实验MTU和PMTU(ipv6和beta)
下一篇:java设计模式理解依赖于抽象不依赖具体的分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~