摘要

  • RFC 5177 允许一次 Registration Reply 在至少一个 Mobile Network Prefix 转发成功时返回顶层代码 0;同一请求里的其他前缀仍可因长度、授权或资源问题失败。
  • 显式模式下,更新请求没有带上的旧前缀必须从注册表删除并停止转发。因而“成功”可以同时伴随拒绝、安装失败和静默撤销。

设想一辆移动平台后面挂着四段网络。第一段获得授权并成功安装转发。第二段没有通过 Home Address 与前缀的配对检查。第三段有权使用,却因设备或内存资源不足而没有转发。第四段昨天还在运行,但今天构造请求时被漏掉。

RFC 5177 并不要求这四个结果压成一个共同成败。第一段足以让顶层回复成为成功;第二、三段分别由逐前缀确认返回错误;第四段则因为“未出现”而被删除。

如果监控只保存顶层代码,它保存的不是摘要,而是幸存者偏差。

两层代码回答两种问题

显式模式为每个 Mobile Network Prefix 放置一项 Mobile Network Request 扩展。Home Agent 先查 Prefix Table,确认 Mobile Router 的 Home Address 是否与该前缀配对。没有配对时返回 MOBNET_UNAUTHORIZED;通过后还必须尝试建立转发,资源不足则返回 MOBNET_FWDING_SETUP_FAILED;非法长度另有代码。

这些结果都写在逐前缀的 Mobile Network Acknowledgement 中。顶层 Registration Reply 只回答“是否至少有一个完成转发”。有一个就为 0;全部失败才是 HA_MOBNET_ERROR。

因此,顶层绿色状态没有包含分母。1/1 和 1/40 都可能显示相同的 0。协议没有说整组一致,只说非空子集成功。

遗漏不是保持原状

更新已有绑定时,Home Agent 必须把注册表中的旧前缀与本次请求逐一比较。旧表里有、请求中没有的前缀必须被删除,相关转发也必须关闭。

这是一种集合替换语义。它便于有意撤销,却把请求生成器的完整性提升为连续性控制。配置副本滞后、控制器分裂或字段截断,都可能把“没拿到数据”变成“请删除网络”。消息仍然可以通过认证,Home Agent 也可以完全按标准执行。

所以审计不能只问这次新增了什么。它要同时保留更新前集合、业务期望集合、实际上线集合和更新后集合,并计算差集。没有批准记录的遗漏,应当被当成待解释的撤销。

认证并没有替每个前缀授权

显式扩展受到 Mobile IPv4 注册认证保护,并参与认证值计算。这证明消息在相应信任关系中未被改写,却不证明请求者有权锚定其中每一段地址。

RFC 5177 要求 Home Agent 在建立前缀转发前单独核实 Mobile Router 的权限。Prefix Table 正是这一授权面的记录。真实消息可以包含无权使用的前缀;一个前缀被拒绝,也不自动否定其他前缀。

把“已认证”写成“整网获准”,等于让密码学替授权系统作出它从未作出的判断。

Home Agent 的成功还不是全网可达

逐前缀成功表示 Home Agent 在自身控制面上接受并建立了相应转发。外部可达性还可能依赖家乡网络前缀聚合或路由传播,之后还有隧道、FIB、路径 MTU、数据包和应用响应。

标准还明确区分了移动性与拓扑变化。NEMOv4 扩展管理 Mobile Router 的移动,不负责报告移动网络内部或家乡网络的拓扑变化;动态路由协议可以通过双向隧道承担这件事。如果同一前缀同时出现在路由更新和 Mobile IPv4 请求中,两套来源可能造成 FIB 不一致,因此这种场景应使用隐式模式。

嵌套移动网络也不会被注册成功自动修复。RFC 5177 不检测物理环路;每增加一层嵌套,就多一层隧道头并降低可用 MTU。控制面局部正确与业务无法送达可以同时成立。

动态分配仍然逐项结算

RFC 6626 允许把 Prefix 置零,请 Home Agent 动态分配;长度可以是提示,不是承诺。一次注册可申请多个前缀,Home Agent 可以逐项分配,也可以返回 MOBNET_UNASSIGNED。成功分配的生命周期跟随绑定缓存。

这并没有把多个申请变成原子批次。一个获配不代表全部获配,提示长度也不代表最终长度。为了防止地址耗尽,实施还应限制单个 Mobile Router 可取得的数量与规模。

真正可靠的状态不是一个绿灯,而是一张逐前缀对账表:谁请求、谁有权、谁安装、谁消失、谁被宣告、谁真正传递了流量。RFC 5177 的价值正在于它保留了这种细粒度;问题只在于运营系统是否愿意继续保留。

来源