CTCS-3级列控系统标准规范
设备A 设备B SAI 消息重复 消息 A至B #13 SAI TTS或EC以及SN 消息 A至B #13 消息有效 相同的序列号: 消息丢弃 应用通知 消息删除 TTS或EC以及SN 消息 A至B #14 消息 A至B #15 消息有效 消息鉴定安全层 消息鉴定安全层 消息 A至B #16 消息 A至B #17 消息 A至B #18 消息丢弃 应用和安全连接 释放的通知 重新排序 TTS或EC以及SN 消息 A至B #17 消息有效 消息 A至B #20 消息有效 应用通知 消息 A至B #18 消息 A至B #19 消息丢弃 消息丢弃 图11:序列错误
5.4.8 5.4.8.1 5.4.8.1.1 5.4.8.1.2 5.4.8.1.3 5.4.8.1.4 5.4.8.1.5
RSSP-II5
TTS
简介
时间戳处理过程基于发送方和接收方之间的时钟偏移估算。通信双方应在建立安全连接后和交换应用数据前,初始化时钟偏移估算。
两个设备之间的时钟偏移估算值一旦确定,就能够以一种安全的方式估算应用数据的时间有效性,而无须对远程设备当前周期和(或)网络特性作任何设定。
时间戳调整过程(即时钟偏移更新过程)由两个设备之间5条消息的交换组成。通过该过程,每个设备都能估算它的内部时钟和对等设备内部时钟之间的时钟偏移。 所有应用消息都要标记TTS。
第2和第3个时间戳仅用于计算和更新时钟偏移估算值。第1个时间戳不仅用于估算和更
规范名称:铁路安全通信协议-Ⅱ(RSSP-Ⅱ)
第21页
CTCS-3级列控系统标准规范
5.4.8.1.6 5.4.8.1.7 5.4.8.1.8 5.4.8.2
5.4.8.2.1 5.4.8.2.2 5.4.8.3 5.4.8.3.1 5.4.8.3.2 5.4.8.3.3 5.4.8.3.4 5.4.8.3.5 5.4.8.3.6 5.4.8.3.7 5.4.8.4
5.4.8.4.1
5.4.8.4.2
RSSP-II5
新时钟偏移,也用于计算应用数据的时间有效性。
接收到消息后,接收方利用时钟偏移估算值,将发送方所传送的时间戳调整为接收方时钟,然后再计算应用数据的时间有效性。
发送方所发送的时间戳消息中的―过零点‖,由接收方处理。
要定期使用时钟偏移更新程序,对两个系统之间的时钟偏移估算值进行更新。 TTS格式
时间戳以32位Big Endian进行编码。 TTS最低有效位的时间值等于10 ms。 时钟偏移估算原理
时钟偏移估算值一旦确定,一个设备就能够对其本身与对等设备之间所交换消息的时间有效性进行估算。
在安全连接初始化时进行时钟偏移估算。时钟偏移更新程序应在第一条应用消息交互前执行。
由发起安全连接的设备启动时钟偏移更新程序。
通过两个实体之间5个消息的交换来估算时钟偏移。发起时钟偏移更新程序的实体被称为―发起方‖,而另一个实体被称为―应答方‖。
发起方使用前2个消息来计算两个设备之间的最大和最小时钟偏移。 应答方使用第2和第3个消息来计算两个设备之间的最大和最小时钟偏移。 第4和第5个消息用来验证时钟偏移估算值的有效性。 时钟偏移更新消息
OffsetStart 消息结构如下所示:
时钟偏差更新程序的第1个消息 消息类型 序列号 TTS 用户数据 发送方时上一次接收上一次收到消息发起方周期 间戳 方时间戳 时的时间戳 字节 第1个字节 第2个第3个第4个第7个第8个11个 第12字节 字节 字节 字节 第字节 个第15 个第16字节 字节 个第19字节字节 个字节SAI帧头
图12:OffsetStart消息
OffsetStart消息分为不同的域,分别是: 消息类型:1(十六进制值); 序列号;
发送方时间戳:此域定义了进行时钟偏移估算的发起方时间戳;
上一次接收方时间戳:此域给出了上一次应答方传送给发起方的时间戳。由于没有之前应答方给出的时间戳,此值设为―0‖;
规范名称:铁路安全通信协议-Ⅱ(RSSP-Ⅱ)
第22页
CTCS-3级列控系统标准规范
5.4.8.4.3
5.4.8.4.4
5.4.8.4.5
5.4.8.4.6
RSSP-II5
上一次收到消息时的时间戳:此域给出了上一次从应答方处接收到消息时的时间值。由于没有之前应答方给出的应用消息,此值设为―0‖;
发起方周期:此域给出了发起方向应答方进行周期性传送消息的传送周期。如果消息不是周期性传送,则将此值设为―0‖。―发起方周期‖使用的格式和时间分辨率与时间戳域相同。
OffsetAnsw1消息结构如下所示:
时钟偏移更新程序的第2个消息 消息类型 TTS 用户数据 序列号 发送方时 上一次接收上一次收到消 应答方周期 间戳 方时间戳 息时的时间戳 字节 第1个字节 第2个第3个第4个第7个第8个第11个第12个第15个第16个第19个字节 字节 字节 字节 字节 字节 字节 字节 字节 字节 SAI帧头
图13:OffsetAnsw1消息
OffsetAnsw1消息分为不同的域,分别是: 消息类型:2(十六进制值) 序列号
发送时间戳:此域定义了应答方的时间戳。
上一次接收方时间戳:此域给出了发起方上次传送给应答方的发起方时间戳。
上一次收到消息时的时间戳:此域给出了应答方接收到时钟偏移更新过程的第一个消息时
的应答方时间戳。
应答方周期:此域给出了应答方向发起方进行周期性传送消息的传送周期。如果消息不是周期性传送,则将此值设为―0‖。 应答方周期使用的格式和时间分辨率与时间戳域相同。
OffsetAnsw2消息结构如下所示:
时钟偏移更新程序的第3个消息 TTS 用户数据 消息类型 序列号 发送方时上一次接收上一次收到消未使用 间戳 方时间戳 息时的时间戳 字节 第1个字节 第2个第3个第4个第7个第8个第11个第12个第15个字节 字节 字节 字节 字节 字节 字节 字节 SAI帧头
图14:OffsetAnsw2消息
OffsetAnsw2消息分为不同的域,分别是: 消息类型:3(十六进制值) 序列号
规范名称:铁路安全通信协议-Ⅱ(RSSP-Ⅱ)
第23页
CTCS-3级列控系统标准规范
5.4.8.4.7
5.4.8.4.8
5.4.8.4.9
RSSP-II5
发送方时间戳:此域定义了发起方的时间戳。
上一次接收方时间戳:此域给出了应答方上次传送给发起方的时间戳。
上一次收到消息时的时间戳:此域给出了发起方上次从应答方处接收消息时的时间戳(即OffsetAnsw1消息的接收时间)。
OffsetEst消息结构如下所示:
时钟偏移更新程序的第4个消息 TTS 消息类用户数据 型 序列号 发送方 上一次接上一次收到消偏移标志 应答方估算 收方时间偏移标应答方估算时间戳 戳 息时的时间戳 的最小偏移值 志 的最大偏移值 第1个字节 第2个第3个第4个第7个第8个第11第12个第15个第16个第17个第20个第21个第22个第25个字节 字节 字节 字节 字节 个字字节 字节 字节 字节 字节 字节 字节 字节 节字节 SAI帧头 图15:OffsetEst消息
OffsetEst消息分为不同的域,分别是: 消息类型:4(十六进制值) 序列号
发送方时间戳:此域定义了应答方的时间戳。
上一次接收方时间戳:此域给出了发起方上次传送给应答方的发起方时间戳。
上一次收到消息时的时间戳:此域给出了应答方接收到的时钟偏移更新过程的第3个消息时的时间戳。
偏移标志:此域给出了应答方所估算的最小偏移值的正负标志。采用Big Endian编码。―0‖则表示偏移为正值或空值,―1‖表示偏移为负值。
应答方估算的最小偏移值:此域给出了应答方所计算的最小偏移值。使用的格式和时间分辨率与时间戳域相同。
偏移标志:此域给出了应答方所估算的最大偏移值的正负标志。采用Big Endian编码。―0‖则表示偏移为正值或空值,―1‖表示偏移为负值。
应答方估算的最大偏移值:此域给出了应答方所计算的最大偏移值。使用的格式和时间分辨率与时间戳域相同。
OffsetEnd消息结构如下所示:
规范名称:铁路安全通信协议-Ⅱ(RSSP-Ⅱ) 第24页
CTCS-3级列控系统标准规范
5.4.8.4.10
5.4.8.5
5.4.8.5.1 RSSP-II5
时钟偏移更新程序的第5个消息 消息类型 TTS 用户数据 序列号 发送方时 上一次接上一次收到消检查域 间戳 收方时间息时的时间戳 戳 字节 第1个字节 第2个第3个第4个第7个第8个第11个第12个第15个字节 字节 字节 字节 字节 字节 字节 字节 第16个字节 SAI帧头
图16:OffsetEnd消息
OffsetEnd消息分为不同的域,分别是: 消息类型:5(十六进制值) 序列号:消息编号
发送方时间戳:此域定义了应答方的时间戳。
上一次接收方时间戳:此域给出了应答方上次传送给发起方的时间戳。
上一次收到消息时的时间戳:此域给出了发起方上次从应答方处接收到消息时的时间戳
(即OffsetEst消息的接收时间)。 检查域:此域给出了对时钟偏移值进行检查的结果。经过比较,如时钟偏移值有效,则将检查域值设为―1‖,如果无效,则检查域值设为―0‖。
时钟偏移更新过程
时钟偏移更新过程详见下图所示:
规范名称:铁路安全通信协议-Ⅱ(RSSP-Ⅱ) 第25页