浅谈MATIP TYPE B协议在转报系统中应用
摘要:为实现民航报文的传递,IATA(国际航空运输协会)发布一种封装TCP/IP协议之上的MATIP TYPE B协议。本文介绍了MATIP TYPE B 协议的基本原理和作用,并解释该协议在报文传输过程起的作用。
关键词:MATIP TYPE B协议;报文传输
Abstract: In order to realize the transmission of civil aviation messages, iata (international air transport association) has released a matip type b protocol encapsulated on top of the tcp/ip protocol. This article introduces the basic principles and functions of the matip type b protocol, and explains the role of the protocol in the message transmission process.
Keywords: Matip type B protocol; Transmission of messages
1.引言
随着我国民航业的逐年发展,航班量的激增。对转报系统传输的速率与可靠性提出了新的要求。
由IATA组织针对报文传输提出了高速传输和稳定传输的MATIP协议。MATIP(Mapping of Airline Reservation)协议,即航空流量服务IP组(Ticketing and Messaging Traffic Over IP),是一种端到端协议[1]。其本质是一种将传输层与航空应用程序之间的映射标准,与路由无关。根据传输航空报文的需求,转报系统主要应用MATIP TYPE B协议。该协议不需要实时的应用程序,其地址方案使用由IATA定义的标准格式,包含城市和航空公司代码,并拥有高级别的保护、多地址传输和四级优先级。在TYPE B协议中,对数据块的起始点或IP地址对报文终端进行识别,并在TCP中的351端口进行工作。转报系统在OSI七层中各类通信协议的分布如图一所示。
图1 转报系统在OSI七层中各类通信协议的分布
2.MATIP TYPE B协议的原理
MATIP TYPE B的通信原理依托于TCP/IP协议。为确保报文传输系统的传输速率满足现代通信的需求,该协议采用“先到先服务”(FCFS)算法,实现对报文的排序和传输,速率可达1.5Mbps,确保发送方在发送数据时不发生拥塞,并实现可靠的数据传输。
可靠性是通信系统值得参考的一个指标。MATIP TYPE B协议在可靠性方面体现在传输之前也会对数据特征进行识别,例如数据头、字符集等。为避免发生冲突在发送数据之前,系统会检查其两端的数据格式是否一致。MATIP TYPE B定义三个命令来管理MATIP 通信的建立打开(SO)、打开确认(OC)、关闭(SC),会话也存在三次交互的过程,其通话原理如图2所示。
图2 Matip Type B 通信原理图
由图2可知,打开和关闭命令是对称的。在实际应用中通信两端都可以作为发起方建立MATIP通信的虚电路,在连接中每一条通道的参数各不相同。通信的建立发起时会配置参数,在已连接的会话上得到再次建立通信请求时会重新更新现有配置。在关闭MATIP会话时,并不关闭TCP连接。因为MATIP TYPE B本身并无Keep-alive机制,并且封装于TCP/IP之上,其通信超时依托于TCP超时参数。
2.1 MATIP TYPE B的数据包格式
MATIPTYPE B数据包的前4个字节如表1所示。
0 | 1 | 2 | 3 | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | tcp ip协议在设计时2 | 3 | 4 | 5 | 6 | 7 | 16-31 | |||||||||||||||||||||
0 | 0 | 0 | 0 | 0 | 版本 | 控制 | 标示控制命令 | 总长度 | |||||||||||||||||||||||||||||
表1 MATIPTYPE B数据包的前4个字节
其中版本表示MATIP的版本。它必须为值001,否则它将被视为无效;控制为标识控制数据包,当其为1时,数据包是控制类型,当其为0时,数据包是数据类型;当标志控制为1时,标示控制命令字段标识控制命令;总长度此字段指示整个数据包的字节数。
然后MATIP TYPE B数据包中含有3个控制数据模块。其中包括打开(SO)、打开确认(OC)、关闭(SC)。其中打开(SO)命令在TCP/IP连接后执行,主要包括通信之前的检查,例如数据格式是否一致等。其数据包格式如表2所示,其中HLD是指数据的起始点。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 17-32 | |
0 | 0 | 0 | 0 | 0 | 版本 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 总长度 | |||
编码格式 | 端到端报文应答传输协议,接收方HLD | 是否包含收发双方HLD;连接请求发起方 | 发送方HLD | ||||||||||||||
表2 打开(SO) 数据包格式
打开确认(OC)命令是对打开命令(SO)的响应,由于篇幅原因,只给出用接受会话的数据格式,表3所示。
关闭命令(SC)用于关闭现有的MATIP会话,会话关闭原因包括两种:(1)[00000000]正常关闭;(2)[10000100-11111111]取决于应用程序实际情况。其数据包格式如表4所示。
在通信确立以后,开始传输报文。其数据包格式如表5所示。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 17-29 | 30 | 31 | 32 | ||
0 | 0 | 0 | 0 | 0 | 版本 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | ||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||
表3 打开确认(OC)命令的数据包格式
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 17-29 | 30 | 31 | 32 | |
0 | 0 | 0 | 0 | 0 | 版本 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |||
会话关闭原因 | ||||||||||||||||||||
表4 关闭命令(SC)的数据包格式
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 17-32 | |
0 | 0 | 0 | 0 | 0 | 版本 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 总长度 | |||
对方IP地址 | |||||||||||||||||
数据载荷 | |||||||||||||||||
表5 报文的数据包格式
3. MATIP TYPE B协议在报文传输中的作用
当A、B两终端进行收发报文时,在完成特定的“三次握手”后,建立了一条虚电路连接[2]。MATIP TYPE B封装过程只是在TCP/IP数据帧头封装之前进行操作。以A到B为例:首先在应用层对报文进行定义封套,在应用层使用BATAP协议对报文进行加密后。然后,在会话层封装MATIP TYPE B的数据帧头,以此类推在OSI剩余几层中相应封装各自的数据帧头。其封装过程如图3所示。
图3 MATIP TYPE B协议的封装过程
4.结论
本文介绍了MATIP TYPE B协议的基本原理和作用,并结合实际情况阐述了其在报文传输系统中的作用。体现出MATIP TYPE B 协议可以提高报文传输系统的传输效率和可靠性,为报文传输系统的设计提供参考。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论