CN111740919A - 一种报负载分担方法及网络设备 - Google Patents

一种报负载分担方法及网络设备 Download PDF

Info

Publication number
CN111740919A
CN111740919A CN202010411355.5A CN202010411355A CN111740919A CN 111740919 A CN111740919 A CN 111740919A CN 202010411355 A CN202010411355 A CN 202010411355A CN 111740919 A CN111740919 A CN 111740919A
Authority
CN
China
Prior art keywords
tunnel
binding
buffer
reordering
network device
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.)
Granted
Application number
CN202010411355.5A
Other languages
English (en)
Other versions
CN111740919B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010411355.5A priority Critical patent/CN111740919B/zh
Publication of CN111740919A publication Critical patent/CN111740919A/zh
Application granted granted Critical
Publication of CN111740919B publication Critical patent/CN111740919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/624Altering the ordering of packets in an individual queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本申请提供了一种负载分担的方法,该方法包括:第一网络设备和第二网络设备之间建立第一隧道和第二隧道,第一隧道和第二隧道通过混合接口绑定形成绑定隧道;第一网络设备向第二网络设备发送多个数据报文,第一网络设备根据第二网络设备返回的确认响应,确定第二网络设备的绑定隧道重排序缓存的缓存空间的使用情况,根据所述使用情况和设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。本申请的方法,有效提高了绑定隧道的传输效率。

Description

