多链路隧道报文传输方法及系统的制作方法

文档序号:7772179阅读:252来源:国知局
多链路隧道报文传输方法及系统的制作方法
【专利摘要】本发明涉及数据通信技术。本发明公开了一种多链路隧道报文传输方法及系统。本发明的方法技术方案注意包括,在各链路上配置一条虚拟L2TP隧道,将建立了L2TP隧道的链路捆绑在一起并进行标识;初始化各类队列,建立一个发送总队列,一个接收总队列;当报文到达发送端后,对发送总队列的报文进行编号,根据负载配置,选择出接口后,封装不同的L2TP报文头标识报文的序列号;根据丢包率计算带宽,并根据带宽调整各条链路的发送速率。本发明同时公开了由发送方和接收方构成的多链路隧道报文传输系统。本发明能够增强链路有序传输和抗丢包能力。通过绑定多条链路,合理调整各条线路的发送速率,达到均衡时延,拓展业务带宽的目的。
【专利说明】多链路隧道报文传输方法及系统
【技术领域】
[0001]本发明涉及数据通信技术,特别涉及数据通信领域的多链路隧道报文有序传输技术。
【背景技术】
[0002]企业网在租用运营商网络作为链路时,部分链路,尤其是无线链路,其稳定性、延迟、带宽都存在瞬间变化甚至断开的问题。为保证其可靠性,一般会对该链路进行备份,现在的备份技术包括拨号备份或路由备份,无论哪种备份技术,链路的切换时间一般都在几十秒以上,主要原因在切换需要通过链路ppp(Point to Point Protocol)保活断开或通过三层应用,动态路由协议来作为判断条件,这些条件的产生都有一个较长的时间过程。为拓展带宽,一般采用多链路捆绑或路由负载方式。对路由负载和多链路PPP(MPPP MultilinkPoint to Point Protocol)这类技术,对 UDP (User Datagram Protocol)报文有一定负载作用,但对语音,视频等对时延和报文顺序有严格要求的业务流却存在乱序等致命问题。对TCP (Transmission Control Protocol)流,由于各条链路时延的不同,导致单条TCP连接的带宽很难得到提高。同时,多数运营商都存在PPP代理情况下,PPP的保活报文都被运营商代理,导致PPP保活较难反映出链路连通情况,极端情况下会导致较长时间的丢包。当其中某条链路带宽产生变化时,目前的技术也无法对每条链路负载的流量做调整,会导部分链路可能负载的数据流过大而丢包等问题。综上所述,现有技术无法解决多条链路上报文时延不一致问题,无法解决其中一条链路中断导致的丢包问题,无法解决链路带宽变化流量发送方无法感知,无法充分利用带宽的问题。

【发明内容】

