gPTP的理解和使用

gPTP(802.1AS )的主要思想
同步机制
AVB域中的都有一个主时钟,作为时间标准,其他都是从时钟
拓扑图
可以看的出来gPTP是slave和master是一一对应,主master和各端点之间有bridge,所以要求bridge必须支持gptp,也就是p2p。
1588v2(PTP)报文通用格式
IEEE 1588v2协议附录D定义了1588V2 over IPv4的报文封装,
附录E定义了1588V2 over IPv6的报文封装,
附录F定义了1588v2 over IEEE 802.3 /Ethernet的报文封装。
其他如1588v2 over MPLS封装,业界还没有成熟的标准。除此之外,在实际应用中还可能携带VLAN。

  1. PTP over Ethernet
  2. PTP over UDP over IPv4
  3. PTP over UDP over IPv6
  4. PTP over MPLS

PTP通用消息格式PTP General Message Format
在这里插入图片描述
图1 以太封装PTP报文 PTP over Ethernet
IPv4封装PTP报文,EVENT消息头的UDP目的端口号是319,General消息的UDP目的端口号是320。
在这里插入图片描述
PTP消息头格式 Format of a PTP header
1588v2消息必须包含消息头、消息体和消息扩展字节,扩展字节长度可能为0。

在这里插入图片描述

字段长度含义
TranSpec4比特传送相关。0表示PTP消息由1588协议使用,1表示PTP消息由802.1as协议使用
MsgType4比特表示消息类型。1588V2消息分为两类:事件消息(EVENT Message)和通用消息(General Message)。事件报文是时间概念报文,进出设备端口时需要打上精确的时间戳,而通用报文则是非时间概念报文,进出设备不会产生时戳。类型值03的为事件消息,8D为通用消息 0x00: Sync 0x01: Delay_Req 0x02: Pdelay_Req 0x03: Pdelay_Resp 0x04-7: Reserved 0x08: Follow_Up 0x09: Delay_Resp 0x0A: Pdelay_Resp_Follow_Up 0x0B: Announce 0x0C: Signaling 0x0D: Management 0x0E-0x0F: Reserved
Reserved4比特保留字段。
VerPTP4比特表示1588协议的版本。
MsgLength2字节PTP消息的长度,即PTP消息的全部字节数目。计入字节始于报头的第一个字节,同时包含并收尾于任何尾标的最后一个字节,或是无尾标成员时收尾于消息的最后一个字节。
DomainNumber1字节域编号,表示发送该消息时钟所属的域。
Reserved1字节保留字段。
FlagField2字节标志域,取值请参见表2。
CorrectionField64比特修正域,各报文都有,主要用在Sync报文中,用于补偿网络中的传输时延,E2E的频率同步。
Reserved32比特保留字段。
SourcePortIdentity源端口标识符,发送该消息时钟的ID和端口号。
SequenceID2字节序列号ID,表示消息的序列号,以及关联消息的对应关系。
ControlField1字节控制域,由消息类型决定:0x00:Sync 0x01:Delay_Req 0x02:Follow_Up 0x03:Delay_Resp 0x04:Management 0x05:All others 0x06-0xFF:reserved
LogMsgInterval1字节录入消息周期,PTP消息的发送时间间隔,由消息类型决定。
PTP Specified Message Field变长PTP消息体和消息扩展字节。
字节比特位消息类型消息名说明
00Announce, Sync, Follow_Up, Delay_RespalternateMasterFlag如果发送侧端口处于MASTER状态,则为FALSE。
01Sync, Pdelay_ResptwoStepFlag对于一步时钟,twoStepFlag取值要求为FALSE。对于双步时钟,twoStepFlag取值要求为TRUE。
02ALLunicastFlag如果此消息发送到的传送层协议地址是一个单播地址,则置为TRUE。如果此消息发送到的传送层协议地址是一个多播地址,则置为FALSE。
05ALLPTP profile Specific 1由一个备选PTP模板定义;否则置为FALSE。
06ALLPTP profile Specific 2由一个备选PTP模板定义;否则置为FALSE。
07ALLReserved此比特保留用于实验性安全机制.
10Announceleap61-
11Announceleap59-
12AnnouncecurrentUtcOffsetValid-
13AnnounceptpTimescale-
14AnnouncetimeTraceable-
15AnnouncefrequencyTraceable-

gptp配置文件
gptp.cfg
需要打开gptp,将transpecific 变量设置为0x1

#
# 802.1AS example configuration containing those attributes which
# differ from the defaults. See the file, default.cfg, for the
# complete list of available options.
#
[global]
gmCapable 1
priority1 248
priority2 249
#logAnnounceInterval 0
#logSyncInterval -3
#syncReceiptTimeout 3
neighborPropDelayThresh 2000
min_neighbor_prop_delay -20000000
assume_two_step 1
twoStepFlag 1
#path_trace_enabled 1
follow_up_info 1
transportSpecific 0x1
tx_timestamp_timeout 9
ptp_dst_mac 01:80:C2:00:00:0E
p2p_dst_mac 01:80:C2:00:00:0E
network_transport L2
delay_mechanism P2P

两个设备,一个做主,一个做从,分别执行下面的命令

ptp4l -P -2 -H -i <网卡> -p /dev/ptp0 -m -f gptp.cfg
ptp4l -P -2 -H -i <网卡> -p /dev/ptp0 -m -s -f gptp.cfg

  • 6
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值