一种报负载分担方法及网络设备
技术领域
本申请实施例涉及通信技术领域,特别涉及一种负载分担的方法及网络设备。
背景技术
混合接入(Hybrid Access,HA)网络是指将不同的接入网络连接捆绑起来提供给同一用户使用。混合接入网络能够使用户体验高速网络。例如,两种不同的接入网络为数字用户专线(Digital Subscriber Line,DSL)和长期演进(Long Term Evolution,LTE)。目前,一种可能实现HA的方式是:运营商侧网络设备与用户侧网络设备之间通过通用路由封装(Generic Routing Encapsulation,GRE)隧道实现不同网络类型隧道的混合端口的绑定(英文:Hybrid Bonding)。例如,在DSL和LTE的广域网(英文:Wide Area Network,WAN)接口上分别建立GRE隧道,然后,将两条隧道绑定成一条上行接入通道。运营商侧网络设备与用户侧网络设备之间的消息传递,通过将该消息封装成GRE报文格式后在用户侧网络设备(例如可以是HG(英文:Home Gateway,HG))与运营商侧网络设备(例如可以是HAAP(英文:Hybrid Access Aggregation Point,HAAP))设备之间进行转发。运营商侧网络设备用于捆绑连接不同的接入网络,为用户提供高速的互联网接入;用户侧网络设备能够允许两种不同接入网络同时接入,如,可以同时允许固定宽带网络和移动网络的接入。
现有技术中,在混合接入网络中,基于令牌桶来实现负载分担。以DSL和LTE两种接入网络为例,HAAP与HA之间建立有两条隧道,即DSL隧道和LTE隧道。发送端使用染色机制,根据DSL隧道和LTE隧道带宽来决定报文的染色,根据染色,来确定报文沿DSL隧道还是LTE隧道发送。
如图1所示,发送端维护两个令牌桶,DSL令牌桶(图1中用左斜杠示出)
和LTE令牌桶(图1中用右斜杠示出)。按照DSL和LTE隧道带宽确定两个令牌桶的大小。进入DSL令牌桶的报文被标记为绿色(图1中用左斜杠示出),超过DSL令牌桶接收能力的报文进入LTE令牌桶,进入LTE令牌桶的数据报文被标记为黄色(图1中用右斜杠示出)。最终,绿色报文沿着DSL隧道发送,黄色报文沿着LTE隧道发送。
假设DSL隧道和LTE隧道的带宽是固定的,上述基于令牌桶的负载分担机制无法根据DSL隧道和LTE隧道的实际状况来动态调整流量的负载分担比例,导致绑定隧道传输效率被降低。例如,在DSL隧道出现拥塞,时延的情况下,当DSL隧道的吞吐量未达到DSL隧道的签约带宽时,数据报文会被标记成绿色,依旧按照状况不佳的DSL隧道发送流量。此时,LET隧道的可用带宽无法合理被用户使用,造成LTE隧道闲置,DSL隧道时延增加,导致HA网络整体吞吐量不佳,并且容易导致DSL隧道发生丢包等传输错误,系统资源利用率也会很大程度降低,阻碍混合接入技术的实现。再例如,在LTE隧道出现拥塞,时延的情况下,通过DSL传输的大量报文由于需要等到LTE隧道中的报文到达接收端后,才能进行重排序,于是导致重排序缓冲中可能积攒大量报文,造成整体吞吐量降低,绑定隧道吞吐量不如单DSL隧道,拥塞严重时,可能导致重排序缓存溢出,进而导致报文被丢弃,触发应用层重传的严重问题。
发明内容
本申请提供了一种负载分担的方法的方法及网络设备,用于提高混合接入网中绑定隧道的传输效率。
第一方面,本申请提供了一种负载分担的方法。该方法应用于第一网络设备。该第一网络设备和第二网络设备之间建立有第一隧道和第二隧道,所述第一隧道和所述第二隧道通过混合端口绑定Hybrid bonding形成绑定隧道。所述第二网络设备包括绑定隧道重排序缓存,所述绑定隧道重排序缓存用于对进入所述绑定隧道重排序缓存中的报文进行排序。该第一网络设备例如可以是混合接入网中的HG设备,该第二网络设备例如可以是所述混合接入网中的HAAP设备。或者,该第一网络设备例如可以是混合接入网中的HAAP设备,该第二网络设备例如可以是所述混合接入网中的HG设备。在该方法中,该第一网络设备向该第二网络设备发送多个数据报文,接收该第二网络设备发送的确认响应,具体可以是针对该多个数据报文中的每个报文发送确认响应、针对每几个报文发送的确认响应或者根据其他设定的间隔时间发送的确认响应。该确认响应可以认为是该第二网络设备针对该多个数据报文的确认响应。然后,该第一网络设备根据上述确认响应确定所述重排序绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。
可选的,所述第一网络设备通过所述第一隧道向所述第二网络设备发送所述多个数据报文。可选的,所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述多个数据报文。可选的,所述第一网络设备通过所述第一隧道向所述第二网络设备发送所述多个数据报文中的第一部分数据报文;所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述多个数据报文中的第二部分数据报文。
在上述方案中,通过第二网络设备返回的确认响应,确定绑定隧道重排序缓存的缓存空间的使用情况,并根据所述缓存空间的使用情况和设定的负载分担策略,在所述第一隧道和所述第二隧道之间对所述第一网络设备向所述第二网络设备传输的报文进行动态的负载分担。能够有效的提高绑定隧道的传输效率。
在一个可能的设计中,所述绑定隧道重排序缓存的缓存空间的使用情况,可以包括所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小。
在一个可能的设计中,所述第一网络设备根据所述确认响应确定所述绑定隧道重排序缓存的缓存空间的使用情况,具体包括:
所述第一网络设备根据所述确认响应确定所述第一隧道中未完成正确排序的报文数量F1,所述第二隧道中未完成正确排序的报文数量F2以及所述绑定隧道中未完成正确排序的报文数量FB,进而确定所述绑定隧道重排序缓存中的报文数量B,B=FB-F1-F2,根据所述绑定隧道重排序缓存中的报文数量确定所述绑定隧道重排序缓存的缓存空间的使用情况。
在一个可能的设计中,所述第二网络设备还包括第一隧道重排序缓存和第二隧道重排序缓存,所述第一隧道重排序缓存用于对通过所述第一隧道传输的报文进行排序,所述第二隧道重排序缓存用于对通过所述第二隧道传输的报文进行排序。
所述第一网络设备向所述第二网络设备发送所述多个数据报文,具体包括:
所述第一网络设备通过所述第一隧道向所述第二网络设备发送所述多个数据报文中的第一部分数据报文,所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述多个数据报文中的第二部分数据报文。
所述第一网络设备接收所述第二网络设备发送的确认响应,具体包括:
所述第一网络设备接收所述第二网络设备发送的针对所述第一部分数据报文中的第一数据报文的第一确认响应,根据所述第一确认响应确定已进入所述第一隧道重排序缓存并完成正确排序的报文数量以及已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M。
以及
所述第一网络设备接收所述第二网络设备发送的针对所述第二部分数据报文中的第二数据报文的第二确认响应,根据所述第二确认响应确定已进入所述第二隧道重排序缓存并完成正确排序的报文数量以及已进入所述绑定隧道重排序缓存并完成正确排序的报文数量N。
所述第一网络设备根据M和N中的较大值以及所述第一网络设备所发送的所述多个数据报文的数量得到所述绑定隧道中未完成正确排序的报文数量FB
所述第一网络设备根据向所述第二网络设备发送的所述第一部分数据报文的数量以及根据所述第一确认响应确定的已进入所述第一隧道重排序缓存并完成正确排序的报文数量得到所述第一隧道中未完成正确排序的报文数量F1。
所述第一网络设备根据向所述第二网络设备发送的所述第二部分数据报文的数量以及根据所述第二确认响应确定的已进入所述第二隧道重排序缓存并完成正确排序的报文数量得到所述第二隧道中未完成正确排序的报文数量F2
在一个可能的设计中,所述第一部分数据报文中的每个报文包括该报文的绑定隧道序号以及第一隧道序号。所述第一隧道序号用于表示所述第一部分数据报文中的每个报文在所述第一隧道中的传输顺序,所述第一部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序。所述第二部分数据报文中的每个报文包括该报文的绑定隧道序号以及第二隧道序号,所述第二隧道序号用于表示所述第二部分数据报文中的每个报文在所述第二隧道中的传输顺序。所述第二部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序。所述第一确认响应包括第一隧道确认序号以及绑定隧道确认序号;所述第二确认响应中包括第二隧道确认序号以及绑定隧道确认序号。
所述第一网络设备根据所述第一隧道确认序号确定所述已进入所述第一隧道重排序缓存并完成正确排序的报文数量,并根据所述第一确认响应包括的绑定隧道确认序号确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M。
所述第一网络设备根据所述第二隧道确认序号确定所述已进入所述第二隧道重排序缓存并完成正确排序的报文数量,并根据所述第二确认响应包括的绑定隧道确认序号确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量N。
上述方案中,通过确定绑定隧道重排序缓存中的报文数量,可用于确定所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小。根据所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行动态的负载分担,可以有效地降低所述绑定隧道的网络时延,和/或能较为明显的抑制由于网络拥塞所可能导致的绑定隧道重排序缓存流量溢出,进而导致的报文丢包,触发应用层重传的问题。另外,通过上述方案,可以利用现有的协议(例如GRE协议)已经定义的字段携带报文序号,从而通过报文序号确定绑定隧道重排序缓存中报文的数量,降低了该方法的实现复杂度。
在一个可能的设计中,所述第一部分数据报文中的每个报文包括用于承载所述第一隧道序号的序号Sequence Number字段和用于承载所述绑定隧道序号的绑定序号Bonding Sequence Number字段;所述第二部分数据报文中的每个报文包括用于承载所述第二隧道序号的序号Sequence Number字段和用于承载所述绑定隧道序号的绑定序号Bonding Sequence Number字段。
在一个可能的设计中,所述第一确认响应为通用路由封装GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第一隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述绑定隧道确认序号;或所述第一确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第一隧道确认序号和所述绑定隧道确认序号。
在一个可能的设计中,所述第二确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第二隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述隧道绑定确认序号。
在一个可能的设计中,所述第二确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第二隧道确认序号和所述绑定隧道确认序号。
在一个可能的设计中,所述第一网络设备根据发送所述第一部分数据报文中的第三数据报文与收到所述第二网络设备发送的针对所述第三数据报文的确认响应的时间间隔,确定所述第一隧道的往返时延RTT。
在一个可能的设计中,所述第一网络设备根据发送所述第二部分数据报文中的第四数据报文与收到所述第二网络设备发送的针对所述第四数据报文的确认响应的时间间隔,确定所述第二隧道的往返时延RTT。
通过本申请提供的确定单隧道RTT的方法,在基于动态负载分担的方案中,同时可以确定单隧道RTT。无需单独发送探测报文来统计单隧道的RTT,有效节省了网络开销。
在一个可能的设计中,当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中已用的缓存空间的大小时,所述绑定隧道重排序缓存中已用的缓存空间的大小包括所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度或所述绑定隧道重排序缓存中已用的缓存切片的数量。
在一个可能的设计中,当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中可用的缓存空间的大小时,所述绑定隧道重排序缓存中可用的缓存空间的大小包括所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度或所述绑定隧道重排序缓存中可用的缓存切片的数量。
在一个可能的设计中,所述第一网设备接收到的所述确认响应为GRE数据报文,所述GRE数据报文包括绑定重排序缓存大小Bonding Reorder Buffer Size字段,所述Bonding Reorder Buffer Size字段承载所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用的缓存切片的数量。
在一个可能的设计中,所述第一网设备接收到的所述确认响应为GRE控制报文,所述GRE控制报文包括属性类型长度值Attribute TLV字段,所述Attribute TLV字段包括类型T字段,长度L字段以及值V字段,所述V字段承载所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量。
上述实施方式中,通过根据所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行动态的负载分担,可以有效地降低所述绑定隧道的网络时延,和/或能较为明显的抑制由于网络拥塞所可能导致的绑定隧道重排序缓存流量溢出,进而导致的报文丢包,触发应用层重传的问题。
在一个可能的设计中,所述设定的负载分担策略包括:
所述第一网络设备确定所述绑定隧道重排序缓存中已用的缓存空间的大小大于等于第一门限值或所述绑定隧道重排序缓存中可用的缓存空间的大小小于等于第二门限值后,则选择所述第一隧道和所述第二隧道中往返时延RTT小的隧道或选择所述第一隧道和所述第二隧道中未完成正确排序的报文数量少的隧道传输所述第一网络设备向所述第二网络设备发送的报文。
当第一网络设备确定绑定隧道重排序缓存中已用的缓存空间的大小大于等一个设定的门限之后,或者当第一网络设备确定所述绑定隧道重排序缓存中可用的缓存空间的大小小于等于的一个设定的门限之后,可以使得接下来到达第二网络设备的多个连续报文序列,根据设定的负载分担策略,例如,选择RTT小的隧道传输所述报文序列,或者选择单隧道中未完成正确排序数量少的隧道传输所述报文序列,而不再被分配到时延大或者单隧道中报文数量更多的隧道。由此,可以有效的防止更多的报文被滞留在发生拥塞的隧道,从而造成通过非拥塞隧道传输的报文在重排序缓存中的等待时延,和/或可能引发的绑定隧道重排序缓存中流量溢出的情况,可以有效的减少丢包和系统重传。
第二方面,本申请提供了一种负载分担的方法,该方法应用于第二网络设备。所述第二网络设备和第一网络设备之间建立有第一隧道和第二隧道,所述第一隧道和所述第二隧道通过混合端口绑定Hybrid bonding形成绑定隧道,所述第二网络设备包括绑定隧道重排序缓存,所述绑定隧道重排序缓存用于对进入所述绑定隧道重排序缓存中的报文进行排序。该第一网络设备例如可以是混合接入网中的HG设备,该第二网络设备例如可以是所述混合接入网中的HAAP设备。或者,该第一网络设备例如可以是混合接入网中的HAAP设备,该第二网络设备例如可以是所述混合接入网中的HG设备。首先,该所述第二网络设备接收所述第一网络设备发送的多个数据报文。第二网络设备获取所述绑定隧道重排序缓存的缓存空间的使用情况的信息。然后,向所述所述第一网络设备发送确认响应。所述确认响应中包括所述绑定隧道重排序缓存的缓存空间的使用情况的信息。所述信息被所述第一网络设备用于确定所述绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。
在上述方案中,通过第二网络设备返回的确认响应,确定绑定隧道重排序缓存的缓存空间的使用情况,并根据所述缓存空间的使用情况和设定的负载分担策略,在所述第一隧道和所述第二隧道之间对所述第一网络设备向所述第二网络设备传输的报文进行动态的负载分担。能够有效的提高绑定隧道的传输效率。
在一个可能的设计中,所述绑定隧道重排序缓存的缓存空间的使用情况包括:所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小。
在一个可能的设计中,所述第二网络设备还包括第一隧道重排序缓存和第二隧道重排序缓存,所述第一隧道重排序缓存用于对通过所述第一隧道传输的报文进行排序,所述第二隧道重排序缓存用于对通过所述第二隧道传输的报文进行排序。
所述第二网络设备接收所述第一网络设备发送的所述多个数据报文,具体包括:
所述第二网络设备接收所述第一网络设备通过所述第一隧道发送的所述多个数据报文中的第一部分数据报文。所述第一部分数据报文中的每个报文包括该报文的绑定隧道序号以及第一隧道序号。所述第一隧道序号用于表示所述第一部分数据报文中的每个报文在所述第一隧道中的传输顺序。所述第一部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序。
所述第二网络设备接收所述第一网络设备通过所述第二隧道发送的所述多个数据报文中的第二部分数据报文。所述第二部分数据报文中的每个报文包括该报文的绑定隧道序号以及第二隧道序号。所述第二隧道序号用于表示所述第二部分数据报文中的每个报文在所述第二隧道中的传输顺序。所述第二部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序。
所述确认响应包括所述第二网络设备针对所述第一部分数据报文的第一确认响应和所述第二网络设备针对所述第二部分数据报文的第二确认响应。
所述第二网络设备获得所述第一隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的第一隧道序号以及所述绑定隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的绑定隧道序号。所述第二网络设备根据所述第一隧道序号确定第一隧道确认序号,根据所述绑定隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的绑定隧道序号确定所述第一确认响应中包括的绑定隧道确认序号。所述第一确认响应中包括的所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述第一隧道确认序号和所述第一确认响应中包括的绑定隧道确认序号。
所述第二网络设备获得所述第二隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的第二隧道序号以及所述绑定隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的绑定隧道序号。所述第二网络设备根据所述第二隧道序号确定第二隧道确认序号,根据所述绑定隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的绑定隧道序号确定所述第二确认响应中包括的绑定隧道确认序号。所述第一确认响应中包括的所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述第二隧道确认序号和所述第二确认响应中包括的绑定隧道确认序号。
所述第一隧道确认序号、所述第二隧道确认序号、所述第一确认响应中包括的绑定隧道确认序号以及所述第二确认响应中包括的绑定隧道确认序号被所述第一网络设备用于确定所述绑定隧道重排序缓存的报文数量,并根据所述绑定隧道重排序缓存的报文数量确定所述绑定隧道重排序缓存的缓存空间的使用情况。
通过确定绑定隧道重排序缓存中的报文数量,可用于确定所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小。根据所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行动态的负载分担,可以有效地降低所述绑定隧道的网络时延,和/或能较为明显的抑制由于网络拥塞所可能导致的绑定隧道重排序缓存流量溢出,进而导致的报文丢包,触发应用层重传的问题。另外,通过上述方案,可以利用现有的协议(例如GRE协议)已经定义的字段携带报文序号,从而通过报文序号确定绑定隧道重排序缓存中报文的数量,降低了该方法的实现复杂度。
在一个可能的设计中,所述第一确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第一隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述隧道绑定确认序号。
在一个可能的设计中,所述第一确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第一隧道确认序号和所述绑定隧道确认序号。
在一个可能的设计中,所述第二确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第二隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述绑定隧道确认序号。
在一个可能的设计中,所述第二确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第二隧道确认序号和所述绑定隧道确认序号。
在一个可能的设计中,当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中已用的缓存空间的大小时,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度或所述绑定隧道重排序缓存中已用的缓存切片的数量。
在一个可能的设计中,当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中可用的缓存空间的大小时,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度或所述绑定隧道重排序缓存中可用的缓存切片的数量。
在一个可能的设计中,所述第二网络设备发送的所述确认响应为通用路由封装GRE数据报文,所述GRE数据报文中包括绑定重排序缓存大小Bonding Reorder BufferSize字段,所述Bonding Reorder Buffer Size字段承载所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用的缓存切片的数量。
在一个可能的设计中,所述第二网络设备发送的所述确认响应为GRE控制报文,所述GRE控制报文包括属性类型长度值Attribute TLV字段,所述Attribute TLV字段包括类型T字段,长度L字段以及值V字段,所述V字段承载所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量。
通过根据所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行动态的负载分担,可以有效地降低所述绑定隧道的网络时延,和/或能较为明显的抑制由于网络拥塞所可能导致的绑定隧道重排序缓存流量溢出,进而导致的报文丢包,触发应用层重传的问题。
第三方面,本申请实施例提供了一种第一网络设备,用于执行第一方面或第一方面的任意一种可能的设计中的方法。具体地,该第一网络设备包括用于执行第一方面或第一方面的任意一种可能的设计中的方法的模块。
第四方面,本申请实施例提供了一种第二网络设备,用于执行第二方面或第二方面的任意一种可能的设计中的方法。具体地,该第二网络设备包括用于执行第二方面或第二方面的任意一种可能的设计中的方法的模块。
第五方面,本申请实施例提供了一种第一网络设备,所述第一网络设备包括:输入接口、输出接口、处理器和存储器。其中,输入接口、输出接口、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第一方面或第一方面的任意可能的设计中的方法。
第六方面,本申请实施例提供了一种第二网络设备,所述第二网络设备包括:输入接口、输出接口、处理器和存储器。其中,输入接口、输出接口、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第二方面或第二方面的任意可能的设计中的方法。
第七方面,本申请实施例提供了一种通信系统,该通信系统包括第三方面或第五方面所述的第一网络设备和第四方面或第六方面所述的第二网络设备。
第八方面,本申请提实施例供了一种计算机可读存储介质或者计算机程序产品,用于存储计算机程序,该计算机程序用于执行第一方面、第二方面、第一方面任意可能的设计或第二方面任意可能的设计中的方法的指令。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术中基于令牌桶来实现负载分担的示意图;
图2为本申请实施例提供的混合接入网网络架构示意图;
图3为本申请实施例提供的负载分担方法的流程示意图;
图4为本申请实施例提供的绑定隧道重排序缓存中报文数量计算示意图;
图5为本申请实施例提供的第一网络设备的示意图;
图6为本申请实施例提供的第二网络设备的示意图;
图7为本申请实施例提供的第一网络设备的硬件结构示意图;
图8为本申请实施例提供的第二网络设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
本申请实施例可应用于混合接入网络,混合接入网络中包括第一网络设备和第二网络设备。该第一网络设备和第二网络设备之间建立有第一隧道和第二隧道。该第一隧道和该第二隧道通过绑定连接形成虚拟绑定隧道,在本申请中简称为绑定隧道。该第一网络设备和该第二网络设备之间传输的所有报文均通过该绑定隧道传输。具体地,该所有报文包括分别通过该第一隧道和该第二隧道进行传输的报文。具体地,所述绑定隧道例如可以:GRE隧道,点到点协议(英文:Point-to-point Tunnelling Protocol,PPTP)隧道,用户数据协议(英文:User datagram Protocol,UDP)隧道等,本申请对此不作具体限定。本申请仅以通过GRE实现混合端口绑定形成绑定隧道为例进行介绍。本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
一种可能的混合接入网络架构示例如图2所示。手机,电话,笔记本电脑等终端设备可以通过网线直连、无线局域网(英文:Wireless Fidelity,WiFi)等接入方式与HG设备连接。HG设备可以同时接入DSL和LTE。HG设备通过向HAPP设备发送LTE隧道请求和DSL隧道请求,分别建立GRE隧道(图2中以LTE GRE Tunnel和DSL GRE Tunnel示出),将LTE隧道和DSL隧道绑定成绑定隧道(亦可称之为逻辑GRE隧道),接入HAPP设备,经由HAPP设备接入公共网络(例如Internet)。HG设备和HAAP设备之间的消息,基于GRE协议封装成GRE报文格式后进行转发。
在本申请中,所述的第一网络设备可以为所述HG设备,第二网络设备为所述HAAP设备;或者,所述第一网络设备为HAAP设备,所述第二网络设备为HG设备。第一网络设备发送的所有报文均采用绑定隧道序号(也可称之为逻辑GRE隧道序号)进行全局编号。绑定隧道序号用于表示第一网络设备发送的所述所有报文在绑定隧道中的序号,用于表示所述所有报文在所述绑定隧道中的传输顺序。其中,所述所有报文包括在DSL隧道中传输的报文和在LTE隧道中传输的报文。第二网络设备根据绑定隧道序号恢复所有报文顺序,从而实现HG和HAAP之间混合接入网路的数据传输机制。
下面以HG设备向HAAP设备发送数据流为例进行举例说明,应理解,不够成对本申请的限制。HG接收待发送的数据流,该数据流包括六个数据报文,每个数据报文包括一个绑定隧道序号,分别是1,2,3,4,5,6。绑定隧道序号用于标识该六个数据报文在绑定隧道中的传输顺序。第一网络设备采用DSL隧道发送绑定隧道序号为1-4的数据报文,DSL无可用带宽时,通过LTE隧道进行负载分担,传输绑定隧道序号为5和6的数据报文。HAAP设备使用绑定隧道重排序缓存对通过DSL隧道和LTE隧道传输的报文进行缓存,根据每个报文携带的绑定隧道序号进行重排序。如果绑定隧道序号为1,2,5,6的报文进入绑定隧道重排序缓存,而绑定隧道序号为3和4的报文由于DSL隧道发生拥塞而未到达该绑定隧道重排序缓存,则绑定隧道序号为1和2的报文完成正确排序,输出到网络。绑定隧道序号为5和6的报文未完成正确排序,需要等到绑定隧道序号为3和4的报文进入绑定隧道重排序缓冲,完成正确排序后才能输出到网络。
需要说明的是,图2所示的网络架构示例中,仅以第一网络设备和第二网络设备之间通过绑定第一隧道和第二隧道来实现绑定隧道为例进行介绍,第一网络设备和第二网络设备之间还可以通过绑定两条以上的隧道来实现绑定隧道进行通信。
图2中示出的混合接入网络中的应用场景仅是一种示例,实际混合接入网络中还可以包括其它形式的结构,本申请中不作限制。
下面基于图2所示的混合接入网架构,结合附图3对本申请实施例提供的负载分担方法100作详细说明。该负载分担方法应用于第一网络设备和第二网络设备,该第一网络设备和第二网络设备之间建立有第一隧道和第二隧道。第一隧道和第二隧道通过混合端口绑定Hybrid bonding形成绑定隧道。所述第二网络设备包括绑定隧道重排序缓存,所述绑定隧道重排序缓存用于对进入所述绑定隧道重排序缓存中的报文进行排序。
在一个具体的实施方式中,所述第一网络设备可以是图2所示HG设备,所述第二网络设备可以是图2所示的HAAP设备;或者该第一网络设备可以是图2所示的HAAP设备,所述第二网络设备可以是图2所示的HG设备。所述第一隧道可以是图2所示的DSL隧道,所述第二隧道可以是图2所示的LTE隧道;或者所述第一隧道可以是图2所示的LTE隧道,相应的,所述第二隧道可以是图2所示的DSL隧道。本申请实施例提供的提供的负载分担方法100包括以下部分:
S101、所述第一网络设备向所述第二网络设备发送多个数据报文。
具体地,所述第一网络设备接收所述多个数据报文,以所述第一网络设备为所述HG为例,HG从手机或者其它终端设备接收多个数据报文。手机或其它终端设备通过网线或者WiFi与HG连接,将所述多个数据报文发送给HG。
所述第一网络设备接收到所述多个数据报文以后,根据设定的负载分担策略,例如基于令牌桶来实现负载分担,向所述第二网络设备发送所述多个数据报文。在一个具体的实施方式中,所述第一网络设备通过所述第一隧道向所述第二网络设备发送所述多个数据报文。在另一个具体的实施方式中,所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述多个数据报文。在另一个具体的实施方式中,所述第一网络设备通过所述第一隧道向所述第二网络设备发送所述多个数据报文中的第一部分数据报文;所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述多个数据报文中的第二部分数据报文。
S102、所述第二网络设备接收所述第一网络设备发送的所述多个数据报文。
在一个具体的实施方式中,所述第二网络设备通过所述第一隧道接收所述多个数据报文。在另一个具体的实施方式中,所述第二网络设备通过所述第二隧道接收所述多个数据报文。在另一个具体的实施方式中,所述第二网络设备接收所述第一网络设备发送的所述多个数据报文,具体包括:所述第二网络设备接收所述第一网络设备通过所述第一隧道发送的所述多个数据报文中的第一部分数据报文;所述第二网络设备接收所述第一网络设备通过所述第二隧道发送的所述多个数据报文中的第二部分数据报文。
S103、所述第二网络设备获取所述绑定隧道重排序缓存的缓存空间的使用情况的信息。
具体地,所述绑定隧道重排序缓存的缓存空间的使用情况,例如可以包括:所述绑定隧道重排序缓存中已用的缓存空间的大小或者所述绑定隧道重排序缓存中可用的缓存空间的大小。
在一个具体的实施方式中,当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中已用的缓存空间的大小时,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度或所述绑定隧道重排序缓存中已用的缓存切片的数量。当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中可用的缓存空间的大小时,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度或所述绑定隧道重排序缓存中可用的缓存切片的数量。
在另一个具体的实施方式中,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括单隧道确认号以及绑定隧道确认序号。本申请所述的单隧道指的是组成所述绑定隧道中的各个隧道,如本实施例中的第一隧道或第二隧道。关于“单隧道确认号”以及“绑定隧道确认号”的具体含义,以及如何确定“单隧道确认号”以及“绑定隧道确认号”,参见下面的详细说明。
S104、所述第二网络设备向所述第一网络设备发送确认响应。
具体地,所述第二网络设备向所述第一网络设备发送确认响应,所述确认响应中包括所述绑定隧道重排序缓存的缓存空间的使用情况的信息,所述信息被所述第一网络设备用于确定所述绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。具体如何发送确认响应,可参见下面的详细说明。
该设定的负载分担策略,包括但不限于:所述第一网络设备确定所述绑定隧道重排序缓存中已用的缓存空间的大小大于等于第一门限值或所述绑定隧道重排序缓存中可用的缓存空间的大小小于等于第二门限值后,则选择所述第一隧道和所述第二隧道中往返时延RTT小的隧道或选择所述第一隧道和所述第二隧道中未完成正确排序的报文数量少的隧道传输所述第一网络设备向所述第二网络设备发送的报文。
在一个具体的实施方式中,所述第二网络设备每收到一个报文,就会向所述第一网络设备返回一个确认响应。在另一个具体的实施方式中,所述第二网络设备可以设定,在一定的时间间隔下,周期性的向第一网络设备返回所述确认响应。在另一个具体的实施方式中,所述第二网络设备还可以在接收到所述第一网络设备发送的请求或者达到设定的预警状态时发送所述确认响应。该设定的预警状态包括但不限于绑定隧道重排序缓存的已用缓存空间的大小大于等于一个设定的阈值,或者绑定隧道重排序缓存的可用缓存空间的大小小于等于一个设定的阈值。本申请对此不作具体限定。
S105、所述第一网络设备接收第二网络设备发送的确认响应。
S106、所述第一网络设备根据所述确认响应确定所述绑定隧道重排序缓存的缓存空间的使用情况。
具体如何根据所述确认响应确定所述绑定隧道重排序缓存的缓存空间的使用情况参考下面的详细说明。
S107、第一网络设备根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,在所述第一隧道和所述第二隧道之间对所述第一网络设备向所述第二网络设备传输的报文进行负载分担。
具体如何根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担可参考下述详细说明。
在上述方案中,通过第二网络设备返回的确认响应,确定绑定隧道重排序缓存的缓存空间的使用情况,并根据所述缓存空间的使用情况和设定的负载分担策略,在所述第一隧道和所述第二隧道之间对所述第一网络设备向所述第二网络设备传输的报文进行动态的负载分担,能够有效的提高绑定隧道的传输效率。
下面对S105中如何发送确认响应以及S106中如何根据所述确认响应确定所述绑定隧道重排序缓存的缓存空间的使用情况进行具体说明。
在一个具体的实施方式中,所述第一网络设备接收所述第二网络设备发送的确认响应,具体包括:所述第二网络设备通过所述第一隧道或第二隧道向所述第一网络设备发送所述确认响应。相应的,所述第一网络设备接收所述第二网络设备通过所述第一隧道或所述第二隧道返回的所述确认响应。所述确认响应为通用路由封装GRE数据报文,所述GRE数据报文中包括绑定重排序缓存大小Bonding Reorder Buffer Size字段,所述第一网络设备根据所述Bonding Reorder Buffer Size字段所承载的内容确定所述绑定隧道重排序缓存的缓存空间的使用情况。例如,可以在GRE报文头携带Bonding Reorder Buffer Size字段。所述Bonding Reorder Buffer Size字段例如可以是32比特。
或者,所述确认响应为GRE控制报文,所述GRE控制报文包括属性类型长度值Attribute TLV字段,所述Attribute TLV字段包括类型T字段,长度L字段以及值V字段,所述第一网络设备根据所述V字段所承载的内容确定所述绑定隧道重排序缓存的缓存空间的使用情况。
当所述确认响应为GRE数据报文时,所述Bonding Reorder Buffer Size字段所承载的内容包括所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度,所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度,所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用的缓存切片的数量。
当所述确认响应为所述GRE控制报文时,所述V字段所承载的内容包括所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度,所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度,所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量。
具体地,GRE控制报文中的Attribute TLV字段的格式如下所示:
Figure BDA0002493372410000141
在一个具体的实施方式中,Attribute TLV字段例如可以承载于GRE TunnelNotify报文中。属性类型Attribute Type的取值例如可以是36,用于表示返回绑定隧道重排序缓存的空间使用情况,属性值Attribute Value所承载的内容如上文所述,不再赘述。
需要说明的是,本申请中所述的GRE数据报文或控制报文,及其中的字段或格式仅是示例性说明,不构成本对发明的限定。本领域技术人员在阅读本申请文件的基础上可以想到采用其他报文或者GRE数据报文或控制报文的其他字段或格式以携带上述实施方式中的绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度,所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度,所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用的缓存切片的数量,这些都属于本申请应有之意,在此不一一赘述。
在一个具体的实施方式中,第一网络设备根据报文队列在绑定隧道重排序缓存中长度,来确定绑定隧道重排序缓存的缓存空间的使用情况。举例来说,缓存空间的最小单位为1个字节,该绑定隧道重排序缓存中的报文队列的长度为1518个字节,则绑定隧道重排序缓存已用的缓存空间的大小为1518个字节。采用该绑定隧道重排序缓存配置的缓存队列的最大长度减去已有的报文队列的长度,就可以得到绑定隧道重排序缓存可用的缓存空间的大小。这种情况,可以使用设定的字节数作为设定门限值作为进一步负载分担的依据。可选的,在所述确认响应中,可以直接返回所述绑定隧道重排序缓存中的报文队列的长度,即返回绑定隧道重排序缓存已用的缓存空间的大小。第一网络设备接收到所述确认响应后,可以直接基于绑定隧道重排序缓存已用的缓存空间的大小作为确定进一步负载分担策略的依据。第一网络设备也可以在接收到所述确认响应后,基于绑定隧道重排序缓存已用的缓存空间的大小获得所述绑定隧道重排序缓存可用的缓存空间的大小,以此作为作为确定进一步负载分担策略的依据。可选的,在所述确认响应中,可以直接返回绑定隧道重排序缓存可用的缓存空间的大小,即返回绑定隧道重排序缓存中可用的用于缓存报文队列的长度。第一网络设接收到所述确认响应后,可以直接基于绑定隧道重排序缓存可用的缓存空间的大小,或者通过绑定隧道重排序缓存可用的缓存空间的大小获得绑定隧道重排序缓存已用的缓存空间的大小,来作为确定进一步负载分担策略的依据。
在另一个具体的实施方式中,所述第一网络设备可以根据绑定隧道重排序缓存中已用或可用的缓存切片的数量,来确定绑定隧道重排序缓存的缓存空间的使用情况。举例来说,缓存空间的最小单位为一个缓存切片,将绑定隧道重排序缓存中的缓存资源划分为多个切片,每个切片可以具有固定的大小,例如256字节。绑定隧道重排序缓存存储报文时,根据每个报文的长度,分别为每个报文分配一个或多个切片。以单个缓存切片大小为256字节为例,当该绑定隧道重排序缓存中的报文队列的长度为1518个字节时,则该绑定隧道重排序缓存已用的缓存空间的大小为6个缓存切片。假设该绑定隧道重排序缓存的缓存空间被划分为20个缓存切片,则所述绑定隧道重排序缓存可用的缓存空间的大小为14个缓存切片。这种情况下,可以使用设定的缓存切片的数量作为设定门限值。可选的,在所述确认响应中,可以直接返回所述绑定隧道重排序缓存中已用的缓存切片的数量,即返回绑定隧道重排序缓存已用的缓存空间的大小。第一网络设备接收到所述确认响应后,可以直接基于绑定隧道重排序缓存已用的缓存空间的大小作为确定进一步负载分担策略的依据。第一网络设备也可以在接收到所述确认响应后,基于绑定隧道重排序缓存已用的缓存空间的大小获得所述绑定隧道重排序缓存可用的缓存空间的大小,以此作为作为确定进一步负载分担策略的依据。可选的,在所述确认响应中,可以直接返回绑定隧道重排序缓存可用的缓存空间的大小,即返回绑定隧道重排序缓存中可用缓存切片的数量。第一网络设接收到所述确认响应后,可以直接基于绑定隧道重排序缓存可用的缓存空间的大小,或者通过绑定隧道重排序缓存可用的缓存空间的大小获得绑定隧道重排序缓存已用的缓存空间的大小,来作为确定进一步负载分担策略的依据。
在另一个具体的实施方式中,所述第一网络设备还可以根据在绑定隧道重排序缓存中的报文数量,来确定绑定隧道重排序缓存的缓存空间的使用情况。需要说明的是,举例来说,缓存空间的最小单位为一个报文。绑定隧道重排序缓存配置最大可存储报文的数量为S个,在绑定隧道重排序缓存中排队的报文的数量为T个,此时,该绑定隧道重排序缓存已用的缓存空间的大小为T个报文。这种情况下,可以使用设定的报文数量作为设定门限值。S大于1,T大于0。可选的,在所述确认响应中,可以直接返回所述绑定隧道重排序缓存中的报文数量,即返回绑定隧道重排序缓存已用的缓存空间的大小。第一网络设备接收到所述确认响应后,可以直接基于绑定隧道重排序缓存已用的缓存空间的大小作为确定进一步负载分担策略的依据。第一网络设备也可以在接收到所述确认响应后,基于绑定隧道重排序缓存已用的缓存空间的大小获得所述绑定隧道重排序缓存可用的缓存空间的大小,以此作为确定进一步负载分担策略的依据。可选的,在所述确认响应中,可以直接返回绑定隧道重排序缓存可用的缓存空间的大小,即返回绑定隧道重排序缓存中可用的能够存储的报文数量。第一网络设备接收到所述确认响应后,可以直接基于绑定隧道重排序缓存可用的缓存空间的大小,或者通过绑定隧道重排序缓存可用的缓存空间的大小获得绑定隧道重排序缓存已用的缓存空间的大小,来作为确定进一步负载分担策略的依据。在本申请各实施方式中,所述“绑定隧道重排序缓存中的报文”指代绑定隧道重排序缓存中未完成正确排序的报文,已经完成排序的报文不算入绑定隧道重排序缓存中的报文。
上述实施方式中,通过根据所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行动态的负载分担,可以有效地降低所述绑定隧道的网络时延,和/或能较为明显的抑制由于网络拥塞所可能导致的绑定隧道重排序缓存流量溢出,进而导致的报文丢包,触发应用层重传的问题。
在上述根据在绑定隧道重排序缓存中的报文数量,来确定绑定隧道重排序缓存的缓存空间的使用情况的实施方式中,在一种具体的实施方式中,还可以根据所述绑定隧道重排序缓存中未完成正确排序的报文数量,所述第一隧道中未完成正确排序的报文数量以及第二隧道中未完成正确排序的报文数量来确定绑定隧道重排序缓存中的报文数量。以下对根据各隧道中未完成正确排序的报文数量确定绑定隧道重排序缓存的使用情况进行具体说明。
需要说明的是,在本申请各实施例中,一个报文在通过第一网络设备进行负载分担并发送之后,在第二网络设备绑定隧道重排序缓存完成正确排序之前,报文可能存在于以下几个位置中:所述绑定隧道中的各隧道(为了便于说明,这里用隧道i表示)的传输路径中,隧道i的重排序缓存中,以及绑定隧道重排序缓存中。i为大于或等于1的正整数,隧道1即指代本申请所述的第一隧道,隧道2即指代本申请所述的第二隧道,以此类推,不再赘述。在任意一个时刻下,存在于上述任一位置中的报文称之为绑定隧道中的“未完成正确排序的报文”。在隧道i中的正在传输的报文以及在隧道i的重排序缓存中的报文称之为隧道i中的“未完成正确排序的报文”。隧道i的重排序缓存中的报文指的是那些已进入隧道i的重排序缓存中但未完成正确排序的报文。举例来说,对于第一隧道而言,第一隧道中正在传输的报文以及在第一隧道重排序缓存中的报文的总数记为第一隧道中未完成正确排序的报文数量。第二隧道中正在传输的报文以及在第二隧道重排序缓存中的报文的总数记为第二隧道中未完成正确排序的报文数量。第一隧道的重排序缓存,在本申请中称之为第一隧道重排序缓存,第二隧道的重排序缓存,在本申请中称之为第二隧道重排序缓存。所述第一隧道重排序缓存用于对通过所述第一隧道传输的报文进行正确排序,经过所述第一隧道重排序缓存正确排序后的报文进入所述绑定隧道重排序缓存。同理,所述第二隧道重排序缓存用于对通过所述第二隧道传输的报文进行正确排序,经过所述第二隧道重排序缓存正确排序后的报文进入所述绑定隧道重排序缓存。所述绑定隧道重排序缓存用于对通过所述第一隧道和所述第二隧道传输的所有报文进行正确排序。
本实施方式中,根据所述绑定隧道重排序缓存中未完成正确排序的报文数量,所述第一隧道中未完成正确排序的报文数量以及第二隧道中未完成正确排序的报文数量确定绑定隧道重排序缓存中的报文数量,具体包括:所述第一网络设备根据所述确认响应确定所述第一隧道中未完成正确排序的报文数量F1,所述第二隧道中未完成正确排序的报文数量F2以及所述绑定隧道中未完成正确排序的报文数量FB,进而确定所述绑定隧道重排序缓存中的报文数量B,B=FB-F1-F2。在一个具体的实施方式中,所述第一网络设备可以直接基于确定的所述绑定隧道重排序缓存中的报文数量B,确定绑定隧道重排序缓存已用的缓存空间的大小,从而作为确定进一步负载分担策略的依据。第一网络设备也可以基于绑定隧道重排序缓存已用的缓存空间的大小获得所述绑定隧道重排序缓存可用的缓存空间的大小,以此作为确定进一步负载分担策略的依据。
具体来说,所述第二网络设备还包括上述第一隧道重排序缓存和第二隧道重排序缓存。所述第一网络设备向所述第二网络设备发送所述多个数据报文,具体包括:所述第一网络设备通过所述第一隧道向所述第二网络设备发送所述多个数据报文中的第一部分数据报文;所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述多个数据报文中的第二部分数据报文。
所述第二网络设备向所述第一网络设备发送针对所述第一部分数据报文的第一确认响应,所述第一网络设备根据所述第一确认响应确定已经进入上述第一隧道重排序缓存并完成正确排序的报文数量以及已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量。在一个具体实施方式中,所述第一网络设备可以根据所述第一确认响应携带的已经进入所述第一隧道重排序缓存并完成正确排序的报文的报文序号确定已经进入第一隧道重排序缓存并完成正确排序的报文数量,以及根据所述第一确认响应携带的已经进入所述绑定隧道重排序缓存并完成正确排序的报文的报文序号确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M。一个具体的实施方式中,已经进入所述第一隧道重排序缓存并完成正确排序的报文的报文序号可以为发送所述第一确认响应时或之前获取的最新的已经进入所述第一隧道重排序缓存并完成正确排序的报文的报文序号。同理,其中已经进入所述绑定隧道重排序缓存并完成正确排序的报文的报文序号可以为发送所述第一确认响应之前获取的最新的已经进入所述绑定隧道重排序缓存并完成正确排序的报文的报文序号。本领域技术人员在阅读本申请实施例的基础上可以容易想到,也可以通过在所述第一确认响应中直接携带所述已经进入所述第一隧道重排序缓存并完成正确排序的报文的报文数量。此外,已经进入所述第一隧道重排序缓存并完成正确排序的报文的报文序号或数量也可以以设定时间或期限内获取的最新的已经进入所述第一隧道重排序缓存并完成正确排序的报文的报文序号或数量。同理,上述这些实施方式也可以适用于确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M。在确定所述已经进入所述第一隧道重排序缓存并完成正确排序的报文数量基础上,结合所述第一网络设备根据通过所述第一隧道向所述第二网络设备发送的第一部分数据报文的数量即可获得所述第一隧道中未完成正确排序的报文数量F1。具体而言,可以将所述第一网络设备向所述第二网络设备发送的第一部分数据报文的数量减去所述已经进入所述第一隧道重排序缓存并完成正确排序的报文数量得到所述第一隧道中未完成正确排序的报文数量F1
同理,所述第二网络设备向所述第一网络设备发送针对所述第二部分数据报文的第二确认响应,所述第一网络设备根据所述第二确认响应确定已经进入第二隧道重排序缓存并完成正确排序的报文数量以及所述已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量N。具体的实施方式与上述第一网络设备根据所述第一确认响应确定确定已经进入第二隧道重排序缓存并完成正确排序的报文数量以及所述已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M相似,这里不再赘述。在确定所述已经进入所述第二隧道重排序缓存并完成正确排序的报文数量基础上,结合所述第一网络设备根据通过所述第二隧道向所述第二网络设备发送的第二部分数据报文的数量即可获得所述第二隧道中未完成正确排序的报文数量F2,具体的实施方式,参考上述确定所述第一隧道中未完成正确排序的报文数量F1的方式,这里不再赘述。
所述第一网络设备根据所述第一确认响应中携带的已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M和所述第二确认响应中携带的已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量N中的较大值以及所述第一网络设备所发送的所述多个数据报文的数量确定所述绑定隧道重排序缓存中未完成正确排序的报文数量FB。具体而言,可以将所述第一网络设备所发送的所述多个数据报文的数量减去所述第一确认响应携带的已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M和所述第二确认响应中携带的已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量N中的较大值得到所述绑定隧道中未完成正确排序的报文数量FB
可以理解,所述第一网络设备也可以根据所述第一确认响应中的已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M以及所述第一网络设备所发送的所述多个数据报文的数量得到所述绑定隧道重排序缓存中未完成正确排序的报文数量(为了便于说明,这里称之为绑定隧道重排序缓存中未完成正确排序的报文数量第一值)以及所述第二确认响应中的已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量N以及所述第一网络设备所发送的所述多个数据报文的数量得到所述绑定隧道重排序缓存中未完成正确排序的报文数量(为了便于说明,这里称之为绑定隧道重排序缓存中未完成正确排序的报文数量第二值),然后比较所述绑定隧道重排序缓存中未完成正确排序的报文数量第一值和所述绑定隧道重排序缓存中未完成正确排序的报文数量第二值,以其中的较大值确定为所述绑定隧道中未完成正确排序的报文数量FB
以下具体说明所述第一网络设备如何根据所述第一确认响应携带的已经进入所述第一隧道重排序缓存并完成正确排序的报文的报文序号确定已经进入第一隧道重排序缓存并完成正确排序的报文数量,以及如何根据所述第一确认响应携带的已经进入所述绑定隧道重排序缓存并完成正确排序的报文的报文序号确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M。
在一个具体的实施方式中,所述第一部分数据报文中的每个报文包括该报文的绑定隧道序号以及第一隧道序号。所述第一隧道序号用于表示所述第一部分数据报文中的每个报文在所述第一隧道中的序号,即所述第一部分数据报文中的每个报文在所述第一隧道中的传输顺序。第一隧道中传输的报文可能没有按照所述第一隧道序号所指示的传输顺序到达所述第一隧道重排序缓存,所述第一隧道重排序缓存需要根据所述每个报文的第一隧道序号进行排序,完成正确排序后的报文从所述第一隧道重排序缓存进入到所述绑定隧道重排序缓存。所述第一部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的序号,即该报文在所述绑定隧道中传输顺序。报文可能没有按照所述绑定隧道序号所指示的传输顺序到达所述绑定隧道重排序缓存,所述绑定隧道重排序缓存需要根据所述每个报文的绑定隧道序号进行排序,完成正确排序后的报文从所述绑定隧道重排序缓存发送到网络中的其他设备。所述第二部分数据报文中的每个报文包括该报文的绑定隧道序号以及第二隧道序号。同理,所述第二隧道序号用于表示所述第二部分数据报文中的每个报文在所述第二隧道中的序号,即所述第二部分数据报文中的每个报文在所述第二隧道中的传输顺序。所述第二部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的序号,即该报文在所述绑定隧道中的传输顺序。
所述第二网络设备确定已进入所述第一隧道重排序缓存并完成正确排序的报文中所携带的第一隧道序号,具体的可以按照发送所述确认响应时或之前或在设定时间或期限内获得的最新的进入所述第一隧道重排序缓存并完成正确排序的报文中所携带的第一隧道序号,并将其作为第一隧道确认序号携带在所述第一确认响应中发给所述第一网络设备。需要说明的是,这里的第一隧道确认序号可以是发送所述确认响应时或之前或在设定时间或期限内获得的最新的进入所述第一隧道重排序缓存并完成正确排序的报文中所携带的第一隧道序号,也可以是与该第一隧道序号有映射关系的序号,具体参考下面的例子说明。
同理,所述第二网络设备确定已进入所述绑定隧道重排序缓存并完成正确排序的报文中所携带的绑定隧道序号,具体的可以按照发送所述确认响应时或之前或在设定时间或期限内获得的最新的进入所述绑定隧道重排序缓存并完成正确排序的报文中所携带的绑定隧道序号,并将其携带在所述第一确认响应中发给所述第一网络设备。为了便于描述,本申请实施例将携带在所述第一确认响应中的最新进入所述绑定隧道重排序缓存并完成正确排序的报文中所携带的绑定隧道序号称之为绑定隧道确认序号。
所述第一网络设备根据所述第一确认响应中的所述第一隧道确认序号即可确定已经进入第一隧道重排序缓存并完成正确排序的报文数量,一个具体的实施方式中,可以根据所述第一网络设备向所述第二网络设备发送的第一部分数据报文中的最大的第一隧道序号减去所述第一确认响应中携带的所述第一隧道确认序号即可得到所述已经进入第一隧道重排序缓存并完成正确排序的报文数量。
同理,所述第一网络设备根据所述第一确认响应中的所述绑定隧道确认序号即可确定已经进入绑定隧道重排序缓存并完成正确排序的报文数量,一个具体的实施方式中,可以根据所述第一网络设备向所述第二网络设备发送的所述多个数据报文中的最大的绑定隧道序号减去所述第一确认响应中的所述绑定隧道确认序号即可得到所述已经进入绑定隧道重排序缓存并完成正确排序的报文数量。
所述第二网络设备确定已进入所述绑定隧道重排序缓存并完成正确排序的报文中所携带的第二隧道序号,具体的可以按照发送所述确认响应时或之前或在设定时间或期限内获得的最新的进入所述第二隧道重排序缓存并完成正确排序的报文中所携带的第二隧道序号,并将其携带在所述第二确认响应中发给所述第一网络设备。为了便于描述,本申请实施例将携带在所述第二确认响应中最新进入所述第二隧道重排序缓存并完成正确排序的报文中所携带的第二隧道序号称之为第二隧道确认序号。
同理,所述第二网络设备确定已进入所述绑定隧道重排序缓存并完成正确排序的报文中所携带的绑定隧道序号,具体的可以按照发送所述确认响应时或之前或在设定时间或期限内获得的最新的进入所述绑定隧道重排序缓存并完成正确排序的报文中所携带的绑定隧道序号,并将其携带在所述第二确认响应中发给所述第一网络设备。为了便于描述,本申请实施例将携带在所述第二确认响应中的最新进入所述绑定隧道重排序缓存并完成正确排序的报文中所携带的绑定隧道序号称之为绑定隧道确认序号。
所述第一网络设备根据所述第二确认响应中的所述第二隧道确认序号即可确定已经进入第二隧道重排序缓存并完成正确排序的报文数量,一个具体的实施方式中,可以根据所述第一网络设备向所述第二网络设备发送的第二部分数据报文中的最大的第二隧道序号减去所述第二确认响应中携带的所述第二隧道确认序号即可得到所述已经进入第二隧道重排序缓存并完成正确排序的报文数量。
同理,所述第一网络设备根据所述第二确认响应中的所述绑定隧道确认序号即可确定已经进入绑定隧道重排序缓存并完成正确排序的报文数量,一个具体的实施方式中,可以根据所述第一网络设备向所述第二网络设备发送的所述多个数据报文中的最大的绑定隧道序号减去所述第二确认响应中的所述绑定隧道确认序号即可得到所述已经进入绑定隧道重排序缓存并完成正确排序的报文数量。
下面对单隧道序号与单隧道确认序号的映射关系,绑定隧道序号与绑定隧道确认序号的映射关系,进行具体说明。在本申请实施例中,单隧道是第一隧道时,单隧道序号指代第一隧道序号。单隧道是第二隧道时,单隧道序号指代第二隧道序号。所述第二网络设备中可以保存一个映射关系表,所述映射关系表用于保存第一隧道确认序号与第一隧道序号之间的映射关系,第二隧道确认序号与第二隧道序号之间的映射关系以及绑定隧道确认序号与绑定隧道序号之间的映射关系。相应的,所述第一网络设备中也保存有所述映射关系。所述映射关系可以通过如下方式建立:例如,第一隧道序号为阿拉伯数字1,第一隧道确认序号为与数字1相映射的字母A。需要说明的是,上述映射关系的建立方式仅是例举,具体可以通过多种不同的方式实现,本领域技术人员可以想到的任何来建立这种对应关系的手段都覆盖在本申请实施例中的映射规则中。映射关系表的具体形式可以以多种不同的方式实现,可以以表格的形式,也可以是其他的方式表达该对应关系,本申请对此不做限定。
需要说明的是,以上实施方式中,所述第一网络设备向所述第二网络设备发送的所述多个数据报文中的每个报文包括了两种序号,即该报文的绑定隧道序号以及第一隧道序号,在另一个具体实施方式中,也可以在每个报文只包括绑定隧道序号而不包括各单隧道的隧道序号。在这种情况下,所述第二网络设备可以按照发送所述确认响应时或之前或在设定时间或期限内获得的最新的进入所述第一隧道重排序缓存并完成正确排序的报文中所携带的所述绑定隧道序号,并将其携带在所述第一确认响应中发给所述第一网络设备。第一网络设备根据所述第一确认响应中的所述绑定隧道序号以及所述第一网络设备向所述第二网络设备发送的第一部分数据报文中各数据报文的绑定隧道序号确定所述已经进入第一隧道重排序缓存并完成正确排序的报文数量。同理,第一网络设备根据所述第二确认响应中的所述绑定隧道序号以及所述第一网络设备向所述第二网络设备发送的第二部分数据报文中各数据报文的绑定隧道序号确定所述已经进入第二隧道重排序缓存并完成正确排序的报文数量。
在一个具体的实施方式中,所述第一部分数据报文中的每个报文包括用于承载所述第一隧道序号的序号Sequence Number字段和用于承载所述绑定隧道序号的绑定序号Bonding Sequence Number字段。所述第二部分数据报文中的每个报文包括用于承载所述第二隧道序号的序号Sequence Number字段和用于承载所述绑定隧道序号的绑定序号Bonding Sequence Number字段。在一个具体的实施方式中,所述Sequence Number字段和所述Bonding Sequence Number字段通过GRE数据报文承载。例如,可以在GRE报文头携带Sequence Number字段和Bonding Sequence Number字段。所述Sequence Number字段和Bonding Sequence Number字段例如可以是32比特。
所述第一确认响应中包括确认号Acknowledgment Number字段和绑定确认号Bonding Acknowledgment Number字段,所述Acknowledgment Number字段用于承载所述第一隧道确认序号,所述Bonding Acknowledgment Number字段用于承载隧道绑定确认序号。
在一个具体的实施方式中,所述第一确认响应为GRE数据报文,所述Acknowledgment Number字段和所述Bonding Acknowledgment Number字段通过GRE数据报文承载。例如,可以在GRE数据报文的报文头携带所述Acknowledgment Number字段和所述Bonding Acknowledgment Number字段。所述Acknowledgment Number字段和所述BondingAcknowledgment Number字段例如可以是32比特。
在另一个具体的实施方式中,所述第一确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第一隧道确认序号和所述绑定隧道确认序号。该GRE控制报文中的Attribute TLV字段的封装格式如下所示:
Figure BDA0002493372410000211
在一个具体地的实施方式中,Attribute TLV字段可以承载于GRE Tunnel Notify报文中。属性类型Attribute Type的取值例如可以是37,属性值Attribute Value包括所述第一绑定隧道确认序号以及绑定隧道确认序号。
在一个具体的实施方式中,该GRE控制报文中的Attribute TLV字段的格式,可以如下所示:
Figure BDA0002493372410000212
Figure BDA0002493372410000221
所述第二确认响应中包括确认号Acknowledgment Number字段和绑定确认号Bonding Acknowledgment Number字段,所述Acknowledgment Number字段用于承载所述第二隧道确认序号,所述Bonding Acknowledgment Number字段用于承载隧道绑定确认序号。在一个具体的实施方式中,所述第二确认响应为GRE数据报文,所述AcknowledgmentNumber字段和所述Bonding Acknowledgment Number字段通过GRE数据报文承载。例如,可以在GRE数据报文的报文头携带所述Acknowledgment Number字段和所述BondingAcknowledgment Number字段。所述Acknowledgment Number字段和所述Bondin gAcknowledgment Number字段例如可以是32比特。
在另一个具体的实施方式中,所述第二确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第二隧道确认序号和所述绑定隧道确认序号。第二确认响应中Attribute TLV字段的封装格式,参见上文对于第一确认响应响应中的描述,此处不再赘述。
通过本申请提供的上述方案,利用GRE数据报文所携带的Sequence Number字段,Bonding Sequence Number字段,Acknowledgment Number字段以及BondingAcknowledgment Number字段,或者GRE控制报文所携带的Attribute TLV字段,无需对现有协议进行扩展,即可根据上述字段携带的内容,确定绑定隧道重排序缓存中的报文数量。
需要说明的是,上述中的GRE数据报文或控制报文,及其中的字段或格式仅是示例性说明,不构成本对发明的限定。本领域技术人员在阅读本申请文件的基础上可以想到采用其他报文或者GRE数据报文或控制报文的其他字段或格式以携带上述实施方式中第一隧道序号,第一隧道确认序号,绑定隧道序号,第二隧道序号,第二隧道确认序号以及绑定隧道确认序号。
下面结合图4,对本申请中,根据所述绑定隧道重排序缓存中未完成正确排序的报文数量,所述第一隧道中未完成正确排序的报文数量以及第二隧道中未完成正确排序的报文数量来确定绑定隧道重排序缓存已用的缓存空间的大小的方法进行举例说明。
在时刻1,第一网络设备接收到6个报文。第一网络设备向第二网络设备发送6个数据报文,每个数据报文携带一个基于绑定隧道的绑定隧道序号。如图4中所示,第一个数据报文的绑定隧道序号为1,第二数据报文的绑定隧道序号为2,以此类推,第6个数据报文的绑定序号为6。将该6个报文分别简称为报文1,报文2,报文3,报文4,报文5以及报文6。
在时刻2,按照设定的负载分担策略,例如,基于令牌桶机制决定将报文1至报文3分配至第一隧道进行传输,将报文4至报文6通过第二隧道传输。随后,第一网络设备为报文1至报文3分别分配一个基于第一隧道的第一隧道序号,该3个报文的第一隧道序号分别为1,2,3。第一网络设备为报文4至报文6分别分配一个基于第二隧道的第二隧道序号,该3个报文的第二隧道序号分别为1,2,3。
第一网络设备通过第一隧道和第二隧道发送上述报文时,会分别记录第一隧道序号,第二隧道序号以及绑定隧道序号。所述第一网络设备可以以表格的形式保存上述信息,也可以以其他形式保存上述信息,保存的形式不限。
结合图4,首先,第一网络设备通过第一隧道发送报文1,会记录报文1的第一隧道序号以及绑定隧道序号,即发送报文1后,记录的第一隧道序号为1,绑定隧道序号为1。随后,第一网络设备通过第一隧道发送报文2,则第一网络设备会记录报文2的第一隧道序号以及绑定隧道序号,即发送报文2后,记录的第一隧道序号为2,绑定隧道序号为2。以此类推,直到第一网络设备通过第二隧道发送报文6时,第一网络设备的记录结果为:第一隧道序号为3,第二隧道序号为3,绑定隧道序号为6。
在本示例中,第一网络设备向第二网络设备发送一个报文,会记录该报文所对应的单隧道序号以及绑定隧道序号。在一个具体的实施方式中,第一网络设备中可以保存一个记录报文所对应的单隧道序号以及绑定隧道序号的列表,每条表项用于记录第一隧道序号,第二隧道序号以及绑定隧道序号。在一个具体的实施方式中,第一网络设备也可以保存两个列表,其中一个列表用于记录第一隧道序号和绑定隧道序号的对应关系,另外一个列表用于记录第二隧道序号和绑定隧道序号的对应关系。本申请对于第一网络设备如何保存报文所对应的单隧道序号以及绑定隧道序号的形式不做具体限制。通过第一隧道发送的报文的单隧道序号是第一隧道序号,通过第二隧道发送的报文的单隧道序号是第二隧道序号。
在一个具体的实施方式中,第一网络设备在发送当前报文时,可以选择在上一条表项记录的基础上直接更新得到当前发送的报文所对应的表项记录。结合图4,第一网络设备发送报文1时,表项记录为第一隧道序号为1,绑定隧道序号为1,当发送报文2时,发送报文1时的表项记录即为上一条表项记录,第一网络设备将第一隧道序号直接更新为2,绑定隧道序号直接更新为2。可选的,第一网络设备可以通过新建一条表项,用于记录当前报文所对应的单隧道序号以及绑定隧道序号,同时删除上一条表项记录。可选的,第一网络设备还可以通过新建一条表项,记录当前报文所对应的单隧道序号以及绑定隧道序号,并保留上一条表项记录或者待一定老化时间到达后自动老化上一条表项记录,本申请对此不作限制。
时刻3,第二网络设备接收所述第一网设备发送的所述6个报文。其中,由于传输过程中,报文可能需要经过多次路由转发,若其中任一路由器发生拥塞、丢包时,会造成报文乱序,或者在传输过程中,报文的物理信号受到干扰,也可能造成丢包、乱序。基于上述可能的原因,第一隧道中,报文1和报文3先到达第二网络设备,而报文2还在第一隧道的传输路径中。同理,第二隧道中,报文4和报文6先到达第二网络设备,而报文5还在第二隧道的传输路径中。
由此,结合图4,在时刻3中,第二网络设备通过所述第一隧道接收到报文1和报文3,由于报文1携带的第一隧道序号为1,因此,认为报文1在第一隧道重排序缓存中完成正确排序,从第一隧道重排序缓存进入绑定隧道重排序缓存,从绑定隧道重排序缓存输出到其它的网络设备。报文3比报文2先到达第一隧道重排序缓存,因此,需要等待报文2到达第一隧道重排序缓存,完成正确排序,才可以进入绑定隧道重排序缓存。第二网络设备通过所述第二隧道接收到报文4和报文6,报文4携带的第二隧道序号为1,因此,认为报文4在第二隧道重排序缓存中完成正确排序,进入绑定隧道重排序缓存中。报文4比报文2和报文3先到达绑定隧道重排序缓存,因此,需要等待报文2和报文3到达绑定隧道重排序缓存中,才可以完成正确排序。
由此,在本示例中,第二网络设备在回复给第一网络设备的第一确认响应中,将该完成正确排序的报文1的第一隧道序号1作为第一隧道确认序号回复给第一网络设备,将当前时刻进入绑定隧道重排序缓存且已经完成正确排序的报文的所携带的绑定隧道序号作为绑定隧道确认序号回复给第一网络设备。第二网络设备在回复给第一网络设备的第二确认响应中,将完成正确排序的报文4的第二隧道序号作为第二隧道确认序号回复给第一网络设备,将当前时刻进入绑定隧道重排序缓存且已经完成正确排序的报文的所携带的绑定隧道序号作为绑定隧道确认序号回复给第一网络设备。由于时刻3中,绑定隧道重排序缓存中仅有报文1完成正确排序,因此,在第二网络设备回复给第一网络设备的第一确认响应和第二确认响应中,都是将报文1的绑定隧道序号作为绑定隧道确认序号回复给第一网络设备。
对应于图4的场景,所述第一网络设备通过第一隧道发送的报文的数量是3,第一网络设备记录离接收所述第一确认响应最近发送的报文的第一隧道序号为3;根据接收到的所述第一确认响应,确定第一隧道确认序号为1。所述第一网络设备通过第二隧道发送的报文数量为3,第一网络设备记录离接收所述第二确认响应最近发送的报文的第二隧道序号为3;根据接收到的所述第二确认响应,确定所述第二隧道确认序号为1。第一网络设备所发送绑定隧道中的总的报文数量为6,记录的绑定隧道序号为6;根据第一确认响应和第二确认响应确定返回的绑定隧道确认序号的最大值为1。由此,可以计算出:第一隧道中未完成正确排序的报文数量F1=3-1=2,第二隧道中未完成正确排序的报文数量F2=3-1=2,绑定隧道中未完整正确排序的报文数量FB=6-1=5,因此,绑定隧道重排序缓存中报文的数量B=FB-F1-F2=5-2-2=1。如图4可以知,目前绑定隧道重排序缓存中确实只有报文4。本示例中所述的时刻1,时刻2,时刻3可以指代一个时间范围,也可以指代某一个具体的时刻。
以下对于S107中具体如何根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担进行详细说明。所述设定的负载分担策略具体可以包括根据各单隧道中未完成正确排序的报文数量,也可以包括各单隧道的时延情况,也可以是各单隧道重排序缓存的空间使用情况以及本领域技术人员在阅读本申请实施例后所想到的其他负载分担策略。
根据各单隧道中未完成正确排序的报文数量进行负载分担的实施情况具体说明如下。当第一网络设备确定所述绑定隧道重排序缓存的已用空间大小大于或者等于一个设定的第一阈值时,或者所述绑定隧道重排序缓存的可用空间大小小于或者等于一个设定的第二阈值时,所述第一网络设备选择单隧道中未完成正确排序的报文数量少的隧道来对第一网络设向第二网络设备传输的报文进行负载分担。此处的单隧道指的是组成所述绑定隧道中的各个隧道,如本实施例中的第一隧道或第二隧道。
在一个具体的实施方式中,可以参考上文中描述的确定第一隧道中未完成正确排序的报文数量以及第二隧道中未完成正确排序的报文数量的具体实施方式来确定各单隧道中未完成正确排序的报文数量。下面以确定所述第一隧道和第二隧道中未完成正确排序的报文数量为例进行简要说明。所述第一网络设备通过所述第一隧道向所述第二网络设备发送多个数据报文中的第一部分数据报文;所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述多个数据报文中的第二部分数据报文。所述第一部分数据报文中的每个报文包括该报文的第一隧道序号,所述第一隧道序号用于表示所述第一部分数据报文中的每个报文在所述第一隧道中的序号。所述第二部分数据报文中的每个报文包括该报文的第二隧道序号,所述第二隧道序号用于表示所述第二部分数据报文中的每个报文在所述第二隧道中的序号。所述第一网络设备接收所述第二网络设备发送的针对所述第一部分数据报文中的第一数据报文的第一确认响应。所述第一网络设备接收所述第二网络设备发送的针对所述第二部分数据报文中的第二数据报文的第二确认响应。所述第一确认响应包括第一隧道确认序号,所述第二确认响应中包括第二隧道确认序号。所述第一网络设备根据所述第一隧道确认序号确定已进入所述第一隧道重排序缓存并完成正确排序的报文数量。所述第一网络设备根据所述第二隧道确认序号确定已进入第二隧道重排序缓存并完成正确排序的报文数量。所述第一网络设备根据所述第一网络设备发送的所述第一部分数据报文的数量以及根据所述第一确认响应确定的已进入所述第一隧道重排序缓存并完成正确排序的报文数量得到所述第一隧道中未完成正确排序的报文数量。所述第一网络设备根据所述第一网络设备发送的所述第二部分数据报文的数量以及根据所述第二确认响应确定的已进入所述第二隧道重排序缓存并完成正确排序的报文数量得到所述第二隧道中未完成正确排序的报文数量。
根据各单隧道重排序缓存的缓存空间的使用情况进行负载分担的实施方式具体说明如下。当第一网络设备确定所述绑定隧道重排序缓存的已用空间大小大于或者等于一个设定的第一阈值时,或者所述绑定隧道重排序缓存的可用空间大小小于或者等于一个设定的第二阈值时,所述第一网络设备根据单隧道重排序缓存的缓存空间的使用情况在多个单隧道之间对第一网络设备向第二网络设备传输的报文进行负载分担。此处的单隧道指的是组成所述绑定隧道中的各个隧道,如本实施例中的第一隧道或第二隧道;单隧道重排序缓存指的是组成所述绑定隧道中的各个隧道的重排序缓存,如本实施例中的第一隧道重排序缓存或第二隧道重排序缓存;单隧道重排序缓存的缓存空间的使用情况,例如可以包括:单隧道重排序缓存中已用的缓存空间的大小或单隧道重排序缓存中可用的缓存空间的大小。具体地,在本申请实施例中,当第一网络设备确定所述绑定隧道重排序缓存的已用空间大小大于或者等于一个设定的第一阈值时,或者所述绑定隧道重排序缓存的可用空间大小小于或者等于一个设定的第二阈值时,所述第一网络设备选择单隧道重排序缓存中已用的缓存空间少的隧道或单隧道重排序缓存中可用的缓存空间多的隧道来对第一网路设备后续接收到的多个连续的报文进行负载分担。
在本实施方式中,第一网络设备根据报文队列在单隧道重排序缓存中长度,来确定单隧道重排序缓存的缓存空间的使用情况;或者第一网络设备根据单隧道重排序缓存中已用或者可用的缓存切片的数量,来确定单隧道重排序缓存的缓存空间的使用情况;或者第一网络设备根据单隧道重排序缓存中的报文数量,来确定单隧道重排序缓存的缓存空间的使用情况。关于具体的说明可以参见前文中对于如何绑定隧道重排序缓存中缓存空间的使用情况的说明,此处不再赘述。
需要说明的是,在根据上述方式确定单隧道重排序缓存的缓存空间的使用情况时,可以通过在第二网络设备向第一网络设备返回确认响应。例如,在本申请实施例中,通过第一隧道返回的第一确认响应,用于确定第一隧道重排序缓存的缓存空间的使用情况,通过第二隧道返回的第二确认响应,用于确定第二隧道重排序缓存的缓存空间的使用情况。所述确认响应为GRE数据报文,所述GRE数据报文中包括重排序缓存大小ReorderBuffer Size字段,根据Reorder Buffer Size字段所承载的内容来确定单隧道重排序缓存的缓存空间的使用情况。例如,可以在GRE报文头携带Reorder Buffer Size字段。所述Reorder Buffer Size字段例如可以是32比特。所承载的内容包括所述单隧道重排序缓存中的报文数量、所述单隧道重排序缓存中报文队列的长度,所述单隧道重排序缓存中可用的用于缓存报文队列的长度,所述单隧道重排序缓存中已用的缓存切片的数量或所述单隧道重排序缓存中可用的缓存切片的数量。
或者所述确认响应为GRE控制报文,所述GRE控制报包括属性类型长度值Attribute TLV字段,所述Attribute TLV字段包括类型T字段,长度L字段以及值V字段,所述第一网络设备根据所述V字段所承载的内容确定所述绑定隧道重排序缓存的缓存空间的使用情况。GRE控制报文中的Attribute TLV字段如上文所示,此处不再赘述。属性类型Attribute Type的取值例如可以是38,用于表示返回单隧道重排序缓存的空间使用情况,属性值Attribute Value所承载的内容如上文所述,不再赘述。
需要说明的是,上述中的GRE数据报文或控制报文,及其中的字段或格式仅是示例性说明,不构成本对发明的限定。本领域技术人员在阅读本申请文件的基础上可以想到采用其他报文或者GRE数据报文或控制报文的其他字段或格式以携带上述实施方式中的单隧道重排序缓存中的报文数量、所述单隧道重排序缓存中报文队列的长度,所述单隧道重排序缓存中可用的用于缓存报文队列的长度,所述单隧道重排序缓存中已用的缓存切片的数量或所述单隧道重排序缓存中可用的缓存切片的数量,这些都属于本申请应有之意,在此不一一赘述。
根据各单隧道的时延情况进行负载分担的实施方式具体说明如下。当第一网络设备确定所述绑定隧道重排序缓存的已用空间大小大于或者等于一个设定的第一阈值时,或者所述绑定隧道重排序缓存的可用空间大小小于或者等于一个设定的第二阈值时,所述第一网络设备选择单隧道中RTT小的隧道来对第一网络设向第二网络设备传输的报文进行负载分担。在一个具体的实施方式中,所述第一网络设备根据发送所述第一部分数据报文中的第三数据报文与收到所述第二网络设备发送的针对所述第三数据报文的确认响应的时间间隔,确定所述第一隧道的往返时延RTT,其中,所述第三数据报文包括的第一隧道序号与针对所述第三数据报文的确认响应中包括的第一隧道确认序号为对应关系。所述第一网络设备根据发送所述第二部分数据报文中的第四数据报文与收到所述第二网络设备发送的针对所述第四数据报文的确认响应的时间间隔,确定所述第二隧道的往返时延RTT,其中,所述第四数据报文包括的第二隧道序号与针对所述第二报文的确认响应中包括的第二隧道确认序号为对应关系。
具体来说,第一网络设备通过所述第一隧道发送所述第三数据报文时,在第三数据报文中携带与所述第三数据报文对应的第一隧道序号。第二网络设备接收到该第三数据报文,并且该第三数据报文进入所述绑定隧道重排序缓存,则向所述第一网络设备返回一个确认响应,在该确认响应中携带第一隧道确认序号。第一网络设备接收到第二网络设备发送的针对该第三数据报文的确认响应后,统计从发送所述第三数据报文到接收到该确认响应的时间间隔,从而确定第一隧道的往返时延。相似的,第一网络设备基于同样的原理确定所述第二隧道的往返时延。
通过本申请提供的确定单隧道RTT的方法,在基于动态负载分担的方案中,同时可以确定单隧道RTT。无需单独发送探测报文来统计单隧道的RTT,有效节省了网络开销。需要说明的是,除了本申请实施例提供的上述确定RTT的方法,还可以采用现有技术中任意已有的方法来确定隧道的RTT,比如单独发送用于检测RTT的探测报文,本申请不再赘述。
基于本申请提供的技术方案,当第一网络设备确定绑定隧道重排序缓存中已用的缓存空间的大小大于等一个设定的门限之后,或者当第一网络设备确定所述绑定隧道重排序缓存中可用的缓存空间的大小小于等于的一个设定的门限之后,可以使得接下来到达第二网络设备的多个连续报文序列,根据设定的负载分担策略,例如,选择RTT小的隧道传输所述报文序列,或者选择单隧道中未完成正确排序数量少的隧道传输所述报文序列,而不再被分配到时延大或者单隧道中报文数量更多的隧道。由此,可以有效的防止更多的报文被滞留在发生拥塞的隧道,从而造成通过非拥塞隧道传输的报文在重排序缓存中的等待时延,和/或可能引发的绑定隧道重排序缓存中流量溢出的情况,可以有效的减少丢包和系统重传。
在本申请中,通过第二网络设备返回的确认响应,确定绑定隧道重排序缓存的缓存空间的使用情况,并根据所述缓存空间的使用情况和设定的负载分担策略,在所述第一隧道和所述第二隧道之间对所述第一网络设备向所述第二网络设备传输的报文进行动态的负载分担。能够有效的提高绑定隧道的传输效率。
以上,结合图2至图4详细说明了根据本申请实施例提供的负载分担的方法。以下,以下结合图5-图8详细说明根据本申请实施例提供的用于负载分担的网络设备和系统。
图5是根据本申请一实施例提供的第一网络设备500的示意图。该第一网络设备500可以是图2中的HAAP设备或HG设备,可以用于执行图3所示的方法。所述第一网络设备500和第二网络设备之间建立有第一隧道和第二隧道,所述第一隧道和所述第二隧道通过混合端口绑定Hybrid bonding形成绑定隧道,所述第二网络设备包括绑定隧道重排序缓存,所述绑定隧道重排序缓存用于对进入所述绑定隧道重排序缓存中的报文进行排序。如图5所示,该第一网络设备500包括:发送模块501,接收模块502和处理模块503。
该发送模块501用于向所述第二网络设备发送多个数据报文。
在一个具体的实施方式中,所述发送模块501通过所述第一隧道向所述第二网络设备发送所述多个数据报文。在另一个具体的实施方式中,所述发送模块501通过所述第二隧道向所述第二网络设备发送所述多个数据报文。在另一个具体的实施方式中,所述发送模块501通过所述第一隧道向所述第二网络设备发送所述多个数据报文中的第一部分数据报文,所述发送模块501通过所述第二隧道向所述第二网络设备发送所述多个数据报文中的第二部分数据报文。
该接收模块502用于接收所述第二网络设备发送的确认响应。
具体地,所述确认响应中包括所述绑定隧道重排序缓存的缓存空间的使用情况的信息,第一网络设备根据所述绑定隧道重排序缓存的缓存空间的使用情况的信息,确定所述绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。
该处理模块503用于根据所述确认响应确定所述绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。
具体地,所述绑定隧道重排序缓存的缓存空间的使用情况,例如可以包括:所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小。所述设定的负载分担策略例如可以包括根据各单隧道中未完成正确排序的报文数量,也可以包括各单隧道的时延情况,也可以是各单隧道重排序缓存的空间使用情况以及本领域技术人员在阅读本申请实施例后所想到的其他负载分担策略。
对于具体如何根据确认响应,确定所述绑定隧道重排序缓存的缓存空间的使用情况,以及如何根据绑定隧道重排序的缓存空间的使用情况和设定的负载分担策略确定对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担,可以参考下面的详细说明。
在本申请中,通过第二网络设备返回的确认响应,确定绑定隧道重排序缓存的缓存空间的使用情况,并根据所述缓存空间的使用情况和设定的负载分担策略,在所述第一隧道和所述第二隧道之间对所述第一网络设备向所述第二网络设备传输的报文进行动态的负载分担,能够有效的提高绑定隧道的传输效率。例如,可以有效地降低所述绑定隧道的网络时延,和/或能较为明显的抑制由于网络拥塞所可能导致的绑定隧道重排序缓存流量溢出,进而导致的报文丢包,触发应用层重传的问题。
下面对于具体如何根据确认响应,确定所述绑定隧道重排序缓存的缓存空间的使用情况,进行具体说明。
在本申请提供的一个具体的实施方式中,当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中已用的缓存空间的大小时,所述绑定隧道重排序缓存中已用的缓存空间的大小包括所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度或所述绑定隧道重排序缓存中已用的缓存切片的数量。当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中可用的缓存空间的大小时,所述绑定隧道重排序缓存中可用的缓存空间的大小包括所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度或所述绑定隧道重排序缓存中可用的缓存切片的数量。
在本实施方式中,所述接收模块502接收所述第二网络设备发送的确认响应,具体包括:所述第一网络设备接收所述第二网络设备通过所述第一隧道或所述第二隧道返回的所述确认响应。所述确认响应为GRE数据报文,所述GRE数据报文包括绑定重排序缓存大小Bonding Reorder Buffer Size字段,所述Bonding Reorder Buffer Size字段承载所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用的缓存切片的数量。或者所述确认响应为GRE控制报文,所述GRE控制报文包括属性类型长度值Attribute TLV字段,所述AttributeTLV字段包括类型T字段,长度L字段以及值V字段,所述V字段承载所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度,所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度,所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量。根据上述所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度,所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度,所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量,来确定所述绑定隧道重排序缓存的缓存空间的使用情况。具体采用何种报文格式或字段格式(如采用哪些字段或扩展字段),各字段的具体内容或取值,以及具体如何根据报文队列在绑定隧道重排序缓存中长度,绑定隧道重排序缓存中已用或可用的缓存切片的数量,或者绑定隧道重排序缓存中的报文数量来确定所述绑定隧道重排序缓存的缓存空间的使用情况的详细说明,可以参考上述方法实施例中对应部分的描述,此处不再赘述。
上述实施方式中,通过根据所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行动态的负载分担,可以有效地降低所述绑定隧道的网络时延,和/或能较为明显的抑制由于网络拥塞所可能导致的绑定隧道重排序缓存流量溢出,进而导致的报文丢包,触发应用层重传的问题。
在上述根据在绑定隧道重排序缓存中的报文数量,来确定绑定隧道重排序缓存的缓存空间的使用情况的实施方式中,在一种具体的实施方式中,还可以根据所述绑定隧道重排序缓存中未完成正确排序的报文数量,所述第一隧道中未完成正确排序的报文数量以及第二隧道中未完成正确排序的报文数量来确定绑定隧道重排序缓存中的报文数量。本实施方式中,所述处理模块503根据所述确认响应确定所述第一隧道中未完成正确排序的报文数量F1,所述第二隧道中未完成正确排序的报文数量F2以及所述绑定隧道中未完成正确排序的报文数量FB,进而确定所述绑定隧道重排序缓存中的报文数量B,B=FB-F1-F2
具体来说,所述第二网络设备还包括第一隧道重排序缓存和第二隧道重排序缓存,所述第一隧道重排序缓存用于对进入通过所述第一隧道传输的报文进行排序,所述第二隧道重排序缓存用于对通过所述第二隧道传输的报文进行排序。
所述发送模块501通过所述第一隧道向所述第二网络设备发送所述多个数据报文中的第一部分数据报文,所述第一部分数据报文中的每个报文包括该报文的绑定隧道序号以及第一隧道序号,所述第一隧道序号用于表示所述第一部分数据报文中的每个报文在所述第一隧道中的传输顺序,所述第一部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序。所述发送模块501通过所述第二隧道向所述第二网络设备发送所述多个数据报文中的第二部分数据报文,所述第二部分数据报文中的每个报文包括该报文的绑定隧道序号以及第二隧道序号,所述第二隧道序号用于表示所述第二部分数据报文中的每个报文在所述第二隧道中的传输顺序,所述第二部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序。
所述接收模块502接收所述第二网络设备发送的针对所述第一部分数据报文中的第一数据报文的第一确认响应,并接收所述第二网络设备发送的针对所述第二部分数据报文中的第二数据报文的第二确认响应。所述第一确认响应包括上述第一隧道确认序号以及绑定隧道确认序号,所述第二确认响应中包括上述第二隧道确认序号以及绑定隧道确认序号。
所述处理模块503根据所述第一确认响应确定已进入所述第一隧道重排序缓存并完成正确排序的报文数量以及已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M,并根据所述第二确认响应确定已进入所述第二隧道重排序缓存并完成正确排序的报文数量以及已进入所述绑定隧道重排序缓存并完成正确排序的报文数量N;根据M和N中的较大值以及所述第一网络设备所发送的所述多个数据报文的数量得到所述绑定隧道中未完成正确排序的报文数量FB;根据向所述第二网络设备发送的所述第一部分数据报文的数量以及根据所述第一确认响应确定的已进入所述第一隧道重排序缓存并完成正确排序的报文数量得到所述第一隧道中未完成正确排序的报文数量F1;以及根据向所述第二网络设备发送的所述第二部分数据报文的数量以及根据所述第二确认响应确定的已进入所述第二隧道重排序缓存并完成正确排序的报文数量得到所述第二隧道中未完成正确排序的报文数量F2
在一个具体地实施方式中,所述处理模块503可以根据所述第一隧道确认序号确定所述已进入所述第一隧道重排序缓存并完成正确排序的报文数量,并根据所述第一确认响应包括的绑定隧道确认序号确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M;以及根据所述第二隧道确认序号确定所述已进入所述第二隧道重排序缓存并完成正确排序的报文数量,并根据所述第二确认响应包括的绑定隧道确认序号确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量N。
在一个具体的实施方式中,所述第一部分数据报文中的每个报文包括用于承载所述第一隧道序号的序号Sequence Number字段和用于承载所述绑定隧道序号的绑定序号Bonding Sequence Number字段;所述第二部分数据报文中的每个报文包括用于承载所述第二隧道序号的序号Sequence Number字段和用于承载所述绑定隧道序号的绑定序号Bonding Sequence Number字段。
在一个具体的方式中,所述第一确认响应为通用路由封装GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第一隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述绑定隧道确认序号。或所述第一确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第一隧道确认序号和所述绑定隧道确认序号。
在一个具体的实施方式中,所述第二确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第二隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述隧道绑定确认序号。或所述第二确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第二隧道确认序号和所述绑定隧道确认序号。
通过本申请提供的上述方案,利用GRE数据报文所携带的Sequence Number字段,Bonding Sequence Number字段,Acknowledgment Number字段以及BondingAcknowledgment Number字段,或者GRE控制报文所携带的Attribute TLV字段,无需对现有协议进行扩展,即可根据上述字段携带的内容,确定绑定隧道重排序缓存中的报文数量。
需要说明的是,在第一网络设备根据所述绑定隧道重排序缓存中的报文数量确定所述绑定隧道重排序缓存的缓存空间的使用情况的实施方式中,对于具体采用何种报文格式或字段格式(如采用哪些字段或扩展字段),各字段的具体内容或取值,以及对于所述第一网络设备根据所述绑定隧道重排序缓存中的报文数量确定所述绑定隧道重排序缓存的缓存空间的使用情况的更为具体的说明,可以参见上述方法实施例对应部分的详细说明,此处不再具体赘述。
下面对于如何根据绑定隧道重排序的缓存空间的使用情况和设定的负载分担策略确定对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担,进行具体说明。
在一个具体的实施方式中,所述设定的负载分担策略包括:所述处理模块确定所述绑定隧道重排序缓存中已用的缓存空间的大小大于等于第一门限值或所述绑定隧道重排序缓存中可用的缓存空间的大小小于等于第二门限值后,则选择所述第一隧道和所述第二隧道中往返时延RTT小的隧道或选择所述第一隧道和所述第二隧道中未完成正确排序的报文数量少的隧道传输所述第一网络设备向所述第二网络设备发送的报文。本申请中所述设定的负载分担策略除了可以包括根据各单隧道中未完成正确排序的报文数量以及各单隧道的时延情况以外,也可以是各单隧道重排序缓存的空间使用情况以及本领域技术人员在阅读本申请实施例后所想到的其他负载分担策略。具体根据各单隧道中未完成正确排序的报文数量进行负载分担的实施方式,根据各单隧道重排序缓存的缓存空间的使用情况进行负载分担的实施方式以及根据各单隧道的时延情况进行负载分担的实施方式的具体说明,参见上述方法实施例对应部分的详细说明,此处不再具体赘述。
在根据各单隧道的时延情况进行负载分担的实施方式中,本申请提供了一种确定单隧道往返时延RTT的实施方式,具体包括:所述处理模块503根据发送所述第一部分数据报文中的第三数据报文与收到所述第二网络设备发送的针对所述第三数据报文的确认响应的时间间隔,确定所述第一隧道的往返时延RTT。所述处理模块503根据发送所述第二部分数据报文中的第四数据报文与收到所述第二网络设备发送的针对所述第四数据报文的确认响应的时间间隔,确定所述第二隧道的往返时延RTT。确定单隧道往返时延RTT的实施方式的具体说明,参见上述方法实施例对应部分的详细说明,此处不再具体赘述。
根据本申请实施例的第一网络设备500可对应于根据本申请实施例中用于负载的方法中的第一网络设备,并且,该网络设备中的各模块和上述其他操作和/或功能分别为了实现图3中的方法100的相应流程,为了简洁,此处不再赘述。
图6是根据本申请一实施例提供的第二网络设备600的示意图。该第二网络设备600可以是图中的HG设备或HAAP设备,可以用于执行图3所示的方法。所述第二网络设备600和第一网络设备之间建立有第一隧道和第二隧道,所述第一隧道和所述第二隧道通过混合端口绑定Hybrid bonding形成绑定隧道。所述第二网络设备600包括:接收模块601,处理模块602,发送模块603和绑定隧道重排序缓存模块604。
所述绑定隧道重排序缓存模块604用于对进入绑定隧道重排序缓存中的报文进行排序。
所述接收模块601用于接收所述第一网络设备发送的多个数据报文。
在一个具体的实施方式中,所述第二网络设备通过所述第一隧道接收所述多个数据报文。在另一个具体的实施方式中,所述第二网络设备通过所述第二隧道接收所述多个数据报文。在另一个具体的实施方式中,所述第二网络设备接收所述第一网络设备发送的所述多个数据报文,具体包括:所述第二网络设备接收所述第一网络设备通过所述第一隧道发送的所述多个数据报文中的第一部分数据报文;所述第二网络设备接收所述第一网络设备通过所述第二隧道发送的所述多个数据报文中的第二部分数据报文。
所述处理模块602用于获取所述第二网络设备包括的绑定隧道重排序缓存的缓存空间的使用情况的信息,所述绑定隧道重排序缓存用于对进入所述绑定隧道重排序缓存中的报文进行排序。
具体地,所述绑定隧道重排序缓存的缓存空间的使用情况,例如可以包括:所述绑定隧道重排序缓存中已用的缓存空间的大小或者所述绑定隧道重排序缓存中可用的缓存空间的大小。
关于如何获取所述绑定隧道重排序缓存的缓存空间的使用情况的信息,请参见下面的具体说明。
所述发送模块603用于向所述第一网络设备发送确认响应,所述确认响应中包括所述绑定隧道重排序缓存的缓存空间的使用情况的信息。所述信息被所述第一网络设备用于确定所述绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。
在一个具体的实施方式中,所述第二网络设备600每收到一个报文,就会向所述第一网络设备返回一个确认响应。在另一个具体的实施方式中,所述第二网络设备600可以设定,在一定的时间间隔下,周期性的向第一网络设备返回所述确认响应。在另一个具体的实施方式中,所述第二网络设备还可以在接收到所述第一网络设备发送的请求或者达到设定的预警状态时发送所述确认响应。该设定的预警状态包括但不限于绑定隧道重排序缓存的已用缓存空间的大小大于等于一个设定的阈值,或者绑定隧道重排序缓存的可用缓存空间的大小小于等于一个设定的阈值。本申请对此不作具体限定。
具体地,所述设定的负载分担策略例如可以包括根据各单隧道中未完成正确排序的报文数量,也可以包括各单隧道的时延情况,也可以是各单隧道重排序缓存的空间使用情况以及本领域技术人员在阅读本申请实施例后所想到的其他负载分担策略。例如,所述第一网络设备确定所述绑定隧道重排序缓存中已用的缓存空间的大小大于等于第一门限值或所述绑定隧道重排序缓存中可用的缓存空间的大小小于等于第二门限值后,则选择所述第一隧道和所述第二隧道中往返时延RTT小的隧道或选择所述第一隧道和所述第二隧道中未完成正确排序的报文数量少的隧道传输所述第一网络设备向所述第二网络设备发送的报文。
在上述方案中,通过第二网络设备返回的确认响应,确定绑定隧道重排序缓存的缓存空间的使用情况,并根据所述缓存空间的使用情况和设定的负载分担策略,在所述第一隧道和所述第二隧道之间对所述第一网络设备向所述第二网络设备传输的报文进行动态的负载分担。能够有效的提高绑定隧道的传输效率。
以下对如何获取所述绑定隧道重排序缓存的缓存空间的使用情况的信息,进行具体说明。
在一个具体的实施方式中,在一个具体的实施方式中,当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中已用的缓存空间的大小时,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度或所述绑定隧道重排序缓存中已用的缓存切片的数量。当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中可用的缓存空间的大小时,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度或所述绑定隧道重排序缓存中可用的缓存切片的数量。
在本实施方式中,所述发送模块603向所述第一网络设备发送所述确认响应,具体包括:所述第二网络设备通过所述第一隧道或第二隧道向所述第一网络设备发送所述确认响应。在一个具体的实施方式中,所述确认响应为GRE数据报文,所述GRE数据报文包括绑定重排序缓存大小Bonding Reorder Buffer Size字段,所述Bonding Reorder Buffer Size字段承载所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用的缓存切片的数量。在另一个具体的实施方式中,所述确认响应为GRE控制报文,所述GRE控制报文包括属性类型长度值Attribute TLV字段,所述Attribute TLV字段包括类型T字段,长度L字段以及值V字段。所述V字段承载所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度,所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度,所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量。具体采用何种报文格式或字段格式(如采用哪些字段或扩展字段),各字段的具体内容或取值的详细说明,可以参考上述方法实施例中对应部分的描述,此处不再赘述。
所述第一网络设备根据确认响应中包括的上述所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度,所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度,所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量,来确定所述绑定隧道重排序缓存的缓存空间的使用情况。
在另一个具体的实施方式中,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括单隧道确认号以及绑定隧道确认序号。本申请所述的单隧道指的是组成所述绑定隧道中的各个隧道,如本实施例中的第一隧道或第二隧道。
在上述根据在绑定隧道重排序缓存中的报文数量,来确定绑定隧道重排序缓存的缓存空间的使用情况的实施方式中,在一种具体的实施方式中,还可以根据所述绑定隧道重排序缓存中未完成正确排序的报文数量,所述第一隧道中未完成正确排序的报文数量以及第二隧道中未完成正确排序的报文数量来确定绑定隧道重排序缓存中的报文数量。在本实施方式中,利用上述的单隧道确认号以及绑定隧道确认序号来确定绑定隧道重排序缓存中的报文数量。
具体来说,所述第二网络设备进一步包括:
第一隧道重排序缓存模块,用于对通过所述第一隧道传输进入所述第一隧道重排序缓存中的报文进行排序;
第二隧道重排序缓存模块,用于对通过所述第二隧道传输进入所述第二隧道重排序缓存中的报文进行排序;
所述接收模块601接收所述第一网络设备通过所述第一隧道发送的所述多个数据报文中的第一部分数据报文,所述第一部分数据报文中的每个报文包括该报文的绑定隧道序号以及第一隧道序号,所述第一隧道序号用于表示所述第一部分数据报文中的每个报文在所述第一隧道中的传输顺序,所述第一部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序。所述接收模块601接收所述第一网络设备通过所述第二隧道发送的所述多个数据报文中的第二部分数据报文,所述第二部分数据报文中的每个报文包括该报文的绑定隧道序号以及第二隧道序号,所述第二隧道序号用于表示所述第二部分数据报文中的每个报文在所述第二隧道中的传输顺序,所述第二部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序。
所述确认响应包括所述第二网络设备600针对所述第一部分数据报文的第一确认响应和所述第二网络设备600针对所述第二部分数据报文的第二确认响应。
所述处理模块602获得所述第二网络设备中的第一隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的第一隧道序号以及所述绑定隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的绑定隧道序号,根据所述第一隧道序号确定第一隧道确认序号。所述处理模块602根据所述绑定隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的绑定隧道序号确定所述第一确认响应中包括的绑定隧道确认序号。所述第一确认响应中包括的所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述第一隧道确认序号和所述第一确认响应中包括的绑定隧道确认序号。
所述处理模块602获得所述第二网络设备中的第二隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的第二隧道序号以及所述绑定隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的绑定隧道序号,根据所述第二隧道序号确定第二隧道确认序号。所述处理模块602根据所述绑定隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的绑定隧道序号确定所述第二确认响应中包括的绑定隧道确认序号。所述第二确认响应中包括的所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述第二隧道确认序号和所述第二确认响应中包括的绑定隧道确认序号。所述第一隧道确认序号、所述第二隧道确认序号、所述第一确认响应中包括的绑定隧道确认序号以及所述第二确认响应中包括的绑定隧道确认序号被所述第一网络设备用于确定所述绑定隧道重排序缓存的报文数量,并根据所述绑定隧道重排序缓存的报文数量确定所述绑定隧道重排序缓存的缓存空间的使用情况。
在一个具体的实施方式中,所述第一确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第一隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述隧道绑定确认序号。
在另一个具体的实施方式中,所述第一确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第一隧道确认序号和所述绑定隧道确认序号。
在一个具体的实施方式中,所述第二确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第二隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述绑定隧道确认序号。
在另一个具体的实施方式中,所述第二确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第二隧道确认序号和所述绑定隧道确认序号。
具体采用何种报文格式或字段格式(如采用哪些字段或扩展字段),各字段的具体内容或取值的详细说明,可以参考上述方法实施例中对应部分的描述,此处不再赘述。
上述实施方式中,通过根据所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行动态的负载分担,可以有效地降低所述绑定隧道的网络时延,和/或能较为明显的抑制由于网络拥塞所可能导致的绑定隧道重排序缓存流量溢出,进而导致的报文丢包,触发应用层重传的问题。
根据本申请实施例的第二网络设备600可对应于根据本申请实施例中用于负载的方法中的第二网络设备,并且,该网络设备中的各模块和上述其他操作和/或功能分别为了实现图3中的方法100的相应流程,为了简洁,此处不再赘述。
本申请上述实施例中提供的第一网络设备500和第二网络设备600,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或部分功能。
图7是根据本申请一实施例提供的第一网络设备700的另一示意图。该第一网络设备700可以是可以是图2中的HAAP设备或HG设备,可以用于执行图3所示的方法。所述第一网络设备700和第二网络设备之间建立有第一隧道和第二隧道,所述第一隧道和所述第二隧道通过混合端口绑定Hybrid bonding形成绑定隧道,所述第二网络设备包括绑定隧道重排序缓存,所述绑定隧道重排序缓存用于对进入所述绑定隧道重排序缓存中的报文进行排序。如图7所示,该第一网络设备700包括:输入接口701、输出接口702、处理器703和存储器704。该输入接口701、输出接口702、处理器703和存储器704可以通过总线系统705相连。
所述存储器704用于存储包括程序、指令或代码。所述处理器703,用于执行所述存储器704中的程序、指令或代码,以控制输入接口701接收信号、控制输出接口702发送信号以及实施上述图3所对应的实施方式中的第一网络设备所实施的各步骤及功能,此处不再赘述。
一个具体的实施方式中,所述输出接口702用于向所述第二网络设备发送多个数据报文,所述输入接口701用于接收所述第二网络设备发送的确认响应,所述处理器703用于根据所述确认响应确定所述绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。上述输出接口702,输入接口701以及处理器703的具体实施方式可以相应参考上述图5实施方式中的接收模块502、发送模块501以及处理模块503中的具体说明,这里不再赘述。
图8是根据本申请一实施例的第二网络设备800的另一示意图。该第二网络设备800可以是图中的HG设备或HAAP设备,可以用于执行图3所示的方法100。所述第二网络设备800和第一网络设备之间建立有第一隧道和第二隧道,所述第一隧道和所述第二隧道通过混合端口绑定Hybrid bonding形成绑定隧道。如图8所示,该第二网络设备800包括:输入接口801、输出接口802、处理器803和存储器804。该输入接口801、输出接口802、处理器803和存储器804可以通过总线系统805相连。
所述存储器804用于存储包括程序、指令或代码。所述处理器803,用于执行所述存储器804中的程序、指令或代码,以控制输入接口801接收信号、控制输出接口802发送信号以及实施上述图3所对应的实施方式中的第二网络设备所实施的各步骤及功能,此处不再赘述。
一个具体的实施方式中,存储器804包括绑定隧道重排序缓存用于对进入所述绑定隧道重排序缓存中的报文进行排序,所述输入接口801用于接收所述第一网络设备发送的多个数据报文,所述处理器803用于获取所述绑定隧道重排序缓存的缓存空间的使用情况的信息,所述输出接口802用于向所述第一网络设备发送确认响应,所述确认响应中包括所述绑定隧道重排序缓存的缓存空间的使用情况的信息。所述信息被所述第一网络设备用于确定所述绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。在另一个具体的实施方式中,存储器804还可以包括第一隧道重排序缓存,用于对进入所述第一隧道重排序缓存中的报文进行排序,所述存储器804还可以包括第二隧道重排序缓存,用于对进入所述第二隧道重排序缓存中的报文进行排序。上述存储器804、输出接口802,输入接口801以及处理器803的具体实施方式可以相应参考上述图6实施方式中的接收模块602、发送模块601、处理模块603以及绑定隧道重排序缓存模块604中的具体说明,这里不再赘述。
应理解,在本申请实施例中,该处理器703和处理器803可以是中央处理单元(Central Processing Unit,简称为“CPU”),还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器704和存储器804可以包括只读存储器和随机存取存储器,并分别向处理器703和处理器803提供指令和数据。存储器704或存储器804的一部分还可以包括非易失性随机存取存储器。例如,存储器704或存储器804还可以存储设备类型的信息。
该总线系统705和总线系统805除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统。
在实现过程中,方法100的各步骤可以通过处理器703和处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的定位方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质分别位于存储器704和存储器804中,处理器703读取存储器704中的信息,处理器803读取存储器804中的信息,结合其硬件完成上述方法100的步骤。为避免重复,这里不再详细描述。
需要说明的是,一个具体的实施方式中,图5中的处理模块503可以用图7的处理器703实现,发送模块501可以由图7的输出接口702实现,接收模块502可以由图7的输入接口701实现。同理,图6中的处理模块602用图8的处理器803实现,发送模块603可以由图8的输出接口802实现,接收模块601可以用由图8的输入接口801实现。
本申请还提供了一种通信系统,包括第一网络设备和第二网络设备,所述第一网络设备可以是图5、图7对应的实施例所提供的第一网络设备。所述第二网络设备可以是图6、图8对应的实施例所提供的第二网络设备。所述通信系统用于执行图2-图4对应的实施例的方法100。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
最后,需要说明的是:以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。显然,本领域技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (39)

