Processing

Please wait...

PATENTSCOPE will be unavailable a few hours for maintenance reason on Tuesday 26.10.2021 at 12:00 PM CEST
Settings

Settings

Goto Application

1. WO2020132982 - DATA TRANSMISSION METHOD AND ROUTING DEVICE

Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083  

权利要求书

1   2   3   4   5   6   7   8   9   10  

附图

1   2   3   4   5   6   7  

说明书

发明名称 : 一种数据传输方法及路由设备

技术领域

[0001]
本申请涉及通信技术领域,特别涉及一种数据传输方法及路由设备。

背景技术

[0002]
目前,在互联网协议第4版(internet protocol version4,IPv4)向互联网协议第6版(internet protocol version6,IPv6)演进的过程中,IPv4网络与IPv6网络并存,路由设备使用IPv6链路转发数据报文可通过IPv4-IPv6双栈和轻量级双栈(dual-stack lite,DS-lite)两种方式。IPv4-IPv6双栈是指,路由设备通过IPv4链路转发终端设备有关IPv4业务的数据报文,通过IPv6链路转发终端设备有关IPv6业务的数据报文。DS-lite是指,在IPv6网络中部署的IPv4-in-IPv6隧道中传输终端设备有关IPv4业务的数据报文,而终端设备有关IPv6业务的数据报文则与IPv4-IPv6双栈相同,直接通过IPv6链路转发。
[0003]
现有技术中,位于用户侧的路由设备通常只支持其中一种数据传输方式,当发现当前使用的数据传输方式不可用时,路由设备需对另一种数据传输方式进行重新配置,这可能会导致终端设备的业务中断,因此,通信的灵活性较差。
[0004]
发明内容
[0005]
本申请实施方式提供一种数据传输方法及路由设备,用以提高通信的灵活性。
[0006]
第一方面,本申请实施例提供一种数据传输方法,包括:第一路由设备检测IPv4链路和IPv6链路是否可用,所述第一路由设备为支持IPv4和IPv6协议栈且位于轻量级双栈DS-lite网络中IPv4-in-IPv6隧道一端的路由设备;所述第一路由设备在所述IPv4链路和所述IPv6链路均可用时,使用配置的IPv4-IPv6双栈网络为终端设备传输数据,在所述IPv4链路不可用且所述IPv6链路可用时,使用配置的所述DS-lite网络为所述终端设备传输数据。
[0007]
采用本申请实施例中的技术方案,第一路由设备可根据IPv4链路和IPv6链路的可用性,灵活地从IPv4-IPv6双栈和DS-lite中选择可行的数据传输方式为终端设备传输数据,从而充分利用网络资源,提高通信的灵活性。
[0008]
在一种可能的设计中,所述路由设备检测IPv4链路和IPv6链路是否可用之前,所述方法还包括:所述第一路由设备获取自身的IPv4地址、IPv6地址和第二路由设备的IPv6地址,所述第二路由设备为位于所述DS-lite网络中IPv4-in-IPv6隧道对端的路由设备;所述第一路由设备根据所述IPv4地址、所述IPv6地址和所述第二路由设备的IP地址,配置所述IPv4-IPv6双栈网络和所述DS-lite网络。
[0009]
进一步地,由于第一路由设备在IPv4链路和IPv6链路的可用性之前,通过获取自身的IPv4地址、IPv6地址等网络配置信息,预先对IPv4-IPv6双栈和DS-lite这两种数据传输方法进行配置,因此,当后续第一路由设备检测到IPv4链路和IPv6链路的可用性发生变化时,第一路由设备可在IPv4-IPv6双栈和DS-lite之间进行自动切换,选择可达的数据传输路径,而不需要修改配置,可有效提高切换效率和通信的灵活性。
[0010]
在一种可能的设计中,所述第一路由设备检测IPv4链路和IPv6链路是否可用,包括: 所述第一路由设备使用所述IPv4链路向第一设定域名对应的第一服务器发送第一检测报文,若接收到所述第一服务器返回的第一响应报文,则确定所述IPv4链路可用,否则不可用;所述第一路由设备使用所述IPv6链路向所述第二路由设备或者第二设定域名对应的服务器发送第二检测报文,若接收到所述第二路由设备或者所述第二服务器返回的第二响应报文,则确定所述IPv6链路可用,否则不可用。
[0011]
在一种可能的设计中,若所述第一路由设备使用配置的DS-lite网络为所述终端设备传输数据,所述方法还包括:所述第一路由设备在检测到IPv4链路可用,且所述IPv4链路中的无丢包时延小于等于第一阈值、所述终端设备在设定时长内的数据流量小于等于第二阈值时,切换到配置的所述IPv4-IPv6双栈网络为所述终端设备传输数据。
[0012]
本申请实施例中,第一路由设备考虑到终端设备数据传输的业务连续性,可选择在IPv4链路恢复正常并保持稳定,且终端设备的业务处于闲置的状态下时,再将DS-lite切换到IPv4-IPv6双栈,从而免切换过程对影响终端设备的业务的影响,有效提高用户体验。
[0013]
第二方面,本申请实施例提供一种路由设备,该路由设备具有实现上述第一方面或第一方面的任一种可能的设计中第一路由设备的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0014]
在一种可能的设计中,所述路由设备的结构中包括处理模块和通信模块,所述处理模块被配置为支持该路由设备执行上述第一方面或第一方面的任一种设计中相应的功能。所述通信模块用于支持该路由设备与其他通信设备(如终端设备)之间的通信。所述路由设备还可以包括存储模块,所述存储模块与处理模块耦合,其保存有路由设备必要的程序指令和数据。作为一种示例,处理模块可以为处理器,通信模块可以为收发器,存储模块可以为存储器。
[0015]
第三方面,本申请实施例提供一种芯片,所述芯片与存储器耦合,用于读取并执行所述存储器中存储的软件程序,以实现上述第一方面中任一种可能的设计中的方法。
[0016]
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机存储介质中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述第一方面中任一种可能的设计中的方法。
[0017]
第五方面,本申请实施例提供一种计算机程序产品,当计算机读取并执行所述计算机程序产品时,使得计算机执行上述第一方面中任一种可能的设计中的方法。

