当前位置:网站首页>802.1AS的SystemIdentity理解
802.1AS的SystemIdentity理解
2022-08-03 05:26:00 【cao849861802】
协议:802.1AS-2020.pdf(这个有多域的概念)
802.1AS,2020版本的-网络基础文档类资源-CSDN下载
802.1AS 延迟测量理解_cao849861802的博客-CSDN博客
802.1AS的BMCA(最佳主时钟选举)理解_cao849861802的博客-CSDN博客
802.1AS 时钟同步原理理解_cao849861802的博客-CSDN博客
内容只作为我自己的理解;红色为自我理解内容,绿色和黑色为原文
10.3.2 SystemIdentity
SystemIdentity是给协议的BMCA用的就是最佳主时钟选举用的;
这些会作为向量的方式进行比较,每个端口的每个域都会有这个向量
注意:向量的意思就是按照一定的顺序比较,先比哪个后比哪个;
比较原则:哪个的值小哪个就更优,整个协议内容的比较都是这样的只要涉及到比较
SystemIdentity比较意思就是两个gptp系统相互发送announce报文,然后相互带一些内容,当发起BMCA比较的时候会用到SystemIdentity,SystemIdentity只是BMCA比较的时候的一些内容,这里只看SystemIdentity的内容;
8.6.2.1 priority1
对于不具备主时钟能力的时间感知系统,priority1 的值应为 255。 对于具有超主能力的时间感知系统,priority1 的值应小于 255。 值 0 应保留供管理使用对于不具备主时钟能力的时间感知系统。
8.6.2.2 clockClass
这个属性表征的是localclock和clocksource的特征的组合,是为了追溯Grandmaster PTP Instance的clockmaster
//如果PTP实例能够成为主PTP实例,则值为TRUE,如果PTP实例不能成为主PTP实例,则值为FALSE。
if(defaultDS.gmCapable == TRUE)
{
if(知道反应localclock和clocksource的值)
{
clockClass = 反应localclock和clocksource的值;
}
else
{
clockClass = 248;
}
}
else
{
clockClass = 255;
}
下面是1588-2019对 clockClass的取值
Table 4 clockClass specifications
0 | Reserved for assignment by the IEEE 1588 Working Group to enable compatibility with future versions. 保留由 IEEE 1588 工作组分配,以实现与未来版本的兼容性。 |
1–5 | Reserved. |
6 | Shall designate a PTP Instance that is directly, that is, using a Source Dependent block (see 6.5.2),synchronized to a primary reference time source. The timescale distributed shall be PTP. Using the default BMCA of 9.3.2, a PTP Instance with clockClass 6 will not be a Slave PTP Instance to another PTP Instance in the domain. 应指定一个直接的 PTP 实例,即使用一个源相关块(见 6.5.2),同步到一个主要的参考时间源。 分发的时间刻度应为 PTP。 使用 9.3.2 的默认 BMCA,clockClass 6 的 PTP 实例将不会是域中另一个 PTP 实例的从 PTP 实例 |
7 | Shall either: 应: a) 指定一个 PTP 实例,该实例先前已指定为时钟类 6,但已失去与主要参考时间源同步的能力,处于保持模式并在 PTP 配置文件指定的保持规范内,或 b) 根据16.4的holdoverUpgrade选项指定一个clockClass 7的PTP Instance。 分发的时间刻度应为 PTP。 使用 9.3.2 的默认 BMCA,clockClass 7 PTP 实例将不是域中另一个 PTP 实例的从 PTP 实例。 |
8 | Reserved. |
9–10 | Reserved for assignment by the IEEE 1588 Working Group, to enable compatibility with future versions. 保留给 IEEE 1588 工作组分配,以实现与未来版本的兼容性。 |
11–12 | Reserved. |
13 | Shall designate a PTP Instance that is directly, that is, using a Source Dependent block (see 6.5.2), synchronized to an application-specific source of time. The timescale distributed shall be ARB. Using the default BMCA of 9.3.2, a PTP Instance with clockClass 13 will not be a Slave PTP Instance to another PTP Instance in the domain. 应指定一个直接的 PTP 实例,即使用一个源相关块(见 6.5.2),同步到一个特定于应用程序的时间源。 分发的时间刻度应为 ARB。 使用 9.3.2 的默认 BMCA,clockClass 13 的 PTP 实例将不是域中另一个 PTP 实例的从 PTP 实例。 |
14 | Shall either: Using the default BMCA of 9.3.2, a PTP Instance with clockClass 14 will not be a Slave PTP Instance to another PTP Instance in the domain. 应: a) 指定一个 PTP 实例,该实例之前已指定为 clockClass 13,但已失去与特定应用程序时间源同步的能力,处于保持模式并在 PTP 配置文件指定的保持规范内,或 b) 根据16.4的holdoverUpgrade选项指定一个clockClass 14的PTP Instance。 分发的时间刻度应为 ARB。 使用默认的 BMCA 9.3.2,clockClass 14 的 PTP 实例将不是域中另一个 PTP 实例的从 PTP 实例。 |
15–51 | Reserved. |
52 | Degradation alternative A: Using the default BMCA of 9.3.2, a clockClass 52 PTP Instance will not be a Slave PTP Instance to another PTP Instance in the domain. 应指定以前具有时钟类 7 的 PTP 实例: a) 不在适用的 PTP 配置文件的指定保持规范内,或 b) 基于 holdoverUpgrade 选项 16.4 的规范。 使用 9.3.2 的默认 BMCA clockClass 52 PTP 实例将不是域中另一个 PTP 实例的从 PTP 实例。 |
53–57 | Reserved. |
58 | Degradation alternative A: 降解方案 A: 应指定以前具有时钟类 14 的 PTP 实例: a) 不在适用的 PTP 配置文件的指定保持规范内,或 b) 基于 holdoverUpgrade 选项 16.4 的规范。 使用默认的 BMCA 9.3.2,clockClass 58 PTP Instance 的 PTP Instance 将不是域中另一个 PTP Instance 的 Slave PTP Instance。 |
59–67 | Reserved. |
68–122 | For use by alternate PTP Profiles. 供备用 PTP 配置文件使用。 |
123–127 | Reserved. |
128–132 | Reserved |
上诉表格中需要注意的其实就是两点,分发的时间刻度和holdoverUpgrade 选项;
其实在实际应用的时候直接取248或者255就可以;
8.6.2.3 clockAccuracy
clockAccuracy属性表示ClockMaster的预期时间精度。
a) clockAccuracy被设置为反映LocalClock和ClockSource实体的组合的值;否则
b) 如果反映LocalClock和ClockSource实体的值没有被指定或未知,clockAccuracy被设置为254(0xFE)。
这里在应用的时候直接取值254
8.6.2.4 offsetScaledLogVariance
offsetScaledLogVariance是对PTP方差估计值的一种缩放、偏移表示。PTP方差表征了ClockMaster的精度和频率稳定性。PTP方差是PTP偏差(PTPDEV)的平方(见B.1.3.2)
该值应按以下方式选择:
a)offsetScaledLogVariance被设置为反映LocalClock和ClockSource实体的组合的值;否则
b)如果反映这些实体的值没有被指定或不知道,offsetScaledLogVariance被设置17258(0x436A)。这个值对应于观察间隔等于默认同步消息传输间隔(即观察间隔为0.125秒;见11.5.2.3和B.1.3.2)的PTPDEV值。
这里应用的时候直接取值17258
8.6.2.5 priority2
priority2在执行BMCA时使用(见10.3)。priority2的值应是一个从0到255范围内选择的整数。在BMCA的运行中,优先级2的排序与优先级1的排序相同(见8.6.2.1)。
priority 2的默认值应是247或248。一个PTP中继实例的默认值应为247。 PTP终端实例的默认值应是248。关于优先级2的更多详细说明,请参见IEEE Std 1588-2019的7.6.2.4。
8.6.2.6 clockIdentity
PTP实例的clockIdentity值应符合802.1AS的8.5.2.2中的规定。如下(8.5.2.2中描述了1588-2019的内容):
clockIdentity 的前三个八位字节应为 OUI 或 CID。
这里使用的时候可以直接采用OUI
所有clockIdentity 值都应根据以下子条款中的一个且仅一个条款来构建(就是说可以采用下方的其中一个来构造clockIdentity,1>或者2>)。
1> 7.5.2.2.2.2 Construction based on an NUI-48(from 1588-2019)
NUI-48 的 6 个八位字节应按顺序分配给 8 字节数组clockIdentity 的六个最高有效八位字节,最后 2 个八位字节由实现者插入,这样构造的时钟标识符合1588-2019的 7.5.2.2.1 的唯一性属性;
这里就是将mac地址赋值给八位字节的最高位,然后剩下的两位由实现者构建;
2> 7.5.2.2.2.3 Construction based on an NUI-64(from 1588-2019)
IEEE Std 802c 将术语 NUI-64 定义为 64 位标识符,旨在在 IEEE 802 网络中唯一,并且是 EUI-64、SAI-64 或 AAI-64。 NUI-64 的 8 个八位字节应按顺序分配给 8 字节数组 clockIdentity,NUI-64 的最高有效八位字节分配给索引为 0 的 clockIdentity 数组成员。
这里可以直接采用EUI-64
EUI-48转EUI-64规则如下:
例如:一台电脑的MAC是00:0C:85:AB:50:01。先中间插入FFFE:变为00:0C:85:FF:FE:AB:50:01
然后由左到右第一个字节第七位置位(变为1):变为02:0C:85:FF:FE:AB:50:01
这台电脑的EUI-64就是020C:85FF:FEAB:5001
注 1——虽然可以使用 MAC 地址(即,数据链路层协议地址)构造 clockIdentity,但这不是必需的,因此,本标准的实现不能将 clockIdentity 的部分解释为协议地址。
注 2——IEEE 1588-2008 的条款、7.5.2.2.3 Non-IEEE EUI-64 clockIdentity 值,以及使用 EUI-48 创建 EUI-64 clockIdentity,如 IEEE 7.5.2.2.2 所述 标准 1588-2008,不属于此版本。 这两个条款的条款在某些情况下不能保证唯一性。 在发布 IEEE Std 1588-2008 后,IEEE 注册机构更改了构建 EUI-64 的规则
需要注意的是:
clockIdentity 不是协议地址; 它是一个标识符。不得将clockIdentity 值解释为必须由协议地址形成。
边栏推荐
- ZBrush+Substance Designer2021制作高品质3D角色模型全流程!
- 3. What is the difference between final, finally, and finalize?
- 采用Trench肖特基二极管,实现功率密度的显著提升
- 在Maya和ZBrush中制作战士模型
- classpath:与classpath*的比较
- 影响PoE供电传输距离的除了网线还有啥?
- VCC(电源)和 GND(地)之间电容的作用
- cmdline -[command line,__fdt_pointer,initial_boot_params] boot_command_line 获取
- 增强光学系统设计 | Zemax 全新 22.2 版本产品现已发布!
- servlet学习(七)ServletContext
猜你喜欢
随机推荐
6. What is the difference between Vector, ArrayList and LinkedList?(design, performance, safety)
servlet学习(七)ServletContext
Qemu 搭建Armv8 平台
Delightful Nuxt3 Tutorial (2): Build a Blog Quickly and Easily
A.1#【内存管理】——1.1.1 node:struct pglist_data
什么是次世代建模,为什么这么多建模人在学习次世代建模流程
3. What is the difference between final, finally, and finalize?
NIO知识汇总 收藏这一篇就够了!!!
ZEMAX | 探究 OpticStudio 偏振分析功能
守望先锋英雄角色模型分享,obj文件+材质贴图,3dmax游戏建模
B.1#【编程语言】—1 arm 汇编指令
使用ZBrush制作恶魔模型
double型数据转字符串后通过MCU串口发送
memblock
VS2022 encapsulation under Windows dynamic library and dynamic library calls
MySql的Sql语句的练习(试试你能写出来几道呢)
ZEMAX | 探索 OpticStudio中的序列模式
pandoc -crossref插件实现markdwon文档转word后公式编号自定义
树——二叉排序树(BST)
JS--正则表达式