PTCP梳理
SoE
- SoE是基于PTCP实现的一种应用
- timeStamp + PTCP + ReportSystem就形成了完整的SoE功能。
时钟同步和时间同步
- 事实上,就技术而言,IRT和SoE在实现上都是基于sync(RT_Class_3)去做的
- IRT是基于时钟同步实现的数据等时同步实时通信,有非常严格的执行要求。它的同步错误是非常严重的,会掉站,属于Error.
- IRT系统中使用非IRT设备,会使IRT失效,因为同步失效
- IRT系统相邻的非IRT设备也有可能引起IRT失效(比如错误的转发了测量帧,然后被其他透明时钟节点错误的回复)
- IRT需要拓扑视图,因为快速+准确性要求,要求系统知道邻居设备的相互关系;SoE不需要,因为LLDP只管发送。
- SoE的核心是PTCP,基于时间同步实现所有设备之间对时。对时结束后时间戳的传递依旧基于RT发送。所以SoE的同步错误只会引起维护事件,不会对PN系统造成严重的影响
- IRT是基于时钟同步实现的数据等时同步实时通信,有非常严格的执行要求。它的同步错误是非常严重的,会掉站,属于Error.
SoE中的时间概念
- 授时设备:用于获取绝对时间,卫星也好,标准的对时装置也好,对于系统来说就是一个标准的授时设备。它的目的是定期把准确的时间发给PTCP时钟域中的"主时钟"。
- 主时钟:PTCP的时钟域里面,需要存在一个主时钟。主时钟向所有从属的从时钟发送同步帧。
PTCP的步骤
- 测量延时
- 同步
重要的同步帧
- PTCP-DelReq
- PTCP-DelayRes
- PTCP-FollowUp
- PTCP-Sync
- 所有的帧都是Multicast Frame多播帧
延迟测量
- 延迟分为线延迟和桥延迟,桥延迟指的是数据处理交换等时间
- 线延迟:Tld=[(T1-T4)-(T2-T3)]/2
- T4是delreq发起的时间点
- T3是到达DelayRes设备的时间点
- T2是DelayRes设备经过内部运算耗时后发起Res帧的时间点
- T1是到达req设备的时间点
- 算出来的Tld是纯粹的线延迟时间
- 设备自身知道自己的桥延迟时间,不用发给相邻设备
- 为了确定两个节点之间的时钟漂移,这个测量过程至少连续进行两次
FollowUp
- 对于硬件不能提供时间戳的设备,需要FollowUp帧。SoE的设备一定是支持时间戳的,FollowUp帧没有意义
sync帧
- 主时钟靠多播帧进行同步,这使得所有节点使用相同的时基。每个Sync帧的接收者校正时钟并且将该帧转发给其他邻居节点,使得整个时钟域靠一个同步帧完成同步。
- 对sync帧的理解误区
- sync帧不是所有从时钟同一时刻接收到sync帧;虽然各个从设备接收到sync的时间不尽相同,但是它们都知道自己距离主时钟发出的标准时刻差了多少,所以精确计算还原除了主时钟的发送时刻。
- 主时钟的标准时刻 + 各自的延迟时间 = 系统对时后的同步时间
时间基准
- 时间同步时,各个帧发送的是以时间为单位的数字量,实际上数据可能有以下含义
- 各个帧不同的数字,是测量出来的延迟
- 各个帧中相同的数字,是当前时间减去1970:00:00:00得到的绝对时间
透明节点
- 不做任何时钟调整,但精确测量报文在自己内部卡住的时间和链路时间,然后把这段时间写进报文里
- 自己不参与同步,报文从它路过。
- 透明节点的下游设备依旧直接和上游主时钟同步,透明节点只是让报文延迟信息“透明”。
wireshark抓包图
- 延迟测量:

- 同步帧,注意1(距离同步时刻的时间差)是不同的,2(同步时刻)的值是相同的:

- 源MAC都是端口MAC:
- 测量都是Multicast多播帧,测量帧不能被转发
- 同步帧也是多播行为,帧可以被转发,04:21是特定的MAC地址。


浙公网安备 33010602011771号