实现IPv6隧道穿越网络地址转换设备的方法、设备和系统转让专利

申请号 : CN200910253959.5

文献号 : CN101719859B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 顾杜娟

申请人 : 华为技术有限公司

摘要 :

本发明提供一种实现IPv6隧道穿越网络地址转换设备的方法、设备和系统,所述方法包括:接收第一节点发送的第一IPv4报文,根据所述第一节点的IPv4私网地址获取第一节点的IPv4公网地址,对所述第一IPv4报文进行地址转换,至少将所述第一节点的IPv4私网地址和IPv4公网地址的映射关系添加入所述第一IPv4报文;向第二节点发送所述第一IPv4报文。本发明实施例通过在第一节点的第一IPv4报文中添加第一节点的IPv4私网地址与IPv4公网地址的映射关系,使得第二节点可以根据收到的第一IPv4报文建立穿越网络地址转换设备的IPv6隧道,与第一节点进行通信。方案易于实现,具有较高的实用性。

权利要求 :

1.一种实现IPv6隧道穿越网络地址转换设备的方法,其特征在于,包括:

接收第一节点发送的第一IPv4报文,所述第一IPv4报文包括所述第一节点的IPv4私网地址和第一节点认证信息;

根据所述第一节点认证信息对所述第一节点进行安全性和可靠性的认证,根据所述第一节点的IPv4私网地址获取第一节点的IPv4公网地址,对所述第一IPv4报文进行地址转换,至少将所述第一节点的IPv4私网地址和IPv4公网地址的映射关系以及网络地址转换设备认证信息添加入所述第一IPv4报文;

向第二节点发送所述第一IPv4报文,所述第一IPv4报文至少包括所述第一节点的IPv4私网地址和IPv4公网地址的映射关系以及网络地址转换设备认证信息,所述第一节点的IPv4公网地址可用于建立第二节点与所述第一节点的IPv6隧道。

2.根据权利要求1所述的实现IPv6隧道穿越网络地址转换设备的方法,其特征在于,向所述第二节点发送所述第一IPv4报文之后,所述方法还包括:接收所述第二节点发送的第二IPv4报文,所述第二IPv4报文包括所述第一节点的IPv4私网地址和所述第一节点的IPv4公网地址的映射关系;

对所述第二IPv4报文进行地址转换,将所述第二IPv4报文发送给所述第一节点。

3.根据权利要求1所述的实现IPv6隧道穿越网络地址转换设备的方法,其特征在于,所述至少将所述第一节点的IPv4私网地址和IPv4公网地址的映射关系添加入所述第一IPv4报文,包括:将所述第一节点的IPv4私网地址和IPv4公网地址的映射关系、以及以下信息中的至少一个添加入所述第一IPv4报文:转换前的端口和转换后的端口的映射关系;

报文的协议号;

网络地址转换设备的认证信息。

4.一种用于IPV6隧道穿越的网络地址转换设备,其特征在于,包括:

第一接收模块,用于接收第一节点发送的第一IPv4报文,所述第一IPv4报文包括所述第一节点的IPv4私网地址和第一节点认证信息;

认证模块,用于根据第一IPv4报文中包括的第一节点认证信息,对所述第一节点进行安全性和可靠性的认证;获取模块,用于根据接收到的第一IPv4报文中包括的第一节点的IPv4私网地址,获取第一节点的IPv4公网地址;

地址转换模块,用于根据获取的第一节点的IPv4公网地址,对第一IPv4报文进行地址转换;

映射模块,用于根据该第一节点的IPv4私网地址,以及获取到的第一节点的IPv4公网地址,至少将所述第一节点的IPv4私网地址和所述第一节点的IPv4公网地址的映射关系添加到第一IPv4报文中;

网络地址转换认证信息模块,用于将网络地址转换设备认证信息添加到所述第一IPv4报文中;

第一发送模块,用于向第二节点发送经过地址转换的第一IPv4报文,该第一IPv4报文中至少包括第一节点的IPv4私网地址和该第一节点的IPv4公网地址的映射关系以及所述网络地址转换设备认证信息,所述第一节点的IPv4公网地址可用于建立第二节点与所述第一节点的IPv6隧道。

5.根据权利要求4所述的网络地址转换设备,其特征在于,所述映射模块,还用于将转换前的端口和转换后的端口的映射关系添加到第一IPv4报文中。

6.根据权利要求4所述的网络地址转换设备,其特征在于,所述设备还包括:

