摘要

  • RFC 1075 的 Non-Membership Report 表示发送路由器对某个组没有后代成员;它只让上游路由器在给定时限内停止把该组发往该路由器。
  • 它既不是主机离组消息,也不是“全网无人接收”的证明:本地成员、反向路径树、下游范围和实际交付仍是不同事实。
  • NMR Cancel 会撤销先前对应的负面报告;取消与到期并非附属细节,而是报告含义的一部分。

一条带坐标和期限的否定

1988 年的 RFC 1075 把 DVMRP 描述为实验性协议,并明确说当时不建议实现。它围绕从源网络反向构造的转发树工作。问题不是给一个组播组判定“是否存在”,而是在已知某个下游方向没有接收者时,避免继续复制每一个数据报。

NMR 正是为此设计。每个列出的组播地址都附带一个以秒计的 hold-down time。发送者报告自己没有该组的“后代成员”;接收者可以在那段时间内停止向发送者转发该组的数据报。三个限定词不能略过。“后代”把知识限制在树中的一个方向;能采取动作的是接收这份报告的上游路由器;时限则让否定状态天然失效。它从未把某个分支的静默升格为全局事实。

所以,“下方无人”不能证明别处没有主机加入,不能说明另一路分支没有接收者,也不能说明源仍在发送、反向路径没有变化,或应用收到了有用内容。它不认证报告者,不授予发送权,也不保证数据到达。它只是一个路由器在某时刻、针对某条后代方向所作的负面汇总。

主机加入不是整棵树的发言

RFC 1112 使边界更清楚。它规定 IP 组播的主机扩展和主机组的加入、离开,同时说明组播路由器内部及相互之间的算法对主机透明,应由其他文档规定。本地成员信息与上游分支的转发决定有关联,却不是同一层的命题。

因此 NMR 不是把某个主机离组逐字翻译给上游。它是下游路由器对自身后代成员缺席的汇总。上游可以一直抑制该分支,直至时限届满。若收到 NMR Cancel,则应取消对应的先前报告;若没有对应报告,RFC 1075 要求对该地址忽略取消。负面状态必须找到自己的前身,不能被一句脱离上下文的“恢复”随意改写。

到期让节省保持可撤销

保持时间并不保证之后不会出现新听众,也不冻结拓扑或路由。它只规定上游可依据这份下游声明行动多久。对之后的“无流量”记录,仍应同时保存源、组、报告路由器、接口或邻居、树/路由时期、报告时刻、时限及取消或到期状态。否则,一个过期或错分支的信号很容易被写成永久结论。

较晚且并不等同的 RFC 4601 在 PIM-SM 中分列了本地成员、接口 join/prune、邻居存活和反向路径状态。它不是 DVMRP 的说明书,却提醒我们同一个组名不会让缺席报告、路径选择、邻居关系和交付结果自动合成一个事实。

来源与边界

RFC 1075 支持 DVMRP 的实验性地位、NMR、保持时间和取消机制;RFC 1112 支持主机/路由器边界;RFC 4601 仅作后来的范围对照。这些来源均不能证明当前部署、特定实现、事故、全球接收者缺席、身份认证、授权或应用效果。