张荣 黄婕
摘 要 描述了IPv6 3G应用系统工作原理、流程,介绍了现有3G系统实现支持IPv6的一些解决方案,并在此基础上分析了IPv6 3G系统发展中应考虑的一些问题。
关键词 IPv6 3G 系统 PDP激活 GTP隧道
1 引言
IPv6曾经以3G的发展为驱动期望。3GPP不再强制要求3G核心网络支持IPv6之后,IPv6 3G系统的发展在等待应用需求推动的过程中慢慢前行。目前,基于GPRS的移动数据通信,无论是应用还是用户量,都比较有限。如果移动通信的带宽与速度能够通过3G的引入而得到大幅度提高,满足高带宽,低时延的高级应用需求,那么丰富的视音频应用,P2P应用等将可能在移动通信系统得到大力发展,从而刺激地址需求,呼唤IPv6的到来。
本文主要从技术角度分析了IPv6 3G系统的工作原理、应用基本流程等,同时总结了IPv6 3G应用发展中需要面对的一些问题。
2 IPv6 3G应用系统工作原理概述
IPv6 3G应用系统与IPv6相关的功能主要表现在以下两方面:
(1)3G系统作为“链路层”对IPv6应用的承载。从网络融合的趋势看,3G系统作为移动接入网与骨干网络相连,所处的位置与宽带接入的接入网络部分相当。对于IPv6应用而言,3G系统主要起接入承载作用。尽管3G系统分组域中也有三层设备,但是对于基于GPRS的数据业务,3G系统的工作主要是对往返于用户终端的网络层数据流开放承载通道。从这个意义上看,3G系统为IPv6数据应用提供的是数据链路层通道。
(2)3G系统骨干网侧对IPv6的路由与转发功能。3G系统与骨干网络相连,使得接入的终端用户能够与外界网络进行通信。这就要求IPv6 3G 系统骨干网侧边缘网元需要具有IPv6路由与转发的功能,这样才能与外部IPv6网络连接。
图1所示为IPv6 WCDMA系统示意图以及各节点的协议栈结构描述。由图中可见,UE访问3G网络外部服务器上的IPv6应用,3G接入侧除用户终端与GGSN节点外,其他设备与IPv6协议栈无关。用户端的IPv6数据经过PDCP封装到达RNC,在RNC上转为GTP(GPRS Tunneling Protocol)封装,通过RNC GGSN之间的GTP隧道传送到GGSN设备上。这部分数据传送功能即3G系统为IPv6数据应用提供数据链路层通道接入骨干网络。
GTP隧道工作在UDP协议上,RNC,SGSN,GGSN上的IPv4协议栈,通常称为传送平面协议栈,用于构造GTP隧道,与IPv6网络层应用无关。
GGSN收到从GTP隧道转来的IPv6数据包,作为3G接入系统与外部网络系统的边缘节点,需要具备与学习外部网络路由以及将数据包根据路由正确转发的能力,即IPv6路由与转发的功能。
3 IPv6 3G应用基本流程
移动终端开机连接到运营商后,访问3G网络外部IPv6业务,主要包括以下三个过程:
(1)附着(ATTACH)。附着过程的目的是系统根据移动终端的签约数据确定是否允许移动终端在当前请求的GPRS路由区域中进行数据业务访问。附着过程与IPv6无关。
终端可以在开机通过无线接入鉴权获得无线信道后即向SGSN发起“附着请求”消息,SGSN得到终端IMSI标识后,向HLR中请求进行认证,并根据HLR下达的用户签约数据对终端进行鉴权,同时SGSN将终端的当前位置信息上传HLR。鉴权通过后,SGSN就会向终端返回“接受附着”消息。
(2)PDP(Packet Data Protocol)上下文激活。通过PDP上下文激活过程,用户获得相应的GGSN的鉴权许可,分配相应的IPv6地址,建立终端与基于GPRS的3G分组域之间的数据通道。
PDP激活过程由用户终端发起。终端首先向SGSN发起“激活PDP上下文请求”消息,消息中携带APN(服务访问点名称),服务质量等信息;SGSN根据消息中携带的APN向HLR中查寻相应的GGSN的地址,获得GGSN地址后,再向GGSN发送“创建PDP上下文请求”;GGSN可以通过本地/DHCP/RADIUS对终端进行签权并分配IPv6地址或者地址前缀,以及其他参数,如QoS参数等,并将鉴权结果以及各项参数携带在“响应创建PDP上下文请求”消息中,发送给SGSN,由SGSN再向终端发送“接受激活PDP上下文请求”消息,将各参数配置传递给用户终端,从而完成PDP激活过程。
这一过程中,与IPv6相关的功能主要集中在IPv6地址请求/分配上。首先,终端在“激活PDP上下文请求”消息中需要携带请求地址类型为IPv6的信息;其次,系统要能够分配IPv6地址。如果系统采用GGSN本地地址池分配IPv6地址方式,那么GGSN需要支持IPv6地址池设置与分配,如果采用DHCP服务器或者RADIUS服务器要进行地址分配,那么就需要DHCP,RADIUS服务器支持IPv6。
(3)业务访问。在PDP之后,从终端到3G系统分组域的IPv6应用数据通道已经打开。如果终端访问3G系统外的业务服务器,就需要保持3G系统分组域与外部网络直到业务服务器之间的转发路径通畅,即3G系统分组域边界网关需要具备访问IPv6外部网络的路由与转发能力。通常的IPv6 3G应用解决方案中,GGSN作为3G分组域的对外网关要求具备双栈能力。
4 IPv6 3G应用系统的解决方案
目前,IPv6应用尚未普及,根据IPv6发展的不同阶段,IPv6 3G应用系统可以采用不同的解决方案。
(1)3G系统最小改动方案。GGSN只需要支持IPv6地址分配,不需要支持IPv6协议栈。IPv6的路由和转发功能通过GGSN与业务服务器之间接入一个双栈路由器实现,GGSN与双栈路由器之间通过GRE隧道承载IPv6数据流。图2所示为该方案协议栈示意图。
(2)GGSN双栈方案,即图1中所示意的实现方案。GGSN具有IPv6地址分配能力,同时也具有双栈功能。
(3)在方案(2)的基础上,3G系统中从UTRA到GGSN的传送平面网络层协议栈也支持IPv6。这种方案需要等到IPv6成为网络应用主导协议栈的时候才有可能实现。
在IPv6目前发展的状态下,各厂商根据自己的市场策略选择方案(1)或者方案(2)比较实际。
5 IPv6 3G系统发展中存在的问题
5.1 地址分配
依照协议规定,IPv6 3G系统地址池内设定的是可分配的IPv6前缀范围,终端获得MAC地址,然后由地址池中前缀与MAC地址组成完整的IPv6地址。当前的IPv6 3G应用基本上都是独立终端进行业务访问,只需要一个可用的IPv6地址即可。这种分配方式不能有效地使用IPv6地址。尽管也可以配置有状态IPv6地址分配,但有状态地址分配的实现基本上需要在HLR中事先静态配置好。因此不利于业务开展,建议IPv6 3G系统能够灵活选择动态自动地址分配方式,针对不同终端应用灵活选择分配/128的地址或者 /64的前缀。
5.2 对IPv4/IPv6业务类型的感知
目前,对IPv4/IPv6业务类型的感知都是通过在手机上进行相关设置,从而在PDP请求中携带相应地址族类型。IPv6应用商用后,用户终端不能预先感知访问网站类型IPV4/IPv6,无法使用现有程序判断用户需要IPV4/IPv6地址。
5.3 MIPv6在3G中的部署
虽然MIP6协议里MN依靠RA来判断是否发生网络层移动,但是在3G移动系统里,网络前缀是GGSN在PDP的过程中从地址池分配给移动终端的,并不涉及到RA,因此MIPv6对于3G应用是否必要,如何实现,还需要具体对待。
5.4 应用亟待丰富
现有3G终端目前只能支持IPv6 Web访问,可以通过Web方式进行文字与图片浏览,播放音乐等,这些还不能体现出IPv6 3G系统的优势,IPv6 3G系统需要更加丰富的应用内容为驱动力。
6 结束语
目前,IPv6 3G相关的标准也还需要结合应用的实际需要进一步完善,国内外各3G厂家对IPv6的支持也参差不齐。IPv6 3G系统的商用普及还需要一个较长的过程。一方面,应用的丰富、3G数据业务用户量的迅速增长是推动IPv6 3G系统发展的关键因素;另一方面,IPv6 3G系统还需要解决真正商用所要面对的一些具体问题,如业务类型感知,地址分配等。IPv6 3G不会像季节转换那样迅速来到,这个市场的孕育还需要漫长的努力。
张 荣 中国电信有限公司广州研究院工程师
黄 婕 中国电信有限公司广州研究院工程师