用 GRAND 填补 IPv6 首包间隙
作者解释 IPv6 Neighbour Discovery 的一个不对称问题:主机拿到 RA 配置新地址后立刻能访问外网,但路由器尚未学到该主机的 MAC,回包需要等待 ND 解析,导致首包延迟或丢包。 GRAND(RFC 9131)让主机在新地址可用时主动发送 unsolicited Neighbour Advertisement,路由器据此在 STALE 状态创建邻居表项,从而把解析移出首包关键路径。 文章重点不是只讲协议,而是作者在 FreeBSD 内核中实现 GRAND 时补上了 RFC 4861 7.2.6-7.2.8 要求的延迟/随机化 NA 发送机制,处理多地址、anycast/proxy、链路层地址变化等场景,避免数据中心大量主机同时重启时产生组播风暴。 对关注 IPv6 部署、内核网络栈、ND 优化的读者信息密度较高,且提供 FreeBSD commit 链接。


