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
  }
}
相关推荐
qq_243050792 小时前
dnsmap:DNS枚举 详细完整教程 Kali Linux&Termux入门教程 黑客渗透测试 信息收集
linux·网络·安全·web安全·网络安全·系统安全·ddos
芒果爱编程2 小时前
MCU、ARM体系结构,单片机基础,单片机操作
开发语言·网络·c++·tcp/ip·算法
小春学渗透4 小时前
DAY168内网对抗-基石框架篇&单域架构&域内应用控制&成员组成&用户策略&信息收集&环境搭建
网络·安全·架构·内网攻防
Pou光明5 小时前
1_linux系统网络性能如何优化——几种开源网络协议栈比较
linux·运维·网络·网络协议·开源
路-buan5 小时前
华为eNSP:VRRP的主备备份
网络·华为·智能路由器
feing.5 小时前
路由介绍.
网络
Tony聊跨境5 小时前
如何绕过IP禁令
网络·网络协议·tcp/ip·智能路由器·ip
C++忠实粉丝6 小时前
计算机网络之NAT、代理服务、内网穿透、内网打洞
网络·c++·网络协议·计算机网络·http·智能路由器
qq_254674416 小时前
华为 生产网解决方案,加速制造业数字化转型
网络
hanniuniu136 小时前
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
网络·网络协议·tcp/ip