CN108023758A - 一种混合接入网络中处理报文的方法及网络设备 - Google Patents
一种混合接入网络中处理报文的方法及网络设备 Download PDFInfo
- Publication number
- CN108023758A CN108023758A CN201610977391.1A CN201610977391A CN108023758A CN 108023758 A CN108023758 A CN 108023758A CN 201610977391 A CN201610977391 A CN 201610977391A CN 108023758 A CN108023758 A CN 108023758A
- Authority
- CN
- China
- Prior art keywords
- network device
- data packet
- tunnel
- acknowledgement
- window
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003780 insertion Methods 0.000 title abstract 2
- 230000037431 insertion Effects 0.000 title abstract 2
- 230000004044 response Effects 0.000 claims abstract description 159
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 29
- 238000012163 sequencing technique Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 7
- 238000012790 confirmation Methods 0.000 abstract description 19
- 238000012544 monitoring process Methods 0.000 abstract description 8
- 230000015654 memory Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 238000013507 mapping Methods 0.000 description 10
- 230000007423 decrease Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004043 dyeing Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1642—Formats specially adapted for sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/187—Details of sliding window management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/41—Flow control; Congestion control by acting on aggregated flows or links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6421—Medium of transmission, e.g. fibre, cable, radio, satellite
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6424—Access arrangements
- H04L2012/6427—Subscriber Access Module; Concentrator; Group equipment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6464—Priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6489—Buffer Management, Threshold setting, Scheduling, Shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6497—Feedback to the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种混合接入网络中处理报文的方法及网络设备,用以实现网络带宽的实时监测及流量均衡,缓解因网络突发情况导致的主链路拥塞,提升网络带宽。该方法为:第一网络设备通过所述第一隧道将第一发送窗口中的第一数据报文发送给第二网络设备,响应于接收到第二网络设备发送的第一确认响应,第一网络设备按照第一比例增加第一发送窗口的大小,响应于在第一预定时间内未接收到第一确认响应,按照第二比例减小第一发送窗口的大小,响应于确定第一发送窗口的大小大于等于第一阈值,通过第二发送窗口向第二网络设备的第二接收窗口发送第二数据报文,第一确认响应中携带的第一确认号是根据第一数据报文中的第一子链路编号得到的。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种混合接入网络中处理报文的方法及网络设备。
背景技术
混合接入(Hybrid Access,HA)网络是指将不同的接入网络连接捆绑起来提供给同一用户使用。混合接入网络能够使用户体验高速的网络使用。例如,两种不同的接入网络为数字用户专线(Digital Subscriber Line,DSL)和长期演进(Long Term Evolution,LTE)。目前,一种可能实现HA的方式是:运营商侧网络设备与用户侧网络设备之间通过通用路由封装(Generic Routing Encapsulation,GRE)隧道绑定实现混合接入网络的应用。运营商侧网络设备可以是混合接入汇聚点(Hybrid Access Aggregation Point,HAAP),用于捆绑连接不同的接入网络,为用户提供高速的互联网接入;用户侧网络设备可以是家庭网关(Home Gateway,HG),能够允许两种不同接入网络同时接入,如,可以同时允许固定宽带网络和移动网络的接入。
现有技术中,在混合接入网络中,基于令牌桶来实现负载分担。以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隧道注入负载,且LTE隧道即便是空闲的,也无法合理被用户使用,这样不但会导致丢包等传输错误,系统资源利用率也会很大程度降低,阻碍混合接入技术的实现。
发明内容
本申请实施例提供一种混合接入网络中处理报文的方法及网络设备,用以实现网络带宽的实时监测及负载均衡,缓解因网络突发情况导致的主链路拥塞,提升网络带宽。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种混合接入网络中处理报文的方法,所述混合接入网络包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间建立有第一隧道和第二隧道。所述第一网络设备中包括第一缓存和第二缓存,所述第一缓存用于存储第一发送窗口,所述第二缓存用于存储第二发送窗口。首先,第一网络设备通过所述第一隧道向所述第二网络设备发送所述第一发送窗口中的数据报文。然后,第一网络设备根据第二网络设备反馈的确认响应,动态调整第一发送窗口的大小。当第一发送窗口的大小大于等于第一阈值时,后续接收到的数据报文进入第二发送窗口,通过所述第二隧道发送给所述第二网络设备。这样,可以实现网络带宽的实时监测及负载均衡,缓解因网络突发情况导致的主链路拥塞,提升网络带宽。
在一个可能的实施方式中,所述第一网络设备通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备,所述第一数据报文中携带第一子链路编号,所述第一子链路编号用于表示所述第一数据报文在所述第一隧道中的序列号。响应于接收到所述第二网络设备发送的第一确认响应,所述第一网络设备按照第一比例增加所述第一发送窗口的大小。所述第一确认响应中携带第一确认号,所述第一确认号是根据所述所述第一子链路编号得到的,所述第一确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第一数据报文。响应于在第一预定时间内未接收到所述第二网络设备发送的所述第一确认响应,所述第一网络设备按照第二比例减小所述第一发送窗口的大小,所述第二比例大于所述第一比例。之后,所述第一网络设备接收第二数据报文,到达所述第二数据报文的目的地址的下一跳为所述第二网络设备。当确定所述第一发送窗口的大小大于等于第一阈值时,所述第一网络设备将所述第二数据报文存储至所述第二缓存,所述第二数据报文进入所述第二发送窗口。所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述第二数据报文。这样,第一网络设备通过第二网络设备接收数据报文的情况,按照“慢增”、“快减”的方式来控制发送速率,可以根据实际网络状况合理分配第一隧道和第二隧道两条隧道的流量。避免第一隧道因网络突发导致阻塞而带来的负载分担不适当,合理利用了网络带宽。
在一个可能的实施方式中,所述第一隧道的优先级高于所述第二隧道。其中,所述第一网络设备通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备之前,所述第一网络设备确定所述第一发送窗口的大小小于所述第一阈值,所述第一网络设备将所述第一数据报文存储至所述第一缓存,所述第一数据报文进入所述第一发送窗口。通过优先级的设定,更好的利用网络传输质量好的主链路,提高了通信效率。
在一个可能的实施方式中,所述第一确认响应为所述第二网络设备向所述第一网络设备发送的第三数据报文或者第一通用路由封装GRE控制报文。提供更多可能的反馈确认响应的方式。
在一个可能的实施方式中,所述第一确认响应为所述第三数据报文,所述第三数据报文中包括确认号字段,所述确认号字段中携带所述第一确认号。由此,当第二网络设备接收到所述第一数据报文后,如果第二网络设备需要刚好要向所述第一网络设备发送所述第三数据报文,则可以将所述第一确认号携带在所述第三数据报文中,当第一网络设备接收到所述第三数据报文后,解析所述第三数据报文,根据所述第一确认号,确认所述第二网络设备已经接收到所述第一数据报文。通过第二网络设备向第一网络设备发送的数据报文来反馈确认响应,使得无须单独发送报文以反馈确认响应,减少了第一网路设备和第二网络设备之间交互的报文的数量,也节约了带宽资源。
在一个可能的实施方式中,所述第一确认响应为第一GRE控制报文,所述第一GRE控制报文包括确认报文属性Attribute字段,所述确认报文Attribute字段包括属性类型Attribute Type字段,属性长度Attribute Length字段以及确认号AcknowledgementNumber字段,所述Attribute Type字段表示所述确认报文Attribute字段的类型为通知已接收到数据报文的类型,所述Acknowledgement Number字段用于承载所述第一确认号。通过GRE控制报文来通告确认号,实现网络带宽的实时监测和自动调整,无需人工干预。
在一个可能的实施方式中,所述第二网络设备包括第三缓存,所述第三缓存用于存储第一接收窗口,所述第一网络设备通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备之前,所述第一网络设备接收所述第二网络设备发送的通知报文,所述通知报文用于通知所述第一接收窗口的大小,所述第一接收窗口的大小为M;响应于接收到所述通知报文,所述第一网络设备将所述第一发送窗口的大小设置为L,L<M,L和M均大于0。
在一个可能的实施方式中,所述第一发送窗口的大小为所述第一接收窗口大小的一半;所述第二发送窗口的大小为所述第二接收窗口大小的一半。
在一个可能的实施方式中,所述通知报文为第二GRE控制报文,所述第二GRE控制报文包括窗口大小属性Window size Attribute字段,所述Window size Attribute字段包括Attribute Type字段,Attribute Length字段以及窗口大小Window Size字段,所述Attribute Type字段表示所述Window size Attribute字段的类型为通知窗口大小的类型,所述Window Size字段用于承载所述第一接收窗口的大小。通过GRE控制报文来通告窗口大小,实现发送窗口的自动设定和调整,无需人工干预。
在一个可能的实施方式中,所述第二数据报文中携带第二子链路编号,所述第二子链路编号用于表示所述第二数据报文在所述第二隧道中的序列号;所述第一网络设备通过所述第二隧道将所述第二发送窗口中的第二数据报文向所述第二网络设备发送之后,响应于接收到所述第二网络设备发送的第二确认响应,所述第一网络设备按照第三比例增加所述第二发送窗口的大小,所述第二确认响应中携带第二确认号,所述第二确认号是根据所述第二子链路编号得到的,所述第二确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第二数据报文;响应于在第二预定时间内未接收到所述第二网络设备发送的所述第二确认响应,所述第一网络设备按照第四比例减小所述第二发送窗口的大小,所述第四比例大于所述第三比例。这样,第一网络设备通过第二网络设备接收数据报文的情况,按照“慢增”、“快减”的方式来控制发送速率。
在一个可能的实施方式中,第二网络设备在接收到第二数据报文后,获取接收到的第二数据报文中携带的第二子链路编号,在向第一网络设备返回的第二确认响应中携带第二确认号,第二确认号是根据第二子链路编号得到的。
在一个可能的实施方式中,第二确认响应可以为第二网络设备向第一网络设备发送的第四数据报文,第四数据报文中包括确认号字段,在确认号字段中携带第二确认号。可选的,第二确认号与第二子链路编号相同。通过第二网络设备向第一网络设备发送的数据报文来反馈确认响应,使得无须单独发送报文以反馈确认响应,减少了第一网路设备和第二网络设备之间交互的报文的数量,也节约了带宽资源。
在一个可能的实施方式中,第二确认响应还可以为第三GRE控制报文,第二网络设备在接收到第一网络设备发送的第二数据报文之后,通过向第一网络设备发送的第三GRE控制报文向第一网络设备通知已经接收到第二数据报文。
在一个可能的实施方式中,第三GRE控制报文包括确认报文属性Attribute字段,确认报文Attribute字段包括属性类型Attribute Type字段,属性长度Attribute Length字段以及确认号Acknowledgement Number字段,Attribute Type字段表示确认报文Attribute字段的类型为通知已接收到数据报文的类型,Acknowledgement Number字段用于承载第二确认号。通过GRE控制报文来通告确认号,实现网络带宽的实时监测和自动调整,无需人工干预。
第二方面,提供一种混合接入网络中处理报文的方法,所述混合接入网络包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间建立有第一隧道和第二隧道,所述第一隧道和所述第二隧道通过绑定连接形成虚拟绑定隧道,所述第一网络设备中包括包括第一缓存和第二缓存,所述第一缓存用于存储第一发送窗口,所述第二缓存用于存储第二发送窗口,所述第二网络设备中包括排序缓存,第二网络设备在接收第一网络设备发送的数据报文后,向第一网络设备反馈确认响应,通知第一网络设备已经接收到了数据报文,以使第一网络设备动态调整发送窗口的大小。这样,可以实现网络带宽的实时监测及负载均衡,缓解因网络突发情况导致的主链路拥塞,提升网络带宽。
在一个可能的实施方式中,所述第二网络设备接收所述第一网络设备通过所述第一隧道发送的所述第一发送窗口中的第一数据报文,所述第一数据报文中携带第一子链路编号和第一全局编号。所述第一子链路编号用于表示所述第一数据报文在所述第一隧道中的序列号。所述第一全局编号表示所述第一数据报文在所述虚拟绑定隧道中的序列号。所述第二网络设备接收所述第一网络设备通过所述第二隧道发送的所述第二发送窗口中的第二数据报文。所述第二数据报文中携带第二子链路编号和第二全局编号。所述第二子链路编号用于表示所述第二数据报文在所述第二隧道中的序列号,所述第二全局编号用于表示所述第二数据报文在所述虚拟绑定隧道中的序列号。所述第二网络设备将所述第一数据报文和所述第二数据报文存储到排序缓存,根据所述第一全局编号和所述第二全局编号对所述第一数据报文和所述第二数据报文进行排序。响应于所述第二网络设备将所述第一数据报文存储到所述排序缓存,所述第二网络设备向所述第一网络设备发送第一确认响应,以使得所述第一网络设备收到所述第一确认响应后,按照第一比例增加所述第一发送窗口的大小。所述第一确认响应中携带第一确认号。所述第一确认号是根据所述第一子链路编号得到的。所述第一确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第一数据报文。
响应于所述第二网络设备将所述第二数据报文存储到所述排序缓存,所述第二网络设备向所述第一网络设备发送所述第二确认响应,以使得所述第一网络设备在收到所述第二确认响应后,按照第三比例增加所述第二发送窗口的大小。所述第二确认响应中携带第二确认号,所述第二确认号是根据所述第二子链路编号得到的,所述第二确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第二数据报文。第二网络设备可以准确通知第一网络设备接收到的数据报文,以便于第一网络设备动态调整隧道带宽,控制第一发送窗口的发送速率,避免因网络突发导致阻塞而带来的负载分担不适当,合理利用了网络带宽。
在一个可能的实施方式中,所述第一确认响应为所述第二网络设备向所述第一网络设备发送的第三数据报文或者第一通用路由封装GRE控制报文。提供更多可能的反馈确认响应的方式。
在一个可能的实施方式中,所述第一确认响应为所述第三数据报文,所述第三数据报文中包括确认号字段,所述确认号字段中携带所述第一确认号。通过第二网络设备向第一网络设备发送的数据报文来反馈确认响应,使得无须单独发送报文以反馈确认响应,减少了第一网路设备和第二网络设备之间交互的报文的数量,也节约了带宽资源。
在一个可能的实施方式中,所述第一确认响应为第一GRE控制报文,所述第一GRE控制报文包括确认报文属性Attribute TLV字段,所述确认报文Attribute TLV字段用于承载所述第一确认号。通过GRE控制报文来通告确认号,实现网络带宽的实时监测和自动调整,无需人工干预。
在一个可能的实施方式中,所述第二网络设备通过所述第一隧道接收所述第一网络设备发送的第一数据报文之前,所述第二网络设备向所述第一网络设备发送第一通知报文。所述第一通知报文用于通知所述第一接收窗口的大小,所述第一接收窗口的大小用于所述第一网络设备设置所述第一发送窗口的大小。所述第二网络设备通过所述第二隧道接收所述第一网络设备发送的第二数据报文之前,所述第二网络设备向所述第一网络设备发送第二通知报文,所述第二通知报文用于通知所述第二接收窗口的大小,所述第二接收窗口的大小用于所述第一网络设备设置所述第二发送窗口的大小。
在一个可能的实施方式中,所述第一通知报文为第二GRE控制报文,所述第二通知报文为第四GRE控制报文。所述第二GRE控制报文包括窗口大小属性Window sizeAttribute TLV字段。所述第四GRE控制报文包括窗口大小属性Window size AttributeTLV字段。所述第二GRE控制报文中的Window size Attribute TLV字段用于承载所述第一接收窗口的大小。所述第四GRE控制报文中的Window size Attribute TLV字段用于承载所述第二接收窗口的大小。通过GRE控制报文来通告窗口大小,实现发送窗口的自动设定和调整,无需人工干预。
第三方面,提供一种混合接入网络中的第一网络设备,该第一网络设备具有实现上述第一方面和第一方面的任一种可能的实施方式中第一网络设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,提供一种混合接入网络中的第二网络设备,该第二网络设备具有实现上述第二方面和第二方面的任一种可能的实施方式中第二网络设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,提供一种混合接入网络中的第一网络设备,该第一网络设备包括收发器,处理器,存储器,所述处理器以及存储器之间通过总线系统相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,该执行使得处理器执行第一方面或第一方面的任一可能的实施方式中的方法。
第六方面,提供一种混合接入网络中的第二网络设备,该第二网络设备包括收发器,处理器,存储器,所述处理器以及存储器之间通过总线系统相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,该执行使得处理器执行第二方面或第二方面的任一可能的实施方式中的方法。
第七方面,提供了一种通信系统,该通信系统包括第三方面或第五方面所述的第一网络设备和第四方面或第六方面所述的第二网络设备。
第八方面,提供了一种计算机存储介质,用于存储计算机程序,该计算机程序包括用于执行第一方面、第二方面、第一方面的任一可能的实施方式或第二方面的任一可能的实施方式中的方法的指令。
本申请实施例提供了一种混合接入网络中的处理报文的方法及网络设备,第一网络设备根据第二网络设备反馈的信息,调整第一网络设备不同链路的带宽,主链路溢出的流量及时导向其他链路,在提升网络带宽的同时,缓解了因网络突发情况导致的主链路拥塞。
附图说明
图1为现有技术中基于令牌桶来实现负载分担的示意图;
图2为本申请实施例中HA网络架构示意图;
图3为本申请实施例中混合接入网络中处理报文的方法流程示意图;
图4为本申请实施例中发送窗口、接收窗口示意图;
图5为本申请实施例中数据报文协议扩展示意图;
图6为本申请实施例中混合接入网络中第一网络设备的结构示意图之一;
图7为本申请实施例中混合接入网络中第二网络设备的结构示意图之一;
图8为本申请实施例中混合接入网络中第一网络设备的结构示意图之二;
图9为本申请实施例中混合接入网络中第二网络设备的结构示意图之二。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
除非有相反的说明,本申请实施例提及“第一”、“第二”、“第三”以及“第四”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序。
本申请实施例可应用于混合接入网络,本申请实施例中,混合接入网络中包括第一网络设备和第二网络设备,第一网络设备和第二网络设备之间建立有两条链路。在两条链路上分别传输数据报文和/或控制报文,一条链路可以看做一条隧道,即第一网络设备和第二网络设备之间建立有两条隧道,为第一隧道和第二隧道。第一隧道和第二隧道通过绑定连接形成虚拟绑定隧道。可以理解为,第一网络设备与第二网络设备之间的互通的所有数据报文通过该虚拟绑定隧道传输,该所有数据报文包括通过第一隧道和通过第二隧道传输的数据报文。具体地,所述虚拟绑定隧道例如可以是GRE隧道,点到点协议(英文:Point-to-point Tunnelling Protocol,PPTP)隧道,用户数据协议(英文:User datagramProtocol,UDP)隧道等,本申请对此不作具体限定。
在本申请实施例中,第一发送窗口可以理解为欲通过第一隧道发送的、缓存在第一网络设备且尚未被发送的数据报文序列。第二发送窗口可以理解为欲通过第一隧道发送的、缓存在第一网络设备且尚未被发送的数据报文序列。第一接收窗口可以理解为第二网络设备接收到第一发送窗口通过第一隧道发送的、并缓存下来,且尚未进入排序缓存的数据报文序列。第二接收窗口可以理解为第二网络设备接收到第二发送窗口通过第二隧道发送的、并缓存下来,且尚未进入排序缓存的数据报文序列。排序缓存可以理解为用于第二网络设备对虚拟绑定隧道接收到的所有数据报文序列进行排序的缓存。窗口大小可以理解为可以容纳数据报文序列的长度。发送窗口和接收窗口的定义符合传输控制协议(英文:Transmission Control Protocol,TCP)的规定。各个隧道上的发送窗口和接收窗口独立管理。第一网络设备中包括第一缓存和第二缓存,第一缓存用于存储第一发送窗口,第二缓存用于存储第二发送窗口。第二网络设备中包括第三缓存和第四缓存,第三缓存用于存储第一接收窗口,第二缓存用于存储第二接收窗口。
本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
一种可能的混合接入网络架构示例如图2所示。第一网络设备为用户侧网络设备HG,第二网络设备为运营商侧网络设备HAAP;或者,第一网络设备为运营商侧网络设备HAAP,第二网络设备为用户侧网络设备HG。用户侧网络设备HG能够为用户提供至少两种接入网络的的接入,如图2中所示,为诸如手机、电脑、固定电话等终端设备提供如DSL的固定网络,为诸如具有无线通信功能的手持设备提供如LTE的移动网络的接入,运营商侧网络设备HAAP为用户提供高速的混合网络接入。
HG与HAAP之间通过虚拟绑定隧道实现混合接入。第一网络设备发送的所有报文采用全局编号,全局编号用于表示第一网络设备发送的所有数据报文在虚拟绑定隧道中的序列号,其中,所有报文包括在DSL隧道中传输的报文和在LTE隧道中传输的报文。第二网络设备根据全局编号恢复报文顺序,从而实现HG与HAAP之间混合接入网络的数据传输机制。图2中示出的混合接入网络中的应用场景仅是一种示例,实际混合接入网络中还可以包括其他形式的结构,本申请中不作限制。
下面基于图2所示的混合接入网络架构,结合附图对本申请实施例提供的混合接入网络中处理报文的方法及网络设备作详细说明。
需要说明的是,第一网络设备和第二网络设备之间通过第一隧道和第二隧道发送数据,还可以通过两条以上的隧道来发送数据,本申请实施例中以两条隧道为例介绍。
参阅图3所示,本申请实施例中混合接入网络中处理报文的方法流程如下所述。
步骤301、第一网络设备通过第一隧道将第一发送窗口中的第一数据报文发送给第二网络设备。
步骤302、第二网络设备接收所述第一数据报文之后,向第一网络设备返回第一确认响应;
第一确认响应用于指示第二网络设备接收到基于第一发送窗口发送的第一数据报文。
这里有一种特殊情况是,第二网络设备可能没有接收到第一网络设备发送的第一数据报文,或者第二网络设备解析错误等原因,第二网络设备未向第一网络设备返回第一确认响应。
步骤303、第一网络设备根据第一确认响应的接收情况,来动态调整第一发送窗口的大小。
具体地,响应于接收到第二网络设备发送的第一确认响应,第一网络设备按照第一比例增加第一发送窗口的大小。
第一网络设备可能由于链路质量不好或者第二网络设备未返回第一确认响应等原因,在第一预定时间内未接收到第一确认响应。响应于在第一预定时间内未接收到第二网络设备发送的第一确认响应,第一网络设备按照第二比例减小第一发送窗口的大小,第二比例大于第一比例。
在一种可能的实施方式中,将第一预定时间设置为大于等于第一数据报文由第一网络设备传输到第二网络设备的时长与第一确认响应由第二网络设备传输到第一网络设备的时长之和。
步骤304、第一网络设备通过第二隧道将第二数据报文发送给第二网络设备。可选的,第一隧道的优先级高于第二隧道。即当第一隧道和第二隧道的链路状态正常的情况下,第一网络设备当产生待发送的数据报文时,优先通过第一隧道发送。具体地,两个隧道之间的优先级顺序可以通过两个隧道的时延优先级来确定,也可以通过两个发送窗口的大小来确定,具体优先级确定方式本申请中不作限定。
第一网络设备接收所述第一数据报文后,在第一缓存具有缓存空间时,优先将所述第一数据报文缓存到第一缓存,进入第一发送窗口,并通过第一隧道将所述数据报文发送给第二网络设备。如步骤303所述,根据接收第二网络设备返回的第一确认响应的情况,来动态调整第一发送窗口的大小。第一网络设备预先设定第一发送窗口大小的第一阈值,根据第一发送窗口大小与第一阈值的大小关系,来选择第一发送窗口还是第二发送窗口来发送数据报文。
相应地,在步骤301第一网络设备通过第一隧道将第一发送窗口中的第一数据报文发送到第二网络设备之前,第一网络设备响应于确定第一发送窗口的大小小于第一阈值,第一网络设备选择将第一数据报文存储至第一缓存,第一数据报文进入第一发送窗口。
相应地,在步骤304中,第一网络设备将第二数据报文通过第二隧道发送之前,响应于确定第一发送窗口的大小大于等于第一阈值,第一网络设备将第二数据报文存储至第二缓存,第二数据报文进入第二发送窗口。
在一个具体的实施方式中,所述第一阈值可以是能够容纳的数据报文序列的u最大长度。但本申请实施例不限于此。
在一个具体的实施方式中,当第一网络设备接收到待发送的数据报文时,第一网络设备会先确定待发送的数据报文的长度。若待发送数据报文的长度不大于当前第一缓存可存储空间的大小,则第一网络设备将待发送的数据报文存储到第一缓存,进入第一发送窗口,并通过第一隧道发送给第二网络设备。若待发送数据报文的长度大于第一缓存可存储空间的大小,则第一网络设备将待发送的数据报文缓存到第二缓存,进入第二发送窗口并通过第二隧道发送给第二网络设备。本申请实施例中,在第一数据报文中携带第一子链路编号,在第二数据报文中携带第二子链路编号。第一子链路编号用于表示第一数据报文在第一隧道中的序列号,第二子链路编号用于表示第二数据报文在第二隧道中的序列号。具体地,第一网络设备向第二网络设备发送的第一数据报文的序列号字段被分成两部分,一部分用于携带第一子链路编号(即Tunnel Sequence Number);一部分用于携带原有数据报文协议中定义的全局编号(即Bonding Sequence Number)。第二数据报文的序列号字段被分成两部分,一部分用于携带第二子链路编号,一部分用于携带原有数据报文协议中定义的全局编号。
全局编号用于表征第一网络设备发送的所有数据报文在第一隧道和第二隧道通过绑定连接形成虚拟绑定隧道中的序列号。其中,该所有数据报文包括在第一隧道中传输和在第二隧道中传输的数据报文。为方便说明,用第一全局编号表示第一发送窗口中的第一数据报文在虚拟绑定隧道中的序列号。用第二全局编号表示第二发送窗口中的第二数据报文在虚拟绑定隧道中的序列号。第二网络设备在接收到第一数据报文和第二数据报文后,将第一数据报文和第二数据报文保存到排序缓存,并根据第一全局编号和第二全局编号对第一数据报文和第二数据报文进行排序。具体地,首先,第二网络设备接收到所述第一数据报文以后,将所述第一数据报文存储至第三缓存中,以使得第一数据报文进入第一接收窗口。然后,第一接收窗口中的数据报文,包括第一数据报文,会进入排序缓存中。第二网络设备接收到第二数据报文以后,将第二数据报文存储至第四缓存中,以使得第二数据报文进入第二接收窗口。然后,第二接收窗口中的数据报文,包括第二数据报文,会进入排序缓存中。在排序缓存中,第二网络设备根据每个数据报文的全局编号,对所有的数据报文进行排序。如上所述,需要说明的是,在上述步骤302中,第二网络设备在接收到第一数据报文后,向第一网络设备返回第一确认响应之前,会将第一数据报文先存储到排序缓存,然后根据第一数据报文中携带的第一全局编号确定第一数据报文在排序缓存中的位置。这样,只有在第一数据报文进行排序缓存后,第二网络设备才会返回第一确认响应,避免了数据报文因不能全部处理导致的拥塞,通过这样设计能够向第一网络设备反映实际网络状况,更能合理利用系统带宽。
第二网络设备在接收到第一数据报文后,获取接收到的第一数据报文中携带的第一子链路编号,在向第一网络设备返回的第一确认响应中携带第一确认号,第一确认号是根据第一子链路编号得到的,第一确认号用于指示第一网络设备第二网络设备已经收到第一数据报文。
在一个具体的实施方式中,第一确认号与第一子链路编号采取相同的方式进行表示。例如第二网络设备接收到所述第一数据报文后,获取所述第一数据报文中携带的所述第一子链路编号,并在所述第一确认响应中,将该第一子链路编号作为所述第一确认号回复给所述第一网络设备。所述第一子链路编号例如可以是阿拉伯数字,或者字母,本申请对此不作具体限定。
在另一个具体的实施方式中,所述第一确认号是根据与所述第一子链路编号之间的映射关系而得到的。在一个具体的实施方式中,所述第二网络设备中可以保存一个映射关系表,所述映射关系表用于保存所述子链路编号与确认号的映射关系。所述第二网络设备获取所述第一子链路编号,根据所述映射关系表得到与所述第一子链路编号对应的第一确认号。相应的,所述第一网络设备中也保存有所述映射关系表。所述映射关系例如可以通过以下方式建立:例如,第一子链路编号为阿拉伯数字1,而第一确认号为与数字1相映射的字母A。需要说明的是,上述映射关系的建立方式仅是例举,具体可以通过多种不同的方式实现,本领域技术人员可以想到的任何来建立这种对应关系的手段都覆盖在本申请实施例中的映射规则中。映射关系表的具体形式可以以多种不同的方式实现,可以以表格的形式,也可以是其他的方式表达该对应关系,本申请对此不做限定。
通过第一确认号,第一网络设备可以获知第二网络设备已接收到与第一确认号对应的第一子链路编号的第一数据报文。
第一网络设备和第二网络设备之间可以互传数据报文,可选的,第一确认响应可以为第二网络设备向第一网络设备发送的数据报文,记为第三数据报文,第三数据报文的格式与第一数据报文和第二数据报文相同,均包含子链路编号和全局编号,除此之外,若第三数据报文为第一确认响应,则第三数据报文中还包括确认号字段,在确认号字段中携带第一确认号,可选的,第一确认号与第一子链路编号相同。
第一确认响应还可以为GRE控制报文(记为第一GRE控制报文),第二网络设备在接收到第一网络设备发送的第一数据报文之后,通过向第一网络设备发送的GRE控制报文向第一网络设备通知已经接收到第一数据报文。
第一GRE控制报文包括确认报文属性Attribute字段,确认报文Attribute字段包括属性类型长度值(即TLV)字段,具体包括属性类型Attribute Type字段,属性长度Attribute Length字段以及确认号Acknowledgement Number字段,Attribute Type字段表示确认报文Attribute字段的类型为通知已接收到数据报文的类型,AcknowledgementNumber字段用于承载第一确认号。
可选的,在步骤304第一网络设备将第二数据报文通过第二隧道向第二网络设备发送之后,第二网络设备接收到第一网络设备通过第二隧道发送的第二数据报文,第二网络设备向第一网络设备返回第二确认响应。
第二确认响应用于表征第二网络设备接收到基于第二发送窗口发送的第二数据报文。
这里有一种特殊情况是,第二网络设备可能没有接收到第一网络设备发送的第二数据报文,或者第二网络设备解析错误等原因,第二网络设备未向第一网络设备返回第二确认响应。
第一网络设备根据第二确认响应的接收情况,来动态调整第二发送窗口的大小。
具体地,响应于接收到第二网络设备发送的第二确认响应,第一网络设备按照第三比例增加第二发送窗口的大小。
第一网络设备可能由于链路质量不好或者第二网络设备未返回第二确认响应等原因,在第二预定时间内未接收到第二确认响应。响应于在第二预定时间内未接收到第二网络设备发送的第二确认响应,第一网络设备按照第四比例减小第二发送窗口的大小,第四比例大于第三比例。
在一种可能的实施方式中,将第二预定时间设置为大于等于第二数据报文由第一网络设备传输到第二网络设备的时长与第二确认响应由第二网络设备传输到第一网络设备的时长之和。
第二网络设备在接收到第二数据报文后,获取接收到的第二数据报文中携带的第二子链路编号,在向第一网络设备返回的第二确认响应中携带第二确认号,第二确认号与第二子链路编号互为映射。
通过第二确认号,第一网络设备可以获知第二网络设备已接收到与第二确认号对应的第二子链路编号的第二数据报文。
第二确认响应可以为第二网络设备向第一网络设备发送的第四数据报文,第四数据报文的格式与第三数据报文、第一数据报文、第二数据报文相同,第四数据报文中包括确认号字段,在确认号字段中携带第二确认号。可选的,第二确认号与第二子链路编号相同。
第二确认响应还可以为与第一GRE控制报文格式相同的GRE控制报文(记为第三GRE控制报文),第二网络设备在接收到第一网络设备发送的第二数据报文之后,通过向第一网络设备发送的第三GRE控制报文向第一网络设备通知已经接收到第二数据报文。
第三GRE控制报文包括确认报文属性Attribute字段,确认报文Attribute字段属性类型长度值(即TLV)字段,具体包括属性类型Attribute Type字段,属性长度AttributeLength字段以及确认号Acknowledgement Number字段,Attribute Type字段表示确认报文Attribute字段的类型为通知已接收到数据报文的类型,Acknowledgement Number字段用于承载第二确认号。
关于发送窗口(包括第一发送窗口和第二发送窗口)和接收窗口(第二发送窗口和第二接收窗口)大小的设定,可以通过下述设计:
第二网络设备根据第一隧道的带宽来确定第一接收窗口的大小,根据第二隧道的带宽来确定第二接收窗口的大小。例如,按照接收窗口大小=带宽*增量值的方式确定,增量值(即delta值)由网络管理员来设定,一般设置为50ms。第二网络设备通过第一隧道向第一网络设备发送第一通知报文,第一通知报文用于通知第一接收窗口的大小M;第二网络设备通过第二隧道向第一网络设备发送第二通知报文,第二通知报文用于通知第二接收窗口的大小M’。
第一网络设备响应于接收到第一通知报文,将第一发送窗口的大小设置为L,L<M;第一网络设备响应于接收到第二通知报文,将第二发送窗口的大小设置为L’,L’<M’,L、L’、M、M’均大于0。一种具体的实施方式中,第一发送窗口的大小L为第一接收窗口M大小的一半;第二发送窗口的大小L’为第二接收窗口大小M’的一半,但本申请不限于此
第一通知报文为GRE控制报文(记为第二GRE控制报文),第二GRE控制报文包括窗口大小属性Window size Attribute字段,Window size Attribute字段属性类型长度值(即TLV)字段,具体包括Attribute Type字段,Attribute Length字段以及窗口大小WindowSize字段,Attribute Type字段表示Window size Attribute字段的类型为通知窗口大小的类型,Window Size字段用于承载第一接收窗口的大小。
第二通知报文的格式与第一通知报文的格式相同,记为第四GRE控制报文,在第四GRE控制报文的Window Size字段承载第二接收窗口的大小。
这里需要说明的是,第一GRE控制报文和第二GRE控制报文的格式相同,第一网络设备通过Attribute Type字段携带的内容来区分GRE控制报文是通知报文还是确认响应。
下面结合具体的应用场景对图3所示的混合接入网络中处理报文的方法做进一步详细说明。
假设第一网络设备为HG,第二网络设备为HAAP,第一隧道为DSL隧道,第二隧道为LTE隧道。
HAAP将LTE隧道的LTE接收窗口大小设定为8k byte,将DSL隧道的接DSL收窗口大小设定为6k byte。HAAP通过第一隧道向HG发送包含Window Size字段的GRE控制报文,HG根据Window Size字段获知DSL隧道的DSL接收窗口大小设定为6k byte;HAAP通过第二隧道向HG发送包含Window Size字段的GRE控制报文,HG根据Window Size字段获知LTE隧道的LTE接收窗口大小为8k byte。优选的,将发送窗口大小设置为接收窗口大小的一半。HG将DSL链路的DSL发送窗口大小设定为DSL接收窗口大小的一半,即3k byte;将LTE链路的LTE发送窗口大小设定为LTE接收窗口大小的一半,即4k byte。
HG产生数据流待发送时,按照数据流的大小和两个发送窗口的大小分配负载分担。如图4所示,假设数据流中每个数据报文的全局编号分别为4、5、6、7、8、9,每个数据报文的大小为1k byte。当前DSL发送窗口的大小为3k byte,当前LTE发送窗口的大小为4kbyte。由于DSL隧道的优先级高于LTE隧道,因此,将待发送的数据流中的数据报文先放置DSL发送窗口对应的DSL缓存,DSL发送窗口对应的DSL缓存满的情况下,将溢出流量放置于LTE发送窗口对应的LTE缓存。按照顺序将DSL发送窗口中的全局编号为4、5、6的数据报文通过DSL隧道发送,并在全局编号为4、5、6的数据报文中分别承载DSL子链路编号,依次为1、2、3。LTE发送窗口中的全局编号为7、8、9的数据报文通过LTE隧道发送,并在全局编号为7、8、9的数据报文中分别承载LTE子链路编号,依次为1、2、3。
具体可通过数据报文协议扩展实现子链路编号的携带。如图5所示,为HG与HAAP之间互通的数据报文的扩展字段,将原来数据报文中的序列号字段分成两部分,一部分为子链路编号,表征该数据报文在第一隧道或第二隧道上的序列号,一部分为全局编号,表征该数据报文在整个绑定隧道上的序列号。
两个发送窗口中的数据报文分别通过DSL隧道和LTE隧道发送。HAAP分别接收各自隧道传过来的数据报文。HAAP每接收到一个数据报文,向HG返回一个确认响应。该确认响应可以为HAAP向HG发送的数据报文,那么,通过扩展数据报文协议,HAAP在数据报文中携带确认号(Acknowledgement Number)字段,可选的,HAAP将收到的HG发送的数据报文中携带的子链路编号作为确认号。
由于HAAP和HG均既可以为发送设备又可以为接收设备,因此,如图5所示,32bit的序列号字段被分为两部分,双方发送的数据报文协议扩展后,每个数据报文中均包括全局编号、子链路编号和确认号。其中,预留字段在发送时各个位都置为0。
另外,该确认响应还可以为HAAP向HG发送的GRE控制报文,在GRE控制报文中携带确认号字段。具体地,通过将接收到的数据报文中的子链路编号作为确认号来构造确认号字段,回复给HG。
HG根据HAAP基于DSL隧道返回的确认响应,来动态调整DSL发送窗口的大小;根据HAAP基于LTE隧道返回的确认响应,来动态调整DSL发送窗口的大小。
HG接收到一个确认响应,按照确认响应中包括的确认号来确定是哪一个子链路编号的数据报文被接收到了,若确认接收,则将对应发送窗口按照一定比例增加,若未接收,则将对应发送窗口按照一定比例减少。
例如,HG向HAAP通过DSL发送窗口发送子链路编号为1的数据报文后,接收到HAAP通过DSL接收窗口返回的包含确认号为1的确认响应,则将DSL发送窗口大小增加1k byte,变为4k byte。同样,若HG接收到包含确认号为2的确认响应,也会将DSL发送窗口大小增加1k byte,变为5k byte。若通过DSL发送窗口发送子链路编号为1、2、3的数据报文均被HAAP接收到,HG接收到HAAP返回的携带确认号为1、2、3的确认响应,则HG将DSL的发送窗口大小增加为6k byte,这个大小与DSL接收窗口大小一致,为DSL发送窗口大小的上限。
相反,若HG向HAAP通过DSL发送窗口发送子链路编号为1的数据报文后,在设定时长内没有接收到HAAP通过DSL接收窗口返回的包含确认号为1的确认响应,则将DSL发送窗口大小减半,例如,DSL发送窗口大小为3k byte的情况下,减半取整,HG将DSL发送窗口大小减为1k byte,或2k byte。
这样,HG通过HAAP接收数据报文的情况,按照“慢增”、“快减”的方式来控制发送速率,可以根据实际网络状况合理分配DSL隧道和LTE隧道两条隧道的流量。通过GRE控制报文来通告窗口大小和确认号,实现网络带宽的实时监测和发送窗口的自动设定和调整。
基于与图3所示的混合接入网络中处理报文的方法同一发明构思,参阅图6所示,本申请实施例还提供了一种混合接入网络中的第一网络设备600,该第一网络设备可以用于执行图3所示的方法。第一网络设备包括:
第一存储单元601,用于存储第一发送窗口;
第二存储单元602,用于存储第二发送窗口;
发送单元603,用于通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备,第一数据报文中携带第一子链路编号,第一子链路编号用于表示第一数据报文在第一隧道中的序列号;
处理单元604,用于响应于接收到第二网络设备发送的第一确认响应,按照第一比例增加第一发送窗口的大小,第一确认号是根据所述第一子链路编号得到的,所述第一确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第一数据报文;
处理单元604,还用于响应于在第一预定时间内未接收到第二网络设备发送的第一确认响应,第一网络设备按照第二比例减小第一发送窗口的大小,第二比例大于第一比例;
接收单元605,用于接收第二数据报文,到达所述第二数据报文的目的地址的下一跳为所述第二网络设备。
处理单元604,还用于当确定所述第一发送窗口的大小大于等于第一阈值时,将所述第二数据报文存储至所述第二存储单元中,使得所述第二数据报文进入所述第二发送窗口。
发送单元603,还用于通过所述第二隧道向所述第二网络设备发送所述第二数据报文,所述第二发送窗口通过所述第二隧道与所述第二接收窗口通信。可选的,第一隧道的优先级高于第二隧道,所述处理单元604,还用于在所述发送单元603通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备之前,确定所述第一发送窗口的大小小于所述第一阈值,将所述第一数据报文存储至所述第一存储单元,以使所述第一数据报文进入所述第一发送窗口。
可选的,第一确认响应为第三数据报文,第三数据报文中包括确认号字段,确认号字段中携带第一确认号。
可选的,第一确认响应为第一GRE控制报文,第一GRE控制报文包括确认报文Attribute字段属性类型长度值(即TLV)字段。具体包括属性类型Attribute Type字段,属性长度Attribute Length字段以及确认号Acknowledgement Number字段。Attribute Type字段表示确认报文Attribute字段的类型为通知已接收到数据报文的类型,Acknowledgement Number字段用于承载第一确认号。
可选的,第二网络设备还包括第三存储单元,所述第三存储单元用于存储第一接收窗口。所述接收单元605,还用于在所述发送单元603通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备之前,接收所述第二网络设备发送的通知报文,所述通知报文用于通知所述第一接收窗口的大小,所述第一接收窗口的大小为M;
处理单元604,还用于响应于接收单元接收到通知报文,将第一发送窗口的大小设置为L,L<M,L和M均大于0。
可选的,通知报文为第二GRE控制报文,第二GRE控制报文包括窗口大小属性Window size Attribute字段,Window size Attribute字段包括Attribute Type字段,Attribute Length字段以及窗口大小Window Size字段,Attribute Type字段表示Windowsize Attribute字段的类型为通知窗口大小的类型,Window Size字段用于承载第一接收窗口的大小。
可选的,第二数据报文中携带第二子链路编号,第二子链路编号用于表示第二数据报文在第二隧道中的序列号;
基于与图3所示的混合接入网络中处理报文的方法同一发明构思,参阅图7所示,本申请实施例还提供了一种混合接入网络中的第二网络设备700,该第二网络设备可以用于执行图3所示的方法。所述第一混合接入网络包括第一网络设备和所述第二网络设备700。所述第一网络设备和第二网络设备700之间建立有第一隧道和第二隧道,所述第一隧道和所述第二隧道通过绑定连接形成虚拟绑定隧道。所述第一网络设备包括第一存储单元和第二存储单元。所述第一存储单元用于存储第一发送窗口,所述第二存储单元用于存储第二发送窗口。所述第一网络设备具体可以是所述第一网络设备600。所述第二网络设备700包括:
接收单元701,701用于接收所述第一网络设备通过所述第一隧道发送的所述第一发送窗口中的第一数据报文,以及,接收所述第一网络设备通过所述第二隧道发送的所述第二发送窗口中的第二数据报文;
第一数据报文中携带第一子链路编号和第一全局编号,第一子链路编号用于表示第一数据报文在第一隧道中的序列号,第一全局编号表示第一数据报文在虚拟绑定隧道中的序列号。第二数据报文中携带第二子链路编号和第二全局编号,第二子链路编号用于表示第二数据报文在第二隧道中的序列号,第二全局编号用于表示第二数据报文在虚拟绑定隧道中的序列号。
处理单元702,用于将第一数据报文和第二数据报文存储到排序缓存,根据第一全局编号和第二全局编号对第一数据报文和第二数据报文进行排序;
发送单元703,用于在所述处理单元702将所述第一数据报文存储到所述排序缓存后,向所述第一网络设备发送第一确认响应,以使得所述第一网络设备收到所述第一确认响应后,按照第一比例增加所述第一发送窗口的大小。所述第一确认响应中携带第一确认号,所述第一确认号是根据所述第一子链路编号得到的。所述第一确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第一数据报文。
发送单元703,还用于在所述处理单元702将所述第二数据报文存储至所述排序缓存后,向所述第一网络设备发送第二确认响应,以使得所述第一网络设备在收到所述第二确认响应后,按照第三比例增加所述第二发送窗口的大小。所述第二确认响应中携带第二确认号,所述第二确认号是根据所述第二子链路编号得到的。所述第二确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第二数据报文。
可选的,第一确认响应为第三数据报文,第三数据报文中包括确认号字段,确认号字段中携带第一确认号。
可选的,第一确认响应为第一GRE控制报文,第一GRE控制报文包括确认报文属性Attribute字段。确认报文Attribute字段包括属性类型Attribute Type字段,属性长度Attribute Length字段以及确认号Acknowledgement Number字段。Attribute Type字段表示确认报文Attribute字段的类型为通知已接收到数据报文的类型。AcknowledgementNumber字段用于承载第一确认号。
可选的,发送单元703还用于:
在接收单元701接收第一网络设备通过第一隧道发送的第一发送窗口中的第一数据报文之前,向第一网络设备发送第一通知报文。第一通知报文用于通知第一接收窗口的大小,第一接收窗口的大小用于第一网络设备设置第一发送窗口的大小。在接收单元701接收第一网络设备通过第二隧道发送的第二发送窗口中的第二数据报文之前,向第一网络设备发送第二通知报文。第二通知报文用于通知第二接收窗口的大小,第二接收窗口的大小用于第二网络设备设置第一发送窗口的大小,
可选的,第一通知报文为第二GRE控制报文,第二通知报文为第四GRE控制报文,第二GRE控制报文包括窗口大小属性Window size Attribute TLV字段和第四GRE控制报文包括窗口大小属性Window size Attribute TLV字段,第二GRE控制报文中的Window sizeAttribute TLV字段用于承载第一接收窗口的大小;第四GRE控制报文中的Window sizeAttribute TLV字段用于承载第二接收窗口的大小。
所述第一存储单元,第二存储单元,第三存储单元可以是缓存。
基于与图3所示的混合接入网络中处理报文的方法同一发明构思,参阅图8所示,本申请实施例还提供了一种混合接入网络中的第一网络设备800,该第一网络设备800可用于执行图3所示的方法。其中,第一网络设备800包括收发器801、处理器802、存储器803和总线804,处理器802以及存储器803之间通过总线804系统相连,处理器802用于执行存储器803中的代码,当代码被执行时,该执行使得处理器执行以下操作:
通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备,所述第一数据报文中携带第一子链路编号,所述第一子链路编号用于表示所述第一数据报文在所述第一隧道中的序列号;
响应于接收到所述第二网络设备发送的第一确认响应,按照第一比例增加所述第一发送窗口的大小,所述第一确认响应中携带第一确认号,所述第一确认号是根据所述第一子链路编号得到的,所述第一确认号用于表征所述第二网络设备已经收到所述第一数据报文;
响应于在第一预定时间内未接收到所述第二网络设备发送的所述第一确认响应,按照第二比例减小所述第一发送窗口的大小,所述第二比例大于所述第一比例;
接收第二数据报文,到达所述第二数据报文的目的地址的下一跳为所述第二网络设备;
当确定所述第一发送窗口的大小大于等于第一阈值时,将所述第二数据报文存储至所述第二缓存,所述第二数据报文进入所述第二发送窗口,所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述第二数据报文。
可选的,第一隧道的优先级高于第二隧道,处理器802还用于:
通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备之前,确定所述第一发送窗口的大小小于所述第一阈值,所述第一网络设备将所述第一数据报文存储至所述第一缓存,所述第一数据报文进入所述第一发送窗口。
可选的,处理器802还用于,通过收发器801将第一发送窗口中的第一数据报文发送到第二网络设备之前,通过收发器801接收第二网络设备发送的通知报文。该通知报文用于通知第一接收窗口的大小,第一接收窗口的大小为M;响应于收发器801接收到通知报文,将第一发送窗口的大小设置为L,L<M,L和M均大于0。
处理器802还用于在收发器801通过第二隧道向第二网络设备的发送第二数据报文之后,响应于接收到第二网络设备发送的第二确认响应,按照第三比例增加第二发送窗口的大小。第二确认响应中携带第二确认号,第二确认号与第二子链路编号互为映射,第二确认响应用于通知第一网络设备第二网络设备已经收到第二数据报文。以及响应于在第二预定时间内未接收到第二网络设备发送的第二确认响应,按照第四比例减小第二发送窗口的大小,第四比例大于第三比例。
处理器802可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
处理器802还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
存储器803可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器803也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器803还可以包括上述种类的存储器的组合。
基于与图3所示的混合接入网络中处理报文的方法同一发明构思,参阅图9所示,本申请实施例还提供了一种混合接入网络中的第二网络设备900,该第二网络设备900可用于执行图3所示的方法。其中,第二网络设备900包括收发器901、处理器902,存储器903和总线904,处理器902以及存储器903之间通过总线904相连,处理器902用于执行存储器中903的代码,当代码被执行时,该执行使得处理器执行以下操作:
接收所述第一网络设备通过所述第一隧道发送的所述第一发送窗口中的第一数据报文,所述第一数据报文中携带第一子链路编号和第一全局编号,所述第一子链路编号用于表示所述第一数据报文在所述第一隧道中的序列号,所述第一全局编号表示所述第一数据报文在所述虚拟绑定隧道中的序列号;所述第二网络设备接收所述第一网络设备通过所述第二隧道发送的所述第二发送窗口中的第二数据报文,所述第二数据报文中携带第二子链路编号和第二全局编号,所述第二子链路编号用于表示所述第二数据报文在所述第二隧道中的序列号,所述第二全局编号用于表示所述第二数据报文在所述虚拟绑定隧道中的序列号;所述第二网络设备将所述第一数据报文和所述第二数据报文存储到所述排序缓存,根据所述第一全局编号和所述第二全局编号对所述第一数据报文和所述第二数据报文进行排序;
响应于所述第二网络设备将所述第一数据报文存储至所述排序缓存后,所述第二网络设备向所述第一网络设备发送第一确认响应,以使得所述第一网络设备收到所述第一确认响应后,按照第一比例增加所述第一发送窗口的大小,所述第一确认响应中携带第一确认号,所述第一确认号是根据所述第一子链路编号得到的,所述第一确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第一数据报文;
响应于所述第二网络设备将所述第二数据报文存储至所述排序缓存后,所述第二网络设备向所述第一网络设备发送所述第二确认响应,以使得所述第一网络设备在收到所述第二确认响应后,按照第三比例增加所述第二发送窗口的大小,所述第二确认响应中携带第二确认号,所述第二确认号是根据所述第二子链路编号得到的,所述第二确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第二数据报文。
可选的,第一确认响应为第三数据报文,第三数据报文中包括确认号字段,确认号字段中携带第一确认号。
可选的,第一确认响应为第一GRE控制报文,第一GRE控制报文包括确认报文属性Attribute字段,确认报文Attribute字段包括属性类型Attribute Type字段,属性长度Attribute Length字段以及确认号Acknowledgement Number字段,Attribute Type字段表示确认报文Attribute字段的类型为通知已接收到数据报文的类型,AcknowledgementNumber字段用于承载第一确认号。
可选的,处理器902还用于:
在通过第一隧道接收第一网络设备发送的第一发送窗口中的第一数据报文之前,向第一网络设备发送第一通知报文,第一通知报文用于通知第一接收窗口的大小,第一接收窗口的大小用于第一网络设备设置第一发送窗口的大小。通过第二隧道接收第一网络设备发送的第二发送窗口中的第二数据报文之前,向第一网络设备发送第二通知报文,第二通知报文用于通知第二接收窗口的大小,第二接收窗口的大小用于第一网络设备设置第二发送窗口的大小。
可选的,第一通知报文为第二GRE控制报文,第二通知报文为第四GRE控制报文,第二GRE控制报文包括窗口大小属性Window size Attribute TLV字段和第四GRE控制报文包括窗口大小属性Window size Attribute TLV字段,第二GRE控制报文中的Window sizeAttribute TLV字段用于承载第一接收窗口的大小;第四GRE控制报文中的Window sizeAttribute TLV字段用于承载第二接收窗口的大小。
处理器902可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
处理器902还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
存储器903可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器903也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器903还可以包括上述种类的存储器的组合。
需要说明的是,图6-7提供的装置,可用于实现图3所示的方法。一个具体的实现方式中,图6中的处理单元604可以用图8中的处理器802实现,发送单元603、接收单元605均可以由图8中的收发器801实现。图7中的处理单元702可以用图9中的处理器902实现,接收单元701和发送单元703均可以由图9中收发器901的实现。
本申请还提供了一种通信系统,包括第一网络设备和第二网络设备,第一网络设备可以是图6、图8对应的实施例所提供的设备。第二网络设备可以是图7、图9对应的实施例所提供的设备。所述通信系统用于执行图3对应的实施例的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种混合接入网络中处理报文的方法,其特征在于,所述混合接入网络包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间建立有第一隧道和第二隧道,所述第一网络设备包括第一缓存和第二缓存,所述第一缓存用于存储第一发送窗口,所述第二缓存用于存储第二发送窗口,所述方法包括:
所述第一网络设备通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备,所述第一数据报文中携带第一子链路编号,所述第一子链路编号用于表示所述第一数据报文在所述第一隧道中的序列号;
响应于接收到所述第二网络设备发送的第一确认响应,所述第一网络设备按照第一比例增加所述第一发送窗口的大小,所述第一确认响应中携带第一确认号,所述第一确认号是根据所述第一子链路编号得到的,所述第一确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第一数据报文;
响应于在第一预定时间内未接收到所述第二网络设备发送的所述第一确认响应,所述第一网络设备按照第二比例减小所述第一发送窗口的大小,所述第二比例大于所述第一比例;
所述第一网络设备接收第二数据报文,到达所述第二数据报文的目的地址的下一跳为所述第二网络设备;
响应于确定所述第一发送窗口的大小大于等于第一阈值,所述第一网络设备将所述第二数据报文存储至所述第二缓存,所述第二数据报文进入所述第二发送窗口,所述第一网络设备通过所述第二隧道向所述第二网络设备发送所述第二数据报文。
2.如权利要求1所述的方法,其特征在于,所述第一隧道的优先级高于所述第二隧道,其中,
所述第一网络设备通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备之前,所述方法还包括:
所述第一网络设备确定所述第一发送窗口的大小小于所述第一阈值,所述第一网络设备将所述第一数据报文存储至所述第一缓存,所述第一数据报文进入所述第一发送窗口。
3.如权利要求1或2所述的方法,其特征在于:所述第一确认响应为第三数据报文,所述第三数据报文中包括确认号字段,所述确认号字段中携带所述第一确认号;或者,
所述第一确认响应为第一GRE控制报文,所述第一GRE控制报文包括确认报文属性类型长度值Attribute TLV字段,所述确认报文Attribute TLV字段用于承载所述第一确认号。
4.如权利要求1~3任一项所述的方法,其特征在于,所述第二网络设备包括第三缓存,所述第三缓存用于存储第一接收窗口,所述第一网络设备通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备之前,所述方法还包括:
所述第一网络设备接收所述第二网络设备发送的通知报文,所述通知报文用于通知所述第一接收窗口的大小,所述第一接收窗口的大小为M;
响应于接收到所述通知报文,所述第一网络设备将所述第一发送窗口的大小设置为L,L<M,L和M均大于0。
5.如权利要求4所述的方法,其特征在于,所述通知报文为第二GRE控制报文,所述第二GRE控制报文包括窗口大小属性Window size Attribute TLV字段,所述Window sizeAttribute TLV字段用于承载所述第一接收窗口的大小。
6.一种混合接入网络中处理报文的方法,其特征在于,所述混合接入网络包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间建立有第一隧道和第二隧道,所述第一隧道和所述第二隧道通过绑定连接形成虚拟绑定隧道,所述第一网络设备包括第一缓存和第二缓存,所述第一缓存用于存储第一发送窗口,所述第二缓存用于存储第二发送窗口,所述第二网络设备中包括排序缓存,所述方法包括:
所述第二网络设备接收所述第一网络设备通过所述第一隧道发送的所述第一发送窗口中的第一数据报文,所述第一数据报文中携带第一子链路编号和第一全局编号,所述第一子链路编号用于表示所述第一数据报文在所述第一隧道中的序列号,所述第一全局编号表示所述第一数据报文在所述虚拟绑定隧道中的序列号;所述第二网络设备接收所述第一网络设备通过所述第二隧道发送的所述第二发送窗口中的第二数据报文,所述第二数据报文中携带第二子链路编号和第二全局编号,所述第二子链路编号用于表示所述第二数据报文在所述第二隧道中的序列号,所述第二全局编号用于表示所述第二数据报文在所述虚拟绑定隧道中的序列号;所述第二网络设备将所述第一数据报文和所述第二数据报文存储到所述排序缓存,根据所述第一全局编号和所述第二全局编号对所述第一数据报文和所述第二数据报文进行排序;
响应于第二网络设备将所述第一数据报文存储到所述排序缓存,所述第二网络设备向所述第一网络设备发送第一确认响应,以使得所述第一网络设备收到所述第一确认响应后,按照第一比例增加所述第一发送窗口的大小,所述第一确认响应中携带第一确认号,所述第一确认号是根据所述第一子链路编号得到的,所述第一确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第一数据报文;
响应于第二网络设备将所述第一数据报文存储到所述排序缓存,所述第二网络设备向所述第一网络设备发送所述第二确认响应,以使得所述第一网络设备在收到所述第二确认响应后,按照第三比例增加所述第二发送窗口的大小,所述第二确认响应中携带第二确认号,所述第二确认号是根据所述第二子链路编号得到的,所述第二确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第二数据报文。
7.一种混合接入网络中的第一网络设备,其特征在于,所述混合接入网络包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间建立有第一隧道和第二隧道,所述第一网络设备包括:第一存储单元,用于存储第一发送窗口;
第二存储单元,用于存储第二发送窗口;
发送单元,用于通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备,所述第一数据报文中携带第一子链路编号,所述第一子链路编号用于表示所述第一数据报文在所述第一隧道中的序列号;
处理单元,用于响应于接收到所述第二网络设备发送的第一确认响应,按照第一比例增加所述第一发送窗口的大小,所述第一确认响应携带第一确认号,所述第一确认号是根据所述第一子链路编号得到的,所述第一确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第一数据报文;
所述处理单元,还用于响应于在第一预定时间内未接收到所述第二网络设备发送的所述第一确认响应,按照第二比例减小所述第一发送窗口的大小,所述第二比例大于所述第一比例;
接收单元,用于接收第二数据报文,到达所述第二数据报文的目的地址的下一跳为所述第二网络设备;
所述处理单元,还用于响应于确定所述第一发送窗口的大小大于等于第一阈值,将所述第二数据报文存储至所述第二存储单元中,使得所述第二数据报文进入所述第二发送窗口;
所述发送单元,还用于通过所述第二隧道向所述第二网络设备发送所述第二数据报文。
8.如权利要求7所述的第一网络设备,其特征在于,所述第一隧道的优先级高于所述第二隧道,
所述处理单元,还用于在所述发送单元通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备之前,确定所述第一发送窗口的大小小于所述第一阈值,将所述第一数据报文存储至所述第一存储单元,以使所述第一数据报文进入所述第一发送窗口。
9.如权利要求7或8所述的第一网络设备,其特征在于,所述第一确认响应为第三数据报文,所述第三数据报文中包括确认号字段,所述确认号字段中携带所述第一确认号;或者,
所述第一确认响应为第一GRE控制报文,所述第一GRE控制报文包括确认报文属性类型长度值Attribute TLV字段,所述确认报文Attribute TLV字段用于承载所述第一确认号。
10.如权利要求7~9任一项所述的第一网络设备,其特征在于,所述第二网络设备包括第三存储单元,所述第三存储单元用于存储第一接收窗口,所述接收单元,还用于在所述发送单元通过所述第一隧道将所述第一发送窗口中的第一数据报文发送给所述第二网络设备之前,接收所述第二网络设备发送的通知报文,所述通知报文用于通知所述第一接收窗口的大小,所述第一接收窗口的大小为M;
所述处理单元,还用于响应于所述接收单元接收到所述通知报文,将所述第一发送窗口的大小设置为L,L<M,L和M均大于0。
11.如权利要求10所述的第一网络设备,其特征在于,所述通知报文为第二GRE控制报文,所述第二GRE控制报文包括窗口大小属性Window size Attribute TLV字段,所述Window size Attribute TLV字段用于承载所述第一接收窗口的大小。
12.一种混合接入网络中的第二网络设备,其特征在于,所述混合接入网络包括第一网络设备和第二网络设备,所述第一网络设备和第二网络设备之间建立有第一隧道和第二隧道,所述第一隧道和所述第二隧道通过绑定连接形成虚拟绑定隧道,所述第一网络设备包括第一存储单元和第二存储单元,所述第一存储单元用于存储第一发送窗口,所述第二存储单元用于存储第二发送窗口,所述第二网络设备包括:接收单元,用于接收所述第一网络设备通过所述第一隧道发送的所述第一发送窗口中的第一数据报文,所述第一数据报文中携带第一子链路编号和第一全局编号,所述第一子链路编号用于表示所述第一数据报文在所述第一隧道中的序列号,所述第一全局编号表示所述第一数据报文在所述虚拟绑定隧道中的序列号;
所述接收单元,还用于接收所述第一网络设备通过所述第二隧道发送的所述第二发送窗口中的第二数据报文,所述第二数据报文中携带第二子链路编号和第二全局编号,所述第二子链路编号用于表示所述第二数据报文在所述第二隧道中的序列号,所述第二全局编号用于表示所述第二数据报文在所述虚拟绑定隧道中的序列号;
处理单元,用于将所述第一数据报文和所述第二数据报文存储到排序缓存,根据所述第一全局编号和所述第二全局编号对所述第一数据报文和所述第二数据报文进行排序;
发送单元,用于在所述处理单元将所述第一数据报文存储到所述排序缓存,向所述第一网络设备发送第一确认响应,以使得所述第一网络设备收到所述第一确认响应后,按照第一比例增加所述第一发送窗口的大小,所述第一确认响应中携带第一确认号,所述第一确认号是根据所述第一子链路编号得到的,所述第一确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第一数据报文;
所述发送单元还用于在所述处理单元将所述第二数据报文存储到所述排序缓存,向所述第一网络设备发送第二确认响应,以使得所述第一网络设备在收到所述第二确认响应后,按照第三比例增加所述第二发送窗口的大小,所述第二确认响应中携带第二确认号,所述第二确认号是根据所述第二子链路编号得到的,所述第二确认号用于指示所述第一网络设备所述第二网络设备已经收到所述第二数据报文。
13.一种通信系统,包括权利要求7~11任一项所述的第一网络设备以及如权利要求12所述的第二网络设备。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610977391.1A CN108023758B (zh) | 2016-11-04 | 2016-11-04 | 一种混合接入网络中处理报文的方法及网络设备 |
CN202010410253.1A CN111769968A (zh) | 2016-11-04 | 2016-11-04 | 一种混合接入网络中处理报文的方法及网络设备 |
EP21160792.4A EP3896909B1 (en) | 2016-11-04 | 2017-08-28 | Packet processing method and network device in hybrid access network |
PCT/CN2017/099335 WO2018082382A1 (zh) | 2016-11-04 | 2017-08-28 | 一种混合接入网络中处理报文的方法及网络设备 |
EP17868190.4A EP3531620B1 (en) | 2016-11-04 | 2017-08-28 | Method for processing message in hybrid access network, and network device |
US16/403,237 US10778469B2 (en) | 2016-11-04 | 2019-05-03 | Packet processing method and network device in hybrid access network |
US17/009,587 US11570021B2 (en) | 2016-11-04 | 2020-09-01 | Packet processing method and network device in hybrid access network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610977391.1A CN108023758B (zh) | 2016-11-04 | 2016-11-04 | 一种混合接入网络中处理报文的方法及网络设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010410253.1A Division CN111769968A (zh) | 2016-11-04 | 2016-11-04 | 一种混合接入网络中处理报文的方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108023758A true CN108023758A (zh) | 2018-05-11 |
CN108023758B CN108023758B (zh) | 2020-06-02 |
Family
ID=62076640
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610977391.1A Active CN108023758B (zh) | 2016-11-04 | 2016-11-04 | 一种混合接入网络中处理报文的方法及网络设备 |
CN202010410253.1A Pending CN111769968A (zh) | 2016-11-04 | 2016-11-04 | 一种混合接入网络中处理报文的方法及网络设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010410253.1A Pending CN111769968A (zh) | 2016-11-04 | 2016-11-04 | 一种混合接入网络中处理报文的方法及网络设备 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10778469B2 (zh) |
EP (2) | EP3531620B1 (zh) |
CN (2) | CN108023758B (zh) |
WO (1) | WO2018082382A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712348A (zh) * | 2018-05-18 | 2018-10-26 | 王逸人 | 流量控制方法、系统、设备及计算机可读存储介质 |
CN110505163A (zh) * | 2018-05-18 | 2019-11-26 | 华为技术有限公司 | 传输报文的方法和装置 |
WO2020078448A1 (zh) * | 2018-10-19 | 2020-04-23 | 华为技术有限公司 | 一种报文处理方法和装置 |
WO2020155076A1 (zh) * | 2019-02-01 | 2020-08-06 | Oppo广东移动通信有限公司 | 业务处理方法、设备、芯片及计算机程序 |
CN111865741A (zh) * | 2019-04-24 | 2020-10-30 | 瑞昱半导体股份有限公司 | 数据传输方法及数据传输系统 |
CN114979172A (zh) * | 2021-02-23 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备以及存储介质 |
WO2022242305A1 (zh) * | 2021-05-18 | 2022-11-24 | 成都欧珀通信科技有限公司 | 消息传输方法、系统及相关装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3629505A1 (en) * | 2018-09-25 | 2020-04-01 | Panasonic Intellectual Property Corporation of America | User equipment and base station involved in transmission of data |
US11228962B2 (en) * | 2019-09-10 | 2022-01-18 | The Boeing Company | Asymmetric neighbor cache entries for route enhancement in multilink communications |
CN114008952A (zh) * | 2019-09-23 | 2022-02-01 | Oppo广东移动通信有限公司 | 一种窗口调整方法及装置、网络设备、终端设备 |
CN112787919B (zh) * | 2020-06-03 | 2022-07-15 | 中兴通讯股份有限公司 | 报文传输方法及设备、可读介质 |
US11245608B1 (en) | 2020-09-11 | 2022-02-08 | Juniper Networks, Inc. | Tunnel processing distribution based on traffic type and learned traffic processing metrics |
US11936566B2 (en) * | 2020-12-18 | 2024-03-19 | Dish Wireless L.L.C. | Intelligent router bonding 5G telephony and digital subscriber line services |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7146428B2 (en) * | 2001-12-12 | 2006-12-05 | At&T Corp. | Secure in-band signaling method for mobility management crossing firewalls |
CN103490972A (zh) * | 2013-09-27 | 2014-01-01 | 迈普通信技术股份有限公司 | 多链路隧道报文传输方法及系统 |
CN105657748A (zh) * | 2016-03-16 | 2016-06-08 | 华为技术有限公司 | 基于隧道绑定的通信方法和网络设备 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035214B1 (en) * | 1999-09-28 | 2006-04-25 | Nortel Networks Limited | System and method for a negative acknowledgement-based transmission control protocol |
EP1383281A1 (en) * | 2002-07-19 | 2004-01-21 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Method for calculating a transmission window size |
ATE511258T1 (de) * | 2005-09-30 | 2011-06-15 | Research In Motion Ltd | Verfahren und vorrichtungen zum dynamischen justieren einer datenpaket-fenstergrösse für die datenpaketübertragung in einem drahtlosen kommunikationsnetz |
US7787372B2 (en) * | 2005-12-12 | 2010-08-31 | Viasat, Inc. | Transmission control protocol with performance enhancing proxy for degraded communication channels |
FR2919778A1 (fr) * | 2007-07-30 | 2009-02-06 | Canon Kk | Procede de transmission de paquets de donnees dans un tunnel, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants |
FR2929789B1 (fr) * | 2008-04-08 | 2010-04-30 | Canon Kk | Procede de gestion de mecanismes d'amelioration de transmission de flux de donnees sur un tunnel, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants |
US8340099B2 (en) * | 2009-07-15 | 2012-12-25 | Microsoft Corporation | Control of background data transfers |
US8576711B1 (en) * | 2010-09-28 | 2013-11-05 | Google Inc. | System and method for reducing latency via client side dynamic acknowledgements |
US9049692B2 (en) * | 2012-04-13 | 2015-06-02 | Itron, Inc. | Hybrid access protocol for network nodes |
US20140223072A1 (en) * | 2013-02-07 | 2014-08-07 | Lsi Corporation | Tiered Caching Using Single Level Cell and Multi-Level Cell Flash Technology |
EP3697100A1 (en) * | 2013-06-05 | 2020-08-19 | Sun Patent Trust | Data decoding method, data decoding apparatus, and data transmitting method |
JP6164056B2 (ja) * | 2013-11-12 | 2017-07-19 | 富士通株式会社 | 通信システム、送信装置、中継装置及び通信方法 |
CN105207858B (zh) * | 2014-06-16 | 2017-04-12 | 华为技术有限公司 | 接入装置及其执行的将用户设备接入网络的方法 |
US9538264B2 (en) * | 2014-08-07 | 2017-01-03 | Ciena Corporation | ODUflex resizing systems and methods |
CN105376173B (zh) * | 2014-09-02 | 2020-04-28 | 中兴通讯股份有限公司 | 一种发送窗口流量控制方法和终端 |
KR102298991B1 (ko) * | 2015-05-22 | 2021-09-07 | 삼성전자 주식회사 | 무선 통신 시스템에서 버퍼 관리 방법 및 장치 |
US20170126845A1 (en) * | 2015-10-29 | 2017-05-04 | VTX Holdings (Singapore) Pte. Ltd. | Network communication system |
US10425339B2 (en) * | 2016-10-24 | 2019-09-24 | Cisco Technology, Inc. | Multi-homed load-balanced rate-based tunnels |
-
2016
- 2016-11-04 CN CN201610977391.1A patent/CN108023758B/zh active Active
- 2016-11-04 CN CN202010410253.1A patent/CN111769968A/zh active Pending
-
2017
- 2017-08-28 EP EP17868190.4A patent/EP3531620B1/en active Active
- 2017-08-28 WO PCT/CN2017/099335 patent/WO2018082382A1/zh unknown
- 2017-08-28 EP EP21160792.4A patent/EP3896909B1/en active Active
-
2019
- 2019-05-03 US US16/403,237 patent/US10778469B2/en not_active Expired - Fee Related
-
2020
- 2020-09-01 US US17/009,587 patent/US11570021B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7146428B2 (en) * | 2001-12-12 | 2006-12-05 | At&T Corp. | Secure in-band signaling method for mobility management crossing firewalls |
CN103490972A (zh) * | 2013-09-27 | 2014-01-01 | 迈普通信技术股份有限公司 | 多链路隧道报文传输方法及系统 |
CN105657748A (zh) * | 2016-03-16 | 2016-06-08 | 华为技术有限公司 | 基于隧道绑定的通信方法和网络设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712348A (zh) * | 2018-05-18 | 2018-10-26 | 王逸人 | 流量控制方法、系统、设备及计算机可读存储介质 |
CN110505163A (zh) * | 2018-05-18 | 2019-11-26 | 华为技术有限公司 | 传输报文的方法和装置 |
WO2020078448A1 (zh) * | 2018-10-19 | 2020-04-23 | 华为技术有限公司 | 一种报文处理方法和装置 |
CN111082898A (zh) * | 2018-10-19 | 2020-04-28 | 华为技术有限公司 | 一种报文处理方法和装置 |
CN111082898B (zh) * | 2018-10-19 | 2022-08-26 | 华为技术有限公司 | 一种报文处理方法和装置 |
US11888960B2 (en) | 2018-10-19 | 2024-01-30 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
WO2020155076A1 (zh) * | 2019-02-01 | 2020-08-06 | Oppo广东移动通信有限公司 | 业务处理方法、设备、芯片及计算机程序 |
US12015559B2 (en) | 2019-02-01 | 2024-06-18 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Service processing method, device, chip, and computer program |
CN111865741A (zh) * | 2019-04-24 | 2020-10-30 | 瑞昱半导体股份有限公司 | 数据传输方法及数据传输系统 |
CN114979172A (zh) * | 2021-02-23 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备以及存储介质 |
WO2022242305A1 (zh) * | 2021-05-18 | 2022-11-24 | 成都欧珀通信科技有限公司 | 消息传输方法、系统及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
US20200403827A1 (en) | 2020-12-24 |
EP3531620A4 (en) | 2019-11-13 |
CN111769968A (zh) | 2020-10-13 |
CN108023758B (zh) | 2020-06-02 |
EP3531620B1 (en) | 2021-04-07 |
US11570021B2 (en) | 2023-01-31 |
WO2018082382A1 (zh) | 2018-05-11 |
US20190260609A1 (en) | 2019-08-22 |
EP3896909A1 (en) | 2021-10-20 |
EP3896909B1 (en) | 2023-07-26 |
EP3531620A1 (en) | 2019-08-28 |
US10778469B2 (en) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108023758B (zh) | 一种混合接入网络中处理报文的方法及网络设备 | |
CN105657748B (zh) | 基于隧道绑定的通信方法和网络设备 | |
EP3637846A1 (en) | Method and device for use in configuring novel quality of service architecture in dual connectivity system | |
CN114189901B (zh) | 一种数据接收状态报告方法及装置 | |
WO2019179157A1 (zh) | 一种数据流量处理方法及相关网络设备 | |
TWI396398B (zh) | 管理傳輸時間間隔集束傳輸之方法及通訊裝置 | |
CN104159306B (zh) | 一种控制空口资源的方法、设备及系统 | |
JP6617838B2 (ja) | 伝送損失率を低減するための方法および装置 | |
CN111953611B (zh) | 混合接入网络中的流量分发方法和装置 | |
KR102267116B1 (ko) | 패킷 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체 | |
CN107959555B (zh) | 一种基于lwaap的数据传输方法、装置及存储介质 | |
WO2018027674A1 (zh) | 传输状态报告装置、方法以及通信系统 | |
US20210282045A1 (en) | Data distribution method and device, and storage medium and system | |
WO2016161594A1 (zh) | 一种数据传输的方法及装置 | |
KR102120945B1 (ko) | 멀티캐스트 그룹에 속하는 멤버 노드들 간의 협력에 기반하여 데이터를 전송하는 기지국, 멤버 노드 및 그 방법들 | |
CN113938431B (zh) | 突发数据包传输方法、装置和电子设备 | |
CN111585938B (zh) | 一种通信方法及相关装置 | |
US10999210B2 (en) | Load sharing method and network device | |
CN111641565A (zh) | 一种以太网报文的传输方法、装置及系统 | |
WO2022155924A1 (zh) | 无线通信方法、终端设备和网络设备 | |
CN107612829B (zh) | 一种数据报文的路径信息获取方法及设备 | |
CN106470416B (zh) | 一种数据传输状态的报告、确定传输数据量的方法及装置 | |
CN111615170B (zh) | 一种数据传输方法及系统 | |
CN107222299A (zh) | 一种数据传输方法、系统和电子设备 | |
CN113170493B (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 |