IMIX协议分析 联系客服

发布时间 : 星期六 文章IMIX协议分析更新完毕开始阅读ed574615f18583d049645960

图 1 IMIX消息结构

说法是大方

4.1.1 消息头

每个会话消息或应用消息都有一个消息头,该消息头指明消息类型、消息体长度、发送目的地、消息序号、发送起始点和发送时间。

消息头格式见下表 域号 8 9 35 49 50 56 57 115 116 域名 BeginString BodyLength MsgType SenderCompID SenderSubID TargetCompID TargetSubID OnBehalfOfCompID OnBehalfOfSubID 必需 必需 必需 必需 必需 说明 起始串定义消息的协议版本(不可加密,消息的第一个域) 消息体长度(不可加密,消息的第二个域) 消息类型(不可加密,消息的第三个域) 发送方代码(不可加密,发送方标识符) 发送方子标识符(可加密) 接收方代码(不可加密,接收方标识符) 接收方子标识符(可加密) 最初发送方标识符(可加密),用于经第三方中转发送。 最初发送方子标识符(可加密), 用于经第三方中转发送。 128 129 DeliverToCompID DeliverToSubID 最终接收方标识符(可加密),用于经第三方中转发送。 最终接收方子标识符(可加密), 用于经第三方中转发送。 34 43 MsgSeqNum PossDupFlag 必需 消息序列号(可加密) 消息可能重复标志,当一条消息以相同的序列号重传时(两条消息完全一样),作此标记,多 必需 数由于传输层异常重发时所标记。(可加密) 97 PossResend 消息可能重传标志,当一条消息以不同的序列号重传时所加标志位,多数由于上层处理逻辑异常而重传时所带标记。(可加密) 发送时间(可加密) 原始发送时间(可加密) 52 122 347 SendingTime OrigSendingTime MessageEncoding 必需 消息中Encoded域的字符编码类型(非ASCII码) 369 LastMsgSeqNumProcessed 最后处理消息序号(可加密) 370 10287 10052 10308 10333 HopsGrp OnBehalfOfSendingTime SegmentID ErrorCode SysSeqNo UserSeqNo

最初发送时间 产品编号,新一代本币系统必需域。 错误代码,新一代本币系统必需域。 全局消息序号,新一代本币系统必需域。 用户特定消息序号,新一代本币系统必需域。 表 1标准消息头

例如:银行A的交易员小王发送消息给银行B的交易员小张,则小王发出去的消息标

准头部应该如下表所示:

域号 8 9 35 49 域名 BeginString BodyLength MsgType 值 IMIX.1.0 计算得到 说明 起始串IMIX1.0(不可加密,消息的第一个域) 消息体长度(不可加密,消息的第二个域) 8 Execution Report消息 小王所在机构的标识 SenderCompID 银行A 56 128 TargetCompID DeliverToCompID CFETS 银行B 通过交易中心中转 小张所在机构的标识。 50 129 SenderSubID DeliverToSubID 小王 小张 小王在所在机构的标识 小张在所在机构的标识 34 52 SeqNo SendingTime xxx 时间 消息序列号 发送时间(可加密)

表 2标准消息头例子

而小张给小王发的消息标准头部则应该如下表所示 域号 8 9 35 49 56 128 域名 BeginString BodyLength MsgType 值 IMIX.1.0 计算得到 说明 起始串IMIX1.0(不可加密,消息的第一个域) 消息体长度(不可加密,消息的第二个域) D NewOrderSingle消息哦 小张所在机构的标识 通过交易中心中转 小王所在机构的标识 SenderCompID 银行B TargetCompID DeliverToCompID CFETS 银行A 50 129 SenderSubID DeliverToSubI小张 小王 小张在所在机构的标识 小王在所在机构的标识 D 34 52

表 3标准消息头例子

SeqNo SendingTime xxx 时间 消息序列号 发送时间 4.1.2 消息尾

每一个会话消息或应用消息都有一个消息尾,并以此终止。消息尾可用于分隔多个消息,包含有3位数的校验和值。

消息尾格式见下表4

域号 93 89 10

表 4标准消息尾

域名 必需 说明 数字签名长度(不可加密) 数字签名(不可加密) 校验和,消息的最末域。(不可加密) SignatureLength Signature CheckSum 必需 4.1.3 消息体

主要描述应用层面的业务信息(具体的消息类型见《银行间市场业务数据交换协议》),

应用消息中有很多共用的数据域集合——组件。 比如说, 大多数应用消息都会用到一系列定义债券品种的域:Symbol, SecurityID,SecurityIDSource,?? 为避免重复,协议中定义了一些关键组件,在应用消息定义中直接用名称引用这些组件。实际的消息定义和使用中,则应该将组件扩展开成为相应的数据域集合。