Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
INTER-HOST ACCESS METHOD, DEVICE AND SYSTEM
Document Type and Number:
WIPO Patent Application WO/2012/013126
Kind Code:
A1
Abstract:
Provided in embodiments of the present invention are an inter-host access method, device and system. The method comprises: receiving from a source host a first IPv4 packet, the source address of the first IPv4 packet being the private IPv4 address of the source host; on the basis of the public IPv4 address of the source host, obtaining from a packet forwarding address information table the IPv6 address of a second client terminal device that corresponds to the public IPv4 address of the destination host; on the basis of an address mapping table, converting the private IPv4 address of the source host in the first IPv4 packet into the public IPv4 address of the source host, then packaging the IPv6 address of the first client terminal device and the IPv6 address of the second client terminal device into the first IPv4 packet to form a first IPv6 packet, which is sent to the second client terminal device. The embodiments of this invention reduce network traffic.

Inventors:
CUI, Yong (Huawei Administration Building, Bantian Longgan, Shenzhen Guangdong 9, 518129, CN)
崔勇 (中国广东省深圳市龙岗区坂田华为总部办公楼, Guangdong 9, 518129, CN)
DONG, Jiang (Huawei Administration Building, Bantian Longgan, Shenzhen Guangdong 9, 518129, CN)
董江 (中国广东省深圳市龙岗区坂田华为总部办公楼, Guangdong 9, 518129, CN)
Application Number:
CN2011/077351
Publication Date:
February 02, 2012
Filing Date:
July 20, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECHNOLOGIES CO., LTD. (Huawei Administration Building, Bantian Longgan, Shenzhen Guangdong 9, 518129, CN)
华为技术有限公司 (中国广东省深圳市龙岗区坂田华为总部办公楼, Guangdong 9, 518129, CN)
CUI, Yong (Huawei Administration Building, Bantian Longgan, Shenzhen Guangdong 9, 518129, CN)
崔勇 (中国广东省深圳市龙岗区坂田华为总部办公楼, Guangdong 9, 518129, CN)
DONG, Jiang (Huawei Administration Building, Bantian Longgan, Shenzhen Guangdong 9, 518129, CN)
International Classes:
H04L29/12
Download PDF:
Claims:
权利要求

1、 一种主机间的访问方法, 其特征在于, 包括:

接收源主机发送的第一 IPv4报文,所述第一 IPv4报文的源地址为所述源主 机的私有 IPv4地址, 所述第一 IPv4报文的目的地址为目的主机的公有 IPv4地 址; 所述源主机和所述目的主机位于不同的 IPv4网络, 并通过 IPv6网络连接; 根据所述目的主机的公有 IPv4地址, 从报文转发地址信息表中获取所述目 的主机的公有 IPv4地址对应的第二客户端设备的 IPv6地址;所述报文转发地址 信息表用于记录公有 IPv4地址与客户端设备的 IPv6地址的映射表项;所述第二 客户端设备为所述目的主机所属的客户端设备;

根据地址映射表,将所述第一 IPv4报文中所述源主机的私有 IPv4地址转换 为所述源主机的公有 IPv4地址,并将第一客户端设备的 IPv6地址和所述第二客 户端设备的 IPv6地址封装到所述第一 IPv4报文中形成第一 IPv6报文; 所述地 址映射表用于记录私有 IPv4地址与公有 IPv4地址的映射表项;

将所述第一 IPv6报文发送给所述第二客户端设备;所述第一 IPv6报文的源 地址为第一客户端设备的 IPv6地址,所述第一 IPv6报文的目的地址为所述第二 客户端设备的 IPv6地址。

2、 根据权利要求 1所述的主机间的访问方法, 其特征在于:

在所述接收源主机发送的第一 IPv4报文之前, 还包括:

向网络地址转换设备发送包括所述第一客户端设备的 IPv6 地址的注册信 息。

在所述接收源主机发送的第一 IPv4报文之后, 还包括:

将所述第一客户端设备的 IPv6地址和所述网络地址转换设备的 IPv6地址封 装到所述第一 IPv4报文中形成第二 IPv6报文, 并将所述第二 IPv6报文发送给 所述网络地址转换设备; 所述第二 IPv6报文的源地址为所述第一客户端设备的 IPv6地址,所述第二 IPv6报文的目的地址为所述网络地址转换设备的 IPv6地址; 在所述网络地址转换设备对所述第二 IPv6报文处理后, 接收所述网络地址 转换设备根据所述客户端设备地址表发送的所述目的主机的公有 IPv4地址与所 述第二客户端设备的 IPv6地址的映射表项,以及所述源主机的私有 IPv4地址与 所述源主机的公有 IPv4地址的映射表项;

将所述源主机的私有 IPv4地址与所述源主机的公有 IPv4地址的映射表项保 存至所述报文转发地址信息表, 并将所述目的主机的公有 IPv4地址与所述第二 客户端设备的 IPv6地址的映射表项保存至所述地址映射表。

3、 一种主机间的访问方法, 其特征在于, 包括:

接收第一客户端设备转发的、 源主机访问目的主机的第二 IPv6报文, 所述 第二 IPv6报文的源地址为所述第一客户端设备的 IPv6地址, 所述第二 IPv6报 文的目的地址为网络地址转换设备的 IPv6地址,所述第二 IPv6报文包括源主机 的私有 IPv4地址和目的主机的公有 IPv4地址;

将第二 IPv6报文解封装后,根据网络地址转换表,将所述第二 IPv6报文中 所述源主机的私有 IPv4地址转换为源主机的公有 IPv4地址,并根据目的主机的 公有 IPv4地址查找第二客户端设备的 IPv6地址,将所述第二客户端设备的 IPv6 地址和所述网络地址转换设备的 IPv6地址封装到所述第二 IPv6报文,形成第三 IPv6才艮文;

向所述第二客户端设备发送所述第三 IPv6报文, 并在客户端设备地址表中 记录有所述第二客户端设备的 IPv6地址和所述第一客户端设备的 IPv6地址时, 向所述第一客户端设备发送源主机的私有 IPv4地址与所述源主机的公有 IPv4地 址的映射表项、 以及所述目的主机的公有 IPv4地址与所述第二客户端设备的 IPv6 地址的映射表项; 所述客户端设备地址表用于记录支持在客户端设备间隧 道转发报文的客户端设备的 IPv6地址。

4、 根据权利要求 3所述的主机间的访问方法, 其特征在于, 还包括: 接收所述第一客户端设备发送的第一注册信息和所述第二客户端设备发送 的第二注册信息, 所述第一注册信息包括所述第一客户端设备的 IPv6地址, 所 述第二注册信息包括所述第二客户端设备的 IPv6地址;

将所述第一客户端设备的 IPv6地址和所述第二客户端设备的 IPv6地址,保 存至所述客户端设备地址表。

5、 一种客户端设备, 其特征在于, 包括;

第一 IPv4报文接收模块, 用于接收源主机发送的第一 IPv4报文, 所述第一 IPv4报文的源地址为所述源主机的私有 IPv4地址,所述第一 IPv4报文的目的地 址为目的主机的公有 IPv4地址; 所述源主机和所述述目的主机位于不同的 IPv4 网络, 并通过 IPv6网络连接;

地址获取模块, 用于根据所述目的主机的公有 IPv4地址, 从报文转发地址 信息表中获取所述目的主机的公有 IPv4地址对应的第二客户端设备的 IPv6地 址;所述报文转发地址信息表用于记录公有 IPv4地址与客户端设备的 IPv6地址 的映射表项; 所述第二客户端设备为所述目的主机所属的客户端设备;