[0003]本发明所要解决的技术问题,就是提供一种多链路隧道报文传输方法及系统,均衡各条链路时延,拓展业务带宽实现报文的有序传输。
[0004]本发明解决所述技术问题,采用的技术方案是,多链路隧道报文传输方法,其特征在于,包括步骤:
[0005]A、发送方与接收方之间配置一条虚拟L2TP隧道,并配置发送方虚拟L2TP隧道出接口的地址以及接收方虚拟L2TP隧道入接口的地址;在所述发送方虚拟L2TP隧道出接口与所述接收方虚拟L2TP隧道入接口之间的多链路中的各个链路上分别建立L2TP隧道;将建立L2TP隧道的多链路捆绑在一起并进行标识;
[0006]B、为所述发送方虚拟L2TP隧道出接口建立一个发送总队列,为所述接收方虚拟L2TP隧道入接口建立一个接收总队列,初始化所述发送总队列和接收总队列;
[0007]C、当待转发报文到达所述发送方虚拟L2TP隧道出接口后,发送方通过本地报文处理规则对所述待转发报文进行判断,对于符合转发条件的报文分配序列号,送入发送总队列,发送方根据QOS配置,选择多链路中的某一出接口后,对分配序列号的报文进行对应的L2TP报文封装并通过所述出接口的L2TP隧道发送出去,所述序列号封装入L2TP报文中;
[0008]D、所述L2TP报文到达所述接收方虚拟L2TP隧道入接口并解封装后,将所述解封装后的报文以及序列号信息送入接收总队列,接收方将符合编号顺序的报文依次进行转发,对不符合编号顺序的报文等待设置的延迟条件后,如果还未收到符合编号顺序的L2TP报文,则发送符合编号顺序的下一个序列号的报文,并回送缺失序列号的报文信息到所述发送方虚拟L2TP隧道出接口 ;
[0009]E、所述发送方虚拟L2TP隧道出接口接收到所述接收方回送的缺失序列号的报文信息后,根据QOS配置和多链路中每个出接口统计信息计算出丢包率;
[0010]F、所述发送方根据丢包率计算带宽,并根据带宽调整QOS和各条链路的发送速率。
[0011]优选的,所述步骤A中,将所述虚拟L2TP隧道的配置应用到所述各个链路上分别建立的L2TP隧道。
[0012]优选的,所述步骤D中,所述设置的延迟条件是指设置的滑动窗口时间间隔或者报文个数。
[0013]优选的,所述步骤F中,所述发送端周期性的根据丢包率计算多链路中各个出接口的带宽。
[0014]本发明的另一个目的,提供一种多链路隧道报文传输系统,包括发送方和接收方;
[0015]所述发送方,用于与所述接收方建立一条虚拟L2TP隧道,并在所述虚拟L2TP隧道出接口与所述接收方L2TP隧道入接口之间的多链路中的各个链路上分别建立L2TP隧道;建立并初始化一个发送总队列,当接收到待转发报文并路由到虚拟L2TP隧道出接口后,通过本地报文处理规则对所述待转发报文进行判断,对于符合转发条件的报文分配序列号,送入发送总队列,根据QOS配置,选择多链路中的某一出接口后,对分配序列号的报文进行对应的L2TP报文封装并通过所述出接口的L2TP隧道发送出去,所述序列号封装入L2TP报文;并在接收到所述接收方回送的缺失序列号的报文信息后,根据QOS配置和多链路中每个出接口统计信息计算出丢包率;根据丢包率计算带宽,并根据带宽调整QOS和各条链路的发送速率;
[0016]所述接收方,用于与所述发送方建立一条虚拟虚拟L2TP隧道,并在所述虚拟L2TP隧道出接口与所述发送方L2TP隧道入接口之间的多链路中的各个链路上分别建立L2TP隧道;建立并初始化一个接收总队列,当从所述虚拟L2TP隧道入接口接收到L2TP报文并解封装后,将所述解封装后的报文以及序列号信息送入接收总队列,将符合编号顺序的报文依次进行转发,对不符合编号顺序的报文等待设置的延迟条件后,如果还未收到符合编号顺序的L2TP报文,则发送符合编号顺序的下一个序号号的报文,并回送缺失序列号的报文信息到所述发送方虚拟L2TP隧道出接口。
[0017]进一步的,所述发送方包括第一链路处理模块、第一报文收发模块和带宽调整模块;
[0018]第一链路分配模块,用于与所述接收方建立一条虚拟虚拟L2TP隧道,并在所述虚拟L2TP隧道出接口所在的各链路上建立L2TP隧道,并将建立了 L2TP隧道的多链路捆绑在一起并进行标识;[0019]第一报收发模块,用于建立一个发送总队列并初始化;当有到待转发报文并路由到虚拟L2TP隧道出接口后,通过本地报文处理规则对所述待转发报文进行判断,对于符合转发条件的报文分配序列号,送入发送总队列,根据QOS配置,选择多链路中的某一出接口后,对分配序列号的报文进行对应的L2TP报文封装通过所述出接口的L2TP隧道发送出去,所述序列号封装入L2TP报文;并在接收发送端回送的缺失序列号的报文信息后,通知带宽调整模块;
[0020]带宽调整模块,用于根据QOS配置和多链路中每个出接口统计信息计算出丢包率;根据丢包率计算带宽,并根据带宽调整QOS和各条链路的发送速率。
[0021]优选的,所述接收方包括第二链路分配模块和第二报文收发模块;
[0022]第二链路分配模块,用于与所述发送方建立一条虚拟L2TP隧道,并在所述虚拟L2TP隧道入接口所在的各链路上建立L2TP隧道,并将建立了 L2TP隧道的多链路捆绑在一起并进行标识;
[0023]第二报文收发模块,用于建立并初始化一个接收总队列,当从所述虚拟L2TP隧道入接口接收到L2TP报文并解封装后,将所述解封装后的报文以及序列号信息送入接收总队列,将符合编号顺序的报文依次进行转发,对不符合编号顺序的报文等待设置的延迟条件后,如果还未收到符合编号顺序的L2TP报文,则发送符合编号顺序的下一个序列号的报文,并回送缺失序列号的报文信息到所述发送方虚拟L2TP隧道出接口。
[0024]优选的,所述第一链路分配模块,还用于将所述虚拟L2TP隧道的配置应用到所述各个链路上分别建立的L2TP隧道;
[0025]所述第二链路分配模块,还用于将所述虚拟L2TP隧道的配置应用到所述各个链路上分别建立的L2TP隧道。
[0026]优选的,所述设置的延迟条件是指设置的滑动窗口时间间隔或者报文个数。
[0027]优选的,所述带宽调整模块周期性的根据丢包率计算带宽并其结果作用于Q0S。
[0028]本发明的有益效果是,能够增强链路有序传输和抗丢包能力,当某条链路断开时,可以迅速切换到另外一条链路。对部分有丢包、延时要求及带宽要求的特殊业务,比如视频、语音等业务,通过绑定多条链路,且动态探知运营商网络带宽,合理调整各条线路的发送速率,从而达到均衡时延,拓展业务带宽的目的。
【专利附图】

