IPv6, DAD 工作原理详解

本文详细介绍了IPv6中的重复地址检测(DAD)机制。通过发送邻居请求到被请求节点多播地址,来验证IPv6地址在本地链路上的唯一性。如果三次请求均未收到回应,则认为该地址可用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Technorati 标签:  IPv6, IPv6 DAD

关于DAD --> duplicate address detection

IPv4是一样的,不同的是ipv6发送的目的不是广播了。而是被请求节点多播地址。

 

功能原理:

在网络中配置IPv6的地址,如果全都是手工配置,难免会配置成相同的IP地址。而IP在网络中是绝对唯一的,不能有重复的,否则网络设备都不知道该转给谁,因为这个唯一性,所以才又arp欺骗这些攻击存在。

IPv6中,只要这个邻居请求被发送到本地链路上,如果一个节点对这个请求应答,就说明这个临时单播IPv6地址已经被另外一个节点使用。在没有应答的情况下,节点A认为这个临时单播地址2001:410:0:1::1:a在本地链路是唯一的。可以分配使用。

啥都不说了,直接上图:

clip_image002

这个图就是他的原理。

 

每次系统默认一个主机在应用新的IP地址之前会发送3DAD,如果三次以后均没有收到任何回应,那么该地址被认为是可以配置在接口上的.

 

这里我用了两个路由器直连,然后故意在一边的路由器接口上面配置重复的地址。这个时候抓包得到的结果是::作为源往外发送被请求多播地址FF02::1:ff00:2,得到了回应。并且我们可以看到这里始终用的是ICMPv6 type=135.请求是,回应也是。根据上面的原理得知,如果出现了回应,那么在本地网络中一定该地址是一个重复地址。

clip_image004

在路由器上面也可以看到ciscoIOS提示有重复的地址。不能进行配置。

clip_image006

 

其实这个原理不是很难,不像ospf的交互过程需要7步,也不像LDP的邻居交互过程那样繁琐。说穿了只是一个检测地址是否重复的工作机制。主机发送出去,没有回应,三次,那么配置该地址。有回复,那么会提示三层网络设备有地址重复,只要IOS支持,一定会打印出地址重复的信息来的。仅此而已。

 

最后有两个命令,可以修改DAD的发送次数:

clip_image008

设置为非零的任何数,dad正常工作。

设置为0dad关闭,也就是说即使IP地址冲突也不会有任何提示,因为从原理上来说,根本local就没有发送dad请求。

默认肯定是打开的,这个是 IP层面的基本功能。

 

最后总结一下DAD,duplicate address detection, 请求节点多播地址. FF02::1:FFxx:xxxx, ICMPv6的类型为135.邻居请求。



本文转自 hny2000 51CTO博客,原文链接:http://blog.51cto.com/361531/642611

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值