51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 11171|回复: 6
打印 上一主题 下一主题

A.1-GPRS网络中SS7协议栈的MTP部分   [复制链接]

Rank: 9Rank: 9

懒

跳转到指定楼层
楼主
发表于 2011-4-25 22:27:31 |显示全部楼层 |倒序浏览
一键分享 一键分享
本帖最后由 爱卫生 于 2012-10-15 20:14 编辑

   前面提到,在GPRS网络中的SS7协议栈包括两个部分。第一部分消息传递部分MTP负责底层的承载。第二部分就是用户部分代表SS7的上层应用。MTP就是为上层用户UP部分提供承载服务的。而且对所有的SS7用户部分来说,MTP都是可以公用的。也就是说MTP的上层可以承载各种应用。   

    下面我们先来看一下MTP消息传递部分。其实MTP部分和路由及寻址和IP网络有很高的相似性。我们先来看几个术语以及它们和IP网络的对比。


    IP网络术语IP网络中的定义SS7相似的网络术语SS7网络中的定义
IP网络
SS7信令网络
IP地址

MAC地址
用于网络层寻址和标识

用于数据链路层寻址
信令点码Point Code或全球码GT用于SS7网络中的寻址和标识
源IP地址

源MAC地址
标识网络层的发送方

标识数据链路层发方
OPC(Original PC)(注释:不采用GT寻址时)

OPC(Original PC)(注释:采用GT寻址时)
标识SS7网络中通信的发送方
目的IP地址

目的MAC地址
标识IP网络层接收方

标识数据链路层收方
DPC(Destination PC)(注释:不采用GT寻址时)

DPC(Destination PC)(注释:采用GT寻址时)
标识SS7网络中通信的接收方
IP包头协议号

TCP/UDP端口号
标识IP层上层用户

标识传输层上层用户
MTP3层的SI字段(Service Indicator)

SCCP层的SSN(子系统号)
用于标识MTP3层上层用户
用于标识SCCP的上层用户
IP路由表用于IP网络下一跳寻址MTP路由表用于SS7网络中下一跳寻址
网络层 MTP-3
数据链路层 MTP-2
物理层 MTP-1
路由器提供IP网络中的基于网络层的包转发STP(信令转接点)提供MTP-3层的路由转接
通信节点或主机使用IP协议栈的通信节点信令点SP使用SS7协议栈的通信双方



      通过这个表格,其实我们可以发现SS7网络中的寻址也和IP网络的寻址非常类似。那我们先来回顾一下IP网络的寻址过程。

图例1:IP网络的路由寻址

   如图例1所示:左边的FTP Client要发送IP包给右边的FTP Server。过程如下:

1)首先,FTP Client将上层payload封装好(这个payload可以是FTP的命令或上传的FTP文件等),交给TCP层,TCP层根据MSS进行分段。然后再交给网络层进行寻址。网络层需要查找的是路由表。在FTP Client的路由表中,查找到去往目的地址FTP Server的2.2.2.10的下一跳网关是1.1.1.1。然后交给数据链路层。根据ARP的学习结果,封装R1 E1/1口的MAC地址,然后交给物理层通过以太链路发给R1。

2)R1查找路由表。路由器拿到这个数据包之后,要做的就是解封装。首先从物理层根据0101的比特流还原出以太帧,然后解数据链路层。读取数据链路层的以太帧头,发现目的MAC地址是自己的,那么自己就是接收者,然后就可以继续解封装,到网络层。源IP默认不做检查,只看目的IP。这时候发现目的IP不是自己的,而是2.2.2.10。因此不能继续往上解封装。而是根据这个目的IP 2.2.2.10查找路由表来进行寻址。发现有两个下一跳,一个是到R2的12.1.1.2,一个是到R3的13.1.1.3。但因为优先级不一样,所以选择了优先级更高的R2。出接口为FE1/2。需要重新进行封装数据链路层。将目的MAC重写为下一跳12.1.1.2的MAC地址,然后从FE1/2口发出去。

R2上的处理方法类似。这个包将路由传递到FTP Server。

