五、消息传送部分(Message Transfer Part
消息传送部分(MTP)分成三层:
1MTP Level 1
   相当与OSI的物理层,定义了数字信令链路的物理、电器及功能特性。物理接口包括E-1 (2048 kb/s 32 64 kb/s channels)DS-1 (1544 kb/s24 64 kp/s channels) V.35 (64 kb/s)DS-0 (64 kb/s),及 DS<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />-0A (56 kb/s)
2MTP Level 2
    MTP Level 2 为在链路上传送的消息提供了准确、安全的点到点传输,Level 2 提供了流量控制、消息顺序确认及检错功能。当信令链路上发生错误时,若干消息会被重新传送。MTP Level 2 相当于OSI的数据链路层(Data Link Layer)。
    一个SS7的消息称为一个信令单元(SUsignal unit).。信令单元有三种格式:填充信令单元(FISU Fill-In Signal Units)、链路状态信令单元(LSSULink Status Signal Units)及消息信令单元(MSU Message Signal Units)  (如图 4)
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

  <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />

                          图 4. SS7 信令单元
 
当信令链路上没有消息(MSULSSU)可传时在链路上就双向的不间断的传送填充信令单元(FISU) FISU 中只承载level 2的消息(如对端信令单元接受证实信号)。信令链路两端的信令点不停的校验每个FISUCRC校验码以检测信令链路的通信质量(注意:在日本有所不同,信令点是通过检测标志位(Flag)来检测信令链路的通信质量的而非FISUCRC)FISU发送的间隔是预先确定的,如每150 毫秒)
    链路状态信令单元(LSSU) 在链路的两端发送一或两个字节(octets 8-bit bytes)的链路状态信息。链路状态用于两端协同控制链路,还可以向对端信令点指示出本信令点的状态(如处理损耗)。
    消息信令单元 (MSU) 的信令信息字段(SIFsignaling information field)承载了所有的呼叫控制、数据库查询及响应、网络管理、网络维护数据。网络使用MSU中的路由标签(routing label将消息从源信令点到其目的地信令点。
  长度指示(LILength Indicator)的值指示了消息单元的类型:
 
LI 的值

信令单元类型

0
  填充信令单元 (FISU)
1..2
  链路状态信令单元 (LSSU)
3..63
  消息信令单元 (MSU)
5. 消息类型及长度指示值
 
        6 bits 的长度指示(LI)的值从063。如果在LI之后、CRC之前的字节数少于63LI就是这个字节数;反之LI的值就是63LI63代表的意义是消息的长度等于或大于63(最多273 字节)。信令单元长度最大为279字节: 273 字节 (数据) + 1 字节 (flag) + 1 字节(BSN + BIB) + 1字节 (FSN + FIB) + 1字节 (LI + 2 bits spare) + 2 字节 (CRC)
同步标志位Flag
       
标志位(flag)指示了新信令单元的开始及上个信令单元的结束(如果有的话)。标志位的值是“0111 1110”。当传送信令单元时,MTP Level 2 会在出现连续51的序列后加个0,以除去假标志位。当接受到信令单元并除去标志位,MTP Level 2 会在出现连续51的序列后去除一个0,恢复原始的数据。通过这样的方法,除去了信令单元中的重复标志位。
后向序列号(BSNBackward Sequence Number)
        
后向序列号(BSN)用于信令单元的接受证实,向对端信令点确认相应信令单元已正确接受。 BSN中就是其证实接受的信令单元的序列号。(参见下面对FIB的描述)
后向指示比特(BIBBackward Indicator Bit)
       
后向指示比特(BIB 当被置位时即向对端指示了一个负(错误)的证实信号。(参见下面对FIB的描述)
前向序列号(FSNForward Sequence Number)
       
前向序列号(FSN)是信令单元的序列号。(参见下面对FIB的描述)
前向指示比特(FIBForward Indicator Bit)
        FIB
BIB一样用于出错时恢复之用。当一个信令单元准备传送时,信令点将其FSNforward sequence number) 1 (FSN = 0..127),同时CRC (cyclic redundancy check)也重新计算并加在前向消息之后。当接受到消息后,接受端首先校验CRC码,然后将其FSN号复制入准备向源端发送的下个后向消息的BSN字段。如果CRC校验正确,后向消息即被发送;如果校验出错,在发后向消息之前,信令点会将BIB置位以表示一个负(错误)指示。源点接受到这个负指示标志后,它会将从出错的消息序列号开始的所有消息重新传送,并且这些消息的FIB1
        由于7 bit FSN 的值是0~127,所以信令点在接受到第一个证实消息前,能连发最多128个消息。BSN 号指示了对端正确接受的最后一个消息的序列号,它证实了序列号BSN之前的所有消息已正确接受。如果信令点在收到消息其BSN=5之后又收到消息BSN=10(而且BIB未置位),则后个消息表示了FSN69的消息也都正确接受了。
业务信息段(SIOService Information Octet)
        MSU
中的业务消息段SIO 4 bit子业务字段和 4bit业务指示组成。FISULSSU并不含有SIO    子业务字段subservice field 包括了网络指示(国内或国际)以及消息优先级(0~33级别最高)。 消息优先级只在网络拥塞发生时使用,并不影响正常时消息传送时的顺序。在网络发生拥塞时,低优先级的消息会被丢弃,如信令链路测试消息比呼叫建立消息具有更高的优先级。
业务指示service indicator 表示MTP上层使用者类别(如图 6),依此对SIF中的数据进行解码。
Service Indicator

MTP 使用者类别

0
  信令网管理消息( SNM Signaling Network Management Message)
1
  一般维护消息( MTN Maintenance Regular Message )
2
  特殊维护消息( MTNS Maintenance Special Message )
3
  信令连接控制部分( SCCP Signaling Connection Control Part )
4
  电话用户部分( TUP Telephone User Part )
5
 ISDN 用户部分( ISUP User Part)
6
  数据用户部分 ( 电话及电路相关消息 )
7
  数据用户部分 ( 简易的登记 / 取消消息 )
6. 业务指示字段
 
信令消息字段(SIFSignaling Information Field)
       MSU
中的SIF字段包含有路由标签(routing label )和信令数据(如SCCPTCAPISUP信令的数据),而这两者LSSUFISU都不具有。对于路由标签的细节,请参考下面对于MTP Level 3 的描述。
循环冗余校验码(CRC Cyclic Redundancy Check)
       CRC
码是用于对传输是产生的错误进行检错及纠错的。参考上面关于BIB中的描述。

 


3MTP Level 3
   MTP Level 3 7号信令网中的信令点之间提供了信令传输的路由功能。它相当于OSI的网络层。
   MTP Level 3 根据信令消息单元中SIF字段的路由标签来提供路由功能。路由标签由目的地点码(DPCdestination point code)、源点点码(OPC originating point code)及链路选择参数(SLS signaling link selection)组成。点码是在7号信令网中唯一的标识每个信令点的数字地址。信令消息中的目的地点码指示出消息的目的地信令点,而SIO中的业务指示字段指示了该信令单元由那个用户部分接受解码(如ISUPSCCP)。如果某信令点具有信令转接功能(如STP)而它又接收到一个信令消息是发往其他信令点的,那么这个信令将被转发。出局链路的选择是根据DPCSLSANSI的路由标签使用7个字节,而ITU-T的为4个字节(如图 7)。

 

7. ANSI ITU-T 各自的SIOSIF定义
 
       ANSI的点码使用24比特(3字节);ITU-T 的点码一般使用14比特。正是由于这个原因,ANSIITU-T的信令网之间的信令交换必须通过一个转换器,可以是网关STP、协议转换器或具有两种格式点码的信令点。(注意:中国使用的是24比特 ITU-T 的点码,这种格式和以上提到的两种格式都不兼容。) 由于ANSIITU-T上层协议的实现方法不一样,所以这两种信令网之间的互连很复杂。
    ANSI的点码由网络号、集团号及组员编码组成(如245-16-0)。每个号都是一个字节, 8 比特,其值从0255Telcos with large networks have unique network identifiers while smaller operators are assigned a unique cluster number within networks 1 through 4 (e.g., 1-123-9). 网络号0不使用,255保留做见将来使用。
    ITU-T的点码格式是纯粹的二进制数,它可以被分割为地域编码、网络号及信令点识别码。例如点码5557 (十进制)可以分割为2-182-5 (二进制 010 10110110 101)
 
链路选择参数(SLS Signaling Link Selection )
   
出局链路的选择是根据DPCSLSSLS 有以下功能:
·         保证信令消息的先后顺序。以同样的SLS发送的两个消息总是先发先到,后发后到,先后顺序不变。
·         在所有可用的链路上平均分担流量。从理论上将,如果应用层以正常的时间间隔发送消息,并且循环的使用SLS值,这些流量在链路组中的所有链路上是平均分配的。
ANSI信令网上,SLS字段最初为5比特(32种可能值)。当一成对的链路组且各有两条链路时(总共有四条链路),就需要8SLS的值以使流量在这些链路上平均分配。
但随着网络的发展,链路超过了4条时,就会出现一些问题。在使用5 比特SLS情况下,对于一成对的链路组且各有五条链路(总共有十条链路),3SLS值对应了8条链路,还有4SLS值对应了余下的2条链路,导致了分配的不平均。为了避免这样的情况发生,ANSIBELL实验室都采用了8比特的SLS256个值)以使链路上的分担更为平均。
 在ITU-T 实际实现方法中,把SLS作为MTP消息中的信令链路码(signaling link code)。在ITU-T电话用户部分消息中,一部分的电路识别码(CIC)就存储在了SLS字段中,换句话说,也就是SLS使用了部分的电路识别码。
当有链路发生故障,MTP Level 3会将故障链路上的流量转移到其他链路上,在网络中发生拥塞时MTP Level 3 也会控制流量。对于这个,就不做详细讨论。
MTP Levels 2 Levels 1 能被ATM (Asynchronous Transfer Mode)代替,这是一种使用固定的53字节长度信元的简单宽带协议。MTP Level 3 ATM的接口使用ATM信令适配层(SAALSignaling ATM Adaptation Layer)。这个接口现正在研究之中。