MS发起的PDP上下文激活过程----PPP和PDP激活是什么区别

FROM:http://blog.csdn.net/codejoker/article/details/4299641

    PDP激活成功率与无线侧及核心网侧均有关系。
    从无线侧看,导致PDP激活失败的原因通常为无线信号质量差,无线资源不可用或拥塞以及无线网络延时过长导致响应网络超时,MS处理问题导致响应超时等方面。另外是否能够稳定的附着也是PDP激活成功的一个影响因素。

对该流程的说明如下:
    1) MS向SGSN发出激活PDP上下文请求(NSAPI,TI,PDP类型,APN ,要求的QoS , PDP配置选项);
    2) 可选地执行安全性规程;
    3) SGSN根据MS提供的激活类型、PDP地址、APN,通过APN选择标准来解析GGSN地址,从而检查该请求是否有效;
        A  . 如果SGSN不能从APN解析出GGSN地址,或判断出该激活请求无效,则拒绝该请求。
        B. 如果SGSN从APN解析出了GGSN地址,则为所请求的PDP上下文创建一个TID(IMSI+NSAPI),并向GGSN发出创建PDP上下文请求(PDP类型,PDP地址,APN ,商定的QoS , TID, 选择模式,PDP配置选项)。
    GGSN利用SGSN提供的信息确定外部PDN,分配动态地址,启动计费,限定QoS 等:
        A. 如果能满足所商定的QoS ,则向SGSN返回创建PDP上下文响应(TID,PDP地址,BB协议,重新排序请求,PDP配置选项,商定的QoS ,计费ID,原因)。
        B. 如果不能满足所商定的QoS ,则向SGSN返回拒绝创建PDP上下文请求。QoS 文件由GGSN操作者来配置。
        4) SGSN如果收到GGSN的创建PDP上下文响应,则在该PDP上下文中插入NSAPI、GGSN地址、动态PDP地址,根据商定的QoS 选择无线优先权,然后向MS返回激活PDP上下文接受消息(PDP类型,PDP地址,TI,商定的QoS ,无线优先权,PDP配置选项)。此时就已建立起MS与 GGSN之间的路由,开始计费,可以进行分组数据传送。

 

     激活一个PDP 上下文意味着发起一个分组数据业务呼叫MS 请求发起PDP 上下文激活MO无论PDP 地址为静态或动态都可由MS 请求发起PDP 上下文

      1 MS 向SGSN 发出激活PDP 上下文请求NSAPI,TI,PDP 类型,APN ,要求的QoS,PDP 配置选项
      2 在MS 和SGSN 之间执行鉴权
      3 SGSN 根据MS 提供的APN 来解析GGSN 地址如果SGSN 不能从APN 解析出GGSN地址或判断出该激活请求无效则拒绝该请求如果SGSN 从APN 解析出了
GGSN 地址则为所请求的PDP 上下文创建一个TID 并向GGSN 发出创建PDP下文请求PDP 类型,PDP 地址,APN ,商定的QoS, TID, 选择模式,PDP 配置选项GGSN 利用SGSN 提供的信息确定外部PDN 分配动态地址启动计费限定QoS 等
      4)如果能满足所商定的QoS 则向SGSN 返回创建PDP 上下文响应TID,PDP 地址,BB 协议,重新排序请求,PDP 配置选项,商定的QoS,计费ID

      如果不能满足所商定的QoS 则向SGSN 返回拒绝创建PDP 上下文请求QoS 文件由GGSN 操作者来配置SGSN 如果收到GGSN 的创建PDP 上下文响应则在该PDP 上下文中插入NSAPIGGSN 地址动态PDP 地址根据商定的QoS 选择无线优先权
      5)SGSN 向MS 返回激活PDP 上下文接受消息PDP 类型PDP 地址,TI,商定的QoS无线优先权PDP 配置选项
      6)建立起MS 与GGSN 之间的路由开始计费可以进行分组数据传送

 

 

From: http://www.mscbsc.com/askpro/question.php?qid=16261

    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:进程之间的通信方式,手机上的应用程序(客户进程)要和服务器的某个服务进程通信,就用socket通过邦定的TCP或UDP端口基于IP 进行数据传输

再补充一下: PPP协商过程中的IPCP配置中,终端通过MODEM请求激活PDP上下文获得IP地址完成网络连接,PDP中设置的APN就是终端所在的这个网络的网 关,终端访问internet时就得通过这个网关; 而终端的客户进程与服务器的服务进程进行socket通信时,就基于这个IP地址。

以GPRS模块做个例子,为什么使用PPP连接,就可以同连接多个服务器呢?而SOCKET连接每次只能连接一个服务器呢? 据我所知道的:从网络侧来看,PPP连接最重要的一步是获取IP地址,这个IP由GGSN分配,GGSN是GPRS网到internet的网关,GSM和 WCDMA协议规定一个MODEM可以和多个GGSN建立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协议栈上的接口就完全可以控制应用程序的调度和流控了。通常的平台上,TCP/IP协议栈都是“赛 扬”版的,所以应用程序经常还需要去读取GPRS状态。 如果你写的是GPRS协议栈,关心到PDP就可以为止了。

上面一段描述的时候有意“忽略”了一个“很重要的问题”——手机漫游的时候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为底层的TCP/IP了。PPP的移植又比TCP/IP的 移植要简单得多。于是就有人先把PPP移植到PDP上,然后再在上面盖一层TCP/IP。PPP其实就是一个DL(数据链路层)的变异体;

        2、(实际上这 个才是真正的最主要的渊源),最开始的处理器能力都不够,跑GPRS之后,根本不可能再跑TCP/IP协议栈和应用,GPRS充当modem,TCP /IP和应用程序在PC一端。GPRS的数据怎么弄进PC呢?这就是PPP的用武之地了。PC和GPRS modem用串口进行物理链接,串口之上覆盖PPP协议,PPP的一端是GPRS modem的PDP,另一端就是TCP/IP的数据链路层接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值