地址转换模块, 用于根据地址映射表, 将所述第一 IPv4报文中所述源主机 的私有 IPv4地址转换为所述源主机的公有 IPv4地址;所述地址映射表包括私有 IPv4地址与公有 IPv4地址的映射表项;

地址封装模块, 用于将第一客户端设备的 IPv6地址和所述第二客户端设备 的 IPv6地址封装到所述第一 IPv4报文中形成第一 IPv6报文;

第一 IPv6报文发送模块,用于将所述第一 IPv6报文发送给所述第二客户端 设备; 所述第一 IPv6报文的源地址为所述第一客户端设备的 IPv6地址,所述第 一 IPv6报文的目的地址为所述第二客户端设备的 IPv6地址。

6、 根据权利要求 5所述的客户端设备, 其特征在于, 还包括:

注册模块, 用于向网络地址转换设备发送包括所述第一客户端设备的 IPv6 地址的注册信息;

第二 IPv6报文发送模块,用于将所述第一客户端设备的 IPv6地址和所述网 络地址转换设备的 IPv6地址封装到所述第一 IPv4报文中形成第二 IPv6报文, 并将所述第二 IPv6报文发送给所述网络地址转换设备;所述第二 IPv6报文的源 地址为所述第一客户端设备的 IPv6地址,所述第二 IPv6报文的目的地址为所述 网络地址转换设备的 IPv6地址;

地址信息接收模块, 用于在所述网络地址转换设备对所述第二 IPv6报文处 理后, 接收所述网络地址转换设备根据所述客户端设备地址表发送的所述目的 主机的公有 IPv4地址与所述第二客户端设备的 IPv6地址的映射表项,以及所述 源主机的私有 IPv4地址与所述源主机的公有 IPv4地址的映射表项;

地址信息保存模块, 用于将所述源主机的私有 IPv4地址与所述源主机的公 有 IPv4地址的映射表项保存至所述报文转发地址信息表, 并将所述目的主机的 公有 IPv4地址与所述第二客户端设备的 IPv6地址的映射表项保存至所述地址映 射表。

7、 一种网络地址转换设备, 其特征在于, 包括:

第二 IPv6报文接收模块, 用于接收第一客户端设备转发的、 源主机访问目 的主机的第二 IPv6报文,所述第二 IPv6报文的源地址为所述第一客户端设备的 IPv6地址,所述第二 IPv6报文的目的地址为网络地址转换设备的 IPv6地址,所 述第二 IPv6报文包括源主机的私有 IPv4地址和目的主机的公有 IPv4地址; 第三 IPv6报文封装模块, 用于将第二 IPv6报文解封装后,根据网络地址转 换表,将所述第二 IPv6报文中所述源主机的私有 IPv4地址转换为源主机的公有 IPv4地址, 并根据目的主机的公有 IPv4地址查找第二客户端设备的 IPv6地址, 将所述第二客户端设备的 IPv6地址和所述网络地址转换设备的 IPv6地址封装到 所述第二 IPv6报文, 形成第三 IPv6报文;

第三 IPv6报文发送模块,用于向所述第二客户端设备发送所述第三 IPv6报 文;

地址信息发送模块, 用于在客户端设备地址表中记录有所述第二客户端设 备的 IPv6地址和所述第一客户端设备的 IPv6地址时,向所述第一客户端设备发 送源主机的私有 IPv4地址与所述源主机的公有 IPv4地址的映射表项、以及所述 目的主机的公有 IPv4地址与所述第二客户端设备的 IPv6地址的映射表项;所述 客户端设备地址表用于记录支持在客户端设备间隧道转发报文的客户端设备的

IPv6地址。

8、 根据权利要求 7所述的网络地址转换设备, 其特征在于, 还包括: 注册信息接收模块, 用于接收所述第一客户端设备发送的第一注册信息和 所述第二客户端设备发送的第二注册信息, 所述第一注册信息包括所述第一客 户端设备的 IPv6地址,所述第二注册信息包括所述第二客户端设备的 IPv6地址; 注册信息保存模块, 用于将所述第一客户端设备的 IPv6地址和所述第二客 户端设备的 IPv6地址, 保存至所述客户端设备地址表。

9、 一种主机间的访问系统, 其特征在于, 包括: 源主机、 目的主机、 第一 客户端设备以及第二客户端设备;

所述源主机, 用于向所述第一客户端设备发送访问目的主机的所述第一 IPv4报文;所述第一 IPv4报文的源地址为所述源主机的私有 IPv4地址,所述第 主机位于不同的 IPv4网络, 并通过 IPv6网络连接;

所述第一客户端设备, 用于根据从报文转发地址信息表中获取目的主机的 公有 IPv4地址对应的第二客户端设备的 IPv6地址; 并根据地址映射表,将所述 第一 IPv4报文中所述源主机的私有 IPv4地址转换为所述源主机的公有 IPv4地 址,并将第一客户端设备的 IPv6地址和第二客户端设备的 IPv6地址封装到所述 第一 IPv4报文中形成第一 IPv6报文发送给所述第二客户端设备;

所述第二客户端设备, 用于接收所述第一客户端设备发送的所述第一 IPv6 报文, 并向所述目的主机发送所述第一 IPv6报文。

10、 根据权利要求 9所述的主机间的访问系统, 其特征在于, 还包括网络 地址转换设备:

所述第一客户端设备, 还用于在所述接收源主机发送的第一 IPv4报文之前 向网络地址转换设备发送包括所述第一客户端设备的 IPv6地址的注册信息; 将 所述第一客户端设备的 IPv6地址和所述网络地址转换设备的 IPv6地址封装到所 述第一 IPv4报文中形成第二 IPv6报文发送给所述网络地址转换设备; 所述网络地址转换设备, 用于将所述第二 IPv6报文中所述源主机的私有 IPv4地址转换为源主机的公有 IPv4地址,并才艮据目的主机的公有 IPv4地址查找 第二客户端设备的 IPv6地址,将所述第二客户端设备的 IPv6地址和所述网络地 址转换设备的 IPv6地址封装到所述第二 IPv6报文形成第三 IPv6报文发送给所 述第二客户端设备; 并在客户端设备地址表中记录有所述第二客户端设备的 IPv6地址和所述第一客户端设备的 IPv6地址时, 向所述第一客户端设备发送源 主机的私有 IPv4地址与所述源主机的公有 IPv4地址的映射表项、以及所述目的 主机的公有 IPv4地址与所述第二客户端设备的 IPv6地址的映射表项;

所述第一客户端设备, 还用于接收所述网络地址转换设备根据所述客户端 设备地址表发送的所述目的主机的公有 IPv4地址与所述第二客户端设备的 IPv6 地址的映射表项燕保存至所述报文转发地址信息表, 以及接收所述源主机的私 有 IPv4地址与所述源主机的公有 IPv4地址的映射表项并保存至所述地址映射 表;

所述第二客户端设备, 还用于接收所述网络地址转换设备发送的所述第三 IPv6报文, 并向所述目的主机发送所述第三 IPv6报文。