附图说明

[0018]
图1为本申请实施例适用的一种通信系统的网络架构示意图;
[0019]
图2为本申请实施例中IPv4-IPv6双栈下的数据传输示意图;
[0020]
图3为本申请实施例中DS-lite下的数据传输示意图;
[0021]
图4为本申请实施例提供的一种数据传输方法的流程示意图;
[0022]
图5为本申请实施例中第一路由设备获取IPv4地址、IPv6地址和第二路由设备的IP地址的流程示意图;
[0023]
图6为本申请实施例中提供的路由设备的结构示意图;
[0024]
图7为本申请实施例中提供的路由设备的另一结构示意图。

具体实施方式

[0025]
为了使本申请的目的、技术方案和优点更加清楚,下面结合说明书附图对本申请实施例进行具体描述。需要说明的是,本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
[0026]
在下文的描述中,除非有相反的说明,“第一”、“第二”等序数词,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
[0027]
图1示例性示出了本申请实施例适用的一种通信系统的网络架构。如图1所示,所述通信系统包括终端设备101、第一路由设备102和第二路由设备103。进一步地,该通信系统中还可包括IPv4下的动态主机配置协议(dynamic host configuration protocol for IPv4,DHCPv4)服务器,用于对第一路由设备的公网IPv4地址进行配置。
[0028]
终端设备101,是指各种需要上网(指连接到IPv6公网或IPv4公网)的电子设备,例如可以是计算机、笔记本型计算机、智能手机、平板电脑、智能穿戴设备等设备,或者也可以是其它家用设备。终端设备可通过有线或者无线的方式与第一路由设备相连接,通过第一路由设备的路由转发功能,实现与IPv6公网或IPv4公网之间的通信。一般来说,终端设备在与第一路由设备通信的过程中,传输的数据报文可能是IPv4报文,也可能是IPv6报文。需要说明的是,该通信系统中可包括一个或多个终端设备,本申请实施例对终端设备的数量不作具体限定。
[0029]
第一路由设备102,为支持IPv6协议栈和IPv4协议栈的路由设备,它包括与终端设备连接的局域网端口,和与第二路由设备连接的广域网端口,并相应地通过局域网端口与终端设备通信,通过广域网端口与第二路由设备通信。当通信系统中包括多个终端设备时,第一路由设备可通过不同的局域网端口分别与各个终端设备连接。
[0030]
本申请实施例中,第一路由设备可用于集中管理终端设备,它具有DHCPv4和DHCPv6的功能。例如,当第一路由设备经过配置得到自己的公网IPv4地址后,可为其连接的各个终端设备分配相应的内网IPv4地址,也称私网IPv4地址。再例如,当第一路由设备经过配置得到自己的公网IPv6地址和IPv6前缀信息prefix后,可通过DHCPv6或IPv6的无状态自动配置的方式为连接的各个终端设备分配IPv6地址。在一种可能的设计中,第一路由设备可以作为DHCPv6协议的服务端server,提供DHCPv6服务,为终端设备分配IPv6地址,此时,终端设备为DHCPv6协议中的客户端client。在另一种可能的设计中,第一路由设备可为终端设备分配用于进行IPv6的无状态自动配置的IPv6地址前缀,以便终端设备根据该IPv6地址前缀和自己的接口信息,利用随机算法生成IPv6地址。
[0031]
在一种可能的设计中,第一路由设备可以是客户端前端设备(customer premise equipment,CPE)或无线接入点(wireless access point,AP)等位于用户侧的各种类型的路由型网关,其中,CPE也可称为家庭网关。在另一种可能的设计中,当图1中所示的通信系统具体为光接入网络时,该第一路由设备也可以是图2、图3中所示出的光网络终端(optical network terminal,ONT)或光网络单元(optical network unit,ONU)。以第一路由设备为ONT为例,在光接入网络中,ONT常与光线路终端(optical line terminal,OLT)配合使用,通过OLT连接到第二路由设备。
[0032]
第二路由设备,为位于IPv4和IPv6骨干网边缘的路由设备,它具有IPv6下的动态主机配置协议(dynamic host configuration protocol for IPv6,DHCPv6)和地址族转换路由器(address family transition router,AFTR)的功能。本申请实施例中,第二路由设备具有DHCPv6功能是指,第二路由设备相当于一台DHCPv6服务器,能够为第一路由设备分配 公网IPv6地址,此时第二路由设备为DHCPv6协议中的服务端server,第一路由设备为DHCPv6协议中的客户端client。在一种可能的设计中,第二路由设备可以是宽带远程接入服务器(broadband remote access server,BRAS)或是边缘路由器(border router,BR)。
[0033]
本申请实施例中,第一路由设备还具有路由转发的功能,它可以工作在IPv4-IPv6双栈这一数据传输方式(也可以称作工作模式)下,也可以工作在DS-lite这一数据传输方式下。
[0034]
下面,为了便于理解,结合图2和图3对本申请中涉及到的IPv4-IPv6双栈和轻量级双栈DS-lite进行介绍。
[0035]
IPv4-IPv6双栈,是指在一台设备上同时启用IPv4和IPv6协议栈,它这台设备既可以与IPv4设备通信,也可以与IPv6设备通信。当然这要求该设备配置有IPv4和IPv6的广域网端口,设备通过IPv4的广域网端口与IPv4设备通信,通过IPv6的广域网端口与IPv6设备通信。
[0036]
当第一路由设备工作在IPv4-IPv6双栈下时,表示第一路由设备与第二路由设备之间是双栈网络,第一路由设备同时启用IPv4协议栈和IPv6协议栈。如图2所示,在上行方向上,一种转发路径可为,第一路由设备接收终端设备发送的IPv4报文,对该IPv4报文进行网络地址转换(network address translation,NAT),该IPv4报文中原来的源IP地址为终端设备的私网IPv4地址,NAT转换是指将该IPv4报文的源IP地址转换为第一路由设备的公网IPv4地址,然后再将该IPv4报文发送给第二路由设备,进而发送到IPv4公网。另一种转发路径为,第一路由设备接收终端设备发送的IPv6报文,将该IPv6报文直接转发给第二路由设备,进而发送到IPv6公网,这一过程中不需要对该IPv6报文进行NAT转换。下行方向上,IPv4和IPv6报文的转发与上行方向类似,此处不再赘述。
[0037]
DS-lite,是隧道技术的一种,通过在IPv6网络中创建隧道,使得IPv4报文能够穿过IPv6网络发送到IPv4网络,这样终端设备能够通过IPv6网络访问IPv4公网,从而实现IPv4网络之间的互连。
[0038]
在DS-lite中创建的隧道为IPv4in IPv6隧道,或者也可以称为IPv4over IPv6隧道。如图3中所示,第一路由设备作为DS-lite中的基础桥带宽(base bridging broadband element,B4)设备,位于该IPv4in IPv6隧道靠近用户侧的一端,第二路由设备作为DS-lite中的AFTR设备,位于该IPv4in IPv6隧道靠近网络侧的另一端,用于终结IPv4in IPv6隧道。
[0039]
当第一路由设备工作在DS-lite下时,表示第一路由设备与第二路由设备之间是IPv6单栈网络。如图3所示,上行方向上,一种转发路径为,第一路由设备接收终端设备发送的IPv6报文,将该IPv6报文通过IPv6网络直接转发给第二路由设备,由第二路由设备将该IPv6报文发送到IPv6公网中。下行方向上与此类似,第一路由设备和第二路由设备都是执行直接转发,没有进行任何的NAT。
[0040]
另一种转发路径为,由于IPv4报文无法在IPv6网络中直接传输,第一路由设备可利用DS-lite隧道技术在IPv6网络中创建IPv4in IPv6隧道。对于第一路由设备从终端设备处接收到的IPv4报文,第一路由设备可对该IPv4报文进行封装,然后通过创建的IPv4in IPv6隧道发送给第二路由设备。这里,第一路由设备对该IPv4报文进行封装具体是指:在该IPv4报文头部添加一个IPv6报文头,其中,IPv6报文头中的源IPv6地址为第一路由设备(即B4设备)的公网IPv6地址,目的IPv6地址为第二路由设备(即AFTR设备)的IPv6地址。如此,经过封装后这个报文就可以在IPv6网络中传输,从而实现“将IPv4报文封装 在IPv6报文”中的隧道。随后,第二路由设备在接收到该报文后,可将该报文中的IPv6报文头剥离掉,得到原先的IPv4报文,即终端设备初始发送给第一路由设备的IPv4报文。该IPv4报文的报文头中的源IPv4地址为终端设备自身的IPv4地址,即第一路由设备为终端设备分配的私网IPv4地址,第一路由设备在向第二路由设备转发该IPv4报文时,并没有对该私网IPv4地址进行NAT转换,因此,当第二路由设备接收到该IPv4报文后,首先对该私网IPv4地址进行转换,将该IPv4报文的源IPv4地址转换为第一路由设备的公网IPv4地址,然后发送到IPv4公网中,这样接收该IPv4报文的服务器就能正常接收并处理这个报文。下行方向上与此类似,由第二路由设备负责私网IPv4的NAT转换和IPv4报文封装,第一路由设备负责IPv4报文的解封装并转发给终端设备。
[0041]
基于上述网络架构,图4示例性示出了本申请实施例提供的一种数据传输方法,如图4所示,该方法包括:
[0042]
步骤S401,第一路由设备检测IPv4链路和IPv6链路是否可用,该第一路由设备为支持IPv4和IPv6协议栈且处于轻量级双栈DS-lite的IPv4in IPv6隧道一端的路由设备。
[0043]
步骤S402,第一路由设备在IPv4链路和IPv6链路均可用时,采用配置的IPv4-IPv6双栈方式为终端设备传输数据,在IPv4链路不可用但IPv6链路可用时,使用配置的DS-lite方式为终端设备传输数据。
[0044]
本申请实施例中,第一路由设备可在步骤S401之前,获取自身的IPv4地址、IPv6地址和第二路由设备的IPv6地址,此处,第一路由设备的IPv4地址和IPv6地址分别是指,第一路由设备被分配的公网IPv4地址和公网IPv6地址。随后,第一路由设备可根据获取到的IPv4地址、IPv6地址和第二路由设备的IPv6地址,配置IPv4-IPv6双栈和DS-lite两种数据传输方式,建立IPv4-IPv6双栈和DS-lite的IPv4in IPv6隧道。
[0045]
具体的,第一路由设备获取自身的IPv4地址、IPv6地址以及第二路由设备的IPv6地址可通过图5中所示的方法流程实现:
[0046]
步骤S501:第一路由设备发送DHCPv4发现discover报文,经过DHCPv4的标准流程,第一路由设备接收DHCPv4服务器发送的为其分配的公网IPv4地址。
[0047]
步骤S502:第一路由设备发送路由请求(router solicitation,RS)报文,以请求第二路由设备为其分配IPv6地址,以及域名解析系统(domain name system,DNS)服务器的IPv6地址等其它网络配置信息。
[0048]
步骤S503,第一路由设备接收第二路由设备发送的路由公告(router advertisement,RA)报文,并触发标准的DHCPv6过程,获取IPv6地址。
[0049]
步骤S504,第一路由设备向第二路由设备发送DHCPv6要求solicit报文,并在该DHCPv6solicit报文中携带选项option64字段(该option64为RA报文中AFTR对应的option),以请求第二路由设备返回为其分配的IPv6地址,以及AFTR的域名。
[0050]
步骤S505,第一路由设备接收第二路由设备发送的DHCPv6公告advertise报文,该DHCPv6advertise报文中包括第二路由设备为其分配的IPv6地址,以及DNS服务器的IPv6地址、AFTR的域名等网络配置信息。
[0051]
步骤S506,第一路由设备确定第二路由设备在DHCPv6advertise报文中给出的IPv6地址可用后,向第二路由设备发送DHCPv6请求request报文,以请求第二路由设备将该IPv6地址分配给自己。此处,第一路由设备接收DHCPv6advertise报文后,可监听其它设备对该DHCPv6advertise报文的响应,若没有其他设备响应该报文,说明报文中给出的IPv6 地址没有被分配给其它设备,即该IPv6地址可用。
[0052]
步骤S507,第一路由设备接收第二路由设备发送的DHCPv6应答reply报文,确认上述IPv6地址被分配给了自己,根据得到的自己的IPv4地址和IPv6地址,完成IPv4-和IPv6双栈的配置。
[0053]
后续,第一路由设备可将AFTR的域名发送给DNS服务器,以使DNS服务器对AFTR的域名进行DNS解析,得到AFTR的IPv6地址。第一路由设备接收DNS服务器发送的AFTR的IPv6地址,根据该AFTR的IPv6地址向第二路由设备(即AFTR)创建IPv4-in-IPv6的隧道,完成DS-lite的配置。
[0054]
需要说明的是,在上述步骤S501至步骤S509中,为了提高配置效率,第一路由设备可同时发送DHCPv4discover报文和RS报文。若第一路由设备成功获取到IPv4地址、IPv6地址以及AFTR的IPv6地址,第一路由设备配置IPv4-IPv6双栈和DS-lite,反之,若第一路由设备获取IPv4地址失败,只获取到IPv6地址,第一路由设备只配置DS-lite。
[0055]
第一路由设备获取到IPv4地址和IPv6地址,并完成IPv4-IPv6双栈和/或DS-lite的配置后,在步骤S401中,第一路由设备可通过向网络侧发送检测报文的方式来衡量IPv4链路和IPv6链路的通断情况,即链路是否正常是否可用。其中,第一路由设备检测IPv4链路是否可用可以为:第一路由设备使用IPv4链路向IPv4公网中具有第一设定域名的第一服务器发送第一检测报文,当在设定时间间隔内接收到该第一服务器返回的第一响应报文时,确定IPv4链路可用,否则确定IPv4链路不可用。一般来说,IPv4链路不可用可能包括如下的任一种情况:1)IPv4的服务器出现故障;2)在IPv4-IPv6双栈向纯IPv6网络演进的过程中,IPv4服务器被删除了;3)在IPv4单栈网络向纯IPv6网络演进的过程中,IPv4服务器被删除了。
[0056]
同理,第一路由设备检测IPv6链路是否可用可以为:第一路由设备使用IPv6链路向第二路由设备或者IPv6公网中具有第二设定域名的第二服务器发送第二检测报文,当在设定时间间隔内接收到第二路由设备或者具有第二设定域名的第二服务器发送的第二响应报文时,确定IPv6链路可用,否则确定IPv6链路不可用。
[0057]
需要说明的是,第一路由设备在检测IPv4链路和IPv6链路的过程中,所使用的设定时间间隔可以相同,也可以不相同,而且,其中所指的第一设定域名和第二设定域名可以是同一设定域名,也可以是不同的设定域名,本申请均不作具体限定。
[0058]
本申请实施例中,第一检测报文用于检测IPv4链路是否正常,该第一检测报文的源地址为第一路由设备的IPv4地址,目的地址为IPv4公网中第一设定域名对应的第一服务器的IPv4地址。它可以是基于因特网控制报文协议(internet control message protocol,ICMP)协议或是基于地址解析协议(address resolution protocol,ARP)协议的探测报文,例如ICMP回送请求报文,对应的,第一应答报文为ICMP回送应答报文。在一种可能的设计中,第一检测报文可以为第一因特网包探索器ping命令或第一ARP ping命令。
[0059]
第二检测报文用于检测IPv6链路是否正常,该第二检测报文的源地址为第一路由设备的IPv6地址,目的地址为第二路由设备的IPv6地址或IPv6公网中第二设定域名对应的第二服务器的IPv6地址。它可以是基于IPv6下的因特网控制报文协议(internet control message protocol for ipv6,ICMPv6)协议或是基于地址解析协议(address resolution protocol,ARP)协议的探测报文,例如ICMPv6回送请求报文,相应地,第二检测报文为ICMPv6回送应答报文。在一种可能的设计中,第二检测报文可以为第二因特网包探索器ping命令 或第二ARP ping命令。
[0060]
当第一路由设备配置好IPv4-IPv6双栈和DS-lite这两种数据传输方式后,第一路由设备可周期性检测IPv4链路和IPv6链路是否可用,其中检测周期可由本领域技术人员根据网络需求进行灵活地设置,本申请实施例不作具体限定。
[0061]
在步骤S402中,当第一路由设备检测到IPv4链路可用,同时IPv6链路也可用时,可采用IPv4-IPv6双栈方式为终端设备传输数据。也就是说,在这一场景下,第一路由设备可工作在IPv4-IPv6双栈下,通过IPv4链路传输终端设备的IPv4报文,通过IPv6链路传输终端设备的IPv6报文。如此,可有效利用IPv4链路和IPv6链路的网络资源,提高数据传输效率。
[0062]
当第一路由设备检测到IPv4链路不可用但IPv6链路可用时,可采用DS-lite方式为终端设备传输数据。也就是说,在这一场景下,第一路由设备可工作在DS-lite方式下,通过IPv6链路直接传输终端设备的IPv6报文,通过对IPv4报文进行封装和解封装,在创建的IPv4in IPv6隧道中传输终端设备的IPv4报文。如此,可在IPv4链路因存在故障或其他原因而不可用时,也能保证终端设备的IPv4业务的正常进行。
[0063]
在具体的应用场景中,由于第一路由设备可以周期性地检测IPv4链路和IPv6链路的通断情况,因此,如果第一路由设备之前检测到IPv4链路和IPv6链路均可用,并采用IPv4和IPv6方式为终端设备传输数据,后续若第一路由设备检测到IPv4链路不可用,但IPv6链路仍为正常时,第一路由设备可从IPv4-IPv6双栈方式切换到DS-lite方式下,从而通过DS-lite隧道传输终端设备的IPv4数据,避免终端设备IPv4业务的中断。
[0064]
反之,如果第一路由设备之前检测到IPv4链路不可用而IPv6链路可用,并采用DS-lite方式为终端设备传输数据,后续若第一路由设备检测到IPv4链路恢复正常,同时IPv6链路也正常时,第一路由设备可以选择从DS-lite方式切换到IPv4-IPv6双栈方式下。这是因为,使用IPv6链路传输IPv4报文需要对IPv4进行封装和解封装处理,并将封装后的报文通过创建的IPv4in IPv6隧道传输,这一处理过程存在着额外的时间和报文开销,而且对IPv6链路的带宽有一定的影响。因此,当IPv4链路恢复正常后,第一路由设备分别使用IPv4链路和IPv6链路传输终端设备的IPv4报文和IPv6报文,可提高网络资源利用效率和数据传输效率。当然,第一路由设备也可以选择继续使用DS-lite方式,本申请实施例对此不作具体限定。
[0065]
在一种可能的实现方式中,考虑到终端设备的业务连续性,第一路由设备可为从DS-lite到IPv4-IPv6之间的切换设置防抖动机制,以避免切换到IPv4-IPv6双栈后,IPv4链路不稳定无法正常传输数据,又需要再次切换到DS-lite的情况发生。例如,第一路由设备可以选择在检测到IPv4链路可用,且IPv4链路中的无丢包时延小于等于第一阈值(如30ms)、终端设备在设定时长内的数据流量小于等于第二阈值(如100kbps)的情况下,再将终端设备的数据传输切换到IPv4-IPv6双栈下。此处,IPv4链路中的无丢包时延小于等于第一阈值,说明IPv4链路已经恢复稳定,终端设备在设定时长内的数据流量小于等于第二阈值,说明终端设备当前的业务处于闲置的状态,此时,第一路由设备再去断开IPv4in IPv6隧道,将DS-lite切换到IPv4-IPv6双栈,可避免切换过程对影响终端设备的业务的影响,有效提高用户体验。再例如,该防抖动机制也可以是设置一定的防抖时间,即第一路由设备可以选择在检测到IPv4链路可用,并且经过设定的防抖时间后,再执行DS-lite到IPv4-IPv6双栈的切换。
[0066]
采用本申请实施例中的技术方案,第一路由设备可根据IPv4链路和IPv6链路的可用性,灵活地从IPv4-IPv6双栈和DS-lite中选择可行的数据传输方式为终端设备传输数据,从而充分利用网络资源,提高数据传输的灵活性。
[0067]
进一步地,由于第一路由设备在IPv4链路和IPv6链路的可用性之前,通过获取自身的IPv4地址、IPv6地址等网络配置信息,预先对IPv4-IPv6双栈和DS-lite这两种数据传输方法进行配置,因此,当后续第一路由设备检测到IPv4链路和IPv6链路的可用性发生变化时,第一路由设备可在IPv4-IPv6双栈和DS-lite之间进行自动切换,选择可达的数据传输路径,而不需要修改配置,可有效提高切换效率和通信的灵活性。
[0068]
基于相同的发明构思,本申请实施例还提供一种路由设备,用于执行上述方法实施例中的方法流程。图6为本申请实施例提供的路由设备的结构示意图,如图6所示,该路由设备包括:处理模块610和通信模块620。
[0069]
处理模块610,用于检测IPv4链路和IPv6链路是否可用,并在IPv4链路和IPv6链路均可用时,采用配置的IPv4-IPv6双栈方式通过通信模块620为终端设备传输数据,在IPv4链路不可用但IPv6链路可用时,采用配置的DS-lite方式通过通信模块620为终端设备传输数据;通信模块620,用于为终端设备传输数据。应理解,本发明实施例中的处理模块610可以由处理器或处理器相关电路组件实现,通信模块620可以由收发器或收发器相关电路组件实现。
[0070]
图7为本申请实施例中提供的路由设备的另一结构示意图,如图7所示,该路由设备700包括处理器710,存储器720、和通信接口730。可选地,该路由设备700还包括输入设备740、输出设备750和总线760。其中,处理器710、存储器720、通信接口730以及输入设备740、输出设备760通过总线750相互连接。存储器720中存储指令或程序,处理器710用于执行存储器720中存储的指令或程序。存储器720中存储的指令或程序被执行时,该处理器710用于执行上述方法实施例中处理模块610执行的操作,通信接口730用于执行上述实施例中通信模块620执行的操作。
[0071]
需要说明的是,本申请实施例提供的路由设备600或700可对应于本发明实施例提供的数据传输方法S401至S402中的第一路由设备,并且路由设备600或700中的各个模块的操作和/或功能分别为了实现图4至图5中所示方法的相应流程,为了简洁,在此不再赘述。
[0072]
应理解,本申请实施例中提及的处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0073]
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、 同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
[0074]
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
[0075]
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0076]
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0077]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0078]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0079]
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0080]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0081]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0082]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0083]
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

