CN102377628B - 建立DS-Lite隧道的方法和DS-Lite CGN - Google Patents

建立DS-Lite隧道的方法和DS-Lite CGN Download PDF

Info

Publication number
CN102377628B
CN102377628B CN201010252452.0A CN201010252452A CN102377628B CN 102377628 B CN102377628 B CN 102377628B CN 201010252452 A CN201010252452 A CN 201010252452A CN 102377628 B CN102377628 B CN 102377628B
Authority
CN
China
Prior art keywords
tunnel
lite
ipv4
cpe
cgn
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.)
Expired - Fee Related
Application number
CN201010252452.0A
Other languages
English (en)
Other versions
CN102377628A (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201010252452.0A priority Critical patent/CN102377628B/zh
Publication of CN102377628A publication Critical patent/CN102377628A/zh
Application granted granted Critical
Publication of CN102377628B publication Critical patent/CN102377628B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种建立轻量级双栈(DS-Lite)隧道的方法和轻量级双栈承载级别网络地址转换设备(DS-Lite CGN),其中方法包括:当DS-Lite CGN接收到来自用户终端设备(CPE)的IPv6报文时,如果在隧道表项中查询不到该CPE的隧道物理端口IPv6地址对应的表项,则分配该CPE的隧道物理端口IPv6地址对应的隧道标识,建立与该CPE之间的DS-Lite隧道;并且,在NAT转发表项中记录该隧道标识。本发明能够解决对传统NAT技术改造工作量大的问题,并且避免了对DS-Lite隧道进行繁琐的配置。

Description

建立DS-Lite隧道的方法和DS-Lite CGN
技术领域
本发明涉及轻量级双栈(DS-Lite,Dual-Stack lite)技术领域,尤其涉及一种建立DS-Lite隧道的方法和轻量级双栈承载级别网络地址转换设备(DS-Lite CGN)。
背景技术
IPv4地址即将耗尽,虽然已经有了IPv6地址和相关技术,但由于现有的网络部署、运营商的设备投资回报等因素,IPv6网络部署不可能一蹴而就,IPv4和IPv6网络将在很长一段时间内共存。
为了缓解IPv4地址的耗尽速度,提出了DS-Lite技术,DS-Lite技术的部署模型基于这样一个观念:多个IPv4客户端可以共享一个IPv4地址。实现这一技术的关键是将网络地址转换(NAT,Network Address Translation)功能从归属地网关(home gateway)迁移到客户流量的汇聚点设备,将该汇聚点设备称为轻量级双栈承载级别NAT(DS-Lite CGN,Dual-Stack lite Carrier-Grade NAT)设备。
如图1为现有技术中DS-Lite系统结构及向外(Outbound)方向和向内(inbound)方向的报文转发处理过程示意图。其中,位于IPv4私网侧的IPv4私网主机与用户终端设备(CPE,Customer Premises Equipment)连接,CPE通过IPv6接入网连接至DS-Lite CGN;CPE和DS-Lite CGN之间预先建立承载IPv4的IPv6隧道(IPv4 over IPv6 Tunnel),也就是DS-Lite隧道。DS-Lite隧道是一种点到点的IPv4 over IPv6隧道,隧道的源地址和目的地址是已经分配的IPv6地址,接口IPv4地址不需要保证全球唯一,只要不是保留地址段都可以选择。
DS-Lite CGN是一种特殊的IPv4-IPv6 NAT,其部署在运营商网络中,与IPv4over IPv6隧道结合起来实现与客户私网的连通。DS-Lite CGN需要维护隧道起始点的IPv6源地址和内层IPv4源地址的对应关系,并将该对应关系存储在NAT表项中。
如图1所示,由IPv4私网侧向IPv4公网侧的方向称为Outbound方向,由IPv4公网侧向IPv4私网侧的方向为称Inbound方向。图1示出了上述两个方向的报文转发处理过程,在图1中,“ipv4_p”表示IPv4私网地址,“ipv4_g”表示IPv4公网地址,“(src)”表示源地址,“(dst)”表示目的地址。
Outbound方向的报文转发处理过程为:
IPv4私网侧的IPv4私网主机发送IPv4报文,该报文的源地址为IPv4私网地址、目的地址为IPv4公网地址;经过DS-Lite隧道封装为IPv6报文,该IPv6报文的IPv6源地址和目的地址分别为该DS-Lite隧道对应的IPv6源地址和目的地址;IPv6报文达到DS-Lite CGN,DS-Lite CGN首先对该IPv6报文进行解封装,剥离IPv6头,记录下IPv6源地址,将还原出的IPv4报文和记录的IPv6源地址一起交给其中的NAT模块进行处理;NAT模块将该IPv4报文的IPv4源地址由IPv4私网地址转换为IPv4公网地址,并将IPv6源地址和内层IPv4源地址、源端口的对应关系存储在NAT表项中。
Inbound方向的报文转发处理过程为:
IPv4公网侧的IPv4公网主机发送IPv4报文,该报文的源地址和目的地址均为IPv4公网地址;该IPv4报文达到DS-Lite CGN,DS-Lite CGN查询NAT表项进行转换,将该IPv4报文的IPv4目的地址由IPv4公网地址转换为IPv4私网地址,将转换后的IPv4报文交给DS-Lite隧道进行封装;DS-Lite隧道将该IPv4报文封装为IPv6报文,并转发至CPE;CPE将该IPv6报文进行解封装,并将还原出的IPv4报文转发给IPv4私网主机。
由上述介绍可见,现有的DS-Lite技术主要存在以下问题:
(1)支持DS-Lite技术时对传统的NAT技术改造工作量大。
在支持DS-Lite技术时需要对传统的双栈网络设备(如CGN设备)所支持的NAT模块进行大规模的修改,主要体现在转发处理流程的修改和NAT表项的维护上,NAT模块需要知道DS-Lite隧道的报文处理细节,并在NAT表项中额外记录DS-Lite隧道的起始点和终结点IPv6地址,这种实现方式将NAT和IPv4 over IPv6隧道这两个相对独立的技术强制耦合在了一起。并且,传统的NAT表项主要记录IPv4地址和端口转换关系,并不涉及IPv6地址;而现有的DS-Lite技术需要在NAT表项中记录DS-Lite隧道的IPv6源地址和目的地址信息,这就增加了NAT表项所占用的内存空间。
(2)DS-Lite隧道配置工作较为繁琐。
现有的DS-Lite隧道是预先配置的,在建立DS-Lite隧道时必须指定隧道起始点和终结点的IPv6地址,那么当接入DS-Lite CGN的分支数量为N时,DS-LiteCGN就需要预先配置N个Tunnel接口以便维持与各个分支的点到点连接,分支修改隧道物理接口的IPv6地址也会使得DS-Lite CGN进行修改。
发明内容
本发明提供了一种建立DS-Lite隧道的方法,能够解决对传统NAT技术改造工作量大的问题,并且避免对DS-Lite隧道进行繁琐的配置。
本发明还提供了一种DS-Lite CGN,能够解决对传统NAT技术改造工作量大的问题,并且避免对DS-Lite隧道进行繁琐的配置。
本发明的技术方案是这样实现的:
一种建立DS-Lite隧道的方法,包括:
A、DS-Lite CGN接收来自CPE的IPv6报文,获取所述CPE的隧道物理端口IPv6地址,根据所述CPE的隧道物理端口IPv6地址查询本地预先保存的隧道表项,如果查询不到所述CPE的隧道物理端口IPv6地址对应的表项,则继续执行步骤B;
B、为所述CPE的隧道物理端口IPv6地址分配对应的DS-Lite隧道标识,建立与所述CPE之间的DS-Lite隧道,将所述CPE的隧道物理端口IPv6地址与对应的DS-Lite隧道标识保存入所述隧道表项;
C、将所述IPv6报文进行解封装,得到IPv4报文;将所述IPv4报文的IPv4源地址由IPv4私网地址转换为所述DS-Lite CGN的IPv4公网地址,将转换后的IPv4报文转发至IPv4公网主机;将所述IPv4私网地址、DS-Lite CGN的IPv4公网地址以及所述CPE的隧道物理端口IPv6地址对应的DS-Lite隧道标识的对应关系保存在NAT转发表项中。
一种DS-Lite CGN,包括:查询模块、隧道维护模块、解封装模块、报文转换模块和转发表项保存模块;其中,
所述查询模块,用于接收来自CPE的IPv6报文,获取所述CPE的隧道物理端口IPv6地址,根据所述CPE的隧道物理端口IPv6地址查询本地预先保存的隧道表项,如果查询不到所述CPE的隧道物理端口IPv6地址对应的表项,则向所述隧道维护模块发送建立隧道通知;
所述隧道维护模块,用于根据所述建立隧道通知,为所述CPE的隧道物理端口IPv6地址分配对应的DS-Lite隧道标识,建立DS-Lite CGN与所述CPE之间的DS-Lite隧道,将所述CPE的隧道物理端口IPv6地址与对应的DS-Lite隧道标识保存入所述隧道表项;
所述解封装模块,用于将所述IPv6报文进行解封装,得到IPv4报文;
所述报文转换模块,用于将所述解封装模块得到的IPv4报文的IPv4源地址由IPv4私网地址转换为所述DS-Lite CGN的IPv4公网地址,将转换后的IPv4报文转发至IPv4公网主机;
所述转发表项保存模块,用于将所述IPv4私网地址、DS-Lite CGN的IPv4公网地址以及所述CPE的隧道物理端口IPv6地址对应的DS-Lite隧道标识的对应关系保存在NAT转发表项中。
可见,本发明提出的自动建立DS-Lite隧道的方法和DS-Lite CGN,采用DS-Lite自动隧道建立模式,当DS-Lite CGN接收到来自CPE的IPv6报文时,如果在隧道表项中查询不到该CPE的隧道物理端口IPv6地址对应的表项,则分配该CPE的隧道物理端口IPv6地址对应的隧道标识,建立与该CPE之间的DS-Lite隧道。并且,在NAT转发表项中只记录该隧道标识,将隧道标识转换为私网多实例标识,支持不同CPE侧IPv4地址重叠,且对NAT转发表项无需做任何改动。因此本发明能够解决对传统NAT技术改造工作量大的问题,并且,采用自动隧道建立模式避免了对DS-Lite隧道进行繁琐的配置。
附图说明
图1为现有技术中DS-Lite系统结构及Outbound方向和inbound方向的报文转发处理过程示意图;
图2为本发明自动建立DS-Lite隧道的方法流程图;
图3为本发明实施例一自动建立DS-Lite隧道的流程图;
图4为本发明实施例实现DS-Lite CGN设备动态注册的系统结构示意图;
图5为本发明DS-Lite CGN的结构示意图。
具体实施方式
本发明提出一种自动建立DS-Lite隧道的方法,当DS-Lite CGN初次接收到来自CPE的IPv6报文(即Outbound方向报文)时,自动建立与该CPE之间的DS-Lite隧道。在这种模式下,隧道可以指定IPv6源地址,不指定IPv6目的地址,这意味着DS-Lite CGN设备的隧道允许任何以自己为隧道终结点的CPE通过DS-Lite隧道接入。
如图2为本发明自动建立DS-Lite隧道的方法流程图,包括:
步骤201:DS-Lite CGN接收来自CPE的IPv6报文,获取该IPv6报文的IPv6源地址,也就是所述CPE的隧道物理端口IPv6地址,根据所述CPE的隧道物理端口IPv6地址查询本地预先保存的隧道表项,如果查询不到所述CPE的隧道物理端口IPv6地址对应的表项,则继续执行步骤202;
步骤202:为所述CPE的隧道物理端口IPv6地址分配对应的DS-Lite隧道标识,即Tunnel-ID,建立与所述CPE之间的DS-Lite隧道,将所述CPE的隧道物理端口IPv6地址与对应的Tunnel-ID保存入所述隧道表项;
步骤203:将所述IPv6报文进行解封装,得到IPv4报文;将所述IPv4报文的IPv4源地址由IPv4私网地址转换为所述DS-Lite CGN的IPv4公网地址,将转换后的IPv4报文转发至IPv4公网主机;将所述IPv4私网地址、DS-Lite CGN的IPv4公网地址以及所述CPE的隧道物理端口IPv6地址对应的Tunnel-ID的对应关系保存在NAT转发表项中。
当DS-Lite CGN接收到来自该CPE的后续IPv6报文(即Outbound方向报文)时,可以对该IPv6报文解封装后进行转发。即在上述过程中,步骤201可以进一步包括:如果查询到所述CPE的隧道物理端口IPv6地址对应的表项,则更新所述CPE的隧道物理端口IPv6地址对应表项的老化时间;对所述IPv6报文进行解封装,得到IPv4报文;根据所述IPv4报文的IPv4源地址查询预先设置的NAT转发表项,根据查询结果对所述IPv4报文进行转换,将转换后的IPv4报文转发至IPv4公网主机。
由于允许CPE动态加入和退出,因此DS-Lite CGN建立的DS-Lite隧道应支持隧道表项老化机制,也就是说,当后续接收到来自CPE的IPv6报文时,更新隧道表项中该CPE的隧道物理端口IPv6地址对应表项的老化时间,例如,将老化时间重置为0;如果DS-Lite CGN在预先设定的时间段内没有接收到来自CPE的IPv6报文,则需要老化删除掉与该CPE之间的DS-Lite隧道,即删除隧道表项中所述CPE的隧道物理端口IPv6地址的对应表项,收回为所述CPE的隧道物理端口IPv6地址分配的Tunnel-ID。
当DS-Lite CGN接收到来自IPv4公网的IPv4报文(即Inbound方向报文)时,可以将该报文通过之前建立的DS-Lite隧道转发至CPE。具体过程如下:
DS-Lite CGN接收来自IPv4公网的IPv4报文,根据所述IPv4报文中作为IPv4目的地址的DS-Lite CGN的IPv4公网地址查询所述NAT转发表项,获取所述DS-Lite CGN的IPv4公网地址对应的IPv4私网地址和Tunnel-ID;
将所述IPv4报文的IPv4目的地址由DS-Lite CGN的IPv4公网地址转换为获取到的IPv4私网地址;
根据所述获取到的Tunnel-ID查询所述隧道表项,获取所述Tunnel-ID对应的CPE的隧道物理端口IPv6地址,将所述转换后的IPv4报文封装为IPv6报文,其中,所述IPv6报文的IPv6目的地址为所述获取的CPE的隧道物理端口IPv6地址;
DS-Lite CGN将所述IPv6报文转发至所述CPE。
以下举一个具体的实施例对上述过程进行详细介绍。
如图3为本发明实施例一自动建立DS-Lite隧道的流程图,为方便描述,将源地址简写为src、将目的地址简写为dst、将源端口简写为sport、将目的端口简写为dport。本实施例包括以下步骤:
步骤301:IPv4私网主机向CPE发送IPv4报文(src=10.0.0.1,dst=128.0.0.1,sport=10000,dport=80);
步骤302:CPE获取自身的隧道物理端口IPv6地址和对端DS-Lite CGN的隧道物理端口IPv6地址,采用获取的地址将该IPv4报文封装为IPv6报文(src=2001:0:0:1::1,dst=2001:0:0:2::1),将该IPv6报文转发至对端DS-Lite CGN;
步骤303:DS-Lite CGN接收所述IPv6报文,获取该CPE的隧道物理端口IPv6地址,即2001:0:0:1::1,查询本地预先保存的隧道表项;由于是首次接收到来自CPE的IPv6报文,因此查询不到2001:0:0:1::1对应的表项,则为2001:0:0:1::1分配对应的Tunnel-ID,如001,建立与该CPE之间的Tunnel-ID=001的DS-Lite隧道,将2001:0:0:1::1与对应的Tunnel-ID=001保存入隧道表项中,如下表1:
 CPE的隧道物理端口IPv6地址  Tunnel-ID
 2001:0:0:1::1  001
表1——隧道表项
步骤304:DS_Lite CGN将所述IPv6报文进行解封装,得到IPv4报文(src=10.0.0.1,dst=128.0.0.1,sport=10000,dport=80),将该IPv4报文进行源地址转换,即,将IPv4源地址由IPv4私网地址转换为该DS_Lite CGN的IPv4公网地址,如将10.0.0.1转换为129.0.0.1;并对源端口也进行相应的转换,得到转换后的IPv4报文(src=129.0.0.1,dst=128.0.0.1,sport=5000,dport=80),将该转换后的IPv4报文转发至IPv4公网主机。
步骤305:DS_Lite CGN将所述IPv4私网地址、DS-Lite CGN的IPv4公网地址以及所述CPE的隧道物理端口IPv6地址对应的Tunnel-ID的对应关系保存在NAT转发表项中,NAT转发表项如下表2:
表2——NAT转发表项
至此,DS_Lite CGN建立了与CPE之间的DS_Lite隧道。
后续过程中,IPv4私网和IPv4公网主机就可以通过DS_Lite隧道转发报文。在以下的步骤中,步骤306~309为IPv4私网主机向IPv4公网主机发送的报文(即Outbound方向报文)的转发过程,步骤310~313为IPv4公网主机向IPv4私网主机发送的报文(即Inbound方向报文)的转发过程。
步骤306:IPv4私网主机向CPE发送IPv4报文(src=10.0.0.1,dst=128.0.0.1,sport=10000,dport=80);
步骤307:CPE获取自身的隧道物理端口IPv6地址和对端DS-Lite CGN的隧道物理端口IPv6地址,采用获取的地址将该IPv4报文封装为IPv6报文(src=2001:0:0:1::1,dst=2001:0:0:2::1),将该IPv6报文转发至对端DS-Lite CGN;
步骤308:DS-Lite CGN接收所述IPv6报文,获取该CPE的隧道物理端口IPv6地址,即2001:0:0:1::1,查询本地预先保存的隧道表项,即上表1;查询到2001:0:0:1::1对应的Tunnel-ID为001,则更新该表项的老化时间,如将老化时间重置为0;
步骤309:DS_Lite CGN对所述IPv6报文进行解封装,得到IPv4报文(src=10.0.0.1,dst=128.0.0.1,sport=10000,dport=80),查询预先保存的NAT转发表项,即上表2;查询到10.0.0.1对应的DS_Lite CGN的IPv4公网地址为129.0.0.1,将10.0.0.1转换为129.0.0.1;并对源端口也进行相应的转换,得到转换后的IPv4报文(src=129.0.0.1,dst=128.0.0.1,sport=5000,dport=80),将该转换后的IPv4报文转发至IPv4公网主机。
步骤310:IPv4公网主机向DS_Lite CGN发送IPv4报文(src=128.0.0.1,dst=129.0.0.1,sport=80,dport=5000);
步骤311:DS_Lite CGN获取该IPv4报文的IPv4目的地址,也就是DS_LiteCGN的IPv4公网地址,即129.0.0.1,查询NAT转发表项,即上表2,获取129.0.0.1对应的IPv4私网地址=10.0.0.1,129.0.0.1对应的Tunnel-ID=001;
步骤312:DS_Lite CGN对该IPv4报文进行目的地址转换,即,将129.0.0.1转换为10.0.0.1,并对目的端口进行相应的转换,得到转换后的IPv4报文(src=128.0.0.1,dst=10.0.0.1,sport=80,dport=10000);
步骤313:DS_Lite CGN根据步骤311中获取到的Tunnel-ID=001查询隧道表项,即上表2,获取Tunnel-ID=001对应的CPE的隧道物理端口IPv6地址=2001:0:0:1::1,将转换后的IPv4报文封装为IPv6报文(src=2001:0:0:2:1,dst=2001:0:0:1::1),将该IPv6报文转发至CPE;
步骤314:CPE接收IPv6报文,将该IPv6报文进行解封装,还原为IPv4报文(src=128.0.0.1,dst=10.0.0.1,sport=80,dport=10000),将该IPv4报文转发至IPv4私网主机。
上述实施例介绍了自动建立DS-Lite隧道的方法,以及通过DS-Lite隧道转发报文的过程。
在现有技术中,DS-Lite CGN设备是多个接入分支的流量汇聚点,一旦DS-Lite CGN出现故障,各分支就均处于瘫痪状态,可见,DS-Lite CGN是整个系统的性能瓶颈。为了解决这一问题,本发明可以在现有的DS-Lite系统中增加一台CGN注册主机,每台DS-Lite CGN上线后都向该CGN注册主机注册自身的信息,每个DS-Lite CGN设备都可以为任何CPE提供无差别的接入服务。
如图4为本发明实施例实现DS-Lite CGN设备动态注册的系统结构示意图,该系统包括M个CPE、N个DS-Lite CGN和1个CGN注册主机。以下以图4为例,介绍实现DS-Lite CGN设备动态注册具体过程。包括以下步骤:
步骤1:系统中的各个DS-Lite CGN上线后,向CGN注册主机注册自身的隧道物理端口IPv6地址和优先级;
步骤2:CPE 1上线后,可以通过DHCPv6协议获取自身的隧道物理端口IPv6地址,向所述CGN注册主机请求获取DS-Lite CGN的注册信息,CGN注册主机将当前注册的各个DS-Lite CGN的隧道物理端口IPv6地址和优先级反馈至CPE;例如,当前注册的DS-Lite CGN包括DS-Lite CGN 1和DS-Lite CGN 2,其中DS-Lite CGN 1的优先级为最高级、DS-Lite CGN 2的优先级为次高级,则CGN注册主机可以将DS-Lite CGN 1和DS-Lite CGN 2的隧道物理端口IPv6地址和优先级反馈至CPE 1;
步骤3:CPE 1根据优先级选择合适的DS-Lite CGN,例如,可以选择优先级高的DS-Lite CGN,即DS-Lite CGN1,向DS-Lite CGN 1发送IPv6报文;
步骤4:DS-Lite CGN 1接收来自CPE 1的IPv6报文,建立与CPE 1之间的DS-Lite隧道,并建立相应的隧道表项和NAT转发表项;之后,DS-Lite CGN 1可以向CGN注册主机查询系统中其他的DS-Lite CGN,并将已经建立的隧道表项和NAT转发表项同步至系统中其他的DS-Lite CGN,使它们互为备份。例如,DS-Lite CGN 1可以将隧道表项和NAT转发表项同步至DS-Lite CGN 2(DS-LiteCGN 2接收到DS-Lite CGN 1建立的隧道表项和NAT转发表项,实质上相当于DS-Lite CGN 2与CPE 1也建立了DS-Lite隧道),这样,如果后续CPE 1向DS-Lite CGN 2发送IPv6报文,DS-Lite CGN 2就可以直接为CPE 1提供服务。
此外,各个DS-Lite CGN可以通过虚拟路由冗余协议(VRRP,Virtual RouterRedundancy Protocol)向IPv4 Internet发送一个相同的IP地址,每个DS-Lite CGN都可以为任何CPE设备提供无差别的接入服务。
另外,在后续过程中,CPE还可以进一步根据各个DS-Lite CGN的负载程度决定将报文发送至哪个DS-Lite CGN,从而实现DS-Lite CGN冗余备份基础上的流量负载分担。具体方式如下:
系统中的各个DS-Lite CGN监测自身的负载程度,当负载程度超过预先设定的门限时,通过与CPE之间的DS-Lite隧道,将所述负载程度发送至所述CPE;
CPE根据各个DS-Lite CGN的优先级和负载程度,选择向合适的并且负载程度较低的DS-Lite CGN发送IPv6报文。
例如,当DS-Lite CGN 1的负载程度高于DS-Lite CGN 2时,尽管DS-LiteCGN 1优先级较高,CPE 1也会选择将报文发送至负载程度较低的DS-Lite CGN2,从而实现DS-Lite CGN设备之间的负载分担。
本发明实施例还提出一种DS-Lite CGN,如图5为本发明DS-Lite CGN的结构示意图,DS-Lite CGN 520包括:查询模块521、隧道维护模块522、解封装模块523、报文转换模块524和转发表项保存模块525;其中,
所述查询模块521,用于接收来自CPE 510的IPv6报文,获取所述CPE的隧道物理端口IPv6地址,根据所述CPE的隧道物理端口IPv6地址查询本地预先保存的隧道表项,如果查询不到所述CPE的隧道物理端口IPv6地址对应的表项,则向所述隧道维护模块522发送建立隧道通知;
所述隧道维护模块522,用于根据所述建立隧道通知,为所述CPE的隧道物理端口IPv6地址分配对应的DS-Lite隧道标识,建立DS-Lite CGN与所述CPE之间的DS-Lite隧道,将所述CPE的隧道物理端口IPv6地址与对应的DS-Lite隧道标识保存入所述隧道表项;
所述解封装模块523,用于将所述IPv6报文进行解封装,得到IPv4报文;
所述报文转换模块524,用于将所述解封装模块523得到的IPv4报文的IPv4源地址由IPv4私网地址转换为所述DS-Lite CGN的IPv4公网地址,将转换后的IPv4报文转发至IPv4公网主机;
所述转发表项保存模块525,用于将所述IPv4私网地址、DS-Lite CGN的IPv4公网地址以及所述CPE的隧道物理端口IPv6地址对应的DS-Lite隧道标识的对应关系保存在NAT转发表项中。
上述DS-Lite CGN 520中,查询模块521还可以用于,如果查询到所述CPE的隧道物理端口IPv6地址对应的表项,则向所述隧道维护模块522发送更新老化时间通知;
所述隧道维护模块522还用于,根据所述更新老化时间通知,更新所述CPE的隧道物理端口IPv6地址对应表项的老化时间;
所述报文转换模块524还用于,根据解封装模块523得到的IPv4报文的IPv4源地址查询预先设置的NAT转发表项,根据查询结果对所述IPv4报文进行转换,将转换后的IPv4报文转发至IPv4公网主机。
上述DS-Lite CGN 520中,隧道维护模块522还可以用于,当所述DS-LiteCGN 520在预先设定的时间段内没有接收到来自CPE 510的IPv6报文时,删除DS-Lite CGN 520与所述CPE 510之间的DS-Lite隧道,删除隧道表项中所述CPE的隧道物理端口IPv6地址对应的表项,并收回为所述CPE的隧道物理端口IPv6地址分配的DS-Lite隧道标识。
上述DS-Lite CGN 520中,报文转换模块524还用于,接收来自IPv4公网的IPv4报文,根据所述IPv4报文中作为IPv4目的地址的DS-Lite CGN的IPv4公网地址查询NAT转发表项,获取所述DS-Lite CGN的IPv4公网地址对应的IPv4私网地址和DS-Lite隧道标识;将所述IPv4报文的IPv4目的地址由DS-LiteCGN的IPv4公网地址转换为获取到的IPv4私网地址;
DS-Lite CGN 520还可以包括封装模块526,所述封装模块526用于根据所述报文转换模块524获取到的DS-Lite隧道标识查询隧道表项,获取所述DS-Lite隧道标识对应的CPE的隧道物理端口IPv6地址,将所述转换后的IPv4报文封装为IPv6报文,其中,所述IPv6报文的IPv6目的地址为所述获取的CPE的隧道物理端口IPv6地址;并将所述IPv6报文转发至CPE。
上述DS-Lite CGN 520还可以包括注册模块527和同步模块528;其中,
所述注册模块527用于在DS-Lite CGN上线后,向CGN注册主机530注册所述DS-Lite CGN 520的隧道物理端口IPv6地址和优先级,以供CGN注册主机530将DS-Lite CGN的隧道物理端口IPv6地址和优先级反馈至CPE 510,并供所述CPE 510根据所述优先级选择向合适的DS-Lite CGN发送IPv6报文;
所述同步模块528,用于将隧道维护模块522建立的隧道表项和转发表项保存模块525建立的NAT转发表项同步至系统中其它的DS-Lite CGN。
上述DS-Lite CGN 520还包括负载程度通知模块529,用于监测所述DS-LiteCGN 520的负载程度,当负载程度超过预先设定的门限时,通过所述DS-LiteCGN 520与CPE 510之间的DS-Lite隧道,将所述负载程度发送至所述CPE 510,以供所述CPE根据各个DS-Lite CGN的优先级和负载程度选择向合适的并且负载程度较低的DS-Lite CGN发送IPv6报文。
综上可见,本发明提出的自动建立DS-Lite隧道的方法和DS-Lite CGN,采用DS-Lite自动隧道建立模式,当DS-Lite CGN接收到来自CPE的IPv6报文时,如果在隧道表项中查询不到该CPE的隧道物理端口IPv6地址对应的表项,则分配该CPE的隧道物理端口IPv6地址对应的隧道标识,建立与该CPE之间的DS-Lite隧道。并且,在NAT转发表项中只记录该隧道标识,对现有的NAT转发表项无需做任何改动。因此本发明能够解决对传统NAT技术改造工作量大的问题;并且,采用自动隧道建立模式避免了对DS-Lite隧道进行繁琐的配置。进一步地,本发明由于支持DS-Lite CGN设备和接入分支设备的动态注册机制,实现了DS-Lite CGN设备的多点备份,支持负载分担,提高了DS-Lite CGN作为流量汇聚点的安全可靠性,也极大地提高了全网扩容能力。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (12)

1.一种建立轻量级双栈DS-Lite隧道的方法,其特征在于,所述方法包括:
A、轻量级双栈承载级别网络地址转换设备DS-Lite CGN接收来自用户终端设备CPE的IPv6报文,获取所述CPE的隧道物理端口IPv6地址,根据所述CPE的隧道物理端口IPv6地址查询本地预先保存的隧道表项,如果查询不到所述CPE的隧道物理端口IPv6地址对应的表项,则继续执行步骤B;
B、为所述CPE的隧道物理端口IPv6地址分配对应的DS-Lite隧道标识,建立与所述CPE之间的DS-Lite隧道,将所述CPE的隧道物理端口IPv6地址与对应的DS-Lite隧道标识保存入所述隧道表项;
C、将所述IPv6报文进行解封装,得到IPv4报文;将所述IPv4报文的IPv4源地址由IPv4私网地址转换为所述DS-Lite CGN的IPv4公网地址,将转换后的IPv4报文转发至IPv4公网主机;将所述IPv4私网地址、DS-Lite CGN的IPv4公网地址以及所述CPE的隧道物理端口IPv6地址对应的DS-Lite隧道标识的对应关系保存在网络地址转换NAT转发表项中。
2.根据权利要求1所述的方法,其特征在于,所述步骤A进一步包括:
如果查询到所述CPE的隧道物理端口IPv6地址对应的表项,则更新所述CPE的隧道物理端口IPv6地址对应表项的老化时间;对所述IPv6报文进行解封装,得到IPv4报文;根据所述IPv4报文的IPv4源地址查询预先设置的NAT转发表项,根据查询结果对所述IPv4报文进行转换,将转换后的IPv4报文转发至IPv4公网主机。
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:当DS-Lite CGN在预先设定的时间段内没有接收到来自所述CPE的IPv6报文时,删除与所述CPE之间的DS-Lite隧道,删除隧道表项中所述CPE的隧道物理端口IPv6地址对应的表项,并收回为所述CPE的隧道物理端口IPv6地址分配的DS-Lite隧道标识。
4.根据权利要求1、2或3所述的方法,其特征在于,所述方法进一步包括:
DS-Lite CGN接收来自IPv4公网的IPv4报文,根据所述IPv4报文中作为IPv4目的地址的DS-Lite CGN的IPv4公网地址查询所述NAT转发表项,获取所述DS-Lite CGN的IPv4公网地址对应的IPv4私网地址和DS-Lite隧道标识;
将所述IPv4报文的IPv4目的地址由DS-Lite CGN的IPv4公网地址转换为获取到的IPv4私网地址;
根据所述获取到的DS-Lite隧道标识查询所述隧道表项,获取所述DS-Lite隧道标识对应的CPE的隧道物理端口IPv6地址,将所述转换后的IPv4报文封装为IPv6报文,其中,所述IPv6报文的IPv6目的地址为所述获取的CPE的隧道物理端口IPv6地址;
DS-Lite CGN将所述IPv6报文转发至所述CPE。
5.根据权利要求1、2或3所述的方法,其特征在于,预先设置CGN注册主机,所述方法进一步包括:
系统中的各个DS-Lite CGN上线后,向所述CGN注册主机注册自身的隧道物理端口IPv6地址和优先级,以供CGN注册主机将DS-Lite CGN的隧道物理端口IPv6地址和优先级反馈至CPE,并供所述CPE根据各个DS-Lite CGN的优先级选择向合适的DS-Lite CGN发送IPv6报文;
所述被CPE选择出的DS-Lite CGN接收CPE发送的IPv6报文,建立与所述CPE之间的DS-Lite隧道,并建立相应的隧道表项和NAT转发表项,将所述隧道表项和NAT转发表项同步至系统中其它的DS-Lite CGN。
6.根据权利要求5所述的方法,其特征在于,所述方法进一步包括:
系统中的各个DS-Lite CGN监测自身的负载程度,当负载程度超过预先设定的门限时,通过与CPE之间的DS-Lite隧道,将所述负载程度发送至所述CPE,以供所述CPE根据各个DS-Lite CGN的优先级和负载程度选择向合适的并且负载程度较低的DS-Lite CGN发送IPv6报文。
7.一种轻量级双栈承载级别网络地址转换设备DS-Lite CGN,其特征在于,所述DS-Lite CGN包括:查询模块、隧道维护模块、解封装模块、报文转换模块和转发表项保存模块;其中,
所述查询模块,用于接收来自用户终端设备CPE的IPv6报文,获取所述CPE的隧道物理端口IPv6地址,根据所述CPE的隧道物理端口IPv6地址查询本地预先保存的隧道表项,如果查询不到所述CPE的隧道物理端口IPv6地址对应的表项,则向所述隧道维护模块发送建立隧道通知;
所述隧道维护模块,用于根据所述建立隧道通知,为所述CPE的隧道物理端口IPv6地址分配对应的DS-Lite隧道标识,建立DS-Lite CGN与所述CPE之间的DS-Lite隧道,将所述CPE的隧道物理端口IPv6地址与对应的DS-Lite隧道标识保存入所述隧道表项;
所述解封装模块,用于将所述IPv6报文进行解封装,得到IPv4报文;
所述报文转换模块,用于将所述解封装模块得到的IPv4报文的IPv4源地址由IPv4私网地址转换为所述DS-Lite CGN的IPv4公网地址,将转换后的IPv4报文转发至IPv4公网主机;
所述转发表项保存模块,用于将所述IPv4私网地址、DS-Lite CGN的IPv4公网地址以及所述CPE的隧道物理端口IPv6地址对应的DS-Lite隧道标识的对应关系保存在NAT转发表项中。
8.根据权利要求7所述的DS-Lite CGN,其特征在于,所述查询模块还用于,如果查询到所述CPE的隧道物理端口IPv6地址对应的表项,则向所述隧道维护模块发送更新老化时间通知;
所述隧道维护模块还用于,根据所述更新老化时间通知,更新所述CPE的隧道物理端口IPv6地址对应表项的老化时间;
所述报文转换模块还用于,根据解封装模块得到的IPv4报文的IPv4源地址查询预先设置的NAT转发表项,根据查询结果对所述IPv4报文进行转换,将转换后的IPv4报文转发至IPv4公网主机。
9.根据权利要求7所述的DS-Lite CGN,其特征在于,所述隧道维护模块还用于,当所述DS-Lite CGN在预先设定的时间段内没有接收到来自CPE的IPv6报文时,删除DS-Lite CGN与所述CPE之间的DS-Lite隧道,删除隧道表项中所述CPE的隧道物理端口IPv6地址对应的表项,并收回为所述CPE的隧道物理端口IPv6地址分配的DS-Lite隧道标识。
10.根据权利要求7、8或9所述的DS-Lite CGN,其特征在于,所述报文转换模块还用于,接收来自IPv4公网的IPv4报文,根据所述IPv4报文中作为IPv4目的地址的DS-Lite CGN的IPv4公网地址查询NAT转发表项,获取所述DS-Lite CGN的IPv4公网地址对应的IPv4私网地址和DS-Lite隧道标识;将所述IPv4报文的IPv4目的地址由DS-Lite CGN的IPv4公网地址转换为获取到的IPv4私网地址;
所述DS-Lite CGN还包括封装模块,所述封装模块用于根据所述报文转换模块获取到的DS-Lite隧道标识查询隧道表项,获取所述DS-Lite隧道标识对应的CPE的隧道物理端口IPv6地址,将所述转换后的IPv4报文封装为IPv6报文,其中,所述IPv6报文的IPv6目的地址为所述获取的CPE的隧道物理端口IPv6地址;将所述IPv6报文转发至CPE。
11.根据权利要求7、8或9所述的DS-Lite CGN,其特征在于,所述DS-LiteCGN还包括注册模块和同步模块;其中,
所述注册模块用于在DS-Lite CGN上线后,向CGN注册主机注册所述DS-Lite CGN的隧道物理端口IPv6地址和优先级,以供CGN注册主机将DS-LiteCGN的隧道物理端口IPv6地址和优先级反馈至CPE,并供所述CPE根据所述优先级选择向合适的DS-Lite CGN发送IPv6报文;
所述同步模块,用于将隧道维护模块建立的隧道表项和转发表项保存模块建立的NAT转发表项同步至系统中其它的DS-Lite CGN。
12.根据权利要求11所述的DS-Lite CGN,其特征在于,所述DS-Lite CGN还包括负载程度通知模块,用于监测所述DS-Lite CGN的负载程度,当负载程度超过预先设定的门限时,通过所述DS-Lite CGN与CPE之间的DS-Lite隧道,将所述负载程度发送至所述CPE,以供所述CPE根据各个DS-Lite CGN的优先级和负载程度选择向合适的并且负载程度较低的DS-Lite CGN发送IPv6报文。
CN201010252452.0A 2010-08-12 2010-08-12 建立DS-Lite隧道的方法和DS-Lite CGN Expired - Fee Related CN102377628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010252452.0A CN102377628B (zh) 2010-08-12 2010-08-12 建立DS-Lite隧道的方法和DS-Lite CGN

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010252452.0A CN102377628B (zh) 2010-08-12 2010-08-12 建立DS-Lite隧道的方法和DS-Lite CGN

Publications (2)

Publication Number Publication Date
CN102377628A CN102377628A (zh) 2012-03-14
CN102377628B true CN102377628B (zh) 2015-01-07

Family

ID=45795638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010252452.0A Expired - Fee Related CN102377628B (zh) 2010-08-12 2010-08-12 建立DS-Lite隧道的方法和DS-Lite CGN

Country Status (1)

Country Link
CN (1) CN102377628B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067411B (zh) * 2013-01-23 2016-03-30 杭州华三通信技术有限公司 防止DS-Lite组网中的DoS攻击方法和装置
CN103236964B (zh) * 2013-05-07 2015-09-16 烽火通信科技股份有限公司 基于Linux的DS-Lite实现方法及其CPE接入设备
CN103442093A (zh) * 2013-07-22 2013-12-11 汉柏科技有限公司 实现网络地址转换的方法
CN103532842B (zh) * 2013-10-14 2017-10-13 广州供电局有限公司 配电网络的高可靠性lte传输系统
CN104869065B (zh) * 2014-02-26 2020-04-21 中兴通讯股份有限公司 数据报文处理方法及装置
CN104468202B (zh) * 2014-11-26 2018-03-27 迈普通信技术股份有限公司 一种用户端设备的管理方法及装置
CN105791448B (zh) * 2014-12-18 2019-10-25 华为技术有限公司 一种地址分配方法、cgn设备及cgn双主系统
CN105592057B (zh) * 2015-09-28 2018-10-09 新华三技术有限公司 轻量级双协议栈组网下的安全增强方法及装置
CN109151084A (zh) * 2017-06-15 2019-01-04 中兴通讯股份有限公司 报文发送方法及装置、系统、cgn设备
CN107547376B (zh) * 2017-07-21 2020-07-07 新华三技术有限公司 路由探测方法和装置
CN107733808B (zh) * 2017-11-20 2021-10-12 新华三技术有限公司 一种流量传输方法及装置
CN108200199B (zh) * 2018-02-05 2020-07-21 重庆大学 IPV4 over IPV6隧道场景中的负载均衡系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141420A (zh) * 2007-09-05 2008-03-12 杭州华三通信技术有限公司 私网与公网进行数据通信的方法及系统
CN101621472A (zh) * 2009-07-30 2010-01-06 杭州华三通信技术有限公司 一种报文传输方法和路由器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731758A (zh) * 2004-08-05 2006-02-08 上海贝尔阿尔卡特股份有限公司 一种网络地址变换方法及其装置
CN100372347C (zh) * 2006-11-10 2008-02-27 清华大学 扩展边界网关协议的4over6隧道封装及解封装方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141420A (zh) * 2007-09-05 2008-03-12 杭州华三通信技术有限公司 私网与公网进行数据通信的方法及系统
CN101621472A (zh) * 2009-07-30 2010-01-06 杭州华三通信技术有限公司 一种报文传输方法和路由器

Also Published As

Publication number Publication date
CN102377628A (zh) 2012-03-14

Similar Documents

Publication Publication Date Title
CN102377628B (zh) 建立DS-Lite隧道的方法和DS-Lite CGN
CN102480530B (zh) 一种报文发送方法及装置
CN102347993B (zh) 一种网络通信的方法和设备
CN101296238B (zh) 一种保持安全套接层会话持续性的方法及设备
CN102413061B (zh) 一种报文传输方法及设备
CN101917707B (zh) 无线传感器网络的ip寻址方法及系统
CN101141420B (zh) 私网与公网进行数据通信的方法及系统
CN102209121A (zh) IPv6网络和IPv4网络之间互通的方法和装置
CN102404416B (zh) 一种获取dns的方法和隧道网关设备
CN102710509A (zh) 一种数据中心自动配置方法及其设备
US9191317B2 (en) Method and system for implementing interconnection between internet protocol version 4 network and new network
CN102938736B (zh) 一种实现IPv4报文穿越IPv6网络的方法和设备
CN104468866A (zh) 一种无线局域网中多网关终端快速漫游方法
CN108200225A (zh) 不对称网络地址封装
CN105490957A (zh) 一种负载分担方法及装置
CN104767666A (zh) 虚拟可扩展局域网隧道终端建立隧道方法和设备
CN103973569B (zh) 一种数据报文转发方法、用户驻地设备和系统
CN102447752A (zh) 基于二层隧道协议的业务访问方法、系统和装置
CN102724767B (zh) 一种移动用户的虚拟专用网接入方法及其装置
CN106101617A (zh) 一种报文传输方法、装置及系统
CN101499951B (zh) 隧道配置方法、虚拟接入节点、虚拟边缘节点以及系统
CN102821165A (zh) Ip地址转换方法及装置
CN105635335B (zh) 社会资源接入方法、装置及系统
CN103227787A (zh) 一种基于ARP代理的4over6隧道自动建立方法
US20080049765A1 (en) Method and system for inter working a point-to-point link and a LAN service

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150107

Termination date: 20200812

CF01 Termination of patent right due to non-payment of annual fee