Description:
主机间的访问方法、 设备及系统 本申请要求于 2010年 7月 30日提交中国专利局、申请号为 201010244166.X、 发明名称为 "主机间的访问方法、 设备及系统" 的中国专利申请的优先权, 其 全部内容通过引用结合在本申请中。 技术领域 本发明涉及通信技术, 尤其涉及一种主机间的访问方法、 设备及系统。 背景技术 随着 IPv6技术的快速发展并逐步成熟和广泛应用, IPv6 网络规模逐步扩 大。 然而, 大量互联网应用和月良务仍然存在于 IPv4网络中, 短期内难以将基于 IPv4网络大量应用和服务移植到 IPv6网络上。 从而, IPv4网络和 IPv6网络将 长期共存。 在 IPv4/IPv6 互连的网络中, 一些只运行 IPv6 协议栈的路由器构 成了纯 IPv6 骨干网。 由于 IPv4网络和 IPv6网络将长期共存, 因此纯 IPv6 骨 干网需要向边界网络提供 IPv4协议栈接入服务。

Dual-stack lite是一种隧道过渡技术, 它提供了私有 IPv4 网络或主机穿越 IPv6接入网访问 IPv4 网络的方法。 例如, 来自私有 IPv4 网络的主机 HI穿越 IPv6接入网访问 IPv4 网络的主机 H2时, HI发往 IPv4 网络的报文, 首先经本 地客户端设备( Customer Premises Equipment, 简称: CPE ) 即 CPE1的 IPv6报 头封装生成 IPv6报文, 其中, 源 IPv6地址是 CPE1的 IPv6地址, 目的 IPv6地 址是运营商级网络地址转换器( Carrier Grade NAT , 简称: CGN )的 IPv6地址。 然后, 通过 CPE1与 CGN之间的 IPv4-over-IPv6隧道, 到达 CGN。 CGN接收 到 IPv6报文后, 将 IPv6报文解封装, 并将 IPv6报文中的源私有 IPv4地址和端 口, 转换为公有 IPv4地址和端口。 之后, 经 CGN与 CPE2之间的隧道将 IPv6 报文发往 CPE2, 经 CPE2转发给 IPv4网络的 H2。

在实现本发明过程中, 发明人发现现有技术中至少存在如下问题: 根据上 述方法, 主机 HI访问主机 H2时, 由于 HI发往 H2的报文需两次通过 CPE与 CGN之间的隧道, 导致 CGN的网络流量增加, 从而使网络负担增加。 发明内容 本发明实施例提供一种主机间的访问方法、 设备及系统, 减少了网络流量, 实现了经 CPE之间的隧道转发报文的目的。

本发明实施例提供一种主机间的访问方法, 包括:

接收源主机发送的第一 IPv4报文,所述第一 IPv4报文的源地址为所述源主 机的私有 IPv4地址, 所述第一 IPv4报文的目的地址为目的主机的公有 IPv4地 址; 所述源主机和所述目的主机位于不同的 IPv4网络, 并通过 IPv6网络连接; 根据所述目的主机的公有 IPv4地址, 从报文转发地址信息表中获取所述目 的主机的公有 IPv4地址对应的第二客户端设备的 IPv6地址;所述报文转发地址 信息表用于记录公有 IPv4地址与客户端设备的 IPv6地址的映射表项;所述第二 客户端设备为所述目的主机所属的客户端设备 ;

根据地址映射表,将所述第一 IPv4报文中所述源主机的私有 IPv4地址转换 为所述源主机的公有 IPv4地址,并将第一客户端设备的 IPv6地址和所述第二客 户端设备的 IPv6地址封装到所述第一 IPv4报文中形成第一 IPv6报文; 所述地 址映射表用于记录私有 IPv4地址与公有 IPv4地址的映射表项;

将所述第一 IPv6报文发送给所述第二客户端设备;所述第 IPv6报文的源地 址为第一客户端设备的 IPv6地址,所述第一 IPv6报文的目的地址为所述第二客户 端设备的 IPv6地址。

本发明实施例还提供一种主机间的访问方法, 包括:

接收第一客户端设备转发的、 源主机访问目的主机的第二 IPv6报文, 所述 第二 IPv6报文的源地址为所述第一客户端设备的 IPv6地址, 所述第二 IPv6报 文的目的地址为网络地址转换设备的 IPv6地址,所述第二 IPv6报文包括源主机 的私有 IPv4地址和目的主机的公有 IPv4地址;

将第二 IPv6报文解封装后,根据网络地址转换表,将 述第二 IPv6报文中 所述源主机的私有 IPv4地址转换为源主机的公有 IPv4地址,并根据目的主机的 公有 IPv4地址查找第二客户端设备的 IPv6地址,将所述第二客户端设备的 IPv6 地址和所述网络地址转换设备的 IPv6地址封装到所述第二 IPv6报文,形成第三 IPv6才艮文;

向所述第二客户端设备发送所述第三 IPv6报文,并在客户端设备地址表中记 录有所述第二客户端设备的 IPv6地址和所述第一客户端设备的 IPv6地址时,向所 述第一客户端设备发送源主机的私有 IPv4地址与所述源主机的公有 IPv4地址的 映射表项、以及所述目的主机的公有 IPv4地址与所述第二客户端设备的 IPv6地址 的映射表项; 所述客户端设备地址表用于记录支持在客户端 设备间隧道转发报 文的客户端设备的 IPv6地址。

本发明实施例还提供一种客户端设备, 包括:

第一 IPv4报文接收模块, 用于接收源主机发送的第一 IPv4报文, 所述第一 IPv4报文的源地址为所述源主机的私有 IPv4地址,所述第一 IPv4报文的目的地 址为目的主机的公有 IPv4地址; 所述源主机和所述述目的主机位于不同的 IPv4 网络, 并通过 IPv6网络连接;

地址获取模块, 用于根据所述目的主机的公有 IPv4地址, 从报文转发地址 信息表中获取所述目的主机的公有 IPv4地址对应的第二客户端设备的 IPv6地 址;所述报文转发地址信息表用于记录公有 IPv4地址与客户端设备的 IPv6地址 的映射表项; 所述第二客户端设备为所述目的主机所属的客 户端设备;

地址转换模块, 用于根据地址映射表, 将所述第一 IPv4报文中所述源主机 的私有 IPv4地址转换为所述源主机的公有 IPv4地址;所述地址映射表包括私有 IPv4地址与公有 IPv4地址的映射表项;

地址封装模块, 用于将第一客户端设备的 IPv6地址和所述第二客户端设备 的 IPv6地址封装到所述第一 IPv4报文中形成第一 IPv6报文;

第一 IPv6报文发送模块,用于将所述第一 IPv6报文发送给所述第二客户端设 备; 所述第一 IPv6报文的源地址为所述第一客户端设备的 IPv6地址, 所述第一 IPv6报文的目的地址为所述第二客户端设备的 IPv6地址。

本发明实施例还提供一种网络地址转换设备, 包括:

第二 IPv6报文接收模块, 用于接收第一客户端设备转发的、 源主机访问目 的主机的第二 IPv6报文,所述第二 IPv6报文的源地址为所述第一客户端设备的 IPv6地址,所述第二 IPv6报文的目的地址为网络地址转换设备的 IPv6地址,所 述第二 IPv6报文包括源主机的私有 IPv4地址和目的主机的公有 IPv4地址; 第三 IPv6报文封装模块, 用于将第二 IPv6报文解封装后,根据网络地址转 换表,将所述第二 IPv6报文中所述源主机的私有 IPv4地址转换为源主机的公有 IPv4地址, 并根据目的主机的公有 IPv4地址查找第二客户端设备的 IPv6地址, 将所述第二客户端设备的 IPv6地址和所述网络地址转换设备的 IPv6地址封装到 所述第二 IPv6报文, 形成第三 IPv6报文;

第三 IPv6报文发送模块,用于向所述第二客户端设 发送所述第三 IPv6报 文;

