SS7之MTP2介绍

 

原文出自http://hi.baidu.com/sunwater007/item/ba73d44fff1963efa5c06693

 

MTP Level 2 为在链路上传送的消息提供了准确、安全的点到点传输,Level 2 提供了流量控制、消息顺序确认及检错功能。当信令链路上发生错误时,若干消息会被重新传送。

MTP2消息格式如下:

 SS7之MTP2介绍_第1张图片

图-MTP 消息格式

MTP2消息格式分为三种:消息信令单元MSU, 链路状态信令单元LSSU, 链路填充单元FISU。其中MSU是真正传输上层的信令消息的;LSSU是用来通知链路对端自己的状态改变信息(比如block住一条链路),SF域用来标明当前状态;FISU用来填充链路空闲时刻(没有消息传送),此外还能用来纠错。

MSU, LSSU, FISU消息单元从前向后每个域解释如下:

F(Flag of Synchronization):同步标志。

填充” 0111 1110”,它用来标识上一个消息单元的结束,一个新的消息的开始。为了避免信令单元里同样存在” 0111 1110”,从而引起混乱,协议规定,在信令传输过程发送端每遇到”11111”就增加一个“0”,接收端一旦发现”11111”,便删除后面的”0”,这样便能保证不能出现的假的同步标志。

 

BSN(Backward Sequence Number):后向序列号。

后向序列号(BSN)用于信令单元的接受证实,向对端信令点确认相应信令单元已正确接受。 BSN中就是其证实接受的信令单元的序列号。它是利用MSU“捎带”发送确认信息,这点和TCP发送ACK不一样。

 

BIB(Backward Indicator Bit): 后向指示位

后向指示位(BIB) 当被置位时即向对端指示了一个负(错误)的证实信号。

 

FSN(Forward Sequence Number): 前向序列号

前向序列号(FSN)是信令单元的序列号。接收端受到这个FSN后,将会填入到接收端的BSN字段,这样就形成了一个发送-确认的关系。

 

FIB(Forward Indicator Bit): 前向指示位

FIB和BIB一样用于出错时恢复之用。当一个信令单元准备传送时,信令点将其FSN(forward sequence number) 加1 (FSN = 0..127),同时CRC (cyclic redundancy check)也重新计算并加在前向消息之后。当接受到消息后,接受端首先校验CRC码,然后将其FSN号复制入准备向源端发送的下个后向消息的BSN字段。如果CRC校验正确,后向消息即被发送;如果校验出错,在发后向消息之前,信令点会将BIB置位以表示一个负(错误)指示。源点接受到这个负指示标志后,它会将从出错的消息序列号开始的所有消息重新传送,并且这些消息的FIB为1。

由于7 bit 的FSN 的值是0~127,所以信令点在接受到第一个证实消息前,能连发最多128个消息。BSN 号指示了对端正确接受的最后一个消息的序列号,它证实了序列号BSN之前的所有消息已正确接受。如果信令点在收到消息其BSN=5之后又收到消息BSN=10(而且BIB未置位),则后个消息表示了FSN从6到9的消息也都正确接受了。

BSN, BIB, FSN, FIB四个字段构成了MTP2 帧的纠错重传功能。

 

LI (Length Indicator): 这个字段有两个作用:一个是指示当前帧里包含数据的长度,另外一个是用长度的值来判定帧的类型。

如果LI=0,那么此帧是FISU;如果LI=1或2的话,那么此帧是LSSU;如果LI>2,那么此帧是MSU。由于LI的长度是6,所以LI最大值为63.

如果帧里净载荷(payload)的值小于63,那么里面的值就是净载荷的长度;如果净载荷是63,那么代表的意义是消息的长度等于或大于63(最多273 字节)。信令单元长度最大为279字节: 273 字节 (数据) + 1 字节 (flag) + 1 字节(BSN + BIB) + 1字节 (FSN + FIB) + 1字节 (LI + 2 bits spare) + 2 字节 (CRC)。

SIO(service indicator Octet)

MSU中的业务消息段SIO 由4 bit子业务字段和 4bit业务指示组成。FISU和LSSU并不含有SIO。子业务字段subservice field 中,Network Indicator用来标明国内或国际消息,Spare Bits在北美用来标识消息优先级(0~3,3级别最高), 消息优先级只在网络拥塞发生时使用,并不影响正常时消息传送时的顺序,在网络发生拥塞时,低优先级的消息会被丢弃,如信令链路测试消息比呼叫建立消息具有更高的优先级;在欧洲这个字段空闲。

业务指示Service Indicator 表示MTP上层使用者类别(如图 6),依此对SIF中的数据进行解码。如下图所示:

 

SS7之MTP2介绍_第2张图片


图-MTP2 SIF 格式

SIF(Signaling Information Field):信令消息正文段。它包含了真正的上层的用户数据以及路由信息,接收端对消息的解析是根据SIO里的SI来判断对应的消息种类。

CK (check bits),又叫CRC(Cyclic Redundancy Check),它用来纠正对传输时产生的错误进行检错及纠错的。

在LSSU消息了,SF(status Field)字段用来标明信令端的状态变化值,它只用了低三位,其他部分为0,如图所示。

SS7之MTP2介绍_第3张图片
图-MTP2 SF格式

 

参考资料列表,请参看:
http://hi.baidu.com/sunwater007/blog/item/d9ebf900349c0b08738da5e7.html

 

你可能感兴趣的:(SS7之MTP2介绍)