摘要
- RFC 2443 让多台 ATM 组播地址解析服务器共享客户端和组成员状态,但每个客户端仍只注册到一台服务器。
- 同一来源连续两次未更新在线状态后,其他服务器必须清除从它学来的成员信息。客户端随后要向备用服务器注册,并重新加入原来的组。
三份缓存完全一致,一个来源却已沉默
设想三台 MARS 服务器都显示同一行:某客户端属于一个组播组。共享视图看起来很健康。随后,最初为该客户端登记的服务器不再发送定期的重定向状态。其余两台仍保存着完全相同的记录,但 RFC 2443 不把记录一致当成来源仍在线、或客户端仍连接的证据。连续两次收不到更新后,它们必须清除从该服务器学来的成员信息。
这一界线正是设计要点。RFC 2022 描述了 MARS(组播地址解析服务器):它在 ATM 网络上分发第三层组播的地址与连接信息。在分布式 MARS 中,一个逻辑 IP 子网(LIS)内的每台服务器都必须能回答该 LIS 中任意组播组的信息。RFC 2443 于 1998 年 11 月以 Experimental RFC 发布,将服务器缓存同步协议(SCSP)用于 MARS 服务器之间的状态复制。
复制的是记录,不是原始归属
SCSP 提供一套同步框架:服务器建立邻接关系、对齐缓存,然后传播新状态。RFC 2443 为 MARS 指定协议标识符 0x0003,并以 LIS 划定服务器组。客户端向一台服务器注册后,该服务器会把注册以及后续组成员变化传播给同组服务器。但每个客户端仍只向一台 MARS 注册,并经由这台服务器的集群控制虚电路或服务器控制虚电路接入。副本扩大了整个服务器组能看到的范围,却没有把客户端原来的控制关系复制成多个独立归属。
复制也没有解决标识符由谁分配的问题。每个 MARS 客户端都需要在整个 LIS 中拥有唯一的集群成员标识符。RFC 2443 假设每台服务器配置互不重叠的标识符区间;外部协调机制可以承担分配,但不在本文范围内。多台数据库可以一致地复制一个冲突分配,却不会因此产生一个负责避免冲突的权威来源。
心跳是让旧知识失效的规则
每台服务器至少每两分钟刷新一次 MARS Server Redirect Entry,RFC 建议每分钟刷新。某个来源连续两次没有更新时,其他服务器必须清除从该来源学到的全部客户端与组成员信息。这不只是更新备用服务器列表:它把状态的新鲜度归属于明确的来源,并把失效操作限定在依赖该来源的数据上。
接下来要行动的是客户端。客户端检测到自己的 MARS 故障后,选择一台备用服务器并尝试注册;只有注册成功,才重新加入之前的组。若失败,它会继续尝试其他服务器。重定向映射只能告诉客户端可以尝试去哪里,并不能证明这个客户端已经迁移、注册、恢复组成员关系或重新收到组播流量。
同样,恢复一条成员记录,并不能证明 ATM 点到多点虚电路已经重建,也不能证明数据包抵达了应用。这些是不同的运行步骤。在真实网络中,控制面的一条复制记录只是行动的输入,不是行动成功的回执。
身份验证划出了信任边界,也放大了影响范围
RFC 2443 本身没有加密 MARS 专用的缓存状态字段,而是引用 SCSP 通用部分的安全机制。身份验证可以让服务器丢弃未经认证的伪造数据包;但该 RFC 也明确指出,一台经过有效认证的服务器所发来的状态会被信任,并继续传播至整个服务器组。因此,一台可信服务器遭到攻陷,就可能从源头污染整个共享数据库。认证限制了谁能发言,却不能保证获准发言者提供的状态为真,也不能隔离被攻陷节点的影响。
2004 年的 RFC 3790 指出,RFC 2443 为 IPv4 提供默认值,也可通过适当的 IANA 定义扩展到 IPv6。这是对已写入规范的扩展设计的记录,不是实现或部署的证据。RFC 写明协议要求与风险提示,却不证明它被部署了多少次,也不证明每个实现都照此运行。
因此,长期教训不只是“复制提升可用性”。还要问:每条状态由谁产生,来源最近何时被观测,来源证据失效后哪些数据必须撤销,下一步又由谁执行。然后分别检查注册、重新加入组、虚电路建立、数据转发和应用接收。三份缓存可以对过去达成一致;只有仍在线的客户端和真正工作的数据路径,才能证明组播服务已经恢复。
来源
- RFC 2443 — A Distributed MARS Service Using SCSP
- RFC 2334 — Server Cache Synchronization Protocol
- RFC 2022 — Support for Multicast over UNI 3.0/3.1 based ATM Networks
- RFC 2149 — ATM 多协议 BOF 的 IP over ATM 工作组建议
- RFC 2335 — 分布式 NHRP 服务
- RFC 2366 — 使用 SMIv2 管理传统 IP 与 ATM ARP 对象的定义
- RFC 3790 — IPv4 Addresses in the IETF Internet Area
- RFC 2443 — RFC 编辑部记录
- RFC 2443 — IETF Datatracker 记录
- RFC 2443 — RFC 编辑部勘误查询
- Heng Lu — Running-Code Primacy
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
