摘要

  • mipEnable 与可创建的安全关联说明,管理接口不只是窗口,也是控制面;读取凭据和配置权限混用会污染后续证据。
  • 表项、计数器与认证失败通知必须连同写入审计、访问视图和启动周期保存,才可能回答“状态为何如此”。

先看一个常被当作“配置项”的对象:mipEnable。管理站可以请求启用或停用 Mobile IP。安全关联表中的行也可经管理创建。此后如果计数归零、登记停止或认证行为改变,操作员面对的不只是协议事件,还要判断是否有管理写入改变了系统。

因此,RFC 2006 的证据链必须从权限开始:谁能读,谁能写,什么访问视图被授权,哪次写入留下了审计。若缺少这些记录,完全正确的 MIB 读数也无法区分自然状态变化与管理员造成的变化。

这份 1996 年的标准把 MIP-MIB 放在 mib-2 44 下,依移动节点、外地代理和归属代理划分对象,只保留故障与配置管理所需、又无法从其他 MIB 推出的信息。它没有消除权力与观察的纠缠,而是把这种纠缠暴露在对象的读写语义中。

可写对象先改变了因果链

mipEntities 声明设备支持移动节点、外地代理或归属代理中的哪些角色,多个位可以同时置位;mipEnable 可请求启停 Mobile IP;mipEncapsulationSupported 列出封装能力。这些信息有操作价值,但角色位不代表实际承载了流量,写入成功不代表发现与登记活动已经全部停止,能力位也不证明某种隧道已协商并传过分组。

移动节点一侧的 mnState 有在家、已登记、等待、隔离和未知五种状态。外地代理表由收到的广告更新,广告过期后表项随之老化。计数器记录请求、广告、格式错误或被忽略的扩展,以及节点“判定”为移动或代理重启的次数。这里的动词很重要:判定移动不等于证明物理位置发生变化;从广告序列号推断重启,也不是重启原因的取证结论。

登记表把代理地址、转交地址、标志位、Identification、请求与剩余生存期、发送时间、是否接受等字段放在同一行。它根据已发请求、已收回复和重传更新,因此是一份本地记忆,不是抓包,也不是跨节点的统一交易账本。表中的“接受”只说明节点如何记录回复;登记接受本身的语义属于 RFC 2002 的边界。

角色分区保留了责任边界

外地代理计算收到和转发的有效请求、拒绝码、收到和转发的回复、认证失败及畸形消息。归属代理则维护移动绑定表,以及总体或按节点统计的服务请求、近期处理结果与累计服务时长。

不能因为两个角色的数字相等,就认定它们对应同一批请求。重传、丢失、拒绝、重启和采样时刻都可能插在中间。绑定行只证明归属代理在轮询时报告保留了某种状态;它没有看到分组是否抵达转交地址、是否完成解封装、是否跨过最后一跳,更没有看到应用是否收到数据。

数据类型也属于证据的一部分。Counter32 会回绕;剩余生存期的 Gauge32 只是轮询时刻的值;TimeStamp 依附 sysUpTime 的启动周期,并非天然对应民用时间。RFC 还明确把总服务时间定义为归属代理上次重启以来的累计值。如果不知道宽度、启动周期和采样间隔,简单相减可能制造一个并不存在的趋势。

被隐藏的密钥与被报告的地址

安全关联表以对端地址和 SPI 为索引。密钥可以经管理接口创建,但读取时必须返回零长度值。这个空值是有意隐藏秘密,而不是证明没有秘密。

违规对象会保留最近一次报告的地址、SPI、Identification、时间和原因;可选的 mipAuthFailure 在登记请求或回复校验失败时发送部分上下文。它足以启动调查,却不能单独识别地址背后的人,不能区分被入侵节点、伪造分组和过期状态,也不能证明管理站收到了每一条告警。代理报告了一次校验失败,攻击归因从这里才开始。

RFC 2006 最终给出的不是一份自动判决书,而是一套可追责的分工:实现负责分类,代理负责保存和暴露,访问控制决定可见范围,管理站可能读取也可能改写,操作员负责把这些记录与设备身份、控制日志和数据面结果对照。只有把每一层的控制者留下,运行状态才不会在仪表盘上被误认成客观真相。

来源