1 分组数据路由及传输
GPRS传输协议平台如图3所示。
图3 GPRS传输协议平台
LLC(Logical Link Control)协议基于HDLC(高级数据链路控制规程)协议,LLC帧包含帧头、临时地址字段、可变长度信息字段和帧检测序列,为MS和SGSN之间提供高可靠的逻辑链路,可传输确认帧和非确认帧,对中断帧可检测重发,支持点对点和点对多点数据传输。利用同一个物理信道实现网络和多个MS之间传输信息,LLC层允许信息传送有不同优先级。
SNDCP(SubNetwork Dependent Convergence Protocol)协议属于网络层协议,从移动台MS到SGSN,数据分组被分成几个子网相关的收敛数据单元,SNDCP协议执行用户数据的分段处理、用户数据的压缩、TCP/IP头的压缩和加密功能。
BSSGP(Base SubSystem GPRS Protocol)协议支持基站和SGSN之间传送路由信息和QoS信息,及执行SGSN和BSC(基站控制器)之间信令管理和分组确认功能。Network Service(NS)网络服务层用来传输BSSGP PDUs,它是基于BSS和SGSN间的帧中继连接,可以采用直联方式,也可经过帧中继网络进行连接。
GTP(GPRS Tunnelling Protocol)协议在GPRS骨干网中在GSNs之间(如SGSN和GGSN)提供协议信道,所有的PTP分组数据协议的PDUs应由GTP协议进行封装。
TCP/UDP,其中TCP是承载需要可靠数据链路(如X25)的GPRS骨干网的GTP PDUs的协议,而UDP是承载不需可靠数据链路 (如IP)的GPRS骨干网的GPT PDUs的协议。TCP提供流量控制和保护GTP PDUs避免数据丢失和崩溃功能,而UDP仅提供避免GTP PDUs崩溃的功能。
IP是GPRS骨干网协议,用于用户数据和控制信令的路由协议,GPRS第一阶段采用Ipv4,最终要采用Ipv6协议。
L1bis,L1,L2底层协议,在GPRS规范中没有明确规定,各厂商的解决方法可能不同。
在MS和SGSN之间,由SNDCP/LLC协议来路由转发分组数据单元PDU,通过TLLI/NSAPI标识来唯一识别特定用户的PDU。在 SGSN和GGSN之间,利用GTP头中的TID和IP头中的GSN地址来唯一标识特定用户的PDU传输隧道。GPRS中的分组数据传输主要分为MS- PDN、MS-MS两种类型。图5描述了分组数据的路由传输方式。
(1)MS-PDN分组路由传输
当MS在归属网络中时,分组数据路由方式,如图5中“1”所示。由MS发出的PDU通过SNDCP/LLC协议传输到SGSN,SGSN通过 GPRS内部骨干网,采用GTP协议,将PDU以隧道方式路由传输到GGSN,由GGSN互联PDN网,将PDU最终转发给TE。
当MS在拜访网络中时,根据PDP地址由归属网络分配,还是由拜访网络分配,分为两种方式。当由拜访网络分配时,其路由过程类似于MS在归属网络中的情况。当PDP地址由归属网络分配时,其路由过程如图5中“2”所示。MS发出的PDU需通过BG网关转发回归属网络的GGSN,由归属网络的 GGSN接入外部PDN。这两种方式各有优缺点,前者效率较高,可避免PDU跨GPRS骨干网络传输,大大减少GPRS骨干网互联的带宽需求,但要求不同网络运营者和PDU业务提供者达成相关漫游协议,增加了网络建设的复杂性。后者实现简单,当漫游用户较少时,不失为一种快捷方便的实现方式。
(2)MS-MS分组路由传输
MS-MS分组路由传输根据两个MS是否属于同一GPRS内部骨干网分为两种情况。当两个MS属于同一GGSN时,其路由传输方式如图5中 “3”所示。MS1发出的PDU送达GGSN后,GGSN发现目的地址在GGSN内,又将该PDU封装后发给MS2所在的SGSN,从而到达MS2。
当两个MS属于两个不同的GPRS骨干网时,根据GGSN之间是否存在路由,又分为两种路由传输方式。当GGSN之间存在路由时,如图5中 “4”所示,MS1发出PDU到达GGSN,GGSN发现与目的地址对应的GGSN之间有GPRS可达路由,则将PDU经PLMN间骨干网送往目的 GGSN,进而转发给MS2。如没有GPRS可达路由,则如图中“5”所示,将PDU经由外部PDN发往目的GGSN。
图4 GPRS分组数据路由传输方式
2.信令协议平台
GPRS信令协议平台由控制协议以及支持传输协议平台组成,主要实现如下功能:
控制GPRS网接入连接,如与GPRS网连接和断开;
控制网络接入连接的建立,如分组数据协议PDP(X25或IP)地址激活;
为了支持用户的移动性,控制建立网络连接的路径;
当用户的需求改变时,控制网络资源的分配。
GPRS中主要有如下信令协议平台:
MS-SGSN之间的信令协议平台。其中GMM/SM(GPRS Mobility Management and Session Management)协议支持移动管理功能,如GPRS连接、断开、安全管理、路由更新、位置更新、PDP文本激活和去激活等。
SGSN-HLR之间的信令协议平台,采用标准的MAP信令,支持SGSN和HLR之间的信令交换,是在GSM网的基础上,为GPRS的移动性管理增加的新功能。
SGSN-MSC/VLR之间的信令协议平台如图8所示,BSSAP+协议是BSSAP协议的子集,支持SGSN-MSC/VLR之间的信令,实现MSC和SGSN之间的互 *** 作。
GSN-GSN之间的信令协议平台如图9所示,GTP协议为GPRS骨干网中的SGSN和GGSN之间及SGSN之间的用户数据和信令信息提供隧道。
在GPRS中还有其它一些信令,如:SGSN-EIR之间的MAP信令,SGSN-SMS-SC之间的MAP信令等。
GPRS业务处理流程
GPRS的业务处理流程主要由移动性管理流程和PDP激活/去激活处理流程实现。GPRS移动性管理流程主要有附着、分离、位置管理等处理流程,每个处理流程中通常会加入登记、鉴权、IMEI校验、加密等接入控制与安全管理功能。PDP激活/去激活处理流程都分为MS发起和网络发起的两种处理流程。
四、GPRS业务及应用
1.业务特点及种类
GPRS网为移动数据用户主要提供突发性数据业务,能快速建立连接,无建链时延。GPRS特别适用于频繁传送小数据量的应用和非频繁传送大量数据。GPRS能提供的PTP(点对点)和PTM(点对多点)数据业务外,还能支持补充业务和短消息业务。
GPRS网提供的承载业务:
(1)点对点无连接网络业务(PTP-CLNS)
PTP-CLNS属于数据报类型业务,各个数据分组彼此互相独立,用户之间的信息传输不需要端到端的呼叫建立程序,分组的传送没有逻辑连接,分组的交付没有确认保护,主要支持突发非交互式应用业务,是由IP协议支持的业务。
(2)点对点面向连接的数据业务(PTP-CONS)
PTP-CONS属于虚电路型业务,它为两个用户或多个用户之间传送多路数据分组建立逻辑虚电路(PVC或SVC)。PTP-CONS业务要求有建立连接、数据传送和连接释放工作程序。PTP-CONS支持突发事件处理和交互式应用业务,是面向连接网络协议,如X25协议支持的业务,在无线接口,利用确认方式提高可靠性。
(3)点对多点数据业务(PTM)
GPRS提供的点对多点业务可根据某个业务请求者要求,把信息送给多个用户,又可细分为点对多点多信道广播业务(PTM-M)、点对多点群呼业务(PTM-G)、IP广播业务(IP-M)
(4)其它业务
包括GPRS补充业务、GSM短消息业务、匿名的接入业务和各种GPRS电信业务。
2.GPRS应用
GPRS应用主要分为面向个人用户的横向应用和面向集团用户的纵向应用两种。
对于横向应用,GPRS可提供网上冲浪、E-mail、文件传输、数据库查询、增强型短消息等业务。
对于纵向应用,GPRS可提供以下几类应用:
运输业:车辆及智能调度;
金融、证券和商业:无线POS、无线ATM、自动售货机、流动银行等;
PTM业务更可完美支持股市动态、天气预报、交通信息的实时发布;
公共安全业:随时随地接入远程数据库;
遥测、遥感、遥控:如气象、水文系统收集数据,对灾害进行遥测和告警,远程 *** 作;
提供***业务,使企业员工能够随时随地与总部保持联系,降低公司建设自己的广域网的成本;
另外,还能提供种类繁多、功能强大的以GPRS承载业务为基础的网络应用业务和基于WAP的各种应用。
对GPRS应用举两个例子进行分析。如图6所示为GPRS手机与GPS联合提供车辆的实时调度、监控和管理,GPS探测到的车辆当前位置信息,由GPRS手机通过GPRS网络实时地传输到车辆调度中心,车辆调度中心的指示、命令也可以通知PTP或PTM方式发送给一个或多个驾驶员,完全可以取代现有的无线集群指挥调度系统,具有成本低廉、覆盖范围广、无需专人维护的优点。
采用远程拨号方式接入***虚拟网,使用第二层隧道协议L2TP。移动用户接入提供***功能的GGSN,GGSN首先通过自己的 Radius服务器对输入的公司名进行认证,然后启动到公司总部路由器的L2TP隧道协商,由总部和GGSN的Radius服务器对TID进行认证,通过后就建立起GGSN和公司总部路由器之间隧道连接。此时用户的PPP包可以直达公司总部路由器,由公司总部路由器通过公司的Radius服务器完成对用户级的认证,通过后,就建立起GPRS手机到达公司总部路由器的PPP链路,从而真正实现移动办公业务。
实现过程:
1>初始化:ATZ\r
2>设置文本模式:AT+CMGF=0\r(0:pdu模式,1:text模式)
3>设置PDU头:
typedef struct {
char SCA[16]; // 短消息服务中心号码(SMSC地址)
char TPA[16]; // 目标号码或回复号码(TP-DA或TP-RA)
char TP_PID; // 用户信息协议标识(TP-PID)
char TP_DCS; // 用户信息编码方式(TP-DCS)
char TP_SCTS[16]; // 服务时间戳字符串(TP_SCTS), 接收时用到
char TP_UD[16]; // 原始用户信息
char index; //短消息序号,在读取时用到
}SM_PARAM;
// SMSC地址信息段
memset(buf, 0, sizeof(buf));
nLength = strlen(pSrc->SCA); // SMSC地址字符串的长度
buf[0] = (char)((nLength & 1) == 0 nLength : nLength + 1) / 2 + 1; // SMSC地址信息长度
buf[1] = 0x91; // 固定: 用国际格式号码
nDstLength = gsmBytes2String(buf, pDst, 2); // 转换2个字节到目标PDU串
nDstLength += gsmInvertNumbers(pSrc->SCA, &pDst[nDstLength], nLength); // 转换SMSC到目标PDU串
// TPDU段基本参数、目标地址等
memset(buf, 0, sizeof(buf));
nLength = strlen(pSrc->TPA); // TP-DA地址字符串的长度
buf[0] = 0x11; // 是发送短信(TP-MTI=01),TP-VP用相对格式(TP-VPF=10)
buf[1] = 0; // TP-MR=0
buf[2] = (char)nLength; // 目标地址数字个数(TP-DA地址字符串真实长度)
buf[3] = 0x91; // 固定: 用国际格式号码
nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4); // 转换4个字节到目标PDU串
nDstLength += gsmInvertNumbers(pSrc->TPA, &pDst[nDstLength], nLength); // 转换TP-DA到目标PDU串
// TPDU段协议标识、编码方式、用户信息等
//nLength = strlen(pSrc->TP_UD); // 用户信息字符串的长度
memset(buf, 0, sizeof(buf));
buf[0] = pSrc->TP_PID; // 协议标识(TP-PID)
buf[1] = pSrc->TP_DCS; // 用户信息编码方式(TP-DCS)
buf[2] = 1; // 有效期(TP-VP)为5分钟
buf[3] = str2hex(user_pdu, pSrc->TP_UD); //用户信息的长度
nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4); // 转换该段数据到目标PDU串
strcat(pdu, "\x01a"); //以CTRL-A结束
gsmString2Bytes(pdu, &nSmscLength, 2); // 取PDU串中的SMSC信息长度
4>发送信息长度:AT+CMGS=长度,这步重要长度不对是发不出去的。
5>发送用户信息
1、目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。
1>使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;
2>使用PDU模式不仅支持中文短信,也能发送英文短信。
2、PDU模式收发短信可以使用3种编码:
1>7-bit(用于发送普通的ASCII字符,它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可 “压缩”成7个)
2>8-bit(通常用于发送数据消息,如:了,铃声等等)
3>UCS2编码(用于发送Unicode字符)
一、数据封装的过程大致如下:
1、用户信息转换为数据,以便在网络上传输。
2、数据转换为数据段,并在发送方和接收方主机之间建立一条可靠的连接。
3、数据段转换为数据包或数据报,并在报头中放上逻辑地址,这样每一个数据包都可以通过互联网络进行传输。
4、数据包或数据报转换为帧,以便在本地网络中传输。在本地网段上,使用硬件地址唯一标识每一台主机。
5、帧转换为比特流,并采用数字编码和时钟方案。
二、数据解封装的过程
仍然以OSI模型为例来说明数据解封装的过程。数据的接收端从物理层开始,进行与发送端相反的 *** 作,称为“解封装”,如下图所示,最终使应用层程序获取数据信息,使得两点之间的一次单向通信完成。
需要说明的是,应用最为广泛的TCP/IP协议可以看作是OSI协议层的简化,它分为四层:数据链路层、网络层、传输层、应用层,其各层对应的数据封装与OSI大同小异。
扩展资料:
一、原理
数据封装是指将协议数据单元(PDU)封装在一组协议头和尾中的过程。在 OSI7层参考模型中,每层主要负责与其它机器上的对等层进行通信。该过程是在“协议数据单元”(PDU)中实现的,其中每层的 PDU 一般由本层的协议头、协议尾和数据封装构成。
每层可以添加协议头和尾到其对应的 PDU 中。协议头包括层到层之间的通信相关信息。协议头、协议尾和数据是三个相对的概念,这主要取决于进行信息单元分析的各个层。例如,传输头(TH)包含只有传输层可以看到的信息,而位于传输层以下的其它所有层将传输头作为各层的数据部分进行传送。
在网络层,一个信息单元由层3协议头(NH)和数据构成;而数据链路层中,由网络层(层3协议头和数据)传送下去的所有信息均被视为数据。换句话说,特定 OSI 层中信息单元的数据部分可能包含由上层传送下来的协议头、协议尾和数据。
二、数据封装协议
SDH网络中封装协议有多种,最常用的有PPP/HDLC、LAPS、GFP。某一些设备厂商的专有封装协议。
1、PPP/HDLC协议
为点到点协议,它要利用HDLC(高速数据链路控制)协议来封装帧,用字节同步的方式把HDLC帧映射入SDH的VC中,成为VC的净荷。
在POS系统中,可用来承载IP数据;在SDH系统中,用来承载以太帧。
2、LAPS协议
为链路接入协议,这种方式特别用于SDH链路承载以太帧,它与HDLC十分相似。
G3、FP协议
为通用帧协议,是一种链路层标准。这种封装协议可以承载所有的数据业务,是一种可以透明地将各种数据信号封装进现有网络的技术,可以替代众多不同的封装方法,有利于各厂商设备之间的互联互通。
GFP采用不同的业务数据封装方法对不同的业务数据进行封装。包括帧映射(GFP-F)和透明传输(GFP-T)两种模式。
参考资料来源:百度百科-数据封装
其实这里有很多的:
[gnokii-032targz]
Nokia手机工具程序。可以管理手机的电话薄,发送/接收短消息,查看电池状态等 (2001-02-14, UNIX, 731KB, 2130次)
[smslink-044btargz]
手机短消息服务的服务器和客户端 (2001-01-08, LINUX, 91KB, 1883次)
[移动短信SMS综合资料库rar]
短消息基础知识;短消息的信息处理流程及其分析、解决问题的方法;手机短信息SMS开发—编码,解码;PDU介绍;短消息的体系结构等 (2005-09-28, CHM, 1009KB, 1536次)
[nle-001-2tgz]
可以修改Nokia手机的logo图标的程序 (2001-02-14, LINUX, 21KB, 1442次)
[是男人就下一百层SHYrar]
制作的第一款休闲类的手机游戏,适合初学者参考 (2005-06-15, Java, 484KB, 1357次)
[sms_client-207ktgz]
使用TAP的蜂窝型GSM手机短消息服务中心 (2001-01-08, LINUX, 82KB, 1333次)
[mobile_smszip]
使用手机发送短消息的编程方法 (2001-11-21, HTML, 5KB, 1174次)
[kvanttisms-src-05tgz]
Java写的通过手机收发短信息的程序。 (2001-11-20, Java, 10KB, 1049次)
[BREW开发-海信(王宏兵)rar]
深入研究BREW手机游戏开发———— 王洪信开发者最好的初学资料 (2005-09-26, Visual C++, 7229KB, 841次)
[jSMSEngine_2_0_4zip]
开源的手机短信开发包!包括例子程序和比较详细的文档,还有开发者的网站!来源于sourceforge! (2006-01-21, Java, 438KB, 729次)
[qrcode_jszip]
手机内嵌二维条码图像识别的JAVA的源程序,强烈推荐下载。 (2006-01-14, Java, 2210KB, 677次)
[gprs_smszip]
一个用COM或USB接口连接gsm/gprs手机进行短信收发的程序,用到的是simense的通讯模块 (2003-02-20, Visual C++, 97KB, 629次)
[PaoPaorar]
j2me手机泡泡龙游戏。写得不错还未完工的版本。不过可以用来学习。 (2005-03-04, Java, 83KB, 613次)
[MakeMaprar]
用java写的地图编辑器,可用于j2me手机游戏的地图编辑。 (2005-03-04, Java, 26KB, 606次)
[J2meboxrar]
一个类似打地鼠的j2me手机游戏。 (2005-03-04, Java, 58KB, 521次)
[shoujihaomachaxunrar]
输入手机号码可查询:归属地址、手机号码、区号、所属卡型 (2006-06-05, Java, 686KB, 520次)
[rich_man+srcrar]
大富翁手机游戏。 (2005-03-04, Java, 269KB, 513次)
[gsmssend-16targz]
通过网站发送手机短信息的程序。需要GNOME/GTK支持 (2001-11-20, LINUX, 352KB, 498次)
[MTKstartrar]
台湾联发(MTK)手机芯片资料,可作为手机应用的平台 (2007-08-09, C-C++, 118KB, 495次)
[C# 发短信rar]
使用C#发短信,连接Modem或者手机,通过串口发送短信, (2004-06-30, CSharp, 437KB, 469次)
[WindowsMobile50rar]
Windows Mobile 50 三十几个经典手机软件开发源码希望对大家有帮助 (2006-08-30, CSharp, 578KB, 449次)
[motorola_RingerToneFormatzip]
motorola手机铃声格式文档 (2002-06-07, PDF, 45KB, 445次)
[ksiemens-01targz]
KDE下的西门子手机管理程序,如图标,电话薄,短信息等管理 (2001-11-21, LINUX, 3437KB, 444次)
[nec麻将rar]
一个java编的小游戏.对初学手机游戏编程的人很有用啊. (2005-06-07, Java, 50KB, 434次)
[nokiacomposersrczip]
Nokia手机语音管理程序,如上载音乐等。 (2001-11-21, Visual C++, 315KB, 422次)
[SmartMessagingFAQzip]
诺基亚手机铃声开发文档 (2002-06-07, PDF, 23KB, 410次)
[motolora_smscertguidezip]
motorola手机短信息开发文档 (2002-06-07, PDF, 134KB, 400次)
[MV100-01rar]
是一个手机功能的模拟程序,从界面到功能都做了很好的模拟 (2005-07-29, C-C++, 14630KB, 384次)
[helixsrc0812rar]
著名的 helix realplayer 基于手机 symbian 系统的 播放器全套源代码,内含编译工具、以及配套相关软件:WinCVS、Python等。花了近一个多月才整理完成,是非常难得的全套代码。 (2005-05-19, C++, 43787KB, 373次)
[eluosi方块rar]
经典的手机游戏源码俄罗斯方块,基于C+Brew开发 (2005-07-14, C-C++, 425KB, 373次)
[MTK2rar]
这是我上传MTK手机开发的一些资料2,这两天起上传6份资料,全部是手开发的。希望对你们有用。 (2007-04-13, C-C++, 5859KB, 371次)
[resource]
压缩包中一个为一般 *** 作系统下的fft,一个是手机或类似设备中的T9拼音输入法 (2003-08-05, C-C++, 53KB, 359次)
[SeaHorserar]
手机游戏,画面效果还可以,可以作为手机游戏入门参考 (2005-06-15, Java, 273KB, 356次)
[nec 打飞机rar]
一个JAVA编的小游戏,对初学手机游戏的人很有帮助 (2005-06-07, Java, 73KB, 335次)
[多级菜单rar]
/[原创]一个树形多级菜单参考程序 这是一个用于车载电话的菜单程序,可以看成是手机功能菜单的简化板 我所认为的树形多级菜单是指:在一个父菜单项目下面有多个子菜单, 子菜单下面又有多个孙菜单,进入下层菜单主要依当前选中的索引有点象文件的目录结构 本木从前实现这类的菜单主要分层的switch语句,每层都是一个switch但当我看到晓奇大侠的 程序和耳朵灌满lq等人的争论后,那时那地,我的心境变化了,我意识到指针代表了先进的生产力, 代表了社会的发展方向,是建设和谐社会的必要条件不管你用了多长时间C语言,只要你不善于用 一个小针指来指去,你就是那种"用嘴吃饭的高贵骑士,决不用屁股装d步q"的守旧分子和社会发 展的绊脚石(跑题太远,删去1万字打住) 言归正传,下面的程序适用CPU为Mega16,编译器为CVAVR 1244a 由于按键数目较多,所以按键程 序把按键事件分为数字键,快捷键,确认键,取消键,上下翻键几类,以减小菜单结构的容量一下菜单 数据在菜单结构数组中的偏移量,有多少个菜单象就有多少个宏定义/ (2005-08-02, C-C++, 2KB, 334次)
[与小灵通讯的软件zip]
手机的通讯,特别是小灵通的通讯,是非常难得的技术,也是很受欢迎的,快下啊! (2005-09-30, Visual C++, 39KB, 324次)
[C16汉字输入方案rar]
“C16汉字输入方案”,是针对小键盘设备(如手机、遥控器等)通常为16个基本键(“0”到“9”、“”、“#”、左右键、删除键、确认键)的情况,充分发掘16个键位条件下进行汉字输入和符号输入的潜力,使汉字、英文、数字输入达到尽可能高的效率,是在16键的小键盘设备进行汉字输入的优秀方案。 (2005-10-27, C++ Builder, 76KB, 316次)
[CDMA短消息发送程序zip]
用vc开发的cdma手机模块收发短信的功能,主要部分是串口通信和gb->unicode码间的转换。 (2005-12-08, Visual C++, 193KB, 313次)
以上就是关于、GSM网络系统有四部分,分别是:___SSS__、__BSS_、__MSC_和__OMC_;谁能说说工作原理,全部的内容,包括:、GSM网络系统有四部分,分别是:___SSS__、__BSS_、__MSC_和__OMC_;谁能说说工作原理,、android直接发送pdu编码后的短信、简述数据封装与解封装的过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)