1.一种负载分担的方法,其特征在于,应用于第一网络设备,所述第一网络设备位于混合接入HA网络中,所述HA网络包括数字用户专线DSL网络和长期演进LTE网络,所述HA网络还包括第二网络设备,所述第一网络设备和所述第二网络设备之间建立有第一隧道和第二隧道,所述第一隧道为DSL隧道,所述第二隧道为LTE隧道,所述第一隧道和所述第二隧道组成绑定隧道,所述第二网络设备包括绑定隧道重排序缓存,所述绑定隧道重排序缓存用于对进入所述绑定隧道重排序缓存中的报文进行排序,所述方法包括:
所述第一网络设备向所述第二网络设备发送多个数据报文;
所述第一网络设备接收所述第二网络设备发送的确认响应;
所述第一网络设备根据所述确认响应确定所述绑定隧道重排序缓存的缓存空间的使用情况;
所述第一网络设备根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。
2.根据权利要求1所述的方法,其特征在于,所述绑定隧道重排序缓存的缓存空间的使用情况,具体包括:
所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小。
3.根据权利要求1或2所述的方法,其特征在于:所述第一网络设备根据所述确认响应确定所述绑定隧道重排序缓存的缓存空间的使用情况,具体包括:
所述第一网络设备根据所述确认响应确定所述第一隧道中未完成正确排序的报文数量F1,所述第二隧道中未完成正确排序的报文数量F2以及所述绑定隧道中未完成正确排序的报文数量FB,进而确定所述绑定隧道重排序缓存中的报文数量B,B=FB-F1-F2,根据所述绑定隧道重排序缓存中的报文数量确定所述绑定隧道重排序缓存的缓存空间的使用情况。
4.根据权利要求3所述的方法,其特征在于,所述第二网络设备还包括第一隧道重排序缓存和第二隧道重排序缓存,所述第一隧道重排序缓存用于对通过所述第一隧道传输的报文进行排序,所述第二隧道重排序缓存用于对通过所述第二隧道传输的报文进行排序;
所述第一网络设备向所述第二网络设备发送所述多个数据报文,具体包括:
所述第一网络设备通过所述第一隧道向所述第二网络设备发送所述多个数据报文中的第一部分数据报文,所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述多个数据报文中的第二部分数据报文;
所述第一网络设备接收所述第二网络设备发送的确认响应,具体包括:
所述第一网络设备接收所述第二网络设备发送的针对所述第一部分数据报文中的第一数据报文的第一确认响应,根据所述第一确认响应确定已进入所述第一隧道重排序缓存并完成正确排序的报文数量以及已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M;
所述第一网络设备接收所述第二网络设备发送的针对所述第二部分数据报文中的第二数据报文的第二确认响应,根据所述第二确认响应确定已进入所述第二隧道重排序缓存并完成正确排序的报文数量以及已进入所述绑定隧道重排序缓存并完成正确排序的报文数量N;
所述第一网络设备根据M和N中的较大值以及所述第一网络设备所发送的所述多个数据报文的数量得到所述绑定隧道中未完成正确排序的报文数量FB
所述第一网络设备根据向所述第二网络设备发送的所述第一部分数据报文的数量以及根据所述第一确认响应确定的已进入所述第一隧道重排序缓存并完成正确排序的报文数量得到所述第一隧道中未完成正确排序的报文数量F1
所述第一网络设备根据向所述第二网络设备发送的所述第二部分数据报文的数量以及根据所述第二确认响应确定的已进入所述第二隧道重排序缓存并完成正确排序的报文数量得到所述第二隧道中未完成正确排序的报文数量F2
5.根据权利要求4所述的方法,其特征在于,所述第一部分数据报文中的每个报文包括该报文的绑定隧道序号以及第一隧道序号,所述第一隧道序号用于表示所述第一部分数据报文中的每个报文在所述第一隧道中的传输顺序,所述第一部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序;所述第二部分数据报文中的每个报文包括该报文的绑定隧道序号以及第二隧道序号,所述第二隧道序号用于表示所述第二部分数据报文中的每个报文在所述第二隧道中的传输顺序,所述第二部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序;所述第一确认响应包括第一隧道确认序号以及绑定隧道确认序号,所述第二确认响应中包括第二隧道确认序号以及绑定隧道确认序号;
所述第一网络设备根据所述第一隧道确认序号确定所述已进入所述第一隧道重排序缓存并完成正确排序的报文数量,并根据所述第一确认响应中包括的绑定隧道确认序号确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M;
所述第一网络设备根据所述第二隧道确认序号确定所述已进入所述第二隧道重排序缓存并完成正确排序的报文数量,并根据所述第二确认响应中包括的绑定隧道确认序号确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量N。
6.根据权利要求5所述的方法,其特征在于,所述第一部分数据报文中的每个报文包括用于承载所述第一隧道序号的序号Sequence Number字段和用于承载所述绑定隧道序号的绑定序号Bonding Sequence Number字段;所述第二部分数据报文中的每个报文包括用于承载所述第二隧道序号的序号Sequence Number字段和用于承载所述绑定隧道序号的绑定序号Bonding Sequence Number字段。
7.根据权要求5或6所述的方法,其特征在于,所述第一确认响应为通用路由封装GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第一隧道确认序号,采用所述GRE数据报文中包括的绑定确认号BondingAcknowledgmentNumber字段来承载所述绑定隧道确认序号;或所述第一确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第一隧道确认序号和所述绑定隧道确认序号。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述第二确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第二隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述隧道绑定确认序号;或所述第二确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第二隧道确认序号和所述绑定隧道确认序号。
9.根据权利要求4-8任一项所述的方法,其特征在于:所述第一网络设备根据发送所述第一部分数据报文中的第三数据报文与收到所述第二网络设备发送的针对所述第三数据报文的确认响应的时间间隔,确定所述第一隧道的往返时延RTT;
所述第一网络设备根据发送所述第二部分数据报文中的第四数据报文与收到所述第二网络设备发送的针对所述第四数据报文的确认响应的时间间隔,确定所述第二隧道的往返时延RTT。
10.根据权利要求2所述的方法,其特征在于:
当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中已用的缓存空间的大小时,所述绑定隧道重排序缓存中已用的缓存空间的大小包括所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度或所述绑定隧道重排序缓存中已用的缓存切片的数量;
当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中可用的缓存空间的大小时,所述绑定隧道重排序缓存中可用的缓存空间的大小包括所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度或所述绑定隧道重排序缓存中可用的缓存切片的数量。
11.根据权利要求10所述的方法,其特征在于:
所述确认响应为GRE数据报文,所述GRE数据报文包括绑定重排序缓存大小BondingReorder Buffer Size字段,所述Bonding Reorder Buffer Size字段承载所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用的缓存切片的数量;
或者
所述确认响应为GRE控制报文,所述GRE控制报文包括属性类型长度值Attribute TLV字段,所述Attribute TLV字段包括类型T字段,长度L字段以及值V字段,所述V字段承载所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量。
12.根据权利要求2-11任一项所述的方法,其特征在于:所述设定的负载分担策略包括:
所述第一网络设备确定所述绑定隧道重排序缓存中已用的缓存空间的大小大于等于第一门限值或所述绑定隧道重排序缓存中可用的缓存空间的大小小于等于第二门限值后,则选择所述第一隧道和所述第二隧道中往返时延RTT小的隧道或选择所述第一隧道和所述第二隧道中未完成正确排序的报文数量少的隧道传输所述第一网络设备向所述第二网络设备发送的报文。
13.一种负载分担的方法,其特征在于,应用于第二网络设备,所述第二网络设备位于混合接入HA网络中,所述HA网络包括数字用户专线DSL网络和长期演进LTE网络,所述HA网络还包括第一网络设备,所述第二网络设备和所述第一网络设备之间建立有第一隧道和第二隧道,所述第一隧道为DSL隧道,所述第二隧道为LTE隧道,所述第一隧道和所述第二隧道组成绑定隧道,所述第二网络设备包括绑定隧道重排序缓存,所述绑定隧道重排序缓存用于对进入所述绑定隧道重排序缓存中的报文进行排序,所述方法包括:
所述第二网络设备接收所述第一网络设备发送的多个数据报文;
所述第二网络设备获取所述绑定隧道重排序缓存的缓存空间的使用情况的信息,
所述第二网络设备向所述第一网络设备发送确认响应,所述确认响应中包括所述绑定隧道重排序缓存的缓存空间的使用情况的信息,所述信息被所述第一网络设备用于确定所述绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。
14.根据权利要求13所述的方法,其特征在于,所述绑定隧道重排序缓存的缓存空间的使用情况包括:所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小。
15.根据权利要求13或14所述的方法,其特征在于,所述第二网络设备还包括第一隧道重排序缓存和第二隧道重排序缓存,所述第一隧道重排序缓存用于对通过所述第一隧道传输的报文进行排序,所述第二隧道重排序缓存用于对通过所述第二隧道传输的报文进行排序;
所述第二网络设备接收所述第一网络设备发送的所述多个数据报文,具体包括:
所述第二网络设备接收所述第一网络设备通过所述第一隧道发送的所述多个数据报文中的第一部分数据报文,所述第一部分数据报文中的每个报文包括该报文的绑定隧道序号以及第一隧道序号,所述第一隧道序号用于表示所述第一部分数据报文中的每个报文在所述第一隧道中的传输顺序,所述第一部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序;
所述第二网络设备接收所述第一网络设备通过所述第二隧道发送的所述多个数据报文中的第二部分数据报文,所述第二部分数据报文中的每个报文包括该报文的绑定隧道序号以及第二隧道序号,所述第二隧道序号用于表示所述第二部分数据报文中的每个报文在所述第二隧道中的传输顺序,所述第二部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序;
所述确认响应包括所述第二网络设备针对所述第一部分数据报文的第一确认响应和所述第二网络设备针对所述第二部分数据报文的第二确认响应;
所述第二网络设备获得所述第一隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的第一隧道序号以及所述绑定隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的绑定隧道序号,根据所述第一隧道序号确定第一隧道确认序号,根据所述绑定隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的绑定隧道序号确定所述第一确认响应中包括的绑定隧道确认序号,所述第一确认响应中包括的所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述第一隧道确认序号和所述第一确认响应中包括的绑定隧道确认序号;
所述第二网络设备获得所述第二隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的第二隧道序号以及所述绑定隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的绑定隧道序号,根据所述第二隧道序号确定第二隧道确认序号,根据所述绑定隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的绑定隧道序号确定所述第二确认响应中包括的绑定隧道确认序号,所述第二确认响应中包括的所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述第二隧道确认序号和所述第二确认响应中包括的绑定隧道确认序号;
所述第一隧道确认序号、所述第二隧道确认序号、所述第一确认响应中包括的绑定隧道确认序号以及所述第二确认响应中包括的绑定隧道确认序号被所述第一网络设备用于确定所述绑定隧道重排序缓存的报文数量,并根据所述绑定隧道重排序缓存的报文数量确定所述绑定隧道重排序缓存的缓存空间的使用情况。
16.根据权利要求15所述的方法,其特征在于:
所述第一确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第一隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述隧道绑定确认序号;或者
所述第一确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第一隧道确认序号和所述绑定隧道确认序号。
17.根据权利要求15或16所述的方法,其特征在于:
所述第二确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第二隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述绑定隧道确认序号;或者
所述第二确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第二隧道确认序号和所述绑定隧道确认序号。
18.根据权利要求14所述方法,其特征在于:
当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中已用的缓存空间的大小时,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度或所述绑定隧道重排序缓存中已用的缓存切片的数量;
当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中可用的缓存空间的大小时,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度或所述绑定隧道重排序缓存中可用的缓存切片的数量。
19.根据权利要求18所述的方法,其特征在于,
所述确认响应为通用路由封装GRE数据报文,所述GRE数据报文中包括绑定重排序缓存大小Bonding Reorder Buffer Size字段,所述Bonding Reorder Buffer Size字段承载所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用的缓存切片的数量;或者
所述确认响应为GRE控制报文,所述GRE控制报文包括属性类型长度值Attribute TLV字段,所述Attribute TLV字段包括类型T字段,长度L字段以及值V字段,所述V字段承载所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量。
20.一种第一网络设备,其特征在于,所述第一网络设备位于混合接入HA网络中,所述HA网络包括数字用户专线DSL网络和长期演进LTE网络,所述HA网络还包括第二网络设备,所述第一网络设备和所述第二网络设备之间建立有第一隧道和第二隧道,所述第一隧道为DSL隧道,所述第二隧道为LTE隧道,所述第一隧道和所述第二隧道组成绑定隧道,所述第二网络设备包括绑定隧道重排序缓存,所述绑定隧道重排序缓存用于对进入所述绑定隧道重排序缓存中的报文进行排序,所述第一网络设备包括:
发送模块,用于向所述第二网络设备发送多个数据报文;
接收模块,用于接收所述第二网络设备发送的确认响应;
处理模块,用于根据所述确认响应确定所述绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。
21.根据权利要求20所述的第一网络设备,其特征在于,所述绑定隧道重排序缓存的缓存空间的使用情况,具体包括:
所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小。
22.根据权利要求20或21所述的第一网络设备,其特征在于,
所述处理模块,具体用于根据所述确认响应确定所述第一隧道中未完成正确排序的报文数量F1,所述第二隧道中未完成正确排序的报文数量F2以及所述绑定隧道中未完成正确排序的报文数量FB,进而确定所述绑定隧道重排序缓存中的报文数量B,B=FB-F1-F2,根据所述绑定隧道重排序缓存中的报文数量确定所述绑定隧道重排序缓存的缓存空间的使用情况。
23.根据权利要求22所述的第一网络设备,其特征在于,所述第二网络设备还包括第一隧道重排序缓存和第二隧道重排序缓存,所述第一隧道重排序缓存用于对进入通过所述第一隧道传输的报文进行排序,所述第二隧道重排序缓存用于对通过所述第二隧道传输的报文进行排序;
所述发送模块,具体用于通过所述第一隧道向所述第二网络设备发送所述多个数据报文中的第一部分数据报文,并通过所述第二隧道向所述第二网络设备发送所述多个数据报文中的第二部分数据报文;
所述接收模块,具体用于接收所述第二网络设备发送的针对所述第一部分数据报文中的第一数据报文的第一确认响应,并接收所述第二网络设备发送的针对所述第二部分数据报文中的第二数据报文的第二确认响应;
所述处理模块,具体用于:
根据所述第一确认响应确定已进入所述第一隧道重排序缓存并完成正确排序的报文数量以及已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M,并根据所述第二确认响应确定已进入所述第二隧道重排序缓存并完成正确排序的报文数量以及已进入所述绑定隧道重排序缓存并完成正确排序的报文数量N,根据M和N中的较大值以及所述第一网络设备所发送的所述多个数据报文的数量得到所述绑定隧道中未完成正确排序的报文数量FB
根据向所述第二网络设备发送的所述第一部分数据报文的数量以及根据所述第一确认响应确定的已进入所述第一隧道重排序缓存并完成正确排序的报文数量得到所述第一隧道中未完成正确排序的报文数量F1;以及
根据向所述第二网络设备发送的所述第二部分数据报文的数量以及根据所述第二确认响应确定的已进入所述第二隧道重排序缓存并完成正确排序的报文数量得到所述第二隧道中未完成正确排序的报文数量F2
24.根据权利要求23所述的第一网络设备,其特征在于,所述第一部分数据报文中的每个报文包括该报文的绑定隧道序号以及第一隧道序号,所述第一隧道序号用于表示所述第一部分数据报文中的每个报文在所述第一隧道中的传输顺序,所述第一部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序;所述第二部分数据报文中的每个报文包括该报文的绑定隧道序号以及第二隧道序号,所述第二隧道序号用于表示所述第二部分数据报文中的每个报文在所述第二隧道中的传输顺序,所述第二部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序;所述第一确认响应包括第一隧道确认序号以及绑定隧道确认序号,所述第二确认响应中包括第二隧道确认序号以及绑定隧道确认序号;
所述处理模块,具体用于:
根据所述第一隧道确认序号确定所述已进入所述第一隧道重排序缓存并完成正确排序的报文数量,并根据所述第一确认响应中包括的绑定隧道确认序号确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量M;以及
根据所述第二隧道确认序号确定所述已进入所述第二隧道重排序缓存并完成正确排序的报文数量,并根据所述第二确认响应中包括的绑定隧道确认序号确定已经进入所述绑定隧道重排序缓存并完成正确排序的报文数量N。
25.根据权利要求24所述的第一网络设备,其特征在于,所述第一部分数据报文中的每个报文包括用于承载所述第一隧道序号的序号Sequence Number字段和用于承载所述绑定隧道序号的绑定序号Bonding Sequence Number字段;所述第二部分数据报文中的每个报文包括用于承载所述第二隧道序号的序号Sequence Number字段和用于承载所述绑定隧道序号的绑定序号Bonding Sequence Number字段。
26.根据权利要求24或25所述的第一网络设备,其特征在于,所述第一确认响应为通用路由封装GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第一隧道确认序号,采用所述GRE数据报文中包括的绑定确认号BondingAcknowledgment Number字段来承载所述绑定隧道确认序号;或所述第一确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第一隧道确认序号和所述绑定隧道确认序号。
27.根据权利要求24-26任一项所述的第一网络设备,其特征在于,所述第二确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第二隧道确认序号,采用所述GRE数据报文中包括的绑定确认号BondingAcknowledgment Number字段来承载所述隧道绑定确认序号;或所述第二确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第二隧道确认序号和所述绑定隧道确认序号。
28.根据权利要求23-27任一项所述的第一网络设备,所述处理模块,还用于:
根据发送所述第一部分数据报文中的第三数据报文与收到所述第二网络设备发送的针对所述第三数据报文的确认响应的时间间隔,确定所述第一隧道的往返时延RTT;以及
根据发送所述第二部分数据报文中的第四数据报文与收到所述第二网络设备发送的针对所述第四数据报文的确认响应的时间间隔,确定所述第二隧道的往返时延RTT。
29.根据权利要求21所述的第一网络设备,其特征在于,
当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中已用的缓存空间的大小时,所述绑定隧道重排序缓存中已用的缓存空间的大小包括所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度或所述绑定隧道重排序缓存中已用的缓存切片的数量;
当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中可用的缓存空间的大小时,所述绑定隧道重排序缓存中可用的缓存空间的大小包括所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度或所述绑定隧道重排序缓存中可用的缓存切片的数量。
30.根据权利要求29所述的第一网络设备,其特征在于,
所述确认响应为GRE数据报文,所述GRE数据报文包括绑定重排序缓存大小BondingReorder Buffer Size字段,所述Bonding Reorder Buffer Size字段承载所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用的缓存切片的数量;或者
所述确认响应为GRE控制报文,所述GRE控制报文包括属性类型长度值Attribute TLV字段,所述Attribute TLV字段包括类型T字段,长度L字段以及值V字段,所述V字段承载所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量。
31.根据权利要求21-30任一项所述的第一网络设备,其特征在于,所述设定的负载分担策略包括:
所述第一网络设备确定所述绑定隧道重排序缓存中已用的缓存空间的大小大于等于第一门限值或所述绑定隧道重排序缓存中可用的缓存空间的大小小于等于第二门限值后,则选择所述第一隧道和所述第二隧道中往返时延RTT小的隧道或选择所述第一隧道和所述第二隧道中未完成正确排序的报文数量少的隧道传输所述第一网络设备向所述第二网络设备发送的报文。
32.一种第二网络设备,其特征在于,所述第二网络设备位于混合接入HA网络中,所述HA网络包括数字用户专线DSL网络和长期演进LTE网络,所述HA网络还包括第一网络设备,所述第二网络设备和所述第一网络设备之间建立有第一隧道和第二隧道,所述第一隧道为DSL隧道,所述第二隧道为LTE隧道,所述第一隧道和所述第二隧道组成绑定隧道,所述第二网络设备包括:
接收模块,用于接收所述第一网络设备发送的多个数据报文;
处理模块,用于获取所述绑定隧道重排序缓存的缓存空间的使用情况的信息;
发送模块,用于向所述第一网络设备发送确认响应,所述确认响应中包括所述绑定隧道重排序缓存的缓存空间的使用情况的信息,所述信息被所述第一网络设备用于确定所述绑定隧道重排序缓存的缓存空间的使用情况,并根据所述绑定隧道重排序缓存的缓存空间的使用情况以及设定的负载分担策略,对所述第一网络设备向所述第二网络设备传输的报文在所述第一隧道和所述第二隧道之间进行负载分担。
33.根据权利要求32所述的第二网络设备,其特征在于,所述绑定隧道重排序缓存的缓存空间的使用情况包括:所述绑定隧道重排序缓存中已用的缓存空间的大小或所述绑定隧道重排序缓存中可用的缓存空间的大小。
34.根据权利要求32或33所述的第二网络设备,其特征在于,所述第二网络设备进一步包括:
第一隧道重排序缓存模块,用于对通过所述第一隧道传输进入第一隧道重排序缓存中的报文进行排序;
第二隧道重排序缓存模块,用于对通过所述第二隧道进入第二隧道重排序缓存中的报文进行报文;
所述接收模块,具体用于:
接收所述第一网络设备通过所述第一隧道发送的所述多个数据报文中的第一部分数据报文,所述第一部分数据报文中的每个报文包括该报文的绑定隧道序号以及第一隧道序号,所述第一隧道序号用于表示所述第一部分数据报文中的每个报文在所述第一隧道中的传输顺序,所述第一部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序;以及
接收所述第一网络设备通过所述第二隧道发送的所述多个数据报文中的第二部分数据报文,所述第二部分数据报文中的每个报文包括该报文的绑定隧道序号以及第二隧道序号,所述第二隧道序号用于表示所述第二部分数据报文中的每个报文在所述第二隧道中的传输顺序,所述第二部分数据报文中的每个报文包括的该报文的绑定隧道序号用于表示该报文在所述绑定隧道中的传输顺序;
所述确认响应包括所述第二网络设备针对所述第一部分数据报文的第一确认响应和所述第二网络设备针对所述第二部分数据报文的第二确认响应;
所述处理模块,具体用于:
获得所述第二网络设备中的第一隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的第一隧道序号以及所述绑定隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的绑定隧道序号,根据所述第一隧道序号确定第一隧道确认序号,根据所述绑定隧道重排序缓存中离发送所述第一确认响应最近的已经完成正确排序的报文中的绑定隧道序号确定所述第一确认响应中包括的绑定隧道确认序号,所述第一确认响应中包括的所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述第一隧道确认序号和所述第一确认响应中包括的绑定隧道确认序号,所述第一隧道重排序缓存用于对通过所述第一隧道传输的报文进行排序;以及
获得所述第二网络设备中的第二隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的第二隧道序号以及所述绑定隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的绑定隧道序号,根据所述第二隧道序号确定第二隧道确认序号,根据所述绑定隧道重排序缓存中离发送所述第二确认响应最近的已经完成正确排序的报文中的绑定隧道序号确定所述第二确认响应中包括的绑定隧道确认序号,所述第二确认响应中包括的所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述第二隧道确认序号和所述第二确认响应中包括的绑定隧道确认序号,所述第二隧道重排序缓存用于对通过所述第二隧道传输的报文进行排序;
所述第一隧道确认序号、所述第二隧道确认序号、所述第一确认响应中包括的绑定隧道确认序号以及所述第二确认响应中包括的绑定隧道确认序号被所述第一网络设备用于确定所述绑定隧道重排序缓存的报文数量,并根据所述绑定隧道重排序缓存的报文数量确定所述绑定隧道重排序缓存的缓存空间的使用情况。
35.根据权利要求34所述的第二网络设备,其特征在于,
所述第一确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第一隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述隧道绑定确认序号;或者
所述第一确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第一隧道确认序号和所述绑定隧道确认序号。
36.根据权利要求34或35所述的第二网络设备,其特征在于,
所述第二确认响应为GRE数据报文,采用所述GRE数据报文中包括的确认号Acknowledgment Number字段来承载所述第二隧道确认序号,采用所述GRE数据报文中包括的绑定确认号Bonding Acknowledgment Number字段来承载所述绑定隧道确认序号;或者
所述第二确认响应为GRE控制报文,采用所述GRE控制报文中包括的属性类型长度值Attribute TLV字段来承载所述第二隧道确认序号和所述绑定隧道确认序号。
37.根据权利要求33所述的第二网络设备,其特征在于,
当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中已用的缓存空间的大小时,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度或所述绑定隧道重排序缓存中已用的缓存切片的数量;
当所述绑定隧道重排序缓存的缓存空间的使用情况包括所述绑定隧道重排序缓存中可用的缓存空间的大小时,所述绑定隧道重排序缓存的缓存空间的使用情况的信息包括所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度或所述绑定隧道重排序缓存中可用的缓存切片的数量。
38.根据权利要求37所述的第二网络设备,其特征在于,
所述确认响应为通用路由封装GRE数据报文,所述GRE数据报文中包括绑定重排序缓存大小Bonding Reorder Buffer Size字段,所述Bonding Reorder Buffer Size字段承载所述绑定隧道重排序缓存中的报文数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用的缓存切片的数量;或者
所述确认响应为GRE控制报文,所述GRE控制报文包括属性类型长度值Attribute TLV字段,所述Attribute TLV字段包括类型T字段,长度L字段以及值V字段,所述V字段承载所述绑定隧道重排序缓存中报文的数量、所述绑定隧道重排序缓存中报文队列的长度、所述绑定隧道重排序缓存中可用的用于缓存报文队列的长度、所述绑定隧道重排序缓存中已用的缓存切片的数量或所述绑定隧道重排序缓存中可用缓存切片的数量。
39.一种通信系统,包括权利要求20-31任一项所述的第一网络设备以及权利要求32-38任一项所述的第二网络设备。
CN202010411355.5A 2017-01-20 2017-01-20 一种报负载分担方法及网络设备 Active CN111740919B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010411355.5A CN111740919B (zh) 2017-01-20 2017-01-20 一种报负载分担方法及网络设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010411355.5A CN111740919B (zh) 2017-01-20 2017-01-20 一种报负载分担方法及网络设备
CN201710048343.9A CN108337182B (zh) 2017-01-20 2017-01-20 一种报负载分担方法及网络设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710048343.9A Division CN108337182B (zh) 2017-01-20 2017-01-20 一种报负载分担方法及网络设备

