From <IEEE 802.1AS-2011> Clause 7
Architecture of a time-aware bridged local area network
time-aware bridged LAN 由几个支持gptp的时间感知系统(time-aware system)组成,它们之间用LAN互相连接。
time-aware system 分为2种:
- time-aware end station
- time-aware bridge
一个gptp domain内通过BMCA算法选出grandmaster。
这里的BMCA算法相较于1588里的要简单。
Time synchronization
General
gptp的time synchronization与1588中的差距不大。
要使得同步的结果精确,有两个时间需要精确测量:residence time和pathDelay。
residence time可以在bridge内部直接测量出来。
而pathDelay则涉及到较多的因素,如传输媒体、传输长度等。
Delay measurement
计算pathDelay的方式其实和1588中也没太大区别,如下图
只是在gptp中,根据底层传输协议不同,使用的message也不同。
- 对于Ethernet,message为Pdelay_Req, Pdelay_Resp等
- 对于802.11 WLAN,message为timing measurement action frame。
- 对于EPON LAN,message为GATE and REGISTER_REQ
- ...
Logical syntonization
在同步过程中,让clock的frequency与grandmaster的保持一致(syntonized),可能并不是一个好的选择。因为调整oscillator的频率较慢且容易产生峰值效应(peaking effects)。使用grandmaster frequency ratio可能更好。
我们使用累加的neighbor frequency ratio来计算出grandmaster frequency ratio to local clock。这有2个好处,一是没有峰值效应,因为上游的计算误差不会直接 影响下游,二是当grandmaster更换时,由于neighbor frequency ratio都算好了,因此计算grandmaster frequency ratio更快。
这个累加的ratio放在Follow_Up message的TLV中。
在计算synchronized time时,会用到grandmaster frequency ratio。
在校正传播时延时,会用到neighbor frequency ratio。
Grandmaster (best master) selection and network establishment
gptp协议使用BMCA算法选出best master,并得到synchronization spanning tree。
gptp要求domain内的所有设备都是time-aware system,也就是说没有内部时钟的设备,如普通的switch、bridge等会被踢出网络。
gptp使用peer delay mechanism(对于ethernet来说)来确定邻近设备是否符合协议要求。所有无法处理此message类型的设备,以及所有propagation delay不符合要求的设备,都会被剔除在网络外。
Energy efficiency
在流量很少的情况下高频次地发送同步messages,是很不符合节能的需求的。
gptp协议定义了一种方式,可以减少发送sync/peer delay/announce messages的频率,并且通知邻居不要计算它们之间的rate ratio和pathDelay。
此协议只定义了这种行为,但不介绍应该在什么情况下采用这种模式。
Time-aware system architecture
Time-aware system modeltime-aware system主要由以下几部分构成:
- 若time-aware system中有使用time information的application,则应通过application interfaces来产生/接收gptp information。
- 一个media-independent part。
由ClockMaster,ClockSlave,SiteSync logical entities,一或多个PortSync entities,一个LocalClock entity组成。
其中 SiteSync entity负责处理BMCA以及time information forwarding between logical ports and ClockSlave and ClockMaster的工作;
其中 PortSync entities负责计算port-specific delays needed for time synchronization correction。 - Media-dependent ports,作为media-independent layer与传输media之间的中间层,在它们之间传递"MDSyncSend" 和 "MDSyncReceive" data structure。
当下层使用Ethernet协议时,使用1588中的Sync、Follow-Up messages,并且后面跟上用于通知rate ratio和phase/frequency change的TLV。
gptp只支持two-step的message mechanism。
Differences between gPTP and PTP
- gptp只支持layer2,ptp支持layer 2/3/4
- gptp可以兼容多种传输介质,ptp只支持TCP/IP, Ethernet以及少量协议。
- gptp只支持P2P,ptp支持P2P和E2E
- gptp支持end station(对应ordinary clock)和bridges(对应boundary clock),ptp支持ordinary clock, boundary clock, transparent clock。
- gptp网络中只能存在time-aware systems,ptp网络中可以存在不带内部时钟的设备。
- gptp只支持two-step processing,ptp支持one-step和two-step。
- 稳定状态下,gptp中,同一个网络内只存在一个gptp domain;ptp中,支持同一个网络内多个domain互相重叠。
- gptp domain内的所有time-aware systems都是logically syntonized,即它们测量时间用的是相同的frequency(详见7.3.3),这是强制的。ptp中,syntonization是可选的,并且其性能没有gptp好。
- gptp中,没有foreign master验证,收到别人传来的anounce message直接就用。
gptp中,没有pre-master state,port要成为master就马上成为master。
gptp中,没有uncalibrated state。
gptp中,所有的time-aware system都必须参加BMCA,即使它没有当grandmaster的实力。
上述几条,使得gptp的BMCA与ptp的有些区别。除此之外,基本相同。
网友评论