基于Linux的DS-Lite实现方法及其CPE接入设备的制作方法

文档序号:7555978阅读:564来源:国知局

专利名称::基于Linux的DS-Lite实现方法及其CPE接入设备的制作方法
技术领域
:本发明涉及DS-Lite
技术领域
,具体涉及基于Linux的DS-Lite实现方法及其CPE接入设备。
背景技术
:DS-Lite(Dual-StackLite)轻型双栈技术是一种IPv4-1n_IPv6隧道技术,可实现在IPv6-only接入网环境下,双栈或IPv4_only主机访问IPv4网络资源,用来实现IPv4和IPv6的共存。目前随着IPv4可分配地址资源的耗尽,互联网采用IPv6网络已成为下一代互联网的发展方向,越来越多的运营商已开始在接入网与核心网着手部署IPv6网络。但是由于原有大量应用层软件和已部署的终端硬件局限性的问题,在未来的相当长的时间内,需要IPv4和IPv6业务实现共存。那么在IPv6-only接入网环境下,如何实现终端对原有IPv4业务的访问成为必须解决的问题
发明内容本发明所要解决的技术问题是,在保留终端IPv4业务的基础上,如何实现IPv4业务流量在IPv6网络中传输,从而实现在IPv6的环境下,对IPv4业务进行访问。为了解决上述技术问题,本发明所采用的技术方案是提供一种基于Linux的DS-Lite实现方法,其包括以下步骤:利用用户终端网关(CPE)向网关控制服务器(BNG)发起呼叫请求,在WAN接口建立与IPv6网络的连接,获取WAN接口的IPv6全球地址;判断是否静态配置AFTR(AddressFamilyTranslationRouter,地址族过度路由器单元)服务器域名,若是,则调用AFTR服务器为用户终端网关(CPE)提供AFTR服务器域名;若否,则利用用户终端网关(CPE)通过DHCPv6隧道端点选项(option64)向网关控制服务器(BNG)发出请求分配AFTR服务器域名的请求,接收网关控制服务器(BNG)返回的AFTR服务器域名;根据所述AFTR服务器域名进行解析,获得所述AFTR服务器的IPv6地址;CPE通过DHCPv6获取IPv6DNS服务器地址,在其LAN接口实现IPv4至IPv6的DNS代理,LAN接口作为IPv4主机的DNS服务器,将LAN侧V4主机发送的IPv4DNS请求转换为IPv6DNS请求进行发送(A请求装换为AAAA请求),收到IPv6DNS响应后,再转换为IPv4DNS响应回送给V4主机;开启DHCPv4Server功能,为连接到LAN接口的用户终端分配私有IPv4地址,同时加载Iinux系统中的ip6_tunnel模块;根据所述WAN接口的IPv6全球地址和所述AFTR服务器的IPv6地址,建立用户终端网关至所述AFTR服务器的IPv4-1n-1Pv6隧道,构建网关隧道接口,利用所述WAN接口的IPv6全球地址作为网关隧道接口的网络地址;完成宽带桥接;调用Iinux平台ip_tables.ko模块,通过下发iptables规则和限制隧道接口MTU值,来处理大包分片和自适应确定TCPMSS值;判断待传输数据的报文协议类型用以选择传输通道,如果是IPv4协议,则通过IPv4-1n-1Pv6隧道完成与所述AFTR服务器的数据包传输,如果是IPv6协议,则直接通过WAN接口完成与所述AFTR服务器的数据包传输。在上述方案中,所述用户终端网关(CPE)具有IPv4和IPv6两种协议栈。在上述方案中,上述步骤中,在启动用户终端网关CPE时一并开启DHCPv6Server功能,为连接到LAN接口的用户终端分配相应的IPv6地址,用于实现IPv6协议终端与用户终端网关CPE之间的数据传输。在上述方案中,上述步骤中,所述调用Linux平台下ip_tables模块,用于协商TCPMSS值的自适应过程如下:使用远程主机的主机名和端口号创建TCPclient,为TCP网络服务提供客户端连接,TCPclient发出SYN报文,其中option选项填充的MSS字段一般为MTU+IP头大小+TCP头大小,同样TCPserver服务器收到SYN报文后,会发送SYN+ACK报文应答,option选项填充的MSS字段也为MTU+IP头大小+TCP头大小;协商双方会比较SYN和SYN+ACK报文中MSS字段大小,选择较小的MSS作为发送TCP分片的大小。在上述方案中,在所述判断待传输数据的报文协议类型用以选择传输通道的过程中,针对用户终端网关CPE的LAN接口流入的数据报文,判断所述数据报文的协议类型,如果是IPv4协议,则通过所述网关隧道接口进行IPv6协议的封装,然后通过IPv4-1n-1Pv6隧道完成与所述AFTR服务器的上行数据传输(即从终端上述数据至互联网);如果是IPv6协议,则利用IPv6协议通过所述WAN接口直接传输完成与所述AFTR服务器的上行数据传输。在上述方案中,在所述判断待传输数据的报文协议类型用以选择传输通道的过程中,针对WAN接口侧流入的数据包,判断是否封装有IPv4协议类型的报文以确定待传输数据的报文协议类型,如果所述数据包中封装有IPv4协议类型,则传送至所述网关隧道接口进行解封装,将解封装之后的报文送至IPv4协议栈用以获取目标地址,然后将解封装之后的报文传送至所述目标地址对应的LAN接口,利用IPv4协议传输至相应的终端设备,完成下行数据(即从互联网上下载数据)的传输;如果所述数据包中没有封装IPv4协议类型,则将所述数据包传送至IPv6协议栈用以获取目标地址,然后将所述数据包传送至所述目标地址对应的LAN接口,利用IPv6协议传输至相应的终端设备,完成下行数据的传输。在上述方案中,还提供了一种基于Linux的DS-Lite实现方法的CPE接入设备,包括LAN接口或/和WAN接口,其特征在于,所述设备包括:发送/接收模块,用于利用LAN接口或/和WAN接口,根据待传输数据的报文协议类型和目标地址,向终端和/或AFTR服务器发送IPv4或IPv6协议数据包;接入模式判断模块,用于判断是否静态配置AFTR服务器域名,并根据判断结果调用缓存中的AFTR服务器域名信息或利用所述发送/接收模块获取动态AFTR服务器域名信息;域名解析模块,用于根据获得的AFTR服务器域名信息获得所述AFTR服务器的IPv6地址;网关隧道接口模块,用于封装或解封装含有IPv4协议报文的IPv6协议数据包,并将封装后的IPv6协议数据包通过WAN接口传输至所述AFTR服务器或将解封装之后的IPv4协议报文通过LAN接口传输至终端设备;数据报文类型判断模块,用于判断待传输数据的报文协议类型,并输出判断结果至所述发送/接收模块,用以建立与AFTR服务器之间的传输通道'及自适应TCPMSS值确认模块,用于调用Iinux平台ip_tables.ko模块,通过下发iptables规则和限制隧道接口MTU值,来处理大包分片和自适应确定TCPMSS值。在上述方案中,所述设备还包括:所述数据报文类型判断模块包括:上行数据判断处理单元,用于根据用户终端网关CPE的LAN接口流入的数据报文协议类型,通过所述网关隧道接口模块将IPv4协议报文封装在IPv6协议数据包中送至所述发送/接收模块,或直接送至所述发送/接收模块利用IPv6协议发送数据;下行数据判断处理单元,用于判断所述用户终端网关CPE的WAN接口侧流入的数据包中是否封装有IPv4协议类型的报文,根据判断结果将所述数据包送至所述网关隧道接口模块进行解封装或直接送至所述发送/接收模块。在上述技术方案的基础上,所述设备还包括:IPv4协议栈模块,用于将报文按照IPv4协议封装或解封装后送入发送/接收模块;在上述技术方案的基础上,所述设备还包括:IPv6协议栈模块,用于将报文按照IPv6协议封装或解封装后送入发送/接收模块或网关隧道接口模块。本发明基于Linux软件方式实现DS-Lite功能,并通过网关设备中使用DHCPv60ption64来获取AFTR服务器地址,在IPv6WAN接口下建立4_in_6Tunnel,通过DNSProxy在LAN侧接口实现IPv4到IPv6的DNS代理,实现IPv4DNS和IPv6DNS报文的相互转换,通过iptables规则和对接口MTU值的限制避免数据大包分片,以此方式实现网关LAN侧的IPv4数据包通过网关处理后,在IPv6-only的网络环境进行传输,降低对硬件的要求,简化了接入实现方式,提高了DS-Lite性能。此外本发明的特别之处在于,本发明以软件方式来实现DS-Lite功能,其可以在保证原有CPE接入设备在保留IPv4业务的基础上、通过植入基于Linux的DS-Lite的软件实现方法,来实现基于Linux操作系统对硬件物理层的控制,从而保证在不改变原有CPE接入设备硬件和操作系统环境的基础上实现在IPv6的环境下对IPv4业务进行访问,而这一目的的实现,完全可基于Linux的应用程序的植入来完成整个IPv4和IPv6业务实的共存,而不需要改变原有CPE接入设备的硬件和软件环境,本发明特别适用于基于Linux内核2.6.22以上的CPE设备。图1为本发明应用实施例的网络环境结构示意图;图2为本发明的方法流程控制图;图3为本发明的CPE接入设备的结构示意图。具体实施例方式下面结合附图对本发明作出详细的说明。如图1所示,本发明的主要应用场景为:用户终端网关(CPE)的下挂设备(比如机顶盒、PC、智能终端等)产生和使用IPv6协议网络的通讯数据,IPv4协议终端/IPv6协议终端由用户终端网关(CPE)将数据从LAN侧转发到WAN侧,用户终端网关(CPE)WAN接口侧接IPv6_only网络。基于Linux内核2.6.22以上的CPE设备,本发明提供以下实现方式:如图2所示,一种基于Linux的DS-Lite实现方法,包括以下步骤:步骤100、利用用户终端网关(CPE)向网关控制服务器(BNG)发起呼叫请求,在WAN接口建立与IPv6网络的连接,通过邻居发现协议获取IPv6链路地址,开启DHCPv6Client功能和RADVD功能(Linux提供的路由器广告守护进程),获取WAN接口的IPv6全球地址;步骤101、判断是否静态配置AFTR(AddressFamilyTranslationRouter,地址族过度路由器单元)服务器域名,若是,则执行步骤102;否则,则执行步骤103;步骤102、调用AFTR服务器为用户终端网关(CPE)提供AFTR服务器域名,转步骤105;步骤103、利用用户终端网关(CPE)通过DHCPv6隧道端点选项(option64)向网关控制服务器(BNG)发出请求分配AFTR服务器域名的请求;步骤104、接收网关控制服务器(BNG)返回的AFTR服务器域名;步骤105、根据获取的AFTR服务器域名,对其进行IPv6DNS解析,获得AFTR服务器的IPv6地址;步骤106、CPE通过DHCPv6请求获取IPv6DNS服务器地址,在其LAN接口实现IPv4至IPv6的DNS代理,LAN接口·作为IPv4主机的DNS服务器,将LAN侧IPv4主机发送的IPv4DNS请求转换为IPv6DNS请求进行发送(A请求装换为AAAA请求),相应的收到IPv6DNS响应后,再转换为IPv4DNS响应回送给IPv4主机。步骤107、开启DHCPv4Server功能,为连接到CPE的LAN接口上的用户终端分配私有IPv4地址,同时加载Iinux系统中的ip6_tunnel模块。ip6_tunnel模块为Iinux系统中的隧道代码,在Iinux内核代码目录树中有,ip6_tunnel.h,ip6_tunnel.c,tunnel6.c,编译之后生成ip6_tunnel.ko和tunne6.ko两个可加载驱动模块,使用insmod(指Iinux系统中的加载模块,是靠一个在kernel/module,c里定义的系统调用来实现的)加载到内核。步骤108、根据CPE的WAN接口的IPv6全球地址和AFTR服务器的IPv6地址,建立用户终端网关(CPE)至AFTR服务器的IPv4-1n-1Pv6隧道;利用WAN接口的IPv6全球地址作为网关隧道接口的网络地址,添加IPv4默认路由,使IPv4数据经过隧道接口进行转发,完成宽带桥接;步骤109、通过限制网关LAN侧接口和隧道接口的MTU值(MTU=MaxitumTransmissionUnit最大传输单元),来避免传统方法建立IPv4-1n_IPv6隧道导致的对分段数据的处理问题。加载Linux系统平台中的iptables模块(Linux系统平台中的iptables防火墙的守护进程,经过编译之后形成iptables.ko文件用于驱动加载),下发iptables规则,限制隧道接口MTU值,改变TCPMSS值以适应PMTU(pathMaxinumTransimissionUnit,即IP包数据包的总长度一定不能超过MTU,如果超过就要分段传送),这里通过限制LAN接口和隧道接口的MTU值,可以避免对IPv6数据分段的处理,完成对IPv4和IPv6大包的处理。这里的TCPMSS值是指TCP数据包每次能够传输的最大数据分段,为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes),通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。而一般以太网MTU都为1500,所以在以太网中,往往TCPMSS为1460。协商TCPMSS大小具体过程如下:使用远程主机的主机名和端口号创建TCPclient,为TCP网络服务提供客户端连接,TCPclient发出SYN报文(包含SYN标志而不含ACK标志的报文),其中option选项填充的MSS字段一般为“MTU+IP头大小+TCP头大小”,同样TCPserver服务器收到SYN报文后,会发送SYN+ACK报文(同时包含SYN标志和ACK标志的报文)应答,option选项填充的MSS字段也为“MTU+IP头大小+TCP头大小”;协商双方会比较SYN和SYN+ACK报文中MSS字段大小,选择较小的MSS作为发送TCP分片的大小。在进入隧道接口时,由于对IPv4报文(包括IPv4分片报文)封装IPv6报头,会导致IPv6分片报文(包括在IPv4分片报文的基础上又进行IPv6的分片),这样会降低传输速率;通过限制LAN接口和隧道接口的MTU值,可以避免对IPv6数据分段的处理,完成对IPv4和IPv6大包的处理,提高DS-Lite处理能力。步骤110、判断待传输数据的报文协议类型用以选择传输通道,如果是IPv4协议,则通过IPv4-1n-1Pv6隧道完成与AFTR服务器的数据包传输,如果是IPv6协议,则直接通过WAN侧IPv6接口完成与AFTR服务器的数据包传输。在步骤110中,在判断待传输数据的报文协议类型用以选择传输通道的过程中,针对用户终端网关(CPE)LAN接口流入的数据报文,执行以下步骤118至120的过程;针对WAN接口侧流入的数据包,执行以下步骤128至130的过程。`步骤118、判断数据报文的协议类型,如果是IPv4协议,则执行步骤119;如果是IPv6协议,则执行步骤120;步骤119、通过网关隧道接口进行对IPv4报文进行IPv6协议的封装,然后通过IPv4-1n-1Pv6隧道完成与AFTR服务器的上行数据传输(即从终端上传数据至互联网);步骤120、利用IPv6协议通过WAN侧IPv6接口直接传输完成与AFTR服务器的上行数据传输。步骤119中的封装是在一种将协议数据单元封装在一组协议头和尾中的过程。用户终端网关(CPE)WAN侧Tunnel接口将IPv4报文封装为IPv6报文,封装的方式为直接在IPv4报文上封装一个IPv6报文头(报文头的源地址为WAN侧IPv6地址,目的地址为AFTR地址);在用户终端网关(CPE)和AFTR服务器之间的IPv6网络中,该报文会使用IPv6报文头中的目的地址进行转发。步骤128、判断是否封装有IPv4协议类型的报文以确定待传输数据的报文协议类型,若有,则执行步骤129;若无则执行步骤130;步骤129、如果数据包中封装有IPv4协议类型,则传送至网关隧道接口进行解封装,将解封装之后的报文送至IPv4协议栈用以获取目标地址,然后将解封装之后的报文传送至所述目标地址对应的LAN接口,利用IPv4协议传输至相应的终端设备,完成下行数据(即从互联网上下载数据)的传输;步骤130、如果数据包中没有封装IPv4协议类型,则将数据包传送至IPv6协议栈用以获取目标地址,然后将数据包传送至目标地址对应的LAN接口,利用IPv6协议传输至相应的终端设备,完成下行数据的传输。在上述步骤128中,可以通过IPv6协议栈检查IPv6数据包中的封装协议类型,如果封装了IPv4协议,则数据包进入网关隧道接口模块进行解封装,解封装之后的报文被送到IPv4协议栈进行处理。在上述步骤129中所指的解封装是上述封装的反过程,收到该报文数据包后进行解封装,解封装的方式为将IPv6报文头剥离,露出IPv4报文。在上述方案中,所述用户终端网关(CPE)具有IPv4和IPv6两种协议栈。在上述方案中,上述步骤中,在启动用户终端网关(CPE)时一并开启DHCPv6Server功能,为连接到LAN接口的用户终端分配相应的IPv6地址,用于实现IPv6协议终端与用户终端网关(CPE)之间的数据传输。在上述方案中,WAN侧隧道接口的MTU值限制,应根据WAN侧IPv6接口的MTU值减去IPv6报头大小,来避免IPv4报文封装后产生IPv6分片报文。同时适应不支持IPv6分片报文的网络环境,提高DS-Lite传输性能,保证DS-Lite应用场景的多样性。在上述步骤中,接入模式是指在终端IPv4的网络环境中,是如何与IPv6服务器建立连接,以此来建立IPv4流量在IPv6-only网络环境中的通道。实现了静态接入方式、动态接入方式两种接入方式来建立隧道连接。良好的接入方式,可以简化CPE(CPE是指物理上位于用户侧的硬件,如:服务器;工作站;通信硬件(CSU/DSUs,调制解调器))的实现模式,同时提高AFTR服务器(AddressFamilyTransitionRouter地址族转换路由器)的高可用性。静态接入方式可以提高接入效率。动态接入方式,可以提高AFTR服务器的高可用性,隧道的端点可以位于供应商网络中的任务位置,方便AFTR服务器的横向扩展。基于上述实现方法,将其构建的软件应用程序植入于基于Linux内核2.6.22以上的CPE设备上即可提供一种基于Linux的DS-Lite实现方法的CPE接入设备,如图3所示,CPE接入设备具有LAN接口或/和WAN接口,具体包括:发送/接收模块,用于利用LAN接口或/和WAN接口,根据待传输数据的报文协议类型和目标地址,向终端和/或AFTR服务器发送IPv4或IPv6协议数据包;接入模式判断模块,用于判断是否静态配置AFTR服务器域名,并根据判断结果调用缓存中的AFTR服务器域名信息或利用所述发送/接收模块获取动态AFTR服务器域名信息;域名解析模块,用于根据获得的AFTR服务器域名信息获得所述AFTR服务器的IPv6地址;网关隧道接口模块,用于封装或解封装含有IPv4协议报文的IPv6协议数据包,并将封装后的IPv6协议数据包通过WAN接口传输至所述AFTR服务器或将解封装之后的IPv4协议报文通过LAN接口传输至终端设备;数据报文类型判断模块,用于判断待传输数据的报文协议类型,并输出判断结果至所述发送/接收模块,用以建立与AFTR服务器之间的传输通道;和,自适应TCPMSS值确认模块,用于调用Iinux平台ip_tables.ko模块,通过下发iptables规则和限制隧道接口MTU值,来处理大包分片和自适应确定TCPMSS值。在上述方案中,数据报文类型判断模块包括上行数据判断处理单元和下行数据判断处理单元。上行数据判断处理单元,用于根据用户终端网关(CPE)LAN接口流入的数据报文协议类型,通过所述网关隧道接口模块将IPv4协议报文封装在IPv6协议数据包中送至所述发送/接收模块,或直接送至所述发送/接收模块利用IPv6协议发送数据;下行数据判断处理单元,用于判断所述用户终端网关(CPE)WAN接口侧流入的数据包中是否封装有IPv4协议类型的报文,根据判断结果将所述数据包送至所述网关隧道接口模块进行解封装或直接送至所述发送/接收模块。在上述技术方案的基础上,IPv4协议栈模块,用于将报文按照IPv4协议封装或解封装后送入发送/接收模块;在上述技术方案的基础上,IPv6协议栈模块,用于将报文按照IPv6协议封装或解封装后送入发送/接收模块或网关隧道接口模块。总之,在Linux操作系统平台上(大部分的CPE接入设备均采用的是Linux操作系统)构建一种可方便植入的应用软件系统,可以随意植入只要满足其硬件和操作系统需求的任意一台CPE设备之上,从而实现DS-Lite功能。在保留终端IPv4业务的基础上,实现IPv4业务流量在IPv6网络中传输,从而实现在IPv6的环境下,对IPv4业务进行访问。基于如图1所示的网络架构图,单IPv4协议终端或单IPv6协议终端与IPv6协议网络业务服务器或IPv4协议网络业务服务器交互访问时,存在IPv4和IPv6协议之间的转换,可以通过在CPE设备上构建一个将数据包在IPv4协议栈和IPv6协议栈之间传输的功能单元,用以完善上述DS-Lite的实现方法,比如在单IPv4协议终端访问IPv6协议网络业务服务器时,可以通过在CPE设备增加一个协议转换单元,用以在上述步骤130中增加一个步骤:将所述数据包传送至IPv6协议栈进行解析,获得目标地址和报文信息,然后送至IPv4协议栈将所述目标地址和报文信息按照IPv4协议进行封装,再通过LAN接口传输给目标地址对应的单IPv4协议终端。这样做的目的在于实现单IPv4协议终端通过单IPv6协议网络访问单IPv4协议业务服务器的过程,整体网络架构简单,易操作。本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。权利要求1.一种基于Linux的DS-Lite实现方法,其特征在于,包括以下步骤:利用用户终端网关CPE向网关控制服务器BNG发起呼叫请求,在所述用户终端网关的WAN接口建立与IPv6网络的连接,并获取WAN接口的IPv6全球地址;判断是否静态配置AFTR服务器域名,若是,则调用AFTR服务器为用户终端网关提供AFTR服务器域名;若否,则利用用户终端网关通过DHCPv6隧道端点选项向网关控制服务器发出请求分配AFTR服务器域名的请求,接收网关控制服务器返回的AFTR服务器域名;根据所述AFTR服务器域名进行解析,获得所述AFTR服务器的IPv6地址;CPE通过DHCPv6获取IPv6DNS服务器地址,在其LAN接口实现IPv4至IPv6的DNS代理,LAN接口作为IPv4主机的DNS服务器,将LAN侧V4主机发送的IPv4DNS请求转换为IPv6DNS请求进行发送,收到IPv6DNS响应后,再转换为IPv4DNS响应回送给V4主机;开启DHCPv4Server功能,为连接到LAN接口的用户终端分配私有IPv4地址,同时加载Iinux系统中的ip6_tunnel模块;根据所述WAN接口的IPv6全球地址和所述AFTR服务器的IPv6地址,建立用户终端网关至所述AFTR服务器的IPv4-1n-1Pv6隧道,构建网关隧道接口,利用所述WAN接口的IPv6全球地址作为网关隧道接口的网络地址;完成宽带桥接;调用Iinux平台iptables模块,通过下发iptables规则和限制隧道接口MTU值,来处理大包分片和自适应确定TCPMSS值;判断待传输数据的报文协议类型用以选择传输通道,如果是IPv4协议,则通过IPv4-1n-1Pv6隧道完成与所述AFTR服务器的数据包传输,如果是IPv6协议,则直接通过WAN接口完成与所述AFTR服务器的数据包传输。2.根据权利要求1所述的方法,其特征在于,所述用户终端网关具有IPv4和IPv6两种协议栈。3.根据权利要求1所述的方法,其特征在于,在启动用户终端网关时一并开启DHCPv6Server功能,为连接到LAN接口的用户终端分配相应的IPv6地址,用于实现IPv6协议终端与用户终端网关之间的数据传输。4.根据权利要求1所述的方法,其特征在于,所述调用Linux平台下ip_tables模块,用于协商TCPMSS值的自适应过程如下:使用远程主机的主机名和端口号创建TCPclient,为TCP网络服务提供客户端连接,TCPclient发出SYN报文,其中option选项填充的MSS字段一般为MTU+IP头大小+TCP头大小,同样TCPserver服务器收到SYN报文后,会发送SYN+ACK报文应答,option选项填充的MSS字段也为MTU+IP头大小+TCP头大小;协商双方会比较SYN和SYN+ACK报文中MSS字段大小,选择较小的MSS作为发送TCP分片的大小。5.根据权利要求2所述的方法,其特征在于,在所述判断待传输数据的报文协议类型用以选择传输通道的过程中,针对用户终端网关LAN接口流入的数据报文,判断所述数据报文的协议类型,如果是IPv4协议,则通过所述网关隧道接口进行IPv6协议的封装,然后通过IPv4-1n-1Pv6隧道完成与所述AFTR服务器的上行数据传输;如果是IPv6协议,则利用IPv6协议通过所述WAN接口直接传输完成与所述AFTR服务器的上行数据传输。6.根据权利要求2所述的方法,其特征在于,在所述判断待传输数据的报文协议类型用以选择传输通道的过程中,针对WAN接口侧流入的数据包,判断是否封装有IPv4协议类型的报文以确定待传输数据的报文协议类型,如果所述数据包中封装有IPv4协议类型,则传送至所述网关隧道接口进行解封装,将解封装之后的报文送至IPv4协议栈用以获取目标地址,然后将解封装之后的报文传送至所述目标地址对应的LAN接口,利用IPv4协议传输至相应的终端设备,完成下行数据的传输;如果所述数据包中没有封装IPv4协议类型,则将所述数据包传送至IPv6协议栈用以获取目标地址,然后将所述数据包传送至所述目标地址对应的LAN接口,利用IPv6协议传输至相应的终端设备,完成下行数据的传输。7.一种基于Linux的DS-Lite实现方法的CPE接入设备,具有LAN接口或/和WAN接口,其特征在于,所述CPE接入设备包括:发送/接收模块,用于利用LAN接口或/和WAN接口,根据待传输数据的报文协议类型和目标地址,向终端和/或AFTR服务器发送IPv4或IPv6协议数据包;接入模式判断模块,用于判断是否静态配置AFTR服务器域名,并根据判断结果调用缓存中的AFTR服务器域名信息或利用所述发送/接收模块获取动态AFTR服务器域名信息;域名解析模块,用于根据获得的AFTR服务器域名信息获得所述AFTR服务器的IPv6地址;网关隧道接口模块,用于封装或解封装含有IPv4协议报文的IPv6协议数据包,并将封装后的IPv6协议数据包通过WAN接口传输至所述AFTR服务器或将解封装之后的IPv4协议报文通过LAN接口传输至终端设备;数据报文类型判断模块,用于判断待传输数据的报文协议类型,并输出判断结果至所述发送/接收模块,用以建立与AFTR服务器之间的传输通道'及自适应TCPMSS值确认模块,用于调用Iinux平台iptables模块,通过下发iptables规则和限制隧道接口MTU值,来处理大包分片和自适应确定TCPMSS值。8.根据权利要求6所述的CPE接入设备,其特征在于,所述数据报文类型判断模块包括:上行数据判断处理单元,用于根据用户终端网关CPE的LAN接口流入的数据报文协议类型,通过所述网关隧道接口模块将IPv4协议报文封装在IPv6协议数据包中送至所述发送/接收模块,或直接送至所述发送/接收模块利用IPv6协议发送数据;下行数据判断处理单元,用于判断所述用户终端网关CPE的WAN接口侧流入的数据包中是否封装有IPv4协议类型的报文,根据判断结果将所述数据包送至所述网关隧道接口模块进行解封装或直接送至所述发送/接收模块。9.根据权利要求6所述的CPE接入设备,其特征在于,还包括:IPv4协议栈模块,用于将报文按照IPv4协议封装或解封装后送入发送/接收模块。10.根据权利要求6所述的CPE接入设备,其特征在于,还包括:IPv6协议栈模块,用于将报文按照IPv6协议封装或解封装后送入发送/接收模块或网关隧道接口模块。全文摘要本发明公开了一种基于Linux的DS-Lite实现方法及其CPE接入设备,其基于Linux软件方式实现DS-Lite功能,并通过网关设备中使用DHCPv6Option64来获取AFTR服务器地址,在IPv6WAN连接下建立Tunnel,通过DNSProxy来进行IPv4DNS与IPv6DNS相互转换,进行解析,以此方式实现网关LAN侧的IPv4数据包通过网关处理后,在IPv6-only的网络环境进行传输,降低对硬件的要求,简化了接入实现方式。文档编号H04L12/781GK103236964SQ20131016291公开日2013年8月7日申请日期2013年5月7日优先权日2013年5月7日发明者李华敏,曾斌,颜靓,田智炜,魏婵申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1