CTCS-3级列控系统标准规范
5.4.4.1.6 5.4.4.1.7 5.4.4.1.8 5.4.4.1.9
―消息类型‖域用于识别消息类型,使用一个字节进行编码。 ―序列号‖域用于定义消息顺序号,使用两字节编码。
如果使用了TTS,“发送方时间戳”域应填写消息传送至本地MASL层实体时的发送方时间戳。发送方时间戳使用四个字节编码。
如果使用了TTS,“上一次接收方时间戳”域应填写由“接收方”产生,从接收方传输给发送方的最后一个消息的时间戳,OffsetStart信息除外(见§5.4.8.4)。本时间戳使用四个字节编码。
如果使用了TTS, “上一次的消息接收时间戳”域应填写由本地MASL层实体上传上一条消息时的本地时间戳,OffsetStart信息除外(参见§5.4.8.4)。本时间戳使用四个字节编码。 只有使用EC防御技术时,才使用“EC计数”域,并出现在帧头中。 EC计数使用四字节编码。
EC防御技术和TTS防御技术互相排斥,若使用EC防御技术,则与TTS防御技术相关的域将不被检查,此时―TTS‖域所有字段的值应被设为0。
5.4.4.1.10 5.4.4.1.11 5.4.4.1.12 5.4.4.1.13 5.4.5 5.4.5.1
SAI协议
连接过程
两个设备之间的连接过程如下图所示。
5.4.5.1.1
设备ASAI-CONNECT.requestSa-CONNECT.requestAU1 SaPDUT-CONNECT.requestT-CONNECT.indicationAU2 SaPDUT-CONNECT.confirmT-CONNECT.response设备B安全应用中间子层Sa-CONNECT.confirm消息鉴定安全层AU3 SaPDUT-DATA.requestT-DATA.indicationAR SaPDUT-DATA.indicationT-DATA.request消息鉴定安全层Sa-CONNECT.indicationSa-CONNECT.response安全应用中间子层SAI-CONNECT.confirm时间戳或EC计数器初始化SAI-CONNECT.indicationSAI-CONNECT.response 图7:SAI 连接过程
RSSP-II5
规范名称:铁路安全通信协议-Ⅱ(RSSP-Ⅱ)
第16页
CTCS-3级列控系统标准规范
5.4.5.1.2 5.4.5.2
5.4.5.2.1
5.4.5.2.2 5.4.5.3
5.4.5.3.1 5.4.5.3.2 5.4.5.3.3 5.4.5.3.4
5.4.5.3.5
5.4.5.3.6 5.4.5.3.7 5.4.5.3.8 5.4.5.3.9
RSSP-II5
SAI服务原语应被映射到SA服务原语上,以用于连接建立。 断开连接过程
两个设备之间的连接断开过程如下图所示。
设备A设备BT-DISCONNECT.SAI-Sa-requestDISCONNECT.安安request全DISCONNECT.消消request全应息息应用鉴DI SaPDU鉴用中定定中间安安Sa-SAI-子全T-全DISCONNECT.间DISCONNECT.层层DISCONNECT.indication层indication子indication层图8:断开连接过程
SAI服务原语应被映射到SA服务原语上,以用于连接断开。 应用数据交互过程
以下过程用来描述如何传输应用数据消息。
通过使用SAI-DATA.request,应用层应能够将数据发送至对等实体(见Subset-037)。 通过使用SAI-DATA.request,SAI层应能够识别所连接的SaCEPID。 在SAI帧头中,SAI层应在应用数据上增加: ? 应用数据交互的消息类型; ? 序列号;
? TTS域。如果使用EC防御技术,则TTS设为―0‖; ?
EC计数及其版本(仅在使用EC防御技术时)。
SAI层通过使用Sa-DATA.request原语,将其处理完的数据传送至MASL。Sa用户数据参数由消息类型,序列号,TTS域和EC域连接组成。只有使用EC防御技术时,EC域才会出现。
以下过程用来描述如何接收应用数据消息。
MASL层可以使用Sa-DATA.indication将数据传送至SAI层处理,并由SAI层传送到应用层。
Sa-DATA.indication应提供SaCEPID。 Sa用户数据参数由下列部分组成: ? 应用数据的消息类型; ? 序列号;
?
TTS域。如果使用EC防御技术,则时间戳设为―0‖;
规范名称:铁路安全通信协议-Ⅱ(RSSP-Ⅱ)
第17页
CTCS-3级列控系统标准规范
5.4.5.3.10 5.4.5.3.11 5.4.5.3.12 5.4.5.3.13 5.4.5.3.14 5.4.5.3.15
5.4.5.4 5.4.5.4.1 5.4.5.4.2 5.4.5.4.3 5.4.5.4.4
RSSP-II5
?
EC计数(仅在使用EC防御技术时)。
“消息类型”应属于为应用数据交互而定义的消息类型之一。 SAI应在EC计数或TTS检查前对序列号进行检查。
如果使用EC防御技术,则无须检查TTS域,而只须检查EC域。 如果使用TTS防御技术,则必须检查TTS域。
若以上所有检查均成功执行,则应使用SAI-DATA.indication将应用数据和SaCEPID传送至应用层。
应用数据交互如下图所示:
从应用层 SAI层 至MASL层 SAI-DATA.request: Sa-DATA.requestSaCEPID SaCEPID : Ap用户数据 将消息类型域设为应用Sa用户数据 数据的传送值 消息类型域 序列号 序列号 TTS 如果使用了EC防御技术,则将时间戳设为“0” EC计数(仅在使用EC防御技术时) EC计数(如果使用ECAp用户数据 防御技术) 至应用层 从MASL层 如果检查OK SAI-DATA.indication Sa-DATA.indication SaCEPID SaCEPID Ap用户数据 消息类型域检查 Sa用户数据 消息类型域 序列号检查序列号 TTS EC计数(仅在使用EC防御技术时) 如果使用了TTS防御技术,则检查时间戳 Ap用户数据 或 如果使用了EC防御技术,则检查EC计数 图9:应用数据交互过程
SAI管理消息
SAI执行某些特定程序,通过TTS或EC计数确保对消息的防护(见第5.4.8.5节,5.4.8.7节,5.4.9.3节和5.4.9.6节)。在执行此类程序期间,双方SAI层之间应交互SAI管理消息。SAI管理消息通过消息类型域的特定值或无任何应用数据的消息进行识别。
SAI管理信息应通过Sa-DATA.request和Sa-DATA.indication原语在SAI层之间进行交换。SN,TTS和EC域应采用和应用数据交互过程相同的处理方式。
规范名称:铁路安全通信协议-Ⅱ(RSSP-Ⅱ)
第18页
CTCS-3级列控系统标准规范
5.4.5.4.5
在消息传输中,根据管理消息的类型选择消息类型域值。用户数据是来自应用层还是由SAI自行计算,这取决于管理消息的类型。如果没有任何应用数据被传送至对等应用层,则SAI层会为管理消息选择适当的SaCEPID。
SAI应根据接收的管理消息类型,决定用户数据是由SAI自行处理,或将SaCEPID和应用数据一起传送至应用层。 消息类型域
共定义10种消息类型,其中,TTS防御技术中使用的消息类型有6种,EC防御技术中使用的消息类型有4种。
TTS防御技术中使用的消息类型如下所示:
OffsetStart消息(用于时钟偏移估算的第1个消息):
1 2 3 4 5 6
5.4.5.4.6 5.4.6 5.4.6.1.1 5.4.6.1.2
OffsetAnsw1消息(用于时钟偏移估算的第2个消息): OffsetAnsw2消息(用于时钟偏移估算的第3个消息): OffsetEst消息(用于时钟偏移估算的第4个消息): OffsetEnd消息(用于时钟偏移估算的第5个消息): 使用TTS保护的应用消息:
5.4.6.1.3
EC防御技术中使用的消息类型如下所示(十六进制): EC起始消息:
81 86 87 88
使用EC保护的应用消息:
使用EC保护并请求应答的应用消息:
使用EC保护并含有应答确认的应用消息:
5.4.7
序列号防御技术
序列号以2字节进行编码(Big Endian)。 序列号值从0到65535。
每一个通信方向上的序列号应该是独立的。
5.4.7.1.1 5.4.7.1.2 5.4.7.1.3 5.4.7.1.4 5.4.7.1.5 5.4.7.1.6 5.4.7.1.7 5.4.7.1.8
对序列号不作初始化要求。对于从对等实体处接收到的第一个序列号,接收方不做检查。 接收方无须检查接收到的第一条消息的序列号,只需对后续的消息检查其序列号与上一个序列号之间的差异。
如果序列号值未达到最大值,则在此传输方向上的下一条消息序列号加1。 一旦序列号值达到最大值,则下一条传输消息的序列号设为―0‖。 两个设备间的消息编号如下图所示:
RSSP-II5
规范名称:铁路安全通信协议-Ⅱ(RSSP-Ⅱ) 第19页
CTCS-3级列控系统标准规范
消息A至B #0 消息B至A #0 消息B至A #1 5.4.7.2
5.4.7.2.1 5.4.7.2.2 5.4.7.2.3 5.4.7.2.4 5.4.7.2.5 5.4.7.2.6 5.4.7.2.7 5.4.7.2.8 5.4.7.2.9
RSSP-II5
设备设备A 时间 消息B至A #2 B 消息A至B #1 消息A至B #2 图10:消息编号
序列号错误
序列号可检测到下列错误: ? 消息重复; ? 消息删除; ?
消息重排序。
一旦检测到错误,SAI不能采取任何措施恢复丢失的数据。
为消息序列检查而定义参数N。N-1是代表允许丢失消息的数量。需要配置N值,N值等于或大于1。
如果接收到的SN不等于上次接收消息的SN+1,则被认为是消息序列错误。 如果接收到的SN大于上次接收消息的SN+N,则应丢弃此消息,并释放安全连接。 如果接收到的SN大于上次接收消息的SN+1,并小于或等于SN+N,则不应丢弃此消息中的应用数据,并根据规定的错误处理方式(见第5.4.10.1.2节)来处理这一事件。 如果接收到的SN小于或等于上次接收消息的SN,则应丢弃此消息。 需要根据SAI错误处理程序(见第5.4.10节)对序列号错误作出相应反应。
下图说明当发生重复消息,删除消息或重排序消息时,SN防御技术所采取的行为。假定N=3,则允许丢失消息的数量为0,1或2。
规范名称:铁路安全通信协议-Ⅱ(RSSP-Ⅱ) 第20页