【附图说明】
[0029]图1是本发明实施例的多链路隧道报文传输方法的流程图;
[0030]图2是本发明实施例的多链路隧道报文传输系统结构框图;
[0031]图3是本发明实施例的发送方的结构框图;
[0032]图4是本发明实施例的接收方的结构框图。
【具体实施方式】
[0033]以下结合附图及【具体实施方式】,详细描述本发明的技术方案。
[0034]本发明的多链路隧道报文传输方法,流程如图1所示,包括步骤:
[0035]S101、发送方与接收方之间配置一条虚拟L2TP隧道(一种工业标准的Internet隧道协议),并配置发送方虚拟L2TP隧道出接口的地址以及接收方虚拟L2TP隧道入接口的地址;在所述发送方虚拟L2TP隧道出接口与所述接收方虚拟L2TP隧道入接口之间的多链路中的各个链路上分别建立L2TP隧道;将建立L2TP隧道的多链路捆绑在一起并进行标识.[0036]隧道的配置应该指明所有对端通道的地址,在L2TP隧道发起时,根据对端地址路由选择出接口与本地地址(也可手工指定),再分别发送L2TP的建立报文,这里推荐采用L2TP v2隧道。本步骤中,发送方与接收方之间配置一条虚拟二层隧道协议L2TP隧道,该虚拟L2TP的配置应用到多链路中的各个链路上分别建立的L2TP隧道。通过PPP协商,将建立了 L2TP隧道的链路捆绑在一起并进行标识。在L2TP隧道协商的时候,PPP的LCP报文通过携带endisc标识,接收方通过支持该特性,即可捆绑两个L2TP通道。
[0037]S102、为所述发送方虚拟L2TP隧道出接口建立一个发送总队,为所述接收方虚拟L2TP隧道入接口建立一个接收总队列,初始化所述发送总队列和接收总队列。
[0038]在发送方或接收方上虚拟L2TP隧道接口,而L2TP间存在负载路由。在该类配置的时候初始化队列:建立一个发送总队列,一个接收总队列。每出接口发送队列与接收队列,发送滑动窗口和接收滑动窗口,当报文被发送后,会在接口发送队列中保存一个发送滑动窗口间隔,可以是时间间隔或报文个数。接收方在接收滑动窗口时间内还未收到报文,就会发送重传请求。
[0039]S103,当待转发报文到达所述发送方虚拟L2TP隧道出接口后,发送方通过本地报文处理规则对所述待转发报文进行判断,对于符合转发条件的报文分配序列号,送入发送总队列,发送方根据服务质量(QOS)配置,选择多链路中的某一出接口后,对分配序列号的报文进行对应的L2TP报文封装通过所述出接口的L2TP隧道发送出去,所述序列号封装入L2TP报文中。本步骤中,当待转发的报文到达发送方后,路由到虚拟L2TP隧道的出接口,虚拟L2TP隧道出口接口通过设定的访问控制列表判断,对不满足条件的报文直接丢弃,其他报文分配序列号并送入发送总队列。
[0040]对发送总队列报文的序列号分配,根据配置需要有序传输的数据报文设置NS>=1的编号,不需要有序传输的报文编号NS=0。对发送总队列的报文进行编号后,根据QOS配置,选择出接口后,封装不同的L2TP报文头标识报文的序列号;QOS是虚拟接口上的QOS,它的物理带宽,应该是虚接口下初始化的所有子接口带宽或者通过计算后的各个子接口的带宽之和,QOS在调度的时候,应该按照各个子接口带宽的大小顺序发送,带宽大的接口应该优先发送序列号小的报文(序列号没有反转的情况)。
[0041]本发明的方法是以设备的转发性能换取线路带宽的资源以进行有序(甚至可靠)的传输和带宽的增加,可靠传输的重传可能会消耗掉更多的设备资源,因此并非所有通过这些链路的报文都进行可靠传输。本发明在该虚拟接口上配置访问控制列表和有序传输访问控制列表,对于不符合转发条件的报文直接丢弃,其他报文则入发送总队列。
[0042]本发明实施例实现的基础是数据链路上有序传输报文和重传请求。要实现有序传输,首先要对报文在链路的发送端进行标记,在链路的数据接收方进行判断,如果出现了丢包,就回送通知报文。这种方式通过对原始数据报文封装L2TP头来实现,对这类数据包,L2TP头仍然将length bit和sequence bit值I,这样数据报文就有长度和序列号的标识。其序列号规则如下:
[0043]1、L2TP隧道建立时,默认两端发送数据的第一个报文为1,以后依次增加;
[0044]2、如果收到数据包的NS为0,直接转发;[0045]3、如果数据包的NR为O,表示接收方还没有丢包;
[0046]4、序列号从1-65535,当到达65535后,重新从I开始,当需要计算报文数时,如果发现当前的序列号比上次的序列号小,就将当前的序列号+65535后计算。无论发送方还是接收方要求数据缓存报文个数不能超过65535个。
[0047]接收方端对不丢包的传输,不会发生ack进行确认,只对丢包的报文,发送NR=丢失的序列号的报文,这个值可以携带在反向的数据报文中,如果没有数据报文,就发送length为O的数据报文。
[0048]S104,所述L2TP报文到达所述接收方虚拟L2TP隧道入接口并解封装后,将所述解封装后的报文以及序列号信息送入接收总队列,接收方将符合编号顺序的报文依次进行转发,对不符合编号顺序的报文等待设置的延迟条件后,如果还未收到符合编号顺序的L2TP报文,则发送符合编号顺序的下一个序列号的报文,并回送缺失序列号的报文信息到所述发送方虚拟L2TP隧道出接口。
[0049]本步骤中,报文到达接收方后,接收方根据报文中的序列号判定是否丢包。如果收到报文里面NR古O的报文,就记录进相应子接口的丢包。这里可以选择实现是否进行可靠传输,对可靠传输,可以考虑重发,甚至从另外的子接口进行重发,但重发次数应该有限制。接收方对有序的报文直接转发,对缺失的报文等待I个滑动窗口间隔,如果还未收到,就继续转发下个有序报文且在对应子接口上回送NR古O的报文。
[0050]接收方收到报文后,如果序列号不连贯,并不马上发送,而是等待一定的时间或报文个数(通常为I滑动窗口间隔),如果一个滑动窗口后还未收到报文,则判定丢包,回送缺失序列号的报文信息到所述发送方虚拟L2TP隧道出接口。
[0051]重传操作应该是可选择性的,对于上层应用已经处理丢包重传的业务,在这类链路上也许不期望再次进行重传,但该方案仍然能够计算出最合理的传送带宽,减少丢包和乱序。当只有单向报文时,接收方应该周期的发送NR=O的报文,避免链路断开,发送方端无法感知。当选择实现重传时,发送方侧收到NR不等于O的报文应该立即进行重传,重传应该更换接口,如果收到2次以上相同NR值且不等于O的报文,记录丢包,可不再重传。如果收到NR在当前的滑动窗口范围中无法找到,就丢弃该报文,并记录日志通告管理员,可能由于网络延时太大从而导致滑动窗口不合理或受到网络攻击。当选择不实现重传时,发送方收到NR不等于O的报文时,记录丢包。
[0052]S105,所述发送方虚拟L2TP隧道出接口接收到所述接收方回送的缺失序列号的报文信息后,根据QOS配置和多链路中每个出接口统计信息计算出丢包率。
[0053]当数据流到达发送方时,数据带宽并不知晓,因此一开始以默认的接口带宽尽力的发送(这里与发送方设备配置及QoS有关,假设是带宽为100Kbps)。当出现丢包后,就会收到NR Φ O的报文,假设用户设定以5s为一个周期,如果在一个周期内,链路上发送了 500个报文,却收到了 25个NR不等于O的报文,这样丢包率=25/500=5%,从而计算出理想带宽为100Kbps* (l-5%)=95Kbps。这样就计算出了其中一条链路的带宽,利用同样的方法,可以计算出其他链路的理想带宽。
[0054]链路在一开始应该设置一个合理的丢包率,比如0.5%?1%,当小这个丢包率时,说明带宽是可以增加的,当大于这个丢包率,说明带宽需要降低。同时还可以设置一个恶劣带宽,比如50%,当计算出丢包率大于50%时,就说明单靠NR无法计算出合理的带宽,这里就直接进行折半的带宽调整,这样几个周期后,就能达到合理的带宽。
[0055]S106,所述发送方根据丢包率计算带宽,并根据带宽调整QOS和各条链路的发送速率6、周期计算出的子接口带宽作用于接口的QOS,QOS模块对各个子接口进行重新的带宽分配。
[0056]当一个周期后,发送方计算出了各条链路的带宽后,相加就得到目前探知的可用带宽(注意,这个带宽可能不是当前最大带宽,只有当所有链路都出现拥塞丢包时,计算出来的带宽才是当前最大可用带宽),可对各条链路发送的数据流量进行调整,调整的方法可根据不同设备或业务要求做不同的实现,比如可采用折半的方法进行带宽调整,就是当链路I有5%丢包,而链路2没有丢包,则可把2.5%的链路I的流量增加到链路2,在下一个传送周期继续做计算。当出现两条链路都丢包时,计算出的带宽就是当前的总带宽,这个值即可应用于上层的QoS中。
[0057]下面两种情况可能影响丢包率:
[0058]配置
[0059]1、如果中间线路由于最大传输单元较小,而丢弃大报文,或者中间防火墙,被人为设置访问控制列表,NAT, QOS等把报文过滤或转换掉从而导致丢包的问题(即非重传可解决的丢包问题),会影响链路丢包率的计算,也会导致大量的重传,从而影响转发能力,为解决该类问题,在发送时,对IP报文大小进行分类(如:1-500标识为1,501-1000标识为2,1001-1500标识为3),以分类标识加上封装前的报文的原和目的地址协议端口进行hash,对不同的hash值进行统计丢包率和重传率,对连续丢包95%以上的报文,后续传输就不再进入可靠传输的队列,而是直接转发,当这类情况发生时,应该记录log通告管理员检查网络或优化配置。
[0060]2、网络攻击
[0061]网络攻击可能模拟大量的重传请求报文和乱序报文,这类报文在一定时间后会被判定到不可靠传输队列,当序列号不在滑动窗口范围内,就直接丢弃该类报文,并打印日志可能受到攻击或时间滑动窗口小于网络时延。
[0062]本发明的多链路隧道报文传输系统,结构如图2所示,包括发送方和接收方,
[0063]所述发送方,用于与所述接收方建立一条虚拟虚拟L2TP隧道,并在所述虚拟L2TP隧道出接口与所述接收方L2TP隧道入接口之间的多链路中的各个链路上分别建立L2TP隧道;建立并初始化一个发送总队列,当接收到待转发报文并路由到虚拟L2TP隧道出接口后,通过本地报文处理规则对所述待转发报文进行判断,对于符合转发条件的报文分配序列号,送入发送总队列,根据QOS配置,选择多链路中的某一出接口后,对分配序列号的报文进行对应的L2TP报文封装通过所述出接口的L2TP隧道发送出去,所述序列号封装入L2TP报文;并在接收到所述接收方回送的缺失序列号的报文信息后,根据QOS配置和多链路中每个出接口统计信息计算出丢包率;根据丢包率计算带宽,并根据带宽调整QOS和各条链路的发送速率;
[0064]所述接收方,用于与所述发送方建立一条虚拟虚拟L2TP隧道,并在所述虚拟L2TP隧道出接口与所述发送方L2TP隧道入接口之间的多链路中的各个链路上分别建立L2TP隧道;建立并初始化一个接收总队列,当从所述虚拟L2TP隧道入接口接收到L2TP报文并解封装后,将所述解封装后的报文以及序列号信息送入接收总队列,将符合编号顺序的报文依次进行转发,对不符合编号顺序的报文等待设置的延迟条件后,如果还未收到符合编号顺序的L2TP报文,则发送符合编号顺序的下一个序号号的报文,并回送缺失序列号的报文信息到所述发送方虚拟L2TP隧道出接口。
[0065]参见图3,发送方包括第一链路处理模块301、第一报文收发模块302和带宽调整模块303 ;
[0066]第一链路分配模块301,用于与所述接收方建立一条虚拟虚拟L2TP隧道,并在所述虚拟L2TP隧道出接口所在的各链路上建立L2TP隧道,并将建立了 L2TP隧道的多链路捆绑在一起并进行标识;
[0067]第一报收发模块302,用于建立一个发送总队列并初始化;当有到待转发报文并路由到虚拟L2TP隧道出接口后,通过本地报文处理规则对所述待转发报文进行判断,对于符合转发条件的报文分配序列号,送入发送总队列,根据QOS配置,选择多链路中的某一出接口后,对分配序列号的报文进行对应的L2TP报文封装通过所述出接口的L2TP隧道发送出去,所述序列号封装入L2TP报文;并在接收发送方回送的缺失序列号的报文信息后,通知带宽调整模块;
[0068]带宽调整模块303,用于根据QOS配置和多链路中每个出接口统计信息计算出丢包率;根据丢包率计算带宽,并根据带宽调整QOS和各条链路的发送速率。
[0069]第一链路分配模块301和第二链路模块401,用于在各链路上建立L2TP V2隧道,通过PPP协商,将建立了隧道的链路捆绑在一起并进行标识。初始化滑动窗口大小。滑动窗口大小以时间间隔和报文个数来表示。
[0070]第一报文收发模块302,用于建立并初始化一个发送总队列。当报文到达发送方后,路由到虚拟接口,虚拟接口通过访问控制列表判断,对不符合转发规则的报文直接丢弃,其他报文入发送总队列。对发送总队列的报文分配序列号,根据配置需要有序传输的数据报文进行NS>=1的编号,不需要有序传输的报文编号NS=0。根据QOS配置,选择出接口后,封装不同的L2TP报文头以标识报文的序列号。
[0071]带宽调整模块303周期性的根据丢包率计算带宽,并根据带宽调整各条链路的发送速率。如果发送方收到一段连续的丢包,就认为链路单通,断开链路;如果一段时间未收到任何报文,就认为链路不通,断开链路;当链路长时间无报文发送时,就周期性的发送长度为O的数据报文;当需要会送NR信息时没有报文发送,就发送报文长度为O的数据报文。
[0072]参见图4,接收方包括第二链路分配模块401和第二报文收发模块402 ;
[0073]第二链路分配模块401,用于与所述发送方建立一条虚拟L2TP隧道,并在所述虚拟L2TP隧道入接口所在的各链路上建立L2TP隧道,并将建立了 L2TP隧道的多链路捆绑在一起并进行标识。
[0074]第二报文收发模块402,用于建立并初始化一个接收总队列,当从所述虚拟L2TP隧道入接口接收到L2TP报文并解封装后,将所述解封装后的报文以及序列号信息送入接收总队列,将符合编号顺序的报文依次进行转发,对不符合编号顺序的报文等待设置的延迟条件后,如果还未收到符合编号顺序的L2TP报文,则发送符合编号顺序的下一个序列号的报文,并回送缺失序列号的报文信息到所述发送方虚拟L2TP隧道出接口。
[0075]第二报文收发模块402,用于报文到达接收方后,根据序列号判定是否丢包;对有序的报文直接转发,对缺失的报文等待I个滑动窗口间隔,如果还未收到,就继续转发下个报文且回送携带相应的NR信息的报文到发送方。
[0076]本发明方案中,发送方根据负载配置,选择多链路的出接口后,封装不同的L2TP报文头;根据丢包率计算出口带宽,并根据带宽调整各条链路的发送速率或对QOS进行动态参数调整。
【权利要求】
1.多链路隧道报文传输方法,其特征在于,包括步骤: A、发送方与接收方之间配置一条虚拟L2TP隧道,并配置发送方虚拟L2TP隧道出接口的地址以及接收方虚拟L2TP隧道入接口的地址;在所述发送方虚拟L2TP隧道出接口与所述接收方虚拟L2TP隧道入接口之间的多链路中的各个链路上分别建立L2TP隧道;将建立L2TP隧道的多链路捆绑在一起并进行标识; B、为所述发送方虚拟L2TP隧道出接口建立一个发送总队列,为所述接收方虚拟L2TP隧道入接口建立一个接收总队列,初始化所述发送总队列和接收总队列; C、当待转发报文到达所述发送方虚拟L2TP隧道出接口后,发送方通过本地报文处理规则对所述待转发报文进行判断,对于符合转发条件的报文分配序列号,送入发送总队列,发送方根据QOS配置,选择多链路中的某一出接口后,对分配序列号的报文进行对应的L2TP报文封装并通过所述出接口的L2TP隧道发送出去,所述序列号封装入L2TP报文中; D、所述L2TP报文到达所述接收方虚拟L2TP隧道入接口并解封装后,将所述解封装后的报文以及序列号信息送入接收总队列,接收方将符合编号顺序的报文依次进行转发,对不符合编号顺序的报文等待设置的延迟条件后,如果还未收到符合编号顺序的L2TP报文,则发送符合编号顺序的下一个序列号的报文,并回送缺失序列号的报文信息到所述发送方虚拟L2TP隧道出接口 ; E、所述发送方虚拟L2TP隧道出接口接收到所述接收方回送的缺失序列号的报文信息后,根据QOS配置和多链路中每个出接口统计信息计算出丢包率; F、所述发送方根据丢包率计算带宽,并根据带宽调整QOS和各条链路的发送速率。
2.根据权利 要求1所述的多链路隧道报文传输方法,其特征在于,所述步骤A中,将所述虚拟L2TP隧道的配置应用到所述各个链路上分别建立的L2TP隧道。
3.根据权利要求1所述的多链路隧道报文传输方法,其特征在于,所述步骤D中,所述设置的延迟条件是指设置的滑动窗口时间间隔或者报文个数。
4.根据权利要求1所述的多链路隧道报文传输方法,其特征在于,所述步骤F中,所述发送端周期性的根据丢包率计算多链路中各个出接口的带宽。
5.多链路隧道报文传输系统,其特征在于,包括发送方和接收方; 所述发送方,用于与所述接收方建立一条虚拟L2TP隧道,并在所述虚拟L2TP隧道出接口与所述接收方L2TP隧道入接口之间的多链路中的各个链路上分别建立L2TP隧道;建立并初始化一个发送总队列,当接收到待转发报文并路由到虚拟L2TP隧道出接口后,通过本地报文处理规则对所述待转发报文进行判断,对于符合转发条件的报文分配序列号,送入发送总队列,根据QOS配置,选择多链路中的某一出接口后,对分配序列号的报文进行对应的L2TP报文封装并通过所述出接口的L2TP隧道发送出去,所述序列号封装入L2TP报文;并在接收到所述接收方回送的缺失序列号的报文信息后,根据QOS配置和多链路中每个出接口统计信息计算出丢包率;根据丢包率计算带宽,并根据带宽调整QOS和各条链路的发送速率; 所述接收方,用于与所述发送方建立一条虚拟虚拟L2TP隧道,并在所述虚拟L2TP隧道出接口与所述发送方L2TP隧道入接口之间的多链路中的各个链路上分别建立L2TP隧道;建立并初始化一个接收总队列,当从所述虚拟L2TP隧道入接口接收到L2TP报文并解封装后,将所述解封装后的报文以及序列号信息送入接收总队列,将符合编号顺序的报文依次进行转发,对不符合编号顺序的报文等待设置的延迟条件后,如果还未收到符合编号顺序的L2TP报文,则发送符合编号顺序的下一个序号号的报文,并回送缺失序列号的报文信息到所述发送方虚拟L2TP隧道出接口。
6.根据权利要求5所述的多链路隧道报文传输系统,其特征在于,所述发送方包括第一链路处理模块、第一报文收发模块和带宽调整模块; 第一链路分配模块,用于与所述接收方建立一条虚拟虚拟L2TP隧道,并在所述虚拟L2TP隧道出接口所在的各链路上建立L2TP隧道,并将建立了 L2TP隧道的多链路捆绑在一起并进行标识; 第一报收发模块,用于建立一个发送总队列并初始化;当有到待转发报文并路由到虚拟L2TP隧道出接口后,通过本地报文处理规则对所述待转发报文进行判断,对于符合转发条件的报文分配序列号,送入发送总队列,根据QOS配置,选择多链路中的某一出接口后,对分配序列号的报文进行对应的L2TP报文封装通过所述出接口的L2TP隧道发送出去,所述序列号封装入L2TP报文;并在接收发送端回送的缺失序列号的报文信息后,通知带宽调整模块; 带宽调整模块,用于根据QOS配置和多链路中每个出接口统计信息计算出丢包率;根据丢包率计算带宽,并根据带宽调整QOS和各条链路的发送速率。
7.根据权利要求5或6所述的多链路隧道报文传输系统,其特征在于,所述接收方包括第二链路分配模块和第二报文收发模块; 第二链路分配模块,用于与所述发送方建立一条虚拟L2TP隧道,并在所述虚拟L2TP隧道入接口所在的各链路上建立L2TP隧道,并将建立了 L2TP隧道的多链路捆绑在一起并进行标识; 第二报文收发模块,用于建立并初始化一个接收总队列,当从所述虚拟L2TP隧道入接口接收到L2TP报文并解封装后,将所述解封装后的报文以及序列号信息送入接收总队列,将符合编号顺序的报文依次进行转发,对不符合编号顺序的报文等待设置的延迟条件后,如果还未收到符合编号顺序的L2TP报文,则发送符合编号顺序的下一个序列号的报文,并回送缺失序列号的报文信息到所述发送方虚拟L2TP隧道出接口。
8.根据权利要求6所述的多链路隧道报文传输系统,其特征在于,所述第一链路分配模块,还用于将所述虚拟L2TP隧道的配置应用到所述各个链路上分别建立的L2TP隧道; 所述第二链路分配模块,还用于将所述虚拟L2TP隧道的配置应用到所述各个链路上分别建立的L2TP隧道。
9.根据权利要求6所述的多链路隧道报文传输系统,其特征在于,所述设置的延迟条件是指设置的滑动窗口时间间隔或者报文个数。
10.根据权利要求6所述的多链路隧道报文传输系统,其特征在于,所述带宽调整模块周期性的根据丢包率计算带宽并其结果作用于Q0S。
【文档编号】H04L12/851GK103490972SQ201310452422
【公开日】2014年1月1日 申请日期:2013年9月27日 优先权日:2013年9月27日
【发明者】陈箭飞 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1