摘要
- RFC 4429 引入 Optimistic 地址:DAD 尚未结束时即可有限使用,但源地址选择仍优先考虑其他合适地址。
- 对 Neighbor Discovery 行为的限制,降低了临时地址覆盖合法节点邻居缓存的风险。
- 发现冲突后地址必须取消配置;RFC 7527 只改进了对反射探测报文的判断。
在“不可用”和“已确认”之间
传统 DAD 中,Tentative 地址在检查期间不能进行普通通信。RFC 4429 增加了一个中间状态:地址已经配置到接口,可以开始受限通信,但链路上的唯一性仍未确定。进行源地址选择时,它应被视为类似 Deprecated 的地址;若检查顺利完成,便回到通常的 Preferred 或 Deprecated 生命周期。
这项设计没有把冲突变得无害。主机可以经由已经知道链路层地址的路由器发送流量,却不能假定自己已经拥有在本地链路上改写邻居状态的全部权力。
是否进入 Optimistic 状态本身也有前提:主机应当已经知道路由器的链路层地址,并且能够维持这条受限转发路径。若不能在不违反限制的情况下获得或使用这些信息,地址就应保持 Tentative,等待普通 DAD 完成。
不得使用的协议动作
Optimistic 地址不能作为 Neighbor Solicitation 的源地址。Router Solicitation 应使用非 Optimistic 或未指定源地址;若使用 Optimistic 源地址,就不能携带 Source Link-Layer Address 选项。针对该地址发送 Neighbor Advertisement 时,Override 标志必须清除。
如果主机不知道某个邻居的链路层地址,就不能从 Optimistic 地址发起地址解析。它可以经默认路由器转发并等待重定向,也可以等 DAD 完成。若路由器条件无法满足,地址必须保持 Tentative,优化退回普通 DAD。
冲突仍会撤销地址
若收到源自未指定地址、目标为正在测试地址的 Neighbor Solicitation,这就是冲突证据。节点不得回复,并且必须取消配置该地址。在证据出现前,报文可能已经被错误转发,连接也可能中断。因此 RFC 4429 只建议在标识符很可能唯一时使用该机制,不建议用于手工输入的地址。
反射的探测报文
RFC 7527 处理另一种误判:DAD 探测可能被网络回送给发送者,看起来像另一个节点的声明。增强 DAD 为每次探测生成并保存一个 nonce。若返回报文带有同一 nonce,节点可以把它识别为反射并继续探测,而不是自动认定存在重复地址。这个改进修正了证据分类,并不证明地址已经归属某个节点。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
