摘要

  • RFC 5270 定义的四个本地原语并非同一状态的不同名字:NEW_LINK_DETECTED 报告候选,LINK_HANDOVER_IMPEND 报告链路层决定,LINK_SWITCH 是 IP 向链路层下达的命令,LINK_UP 只确认新链路接入完成。
  • 在 LINK_UP 之后,IP 层仍须区分同一子网、预测式、反应式与误入网络四种情形,还要处理 NCoA、DAD、UNA、缓存包和应用结果。链路凭证不是服务凭证。

四个动词不能压成一个状态

发现一个邻站,是观察;选择目标,是决策;要求无线侧切换,是控制;在新站完成网络接入,是执行结果。四者的生产者、方向和证据范围都不同。

数据库若只保留一个 handover_status=success,表面上统一了系统,实际上删除了因果关系。调查者无法回答:发现是否经过验证,目标依据哪一版拓扑,FBack 是否在旧链路断开前到达,切换命令是否真的执行,以及链路接入后为何仍走了恢复分支。

RFC 5270 是 2008 年发布的 Informational 文档,它把 IEEE 802.16e 硬切换映射到 RFC 5268 的 FMIPv6。RFC 5568 后来取代 RFC 5268。因此,本文不把旧报文格式当作当代部署权威,而把这套状态机当作分层证据的清晰样本。

新邻站只产生调查义务

基站可周期广播 MOB_NBR-ADV),列出邻近 BSID 与信道。扫描提供动态链路质量,可选的 association 还可收集 ranging 参数与服务可用性。链路层发现新基站时,向 IP 层发出 NEW_LINK_DETECTED`。

这个信号的含义不是“下一跳已确定”。IP 层随后通过 RtSolPr/PrRtAdv,把无线侧 BSID 解析到接入路由器信息。无线候选与 IP 拓扑之间需要一条可验证的映射。

安全章节说明了为何必须保留来源。有些 802.16e 广播管理报文没有认证。攻击者可以伪造大量不同 BSID,让节点连续触发发现并浪费空口与 RtSolPr 资源。扫描用于核验邻站。原语在节点内部,不需要网络保护;触发它的外部前提却可能是假的。

“即将切换”描述的是计划

当链路层收到切换请求或响应并选定目标,它发送 LINK_HANDOVER_IMPEND。IP 层先判断目标是否在不同子网;若需要跨网,则构造预期的 NCoA,发送 FBU,并让 PAR 与 NAR 通过 HI/HAck 准备转发。

这是一项真实决定,却仍然是对未来位置的预测。RFC 4907 警告链路指示会受瞬态条件影响,不能只凭信号强度,宜与信标丢失等证据结合。真实、完整、经过认证的决定,也可能基于过期映射或错误前提。

因此记录必须包含目标、策略输入、测量窗口、拓扑版本和决定时间。只保留“即将发生”会让计划在事后冒充事实。

有一个信号方向相反

LINK_SWITCH 从 IP 层向链路层下行。系统可以暂缓发送 `MOB_HO-IND),等待旧链路收到 FBack,然后由 IP 命令无线侧切换,以尽量保持 predictive mode。

命令被发送,不等于物理切换完成。命令的发出者拥有意图凭证,链路状态机才拥有执行凭证。如果事件平台丢掉方向,就无法区分“无线层通知 IP”和“IP 要求无线层行动”,责任边界也随之消失。

MOB_HO-IND 的时点尤其重要:服务基站收到后会释放连接和资源。若 FBack 尚未到达,节点很可能转入 reactive mode。“旧链路断开前未收到 FBack”不是空值,而是解释后来分支的负证据。

LINK_UP 之后才确认位置

节点与目标基站同步,完成 ranging、能力协商、密钥管理、注册和服务流创建;若骨干提前转移上下文,部分步骤可以省略。链路层准备好传输数据后,才发出 LINK_UP。

这个信号在自身范围内很强:它由链路状态机生成,比瞬时信号变化稳定。但它不知道 IP 是否到达了预测网络。

若目标仍属同一子网,无需 FMIPv6。若到达预测网络且旧链路已收到 FBack,节点走预测式路径并发送 UNA。若未收到 FBack,则在新链路发送 UNA 与 FBU。若实际进入另一个网络,还要重新发送 FBU,纠正此前绑定并把包转到已确认位置。

同一个 LINK_UP 后面可以接四条互斥路径。因此它不能成为统一的“切换完成”。

地址权威比绿灯更晚

节点先用自己构造的 NCoA 作为 UNA 源地址,随后启动 DAD。NAR 还可能通过带 NAACK 的 RA 提供另一地址,节点必须改用它。无线可发送数据,并不等于地址已经唯一且被网络接受。

NAR 收到 UNA 后更新邻居缓存并转发缓冲包。这里的凭证只能说明它执行了释放,不能说明节点完整收到、传输连接存活或应用完成业务。

一份可审计的切换凭证应连接:广告来源与扫描、BSID 到路由器映射、目标策略、LINK_HANDOVER_IMPEND、FBU/FBack、断链窗口、LINK_SWITCH 命令与执行、认证后的网络接入、LINK_UP、实际网络、分支选择、最终 NCoA、DAD、UNA、首个双向包及应用确认。保留这些边,远比保留一个绿色结果重要。

来源