第二接收模块,用于接收所述第二节点发送的第二IPv4报文,所述第二IPv4报文至少包括所述第一节点的IPv4私网地址和该第一节点的IPv4公网地址的映射关系;

第二发送模块,用于向所述第一节点发送所述第二IPv4报文,所述第二IPv4报文至少包括所述第一节点的IPv4私网地址和所述第一节点的IPv4公网地址的映射关系。

7.一种实现IPv6隧道穿越网络地址转换设备的系统,其特征在于,包括:第一节点、网络地址转换设备和第二节点;

所述第一节点,用于向所述网络地址转换设备发送第一IPv4报文,所述第一IPv4报文包括所述第一节点的IPv4私网地址和第一节点认证信息;

所述网络地址转换设备,用于接收第一节点发送的第一IPv4报文,根据所述第一节点认证信息对所述第一节点进行安全性和可靠性的认证,根据第一节点的IPv4私网地址获取第一节点的IPv4公网地址,对第一IPv4报文进行地址转换,至少将所述第一节点的IPv4私网地址和所述第一节点的IPv4公网地址的映射关系以及网络地址转换设备认证信息添加入所述第一IPv4报文,并向所述第二节点发送;;

所述第二节点,根据所述网络地址转换设备认证信息对所述网络地址转换设备进行安全性和可靠性的认证,根据所述第一IPv4报文中的所述第一节点的IPv4私网地址和所述第一节点的IPv4公网地址的映射关系获取所述第一节点的IPv4公网地址,并根据所述第一节点的IPv4公网地址建立与所述第一节点的IPv6隧道。

8.根据权利要求7所述的系统,其特征在于,

所述第二节点,还用于向所述第一节点发送第二IPv4报文,所述第二IPv4报文中至少包含所述第一节点的IPv4私网地址与所述第一节点61的IPv4公网地址的映射关系;

所述网络地址转换设备,还用于对第二IPv4报文进行地址转换,将所述第二IPv4报文发送给第一节点;

所述第一节点,还用于根据所述第二IPv4报文中的所述第一节点的IPv4私网地址和所述第一节点的IPv4公网地址的映射关系获取所述第一节点的IPv4公网地址,并根据所述第一节点的IPv4公网地址建立与所述第二节点的IPv6隧道。

9.一种实现IPv6隧道穿越网络地址转换设备的第二节点,其特征在于,包括:第三接收模块,用于接收网络地址转换设备发送的IPv4报文,所述IPv4报文中包括第一节点的IPv4公网地址和IPv4私网的映射关系以及网络地址转换设备认证信息;

公网地址获取模块,用于根据所述网络地址转换设备认证信息对所述网络地址转换设备进行安全性和可靠性的认证,根据接收到的所述IPv4报文中包括的所述第一节点的IPv4公网地址和IPv4私网的映射关系,获取所述第一节点的IPv4公网地址;

隧道建立模块,用于根据获取到的所述第一节点的IPv4公网地址,建立与所述第一节点的IPv6隧道。

说明书 :

实现IPv6隧道穿越网络地址转换设备的方法、设备和系统

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种实现IPv6隧道穿越网络地址转换设备的方法、设备和系统。
[0002] 背景技术
[0003] 互联网的快速发展使得版本号4的英特网协议(Internet Protocol Version 4,以下简称IPv4)的公网地址消耗速度加快,造成IPv4公网地址紧缺的问题。网络地址转换(Network Address Translation,以下简称NAT)技术是解决IPv4地址紧缺的问题的技术之一。
[0004] NAT技术可为私网中的计算机分配IPv4的私网地址,在NAT设备将计算机的IPv4私网地址转换为公网地址,以使计算机能够访问外部网络。NAT技术一定程度上缓解了IPv4公网地址紧缺的问题,但IPv4公网地址紧缺问题的更有效的解决方案是采用版本号6的英特网协议(Internet Protocol Version 6,以下简称IPv6),IPv6具有庞大的地址空间。在IPv4向IPv6升级过渡的时期,需要考虑IPv6网络与IPv4网络共存的问题,如果IPv4网络中设置有NAT设备,则需要建立能够穿越NAT设备的IPv6隧道,以实现IPv6节点的全网互通。
[0005] 现有技术提出了Teredo(Tunneling IPv6 over UDP through Network Address Translations)方案,该方案采用了用户数据报协议(User Datagram Protocol,以下简称UDP)封装数据以穿越NAT设备的机制,通过为NAT域内的IPv6节点与NAT域外的IPv6节点建立Teredo隧道,将IPv6数据封装在UDP载荷中穿越NAT设备,使得NAT域内的IPv6节点可与NAT域外的IPv6节点互通。
[0006] 发明人在实现本发明实施例过程中发现,建立穿越NAT的Teredo隧道 技术,是基于UDP协议实现,需要对IPv4或IPv6网络中的节点进行较大改动,方案实现的复杂度较高。