3)FTP Server 2.2.2.1收到这个IP包后。一层层开始从下往上解封装。首先查看数据链路层的目的MAC地址,发现是自己的。网上解网络层。发现目的IP是自己的,继续解传输层,发现端口号为21。代表FTP。然后FTP Server就将这个数据包交给相应的FTP进行进行处理,完成应用层报文的解读。

至此,数据包发送和解封装完毕。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

Rank: 9Rank: 9

懒

沙发
发表于 2011-4-26 22:24:55 |显示全部楼层

SS7网络中的路由简化图

本帖最后由 爱卫生 于 2012-10-15 20:14 编辑

   对应图例1中IP网络中的寻址,我们再来看一下SS7网络中的基本路由寻址。做一个简化,其实可以发现和IP网络中的路由有很多类似甚至非常接近的地方。这个SS7网络路由简化图如图例2所示。如下:

图例2:SS7网络路由简化图

  如图例2所示,SGSN要发送一个MAP消息给HLR。需要用到MTP消息传递部分来为上层的MAP消息提供传送服务。而在SS7网络中的地址编码为SPC(信令点码),类似于IP网络中的IP地址。当然也不全像,还是有一点区别,后续会给大家介绍。但总的来说,路由的方式IP网络中的路由方式极其类似。

  首先,SGSN在本地查找MTP路由表,将MAP消息封装好MTP层包头之后,发送给下一跳STP(信令转接点)来完成消息的路由。这个STP的功能就类似我们传统的路由器完成IP包的路由和转发。当然本例中,SGSN如果和HLR是直连的,也可以不通过STP,是没有问题的。STP也要查找自己的MTP路由表,表中同样记录了下一跳节点以及下一跳的信令点码,并且同样也有优先级的设置来决定走哪个信令点优先。

   因此,我们可以得出结论,其实SS7网络并没有我们想象的那么复杂。后续将为大家继续介绍SS7网络的详细路由寻址方式。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

板凳
发表于 2011-4-27 15:43:41 |显示全部楼层

SS7网络MTP路由图

本帖最后由 爱卫生 于 2012-10-15 20:14 编辑

   接下来,我们通过一个具体实例,来看一下在SS7网络中,关于MTP层的路由具体在节点中是怎样实现的。
   下面的例子,假设是SGSN需要发送一个MAP消息(是一个位置更新请求消息)给HLR。图中列出了消息经过每一个节点的时候的包的封装。相应的地址编码和节点名称也都在图中做了标识,如下:

图例3-SS7网络MTP路由图

   我们来看一下这个包发送的步骤:

1)首先SGSN在用户部分创建好MAP消息之后,交给TCAP层。TCAP层的功能后续介绍,但本层和消息路由无关。然后交给SCCP层。SCCP层的功能后续会做详细介绍。这里只看其中的两个字段。一个是SSN,前面提到SSN,类似于TCP/UDP中的端口号,用于识别上层的不同用户部分。这里值为149,代表SGSN上的MAP消息。另外一个字段为RI(路由指示符),这里的取值为RI=Route On SSN。代表要求处理此消息的节点根据DPC+SSN来完成路由选择。还有另外一种选路方式为Route On GT。会在以后的例子中给大家介绍。在本例中只用到MTP中的DPC和SCCP中的SSN来完成消息的路由和寻址。然后,继续往下封装,交给MTP-3层,加上OPC是自己的2-100,DPC是下一跳STP的信令点码1-100,而不是HLR的信令点码3-100。从这一点可以看出来SPC和MAC地址非常相似。而并不和IP地址等价。接着往下交给MTP-2层信令链路,以及MTP-1层的E1端口或若干个E1时隙去完成转发。

2)在STP1上收到这个消息后,解封装。读取MTP-3层的DPC,发现是自己。然后就可以继续解到SCCP层。发现RI=Route On GT,得到一个指示,这个包要求自己根据GT来进行选路。然后执行GT翻译。其实这个消息并不是发给自己的。因此STP1要根据GT翻译的结果重写MTP-3层的封装,根据路由表的查找,下一跳为STP2,STP1根据GT翻译的结果将DPC重写为STP2的信令点码1-200。然后再通过路由表下一跳映射到MTP2层合适的信令链路发送出去。

  SP2上做和STP1类似的操作。

