摘要

  • RFC 3116 要求发送端与接收端的时间戳可以对应,并建议由同一条至少 100 MHz、10 ns 分辨率的时钟信号驱动;时间戳位宽、计数器回卷值和精度也必须披露。
  • 同一设备在一个、十二个或最大数量的 VCC、稳定流量或突发负载、不同承载类别下会形成不同分布。图表描述的是有边界的试验,不是生产服务承诺。

两个数相减之前

RFC 2761 把 Cell Transfer Delay 定义为:某个 cell 在测量点一发生离开事件,到同一 cell 在测量点二发生进入事件之间的时间。定义只有一行,真正困难的工作却都在“同一 cell”和“同一时间尺度”里面。

2001 年 6 月发布的 RFC 3116 是一份 Informational 方法文档。它不是 ATM 标准,也没有公布厂商排名。它试图让不同设备的测试结果具备可比较条件。为此,发送和接收仪器最好共用至少 100 MHz 的时钟信号,文档把它写成 10 ns 分辨率。测试 cell 中要有能够与接收观察对应的发送时间戳。

计数器不是无限长。到达最大值以后,它会回到零。如果 cell 在回卷前发送、回卷后到达,直接相减可能得到负数或荒谬的大值。因此,最大时间戳值必须记录;测试 cell 的说明必须包含时间戳位数、回卷值和以纳秒表示的精度。首选的是封装在有效 IP 包中的 O.191 cell;采用替代格式时,格式本身不能隐身。

因此,性能证据在 cell 进入交换机之前就已经开始。钟源、采样点、计数器时代以及发送观察与接收观察的配对规则,都属于这个数字的证据链。被测交换机并不拥有秒表。

同一钟源不等于全链路准确

共同频率基准可以消除一类漂移,却不能自动证明相位、布线、校准和捕获位置。发送时间戳可能早于物理离开点,接收时间戳可能晚于物理进入点。两个计数器即使都很精密,也可能精密地错开。

同时代的 RFC 2679 在 IP 单向时延中进一步区分了同步、准确度、分辨率与漂移,还区分了 host time 和 wire time。RFC 2330 给出了 IPPM 框架;后来的 RFC 7679 取代 RFC 2679,却没有把时间戳升级成自证事实。

IPPM 测的是 IP 路径,RFC 3116 测的是受控 ATM 设备试验,两者不能混成同一规范。它们的共同点是历史性的:测量仪器必须留在结论里面,不能只把一个差值交给读者。

“100 MHz”也不能被改写成“端到端准确到 10 ns”。前者是对共同时钟输入的要求;事件捕获的准确度、计数器相位和线缆延迟仍是另外的事实。

队列也参与写下结果

可靠时钟并不能让延迟脱离负载。ATM 交换机要在虚电路之间复用 cell、安排不同承载类别并吸收突发。RFC 2761 的 Cell Delay Variation 本来就要求说明流量负载、方向、分布和积分时段。

RFC 3116 因而分别测试一个 VCC、十二个 VCC 和设备支持的最大 VCC 数量,也区分稳定负载、突发 UBR、VBR 与混合负载。报告要列出包大小、包速率、承载类别、VPI/VCI、PCR、SCR 与 MBS。不是吞吐量测试时,负载不应超过线路速率的 90%。

计时之前,测试仪要比较计数,确认连接与负载。如果数量对不上,就降低发送速率。这个动作不是为了让结果好看,而是防止一场已经发生丢失或过载的实验仍被错误标成纯延迟试验。

文本、曲线和直方图分别保留配置、时间变化和分布形状。平均数会吞掉长尾,最大值又会隐藏发生频率。RFC 3393 与 RFC 5481 后来继续说明:不同 delay variation 算法即使单位相同,也未必回答同一个问题。

试验有前后边界

一次 trial 不只是按下开始键。必要时先注入 PNNI 路由更新并等待稳定,再按照 RFC 2225 完成 ATMARP 地址解析,然后施加负载;结束后等待残余 IP PDU,再让系统恢复至少五秒。

地址解析证明测试能够找到目的 ATM 地址,不证明延迟合格。路由等待减少瞬态,不证明所有控制面状态已经完成。等待残余包是为了不污染下一轮,不会把迟到包变成成功交付。

基本刺激时间至少 60 秒;若方差仍高,建议至少 300 秒。更长的窗口不是正确性的仪式,而是承认短窗口可能制造稳定假象。

RFC 1242 与 RFC 2544 已经形成 BMWG 的分工:术语说明“测什么”,方法说明“怎样测”。RFC 2761 命名 ATM 指标,RFC 3116 约束采集与呈现。一个名称定义得再漂亮,也不能替代过程记录。

总数不能自动定位责任

RFC 3116 允许把多个互连设备当作一个 system under test,取得端到端经验值。代价是归因变弱。它明确警告:总数可能遮住设备之间的不对称,也可能把其他设备加入的时延一起算进去。

一对可信时间戳能说明所声明边界内经过了多久,却不能单独定位内部队列、调度决定或故障部件。要做内部归因,需要更多观察点;要谈生产表现,还需要当时的真实路径、配置与负载。

文档没有提供任何具体厂商测试结果。把方法文档写成胜负史,会凭空增加来源没有的事实。

数字是一条共同保管链

流量发生器决定刺激,钟源提供参照,捕获硬件写下事件,计数器保存或丢失时代,被测系统在特定配置下转发,报告者重建回卷并聚合样本,读者判断两次试验是否拥有共同分母。

其中任何一环消失,数字仍可能格式正确。10 ns 的 tick 不是 10 ns 的端到端准确度;直方图不是 SLA;cell 延迟不是应用体验;RFC 发布也不证明某个厂商照做过。

RFC 3116 的持久贡献,是让时钟、计数器与负载无法轻易从图表上消失。纵轴上的点必须携带它的测量历史。

来源

  1. https://www.rfc-editor.org/rfc/rfc3116.txt
  2. https://www.rfc-editor.org/info/rfc3116
  3. https://datatracker.ietf.org/doc/rfc3116/
  4. https://www.rfc-editor.org/rfc/rfc2761.txt
  5. https://www.rfc-editor.org/rfc/rfc2544.txt
  6. https://www.rfc-editor.org/rfc/rfc1242.txt
  7. https://www.rfc-editor.org/rfc/rfc2679.txt
  8. https://www.rfc-editor.org/rfc/rfc7679.txt
  9. https://www.rfc-editor.org/rfc/rfc2330.txt
  10. https://www.rfc-editor.org/rfc/rfc3393.txt
  11. https://www.rfc-editor.org/rfc/rfc5481.txt
  12. https://www.rfc-editor.org/rfc/rfc2225.txt