PPPPDP原理以及同socket的关系

上传人:hs****ma 文档编号:485104705 上传时间:2023-03-11 格式:DOCX 页数:12 大小:33.34KB
返回 下载 相关 举报
PPPPDP原理以及同socket的关系_第1页
第1页 / 共12页
PPPPDP原理以及同socket的关系_第2页
第2页 / 共12页
PPPPDP原理以及同socket的关系_第3页
第3页 / 共12页
PPPPDP原理以及同socket的关系_第4页
第4页 / 共12页
PPPPDP原理以及同socket的关系_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《PPPPDP原理以及同socket的关系》由会员分享,可在线阅读,更多相关《PPPPDP原理以及同socket的关系(12页珍藏版)》请在金锄头文库上搜索。

1、PPP和PDP激活是什么区别!ppp相当于链路层协议socket套接字,对tcp/ip协议的封装、应用gprs上网首先要设 置pdp,接着建立ppp连接,ppp连接建立后,就可以进行tcp/ip传输了,要进行tcp/ip数据 传输,很多时候都采用socket PDP:是GPRS连接的软硬件环境,指定GPRS连接的接入点 APN,连接类型IP或PPP,还有其他一些可选项;PPP:终端和MODEM之间点对点的协 议,包括终端于MODEM之间的链路层协商(LCP),服务器对终端的认证(PAP或CHAP, 这一步非强制),以及终端与服务器的网络层协商(基本都是IPCP); SOCKET:进程之间 的通

2、信方式,手机上的应用程序(客户进程)要和服务器的某个服务进程通信,就用socket 通过邦定的TCP或UDP端口基于IP进行数据传输再补充一下:PPP协商过程中的IPCP配 置中,终端通过MODEM请求激活PDP上下文获得IP地址完成网络连接,PDP中设置的 APN就是终端所在的这个网络的网关,终端访问in ter net时就得通过这个网关;而终端的客 户进程与服务器的服务进程进行socket通信时,就基于这个IP地址。以GPRS模块做个例 子,为什么使用PPP连接,就可以同连接多个服务器呢?而SOCKET连接每次只能连接一个 服务器呢?据我所知道的:从网络侧来看,PPP连接最重要的一步是获取

3、IP地址,这个IP 由GGSN分配,GGSN是GPRS网到in ter net的网关,GSM和WCDMA协议规定一个 MODEM可以和多个GGSN建立PDP上下文,不知道你所说的服务器是否指GGSN。而 socket连接的服务器和GGSN完全是两码事,socket连接的是in ter net网络中的服务器, socket是用于进程间通信的,它将进程与TCP/UDP端口进行绑顶,一个client端的socket只 能连接一个server socket。也就决定了它只能连接一台服务器。如果你要写应用程序,你只 需要关心 socket 的函数族就可以了。不需要去考虑 GPRS 如何如何。它对你是透明

4、的。当然 写应用的时候必须注意两件事:1、GPRS是否可用。如果当前GPRS根本就无法连接,你开 socket是毫无意义的;2、拥塞控制。GPRS速度其实并不高,用惯了宽带网的小朋友很喜欢 在上面一秒一千个循环每个循环1000字节的发送内容,网络堵死了都不知道怎么死的。从理 论上来说,如果你的平台上的TCP/IP足够完整,你根本不需要考虑GPRS的内容,只需要根 据TCP/IP协议栈上的接口就完全可以控制应用程序的调度和流控了。通常的平台上,TCP/IP 协议栈都是“赛扬”版的,所以应用程序经常还需要去读取GPRS状态。如果你写的是GPRS 协议栈,关心到PDP就可以为止了。上面一段描述的时候

5、有意忽略”了一个“很重要的问题”一 手机漫游的时候IP地址会不会变化?如果手机的GPRS没有长时间掉线,就不会变化。 PDP就是处理这件事的。PDP的作用相当于维持一根看不见的网线,不管你走到哪儿都保证 你IP地址不变。或者你可以认为PDP的上下文标志就是手机这张“网卡”的“MAC地址”。至于 PDP 怎么实现,应该是你去看 GPRS 资料的事情了。 PPP 是发生在 PDP 和 TCP/IP 之间的 这里引入PPP基于两个历史渊源:1、GPRS提供PDP之后,在其上到底如何移植TCP/IP? TCP/IP当然可以覆盖在PDP之上,但这几乎就是重写TCP/IP 了。而更早的时候已经有以 PPP