地址信息发送模块, 用于在客户端设备地址表中记录有所述第二客 户端设 备的 IPv6地址和所述第一客户端设备的 IPv6地址时,向所述第一客户端设备发送 源主机的私有 IPv4地址与所述源主机的公有 IPv4地址的映射表项、以及所述目的 主机的公有 IPv4地址与所述第二客户端设备的 IPv6地址的映射表项;所述客户端 设备地址表用于记录支持在客户端设备间隧道 转发报文的客户端设备的 IPv6地 址。

本发明实施例还提供一种主机间的访问系统, 包括:

源主机、 目的主机、 第一客户端设备以及第二客户端设备;

所述源主机, 用于向所述第一客户端设备发送访问目的主机 的所述第一 IPv4报文;所述第一 IPv4报文的源地址为所述源主机的私有 IPv4地址,所述第 主机位于不同的 IPv4网络, 并通过 IPv6网络连接;

所述第一客户端设备, 用于根据从报文转发地址信息表中获取目的主 机的 公有 IPv4地址对应的第二客户端设备的 IPv6地址; 并根据地址映射表,将所述 第一 IPv4报文中所述源主机的私有 IPv4地址转换为所述源主机的公有 IPv4地 址,并将第一客户端设备的 IPv6地址和第二客户端设备的 IPv6地址封装到所述 第一 IPv4报文中形成第一 IPv6报文发送给所述第二客户端设备;

所述第二客户端设备, 用于接收所述第一客户端设备发送的所述第一 IPv6 报文, 并向所述目的主机发送所述第一 IPv6报文。

本发明实施例主机间的访问方法、设备及系统 ,位于源主机所属的 IPv4网络 与 IPv6网络边缘的 CPE, 接收到源主机通过 IPv6接入网访问 IPv4网络的第一 IPv4 报文时,根据本地保存的报文转发地址信息表 ,获取第一 IPv4报文中目的主机的 公有 IPv4地址对应的第二 CPE的 IPv6地址, 从而使源 CPE通过第二 CPE的 IPv6地 址, 将报文发送给与目的主机连接的第二 CPE。 同时, 根据本地保存的地址映射 表, 将第一 IPv4报文中源主机的私有 IPv4地址转换为源主机的公有 IPv4地址。 因 此,本发明实施例中,源主机穿越 IPv6接入网访问位于 IPv4网络中的目的主机时, 只需经源 CPE与第二 CPE之间的隧道, 不需经过 CPE与 CGN之间的隧道, 因此, 减少了对 CGN的访问流量, 从而减轻了网络负担。 附图说明 为了更清楚地说明本发明实施例或现有技术中 的技术方案, 下面将对实施 例或现有技术描述中所需要使用的附图作简单 介绍, 显而易见地, 下面描述中 的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造 性劳动性的前提下, 还可以根据这些附图获得其他的附图。

图 1 A为本发明提供的一种主机间的访问方法实施 流程图;

图 1B为本发明提供的一种主机间的访问方法实施 的应用场景图; 图 2A为本发明提供的另一种主机间的访问方法实 例流程图;

图 2B为本发明提供的另一种主机间的访问方法实 例的应用场景图; 图 3为本发明提供的又一种主机间的访问方法实 例流程图;

图 4为本发明提供的客户端设备实施例一的结构 意图; 图 5为本发明提供的客户端设备实施例二的结构 意图;

图 6为本发明提供的网络地址转换设备实施例一 结构示意图;

图 7为本发明提供的网络地址转换设备实施例二 结构示意图;

图 8为本发明提供的一种主机间的访问系统实施 一的结构示意图; 图 9为本发明提供的一种主机间的访问系统实施 二的结构示意图。 具体实施方式 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部 的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创造性劳 动前提下所获得的所有其他实施例, 都属于本发明保护的范围。

本发明实施例提出一种了 Dual-stack lite场景下主机间互访的优化方法, 通 过 CPE间隧道直接转发报文, 而不需要两次经过 CPE与 CGN之间隧道转发报 文, 从而减少网络流量。 本发明实施例还可以适用于组播报文, 还适用于在具 有移动性的源端和目的端之间进行报文转发。

图 1A为本发明提供的一种主机间的访问方法实施 流程图, 图 1B为本发 明提供的一种主机间的访问方法实施例的应用 场景图。 如图 1B所示, 主机源主 机 HI通过 IPv6网络访问位于 IPv4网络中的目的主机 H2时, 需经过第一 CPE ( CPE1 )和第二 CPE ( CPE2 ) , 将 HI发往 H2的报文发送给 H2。

本实施例的执行主体为图 1B中所示的 CPE1即第一 CPE。 本实施例中第一 CPE 中保存有报文转发地址信息表和地址映射表。 报文转发地址信息表和地址 映射表中的表项,可由 CGN在第一 CPE中预置,也可由 CGN向 CPE实时发送。 其中,如表 1所示,报文转发地址信息表中用于记录公有 IPv4地址与 CPE的 IPv6 地址的映射表项。 如表 2所示, 地址映射表用于记录私有 IPv4地址与公有 IPv4 地址的映射表项。

表 1为报文转发地址信息表 目的公有 IPv4 目的公有端口 目的 IPv6

x.x.x.x Μ CPE IPv6

Y.Y.Y.Y Ν CGN IPv6 在第一 CPE没有接收到 CGN发送的与目的公有 IPv4地址对应的第二 CPE 的 IPv6地址时,该目的公有 IPv4地址对应的目的 IPv6地址默认为 CGN的 IPv6 地址, 即在第一 CPE接收到源主机发送的、 访问目的主机的 IPv4报文时, 按照 现有方法处理该 IPv4报文:通过 CPE与 CGN之间的隧道将该 IPv4报文转发给 CGN。 表 2为地址映射表 如图 1A所示, 本实施例包括:

步骤 11 : 接收源主机发送的第一 IPv4报文, 目的主机位于 IPv4网络中, 第一 IPv4报文的源地址为源主机的私有 IPv4地址, 第一 IPv4报文的目的地址 为目的主机的公有 IPv4地址;

如图 1B所示, 源主机和目的主机位于不同的 IPv4网络, 并通过 IPv6网络 连接。源主机穿越 IPv6网络访问其他 IPv4网络中的目的主机时,首先将第一 IPv4 报文发送给本地 IPv4网络与 IPv6网络之间的路由器: CPE1, 在本实施例中称 为第一 CPE。 第一 IPv4报文中还包括源主机的端口号和目的主机 端口号, 因 为 IP地址数量有限, 可使用端口号来复用。

步骤 12: 根据目的主机的公有 IPv4地址, 从报文转发地址信息表中获取目 的主机的公有 IPv4地址对应的第二 CPE的 IPv6地址; 报文转发地址信息表包 括公有 IPv4地址和第二 CPE的 IPv6地址的映射表项; 步骤 13: 根据地址映射表, 将第一 IPv4报文中源主机的私有 IPv4地址转 换为源主机的公有 IPv4地址, 并将第一 CPE的 IPv6地址和第二 CPE的 IPv6 地址封装到第一 IPv4报文中形成第一 IPv6报文;

由于不同的私有 IPv4网络中, 可能会存在私有 IPv4地址相同的两台主机, 因此, 发送给第二 CPE的报文中源主机的私有 IPv4地址和端口, 需转换为源公 有 IPv4地址和端口。 另夕卜, 目的主机可直接使用源公有 IPv4地址和端口向源主 机发送报文。

