摘 要 随着通信技术的发展,无线互联网短消息业务为用户提供越来越多的服务。越来越多的用户对这种服务方式形成了习惯。目前,大部分短消息业务的互联互通都是使用短消息网关来实现,主要服务提供商SP与短消息网关之间通过二进制的中国移动点对点协议 (CMPP)接口进行信息交换,而网关则通过短信息点对点协议(SMPP)与短消息中心(SMSC)进行信息交换。随着用户群的扩大,网络通信的稳定性受到了巨大的挑战。 本课题的目的是在UNIX平台下构建一个应用于短信增值业务平台,实现核心系统与外部通信的接口,即对中国移动点对点协议(cmpp3.0)的实现,并实现对服务提供商(sp)与短信网关(ISMG)间的短信功能的模拟。为服务提供商(SP)与短消息网关(ISMG)之间的数据交换提供了一条安全、快捷的通道,以便手机用户采用短信方式与SP双向通信,接收SP提供的信息服务。 本课题在UNIX平台下,基于SMPP与CMPP协议,通过SOCKET建立网络连接并实现客户端与服务器端之间消息的收、发以及链路检测。编程语言采用C语言,主涉及到UNIX及socket编程、SMPP与CMPP协议所规定的数据包(PDU)生成和解析以及请求/应答机制的实现。
关键字:UNIX, SOCKET, CMPP3.0协议,SMPP协议 Design and Implementation of Interent Communication Framework on the Basis of unix Abstract With the development of communication technology, wireless Internet short messages can provide more and more service for the clients, and more and more clients are inclined to exploit this service as a habit. Nowadays, the link among most of the short messages business is achieved through short message gateway, the information exchange between SP and short message gateway is achieved through a binary-systemed CMPP interface, and the information exchange between the short message gateway and SMSC is achieved through SMPP. The stability of communication through Internet is greatly challenged with the increase of the clients. The thesis aims to construct a platform which can be used for value-added service of short message business, provide a interface between the core system and external communication, that is, the implement of CMPP 3.0. The thesis also aims to imitate the short message functions between clients of SP and ISMG, providing a safe and convenient channel for exchanging data between SP and ISMG, therefore, the cellphone clients are capable to have intercommunication with SP and get the information services provided by SP through short messages. The thesis adopts SOCKET on the basis of CMPP and SMPP communication in UNIX, which ensure the information sending and receiving between the clients and the servers as well as examine the link. The thesis exploits C as programming language, which mainly relates to UNIX, Socket, generating and interpreting of package data of SMPP and CMPP as well as the implement of the inquiry-reply system.
Key words: UNIX, SOCKET, CMPP3.0, SMPP UNIX概述 UNIX是一个强大的多用户、多任务操作系统,支持多种处理器架构,最早由Ken Thompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发,经过长期的发展和完善,目前已成为一种主流的操作系统技术和基于这种技术的产品大家族。最初的Unix是用汇编语言编写的,一些应用是由B语言和汇编语言混合编写的。B语言在进行系统编程时不够强大,所以Thompson和Ritchie对其进行了改造,并于1971年共同发明了C语言。1973 年Thompson和Ritchie用C语言重写了Unix。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。
UNIX原理 UNIX通常可以分为四个主要部分:内核、shell、文件结构和应用程序。内核是运行程序和管理磁盘等硬件设备的核心程序。shell则提供了用户接口,它从用户接受命令并交给内核执行,文件结构则负责组织文件在磁盘等存储设备上的存储方式。内核、shell和文件结构共同构成了操作系统的基础结构。
互联网短消息通信结构 当用户想要定制短消息增值业务时,先发送请求短消息到短信中心(SMSC),短信中心通过短消息点对点(SMPP)协议发送到相应互联网网关(ISMG),ISMG通过中国移动短消息点对点(CMPP)协议发送给服务提供商(SP)。当SP收到用户发送的请求消息后,SP会根据消息中的业务类型提供相应的服务。在发送过程中,当ISMG(这里称为发送网关)不知道SP的地址时,ISMG会通过汇集网关(也称网关名称服务器GNS)查询与SP相连的网关地址(这里称为目的网关),并将消息发送到目的网关,接下来目的网关会将短消息转发给SP。
系统分析 本课题研究的是网络通信架构的设计与实现,实现对网络间短消息通信的模拟,并实现核心系统与外部通信的接口。即通过建立客户端与服务器端,实现双方互相发送短消息,并对相关协议进行实现。其中,客户端可以连续向服务器发送消息,不必等待回复。
设计思路 因为本课题是面向网络连接,所以会采用比较稳定的UNIX操作系统。在网络间通信协议上,同样会采用安全性较高的TCP协议作为底层的承载协议。在此基础上,利用系统下的SOCKET及相关调用建立起TCP层连接。在客户端与服务器端采用异步通信方式,并利用并发原理以保证客户端与服务器端可以连续通信,而不必等待。由于本课题是对短消息通信的研究,因此在消息的发送与接受过程中,会遵循SMPP协议与CMPP协议,并实现两个协议的主要消息。
目 录 任务书 I 摘 要 II ABSTRACT III 第1章 绪 论 1 1.1 国内外现状 1 1.2 应用范围 1 第2章 UNIX系统介绍 2 2.1 UNIX概述 2 2.2 UNIX原理 2 2.3 UNIX与WINDOWS 3 2.3.1 WINDOWS操作系统的优缺点 3 2.3.2 UNIX操作系统的优缺点 3 第3章 网络通信的分析与设计 4 3.1 互联网短消息通信原理 4 3.2 系统分析 4 3.3 设计思路 5 第4章 TCP/IP协议 6 4.1 概述 6 4.2 TCP/IP协议架构 6 4.2.1 应用层 6 4.2.2 传输层 6 4.2.3 互联网络层 6 4.2.4 网络接口层 7 4.3 TCP/IP的连接 7 4.4 TCP与UDP系统的功能结构设计 7 (毕业设计) 4.4.1 TCP协议的优缺点 8 4.4.2 UDP协议的优缺点 8 4.4.3 小结 8 第5章 网络通信的架构与实现 9 5.1 概述 9 5.2 套接字类型 9 5.2.1 流式套接字 9 5.2.2 数据报套接字 9 5.2.3 原始套接字 9 5.3 SOCKET编程原理 9 5.3.1 服务器端 9 5.3.2 客户端 10 5.4 TCP层的连接与释放 10 5.4.1 socket函数 11 5.4.2 bind函数 12 5.4.3 listen函数 13 5.4.4 connect函数 14 5.4.5 accept函数 15 5.4.6 close函数 15 5.4.7 实现 15 5.5 应用层连接与释放 16 5.5.1 长连接与短连接 16 5.5.2 同步与异步 17 5.5.3 同步短连接 17 5.5.4 异步长连接 18 5.6 实现 18 第6章 UNIX下进程间通信方式 20 6.1 概述 20 6.2 管道 20 6.2.1 原理 20 6.2.2 管道的优缺点 20 6.3 消息队列 21 6.3.1 原理 21 6.3.2主要函数 22 6.3.3 消息队列的优缺点 22 6.4 实现 23 第7章 短信网关接口协议 24 7.1 概述 24 7.2 CMPP协议 24 7.2.1 CMPP概述 24 7.2.2 CMPP协议业务内容 24 7.2.3 CMPP协议消息 26 7.3 SMPP协议 28 7.3.1 概述 28 7.3.2 SMPP协议业务内容 28 7.3.3 SMPP会话描述 28 7.3.4 SMPP协议消息 29 7.4 实现 30 第8章 测 试 32 8.1 指导思想 32 8.2 环境配置 32 8.3 测试结果 32 第9章 结 论 33 参考文献 34 致 谢 35 |