• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 美文 > 正文

    关于SGIP和CMCC两种短消息协议的比较

    时间:2020-12-15 08:07:39 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

    (1.中国移动通信集团 内蒙古有限公司;
    2.中国人寿保险股份公司 内蒙古分 公司,内蒙古 呼和浩特 010010)
    摘 要:
    文章通过对SGIP和CMCC两种短消息协议介绍,从消息定义、通信流程、连接方式等 方面对这两种短消息协议进行了较为深入的比较。
    关键词:协议;
    SGIP;

    CMCC;
    短消息
    中图分类号:TN915.04  文献标识码:A  文章编 号:1007—6921(2009)01—0064—02
    1 SMPP协议概述

    SMPP(Short Message Peer to Peer)协议是一种开放的、工业化的接口协议,为短消息中心( 如SMSC、USSD、分散的辅助服务的数据服务器或其他的消息中心)和SMS应用系统(如WAP代理 服务器、E-mail网关或其他消息网关)之间的短消息的转换提供了灵活的数据通信接口。SMP P协议作为一个开放的消息转换协议,完成SMSC与ESMEs(外部短消息实体)的信息交换,它定义 了一系列操作的协议数据单元(PDUs)和SMPP运行时ESMS应用系统与SMSC之间交换的数据。通 常将SMSC称为SMPP的“服务器”实体,而EMSE(外部短消息实体)称为“客户”。
    2 SGIP协议介绍

    SGIP协议是SMG和SP之间、SMG和GNS之间以及SMG和SMG之间的接口协议,简称SGIP。通过应 用SGIP协议,SP可以接入到SMG,实现SP应用的一点接入、全网服务;
    SMG可以通过SGIP协议 ,实现消息在不同SMG之间的路由和转发。同时,SMG通过该协议也可以和GNS通信,以实现 各SMG和GNS之间路由表的同步功能。
    2.1 通信流程

    SGIP有两种具体实现方式,一种是采用专用SGIP方式,另一种是采用通用HTTP方式。SMG和G NS以及SMG和SMG之间采用专用SGIP方式作为承载协议;
    而SP和SMG的通信同时支持专用SGIP 方式和通用HTTP方式两种承载协议。
    2.1.1 专用SGIP方式。采用专用SGIP方式承载时,通信双方互为客户端和服务器端。当客户端要发送命令时,主动 向服务器端建立连接,然后向服务器端发送命令,并接收应答;
    服务器端从客户端接收命令 ,返回应答。连接建立以后,客户端可以连续发送多条命令。命令发送完并接收到所有应答 后,客户端应该主动断开连接。但是,命令及其应答之间的时间间隔最大不能超过30s(默 认,可配置)。如果命令应答时间超过最大等待时间,则要求客户端按照重发机制重发该条 命令,且待应答的命令不得超过32条(可以根据线路的质量和服务器的处理能力配置)。而 且,如果服务器端检测出一条连接长时间空闲(默认60s,可配置),可以主动断开该连接。

    如果需要,客户端可以同时向一个服务器端建立多个连接(SMG与单个其他SMG最多不能建立 超过15个连接,对与之相连的单个SP的最大连接数视具体情况而定)。采用专用SGIP承载方 式时,SMG和SMG、SP和SMG之间使用的端口号是8801,GNS监听SMG的端口号为8802,SMG监听 GNS的端口号为8803,主GNS和备用GNS之间的端口号为8804,SMG之间的测试用端口号为8810 。
    2.1.2 通用HTTP方式。HTTP承载方式只适用于SP和SMG的通信中。与SP与SMG之间的专用SGIP承载方式不同的是,该 种方式一次连接仅仅传送一条命令,而且连接的认证采用HTTP的URL的授权认证的方式,不 需要专门的连接认证的命令,使用的端口号是80。
    2.2 消息定义

    消息分基于HTTP的消息、基于TCP/IP的消息和鉴权消息三种,每个消息包最大不超过2K字节 。专用SGIP协议中定义的消息由消息头和消息体组成。


    2.2.1 消息头格式(见表1)。
    2.2.2 消息体的格式
    2.2.2.1 Bind操作。Bind操作由Bind命令和Bind[CD#*4]Resp应答组成。客户端首先发送Bind命令,服务器端收 到Bind命令后,对命令发送方进行验证,然后返回Bind[CD#*4]Resp应答。
    2.2.2.2 Unbind操作。Unbind操作由Unbind命令和Unbind_Resp应答组成。通信连接建立以后,客户端如果要停止 通信,需要发送Unbind命令;
    服务器端收到Unbind命令后,向客户端发送Unbind_Resp相应 ,然后双方断开连接。Unbind命令和Unbind_Resp应答都没有消息体。
    2.2.2.3 Submit操作。在SP和SMG的通信中,SP用Submit命令向SMG提交MT短消息,发送到用户的手机中。SMG接收 到Submit命令,会返回Submit_Resp应答。SMG根据Submit命令中的付费号码,判断出该命令 是否应从本地SMSC发送,如果属于本地发送,则直接发送到相应的SMSC,否则路由至相应的SMG。

    在SMG和SMG的通信中,Submit命令用于SMG客户端向服务器端路由从SP收到的MT短消息。服 务器端接收到Submit命令后,再发送到与之相连的目的SMSC。
    2.2.2.4 Deliver操作。在SP和SMG的通信中,SMG用Deliver命令向SP发送一条MO短消息。SP接收到Deliver命令,会 返回Deliver[CD#*4]Resp应答。SMG根据Deliver命令中目的特服号,判断出该服务属于和哪 一个SMG相连接的SP,如果属于本地SP,则直接发送到SP,否则路由至相应的SMG。

    在SMG和SMG的通信中,Deliver命令用于SMG客户端向服务器端路由MO短消息。服务器端接收 到Deliver命令后,再发送到与之相连的目的SP。
    2.2.2.5 Report操作。Report命令用于向SP发送一条先前的Submit命令的当前状态,或者用于向前转SMG发送一条 先前的Deliver命令的当前状态。Report命令的接收方需要向发送方返回Report[CD#*4]Resp 命令。
    3 CMPP协议介绍

    CMPP协议是中国移动通信互联网短信网关接口协议(China Mobile Peer to Peer),是中国 移动通信集团公司企业规范,简称CMPP,现阶段版本为2.0版。CMPP协议描述了中国移动短 信业务中网元(包括ISMG、GNS和SP)之间的相关消息的类型和定义。
    3.1 CMPP功能概述

    CMPP协议主要提供以下两类业务操作:
    3.1.1 短信发送(Short Message Mobile Originate,SM MO)。典型的业务操作举例如图 1所示:

    ①手机发出数据请求(可能是订阅信息或图片点播等),被源ISMG接收;
    ②源ISMG对接收到的信息返回响应;
    ③源ISMG在本地查询不到要连接的SP,向GNS(汇接网关)发路由请求信息;
    ④GNS将路由信息返回;

    ⑤源ISMG根据路由信息将请求前转给目的ISMG;
    ⑥目的ISMG对接收到的信息返回响应;
    ⑦目的ISMG将请求信息送SP;
    ⑧SP返回响应。

    在以上操作中,步骤3到步骤8均使用CMPP协议;
    在随后的操作中,目的ISMG在接收到SP的响 应后将产生MO状态报告发给源ISMG。
    3.1.2 短信接收(Short Message Mobile Terminated,SM MT)。典型的业务操作举例如图2所示: 

         
    ①SP发出数据请求(可能是短信通知或手机铃声等),被源ISMG接收;
    ②源ISMG对接收到的信息返回响应;

    ③源ISMG在本地数据库中找不到要目的手机号段所对应网关代码,向GNS(汇接网关)发路 由请求信息;

    ④汇接网关将路由信息返回;
    ⑤源ISMG根据路由信息将请求前转给目的ISMG;
    ⑥目的ISMG对接收到的信息返回响应;
    ⑦目的ISMG将请求信息发送至SMC;
    ⑧SMC向目的ISMG返回响应。

    在上述操作中,步骤1到步骤6均使用CMPP协议;
    在随后的操作中,SMC将通过NO.7信令网向 移动用户发送信息,移动用户收到后将返回状态报告(Delivery-Receipt)给短信中心,短 信中心将按照MO操作的流程将状态报告返回给SP(如果SP要求返回状态报告)。
    3.2 通信方式

    CMPP协议以TCP/IP作为底层通信承载。SP与ISMG之间、ISMG之间进行信息交互时,可以采用 长连接方式,也可以采用短连接方式。所谓长连接,指在一个TCP连接上可以连续发送多个 数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接 。短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP 连接,即每次TCP连接只完成一对CMPP消息的发送。
    3.2.1 长连接。通信双方以客户——服务器方式建立TCP连接,用于双方信息的相互提交。当信道上没有数 据传输时,通信双方应每隔时间C发送链路检测包以维持此连接,当链路检测包发出超过时 间T后未收到响应,应立即再发送链路检测包,再连续发送N-1次后仍未得到响应则断开此连 接。
    参数C、T、N原则上应可配置,现阶段建议取值为:C=3min,T=60s,N=3。

    网关与SP之间、网关之间的消息发送后等待Ts后未收到响应,应立即重发,再连续发送N-1 次后仍未得到响应则停发。现阶段建议取值为:T=60s,N=3。消息采用并发方式发送,加 以滑动窗口流量控制,窗口大小参数W可配置。现阶段建议为16,即接收方在应答前一次收 到的消息最多不超过16条。
    3.2.2 短连接。

    通信双方以客户——服务器方式建立TCP连接,应答与请求在同一个连接中完成。系统采用 客户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。网 关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次 后仍未得到响应则停发。现阶段建议取值为:T=60s,N=3。
    4 SGIP协议与CMPP协议的比较

    通过对SGIP协议和CMPP协议的阐述,结合应用SGIP协议的实际开发经验,对这两种短消息协 议比较如下:
    目前国内服务提供商(SP)与短信网关接入主要有两种方式,即中国联通采用的SGIP协议和 中国移动采用的CMPP协议。

    SGIP和CMPP都定义了MO和MT方法,SP可以发送消息到短信网关,消息也可以从短信网关发送 到SP。同时也提供了短信息发送状态报告,SP根据自己的情况在发送时可以指定需要此短信 的报告。

    这两个协议中SP与网关的连接都是基于请求响应模式,双方互为客户/服务器(客户就是请求 连接的一方如MT中就是SP发到网关,则SP是客户;
    反之,在MO中网关是客户)。客户发出请 求,服务器返回对这个请求的响应。

    SGIP与短信网关有两种连接方式:HTTP连接和TCP连接。HTTP连接就是使用HTTP协议发送短信 ,TCP连接就是向短信网关发送TCP包,下面说明它与CMPP的区别。CMPP只有TCP连接,但是 它定义了长连接和短连接方式,短连接就是一次连接只进行一个请求——响应操作,操作完 成后断开连接,下次操作再建立连接。长连接则是一个连接中可以进行多次请求——响应操 作。

    SGIP的TCP连接和CMPP中的长连接使用的是流水线的形式,也就是可以一连发出好多个 请求,然后再等待它们所有的响应,如果某个响应超过一定时间没有收到返回信息,那么可 以进行重发,两个协议的重发机制不一样,SGIP协议是简单的超时重发,CMPP的重发机制比 较复杂一些。SGIP和CMPP长连接方式的区别是CMPP协议定义了连接检测包 ,而SGIP协议没 有这样的定义,所以CMPP的长连接可以保持很长时间不断开,而 SGIP协议则超时后就会被 断开。

    对于MO和MT的实现,短信网关定义了接口用于接受来自SP的连接,但是到SP的连接两个标准 实现不一样。SGIP协议里面规定了SP应该监听的端口用于接受来自短信网关的连接,但是CM PP协议中没有这样的规定,所以CMPP协议中实现没有统一的规则,其实现与不同的设备提供 商有关。

    另外,CMPP协议中定义了CMPP_QUERY和CMPP_CANCEL两个操作,但是这两个操 作并没有被多数设备厂商实现。而SGIP协议的功能很简单,均可实现。
    [参考文献]
    [1] 代建军.基于SGIP协议的SMS增值业务开发与研究(学位论文)[D],2005.
    [2] 周学泳,石丹.短消息(SMS)与WAP的开发与应用[M].北京:电子工业出版 社,2002.

    相关热词搜索: 两种 短消息 协议 SGIP CMCC

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章