IPv6 NA RTR/SOL/OVR标志位,单播多播选择,ndppd代理和kernel配置

NA消息用单播还是多播的判断理由

  • 单播回复(Unicast):
    • 如果客户端发送 RS 消息时,使用的是一个全局地址或链路本地地址作为源地址,则 RA 消息会单播回复到客户端的源地址。
    • 这种方式减少了网络中的广播流量,仅回复给请求的客户端。
  • 多播回复(Multicast):
    • 如果 RS 消息的源地址为未指定地址(::,通常出现在刚启动或接口初始化时),则 RA 消息会通过多播发送到所有节点多播组地址(ff02::1)。
    • 这是因为路由器不知道具体哪个客户端发送了 RS 消息,或者 RS 可能针对多个客户端需求。
  • 相关说明在RFC4861

NA消息 RTR,SOL,OVR标志位

RTR 标志位(Router Flag)

表示发送 NA 消息的节点是否是一个路由器。

  • 取值:
    • 1:发送此 NA 消息的节点是路由器。
    • 0:发送此 NA 消息的节点不是路由器。
  • 作用:
    • 如果 RTR=1,接收方可能将其记录为路由器,用于默认网关等功能。
    • 如果 RTR=0,接收方会认为发送方只是一个普通主机。
  • 设置规则:
    • 路由器在发送 NA 消息时,通常会将 RTR 设置为 1。
    • 普通主机在发送 NA 消息时,RTR 应设置为 0。
  • 配置影响:
    • 需要在路由器启用 IPv6 转发功能(net.ipv6.conf.all.forwarding=1)并通过邻居发现协议正确声明自己为路由器。

SOL 标志位(Solicited Flag)

表示该 NA 消息是否是对特定的 Neighbor Solicitation (NS) 消息的响应。

  • 取值:
    • 1:该 NA 消息是响应一个特定的 NS 消息(即 solicited NA)。
    • 0:该 NA 消息是一个 unsolicited NA 消息。
  • 作用:
    • Solicited NA 消息: 用于更新邻居缓存表。
    • Unsolicited NA 消息: 用于广播特定地址的所有权声明,防止地址冲突。
  • 典型场景:
    • 如果节点接收到对自己地址的 NS 消息,会发送带 SOL=1 的 NA 消息作为响应。
    • 如果节点主动通知网络其地址的变化,会发送带 SOL=0 的 NA 消息。
    • 如果是对 NS 消息的直接响应,SOL=1。如果是广播性质的地址声明,SOL=0。

OVR 标志位(Override Flag)

决定接收节点是否应该覆盖其现有的邻居缓存表条目。

  • 取值:
    • 1:接收节点应更新现有的邻居缓存条目。
    • 0:接收节点不应覆盖现有的缓存条目。
  • 作用:
    控制邻居缓存表的更新策略:
    • OVR=1:表示发送方地址信息应被接收方用于更新邻居缓存表。
    • OVR=0:接收方仅在当前条目为 "stale" 状态时更新缓存表。
  • 设置规则:
    一般情况下,节点会在以下场景下设置 OVR 标志:
    • 地址信息确实发生变化,需要通知邻居更新。
    • 确保邻居缓存条目不会因为错误的消息覆盖有效条目。

ndppd代理和linux kernel发送na

  • 如果 net.ipv6.conf.all.forwarding=1,系统内核会自动为启用的接口处理 NS 消息,并发送 NA 消息。
  • ndppd 的目的是接管系统内核的部分 NDP 功能,特别是在 Proxy NDP 场景下。如果未正确配置,ndppd 和系统内核可能同时响应同一个 NS 消息,导致发送两条 NA 消息。网络抓包时,可以看到同一接口上对一个 NS 消息发出两条 NA 消息,可能来自内核和 ndppd。两条 NA 消息可能携带不一致的标志(如 Rtr 或 Ovr),或声明的链路层地址不同。

ndppd和linux kernel设置是否发送na

linux kernel控制发送na的参数,比如设置为1的demo如下:

shell 复制代码
sysctl -w net.ipv6.conf.<interface>.proxy_ndp=1

ndppd的demo:

shell 复制代码
interface eth1 {
  proxy eth0 {
    router yes
  }
}
相关推荐
wenzhangli71 小时前
oodAgent 4.0 Skills分布式调度 — 从Code Agent实战看自主维护的Agent网络
运维·网络·人工智能·自动化
做个文艺程序员1 小时前
Linux第12篇:性能监控与瓶颈分析——CPU/内存/IO/网络全维度
linux·运维·网络
WZF-Sang2 小时前
网络基础——2
服务器·网络·c++·学习·网络编程·php
智慧光迅AINOPOL3 小时前
校园光网络POL方案优劣势分析
网络·全光网解决方案·全光网·校园全光网·校园全光网解决方案
wang_shu_mo_ran3 小时前
网络编程(一):网络编程初识
运维·服务器·网络
AI 小老六4 小时前
Agent 工程化新底座:用 CLI 契约层打通 HTTP 接口与业务能力
网络·人工智能·http·ai·架构
CoreTK芯通康EMC整改5 小时前
2026 华南 EMI 整改服务商推荐
网络·经验分享·emc整改案例·emc整改
cft56200_ln5 小时前
gPTP Master 报文目的 MAC 地址
运维·服务器·网络
星恒讯工业路由器5 小时前
配网自动化多网融合方案
网络·物联网·信息与通信·工业路由器·多网融合·配网自动化·双模路由器