五、消息传送部分(Message Transfer Part)
消息传送部分(MTP)分成三层:
1.MTP Level 1
相当与OSI的物理层,定义了数字信令链路的物理、电器及功能特性。物理接口包括E-1 (2048 kb/s; 32 64 kb/s channels),DS-1 (1544 kb/s;24 64 kp/s channels), V.35 (64 kb/s),DS-0 (64 kb/s),及 DS -0A (56 kb/s)。
2.MTP Level 2
MTP Level 2 为在链路上传送的消息提供了准确、安全的点到点传输,Level 2 提供了流量控制、消息顺序确认及检错功能。当信令链路上发生错误时,若干消息会被重新传送。MTP Level 2 相当于OSI的数据链路层(Data Link Layer)。
一个SS7的消息称为一个信令单元(SU:signal unit).。信令单元有三种格式:填充信令单元(FISU: Fill-In Signal Units)、链路状态信令单元(LSSU:Link Status Signal Units)及消息信令单元(MSU: Message Signal Units) (如图 4)。
图 4. SS7 信令单元
当信令链路上没有消息(MSU或LSSU)可传时在链路上就双向的不间断的传送填充信令单元(FISU)。 FISU 中只承载level 2的消息(如对端信令单元接受证实信号)。信令链路两端的信令点不停的校验每个FISU的CRC校验码以检测信令链路的通信质量(注意:在日本有所不同,信令点是通过检测标志位(Flag)来检测信令链路的通信质量的而非FISU的CRC)。FISU发送的间隔是预先确定的,如每150 毫秒)。
链路状态信令单元(LSSU) 在链路的两端发送一或两个字节(octets 8-bit bytes)的链路状态信息。链路状态用于两端协同控制链路,还可以向对端信令点指示出本信令点的状态(如处理损耗)。
消息信令单元 (MSU) 的信令信息字段(SIF:signaling information field)承载了所有的呼叫控制、数据库查询及响应、网络管理、网络维护数据。网络使用MSU中的路由标签(routing label)将消息从源信令点到其目的地信令点。
长度指示(LI:Length Indicator)的值指示了消息单元的类型:
LI
的值
|
信令单元类型 |
0
|
填充信令单元
(FISU)
|
1..2
|
链路状态信令单元
(LSSU)
|
3..63
|
消息信令单元
(MSU)
|
图 5. 消息类型及长度指示值
6 bits 的长度指示(LI)的值从0到63。如果在LI之后、CRC之前的字节数少于63,LI就是这个字节数;反之LI的值就是63。LI为63代表的意义是消息的长度等于或大于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 会在出现连续5个1的序列后加个0,以除去假标志位。当接受到信令单元并除去标志位,MTP Level 2 会在出现连续5个1的序列后去除一个0,恢复原始的数据。通过这样的方法,除去了信令单元中的重复标志位。
标志位(flag)指示了新信令单元的开始及上个信令单元的结束(如果有的话)。标志位的值是“0111 1110”。当传送信令单元时,MTP Level 2 会在出现连续5个1的序列后加个0,以除去假标志位。当接受到信令单元并除去标志位,MTP Level 2 会在出现连续5个1的序列后去除一个0,恢复原始的数据。通过这样的方法,除去了信令单元中的重复标志位。
后向序列号(BSN:Backward Sequence Number)
后向序列号(BSN)用于信令单元的接受证实,向对端信令点确认相应信令单元已正确接受。 BSN中就是其证实接受的信令单元的序列号。(参见下面对FIB的描述)
后向序列号(BSN)用于信令单元的接受证实,向对端信令点确认相应信令单元已正确接受。 BSN中就是其证实接受的信令单元的序列号。(参见下面对FIB的描述)
后向指示比特(BIB:Backward Indicator Bit)
后向指示比特(BIB) 当被置位时即向对端指示了一个负(错误)的证实信号。(参见下面对FIB的描述)
后向指示比特(BIB) 当被置位时即向对端指示了一个负(错误)的证实信号。(参见下面对FIB的描述)
前向序列号(FSN:Forward Sequence Number)
前向序列号(FSN)是信令单元的序列号。(参见下面对FIB的描述)
前向序列号(FSN)是信令单元的序列号。(参见下面对FIB的描述)
前向指示比特(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。
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的消息也都正确接受了。
业务信息段(SIO:Service Information Octet)
MSU 中的业务消息段SIO 由4 bit子业务字段和 4bit业务指示组成。FISU和LSSU并不含有SIO。 子业务字段subservice field 包括了网络指示(国内或国际)以及消息优先级(0~3,3级别最高)。 消息优先级只在网络拥塞发生时使用,并不影响正常时消息传送时的顺序。在网络发生拥塞时,低优先级的消息会被丢弃,如信令链路测试消息比呼叫建立消息具有更高的优先级。
MSU 中的业务消息段SIO 由4 bit子业务字段和 4bit业务指示组成。FISU和LSSU并不含有SIO。 子业务字段subservice field 包括了网络指示(国内或国际)以及消息优先级(0~3,3级别最高)。 消息优先级只在网络拥塞发生时使用,并不影响正常时消息传送时的顺序。在网络发生拥塞时,低优先级的消息会被丢弃,如信令链路测试消息比呼叫建立消息具有更高的优先级。
业务指示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. 业务指示字段
信令消息字段(SIF:Signaling Information Field)
MSU 中的SIF字段包含有路由标签(routing label )和信令数据(如SCCP、TCAP及ISUP信令的数据),而这两者LSSU和FISU都不具有。对于路由标签的细节,请参考下面对于MTP Level 3 的描述。
MSU 中的SIF字段包含有路由标签(routing label )和信令数据(如SCCP、TCAP及ISUP信令的数据),而这两者LSSU和FISU都不具有。对于路由标签的细节,请参考下面对于MTP Level 3 的描述。
循环冗余校验码(CRC
:Cyclic Redundancy Check)
CRC 码是用于对传输是产生的错误进行检错及纠错的。参考上面关于BIB中的描述。
CRC 码是用于对传输是产生的错误进行检错及纠错的。参考上面关于BIB中的描述。
3.MTP Level 3
MTP Level 3 在7号信令网中的信令点之间提供了信令传输的路由功能。它相当于OSI的网络层。
MTP Level 3 根据信令消息单元中SIF字段的路由标签来提供路由功能。路由标签由目的地点码(DPC:destination point code)、源点点码(OPC: originating point code)及链路选择参数(SLS: signaling link selection)组成。点码是在7号信令网中唯一的标识每个信令点的数字地址。信令消息中的目的地点码指示出消息的目的地信令点,而SIO中的业务指示字段指示了该信令单元由那个用户部分接受解码(如ISUP、SCCP)。如果某信令点具有信令转接功能(如STP)而它又接收到一个信令消息是发往其他信令点的,那么这个信令将被转发。出局链路的选择是根据DPC和SLS,ANSI的路由标签使用7个字节,而ITU-T的为4个字节(如图 7)。
图 7. ANSI 及ITU-T 各自的SIO、SIF定义
ANSI的点码使用24比特(3字节);ITU-T 的点码一般使用14比特。正是由于这个原因,ANSI及ITU-T的信令网之间的信令交换必须通过一个转换器,可以是网关STP、协议转换器或具有两种格式点码的信令点。(注意:中国使用的是24比特 ITU-T 的点码,这种格式和以上提到的两种格式都不兼容。) 由于ANSI及ITU-T上层协议的实现方法不一样,所以这两种信令网之间的互连很复杂。
ANSI的点码由网络号、集团号及组员编码组成(如245-16-0)。每个号都是一个字节, 8 比特,其值从0到255。Telcos 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 )
出局链路的选择是根据DPC和SLS,SLS 有以下功能:
出局链路的选择是根据DPC和SLS,SLS 有以下功能:
·
保证信令消息的先后顺序。以同样的SLS发送的两个消息总是先发先到,后发后到,先后顺序不变。
·
在所有可用的链路上平均分担流量。从理论上将,如果应用层以正常的时间间隔发送消息,并且循环的使用SLS值,这些流量在链路组中的所有链路上是平均分配的。
在ANSI信令网上,SLS字段最初为5比特(32种可能值)。当一成对的链路组且各有两条链路时(总共有四条链路),就需要8个SLS的值以使流量在这些链路上平均分配。
但随着网络的发展,链路超过了4条时,就会出现一些问题。在使用5 比特SLS情况下,对于一成对的链路组且各有五条链路(总共有十条链路),3个SLS值对应了8条链路,还有4个SLS值对应了余下的2条链路,导致了分配的不平均。为了避免这样的情况发生,ANSI及BELL实验室都采用了8比特的SLS(256个值)以使链路上的分担更为平均。
在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信令适配层(SAAL:Signaling ATM Adaptation Layer)。这个接口现正在研究之中。