发明内容

[0007] 本发明实施例提供一种实现IPv6隧道穿越网络地址转换设备的方法、设备和系统,以降低IPv6节点穿越网络地址转换设备的实现复杂度。
[0008] 本发明实施例提供了一种实现IPv6隧道穿越网络地址转换设备的方法,包括: [0009] 接收第一节点发送的第一IPv4报文,所述第一IPv4报文包括所述第一节点的IPv4私网地址和第一节点认证信息;
[0010] 根据所述第一节点认证信息对所述第一节点进行安全性和可靠性的认证,根据所述第一节点的IPv4私网地址获取第一节点的IPv4公网地址,对所述第一IPv4报文进行地址转换,至少将所述第一节点的IPv4私网地址和IPv4公网地址的映射关系以及网络地址转换设备认证信息添加入所述第一IPv4报文;
[0011] 向第二节点发送所述第一IPv4报文,所述第一IPv4报文至少包括所述第一节点的IPv4私网地址和IPv4公网地址的映射关系以及网络地址转换设备认证信息,所述第一节点的IPv4公网地址可用于建立第二节点与所述第一节点的IPv6隧道。 [0012] 本发明实施例还提供了一种用于IPV6隧道穿越的网络地址转换设备,包括: [0013] 第一接收模块,用于接收第一节点发送的第一IPv4报文,所述第一IPv4报文包括所述第一节点的IPv4私网地址和第一节点认证信息;
[0014] 认证模块,用于根据第一IPv4报文中包括的第一节点认证信息,对所述第一节点进行安全性和可靠性的认证;获取模块,用于根据接收到的第一IPv4报文中包括的第一节点的IPv4私网地址,获取第一节点的IPv4公网地址;
[0015] 地址转换模块,用于根据获取的第一节点的IPv4公网地址,对第一IPv4报文进行地址转换;
[0016] 映射模块,用于根据该第一节点的IPv4私网地址,以及获取到的第一节点的IPv4公网地址,至少将所述第一节点的IPv4私网地址和所述第一节点的IPv4公网地址的映射关系添加到第一IPv4报文中;
[0017] 网络地址转换认证信息模块,用于将网络地址转换设备认证信息添加到 所述第一IPv4报文中;
[0018] 第一发送模块,用于向第二节点发送经过地址转换的第一IPv4报文,该第一IPv4报文中至少包括第一节点的IPv4私网地址和该第一节点的IPv4公网地址的映射关系以及所述网络地址转换设备认证信息,所述第一节点的IPv4公网地址可用于建立第二节点与所述第一节点的IPv6隧道。
[0019] 本发明实施例还提供了一种实现IPv6隧道穿越网络地址转换设备的系统,包括:第一节点、网络地址转换设备和第二节点;
[0020] 所述第一节点,用于向所述网络地址转换设备发送第一IPv4报文,所述第一IPv4报文包括所述第一节点的IPv4私网地址和第一节点认证信息;
[0021] 所述网络地址转换设备,用于接收第一节点发送的第一IPv4报文,根据所述第一节点认证信息对所述第一节点进行安全性和可靠性的认证,根据第一节点的IPv4私网地址获取第一节点的IPv4公网地址,对第一IPv4报文进行地址转换,至少将所述第一节点的IPv4私网地址和所述第一节点的IPv4公网地址的映射关系以及网络地址转换设备认证信息添加入所述第一IPv4报文,并向所述第二节点发送;;
[0022] 所述第二节点,根据所述网络地址转换设备认证信息对所述网络地址转换设备进行安全性和可靠性的认证,根据所述第一IPv4报文中的所述第一节点的IPv4私网地址和所述第一节点的IPv4公网地址的映射关系获取所述第一节点的IPv4公网地址,并根据所述第一节点的IPv4公网地址建立与所述第一节点的IPv6隧道。
[0023] 本发明实施例还提供了一种实现IPv6隧道穿越网络地址转换设备的第二节点,包括:
[0024] 第三接收模块,用于接收网络地址转换设备发送的IPv4报文,所述IPv4报文中包括第一节点的IPv4公网地址和IPv4私网的映射关系以及网络地址转换设备认证信息; [0025] 公网地址获取模块,用于根据所述网络地址转换设备认证信息对所述网络地址转换设备进行安全性和可靠性的认证,根据接收到的所述IPv4报文中包括的所述第一节点的IPv4公网地址和IPv4私网的映射关系,获取所述第一节点的IPv4公网地址; [0026] 隧道建立模块,用于根据获取到的所述第一节点的IPv4公网地址,建立与 所述第一节点的IPv6隧道。
[0027] 本实施例在建立穿越网络地址转换设备的IPv6隧道时中,通过在第一节点的第一IPv4报文中添加第一节点的IPv4私网地址与IPv4公网地址的映射关系的信息,使得第二节点可以根据收到的第一IPv4报文与第一节点建立穿越网络地址转换设备的IPv6隧道连接,与第一节点进行通信。方案易于实现,具有较高的实用性。
[0028] 附图说明
[0029] 图1a为本发明一实施例提供的实现IPv6隧道穿越NAT设备的场景示意图; [0030] 图1b为本发明一实施例提供的实现IPv6隧道穿越NAT设备的方法流程图; [0031] 图2为本发明一实施例提供的实现IPv6隧道穿越NAT设备的方法流程图; [0032] 图3为本发明一实施例提供的实现IPv6隧道穿越NAT设备的方法流程图; [0033] 图4为本发明一实施例提供的NAT设备的结构示意图一;
[0034] 图5a为本发明一实施例提供的NAT设备的结构示意图二;
[0035] 图5b为本发明一实施例提供的NAT设备的结构示意图三;
[0036] 图5c为本发明一实施例提供的NAT设备的结构示意图四;
[0037] 图6为本发明一实施例提供的实现IPv6隧道穿越NAT设备的系统结构示意图; [0038] 图7为本发明一实施例提供的实现IPv6隧道穿越NAT设备的节点结构示意图。 [0039] 具体实施方式
[0040] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0041] 为便于描述,在本发明的实施例中,将发起建立IPv6隧道连接的源端节点称为第一节点,相应的与第一节点建立连接的对端节点称为第二节点。
[0042] 在本发明实施例的一个具体场景中,如图1a所示,第一节点同时归属于 一个IPv6网络和一个IPv4私有网络,第二节点同时归属于一个IPv6网络和一个IPv4公有网络,上述IPv4私有网络通过NAT设备与上述IPv4公有网络相连。因此,第一节点和第二节点需要建立穿越NAT设备的IPv6隧道进行通信。图1b为本发明一实施例提供的实现IPv6隧道穿越NAT设备的方法流程图,该方法包括:
[0043] 11、接收第一节点发送的第一IPv4报文。
[0044] 该第一IPv4报文的源IP地址为第一节点的IPv4私网地址,目的IP地址为第二节点的IPv4公网地址。
[0045] 可选的,该第一IPv4报文中还可以携带建议端口信息。进一步的,第一IPv4报文中还可以携带第一节点认证信息,例如,上述第一节点认证信息可以为采用加密或签名算法生成的用于对第一节点的安全性和可靠性进行认证的信息。
[0046] 12、根据该第一IPv4报文携带的第一节点的IPv4私网地址获取第一节点的IPv4公网地址。
[0047] 收到第一IPv4报文后,就可以根据第一节点的IPv4私网地址,得到第一节点的IPv4公网地址,并进行地址转换。
[0048] 可选的,如果第一IPv4报文中携带了建议端口信息,还可以直接采用该建议端口,作为第一节点的转换后的端口。
[0049] 可选的,如果第一IPv4报文中携带了第一节点认证信息,就可以根据第一IPv4报文中的第一节点认证信息,对第一节点进行安全性和可靠性的认证。
[0050] 13、对上述第一IPv4报文进行地址转换,至少将第一节点的IPv4私网地址和IPv4公网地址的映射关系添加入第一IPv4报文,并向该第二节点发送。
[0051] 在本发明的实施例中,由于第一IPv4报文发送方向是从IPv4的私有网络向IPv4的公有网络发送,因此对上述第一IPv4报文进行地址转换,具体是指:将IPv4地址信息中的第一节点的IPv4私网地址转换为第一节点的IPv4公网地址。
[0052] 可选的,还可以将转换前的端口和转换后的端口的映射关系添加到第一IPv4报文中。
[0053] 可选的,还可以将协议号添加到第一IPv4报文中。
[0054] 可选的,还可以在第一IPv4报文中添加NAT设备认证信息,以供第二节点对NAT设备进行安全性和可靠性的认证。
[0055] 在本发明的实施例中,第一节点和第二节点可为站间自动隧道寻址协议(Intra-Site Automatic Tunnel Addressing Protocol,以下简称Isatap)客户端;或者是6to4路由器(连接IPv6网络与IPv4网络的路由器);或者是通用路由封装(Generic Routing Encapsulation,以下简称GRE)节点。
[0056] 可选的,如果第一IPv4报文中携带了第一节点认证信息,则第二节点就可以根据第一IPv4报文中的第一节点认证信息,对第一节点进行安全性和可靠性的认证。 [0057] 本实施例中,通过在第一节点的第一IPv4报文中添加第一节点的IPv4私网地址与IPv4公网地址的映射关系,使得第二节点可以根据收到的第一IPv4报文建立穿越NAT设备的IPv6隧道,与第一节点进行通信。方案易于实现,具有较高的实用性。 [0058] 为更详细的介绍本发明的实施例,下面参照图1a所示的场景,做进一步的说明。假设本场景中,第一节点的IPv4私网地址为a,IPv4公网地址为A;第二节点的IPv4公网地址为B。如图2所示:
[0059] 21、第一节点向NAT设备发送第一IPv4报文。
[0060] 该第一IPv4报文的源IP地址为第一节点的IPv4私网地址,目的IP地址为第二节点的IPv4公网地址。
[0061] 可选的,第一IPv4报文中还可以携带建议端口信息和第一节点认证信息。 [0062] 22、NAT设备收到第一IPv4报文后,根据第一节点的IPv4私网地址获取第一节点的IPv4公网地址,对上述第一IPv4报文进行地址转换,并至少将第一节点的IPv4私网地址和第一节点的IPv4公网地址的映射关系添加入第一IPv4报文中。
[0063] 在本发明的实施例中,由于第一IPv4报文发送方向是从IPv4的私有网络向IPv4的公有网络发送,因此对上述第一IPv4报文进行地址转换,具体是指:将IPv4地址信息中的第一节点的IPv4私网地址转换为第一节点的IPv4公网地址。
[0064] 可选的,如果第一IPv4报文中携带了建议端口信息,还可以直接采用该建议端口,作为第一节点的转换后的端口。
[0065] 可选的,还可以将转换前的端口和转换后的端口的映射关系添加到第一IPv4报文中。
[0066] 可选的,还可以将协议号添加到第一IPv4报文中。
[0067] 23、NAT设备向第二节点发送第一IPv4报文。
[0068] 可选的,NAT设备还可以在第一IPv4报文中添加NAT设备认证信息,以使得第二节点能够对NAT设备进行安全性和可靠性的认证。
[0069] 24、第二节点收到第一IPv4报文后,根据第一节点的IPv4公网地址,建立IPv6隧道。
[0070] 25、第二节点向第一节点发送第二IPv4报文,第二IPv4报文中至少包括第一节点的IPv4私网地址与第一节点的IPv4公网地址的映射关系。
[0071] 该第二IPv4报文的源IP地址为第二节点的IPv4公网地址,目的IP地址为第一节点的IPv4公网地址。
[0072] 可选的,第二节点还可以在第二IPv4报文中添加第二节点认证信息,以使得第一节点能够对第二节点进行安全性和可靠性的认证。
[0073] 26、NAT设备收到第二IPv4报文后,对第二IPv4报文进行地址转换,并将第二IPv4报文发送给第一节点。
[0074] 在本实施例中,由于第二IPv4报文发送方向是从IPv4的公有网络向IPv4的私有网络发送,则对上述第二IPv4报文进行地址转换,具体是指:将IPv4地址信息中的第一节点的IPv4公网地址转换为第一节点的IPv4私网地址。
[0075] 27、第一节点收到第二IPv4报文后,根据第二IPv4报文中的第一节点的IPv4私网地址与第一节点的IPv4公网地址的映射关系,获取第一节点自 身的IPv4公网地址,并根据该IPv4公网地址建立IPv6隧道。
[0076] 至此,第一节点与第二节点就建立了穿越NAT设备的IPv6隧道,第一节点和第二节点通过该隧道进行通信。在后续的通信报文的交互中,当NAT设备检测到报文的协议号为IPv6时,则直接根据已获取的映射关系进行报文IPv4私网地址和IPv4公网地址的转换。
[0077] 本实施例在建立穿越NAT设备的IPv6隧道时,由NAT设备在第一节点的第一IPv4报文中至少添加第一节点的IPv4私网地址与第一节点的IPv4公网地址的映射关系,使得第二节点可以在收到第一IPv4报文后与第一节点建立IPv6隧道。之后由第二节点向第一节点发送至少包含第一节点的IPv4私网地址与第一节点的IPv4公网地址的映射关系的第二IPv4报文,使得第一节点也可以根据第二IPv4报文建立与第二节点的隧道。本实施例的方案易于实现,具有较高的实用性和安全性。
[0078] 在本发明的又一个具体场景中,如图3所示,涉及多个(为便于介绍,图中仅示出两个)NAT设备。本场景中,第一节点同时归属于一个IPv6网络和一个IPv4私有网络,第二节点同时归属于一个IPv6网络和一个IPv4私有网络;上述两个IPv4私有网络分别通过第一NAT设备和第二NAT设备,与一个IPv4公有网络相连。本场景中建立的IPv6隧道穿越的IPv4网络为:IPv4私有网络-第一NAT设备-IPv4公有网络-第二NAT设备-IPv4私有网络。
[0079] 假设本场景中,第一节点的IPv4私网地址为a,IPv4公网地址为A;第二节点的IPv4私网地址为b,IPv4公网地址为B。如图3所示:
[0080] 31、第一节点向第一NAT设备发送第一IPv4报文。
[0081] 第一IPv4报文的源IP地址就为第一节点的IPv4私网地址,第一IPv4报文的目的IP地址就为第二节点的IPv4公网地址。
[0082] 可选的,第一IPv4报文中还可以携带建议端口信息和第一节点认证信息。 [0083] 32、第一NAT设备收到第一IPv4报文后,根据第一IPv4报文中的第 一节点的IPv4私网地址获取第一节点的IPv4公网地址,对上述第一IPv4报文进行地址转换,并至少将第一节点的IPv4私网地址和第一节点的IPv4公网地址的映射关系添加入第一IPv4报文中。
[0084] 在本发明的实施例中,由于第一IPv4报文发送方向是从IPv4的私有网络向IPv4的公有网络发送,因此对上述第一IPv4报文进行地址转换,具体是指:将IPv4地址信息中的第一节点的IPv4私网地址转换为第一节点的IPv4公网地址。
[0085] 当第一IPv4报文中有建议端口信息时,第一NAT设备还可以直接采用该建议端口作为第一节点的转换后的端口。
[0086] 可选的,还可以将转换前的端口和转换后的端口的映射关系添加到第一IPv4报文中。
[0087] 可选的,还可以将协议号添加到第一IPv4报文中。
[0088] 33、第一NAT设备向第二NAT设备发送第一IPv4报文。
[0089] 可选的,第一NAT设备还可以在第一IPv4报文中添加第一NAT设备的认证信息,以使得第一节点或第二节点能够对第一NAT设备进行安全性和可靠性的认证。 [0090] 34、第二NAT设备收到将第一NAT设备发送的第一IPv4报文后,根据第一IPv4报文中的第二节点的IPv4公网地址获取第二节点的IPv4私网地址,对第一IPv4报文进行地址转换。
[0091] 35、第二NAT设备将第一IPv4报文发送给第二节点。
[0092] 可选的,第二NAT设备还可以在第一IPv4报文中添加第二NAT设备的认证信息,以使得第一节点或第二节点能够对第二NAT设备进行安全性和可靠性的认证。 [0093] 36、第二节点收到第一IPv4报文后,根据第一IPv4报文中的映射关系获取第一节点的IPv4公网地址,并根据第一节点的IPv4公网地址建立与第一节点的IPv6隧道。 [0094] 可选的,第二节点还可以根据第一IPv4报文中的第一节点的认证信 息对第一节点进行安全性和可靠性的认证,根据第一NAT设备和/或第二NAT设备的认证信息对第一NAT设备和/或第二NAT设备进行安全性和可靠性的认证。
[0095] 37、第二节点向第一节点发送第二IPv4报文,第二IPv4报文中至少包括第一节点的IPv4私网地址与第一节点的IPv4公网地址的映射关系。
[0096] 该第二IPv4报文的源IP地址为第二节点的IPv4私网地址,目的IP地址为第一节点的IPv4公网地址。
[0097] 可选的,第二节点还可以在第二IPv4报文中添加第二节点的认证信息,以使得第一节点能够对第二节点进行安全性和可靠性的认证。
[0098] 可选的,第二IPv4报文还可以包括第一NAT设备和第二NAT设备的认证信息。 [0099] 38、第二NAT设备收到第二IPv4报文后,根据第二节点的IPv4私网地址获取第二节点的IPv4公网地址,对上述第二IPv4报文进行地址转换。
[0100] 39、第二NAT设备将第二IPv4报文转发给第一NAT设备。
[0101] 310、第一NAT设备收到第二IPv4报文后,根据第二IPv4报文中的第一节点的IPv4公网地址获取第一节点的IPv4私网地址,对第二IPv4报文进行地址转换。 [0102] 311、第一NAT设备将第二IPv4报文转发给第一节点。
[0103] 312、第一节点收到第二IPv4报文后,根据第二IPv4报文中第一节点的IPv4私网地址与第一节点的IPv4公网地址的映射关系,获取第一节点自身的IPv4公网地址,并根据该IPv4公网地址建立与第二节点的IPv6隧道。
[0104] 可选的,第一节点还可以根据第一IPv4报文中的第二节点的认证信息,对第二节点进行安全性和可靠性的认证,根据第一NAT设备和/或第二NAT设备的认证信息对第一NAT设备和/或第二NAT设备进行安全性和可靠性的认证。
[0105] 类似的,第一IPv4报文也可以由第二节点发送,第二NAT设备至少将 第二节点的IPv4私网地址与IPv4公网地址的映射关系添加到第一IPv4报文中,发送给第一节点;第一节点接收到第一IPv4报文后,向第二节点反馈第二IPv4报文。具体的过程与上述过程类似,此处不再赘述。
[0106] 本实施例仅以IPv6隧道穿越具有两个NAT设备的IPv4网络为例进行说明,IPv6隧道穿越具有多个NAT设备的IPv4网络的方法与此相似,不再赘述。
[0107] 至此,第一节点与第二节点就建立了穿越NAT设备的IPv6隧道,第一节点和第二节点通过该隧道进行通信。在后续的通信报文的交互中,当第一NAT设备当检测到报文的协议号为IPv6时,则直接根据已获取的映射关系进行报文IPv4私网地址和IPv4公网地址的转换。
[0108] 本实施例在建立穿越NAT设备的IPv6隧道时,由第一NAT设备在第一节点的第一IPv4报文中至少添加第一节点的IPv4私网地址与第一节点的IPv4公网地址的映射关系,使得第二节点可以在收到第一IPv4报文后可以根据第一节点的IPv4公网地址,建立与第一节点的IPv6隧道。之后由第二节点向第一节点发送至少包含第一节点的IPv4私网地址与第一节点的IPv4公网地址映射关系的第二IPv4报文,使得第一节点也可以根据第一节点的IPv4公网地址建立与第二节点的IPv6隧道。本实施例的方案易于实现,具有较高的实用性和安全性。
[0109] 图4为本发明一实施例提供的NAT设备的结构示意图,如图4所示,本实施例的NAT设备可包括:
[0110] 第一接收模块41,用于接收第一节点发送的第一IPv4报文,该第一IPv4报文包括该第一节点的IPv4私网地址。
[0111] 获取模块42,用于根据接收到的第一IPv4报文中包括的第一节点的IPv4私网地址,获取第一节点的IPv4公网地址。
[0112] 地址转换模块43,用于根据获取的第一节点的IPv4公网地址,对第一IPv4报文进行地址转换。
[0113] 映射模块44,用于根据该第一节点的IPv4私网地址,以及获取到的第一节点的IPv4公网地址,至少将该第一节点的IPv4私网地址和该第一节点的IPv4公网地址的映射关系添加到第一IPv4报文中。
[0114] 第一发送模块45,用于向第二节点发送经过地址转换的第一IPv4报文,该第一IPv4报文中至少包括第一节点的IPv4私网地址和该第一节点的IPv4公网地址的映射关系。
[0115] 可选的,映射模块44,还用于将转换前的端口和转换后的端口的映射关系添加到第一IPv4报文中。
[0116] 可选的,当接收模块41接收到的第一IPv4报文中包括第一节点的认证信息时,如图5a所示,该NAT设备还可以包括:
[0117] 认证模块46,用于根据第一IPv4报文中包括的第一节点认证信息,对第一节点进行安全性和可靠性的认证。
[0118] 可选的,如图5b所示,该NAT设备还可以包括:
[0119] NAT认证信息模块47,用于将该NAT设备的认证信息,添加到第一IPv4报文中。 [0120] 可选的,如图5c该NAT设备还可以包括:
[0121] 第二接收模块48,用于接收第二节点发送的第二IPv4报文,该第二IPv4报文至少包括第一节点的IPv4私网地址和该第一节点的IPv4公网地址的映射关系。 [0122] 第二发送模块49,用于向第一节点发送第二IPv4报文,该第二IPv4报文至少包括第一节点的IPv4私网地址和该第一节点的IPv4公网地址的映射关系。
[0123] 可选的,第二IPv4报文中还可以包括第二节点的认证信息。
[0124] 本实施例中,第二节点收到第一IPv4报文后,就可以根据第一IPv4报文中包括的第一节点的IPv4私网地址和该第一节点的IPv4公网地址的映射关系,确定第一节点的IPv4公网地址,并根据该第一节点的IPv4公网地址 建立与第一节点的IPv6隧道。而第一节点接收到第二IPv4报文后,可以根据第二IPv4报文中包括的第一节点的IPv4私网地址和该第一节点的IPv4公网地址的该映射关系,确定第一节点自身的IPv4公网地址,从而根据该第一节点自身的IPv4公网地址建立与该第二节点的IPv6隧道。
[0125] 本实施例在建立穿越NAT设备的IPv6隧道时,由NAT设备在第一节点的第一IPv4报文中添加私网地址与公网地址的映射关系,使得第二节点可以在收到第一IPv4报文后与第一节点建立IPv6隧道连接。本实施例的方案易于实现,具有较高的实用性和安全性。 [0126] 图6为本发明一实施例提供的实现IPv6隧道穿越NAT设备的系统结构示意图。如图6所示,本系统包括第一节点61、NAT设备62和第二节点63。
[0127] 第一节点61用于向NAT设备62发送第一IPv4报文,该第一IPv4报文包括第一节点61的IPv4私网地址。
[0128] NAT设备62用于接收第一节点61发送的第一IPv4报文,根据第一节点61的IPv4私网地址获取第一节点61的IPv4公网地址,对第一IPv4报文进行地址转换,至少将第一节点61的IPv4私网地址和该第一节点61的IPv4公网地址的映射关系添加入该第一IPv4报文,并向该第二节点63发送。
[0129] 第二节点63用于接收NAT设备62发送的该第一IPv4报文,根据该第一IPv4报文中的第一节点61的IPv4私网地址和该第一节点61的IPv4公网地址的映射关系获取第一节点61的IPv4公网地址,并根据第一节点61的IPv4公网地址建立与第一节点61的IPv6隧道。
[0130] 该第二节点63,还用于向该第一节点61发送第二IPv4报文,该第二IPv4报文中至少包含第一节点61的IPv4私网地址与第一节点61的IPv4公网地址的映射关系。 [0131] NAT设备62还用于对第二IPv4报文进行地址转换,将上述第二IPv4报文发送给第一节点61。
[0132] 第一节点61还用于根据该第二IPv4报文中的第一节点61的IPv4私网 [0133] 第一节点61还用于根据该第二IPv4报文中的第一节点61的IPv4私网地址和该第一节点61的IPv4公网地址的映射关系获取第一节点61自身的IPv4公网地址,并根据第一节点61的IPv4公网地址建立与第二节点63的IPv6隧道。
[0134] 本实施例在建立穿越NAT设备的IPv6隧道时,由NAT设备在第一节点的第一IPv4报文中添加第一节点的IPv4私网地址和IPv4公网地址的映射关系,使得第二节点可以在收到第一IPv4报文后与第一节点建立IPv6隧道。之后由第二节点向第一节点发送包含第一节点的IPv4私网地址和IPv4公网地址的映射关系的第二IPv4报文,使得第一节点也可以根据第二IPv4报文建立与第二节点的IPv6隧道。本实施例的方案易于实现,具有较高的实用性和安全性。
[0135] 本发明的一个实施例还提供了一种实现IPv6隧道穿越网络地址转换NAT设备的节点的结构示意图,如图7所示,包括:
[0136] 第三接收模块71,用于接收NAT设备发送的IPv4报文,该报文中包括该节点的IPv4公网地址和IPv4私网的映射关系。
[0137] 公网地址获取模块72,用于根据接收到的上述IPv4报文中包括的该节点的IPv4公网地址和IPv4私网的映射关系,获取该节点自身的IPv4公网地址。
[0138] 隧道建立模块73,用于根据获取到的该节点自身的IPv4公网地址,建立IPv6隧道。
[0139] 本实施例在建立穿越NAT设备的IPv6隧道时,节点根据接收到的IPv4报文中包括的该节点自身的IPv4公网地址和IPv4私网的映射关系,获取该节点自身的IPv4公网地址,并由此建立IPv6隧道,本实施例的方案易于实现,具有较高的实用性和安全性。 [0140] 本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0141] 本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施 例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。 [0142] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。 [0143] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0144] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。