五、消息传送部分(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
,恢复原始的数据。通过这样的方法,除去了信令单元中的重复标志位。
后向序列号(BSN
:Backward Sequence Number)
后向序列号(
BSN
)用于信令单元的接受证实,向对端信令点确认相应信令单元已正确接受。
BSN
中就是其证实接受的信令单元的序列号。
(
参见下面对
FIB
的描述
)
后向指示比特(BIB
:Backward Indicator Bit)
后向指示比特(
BIB
)
当被置位时即向对端指示了一个负(错误)的证实信号。
(
参见下面对
FIB
的描述
)
前向序列号(FSN
:Forward Sequence Number)
前向序列号(
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
。
由于
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
级别最高)。
消息优先级只在网络拥塞发生时使用,并不影响正常时消息传送时的顺序。在网络发生拥塞时,低优先级的消息会被丢弃,如信令链路测试消息比呼叫建立消息具有更高的优先级。
业务指示
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
的描述。
循环冗余校验码(CRC
:Cyclic Redundancy Check)
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
有以下功能:
・
保证信令消息的先后顺序。以同样的
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
)
。这个接口现正在研究之中。