CN103297336A - 转发网际协议分组的方法及设备 - Google Patents

转发网际协议分组的方法及设备 Download PDF

Info

Publication number
CN103297336A
CN103297336A CN2012102054524A CN201210205452A CN103297336A CN 103297336 A CN103297336 A CN 103297336A CN 2012102054524 A CN2012102054524 A CN 2012102054524A CN 201210205452 A CN201210205452 A CN 201210205452A CN 103297336 A CN103297336 A CN 103297336A
Authority
CN
China
Prior art keywords
grouping
address
source
port
ipv6
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012102054524A
Other languages
English (en)
Other versions
CN103297336B (zh
Inventor
叶宇煦
查敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Binzhou luanfei CNC Machinery Co.,Ltd.
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210205452.4A priority Critical patent/CN103297336B/zh
Publication of CN103297336A publication Critical patent/CN103297336A/zh
Application granted granted Critical
Publication of CN103297336B publication Critical patent/CN103297336B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种转发网际协议IP分组的方法,包括:用户边缘设备CE从用户侧接收第一IP分组,第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口;CE对第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成第二IP分组,第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口;CE向运营商级网络地址翻译设备CGN转发第二IP分组,以使CGN对第二IP分组执行地址翻译,生成第三IP分组,第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口。此外,本发明实施例还提供了其他方法及设备。通过本发明实施例提出的技术方案,可以降低CGN的开销。

Description

转发网际协议分组的方法及设备
技术领域
本发明实施例涉及通信技术,尤其涉及转发网际协议(Internet Protocol,IP)分组的方法及设备。
背景技术
随着网际(Internet)技术在全球范围的广泛使用,尚未被使用的网际协议第四版(Internet Protocol Version 4,IPv4)地址资源越来越少。网络地址翻译(Network Address Translation,NAT)技术是解决上述问题的一种手段。例如,可以将运营商级网络地址翻译设备(Carrier Grade NAT,CGN)部署在私网与公网之间。来自私网的IP分组欲通过CGN到达公网时,CGN能够对IP分组中的源IP地址以及传输控制协议以及网际协议(Transfer ControlProtocol/Internet Protocol,TCP/IP)族的传输层的源端口执行翻译操作,并将翻译后的IP分组转发至公网。
CGN向公网转发IP分组前,CGN需要对待转发的IP分组中的传输控制协议以及网际协议族的传输层的源端口执行翻译操作。执行端口翻译操作增加了CGN的开销。
发明内容
本发明实施例提供了转发IP分组的方法及设备,可以降低CGN的开销。
一方面,本发明实施例提供的一种转发IP分组的方法,包括:
CE从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口;
所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口;
所述CE向CGN转发所述第二IP分组,以使所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
另一方面,本发明实施例提供的另一种转发IP分组的方法,包括:
CGN接收CE转发的第二IP分组,所述第二IP分组通过如下途径获得:
所述CE从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口,所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成所述第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口;
所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
另一方面,本发明实施例提供的一种CE,所述CE包括:
接收单元,用于从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口;
翻译单元,用于对所述接收单元接收的所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口;和
转发单元,用于向CGN转发所述翻译单元生成的所述第二IP分组,以使所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
另一方面,本发明实施例提供的一种CGN,所述CGN包括:
接收单元,用于接收CE转发的第二IP分组,所述第二IP分组通过如下途径获得:所述CE从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口,所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成所述第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口;
翻译单元,用于对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
本发明实施例提供的技术方案中,CGN转发接收到的IP分组前,CGN不需要对接收到的IP分组执行端口翻译操作。因此,通过本发明实施例提供的技术方案,可以降低CGN的开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的技术方案的一种应用场景的组网结构图;
图2是本发明实施例提供的一种转发IP分组的方法的流程图;
图3是本发明实施例提供的另一种转发IP分组的方法的流程图;
图4是本发明实施例提供的一种CE的结构示意图;
图5是本发明实施例提供的一种CGN的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了转发IP分组方法及设备,可以降低CGN的开销。图1为本发明实施例提供的技术方案的一种应用场景的组网结构图。
图1的组网结构图包括六台网络设备,分别是第一终端、第二终端、第一用户边缘设备(Customer Edge,CE)、第二用户边缘设备、运营商级网络地址翻译设备以及应用服务器(Application Server,AS)。六台网络设备的连接关系如下:运营商级网络地址翻译设备与应用服务器通过公网连接。运营商级网络地址翻译设备与第一用户边缘设备通过第一私网连接。运营商级网络地址翻译设备与第二用户边缘设备通过第二私网连接。第一终端与第一用户边缘设备通过第一局域网连接。第二终端与第二用户边缘设备通过第二局域网连接。举例来说,第一终端和第二终端可以是个人电脑、个人数字助理或者机顶盒;应用服务器可以是网页服务器、文件服务器或者视频服务器。
本发明一个实施例提供了一种转发IP分组的方法,可以用于图1所示的组网结构中。参见图2,图2是本发明实施例提供的转发IP分组的方法的流程图,该方法包括:
202、CE从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口。
第一IP分组的发送主体为CE的用户侧的网络设备。举例来说,CE的用户侧的网络设备可以是个人电脑、个人数字助理或者机顶盒。参见图1,CE的用户侧的网络设备可以是第一终端或者第二终端。
第一IP分组对应的协议可以是IPv4或者IPv6。当第一IP分组对应的协议是IPv4时,第一IP头的格式与IPv4的规定一致。当第一IP分组对应的协议是IPv6时,第一IP头的格式与IPv6的规定一致。
第一IP分组包含IP头、传输层协议头以及净荷。其中IP头中包含源IP地址。传输层协议头对应传输控制协议以及网际协议族的传输层。例如,传输层协议头可以对应传输控制协议(Transmission Control Protocol,TCP)。传输层协议头也可以对应用户数据报协议(User Datagram Protocol,UDP)。传输层协议头中包含传输控制协议以及网际协议族的传输层的源端口。当传输层协议头对应TCP时,传输层协议头中包含的源端口为TCP源端口。当传输层协议头对应UDP时,传输层协议头中包含的源端口为UDP源端口。
204、所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口。
CE用于对第一IP分组执行源端口翻译操作,并转发源端口翻译后的IP分组。源端口翻译是指CE接收到IP分组后,使用新的源端口替换接收到的IP分组中的源端口,从而生成新的IP分组。
第二IP分组包含传输层协议头。传输层协议头包含的源端口为第二端口。CE计算得到第二端口后,CE可以保存第一端口与第二端口的对应关系。
可选的,CE可以对第一IP分组执行IP地址翻译操作,也可以不对第一IP分组执行IP地址翻译操作。如果CE的用户侧的网络规划与CE的网络侧的网络规划一致,CE可以不执行源IP地址翻译。
206、所述CE向CGN转发所述第二IP分组,以使所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
CGN位于CE的网络侧。CGN用于对第二IP分组执行源IP地址翻译操作,并转发源IP地址翻译后的IP分组。源IP地址翻译是指CGN接收到IP分组后,使用新的源IP地址替换接收到的IP分组中的源IP地址,从而生成新的IP分组。举例来说,可以根据预先设定的算法计算新的源IP地址。另外,源IP地址翻译可以是无状态地址翻译,也可以是有状态地址翻译。
第三IP分组中的源IP地址为公网地址。因此,第三IP分组中的源IP地址可以被公网正确识别。
第三IP分组中包含的传输层协议头与第二IP分组中的传输层协议头相同。也就是说,CGN根据第二IP分组生成第三IP分组时,没有对第二IP分组执行源端口翻译,降低了CGN的开销。
另外,如果CGN对第二IP分组执行源端口翻译,还可能触发CGN产生其他开销。例如,在第二IP分组中的传输层协议头对应TCP的场景下,第二IP分组中的传输层协议头还包含校验和(Checksum)字段。如果CGN将第二IP分组中的传输层协议头中的源端口替换为其他源端口,CGN不仅需要执行源端口计算,还需要根据替换后的源端口计算传输层协议头中的校验和字段。因此,相对于现有技术,本实施例提供的技术方案降低了CGN的开销。
可选的,本实施例提供的方法还可以包括:所述第二端口为集合中的元素,所述集合的元素为传输控制协议以及网际协议族的传输层的源端口,所述集合是所述CE通过主动获取协议、被动获取协议或者手工配置方式获得的。
举例来说,CE执行源端口翻译操作时,CE可以根据集合为第一端口确定新的源端口。
手工配置方式具体实现时,可以是运营商的工程师登录CE后,通过网页(Web Page)方式或者命令行方式对集合进行配置。
可选的,所述集合可以包括一个或者多个子集合。所述子集合可以包括一个端口或者端口段。
所述端口段存在多种标识方式。本发明不限定所述端口段的标识方式。举例来说,端口段可以用首端口以及尾端口的方式进行标识。例如,端口段对应的端口范围是:0至1000。另外,端口段可以用首端口以及端口总数的方式进行标识。例如,端口段对应的端口范围是:首端口:4096,端口总数:1000。另外,端口段可以用尾端口以及端口总数的方式进行标识。例如,端口段对应的端口范围是:尾端口:5096,端口总数:1000。
可选的,本实施例提供的方法还可以包括:所述主动获取协议为动态主机配置协议第四版(Dynamic Host Configuration Protocol version 4,DHCPv4)、动态主机配置协议第六版(Dynamic Host Configuration Protocol version 6,DHCPv6)或者邻居发现协议(Neighbor Discovery Protocol,NDP),所述被动获取协议为宽带论坛技术报告第069号(BroadBand Forum Technical Report069,BBF TR-069)、简单网络管理协议(Simple Network Management Protocol,SNMP)或者端口控制协议(Port Control Protocol,PCP)。
举例来说,CE可以通过扩展的NDP获取集合。当前的NDP中尚不能实现集合的配置,需要对NDP进行扩展。对NDP进行扩展时,可以为NDP中的路由通告(Router Advertisement,RA)消息增加新的选项(Option),从而实现通过NDP获取集合。
可选的,本实施例提供的方法中,所述CE从所述用户侧接收所述第一IP分组之后,以及所述生成所述第二IP分组之前,所述方法还可以包括:
所述CE对所述第一IP分组中的源IP地址执行地址翻译,所述第一IP分组包含的源IP地址为所述CE的用户侧的私网地址,所述第二IP分组包含的源IP地址为所述CE的网络侧的私网地址。
可选的,本实施例提供的方法中,所述第一IP分组包含网际协议第四版IPv4头,所述IPv4头包含源IPv4地址,所述源IPv4地址为私网地址。
所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成所述第二IP分组包括:所述CE执行端口翻译以及IPv6头封装,生成所述第二IP分组,所述第二IP分组中包含第一IPv6头,所述第一IPv6头中包含源IPv6地址。
所述CE向所述CGN转发所述第二IP分组,以使所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组包括:所述CE向所述CGN转发所述第二IP分组,以使所述CGN执行地址翻译以及IPv6头解封装,生成所述第三IP分组,所述第三IP分组包含源公网IPv4地址。
所述CE执行端口翻译以及IPv6头封装,生成所述第二IP分组。举例来说,可以先针对第一IP分组执行端口翻译,得到包含新端口的IP分组。然后,针对包含新端口的IP分组执行IPv6头封装,生成所述第二IP分组。举例来说,也可以先针对第一IP分组执行IPv6头封装,得到包含IPv6头的IP分组。然后,针对包含IPv6头的IP分组执行端口翻译,生成所述第二IP分组。本实施例不限定端口翻译和IPv6头封装的执行顺序。
所述CGN执行地址翻译以及IPv6头解封装,生成所述第三IP分组。举例来说,可以先针对第二IP分组执行IPv6头解封装,得到不包含IPv6头的IP分组。然后,针对不包含IPv6头的IP分组执行地址翻译,得到第三IP分组。第三IP分组包含新地址。也可以先针对第二IP分组执行地址翻译,得到包含新地址的IP分组。然后,针对包含新地址的IP分组执行IPv6头解封装,得到第三IP分组。第三IP分组不包含IPv6头。本实施例不限定地址翻译以及IPv6头解封装的执行顺序。
可选的,本实施例提供的方法中,
所述地址翻译包括计算所述源公网IPv4地址,所述源公网IPv4地址等于下述表达式的值:
Public IPv4_base+floor[(IPv6_i-IPv6_base)/P];
其中,Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i以及IPv6_base分别为所述源IPv6地址以及源IPv6地址池的首地址,所述源IPv6地址池包含所述源IPv6地址;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE。
所述公网IPv4地址池用于执行地址翻译,从而使得所述第三IP分组中携带所述源公网IPv4地址。
所述源IPv6地址池用于执行IPv6头封装,从而使得所述第二IP分组中携带第一IPv6头,所述第一IPv6头中包含所述源IPv6地址。
可选的,本实施例提供的方法中,
所述地址翻译包括计算所述源公网IPv4地址,所述源公网IPv4地址等于下述表达式的值:
Public IPv4_base+floor[(IPv6_i-IPv6_base)/P];
其中,Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i为所述源IPv6地址的前缀;IPv6_base为源IPv6前缀池的首前缀,所述源IPv6前缀池包含所述源IPv6地址的前缀;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE。
所述公网IPv4地址池用于执行地址翻译,从而使得所述第三IP分组中携带所述源公网IPv4地址。
所述源IPv6前缀池用于执行IPv6头封装,从而使得所述第二IP分组中携带第一IPv6头,所述第一IPv6头中包含所述源IPv6地址。
本发明另一个实施例提供了一种转发IP分组的方法。参见图3,图3是本发明实施例提供的转发IP分组的方法的流程图,该方法包括:
302、CGN接收CE转发的第二IP分组,所述第二IP分组通过如下途径获得:
所述CE从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口,所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成所述第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口。
第一IP分组的发送主体为CE的用户侧的网络设备。举例来说,CE的用户侧的网络设备可以是个人电脑、个人数字助理或者机顶盒。参见图1,CE的用户侧的网络设备可以是第一终端或者第二终端。
第一IP分组对应的协议可以是IPv4或者IPv6。当第一IP分组对应的协议是IPv4时,第一IP头的格式与IPv4的规定一致。当第一IP分组对应的协议是IPv6时,第一IP头的格式与IPv6的规定一致。
第一IP分组包含IP头、传输层协议头以及净荷。其中IP头中包含源IP地址。传输层协议头对应传输控制协议以及网际协议族的传输层。例如,传输层协议头可以对应TCP。传输层协议头也可以对应UDP。传输层协议头中包含传输控制协议以及网际协议族的传输层的源端口。当传输层协议头对应TCP时,传输层协议头中包含的源端口为TCP源端口。当传输层协议头对应UDP时,传输层协议头中包含的源端口为UDP源端口。
CE用于对第一IP分组执行源端口翻译操作,并转发源端口翻译后的IP分组。源端口翻译是指CE接收到IP分组后,使用新的源端口替换接收到的IP分组中的源端口,从而生成新的IP分组。
第二IP分组包含传输层协议头。传输层协议头包含的源端口为第二端口。CE计算得到第二端口后,CE可以保存第一端口与第二端口的对应关系。
可选的,CE可以对第一IP分组执行IP地址翻译操作,也可以不对第一IP分组执行IP地址翻译操作。如果CE的用户侧的网络规划与CE的网络侧的网络规划一致,CE可以不执行源IP地址翻译。
304、所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
CGN位于CE的网络侧。CGN用于对第二IP分组执行源IP地址翻译操作,并转发源IP地址翻译后的IP分组。源IP地址翻译是指CGN接收到IP分组后,使用新的源IP地址替换接收到的IP分组中的源IP地址,从而生成新的IP分组。举例来说,可以是根据预先设定的算法计算新的源IP地址。另外,源IP地址翻译可以是无状态地址翻译,也可以是有状态地址翻译。
第三IP分组中的源IP地址为公网地址。因此,第三IP分组中的源IP地址可以被公网正确识别。
第三IP分组中包含的传输层协议头与第二IP分组中的传输层协议头相同。也就是说,CGN根据第二IP分组生成第三IP分组时,没有对第二IP分组执行源端口翻译,降低了CGN的开销。
另外,如果CGN对第二IP分组执行源端口翻译,还可能触发CGN产生其他开销。例如,在第二IP分组中的传输层协议头对应TCP的场景下,第二IP分组中的传输层协议头还包含校验和字段。如果CGN将第二IP分组中的传输层协议头中的源端口替换为其他源端口,CGN不仅需要执行源端口计算,还需要根据替换后的源端口计算传输层协议头中的校验和字段。因此,相对于现有技术,本实施例提供的技术方案降低了CGN的开销。
可选的,本实施例提供的方法中,所述第二端口为集合中的元素,所述集合的元素为传输控制协议以及网际协议族的传输层的源端口,所述集合是所述CE通过主动获取协议、被动获取协议或者手工配置方式获得的。
举例来说,CE执行源端口翻译操作时,CE可以根据集合为第一端口确定新的源端口。
手工配置方式具体实现时,可以是运营商的工程师登录CE后,通过网页方式或者命令行方式对集合进行配置。
可选的,本实施例提供的方法中,所述集合可以包括一个或者多个子集合。所述子集合可以包括一个端口或者端口段。
所述端口段存在多种标识方式。本发明不限定所述端口段的标识方式。举例来说,端口段可以用首端口以及尾端口的方式进行标识。例如,端口段对应的端口范围是:0至1000。另外,端口段可以用首端口以及端口总数的方式进行标识。例如,端口段对应的端口范围是:首端口:4096,端口总数:1000。另外,端口段可以用尾端口以及端口总数的方式进行标识。例如,端口段对应的端口范围是:尾端口:5096,端口总数:1000。
可选的,本实施例提供的方法中,所述主动获取协议为DHCPv4、DHCPv6或者NDP,所述被动获取协议为BBF TR-069、SNMP或者PCP。
举例来说,CE可以通过扩展的NDP获取集合。当前的NDP中尚不能实现集合的配置,需要对NDP进行扩展。对NDP进行扩展时,可以为NDP中的RA消息增加新的选项,从而实现通过NDP获取集合。
可选的,本实施例提供的方法中,所述第一IP分组包含网际协议第四版IPv4头,所述IPv4头包含源IPv4地址,所述源IPv4地址为私网地址。
所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成所述第二IP分组包括:所述CE执行所述端口翻译以及IPv6头封装,生成所述第二IP分组,所述第二IP分组中包含第一IPv6头,所述第一IPv6头中包含源IPv6地址;
所述CGN对所述第二IP分组执行地址翻译,生成所述第三IP分组包括:所述CGN执行所述地址翻译以及IPv6头解封装,生成所述第三IP分组,所述第三IP分组包含源公网IPv4地址。
所述CE执行端口翻译以及IPv6头封装,生成所述第二IP分组。举例来说,可以先针对第一IP分组执行端口翻译,得到包含新端口的IP分组。然后,针对包含新端口的IP分组执行IPv6头封装,生成所述第二IP分组。举例来说,也可以先针对第一IP分组执行IPv6头封装,得到包含IPv6头的IP分组。然后,针对包含IPv6头的IP分组执行端口翻译,生成所述第二IP分组。本实施例不限定端口翻译和IPv6头封装的执行顺序。
所述CGN执行地址翻译以及IPv6头解封装,生成所述第三IP分组。举例来说,可以先针对第二IP分组执行IPv6头解封装,得到不包含IPv6头的IP分组。然后,针对不包含IPv6头的IP分组执行地址翻译,得到第三IP分组。第三IP分组包含新地址。也可以先针对第二IP分组执行地址翻译,得到包含新地址的IP分组。然后,针对包含新地址的IP分组执行IPv6头解封装,得到第三IP分组。第三IP分组不包含IPv6头。本实施例不限定地址翻译以及IPv6头解封装的执行顺序。
可选的,本实施例提供的方法中,
所述地址翻译包括计算所述源公网IPv4地址,所述源公网IPv4地址等于下述表达式的值:
Public IPv4_base+floor[(IPv6_i-IPv6_base)/P];
其中,Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i以及IPv6_base分别为所述源IPv6地址以及源IPv6地址池的首地址,所述源IPv6地址池包含所述源IPv6地址;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE。
所述公网IPv4地址池用于执行地址翻译,从而使得所述第三IP分组中携带所述源公网IPv4地址。
所述源IPv6地址池用于执行IPv6头封装,从而使得所述第二IP分组中携带第一IPv6头,所述第一IPv6头中包含所述源IPv6地址。
可选的,本实施例提供的方法中,
所述地址翻译包括计算所述源公网IPv4地址,所述源公网IPv4地址等于下述表达式的值:
Public IPv4_base+floor[(IPv6_i-IPv6_base)/P];
其中,Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i为所述源IPv6地址的前缀;IPv6_base为源IPv6前缀池的首前缀,所述源IPv6前缀池包含所述源IPv6地址的前缀;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE。
所述公网IPv4地址池用于执行地址翻译,从而使得所述第三IP分组中携带所述源公网IPv4地址。
所述源IPv6前缀池用于执行IPv6头封装,从而使得所述第二IP分组中携带第一IPv6头,所述第一IPv6头中包含所述源IPv6地址。
本发明又一个实施例提供了一种CE。参见图4,图4是本发明实施例提供的一种CE的结构示意图,该CE包括:
接收单元402,用于从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口。
举例来说,接收单元402可以通过CE的接收器实现。
第一IP分组的发送主体为CE的用户侧的网络设备。举例来说,CE的用户侧的网络设备可以是个人电脑、个人数字助理或者机顶盒。参见图1,CE的用户侧的网络设备可以是第一终端或者第二终端。
第一IP分组对应的协议可以是IPv4或者IPv6。当第一IP分组对应的协议是IPv4时,第一IP头的格式与IPv4的规定一致。当第一IP分组对应的协议是IPv6时,第一IP头的格式与IPv6的规定一致。
第一IP分组包含IP头、传输层协议头以及净荷。其中IP头中包含源IP地址。传输层协议头对应传输控制协议以及网际协议族的传输层。例如,传输层协议头可以对应TCP。传输层协议头也可以对应UDP。传输层协议头中包含传输控制协议以及网际协议族的传输层的源端口。当传输层协议头对应TCP时,传输层协议头中包含的源端口为TCP源端口。当传输层协议头对应UDP时,传输层协议头中包含的源端口为UDP源端口。
翻译单元404,用于对所述接收单元接收的所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口。
举例来说,翻译单元404可以通过CE的CPU实现。
CE用于对第一IP分组执行源端口翻译操作,并转发源端口翻译后的IP分组。源端口翻译是指CE接收到IP分组后,使用新的源端口替换接收到的IP分组中的源端口,从而生成新的IP分组。
第二IP分组包含传输层协议头。传输层协议头包含的源端口为第二端口。CE计算得到第二端口后,CE可以保存第一端口与第二端口的对应关系。
可选的,CE可以对第一IP分组执行IP地址翻译操作,也可以不对第一IP分组执行IP地址翻译操作。如果CE的用户侧的网络规划与CE的网络侧的网络规划一致,CE可以不执行源IP地址翻译。
转发单元406,用于向CGN转发所述翻译单元生成的所述第二IP分组,以使所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
举例来说,转发单元406可以通过CE的发送器实现。
CGN位于CE的网络侧。CGN用于对第二IP分组执行源IP地址翻译操作,并转发源IP地址翻译后的IP分组。源IP地址翻译是指CGN接收到IP分组后,使用新的源IP地址替换接收到的IP分组中的源IP地址,从而生成新的IP分组。举例来说,可以根据预先设定的算法计算新的源IP地址。另外,源IP地址翻译可以是无状态地址翻译,也可以是有状态地址翻译。
第三IP分组中的源IP地址为公网地址。因此,第三IP分组中的源IP地址可以被公网正确识别。
第三IP分组中包含的传输层协议头与第二IP分组中的传输层协议头相同。也就是说,CGN根据第二IP分组生成第三IP分组时,没有对第二IP分组执行源端口翻译,降低了CGN的开销。
另外,如果CGN对第二IP分组执行源端口翻译,还可能触发CGN产生其他开销。例如,在第二IP分组中的传输层协议头对应TCP的场景下,第二IP分组中的传输层协议头还包含校验和字段。如果CGN将第二IP分组中的传输层协议头中的源端口替换为其他源端口,CGN不仅需要执行源端口计算,还需要根据替换后的源端口计算传输层协议头中的校验和字段。因此,相对于现有技术,本实施例提供的技术方案降低了CGN的开销。
可选的,所述第一端口为集合中的元素,所述集合的元素为传输控制协议以及网际协议族的传输层的源端口,所述集合是所述CE通过主动获取协议、被动获取协议或者手工配置方式获得的。
举例来说,CE执行源端口翻译操作时,CE可以根据集合为第一端口确定新的源端口。
手工配置方式具体实现时,可以是运营商的工程师登录CE后,通过网页方式或者命令行方式对集合进行配置。
可选的,本实施例提供的设备中,所述集合可以包括一个或者多个子集合。所述子集合可以包括一个端口或者端口段。
所述端口段存在多种标识方式。本发明不限定所述端口段的标识方式。举例来说,端口段可以用首端口以及尾端口的方式进行标识。例如,端口段对应的端口范围是:0至1000。另外,端口段可以用首端口以及端口总数的方式进行标识。例如,端口段对应的端口范围是:首端口:4096,端口总数:1000。另外,端口段可以用尾端口以及端口总数的方式进行标识。例如,端口段对应的端口范围是:尾端口:5096,端口总数:1000。
可选的,所述主动获取协议为动态主机配置协议第四版DHCPv4、动态主机配置协议第六版DHCPv6或者NDP,所述被动获取协议为BBF TR-069、SNMP或者PCP。
举例来说,CE可以通过扩展的NDP获取集合。当前的NDP中尚不能实现集合的配置,需要对NDP进行扩展。对NDP进行扩展时,可以为NDP中的RA消息增加新的选项,从而实现通过NDP获取集合。
可选的,本实施例提供的设备中,所述翻译单元404可以包括:
第一翻译单元,用于对所述接收单元接收的所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译;和
生成单元,用于根据所述第一翻译单元的执行结果生成所述第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
可选的,本实施例提供的设备中,所述翻译单元404可以包括:
第一翻译单元,用于对所述接收单元接收的所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译;
第二翻译单元,用于对所述接收单元接收的所述第一IP分组中的源IP地址执行地址翻译,所述第一IP分组包含的源IP地址为所述CE的用户侧的私网地址,所述第二IP分组包含的源IP地址为所述CE的网络侧的私网地址;
生成单元,用于根据所述第一翻译单元的执行结果以及所述第二翻译单元的执行结果生成所述第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
可选的,本实施例提供的设备中,所述翻译单元404具体用于执行所述端口翻译以及IPv6头封装,生成所述第二IP分组,所述第二IP分组中包含第一IPv6头,所述第一IPv6头中包含源IPv6地址,所述第一IP分组包含网际协议第四版IPv4头,所述IPv4头包含源IPv4地址,所述源IPv4地址为私网地址;
所述转发单元406用于向所述CGN转发所述第二IP分组,以使所述CGN执行所述地址翻译以及IPv6头解封装,生成所述第三IP分组,所述第三IP分组包含源公网IPv4地址。
所述CE执行端口翻译以及IPv6头封装,生成所述第二IP分组。举例来说,可以先针对第一IP分组执行端口翻译,得到包含新端口的IP分组。然后,针对包含新端口的IP分组执行IPv6头封装,生成所述第二IP分组。举例来说,也可以先针对第一IP分组执行IPv6头封装,得到包含IPv6头的IP分组。然后,针对包含IPv6头的IP分组执行端口翻译,生成所述第二IP分组。本实施例不限定端口翻译和IPv6头封装的执行顺序。
所述CGN执行地址翻译以及IPv6头解封装,生成所述第三IP分组。举例来说,可以先针对第二IP分组执行IPv6头解封装,得到不包含IPv6头的IP分组。然后,针对不包含IPv6头的IP分组执行地址翻译,得到第三IP分组。第三IP分组包含新地址。也可以先针对第二IP分组执行地址翻译,得到包含新地址的IP分组。然后,针对包含新地址的IP分组执行IPv6头解封装,得到第三IP分组。第三IP分组不包含IPv6头。本实施例不限定地址翻译以及IPv6头解封装的执行顺序。
可选的,本实施例提供的设备中,
所述地址翻译包括计算所述源公网IPv4地址,所述源公网IPv4地址等于下述表达式的值:
Public IPv4_base+floor[(IPv6_i-IPv6_base)/P];
其中,Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i以及IPv6_base分别为所述源IPv6地址以及源IPv6地址池的首地址,所述源IPv6地址池包含所述源IPv6地址;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE。
所述公网IPv4地址池用于执行地址翻译,从而使得所述第三IP分组中携带所述源公网IPv4地址。
所述源IPv6地址池用于执行IPv6头封装,从而使得所述第二IP分组中携带第一IPv6头,所述第一IPv6头中包含所述源IPv6地址。
可选的,本实施例提供的设备中,
所述地址翻译包括计算所述源公网IPv4地址,所述源公网IPv4地址等于下述表达式的值:
Public IPv4_base+floor[(IPv6_i-IPv6_base)/P];
其中,Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i为所述源IPv6地址的前缀;IPv6_base为源IPv6前缀池的首前缀,所述源IPv6前缀池包含所述源IPv6地址的前缀;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE。
所述公网IPv4地址池用于执行地址翻译,从而使得所述第三IP分组中携带所述源公网IPv4地址。
所述源IPv6前缀池用于执行IPv6头封装,从而使得所述第二IP分组中携带第一IPv6头,所述第一IPv6头中包含所述源IPv6地址。
本发明另一个实施例提供了一种CGN,可以用于图1所示的组网结构中。参见图5,图5是本发明实施例提供的一种CGN的结构示意图。所述CGN包括:
接收单元502,用于接收CE转发的第二IP分组,所述第二IP分组通过如下途径获得:
所述CE从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口,所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成所述第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口。
举例来说,接收单元502可以通过CGN的接收器实现。
第一IP分组的发送主体为CE的用户侧的网络设备。举例来说,CE的用户侧的网络设备可以是个人电脑、个人数字助理或者机顶盒。参见图1,CE的用户侧的网络设备可以是第一终端或者第二终端。
第一IP分组对应的协议可以是IPv4或者IPv6。当第一IP分组对应的协议是IPv4时,第一IP头的格式与IPv4的规定一致。当第一IP分组对应的协议是IPv6时,第一IP头的格式与IPv6的规定一致。
第一IP分组包含IP头、传输层协议头以及净荷。其中IP头中包含源IP地址。传输层协议头对应传输控制协议以及网际协议族的传输层。例如,传输层协议头可以对应TCP。传输层协议头也可以对应UDP。传输层协议头中包含传输控制协议以及网际协议族的传输层的源端口。当传输层协议头对应TCP时,传输层协议头中包含的源端口为TCP源端口。当传输层协议头对应UDP时,传输层协议头中包含的源端口为UDP源端口。
CE用于对第一IP分组执行源端口翻译操作,并转发源端口翻译后的IP分组。源端口翻译是指CE接收到IP分组后,使用新的源端口替换接收到的IP分组中的源端口,从而生成新的IP分组。
第二IP分组包含传输层协议头。传输层协议头包含的源端口为第二端口。CE计算得到第二端口后,CE可以保存第一端口与第二端口的对应关系。
可选的,CE可以对第一IP分组执行IP地址翻译操作,也可以不对第一IP分组执行IP地址翻译操作。如果CE的用户侧的网络规划与CE的网络侧的网络规划一致,CE可以不执行源IP地址翻译。
翻译单元504,用于对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
举例来说,翻译单元504可以通过CGN的CPU实现。
CGN位于CE的网络侧。CGN用于对第二IP分组执行源IP地址翻译操作,并转发源IP地址翻译后的IP分组。源IP地址翻译是指CGN接收到IP分组后,使用新的源IP地址替换接收到的IP分组中的源IP地址,从而生成新的IP分组。举例来说,可以根据预先设定的算法计算新的源IP地址。另外,源IP地址翻译可以是无状态地址翻译,也可以是有状态地址翻译。
第三IP分组中的源IP地址为公网地址。因此,第三IP分组中的源IP地址可以被公网正确识别。
第三IP分组中包含的传输层协议头与第二IP分组中的传输层协议头相同。也就是说,CGN根据第二IP分组生成第三IP分组时,没有对第二IP分组执行源端口翻译,降低了CGN的开销。
另外,如果CGN对第二IP分组执行源端口翻译,还可能触发CGN产生其他开销。例如,在第二IP分组中的传输层协议头对应TCP的场景下,第二IP分组中的传输层协议头还包含校验和字段。如果CGN将第二IP分组中的传输层协议头中的源端口替换为其他源端口,CGN不仅需要执行源端口计算,还需要根据替换后的源端口计算传输层协议头中的校验和字段。因此,相对于现有技术,本实施例提供的技术方案降低了CGN的开销。
可选的,所述第一端口为集合中的元素,所述集合的元素为传输控制协议以及网际协议族的传输层的源端口,所述集合是所述CE通过主动获取协议、被动获取协议或者手工配置方式获得的。
举例来说,CE执行源端口翻译操作时,CE可以根据集合为第一端口确定新的源端口。
手工配置方式具体实现时,可以是运营商的工程师登录CE后,通过网页方式或者命令行方式对集合进行配置。
可选的,所述集合可以包括一个或者多个子集合。所述子集合可以包括一个端口或者端口段。
举例来说,所述端口段存在多种标识方式。本发明不限定所述端口段的标识方式。举例来说,端口段可以用首端口以及尾端口的方式进行标识。例如,端口段对应的端口范围是:0至1000。另外,端口段可以用首端口以及端口总数的方式进行标识。例如,端口段对应的端口范围是:首端口:4096,端口总数:1000。另外,端口段可以用尾端口以及端口总数的方式进行标识。例如,端口段对应的端口范围是:尾端口:5096,端口总数:1000。
可选的,所述主动获取协议为动态主机配置协议第四版DHCPv4、动态主机配置协议第六版DHCPv6或者NDP,所述被动获取协议为BBF TR-069、SNMP或者PCP。
举例来说,CE可以通过扩展的NDP获取集合。当前的NDP中尚不能实现集合的配置,需要对NDP进行扩展。对NDP进行扩展时,可以为NDP中的RA消息增加新的选项,从而实现通过NDP获取集合。
可选的,本实施例提供的设备中,所述接收单元502具体用于接收所述CE转发的所述第二网际协议IP分组,所述第二IP分组通过如下途径获得:所述CE从用户侧接收所述第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第一端口,所述CE执行所述端口翻译以及IPv6头封装,生成所述第二IP分组,所述第二IP分组中包含第一IPv6头,所述第一IPv6头中包含源IPv6地址,所述第一IP分组包含网际协议第四版IPv4头,所述IPv4头包含源IPv4地址,所述源IPv4地址为私网地址,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口;
所述翻译单元504还用于执行IPv6头解封装,所述第三IP分组包含源公网IPv4地址。
所述CE执行端口翻译以及IPv6头封装,生成所述第二IP分组。举例来说,可以先针对第一IP分组执行端口翻译,得到包含新端口的IP分组。然后,针对包含新端口的IP分组执行IPv6头封装,生成所述第二IP分组。举例来说,也可以先针对第一IP分组执行IPv6头封装,得到包含IPv6头的IP分组。然后,针对包含IPv6头的IP分组执行端口翻译,生成所述第二IP分组。本实施例不限定端口翻译和IPv6头封装的执行顺序。
所述CGN执行地址翻译以及IPv6头解封装,生成所述第三IP分组。举例来说,可以先针对第二IP分组执行IPv6头解封装,得到不包含IPv6头的IP分组。然后,针对不包含IPv6头的IP分组执行地址翻译,得到第三IP分组。第三IP分组包含新地址。也可以先针对第二IP分组执行地址翻译,得到包含新地址的IP分组。然后,针对包含新地址的IP分组执行IPv6头解封装,得到第三IP分组。第三IP分组不包含IPv6头。本实施例不限定地址翻译以及IPv6头解封装的执行顺序。
可选的,本实施例提供的设备中,
所述地址翻译包括计算所述源公网IPv4地址,所述源公网IPv4地址等于下述表达式的值:
Public IPv4_base+floor[(IPv6_i-IPv6_base)/P];
其中,Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i以及IPv6_base分别为所述源IPv6地址以及源IPv6地址池的首地址,所述源IPv6地址池包含所述源IPv6地址;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE。
所述公网IPv4地址池用于执行地址翻译,从而使得所述第三IP分组中携带所述源公网IPv4地址。
所述源IPv6地址池用于执行IPv6头封装,从而使得所述第二IP分组中携带第一IPv6头,所述第一IPv6头中包含所述源IPv6地址。
可选的,本实施例提供的设备中,
所述地址翻译包括计算所述源公网IPv4地址,所述源公网IPv4地址等于下述表达式的值:
Public IPv4_base+floor[(IPv6_i-IPv6_base)/P];
其中,Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i为所述源IPv6地址的前缀;IPv6_base为源IPv6前缀池的首前缀,所述源IPv6前缀池包含所述源IPv6地址的前缀;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE。
所述公网IPv4地址池用于执行地址翻译,从而使得所述第三IP分组中携带所述源公网IPv4地址。
所述源IPv6前缀池用于执行IPv6头封装,从而使得所述第二IP分组中携带第一IPv6头,所述第一IPv6头中包含所述源IPv6地址。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文缩写为ROM,英文全称为Read-Only Memory)、随机存取存储器(英文缩写为RAM,英文全称为Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (17)

1.一种转发网际协议IP分组的方法,其特征在于,包括:
用户边缘设备CE从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口;
所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口;
所述CE向运营商级网络地址翻译设备CGN转发所述第二IP分组,以使所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
2.根据权利要求1所述的方法,其特征在于,
所述第二端口为集合中的元素,所述集合的元素为传输控制协议以及网际协议族的传输层的源端口,所述集合是所述CE通过主动获取协议、被动获取协议或者手工配置方式获得的。
3.根据权利要求2所述的方法,其特征在于,
所述主动获取协议为动态主机配置协议第四版DHCPv4、动态主机配置协议第六版DHCPv6或者邻居发现协议NDP,所述被动获取协议为宽带论坛技术报告第069号BBF TR-069、简单网络管理协议SNMP或者端口控制协议PCP。
4.根据权利要求1至3中任一所述的方法,其特征在于,所述CE从所述用户侧接收所述第一IP分组之后,以及所述生成所述第二IP分组之前,所述方法还包括:
所述CE对所述第一IP分组中的源IP地址执行地址翻译,所述第一IP分组包含的源IP地址为所述CE的用户侧的私网地址,所述第二IP分组包含的源IP地址为所述CE的网络侧的私网地址。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述第一IP分组包含网际协议第四版IPv4头,所述IPv4头包含源IPv4地址,所述源IPv4地址为私网地址;
所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成所述第二IP分组包括:
所述CE执行端口翻译以及网际协议第六版IPv6头封装,生成
所述第二IP分组,所述第二IP分组中包含第一IPv6头,所述第一IPv6头中包含源IPv6地址;
所述CE向所述CGN转发所述第二IP分组,以使所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组包括:
所述CE向所述CGN转发所述第二IP分组,以使所述CGN执行地址翻译以及IPv6头解封装,生成所述第三IP分组,所述第三IP分组包含源公网IPv4地址。
6.根据权利要求5所述的方法,其特征在于,
所述地址翻译包括计算所述源公网IPv4地址,所述源公网IPv4地址等于下述表达式的值:
Public IPv4_base+floor[(IPv6_i-IPv6_base)/P];
其中,Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i为所述源IPv6地址;IPv6_base为源IPv6地址池的首地址,所述源IPv6地址池包含所述源IPv6地址;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE;
Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i为所述源IPv6地址的前缀;IPv6_base为源IPv6前缀池的首前缀,所述源IPv6前缀池包含所述源IPv6地址的前缀;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE。
7.一种转发网际协议IP分组的方法,其特征在于,包括:
运营商级网络地址翻译设备CGN接收用户边缘设备CE转发的第二网际协议IP分组,所述第二IP分组通过如下途径获得:
所述CE从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口,所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成所述第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口;
所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
8.根据权利要求7所述的方法,其特征在于,
所述第二端口为集合中的元素,所述集合的元素为传输控制协议以及网际协议族的传输层的源端口,所述集合是所述CE通过主动获取协议、被动获取协议或者手工配置方式获得的。
9.根据权利要求8所述的方法,其特征在于,
所述主动获取协议为动态主机配置协议第四版DHCPv4、动态主机配置协议第六版DHCPv6或者邻居发现协议NDP,所述被动获取协议为宽带论坛技术报告第069号BBF TR-069、简单网络管理协议SNMP或者端口控制协议PCP。
10.根据权利要求7至9中任一所述的方法,其特征在于,所述第一IP分组包含网际协议第四版IPv4头,所述IPv4头包含源IPv4地址,所述源IPv4地址为私网地址;
所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成所述第二IP分组包括:
所述CE执行所述端口翻译以及网际协议第六版IPv6头封装,生成所述第二IP分组,所述第二IP分组中包含第一IPv6头,所述第一IPv6头中包含源IPv6地址;
所述CGN对所述第二IP分组执行地址翻译,生成所述第三IP分组包括:
所述CGN执行所述地址翻译以及IPv6头解封装,生成所述第三IP分组,所述第三IP分组包含源公网IPv4地址。
11.根据权利要求10所述的方法,其特征在于,
所述地址翻译包括计算所述源公网IPv4地址,所述源公网IPv4地址等于下述表达式的值:
Public IPv4_base+floor[(IPv6_i-IPv6_base)/P];
其中,Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i为所述源IPv6地址;IPv6_base为源IPv6地址池的首地址,所述源IPv6地址池包含所述源IPv6地址;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE;
Public IPv4_base为公网IPv4地址池的首地址,所述公网IPv4地址池包含所述源公网IPv4地址;floor用于执行取整运算;IPv6_i为所述源IPv6地址的前缀;IPv6_base为源IPv6前缀池的首前缀,所述源IPv6前缀池包含所述源IPv6地址的前缀;P为所述源公网IPv4地址的复用率,所述源公网IPv4地址被多个CE复用,所述多个CE的数量为P,所述多个CE包括所述CE。
12.一种用户边缘设备CE,其特征在于,所述CE包括:
接收单元,用于从用户侧接收第一网际协议IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口;
翻译单元,用于对所述接收单元接收的所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口;和
转发单元,用于向运营商级网络地址翻译设备CGN转发所述翻译单元生成的所述第二IP分组,以使所述CGN对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
13.根据权利要求12所述的设备,其特征在于,所述翻译单元包括:
第一翻译单元,用于对所述接收单元接收的所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译;和
生成单元,用于根据所述第一翻译单元的执行结果生成所述第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
14.根据权利要求12所述的设备,其特征在于,所述翻译单元包括:
第一翻译单元,用于对所述接收单元接收的所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译;
第二翻译单元,用于对所述接收单元接收的所述第一IP分组中的源IP地址执行地址翻译,所述第一IP分组包含的源IP地址为所述CE的用户侧的私网地址,所述第二IP分组包含的源IP地址为所述CE的网络侧的私网地址;
生成单元,用于根据所述第一翻译单元的执行结果以及所述第二翻译单元的执行结果生成所述第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
15.根据权利要求12至14任一所述的设备,其特征在于:
所述翻译单元具体用于执行所述端口翻译以及网际协议第六版IPv6头封装,生成所述第二IP分组,所述第二IP分组中包含第一IPv6头,所述第一IPv6头中包含源IPv6地址,所述第一IP分组包含网际协议第四版IPv4头,所述IPv4头包含源IPv4地址,所述源IPv4地址为私网地址;
所述转发单元用于向所述CGN转发所述第二IP分组,以使所述CGN执行所述地址翻译以及IPv6头解封装,生成所述第三IP分组,所述第三IP分组包含源公网IPv4地址。
16.一种运营商级网络地址翻译设备CGN,其特征在于,所述CGN包括:
接收单元,用于接收用户边缘设备CE转发的第二网际协议IP分组,所述第二IP分组通过如下途径获得:
所述CE从用户侧接收第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第一端口,所述CE对所述第一IP分组中的传输控制协议以及网际协议族的传输层的源端口执行端口翻译,生成所述第二IP分组,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为第二端口;
翻译单元,用于对所述第二IP分组执行地址翻译,生成第三IP分组,所述第三IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口。
17.根据权利要求16所述的设备,其特征在于,
所述接收单元具体用于接收所述CE转发的所述第二网际协议IP分组,所述第二IP分组通过如下途径获得:
所述CE从用户侧接收所述第一IP分组,所述第一IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第一端口,所述CE执行所述端口翻译以及网际协议第六版IPv6头封装,生成所述第二IP分组,所述第二IP分组中包含第一IPv6头,所述第一IPv6头中包含源IPv6地址,所述第一IP分组包含网际协议第四版IPv4头,所述IPv4头包含源IPv4地址,所述源IPv4地址为私网地址,所述第二IP分组包含的传输控制协议以及网际协议族的传输层的源端口为所述第二端口;
所述翻译单元还用于执行IPv6头解封装,所述第三IP分组包含源公网IPv4地址。
CN201210205452.4A 2012-03-02 2012-06-20 转发网际协议分组的方法及设备 Active CN103297336B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210205452.4A CN103297336B (zh) 2012-03-02 2012-06-20 转发网际协议分组的方法及设备

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN2012100536664 2012-03-02
CN201210053666 2012-03-02
CN201210053666.4 2012-03-02
CN201210205452.4A CN103297336B (zh) 2012-03-02 2012-06-20 转发网际协议分组的方法及设备

Publications (2)

Publication Number Publication Date
CN103297336A true CN103297336A (zh) 2013-09-11
CN103297336B CN103297336B (zh) 2017-06-06

Family

ID=49097677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210205452.4A Active CN103297336B (zh) 2012-03-02 2012-06-20 转发网际协议分组的方法及设备

Country Status (1)

Country Link
CN (1) CN103297336B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218459A (zh) * 2017-06-29 2019-01-15 瞻博网络公司 互联网协议之间的转换

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447935A (zh) * 2008-11-20 2009-06-03 华为技术有限公司 数据包转发方法、系统及设备
CN101854285A (zh) * 2009-04-03 2010-10-06 华为技术有限公司 运营商级网络地址转换设备发现方法、设备和系统
US20100322247A1 (en) * 2009-06-17 2010-12-23 Ichihashi Masataka Internetwork device
CN102143241A (zh) * 2010-07-30 2011-08-03 华为技术有限公司 主机间的访问方法、设备及系统
US20110268121A1 (en) * 2009-04-16 2011-11-03 Nec Corporation Address-sharing system
WO2011147353A1 (zh) * 2010-11-25 2011-12-01 华为技术有限公司 一种报文发送方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447935A (zh) * 2008-11-20 2009-06-03 华为技术有限公司 数据包转发方法、系统及设备
US20110222543A1 (en) * 2008-11-20 2011-09-15 Huawei Technologies Co., Ltd. Method for forwarding data packet, system, and device
CN101854285A (zh) * 2009-04-03 2010-10-06 华为技术有限公司 运营商级网络地址转换设备发现方法、设备和系统
US20110268121A1 (en) * 2009-04-16 2011-11-03 Nec Corporation Address-sharing system
US20100322247A1 (en) * 2009-06-17 2010-12-23 Ichihashi Masataka Internetwork device
CN102143241A (zh) * 2010-07-30 2011-08-03 华为技术有限公司 主机间的访问方法、设备及系统
WO2011147353A1 (zh) * 2010-11-25 2011-12-01 华为技术有限公司 一种报文发送方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218459A (zh) * 2017-06-29 2019-01-15 瞻博网络公司 互联网协议之间的转换
CN109218459B (zh) * 2017-06-29 2021-12-03 瞻博网络公司 互联网协议之间转换的设备及方法
US11463358B2 (en) 2017-06-29 2022-10-04 Juniper Networks, Inc. Translation between a first version of internet protocol and a second version of internet protocol when an application layer gateway (ALG) is involved

Also Published As

Publication number Publication date
CN103297336B (zh) 2017-06-06

Similar Documents

Publication Publication Date Title
CN102148845B (zh) 一种实现ftp数据传输的方法和系统
CN104639414A (zh) 一种报文转发方法和设备
US9191313B2 (en) Communications over multiple protocol interfaces in a computing environment
WO2013185731A2 (zh) 一种自动管理IPv6地址冲突的方法及系统
CN103236964B (zh) 基于Linux的DS-Lite实现方法及其CPE接入设备
CN104270475A (zh) 基于NAT64实现IPv4网络与IPv6网络互通的系统及方法
CN104333610A (zh) 一种IPv6地址分配方法和装置
CN105359458A (zh) 网络设备通信方法及网络设备
US8194683B2 (en) Teredo connectivity between clients behind symmetric NATs
CN102143241B (zh) 主机间的访问方法、设备及系统
CN102291305B (zh) 实现6to4中继路由的方法和设备以及报文转发方法
Chauhan et al. A survey on next generation Internet Protocol: IPv6
CN105530159A (zh) 一种实现跨IPv6和IPv4的VPN互访的方法和系统
CN1875573B (zh) 提供能够在不同类型的网络之间进行数据通信的隧道服务的方法、节点和服务器
CN103856581A (zh) 一种用户侧设备的翻译封装自适应算法
Shiranzaei et al. Internet protocol versions—A review
US9866524B2 (en) Home gateway apparatus and packet transfer method
CN113300871B (zh) 一种仿真网络的组网方法和装置
CN109246016A (zh) 跨vxlan的报文处理方法和装置
CN105515995A (zh) 报文处理方法、流表生成方法及装置
EP2566139A1 (en) Method and device for obtaining remote ip address
US20160080315A1 (en) Enhanced dynamic host configuration protocol (dhcp)
CN103297336A (zh) 转发网际协议分组的方法及设备
Hossain et al. Performance analysis of three transition mechanisms between IPv6 network and IPv4 network: Dual Stack, Tunneling and Translation
CN102238084B (zh) 一种跨域报文的转发方法、装置、路由设备和客户端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211230

Address after: 215010 room 704, building 5, No. 556, Changjiang Road, high tech Zone, Suzhou, Jiangsu

Patentee after: SUZHOU YUDESHUI ELECTRICAL TECHNOLOGY Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Effective date of registration: 20211230

Address after: 256599 intersection of Xingbo 2nd Road and Xingye 7th Road, Boxing County Economic Development Zone, Binzhou City, Shandong Province

Patentee after: Binzhou luanfei CNC Machinery Co.,Ltd.

Address before: 215010 room 704, building 5, No. 556, Changjiang Road, high tech Zone, Suzhou, Jiangsu

Patentee before: SUZHOU YUDESHUI ELECTRICAL TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right