具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例1:
本发明实施例提供一种选择IPv4-IPv6协议翻译模块的方法,如图1所示,该方法包括如下步骤:
101、当双栈终端上的IPv4应用启动时,向IPv6核心网的网元发送请求消息,该请求消息中包括所述IPv4应用要访问的业务标识。
此时,IPv6核心网的网元接收所述双栈终端发送的请求消息。
102、所述IPv6核心网的网元从所述请求消息中提取业务标识。
103、所述IPv6核心网的网元在预设动态映射表中查询所述业务标识对应的PNAT64 GW地址前缀。该预设动态映射表中保存有业务标识及其对应的PNAT64GW地址前缀的记录。
104、当所述IPv6核心网的网元查询到所述业务标识对应的PNAT64 GW地址前缀时,将所述PNAT64 GW地址前缀添加到响应消息中,将所述携带有PNAT64GW地址前缀的响应消息发送给所述双栈终端。
105、在所述双栈终端一侧,接收到上述IPv6核心网的网元发送的响应消息后,检测所述响应消息中是否包括PNAT64 GW地址前缀。
如果检测到所述响应消息中包含PNAT64 GW地址前缀时,可以确定终端所启动的IPv4应用访问的业务对应的服务器在运营商的IPv4业务网络中,选择PNAT模块并使用所述PNAT64 GW地址前缀进行协议转换。
由于上述IPv6核心网的网元向所述双栈终端发送的响应消息中,包含有所述双栈终端访问的业务标识对应的PNAT64 GW地址前缀,根据该PNAT64 GW地址前缀,终端可以确定所需要选择的协议翻译模块为PNAT模块,并可以获知正确的PNAT64 GW地址前缀进行后续的数据通信。
相应地,本发明实施例还提供一种选择IPv4-IPv6协议翻译模块的方法,用来在IPv6核心网中的网元上建立并维护动态映射表,如图2所示,该方法包括以下步骤:
201、在所述IPv6核心网与IPv4业务网络边缘投入使用一个新的PNAT64 GW之后,该PNAT64 GW向所述IPv6核心网中的通信装置发送第一注册消息,所述第一注册消息中包括所述PNAT64 GW的地址前缀和表示其所连接的IPv4业务网络提供的所有服务各自对应的业务标识。
同样,如果在IPv6业务网络中开始运行一个新的业务服务器,该业务服务器会向所述IPv6核心网中的通信装置发送第二注册消息,所述第二注册消息包括IPv6标识和表示所述IPv6业务网络提供的所有服务各自对应的业务标识。
202、所述IPv6核心网中的通信装置接收到第一注册消息后,从第一注册消息中提取PNAT64 GW的地址前缀和表示其所连接的服务各自对应的业务标识,并确定所述第一注册消息中的所有业务标识对应的协议类型为IPv4类型。
所述IPv6核心网中的通信装置接收到第二注册消息后,从第二注册消息中提取IPv6标识和表示所述IPv6业务网络提供的服务各自对应的业务标识,并确定所述第二注册消息中的所有业务标识对应的协议类型为IPv6类型。
将上述提取出的每一个业务标识、该业务标识对应的协议类型和对应的PNAT64 GW的地址前缀添加到指定动态映射表中,从而在IPv6核心网中的通信装置上实现了动态映射表的建立与维护。
203、发送注册成功响应消息给通信对端,表示注册成功。
实施例2:
本发明实施例假设应用场景为DNS服务器维护并管理一份动态映射表,用户终端为双栈终端,当UE启动其中某个IPv4应用时,会与IPv6核心网交互建立承载,然后UE向DNS服务器发送DNS解析请求,DNS服务器解析目的地址的同时,根据上述IPv4应用的业务标识向UE返回所应使用的协议转换模块标识以及相应的参数。
本发明实施例假设组网结构如图3所示,其中,AAA(AuthenticationAuthorization Accounting,认证、授权、计费)用于验证用户的身份与可使用的网络服务,依据认证结果开放网络服务给用户,记录用户对各种网络服务的用量,并提供给计费系统。
DNS服务器用于接受终端发来的域名解析请求,通过递归式的解析,最终获得该域名的IP地址,然后将其返回给终端。
接入路由器Access Router是移动网络分组域核心网中的关键功能实体,用于为终端提供PDN的连接性,在不同的移动通信系统中,Access Router具体又表现为不同的实体:在GPRS中为GGSN(Gateway GPRS Support Node,网关GPRS支持节点)、在EPS中为PDN-GW(Packet Data Network Gateway,分组数据网络网关)、在CDMA2000中为PDSN(Packet Data Serving Node,分组数据服务节点)、在WiMAX中为ASN-GW(Access Service Network Gateway,接入业务网络网关)。
下面详细说明一种选择IPv4-IPv6协议翻译模块的方法,实现动态映射表的建立与维护,如图4所示,该方法包括如下步骤:
301、当IPv4业务网络边缘投入使用一个新的PNAT64 GW之后,该PNAT64 GW向DNS服务器发送第一注册消息,以报告其所连接的IPv4业务网络中的所有业务服务的类型,在上述第一注册消息中携带该PNAT64 GW的地址前缀、和其所连接的服务各自对应的业务标识。
该步骤也可以为:当IPv6业务网络中开始运行一个新的业务服务器时,该业务服务器向DNS服务器发送第二注册消息,以报告其是一个IPv6协议类型的服务器,上述第二注册消息中携带IPv6标识、和其所提供的服务各自对应的业务标识。
302、DNS服务器接收到注册消息后,从中提取相关信息,根据不同的注册消息分别采取下述不同的步骤(图未示):
302A、如果为第一注册消息,从该消息中可以提取出PNAT64 GW地址前缀和业务标识列表,则确定这些业务标识对应的业务服务均为IPv4协议类型的,且均对应于该地址前缀。
302B、如果为第二注册消息,可以从该消息中提取出IPv6标识和业务标识,则确定该业务标识对应的业务服务为IPv6协议类型的。
然后,DNS服务器将业务标识、协议类型、PNAT64 GW前缀三者的对应关系作为新的条目添加到动态映射表中,如果动态映射表还不存在,则应新建映射表。该动态映射表如下表所示:
业务标识 |
业务服务协议类型 |
PNAT64 GW前缀 |
A |
IPv4 |
PNAT64 GW-1 Prefix |
B |
IPv6 |
NULL |
C |
IPv4 |
PNAT64 GW-2 Prefix |
D |
IPv6 |
NULL |
… |
… |
… |
X |
IPv6 |
NULL |
Y |
IPv4 |
PNAT64 GW-n Prefix |
Z |
IPv4 |
PNAT64 GW-n Prefix |
303、DNS服务器返回响应消息,表示注册成功。
实际应用场景中,PNAT64 GW所提供的服务类型是会发生变化的,如某个PNAT64 GW所提供的服务可能切换到另外一个PNAT64 GW下,也可能升级为IPv6类型的服务,从而不再属于IPv4业务网络,而属于IPv6业务网络。此时,为了保证动态映射表中PNAT64 GW及其所提供服务的记录与实际网络中该PNAT64GW所提供的服务是一致的,在实际网络中,如果PNAT64 GW所提供的服务类型更新时,上述动态映射表将采取如下步骤进行更新,如图5所示:
401、PNAT64 GW向IPv6核心网中的DNS服务器发送第一更新消息,该消息中携带了该PNAT64 GW下当前所有服务的业务标识,或者也可以仅发送发生改变的服务的业务标识。
该步骤也可以为:所述IPv6业务网络中的服务器发送第二更新消息,该消息包括所述IPv6业务网络中更新后的服务对应的业务标识。具体应用过程中,该消息中可以携带该IPv6业务网络的服务器下所有服务的业务标识,或者也可以仅发送发生改变的服务的业务标识。
402、分别从所述第一更新消息、第二更新消息中提取更新后的业务标识,并根据所述更新后的业务标识,DNS服务器对其存储的动态映射表进行更新。使得动态映射表中PNAT64 GW及其所提供服务的记录与实际网络中该PNAT64 GW所提供的服务始终是一致的。
403、DNS服务器向该PNAT64 GW返回确认消息。如果是IPv6业务网络中的服务器发送了更新消息,则向该IPv6业务网络中的服务器返回确认消息。
上述动态映射表是由DNS服务器建立并维护的,具体应用过程中,该动态映射表也可以由AAA服务器建立并维护,具体流程与上述在DNS服务器建立并维护方案的流程基本相同,在此不再赘述。
相应地,本发明实施例还提供一种选择IPv4-IPv6协议翻译模块的方法,DNS服务器根据上述建立的动态映射表进行查询并返回相应参数给终端,使得终端可以选择正确的协议翻译模块进行数据通信。如图6所示,该方法包括如下步骤:
501、UE为一个双栈终端,其上可以预先配置IPv6核心网与Internet网络交界的PNAT64 GW-0的IPv6前缀,该前缀地址可以认为是相当长一段时间内不会改变的。
UE在附着时或附着之后,与IPv6核心网中的Access Router进行交互。如,在GPRS网络下触发PDP Context激活进程,或者在EPS系统中触发业务请求进程,或者在CDMA2000系统中触发PPP链路建立进程,或者在WiMAX系统中触发业务流创建进程。之后,终端会获得源IP地址,该源IP地址可能为IPv6前缀、也可能为IPv4和IPv6前缀。
502、UE上的某个IPv4应用启动,并发起DNSv4请求,以请求DNS服务器进行域名解析。
503、UE对该DNSv4请求进行协议转换,将其转换为DNSv6请求,可以任选UE上的BIS/BIA或PNAT模块中的DNS协议转换子模块实现该转换。或者,也可以采用独立的DNS协议转换模块进行转换。同时,在转换后的DNSv6请求消息中插入该IPv4应用的业务标识。然后UE将上述携带有业务标识的DNSv6请求发送给DNS服务器。
504、DNS服务器接收到上述DNSv6请求后,提取其中的业务标识,根据该业务标识在动态映射表中查询对应的PNAT64 GW地址前缀和协议类型。如果动态映射表由AAA服务器维护,则DNS服务器需要从AAA间接地查询动态映射表。下面根据不同的查询结果分别采用不同的步骤进行处理(图未示):
504A、如果查询到该业务标识在动态映射表中没有对应的PNAT64 GW地址前缀和协议类型,则可以确定相应的服务在Internet中,此时,DNS服务器无需做任何特殊处理,按照现有流程执行即可。
504B、如果查询到该业务标识在动态映射表中对应的协议类型为IPv6,则可以确定UE应当使用BIS/BIA模块进行后续的数据包转换,此时DNS服务器将BIS/BIA标识添加到DNS响应消息中。
504C、如果查询到该业务标识在动态映射表中对应的协议类型为IPv4,并查询到该业务标识对应的PNAT64 GW地址前缀,则可以确定UE应当使用PNAT模块进行后续的数据包转换,此时,DNS服务器将查询到的PNAT标识、PNAT64 GW地址前缀添加到DNS响应消息中。
本步骤也可不携带PNAT标识,携带PNAT64 GW地址前缀,因为该地址前缀可以指示终端应该使用PNAT模决。
505、DNS服务器将响应消息发送给终端。
506、UE在收到DNS的响应消息后,检测其中是否包含PNAT64 GW地址前缀和模块标识信息,根据不同的检测结果分别采取如下不同的步骤进行处理:
506A、如果检测到所述响应消息中不包含PNAT64 GW地址前缀,并且不包含模块标识时,则可以确定该UE上IPv4应用所对应的服务器在Internet中,进一步地,判断DNS解析结果中的地址类型,可以根据不同的地址类型来选择相应模块,具体判断操作如下:
如果解析结果为A类型地址,则应选择PNAT模块执行后续转换流程,并使用预先配置的PNAT64 GW-0的地址前缀作为必要的参数;如果解析结果为AAAA类型地址,则应选择BIS/BIA模块来执行后续的转换流程。
506B、如果检测到所述响应消息中携带了BIS/BIA标识,则可以确定IPv4应用所对应的服务器在运营商的IPv6业务网络中,UE应选择BIS/BIA模块执行后续的转换流程。
506C、如果检测到所述响应消息中携带了PNAT标识和PNAT64 GW前缀信息,则可以确定该应用所对应的服务器在运营商的IPv4业务网络中,UE应选择PNAT模块执行后续的转换流程,并将消息中的PNAT64 GW地址前缀作为必要的参数。
在终端执行步骤506之前或者之后,还应检查DNS响应消息中的地址类型,如果地址类型为AAAA,则无需进行额外操作。如果地址类型为A类型,则应再进一步判断步骤501中得到的源IP地址是否有同时具有IPv4地址和IPv6地址,如果仅有IPv6地址,则应当再触发UE发起一个V4V6类型的PDP激活请求,以获取IPv4地址,从而保证后续PNAT流程能够正常进行。
从上述方法的执行过程可以看出,由于所述终端在进行IPv4应用的数据通信之前,接收到的IPv6核心网中的DNS服务器发送的响应消息中包含了相应的PNAT64 GW地址前缀信息,因而终端可以获知正确的PNAT64 GW地址前缀。
另外,现有技术中当终端上的IPv4业务启动时,通常终端是不知道IPv4应用所要访问服务的协议类型是IPv4还是IPv6,只能随机选择一个协议翻译模块进行数据包转换,从而导致后续的数据通信无法正常进行。而本发明实施例所提供的方法中,根据响应消息中相应的模块标识和PNAT64 GW地址前缀信息,可以正确的选择所需要的协议翻译模块,从而也解决了现有技术中终端无法正确选择所要采用的协议翻译模块,而导致后续的数据通信无法正常进行的问题。
上述实现IPv4-IPv6协议翻译模块选择的过程,默认IPv6网络中存在一个Access Router,但实际部署中,Access Router在逻辑上也可能为多个。例如一个Access Router与IPv6业务网络连接,一个或多个不同的Access Router与各个PNAT64 GW相连。此场景下,DNS服务器应当额外维护不同的AccessRouter与其连接的业务网络的对应关系表,从而能够在根据业务标识查询业务服务器类型时,能够将其所对应的Access Router的接入方式告知终端。该场景下,具体的业务流程与上述方案中的不同之处在于:
第501步骤中终端在执行附着时或附着之后,与核心网中的Access Router进行交互。当存在多个Access Router时,由于终端并不知道所启动的IPv4应用对应于哪一个Access Router,此时,在请求消息中应当不携带接入参数,例如APN或接入号码,而由核心网为其选择一个默认的Access Router,以建立默认的PDP上下文或EPS承载或PPP链路。
第504步骤中,DNS服务器接收到来自终端的请求消息后,提取其中的业务标识,并根据业务标识查询动态映射表,从而确定应当返回的模块标识及PNAT64GW前缀。在此之后,DNS服务器还应根据确定的模块标识及PNAT64 GW前缀来选择相应的Access Router:
如果确定的模块标识为BIS/BIA,则正确的Access Router应为与IPv6业务网络连接的Access Router。
如果确定的模块标识为PNAT,则应进一步根据PNAT64 GW的IPv6地址前缀来查询相应的Access Router。
确定了Access Router的接入信息,例如在GPRS网络或EPS网络下,则接入信息为APN-Access或Point Name;如果为CDMA2000网络,则接入信息为PPP链路接入号码。之后,DNS服务器将其与模块标识、PNAT64 GW前缀一并插入到响应消息中,然后返回给终端。
在第506步骤中,终端首先将响应消息中的Access Router接入信息作为接入参数,重新发起激活/建立PDP上下文或EPS承载或PPP链路的进程,核心网根据请求消息中的接入参数选择正确的Access Router。然后终端要执行的处理即与上述方案中的第506步相同,不再赘述。
实施例3:
本发明实施例假设应用场景为GPRS网络中,GGSN维护并管理一份动态映射表,用户终端为双栈终端,当UE启动其中某个IPv4应用,并触发PDP Context激活进程时,在PDP Context激活请求消息中携带业务标识。
本发明实施例假设组网结构如图7所示,其中,SGSN(Serving GPRS SupportNode,服务器GPRS支持节点)是移动核心网PS域功能节点,主要提供PS域的路由转发、移动性管理、会话管理、鉴权、加密等功能。GGSN为GPRS核心网中的功能实体,提供数据包在移动网络和外部数据网之间的路由和封装。
该实施例中,PNAT64 GW或IPv6业务服务器向GGSN进行注册的流程、以及后续PNAT64 GW动态向GGSN报告发生变化的业务服务类型的流程,均与实施例2中的相同,在此不再赘述。同样,该动态映射表除了可以由GGSN来维护以外,也可以由AAA服务器来维护。
下面详细说明一种选择IPv4-IPv6协议翻译模块的方法,如图8所示,该方法包括如下步骤:
601、UE为一个双栈终端,其上可以预先配置核心网与Internet网络交界的PNAT64 GW-0的IPv6前缀,该前缀地址可以认为是相当长一段时间内不会改变的。UE上启动一个IPv4应用,应用的启动触发了新的PDP context激活进程。
602、UE向网络发送Activate PDP context Request消息,请求激活PDPContext。消息中携带了该IPv4应用的业务标识。
603、上述消息到达SGSN后,触发SGSN向GGSN发送Create PDP ContextRequest消息,消息中携带了该IPv4应用的业务标识。
604、GGSN接收到上述请求后,提取其中的业务标识,根据该业务标识在动态映射表中查询对应的PNAT64 GW地址前缀和协议类型。如果动态映射表由AAA服务器维护,则GGSN需要从AAA间接地查询动态映射表。下面根据不同的查询结果分别采用不同的步骤进行处理:
604A、如果查询到该业务标识在动态映射表中没有对应的PNAT64 GW地址前缀和协议类型,则可以确定相应的服务在Internet中,此时,GGSN无需做任何特殊处理,按照现有流程执行即可。
604B、如果查询到该业务标识在动态映射表中对应的协议类型为IPv6,则可以确定终端应当使用BIS/BIA模块进行后续的数据包转换,此时GGSN将BIS/BIA标识添加到Create PDP Context Response消息中。
604C、如果查询到该业务标识在动态映射表中对应的协议类型为IPv4,并查询到该业务标识对应的PNAT64 GW地址前缀,则可以确定UE应当使用PNAT模块进行后续的数据包转换,此时,GGSN将查询到的PNAT标识、PNAT64 GW地址前缀添加到Create PDP Context Response消息中。
本步骤也可不携带PNAT标识,携带PNAT64 GW地址前缀,因为该地址前缀可以指示终端应该使用PNAT模块。
605、GGSN将携带有模块标识及相关参数的Create PDP Context Response消息发送给SGSN。
606、SGSN收到响应消息后,向终端返回Activate PDP Context Accept消息,如果步骤604中查询到PNAT64 GW地址前缀时,则该消息中携带有PNAT64 GW地址前缀。
607、UE在收到Activate PDP Context Accept消息后,检测其中是否包含PNAT64 GW地址前缀和模块标识信息,根据不同的检测结果分别采取如下不同的步骤进行处理:
607A、如果检测到所述响应消息中不包含PNAT64 GW地址前缀,并且不包含模块标识时,则可以确定该终端上IPv4应用所对应的服务器在Internet中,进一步地,判断接收到的DNS解析结果中的地址类型,可以根据不同的地址类型来选择相应模块,具体判断操作如下:
如果解析结果为A类型地址,则应选择PNAT模块执行后续转换流程,并使用预先配置的PNAT64 GW-0的地址前缀作为必要的参数;如果解析结果为AAAA类型地址,则应选择BIS/BIA模块来执行后续的转换流程。
607B、如果检测到所述响应消息中携带了BIS/BIA标识,则可以确定IPv4应用所对应的服务器在运营商的IPv6业务网络中,UE应选择BIS/BIA模块执行后续的转换流程。
607C、如果检测到所述响应消息中携带了PNAT标识和PNAT64 GW前缀信息,则可以确定该应用所对应的服务器在运营商的IPv4业务网络中,UE应选择PNAT模块执行后续的转换流程,并将消息中的PNAT64 GW地址前缀作为必要的参数。
从上述方法的执行过程可以看出,在GPRS网络中,由于所述终端在进行IPv4应用的数据通信之前,接收到的IPv6核心网中的GGSN发送的响应消息中包含了相应的PNAT64 GW地址前缀信息,因而终端在GPRS中,需要通过IPv6核心网访问IPv4业务时,可以获知正确的PNAT64 GW地址前缀。
另外,由于UE上新启动的IPv4应用可能会触发一个primary PDP Context请求,也可能触发一个secondary PDP Context请求,因此上述方案中的ActivatePDP Context Request消息可以替换为Activate Secondary PDP Context消息,相应的Activate PDP Context Accept消息可以替换为Activate Secondary PDPContext Accept消息。
实施例4:
本发明实施例假设应用场景为EPS网络中,PDN-GW维护并管理一份动态映射表,用户终端为双栈终端,当UE启动其中某个IPv4应用,并触发业务请求进程时,在业务请求消息中携带业务标识。PDN-GW在动态映射表中查询业务标识对应的协议类型和PNAT64 GW地址前缀,并返回相应参数给终端,使得终端可以选择正确的协议翻译模块进行数据通信。
本发明实施例假设组网结构如图9所示,其中,MME(Mobility ManagementEntity,移动性管理实体)的功能主要包括:NAS信令传输、PDN-GW选择、网络切换时SGSN选择、漫游支持、认证/授权、承载管理(包括专用承载的建立)、合法的信令监听等。
PDN-GW为EPS核心网中的主要功能实体。PDN-GW为UE分配IP地址,并为UE提供PDN连接性,其功能类似于GGSN。
该实施例中,PNAT64 GW或IPv6业务服务器向PDN-GW进行注册的流程、以及后续PNAT64 GW动态向PDN-GW报告发生变化的业务服务类型的流程,均与实施例2中的相同,在此不再赘述。同样,该动态映射表也可以由AAA服务器来维护。
下面详细说明一种选择IPv4-IPv6协议翻译模块的方法,如图10所示,该方法包括如下步骤:
701、UE为一个双栈终端,其上可以预先配置核心网与Internet网络交界的PNAT64 GW-0的IPv6前缀,该前缀地址可以认为是相当长一段时间内不会改变的。终端上启动一个IPv4应用,应用的启动触发了业务请求(ServiceRequest)进程。
702、UE向网络发送NAS(Non-Access Stratum)消息:Service Request消息,消息中携带了该IPv4应用的业务标识。
703、上述消息到达MME后,触发MME向PDN-GW发送Create Session Request消息,消息中携带了该IPv4应用的业务标识。
704、PDN-GW接收到上述请求信息后,提取其中的业务标识,根据该业务标识在动态映射表中查询对应的PNAT64 GW地址前缀和协议类型。如果动态映射表由AAA服务器维护,则PDN-GW需要从AAA间接地查询动态映射表。下面根据不同的查询结果分别采用不同的步骤进行处理:
704A、如果查询到该业务标识在动态映射表中没有对应的PNAT64 GW地址前缀和协议类型,则可以确定相应的服务在Internet中,此时,PDN-GW无需做任何特殊处理,按照现有流程执行即可。
704B、如果查询到该业务标识在动态映射表中对应的协议类型为IPv6,则可以确定终端应当使用BIS/BIA模块进行后续的数据包转换,此时PDN-GW将BIS/BIA标识添加到Create Session Response消息中。
704C、如果查询到该业务标识在动态映射表中对应的协议类型为IPv4,并查询到该业务标识对应的PNAT64 GW地址前缀,则可以确定UE应当使用PNAT模块进行后续的数据包转换,此时,PDN-GW将查询到的PNAT标识、PNAT64 GW地址前缀添加到Create Session Response消息中。
本步骤也可不携带PNAT标识,携带PNAT64 GW地址前缀,因为该地址前缀可以指示终端应该使用PNAT模块。
705、PDN-GW将携带有模块标识及相关参数的Create Session Response消息发送给MME。
706、MME收到响应消息后,向终端返回Initial Context Setup Request消息,消息中携带了PNAT64 GW地址前缀。
707、UE在收到Initial Context Setup Request消息后,检测其中是否包含PNAT64 GW地址前缀和模块标识信息,根据不同的检测结果分别采取如下不同的步骤进行处理:
707A、如果检测到所述响应消息中不包含PNAT64 GW地址前缀,并且不包含模块标识时,则可以确定该终端上IPv4应用所对应的服务器在Internet中,进一步地,判断接收到的DNS解析结果中的地址类型,可以根据不同的地址类型来选择相应模块,具体判断操作如下:
如果解析结果为A类型地址,则应选择PNAT模块执行后续转换流程,并使用预先配置的PNAT64 GW-0的地址前缀作为必要的参数;如果解析结果为AAAA类型地址,则应选择BIS/BIA模块来执行后续的转换流程。
707B、如果检测到所述响应消息中携带了BIS/BIA标识,则可以确定IPv4应用所对应的服务器在运营商的IPv6业务网络中,UE应选择BIS/BIA模块执行后续的转换流程。
707C、如果检测到所述响应消息中携带了PNAT标识和PNAT64 GW前缀信息,则可以确定该应用所对应的服务器在运营商的IPv4业务网络中,UE应选择PNAT模块执行后续的转换流程,并将消息中的PNAT64 GW地址前缀作为必要的参数。
从上述方法的执行过程可以看出,当终端位于EPS系统中时,由于所述终端在进行IPv4应用的数据通信之前,接收到的IPv6核心网中PDN-GW发送的响应消息中包含了相应的PNAT64 GW地址前缀信息,因而终端可以获知正确的PNAT64 GW地址前缀。解决了现有技术中存在多个PNAT64 GW时,终端无法获知正确的PNAT64 GW地址前缀的问题。
实施例5:
本发明实施例假设应用场景为CDMA2000网络中,PDSN维护并管理一份动态映射表,并在动态映射表中查询业务标识对应的协议类型和PNAT64 GW地址前缀,并返回相应参数给终端,使得终端可以选择正确的协议翻译模块进行数据通信。
本发明实施例假设组网结构如图11所示,其中,PCF(Packet ControlFunction,分组控制功能)为CDMA2000系统中分组域核心网的主要功能实体,主要用于转发无线子系统和PDSN分组控制单元之间的消息,完成与分组数据有关的无线信道控制功能,对移动用户所进行的分组数据业务进行转换、管理与控制。PDSN是CDMA2000系统的核心网元,作为终端接入外部PDN的网关设备。PDSN处于CDMA2000核心网分组域和外部PDN的连接处,它为终端提供IP地址,将终端接入到IP网络,转发终端的数据业务报文,为终端提供分组数据服务。
该实施例中,PNAT64 GW或IPv6业务服务器向PDSN进行注册的流程、以及后续PNAT64 GW动态向PDSN报告发生变化的业务服务类型的流程,均与实施例2中的相同,在此不再赘述。同样,该动态映射表也可以由AAA服务器来维护。
下面详细说明一种选择IPv4-IPv6协议翻译模块的方法,如图12所示,该方法包括如下步骤:
801、UE为一个双栈终端,其上可以预先配置核心网与Internet网络交界的PNAT64 GW-0的IPv6前缀,该前缀地址可以认为是相当长一段时间内不会改变的。终端启动一个IPv4应用,应用的启动触发了新的PPP链路建立进程。
802、UE向网络发送用于建立PPP链路的Configure-Request消息,消息中携带了该IPv4应用的业务标识。
803、上述消息到达PCF后,PCF将其转发给PDSN。
804、PDSN接收到上述请求信息后,提取其中的业务标识,根据该业务标识在动态映射表中查询对应的PNAT64 GW地址前缀和协议类型。如果动态映射表由AAA服务器维护,则PDSN需要从AAA间接地查询动态映射表。下面根据不同的查询结果分别采用不同的步骤进行处理:
804A、如果查询到该业务标识在动态映射表中没有对应的PNAT64 GW地址前缀和协议类型,则可以确定相应的服务在Internet中,此时,PDSN无需做任何特殊处理,按照现有流程执行即可。
804B、如果查询到该业务标识在动态映射表中对应的协议类型为IPv6,则可以确定终端应当使用BIS/BIA模块进行后续的数据包转换,此时PDSN将BIS/BIA标识添加到Configure-Ack消息中。
804C、如果查询到该业务标识在动态映射表中对应的协议类型为IPv4,并查询到该业务标识对应的PNAT64 GW地址前缀,则可以确定UE应当使用PNAT模块进行后续的数据包转换,此时,PDSN将查询到的PNAT标识、PNAT64 GW地址前缀添加到Configure-Ack消息中。
本步骤也可不携带PNAT标识,携带PNAT64 GW地址前缀,因为该地址前缀可以指示终端应该使用PNAT模块。
805、PDSN将携带有模块标识及相关参数的Configure-Ack消息发送给PCF。
806、PCF将上述响应消息转发给终端UE。
807、UE在收到Configure-Ack消息后,检测其中是否包含PNAT64 GW地址前缀和模块标识信息,根据不同的检测结果分别采取如下不同的步骤进行处理:
807A、如果检测到所述响应消息中不包含PNAT64 GW地址前缀,并且不包含模块标识时,则可以确定该终端上IPv4应用所对应的服务器在Internet中,进一步地,判断接收到的DNS解析结果中的地址类型,可以根据不同的地址类型来选择相应模块,具体判断操作如下:
如果解析结果为A类型地址,则应选择PNAT模块执行后续转换流程,并使用预先配置的PNAT64 GW-0的地址前缀作为必要的参数;如果解析结果为AAAA类型地址,则应选择BIS/BIA模块来执行后续的转换流程。
807B、如果检测到所述响应消息中携带了BIS/BIA标识,则可以确定IPv4应用所对应的服务器在运营商的IPv6业务网络中,UE应选择BIS/BIA模块执行后续的转换流程。
807C、如果检测到所述响应消息中携带了PNAT标识和PNAT64 GW前缀信息,则可以确定该应用所对应的服务器在运营商的IPv4业务网络中,UE应选择PNAT模块执行后续的转换流程,并将消息中的PNAT64 GW地址前缀作为必要的参数。
从上述方法的执行过程可以看出,在CDMA2000网络中,由于所述终端在进行IPv4应用的数据通信之前,接收到的IPv6核心网中的PDSN发送的响应消息中包含了相应的PNAT64 GW地址前缀信息,因而当终端位于CDMA2000系统中,需要通过IPv6核心网访问IPv4业务时,可以获知正确的PNAT64 GW地址前缀。
实施例6:
本发明实施例假设应用场景为WiMAX网络中,ASN-GW维护并管理一份动态映射表。假设组网结构如图13所示,其中,BS(Base Station)是WiMAX系统中的基站(无线收发信机),是无线接入侧的主要功能实体,实现了802.16协议的物理层和MAC层的功能。ASN-GW为WiMAX系统中的接入业务网络网关,提供分组数据转发、接入控制、QoS和流量管理、计费等功能。
该实施例中,PNAT64 GW或IPv6业务服务器向ASN-GW进行注册的流程、以及后续PNAT64 GW动态向ASN-GW报告发生变化的业务服务类型的流程,均与实施例2中的相同,在此不再赘述。同样,该动态映射表也可以由AAA服务器来维护。
下面详细说明一种选择IPv4-IPv6协议翻译模块的方法,ASN-GW在动态映射表中查询业务标识对应的协议类型和PNAT64 GW地址前缀,并返回相应参数给终端,使得终端可以选择正确的协议翻译模块进行数据通信。如图14所示,该方法包括如下步骤:
901、UE为一个双栈终端,其上可以预先配置核心网与Internet网络交界的PNAT64 GW-0的IPv6前缀,该前缀地址可以认为是相当长一段时间内不会改变的。终端启动IPv4应用时,触发新的业务流Service Flow创建进程。
902、UE向网络发送用于创建新的业务流的DSA-REQ消息,消息中携带了该IPv4应用的业务标识。
903、上述消息到达BS后,触发BS向ASN-GW发送PATH_REG_REQ消息,消息中携带了该IPv4应用的业务标识。
904、ASN-GW接收到BS发来的请求消息后,提取其中的业务标识,根据该业务标识在动态映射表中查询对应的PNAT64 GW地址前缀和协议类型。如果动态映射表由AAA服务器维护,则ASN-GW需要从AAA间接地查询动态映射表。下面根据不同的查询结果分别采用不同的步骤进行处理:
904A、如果查询到该业务标识在动态映射表中没有对应的PNAT64 GW地址前缀和协议类型,则可以确定相应的服务在Internet中,此时,ASN-GW无需做任何特殊处理,按照现有流程执行即可。
904B、如果查询到该业务标识在动态映射表中对应的协议类型为IPv6,则可以确定终端应当使用BIS/BIA模块进行后续的数据包转换,此时ASN-GW将BIS/BIA标识添加到PATH_REG_RSP消息中。
904C、如果查询到该业务标识在动态映射表中对应的协议类型为IPv4,并查询到该业务标识对应的PNAT64 GW地址前缀,则可以确定UE应当使用PNAT模块进行后续的数据包转换,此时,ASN-GW将查询到的PNAT标识、PNAT64 GW地址前缀添加到PATH_REG_RSP消息中。
本步骤也可不携带PNAT标识,携带PNAT64 GW地址前缀,因为该地址前缀可以指示终端应该使用PNAT模块。
905、ASN-GW将携带有模块标识及相关参数的PATH_REG_REQ消息发送给BS。
906、BS接收到ASN-GW发来的响应消息后,向终端发送DSA-RSP响应消息,消息中携带了模块标识和相关参数。
907、UE在收到DSA-RSP消息后,检测其中是否包含PNAT64 GW地址前缀和模块标识信息,根据不同的检测结果分别采取如下不同的步骤进行处理:
907A、如果检测到所述响应消息中不包含PNAT64 GW地址前缀,并且不包含模块标识时,则可以确定该终端上IPv4应用所对应的服务器在Internet中,进一步地,判断接收到的DNS解析结果中的地址类型,可以根据不同的地址类型来选择相应模块,具体判断操作如下:
如果解析结果为A类型地址,则应选择PNAT模块执行后续转换流程,并使用预先配置的PNAT64 GW-0的地址前缀作为必要的参数;如果解析结果为AAAA类型地址,则应选择BIS/BIA模块来执行后续的转换流程。
907B、如果检测到所述响应消息中携带了BIS/BIA标识,则可以确定IPv4应用所对应的服务器在运营商的IPv6业务网络中,UE应选择BIS/BIA模块执行后续的转换流程。
907C、如果检测到所述响应消息中携带了PNAT标识和PNAT64 GW前缀信息,则可以确定该应用所对应的服务器在运营商的IPv4业务网络中,UE应选择PNAT模块执行后续的转换流程,并将消息中的PNAT64 GW地址前缀作为必要的参数。
从上述方法的执行过程可以看出,在WiMAX网络中,由于所述终端在进行IPv4应用的数据通信之前,接收到的IPv6核心网中ASN-GW发送的响应消息中包含了模块标识和相应的PNAT64 GW地址前缀信息,因而终端可以获知正确的PNAT64 GW地址前缀。
实施例7:
本发明实施例提供一种通信装置,如图15所示,包括:接收单元101、提取单元102、第一查询单元103、第一处理单元104、第一发送单元105。
其中,接收单元101用于接收双栈终端发送的请求消息,所述请求消息携带有双栈终端上IPv4应用的业务标识;
提取单元102用于从所述请求消息中提取业务标识;
第一查询单元103用于在预设动态映射表中查询所述业务标识对应的PNAT64 GW地址前缀;
如果所述第一查询单元查询到所述业务标识对应的PNAT64 GW地址前缀时,第一处理单元104用于将所述PNAT64 GW地址前缀添加到响应消息中,第一发送单元105用于将所述携带有PNAT64 GW地址前缀的响应消息发送给所述双栈终端。
进一步地,如果所述第一查询单元没有查询到所述业务标识对应的PNAT64GW地址前缀时,第一发送单元直接将响应消息发送给所述双栈终端。
另外,在实际应用上述通信装置的过程中,还可以同时查询所述业务标识对应的PNAT64 GW地址前缀和协议类型,如图16所示,所述通信装置还包括:第二查询单元107、第二处理单元108和第二发送单元106。
在所述第一查询单元查询所述业务标识对应的PNAT64 GW地址前缀的同时,所述第二查询单元用于查询到所述业务标识对应的协议类型。
如果所述第二查询单元107查询到所述业务标识对应的协议类型为IPv6时,第二处理单元108用于将BIS/BIA标识添加到响应消息中,此时,第二发送单元106用于将所述携带有BIS/BIA标识的响应消息发送给所述双栈终端。
如果第一查询单元没有查询所述业务标识对应的PNAT64 GW地址前缀,并且所述第二查询单元没有查询到所述业务标识对应的协议类型时,此时所述第二发送单元直接将响应消息发送给所述双栈终端。
上述通信装置可以为IPv6核心网中的DNS服务器,此时,所述接收单元接收到的请求消息为所述双栈终端发送的DNS解析请求消息,所述响应消息中还携带有DNS解析后的地址。
所述第一查询单元可以通过直接访问DNS服务器管理的预设动态映射表来查询所述业务标识对应的PNAT64 GW地址前缀,或者所述第一查询单元通过访问AAA服务器上的预设动态映射表来查询所述业务标识对应的PNAT64 GW地址前缀。
同样,所述第二查询单元通过直接访问的所述DNS服务器自身管理的预设动态映射表来查询所述业务标识对应的协议类型,或者所述第二查询单元通过访问AAA服务器上的预设动态映射表来查询所述业务标识对应的协议类型。
另外,当所述通信装置为IPv6核心网中的DNS服务器时,所述DNS服务器管理其所在网络中的每个Access Router及其所连接的业务网络的对应关系表。
此时,该通信装置(图未示)还包括:第三查询单元,用于在所述对应关系表中查询所述业务标识对应的目标Access Router,并将所述目标Access Router的接入信息添加到所述响应消息中。
所述Access Router包括:GPRS系统中的GGSN、EPS系统中的PDN-GW、CDMA2000系统中的PDSN和WiMAX系统中的ASN-GW。
在GPRS系统中,上述通信装置可以为GGSN。此时,所述接收单元接收到的请求消息为终端上IPv4应用启动并触发PDP Context激活进程时发送的消息;
所述第一查询单元通过直接访问所述GGSN上管理的预设动态映射表来查询所述业务标识对应的PNAT64 GW地址前缀,或者所述第一查询单元通过访问AAA服务器上的预设动态映射表来查询所述业务标识对应的PNAT64 GW地址前缀;
所述第二查询单元通过直接访问所述GGSN上管理的预设动态映射表来查询所述业务标识对应的协议类型,或者所述第二查询单元通过访问AAA服务器上的预设动态映射表来查询所述业务标识对应的协议类型。
在EPS系统中,上述通信装置可以为PDN-GW。此时所述接收单元接收到的请求消息为终端上IPv4应用启动并触发业务请求进程时发送的消息;
所述第一查询单元通过直接访问所述PDN-GW管理的预设动态映射表来查询所述业务标识对应的PNAT64 GW地址前缀,或者所述第一查询单元通过访问AAA服务器上的预设动态映射表来查询所述业务标识对应的PNAT64 GW地址前缀;
所述第二查询单元通过直接访问所述PDN-GW管理的预设动态映射表来查询所述业务标识对应的协议类型,或者所述第二查询单元通过访问AAA服务器上的预设动态映射表来查询所述业务标识对应的协议类型。
在CDMA2000系统中,上述通信装置可以为PDSN。此时所述接收单元接收到的请求消息为终端的IPv4应用启动并触发PPP链路建立进程时发送的消息;
所述第一查询单元通过直接访问所述PDSN管理的预设动态映射表来查询所述业务标识对应的PNAT64 GW地址前缀,或者所述第一查询单元通过访问AAA服务器上的预设动态映射表来查询所述业务标识对应的PNAT64 GW地址前缀;
所述第二查询单元通过直接访问所述PDSN管理的预设动态映射表来查询所述业务标识对应的协议类型,或者所述第二查询单元通过访问AAA服务器上的预设动态映射表来查询所述业务标识对应的协议类型。
在WiMAX系统中,上述通信装置可以为ASN-GW。此时所述接收单元接收到的请求消息为终端上IPv4应用启动并触发业务流创建进程时发送的消息;
所述第一查询单元通过直接访问所述ASN-GW管理的预设动态映射表来查询所述业务标识对应的PNAT64 GW地址前缀,或者所述第一查询单元通过访问AAA服务器上的预设动态映射表来查询所述业务标识对应的PNAT64 GW地址前缀;
所述第二查询单元通过直接访问所述ASN-GW管理的预设动态映射表来查询所述业务标识对应的协议类型,或者所述第二查询单元通过访问AAA服务器上的预设动态映射表来查询所述业务标识对应的协议类型。
相应地,本发明实施例还提供一种终端,该终端同时支持IPv4协议和IPv6协议,如图17所示,包括:发送单元1101、接收单元1102、提取单元1103、第一选择单元1104。
其中,发送单元1101,用于向服务器发送请求消息,所述请求消息中携带了IPv4应用的业务标识。如果所述发送单元向DNS服务器发送DNSv4解析请求消息时,该终端还包括(图未示):转换处理单元,用于将所述DNSv4请求转换为DNSv6请求,并在所述DNSv6请求消息中携带业务标识。
接收单元1102用于接收所述服务器发送的响应消息;
提取单元1103用于提取所述响应消息中的PNAT6 GW地址前缀;
第一选择单元1104用于选择PNAT模块并使用所述PNAT64 GW地址前缀进行协议转换。
上述终端接收到的响应消息中了携带了业务标识对应的PNAT6 GW地址前缀,因而终端在进行IPv4业务的数据通信之前,即使存在多个PNAT6 GW,终端也可以获知正确的PNAT6 GW地址前缀,从而解决了现有技术中,当存在多个PNAT6 GW时,终端无法获知正确的PNAT6 GW地址前缀的问题。
如果所述响应消息中不包含PNAT64 GW地址前缀时,进一步地,如图18所示,所述终端还包括:判断单元1105、第二选择单元1106。
所述判断单元1105用于判断接收到的DNS解析结果中的地址类型;
第二选择单元1106用于当所述判断单元判断到所述地址类型为A类型时,选择PNAT模块并使用预设PNAT64 GW地址前缀进行协议转换;第二选择单元1106还用于当所述判断单元判断到所述地址类型为AAAA类型,选择BIS/BIA模块进行协议转换。
另外,在上述终端实际应用的过程中,如图19所示,上述终端还包括:检测单元1108和第三选择单元1107。
所述检测单元1108用于检测所述响应消息中是否包含模块标识;
如果所述检测单元检测到所述响应消息包含BIS/BIA标识时,第三选择单元1107选择BIS/BIA模块进行协议转换。
实际网络中存在多个Access Router时,上述终端(图未示)还包括:接入单元,用于从所述响应消息中提取目标Access Router的接入信息,并接入所述Access Router;所述Access Router包括:GPRS系统中的GGSN服务器、EPS系统中的PDN-GW、CDMA2000系统中的PDSN和WiMAX系统中的ASN-GW。
本发明实施例提供的终端上IPv4应用启动时,在向其通信对端发送的请求消息中携带该应用访问的业务标识。其通信对端接收请求消息后,提取出业务标识,并从动态映射表中查询该业务标识对应的PNAT64 GW地址前缀和协议类型,之后,根据不同的查询结果将不同的模块标识或者PNAT64 GW地址前缀添加到响应消息中返回给终端,终端即可获知正确的PNAT64 GW地址前缀。同时也可以根据响应消息中PNAT64 GW地址前缀或者模块标识选择正确的协议翻译模块。
实施例8:
本发明实施例提供一种通信装置,用于实现动态注册映射表的维护。如图20所示,该通信装置包括:第一接收单元1201、第二接收单元1202、第一提取单元1203、第二提取单元1204、管理单元1205和第一发送单元1206。
其中,第一接收单元1201用于接收PNAT64 GW发送的第一注册消息,所述第一注册消息中包括所述PNAT64 GW的地址前缀和表示其所连接的IPv4业务网络提供的所有服务各自对应的业务标识;
第二接收单元1202用于接收IPv6业务网络中的服务器发送的第二注册消息,所述第二注册消息包括IPv6标识和表示所述IPv6业务网络提供的所有服务各自对应的业务标识;
第一提取单元1203用于从第一注册消息中提取PNAT64 GW的地址前缀和表示其所连接的服务各自对应的业务标识,并确定所述第一注册消息中的所有业务标识对应的协议类型为IPv4类型;
第二提取单元1204用于从第二注册消息中提取IPv6标识和表示所述IPv6业务网络提供的服务各自对应的业务标识,并确定所述第二注册消息中的所有业务标识对应的协议类型为IPv6类型;
管理单元1205用于将上述提取出的每一个业务标识、该业务标识对应的协议类型和对应的PNAT64 GW的地址前缀添加到指定动态映射表中;
第一发送单元1206用于发送注册成功响应消息给通信对端。
进一步地,当上述PNAT64 GW所连接的IPv4业务网络中的服务出现更新时,或者IPv6业务网络中的服务器下所提供的服务有更新时,如图21所示,该通信装置还包括:第三接收单元1207、第四接收单元1208、更新单元1209和第二发送单元1210。
其中,第三接收单元1207用于接收所述PNAT64 GW发送的第一更新消息,所述第一更新消息包括所述PNAT64 GW所连接的IPv4业务网络更新后的服务对应的业务标识;
第四接收单元1208用于接收所述IPv6业务网络中的服务器发送的第二更新消息,所述第二更新消息包括所述IPv6业务网络中更新后的服务对应的业务标识;
更新单元1209用于分别从所述第一更新消息、第二更新消息中提取更新后的业务标识,并根据所述更新后的业务标识更新所述动态映射表;
第二发送单元1210用于发送更新成功消息。
本发明实施例提供的通信装置在不同的移动通信系统中,具体又表现为如下不同的实体:在GPRS中可以为GGSN、在EPS中可以为PDN-GW、在CDMA2000中为PDSN、在WiMAX中可以为ASN-GW。
另外,所述通信装置还可以为不同的移动通信系统中的DNS服务器和AAA服务器。
本发明实施例提供的通信装置实现了动态映射表的管理与维护,该动态映射表中保存了不同的业务标识及其对应的协议类型、PNAT64 GW的地址前缀等信息,当终端启动IPv4应用访问不同业务时,该通信装置可以查询到所述IPv4应用访问的与业务对应的协议类型、PNAT64 GW的地址前缀等信息,为终端进行选择协议翻译模块提供了正确的参考。
本发明实施例主要应用在计算机网络技术中,尤其是在IPv4协议与IPv6协议进行相应转换的过程中。使得同时具有BIS/BIA模块和PNAT模块的双栈终端上,可以正确选择协议翻译模块对后续的数据包进行转换。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。