第一 CPE接收到源主机发送的第一 IPv4报文后,从报文转发地址信息表中 获取目的主机的公有 IPv4地址对应的第二 CPE的 IPv6地址(该第二 CPE的 IPv6 地址为目的主机所属的本地 CPE ) , 并将第一 CPE的 IPv6地址和第二 CPE的 IPv6地址封装到第一 IPv4报文中。 同时, 根据地址映射表中的地址映射关系, 将第一 IPv4报文中源主机的私有 IPv4地址转换为源主机的公有 IPv4地址, 形 成第一 IPv6报文。

步骤 14: 将第一 IPv6报文发送给第二 CPE; 第一 IPv6报文的源地址为第 一 CPE的 IPv6地址, 第一 IPv6报文的目的地址为第二 CPE的 IPv6地址。

根据第一 IPv6报文中的第二 CPE的 IPv6地址, 将第一 IPv6报文发送给第 二 CPE。 第二 CPE根据本地地址映射表,将解析后的第一 IPv6报文中目的公有 IPv4地址转换为目的私有 IPv4地址, 形成第二 IPv4报文。之后,根据目的私有 IPv4地址, 将第二 IPv4报文发送给 IPv4网格中的目的主机。

本实施例第一 CPE位于源主机所属的 IPv4网络并处于 IPv6网络边缘。 在 接收到第一 CPE源主机访问其他 IPv4网络中主机的第一 IPv4报文时, 根据本 地保存的报文转发地址信息表,获取第一 IPv4报文中目的主机的公有 IPv4地址 对应的第二 CPE的 IPv6地址, 从而使第一 CPE通过第二 CPE的 IPv6地址,将 报文发送给与目的主机连接的第二 CPE。 同时, 根据本地保存的地址映射表, 将第一 IPv4报文中源主机的私有 IPv4地址转换为源主机的公有 IPv4地址。 因 此, 本实施例中, 源主机穿越 IPv6接入网访问位于其他 IPv4网络中的目的主机 时, 只需经第一 CPE与第二 CPE之间的隧道, 不需经过 CPE与 CGN之间的隧 道, 因此, 减少了 CGN的访问流量, 从而也减少了网络流量。 图 2A为本发明提供的另一种主机间的访问方法实 例流程图, 图 2B为本 发明提供的另一种主机间的访问方法实施例的 应用场景图。 本实施例的执行主 体为 CGN。 本实施例与现有技术的主要区别在于, CGN在接收到第一 CPE发 送的第二 IPv6报文后,除执行步骤 21至步骤 23之外,还执行步骤 24。如图 2A 所示, 本实施例包括;

步骤 21 : CGN接收第一 CPE发送的第二 IPv6报文;

第一 CPE第一次接收到源主机(图 2B中 HI )发送的、 访问目的主机(图 2B中 H2 ) 的第一 IPv4报文后, 将第一 CPE的 IPv6地址和 CGN的 IPv6地址 封装到第一 IPv4报文中形成第二 IPv6报文, 并将第二 IPv6报文发送给 CGN。 其中, 第一 IPv4报文的源地址为源主机的私有 IPv4地址, 目的地址为目的主机 的公有 IPv4地址; 第二 IPv6报文的源地址为第一 CPE的 IPv6地址, 第二 IPv6 报文的目的地址为 CGN的 IPv6地址,第二 IPv6报文包括源主机的私有 IPv4地 址和目的主机的公有 IPv4地址。

步骤 22: CGN根据网络地址转换表,将第二 IPv6报文中源主机的私有 IPv4 地址转换为源主机的公有 IPv4地址,并根据目的主机的公有 IPv4地址查找第二 CPE的 IPv6地址,将第二 CPE的 IPv6地址和 CGN的 IPv6地址封装到第二 IPv6 报文, 形成第三 IPv6报文;

CGN查找网络地址转换表中的地址映射表项,将 第二 IPv6报文中源主机的 私有 IPv4地址转换为相应的公有 IP地址。若网络地址转换表中没有相关的映射 表项。 CGN则为该源主机的私有 IPv4地址分配一个公有 IP地址(还可包括端 口) , 建立映射表项后保存至地址映射表中。 之后, CGN根据目的主机的公有 IP地址查找目的主机所属的 CPE的 IPv6 地址, 即第二 CPE的 IPv6地址,将该 第二 CPE的 IPv6地址和 CGN的 IPv6地址封装到第二 IPv6报文,形成第三 IPv6 报文。其中,第三 IPv6报文的源地址为 CGN的 IPv6地址, 目的地址为第二 CPE 的 IPv6地址。

步骤 23: CGN向第二 CPE发送第三 IPv6报文; 步骤 24:在 CPE地址表中记录有第二 CPE的 IPv6地址和第一 CPE的 IPv6 地址时, 向第一 CPE发送源主机的私有 IPv4地址与源主机的公有 IPv4地址的 映射表项、 以及目的主机的公有 IPv4地址与第二 CPE的 IPv6地址的映射表项。

上述 CPE地址表(客户端设备地地表)用于记录支持 CPE 间隧道转发的 CPE的 IPv6地址。

步骤 23与步骤 24同步执行。

为使第一 CPE下次接收到源主机发送的第一 IPv4报文时, 直接通过 CPE 之间的隧道将该第一 IPv4报文转发给第二 CPE, 而不需经过第一 CPE与 CGN 之间的隧道(发送第二 IPv6报文) , 以及 CGN与第二 CPE之间的隧道(发送 第三 IPv6报文) 。 因此, CGN需将步骤 23中用到的地址映射表项 (私有 IPv4 地址与公有 IP地址的映射关系 )和目的主机的公有 IP地址与第二 CPE的 IPv6 地址的映射表项发送给第一 CPE,使第一 CPE保存于本地。 第一 CPE下次接收 到源主机发送的第一 IPv4报文时,直接从本地查找第一 IPv4报文中源私有 IPv4 地址对应的公有 IPv4地址,并根据目的主机公有 IPv4地址在本地查找对应的第 二 CPE的 IPv6地址。 将第一 CPE的 IPv6地址和第二 CPE的 IPv6地址封装到 第一 IPv4报文中形成第一 IPv6报文发送给第二 CPE。

CGN将步骤 23中用到的地址映射表项和查找到的第二 CPE的 IPv6地址发 送给第一 CPE时, 为判断第一 CPE和第二 CPE是否均支持通过 CPE之间的隧 道转发报文, CGN在本地查找 CPE地址表中的记录信息。只有第一 CPE的 IPv6 地址和第二 CPE的 IPv6地址均存在于 CPE地址表中时, CGN才向第一 CPE发 送上述地址映射表项、以及与上述目的主机的 公有 IPv4地址对应的 CPE的 IPv6 地址。 如表 3所示, CPE地址表中保存有 CPE的 IPv6地址。

表 3 为 CPE地址表

CPE1的 IPv6地址

CPE2的 IPv6地址 CPE地址表的建立过程如下:

CGN分别接收第二 CPE发送的第一注册信息和第一 CPE发送的第二注册 信息, 第一注册信息包括第一 CPE的 IPv6地址, 第二注册信息包括第一 CPE 的 IPv6地址; CGN分别将第一 CPE的 IPv6地址和第二 CPE的 IPv6地址, 保 存至 CPE地址表。

需要说明的是, 在本实施例中目的主机作为源端第一次向源主 机发送报文 时, 需先采用本实施例中相同的方法发送报文, 为后续 CPE隧道间报文转发做 准备。 本实施例中源主机、 第一 CPE、 目的主机和第二 CPE为相对概念。