权利要求书

[权利要求 1]
一种数据传输方法,其特征在于,包括: 第一路由设备检测IPv4链路和IPv6链路是否可用,所述第一路由设备为支持IPv4和IPv6协议栈且位于轻量级双栈DS-lite的IPv4in IPv6隧道一端的路由设备; 所述第一路由设备在所述IPv4链路和所述IPv6链路均可用时,采用配置的IPv4-IPv6双栈方式为终端设备传输数据,在所述IPv4链路不可用但所述IPv6链路可用时,采用配置的所述DS-lite方式为所述终端设备传输数据。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,所述路由设备检测IPv4链路和IPv6链路是否可用之前,所述方法还包括: 所述第一路由设备获取自身的IPv4地址、IPv6地址和第二路由设备的IPv6地址,所述第二路由设备为位于所述DS-lite的IPv4-in-IPv6隧道对端的路由设备; 所述第一路由设备根据所述IPv4地址、所述IPv6地址和所述第二路由设备的IP地址,配置所述IPv4-IPv6双栈方式和所述DS-lite方式。
[权利要求 3]
根据权利要求2所述的方法,其特征在于,所述第一路由设备检测IPv4链路和IPv6链路是否可用,包括: 所述第一路由设备使用所述IPv4链路向第一设定域名对应的第一服务器发送第一检测报文,若接收到所述第一服务器返回的第一响应报文,则确定所述IPv4链路可用,否则不可用; 所述第一路由设备使用所述IPv6链路向所述第二路由设备或者第二设定域名对应的第二服务器发送第二检测报文,若接收到所述第二路由设备或者所述第二服务器返回的第二响应报文,则确定所述IPv6链路可用,否则不可用。
[权利要求 4]
根据权利要求1至3中任一项所述的方法,其特征在于,若所述第一路由设备采用配置的DS-lite方式为所述终端设备传输数据,所述方法还包括: 所述第一路由设备在检测到IPv4链路可用,且所述IPv4链路中的无丢包时延小于等于第一阈值、所述终端设备在设定时长内的数据流量小于等于第二阈值时,切换到配置的所述IPv4-IPv6双栈网络为所述终端设备传输数据。
[权利要求 5]
一种路由设备,其特征在于,所述路由设备包括: 处理模块,用于检测IPv4链路和IPv6链路是否可用,所述第一路由设备为支持IPv4和IPv6协议栈且位于轻量级双栈DS-lite网络中IPv4-in-IPv6隧道一端的路由设备; 通信模块,用于在所述处理模块检测到所述IPv4链路和所述IPv6链路均可用时,采用配置的IPv4-IPv6双栈方式为终端设备传输数据,以及在所述处理模块检测到所述IPv4链路不可用且所述IPv6链路可用时,采用配置的所述DS-lite方式为所述终端设备传输数据。
[权利要求 6]
根据权利要求5所述的路由设备,其特征在于,所述通信模块还用于: 获取自身的IPv4地址、IPv6地址和第二路由设备的IP地址,所述第二路由设备为位于所述DS-lite的IPv4-in-IPv6隧道对端的路由设备; 所述处理模块还用于: 根据所述IPv4地址、所述IPv6地址和所述第二路由设备的IP地址,配置所述IPv4-IPv6双栈方式和所述DS-lite方式。
[权利要求 7]
根据权利要求6所述的路由设备,其特征在于,所述处理模块具体用于: 使用所述IPv4链路通过所述通信模块向第一设定域名对应的第一服务器发送第一检测报文,若所述通信模块接收到所述第一服务器返回的第一响应报文,则确定所述IPv4链路可用,否则不可用; 使用所述IPv6链路通过所述通信模块向所述第二路由设备或者第二设定域名对应的第二服务器发送第二检测报文,若所述通信模块接收到所述第二路由设备或者所述第二服务器返回的第二响应报文,则确定所述IPv6链路可用,否则不可用。
[权利要求 8]
根据权利要求5至7中任一项所述的路由设备,其特征在于,若所述第一路由设备采用配置的DS-lite方式为所述终端设备传输数据,所述处理模块还用于: 在检测到IPv4链路可用,且所述IPv4链路中的无丢包时延小于等于第一阈值、所述终端设备在设定时长内的数据流量小于等于第二阈值时,切换到配置的所述IPv4-IPv6双栈方式为所述终端设备传输数据。
[权利要求 9]
一种路由设备,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合; 所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,以使得所述路由设备执行如权利要求1至4中任一项所述的方法。
[权利要求 10]
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当计算机读取并执行所述计算机程序或指令时,使得计算机执行如权利要求1至4中任一项所述的方法。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]  
[ 图 7]