本帖最后由 爱卫生 于 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进行进行处理,完成应用层报文的解读。 至此,数据包发送和解封装完毕。 |