WO2020177263A1 - 一种流量管理方法、系统及织状网络处理器 - Google Patents
一种流量管理方法、系统及织状网络处理器 Download PDFInfo
- Publication number
- WO2020177263A1 WO2020177263A1 PCT/CN2019/096675 CN2019096675W WO2020177263A1 WO 2020177263 A1 WO2020177263 A1 WO 2020177263A1 CN 2019096675 W CN2019096675 W CN 2019096675W WO 2020177263 A1 WO2020177263 A1 WO 2020177263A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- egress
- ingress
- credit
- data
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
- H04L49/503—Policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Definitions
- the present invention relates to the field of communication technology, in particular to a flow management method, system and woven network processor.
- Ethernet texture switching units need to use chip packet processing modules to process Ethernet packets or IP packets (Internet Protocol).
- IP packets Internet Protocol
- Many data networks use fabric-based switching networks to transmit data.
- each fabric network processor FNP
- FSE fabric switch elements
- the ingress traffic manager Ingress Traffic Manager
- determines whether all ingress traffic management queues Ingress Traffic Management Queue are eligible to send cells to the texture switching unit FSE, and then send them to the corresponding egress traffic management queue ( Egress Traffic Management Queue).
- the general traffic management (Traffic Management) method of the switching network is Quality of Service (QoS) + Hierarchy Quality of Service (HQoS).
- QoS Quality of Service
- HQoS Hierarchy Quality of Service
- the flow status information (Flow Status) is used between the entrance and the exit.
- Message and credit information (Credit Message) schedule virtual output queues (Virtual Output Queues, VOQs). This pull scheduling mode of output queues and service types can flexibly perform shaping and scheduling according to the port rate.
- the texture network processor FNP collapses due to irregular network system traffic. For example, when the service disk is powered on and reset or the service chip is suddenly inserted or unplugged, too many data packets are sent to one or some woven network processors FNP, causing the above woven network processor FNP to fail due to excessive traffic jobs.
- the purpose of the embodiments of the present invention is to provide a traffic management method, system, and woven network processor, which can control the traffic sent to the woven network processor through node credit, avoiding the processing of the woven network
- the filter cannot work normally due to excessive flow.
- an embodiment of the present invention provides a traffic management method, which is applied to a switching network
- the total amount of data sent by the ingress node to the egress node does not exceed the node credit assigned to it, and the sum of the node credits of multiple ingress nodes that send data to the egress node does not exceed the total egress flow of the egress node.
- the node credit is issued by a network manager or periodically re-allocated by the egress node.
- the ingress node includes an ingress traffic manager, and the ingress traffic manager is used to configure output queues and queue credits;
- the queue credit is greater than or equal to zero, and the output queue is not empty, data is sent to the egress node.
- an embodiment of the present invention provides a traffic management method, which is applied to a switching network
- the egress node periodically divides the total egress traffic into multiple node credits, and allocates them one by one to multiple ingress nodes that send data to it.
- the egress node increases, decreases or maintains the node credit according to congestion information and/or the node credit request of the ingress node;
- the congestion information comes from the texture switching unit of the switching network and/or the egress packet buffer of the egress node.
- an embodiment of the present invention provides a traffic management system, which is set on an ingress node of a switching network, each ingress node includes an ingress packet buffer, and the traffic management system includes:
- An ingress node credit counter which is used to store the node credit allocated to the ingress node, wherein the sum of the node credits of multiple ingress nodes that send data to the egress node does not exceed the total egress flow of the egress node;
- the ingress management logic unit is used to control the total amount of data sent by the ingress packet buffer to the egress node not to exceed the node credit.
- the node credit is issued by a network manager or periodically re-allocated by the egress node.
- the ingress node further includes an ingress traffic manager, and the ingress traffic manager is used to configure output queues and queue credits; or, the ingress management logic unit is also used to Configure output queue and queue credit;
- the ingress management logic unit is also used to control the ingress packet buffer to send data, including: when the node credit is greater than zero, the queue credit is greater than or equal to zero, and the output queue is not empty, sending data to the egress node .
- an embodiment of the present invention provides a traffic management system, which is set on an egress node of a switching network, each egress node includes an egress packet buffer, and the traffic management system includes:
- Export management logic unit which is used to count the amount of data received from each ingress node, and periodically divide the total egress traffic into multiple node credits, and allocate them one by one to multiple ingress nodes that send data to;
- Egress node credit counter which is used to store the amount of data received from each entry node.
- the egress management logic unit is further configured to increase, decrease or maintain the node credit according to congestion information and/or the node credit request of the ingress node;
- the congestion information comes from the texture switching unit or the egress packet buffer.
- an embodiment of the present invention provides a woven network processor, which is provided in a switching network, the woven network processor includes an ingress packet buffer and an egress packet buffer, the woven network processor also It includes the traffic management system of the third aspect described above and the traffic management system of the fourth aspect described above.
- the embodiment of the present invention provides a traffic management method, which is applied to a switching network.
- the total amount of data sent by the ingress node to the egress node does not exceed the node credit assigned to it, and the amount of data sent to the egress node
- the sum of the node credits of each ingress node does not exceed the total egress traffic of the egress node, and the node credit controls the traffic sent to the woven network processor to prevent the woven network processor from not working normally due to excessive traffic.
- FIG. 1 is a flowchart of a flow management method according to an embodiment of the present invention
- FIG. 2 is a flowchart of a flow management method according to another embodiment of the present invention.
- FIG. 3 is a functional schematic diagram of node credit between an ingress node and an egress node in a traffic management method according to another embodiment of the present invention
- FIG. 4 is a schematic diagram of the application of the traffic management system of the ingress node according to the embodiment of the present invention.
- FIG. 5 is a schematic diagram of the application of the egress node traffic management system according to another embodiment of the present invention.
- Figure 6 is a schematic general diagram of the application of the traffic management system of Figures 4 and 5, which includes an egress node and an entry node that sends data to the egress node;
- Figure 7 is an existing Fabric-based switching network architecture
- FIG. 8 is a schematic diagram of the application of an embodiment of the present invention in a textured network processor FNP;
- FIG. 9 is a schematic diagram of another specific application of the fabric network processor FNP according to the embodiment of the present invention.
- the embodiment of the present invention provides a flow management method, which can be applied to a distributed switching network or a centralized switching network.
- the flow management method includes: the total amount of data sent by an ingress node to an egress node does not exceed the node to which it is allocated Credit, and the sum of node credits of multiple ingress nodes that send data to the egress node does not exceed the total egress flow of the egress node.
- NC Node Credit
- the data sent by the local textured network processor FNP to each port of the opposite textured network processor FNP can be cells, data packets, or specified data units, which are not limited.
- the specified data unit includes a specified number of bits.
- the code block such as 66B bits, etc.
- the total amount of data sent by the ingress node to the egress node is correspondingly the total number of cells, the total number of data packets, the total number of data bytes, or the total number of designated data units.
- the traffic management method includes:
- each entry node receives the node credit issued by the network management.
- the network manager divides the total egress traffic of an egress node into multiple node credits, and allocates them one by one to multiple ingress nodes that send data to the egress node during initialization. Therefore, the one that sends data to the egress node Each entry node gets its assigned node credit.
- the network manager When the network manager divides the total egress traffic of an egress node into multiple node credits, it can use an even distribution method to make the node credits of each ingress node the same, or it can use an uneven distribution method according to actual applications to make different ingress nodes
- the node credits are different and there is no limit.
- the current flow management method for distributed switching networks commonly used in the industry is QOS+HQOS.
- the distributed switching network is powered on and reset or the woven network processor FNP of the distributed switching network is plugged in, the distributed switching network is initialized.
- the virtual output queues VOQs of multiple ingress nodes all send data to the egress node, leading to irregular traffic in the network system and the collapse of the woven switching unit and/or egress node.
- the node credit is issued by the network management. In other embodiments, the node credit may also be issued to the ingress node through other means, which is not limited.
- the node credit of the ingress node is configured, and the flow control between the nodes is achieved through the node credit, so as to avoid the paralysis of the woven switching unit and/or the egress node due to excessive traffic.
- the node credits are issued by the network management.
- the egress node After initialization, the egress node periodically redistributes the node credits.
- Traffic management methods include:
- each entry node receives the node credit issued by the network management. At this time, the node credit is the initial value.
- the egress node After S230 is initialized, the egress node periodically divides the total egress traffic into multiple node credits, and allocates them one by one to multiple ingress nodes that send data to them.
- the re-allocated node credit may be the same as or different from the initial value of the node credit issued by the network management in step S210, and is not limited.
- the period in which the egress node divides the total egress traffic into multiple node credits is also called the aging time (EligTime).
- the aging time can be determined according to parameters such as the bandwidth of the egress node. For example, the aging time can be obtained by system simulation calculation of the fabric distributed architecture.
- the ingress node receives the node credits periodically re-allocated by the egress node.
- the ingress node Node X (ingress woven network processor Ingress FNP) sends two egress nodes, Node Y (egress woven network processor Egress FNP) and Node Z (egress woven network processor) through the woven switching unit FSE.
- the network processor Egress FNP sends data.
- the ingress node Node X receives the issued initial value of node credit (NCCIFloor) from the Central Processing Unit (CPU), and the initial value of node credit (NCCIFloor) includes the value assigned by the egress node Node Y to the ingress node Node X
- the initial value of node credit (NCCIFloor_Y), and the initial value of node credit (NCCIFloor_Z) assigned by the egress node Node Z to the ingress node Node X may be equal or unequal, and are not limited.
- the total amount of data sent by the two output queues of the ingress node Node X to the egress node Node Y does not exceed the initial value of node credit NCCIFloor_Y.
- the node credit NCCIFloor_Y is the node credit allocated to the ingress node Node X. It is used to control the total amount of data sent by the ingress node Node X to the egress node Node Y.
- the entry node Node X counts the node credit balance NCCI[Y].
- node credit NCCIFloor_Z is the node credit allocated to the ingress node Node X, which is used to control the total amount of data sent by the ingress node Node X to the egress node Node Z.
- the entry node Node X counts the node credit balance NCCI[Z].
- the egress node After initialization, the egress node periodically divides the total egress traffic into multiple node credits, and assigns them one by one to multiple ingress nodes that send data to them.
- the node credit may be equal to or not equal to the initial value of node credit, and no limited.
- the ingress nodes of distributed switching networks commonly used in the industry include independent ingress traffic managers, which are used to configure output queues and queue credits.
- independent ingress traffic managers which are used to configure output queues and queue credits.
- virtual output queues VOQs perform traffic management based on queue credit (QC).
- This embodiment adopts a technical solution that combines the node credit NC mechanism and the queue credit QC mechanism, which can avoid the paralysis of the texture switching unit and/or the egress node due to excessive traffic.
- the traffic management method further includes:
- the node credit balance the node credit-the amount of data sent.
- the execution sequence of stopping sending data to the egress node and sending node credit requests out is not limited. You can stop sending data to the exit node first, and then send the node credit request outward; you can also send the node credit request outward first, and then stop sending data to the exit node; or stop sending data to the exit node, and at the same time, send the node outward Credit request.
- the egress node increases, decreases or maintains the node credit according to the congestion message (CM) and/or the node credit request of the ingress node.
- CM congestion message
- the congestion information comes from the fabric switching unit FSE of the switching network and/or the egress packet buffer of the egress node.
- the triggering conditions of congestion information include: due to the unbalanced load of the switching network, or exceeding the delay and other factors, the flow in the packet buffer of the woven switching unit FSE and/or the egress packet buffer of the egress node exceeds the preset waterline .
- Decreased node credit current node credit-node credit added value (NodeInc).
- the node credit reduction value NodeDes and the node credit increase value NodeInc can be determined according to the bandwidth and aging time of the exit node. For example, it can be obtained by system simulation of the Fabric distributed architecture, and the initial configuration in the software development kit (Software Development Kit (SDK), delivered to the chip of the exit node.
- SDK Software Development Kit
- the egress node can use one or a combination of the following methods to adjust the node credit according to actual conditions, such as comprehensive ingress node business conditions, priority and other factors: increase, decrease or Maintain node credit without limitation. Regardless of the adjustment, the sum of the node credits allocated by the exit node to all the ingress nodes in each cycle does not exceed the total egress flow of the egress node.
- This embodiment can avoid the paralysis of the woven switching unit and/or the egress node due to excessive traffic, and also avoid the woven switching unit and/or the egress node being in a non-full-speed state for a long time due to too little traffic, and can be based on actual nodes.
- the traffic is adjusted with variable granularity and dynamically to achieve uniform business traffic.
- the ingress traffic management system 100 includes an ingress node credit counter (NCCI) 120 and an ingress management logic unit 110.
- NCI ingress node credit counter
- the ingress node credit counter (NCCI) 120 is used to store the node credit allocated to the ingress node, wherein the sum of the node credits of multiple ingress nodes that send data to the egress node does not exceed the total egress flow of the egress node.
- the ingress management logic unit 110 is used to control the total amount of data sent by the ingress packet buffer to the egress node not to exceed the node credit.
- the entry management logic unit 110 is used to receive the node credit assigned to the entry node, and forward it to the entry node credit counter (NCCI) 120; when the number of data sent from the entry packet buffer 130 reaches the node credit, the entry packet
- the buffer 130 sends back pressure information to stop sending data, prohibits the ingress packet buffer 130 from outputting data to the egress node that is allocated credit for the node, and the ingress packet buffer 130 buffers the received data.
- the received data exceeds the ingress packet buffer 130 When the cache size is reached, it is discarded.
- the node credit is issued by the network management or periodically redistributed by the egress node.
- the ingress management logic unit 110 is used to periodically receive the node credits allocated to the ingress node and forward it to the ingress node credit counter (NCCI) 120.
- NCCI ingress node credit counter
- the size of the threshold is set according to actual applications, and is not limited.
- the period in which the egress node divides the total egress traffic into multiple node credits is also called the aging time (EligTime).
- the aging time can be determined according to parameters such as the bandwidth of the egress node and the size of the ingress and egress packet buffers. For example, the aging time can be obtained by system simulation calculation on the Fabric distributed architecture.
- the ingress node may further include an ingress traffic manager, and the ingress traffic manager is used to configure an output queue (Queue) and a queue credit QC.
- the ingress management logic unit 110 controls node credits, and obtains queue credits and output queue results from the ingress traffic manager.
- the entry management logic unit 110 is also used to configure output queues and queue credits.
- the ingress management logic unit 110 controls the ingress packet buffer 130 to send data to the egress node, including: sending data to the egress node when the node credit is greater than zero, the queue credit is greater than or equal to zero, and the output queue is not empty.
- the entry management logic unit 110 receives the node credits periodically re-allocated by the exit node, and forwards it to the entry node credit counter (NCCI) 120.
- the entry management logic unit 110 obtains the consumed node credit from the entry packet buffer 130, and calculates the node credit balance in real time in each cycle.
- the node credit balance reaches the threshold, the back pressure information to stop sending data is sent to the ingress packet buffer, and the node credit request is sent to the egress node through the fabric switching unit FSE.
- Each egress node includes an egress packet buffer 230 (Packet Buffer). , PB), the egress traffic management system 200 includes an egress management logic unit 210 and an egress node credit counter 220.
- PB Packet Buffer
- the egress management logic unit 210 is used to periodically divide the total egress traffic into multiple node credits, and distribute them one by one to multiple ingress nodes that send data to them through the fabric switching unit FSE.
- the egress node credit counter 220 is used to store the amount of data received from each ingress node.
- the egress management logic unit is also used to increase, decrease or maintain the node credit according to the congestion information and/or the node credit request of the ingress node; wherein the congestion information comes from the texture switching unit FSE and/or the egress packet buffer 230.
- the reduced node credit CredCells current node credit CredCells-node credit reduction value NodeDes.
- the node credit reduction value NodeDes and the node credit increase value NodeInc can be determined according to parameters such as the bandwidth and aging time of the egress node, for example, obtained by system simulation of the Fabric distributed architecture, and the initial configuration in the SDK is sent to In the chip of the exit node.
- the egress node can use one or a combination of the following methods to adjust the node credit according to actual conditions, such as comprehensive ingress node business conditions, priority and other factors: increase, decrease or Maintain node credit without limitation. Regardless of the adjustment, the sum of the node credits allocated by the exit node to all the ingress nodes in each cycle does not exceed the total egress flow of the egress node.
- the embodiment of the present invention also provides a woven network processor FNP, which is set in a switching network, the woven network processor includes an ingress packet buffer 130 and an egress packet buffer 230, and the woven network processor also includes the The ingress flow management system 100 of, and the egress flow management system 200 in FIG. 5.
- FNP woven network processor
- Figures 4 and 5 together show the flow management process of an egress node and an ingress node that sends data to the egress node, as shown in Figure 6.
- the Fabric-based switching network architecture shown in FIG. 7 includes multiple nodes, and each node has a woven network processor FNP (A.1 to AM, where M ⁇ 1 ), the texture network processors FNP exchange data through N texture switching units FSE (C.1 to CN, where N ⁇ 1).
- Each woven network processor FNP is both an ingress node and an egress node.
- the following takes the exchange of cells between the local textured network processor FNP and the opposite textured network processor FNP as an example for description.
- the two textured network processors FNP have the same structure.
- the opposite textured network processor FNP serves as the egress node.
- the local textured network processor FNP serves as the egress node
- the opposite textured network processor FNP serves as the ingress node
- the local textured network processor FNP shown in FIG. 8 includes an ingress packet buffer 130 and an egress packet buffer 230.
- the local woven network processor FNP also includes an ingress node credit management module (Node Credit Manager Ingress, NCMI) 100a and an egress node credit management module (Node Credit Manager Egress, NCME) 200a, which are respectively used to process the local woven network processing The FNP node credits NC.
- NCMI Node Credit Manager Ingress
- NCME Node Credit Manager Egress
- NCMI 100a the main functions of NCMI 100a include: the local ingress node receives the node credit allocated by the opposite egress node, sends back pressure information to stop sending data to the ingress packet buffer 130, and sends a node credit request to the opposite egress node.
- NCME 200a The main functions of NCME 200a include: the local egress node assigns node credits to the opposite ingress node, receives congestion information from the fabric switching unit FSE and/or the egress packet buffer 230, and receives node credit requests from the opposite egress node.
- NCMI100a is for example the ingress traffic management system 100 in Figure 4, each ingress management logic unit 110 is used to obtain the consumed node credits from the ingress packet buffer 130, and record an aging time (EligTime) from the local ingress node to the peer egress The number of cells of the node.
- the ingress traffic management system 100 in FIG. 4 only shows one ingress node credit counter 120 (NCCI).
- NCCI the number of ingress node credit counters 120 (NCCI) is the number of all peer egress nodes in the network switching system.
- the node credit request signal (Node Credit Request, NCR) [EgressFNP] is set to 1, and sent to the texture exchange unit ( FSE) woven interface (ingress) 510 (FI Ingress), and then forwarded to the opposite egress node. At the same time, it sends back pressure information to the ingress packet buffer 130 to stop sending cells.
- the NCME 200a is used to send the node credit NC allocated to the opposite ingress node to the woven interface (ingress) 510 (FI Ingress), and forward it to the opposite ingress node.
- Packet Buffer Packet Buffer
- NCME200a receives the FSE congestion information from the woven cross disk FSE or the packet buffer congestion information sent by the local egress buffer 230, that is, the congestion information is set to 1, and the next aging time is , The node credit sent to the opposite entry node is modified to CreditCells-NodeDec.
- NCME200a receives the Node Credit Request (NCR) signal sent from the opposite ingress node, the next aging time, the node credit sent to the opposite ingress node is modified to CreditCells+NodeInc; if NCME200a does not receive it Congestion information, and no NCR signal is received, the next aging time, the node credit sent to the opposite entry node is still CreditCells.
- NCR Node Credit Request
- NCME200a After each aging time, NCME200a resends the corresponding node credits (CredCells[IngressFNP]) to each opposite entry node, and clears the local node credit CredCells count.
- the opposite entry node will store the received node credits (CredCells[EgressFNP]) in the opposite entry node credit counter (NCCI[EgressFNP]).
- Figure 9 shows a specific example of the local textured network processor FNP.
- the local textured network processor FNP may also include an assembly module 300
- the slicing module 400 the assembling module 300 is used to assemble all the control information of the local fabric network processor FNP into a data packet and send it to the fabric switching unit FSE.
- the size of the data packet is determined according to the actual application, for example, 256Bytes.
- the slicing module 400 is used to cut all standard data packets issued by the texture switching unit FSE into control information to the local texture network processor FNP, where the control information includes node credit and node credit request, and Queue credit and queue credit request.
- the assembly module 300 sends the control information sent to the ingress to the woven interface (entrance) 510 (FI Ingress), and receives control information back pressure from the woven interface (entrance) 510 (FI Ingress).
- the slicing module 400 sends a control information back pressure response to the woven interface (egress) 520 (FI Egress), and receives control information (MsgDest) sent to the egress from the woven interface (egress) 520 (FI Egress).
- the slicing module 400 receives the control information (MsgDest) sent to the egress from the woven interface (egress) 520 (FI Egress), which carries the node credit allocated by the opposite egress node, and sends the node credit to NCMI100a .
- the slicing module 400 receives the control information (MsgDest) sent to the exit from the textured interface (egress) 520 (FI Egress), where the control information (MsgDest) sent to the exit carries the node credit request of the opposite ingress node and/or FSE congestion information, the node credit request of the opposite entry node and/or FSE congestion information is sent to NCME 200a.
- this embodiment can also combine the node credit (NC) mechanism and the queue credit (QC) mechanism, such as step S250 in the foregoing embodiment, which can avoid excessive traffic leading to texture switching The unit and/or exit node is down.
- NC node credit
- QC queue credit
- the above embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
- software it can be implemented in the form of a computer program product in whole or in part.
- the computer program product includes one or more computer instructions.
- the computer program instructions When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application are generated in whole or in part.
- the computer can be a general-purpose computer, a dedicated computer, a computer network, or other programmable devices.
- Computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
- computer instructions can be transmitted from a website, computer, server, or data center through a cable (such as Coaxial cable, optical fiber, Digital Subscriber Line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) transmission to another website, computer, server or data center.
- the computer-readable storage medium may be any available medium that can be read by a computer or a data storage device such as a server or data center integrated with one or more available media. Available media can be magnetic media (for example, floppy disks, hard drives, tapes), optical media (for example, Digital Video Disc (DVD)) or semiconductor media (for example, Solid State Disk (SSD)), etc.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流量管理方法、系统及织状网络处理器,应用于交换网络,涉及通信技术领域。流量管理方法包括:入口节点向出口节点发送的数据总量不超过其分配到的节点信用,且向出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量。本发明通过节点信用控制发往织状网络处理器的流量,避免织状网络处理器因流量过大而不能正常工作。
Description
本发明涉及通信技术领域,具体是涉及一种流量管理方法、系统及织状网络处理器。
在通信领域,基于以太网报文的通信占主流地位,路由器和以太网织状交换单元等数据通信设备都需要采用芯片的包处理模块对以太网包或IP包(Internet Protocol)进行处理。许多数据网络使用基于织状(Fabric)架构的交换网络来传输数据,例如在超大数据带宽交换处理系统中,每个织状网络处理器(Fabric Network Processor,FNP)为一个节点,织状网络处理器FNP之间通过多个织状交换单元(Fabric Switch Element,FSE)交换数据。在每个节点上,入口流量管理器(Ingress Traffic Manager)决定所有入口流量管理队列(Ingress Traffic Management Queue)是否有资格发送信元到织状交换单元FSE,继而发送到对应的出口流量管理队列(Egress Traffic Management Queue)。
目前,通用的交换网络的流量管理(Traffic Management)方法是服务质量(Quality of Service,QoS)+层次化服务质量(Hierarchy Quality of Service,HQoS),入口与出口之间通过流状态信息(Flow Status Message)和信用信息(Credit Message)对虚拟输出队列(Virtual Output Queues,VOQs)进行调度。这种输出队列和业务类型的pull调度模式能够根据端口速率灵活地进行整形(shaping)和调度(scheduling)。
但是,实际应用中存在由于网络系统流量不规则而导致织状网络处理器FNP崩溃的情况。例如,业务盘上电复位或者突然插拔业务芯片的时候,发往某个或某些织状网络处理器FNP的数据包过多,造成上述织状网络处理器FNP因流量过大而不能正常工作。
发明内容
针对现有技术中存在的缺陷,本发明实施例的目的在于提供一种流量管理方法、系统及织状网络处理器,通过节点信用控制发往织状网络处理器的流量,避免织状网络处理器因流量过大而不能正常工作。
第一方面,本发明实施例提供一种流量管理方法,应用于交换网络;
入口节点向出口节点发送的数据总量不超过其分配到的节点信用,且向所述出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量。
结合第一方面,在第一种可选的实现方式中,所述节点信用是网管下发的或者由所述出口节点周期性地重新分配的。
在第一种可选的实现方式中,在每个所述周期中,所述入口节点实时计算节点信用余额,其中,节点信用余额=所述节点信用-已发送的数据数量;当所述节点信用余额达到阈值时,停止向所述出口节点发送数据,以及向外发送节点信用请求。
在第一种可选的实现方式中,所述入口节点包括入口流量管理器,入口流量管理器用于配置输出队列和队列信用;
当所述节点信用大于零,队列信用大于或者等于零,且输出队列为非空时,向所述出口节点发送数据。
第二方面,本发明实施例提供一种流量管理方法,应用于交换网 络;
出口节点周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点。
结合第二方面第一种可选的实现方式,所述出口节点根据拥塞信息和/或所述入口节点的节点信用请求,增加、减少或者维持所述节点信用;
所述拥塞信息来自所述交换网络的织状交换单元和/或所述出口节点的出口包缓存器。
第三方面,本发明实施例提供一种流量管理系统,其设于交换网络的入口节点上,每个入口节点均包括入口包缓存器,所述流量管理系统包括:
入口节点信用计数器,其用于存储分配给该入口节点的节点信用,其中,向所述出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量;
入口管理逻辑单元,其用于控制所述入口包缓存器向所述出口节点发送的数据总量不超过所述节点信用。
结合第三方面,在第一种可选的实现方式中,所述节点信用是网管下发的或者由所述出口节点周期性地重新分配的。
在第一种可选的实现方式中,在每个所述周期中,所述入口管理逻辑单元用于实时计算节点信用余额,其中,节点信用余额=所述节点信用-已发送的数据数量;当所述节点信用余额达到阈值时,向外发送节点信用请求。
结合第三方面,在第二种可选的实现方式中,所述入口节点还包括入口流量管理器,入口流量管理器用于配置输出队列和队列信用;或者,所述入口管理逻辑单元还用于配置输出队列和队列信用;
所述入口管理逻辑单元还用于控制所述入口包缓存器发送数据,包括:当所述节点信用大于零,队列信用大于或者等于零,且输出队列为非空时,向所述出口节点发送数据。
第四方面,本发明实施例提供一种流量管理系统,其设于交换网络的出口节点上,每个出口节点均包括出口包缓存器,所述流量管理系统包括:
出口管理逻辑单元,其用于统计从每个入口节点接收到的数据数量,以及周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点;
出口节点信用计数器,其用于存储从每个入口节点接收到的数据数量。
结合第四方面,在第一种可选的实现方式中,所述出口管理逻辑单元还用于根据拥塞信息和/或所述入口节点的节点信用请求,增加、减少或者维持所述节点信用;
所述拥塞信息来自织状交换单元或者所述出口包缓存器。
第五方面,本发明实施例提供一种织状网络处理器,其设于交换网络中,所述织状网络处理器包括入口包缓存器和出口包缓存器,所述织状网络处理器还包括上述第三方面的流量管理系统,以及上述第四方面的流量管理系统。
与现有技术相比,本发明实施例提供一种流量管理方法,应用于交换网络,入口节点向出口节点发送的数据总量不超过其分配到的节点信用,且向出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量,通过节点信用控制发往织状网络处理器的流量,避免织状网络处理器因流量过大而不能正常工作。
图1是本发明实施例流量管理方法流程图;
图2是本发明另一实施例流量管理方法流程图;
图3是本发明另一实施例流量管理方法中,入口节点和出口节点之间节点信用的功能示意图;
图4是本发明实施例入口节点的流量管理系统的应用示意图;
图5是本发明另一实施例出口节点流量管理系统的应用示意图;
图6是图4和图5的流量管理系统的应用示意总图,其中包含出口节点以及向该出口节点发送数据的一个入口节点;
图7是一种现有的基于Fabric的交换网络架构;
图8是本发明实施例在织状网络处理器FNP中的应用示意图;
图9是本发明实施例在织状网络处理器FNP的另一个具体应用示意图。
下面结合附图及具体实施例对本发明作进一步的详细描述。
本发明实施例提供一种流量管理方法,可以应用于分布式交换网络,也可以应用于集中式交换网络,流量管理方法包括:入口节点向出口节点发送的数据总量不超过其分配到的节点信用,且向出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量。
具体的,节点信用(Node Credit,NC)表示可发送的数据总量,是对端织状网络处理器FNP允许本端织状网络处理器FNP向对端织状网络处理器FNP的各端口发送的数据流量的总和。
本端织状网络处理器FNP向对端织状网络处理器FNP的各端口发送的数据可以是信元、数据包或者指定的数据单位,不作限定,其中,指定的数据单位包括具有指定比特数的码块,例如66B比特等。
根据上述数据的具体发送形式,入口节点向出口节点发送的数据总量相应地是信元总数、数据包总数、数据字节总数或者指定的数据单位总数。
以下的本发明实施例均以分布式交换网络为例进行说明。
参见图1所示,在入口节点,流量管理方法包括:
S110交换网络初始化时,每个入口节点接收网管下发的节点信用。
具体的,在初始化之前,网管将一个出口节点的出口总流量划分为多个节点信用,初始化时一一分配给向该出口节点发送数据的多个入口节点,因此,向该出口节点发送数据的每个入口节点都得到为其分配的节点信用。
网管将一个出口节点的出口总流量划分为多个节点信用时,可以采用平均分配的方式,使得每个入口节点的节点信用相同,也可以根据实际应用采用不平均分配的方式,使得不同入口节点的节点信用不同,不作限定。
S120入口节点向该出口节点发送的数据总量不超过分配的节点信用。
目前业内通用的分布式交换网络的流量管理方法是QOS+HQOS,但是,当分布式交换网络上电复位或者拔插分布式交换网络的织状网络处理器FNP时,分布式交换网络进行初始化,多个入口节点的虚拟输出队列VOQs都向出口节点发送数据,导致网络系统的流量不规则,以及织状交换单元和/或出口节点崩溃的现象。
在本实施方式中,节点信用是网管下发的,在其他的实施方式中,节点信用也可以通过其他途径下发给入口节点,不作限定。
通过本实施例流量管理方法,在交换网络初始化时,配置入口节 点的节点信用,通过节点信用达到对各节点之间的流量控制,避免流量过多导致织状交换单元和/或出口节点瘫痪。
参见图2所示的本发明另一实施例流量管理方法流程图,交换网络初始化时,节点信用是网管下发的,初始化后,出口节点周期性地重新分配节点信用。
流量管理方法包括:
S210交换网络初始化时,每个入口节点接收网管下发的节点信用。此时,该节点信用为初始值。
S220入口节点向该出口节点发送的数据总量不超过分配的节点信用。
S230初始化后,出口节点周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点。
具体的,该重新分配的节点信用可以与步骤S210中网管下发的节点信用的初始值相同,也可以不同,不作限定。
出口节点将出口总流量划分为多个节点信用的周期也称为老化时间(EligTime)。老化时间可以根据出口节点的带宽等参数确定,例如对Fabric分布式架构进行系统仿真计算得到老化时间。
S240入口节点接收出口节点周期性地重新分配的节点信用。
S250在每个周期中,当节点信用大于零,队列信用大于或者不超过零,且输出队列为非空时,入口节点向出口节点发送数据。
参见图3所示,入口节点Node X(入口织状网络处理器Ingress FNP)通过织状交换单元FSE向二个出口节点Node Y(出口织状网络处理器Egress FNP)和Node Z(出口织状网络处理器Egress FNP)发送数据。在初始化时,入口节点Node X从中央处理器(Central Processing Unit,CPU)接收下发的节点信用初始值(NCCIFloor), 节点信用初始值(NCCIFloor)包括出口节点Node Y分配给入口节点Node X的节点信用初始值(NCCIFloor_Y),以及出口节点Node Z分配给入口节点Node X的节点信用初始值(NCCIFloor_Z)。其中,NCCIFloor_Y和NCCIFloor_Z可以相等,也可以不相等,不作限定。
作为一个示例,在初始化时,入口节点Node X的两个输出队列向出口节点Node Y所发送的数据总量不超过节点信用初始值NCCIFloor_Y,节点信用NCCIFloor_Y是分配给入口节点Node X的节点信用,用于控制入口节点Node X向出口节点Node Y发送的数据总量。入口节点Node X统计节点信用余额NCCI[Y]。同样的,节点信用初始值NCCIFloor_Z是分配给入口节点Node X的节点信用,用于控制入口节点Node X向出口节点Node Z发送的数据总量。入口节点Node X统计节点信用余额NCCI[Z]。
初始化后,出口节点周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点,此时的节点信用可以等于或者不等于节点信用初始值,不作限定。
目前业内通用的分布式交换网络的入口节点均包括独立的入口流量管理器,入口流量管理器用于配置输出队列和队列信用,例如虚拟输出队列VOQs基于队列信用(Queue Credit,QC)进行流量管理。
本实施例采用节点信用NC机制和队列信用QC机制相结合的技术方案,可以避免流量过多导致织状交换单元和/或出口节点瘫痪。
进一步的,在步骤S250之后,流量管理方法还包括:
S260入口节点实时计算节点信用余额,其中,节点信用余额=节点信用-已发送的数据数量。当节点信用余额达到阈值时,停止向出口节点发送数据,以及向外发送节点信用请求。
具体的,当节点信用余额达到阈值时,停止向出口节点发送数据, 以及向外发送节点信用请求的执行顺序不作限定。可以先停止向出口节点发送数据,然后向外发送节点信用请求;也可以先向外发送节点信用请求,然后停止向出口节点发送数据;或者,停止向出口节点发送数据,同时,向外发送节点信用请求。
S270出口节点根据拥塞信息(Congestion Message,CM)和/或入口节点的节点信用请求,增加、减少或者维持节点信用。
拥塞信息来自交换网络的织状交换单元FSE和/或出口节点的出口包缓存器。拥塞信息的触发条件包括:由于交换网络的负载不均衡,或者超过时延等因素,导致织状交换单元FSE的包缓存器和/或出口节点的出口包缓存器中的流量超过预设水线。
具体的,增加的节点信用=当前的节点信用+节点信用减少值(NodeDec)。
减少的节点信用=当前的节点信用-节点信用增加值(NodeInc)。
其中,节点信用减少值NodeDes和节点信用增加值NodeInc都可以根据出口节点的带宽和老化时间等参数确定,例如通过对Fabric分布式架构进行系统仿真得到,并作为初始化配置在软件开发工具包(Software Development Kit,SDK)中,下发到出口节点的芯片中。
出口节点根据拥塞信息和/或入口节点的节点信用请求,可以根据实际情况,例如综合入口节点的业务情况、优先级等因素,采用以下方式之一或者组合对节点信用进行调整:增加、减少或者维持节点信用,不作限定。无论如何调整,在每个周期内出口节点向所有入口节点分配的节点信用总和不超过该出口节点的出口总流量。
本实施例可以避免流量过多导致织状交换单元和/或出口节点瘫痪,也避免由于流量过少导致织状交换单元和/或出口节点长时间处于非全速状态,并可以根据实际节点之间的流量进行可变粒度的、动 态的调整,实现业务流量均匀。
参见图4所示的一种流量管理系统的应用示意图,用于实现前述实施例的方法,其设于交换网络的入口节点上,即图4中的入口流量管理系统100,每个入口节点均包括入口包缓存器130(Packet Buffer,PB),入口流量管理系统100包括入口节点信用计数器(Node Credit Counter Ingress,NCCI)120和入口管理逻辑单元110。
入口节点信用计数器(NCCI)120用于存储分配给该入口节点的节点信用,其中,向出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量。
入口管理逻辑单元110用于控制入口包缓存器向出口节点发送的数据总量不超过节点信用。
具体的,入口管理逻辑单元110用于接收分配给该入口节点的节点信用,并转发给入口节点信用计数器(NCCI)120;从入口包缓存器130发出的数据数量达到节点信用时,向入口包缓存器130发送停止发送数据的反压信息,禁止入口包缓存器130向分配该节点信用的出口节点输出数据,入口包缓存器130缓存接收的数据,当接收的数据超过入口包缓存器130的缓存大小时,则丢弃。
具体的,节点信用是网管下发的或者由出口节点周期性地重新分配的。出口节点周期性地重新分配节点信用时,入口管理逻辑单元110用于周期性地接收分配给该入口节点的节点信用,并转发给入口节点信用计数器(NCCI)120。
进一步的,在每个周期中,入口管理逻辑单元110用于实时计算节点信用余额,其中,节点信用余额=节点信用-已发送的数据数量;当节点信用余额达到阈值时,向入口包缓存器发送停止发送数据的反压信息,以及向外发送节点信用请求。
具体的,根据实际应用设置阈值的大小,不作限定,例如本发明实施例中设置阈值=0。
出口节点将出口总流量划分为多个节点信用的周期也称为老化时间(EligTime)。老化时间可以根据出口节点的带宽、以及入口和出口包缓存器的大小等参数确定,例如对Fabric分布式架构进行系统仿真计算得到老化时间。
在一种实施方式中,入口节点还可以包括入口流量管理器,入口流量管理器用于配置输出队列(Queue)和队列信用QC。入口管理逻辑单元110控制节点信用,并从入口流量管理器获取对队列信用以及输出队列结果。在另一种实施方式中,入口管理逻辑单元110除了控制节点信用,还用于配置输出队列和队列信用。
入口管理逻辑单元110控制入口包缓存器130向出口节点发送数据,包括:当节点信用大于零,队列信用大于或者等于零,且输出队列为非空时,向出口节点发送数据。
入口管理逻辑单元110接收出口节点周期性地重新分配的节点信用,并转发给入口节点信用计数器(NCCI)120。入口管理逻辑单元110从入口包缓存器130获取消耗的节点信用,并在每个周期中实时计算节点信用余额。当节点信用余额达到阈值时,向入口包缓存器发送停止发送数据的反压信息,通过织状交换单元FSE向出口节点发送节点信用请求。
当入口管理逻辑单元110以信元方式向出口节点发送数据时,每个信元包括数据字节数为N
C,节点信用=信元个数*每个信元的数据字节数N
C。
如果从入口包缓存器130发出K字节(bytes)的信元,则节点信用余额NCCI[Y]=发送信元前的节点信用余额NCCI[Y]-发送的信 元的字节数量K。如果NCCI[Y]=0,则发送节点信用请求。
参见图5所示的一种流量管理系统的应用示意图,其设于交换网络的出口节点上,即图5中的出口流量管理系统200,每个出口节点均包括出口包缓存器230(Packet Buffer,PB),出口流量管理系统200包括出口管理逻辑单元210和出口节点信用计数器220。
出口管理逻辑单元210用于周期性地将出口总流量划分为多个节点信用,并通过织状交换单元FSE一一分配给向其发送数据的多个入口节点。
出口节点信用计数器220用于存储从每个入口节点接收到的数据数量。
进一步的,出口管理逻辑单元还用于根据拥塞信息和/或入口节点的节点信用请求,增加、减少或者维持节点信用;其中,拥塞信息来自织状交换单元FSE和/或出口包缓存器230。
具体的,出口管理逻辑单元210用于统计从每个入口节点接收到的信元的字节数量,并转发给出口节点信用计数器220。如果从入口节点NodeX收到K字节的信元(cell),则收到的信元的字节数量增加K,即CredCell[X]=+K。
对于任意一个入口节点,如果出口管理逻辑单元210接收到拥塞信息,则减少的节点信用CredCells=当前的节点信用CredCells-节点信用减少值NodeDes。
如果出口管理逻辑单元210收到节点信用请求,则增加的节点信用CredCells=当前的节点信用CredCells+节点信用增加值NodeInc。
否则,节点信用CredCells不变。
其中,节点信用减少值NodeDes和节点信用增加值NodeInc都可以根据出口节点的带宽和老化时间等参数确定,例如通过对Fabric 分布式架构进行系统仿真得到,并作为初始化配置在SDK中,下发到出口节点的芯片中。
出口节点根据拥塞信息和/或入口节点的节点信用请求,可以根据实际情况,例如综合入口节点的业务情况、优先级等因素,采用以下方式之一或者组合对节点信用进行调整:增加、减少或者维持节点信用,不作限定。无论如何调整,在每个周期内出口节点向所有入口节点分配的节点信用总和不超过该出口节点的出口总流量。
本发明实施例还提供一种织状网络处理器FNP,其设于交换网络中,织状网络处理器包括入口包缓存器130和出口包缓存器230,织状网络处理器还包括图4中的入口流量管理系统100,以及图5中的出口流量管理系统200。
图4和图5所示的流量管理系统一起,显示一个出口节点以及向该出口节点发送数据的一个入口节点的流量管理过程,如图6所示。
作为一种示例,例如图7所示的基于Fabric的交换网络架构,该交换网络架构包括多个节点,每个节点具有一个织状网络处理器FNP(A.1至A.M,其中,M≥1),织状网络处理器FNP之间通过N个织状交换单元FSE(C.1至C.N,其中,N≥1)交换数据。每个织状网络处理器FNP既是入口节点,也是出口节点。
为了便于说明,下文以本端织状网络处理器FNP与对端织状网络处理器FNP之间交换信元为例进行说明,两个织状网络处理器FNP结构相同。
当本端织状网络处理器FNP作为入口节点时,对端织状网络处理器FNP作为出口节点。
当本端织状网络处理器FNP作为出口节点时,那么对端织状网络处理器FNP就作为入口节点。
图8所示的本端织状网络处理器FNP包括入口包缓存器130和出口包缓存器230。
本端织状网络处理器FNP还包括入口节点信用管理模块(Node Credit Manager Ingress,NCMI)100a和出口节点信用管理模块(Node Credit Manager Egress,NCME)200a,分别用于处理该本地织状网络处理器FNP的节点信用NC。
其中,NCMI100a的主要功能包括:本端入口节点接收对端出口节点分配的节点信用,向入口包缓存器130发送停止发送数据的反压信息,以及发送节点信用请求到对端出口节点。
NCME200a的主要功能包括:本端出口节点分配节点信用到对端入口节点,接收来自织状交换单元FSE和/或出口包缓存器230的拥塞信息,以及接收对端出口节点的节点信用请求。
NCMI100a例如图4中的入口流量管理系统100,每个入口管理逻辑单元110用于从入口包缓存器130获取消耗的节点信用,记录一个老化时间(EligTime)内本端入口节点发往对端出口节点的信元数量。图4中的入口流量管理系统100仅显示了一个入口节点信用计数器120(NCCI),在NCMI100a中,入口节点信用计数器120(NCCI)的数量为该网络交换系统中所有对端出口节点的数量。
如果节点信用NCCI[EgressFNP]>0,则本端入口节点可以发送单播报文(PktUc cells)到对应的对端出口节点。例如,如果本端入口节点NodeX发送K字节bytes的信元(cell)到对端出口节点NodeY,则入口管理逻辑单元110记录节点信用余额NCCI[Y]=发送信元前的节点信用余额NCCI[Y]-发送的信元的字节数量K。在前述的老化时间(EligTime)内,如果节点信用余额NCCI[EgressFNP]减为零,则将节点信用请求信号(Node Credit Request,NCR)[EgressFNP]置 为1,并发送到织状交换单元(FSE)的织状接口(入口处)510(FI Ingress),然后转发给对端出口节点。同时,发送反压信息给入口包缓存器130,停止发送信元。
如果织状交叉单元FSE上的包缓存器的缓存超过水线导致数据拥塞,或者,各线路上延时导致出口节点出现数据拥塞,则将一路反压信息通过NCMI100a发送到入口包缓存器130,停止向外发送数据包,等到流量正常后再继续向外发送数据包。
NCME200a如图5中的出口流量管理系统200,用于将分配给对端入口节点的节点信用NC发送到织状接口(入口处)510(FI Ingress),并转发给对端入口节点。
NCME200a统计对端入口节点的节点信元,每当出口包缓存器230(Packet Buffer,PB)收到K字节信元的数据报文,则统计收到的信元的字节数量CredCell[X]=+K。
如果在前述的老化时间(EligTime)内,NCME200a收到来自织状交叉盘FSE的FSE拥塞信息或者本端出口缓存器230发送过来的包缓存拥塞信息,即将拥塞信息置为1,当下一个老化时间,发送给对端入口节点的节点信用则修改为CreditCells-NodeDec。
如果NCME200a收到对端入口节点发送过来的节点信用请求信号(Node Credit Request,NCR),则下一个老化时间,发送给对端入口节点的节点信用则修改为CreditCells+NodeInc;如果NCME200a没有收到拥塞信息,也没有收到NCR信号,则下个老化时间,发送给对端入口节点的节点信用则仍为CreditCells。
每个老化时间后,NCME200a重新发送给各对端入口节点相应的节点信用(CredCells[IngressFNP]),并清空本端的节点信用CredCells计数。而对端入口节点会把收到的节点信用(CredCells[EgressFNP]) 存储在对端的入口节点信用计数器(NCCI[EgressFNP])。
图9所示为本端织状网络处理器FNP的一个具体示例,在图8所示的本端织状网络处理器FNP的基础上,本端织状网络处理器FNP还可以包括组装模块300和切片模块400,组装模块300用于将本端织状网络处理器FNP的所有控制信息都组装成数据包发到织状交换单元FSE,数据包的大小根据实际应用情况确定,例如256Bytes字节的标准数据包,切片模块400用于将织状交换单元FSE下发的所有标准数据包切成控制信息给本端织状网络处理器FNP,其中,控制信息包括节点信用和节点信用请求,以及队列信用和队列信用请求。
组装模块300向织状接口(入口处)510(FI Ingress)发送发往入口的控制信息,并从织状接口(入口处)510(FI Ingress)接收控制信息反压。
切片模块400向织状接口(出口处)520(FI Egress)发送控制信息反压响应,从织状接口(出口处)520(FI Egress)接收发往出口的控制信息(MsgDest)。
在本端入口节点,切片模块400从织状接口(出口处)520(FI Egress)接收发往出口的控制信息(MsgDest),其中携带对端出口节点分配的节点信用,将节点信用发送到NCMI100a。
切片模块400从织状接口(出口处)520(FI Egress)接收发往出口的控制信息(MsgDest),其中,发往出口的控制信息(MsgDest)携带对端入口节点的节点信用请求和/或FSE拥塞信息,将对端入口节点的节点信用请求和/或FSE拥塞信息发送到NCME200a。
在上述基于队列信用的流量管理之外,本实施例也可以将节点信用(NC)机制和队列信用(QC)机制相结合,例如前述实施例的步骤S250,可以避免流量过多导致织状交换单元和/或出口节点瘫痪。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(Digital Video Disc,DVD))或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (13)
- 一种流量管理方法,应用于交换网络,其特征在于:入口节点向出口节点发送的数据总量不超过其分配到的节点信用,且向所述出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量。
- 如权利要求1所述的流量管理方法,其特征在于:所述节点信用是网管下发的或者由所述出口节点周期性地重新分配的。
- 如权利要求2所述的流量管理方法,其特征在于:在每个所述周期中,所述入口节点实时计算节点信用余额,其中,节点信用余额=所述节点信用-已发送的数据数量;当所述节点信用余额达到阈值时,停止向所述出口节点发送数据,以及向外发送节点信用请求。
- 如权利要求1至3任一项所述的流量管理方法,其特征在于:所述入口节点配置输出队列和队列信用;当所述节点信用大于零,队列信用大于或者等于零,且输出队列为非空时,向所述出口节点发送数据。
- 一种流量管理方法,应用于交换网络,其特征在于:出口节点周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点。
- 如权利要求5所述的流量管理方法,其特征在于:所述出口节点根据拥塞信息和/或所述入口节点的节点信用请求,增加、减少或者维持所述节点信用;所述拥塞信息来自所述交换网络的织状交换单元和/或所述出口节点的出口包缓存器。
- 一种流量管理系统,其设于交换网络的入口节点上,每个入口节点均包括入口包缓存器,其特征在于,所述流量管理系统包括:入口节点信用计数器,其用于存储分配给该入口节点的节点信用,其中,向所述出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量;入口管理逻辑单元,其用于控制所述入口包缓存器向所述出口节点发送的数据总量不超过所述节点信用。
- 如权利要求7所述的流量管理系统,其特征在于:所述节点信用是网管下发的或者由所述出口节点周期性地重新分配的。
- 如权利要求8所述的流量管理系统,其特征在于:在每个所述周期中,所述入口管理逻辑单元用于实时计算节点信用余额,其中,节点信用余额=所述节点信用-已发送的数据数量;当所述节点信用余额达到阈值时,向所述入口包缓存器发送停止发送数据的反压信息,以及向外发送节点信用请求。
- 如权利要求7所述的流量管理系统,其特征在于:所述入口节点还包括入口流量管理器,入口流量管理器用于配置输出队列和队列信用;或者,所述入口管理逻辑单元还用于配置输出队列和队列信用;所述入口管理逻辑单元还用于控制所述入口包缓存器发送数据,包括:当所述节点信用大于零,队列信用大于或者等于零,且输出队列为非空时,向所述出口节点发送数据。
- 一种流量管理系统,其设于交换网络的出口节点上,每个出口节点均包括出口包缓存器,其特征在于,所述流量管理系统包括:出口管理逻辑单元,其用于统计从每个入口节点接收到的数据数量,以及周期性地将出口总流量划分为多个节点信用,并一一分配给 向其发送数据的多个入口节点;出口节点信用计数器,其用于存储从每个入口节点接收到的数据数量。
- 如权利要求11所述的流量管理系统,其特征在于:所述出口管理逻辑单元还用于根据拥塞信息和/或所述入口节点的节点信用请求,增加、减少或者维持所述节点信用;所述拥塞信息来自织状交换单元或者所述出口包缓存器。
- 一种织状网络处理器,其设于交换网络中,所述织状网络处理器包括入口包缓存器和出口包缓存器,其特征在于:所述织状网络处理器还包括如权利要求7至10任一项所述的流量管理系统,以及如权利要求10或11所述的流量管理系统。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910156869.8A CN109787910B (zh) | 2019-03-01 | 2019-03-01 | 一种流量管理方法、系统及织状网络处理器 |
| CN201910156869.8 | 2019-03-01 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020177263A1 true WO2020177263A1 (zh) | 2020-09-10 |
Family
ID=66487378
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2019/096675 Ceased WO2020177263A1 (zh) | 2019-03-01 | 2019-07-19 | 一种流量管理方法、系统及织状网络处理器 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN109787910B (zh) |
| WO (1) | WO2020177263A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113630809A (zh) * | 2021-08-12 | 2021-11-09 | 迈普通信技术股份有限公司 | 一种业务转发方法、装置及计算机可读存储介质 |
| CN115941487A (zh) * | 2022-12-02 | 2023-04-07 | 中国联合网络通信集团有限公司 | 流量分配方法、装置、设备及介质 |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109787910B (zh) * | 2019-03-01 | 2021-01-15 | 烽火通信科技股份有限公司 | 一种流量管理方法、系统及织状网络处理器 |
| CN111526097B (zh) * | 2020-07-03 | 2020-10-30 | 新华三半导体技术有限公司 | 一种报文调度方法、装置及网络芯片 |
| CN113068087B (zh) * | 2021-03-31 | 2022-03-25 | 烽火通信科技股份有限公司 | 一种通过切包重组实现分布式信元交换的方法与装置 |
| CN114157604B (zh) * | 2021-12-01 | 2024-12-17 | 锐捷网络股份有限公司 | 一种调节交换网板拥塞的方法、装置及系统 |
| CN120614302A (zh) * | 2023-03-29 | 2025-09-09 | 华为技术有限公司 | 一种流量控制方法、装置及系统 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101018156A (zh) * | 2007-02-16 | 2007-08-15 | 华为技术有限公司 | 防止带宽型拒绝服务攻击的方法、设备及系统 |
| US20070291643A1 (en) * | 2006-06-14 | 2007-12-20 | Cisco Technology, Inc. | Stateless call admission and call preemption with a single metering and marking scheme |
| CN101123587A (zh) * | 2007-09-13 | 2008-02-13 | 杭州华三通信技术有限公司 | 交换机业务流的流量控制方法和装置 |
| CN102487358A (zh) * | 2010-12-01 | 2012-06-06 | 丛林网络公司 | 用于与交换机结构相关的流控制的方法和装置 |
| US20140269294A1 (en) * | 2013-03-13 | 2014-09-18 | Cisco Technology, Inc. | Intra Switch Transport Protocol |
| CN109787910A (zh) * | 2019-03-01 | 2019-05-21 | 烽火通信科技股份有限公司 | 一种流量管理方法、系统及织状网络处理器 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7619970B2 (en) * | 2006-04-27 | 2009-11-17 | Dune Semiconductor Ltd. | Method, device and system of scheduling data transport over a fabric |
| CN101141406B (zh) * | 2007-10-17 | 2010-04-07 | 杭州华三通信技术有限公司 | 分布式流量控制方法、系统及装置 |
| CN101272345B (zh) * | 2008-04-29 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种流量控制的方法、系统和装置 |
| CN107579921B (zh) * | 2017-09-26 | 2020-09-25 | 锐捷网络股份有限公司 | 流量控制方法及装置 |
-
2019
- 2019-03-01 CN CN201910156869.8A patent/CN109787910B/zh active Active
- 2019-07-19 WO PCT/CN2019/096675 patent/WO2020177263A1/zh not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070291643A1 (en) * | 2006-06-14 | 2007-12-20 | Cisco Technology, Inc. | Stateless call admission and call preemption with a single metering and marking scheme |
| CN101018156A (zh) * | 2007-02-16 | 2007-08-15 | 华为技术有限公司 | 防止带宽型拒绝服务攻击的方法、设备及系统 |
| CN101123587A (zh) * | 2007-09-13 | 2008-02-13 | 杭州华三通信技术有限公司 | 交换机业务流的流量控制方法和装置 |
| CN102487358A (zh) * | 2010-12-01 | 2012-06-06 | 丛林网络公司 | 用于与交换机结构相关的流控制的方法和装置 |
| US20140269294A1 (en) * | 2013-03-13 | 2014-09-18 | Cisco Technology, Inc. | Intra Switch Transport Protocol |
| CN109787910A (zh) * | 2019-03-01 | 2019-05-21 | 烽火通信科技股份有限公司 | 一种流量管理方法、系统及织状网络处理器 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113630809A (zh) * | 2021-08-12 | 2021-11-09 | 迈普通信技术股份有限公司 | 一种业务转发方法、装置及计算机可读存储介质 |
| CN115941487A (zh) * | 2022-12-02 | 2023-04-07 | 中国联合网络通信集团有限公司 | 流量分配方法、装置、设备及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109787910B (zh) | 2021-01-15 |
| CN109787910A (zh) | 2019-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020177263A1 (zh) | 一种流量管理方法、系统及织状网络处理器 | |
| Kumar et al. | Picnic: predictable virtualized nic | |
| US9342339B2 (en) | Method and system for congestion management in a fibre channel network | |
| EP1080560B1 (en) | Method and apparatus for forwarding packets from a plurality of contending queues to an output | |
| US7327680B1 (en) | Methods and apparatus for network congestion control | |
| US20080298248A1 (en) | Method and Apparatus For Computer Network Bandwidth Control and Congestion Management | |
| US20140133314A1 (en) | Forensics for network switching diagnosis | |
| Apostolaki et al. | Fab: Toward flow-aware buffer sharing on programmable switches | |
| WO2002098080A1 (en) | System and method for scheduling traffic for different classes of service | |
| WO2022135202A1 (zh) | 业务流的调度方法、装置及系统 | |
| CN104641605A (zh) | 用于分布式交换结构系统的智能暂停 | |
| CA2675930C (en) | Method for realizing backpressure of masses of ports and device thereof | |
| WO2023142937A1 (zh) | 一种网络拥塞控制方法及相关装置 | |
| US11870708B2 (en) | Congestion control method and apparatus | |
| WO2008149207A2 (en) | Traffic manager, method and fabric switching system for performing active queue management of discard-eligible traffic | |
| WO2015149460A1 (zh) | 以太网光纤通道的流量控制方法、装置及系统 | |
| Devkota et al. | Performance of quantized congestion notification in TCP incast scenarios of data centers | |
| WO2012116540A1 (zh) | 流量管理的方法和管理装置 | |
| WO2025124250A9 (zh) | 集群共享流量阈值的限速方法及装置 | |
| CN101099145A (zh) | 双向消息收发网络中用于管理地区间带宽的方法 | |
| Shan et al. | Less is more: Dynamic and shared headroom allocation in pfc-enabled datacenter networks | |
| CN118233381A (zh) | 协议不可知认知拥塞控制 | |
| US20250286822A1 (en) | System and method for managing distributed shaping in a computer network | |
| WO2021254475A1 (zh) | 一种用于调度队列的方法及装置 | |
| US12047296B2 (en) | Scalable loss tolerant remote direct memory access over optical infrastructure with shaped quota management |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19918440 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19918440 Country of ref document: EP Kind code of ref document: A1 |