3)HLR收到这个消息后,发现DPC是自己,解包。到SCCP层,发现是Route On SSN代表按照DPC+SSN来进行寻址。SSN=149是代表上层的MAP消息,就可以直接将这个消息交给上层的MAP协议栈相应的进程去处理了。

  至此,消息发送完毕。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

地板
发表于 2011-6-16 09:49:06 |显示全部楼层
谢谢你的关注!但最近杂事比较多,这部分可能要稍延后一段时间。这是在我的日程安排上的。但也希望论坛其它朋友能帮忙补充也好!
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

5#
发表于 2011-7-9 14:52:19 |显示全部楼层
回复 huaweikaka 的帖子

   首先谢谢你对论坛的支持哈!关于Iu-PS这块我以后一定会补充的。但你上面提到的有些配置命令应该是华为的吧。这我可能就做不到根据配置命令来讲了,因为每个厂家的实现都不太一样。
  关于协议栈,其实,目前GPRS网络中使用的SS7协议都有一个公共的特点,如MAP和RANAP这两种常用的为例。就是他们都分成两个部分,一个是应用部分,即MAP和RANAP。一个是消息传递部分,包括SCCP和MTP-1/2/3等。SCCP很大一块的作用是实现了全球GT寻址,实际上也是对MTP-3路由寻址的增强,关于SCCP及GT寻址这块还没有特别完整的实例介绍,以后将视时间进度安排进行补充。
  如果是刚入门不久,不建议把3GPP当成教科书来读,这样效率会有所降低。3GPP规范更适合有一定积累的中高级人员。关于SS7有很多好的介绍,包括华为的很多文档。或者在论坛的文档发布区也有一些,例如“GPRS基本原理.doc"等。然后,就是要结合包来看,结合信令流程和网络拓扑一起来看,这样可能理解起来会更快一些。你可以到信令流程版块找一些包先来看看。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

6#
发表于 2011-8-21 10:23:35 |显示全部楼层
jsh7912 发表于 2011-8-20 20:29
2)在STP1上收到这个消息后,解封装。读取MTP-3层的DPC,发现是自己。然后就可以继续解到SCCP层。发现RI=Ro ...

  有道理,谢谢你的纠正。我很认同你的观点。这里SGSN发出的包SCCP层应该是Route On GT。
  我的本意是想单独写一篇帖子介绍GT寻址,在这篇帖子里尽量淡化GT寻址,但没想到还是出现了纰漏。
  在实际的环境中,SGSN发出的寻址HLR的包也都是Route On GT的。这幅图是为了说明实际环境中基于MTP-3的寻址过程而画的。并不适用于GT寻址,GT寻址我将单独开一篇帖子介绍。包括SGSN上GT码的生成过程。
  再次感谢!
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

7#
发表于 2012-3-14 22:05:58 |显示全部楼层
strong1982 发表于 2012-3-14 16:46
以下说法不知是否正确,请楼主帮忙确认下,谢谢:
1、采用DPC寻址时,STP的负担较小,但SGSN所配数据较多; ...

是的。
1、采用DPC寻址时,STP的负担较小,但SGSN所配数据较多;这个应该对应的是第二条所说情况
      这个主要是因为采用DPC寻址时,SGSN需要配置到多个HLR的DPC的信令点路由、信令链等等。STP由于不需要做GT翻译,只需要根据DPC寻址,所以负荷小。(本例采用DPC寻址)
2、采用GT寻址时,STP的负担较大,但SGSN所配数据较少。这个应该是对应第三条所说情况,之所以STP负担大,是因为STP要进行GT译码,而不是像上述情况只是解包解到MTP3层。
     正好反过来,SGSN只需要封装好MGT(Mobile GT)到SCCP层,不需要配置到各个HLR的DPC,因此配置量少。而STP要做GT到DPC+SSN的翻译,因此负荷要大。(本例采用GT寻址)

www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-5-20 18:41 , Processed in 0.179590 second(s), 14 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部