本实施例主机间的访问方法, CGN在接收到第一 CPE发送的第二 IPv6报 文后, 将第二 IPv6报文中源私有 IPv4地址转换成公有 IPv4地址, 并根据目的 主机公有 IPv4地址查找到对应的第二 CPE的 IPv6地址后, 在向第二 CPE发送 第三 IPv6服文时, 还向第一 CPE发送上述私有 IPv4地址与公有 IPv4地址的映 射表项,以及目的主机公有 IPv4地址与第二 CPE的 IPv地址的映射表项。从而, 第一 CPE接收到源主机发送的 IPv4报文时, 根据上述 CGN发送的映射表项, 将 IPv4报文经 CPE间隧道转发给第二 CPE,而不需经过 CPE与 CGN之间的隧 道。 因此, 本实施例减少了 CGN的网络流量, 减少了网络负担。

图 3 为本发明提供的又一种主机间的访问方法实施 例流程图。 本实施例主 要说明第一 CPE保存的地址映射表中表项和报文转发地址信 息表中表项的获取 方式, 以及在第一 CPE还未保存地址映射表中表项和报文转发地址 信息表中表 项时主机间的访问方法。 如图 3所示, 本实施例包括:

步骤 30: CPE1向 CGN发送包括 CPE1的 IPv6地址的第一注册信息; 步骤 31 : CPE2向 CGN发送包括目 CPE的 IPv6地址的第二注册信息; 在 CPE1或 CPE2支持隧道技术时, 分别向 CGN发送注册信息。 CGN接收 到注册信息后, 在本地建立 CPE地址表, 该表中记录在 CPE间隧道转发报文的 各 CPE的 IPv6地址。

步骤 32: CPE1接收源主机发送的第一 IPv4报文; HI (源主机 )通过 CPEl向 IPv4网络的 H2 (目的主机 )发送第一 IPv4报 文。 第一 IPv4报文的源地址和端口为源主机的私有 IPv4地址和私有端口, 目的 地址和端口为目的主机的公有 IPv4地址和私有端口。第一 IPv4报文的主要内容 如表 3所示。

表 3为第一 IPv4报文的主要内容 步骤 33: CPE1将 CPE1的 IPv6地址和 CGN的 IPv6地址封装到第一 IPv4 报文中形成第二 IPv6报文, 并发送给 CGN;

第二 IPv6报文的源地址为 CPE1的 IPv6地址, 第二 IPv6报文的目的地址 为 CGN的 IPv6地址。 第二 IPv6报文的主要内容如表 4所示。

表 4为第二 IPv6报文的主要内容 在 CPE1第一次接收到 HI发送的访问 H2的 IPv4报文时, CPE1的地址映 射表中还没有保存 H2公有地址和端口所对应的 CPE2的 IPv6地址, 还不能直 接在 CPE1与 CPE2之间的隧道上向 CPE2发送第二 IPv6报文,而是通过默认路 由将第二 IPv6报文发往 CGN(表 1中目的 IPv6地址默认为 CGN的 IPv6地址)。

步骤 34: CGN将第二 IPv6报文解封装后, 根据网络地址转换表, 将第二 IPv6报文中 HI的私有 IPv4地址转换为 HI的公有 IP地址,根据第二 IPv6报文 中 H2的公有 IPv4地址查找 CPE2的 IPv6地址;

CGN接收到第二 IPv6报文后,去掉第二 IPv6报文中的源地址和目的地址, 之后再为发往 CPE2的 ^艮文封装源地址和目的地址。 CGN根据 CPE1 IPv6地址 + 源私有 IPv4地址 +源私有端口, 查询网络地址转换表是否有对应选项, 若没有 查到则 CGN为该私有 IPv4地址和源私右端口分配一个公有 IPv4地址和公有端 口并建立表项, 若找到则直接将报文中的源私有 IPv4地址和端口修改为相应的 公有 IPv4地址和公有端口。

步骤 35: CGN将 CPE2的 IPv6地址和 CGN的 IPv6地址封装到第二 IPv6 报文, 形成第三 IPv6报文并向 CPE2发送第三 IPv6报文; 第三 IPv6报文的主 要内容如表 5所示。

表 5为第三 IPv6报文的主要内容 步骤 36: 若在 CGN的 CPE地址表中记录有 CPE1的 IPv6地址和 CPE2的 IPv6地址, CGN向 CPE1发送 HI的私有 IPv4地址与 HI的公有 IPv4地址的映 射表项、 以及 H2的公有 IPv4地址与 CPE2的 IPv6地址的映射表项;

CPE1将 CGN发送的 HI的私有 IPv4地址与 HI的公有 IPv4地址的映射表 项、 以及 H2的公有 IPv4地址与 CPE2的 IPv6地址的映射表项, 分别保存到报 文转发地址信息表和地址映射表中。

步骤 35与步骤 36同步进行。

步骤 37: CPE2将第三 IPv6报文解封装并进行公有地址与私有地址的 换 后, 形成第二 IPv4报文并发送给 H2;

由于在 CPE22的本地私有 IPv4网络中, 是靠私有 IPv4地址和端口来寻址, 因此第三 IPv6报文解封装后, 需将 H2的公有 IPv4地址和端口, 转换为 H2的 私有 IPv4地址和端口。 第二 IPv4报文的主要内容如表 6所示。

表 6为第二 IPv4报文的主要内容 需要说明的是, 在本实施例中 H2作为源端第一次向 HI发送报文时, 需先 采用本实施例中步骤 32至步骤 37中的方法转发报文, 为后续 CPE隧道间的报 文转发做准备。

在 CPE1再次接收到 HI发送的、访问 H2的第一 IPv4报文时,执行步骤 38 至步骤 311。

步骤 38: CPE1接收 HI后续发送的、 访问 H2的第一 IPv4报文;

步骤 39: CPE1根据第一 IPv4报文中 H2的公有 IPv4地址, 从报文转发地 址信息表中获取 H2的公有 IPv4地址对应的 CPE2的 IPv6地址;

步骤 310: 根据地址映射表, CPE1将第一 IPv4报文中 HI的私有 IPv4地址 转换为 HI的公有 IPv4地址, 并将 CPE1的 IPv6地址和 CPE2的 IPv6地址封装 到第一 IPv4报文中形成第一 IPv6报文;

步骤 311 : CPE1将第一 IPv6报文发送给 CPE2;

表 7为第一 IPv6报文的主要内容 步骤 312: CPE2将第一 IPv6报文解封装并进行公有地址与私有地址的 换 后, 形成第二 IPv4报文;

第二 CPE的本地地址映射表中所维护的 H2的私有地址端口和公有地址端 口的映射可在交互过程开始前形成, 也由其它多种方式来实现, 例如静态配置 或 NAT的 UDP简单穿越 ( Simple Traversal of User Datagram Protocol through Network Address Translators, 简称 STUN )等, 在此不赘述。

步骤 313: CPE2将第二 IPv4报文发送给 H2。

本实施例,在 HI初次穿越 IPv6网访问 IPv4网络时,经 CPE1、CGN和 CPE2 向 H2转发报文。 不同之处在于: CGN向第二 CPE发送报文时, 根据本地保存 的 CPE地址表, 分别向第一 CPE和第二 CPE发送地址映射表和报文转发地址 信息表。报文转发地址信息表中包括有第二 CPE的 IPv6地址或第一 CPE的 IPv6 地址, 以使后续的报文直接经 CPE相互转发, 而不需经过 CPE与 CGN之间的 隧道。

图 4为本发明提供的客户端设备实施例一的结构 意图, 如图 4所示, 本 实施例包括: 第一 IPv4报文接收模块 41、 地址获取模块 42、 地址转换模块 43 和地址封装模块 44以及第一 IPv6报文发送模块 45。

