navigation、linux、内核、网络技术、网卡驱动、qt、android、ios、irrlicht、ogre
分类: 嵌入式
2013-05-15 13:56:47
首先简单的介绍一下几个概念PDP Context、Primary PDP、Secondary PDP。
一个PDP上下文提供了在UE和网络侧之间交换IP包的一个数据包连接。利用这个数据包连接可以访问一些特定的业务。PDP上下文一般来说主要有以下两个目的。第一点是PDP上下文设计用于分配一个PDP地址,或者是IPV4或者是IPV6地址给一个终端。第二点用于决定一个到终端的带有QOS profile的逻辑连接,即为一个PDP上下文协商的一组贯穿整个UMTS网络都能得到执行的QOS profile。
由于移动终端的发展,他们需要同时在手机上建立多个并行的PS连接。这些PS连接,他们的QOS参数,以及访问的目标网络都有可能不同。多PDP上下文也就是说一个移动终端可以存在多个PDP上下文。其中第一个被创建的PDP就是Primary PDP,在Primary PDP的基础上可以创建多个Secondary PDP,这些Secondary PDP和Primary PDP拥有相同的IP地址也就是PDP地址,接入的网络类型是一样的,但是具有不同的Qos Profile,这样就产生了多Secondary PDP。如果接入的网络不一样,那就是多Primary PDP了,例如移动网络的CMWAP和CMNET,如果手机用户同时使用这两个网络上网,那么将会产生多个Primary PDP。上面介绍了多PDP Context的概念。同时也把多Primary PDP和多Secondary PDP介绍了。
现在开始进入正题,用户开启多个应用访问网络的时候,IP地址的分配问题。首先看用户接入网络的类型,如果两个应用使用了不同的接入类型,例如一个使用CMWAP,一个使用CMNET,最后肯定会导致申请两个Primaey PDP,这样就会生成两个IP地址来进行数据传输,同时也会有2个NSAPI。如果用户使用一种接入方式的话。就不会产生新的IP地址。是否有Secondary PDP产生的话就要看用户使用的服务了。打个比方,如果用户首先浏览网页,这个时候生成看了一个Primary PDP,分配了IP地址、NSAPI、控制面和用户面TEID,紧跟着开启其他的相同Qos的业务的话,就不会产生Secondary PDP。如果新的业务是3g视频通信的话,需要很好的Qos,这样就会生成新的Secondary PDP,分配新的NSAPI、用户面TEID,注意控制面TEID和IP是不变的。具体使用什么样的Qos,这是开发软件者和运营商去协商。正常来说交钱少的就是直接使用Primary PDP了,交钱多的就会开启Secondary PDP来提高质量。
注:平时上网我们一般是使用CMNET,但是在上网的同时,如果发送彩信的话,就会使用CMWAP了,这个时候应该就会出现多Primary PDP的情况。