摘要
- RFC 2366 允许删除 MARS 客户端、MARS 服务器或多播服务器的父表行,即使关联 VC 表行仍存在或仍在使用;后续清理由代理或管理站另行完成。
read-create只是模型允许的最高访问能力,合规实现可以只读;活动表行、计数器、故障通知或成功 SET 都不能单独证明电路已拆除或数据已送达。
一条记录从管理界面消失,很容易被理解为它所代表的资源也消失了。RFC 2366 最值得重读之处,恰恰是它拒绝了这种整齐的等号。
marsClientRowStatus 可以创建、修改和删除客户端表行。表行进入活动状态前,相关列必须配置完整,统计表中也必须已有对应行。然而在删除时,规范明确允许关联表中的记录继续存在或继续被使用,并直接以 marsClientVcTable 为例。删除之后,代理或管理站应在“可能的情况下”再通过 SET 清掉陈旧记录。
这不是级联删除,而是两个独立阶段。第一阶段改变管理模型中的父行;第二阶段核对并处理依赖项。两者之间,剩下的 VC 行可能对应仍在工作的电路,也可能只是没有及时清理的影子。单看表行,无法判断是哪一种。
同一规则还出现在 MARS 服务器和 MCS 的主表中。MARS 主行可以在 marsVcTable 仍有记录或仍被使用时删除;MCS 主行对自己的 VC 表也是如此。三处重复说明,这不是偶然遗漏,而是模型生命周期与 ATM 运行生命周期之间被明确保留的缝隙。
底层协议来自 RFC 2022。MARS 在 ATM 集群内发布多播成员信息;发送者可以为接收者建立点到多点 VC,也可以把数据交给 MCS 代为转发。此前发布的 RFC 2022 文章已经讨论“接收者名册不是数据电路”。RFC 2366 的独立问题不是如何建电路,而是管理系统删除一个对象后,如何证明它所关联的电路究竟发生了什么。
RFC 2366 为三个角色分别建表。客户端侧有 ATM 地址、默认 MARS、注册状态、序列号、定时器、多播地址段、备用服务器、VC 和统计;MARS 侧有服务状态、优先级、主机映射、MCS 映射、已注册成员、VC 和计数器;MCS 又有自己的注册、备份、VC 与统计视图。
这些表可以互相参照,却不能互相代替。注册成员行不是完整客户端配置,组地址映射不是已建立电路,VC 行也不是交付凭证。即使一行同时写着 VPI/VCI、组地址范围、对端 ATM 地址、PVC 或 SVC、控制类型、空闲定时器、重验证标志、封装方式和协商 MTU,它仍未说明交换设备是否保持连接、报文是否经过、每个叶节点是否收到。
表行的来源还决定了管理权限。静态配置的主机或服务器映射可由 RowStatus 操作,动态学习的行却不能用同一路径修改或删除。VC 表中,部分活动行字段可以调整,但 SVC 行不能按相同方式修改或删除。管理站看到的并不都是它拥有处置权的。
权限模型还有第二道边界。RFC 2366 中许多对象声明 MAX-ACCESS read-create,表面上允许读、写和创建。但其合规声明又把这些对象的最低访问级别降为 read-only,并反复注明不要求写权限。
因此,一个完全合规的设备可以只提供观察窗口。RFC 1904 对真正可写的对象提出了更实在的要求:收到 SET 后,代理应能对被管理实体产生合理影响。根据 ASN.1 中的最高权限就自动显示“编辑”按钮,是把模型上限误当成具体设备能力。
即便 SET 成功,证据链也没有闭合。还要知道谁通过什么安全模型被认证,VACM 允许了哪一部分视图,代理实际应用了什么值,变化是否持久,ATM 信令是否发起释放,交换机状态是否改变,流量是否停止。SNMP 响应只是管理协议的一张回执。
计数器的边界更窄。客户端累计请求、加入、离开、多段回复、NAK、迁移和等待最后一个 MARS_MULTI 的超时;MARS 与 MCS 也分别累计控制消息和已注册组数量。缺少采样时间、基线、重置点与实例身份时,数值变化本身就可能含糊。补齐这些信息后,它仍只证明代理记录过某类控制活动,不证明数据送达。
默认值与实际协商值也被分开。客户端或 MCS 行中的默认 MTU,可以与某条 VC 的协商 MTU 不同。HSN、CSN、SSN 可帮助发现遗漏的控制消息或成员变化,却不代表数据平面。marsFaultTrap 表示代理检测到故障条件;通知生成、传输、管理站接收、诊断、修复和恢复依然是六件事。
安全章节把 MIB 明确视为控制面。未受保护的 SET 可能改变、创建或删除对象并损害网络运行。即使网络层使用了加密,SNMPv1 本身也不能回答“谁有权操作”。RFC 建议采用当时的 SNMPv3 用户安全模型与基于视图的访问控制,并提醒只读访问也可能需要限制。
原因并不抽象。只读视图已经可能暴露 ATM 地址、成员关系、映射、备用优先级、VC 对端、MTU、定时器与故障状态。传输加密、身份认证、视图授权和业务正当性必须分别记录。
RFC 2366 自己很快又展示了一次“标识不等于语义”。它把 MIB 错误地挂在 snmpModules 下。两个月后,RFC 2417 因这个编号分配错误而取代它,把基本相同的模型重新挂到 mib-2 57。表的含义没有重写,但供实现互相找到它的公共坐标必须修正。
RFC 2366 的历史价值,不是创造了一块无所不知的仪表盘,而是给复杂系统建立了一个有边界的共同词汇。哪张表、哪类行、谁能写、谁只能读、哪些依赖仍在、哪条电路真被释放,都需要各自的证据。父行消失,只能证明父行消失。
来源
- RFC 2366:ATM 多播的管理对象
- RFC Editor 的 RFC 2366 记录
- IETF Datatracker 的 RFC 2366 历史
- RFC 2417:修正后的 MARS MIB 模块
- RFC 2022:ATM UNI 3.0/3.1 上的多播支持
- RFC 1902:SNMPv2 管理信息结构
- RFC 1903:SNMPv2 文本约定
- RFC 1904:SNMPv2 合规声明
- RFC 1905:SNMPv2 协议操作
- RFC 2274:SNMPv3 基于用户的安全模型
- RFC 2275:SNMP 基于视图的访问控制
- Lu Heng:运行代码优先
- Lu Heng:现实分层
- Lu Heng:最小初始规范
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