6、为底层的TCP/IP 了。PPP的移植又比TCP/IP的移植要简单得多。于是就有人先把PPP 移植到PDP上,然后再在上面盖一层TCP/IPo PPP其实就是一个DL(数据链路层)的变异体; 2、(实际上这个才是真正的最主要的渊源),最开始的处理器能力都不够,跑GPRS之后,根 本不可能再跑TCP/IP协议栈和应用,GPRS充当modem,TCP/IP和应用程序在PC 一端。 GPRS的数据怎么弄进PC呢?这就是PPP的用武之地了。PC和GPRS modem用串口进行物理链接,串口之上覆盖PPP协议,PPP的一端是GPRS modem的PDP,另一端就是TCP/IP 的数据链路层接口PPPPD

7、P 及 GPRS1相关概念:PDP: Packet Data Protocol 分组数据协议PLMN: Public Land Mobile Network,公共陆地移动网络APN: Access Point Name,接入点名称PPP: Point-to-Point ProtocolTFT : Traffic Flow Template 业务流模板NSAPI : Network layer Service Access Point Identifier用于网络层路由MS: Milestone是里程碑的意思,代指GSM系统的移动用户设备,它由 两部分组成,移动终端和客户识别卡(SIM卡)。移动

8、终端就是“机”,它 可完成话音编码、信道编码、信息加密、信息的调制和解调、信息发射和 接收。SIM卡,因此也称作智能卡,存有认证客户身份所需的所有信息, 并能执行一些与安全保密有关的重要信息,以防止非法客户进入网路。PDP上下文:主要包括以下一些信息:APN、Qos、PDP类型、PDP地 址等。2.APNAPN: Access Point Name,接入点名称,当手机接入不同的外部数据网 络时APN是不同的,在目前中国移动GPRS网络中,将APN分为两类, 一类是通用性的APN (如CMNET和CMWAP,用手机上手机网站,那 你会用CMWAP,而当你把手机当猫用来连接互联网的时候,用的就是

9、CMNET),大概意思就是为了满足不同需求,会分配给你不同的IP地址 来接入不同的业务,这样的APN在全国所有的GGSN中都有定义,当移 动台使用通用APN激活PDP上下文时,DNS总是将它解释为漫游地的 GGSN,就近接入外部网络;另一类是区域性的APN (如为青岛海关利 用GPRS移动办公所设置的APN等),这样的APN只在移动台归属地 的GGSN中有定义,当移动台使用区域性APN激活PDP上下文时, DNS总是将它解释为归属地的GGSNo2PDP上下文MS要接入外部PDN,还应具有与该PDN相应的地址,称为PDP地 址,PDP地址是用于外部分组数据网识别MS的PDP上下文时使用的地 址。

10、如用手机上GPRS时,就会给你分配PDP报文,它是保存与一条数据 传输路由相关的所有参数,它包含的参数随着在无线网中的位置不同而不 同。PDP上下文(pdp context)是一个结构,而PDP地址只是结构中的成员而已, 其他还包括QoS,APN等,PDP地址就像开通有线电话时,开通工单上分配 的电话号码,而PDP上下文就是这张电话开通工单,上面不仅有分配给你 的电话号码,还有这部电话相应的其他属性,其他功能的信息;3.PDP上下文的标识NSAPI (Network layer Service Access Point Identifier)用于网络层路由, 在MS中用于标识一个PDP业务访问

11、点,在SGSN/GGSN中与PDP地址 一起用于标识一个PDP上下文;二次激活的PDP上下文与已激活的PDP上下文只有QoS profile不同,PDP地址相同;每个PDP上下文具 有唯一的 TI (Transaction Identifier)和 NSAPI.在许多PDP上下文中只允许一个PDP上下文没有TFT,在传输下行N- PDUs时GGSN将按照TFT匹配选择合适的PDP上下文,MS发送数据 时按QoS选择不同的PDP上下文.GPRS手机与网络附着后,向网络请求一个IP地址,该地址可以为静态和 动态PDP地址。能以以下3种方式分配PDP地址:静态PDP地址:HPLMN将一个PDP地址永