Publications (2)

Publication Number Publication Date
CN111740919A true CN111740919A (zh) 2020-10-02
CN111740919B CN111740919B (zh) 2023-08-22

Family

ID=62907707

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710048343.9A Active CN108337182B (zh) 2017-01-20 2017-01-20 一种报负载分担方法及网络设备
CN202010411355.5A Active CN111740919B (zh) 2017-01-20 2017-01-20 一种报负载分担方法及网络设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710048343.9A Active CN108337182B (zh) 2017-01-20 2017-01-20 一种报负载分担方法及网络设备

Country Status (4)

Country Link
US (1) US10999210B2 (zh)
EP (1) EP3562108B1 (zh)
CN (2) CN108337182B (zh)
WO (1) WO2018133496A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11936566B2 (en) * 2020-12-18 2024-03-19 Dish Wireless L.L.C. Intelligent router bonding 5G telephony and digital subscriber line services
WO2023096540A1 (en) * 2021-11-26 2023-06-01 Telefonaktiebolaget Lm Ericsson (Publ) Ue, radio network node, and methods performed in a wireless communication network

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064479A1 (en) * 2002-09-13 2006-03-23 Michael Meged Method for protection of ethernet traffic in optical ring networks
CN1863121A (zh) * 2006-01-09 2006-11-15 华为技术有限公司 二层隧道协议网络服务器及其隧道建立方法
US7139276B1 (en) * 2001-02-27 2006-11-21 Cisco Technology, Inc. Load sharing between L2TP tunnels
CN101383755A (zh) * 2007-09-04 2009-03-11 华为技术有限公司 代理移动IPv6切换方法及相关网络实体
US7673048B1 (en) * 2003-02-24 2010-03-02 Cisco Technology, Inc. Methods and apparatus for establishing a computerized device tunnel connection
CN101741740A (zh) * 2009-12-15 2010-06-16 杭州华三通信技术有限公司 一种负载平衡的方法、系统和设备
US20100161824A1 (en) * 2008-12-12 2010-06-24 Canon Kabushiki Kaisha Method for transmitting of a multi-channel data stream on a multi-transport tunnel, corresponding computer-readable storage means and tunnel end-points
WO2012061771A1 (en) * 2010-11-05 2012-05-10 Qualcomm Incorporated Controlling application access to a network
WO2013127078A1 (zh) * 2012-02-27 2013-09-06 北京东土科技股份有限公司 一种智能电网跨广域网goose报文传输系统及方法
CN103460735A (zh) * 2011-04-12 2013-12-18 瑞典爱立信有限公司 提供与接入网络中缓存有关的信息到核心网络
WO2014029287A1 (zh) * 2012-08-21 2014-02-27 中兴通讯股份有限公司 隧道负荷分担方法及装置
US9093088B1 (en) * 2014-05-14 2015-07-28 International Business Machines Corporation Load balancing and space efficient big data tape management
CN105657748A (zh) * 2016-03-16 2016-06-08 华为技术有限公司 基于隧道绑定的通信方法和网络设备
WO2016090978A1 (zh) * 2014-12-12 2016-06-16 华为技术有限公司 一种流量切换方法和装置
CN105703999A (zh) * 2016-03-29 2016-06-22 华为技术有限公司 建立gre隧道的方法和设备
WO2016188110A1 (zh) * 2015-05-22 2016-12-01 华为技术有限公司 一种公共wlan架构下的数据隧道建立方法和ap
US20160373273A1 (en) * 2014-02-28 2016-12-22 Huawei Technologies Co., Ltd. Method for establishing wireless local area network tunnel, apparatus, and access network system
US20160380884A1 (en) * 2015-06-26 2016-12-29 Futurewei Technologies, Inc. Flow-Based Distribution in Hybrid Access Networks

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868629B (zh) * 2012-08-30 2016-01-06 汉柏科技有限公司 利用ipsec实现负载分担的方法及系统
ES2813391T3 (es) * 2012-11-02 2021-03-23 Deutsche Telekom Ag Método y sistema para acceso híbrido controlado por red y servicio
WO2014101060A1 (zh) * 2012-12-27 2014-07-03 华为技术有限公司 一种数据包传输的方法及装置
US20140321376A1 (en) * 2013-04-29 2014-10-30 Qualcomm Incorporated Lte-wlan centralized downlink scheduler
CN104158761B (zh) 2014-08-05 2018-02-13 华为技术有限公司 一种分流流量的方法和装置
CN104158752B (zh) 2014-09-01 2018-03-13 华为技术有限公司 业务流量的处理方法和装置
US9699800B2 (en) * 2014-10-23 2017-07-04 Intel IP Corporation Systems, methods, and appartatuses for bearer splitting in multi-radio HetNet
US9692709B2 (en) * 2015-06-04 2017-06-27 Oracle International Corporation Playout buffering of encapsulated media
CN105933232B (zh) * 2016-03-29 2018-10-23 东北大学 支持多业务数据传输需求的多径传输控制终端及方法

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139276B1 (en) * 2001-02-27 2006-11-21 Cisco Technology, Inc. Load sharing between L2TP tunnels
US20060064479A1 (en) * 2002-09-13 2006-03-23 Michael Meged Method for protection of ethernet traffic in optical ring networks
US7673048B1 (en) * 2003-02-24 2010-03-02 Cisco Technology, Inc. Methods and apparatus for establishing a computerized device tunnel connection
CN1863121A (zh) * 2006-01-09 2006-11-15 华为技术有限公司 二层隧道协议网络服务器及其隧道建立方法
CN101383755A (zh) * 2007-09-04 2009-03-11 华为技术有限公司 代理移动IPv6切换方法及相关网络实体
US20100161824A1 (en) * 2008-12-12 2010-06-24 Canon Kabushiki Kaisha Method for transmitting of a multi-channel data stream on a multi-transport tunnel, corresponding computer-readable storage means and tunnel end-points
CN101741740A (zh) * 2009-12-15 2010-06-16 杭州华三通信技术有限公司 一种负载平衡的方法、系统和设备
WO2012061771A1 (en) * 2010-11-05 2012-05-10 Qualcomm Incorporated Controlling application access to a network
CN103460735A (zh) * 2011-04-12 2013-12-18 瑞典爱立信有限公司 提供与接入网络中缓存有关的信息到核心网络
WO2013127078A1 (zh) * 2012-02-27 2013-09-06 北京东土科技股份有限公司 一种智能电网跨广域网goose报文传输系统及方法
WO2014029287A1 (zh) * 2012-08-21 2014-02-27 中兴通讯股份有限公司 隧道负荷分担方法及装置
US20160373273A1 (en) * 2014-02-28 2016-12-22 Huawei Technologies Co., Ltd. Method for establishing wireless local area network tunnel, apparatus, and access network system
US9093088B1 (en) * 2014-05-14 2015-07-28 International Business Machines Corporation Load balancing and space efficient big data tape management
WO2016090978A1 (zh) * 2014-12-12 2016-06-16 华为技术有限公司 一种流量切换方法和装置
CN105743760A (zh) * 2014-12-12 2016-07-06 华为技术有限公司 一种流量切换方法和装置
WO2016188110A1 (zh) * 2015-05-22 2016-12-01 华为技术有限公司 一种公共wlan架构下的数据隧道建立方法和ap
US20160380884A1 (en) * 2015-06-26 2016-12-29 Futurewei Technologies, Inc. Flow-Based Distribution in Hybrid Access Networks
CN105657748A (zh) * 2016-03-16 2016-06-08 华为技术有限公司 基于隧道绑定的通信方法和网络设备
CN105703999A (zh) * 2016-03-29 2016-06-22 华为技术有限公司 建立gre隧道的方法和设备

