CMPP和SMPP协议比较
CMPP和SMPP协议比较
并非同类型协议
CMPP和SMPP都是短信协议中的一种,但它们不是同一类型的协议。SMPP和ESME和SMC(短信中心)之间的协议,而CMPP是SP和中国移动ISMG之间的通讯协议。
以下是CMPP 3.0文档中的图示。
与CMPP对应的协议有,联通的SGIP协议,中国电信的SMGP协议,网通的CNGP协议。
作为SP,只需要了解CMPP,不需要了解SMPP。
最新版本和兼容
SMPP协议是一个国际标准,有SMS论坛制定,官方网址为smsforum.net,截至
CMPP最新版本似乎是3.0。现在(2006年7月),大多数还是使用CMPP 2.0。CMPP协议没有做到向后兼容,3.0的文档本身也没有讲到兼容的问题,甚至认为,协议制定者压根没想过要兼容。CMPP 3.0没做到向后兼容导致了一个问题,就是SP无法平滑升级。
PDU格式
PDU是协议数据单元的缩写,SMPP和CMPP都使用最先一个4位的长度标志整个PDU的长度。
SMPP是一个国际标准,不同的SMC的是实现可能要增加特定参数,为了具备更好的扩展性,SMPP 3.4以上版本,增加了可选参数,在5.0中,可选参数叫做TLVTable。
CMPP是中国移动定义的其内部ISMG之间、ISMG与SP之间的通讯标准,涉及一些具体的计费信息,但没有可选参数。
在SMPP中,消息头包括4部分:PDU长度、Command_Id、Command_Status、Sequence_Id。其中Command_Status字段,只在回应消息中使用,存在冗余。
CMPP中,消息头部包括3部分:PDU长度、Command_Id、Sequence_Id。个人认为,CMPP中的消息头,不包括Command_Status,似乎更好一些。
消息传输模式
SMPP和CMPP都支持异步传输,CMPP中,建议异步传输的窗口大小为16。
CMPP使用一个连接发送短信息和接收短信息。
SMPP支持多种的连接,其中TX类型的连接,只能发送短信息,RX类型的连接只能接收短信息,TRX类型的连接支持接收和发送短信息。
SMPP 3.4中,消息传输模式分三中:Store And Forward、Datagram、Forward。分别用在大吞吐量、可靠性保证等不同的应用场合。
CMPP没有规定其消息传输的模式,根据实际使用的情况看来,华为的网关的消息传输模式类似SMPP协议中规定的Datagram模式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架