第一 IPv4报文接收模块 41, 用于接收源主机发送的第一 IPv4报文, 第一 IPv4报文的源地址为源主机的私有 IPv4地址,第一 IPv4报文的目的地址为目的 主机的公有 IPv4地址; 源主机和目的主机位于不同的 IPv4网络, 并通过 IPv6 网络连接。

地址获取模块 42, 用于根据目的主机的公有 IPv4地址, 从报文转发地址信 息表中获取目的主机的公有 IPv4地址对应的第二客户端设备的 IPv6地址;报文 转发地址信息表包括公有 IPv4地址与第二客户端设备的 IPv6地址的映射表项。

地址转换模块 43, 用于根据地址映射表, 将第一 IPv4报文中源主机的私有 IPv4地址转换为源主机的公有 IPv4地址。

地址封装模块 44,用于将第一客户端设备的 IPv6地址和第二客户端设备的

IPv6地址封装到第一 IPv4报文中形成第一 IPv6报文;地址映射表包括私有 IPv4 地址与公有 IPv4地址的映射表项。

第一 IPv6报文发送模块 45, 用于将第一 IPv6报文发送给第二客户端设备; 第一 IPv6报文的源地址为第一客户端设备的 IPv6地址, 第一 IPv6报文的目的 地址为第二客户端设备的 IPv6地址。

各模块的功能和关系如下:第一 IPv4报文接收模块 41接收源主机发送的第 一 IPv4报文后,地址获取模块 42根据第一 IPv4报文中目的主机的公有 IPv4地 址, 从报文转发地址信息表中获取目的主机的公有 IPv4地址对应的第二客户端 设备的 IPv6地址。 地址转换模块 43根据地址映射表, 将第一 IPv4报文中源主 机的私有 IPv4地址转换为源主机的公有 IPv4地址。 地址封装模块 44将第一客 户端设备的 IPv6地址和第二客户端设备的 IPv6地址封装到地址转换模块 43转 换后的第一 IPv4报文中形成第一 IPv6报文。第一 IPv6报文发送模块 45将地址 封装模块 44形成的第一 IPv6报文发送给第二 CPE。

本实施例中各模块的工作机理参见图 1对应实施例描述, 在此不再赘述。 本实施例客户端设备中第一 IPv4报文接收模块 41在接收到源主机访问目的 主机的报文时, 第一 IPv4报文经地址获取模块 42、 地址转换模块 43和地址封 装模块 44的处理后形成第一 IPv6报文。由第一 IPv6报文发送模块 45按照第一

IPv6报文中目的地址, 直接将第一 IPv6报文发送给第二 CPE, 而不需两次经过

CPE与 CGN之间的隧道转发给第二 CPE。从而减少了网络流量和 CGN的负担。

图 5为本发明提供的客户端设备实施例二的结构 意图。 如图 5所示, 在图

4对应实施例的基础上, 还包括: 注册模块 47、 第二 IPv6报文发送模块 48、 地 址信息接收模块 49和地址信息保存模块 410。

注册模块 47, 用于向 CGN发送包括第一客户端设备的 IPv6地址的注册信 息。 CGN接收到注册信息后, 将第一客户端设备的 IPv6地址保存至客户端设备 地址表。

第二 IPv6报文发送模块 48,用于将第一客户端设备的 IPv6地址和 CGN的 IPv6地址封装到第一 IPv4报文中形成第二 IPv6报文, 并将第二 IPv6报文发送 给 CGN; 第二 IPv6报文的源地址为第一客户端设备的 IPv6地址, 第二 IPv6报 文的目的地址为 CGN的 IPv6地址。

地址信息接收模块 49,用于在 CGN对第二 IPv6报文处理后,接收 CGN根 据客户端设备地址表发送的目的主机的公有 IPv4地址与第二客户端设备的 IPv6 地址的映射表项,以及源主机的私有 IPv4地址与源主机的公有 IPv4地址的映射 表项。

地址信息保存模块 410,用于将源主机的私有 IPv4地址与源主机的公有 IPv4 地址的映射表项保存至报文转发地址信息表, 并将目的主机的公有 IPv4地址与 第二客户端设备的 IPv6地址的映射表项保存至地址映射表。

具体地各模块的功能和关系如下: 注册模块 47向 CGN发送注册信息, 以 表明支持在 CPE间隧道转发报文。 在第一 IPv4报文接收模块 41第一次接收到 源主机发送的、 访问目的主机的第一 IPv4报文时, 第二 IPv6报文发送模块 48 将第一客户端设备的 IPv6地址和 CGN的 IPv6地址封装到第一 IPv4报文中形成 第二 IPv6报文, 并将第二 IPv6报文发送给 CGN。 为使第一 IPv4报文接收模块 41后续接收到同一源主机发送的访问同一目的 机的报文时, 通过 CPE间隧道 转发报文, CGN向第一客户端设备发送在处理第一 IPv4报文使用到的地址信息。 地址信息接收模块 49在 CGN对第二 IPv6报文处理后, 接收 CGN根据客户端 设备地址表发送的目的主机的公有 IPv4地址与第二客户端设备的 IPv6地址的映 射表项, 以及源主机的私有 IPv4地址与源主机的公有 IPv4地址的映射表项。 上 述映射表项为 CGN在对第二 IPv6报文处理时使用到的映射关系, 地址信息保 存模块 410, 将地址信息接收模块 49接收到的信息, 分别保存至报文转发地址 信息表和地址映射表。

在第一 IPv4报文接收模块 41后续接收到同一源主机访问同一目的主机的 第一 IPv4报文时,由于地址信息保存模块 410已保存有源主机的私有 IPv4地址 与公有 IPv4的映射表项,以及目的主机的公有 IPv4地址对应的第二 CPE的 IPv6 地址。可通过地址获取模块 42、地址转换模块 43和地址封装模块 44对第一 IPv4 报文进行处理后, 形成第一 IPv6报文。 由第一 IPv6报文发送模块 45按照第一 IPv6报文中目的地址, 直接将第一 IPv6报文发送给第二 CPE,

本实施例中各模块的工作机理参见图 1和图 3对应实施例的描述。 在此不 再赘述。

本实施例客户端设备, 通过地址信息保存模块 410将地址信息接收模块 49 接收到 CGN发送的目的主机的公有 IPv4地址与第二客户端设备的 IPv6地址的 映射表项, 以及源主机的私有 IPv4地址与源主机的公有 IPv4地址的映射表项, 分别保存至报文转发地址信息表和地址映射表 。 从而, 在第一 IPv4报文接收模 块 41后续接收到同一源主机访问同一目的主机的 一 IPv4报文时, 第一 IPv6 报文发送模块 45可直接将第一 IPv6报文发送给第二 CPE。 因此, 本实施例减 少了网络流量。

图 6为本发明提供的网络地址转换设备实施例一 结构示意图。 如图 6所 示, 本实施例包括: 第二 IPv6报文接收模块 51、 第三 IPv6报文封装模块 52和 第三 IPv6报文发送模块 53以及地址信息发送模块 54。

第二 IPv6报文接收模块 51, 用于接收第一客户端设备发送的第二 IPv6报 文, 第二 IPv6报文的源地址为第一客户端设备的 IPv6地址, 第二 IPv6报文的 目的地址为 CGN的 IPv6地址,第二 IPv6报文包括源主机的私有 IPv4地址和目 的主机的公有 IPv4地址。

