CN118282988A - Congestion management method and communication device - Google Patents
Congestion management method and communication device Download PDFInfo
- Publication number
- CN118282988A CN118282988A CN202211737887.3A CN202211737887A CN118282988A CN 118282988 A CN118282988 A CN 118282988A CN 202211737887 A CN202211737887 A CN 202211737887A CN 118282988 A CN118282988 A CN 118282988A
- Authority
- CN
- China
- Prior art keywords
- physical member
- member port
- port
- physical
- trunk
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 53
- 238000007726 management method Methods 0.000 title abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000001514 detection method Methods 0.000 claims abstract description 38
- 230000002159 abnormal effect Effects 0.000 claims abstract description 27
- 230000005856 abnormality Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 5
- 208000027744 congestion Diseases 0.000 description 39
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 238000011144 upstream manufacturing Methods 0.000 description 14
- 239000004744 fabric Substances 0.000 description 8
- 241001522296 Erithacus rubecula Species 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000007493 shaping process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006735 deficit Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application provides a congestion management method and a communication device, which are applied to the technical field of communication. The method may include: and performing anomaly detection on a first physical member port included in the TRUNK port, wherein the first physical member port is any physical member port included in the TRUNK port. And when the first physical member port is abnormal, the first physical member port is deactivated or the first physical member port is subjected to speed limiting. Based on the scheme, when the first physical member port in the TRUNK port is abnormal, the first physical member port can be processed in time so as to eliminate or relieve the congestion state of the first physical member port, thereby reducing the influence on the flow forwarding of other member ports in the TRUNK port.
Description
Technical Field
The present application relates to the field of communications technologies, and in particular, to a congestion management method and a communications device.
Background
A TRUNK port (or TRUNK interface) is a port that aggregates multiple physical ports into one logic, making the multiple physical ports operate as if they were one channel. After a plurality of physical ports are bound, the bandwidth of the whole network is improved, data is transmitted through a plurality of links corresponding to the bound physical ports, the effect of link redundancy is achieved, and after one link fails, the other links can work.
Multiple physical ports of the TRUNK port may correspond to multiple user members, and one TRUNK port may transmit traffic of multiple user members. Wherein, the plurality of physical ports bound by the TRUNK port may be referred to as a plurality of physical member ports.
In one implementation, a device with a TRUNK port may use one scheduling tree to centrally schedule traffic for multiple member ports bound by the TRUNK port. In this case, when an abnormality occurs in one of the TRUNK ports, the traffic of that member port is back-pressure, and upstream traffic scheduling is suppressed. Because the traffic of a plurality of member ports shares one scheduling tree, the traffic scheduling of other member ports is affected.
Disclosure of Invention
The application provides a congestion management method and a communication device, which are used for solving the problem that when the traffic of a plurality of member ports in a TRUNK port shares one scheduling tree, the traffic forwarding of other member ports is affected when congestion back pressure occurs in one member port.
In order to achieve the above purpose, the application adopts the following technical scheme:
In a first aspect, a congestion management method is provided, which may include: and performing anomaly detection on a first physical member port included in the TRUNK port, wherein the first physical member port is any physical member port included in the TRUNK port. And when the first physical member port is abnormal, the first physical member port is deactivated or the first physical member port is subjected to speed limiting.
Based on the scheme, when the first physical member port in the TRUNK port is abnormal, the first physical member port can be processed in time so as to eliminate or relieve the congestion state of the first physical member port, thereby reducing the influence on the flow forwarding of other member ports in the TRUNK port.
With reference to the first aspect, in a possible implementation manner, the detecting an abnormality of the first physical member port included in the TRUNK port may specifically include: and detecting the number of the pause frames corresponding to the first physical member port and the flow rate of the first physical member port. And determining that the first physical member port is abnormal under the condition that the number of the pause frames corresponding to the first physical member port detected in unit time is larger than or equal to a first threshold value and the flow rate of the first physical member port is smaller than or equal to a second threshold value.
With reference to the first aspect, in a possible implementation manner, disabling the first physical member port may specifically include: the first physical member port is configured to a DOWN state.
With reference to the first aspect, in a possible implementation manner, the method may further include: and switching the flow corresponding to the first physical member port to other physical member ports except the first physical member port in the TRUNK port for forwarding.
With reference to the first aspect, in a possible implementation manner, the detecting an abnormality of the first physical member port included in the TRUNK port may specifically include: the traffic rate of the first physical member port is detected. And determining that the first physical member port is abnormal under the condition that the flow rate of the first physical member port is greater than or equal to a third threshold value and the duration time is longer than a fourth threshold value.
With reference to the first aspect, in one possible implementation manner, the speed limiting on the first physical member port may specifically include: the first physical member port is configured with a committed access rate, CAR, that is used to limit the traffic rate of the first physical member port.
In a second aspect, a communication device is provided that may include an anomaly detection module and an anomaly processing module. The abnormality detection module may be configured to perform abnormality detection on a first physical member port included in the TRUNK port, where the first physical member port is any physical member port included in the TRUNK port. And the abnormality processing module can be used for stopping the first physical member port or limiting the speed of the first physical member port when the first physical member port is abnormal.
With reference to the second aspect, in one possible implementation manner, the abnormality detection module is configured to perform abnormality detection on a first physical member port included in the TRUNK port, and may specifically include: the anomaly detection module is used for detecting the quantity of the pause frames corresponding to the first physical member port and the flow rate of the first physical member port. And the abnormality detection module is further configured to determine that the first physical member port is abnormal when the number of pause frames corresponding to the first physical member port detected in the unit time is greater than or equal to a first threshold and the flow rate of the first physical member port is less than or equal to a second threshold.
With reference to the second aspect, in one possible implementation manner, the exception handling module is configured to deactivate the first physical member port, and may specifically include: the exception handling module is to configure the first physical member port to a DOWN state.
With reference to the second aspect, in one possible implementation manner, the exception handling module may be further configured to: and switching the flow corresponding to the first physical member port to other physical member ports except the first physical member port in the TRUNK port for forwarding.
With reference to the second aspect, in one possible implementation manner, the abnormality detection module is configured to perform abnormality detection on a first physical member port included in the TRUNK port, and may specifically include: the abnormality detection module is used for detecting the flow rate of the first physical member port. And the abnormality detection module is further used for determining that the first physical member port is abnormal when the flow rate of the first physical member port is greater than or equal to a third threshold value and the duration time is longer than a fourth threshold value.
With reference to the second aspect, in one possible implementation manner, the exception handling module is configured to limit a speed of the first physical member port, and may specifically include: the exception handling module is configured to configure a committed access rate, CAR, for the first physical member port, the CAR being configured to limit a traffic rate of the first physical member port.
In a third aspect, there is provided a communication apparatus comprising: a processor; the processor is configured to, after being coupled to the memory and reading the instruction in the memory, execute the congestion management method according to any of the first aspects above according to the instruction.
In a fourth aspect, there is provided a computer readable storage medium having instructions stored therein which, when run on a computer, cause the computer to perform the congestion management method of any of the first aspects above.
In a fifth aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform the congestion management method of any of the first aspects above.
The technical effects of any one of the design manners of the second aspect to the fifth aspect may be referred to the technical effects of the different design manners of the first aspect, and will not be repeated here.
Drawings
Fig. 1 is a schematic forwarding flow diagram of a network device in a data plane according to an embodiment of the present application;
fig. 2 is a schematic diagram of a functional module of a network device according to an embodiment of the present application;
Fig. 3 is a schematic diagram of a hierarchical scheduling model of HQoS according to an embodiment of the present application;
fig. 4 is a schematic diagram of a 5-level scheduling structure of HQoS according to an embodiment of the present application;
Fig. 5 is a schematic diagram illustrating comparison of QoS and HQoS according to an embodiment of the present application;
Fig. 6 is a schematic diagram of scheduling traffic of a TRUNK port according to an embodiment of the present application;
fig. 7 is a schematic diagram of another scheduling of traffic of a TRUNK port according to an embodiment of the present application;
FIG. 8 is a schematic diagram of a congestion backpressure provided by an embodiment of the present application;
Fig. 9 is a schematic flow chart of a congestion management method according to an embodiment of the present application;
Fig. 10 is a flow chart of another congestion management method according to an embodiment of the present application;
fig. 11 is a flow chart of another congestion management method according to an embodiment of the present application;
Fig. 12 is a schematic structural diagram of a communication device according to an embodiment of the present application;
fig. 13 is a schematic structural diagram of another communication device according to an embodiment of the present application.
Detailed Description
For convenience of understanding, first, technical terms related to the present application and related technologies will be briefly described.
The physical structure in a network device such as a switch, a router, etc. mainly includes the following three types:
A main processing unit (main processing unit, MPU): is responsible for the control plane of the whole system. The MPU may be referred to as a host board card or a management engine, etc.
Switching fabric unit (switch fabric unit, SFU): is responsible for the data plane of the whole system. The data plane provides a high-speed non-blocking data channel to realize the service exchange function among the service modules. The SFU may be referred to as a switch board, or switch matrix, among others.
Line processing unit (line processing unit, LPU): the device is a module for providing a data forwarding function and provides equipment interfaces such as optical interfaces, electric interfaces and the like with different rates. The LPU may be referred to as a line card or interface board, etc.
According to the data flow direction, the message forwarding of the network devices such as the switch, the router and the like can be divided into an uplink flow and a downlink flow. A forwarding flow diagram of a network device such as a switch, a router, etc. in a data plane may be shown in fig. 1. Referring to fig. 1, the switching fabric may be connected to an access side and a network side through a line card, respectively, and traffic on the access side and traffic on the network side implement switching on the switching fabric. The uplink traffic of the access side can enter the network side through the switching network board to become the downlink traffic of the network side. Upstream traffic on the network side may enter the access side through the switch fabric, referred to as downstream traffic on the access side.
On the data plane, the functional modules through which traffic passes in the device may be as shown in fig. 2. Referring to fig. 2, in the upstream direction, upstream traffic may sequentially pass through an upstream physical interface controller (PHYSICAL INTERFACE controller, PIC), an upstream packet forwarding engine (packet forward engine, PFE), an upstream traffic manager (TRAFFIC MANAGER, TM), and an upstream switching network interface controller (fabric interface controller, FIC) after entering the device, and then enter the switching fabric. In the downstream direction, downstream traffic flows out of the switching fabric may pass through downstream FIC, downstream TM, downstream PFE, and downstream PIC in order, and then out of the device. An egress traffic manager (EGRESS TRAFFIC MANAGER, eTM) may be included in the downstream PIC.
It can be understood that both the uplink and downlink of the access side of the network device and the uplink and downlink of the network side can be the flow shown in fig. 2, which is collectively described herein.
In practical applications, the forwarding of the data flow may have a certain requirement on the quality of service (quality of service, qos). Thus, the data flow can be processed using Qos technology at the functional module in the forwarding process. Fig. 2 also illustrates, for example, applications of Qos techniques on various modules in the traffic forwarding process. As shown in fig. 2, in the upstream direction: the upstream PFE may perform flow classification, internal tagging, committed ACCESS RATE (CAR), unicast REVERSE PATH forwarding, URPF, filtering, mirroring, sampling, redirection, statistics, etc. The up and down TM may perform packet-based queue management, and may specifically include congestion avoidance, queue scheduling, traffic shaping (shaping), and the like. In the downstream direction: the downstream TM may perform packet-based queue management, and may specifically include congestion avoidance, queue scheduling, traffic shaping, and the like. Downstream PFE may perform flow classification, internal tagging (e (tm is only meaningful to include in downstream PIC), CAR, external tagging, filtering (filter), mirroring, sampling, statistics, etc. The eTM in the downstream PIC may perform packet-based queue management, and may specifically include congestion avoidance, queue scheduling, traffic shaping, and so on.
Hierarchical QoS (HIERARCHICAL QUALITY OF SERVICE, HQoS): the method is a technology for solving the problem of multi-user multi-service bandwidth guarantee through a multi-level queue scheduling mechanism. The traditional QoS adopts primary scheduling, a single port can only distinguish service priority, users cannot be distinguished, and single traffic of a single user on the port cannot be distinguished for service. The HQoS adopts a multi-level scheduling mode, so that the traffic of different users and different services can be finely distinguished, and finer bandwidth management is provided.
To implement hierarchical scheduling, the HQoS adopts a hierarchical scheduling model of a tree structure, as shown in fig. 3, which may have three nodes:
1. Leaf node: at the bottom, each leaf node represents a queue, is a scheduled object, and can only be scheduled.
2. Intermediate node (or referred to as branch node): at the middle layer, both the scheduler and the scheduled object. When being a scheduled object, an intermediate node can be regarded as a virtual queue, and does not occupy actual cache.
3. Root node: at the highest level, representing the highest level scheduler, the root node is just the scheduler and not the scheduling object.
Currently, the HQoS of a network device such as a router or a switch may have a level 5 scheduling, and fig. 4 shows a schematic diagram of a hierarchical scheduling model of the level 5 scheduling. As shown in fig. 4, the hierarchical scheduling model of the 5-level scheduling is also in a tree structure, and may include, in order from a leaf node to a root node: flow Queue (FQ), subscriber Queue (SQ), group Queue (GQ), virtual subinterface queue (virtual interface, VI) and port queue (DP). The description of the 5 scheduling queues is as follows:
1. Flow queue: for prioritizing traffic within the user. Traffic priorities within the user may include 802.1P priority, network protocol (internet protocol, IP) priority, or Differentiated Services Code Point (DSCP), etc.
2. User queue: for distinguishing between different users. The user queue supports deployment of CIRs (Committed Information Rate, committed information rates) and PIRs (Peak Information Rate, highest information rates).
3. User group queues: for distinguishing between different groups of users. The subscriber group queues support traffic shaping to limit the bandwidth of the entire subscriber group.
4. Virtual subinterface queues may be used to distinguish between different logical subinterfaces.
5. Port queues: representing physical outlets, no additional configuration is typically required.
The scheduling manners adopted among the flow queues, the user group queues or the virtual sub-interface queues may include a first-in first-out (FIRST IN FIRST out, FIFO), a Strict Priority (SP), a Round Robin (RR), a weighted round robin (weighted round robin, WRR), a differential round robin (deficit round robin, DRR), a weighted differential round robin (WEIGHTED DEFICIT round robin, WDRR), a weighted fair queue (WEIGHTED FAIR queuing, WFQ), and so on.
The scheduling mechanism of the HQoS 5-level scheduling model for messages is as follows:
newspaper Wen Rudui: the message first goes into the FQ queue. When the message is put into the FQ queue, the system checks the state of the queue to determine whether tail discarding or WRED discarding is carried out, and if the message is not discarded, the message is put into the FQ queue for caching.
Request scheduling: after the message is put into the FQ queue, the state change of the queue is reported to the SQ scheduler and scheduling is requested, and the SQ scheduler reports the state change of the queue to the previous-stage GQ scheduler and requests scheduling. The request scheduling process is: FQ→SQ→GQ→VI→DP.
Step-by-step scheduling: the DP scheduler, upon receiving the request, begins to select VI downwards, and the selected VI selects GQ. The step-by-step scheduling process is as follows: DP→VI→GQ→SQ→FQ.
Message dequeue: after FQ is selected, the front message of FQ queue dequeues, and FQ updates queue state, SQ, GQ, VI, DP updates token bucket state.
It can be understood that the SQ, GQ and VI scheduling nodes introduced by HQoS are schedulers and scheduled objects, and a plurality of sub schedulers can be hung under each stage, for example, a plurality of SQ can be hung under GQ, a plurality of GQ can be hung under VI, so that finer granularity and more layered scheduling management of interface resources can be realized, and fine allocation and management of interface resources can be realized. In practical application, the VI/GQ can be used as the resource management of a certain type of service or client group, and the SQ can be used as the resource management of a specific user.
Fig. 5 shows a schematic diagram of QoS and HQoS, where QoS is scheduled according to traffic priority on ports as shown in fig. 5, and HQoS adds a multi-level scheduling model (5-level scheduling model described above is shown in fig. 5) on the basis of QoS scheduling mechanism, so as to implement more refined scheduling on resources.
TRUNK: is a binding technique. Multiple physical interfaces are bundled into one logical interface, which is called a TRUNK interface or TRUNK interface, and each physical interface bundled together is called a member interface. The TRUNK technology can realize the functions of increasing bandwidth, improving reliability and load sharing.
It should be understood that the traffic of one TRUNK port may include the traffic of a plurality of users, and the traffic of each user may correspond to a plurality of services. Therefore, the HQoS technology can be used for hierarchical and fine scheduling of the traffic of the TRUNK port. Traffic for the TRUNK port may also be scheduled, for example, by the 5-level scheduling model described above.
In one implementation, traffic of multiple member ports bound by the TRUNK port is managed in a centralized manner, and traffic of multiple member ports is managed by a scheduling tree. Fig. 6 shows a schematic diagram of scheduling traffic for TRUNK ports, which bind port 1, port 2, and port 3 together by 3 member ports, as shown in fig. 6. Wherein, port 1 may correspond to SQ1, port 2 may correspond to SQ2, port 3 may correspond to SQ3, SQ1, SQ2, and SQ3 may be hooked under the same GQ (i.e., GQ 1), GQ1 is hooked under VI1, and VI1 is hooked under DP 1. The flow scheduling process of the port 1 is SQ1→GQ1→VI1→DP1, the flow scheduling process of the port 2 is SQ2→GQ1→VI1→DP1, the flow scheduling process of the port 3 is SQ3→GQ1→VI1→DP1, and the 3 scheduling processes share the same scheduling tree.
In another implementation, traffic of multiple member ports bound by the TRUNK port is managed separately, and traffic of each member port is managed independently through a scheduling tree. Fig. 7 shows another schematic diagram of scheduling traffic for TRUNK ports, which bind port 1, port 2, and port 3 together by 3 member ports, as shown in fig. 7. Wherein port 1 may correspond to SQ1, port 2 may correspond to SQ2, and port 3 may correspond to SQ3.SQ1 is hooked under GQ1, GQ1 is hooked under VI1, VI1 is hooked under DP1, and the flow scheduling process of port 1 is SQ1→GQ1→VI1→DP1.SQ2 is hooked under GQ2, GQ2 is hooked under VI2, VI2 is hooked under DP2, and the flow scheduling process of port 2 is SQ 2- & gtGQ 2- & gtVI 2- & gtDP 2.SQ3 is hooked under GQ3, GQ3 is hooked under VI3, VI3 is hooked under DP3, and the flow scheduling process of port 3 is SQ 3- & gtGQ 3- & gtVI 3- & gtDP 3. The 3 scheduling flows use independent scheduling trees.
It can be appreciated that if the traffic of each member port in the TRUNK port is independently scheduled, there is a problem in that the traffic management chip consumes a large amount of resources. Every time a traffic management is added to the TRUNK interface, hardware resources are required to be consumed on each member scheduling tree of the TRUNK. Therefore, the current common scheduling scheme is to centrally manage traffic of multiple member ports bound to the TRUNK port.
Back pressure): is a dynamic feedback mechanism in a streaming system regarding processing power, and is feedback from downstream to upstream. When the downstream flow capacity is insufficient, a backpressure signal is transmitted progressively upstream to indicate that the upstream flow delivery is suspended. The backpressure mechanism relieves congestion by means of source suppression.
Pause (pause) frame: the pause frame is a control frame for controlling the data stream to stop transmitting. On the traffic path, if a certain forwarding device has congestion, the device can generate a pause frame, and can send the pause frame step by step to the upstream of the traffic, so as to control the data flow to stop sending, and relieve the congestion. The pause frame is a backpressure signal.
Under the condition of centralized management of traffic of multiple member ports bound by the TRUNK port (as shown in fig. 6), because the multiple member ports share one scheduling tree, when traffic of a certain member in the TRUNK port is abnormal and congestion back pressure is generated, traffic scheduling of the TRUNK port is blocked integrally, and traffic forwarding of other normal member ports in the TRUNK port is affected. Illustratively, fig. 8 shows a schematic diagram of congestion backpressure, where after receiving a pause frame, port 1 will backpressure hop-by-hop along the corresponding scheduling tree (sq1→gq1→v1→dp1) of port 1 to suppress source traffic. However, traffic for ports 2 and 3 also needs to be scheduled through gq1→v1→dp 1. Thus, the back pressure of port 1 affects the scheduling capability of GQ1, VI1 and DP1 for traffic, and thus affects the scheduling and forwarding of traffic for ports 2 and 3.
Under the condition that the traffic of a plurality of member ports bound by the TRUNK port is managed in a centralized way, how to reduce the influence of the traffic blocking of the member ports on the whole TRUNK port traffic scheduling is a problem to be solved.
The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application. Wherein, in the description of the present application, "/" means that the related objects are in a "or" relationship, unless otherwise specified, for example, a/B may mean a or B; the "and/or" in the present application is merely an association relationship describing the association object, and indicates that three relationships may exist, for example, a and/or B may indicate: there are three cases, a alone, a and B together, and B alone, wherein a, B may be singular or plural. Also, in the description of the present application, unless otherwise indicated, "a plurality" means two or more than two. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (one) of a, b, or c may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or plural. In addition, in order to facilitate the clear description of the technical solution of the embodiments of the present application, in the embodiments of the present application, the words "first", "second", etc. are used to distinguish the same item or similar items having substantially the same function and effect. It will be appreciated by those of skill in the art that the words "first," "second," and the like do not limit the amount and order of execution, and that the words "first," "second," and the like do not necessarily differ. Meanwhile, in the embodiments of the present application, words such as "exemplary" or "such as" are used to mean serving as examples, illustrations or explanations. Any embodiment or design described herein as "exemplary" or "e.g." in an embodiment should not be taken as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion that may be readily understood.
The flow diagram of the congestion management method provided by the embodiment of the application can be shown in fig. 9, and the method can comprise the following steps:
Step 901, performing anomaly detection on a first physical member port included in the TRUNK port, where the first physical member port is any physical member port included in the TRUNK port.
Alternatively, one TRUNK port may include a plurality of physical member ports, and the first physical member port is any one of the plurality of physical member ports. Illustratively, taking the TRUNK port in fig. 6, 7 or 8 as an example, the TRUNK port may include 3 physical member ports, namely, port 1, port 2 and port 3, and the first physical member port may be any one of port 1, port 2 or port 3.
Optionally, performing anomaly detection on the first physical member port included in the TRUNK port may specifically include: and detecting the number of the pause frames corresponding to the first physical member port and the flow rate of the first physical member port. And determining that the first physical member port is abnormal under the condition that the number of the pause frames corresponding to the first physical member port detected in unit time is larger than or equal to a first threshold value and the flow rate of the first physical member port is smaller than or equal to a second threshold value.
It may be understood that if a physical member port in the TRUNK port is congested, a device including the TRUNK port generates a pause frame corresponding to the physical member port, where the pause frame is used to instruct a traffic queue corresponding to the physical member port to suspend transmission.
Based on this, in the embodiment of the present application, if the pause frame corresponding to the first physical member port is detected, it is indicated that congestion has occurred in the first physical member port. And if the number of the pause frames corresponding to the first physical member port detected in the unit time is larger, the congestion state of the first physical member port is more serious. In addition, the smaller the traffic rate of the first physical member port, the more serious the congestion state of the first physical member port may be explained. Thus, if the number of pause frames corresponding to the first physical member port detected in the unit time is large and the flow rate of the first physical member port is small, the first physical member port can be considered abnormal.
Optionally, performing anomaly detection on the first physical member port included in the TRUNK port may specifically include: the traffic rate of the first physical member port is detected. And determining that the first physical member port is abnormal under the condition that the flow rate of the first physical member port is greater than or equal to a third threshold value and the duration time is longer than a fourth threshold value.
As one possible implementation, the third threshold may be close to the maximum rate/bandwidth of the first physical member port. The first physical member port may be considered to be almost full if the traffic rate of the first physical member port is greater than or equal to the third threshold. It will be appreciated that if the first physical member port is in a near full state for a long period of time, then the first physical member port may be at risk of congestion. In order to prevent congestion of the first physical member port, the embodiment of the present application considers this situation as an abnormality of the first physical member port.
And 902, when the first physical member port is abnormal, deactivating the first physical member port or limiting the speed of the first physical member port.
Optionally, in a case that the number of pause frames corresponding to the first physical member port detected in the unit time is greater than or equal to the first threshold value, and the traffic rate of the first physical member port is less than or equal to the second threshold value, the first physical member port may be deactivated.
As one possible implementation manner, disabling the first physical member port may specifically include: the first physical member port is configured to a DOWN state.
It is to be appreciated that the states of the physical ports may include an UP state and a DOWN state, and that the physical port in the DOWN state (e.g., the first physical member port) may not be operational and traffic forwarding may not occur.
Optionally, the method may further include: and switching the flow corresponding to the first physical member port to other physical member ports except the first physical member port in the TRUNK port for forwarding.
It should be appreciated that even if the first physical member port DOWN of the TRUNK port is dropped, user traffic corresponding to the original first physical member port is still forwarded by the TRUNK port. In this case, it is necessary to switch the traffic corresponding to the first physical member port to the other physical member ports except the first physical member port in the TRUNK port for forwarding. As a possible implementation manner, the user traffic corresponding to the original first physical member port may be allocated to each physical member port except the first physical member port in the TRUNK port for forwarding based on the load balancing principle.
Optionally, the first physical member port may be rate limited if the traffic rate of the first physical member port is greater than or equal to the third threshold and the duration is greater than the fourth threshold.
As a possible implementation manner, the speed limiting on the first physical member port may specifically include: a CAR is configured for the first physical member port, the CAR being used to limit the traffic rate of the first physical member port. Wherein the CAR may cause the first physical member port ingress and egress traffic rate to proceed at some standard upper limit. The application can set the upper limit of the CAR lower so as to achieve the aim of speed limitation.
It should be understood that, by limiting the speed of the first physical member port, the traffic of the subsequent transmission of the first physical member port can be reduced, so that the congestion situation of the first physical member port can be relieved, and the congestion back pressure is prevented from being generated.
Alternatively, after configuring the CAR for the first physical member port, if it is detected that the TRUNK port is not abnormal for the continuous first duration, the CAR speed limit for the first physical member port may be canceled.
In summary, the present application provides a congestion management method, where when detecting that a physical member port in a TRUNK port is abnormal, a device may deactivate the physical member port or speed limit the physical member port, so as to solve or alleviate the congestion situation of the physical member port in the TRUNK port. Based on the scheme, the back pressure problem caused by abnormality can be effectively avoided, and the head resistance of the TRUNK port can be reduced.
Next, a detailed flow of the congestion management method provided by the present application will be described in conjunction with the above description.
As a possible implementation manner, fig. 10 shows a flow chart of another congestion management method provided by the present application, where the method may include the following steps:
Step 1001, detecting the number of pause frames corresponding to the first physical member port and the traffic rate of the first physical member port.
Step 1002, determining that the first physical member port is abnormal when the number of pause frames corresponding to the first physical member port detected in the unit time is greater than or equal to a first threshold and the flow rate of the first physical member port is less than or equal to a second threshold.
Step 1003, configuring the first physical member port to be in a DOWN state, and switching the traffic corresponding to the first physical member port to other physical member ports except the first physical member port in the TRUNK port for forwarding.
As another possible implementation manner, fig. 11 shows a flow chart of another congestion management method provided by the present application, where the method may include the following steps:
step 1101, detecting a traffic rate of the first physical member port.
Step 1102, determining that the first physical member port is abnormal when the traffic rate of the first physical member port is greater than or equal to the third threshold and the duration is greater than the fourth threshold.
Step 1103, configuring a CAR for the first physical member port, where the CAR is used to limit the traffic rate of the first physical member port.
Alternatively, the congestion management method of the present application may be applied to a network device such as a router or a switch, for example, a network device having the structure shown in fig. 2. As one possible implementation, configuring the CAR for the first physical member port may be performed by a PFE in the device and the detection of the pause frame, traffic rate or traffic rate may be performed by a TM in the device.
Optionally, the embodiment of the application further provides a communication device, which can be used for implementing the various methods. It will be appreciated that the communication device, in order to achieve the above-described functions, comprises corresponding hardware structures and/or software modules performing the respective functions. Those of skill in the art will readily appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The embodiment of the application can divide the functional modules of the communication device according to the above method embodiment, for example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The integrated modules may be implemented in hardware or in software functional modules. It should be noted that, in the embodiment of the present application, the division of the modules is schematic, which is merely a logic function division, and other division manners may be implemented in actual implementation.
Fig. 12 shows a schematic structural diagram of a communication device 120, and the communication device 120 may include an anomaly detection module 1201 and an anomaly processing module 1202. The abnormality detection module 1201 is configured to perform abnormality detection on a first physical member port included in the TRUNK port, where the first physical member port is any physical member port included in the TRUNK port. The exception handling module 1202 is configured to deactivate the first physical member port or limit the speed of the first physical member port when the first physical member port is abnormal.
Optionally, when performing anomaly detection on the first physical member port included in the TRUNK port, the anomaly detection module 1201 may be specifically configured to detect the number of pause frames corresponding to the first physical member port and the traffic rate of the first physical member port. The anomaly detection module 1201 may be further configured to determine that the first physical member port is abnormal when the number of pause frames corresponding to the first physical member port detected in the unit time is greater than or equal to a first threshold and the flow rate of the first physical member port is less than or equal to a second threshold.
Optionally, the exception handling module 1202 is specifically configured to configure the first physical member port to a DOWN state when the first physical member port is deactivated.
Optionally, the exception handling module 1202 may be further configured to switch the traffic corresponding to the first physical member port to forwarding to other physical member ports in the TRUNK port except the first physical member port.
Optionally, in performing anomaly detection on the first physical member port included in the TRUNK port, the anomaly detection module 1201 may specifically be configured to detect a traffic rate of the first physical member port. The abnormality detection module 1201 may be further configured to determine that the first physical member port is abnormal if the traffic rate of the first physical member port is greater than or equal to the third threshold and the duration is greater than the fourth threshold.
Optionally, when the first physical member port is speed limited, the exception handling module 1202 may be specifically configured to configure the first physical member port with a committed access rate CAR, where CAR is used to limit a traffic rate of the first physical member port.
It should be noted that, all relevant contents of each step related to the above method embodiment may be cited to the functional description of the corresponding functional module, which is not described herein. Since the communication device 120 provided in this embodiment can execute the above-mentioned congestion management method, the technical effects obtained by the method can be referred to the above-mentioned method embodiment, and will not be described herein.
Alternatively, in the present embodiment, the communication device 120 is presented in a form in which the respective functional modules are divided in an integrated manner. A "module" herein may refer to a particular ASIC, an electronic circuit, a processor and memory that execute one or more software or firmware programs, an integrated logic circuit, and/or other device that can provide the described functionality.
In one possible implementation, one skilled in the art will recognize that the communication device 120 may take the form of the communication device 130 shown in FIG. 13. Fig. 13 is a schematic structural diagram of another communication device according to an embodiment of the present application. As shown in fig. 13, the communication device 130 includes one or more processors 1301, a communication line 1302, and at least one communication interface (fig. 13 is merely exemplary to include a communication interface 1303, and a processor 1301 is illustrated as an example), and may optionally include a memory 1304.
Processor 1301 may be a general purpose central processing unit (central processing unit, CPU), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the programs of the present application.
The communication line 1302 may include a path for communication between different components.
The communication interface 1303, which may be a transceiver module, is used to communicate with other devices or communication networks, such as ethernet, RAN, wireless local area network (wireless local area networks, WLAN), etc. For example, the transceiver module may be a device such as a transceiver, or the like. Optionally, the communication interface 1303 may also be a transceiver circuit located in the processor 1301, so as to implement signal input and signal output of the processor.
The memory 1304 may be a device having a memory function. For example, but not limited to, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (random access memory, RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (ELECTRICALLY ERASABLE PROGRAMMABLE READ-only memory, EEPROM), a compact disc read-only memory (compact disc read-only memory) or other optical disk storage, optical disk storage (including compact discs, laser discs, optical discs, digital versatile discs, blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, 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. The memory may be separate and coupled to the processor via communication line 1302. The memory may also be integrated with the processor.
The memory 1304 is used for storing computer-executable instructions for executing the inventive arrangements, and is controlled by the processor 1301 for execution. The processor 1301 is configured to execute computer-executable instructions stored in the memory 1304, thereby implementing the congestion management method provided in the embodiment of the present application.
Alternatively, in the embodiment of the present application, the processor 1301 may perform a function related to processing in the congestion management method provided in the embodiment of the present application, where the communication interface 1303 is responsible for communicating with other devices or communication networks, and the embodiment of the present application is not limited in detail.
Alternatively, the computer-executable instructions in the embodiments of the present application may be referred to as application program codes, which are not particularly limited in the embodiments of the present application.
In a particular implementation, processor 1301 may include one or more CPUs, such as CPU0 and CPU1 of FIG. 13, as an embodiment.
In a particular implementation, as one embodiment, the communication device 130 may include multiple processors, such as processor 1301 and processor 1307 in fig. 13. Each of these processors may be a single-core processor or a multi-core processor. The processor herein may include, but is not limited to, at least one of: a central processing unit (central processing unit, CPU), microprocessor, digital Signal Processor (DSP), microcontroller (microcontroller unit, MCU), or artificial intelligence processor, each of which may include one or more cores for executing software instructions to perform operations or processes.
In a specific implementation, as an embodiment, the communication apparatus 130 may further include an output device 1305 and an input device 1306. The output device 1305 communicates with the processor 1301 and may display information in a variety of ways. For example, the output device 1305 may be a Liquid Crystal Display (LCD) CRYSTAL DISPLAY, a Light Emitting Diode (LED) display device, a Cathode Ray Tube (CRT) display device, or a projector (projector), or the like. The input device 1306 communicates with the processor 1301 and may receive user input in a variety of ways.
The communication apparatus 130 may also be referred to as a communication device, and may be a general-purpose device or a special-purpose device. For example, the communication apparatus 130 may be a switch, a router, or a device having a similar structure as in fig. 13. Embodiments of the present application are not limited in the type of communication device 130.
Alternatively, the processor 1301 in the communication apparatus 130 shown in fig. 13 may cause the communication apparatus 130 to execute the congestion management method in the above-described method embodiment by calling a computer-executed instruction stored in the memory 1304.
It should be understood that, in various embodiments of the present application, the sequence numbers of the foregoing processes do not mean the order of execution, and the order of execution of the processes should be determined by the functions and internal logic thereof, and should not constitute any limitation on the implementation process of the embodiments of the present application.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interface, indirect coupling or communication connection of devices or units, electrical, mechanical, or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using a software program, it 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 the computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with embodiments of the present application are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line (Digital Subscriber Line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device including one or more servers, data centers, etc. that can be integrated with the medium. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (Solid STATE DISK, SSD)), etc.
As used herein, the terms "component," "module," "system" and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, or software in execution. For example, the components may be, but are not limited to: a process running on a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of example, both an application running on a computing device and the computing device can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. Furthermore, these components can execute from various computer readable media having various data structures thereon. The components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the internet with other systems by way of the signal).
The present application may take form in various aspects, embodiments or features around a system that may include a plurality of devices, components, modules, etc. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. Furthermore, combinations of these schemes may also be used.
In addition, in the embodiments of the present application, the term "exemplary" is used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, the term use of an example is intended to present concepts in a concrete fashion.
The network architecture and the service scenario described in the embodiments of the present application are for more clearly describing the technical solution of the embodiments of the present application, and do not constitute a limitation on the technical solution provided by the embodiments of the present application, and those skilled in the art can know that, with the evolution of the network architecture and the appearance of the new service scenario, the technical solution provided by the embodiments of the present application is applicable to similar technical problems.
The foregoing is merely illustrative of the present application, and the present application is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims (14)
1. A method of congestion management, the method comprising:
Performing anomaly detection on a first physical member port included in a TRUNK port, wherein the first physical member port is any physical member port included in the TRUNK port;
And when the first physical member port is abnormal, the first physical member port is stopped or the first physical member port is limited in speed.
2. The method of claim 1, wherein the anomaly detection of the first physical member port included in the TRUNK port comprises:
detecting the number of pause frames corresponding to the first physical member port and the flow rate of the first physical member port;
And determining that the first physical member port is abnormal under the condition that the number of the pause frames corresponding to the first physical member port detected in unit time is larger than or equal to a first threshold value and the flow rate of the first physical member port is smaller than or equal to a second threshold value.
3. The method of claim 2, wherein the disabling the first physical member port comprises:
The first physical member port is configured to be in a DOWN state.
4. A method according to claim 3, characterized in that the method further comprises:
and switching the flow corresponding to the first physical member port to other physical member ports except the first physical member port in the TRUNK port for forwarding.
5. The method of claim 1, wherein the anomaly detection of the first physical member port included in the TRUNK port comprises:
Detecting the flow rate of the first physical member port;
And determining that the first physical member port is abnormal under the condition that the flow rate of the first physical member port is greater than or equal to a third threshold value and the duration time is longer than a fourth threshold value.
6. The method of claim 5, wherein the rate limiting the first physical member port comprises:
and configuring a promised access rate (CAR) for the first physical member port, wherein the CAR is used for limiting the traffic rate of the first physical member port.
7. A communication device, the communication device comprising:
the abnormality detection module is used for detecting abnormality of a first physical member port included in the TRUNK port, wherein the first physical member port is any physical member port included in the TRUNK port;
And the abnormality processing module is used for stopping the first physical member port or limiting the speed of the first physical member port when the first physical member port is abnormal.
8. The communication apparatus according to claim 7, wherein the anomaly detection module is configured to perform anomaly detection on a first physical member port included in a TRUNK port, and includes: the anomaly detection module is used for detecting the number of pause frames corresponding to the first physical member port and the flow rate of the first physical member port; the abnormality detection module is further configured to determine that the first physical member port is abnormal when the number of pause frames corresponding to the first physical member port detected in a unit time is greater than or equal to a first threshold, and the flow rate of the first physical member port is less than or equal to a second threshold.
9. The communication apparatus of claim 8, wherein the exception handling module to deactivate the first physical member port comprises: the exception handling module is configured to configure the first physical member port to a DOWN state.
10. The communication apparatus of claim 9, wherein the exception handling module is further configured to switch traffic corresponding to the first physical member port to forwarding to a physical member port of the TRUNK port other than the first physical member port.
11. The communication apparatus according to claim 7, wherein the anomaly detection module is configured to perform anomaly detection on a first physical member port included in a TRUNK port, and includes: the abnormality detection module is used for detecting the flow rate of the first physical member port; the abnormality detection module is further configured to determine that the first physical member port is abnormal when the flow rate of the first physical member port is greater than or equal to a third threshold and the duration is greater than a fourth threshold.
12. The communication apparatus of claim 11, wherein the exception handling module is configured to rate limit the first physical member port, comprising: the exception handling module is configured to configure a committed access rate, CAR, for the first physical member port, where the CAR is configured to limit a traffic rate of the first physical member port.
13. A communication device, the communication device comprising: a processor and a memory;
The memory is configured to store computer-executable instructions that, when executed by the processor, cause the communication device to perform the method of any of claims 1-6.
14. A computer readable storage medium, having stored thereon a computer program which, when executed by a computer, causes the computer to perform the method of any of claims 1-6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211737887.3A CN118282988A (en) | 2022-12-30 | 2022-12-30 | Congestion management method and communication device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211737887.3A CN118282988A (en) | 2022-12-30 | 2022-12-30 | Congestion management method and communication device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118282988A true CN118282988A (en) | 2024-07-02 |
Family
ID=91646008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211737887.3A Pending CN118282988A (en) | 2022-12-30 | 2022-12-30 | Congestion management method and communication device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118282988A (en) |
-
2022
- 2022-12-30 CN CN202211737887.3A patent/CN118282988A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11962490B2 (en) | Systems and methods for per traffic class routing | |
US6678248B1 (en) | Policy based quality of service | |
US6859438B2 (en) | Policy based quality of service | |
US7006440B2 (en) | Aggregate fair queuing technique in a communications system using a class based queuing architecture | |
US8520522B1 (en) | Transmit-buffer management for priority-based flow control | |
US7983287B2 (en) | Backpressure mechanism for switching fabric | |
EP3955550B1 (en) | Flow-based management of shared buffer resources | |
EP2575329B1 (en) | Proportional bandwidth sharing of the excess part in a MEF Traffic Profile | |
US8462802B2 (en) | Hybrid weighted round robin (WRR) traffic scheduling | |
US10225195B2 (en) | Telecommunication systems and methods using dynamic shaping for allocating network bandwidth | |
US20020031142A1 (en) | Switched ethernet networks | |
US20120195200A1 (en) | Method and apparatus for hierarchical policing | |
US9608927B2 (en) | Packet exchanging device, transmission apparatus, and packet scheduling method | |
US8867560B2 (en) | Managing crossbar oversubscription | |
US8248932B2 (en) | Method and apparatus for fairly sharing excess bandwidth and packet dropping amongst subscribers of a data network | |
EP2591576A1 (en) | Switching node with load balancing of bursts of packets | |
US20070268825A1 (en) | Fine-grain fairness in a hierarchical switched system | |
WO2007078705A1 (en) | Managing on-chip queues in switched fabric networks | |
US20050243852A1 (en) | Variable packet-size backplanes for switching and routing systems | |
Apostolaki et al. | FB: A flexible buffer management scheme for data center switches | |
CN118282988A (en) | Congestion management method and communication device | |
CN113765796A (en) | Flow forwarding control method and device | |
CN114448903A (en) | Message processing method, device and communication equipment | |
Liu et al. | Deployment of Asynchronous Traffic Shapers in Data Center Networks | |
KR100475783B1 (en) | Hierarchical prioritized round robin(hprr) scheduling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |