PDP 详解
PDP(packet data protocol)分组数据协议,是外部PDN(PLMN外部包数据)网与GPRS接口所用的网络协议。它是GPRS连接的软硬件环境,指定GPRS连接的接入点APN,连接类型IP或PPP,还有其他可选选项。
一个PDP上下文提供了在UE和网络侧之间交换IP包的一个数据包连接。利用这个数据包连接可以访问一些特定的业务。这些业务可以通过所谓的接入点来访问。PDP上下文是在MS和GSN(GPRS Support Node)节点中存储的与SM有关的信息,这些信息可以分为预订信息和位置信息两类。
PDP上下文是UMTS数据架构中的最重要的概念之一。激活一个上下文意味着发起一个分组业务呼叫。
一个PDP上下文有一组参数,由建议一个端到端连接所需要的所有信息组成:
- PDP类型
- PDP地址类型
(静态和动态PDP地址:PDP地址是GPRS用户的网络层地址,与标准的网络层地址(如:IPv4地址、IPv6地址、X. 121地址)建立了临时或永久性的关联。
PDP地址可以有3种方式分配给MS:
静态PDP地址:HPLMN将一个PDP地址永久性地分配给MS;
动态HPLMN PDP地址:当激活一个PDP上下文时,HPLMN才将一个PDP地址临时分配给MS;
动态VPLMN PDP地址:当激活一个PDP上下文时,VPLMN才将一个PDP地址临时分配给MS。)
- 请求的QOS profile(用户请求的)
- 协商的QOS profile(和网络侧进行协商之后的)
- 鉴权类型(PAP或CHAP)
- DNS类型(动态或静态DNS)
PDP上下文一般来说是为终端的两种目的而设置。
首先PDP上下文设计用于分配一个PDP地址,或者是IPV4或者是IPV6地址给一个终端。第二点用于决定一个到终端的带有QOS profile的逻辑连接,即为一个PDP上下文协商的一组贯穿整个UMTS网络都能得到执行的QOS profile。
由于移动终端的发展,他们需要同时在手机上建立多个并行的PS连接。这些PS连接,他们的QOS参数,以及访问的目标网络都有可能不同。
多 PDP上下文也就是说一个移动终端可以存在多个PDP上下文。每个"多PDP上下文"在同一时刻可以有多个不同的QOS profile。其中,有一个具有缺省QOS profile属性的Primary PDP上下文作为一个正常的PDP上下文,总是将被第一个激活的。对于多个Primary PDP上下文,每个上下文都有不同的PDP地址和不同的APN。
当 IMS被引入并所有的服务都是基于IP的时候,多PDP上下文将有特别的意义。在一个基于IMS的网络,MS可以为基于SIP的信令和其他所有的会话激活不同的PDP上下文,来提供并行的服务(例如并行的VOIP会话和PS数据业务等)。对每个连接都有一个不同的匹配和满足这个应用的QOS将被使用。
特定的PDP上下文的数据流(用户面)既可以由移动手机自身亦或者是由其连接的终端电脑来终结。由连接提供的应用程序可以在手机或连接的终端电脑上分别运行。例如可以在手机上运行一个视频客户端,而在连接的笔记本电脑上运行一个web浏览服务。
在基于IMS的系统中,它期望能在终端上运行多个嵌入的应用,因此需要有多个PDP上下文。对于TE(例如连接的电脑),则需要有一个额外的PDP上下文也要激活。多PDP上下文有如下两个子分类:
1 多Primary PDP上下文:他们连接到不同的PDN;
2 Secondary PDP上下文; 他们提供了到相同PDN的连接,但是具有不同的QOS.
多Primary PDP上下文是在终端中存在两个或更多独立的PDP上下文,每一个上下文都有唯一的IP地址。他们提供了同时访问不同PDN网络的能力--例如一个应用是连接到Internet,另一个应用则连接到一个私有网络。
除了唯一的PDP地址,每个PDP上下文还会分配到自己的QOS和NSAPI。每个PDP上下文还有一个分离的RAB和GTP用户平面的隧道。
PDP上下文通常在网络侧的不同接入点终结(尽管军需他们在相同的接入点终结)。终结的接入点可以存在于相同或不同的GGSN。
有3个Primary PDP上下文的用户平面路径存在,提供了到3个不同PDN的连接:
Primary PDP上下文可以互不受影响的单独激活。任何激活的PDP上下文的QOS可以通过由MS或网络侧发起的PDP上下文修改流程来发起。
一个Secondary PDP上下文总是和一个Primary PDP上下文关联的。PDP地址和接入点AP都是和Primary上下文一样的。因此Primary和关联的Secondary PDP上下文一起提供了到相同PDN的连接,但区别是具有不同的承诺QOS。
一个Primary PDP上下文可能有多个分配的Secondary上下文。每个PDP上下文(也就是Primary和所有的Secondary)都有他们自己的RAB和GTP隧道来传输用户平面数据。并且,每个上下文都由唯一的NSAPI来识别。
Primary PDP上下文必要要在关联的Secondary上下文激活之前激活。任何的Secondary PDP上下文可以在保持的Primary上下文处于active的状态下进行激活。如果一个Primary PDP上下文去激活了,那也将去激活所有分配关联的Secondary PDP上下文。任何active的primary或secondary PDP上下文的QOS都可以由MS或网络侧发起的PDP context modification流程来修改。
由于PDP地址(IP地址)对Primary和所有关联的secondary PDP上下文来说都是公共的,因此要引入TFT(Traffic Flow Template)来讲下行的用户平面数据路由到正确的GTP隧道以及每个上下文正确的RAB。
例如一个Primary和两个关联的Secondary PDP上下文用户平面:
将多个Primary PDP上下文和Secondary PDP上下文捆绑是有可能的。例如,两个各自带有secondary上下文的primary上下文就总共有4个active的上下文。支持的最大数量的 PDP上下文和终端的实现有关。(最大11个,取决于NSAPI)
TFT是GGSN上用于区分不同的用户payload的关键。TFT可以由1到8个包过滤器组成;一个唯一的包过滤ID标识了每个过滤器。过滤可以根据以下一个或多个过滤属性:
- 源地址(和掩码)
- IPV4协议号
- 目标端口范围
- 源端口范围
- IPSec SPI(安全参数索引)
- TOS(IPV4包头中的)
TFT由MS在Activate Secondary PDP Context Request消息中提供,并且存储在GGSN中,并且在路由下行用户平面数据包的时候检查。TFT可以由MS发起的PDP Context modification流程修改。
TFT是由包过滤器组成(最少1,最多8个)来提供过滤的灵活性。
Primary PDP context激活
这个流程用来建立UE到GGSN贯穿网络侧的带有QOS功能的逻辑连接。PDP上下文激活由UE发起,并且将会话管理状态切换到active,创建PDP上下文,接收IP地址和预留的空口资源。在一个PDP上下文激活后,UE可以通过空中接口发送IP包。UE最多同时有11个PDP上下文。
Secondary PDP context激活
secondary PDP上下文用来允许签约用户能够建立第二个并且和primary PDP上下文具有相同地址的上下文。这两个上下文可以有不同的QOS profile,这样来满足不同引用的需要(例如IP多媒体)。接入点的名字也和关联的Primary PDP上下文是一样的。
PDP context修改
UE、SGSN或GGSN都可以发起这个流程来更新相应的PDP上下文。另外,无线接入网络也能请求到SGSN的PDP上下文修改流程(例如到UE的无线覆盖丢失)。流程涉及的修改的参数将在一个或多个PDP上下文的激活时进行协商。
PDP context去激活
这个流程用来删除UE和GGSN之间的特定的逻辑连接。UE、SGSN、HLR、GGSN都可以发起这个流程。
接入点可以理解为类似IP路由器并提供了UE到选择的服务之间的连接。这样的服务例如是:
- MMS(彩信)
- WAP
- 直接的Internet访问
- IMS(多媒体子系统)
取决于网络的运营商,可能会在相同的接入点部署多种服务。UE需要识别出APN(接入点名称)- GGSN的地址 - 为服务提供接入的实体(例如彩信的MMSC,Internet的HTTP Server或者IMS中的P-CSCF)。一个GGSN可以提供由不同APN来接入的不同的服务。
当在APN中建立一个primary PDP上下文时,UE接收到一个IP地址或---如果是IPV6的网络--将接收到一个IPV6前缀用于这个PDP上下文的通信。这意味着当UE想访问不同APN提供的服务时,将需要建立多个不同的连接,并且需要使用不同的IP地址进行访问。