time sync model for gptp
From <IEEE 802.1AS-2011> Clause 7Architecture of a time-aware bridged local area networktime-aware bridged LAN 由几个支持gptp的时间感知系统(time-aware system)组成,它们之间用LAN互相连接。time-aware system 分为2种:time-aware end stationtime-aware bridge
Time-aware network example一个gptp domain内通过BMCA算法选出grandmaster。这里的BMCA算法相较于1588里的要简单。Time synchronizationGeneralgptp的time synchronization与1588中的差距不大。要使得同步的结果精确,有两个时间需要精确测量:residence time和pathDelay。residence time可以在bridge内部直接测量出来。而pathDelay则涉及到较多的因素,如传输媒体、传输长度等。Delay measurement计算pathDelay的方式其实和1588中也没太大区别,如下图
Example delay measurement只是在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 establishmentgptp协议使用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 PTPgptp只支持layer2,ptp支持layer 2/3/4gptp可以兼容多种传输介质,ptp只支持TCP/IP, Ethernet以及少量协议。gptp只支持P2P,ptp支持P2P和E2Egptp支持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的有些区别。除此之外,基本相同。