CN102377628B - 建立DS-Lite隧道的方法和DS-Lite CGN - Google Patents
建立DS-Lite隧道的方法和DS-Lite CGN Download PDFInfo
- 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
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,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报文。
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)
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)
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)
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隧道封装及解封装方法 |
-
2010
- 2010-08-12 CN CN201010252452.0A patent/CN102377628B/zh not_active Expired - Fee Related
Patent Citations (2)
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 |