CN108023758B - Method and network equipment for processing message in hybrid access network - Google Patents

Method and network equipment for processing message in hybrid access network Download PDF

Info

Publication number
CN108023758B
CN108023758B CN201610977391.1A CN201610977391A CN108023758B CN 108023758 B CN108023758 B CN 108023758B CN 201610977391 A CN201610977391 A CN 201610977391A CN 108023758 B CN108023758 B CN 108023758B
Authority
CN
China
Prior art keywords
network device
acknowledgement
tunnel
data packet
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.)
Active
Application number
CN201610977391.1A
Other languages
Chinese (zh)
Other versions
CN108023758A (en
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
Priority to CN201610977391.1A priority Critical patent/CN108023758B/en
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010410253.1A priority patent/CN111769968A/en
Priority to PCT/CN2017/099335 priority patent/WO2018082382A1/en
Priority to EP17868190.4A priority patent/EP3531620B1/en
Priority to EP21160792.4A priority patent/EP3896909B1/en
Publication of CN108023758A publication Critical patent/CN108023758A/en
Priority to US16/403,237 priority patent/US10778469B2/en
Application granted granted Critical
Publication of CN108023758B publication Critical patent/CN108023758B/en
Priority to US17/009,587 priority patent/US11570021B2/en
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
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/187Details of sliding window management
    • 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
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6421Medium of transmission, e.g. fibre, cable, radio, satellite
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6424Access arrangements
    • H04L2012/6427Subscriber Access Module; Concentrator; Group equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6464Priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6489Buffer Management, Threshold setting, Scheduling, Shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6497Feedback to the source
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

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

Abstract

A method and network equipment for processing messages in a hybrid access network are used for realizing real-time monitoring and flow balance of network bandwidth, relieving main link congestion caused by network emergency and improving the network bandwidth. The method comprises the following steps: the first network device sends a first data message in a first sending window to a second network device through the first tunnel, responds to receiving a first acknowledgement response sent by the second network device, increases the size of the first sending window according to a first proportion, responds to not receiving the first acknowledgement response in a first preset time, decreases the size of the first sending window according to a second proportion, responds to determining that the size of the first sending window is larger than or equal to a first threshold value, sends a second data message to a second receiving window of the second network device through a second sending window, and obtains a first acknowledgement number carried in the first acknowledgement response according to a first sublink number in the first data message.

Description

Method and network equipment for processing message in hybrid access network
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method and a network device for processing a packet in a hybrid access network.
Background
A Hybrid Access (HA) network refers to a network that bundles different Access network connections for the same user. The hybrid access network enables users to experience high-speed network usage. For example, the two different access networks are Digital Subscriber Line (DSL) and Long Term Evolution (LTE). Currently, one possible way to implement HA is: the application of the hybrid access network is realized between the operator side network device and the user side network device through Generic Routing Encapsulation (GRE) tunnel binding. The network device at the operator side can be a Hybrid Access Aggregation Point (HAAP) and is used for binding and connecting different Access networks and providing high-speed internet Access for users; the user-side network device may be a Home Gateway (HG) capable of allowing simultaneous access to two different access networks, e.g., may allow simultaneous access to a fixed broadband network and a mobile network.
In the prior art, in a hybrid access network, load sharing is realized based on a token bucket. Taking DSL and LTE access networks as examples, two links between the HAAP and the HA are respectively regarded as two tunnels, namely a DSL tunnel and an LTE tunnel. The sending end uses a dyeing mechanism to determine the dyeing of the message according to the bandwidth of the DSL tunnel and the LTE tunnel, and determines whether the message is sent along the DSL tunnel or the LTE tunnel according to the dyeing.
As shown in fig. 1, the sending end maintains two token buckets, a DSL token bucket (shown with left slash in fig. 1) and an LTE token bucket (shown with right slash in fig. 1). The size of the two token buckets is determined according to the DSL and LTE tunnel bandwidths. Messages entering the DSL token bucket are marked green (shown with left slash in fig. 1), messages exceeding the DSL token bucket reception capability enter the LTE token bucket, and data messages entering the LTE token bucket are marked yellow (shown with right slash in fig. 1). Finally, the green messages are sent along the DSL tunnel and the yellow messages are sent along the LTE tunnel.
Assuming that the bandwidths of the DSL tunnel and the LTE tunnel are fixed, the above token bucket-based load sharing mechanism cannot adjust the division ratio of the load according to the dynamic changes of the bandwidths of the DSL tunnel and the LTE tunnel. Under the condition that the DSL tunnel is congested, load is still injected into the DSL tunnel according to the fixed bandwidth of the DSL tunnel, and the LTE tunnel cannot be reasonably used by a user even if the LTE tunnel is idle, so that transmission errors such as packet loss and the like can be caused, the utilization rate of system resources can be reduced to a great extent, and the realization of a hybrid access technology is hindered.
Disclosure of Invention
The embodiment of the application provides a method and network equipment for processing messages in a hybrid access network, which are used for realizing real-time monitoring and load balancing of network bandwidth, relieving main link congestion caused by network emergency and improving the network bandwidth.
The embodiment of the application provides the following specific technical scheme:
in a first aspect, a method for processing a packet in a hybrid access network is provided, where the hybrid access network includes a first network device and a second network device, and a first tunnel and a second tunnel are established between the first network device and the second network device. The first network device comprises a first cache and a second cache, wherein the first cache is used for storing a first sending window, and the second cache is used for storing a second sending window. First, a first network device sends a data packet in the first sending window to a second network device through the first tunnel. Then, the first network device dynamically adjusts the size of the first sending window according to the confirmation response fed back by the second network device. And when the size of the first sending window is larger than or equal to the first threshold, the subsequently received data message enters a second sending window and is sent to the second network equipment through the second tunnel. Therefore, real-time monitoring and load balancing of the network bandwidth can be achieved, congestion of a main link caused by network emergency is relieved, and the network bandwidth is improved.
In a possible embodiment, the first network device sends the first data packet in the first sending window to the second network device through the first tunnel, where the first data packet carries a first sublink number, and the first sublink number is used to indicate a sequence number of the first data packet in the first tunnel. In response to receiving a first acknowledgement response sent by the second network device, the first network device increases the size of the first send window by a first ratio. The first acknowledgement response carries a first acknowledgement number, the first acknowledgement number is obtained according to the first sublink number, and the first acknowledgement number is used for indicating that the first network device and the second network device have received the first data packet. In response to not receiving the first acknowledgement response sent by the second network device within a first predetermined time, the first network device decreases the size of the first sending window by a second proportion, the second proportion being greater than the first proportion. And then, the first network equipment receives a second data message, and the next hop reaching the destination address of the second data message is the second network equipment. When it is determined that the size of the first sending window is greater than or equal to a first threshold, the first network device stores the second data message to the second cache, and the second data message enters the second sending window. And the first network equipment sends the second data message to the second network equipment through the second tunnel. Therefore, the first network device controls the sending rate in a slow increase mode and a fast decrease mode according to the condition that the second network device receives the data message, and the flow of the two tunnels, namely the first tunnel and the second tunnel, can be reasonably distributed according to the actual network condition. The method avoids the improper load sharing caused by the blockage of the first tunnel due to the network burst, and reasonably utilizes the network bandwidth.
In one possible embodiment, the first tunnel is higher priority than the second tunnel. Before the first network device sends the first data packet in the first sending window to the second network device through the first tunnel, the first network device determines that the size of the first sending window is smaller than the first threshold, the first network device stores the first data packet in the first cache, and the first data packet enters the first sending window. By setting the priority, the main link with good network transmission quality is better utilized, and the communication efficiency is improved.
In a possible implementation manner, the first acknowledgement response is a third data packet or a first generic routing encapsulation GRE control packet sent by the second network device to the first network device. Providing more possible ways of feeding back the acknowledgement response.
In a possible implementation manner, the first acknowledgement response is the third data packet, where the third data packet includes an acknowledgement number field, and the acknowledgement number field carries the first acknowledgement number. Therefore, after the second network device receives the first data packet, if the second network device needs to just send the third data packet to the first network device, the first acknowledgement number may be carried in the third data packet, after the first network device receives the third data packet, the third data packet is analyzed, and it is determined that the second network device has received the first data packet according to the first acknowledgement number. The confirmation response is fed back through the data message sent by the second network equipment to the first network equipment, so that the message does not need to be sent separately to feed back the confirmation response, the number of interactive messages between the first network equipment and the second network equipment is reduced, and the bandwidth resource is also saved.
In a possible implementation manner, the first Acknowledgement response is a first GRE control packet, the first GRE control packet includes an Acknowledgement packet Attribute field, the Acknowledgement packet Attribute field includes an Attribute Type field, an Attribute Length field, and an Acknowledgement Number field, the Attribute Type field indicates that the Type of the Acknowledgement packet Attribute field is a Type that notifies that a data packet has been received, and the Acknowledgement Number field is used for bearing the first Acknowledgement Number. The confirmation number is announced through the GRE control message, so that the real-time monitoring and automatic adjustment of the network bandwidth are realized, and manual intervention is not needed.
In a possible implementation manner, the second network device includes a third cache, where the third cache is configured to store a first receiving window, and before the first network device sends the first data packet in the first sending window to the second network device through the first tunnel, the first network device receives a notification packet sent by the second network device, where the notification packet is used to notify the size of the first receiving window, and the size of the first receiving window is M; and in response to receiving the notification message, the first network device sets the size of the first sending window to be L, wherein L is less than M, and both L and M are greater than 0.
In one possible embodiment, the size of the first transmission window is half the size of the first reception window; the size of the second transmission window is half of the size of the second reception window.
In a possible implementation manner, the notification packet is a second GRE control packet, the second GRE control packet includes a Window Size Attribute field, the Window Size Attribute field includes an Attribute Type field, an Attribute Length field, and a Window Size Window field, the Attribute Type field indicates that the Type of the Window Size Attribute field is the Type of the notification Window Size, and the Window Size field is used for bearing the Size of the first receiving Window. The size of the window is notified through the GRE control message, so that the automatic setting and adjustment of the sending window are realized, and manual intervention is not needed.
In a possible embodiment, the second data packet carries a second sublink number, where the second sublink number is used to indicate a sequence number of the second data packet in the second tunnel; after the first network device sends the second data packet in the second sending window to the second network device through the second tunnel, in response to receiving a second acknowledgement response sent by the second network device, the first network device increases the size of the second sending window according to a third proportion, the second acknowledgement response carries a second acknowledgement number, the second acknowledgement number is obtained according to the second sublink number, and the second acknowledgement number is used for indicating that the second network device has received the second data packet; in response to not receiving the second acknowledgement response sent by the second network device within a second predetermined time, the first network device decreases the size of the second sending window by a fourth ratio, where the fourth ratio is greater than the third ratio. Therefore, the first network device controls the sending rate in a slow increase mode and a fast decrease mode according to the condition that the second network device receives the data message.
In a possible implementation manner, after receiving the second data message, the second network device obtains the second sublink number carried in the received second data message, and carries a second acknowledgement number in a second acknowledgement response returned to the first network device, where the second acknowledgement number is obtained according to the second sublink number.
In a possible implementation manner, the second acknowledgement response may be a fourth data packet sent by the second network device to the first network device, where the fourth data packet includes an acknowledgement number field, and the acknowledgement number field carries the second acknowledgement number. Optionally, the second acknowledgement number is the same as the second sublink number. The confirmation response is fed back through the data message sent by the second network equipment to the first network equipment, so that the message does not need to be sent separately to feed back the confirmation response, the number of interactive messages between the first network equipment and the second network equipment is reduced, and the bandwidth resource is also saved.
In a possible implementation manner, the second acknowledgement response may also be a third GRE control message, and after receiving the second data message sent by the first network device, the second network device notifies the first network device that the second data message has been received through the third GRE control message sent by the first network device.
In a possible embodiment, the third GRE control packet includes an Acknowledgement packet Attribute field, where the Acknowledgement packet Attribute field includes an Attribute Type field, an Attribute Length field, and an Acknowledgement Number field, where the Attribute Type field indicates that the Type of the Acknowledgement packet Attribute field is a Type notifying that the data packet has been received, and the Acknowledgement Number field is used for carrying the second Acknowledgement Number. The confirmation number is announced through the GRE control message, so that the real-time monitoring and automatic adjustment of the network bandwidth are realized, and manual intervention is not needed.
In a second aspect, a method for processing messages in a hybrid access network is provided, the hybrid access network including a first network device and a second network device, a first tunnel and a second tunnel are established between the first network device and the second network device, the first tunnel and the second tunnel form a virtual binding tunnel through binding connection, the first network device comprises a first cache and a second cache, the first cache is used for storing a first sending window, the second cache is used for storing a second sending window, the second network equipment comprises a sequencing cache, after receiving the data message sent by the first network equipment, and feeding back a confirmation response to the first network equipment to inform the first network equipment that the data message has been received, so that the first network equipment dynamically adjusts the size of the sending window. Therefore, real-time monitoring and load balancing of the network bandwidth can be achieved, congestion of a main link caused by network emergency is relieved, and the network bandwidth is improved.
In a possible implementation manner, the second network device receives a first data packet in the first sending window sent by the first network device through the first tunnel, where the first data packet carries a first sublink number and a first global number. The first sublink number is used for representing a sequence number of the first data message in the first tunnel. The first global number represents a sequence number of the first data packet in the virtual binding tunnel. And the second network equipment receives a second data message in the second sending window sent by the first network equipment through the second tunnel. And the second data message carries a second sublink number and a second global number. The second sublink number is used to indicate a sequence number of the second data packet in the second tunnel, and the second global number is used to indicate a sequence number of the second data packet in the virtual binding tunnel. And the second network equipment stores the first data message and the second data message into a sequencing cache, and sequences the first data message and the second data message according to the first global number and the second global number. And in response to the second network device storing the first data packet in the sequencing cache, the second network device sending a first acknowledgement response to the first network device, so that the first network device increases the size of the first sending window according to a first ratio after receiving the first acknowledgement response. And the first acknowledgement response carries a first acknowledgement number. The first acknowledgement number is derived from the first sublink number. The first acknowledgement number is used to indicate that the first network device and the second network device have received the first data packet.
In response to the second network device storing the second data packet in the sequencing cache, the second network device sends the second acknowledgement response to the first network device, so that the first network device increases the size of the second sending window according to a third ratio after receiving the second acknowledgement response. The second acknowledgement response carries a second acknowledgement number, where the second acknowledgement number is obtained according to the second sublink number, and the second acknowledgement number is used to indicate that the second network device has received the second data packet. The second network device can accurately inform the first network device of the received data message, so that the first network device can dynamically adjust the tunnel bandwidth, control the sending rate of the first sending window, avoid improper load sharing caused by blocking due to network burst, and reasonably utilize the network bandwidth.
In a possible implementation manner, the first acknowledgement response is a third data packet or a first generic routing encapsulation GRE control packet sent by the second network device to the first network device. Providing more possible ways of feeding back the acknowledgement response.
In a possible implementation manner, the first acknowledgement response is the third data packet, where the third data packet includes an acknowledgement number field, and the acknowledgement number field carries the first acknowledgement number. The confirmation response is fed back through the data message sent by the second network equipment to the first network equipment, so that the message does not need to be sent separately to feed back the confirmation response, the number of interactive messages between the first network equipment and the second network equipment is reduced, and the bandwidth resource is also saved.
In a possible implementation manner, the first acknowledgement response is a first GRE control packet, where the first GRE control packet includes an acknowledgement packet Attribute TLV field, and the acknowledgement packet Attribute TLV field is used to carry the first acknowledgement number. The confirmation number is announced through the GRE control message, so that the real-time monitoring and automatic adjustment of the network bandwidth are realized, and manual intervention is not needed.
In a possible implementation manner, before the second network device receives the first data packet sent by the first network device through the first tunnel, the second network device sends a first notification packet to the first network device. The first notification message is used to notify the size of the first receiving window, and the size of the first receiving window is used for the first network device to set the size of the first sending window. Before the second network device receives a second data message sent by the first network device through the second tunnel, the second network device sends a second notification message to the first network device, where the second notification message is used to notify the size of the second receiving window, and the size of the second receiving window is used for the first network device to set the size of the second sending window.
In a possible implementation manner, the first notification packet is a second GRE control packet, and the second notification packet is a fourth GRE control packet. The second GRE control message includes a Window size attribute Window size TLV field. The fourth GRE control packet includes a Window size attribute tlv field. And the Window size Attribute TLV field in the second GRE control message is used for bearing the size of the first receiving Window. And the Window size Attribute TLV field in the fourth GRE control message is used for bearing the size of the second receiving Window. The size of the window is notified through the GRE control message, so that the automatic setting and adjustment of the sending window are realized, and manual intervention is not needed.
In a third aspect, a first network device in a hybrid access network is provided, where the first network device has a function of implementing the behavior of the first network device in any one of the possible implementations of the first aspect and the first aspect. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions.
In a fourth aspect, a second network device in a hybrid access network is provided, the second network device having functionality to implement the second network device behavior in any of the possible implementations of the second aspect and the second aspect described above. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions.
In a fifth aspect, a first network device in a hybrid access network is provided, the first network device comprising a transceiver, a processor, a memory, the processor and the memory being connected by a bus system, the processor being configured to execute code in the memory, the execution causing the processor to perform the method of the first aspect or any of the possible embodiments of the first aspect when the code is executed.
A sixth aspect provides a second network device in a hybrid access network, the second network device comprising a transceiver, a processor, a memory, the processor and the memory being connected by a bus system, the processor being configured to execute code in the memory, the execution causing the processor to perform the method of the second aspect or any of the possible embodiments of the second aspect when the code is executed.
In a seventh aspect, a communication system is provided, which comprises the first network device of the third aspect or the fifth aspect and the second network device of the fourth aspect or the sixth aspect.
In an eighth aspect, a computer storage medium is provided for storing a computer program comprising instructions for performing the first aspect, the second aspect, any of the possible implementations of the first aspect, or the method in any of the possible implementations of the second aspect.
The embodiment of the application provides a method for processing a message in a hybrid access network and network equipment, wherein the first network equipment adjusts the bandwidth of different links of the first network equipment according to information fed back by the second network equipment, and the flow overflowing from a main link is guided to other links in time, so that the network bandwidth is improved, and the congestion of the main link caused by network emergency is relieved.
Drawings
FIG. 1 is a diagram illustrating a token bucket-based implementation of load sharing in the prior art;
fig. 2 is a schematic diagram of an HA network architecture in an embodiment of the present application;
fig. 3 is a schematic flowchart of a method for processing a packet in a hybrid access network according to an embodiment of the present application;
FIG. 4 is a diagram illustrating a sending window and a receiving window in the embodiment of the present application;
fig. 5 is a schematic diagram illustrating a data packet protocol extension in an embodiment of the present application;
fig. 6 is a schematic structural diagram of a first network device in a hybrid access network according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a second network device in a hybrid access network according to an embodiment of the present application;
fig. 8 is a second schematic structural diagram of a first network device in a hybrid access network according to an embodiment of the present application;
fig. 9 is a second schematic structural diagram of a second network device in a hybrid access network according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be described in further detail with reference to the accompanying drawings, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Unless stated to the contrary, the embodiments of the present application refer to the ordinal numbers "first", "second", "third", and "fourth", etc., for distinguishing between various objects and not for limiting the sequence of the various objects.
The embodiment of the application can be applied to a hybrid access network, and in the embodiment of the application, the hybrid access network comprises a first network device and a second network device, and two links are established between the first network device and the second network device. Data messages and/or control messages are transmitted on two links respectively, and one link can be regarded as a tunnel, that is, two tunnels are established between a first network device and a second network device and are a first tunnel and a second tunnel. The first tunnel and the second tunnel are connected through binding to form a virtual binding tunnel. It is understood that all data packets that are communicated between the first network device and the second network device are transmitted through the virtual binding tunnel, and the all data packets include data packets transmitted through the first tunnel and through the second tunnel. Specifically, the virtual binding tunnel may be, for example, a GRE tunnel, a Point-to-Point tunneling Protocol (PPTP) tunnel, a User Data Protocol (UDP) tunnel, and the like, which is not limited in this application.
In this embodiment of the present application, the first sending window may be understood as a data packet sequence that is to be sent through the first tunnel, is cached in the first network device, and is not yet sent. The second sending window may be understood as a sequence of data packets that are buffered at the first network device and that have not yet been sent, to be sent through the first tunnel. The first receiving window may be understood as a data packet sequence which is sent by the first sending window through the first tunnel, is cached, and does not enter the sequencing cache, and which is received by the second network device. The second receiving window may be understood as a data packet sequence which is sent by the second sending window through the second tunnel, is cached, and does not enter the sequencing cache, and is received by the second network device. The sequencing cache may be understood as a cache for the second network device to sequence all data packet sequences received by the virtual binding tunnel. The window size may be understood to be the length that can accommodate the sequence of data messages. The definition of the Transmission window and the reception window conforms to the specification of the Transmission Control Protocol (TCP). The send window and the receive window on each tunnel are managed independently. The first network device comprises a first cache and a second cache, wherein the first cache is used for storing a first sending window, and the second cache is used for storing a second sending window. The second network device comprises a third cache and a fourth cache, wherein the third cache is used for storing the first receiving window, and the second cache is used for storing the second receiving window.
The application scenario described in the embodiment of the present application is for more clearly illustrating the technical solution of the embodiment of the present application, and does not form a limitation on the technical solution provided in the embodiment of the present application, and as a person having ordinary skill in the art knows that along with the evolution of a network architecture and the appearance of a new service scenario, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.
An example of a possible hybrid access network architecture is shown in fig. 2. The first network equipment is user side network equipment HG, the second network equipment is operator side network equipment HAAP; or, the first network device is an operator side network device HAAP, and the second network device is a user side network device HG. The user side network device HG is capable of providing at least two access networks for the user, as shown in fig. 2, providing a fixed network such as DSL for a terminal device such as a mobile phone, a computer, a fixed phone, etc., providing a mobile network such as LTE for a handheld device with wireless communication function, and providing a high-speed hybrid network access for the user by the operator side network device HAAP.
And hybrid access is realized between the HG and the HAAP through a virtual binding tunnel. All messages sent by the first network equipment adopt global numbers, and the global numbers are used for representing serial numbers of all data messages sent by the first network equipment in the virtual binding tunnel, wherein all messages comprise messages transmitted in a DSL tunnel and messages transmitted in an LTE tunnel. And the second network equipment restores the message sequence according to the global serial number, thereby realizing a data transmission mechanism of the hybrid access network between the HG and the HAAP. The application scenario in the hybrid access network shown in fig. 2 is only an example, and other forms of structures may be included in the actual hybrid access network, which is not limited in this application.
The method and the network device for processing a packet in the hybrid access network according to the embodiment of the present application are described in detail below based on the hybrid access network architecture shown in fig. 2 and with reference to the accompanying drawings.
It should be noted that, data is sent between the first network device and the second network device through the first tunnel and the second tunnel, and data may also be sent through more than two tunnels, which is described in this embodiment as an example.
Referring to fig. 3, a flow of a method for processing a packet in a hybrid access network according to the embodiment of the present application is as follows.
Step 301, the first network device sends the first data packet in the first sending window to the second network device through the first tunnel.
Step 302, after receiving the first data packet, the second network device returns a first acknowledgement response to the first network device;
the first acknowledgement response is used for indicating that the second network equipment receives the first data message sent based on the first sending window.
In a special case, the second network device may not return the first acknowledgement response to the first network device due to the fact that the second network device does not receive the first data packet sent by the first network device, or the second network device has an analysis error.
Step 303, the first network device dynamically adjusts the size of the first sending window according to the receiving condition of the first acknowledgement response.
Specifically, in response to receiving a first acknowledgement response sent by the second network device, the first network device increases the size of the first transmission window by a first ratio.
The first network device may not receive the first acknowledgement response within the first predetermined time due to poor link quality or the second network device not returning the first acknowledgement response. In response to not receiving the first acknowledgement response sent by the second network device within the first predetermined time, the first network device decreases the size of the first sending window by a second proportion, the second proportion being greater than the first proportion.
In one possible implementation, the first predetermined time is set to be greater than or equal to the sum of a time period for the first data packet to be transmitted from the first network device to the second network device and a time period for the first acknowledgement response to be transmitted from the second network device to the first network device.
And step 304, the first network device sends the second data message to the second network device through the second tunnel. Optionally, the first tunnel has a higher priority than the second tunnel. That is, when the link states of the first tunnel and the second tunnel are normal, the first network device preferentially transmits the data packet to be transmitted through the first tunnel when generating the data packet to be transmitted. Specifically, the priority order between the two tunnels may be determined by the delay priority of the two tunnels, or may be determined by the sizes of the two sending windows, and the specific priority determining method is not limited in this application.
After receiving the first data message, the first network device preferentially caches the first data message to a first cache when the first cache has a cache space, enters a first sending window, and sends the data message to a second network device through a first tunnel. As shown in step 303, the size of the first sending window is dynamically adjusted according to the condition of receiving the first acknowledgement response returned by the second network device. The first network device presets a first threshold value of the size of a first sending window, and selects the first sending window or a second sending window to send the data message according to the size relation between the size of the first sending window and the first threshold value.
Accordingly, before the first network device sends the first data packet in the first sending window to the second network device through the first tunnel in step 301, in response to determining that the size of the first sending window is smaller than the first threshold, the first network device selects to store the first data packet in the first cache, and the first data packet enters the first sending window.
Accordingly, in step 304, before the first network device sends the second data packet through the second tunnel, in response to determining that the size of the first sending window is greater than or equal to the first threshold, the first network device stores the second data packet in the second buffer, and the second data packet enters the second sending window.
In a specific embodiment, the first threshold may be a maximum length u of a data packet sequence that can be accommodated. The embodiments of the present application are not limited thereto.
In a specific embodiment, when the first network device receives a data packet to be sent, the first network device may first determine a length of the data packet to be sent. And if the length of the data message to be sent is not larger than the size of the storage space of the current first cache, the first network equipment stores the data message to be sent to the first cache, enters a first sending window and sends the data message to be sent to the second network equipment through the first tunnel. And if the length of the data message to be sent is larger than the size of the storage space of the first cache, the first network equipment caches the data message to be sent to a second cache, enters a second sending window and sends the data message to be sent to second network equipment through a second tunnel. In the embodiment of the present application, a first data packet carries a first sublink number, and a second data packet carries a second sublink number. The first sublink number is used for representing the sequence number of the first data message in the first tunnel, and the second sublink number is used for representing the sequence number of the second data message in the second tunnel. Specifically, a Sequence Number field of a first data packet sent by a first network device to a second network device is divided into two parts, and one part is used for carrying a first sublink Number (i.e., a Tunnel Sequence Number); and one part is used for carrying the global Number (namely the binding Sequence Number) defined in the original data message protocol. The sequence number field of the second data packet is divided into two parts, one part is used for carrying the second sublink number, and the other part is used for carrying the global number defined in the original data packet protocol.
The global number is used for representing a serial number of all data messages sent by the first network equipment in the virtual binding tunnel formed by the first tunnel and the second tunnel through binding connection. Wherein the all data packets include data packets transmitted in the first tunnel and data packets transmitted in the second tunnel. For convenience of description, a first global number is used to represent a sequence number of a first data packet in a first sending window in a virtual binding tunnel. And expressing the sequence number of the second data message in the second sending window in the virtual binding tunnel by using a second global number. After receiving the first data message and the second data message, the second network device stores the first data message and the second data message in a sequencing cache, and sequences the first data message and the second data message according to the first global number and the second global number. Specifically, first, after receiving the first data packet, the second network device stores the first data packet in a third cache, so that the first data packet enters a first receiving window. Then, the data packets in the first receiving window, including the first data packet, may enter the sorting cache. After receiving the second data message, the second network device stores the second data message into a fourth buffer, so that the second data message enters a second receiving window. Then, the data packets in the second receiving window, including the second data packet, will enter the sorting cache. In the sequencing cache, the second network device sequences all the data messages according to the global number of each data message. As described above, in step 302, after receiving the first data packet, the second network device stores the first data packet in the sequencing cache before returning the first acknowledgement response to the first network device, and then determines the position of the first data packet in the sequencing cache according to the first global number carried in the first data packet. Therefore, only after the first data message is sorted and cached, the second network equipment returns the first confirmation response, the congestion caused by the fact that the data message cannot be completely processed is avoided, the actual network condition can be reflected to the first network equipment through the design, and the system bandwidth can be reasonably utilized.
After receiving the first data message, the second network device obtains a first sublink number carried in the received first data message, and a first acknowledgement number is carried in a first acknowledgement response returned to the first network device, wherein the first acknowledgement number is obtained according to the first sublink number, and the first acknowledgement number is used for indicating that the first network device and the second network device have received the first data message.
In a specific embodiment, the first acknowledgement number is indicated in the same manner as the first sublink number. For example, after receiving the first data packet, the second network device obtains the first sublink number carried in the first data packet, and replies the first sublink number to the first network device as the first acknowledgement number in the first acknowledgement response. The first sublink number may be, for example, an arabic number or a letter, which is not specifically limited in this application.
In another specific embodiment, the first acknowledgement number is derived from a mapping relationship with the first sublink number. In a specific embodiment, a mapping relationship table may be stored in the second network device, and the mapping relationship table is used for storing a mapping relationship between the sublink number and the acknowledgement number. And the second network equipment acquires the first sublink number and obtains a first confirmation number corresponding to the first sublink number according to the mapping relation table. Correspondingly, the mapping relationship table is also stored in the first network device. The mapping relationship may be established, for example, in the following manner: for example, the first sublink number is an arabic numeral 1, and the first acknowledgment number is the letter a mapped with the numeral 1. It should be noted that the above-mentioned establishing manner of the mapping relationship is only an example, and may be specifically implemented in many different manners, and any means for establishing such a corresponding relationship that may occur to those skilled in the art is covered in the mapping rule in the embodiment of the present application. The specific form of the mapping relationship table may be implemented in many different ways, and the corresponding relationship may be expressed in a form of a table, or in other ways, which is not limited in the present application.
Through the first acknowledgement number, the first network device may know that the second network device has received the first data packet of the first sublink number corresponding to the first acknowledgement number.
The first network device and the second network device may mutually transmit data packets, optionally, the first acknowledgement response may be a data packet sent by the second network device to the first network device, and is denoted as a third data packet, and the format of the third data packet is the same as that of the first data packet and the second data packet, and both include a sublink number and a global number.
The first acknowledgement response may also be a GRE control packet (denoted as a first GRE control packet), and after receiving the first data packet sent by the first network device, the second network device notifies the first network device that the first data packet has been received through the GRE control packet sent to the first network device.
The first GRE control message comprises an Acknowledgement message Attribute field, the Acknowledgement message Attribute field comprises an Attribute Type Length Value (TLV) field, and specifically comprises an Attribute Type field, an Attribute Length field and an Acknowledgement Number field, the Attribute Type field indicates that the Type of the Acknowledgement message Attribute field is the Type for notifying that the data message is received, and the Acknowledgement Number field is used for bearing a first Acknowledgement Number.
Optionally, in step 304, after the first network device sends the second data packet to the second network device through the second tunnel, the second network device receives the second data packet sent by the first network device through the second tunnel, and the second network device returns a second acknowledgement response to the first network device.
The second acknowledgement response is used for representing that the second network device receives a second data message sent based on the second sending window.
In a special case, the second network device may not return the second acknowledgement response to the first network device due to the fact that the second network device does not receive the second data packet sent by the first network device, or the second network device has an analysis error.
And the first network equipment dynamically adjusts the size of the second sending window according to the receiving condition of the second acknowledgement response.
Specifically, in response to receiving a second acknowledgement response sent by the second network device, the first network device increases the size of the second send window by a third ratio.
The first network device may not receive the second acknowledgement response within the second predetermined time due to poor link quality or the second network device not returning the second acknowledgement response. In response to not receiving the second acknowledgement response sent by the second network device within the second predetermined time, the first network device decreases the size of the second sending window by a fourth ratio, the fourth ratio being greater than the third ratio.
In one possible implementation, the second predetermined time is set to be greater than or equal to the sum of the time duration for the second data packet to be transmitted from the first network device to the second network device and the time duration for the second acknowledgement response to be transmitted from the second network device to the first network device.
And after receiving the second data message, the second network device acquires a second sublink number carried in the received second data message, and a second acknowledgement number is carried in a second acknowledgement response returned to the first network device, wherein the second acknowledgement number and the second sublink number are mapped with each other.
Through the second acknowledgement number, the first network device may know that the second network device has received the second data packet of the second sublink number corresponding to the second acknowledgement number.
The second acknowledgement response may be a fourth data packet sent by the second network device to the first network device, where the format of the fourth data packet is the same as that of the third data packet, the first data packet, and the second data packet, and the fourth data packet includes an acknowledgement number field, and the acknowledgement number field carries the second acknowledgement number. Optionally, the second acknowledgement number is the same as the second sublink number.
The second acknowledgement response may also be a GRE control packet (denoted as a third GRE control packet) in the same format as the first GRE control packet, and after receiving the second data packet sent by the first network device, the second network device notifies the first network device that the second data packet has been received through the third GRE control packet sent by the first network device.
The third GRE control packet includes an Acknowledgement packet Attribute field, an Acknowledgement packet Attribute field Attribute Type Length Value (TLV) field, and specifically includes an Attribute Type field, an Attribute length field, and an Acknowledgement Number field, where the Attribute Type field indicates that the Type of the Acknowledgement packet Attribute field is a Type that notifies that a data packet has been received, and the Acknowledgement Number field is used to carry a second Acknowledgement Number.
Regarding the setting of the sizes of the transmission window (including the first transmission window and the second transmission window) and the reception window (the second transmission window and the second reception window), the following design can be made:
the second network device determines the size of the first receive window according to the bandwidth of the first tunnel and determines the size of the second receive window according to the bandwidth of the second tunnel. For example, the size of the receive window is determined by a bandwidth increment value, and the increment value (i.e., delta value) is set by a network administrator, typically set to 50 ms. The second network equipment sends a first notification message to the first network equipment through the first tunnel, wherein the first notification message is used for notifying the size M of the first receiving window; and the second network equipment sends a second notification message to the first network equipment through the second tunnel, wherein the second notification message is used for notifying the size M' of the second receiving window.
The first network equipment responds to the received first notification message, and the size of a first sending window is set to be L, wherein L is smaller than M; and the first network equipment responds to the second notification message, and the size of the second sending window is set to be L ', L ' < M ', L, L ' and M, M ' are all larger than 0. In a specific embodiment, the size L of the first sending window is half of the size of the first receiving window M; the size L 'of the second transmission window is half of the size M' of the second reception window, but the present application is not limited thereto
The first notification message is a GRE control message (marked as a second GRE control message), the second GRE control message includes a Window Size Attribute field, and a Window Size Attribute Type Length Value (TLV) field, specifically includes an Attribute Type field, an Attribute Length field, and a Window Size field, where the Attribute Type field indicates that the Type of the Window Size Attribute field is the Type of the notification Window Size, and the Window Size field is used for bearing the Size of the first receiving Window.
The format of the second notification message is the same as that of the first notification message, and the second notification message is recorded as a fourth GRE control message, and the Window Size field of the fourth GRE control message bears the Size of the second receiving Window.
It should be noted here that the formats of the first GRE control packet and the second GRE control packet are the same, and the first network device distinguishes whether the GRE control packet is a notification packet or an acknowledgement response through the content carried in the Attribute Type field.
The method for processing the packet in the hybrid access network shown in fig. 3 is further described in detail below with reference to a specific application scenario.
Suppose that the first network device is an HG, the second network device is an HAAP, the first tunnel is a DSL tunnel, and the second tunnel is an LTE tunnel.
The HAAP sets the LTE receiving window size of the LTE tunnel to be 8k byte, and sets the DSL receiving window size of the DSL tunnel to be 6k byte. The HAAP sends a GRE control message containing a Window Size field to the HG through the first tunnel, and the HG learns that the Size of a DSL receiving Window of the DSL tunnel is set to be 6k byte according to the Window Size field; and the HAAP sends a GRE control message containing a Window Size field to the HG through the second tunnel, and the HG learns that the LTE receiving Window Size of the LTE tunnel is 8k byte according to the Window Size field. Preferably, the transmission window size is set to half the size of the reception window. HG sets the DSL sending window size of DSL link to half of DSL receiving window size, namely 3k byte; the LTE transmission window size of the LTE link is set to half the LTE reception window size, i.e., 4k bytes.
And when the HG generates a data stream to be sent, distributing load sharing according to the size of the data stream and the sizes of the two sending windows. As shown in fig. 4, it is assumed that the global numbers of each data packet in the data stream are 4, 5, 6, 7, 8, and 9, respectively, and the size of each data packet is 1 kbyte. The size of the current DSL send window is 3 kbyte and the size of the current LTE send window is 4 kbyte. Because the priority of the DSL tunnel is higher than that of the LTE tunnel, a data message in a data stream to be sent is firstly placed in a DSL cache corresponding to a DSL sending window, and when the DSL cache corresponding to the DSL sending window is full, the overflow flow is placed in the LTE cache corresponding to the LTE sending window. And sequentially sending the data messages with the global numbers of 4, 5 and 6 in the DSL sending window through a DSL tunnel, and respectively carrying DSL sublink numbers 1, 2 and 3 in the data messages with the global numbers of 4, 5 and 6. Data messages with global numbers of 7, 8 and 9 in an LTE sending window are sent through an LTE tunnel, and LTE sublink numbers are respectively carried in the data messages with the global numbers of 7, 8 and 9 and are sequentially 1, 2 and 3.
The sub-link numbers can be carried through data message protocol extension. As shown in fig. 5, for an extension field of a data packet intercommunicated between the HG and the HAAP, a sequence number field in an original data packet is divided into two parts, one part is a sublink number and represents a sequence number of the data packet on the first tunnel or the second tunnel, and the other part is a global number and represents a sequence number of the data packet on the whole binding tunnel.
And the data messages in the two sending windows are sent through the DSL tunnel and the LTE tunnel respectively. And the HAAP respectively receives the data messages transmitted by the tunnels. And the HAAP returns an acknowledgement response to the HG every time the HAAP receives a data message. The Acknowledgement response may be a data packet sent by the HAAP to the HG, and then, through the extended data packet protocol, the HAAP carries an Acknowledgement Number (Acknowledgement Number) field in the data packet, and optionally, the HAAP takes the received sublink Number carried in the data packet sent by the HG as the Acknowledgement Number.
Since the HAAP and the HG may be both a sending device and a receiving device, as shown in fig. 5, the 32-bit sequence number field is divided into two parts, and after the data packet protocol sent by both sides is extended, each data packet includes a global number, a sublink number, and an acknowledgement number. Wherein, each position of the reserved field is 0 when the reserved field is transmitted.
In addition, the acknowledgement response may also be a GRE control message sent by the HAAP to the HG, where the GRE control message carries an acknowledgement number field. Specifically, the acknowledgement number field is constructed by using the sublink number in the received data packet as the acknowledgement number, and is returned to the HG.
The HG dynamically adjusts the size of the DSL sending window according to the confirmation response returned by the HAAP based on the DSL tunnel; and dynamically adjusting the size of the DSL sending window according to the acknowledgement response returned by the HAAP based on the LTE tunnel.
And the HG receives an acknowledgement response, determines which data message of the sublink number is received according to the acknowledgement number included in the acknowledgement response, increases the corresponding sending window according to a certain proportion if the acknowledgement response is received, and decreases the corresponding sending window according to a certain proportion if the acknowledgement response is not received.
For example, after the HG sends the data packet with the sublink number 1 to the HAAP through the DSL send window, and receives an acknowledgement response including the acknowledgement number 1 returned by the HAAP through the DSL receive window, the size of the DSL send window is increased by 1k byte, and becomes 4k byte. Similarly, if the HG receives the ack response containing ack number 2, the DSL send window size is increased by 1k byte to 5k byte. If the data messages with the sublink numbers of 1, 2 and 3 sent through the DSL sending window are all received by the HAAP, and the HG receives the confirmation response which is returned by the HAAP and carries the confirmation numbers of 1, 2 and 3, the HG increases the sending window size of the DSL to 6k byte, and the size is consistent with the size of the DSL receiving window and is the upper limit of the sending window size of the DSL.
Conversely, if the HG sends the data packet with the sublink number 1 to the HAAP through the DSL send window, and no acknowledgment response including the acknowledgment number 1 returned by the HAAP through the DSL receive window is received within the set duration, the size of the DSL send window is halved, for example, halving and rounding the DSL send window when the size of the DSL send window is 3k byte, and the HG reduces the size of the DSL send window to 1k byte or 2k byte.
Therefore, the HG controls the sending rate in a slow increase mode and a fast decrease mode according to the condition that the HG receives the data message through the HAAP, and can reasonably distribute the flow of the DSL tunnel and the LTE tunnel according to the actual network condition. The window size and the confirmation number are notified through the GRE control message, and the real-time monitoring of the network bandwidth and the automatic setting and adjustment of the sending window are realized.
Based on the same inventive concept as the method for processing a packet in the hybrid access network shown in fig. 3, referring to fig. 6, an embodiment of the present application further provides a first network device 600 in the hybrid access network, where the first network device may be configured to perform the method shown in fig. 3. The first network device includes:
a first storage unit 601, configured to store a first sending window;
a second storage unit 602, configured to store a second sending window;
a sending unit 603, configured to send the first data packet in the first sending window to the second network device through the first tunnel, where the first data packet carries a first sublink number, and the first sublink number is used to indicate a sequence number of the first data packet in the first tunnel;
a processing unit 604, configured to increase, according to a first ratio, a size of a first sending window in response to receiving a first acknowledgement response sent by a second network device, where a first acknowledgement number is obtained according to the first sublink number, and the first acknowledgement number is used to indicate, by the first network device, that the second network device has received the first data packet;
the processing unit 604 is further configured to, in response to not receiving the first acknowledgement response sent by the second network device within the first predetermined time, decrease, by the first network device, the size of the first sending window by a second ratio, where the second ratio is greater than the first ratio;
a receiving unit 605, configured to receive a second data packet, where a next hop reaching a destination address of the second data packet is the second network device.
The processing unit 604 is further configured to, when it is determined that the size of the first sending window is greater than or equal to a first threshold, store the second data packet in the second storage unit, so that the second data packet enters the second sending window.
A sending unit 603, further configured to send the second data packet to the second network device through the second tunnel, where the second sending window communicates with the second receiving window through the second tunnel. Optionally, the priority of the first tunnel is higher than that of the second tunnel, and the processing unit 604 is further configured to determine that the size of the first sending window is smaller than the first threshold before the sending unit 603 sends the first data packet in the first sending window to the second network device through the first tunnel, and store the first data packet in the first storage unit, so that the first data packet enters the first sending window.
Optionally, the first acknowledgement response is a third data packet, where the third data packet includes an acknowledgement number field, and the acknowledgement number field carries the first acknowledgement number.
Optionally, the first acknowledgement response is a first GRE control packet, and the first GRE control packet includes an acknowledgement packet Attribute Type Length Value (TLV) field. Specifically, the Attribute Type field, the Attribute Length field and the Acknowledgement Number field are included. The Attribute Type field indicates that the Type of the Attribute field of the Acknowledgement message is the Type for notifying that the data message has been received, and the Acknowledgement Number field is used for bearing a first Acknowledgement Number.
Optionally, the second network device further includes a third storage unit, where the third storage unit is configured to store the first receiving window. The receiving unit 605 is further configured to receive a notification message sent by the second network device before the sending unit 603 sends the first data message in the first sending window to the second network device through the first tunnel, where the notification message is used to notify the size of the first receiving window, and the size of the first receiving window is M;
the processing unit 604 is further configured to, in response to the receiving unit receiving the notification packet, set the size of the first sending window to L, where L is less than M, and both L and M are greater than 0.
Optionally, the notification packet is a second GRE control packet, where the second GRE control packet includes a Window Size Attribute field, where the Window Size Attribute field includes an Attribute Type field, an Attribute Length field, and a Window Size Window field, where the Attribute Type field indicates that the Type of the Window Size Attribute field is the Type of the notification Window Size, and the Window Size field is used to bear the Size of the first receiving Window.
Optionally, the second data packet carries a second sublink number, where the second sublink number is used to indicate a sequence number of the second data packet in the second tunnel;
based on the same inventive concept as the method for processing a packet in the hybrid access network shown in fig. 3, referring to fig. 7, an embodiment of the present application further provides a second network device 700 in the hybrid access network, where the second network device may be configured to perform the method shown in fig. 3. The first hybrid access network comprises a first network device and the second network device 700. A first tunnel and a second tunnel are established between the first network device and the second network device 700, and the first tunnel and the second tunnel form a virtual binding tunnel through binding connection. The first network device includes a first storage unit and a second storage unit. The first storage unit is used for storing a first sending window, and the second storage unit is used for storing a second sending window. The first network device may specifically be the first network device 600. The second network device 700 includes:
a receiving unit 701, 701 is configured to receive a first data packet in the first sending window sent by the first network device through the first tunnel, and receive a second data packet in the second sending window sent by the first network device through the second tunnel;
the first data packet carries a first sublink number and a first global number, the first sublink number is used for representing a sequence number of the first data packet in the first tunnel, and the first global number represents the sequence number of the first data packet in the virtual binding tunnel. The second data packet carries a second sublink number and a second global number, the second sublink number is used for representing a sequence number of the second data packet in the second tunnel, and the second global number is used for representing the sequence number of the second data packet in the virtual binding tunnel.
A processing unit 702, configured to store the first data packet and the second data packet in a sequencing cache, and sequence the first data packet and the second data packet according to the first global number and the second global number;
a sending unit 703 is configured to send a first acknowledgement response to the first network device after the processing unit 702 stores the first data packet in the sequencing cache, so that the first network device increases the size of the first sending window according to a first ratio after receiving the first acknowledgement response. The first acknowledgement response carries a first acknowledgement number, and the first acknowledgement number is obtained according to the first sublink number. The first acknowledgement number is used to indicate that the first network device and the second network device have received the first data packet.
The sending unit 703 is further configured to send a second acknowledgement response to the first network device after the processing unit 702 stores the second data packet in the sorting buffer, so that the first network device increases the size of the second sending window according to a third ratio after receiving the second acknowledgement response. And the second acknowledgement response carries a second acknowledgement number, and the second acknowledgement number is obtained according to the second sublink number. The second acknowledgement number is used to indicate that the second network device has received the second data packet.
Optionally, the first acknowledgement response is a third data packet, where the third data packet includes an acknowledgement number field, and the acknowledgement number field carries the first acknowledgement number.
Optionally, the first acknowledgement response is a first GRE control packet, and the first GRE control packet includes an acknowledgement packet Attribute field. The Acknowledgement message Attribute field includes an Attribute Type field, an Attribute Length field, and an Acknowledgement Number field. The Attribute Type field indicates that the Type of the Attribute field of the acknowledgement message is the Type that informs that the data message has been received. The acknowledgement number field is used to carry a first acknowledgement number.
Optionally, the sending unit 703 is further configured to:
before the receiving unit 701 receives the first data packet in the first sending window sent by the first network device through the first tunnel, the first notification packet is sent to the first network device. The first notification message is used for notifying the size of the first receiving window, and the size of the first receiving window is used for setting the size of the first sending window by the first network device. Before the receiving unit 701 receives the second data message in the second sending window sent by the first network device through the second tunnel, the second notification message is sent to the first network device. The second notification message is used for notifying the size of the second receiving window, the size of the second receiving window is used for the second network device to set the size of the first sending window,
optionally, the first notification packet is a second GRE control packet, the second notification packet is a fourth GRE control packet, the second GRE control packet includes a Window size Attribute TLV field, and the fourth GRE control packet includes a Window size Attribute TLV field, where the Window size Attribute TLV field in the second GRE control packet is used to carry the size of the first receiving Window; the Window sizeAttribute TLV field in the fourth GRE control message is used to carry the size of the second receive Window.
The first storage unit, the second storage unit and the third storage unit may be a cache.
Based on the same inventive concept as the method for processing a packet in the hybrid access network shown in fig. 3, referring to fig. 8, an embodiment of the present application further provides a first network device 800 in the hybrid access network, where the first network device 800 may be configured to perform the method shown in fig. 3. The first network device 800 includes a transceiver 801, a processor 802, a memory 803 and a bus 804, the processor 802 and the memory 803 are connected via the bus 804, the processor 802 is configured to execute code in the memory 803, and when the code is executed, the execution causes the processor to:
sending a first data packet in the first sending window to the second network device through the first tunnel, where the first data packet carries a first sublink number, and the first sublink number is used to indicate a sequence number of the first data packet in the first tunnel;
in response to receiving a first acknowledgement response sent by the second network device, increasing the size of the first sending window according to a first ratio, where the first acknowledgement response carries a first acknowledgement number, the first acknowledgement number is obtained according to the first sublink number, and the first acknowledgement number is used to represent that the second network device has received the first data packet;
in response to not receiving the first acknowledgement response sent by the second network device within a first predetermined time, reducing the size of the first sending window by a second proportion, the second proportion being greater than the first proportion;
receiving a second data message, wherein the next hop reaching the destination address of the second data message is the second network equipment;
and when the size of the first sending window is determined to be larger than or equal to a first threshold value, storing the second data message to the second cache, wherein the second data message enters the second sending window, and the first network equipment sends the second data message to the second network equipment through the second tunnel.
Optionally, the first tunnel has a higher priority than the second tunnel, and the processor 802 is further configured to:
before the first data message in the first sending window is sent to the second network device through the first tunnel, it is determined that the size of the first sending window is smaller than the first threshold, the first network device stores the first data message to the first cache, and the first data message enters the first sending window.
Optionally, the processor 802 is further configured to receive, through the transceiver 801, a notification message sent by the second network device before sending, through the transceiver 801, the first data message in the first sending window to the second network device. The notification message is used for notifying the size of a first receiving window, and the size of the first receiving window is M; in response to the transceiver 801 receiving the notification message, the size of the first transmission window is set to L, L < M, both L and M being greater than 0.
The processor 802 is further configured to increase the size of the second transmission window by a third ratio in response to receiving a second acknowledgement response sent by the second network device after the transceiver 801 sends the second data message to the second network device through the second tunnel. The second acknowledgement response carries a second acknowledgement number, the second acknowledgement number and the second sublink number are mapped with each other, and the second acknowledgement response is used for notifying the first network device that the second network device has received the second data message. And in response to not receiving a second acknowledgement response sent by the second network device within a second predetermined time, reducing the size of the second sending window by a fourth ratio, the fourth ratio being greater than the third ratio.
The processor 802 may be a Central Processing Unit (CPU), a Network Processor (NP), or a combination of a CPU and an NP.
The processor 802 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. The aforementioned PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof.
The memory 803 may include a volatile memory (RAM), such as a random-access memory (RAM); the memory 803 may also include a non-volatile memory (english: non-volatile memory), such as a flash memory (english: flash memory), a hard disk (english: hard disk drive, abbreviated: HDD) or a solid-state drive (english: SSD); the memory 803 may also comprise a combination of memories of the kind described above.
Based on the same inventive concept as the method for processing a packet in the hybrid access network shown in fig. 3, referring to fig. 9, an embodiment of the present application further provides a second network device 900 in the hybrid access network, where the second network device 900 may be configured to perform the method shown in fig. 3. Wherein the second network device 900 comprises a transceiver 901, a processor 902, a memory 903 and a bus 904, the processor 902 and the memory 903 being connected via the bus 904, the processor 902 being configured to execute code in the memory 903, the execution causing the processor to perform the following operations when the code is executed:
receiving a first data packet in the first sending window sent by the first network device through the first tunnel, where the first data packet carries a first sublink number and a first global number, the first sublink number is used to indicate a sequence number of the first data packet in the first tunnel, and the first global number indicates a sequence number of the first data packet in the virtual binding tunnel; the second network device receives a second data packet in the second sending window sent by the first network device through the second tunnel, where the second data packet carries a second sublink number and a second global number, the second sublink number is used to indicate a sequence number of the second data packet in the second tunnel, and the second global number is used to indicate a sequence number of the second data packet in the virtual binding tunnel; the second network device stores the first data message and the second data message in the sequencing cache, and sequences the first data message and the second data message according to the first global number and the second global number;
after responding to the second network device storing the first data packet to the sequencing cache, the second network device sending a first acknowledgement response to the first network device, so that after receiving the first acknowledgement response, the first network device increases the size of the first sending window according to a first ratio, the first acknowledgement response carries a first acknowledgement number, the first acknowledgement number is obtained according to the first sublink number, and the first acknowledgement number is used for indicating that the second network device has received the first data packet;
after responding to the second network device storing the second data packet to the sequencing cache, the second network device sends the second acknowledgement response to the first network device, so that the first network device increases the size of the second sending window according to a third proportion after receiving the second acknowledgement response, the second acknowledgement response carries a second acknowledgement number, the second acknowledgement number is obtained according to the second sublink number, and the second acknowledgement number is used for indicating that the second network device has received the second data packet.
Optionally, the first acknowledgement response is a third data packet, where the third data packet includes an acknowledgement number field, and the acknowledgement number field carries the first acknowledgement number.
Optionally, the first Acknowledgement response is a first GRE control packet, the first GRE control packet includes an Acknowledgement packet Attribute field, the Acknowledgement packet Attribute field includes an Attribute Type field, an Attribute Length field, and an Acknowledgement Number field, the Attribute Type field indicates that the Type of the Acknowledgement packet Attribute field is a Type that notifies that the data packet has been received, and the Acknowledgement Number field is used to carry a first Acknowledgement Number.
Optionally, the processor 902 is further configured to:
before receiving a first data message in a first sending window sent by a first network device through a first tunnel, sending a first notification message to the first network device, where the first notification message is used to notify the size of the first receiving window, and the size of the first receiving window is used for the first network device to set the size of the first sending window. And before receiving a second data message in a second sending window sent by the first network equipment through the second tunnel, sending a second notification message to the first network equipment, wherein the second notification message is used for notifying the size of the second receiving window, and the size of the second receiving window is used for setting the size of the second sending window by the first network equipment.
Optionally, the first notification packet is a second GRE control packet, the second notification packet is a fourth GRE control packet, the second GRE control packet includes a Window size Attribute TLV field, and the fourth GRE control packet includes a Window size Attribute TLV field, where the Window size Attribute TLV field in the second GRE control packet is used to carry the size of the first receiving Window; the Window sizeAttribute TLV field in the fourth GRE control message is used to carry the size of the second receive Window.
The processor 902 may be a Central Processing Unit (CPU), a Network Processor (NP), or a combination of a CPU and an NP.
The processor 902 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. The aforementioned PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof.
The memory 903 may include a volatile memory (RAM), such as a random-access memory (RAM); the memory 903 may also include a non-volatile memory (english: flash memory), such as a hard disk (HDD) or a solid-state drive (SSD); the memory 903 may also comprise a combination of memories of the kind described above.
It should be noted that the apparatus provided in fig. 6-7 can be used to implement the method shown in fig. 3. In a specific implementation manner, the processing unit 604 in fig. 6 may be implemented by the processor 802 in fig. 8, and both the transmitting unit 603 and the receiving unit 605 may be implemented by the transceiver 801 in fig. 8. The processing unit 702 in fig. 7 may be implemented by the processor 902 in fig. 9, and both the receiving unit 701 and the transmitting unit 703 may be implemented by the transceiver 901 in fig. 9.
The application also provides a communication system, which includes a first network device and a second network device, where the first network device may be the device provided in the embodiments corresponding to fig. 6 and fig. 8. The second network device may be the device provided by the embodiments corresponding to fig. 7 and fig. 9. The communication system is used for executing the method of the embodiment corresponding to fig. 3.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
All parts of the specification are described in a progressive mode, the same and similar parts of all embodiments can be referred to each other, and each embodiment is mainly introduced to be different from other embodiments. In particular, as to the apparatus and system embodiments, since they are substantially similar to the method embodiments, the description is relatively simple and reference may be made to the description of the method embodiments in relevant places.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application.
It will be apparent to those skilled in the art that various changes and modifications may be made in the embodiments of the present application without departing from the spirit and scope of the embodiments of the present application. Thus, if such modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to encompass such modifications and variations.

Claims (13)

1. A method for processing a packet in a hybrid access network is characterized in that the hybrid access network includes a first network device and a second network device, a first tunnel and a second tunnel are established between the first network device and the second network device, the first network device includes a first cache and a second cache, the first cache is used for storing a first sending window, the second cache is used for storing a second sending window, and the method includes:
the first network device sends a first data packet in the first sending window to the second network device through the first tunnel, wherein the first data packet carries a first sublink number, and the first sublink number is used for representing a sequence number of the first data packet in the first tunnel;
in response to receiving a first acknowledgement response sent by the second network device, the first network device increases the size of the first sending window according to a first ratio, the first acknowledgement response carries a first acknowledgement number, the first acknowledgement number is obtained according to the first sublink number, and the first acknowledgement number is used for indicating that the second network device has received the first data packet;
in response to not receiving the first acknowledgement response sent by the second network device within a first predetermined time, the first network device reducing the size of the first sending window by a second proportion, the second proportion being greater than the first proportion;
the first network equipment receives a second data message, and the next hop of the destination address of the second data message is the second network equipment;
in response to determining that the size of the first sending window is greater than or equal to a first threshold, the first network device stores the second data packet to the second cache, the second data packet enters the second sending window, and the first network device sends the second data packet to the second network device through the second tunnel.
2. The method of claim 1, wherein the first tunnel is higher priority than the second tunnel, wherein,
before the first network device sends the first data packet in the first sending window to the second network device through the first tunnel, the method further includes:
and the first network equipment determines that the size of the first sending window is smaller than the first threshold, stores the first data message to the first cache, and enables the first data message to enter the first sending window.
3. The method of claim 1 or 2, wherein: the first acknowledgement response is a third data message, the third data message comprises an acknowledgement number field, and the acknowledgement number field carries the first acknowledgement number; alternatively, the first and second electrodes may be,
the first acknowledgement response is a first GRE control message, the first GRE control message comprises an acknowledgement message Attribute type length value Attribute TLV field, and the acknowledgement message Attribute TLV field is used for bearing the first acknowledgement number.
4. The method according to claim 1 or 2, wherein the second network device includes a third cache, the third cache is used for storing a first receiving window, and before the first network device sends the first data packet in the first sending window to the second network device through the first tunnel, the method further includes:
the first network device receives a notification message sent by the second network device, where the notification message is used to notify the size of the first receiving window, and the size of the first receiving window is M;
and in response to receiving the notification message, the first network device sets the size of the first sending window to be L, wherein L is less than M, and both L and M are greater than 0.
5. The method of claim 4, wherein the notification packet is a second GRE control packet, the second GRE control packet including a Window size Attribute Window size Attribute TLV field, the Window size Attribute TLV field used to carry the size of the first receive Window.
6. A method for processing a packet in a hybrid access network is characterized in that the hybrid access network includes a first network device and a second network device, a first tunnel and a second tunnel are established between the first network device and the second network device, the first tunnel and the second tunnel form a virtual binding tunnel through binding connection, the first network device includes a first cache and a second cache, the first cache is used for storing a first sending window, the second cache is used for storing a second sending window, the second network device includes a sequencing cache, and the method includes:
the second network device receives a first data packet in the first sending window sent by the first network device through the first tunnel, where the first data packet carries a first sublink number and a first global number, the first sublink number is used to indicate a sequence number of the first data packet in the first tunnel, and the first global number indicates a sequence number of the first data packet in the virtual binding tunnel; the second network device receives a second data packet in the second sending window sent by the first network device through the second tunnel, where the second data packet carries a second sublink number and a second global number, the second sublink number is used to indicate a sequence number of the second data packet in the second tunnel, and the second global number is used to indicate a sequence number of the second data packet in the virtual binding tunnel; the second network device stores the first data message and the second data message in the sequencing cache, and sequences the first data message and the second data message according to the first global number and the second global number;
in response to a second network device storing the first data packet to the sequencing cache, the second network device sending a first acknowledgement response to the first network device, so that after receiving the first acknowledgement response, the first network device increases the size of the first sending window according to a first ratio, the first acknowledgement response carries a first acknowledgement number, the first acknowledgement number is obtained according to the first sublink number, and the first acknowledgement number is used for indicating that the second network device has received the first data packet;
in response to a second network device storing the first data packet in the sequencing cache, the second network device sends a second acknowledgement response to the first network device, so that the first network device increases the size of the second sending window according to a third proportion after receiving the second acknowledgement response, the second acknowledgement response carries a second acknowledgement number, the second acknowledgement number is obtained according to the second sublink number, and the second acknowledgement number is used for indicating that the second network device has received the second data packet.
7. A first network device in a hybrid access network, wherein the hybrid access network includes the first network device and a second network device, a first tunnel and a second tunnel are established between the first network device and the second network device, and the first network device includes: a first storage unit for storing a first transmission window;
a second storage unit for storing a second transmission window;
a sending unit, configured to send a first data packet in the first sending window to the second network device through the first tunnel, where the first data packet carries a first sublink number, and the first sublink number is used to indicate a sequence number of the first data packet in the first tunnel;
a processing unit, configured to increase, according to a first ratio, a size of the first sending window in response to receiving a first acknowledgement response sent by the second network device, where the first acknowledgement response carries a first acknowledgement number, the first acknowledgement number is obtained according to the first sublink number, and the first acknowledgement number is used to indicate, by the first network device, that the second network device has received the first data packet;
the processing unit is further configured to reduce the size of the first sending window by a second proportion in response to not receiving the first acknowledgement response sent by the second network device within a first predetermined time, where the second proportion is greater than the first proportion;
a receiving unit, configured to receive a second data packet, where a next hop to reach a destination address of the second data packet is the second network device;
the processing unit is further configured to store the second data packet in the second storage unit in response to determining that the size of the first transmission window is greater than or equal to a first threshold value, so that the second data packet enters the second transmission window;
the sending unit is further configured to send the second data packet to the second network device through the second tunnel.
8. The first network device of claim 7, wherein the first tunnel is higher priority than the second tunnel,
the processing unit is further configured to determine that the size of the first sending window is smaller than the first threshold before the sending unit sends the first data packet in the first sending window to the second network device through the first tunnel, and store the first data packet in the first storage unit, so that the first data packet enters the first sending window.
9. The first network device according to claim 7 or 8, wherein the first acknowledgement response is a third data packet, and the third data packet includes an acknowledgement number field, and the acknowledgement number field carries the first acknowledgement number; alternatively, the first and second electrodes may be,
the first acknowledgement response is a first GRE control message, the first GRE control message comprises an acknowledgement message Attribute type length value Attribute TLV field, and the acknowledgement message Attribute TLV field is used for bearing the first acknowledgement number.
10. The first network device according to claim 7 or 8, wherein the second network device includes a third storage unit, the third storage unit is configured to store a first receiving window, the receiving unit is further configured to receive a notification message sent by the second network device before the sending unit sends the first data message in the first sending window to the second network device through the first tunnel, where the notification message is used to notify the size of the first receiving window, and the size of the first receiving window is M;
the processing unit is further configured to set, in response to the receiving unit receiving the notification packet, the size of the first sending window to L, where L is less than M, and both L and M are greater than 0.
11. The first network device of claim 10, wherein the notification packet is a second GRE control packet, the second GRE control packet including a Window size Attribute Window Attribute TLV field, the Window size Attribute TLV field for carrying the size of the first receive Window.
12. A second network device in a hybrid access network, wherein the hybrid access network includes a first network device and a second network device, a first tunnel and a second tunnel are established between the first network device and the second network device, the first tunnel and the second tunnel form a virtual binding tunnel through a binding connection, the first network device includes a first storage unit and a second storage unit, the first storage unit is configured to store a first sending window, the second storage unit is configured to store a second sending window, and the second network device includes: a receiving unit, configured to receive a first data packet in the first sending window sent by the first network device through the first tunnel, where the first data packet carries a first sublink number and a first global number, the first sublink number is used to indicate a sequence number of the first data packet in the first tunnel, and the first global number indicates a sequence number of the first data packet in the virtual binding tunnel;
the receiving unit is further configured to receive a second data packet in the second sending window sent by the first network device through the second tunnel, where the second data packet carries a second sublink number and a second global number, the second sublink number is used to indicate a sequence number of the second data packet in the second tunnel, and the second global number is used to indicate a sequence number of the second data packet in the virtual binding tunnel;
the processing unit is used for storing the first data message and the second data message into a sequencing cache and sequencing the first data message and the second data message according to the first global number and the second global number;
a sending unit, configured to store the first data packet in the sequencing cache by the processing unit, and send a first acknowledgement response to the first network device, so that after the first network device receives the first acknowledgement response, the size of the first sending window is increased according to a first ratio, where the first acknowledgement response carries a first acknowledgement number, the first acknowledgement number is obtained according to the first sublink number, and the first acknowledgement number is used to indicate that the first network device and the second network device have received the first data packet;
the sending unit is further configured to store, at the processing unit, the second data packet in the sorting cache, and send a second acknowledgement response to the first network device, so that the first network device increases the size of the second sending window according to a third proportion after receiving the second acknowledgement response, where the second acknowledgement response carries a second acknowledgement number, the second acknowledgement number is obtained according to the second sublink number, and the second acknowledgement number is used to indicate that the second network device has received the second data packet.
13. A communication system comprising a first network device according to any of claims 7 to 11 and a second network device according to claim 12.
CN201610977391.1A 2016-11-04 2016-11-04 Method and network equipment for processing message in hybrid access network Active CN108023758B (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN202010410253.1A CN111769968A (en) 2016-11-04 2016-11-04 Method and network equipment for processing message in hybrid access network
CN201610977391.1A CN108023758B (en) 2016-11-04 2016-11-04 Method and network equipment for processing message in hybrid access network
EP17868190.4A EP3531620B1 (en) 2016-11-04 2017-08-28 Method for processing message in hybrid access network, and network device
EP21160792.4A EP3896909B1 (en) 2016-11-04 2017-08-28 Packet processing method and network device in hybrid access network
PCT/CN2017/099335 WO2018082382A1 (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 (en) 2016-11-04 2016-11-04 Method and network equipment for processing message in hybrid access network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010410253.1A Division CN111769968A (en) 2016-11-04 2016-11-04 Method and network equipment for processing message in hybrid access network

Publications (2)

Publication Number Publication Date
CN108023758A CN108023758A (en) 2018-05-11
CN108023758B true CN108023758B (en) 2020-06-02

Family

ID=62076640

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610977391.1A Active CN108023758B (en) 2016-11-04 2016-11-04 Method and network equipment for processing message in hybrid access network
CN202010410253.1A Pending CN111769968A (en) 2016-11-04 2016-11-04 Method and network equipment for processing message in hybrid access network

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010410253.1A Pending CN111769968A (en) 2016-11-04 2016-11-04 Method and network equipment for processing message in hybrid access network

Country Status (4)

Country Link
US (2) US10778469B2 (en)
EP (2) EP3896909B1 (en)
CN (2) CN108023758B (en)
WO (1) WO2018082382A1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108712348A (en) * 2018-05-18 2018-10-26 王逸人 Flow control methods, system, equipment and computer readable storage medium
CN110505163B (en) * 2018-05-18 2021-08-20 华为技术有限公司 Method and device for transmitting message
CN111082898B (en) * 2018-10-19 2022-08-26 华为技术有限公司 Message processing method and device
EP3920491B1 (en) * 2019-02-01 2023-11-01 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Service processing method, device and computer readable storage medium
CN111865741B (en) * 2019-04-24 2022-03-01 瑞昱半导体股份有限公司 Data transmission method and data transmission system
US11228962B2 (en) * 2019-09-10 2022-01-18 The Boeing Company Asymmetric neighbor cache entries for route enhancement in multilink communications
CN114008952A (en) * 2019-09-23 2022-02-01 Oppo广东移动通信有限公司 Window adjusting method and device, network equipment and terminal equipment
CN112787919B (en) * 2020-06-03 2022-07-15 中兴通讯股份有限公司 Message transmission method and device and readable medium
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
CN114979172A (en) * 2021-02-23 2022-08-30 腾讯科技(深圳)有限公司 Data transmission method, device, equipment and storage medium
CN113301605B (en) * 2021-05-18 2023-03-24 成都欧珀通信科技有限公司 Message transmission method, system and related device

Citations (3)

* Cited by examiner, † Cited by third party
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 (en) * 2013-09-27 2014-01-01 迈普通信技术股份有限公司 Multilink tunnel message transmitting method and system
CN105657748A (en) * 2016-03-16 2016-06-08 华为技术有限公司 Communication method based on tunnel binding and network devices

Family Cites Families (18)

* Cited by examiner, † Cited by third party
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
US7869395B2 (en) * 2005-09-30 2011-01-11 Research In Motion Limited Methods and apparatus for dynamically adjusting a data packet window size for data packet transmission in a wireless communication network
US7787372B2 (en) * 2005-12-12 2010-08-31 Viasat, Inc. Transmission control protocol with performance enhancing proxy for degraded communication channels
FR2919778A1 (en) * 2007-07-30 2009-02-06 Canon Kk METHOD FOR TRANSMITTING DATA PACKETS IN A TUNNEL, COMPUTER PROGRAM PRODUCT, CORRESPONDING STORAGE MEDIUM AND TUNNEL HEAD
FR2929789B1 (en) * 2008-04-08 2010-04-30 Canon Kk METHOD FOR MANAGING MECHANISMS FOR IMPROVING TRANSMISSION OF DATA STREAMS ON TUNNEL, COMPUTER PROGRAM PRODUCT, CORRESPONDING STORAGE MEDIUM AND TUNNEL HEAD
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
CN109889888B (en) * 2013-06-05 2022-04-01 太阳专利托管公司 Reproduction method, reproduction apparatus, generation method, and generation apparatus
JP6164056B2 (en) * 2013-11-12 2017-07-19 富士通株式会社 COMMUNICATION SYSTEM, TRANSMISSION DEVICE, RELAY DEVICE, AND COMMUNICATION METHOD
CN105207858B (en) 2014-06-16 2017-04-12 华为技术有限公司 Access device and method for connecting user equipment to network executed by access device
US9538264B2 (en) * 2014-08-07 2017-01-03 Ciena Corporation ODUflex resizing systems and methods
CN105376173B (en) * 2014-09-02 2020-04-28 中兴通讯股份有限公司 Sending window flow control method and terminal
KR102298991B1 (en) * 2015-05-22 2021-09-07 삼성전자 주식회사 Method and apparatus for buffer management in wireless communication system
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 (en) * 2013-09-27 2014-01-01 迈普通信技术股份有限公司 Multilink tunnel message transmitting method and system
CN105657748A (en) * 2016-03-16 2016-06-08 华为技术有限公司 Communication method based on tunnel binding and network devices

Also Published As

Publication number Publication date
EP3896909B1 (en) 2023-07-26
US11570021B2 (en) 2023-01-31
WO2018082382A1 (en) 2018-05-11
EP3896909A1 (en) 2021-10-20
US20190260609A1 (en) 2019-08-22
EP3531620A1 (en) 2019-08-28
EP3531620A4 (en) 2019-11-13
CN108023758A (en) 2018-05-11
US10778469B2 (en) 2020-09-15
CN111769968A (en) 2020-10-13
EP3531620B1 (en) 2021-04-07
US20200403827A1 (en) 2020-12-24

Similar Documents

Publication Publication Date Title
CN108023758B (en) Method and network equipment for processing message in hybrid access network
CN105657748B (en) Communication method and network equipment based on tunnel binding
CN109274596B (en) Data transmission method and related device
TWI396398B (en) Method and apparatus of transmission time interval bundling management
CN108770065B (en) Method, equipment and system for controlling air interface resources
WO2019179157A1 (en) Data traffic processing method and related network device
JP6617838B2 (en) Method and apparatus for reducing transmission loss rate
CN107770085B (en) Network load balancing method, equipment and system
KR102267116B1 (en) Packet transmission method, proxy server and computer readable storage medium
WO2018027674A1 (en) Transmission status report apparatus, method, and communication system
WO2017206670A1 (en) Method and device for flow distribution in hybrid access network
CN110072254B (en) Data transmission method and related equipment thereof
CN113938431B (en) Burst data packet transmission method and device and electronic equipment
CN107634822B (en) HARQ-based transmission method and device
US10999210B2 (en) Load sharing method and network device
CN111641565B (en) Method, device and system for transmitting Ethernet message
CN110505163B (en) Method and device for transmitting message
CN106470416B (en) Method and device for reporting data transmission state and determining transmission data volume
CN106231618A (en) A kind of method and device sending encoding and decoding renegotiation request
WO2022155924A1 (en) Wireless communication method, terminal device, and network device
CN111615170B (en) Data transmission method and system
CN111083734B (en) Data packet compression method and device
CN107612829B (en) Method and device for acquiring path information of data message
WO2018137157A1 (en) Encoding rate adjustment method, base station and terminal device
CN116634407A (en) Bluetooth communication method, device, equipment, system and storage medium

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