第三 IPv6报文封装模块 52, 用于将第二 IPv6报文解封装后, 根据网络地 址转换表,将第二 IPv6报文中源主机的私有 IPv4地址转换为源主机的公有 IPv4 地址, 并根据目的主机的公有 IPv4地址查找第二客户端设备的 IPv6地址,将第 二客户端设备的 IPv6地址和 CGN的 IPv6地址封装到第二 IPv6报文,形成第三 IPv6才艮文。

第三 IPv6报文发送模块 53, 用于向第二客户端设备发送第三 IPv6报文。 地址信息发送模块 54, 用于在客户端设备地址表中记录有第二客户端 设备的 IPv6地址和第一客户端设备的 IPv6地址时, 向第一客户端设备发送源主机的私 有 IPv4地址与源主机的公有 IPv4地址的映射表项、 以及目的主机的公有 IPv4 地址与第二客户端设备的 IPv6地址的映射表项; 客户端设备地址表用于记录支 持在客户端设备间隧道转发报文的客户端设备 的 IPv6地址。

各模块的功能和关系如下:第二 IPv6报文接收模块 51接收第一客户端设备 发送的第二 IPv6报文,第三 IPv6报文封装模块 52将第二 IPv6报文接收模块 51 接收到第二 IPv6报文解封装并处理后形成第三 IPv6报文。 地址信息发送模块 54在本地保存的 CPE地址表中查找到第一 CPE的 IPv6地址和第二 CPE的 IPv6 地址时, 将第三 IPv6报文封装模块 52对第二 IPv6报文处理时使用的映射表项 发送给第一 CPE。

如图 7所示, 上述方案基础还包括: 注册信息接收模块 55和注册信息保存 模块 56。

注册信息接收模块 55, 用于分别接收第一客户端设备发送的第一注册 信息 和第二客户端设备发送的第二注册信息, 第一注册信息包括第一客户端设备的 IPv6地址, 第二注册信息包括第二客户端设备的 IPv6地址。 注册信息保存模块 56, 用于分别将第一客户端设备的 IPv6地址和第二客户端设备的 IPv6地址,保 存至 CPE地址表。

本实施例中各模块的工作机理参见图 2和图 3对应实施例的描述。 在此不 再赘述。

本实施例网络地址转换设备,第三 IPv6报文发送模块 53向第二客户端设备 发送第三 IPv6报文时, 通过地址信息发送模块 54将第三 IPv6报文封装模块 52 对第二 IPv6报文处理使用的映射表项发送给第一 CPE,使得第一 CPE在后续接 收到第一 IPv4报文时, 可通过上述映射表项对第一 IPv4报文进行处理, 并按照 目的主机公有 IPv4地址与第二 CPE的 IPv6地址的映射, 直接将处理的报文发 送到第二 CPE。

图 8为本发明提供的一种主机间的访问系统实施 一的结构示意图。如图 8 所示, 本实施例包括: 源主机 81、 目的主机 82、 第一客户端设备 83以及第二 客户端设备 84。

源主机 81, 用于向第一客户端设备发送访问目的主机的第 一 IPv4报文; 第 一 IPv4报文的源地址为源主机 81的私有 IPv4地址,第一 IPv4报文的目的地址 为目的主机 82的公有 IPv4地址; 源主机和目的主机位于不同的 IPv4网络, 并 通过 IPv6网络连接;

第一客户端设备 83, 用于根据从报文转发地址信息表中获取目的主 机的公 有 IPv4地址对应的第二客户端设备的 IPv6地址;并根据地址映射表,将第一 IPv4 报文中源主机的私有 IPv4地址转换为源主机的公有 IPv4地址,并将第一客户端 设备的 IPv6地址和第二客户端设备 84的 IPv6地址封装到第一 IPv4报文中形成 第一 IPv6报文发送给第二客户端设备; 第二客户端设备 84, 用于接收第一客户端设备 83发送的第一 IPv6报文, 并向目的主机 82发送第一 IPv6报文。

本实施例中各设备的工作机理参见图 4和图 6对应实施例的说明, 在此不 再赘述。

本实施例主机间的访问系统, 第一客户端设备 83接收到源主机发送的第一 IPv4报文后, 根据从报文转发地址信息表中获取第一 IPv4报文中目的主机的公 有 IPv4地址对应的第二客户端设备的 IPv6地址;并根据地址映射表,将第一 IPv4 报文中源主机的私有 IPv4地址转换为源主机的公有 IPv4地址,并将第一客户端 设备的 IPv6地址和第二客户端设备的 IPv6地址封装到第一 IPv4报文中形成第 一 IPv6报文发送给第二客户端设备 84。从而第一 IPv4报文不需要两次经过 CPE 与 CGN之间的隧道, 减少了 CGN的负担。

图 9为本发明提供的一种主机间的访问系统实施 二的结构示意图。如图 9 所示, 在图 8对应技术方案的基础上, 本实施例还包括: 网络地址转换设备 85。

其中, 第一客户端设备 83, 还用于在接收源主机发送的第一 IPv4报文之前 向网络地址转换设备发送包括第一客户端设备 的 IPv6地址的注册信息; 将第一 客户端设备的 IPv6地址和网络地址转换设备的 IPv6地址封装到第一 IPv4报文 中形成第二 IPv6报文发送给网络地址转换设备。

网络地址转换设备 85, 用于将第二 IPv6报文中源主机的私有 IPv4地址转 换为源主机的公有 IPv4地址,并根据目的主机的公有 IPv4地址查找第二客户端 设备的 IPv6地址, 将第二客户端设备的 IPv6地址和网络地址转换设备的 IPv6 地址封装到第二 IPv6报文形成第三 IPv6报文发送给第二客户端设备;并在客户 端设备地址表中记录有第二客户端设备的 IPv6地址和第一客户端设备的 IPv6地 址时,向第一客户端设备发送源主机的私有 IPv4地址与源主机的公有 IPv4地址 的映射表项、以及目的主机的公有 IPv4地址与第二客户端设备的 IPv6地址的映 射表项。

第一客户端设备 83, 还用于接收网络地址转换设备根据客户端设备 地址表 发送的目的主机的公有 IPv4地址与第二客户端设备的 IPv6地址的映射表项并保 存至报文转发地址信息表, 以及接收源主机的私有 IPv4 地址与源主机的公有 IPv4地址的映射表项并保存至地址映射表。

第二客户端设备 84, 用于接收网络地址转换设备发送的第三 IPv6报文, 并 向目的主机发送第三 IPv6报文。

本实施例中各设备的工作机理参见图 5和图 7对应实施例的说明, 在此不 再赘述。

本实施例主机间的访问系统, 网络地址转换设备 85 向第一客户端设备 83 发送源主机的私有 IPv4地址与源主机的公有 IPv4地址的映射表项、以及目的主 机的公有 IPv4地址与第二客户端设备的 IPv6地址的映射表项。从而第一客户端 设备 83在后续接收到同一源主机访问同一目的主机 第一 IPv4报文时,根据上 述映射表项对第一 IP v4报文进行处理, 并将处理后的报文发送给第二客户端设 备 84, 达到了减少网络流量的目的。

本领域普通技术人员可以理解: 实现上述方法实施例的部或部分步骤可以 通过程序指令相关的硬件来完成, 前述的程序可以存储于计算机可读取存储介 质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储介质 包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程序代码的介质 。

最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对其限 制; 尽管参照前述实施例对本发明进行了详细的说 明, 本领域的普通技术人员 应当理解: 其依然可以对前述各实施例所记载的技术方案 进行修改, 或者对其 中部分技术特征进行等同替换; 而这些修改或者替换, 并不使相应技术方案的 本质脱离本发明各实施例技术方案的精神和范 围。