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机制的实现挑战

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

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

相关推荐
文慧的科技江湖2 小时前
光储充一体化系统落地 PRD 全功能清单 - 慧知开源充电桩平台
java·mysql·开源·springboot·慧知开源充电桩平台·充电重复订单解决方案源码
人间打气筒(Ada)2 小时前
「码动四季·开源同行」MSF辅助模块使用
开源·端口扫描·nmap·syn·auxiliary模块·服务版本信息探测·metepreter
郝学胜-神的一滴2 小时前
Python 多线程编程从入门到精通:原理+实战+最佳实践
开发语言·网络·python·pycharm
TechWayfarer2 小时前
跨境电商IP归属地API实战:如何用IP纯净度检测避开连坐封号?
网络·网络协议·tcp/ip
2401_873479402 小时前
广告反作弊怎么验证IP地理一致性?用IP地址查询工具比对定位即可
网络·网络协议·tcp/ip
wefg12 小时前
【计算机网络】应用层协议(序列化与反序列化/HTTP/HTTPS)
服务器·网络·计算机网络
指针刺客2 小时前
网络协议之WebSocket
网络·websocket·网络协议
aaa最北边2 小时前
计算机网络-断开连接的四次挥手底层细节
java·网络·计算机网络
We་ct2 小时前
EventSource & WebSocket & HTTP
前端·javascript·网络·websocket·网络协议·http·面试