PTP协议精讲(2.8):逐链路精准测量——P2P延迟测量机制详解

2.8 逐链路精准测量:P2P延迟测量机制

如果每一段路都有"测速仪"

想象你在高速公路上开车,想知道从北京到上海需要多长时间。

方法一:记录起点和终点时间

你从北京出发时看表:8:00

你到上海时看表:16:00

总时间:8小时

但这个时间包含了:

  • 真正的行驶时间
  • 服务区休息时间
  • 堵车等待时间
  • 吃饭时间

你不知道哪一段路花了多久。如果济南-南京段花了2.5小时,而正常只需要1.5小时,你怎么发现问题?

方法二:每段路都有测速仪

高速公路在每个路段都安装了测速仪,记录你进入和离开每段路的时间:

  • 北京-天津段:1小时
  • 天津-济南段:2小时
  • 济南-南京段:2.5小时 ← 比预期长,可能有堵车
  • 南京-上海段:2.5小时

你可以精确知道每一段的时间,更容易发现问题。

PTP的两种延迟测量机制,就像这两种方法:

  • E2E机制:测量整个路径的总延迟(只知道总时间)
  • P2P机制:逐链路测量延迟(知道每段路的时间)

P2P机制的基本原理

核心思想

P2P(Peer-to-Peer,对等)机制的核心思想:让每两个相邻端口之间相互测量链路延迟。

不像E2E那样由从时钟测量到主时钟的整个路径,P2P让每个链路两端的设备各自测量自己之间的延迟。

比喻:就像高速公路上每两个收费站之间都有测速仪,各自记录车辆通过的时间。

消息交换过程

P2P机制涉及三类报文:

  1. Pdelay_Req:请求者发送,请求测量链路延迟

  2. Pdelay_Resp:响应者回复,携带接收时间戳

  3. Pdelay_Resp_Follow_Up(可选):响应者发送,携带发送时间戳

    请求者(A) 响应者(B)
    |------ Pdelay_Req (t1) --------------->| (t2)
    |<----- Pdelay_Resp (t4) ----------------| (t3)
    |<----- Pdelay_Resp_Follow_Up (可选) ----|

四个时间戳:

  • t1:请求者发送Pdelay_Req的时间
  • t2:响应者接收Pdelay_Req的时间
  • t3:响应者发送Pdelay_Resp的时间
  • t4:请求者接收Pdelay_Resp的时间

与E2E的关键区别

特性 E2E机制 P2P机制
谁发起测量 从时钟 每个端口(无论主从)
测量对象 主时钟到从时钟的整个路径 两个相邻端口之间的链路
报文类型 Sync + Delay_Req + Delay_Resp Pdelay系列
透明时钟处理 E2E TC转发Delay_Req/Resp P2P TC丢弃Delay_Req/Resp

P2P机制的核心公式

与E2E类似,P2P也使用四个时间戳计算延迟:

复制代码
meanLinkDelay = [(t2 - t1) + (t4 - t3)] / 2

但有一个关键区别 :这四个时间戳来自 两个相邻端口,而不是主时钟和从时钟。

响应者的"周转时间"(t3 - t2)会被减掉,不影响测量结果。这就像收费站记录车辆通过的时间,不管收费员花了多久处理。


P2P透明时钟的关键处理

P2P透明时钟不仅要测量驻留时间,还要测量链路延迟:

复制代码
Sync.correctionField += residenceTime + meanLinkDelay

关键点 :meanLinkDelay是 入口链路的延迟(上一段路的时间)。

结果 :从时钟收到Sync报文时,路径延迟已经被P2P TC逐段累加到correctionField中了。从时钟 不需要 发送Delay_Req。


适用场景

P2P机制特别适合以下场景:

场景 为什么用P2P
TSN网络(IEEE 802.1AS) 工业自动化需要快速收敛
电信网络(ITU-T G.8275.x) 大规模网络,负载分散
White Rabbit 亚纳秒级同步要求

关键限制 :网络中 所有设备必须支持P2P。如果有普通交换机(不支持P2P),P2P机制会失败。


小结:记住这几点

类别 关键内容
核心思想 逐链路测量,每个端口独立测量与对端的延迟
核心公式 meanLinkDelay = (t2-t1)+(t4-t3)/2
P2P TC处理 累加驻留时间 + 链路延迟到correctionField
网络要求 所有设备必须支持P2P
优势 负载分散、快速收敛、逐段诊断


📌 本文是精简版,完整版见 GitHub

GitHub 完整版额外包含:

  • one-step与two-step模式的详细区别和实现
  • P2P与E2E的深度对比(测量粒度、不对称处理、收敛速度)
  • P2P透明时钟的完整工作流程
  • 完整的P2P网络示例(含多层TC的correctionField累加)
  • P2P机制的实现挑战

🔗 完整版见 GitHub :https://github.com/Lularible/ptp-book

⭐ 如果本书对你有帮助,点一个 Star 就是对我最大的支持

相关推荐
miofly11 分钟前
NVIDIA 将 Run:ai 平台全面开源,纳入 DSX AI Factory 体系
开源·github
注塑机数据采集联网13 分钟前
注塑机数据采集网关读取注塑机工艺/SPC数据计算原理
大数据·网络·数据仓库·物联网·智能路由器·制造
mmsx25 分钟前
Android APK 加固方案怎么落地:从加壳到校验的组合取舍
android·网络·安全·签名
万物智能信息科技27 分钟前
鸿蒙RS232驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
驱动开发·华为·开源·harmonyos·鸿蒙
blueSatchel38 分钟前
framebuffer注册源码解读
linux·嵌入式
空堂与归1 小时前
百度开源 LoopVL:1B 循环视觉模型省 260 倍数据
人工智能·百度·ai·开源
智购科技无人售货机工厂1 小时前
MQTT还是HTTP?无人售货机弱网通信协议选型与带宽优化实战~YH
网络·网络协议·http
miofly1 小时前
GitHub 今日推荐|MOSS-Image:靠坐标框精确控制文字排版的图像生成模型
python·开源·github
SL_staff1 小时前
周报越厚问题越拖?用结构化执行机制让周报回归决策价值
java·spring cloud·开源
西安同步电子2 小时前
卫星信号丢失怎么办?NTP 网络校时服务器的守时能力
运维·服务器·网络