learn
乱序窗口与验证:重复消除怎样才算可信
理解 FRER 恢复窗口如何处理路径延迟差异、乱序和重复帧,并学习用测试证明没有误交付或误丢弃。
第八章:冗余与可靠性抗故障IEEE 802.1CBFRER20 分钟
本节学习目标
- 理解恢复窗口要覆盖路径延迟差异和乱序。
- 知道窗口过小、过大分别会带来误判和状态成本。
- 能设计验证重复消除正确性的基础测试。
建议先读
核心概念
recovery windowduplicate eliminationreorderingsequence wrap
本章目录
- 01故障模型:FRER 到底准备防什么在设计复制路径前,先定义链路、桥设备、端口、供电、线束和拥塞等故障模型,避免可靠性结论没有对象。
- 02复制与消除:FRER 如何让故障不立刻打断关键流从序列号、复制点、消除点、恢复窗口和乱序处理理解 802.1CB FRER 的核心机制。
- 03乱序窗口与验证:重复消除怎样才算可信理解 FRER 恢复窗口如何处理路径延迟差异、乱序和重复帧,并学习用测试证明没有误交付或误丢弃。
- 04冗余路径设计:可靠性、带宽和调度复杂度的交换分析 FRER 多路径不是免费午餐,路径独立性、带宽消耗、调度可行性、延迟差异和验证成本必须一起看。
- 05复制后的资源账:FRER 怎样改变带宽和 Qbv 排表理解 FRER 副本会放大链路发送机会、队列占用和调度窗口需求,可靠性设计必须进入资源模型。
- 06故障注入测试:证明 FRER 不是只在图上可靠学习如何通过断链、端口 down、路径恢复、背景压力和重复计数器验证 FRER 的故障连续性。
- 07FRER 的边界与残余风险:可靠性不是无限承诺明确 FRER 不能覆盖 talker 故障、复制点前故障、共因故障和错误配置,学习如何把残余风险写进设计结论。
解决什么问题
复制帧走不同路径后,到达顺序不一定和发送顺序一致。快路径可能先到,慢路径可能隔几个周期才到;故障恢复时,旧副本还可能突然出现。消除点必须判断哪些是重复,哪些是真正的新帧。
本节解决的是恢复窗口的可信度。窗口太小会误判晚到副本,窗口太大又增加状态成本和异常流量压力。
背景与直觉
想象你按编号收包裹。编号 100 的快递 A 已经到达并签收,另一家快递的编号 100 晚到时应该丢弃。如果你的记录只保存很短时间,晚到副本可能被当成新包裹;如果记录保存太久,管理成本会上升。
怎么解决
恢复窗口至少要覆盖路径最大延迟差异、处理抖动和短暂乱序。设计时可以从这些问题开始:
| 问题 | 影响 |
|---|---|
| 两条路径最大延迟差多少 | 决定同一序列副本相隔多久 |
| 流周期是多少 | 延迟差会跨几个序列 |
| 是否可能故障后恢复 | 旧副本是否突然重新出现 |
| 序列号是否会回绕 | 长时间运行后的判断边界 |
| 设备状态容量多少 | 窗口能开多大 |
验证时要构造正常双路径、主路径断开、主路径恢复、慢路径延迟增加、重复副本集中到达等场景。观察应用层是否只收到一份,设备计数器是否显示重复消除,是否出现序列缺口或误交付。
带来了什么新问题
恢复窗口和调度窗口会互相影响。备用路径延迟很大时,恢复窗口要变大,但业务 deadline 可能已经无法满足。也就是说,重复消除正确不代表时间边界正确。
另一个问题是证据采集。只看应用层收到的数据可能不够,你还需要设备侧 duplicate/discard 计数器、抓包时间戳和故障注入记录。
检查点
- 如果两条 FRER 路径最大延迟差是 3 个周期,恢复窗口至少要考虑什么?
- 为什么“没有重复交付”还不能证明 FRER 备用路径满足 deadline?
掌握检查
读完本节后,先用下面这些问题校准自己,而不是只确认“看过了”。
- 1能解释为什么备用路径很慢时恢复窗口要变大。
- 2能列出验证 FRER 重复消除的关键观测项。