12、久性地分配给MS;动态HPLMN PDP地址:当激活一个PDP上下文时,HPLMN才将一个 PDP地址临时分配给MS;动态VPLMN PDP地址:当激活一个PDP上下文时,VPLMN才将一个 PDP地址临时分配给MS。当使用HPLMN或VPLMN的动态地址时,GGSN负责分配或释放该动态 地址只有当PDP地址为静态时,才能由网络发起请求PDP上下文激活. VPLMN是指访问PLMNo PDP地址是GPRS用户的网络层地址,与标 准的网络层地址(如:IPv4地址、IPv6地址、X. 121地址)建立了临时或 永久性的关联。APN的选择规则与映射在GPRS核心网中,APN是所 使用的GGSN的参考

13、名,同时用来标识所接入的外部网络。在PDP上下 文激活过程中,当MS向SGSN发出激活PDP上下文请求时,SGSN则 依据APN选择规则选择一个APN。该规则是一个复杂的判决树。SGSN 根据MS的3个请求参数(PDP类型、PDP地址、APN )与HLR中相应 的3个预订参数比较判断。SGSN以所选择的APN询问DNS服务器, 由DNS映射得到GGSN的IP地址;同时SGSN向该GGSN发送建立 PDP上下文请求消息,以在SGSN与GGSN之间建立隧道。4.PPP, TCP/IP, GPRSppp相当于链路层协议,对tcp/ip协议的封装;应用gprs上网首先要设 置pdp,接着建立ppp连接

14、,ppp连接建立后,就可以进行tcp/ip传输了, 要进行tcp/ip数据传输,很多时候都采用socket。PDP:是GPRS连接 的软硬件环境,指定GPRS连接的接入点APN,连接类型IP或PPP, 还有其他一些可选项;PPP:终端和MODEM之间点对点的协议,【包 括终端于MODEM之间的链路层协商(LCP),服务器对终端的认证 (PAP或CHAP,这一步非强制),以及终端与服务器的网络层协商 (基本都是IPCP)】,SOCKET:进程之间的通信方式,手机上的应用 程序(客户进程)要和服务器的某个服务进程通信,就用socket通过邦 定的TCP或UDP端口基于IP进行数据传输,再补充一下:

15、PPP协商 过程中的IPCP配置中,终端通过MODEM请求激活PDP上下文获得IP 地址完成网络连接,PDP中设置的APN就是终端所在的这个网络的网关, 终端访问internet时就得通过这个网关;而终端的客户进程与服务器的服 务进程进行socket通信时,就基于这个IP地址。以GPRS模块做个例 子,为什么使用PPP连接,就可以同连接多个服务器呢?而SOCKET 连接每次只能连接一个服务器呢?据我所知道的:从网络侧来看,PPP 连接最重要的一步是获取IP地址,这个IP由GGSN分配,GGSN是 GPRS网到internet的网关,GSM和WCDMA协议规定一个MODEM 可以和多个GGSN建

16、立PDP上下文,不知道你所说的服务器是否指 GGSN。而socket连接的服务器和GGSN完全是两码事,socket连接的 是internet网络中的服务器,socket是用于进程间通信的,它将进程与 TCP/UDP端口进行绑顶,一个client端的socket只能连接一个server socket。也就决定了它只能连接一台服务器。如果你要写应用程序,你只 需要关心socket的函数族就可以了。不需要去考虑GPRS如何如何。它 对你是透明的。当然,写应用的时候必须注意两件事:1、GPRS是否可 用。如果当前GPRS根本就无法连接,你开socket是毫无意义的;2、 拥塞控制。GPRS速度其实并不高,用惯了宽带网的小朋友很喜欢在上 面一秒一千个循环每个循环1000字节的发送内容,网络堵死了都不知道 怎么死的。从理论上来说,如果你的平台上的TCP/IP足够完整,你根本 不需要考虑GPRS的内容,只需要根据TCP/IP协议栈上的接口就完全可 以控制应用程序的调度和流控了

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号