Also Published As

Publication number Publication date
EP3562108A1 (en) 2019-10-30
EP3562108A4 (en) 2019-11-13
CN108337182B (zh) 2020-06-02
CN111740919B (zh) 2023-08-22
EP3562108B1 (en) 2023-01-04
CN108337182A (zh) 2018-07-27
WO2018133496A1 (zh) 2018-07-26
US20190342227A1 (en) 2019-11-07
US10999210B2 (en) 2021-05-04

Similar Documents

Publication Publication Date Title
CN111682952B (zh) 针对体验质量度量的按需探测
WO2021036962A1 (zh) 一种业务报文传输的方法及设备
EP3278514B1 (en) Data transmission
US20160323193A1 (en) Service Routing Method, Device, and System
CN108023758B (zh) 一种混合接入网络中处理报文的方法及网络设备
US11190451B2 (en) Packet transmission method and network device
WO2019179157A1 (zh) 一种数据流量处理方法及相关网络设备
KR100961712B1 (ko) 선호하는 경로 소스 라우팅, 다중의 보증 QoS와 자원유보, 관리 및 배포를 구비하는 고 성능의 통신 버스를제공하는 장치, 방법 및 컴퓨터 프로그램 생성물
CN112019395B (zh) 用于网络的测量的方法、网络设备和系统
CN107770085B (zh) 一种网络负载均衡方法、设备及系统
CN110944358A (zh) 数据传输方法和设备
JP2018511275A (ja) Tcpトンネル及びネイティブtcp情報に基づくバンドリングシナリオにおけるパケットのスケジューリングのための方法及びシステム
WO2018223825A1 (zh) 数据流的处理方法和设备
CN112600684A (zh) 云业务的带宽管理及配置方法及相关装置
CN109842570A (zh) 聚合速率控制方法、设备以及系统
CN108337182B (zh) 一种报负载分担方法及网络设备
CN113938431B (zh) 突发数据包传输方法、装置和电子设备
CN113055293A (zh) 软件定义广域网中的选路方法及装置、通信系统
US11870707B2 (en) Bandwidth management and configuration method for cloud service, and related apparatus
CN108123808B (zh) 流量管理的方法及设备
CN107113186A (zh) 统一机器到机器系统中数据传输的方法和公共服务实体
CN114615155A (zh) 用于部署业务的方法及装置
CN114124804A (zh) 一种通信方法、装置以及系统
US20230164037A1 (en) Network Access Method, Apparatus, and System
CN109587027B (zh) 一种报文转发方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant