CN113556243A - Bandwidth management method, device and storage medium - Google Patents

Bandwidth management method, device and storage medium Download PDF

Info

Publication number
CN113556243A
CN113556243A CN202010339819.6A CN202010339819A CN113556243A CN 113556243 A CN113556243 A CN 113556243A CN 202010339819 A CN202010339819 A CN 202010339819A CN 113556243 A CN113556243 A CN 113556243A
Authority
CN
China
Prior art keywords
bandwidth
port
link
allocated
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010339819.6A
Other languages
Chinese (zh)
Other versions
CN113556243B (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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010339819.6A priority Critical patent/CN113556243B/en
Publication of CN113556243A publication Critical patent/CN113556243A/en
Application granted granted Critical
Publication of CN113556243B publication Critical patent/CN113556243B/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
    • 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/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a bandwidth management method, a bandwidth management device, a bandwidth storage medium method, a bandwidth management device and a bandwidth storage medium device, and belongs to the technical field of communication. In this application, the control device may determine, according to a contracted bandwidth of the user device, a rated bandwidth of a network device group, where the network device group is configured to transmit traffic between the user device and a network side in a load sharing manner, and the network device group includes a plurality of member devices, and one port of each member device is connected to the user device through a link. The control device may adjust the allocated bandwidths of the plurality of member devices and the user device for transmitting traffic by acquiring congestion states of a plurality of links, and a sum of the allocated bandwidths of each member device and the user device in the network device group is equal to a value of a rated bandwidth. Therefore, the control device can flexibly adjust each allocated bandwidth to achieve the purpose of reasonably managing the bandwidth, so that the bandwidth limitation of users and providers is guaranteed at the same time.

Description

Bandwidth management method, device and storage medium
Technical Field
The present application relates to the field of communications technologies, and in particular, to a bandwidth management method, apparatus, and storage medium.
Background
Currently, Ethernet Virtual Private Network (EVPN) has greater technical advantages than the conventional L2VPN, and has become an irreversible trend, and based on this, an EVPN dual-homed and dual-homed scheme is proposed in the industry. In the EVPN dual-homed and dual-homed scheme, traffic on a Customer Edge (CE) is homed to two Provider Edge (PEs), and two ports of the two PEs connected to the CE are both in a working state, so that the two PEs may both have the traffic of the same customer, which requires configuring bandwidth on both the PEs for the customer to limit the traffic of the customer, that is, restricting the bandwidth across devices.
In the related art, the contracted bandwidth between one user and the provider is a certain, for example, 100M, if 100M bandwidth is configured on both PEs, the actual used bandwidth of the user may reach 200M at the maximum, which is far beyond the contracted bandwidth, and if 50M bandwidth is configured on both PEs, and one of the PEs fails, the actual used bandwidth of the user is only 50M at the maximum, which is insufficient for the contracted bandwidth. Based on this, it is currently necessary to provide a reasonable bandwidth management method to guarantee the bandwidth limitation of both the user and the provider.
Disclosure of Invention
The application provides a bandwidth management method, a bandwidth management device and a storage medium, which can reasonably manage bandwidth and guarantee bandwidth limitation of users and providers. The technical scheme is as follows:
in a first aspect, a bandwidth management method is provided, and the method includes:
the control device determines a rated bandwidth of a network device group according to a contracted bandwidth of a user device, the rated bandwidth being used for indicating a maximum bandwidth of the user device for communicating with a network side via the network device group, the network device group being used for transmitting traffic of the user device and the network side in a load sharing manner, the network device group including a plurality of member devices, one port of each member device in the plurality of member devices being connected with the user device through a link, a value of the rated bandwidth being equal to a sum of allocated bandwidths of each member device in the network device group and the user device for transmitting the traffic; the control equipment acquires congestion states of a plurality of links, wherein the links refer to links for connecting ports of the plurality of member equipment and the user equipment; and the control equipment adjusts the distribution bandwidth of the transmission flow of the plurality of member equipment and the user equipment according to the congestion states of the plurality of links.
Optionally, the control device is one of the plurality of member devices, or the control device is one of the plurality of member devices, each of the plurality of member devices may be an independent device, or each of the member devices may be a line card in an independent device. The method is described next with each member device being an independent device and the control device being one of the plurality of member devices.
In this application, a user may purchase bandwidth from a network provider, where the purchased bandwidth may be referred to as a contracted bandwidth of a user device, and the user device may communicate with a network side through a network device group of the network provider. The control device may determine a nominal bandwidth of the network device group according to the contracted bandwidth of the user device, and a maximum bandwidth of the user device communicating with the network side through the network device group may be the nominal bandwidth.
It should be noted that the control device may be generated by election or determined by user configuration. In the method for generating the control device by election, each member device in the plurality of member devices can send heartbeat messages to each other, and one member device with the highest priority is selected as the control device according to priority information carried by the heartbeat messages.
Optionally, after determining the control device, the control device may adjust the allocated bandwidth of the transmission traffic of each member device and the user device according to the initial bandwidth configuration rule. For example, the initial bandwidth configuration rule may specify that each member device allocates an average amount of the rated bandwidth, or may specify an initial proportion of the rated bandwidth allocated by each member device.
Optionally, after the control device is generated by election, the control device may still send a heartbeat message to other member devices according to a timer, so as to inform the other member devices that the current control device is in a normal working state, that is, maintain the status of the control device. And the other member devices do not send the heartbeat messages any more, but reset the configured heartbeat timer after receiving the heartbeat messages sent by the control device, and send the heartbeat messages to the control device again after the heartbeat timer times out, so as to reselect the control device. That is, after the control device goes offline due to a fault or other reasons and does not send the heartbeat message any more, the other member devices can learn that the control device is currently generated by re-election through the timeout of the heartbeat timer.
In addition, in the present application, each member device may further configure a maximum value of an allocated bandwidth of the transmission traffic between itself and the user device, that is, configure a maximum limited bandwidth, where the maximum limited bandwidth does not exceed a rated bandwidth, and the maximum limited bandwidths configured by each member device may be the same or different. In addition, each member device may further configure a bandwidth adjustment step length, where the bandwidth adjustment step length is used to indicate a variation of each bandwidth adjustment, and the bandwidth adjustment step length may be a fixed value or may also be a variable, where the variable may be determined according to a bandwidth adjustment formula, and the bandwidth adjustment step lengths configured by each member device may be the same or different.
In this application, before adjusting the allocated bandwidth, the control device needs to know the congestion states of the links connecting the ports of the plurality of member devices and the user equipment, that is, the control device may obtain the congestion states of the plurality of links. In the present application, there are various methods for the control device to obtain the congestion states of the multiple links, and two implementation manners thereof are described next.
In a first implementation manner, the acquiring, by a control device, congestion states of a plurality of links includes: the control device receives bandwidth information from the plurality of member devices to obtain a plurality of bandwidth information, wherein each bandwidth information in the plurality of bandwidth information is used for indicating the use condition of the allocated bandwidth of the transmission flow of the corresponding member device and the user device; the control device determines a congestion state of the plurality of links based on the plurality of bandwidth information.
In the present application, the bandwidth information may be obtained in a message manner, that is, the control device may obtain the bandwidth information of other member devices by receiving bandwidth information messages sent by other member devices, and further obtain the congestion state of the link connecting the ports of the other member devices and the user device, and the control device may also obtain the congestion state of the link connecting the ports of the control device and the user device, so as to obtain the congestion states of the plurality of links.
Optionally, the plurality of member devices include a first member device, the plurality of bandwidth information includes first bandwidth information, the first bandwidth information includes a first actually used bandwidth and a first allocated bandwidth, the first actually used bandwidth refers to a bandwidth actually used when the first member device and the user device transmit traffic, and the first allocated bandwidth refers to an allocated bandwidth of the first member device and the user device transmit traffic; the control device determines the congestion states of the plurality of links according to the plurality of bandwidth information, and comprises the following steps: determining that a first link is congested if the first actually-used bandwidth exceeds the first allocated bandwidth, wherein the first link is a link for connecting a port of the first member equipment and user equipment; if the first actually used bandwidth does not exceed the first allocated bandwidth, it is determined that the first link is not congested.
It should be noted that, the above describes, by taking the first link in which the port of the first member device is connected to the user device as an example, determining the congestion state of the first link by the control device, and for the links in which the ports of the other member devices, except for the first member device, of the plurality of member devices are connected to the user device, that is, for the links, except for the first link, of the plurality of links, the control device may refer to the method for determining the congestion state of the first link to determine the congestion states of the other links, which is not described herein again.
In addition, the control device may further obtain a device identifier of each of the plurality of member devices and a port identifier of a target port included in the device identifier, and in a case that each of the member devices is configured with a bandwidth adjustment step size and/or a maximum limit bandwidth and the bandwidth adjustment step size and/or the maximum limit bandwidth are different, the control device may further obtain the bandwidth adjustment step size and/or the maximum limit bandwidth configured by each of the plurality of member devices.
For example, the bandwidth information packet may further carry a device identifier of the corresponding member device and a port identifier of the included target port, and further, the bandwidth information packet may also carry a bandwidth adjustment step length and/or a maximum bandwidth limit configured by the corresponding member device.
Optionally, in this application, since a port where the member device and the user device are connected may fail and cannot provide a service for the user device, the member device with the failed port needs to notify the control device of information about whether the port is failed, that is, the control device may further obtain a port state of each member device in the plurality of member devices, where the port state is used to indicate whether the corresponding port is failed.
Illustratively, the bandwidth information packet may also carry a port state of a corresponding member device, so that the control device may obtain the port states of other member devices by analyzing each bandwidth information packet, and in addition, the control device may also obtain the port states of the control device itself.
In a second implementation, the plurality of member devices includes a first member device; the control device acquires the congestion states of a plurality of links, and comprises the following steps: the control device receives the congestion state from the first member device to obtain the congestion state of a first link, wherein the first link is a link for connecting the port of the first member device with the user device.
In this application, the control device may also receive a bandwidth information packet sent by another member device, where the bandwidth information packet carries the congestion state of the corresponding member device, for example, the bandwidth information packet carries a field used for indicating the congestion state.
In a possible implementation manner, the two implementation manners may be combined, for example, the bandwidth information message may carry an actually used bandwidth, an allocated bandwidth of the corresponding member device, and a congestion state of the corresponding link. Further, the bandwidth information packet may also carry a device identifier of the corresponding member device, a port identifier of the included target port, a port state, a bandwidth adjustment step size, and/or a maximum bandwidth limit.
In this application, after obtaining the congestion states of the plurality of links, the control device may adjust the allocated bandwidths of the transmission flows between the plurality of member devices and the user equipment according to the congestion states of the plurality of links. There are many possible implementations of the method for the control device to adjust the allocated bandwidth, which will be described in detail below.
In a first possible implementation manner, the plurality of member devices include a second member device and a third member device, a second port of the second member device is connected to the user device through a second link, and a third port of the third member device is connected to the user device through a third link; the control device adjusts the distribution bandwidth of the transmission flow between the plurality of member devices and the user device according to the congestion states of the plurality of links, and the method comprises the following steps: and if the second link is congested and the third link is not congested, the control device increases a second allocated bandwidth and decreases a third allocated bandwidth, wherein the sum of the allocated bandwidths of the adjusted plurality of member devices and the user equipment for transmitting the traffic is equal to a value of a rated bandwidth, the second allocated bandwidth is the allocated bandwidth of the second member device and the user equipment for transmitting the traffic, and the third allocated bandwidth is the allocated bandwidth of the third member device and the user equipment for transmitting the traffic.
In this application, the control device may adjust the allocated bandwidth of each member device in a case where a congested link and an uncongested link coexist in the plurality of links. Alternatively, in the case where none or all of the plurality of links are congested, the control device may not adjust the allocated bandwidths of the respective member devices.
Alternatively, assuming that each member device can configure a bandwidth adjustment step size, the control device may increase the allocated bandwidth of the part or all of the member devices with congested links and the user device for transmission traffic and decrease the allocated bandwidth of the part or all of the member devices with uncongested links and the user device for transmission traffic according to the bandwidth adjustment step size.
Optionally, as can be seen from the foregoing, each member device may also configure a maximum limitation bandwidth, so that after adjustment, the allocated bandwidth of the corresponding member device and the user transmission traffic cannot exceed the corresponding maximum limitation bandwidth.
In a second possible implementation manner, the plurality of member devices include a second member device and a third member device, a second port of the second member device is connected to the user device through a second link, and a third port of the third member device is connected to the user device through a third link; the control device adjusts the distribution bandwidth of the transmission flow of the plurality of member devices and the user device according to the congestion states of the plurality of links, and the method comprises the following steps: the control equipment acquires a second port state and a third port state, wherein the second port state is used for indicating whether the second port has a fault, and the third port state is used for indicating whether the third port has a fault; and if the second port state indicates that the second port has a fault, and the third port state indicates that the third port has no fault, the control device increases a third allocated bandwidth according to the congestion state of the third link, wherein the sum of the allocated bandwidths of the member devices of which the ports have no fault and the user equipment transmission traffic after adjustment is equal to the value of the rated bandwidth, and the third allocated bandwidth is the allocated bandwidth of the third member devices and the user equipment transmission traffic.
That is, the control device needs to further consider the port status of each member device, compared to the first possible implementation. If there is a member device with a port failure, the control device may reallocate the allocated bandwidth of the transmission traffic between the corresponding member device and the user device to other member devices, and may allocate the allocated bandwidth equally or according to a load balancing principle.
In a second aspect, a bandwidth management apparatus is provided, the bandwidth management apparatus having a function of implementing the behavior of the bandwidth management method in the first aspect. The bandwidth management device comprises one or more modules, and the one or more modules are used for implementing the bandwidth management method provided by the first aspect.
That is, the present application provides a bandwidth management apparatus applied to a control device, the apparatus including:
a determining module, configured to determine, according to a contracted bandwidth of a user equipment, a rated bandwidth of a network equipment group, where the rated bandwidth is used to indicate a maximum bandwidth of the user equipment for communicating with a network side via the network equipment group, the network equipment group is used to transmit traffic of the user equipment and the network side in a load sharing manner, the network equipment group includes a plurality of member devices, one port of each member device in the plurality of member devices is connected with the user equipment through a link, and a value of the rated bandwidth is equal to a sum of allocated bandwidths of each member device in the network equipment group and the user equipment for transmitting the traffic;
an obtaining module, configured to obtain congestion states of multiple links, where the multiple links refer to links where ports of the multiple member devices are connected to the user equipment;
and the adjusting module is used for adjusting the distribution bandwidth of the transmission flow of the plurality of member devices and the user equipment according to the congestion states of the plurality of links.
Optionally, the obtaining module includes:
a first receiving submodule, configured to receive bandwidth information from the plurality of member devices to obtain a plurality of bandwidth information, where each of the plurality of bandwidth information is used to indicate a usage condition of an allocated bandwidth of transmission traffic between a corresponding member device and the user device;
and the determining submodule is used for determining the congestion states of the plurality of links according to the plurality of bandwidth information.
Optionally, the plurality of member devices include a first member device, where the plurality of bandwidth information includes first bandwidth information, the first bandwidth information includes a first actual usage bandwidth and a first allocated bandwidth, the first actual usage bandwidth refers to a bandwidth actually used when the first member device and the user device transmit traffic, and the first allocated bandwidth refers to an allocated bandwidth of the first member device and the user device to transmit traffic;
the determination submodule is specifically configured to:
determining that a first link is congested if the first actually-used bandwidth exceeds the first allocated bandwidth, the first link being a link in which a port of the first member device is connected with the user device;
if the first actually used bandwidth does not exceed the first allocated bandwidth, it is determined that the first link is not congested.
Optionally, the plurality of member devices comprises a first member device;
the acquisition module comprises:
and the second receiving submodule is used for receiving the congestion state from the first member equipment to obtain the congestion state of a first link, wherein the first link is a link for connecting the port of the first member equipment with the user equipment.
Optionally, the plurality of member devices includes a second member device and a third member device, a second port of the second member device is connected to the user device through a second link, and a third port of the third member device is connected to the user device through a third link;
the adjustment module is specifically configured to:
and if the second link is congested and the third link is not congested, increasing a second allocated bandwidth and decreasing a third allocated bandwidth, wherein the sum of the allocated bandwidths of the plurality of member devices and the user equipment for transmitting the traffic is equal to a value of a rated bandwidth after adjustment, the second allocated bandwidth is the allocated bandwidth of the second member device and the user equipment for transmitting the traffic, and the third allocated bandwidth is the allocated bandwidth of the third member device and the user equipment for transmitting the traffic.
Optionally, the plurality of member devices includes a second member device and a third member device, a second port of the second member device is connected to the user device through a second link, and a third port of the third member device is connected to the user device through a third link;
the adjustment module includes:
the acquisition submodule is used for acquiring a second port state and a third port state, wherein the second port state is used for indicating whether the second port fails, and the third port state is used for indicating whether the third port fails;
and the adjusting submodule is used for increasing a third allocated bandwidth according to the congestion state of a third link if the state of the second port indicates that the second port is in fault and the state of the third port indicates that the third port is not in fault, wherein the sum of the allocated bandwidths of the member equipment of which the port is not in fault and the user equipment transmission flow after adjustment is equal to the value of the rated bandwidth, and the third allocated bandwidth is the allocated bandwidth of the third member equipment and the user equipment transmission flow.
Optionally, the control device is one of the plurality of member devices, or the control device is one device other than the plurality of member devices.
In a third aspect, a network device is provided, where the network device includes a processor and a memory, and the memory is used to store a program for executing the bandwidth management method provided in the first aspect, and store data used to implement the bandwidth management method provided in the first aspect. The processor is configured to execute programs stored in the memory. The operating means of the memory device may further comprise a communication bus for establishing a connection between the processor and the memory.
In a fourth aspect, a computer-readable storage medium is provided, which has instructions stored therein, which when run on a computer, cause the computer to perform the bandwidth management method of the first aspect described above.
In a fifth aspect, there is provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the bandwidth management method of the first aspect described above.
The technical effects obtained by the above second, third, fourth and fifth aspects are similar to the technical effects obtained by the corresponding technical means in the first aspect, and are not described herein again.
The technical scheme that this application provided can bring following beneficial effect at least:
in this application, the control device may determine, according to a contracted bandwidth of the user device, a rated bandwidth of a network device group, where the network device group is configured to transmit traffic between the user device and a network side in a load sharing manner, and the network device group includes a plurality of member devices, and one port of each member device is connected to the user device through a link. The control device may adjust the allocated bandwidths of the plurality of member devices and the user device for transmitting traffic by acquiring congestion states of a plurality of links, and a sum of the allocated bandwidths of each member device and the user device in the network device group is equal to a value of a rated bandwidth. Therefore, the control device can flexibly adjust each allocated bandwidth to achieve the purpose of reasonably managing the bandwidth, so that the bandwidth limitation of users and providers is guaranteed at the same time.
Drawings
Fig. 1 is a system architecture diagram according to a bandwidth management method provided in an embodiment of the present application;
fig. 2 is a diagram of a system architecture related to another bandwidth management method provided in an embodiment of the present application;
FIG. 3 is a diagram of a system architecture involved in a further method for bandwidth management provided by an embodiment of the present application;
fig. 4 is a schematic structural diagram of a network device according to an embodiment of the present application;
fig. 5 is a flowchart of a bandwidth management method provided in an embodiment of the present application;
fig. 6 is a schematic structural diagram of a bandwidth management apparatus according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Fig. 1 is a system architecture diagram according to a bandwidth management method provided in an embodiment of the present application. Referring to fig. 1, the system architecture includes a user device 101 and a network device group 102, where the network device group 102 includes a plurality of member devices, and a control device is one of the plurality of member devices, that is, a control device is included in the network device group 102. In addition, each member device in the network device group 102 may be a separate device. One port of each of the plurality of member devices may be connected to the user device 101 via a link, and the member devices may also be connected to each other via a link.
In this embodiment, the user may purchase bandwidth from the network provider, where the purchased bandwidth may be referred to as a contracted bandwidth of the user equipment 101, and the user equipment 101 is configured to communicate with the network side through each network device in the network device group 102.
The network device group 102 is configured to transmit traffic between the user equipment 101 and the network side in a load sharing manner. The control device may determine the rated bandwidth of the network device group 102 according to the contracted bandwidth of the user device 101, and the control device is further configured to manage the allocated bandwidth of the traffic transmitted between each member device in the network device group 102 and the user device 101, so as to ensure that a maximum bandwidth (the rated bandwidth) of the traffic that can be transmitted by the user device 101 is equal to a sum of the allocated bandwidths of the traffic transmitted between the network device group 102 and the user device 101.
It should be noted that the control devices in the network device group 102 may be generated by election or determined by user configuration. In addition, the user device 101 may refer to one or more CEs and one member device may refer to one PE.
For example, in one possible application scenario, when the user equipment is a device and the network group device includes two member devices (e.g., two PEs), the two member devices may be deployed with L2EVPN through dual active access, and two ports of the user equipment are configured as a Trunk port to transmit traffic to the two member devices through a hash algorithm.
In this embodiment, the user equipment 101 may be any access device, such as an Optical Line Terminal (OLT), a switch (switch), a Digital Subscriber Line Access (DSLAM), and the like. The member devices may be switches, routers, etc.
Fig. 2 is a system architecture diagram related to another bandwidth management method according to an embodiment of the present application. Referring to fig. 2, the system architecture includes a user device 101, a network device group 102, and a control device 103, the network device group 102 includes a plurality of member devices, each of which may be an independent device, and the control device 103 is a device other than the plurality of member devices. One port of each of the plurality of member devices may be connected to the user device 101 via a link, the member devices may be connected to each other via a link, and the member devices may be connected to the control device 103 for communication.
It should be noted that the roles of the user equipment 101, the network device group 102 and the control device 103 in fig. 2 are similar to the roles of the corresponding devices in fig. 1, and are not described again here. In addition, the user device 101 may refer to one or more CEs, a member device may refer to a PE, and the control device 103 may refer to a Software Defined Network (SDN) controller, or may refer to other devices, which is not limited in this application.
Fig. 3 is a system architecture diagram according to another bandwidth management method provided in an embodiment of the present application, and referring to fig. 3, the system architecture includes a user equipment 101, a network equipment group 102, and a control device 103, where the network equipment group 102 includes a plurality of member devices, and one member device may refer to one line card in an independent device, and the independent device may be equipped with a plurality of line cards, that is, the plurality of member devices refer to a plurality of line cards. The control device 103 may refer to a control chip in the stand-alone device, and in some other embodiments, the control device 103 may also be another device. One port of each member device in the plurality of member devices may be connected to the user device 101 through a link, each member device may also communicate through interconnection, each member device may also be connected to the control device 103 to communicate, that is, the port of each line card is connected to the user device 101 through a link, each line card may also be connected to each other to communicate, and each line card may be connected to the control device 103 to communicate.
It should be noted that the roles of the user equipment 101, the network device group 102 and the control device 103 in fig. 3 are similar to the roles of the corresponding devices in fig. 1, and are not described again here. In addition, the user equipment 101 may refer to one or more CEs, the independent device where the network device group is located may refer to a PE, the control device 103 may refer to a control chip of the PE, or the control device 103 may refer to an SDN controller, or may refer to other devices, which is not limited in this application.
Referring to fig. 4, fig. 4 is a schematic structural diagram of a network device according to an embodiment of the present application. Optionally, the network device is the control device shown in fig. 1, fig. 2 or fig. 3, and the network device includes one or more processors 401, a communication bus 402, a memory 403 and one or more communication interfaces 404.
The processor 401 is a general purpose Central Processing Unit (CPU), a Network Processor (NP), a microprocessor, or one or more integrated circuits such as an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof for implementing the disclosed aspects. Optionally, the PLD is a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof.
A communication bus 402 is used to transfer information between the above components. Optionally, the communication bus 402 is divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
Optionally, the memory 403 is a read-only memory (ROM), a Random Access Memory (RAM), an electrically erasable programmable read-only memory (EEPROM), an optical disk (including a compact disc read-only memory (CD-ROM), a compact disc, a laser disk, a digital versatile disk, a blu-ray disk, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to. The memory 403 may be separate and coupled to the processor 401 via a communication bus 402 or the memory 403 may be integrated with the processor 401.
The communication interface 404 may use any transceiver or the like for communicating with other devices or communication networks. The communication interface 404 includes a wired communication interface and optionally a wireless communication interface. The wired communication interface is, for example, an ethernet interface. Optionally, the ethernet interface is an optical interface, an electrical interface, or a combination thereof. The wireless communication interface is a Wireless Local Area Network (WLAN) interface, a cellular network communication interface, or a combination thereof.
Optionally, in some embodiments, the network device includes multiple processors, such as processor 401 and processor 405 shown in fig. 4. Each of these processors is a single core processor, or a multi-core processor. A processor herein optionally refers to one or more devices, circuits, and/or processing cores for processing data (e.g., computer program instructions).
In a specific implementation, the network device further includes an output device 406 and an input device 407, as an embodiment. An output device 406, in communication with the processor 401, is capable of displaying information in a variety of ways. For example, the output device 406 may be a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display device, a Cathode Ray Tube (CRT) display device, a projector (projector), or the like. The input device 407 is in communication with the processor 401 and is capable of receiving user input in a variety of ways. For example, the input device 407 is a mouse, a keyboard, a touch screen device, a sensing device, or the like.
In some embodiments, memory 403 is used to store program code 410 for performing aspects of the present application, and processor 401 is capable of executing program code 410 stored in memory 403. The program code includes one or more software modules, and the network device can implement the bandwidth management method provided in the embodiment of fig. 5 below through the processor 401 and the program code 410 in the memory 403.
Fig. 5 is a flowchart of a bandwidth management method provided in an embodiment of the present application, where the method may be applied to a control device, and in the embodiment of the present application, a network device group includes a plurality of member devices, and assuming that each member device is an independent device, the control device may be one of the plurality of member devices, or the control device may be one device other than the plurality of member devices, and the method is described below by taking the control device as one of the plurality of member devices as an example. Referring to fig. 5, the method includes the following steps.
Step 501: the control device determines a rated bandwidth of a network device group according to a contracted bandwidth of a user device, the rated bandwidth being used for indicating a maximum bandwidth of the user device for communicating with a network side via the network device group, the network device group being used for transmitting traffic of the user device and the network side in a load sharing manner, the network device group comprising a plurality of member devices, one port of each member device in the plurality of member devices being connected with the user device through a link, and a value of the rated bandwidth being equal to a sum of distributed bandwidths of each member device in the network device group and the user device for transmitting traffic.
In this embodiment, a user may purchase bandwidth from a network provider, where the purchased bandwidth may be referred to as a contracted bandwidth of a user device, and the user device may communicate with the network side through a network device group of the network provider. For example, a company may purchase 100M bandwidth, that is, a contracted bandwidth is 100M, from a network provider, and when a customer edge device (CE) of the company communicates with a network side, traffic needs to be transmitted to the network side through a provider edge device (PE).
The control device may determine a nominal bandwidth of the network device group according to the contracted bandwidth of the user device, and a maximum bandwidth of the user device communicating with the network side through the network device group may be the nominal bandwidth.
Illustratively, the control device may determine the nominal bandwidth from the contracted bandwidth and the reference ratio. Assuming that the contracted bandwidth is 100M, if the reference ratio is 1, the nominal bandwidth is 100M, and if the reference ratio is 1.1, the nominal bandwidth is 110M.
It should be noted that the control device may be generated by election, or may be determined by user configuration, and the method of generating control device by election will be described later.
In this embodiment, each of the plurality of member devices may first send a heartbeat message to each other, where the heartbeat message carries one or more of a device priority, a device Identification (ID) (such as an Internet Protocol (IP) address), a port priority, a port ID, and the like of a corresponding member device, and after receiving the heartbeat message sent by another member device, one member device may sequentially compare itself and the device priority, the device ID, the port priority, and the port ID carried by each heartbeat message, so as to select a member device with a highest priority as a control device (which may also be referred to as a root device).
For example, assuming that the network device group includes two member devices, which are a member device 1 and a member device 2, respectively, a device priority carried in a heartbeat message sent by the member device 1 is 10, a device ID is 10.150.1.1, a port priority is 2, and a port ID is 1/0/0, a device priority carried in a heartbeat message sent by the member device 2 is 10, a device ID is 10.160.1.1, a port priority is 1, and a port ID is 1/0/0, after receiving the heartbeat message sent by the member device 2, the member device 1 compares the device priorities first by comparing the device priorities, and since the two device priorities are the same, the device IDs continue to be compared, and since the device ID of the member device 2 is greater than the device ID of the member device 1, the member device 2 can be determined as the control device.
It should be noted that, in this embodiment of the present application, a protocol for formulating election rules and bandwidth adjustment rules may be designed, where the protocol may be referred to as a multi-chassis dynamic bandwidth protocol (MC-DBP), a port where each member device of a network device group is connected to a user device may be configured with the MC-DBP, and each member device may set a timer according to the MC-DBP to periodically send a heartbeat packet, and negotiate to select a control device according to the MC-DBP. In addition, the network device group may further have a group identifier (group ID), and the heartbeat packet may carry the group identifier to indicate that the plurality of member devices belong to the same network device group (also referred to as a bandwidth adjustment group).
In this embodiment, after determining the control device, the control device may adjust the allocated bandwidth of the transmission traffic between each member device and the user device according to the initial bandwidth configuration rule. For example, assuming that the initial bandwidth configuration rule specifies that each member device distributes the rated bandwidth on average, the control device may adjust the distribution bandwidth of the transmission traffic between each member device and the user device to be equal to the average of the rated bandwidth divided by the total number of the plurality of member devices. For another example, assuming that the initial bandwidth configuration rule specifies an initial proportion of the nominal bandwidth allocated by each member device, the control device may initially adjust the allocated bandwidth of the transmission traffic of each member device and the user device according to the initial proportion.
For example, assuming that the initial bandwidth configuration rule specifies that each member device distributes a rated bandwidth on average, the rated bandwidth is 100M, and the network device group includes two member devices, the control device may adjust the allocated bandwidths of the two member devices and the user device for transmission traffic to be 50M each.
In addition, after the control device is generated by election, the control device can still send heartbeat messages to other member devices according to the timer timing, so as to inform the other member devices that the current control device is in a normal working state, that is, the status of the control device is maintained. And the other member devices do not send the heartbeat messages any more, but reset the configured heartbeat timer after receiving the heartbeat messages sent by the control device, and send the heartbeat messages to the control device again after the heartbeat timer times out, so as to reselect the control device. That is, after the control device goes offline due to a fault or other reasons and does not send the heartbeat message any more, the other member devices can learn that the control device is currently generated by re-election through the timeout of the heartbeat timer.
In addition, in this embodiment of the application, each member device may further configure a maximum value of an allocated bandwidth of the transmission traffic between itself and the user device, that is, configure a maximum limited bandwidth, where the maximum limited bandwidth does not exceed a rated bandwidth, and the maximum limited bandwidths configured by each member device may be the same or different. The limiting mode can be CAR or profiling mode. Illustratively, assuming a nominal bandwidth of 100M, the maximum limited bandwidth for any one member device configuration may be 100M or 90M.
In addition, each member device may further configure a bandwidth adjustment step length, where the bandwidth adjustment step length is used to indicate a variation of each bandwidth adjustment, and the bandwidth adjustment step length may be a fixed value or may also be a variable, where the variable may be determined according to a bandwidth adjustment formula, and the bandwidth adjustment step lengths configured by each member device may be the same or different.
For example, the bandwidth adjustment step configured by each member device may be 1/10 or 1/25 of the initialized allocated bandwidth, and assuming that the initial allocated bandwidth is 50M, the bandwidth adjustment step is 50/10M or 50/25M, that is, the bandwidth adjustment step is 5M or 2M, and the like.
Step 502: the control device obtains congestion states of a plurality of links, wherein the plurality of links refer to links connecting ports of the plurality of member devices and the user device.
In this embodiment of the application, before adjusting the allocated bandwidth, the control device needs to know the congestion states of the links connecting the ports of the plurality of member devices and the user equipment, that is, the control device may obtain the congestion states of the plurality of links. In the embodiment of the present application, there are multiple methods for the control device to obtain the congestion states of the multiple links, and two implementation manners thereof are described next.
In a first implementation manner, the control device may receive bandwidth information from the plurality of member devices, to obtain a plurality of bandwidth information, where each bandwidth information in the plurality of bandwidth information may be used to indicate a usage condition of an allocated bandwidth of transmission traffic of the corresponding member device and the user device. Thereafter, the control device may determine a congestion state of the plurality of links based on the plurality of bandwidth information.
In this embodiment of the present application, the bandwidth information may be obtained in a message manner, that is, the control device may obtain the bandwidth information of other member devices by receiving bandwidth information messages sent by other member devices, and further obtain the congestion state of a link between a port of the other member device and the user device, and the control device may also obtain the congestion state of a link between its own port and the user device, so as to obtain the congestion states of the plurality of links.
In this embodiment, the plurality of member devices may include a first member device, the plurality of bandwidth information may include first bandwidth information, the first bandwidth information may include a first actually-used bandwidth and a first allocated bandwidth, the first actually-used bandwidth may refer to a bandwidth actually used when the first member device and the user device transmit traffic, and the first allocated bandwidth may refer to an allocated bandwidth of the first member device and the user device to transmit traffic. The control device may determine that the first link is congested if the first actually used bandwidth exceeds the first allocated bandwidth, the first link being a link to which a port of the first member device is connected with the user device. The control device may determine that the first link is not congested if the first actually used bandwidth does not exceed the first allocated bandwidth.
It should be noted that, the above describes, by taking the first link in which the port of the first member device is connected to the user device as an example, determining the congestion state of the first link by the control device, and for the links in which the ports of the other member devices, except for the first member device, of the plurality of member devices are connected to the user device, that is, for the links, except for the first link, of the plurality of links, the control device may refer to the method for determining the congestion state of the first link to determine the congestion states of the other links, which is not described herein again.
For example, the bandwidth information packet may carry an actually used bandwidth and an allocated bandwidth of the corresponding member device, so that the control device may obtain an actually used bandwidth and an allocated bandwidth included in the bandwidth information of the other member devices by analyzing each bandwidth information packet, and determine a congestion state of a link connecting the port of the other network device and the user device according to the actually used bandwidth and the allocated bandwidth carried by each bandwidth information packet, and in addition, the control device may determine a congestion state of a link connecting the port of the control device and the user device by comparing the actually used bandwidth and the allocated bandwidth of the control device.
For example, if the actual bandwidth used by the bandwidth information packet sent by the member device 1 is 55M and the allocated bandwidth is 50M, it may be determined that the link between the port of the member device 1 and the user device is congested, and if the actual bandwidth used by the bandwidth information packet sent by the member device 2 is 30M and the allocated bandwidth is 50M, it may be determined that the link between the port of the member device 2 and the user device is not congested.
In addition, the control device may further obtain a device identifier of each of the plurality of member devices and a port identifier of a target port included in the device identifier, and in a case that each of the member devices is configured with a bandwidth adjustment step size and/or a maximum limit bandwidth and the bandwidth adjustment step size and/or the maximum limit bandwidth are different, the control device may further obtain the bandwidth adjustment step size and/or the maximum limit bandwidth configured by each of the plurality of member devices.
For example, the bandwidth information packet may further carry a device identifier of the corresponding member device and a port identifier of the included target port, and further, the bandwidth information packet may also carry a bandwidth adjustment step length and/or a maximum bandwidth limit configured by the corresponding member device.
Optionally, in this embodiment of the application, since a port, to which the member device and the user device are connected, may fail and cannot provide a service for the user device, the member device with the failed port needs to notify the control device of information about whether the port is failed, that is, the control device may further obtain a port state of each member device in the plurality of member devices, where the port state is used to indicate whether the corresponding port is failed.
Illustratively, the bandwidth information packet may also carry a port state of a corresponding member device, so that the control device may obtain the port states of other member devices by analyzing each bandwidth information packet, and in addition, the control device may also obtain the port states of the control device itself.
In a second implementation manner, the plurality of member devices include a first member device, and the control device may receive a congestion state from the first member device to obtain a congestion state of a first link, where the first link is a link in which a port of the first member device is connected to the user device. That is, the control device may directly acquire the congestion states of the plurality of links.
In this embodiment, the control device may also receive a bandwidth information packet sent by another member device, where the bandwidth information packet carries the congestion state of the corresponding member device, for example, the bandwidth information packet carries a field used for indicating the congestion state.
In a possible implementation manner, the two implementation manners may be combined, and for example, the bandwidth information message may carry an actually used bandwidth of the corresponding member device, an allocated bandwidth, and a congestion state of the corresponding link. Further, the bandwidth information packet may also carry a device identifier of the corresponding member device, a port identifier of the included target port, a port state, a bandwidth adjustment step size, and/or a maximum bandwidth limit.
Table 1 shows information corresponding to each field carried in a bandwidth information packet according to an embodiment of the present application. Referring to table 1, the bandwidth information packet carries a device identifier (device ID), a port identifier (e.g., port number port _ Nu), an actually used bandwidth (traffic), an allocated bandwidth (number _ BD), a bandwidth adjustment step size (step _ BD), a congestion state (congestion), and a port state (fail). The port _ Nu represents a port number to be subjected to bandwidth adjustment, is determined by configuration of each device, and may be a physical port or a logical port, bandwidth adjustment step lengths of each member device are the same, step _ BD is Config, which represents that a value of the bandwidth adjustment step length is equal to a value of default configuration, a value of congestion is 'Y' which represents link congestion, a value of 'N' which represents no congestion, a value of fail is 'Y' which represents port failure, and a value of 'N' which represents port non-failure.
TABLE 1
device ID port_Nu traffic rate member_BD step_BD congestion fail
10.150.1.1 1/0/0 55M 50M Config Y N
10.160.1.1 1/0/0 30M 50M Config N Y
It should be noted that the periods of sending the bandwidth information messages to the control device by each member device may be the same or different.
Optionally, in this embodiment of the application, the control device may determine the congestion states of the respective links according to a preset period, and determine whether to adjust the allocated bandwidth, where the preset period may be 5s, and assuming that periods for the respective member devices to send bandwidth information packets to the control device are the same, for example, 1s or 2s, the control device may adjust the timer according to the adjusted timer, and determine the congestion states of the multiple links according to the bandwidth information packet sent by the respective member devices that is received last time when the preset period expires.
Optionally, in this embodiment of the present application, since the member device may also have a complete machine failure or go offline, in this case, the control device needs to know which devices are currently failed, and adjust the allocated bandwidth in time. Based on this, the control device may configure one or more heartbeat timers, the control device may reset one heartbeat timer configured for a certain member device after receiving a bandwidth information message sent by the certain member device, and when the heartbeat timer times out, the control device may determine that the member device is faulty. That is, after a certain member device no longer sends a bandwidth information message due to a failure or offline due to other reasons, the control device may learn that the current member device has a failure through the timeout of the heartbeat timer.
Step 503: and the control equipment adjusts the distribution bandwidth of the transmission flow of the plurality of member equipment and the user equipment according to the congestion states of the plurality of links.
In this embodiment, after obtaining the congestion states of the plurality of links, the control device may adjust the allocated bandwidths of the transmission flows between the plurality of member devices and the user equipment according to the congestion states of the plurality of links. There are many possible implementations of the method for the control device to adjust the allocated bandwidth, which will be described in detail below.
In a first possible implementation manner, the plurality of member devices includes a second member device and a third member device, a second port of the second member device is connected to the user device through a second link, and a third port of the third member device is connected to the user device through a third link. The control device may increase the second allocated bandwidth and decrease the third allocated bandwidth if the second link is congested and the third link is not congested. After the adjustment, the sum of the allocated bandwidths of the transmission flows of the plurality of member devices and the user device is equal to a value of a rated bandwidth, the second allocated bandwidth is the allocated bandwidth of the transmission flow of the second member device and the user device, and the third allocated bandwidth is the allocated bandwidth of the transmission flow of the third member device and the user device.
In the embodiment of the present application, the control device may adjust the allocated bandwidth of each member device in a case where a congested link and an uncongested link coexist in the plurality of links. Alternatively, in the case where none or all of the plurality of links are congested, the control device may not adjust the allocated bandwidths of the respective member devices.
In a case where the plurality of member devices includes a second member device and a third member device, that is, in a case where the network device group includes two member devices, if the second link is congested and the third link is not congested, the control device may increase the second allocated bandwidth and decrease the third allocated bandwidth by an amount equal to the decrease amount of the third allocated bandwidth.
Alternatively, as can be seen from the foregoing, each member device may configure the same bandwidth adjustment step, in which case the control device may increase the second allocated bandwidth and decrease the third allocated bandwidth according to the bandwidth adjustment step, and the increase amount of the second allocated bandwidth and the decrease amount of the third allocated bandwidth may both be equal to the bandwidth adjustment step.
In the case where the plurality of member devices includes at least three member devices, if a part of the links in the plurality of links are congested and another part of the links are not congested, the control device may increase the allocated bandwidths for the part or all of the member devices with the congested links and the user device to transmit traffic, and decrease the allocated bandwidths for the part or all of the member devices with the uncongested links and the user device to transmit traffic, and the total increase and the total decrease of the allocated bandwidths for the member devices and the user device to transmit traffic are equal to each other, so as to ensure that the sum of the allocated bandwidths for the plurality of member devices and the user device to transmit traffic after adjustment remains equal to the value of the rated bandwidth.
Alternatively, assuming that each member device can configure a bandwidth adjustment step size, the control device may increase the allocated bandwidth of the part or all of the member devices with congested links and the user device for transmission traffic and decrease the allocated bandwidth of the part or all of the member devices with uncongested links and the user device for transmission traffic according to the bandwidth adjustment step size. Assuming that the bandwidth adjustment step configured by each member device is the same, the increase amount of the allocated bandwidth of the transmission traffic of the member device with a congested link and the user device, and the decrease amount of the allocated bandwidth of the transmission traffic of the member device with a non-congested link and the user device may both be equal to the bandwidth adjustment step, and the total number of the member devices with increased allocated bandwidth is equal to the total number of the member devices with decreased allocated bandwidth, so as to ensure that the sum of the allocated bandwidths of the transmission traffic of the plurality of member devices and the user device after adjustment is still equal to the value of the rated bandwidth.
It should be noted that, since the value of the allocated bandwidth cannot exceed the nominal bandwidth and cannot be smaller than zero, if the value of a certain allocated bandwidth is increased or decreased according to the bandwidth adjustment step size, the value of the allocated bandwidth needs to be adjusted to be increased to the nominal bandwidth or decreased to be zero.
In addition, the control device may also adjust the allocated bandwidth by other quantities, and the embodiment of the present application is not limited by contrast.
Optionally, as can be seen from the foregoing, each member device may also configure a maximum limitation bandwidth, so that after adjustment, the allocated bandwidth of the corresponding member device and the user transmission traffic cannot exceed the corresponding maximum limitation bandwidth.
In a second possible implementation manner, the plurality of member devices includes a second member device and a third member device, a second port of the second member device is connected to the user device through a second link, and a third port of the third member device is connected to the user device through a third link. The control device may obtain a second port state and a third port state, the second port state being indicative of whether the second port is malfunctioning, the third port state being indicative of whether the third port is malfunctioning. If the second port state indicates that the second port fails, and the third port state indicates that the third port does not fail, the control device may increase a third allocated bandwidth according to a congestion state of the third link, where a sum of allocated bandwidths of the member devices whose ports do not fail and the user device is adjusted to be equal to a value of a rated bandwidth, and the third allocated bandwidth is an allocated bandwidth of the third member device and the user device for transmitting traffic.
That is, the control device needs to further consider the port status of each member device, compared to the first possible implementation. If there is a member device with a port failure, the control device may reallocate the allocated bandwidth of the transmission traffic between the corresponding member device and the user device to other member devices, and may allocate the allocated bandwidth equally or according to a load balancing principle.
When the plurality of member devices include a second member device and a third member device, that is, include two member devices, and the second port fails and the third port does not fail, the control device may directly allocate all the allocated bandwidths of the transmission traffic between the second member device and the user device to the third member device. Or, in a case where the plurality of member devices includes at least three member devices and only one port of one member device has not failed, the control device may directly allocate all the allocated bandwidths for transmitting traffic between all the member devices with the failed port and the user device to the member device with the failed port.
In the case that the plurality of member devices include at least three member devices, and the ports of at least two of the member devices do not fail, the control device may first reallocate the allocated bandwidths for the port-failed member devices and the user device to some or all of the member devices whose ports do not fail, and then, if the at least two member devices still include the member devices whose links are congested and whose links are not congested, the control device may adjust the allocated bandwidths for the at least two member devices and the user device for the transmission traffic with reference to the first possible implementation manner.
The following are some code examples of the control device adjusting the bandwidth in the case where the network device group includes two member devices in the embodiment of the present application.
IF All_member Congestion=Y
Keep Current congestion/link full congestion indicating not to adjust bandwidth and Keep Current allocated bandwidth
IF All_member Congestion=N
No congestion of the Keep Current/link indicates that no bandwidth adjustment is carried out, and the Current allocated bandwidth is kept
IF member_1Congestion=Y and member_2Congestion=N
reserved _1_ BD ═ member _1_ BD + Step _ BD// increased by bandwidth adjustment Step size
reserving number _2_ BD ═ number _2_ BD-Step _ BD// decrease by bandwidth adjustment Step size
IF number _2fail// port failure of member device 2
reschedule member_1_BD=member_1_BD+member_2_BD
Alternatively, according to the two possible implementation manners described above, the control device may first determine a bandwidth adjustment scheme corresponding to each member device, where the bandwidth adjustment scheme is used to indicate an increase or decrease of the allocated bandwidth for adjusting the transmission traffic between the corresponding member device and the user device. And then, the control device may generate a bandwidth adjustment command corresponding to each member device according to the bandwidth adjustment scheme corresponding to each member device, where the bandwidth adjustment command carries information indicating the corresponding bandwidth adjustment scheme and sends the corresponding bandwidth adjustment command to the corresponding member device, and after receiving the bandwidth adjustment command, each member device adjusts the allocated bandwidth of the transmission traffic between itself and the user device according to the bandwidth adjustment scheme.
The above describes a bandwidth management method in a case where the control device is one of the plurality of member devices, where the control device may be generated by mutually sending heartbeat messages, and in a case where the control device is one of the plurality of member devices, the control device directly receives bandwidth information or a congestion state reported by each member device to perform bandwidth management without performing the election process.
For example, the control device may be an SDN controller, each member device may send a bandwidth information packet to the SDN controller based on a protocol such as a Simple Network Management Protocol (SNMP), and the SDN controller may issue a bandwidth adjustment command based on a protocol such as Yang/Schema.
In summary, in this embodiment of the application, the control device may determine, according to the contracted bandwidth of the user device, the rated bandwidth of a network device group, where the network device group is configured to transmit traffic between the user device and a network side in a load sharing manner, and the network device group includes a plurality of member devices, and one port of each member device is connected to the user device through a link. The control device may adjust the allocated bandwidths of the plurality of member devices and the user device for transmitting traffic by acquiring congestion states of a plurality of links, and a sum of the allocated bandwidths of each member device and the user device in the network device group is equal to a value of a rated bandwidth. Therefore, the control device can flexibly adjust each allocated bandwidth to achieve the purpose of reasonably managing the bandwidth, so that the bandwidth limitation of users and providers is guaranteed at the same time.
Fig. 6 is a schematic structural diagram of a bandwidth management apparatus 600 according to an embodiment of the present application, where the bandwidth management apparatus 600 may be implemented by software, hardware, or a combination of the two to be part or all of a network device, and the network device may be the network device shown in fig. 4. Referring to fig. 6, the apparatus 600 includes: a determination module 601, an acquisition module 602, and an adjustment module 603.
A determining module 601, configured to determine, according to a contracted bandwidth of a user equipment, a rated bandwidth of a network equipment group, where the rated bandwidth is used to indicate a maximum bandwidth of the user equipment for communicating with a network side via the network equipment group, the network equipment group is used to transmit traffic of the user equipment and the network side in a load-sharing manner, the network equipment group includes a plurality of member devices, one port of each member device in the plurality of member devices is connected with the user equipment through a link, and a value of the rated bandwidth is equal to a sum of allocated bandwidths of each member device in the network equipment group and the user equipment for transmitting the traffic;
an obtaining module 602, configured to obtain congestion states of multiple links, where the multiple links refer to links where ports of the multiple member devices are connected to the user equipment;
an adjusting module 603, configured to adjust the allocated bandwidths of the transmission flows of the plurality of member devices and the user equipment according to the congestion states of the plurality of links.
Optionally, the obtaining module 602 includes:
a first receiving submodule, configured to receive bandwidth information from the plurality of member devices to obtain a plurality of bandwidth information, where each of the plurality of bandwidth information is used to indicate a usage condition of an allocated bandwidth of transmission traffic between a corresponding member device and the user device;
and the determining submodule is used for determining the congestion states of the plurality of links according to the plurality of bandwidth information.
Optionally, the plurality of member devices include a first member device, where the plurality of bandwidth information includes first bandwidth information, the first bandwidth information includes a first actual usage bandwidth and a first allocated bandwidth, the first actual usage bandwidth refers to a bandwidth actually used when the first member device and the user device transmit traffic, and the first allocated bandwidth refers to an allocated bandwidth of the first member device and the user device to transmit traffic;
the determination submodule is specifically configured to:
determining that a first link is congested if the first actually-used bandwidth exceeds the first allocated bandwidth, the first link being a link in which a port of the first member device is connected with the user device;
if the first actually used bandwidth does not exceed the first allocated bandwidth, it is determined that the first link is not congested.
Optionally, the plurality of member devices comprises a first member device;
the obtaining module 602 includes:
and the second receiving submodule is used for receiving the congestion state from the first member equipment to obtain the congestion state of a first link, wherein the first link is a link for connecting the port of the first member equipment with the user equipment.
Optionally, the plurality of member devices includes a second member device and a third member device, a second port of the second member device is connected to the user device through a second link, and a third port of the third member device is connected to the user device through a third link;
the adjustment module is specifically configured to:
and if the second link is congested and the third link is not congested, increasing a second allocated bandwidth and decreasing a third allocated bandwidth, wherein the sum of the allocated bandwidths of the plurality of member devices and the user equipment for transmitting the traffic is equal to a value of a rated bandwidth after adjustment, the second allocated bandwidth is the allocated bandwidth of the second member device and the user equipment for transmitting the traffic, and the third allocated bandwidth is the allocated bandwidth of the third member device and the user equipment for transmitting the traffic.
Optionally, the plurality of member devices includes a second member device and a third member device, a second port of the second member device is connected to the user device through a second link, and a third port of the third member device is connected to the user device through a third link;
the adjusting module 603 includes:
the acquisition submodule is used for acquiring a second port state and a third port state, wherein the second port state is used for indicating whether the second port fails, and the third port state is used for indicating whether the third port fails;
and the adjusting submodule is used for increasing a third allocated bandwidth according to the congestion state of a third link if the state of the second port indicates that the second port is in fault and the state of the third port indicates that the third port is not in fault, wherein the sum of the allocated bandwidths of the member equipment of which the port is not in fault and the user equipment transmission flow after adjustment is equal to the value of the rated bandwidth, and the third allocated bandwidth is the allocated bandwidth of the third member equipment and the user equipment transmission flow.
Optionally, the control device is one of the plurality of member devices, or the control device is one device other than the plurality of member devices.
In this embodiment of the present application, the control device may determine, according to a contracted bandwidth of the user device, a rated bandwidth of a network device group, where the network device group is configured to transmit traffic between the user device and a network side in a load sharing manner, and the network device group includes a plurality of member devices, and one port of each member device is connected to the user device through a link. The control device may adjust the allocated bandwidths of the plurality of member devices and the user device for transmitting traffic by acquiring congestion states of a plurality of links, and a sum of the allocated bandwidths of each member device and the user device in the network device group is equal to a value of a rated bandwidth. Therefore, the control device can flexibly adjust each allocated bandwidth to achieve the purpose of reasonably managing the bandwidth, so that the bandwidth limitation of users and providers is guaranteed at the same time.
It should be noted that, when the bandwidth management apparatus provided in the foregoing embodiment manages the bandwidth, only the division of the functional modules is illustrated, and in practical applications, the above function allocation may be completed by different functional modules according to needs, that is, the internal structure of the apparatus may be divided into different functional modules to complete all or part of the above described functions. In addition, the bandwidth management apparatus and the bandwidth management method provided in the foregoing embodiments belong to the same concept, and specific implementation processes thereof are described in the method embodiments and are not described herein again.
In the above embodiments, the implementation may be wholly or partly realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that includes one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., Digital Versatile Disk (DVD)), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others. It is noted that the computer-readable storage medium referred to herein may be a non-volatile storage medium, in other words, a non-transitory storage medium.
The above-mentioned embodiments are provided not to limit the present application, and any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (15)

1. A method for bandwidth management, the method comprising:
the control device determines a rated bandwidth of a network device group according to a contracted bandwidth of a user device, wherein the rated bandwidth is used for indicating a maximum bandwidth of the user device for communicating with a network side via the network device group, the network device group is used for transmitting traffic of the user device and the network side in a load sharing manner, the network device group comprises a plurality of member devices, one port of each member device in the plurality of member devices is connected with the user device through a link, and the value of the rated bandwidth is equal to the sum of distributed bandwidths of each member device in the network device group and the user device for transmitting the traffic;
the control equipment acquires congestion states of a plurality of links, wherein the links refer to links for connecting ports of the plurality of member equipment and the user equipment;
and the control equipment adjusts the distribution bandwidth of the transmission flow of the plurality of member equipment and the user equipment according to the congestion states of the plurality of links.
2. The method of claim 1, wherein the controlling device obtaining the congestion status of the plurality of links comprises:
the control device receives bandwidth information from the plurality of member devices to obtain a plurality of bandwidth information, wherein each bandwidth information in the plurality of bandwidth information is used for indicating the use condition of the allocated bandwidth of the transmission flow of the corresponding member device and the user device;
and the control equipment determines the congestion states of the plurality of links according to the plurality of pieces of bandwidth information.
3. The method of claim 2, wherein the plurality of member devices includes a first member device, the plurality of bandwidth information includes first bandwidth information, the first bandwidth information includes a first actual usage bandwidth and a first allocated bandwidth, the first actual usage bandwidth refers to a bandwidth actually used by the first member device when transmitting traffic with the user device, and the first allocated bandwidth refers to an allocated bandwidth for the first member device to transmit traffic with the user device;
the control device determines the congestion states of the plurality of links according to the plurality of pieces of bandwidth information, and the determining includes:
determining that a first link is congested if the first actually-used bandwidth exceeds the first allocated bandwidth, the first link being a link where a port of the first member device is connected with the user device;
determining that the first link is not congested if the first actually used bandwidth does not exceed the first allocated bandwidth.
4. The method of claim 1, wherein the plurality of member devices includes a first member device;
the control device acquiring congestion states of a plurality of links includes:
and the control equipment receives the congestion state from the first member equipment to obtain the congestion state of a first link, wherein the first link is a link for connecting the port of the first member equipment with the user equipment.
5. The method of any one of claims 1-4, wherein the plurality of member devices includes a second member device and a third member device, a second port of the second member device is connected with the user device through a second link, and a third port of the third member device is connected with the user device through a third link;
the controlling device adjusts the distribution bandwidth of the transmission flow between the plurality of member devices and the user device according to the congestion states of the plurality of links, and the method comprises the following steps:
if the second link is congested and the third link is not congested, the control device increases a second allocated bandwidth and decreases a third allocated bandwidth, wherein the adjusted sum of the allocated bandwidths of the plurality of member devices and the user device for transmitting traffic is equal to the value of the rated bandwidth, the second allocated bandwidth is the allocated bandwidth of the second member device and the user device for transmitting traffic, and the third allocated bandwidth is the allocated bandwidth of the third member device and the user device for transmitting traffic.
6. The method of any one of claims 1-4, wherein the plurality of member devices includes a second member device and a third member device, a second port of the second member device is connected with the user device through a second link, and a third port of the third member device is connected with the user device through a third link;
the controlling device adjusts the distribution bandwidth of the transmission flow between the plurality of member devices and the user device according to the congestion states of the plurality of links, and the method comprises the following steps:
the control equipment acquires a second port state and a third port state, wherein the second port state is used for indicating whether the second port fails, and the third port state is used for indicating whether the third port fails;
and if the second port state indicates that the second port fails, and the third port state indicates that the third port does not fail, the control device increases a third allocated bandwidth according to the congestion state of the third link, wherein the sum of the allocated bandwidths of the member devices whose ports do not fail and the user equipment transmission traffic after adjustment is equal to the value of the rated bandwidth, and the third allocated bandwidth is the allocated bandwidth of the third member devices and the user equipment transmission traffic.
7. The method of any one of claims 1-6, wherein the control device is one of the plurality of member devices or the control device is one device other than the plurality of member devices.
8. A bandwidth management apparatus, applied to a control device, the apparatus comprising:
a determining module, configured to determine, according to a contracted bandwidth of a user equipment, a rated bandwidth of a network device group, where the rated bandwidth is used to indicate a maximum bandwidth of the user equipment for communicating with a network side via the network device group, the network device group is used to transmit traffic of the user equipment and the network side in a load sharing manner, the network device group includes a plurality of member devices, one port of each member device in the plurality of member devices is connected with the user equipment through a link, and a value of the rated bandwidth is equal to a sum of allocated bandwidths of each member device in the network device group and the user equipment for transmitting traffic;
an obtaining module, configured to obtain congestion states of multiple links, where the multiple links are links where ports of the multiple member devices are connected to the user equipment;
and the adjusting module is used for adjusting the distribution bandwidth of the transmission flow of the plurality of member devices and the user equipment according to the congestion states of the plurality of links.
9. The apparatus of claim 8, wherein the acquisition module comprises:
a first receiving sub-module, configured to receive bandwidth information from the plurality of member devices to obtain a plurality of bandwidth information, where each of the plurality of bandwidth information is used to indicate a usage condition of an allocated bandwidth of transmission traffic between the corresponding member device and the user device;
and the determining submodule is used for determining the congestion states of the plurality of links according to the plurality of bandwidth information.
10. The apparatus of claim 9, wherein the plurality of member devices includes a first member device, the plurality of bandwidth information includes first bandwidth information, the first bandwidth information includes a first actual usage bandwidth and a first allocated bandwidth, the first actual usage bandwidth refers to a bandwidth actually used by the first member device when transmitting traffic with the user device, and the first allocated bandwidth refers to an allocated bandwidth for the first member device to transmit traffic with the user device;
the determination submodule is specifically configured to:
determining that a first link is congested if the first actually-used bandwidth exceeds the first allocated bandwidth, the first link being a link where a port of the first member device is connected with the user device;
determining that the first link is not congested if the first actually used bandwidth does not exceed the first allocated bandwidth.
11. The apparatus of claim 8, wherein the plurality of member devices comprises a first member device;
the acquisition module includes:
and the second receiving submodule is used for receiving the congestion state from the first member equipment to obtain the congestion state of a first link, wherein the first link is a link for connecting the port of the first member equipment with the user equipment.
12. The apparatus of any one of claims 8-11, wherein the plurality of member devices includes a second member device and a third member device, a second port of the second member device is connected with the user device through a second link, and a third port of the third member device is connected with the user device through a third link;
the adjustment module is specifically configured to:
if the second link is congested and the third link is not congested, increasing a second allocated bandwidth and decreasing a third allocated bandwidth, wherein the adjusted sum of the allocated bandwidths of the plurality of member devices and the user equipment for transmitting traffic is equal to the value of the rated bandwidth, the second allocated bandwidth is the allocated bandwidth of the second member device and the user equipment for transmitting traffic, and the third allocated bandwidth is the allocated bandwidth of the third member device and the user equipment for transmitting traffic.
13. The apparatus of any one of claims 8-11, wherein the plurality of member devices includes a second member device and a third member device, a second port of the second member device is connected with the user device through a second link, and a third port of the third member device is connected with the user device through a third link;
the adjustment module includes:
the acquisition submodule is used for acquiring a second port state and a third port state, wherein the second port state is used for indicating whether the second port fails, and the third port state is used for indicating whether the third port fails;
and an adjusting submodule, configured to increase a third allocated bandwidth according to a congestion state of the third link if the second port state indicates that the second port fails and the third port state indicates that the third port does not fail, where a sum of allocated bandwidths of the user equipment and the member equipment whose port has not failed after adjustment is equal to the value of the rated bandwidth, and the third allocated bandwidth is an allocated bandwidth of the user equipment and the third member equipment for transmission traffic.
14. An apparatus according to any one of claims 8 to 13, wherein the control device is one of the plurality of member devices or the control device is one of the plurality of member devices other than the plurality of member devices.
15. A computer-readable storage medium, characterized in that a computer program is stored in the storage medium, which computer program, when being executed by a processor, carries out the steps of the method of one of the claims 1 to 7.
CN202010339819.6A 2020-04-26 2020-04-26 Bandwidth management method, device and storage medium Active CN113556243B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010339819.6A CN113556243B (en) 2020-04-26 2020-04-26 Bandwidth management method, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010339819.6A CN113556243B (en) 2020-04-26 2020-04-26 Bandwidth management method, device and storage medium

Publications (2)

Publication Number Publication Date
CN113556243A true CN113556243A (en) 2021-10-26
CN113556243B CN113556243B (en) 2022-11-08

Family

ID=78101557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010339819.6A Active CN113556243B (en) 2020-04-26 2020-04-26 Bandwidth management method, device and storage medium

Country Status (1)

Country Link
CN (1) CN113556243B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115250238A (en) * 2022-07-22 2022-10-28 中国电信股份有限公司 Bandwidth management method, system, device and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184041A (en) * 2007-12-07 2008-05-21 烽火通信科技股份有限公司 Method for implementing automatic grading bandwidth regulation on multi-service transmission platform
CN101686151A (en) * 2008-09-27 2010-03-31 华为技术有限公司 Path protection method and system of service transport network
WO2011015155A1 (en) * 2009-08-07 2011-02-10 华为技术有限公司 Bandwidth management method, evolution base station, service gateway and communication system
WO2014032503A1 (en) * 2012-08-31 2014-03-06 中兴通讯股份有限公司 Service protection method and system for composite link

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184041A (en) * 2007-12-07 2008-05-21 烽火通信科技股份有限公司 Method for implementing automatic grading bandwidth regulation on multi-service transmission platform
CN101686151A (en) * 2008-09-27 2010-03-31 华为技术有限公司 Path protection method and system of service transport network
WO2011015155A1 (en) * 2009-08-07 2011-02-10 华为技术有限公司 Bandwidth management method, evolution base station, service gateway and communication system
WO2014032503A1 (en) * 2012-08-31 2014-03-06 中兴通讯股份有限公司 Service protection method and system for composite link

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115250238A (en) * 2022-07-22 2022-10-28 中国电信股份有限公司 Bandwidth management method, system, device and storage medium
CN115250238B (en) * 2022-07-22 2024-12-27 中国电信股份有限公司 Bandwidth management method, system, device and storage medium

Also Published As

Publication number Publication date
CN113556243B (en) 2022-11-08

Similar Documents

Publication Publication Date Title
US11316774B2 (en) Path selection method and apparatus
US11134029B2 (en) Communication method, communications device, and storage medium
US10148492B2 (en) Data center bridging network configuration and management
CN108337179B (en) Link flow control method and device
US20130003549A1 (en) Resilient Hashing for Load Balancing of Traffic Flows
CN110830391A (en) Resource allocation method and device and cluster system
CN112491700B (en) Network path adjustment method, system, device, electronic equipment and storage medium
CN105656645A (en) Decision making method and device for fault processing of stacking system
US20230246944A1 (en) Shaping outgoing traffic of network packets in a network management system
CN112311674B (en) Message sending method, device and storage medium
CN106982238B (en) Method for distributing network path resources, policy control center and host
US9900804B2 (en) Method and device for processing to share network resources, and method, device and system for sharing network resources
CN113556243B (en) Bandwidth management method, device and storage medium
US11979335B2 (en) Network controller
CN111092824B (en) Traffic management system, traffic management method, electronic terminal, and storage medium
US12107760B2 (en) Transmitting traffic on path between nodes in network device based on available bandwidths
CN103780511B (en) The machinery of consultation of flow path and device in link aggregation group
US8310926B1 (en) Modem count based load balancing in a cable network
WO2023280185A1 (en) Cross-device link aggregation load processing method, gateway device, and system
CN116318554A (en) Network transmission method and device
Wu et al. Routing policy for balanced management of slices using flexible Ethernet
Heise et al. Self-configuring real-time communication network based on OpenFlow
CN112653626A (en) High-delay link determining method, route publishing method and device
CN114268589B (en) Traffic forwarding method, device and storage medium
US20230077864A1 (en) System and method for managing distributed shaping in a computer network

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