WO2021043181A1 - Procédé et dispositif de transmission de données - Google Patents

Procédé et dispositif de transmission de données Download PDF

Info

Publication number
WO2021043181A1
WO2021043181A1 PCT/CN2020/113094 CN2020113094W WO2021043181A1 WO 2021043181 A1 WO2021043181 A1 WO 2021043181A1 CN 2020113094 W CN2020113094 W CN 2020113094W WO 2021043181 A1 WO2021043181 A1 WO 2021043181A1
Authority
WO
WIPO (PCT)
Prior art keywords
switching device
forwarding table
entry
network
interface
Prior art date
Application number
PCT/CN2020/113094
Other languages
English (en)
Chinese (zh)
Inventor
刘和洋
陈永献
尹超
郑合文
龚翔宇
徐永慧
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021043181A1 publication Critical patent/WO2021043181A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5077Network service management, e.g. ensuring proper service fulfilment according to agreements wherein the managed service relates to simple transport services, i.e. providing only network infrastructure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3045Virtual queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/149Network analysis or design for prediction of maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos

Definitions

  • This application relates to the field of computer technology, and in particular to a data transmission method and device.
  • CLOS Clos
  • PFC priority-based flow control
  • PFC deadlock means that when multiple switches form a cyclic buffer dependency (CBD) due to link failures or other rerouting scenarios, if the inbound interface of a certain switch is congested, the respective ports will be buffered. The consumption exceeds the threshold while waiting for each other to release resources, which causes the data flow on all switches to be permanently blocked, which seriously affects the data transmission.
  • CBD cyclic buffer dependency
  • each switch independently detects the PFC deadlock and recovers.
  • the switch detects that a queue is in the PFC-suspended (XOFF) state for a period of time, it is considered
  • the switch triggers an interrupt to notify the software to start the PFC deadlock recovery, such as ignoring the PFC-XOFF state of the PFC deadlock queue and continuing scheduling (such as sending packets to the opposite end or directly dropping packets, etc.).
  • this method will cause packet loss during PFC deadlock recovery, and if the CBD continues between switches, it will fall into a cycle of PFC deadlock again after PFC is unlocked.
  • This application provides a data transmission method and device to solve the PFC deadlock problem.
  • the present application provides a data transmission method.
  • the method includes: a first switching device receives a destination host address, a first priority identifier, and first data sent by a second switching device from a first inbound interface.
  • the first data message is used to determine whether the destination host address, the first inbound interface, and the first priority identifier are matched in the preset first forwarding table for forwarding the down-up data flow; if preset If there is a first entry that matches the destination host address, the first inbound interface, and the first priority identifier in the first forwarding table, the first switching device corresponds to the first entry corresponding to the first entry and includes the first priority identifier.
  • the switching strategy is to send a second data message including the destination host address, the second priority identifier and the first data to the third switching device through the queue corresponding to the second priority identifier.
  • the first switching device may configure a switching strategy for the entry for forwarding down-up data streams in advance. After the first switching device receives the data packet, the first switching device may Set the first forwarding table to match the data message, check whether the entry that matches the data message is included in the preset first forwarding table, if included, it means that the data message is a down-up data flow , And then modify the priority identifier in the data message according to the switching strategy corresponding to the entry that matches the data message, and switch the modified data message to the new queue for transmission to avoid interface congestion on the switching device , Thereby avoiding PFC deadlock.
  • the first forwarding table is generated from entries in the second forwarding table that meet the first condition, and each entry in the second forwarding table includes a network address, an inbound interface, and an outbound interface.
  • the first condition includes one or more of the following: the inbound interface and the outbound interface in the table entry are both uplink ports; the third forwarding table matches the network address and the outgoing interface included in the table entry; third Each entry in the forwarding table includes a network address and an outbound interface; the third forwarding entry does not match the network address and inbound interface included in the entry.
  • both the inbound interface and the outbound interface are determined.
  • Configure switching strategies for the upstream port and/or for the optimal route entries eliminating the need to configure switching strategies for all entries, avoiding the configuration of switching strategies for invalid entries, and saving resources.
  • the method further includes: the first switching device generates a second forwarding table, from the second forwarding table, determining an entry that meets the first condition, and The entry that meets the first condition generates the first forwarding table. Based on this possible design, the first switching device only configures the switching strategy for the entry that meets the first condition, avoids configuring the switching strategy for the invalid entry, and saves resources.
  • the network identified by the network address in the entry included in the first forwarding table is not a directly connected network of the first switching device. Based on this possible design, the data flow that is not sent to the local network is determined as the down-up data flow, and it is simple and easy to configure the switching strategy for the entry used to forward the down-up data flow.
  • the method further includes: the first switching device determines from the third forwarding table that the network identified by the network address is not the first An entry of the directly connected network of the switching device; wherein, the entry in the third forwarding table includes a network address and an outgoing interface; the first switching device generates a first forwarding table according to the determined entry. Based on this possible design, the first switching device can configure a switching strategy for the entry in the third forwarding table for forwarding down-up data streams, which is simple and easy to implement.
  • the network identified by the network address included in each entry in the first forwarding table is included in the preset destination network. Based on this possible design, it is simple and easy to determine the network data stream sent to the preset destination as the down-up data stream, and configure the switching strategy for the entry used to forward the down-up data stream.
  • the method further includes: the first switching device determines from the third forwarding table that the network identified by the network address is included in the A preset table entry of the destination network; wherein, the table entry in the third forwarding table includes a network address and an outgoing interface; the first switching device generates the first forwarding table according to the determined table entry. Based on this possible design, the first switching device can configure a switching strategy for the entry in the third forwarding table for forwarding down-up data streams, which is simple and easy to implement.
  • the method before the first switching device receives the first data packet from the second switching device, the method further includes: the first switching device Receive the first routing message sent by the third switching device, and generate a second forwarding table according to the first routing message; wherein, the first routing message includes the network address and the first next hop network address; the second forwarding table is in The table entries include network addresses, incoming interfaces, and outgoing interfaces.
  • the first switching device generates the second forwarding table according to the first routing message, including: the first switching device determines the first switching device connected to the third switching device according to the first next hop network address A physical interface; generate a second routing message sent to the second switching device according to the first routing message; wherein, the second routing message includes a network address and a second next hop network address; according to the second next hop network
  • the address determines the second physical interface connected to the second switching device on the first switching device; using the first physical interface as the outbound interface and the second physical interface as the inbound interface to obtain the second forwarding table.
  • the second forwarding table can be generated through the routing propagation method, which is simple and easy to implement.
  • the method before the first switching device receives the first data packet from the second switching device in combination with the first aspect or any possible design of the first aspect, the method further includes: the first switching device according to LSDB and the shortest path algorithm SPF, get the next hop network address from the first switching device to the destination network, according to LSDB and SPF, get the next hop network address from the upstream device of the first switching device to the destination network, according to the network address Obtain the second forwarding table from the next hop network address from the first switching device to the destination network, and the next hop network address from the upstream device of the first switching device to the destination network.
  • the inbound and outbound interfaces to the destination network can be calculated through the locally pre-configured LSDB and SPF, and the second forwarding table can be generated according to the calculated inbound and outbound interfaces, which is simple and easy to implement.
  • the present application provides a switching device, which may be a first switching device on the first switching device or a chip or a system on a chip in the first switching device; the switching device can implement the above aspects or possibilities
  • the functions performed by the first switching device in the design can be implemented by hardware or by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • the switching device may include: a receiving unit, a processing unit, and a sending unit;
  • the receiving unit is configured to receive, from the first inbound interface, a first data message including a destination host address, a first priority identifier, and first data sent by the second switching device.
  • the processing unit is configured to determine whether the destination host address, the first inbound interface, and the first priority identifier are matched in the preset first forwarding table.
  • the sending unit is configured to, if there is a first entry that matches the destination host address, the first inbound interface, and the first priority identifier in the preset first forwarding table, the second priority is included according to the corresponding first entry
  • the identified first switching strategy sends a second data message including the destination host address, the second priority identifier, and the first data to the third switching device through the queue corresponding to the second priority identifier.
  • the switching device For the specific implementation of the switching device, reference may be made to the behavior and function of the first switching device in the data transmission method provided in the first aspect or any possible design of the first aspect, which will not be repeated here. Therefore, the provided exchange device can achieve the same beneficial effects as the first aspect or any possible design of the first aspect.
  • a switching device including: a processor and a memory; the memory is used to store computer-executable instructions, and when the switching device is running, the processor executes the computer-executable instructions stored in the memory to enable the The switching device executes the data transmission method described in the foregoing first aspect or any one of the possible designs of the first aspect.
  • a computer-readable storage medium stores instructions that, when run on a computer, enable the computer to execute the first aspect or any one of the above aspects. Design the described data transmission method.
  • a computer program product containing instructions, which when running on a computer, enables the computer to execute the data transmission method described in the first aspect or any one of the possible designs of the foregoing aspects.
  • a chip system in a sixth aspect, includes a processor, a receiver, and a transmitter, and is used to support a switching device to implement the functions involved in the above aspects.
  • the processor uses the receiver from the first incoming interface, Receive the first data message including the destination host address, the first priority identifier, and the first data sent by the second switching device, and determine the preset first forwarding table for forwarding the down-up data flow Whether it matches the destination host address, the first inbound interface, and the first priority identifier, if there is a first entry that matches the destination host address, the first inbound interface, and the first priority identifier in the preset first forwarding table , According to the first handover strategy that includes the second priority identifier corresponding to the first entry, the sender sends to the third switching device the destination host address, the second priority identifier, and the third switching device through the queue corresponding to the second priority identifier.
  • the second data packet of the first data In a possible design, the chip system further includes
  • Figure 1 is a schematic diagram of a PFC provided by an embodiment of the application.
  • Figure 2a is a schematic diagram of a PFC deadlock provided by an embodiment of the application.
  • FIG. 2b is a schematic diagram of another PFC deadlock provided by an embodiment of the application.
  • Figure 2c is a schematic diagram of the relationship between the routing table and the FIB
  • FIG. 3a is a schematic diagram of a CLOS networking provided by an embodiment of this application.
  • FIG. 3b is a schematic diagram of another CLOS networking provided by an embodiment of this application.
  • FIG. 4 is a schematic diagram of a switching device provided by an embodiment of this application.
  • FIG. 5 is a flowchart of a data transmission method provided by an embodiment of this application.
  • Figure 6a is a schematic diagram of the relationship between the first forwarding table, the second forwarding table, and the third forwarding table;
  • Figure 6b is a schematic diagram of the relationship between the first forwarding table and the third forwarding table
  • Figure 6c is a schematic diagram of another relationship between the first forwarding table and the third forwarding table
  • FIG. 7 is a flowchart of generating entries in the second forwarding table according to an embodiment of the application.
  • FIG. 8 is a schematic diagram of generating entries in a second forwarding table according to an embodiment of the application.
  • FIG. 9 is a schematic diagram of the composition of a switching device 90 provided by an embodiment of the application.
  • PFC is a suspension mechanism developed to meet the no-packet loss requirements of Ethernet.
  • PFC allows the creation of 8 virtual channels (or queues) on an Ethernet link. Each virtual channel corresponds to a priority level. It allows any one of the virtual channels to be suspended and restarted independently, while allowing other virtual channels to have uninterrupted traffic by.
  • PFC enables the network to create a packet loss-free service for a single virtual link, enabling it to coexist with other traffic types on the same interface.
  • Different virtual channels have different priority levels.
  • the virtual channel is used as a queue for description.
  • the priority level of the queue can be differentiated services code point (DSCP) or virtual local area network label (virtual local area network label). Local area network tag, VLAN Tag) or quality of services (QoS) and other identifications. Because the priority level of the queue corresponds to the queue one-to-one, the priority level of the queue can be used to uniquely identify the queue. Data packets can be switched from one queue under the same inbound interface to another queue.
  • DSCP differentiated services code point
  • VLAN Tag virtual local area network label
  • QoS quality of services
  • 8 queues can be created on an Ethernet link between the outbound interface of switch A and the inbound interface of switch B, and an Ethernet link between the outbound interface of switch B and the inbound interface of switch C 8 queues can be created on the network link.
  • the priority of queue 1 is DSCP1
  • the priority of queue 2 is DSCP2
  • the priority of queue 8 is DSCP2
  • a data packet carries DSCP8
  • the data message is transmitted on queue 8.
  • switch C can notify switch B to suspend data packets on the sixth queue Transmission, normal transmission on other queues. After the switch B receives the suspension notification, it can switch the data message from queue 6 to another queue, such as queue 3, and transmit it on queue 3.
  • PFC deadlock means that when multiple switches form a cyclic buffer dependency (CBD) due to link failures or other rerouting scenarios, if the inbound interface of a certain switch is congested, their respective ports Cache consumption exceeds the threshold while waiting for each other to release resources, resulting in a network state where data flows on all switches are permanently blocked, which seriously affects data transmission.
  • CBD cyclic buffer dependency
  • CBD CBD-shaped loop between the switches
  • the necessary conditions for the formation of CBD are: the formation of a " ⁇ "-shaped loop between the switches, or the formation of a " ⁇ "-shaped loop between the switches.
  • a CBD of " ⁇ " is formed among the switch 11, the switch 22, the switch 23, and the switch 12.
  • the switch 12 sends back pressure information (XOFF: flow stop information) to the switch 23 (that is, the upstream device), and the switch 23 receives the back pressure After receiving the information, it will send traffic stop information to the switch 11 based on the back pressure information, and so on.
  • the switch 11 After receiving the back pressure information sent by the switch 23, the switch 11 sends back pressure information to the switch 22, and the switch 22 sends back pressure information to the switch 23.
  • the formation of PFC deadlock is a CBD of " ⁇ " is formed among the switch 11, the switch 22, the switch 23, and the switch 12.
  • a " ⁇ "-shaped CBD is formed between switch A, switch B, and switch C. If the data flow from switch A to switch B is congested on switch B, switch B will send to switch B. A (the upstream device) sends back pressure information (XOFF: flow stop information). After switch A receives the back pressure information, it will send traffic stop information to switch C according to the back pressure information, and so on, switch C receives switch A After the sent back pressure information, it sends back pressure information to switch B, and switch B sends back pressure information to switch A, forming a PFC deadlock.
  • XOFF flow stop information
  • the routing table can be called the routing information base (RIB).
  • the routing table is an electronic table (file) or similar database stored in the switching device.
  • the routing table can include one or more Table entry, each entry can be regarded as a path to the destination network (or a specific network address). The path can be valid and used to forward data packets, or the path is invalid and cannot be used to forward data Message.
  • Each entry in the routing table may include at least ⁇ network address, outbound interface>, and may also include other information, such as priority (pre), routing cost (cost), and so on.
  • the network address may include an IP address or refer to the first few bits of the network address, and the network address may be used to identify the destination address or destination network that finally receives the first data (or Internet protocol (IP) packet).
  • IP Internet protocol
  • a first forwarding table and a second forwarding table can be added to the routing table.
  • the first forwarding table can include one or more entries, and each entry includes ⁇ network address, Incoming interface, priority identification>, priority identification can be DSCP or VLAN Tag, etc.
  • the second forwarding table may include one or more entries, and the entries included in the second forwarding table may include ⁇ network address, inbound interface, outbound interface>.
  • the first forwarding table can be generated according to the entries in the second forwarding table that meet the corresponding conditions. For the generation process of the second forwarding table, refer to the method 1 or the method 2 in the second scenario of the method shown in Figure 5 below. Narrated.
  • first forwarding table and the second forwarding table described in the embodiments of this application are named as exemplary. It is understandable that other names can also be used.
  • first forwarding table can be called the data plane forwarding table
  • second forwarding table The forwarding table can be called a control plane forwarding table, etc., without limitation.
  • the forwarding information base may be referred to as a forwarding table (forwarding table), or, in the embodiment of the present application, the FIB may be referred to as a third forwarding table.
  • the forwarding table and the routing table are two different tables that share the same information but are used for different purposes.
  • the forwarding table is a subset of the routing table in content, and the forwarding table is generated by relying on the routing table.
  • the forwarding table is an electronic table (file) or similar database stored in the switching device.
  • the forwarding table can include one or more entries, and each entry can be regarded as an effective path to the destination network (or a specific network address) , The entry can be used to forward data packets.
  • the entries in the forwarding table may include at least: ⁇ network address, outgoing interface>, and may also include priority (pre), routing cost (cost), and so on.
  • pre priority
  • cost routing cost
  • FIB is a subset of the routing table (or RIB).
  • the data transmission method provided in the embodiments of the present application can be applied to a multi-level interconnection switching network, such as a multi-level Clos (CLOS) network.
  • the multi-level CLOS may include a leaf-spine-based CLOS network of level 2 or CLOS of level 3 or a CLOS network of level 3 or more.
  • the level 2 CLOS network may include a layer 2 switching device from top to bottom and a server or host at the bottom.
  • the two layers from top to bottom are the core layer and the edge layer.
  • the switching device at the core layer is called a core switching device or a spine switching device or a root switching device
  • the switching device at the edge layer is called an edge switching device or a leaf switching device.
  • Each switching device in the spine switching device is connected to each leaf switching device.
  • the leaf switching devices are not directly connected to each other, and each leaf switching device is directly connected to the host or server.
  • the switching device 21, the switching device 22, the switching device 23, and the switching device 24 are directly connected to the host or server, and the switching device 11 and the switching device 12 are respectively connected to the switching device 21, the switching device 22, and the switching device 23. And the switching equipment 24 is connected.
  • the level 3 CLOS network (or called a full three-level fat tree network) provided by this embodiment of the application, as shown in Fig. 3b, the level 3 CLOS network may include top-to-bottom CLOS networks.
  • Layer 3 switching equipment and the underlying server or host are the three layers from top to bottom are the core layer, the convergence layer, and the edge layer.
  • the switching devices at the core layer are called core switching devices
  • the switching devices at the aggregation layer are called aggregation (aggregation, AGG) switching devices
  • the switching devices at the edge layer are called edge switching devices.
  • Each switching device in the core switching device is connected to each aggregation switching device.
  • the aggregation switching device is connected to the edge switching device in the same network.
  • the aggregation switching devices are not directly connected, and the edge switching devices are not directly connected.
  • the host or The server is directly connected to the edge switching equipment.
  • the switching devices in Figures 3a and 3b are mainly used for data forwarding or switching.
  • the switching device described in this embodiment of the application may be a switch, a router, a switch, or a chip in a router used to implement the data transmission method described in the embodiment of this application, or a system on chip (SOC), or Other devices with data forwarding or switching functions are not restricted.
  • SOC system on chip
  • i is an integer greater than or equal to 2
  • the switching devices in the first group of switching devices are called edge switching devices
  • the switching devices in the i+1th group of switching devices are called core switching devices or root switching devices
  • the switching devices in the second to jth groups of switching devices are called intermediate switching devices, and j takes (2, i+ 1) Any integer in.
  • i+1 level CLOS network only edge switching devices are connected to computing nodes (such as servers or hosts).
  • FIGS. 3a and 3b are only exemplary drawings, and the number of devices included in FIGS. 3a and 3b is not limited, and in addition to the devices shown in FIGS. 3a and 3b, the architecture may also include other devices.
  • the names of the devices in Figs. 3a and 3b are not limited. In addition to the names shown in Figs. 3a and 3b, the devices can also be named other names without limitation.
  • switching device 11 ⁇ switching device 23 ⁇ switching device 12 is a down-up data flow
  • switching device 12 ⁇ switching device 22 ⁇ switching device 11 is also Down-up data flow
  • the data flow from switching device 22 ⁇ switching device 11 ⁇ switching device 23 is an up-down data flow.
  • the down-up data flow can refer to the data flow that enters from the up port toward the CLOS root and then sends out from the up port toward the CLOS root.
  • the down-up data flow is an abnormal data flow
  • the up-down data The stream can enter from the up port towards the CLOS root and then send out the data stream from the down port away from the CLOS root.
  • the up-down data stream is a normal data stream.
  • the uplink (up) port and the downlink (down) port are relative concepts.
  • the uplink port may refer to the physical interface of the switching device that tends to the CLOS root
  • the downlink port may refer to the physical interface of the switching device away from the CLOS root.
  • the abnormal down-up data flow can be identified before the data transmission, and the abnormal down-up data flow can be queued to switch the abnormal down-up data flow.
  • -up data flow is switched to other queues, such as switching to other idle queues or lossless queues, so as to avoid congestion on the interface of the switching device and avoid (or prevent in advance) PFC deadlock.
  • the necessary condition for forming an abnormal down-up data flow is that the incoming and outgoing interfaces of the data flow are both up (up) ports.
  • the data flow flows from an up port of the switching device 22 into the switching device 22, then If it is sent from another up port of the switching device 22, the data stream must be sent to the CLOS root to form a down-up data stream. Therefore, only the type of the inbound and outbound interfaces of the data stream can be identified according to the data The types of the inbound and outbound interfaces of the flow determine the abnormal down-up data flow, and then queue the abnormal down-up data flow to avoid PFC deadlock.
  • the equal cost multiple path (ECMP) is behind the packet matching module (or called the ingress filter processer (IFP)) in the ingress pipeline of the switching chip, and the IFP No outgoing interface can be seen at all, that is, IFP performs packet matching before ECMP.
  • IFP only knows the ingress port of the data packet, and IFP cannot match the egress port, which makes it impossible to match the incoming interface and outgoing interface.
  • the type identifies the abnormal down-up data flow, and performs queue switching on the abnormal down-up data flow.
  • the embodiment of the present application provides a data transmission method.
  • a switching strategy is configured for an entry used to forward abnormal down-up data streams in advance, and subsequently, in the data message transmission process If the destination host address, inbound interface, and priority identifier of a data packet match the first forwarding table, it means that the data packet is an abnormally transmitted down-up data flow, and it is in accordance with the destination host of the data packet.
  • the switching strategy corresponding to the first entry that matches the address, inbound interface, and priority identification switches the data message to a new queue, and transmits the data message through the new queue (such as a lossless queue or an idle queue) to avoid Congestion occurs on the interface of the switching device to avoid PFC deadlock.
  • the method can refer to the method shown in FIG. 5.
  • each switching device shown in FIG. 3a and FIG. 3b may adopt the composition structure shown in FIG. 4 or include the components shown in FIG. 4.
  • Fig. 4 is a possible structural diagram of a switching device provided by an embodiment of the present invention.
  • the switching device is, for example, the aforementioned edge switch, access switch, aggregation switch, and core switch.
  • the switching device 400 may be a switching device or a chip or a system on a chip in the switching device.
  • the switching device 400 includes a processor 401, a transmitter 402, a receiver 403, and a physical interface 404.
  • the switching device 400 may further include a memory 405.
  • the processor 401, the transmitter 402, the receiver 403, and the physical interface 404 may be connected through a communication bus.
  • the processor 401 is a central processing unit (CPU), a general-purpose processor network processor (network processor, NP), a digital signal processor (digital signal processing, DSP), a microprocessor, a microcontroller, Programmable logic device (PLD) or any combination of them.
  • the processor 401 may also be other devices with processing functions, such as circuits, devices, or software modules, without limitation.
  • the transmitter 402 and the receiver 403 are used to communicate with other devices or other communication networks.
  • the other communication network may be Ethernet, radio access network (RAN), wireless local area networks (WLAN), etc.
  • the transmitter 402 and the receiver 403 may be a module, a circuit, a transceiver, or any device capable of implementing communication.
  • the transmitter 402 and the receiver 403 may be physically independent of each other or integrated.
  • the transmitter 402 may send the data packet to the adjacent switching device through the physical interface 404.
  • the receiver 403 may receive the data packet sent by the neighboring switching device through the physical interface 404.
  • the memory 405 is used to store instructions. Among them, the instruction may be a computer program.
  • the memory 405 may be a read-only memory (ROM) or other types of static storage devices that can store static information and/or instructions, and may also be a random access memory (RAM) or Other types of dynamic storage devices that store information and/or instructions can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory, CD- ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, etc., are not restricted.
  • ROM read-only memory
  • RAM random access memory
  • EEPROM electrically erasable programmable read-only memory
  • CD- ROM compact disc read-only memory
  • optical disc storage including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.
  • the memory 405 may exist independently of the processor 401, or may be integrated with the processor 401.
  • the memory 405 can be used to store routing tables, forwarding tables, and can also store instructions or program codes or some data.
  • the memory 405 may be located in the switching device 400 or outside the switching device 400 without limitation.
  • the processor 401 is configured to execute instructions stored in the memory 405 to implement data transmission and sending provided in the following embodiments of the present application.
  • the processor 401 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 4.
  • the switching apparatus 400 includes multiple processors.
  • the processor 401 in FIG. 4 it may also include a processor 406.
  • the switching device 400 may be a router, a switch, an embedded device, a chip system, or a device with a similar structure in FIG. 4.
  • the composition structure shown in FIG. 4 does not constitute a limitation on the exchange device.
  • the exchange device may include more or less components than those shown in the figure, or combine certain components. , Or different component arrangements.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • FIG. 3a uses the architecture shown in FIG. 3a as an example to describe the data transmission method provided in the embodiment of the present application.
  • Each switching device in the following embodiments may have the components shown in FIG. 4, which will not be repeated.
  • FIG. 5 is a data transmission method provided by an embodiment of this application. As shown in FIG. 5, the method may include:
  • Step 501 The first switching device receives the first data packet sent by the second switching device from the first inbound interface.
  • the first switching device may be any switching device in FIG. 3a.
  • the second switching device may be any node connected to the first switching device.
  • the first switching device is the switching device 22 in FIG. 3a
  • the second switching device may be the switching device 12 in FIG. 3a.
  • the first data message is a data message transmitted on the first queue and sent to the first destination network.
  • the first data message may include the destination host address, the first priority identifier, and the first data, and may also include other information, which is not limited.
  • the first data message may include a header (header) and a payload (playload).
  • the destination host address and the first priority identifier may be carried in the header of the first data message, and the first data may be carried in the payload of the first data message.
  • the destination host address can be used to uniquely identify a host in the destination network
  • the destination host address can be the Internet Protocol (IP) address of the destination host
  • the destination host address can be composed of the network address and the host number (or called Host address)
  • the destination host is the host or server that finally receives the first data
  • the network address can be the network address of the network where the destination host is located.
  • the destination host address can be: 192.168.1.1, where, if the network address of the destination host is 192.168.1.0/24, then the host number of the host in the network is 0.0.0.1.
  • the first inbound interface may be a physical interface on the first switching device that is used to receive the first data packet.
  • the first priority identifier may be used to identify the originally configured first queue used to transmit the first data packet.
  • the first priority identifier can be DSCP or VLAN Tag, etc., which is not limited.
  • the first data carried in the first data packet may be the first data generated by any server in FIG. 3a and sent to the destination server (or destination network), and the server generating the first data may be referred to as the source data device.
  • Step 502 The first switching device determines whether the destination host address, the first inbound interface, and the first priority identifier are matched in the preset first forwarding table.
  • the preset first forwarding table may be pre-configured on the first switching device before data transmission, the preset first forwarding table may include one or more entries, and the entries included in the first forwarding table include network Address, incoming interface, and priority identification, each entry corresponds to a switching strategy, and each entry is used to forward down-up data streams.
  • each entry in the preset first forwarding table can be ⁇ network address, inbound interface, priority identification>, and this entry can indicate that it is sent from the inbound interface to the destination network and is identified by the priority identification.
  • the data stream transmitted on the queue is a down-up data stream.
  • this entry ⁇ network address, ingress interface, source priority identifier> corresponds to the switching strategy It may be action ⁇ destination priority identifier>, and the switching strategy may be used to instruct to switch the data message transmitted on the queue identified by the source priority identifier to the queue identified by the destination priority identifier.
  • the preset first forwarding table includes a first entry ⁇ destination network A, interface 2, priority identification 1>, and the switching strategy of this first entry is ⁇ destination network A, interface 2, priority identification 1>action ⁇ priority identification 2>, priority identification 1 is used to identify queue 1, priority identification 2 is used to identify queue 2.
  • priority identifier included in the text is modified from priority identifier 1 to priority identifier 2, and the modified data message is sent out through queue 2.
  • the priority identifier can be DSCP or VLAN Tag.
  • the first switching device may identify an entry for forwarding the down-up data stream from the third forwarding table and/or the second forwarding table, and convert the identified entry into the format: ⁇ network address , The entry interface, priority identifier> is added to the preset first forwarding table.
  • the third forwarding table may be a locally stored FIB, and the second forwarding table may be a forwarding table generated according to the following FIG. 7 or other methods.
  • condition one to condition three can refer to the description in the first scenario in the method shown in FIG. 5.
  • the first switching device may use the destination host address, the first inbound interface, and the first priority identifier as an index to traverse each entry in the preset first forwarding table. If the preset first forwarding table is , There is a first entry, the network address included in the first entry is the same as the network segment corresponding to the destination host address, the inbound interface included in the first entry is the same as the first inbound interface, and the first entry includes the priority If the level identifier is the same as the first priority identifier, it is determined that the destination host address and the first inbound interface are matched in the preset first forwarding table.
  • the network segment corresponding to the destination host address may refer to the result of the destination host address and the subnet mask.
  • Step 503 If there is a first entry that matches the destination host address, the first inbound interface, and the first priority identifier in the preset first forwarding table, the first switching device according to the switching strategy corresponding to the first entry , Sending the second data packet to the third switching device through the queue corresponding to the second priority identifier.
  • the third switching device may be the next hop for sending a data message from the first switching device to the destination network.
  • the switching strategy corresponding to the first entry may be used to instruct to transmit the data packet on the second queue.
  • the handover strategy may include a second priority identifier, and the second priority identifier may be used to identify the second queue.
  • the second priority identifier may be a DSCP or VLAN Tag used to identify the second queue. It should be noted that the second queue can be used to transmit up-down data streams.
  • the second data message may be a data message transmitted on the second queue and sent to the first destination network.
  • the second data message may include the destination host address, the second priority identifier, and the first data sent to the destination network, and may also include other information, which is not limited.
  • the first switching device identifies the first priority identifier On the first queue, the first data packet is sent to the third switching device.
  • the method shown in FIG. 5 uses the first switching device as an example to describe the data transmission method provided in the embodiment of this application. It is understandable that any other switching device in the CLOS network can be used for forwarding in advance.
  • the table item of the down-up data stream configures the switching strategy, and referring to the method shown in FIG. 5, the data transmission process is executed according to the pre-configured switching strategy.
  • the first switching device can pre-configure a switching strategy for the entry used to forward the down-up data stream. After the first switching device receives the data packet, the first switching device can set a preset Match the data message in the first forwarding table, check whether the entry matching the data message is included in the preset first forwarding table, if included, it means that the data message is a down-up data flow, and then According to the switching strategy corresponding to the entry matching the data message, the data message is switched to a new queue for transmission, thereby avoiding PFC deadlock.
  • the entries in the second forwarding table that meet condition one can be identified, the outbound interface in the identified entries can be replaced with priority identifiers, and the replaced table
  • the item is saved to the preset first forwarding table, and the switching strategy is configured for the entry at the same time, or the entry that meets the condition 2 or the condition 3 in the second forwarding table is identified, and the generated format according to the identified entry is ⁇ Destination network, inbound interface, priority ID> entry, and save the generated entry in the preset first forwarding table.
  • Condition 1 It can include one or more of (1.1) ⁇ (1.2): (1.1), the inbound and outbound interfaces in the table entry are both up (up) ports; (1.2), in the third forwarding table The network address and the outgoing interface included in the table entry are matched in (1.3), the network address and the incoming interface included in the table entry are not matched in the third table entry.
  • the third forwarding table is as described above, and the third forwarding table is a locally stored FIB.
  • condition one can also be referred to as the first condition or other names, which is not limited.
  • the first switching device determines from the second forwarding table an entry that meets the above-mentioned first condition, and generates the first forwarding table based on the entry that meets the first condition, such as:
  • the entry ⁇ network address, inbound interface, outbound interface> that meets the first condition is replaced with ⁇ destination network, inbound interface, priority identifier>, and the replaced entry is stored in the first forwarding table .
  • the priority identifier can be used to identify the lossless logical channel (or lossless queue) between the inbound interface and the outbound interface, which is a specific queue.
  • the method of replacing the format ⁇ network address, inbound interface, outbound interface> of the table entry with the format ⁇ destination network, inbound interface, priority identifier> can refer to the prior art, and will not be repeated.
  • Figure 6a is a schematic diagram of the relationship between the first forwarding table, the second forwarding table, and the third forwarding table.
  • the first forwarding table is an entry in the second forwarding table that meets the first condition and the third forwarding table.
  • the intersection of the publications, the second forwarding table and the third forwarding table are subsets of the routing table.
  • the method for generating the second forwarding table can be referred to as shown in FIG. 7 or described in the second way below.
  • the first switching device can generate a second forwarding table, query the second forwarding table, traverse each entry in the second forwarding table, and view the attributes of the inbound and outbound interfaces included in each entry in the second forwarding table. If it is found that the inbound and outbound interfaces included in a certain entry in the second forwarding table are both up ports, it is determined that the entry is used to forward the data stream sent from the first switching device to the upper level, that is, forwarding down- Up data stream, replace the format of the entry ⁇ network address, inbound interface, outbound interface> with ⁇ destination network, inbound interface, priority identifier>, store the replaced entry in the first forwarding table, and be This entry configures the switching strategy; and/or,
  • the first switching device can generate a second forwarding table, query the second forwarding table, traverse each entry in the second forwarding table, and check the network address and outbound interface included in each entry in the second forwarding table.
  • the forwarding table matches the same entries as the network address and outgoing interface, such as: the second forwarding table includes a certain entry 1, the network address, outgoing interface and the third forwarding table included in the third forwarding table Item 2 includes the same network address and inbound interface, then it is determined that item 1 is used to forward the data stream sent from the first switching device to the upper level, that is, to forward the down-up data stream, the format of item 1 ⁇ network address , Outgoing interface, outgoing interface> is replaced with ⁇ destination network, outgoing interface, priority identification>, the replaced entry is stored in the first forwarding table, and a switching strategy is configured for the entry; and/or.
  • the first switching device can generate a second forwarding table, query the second forwarding table, traverse each entry in the second forwarding table, and check the network address and inbound interface included in each entry in the second forwarding table.
  • the forwarding table does not match the same entry as the network address and inbound interface, such as an entry included in the second forwarding table, and the certain entry includes network address 1, inbound interface 1, but the third forwarding table If there is no entry including network address 1 and inbound interface 1, it is determined that a certain entry included in the second forwarding table is used to forward the data stream sent from the first switching device to the upper level, that is, forward the down-up data stream , Replace the format ⁇ network address, inbound interface, outbound interface> of this entry with ⁇ destination network, inbound interface, priority identifier>, store the replaced entry in the first forwarding table, and set it as the Table item configuration switching strategy.
  • the priority identifier included in each entry in the first forwarding table can be used to identify a specific lossless queue.
  • the attributes of the inbound interface and the outbound interface can be determined with reference to the prior art, which will not be repeated.
  • the switching strategy can be configured for the entries in the third forwarding table that meet the first condition, and there is no need to configure the strategy policies for all the entries in the third forwarding table used to forward data streams, saving the entries for configuring the switching strategy and avoiding invalidity.
  • the routing occupies resources.
  • Condition 2 The network identified by the network address in the table entry is not a directly connected network of the first switching device.
  • the directly connected network of the first switching device may refer to a network where the host or server directly connected to the first switching device is located.
  • the first switching device can query the locally stored third forwarding table (or FIB), traverse each entry in the third forwarding table, and view the network identified by the network address included in the entry. If a certain entry The network identified by the included network address is not the network where the first switching device is located, then it is determined that the entry is used to forward the data stream sent from the first switching device to the upper level, that is, the down-up data stream is forwarded, and the entry is divided Go to the preset first forwarding table, and configure the switching strategy for the entry.
  • the first forwarding table includes entries that meet condition two in the third forwarding table.
  • the first forwarding table is a subset of the third forwarding table, the third forwarding table is FIB, and the third forwarding table is the routing table. In the subset.
  • the network address of the network where the first switching device is located is network 2
  • table item 1 is ⁇ network address 1, inbound interface 1, priority identifier DSCP1 or VLAN Tag1>
  • the network address 1 included in table item 1 If it is determined that the entry is used for forwarding to network address 1, not network 2, that is, it is not sent to the network where the first switching device is located, then entry 1 is included in the preset first forwarding table and is an entry 1 Configure the switching strategy, such as: configure switching strategy 1 ⁇ DSCP2 or VLAN Tag2>.
  • Condition 3 The network identified by the network address included in the table entry is included in the preset destination network.
  • the preset destination network can be set according to needs without limitation.
  • the preset destination network may be one or more, and the preset destination network may be the network where the host or server that finally receives the first data is located. It should be noted that the network where the first switching device is located is not included in the preset destination network.
  • the first switching device can query the locally stored third forwarding table (or FIB), traverse each entry in the third forwarding table, and check the network identified by the network address included in the entry, if a certain The network identified by the network address included in the entry falls into the preset destination network, then it is determined that the entry is used to forward the down-up data stream, the entry is divided into the preset first forwarding table, and it is This entry configures the switching strategy.
  • the first forwarding table includes entries that meet condition three in the third forwarding table.
  • the first forwarding table is a subset of the third forwarding table, the third forwarding table is FIB, and the third forwarding table is the routing table. In the subset.
  • the preset destination networks include network 1, network 3, and network 4. If entry 1 is ⁇ network address 1, inbound interface 1, DSCP1, or VLAN Tag1>, the network address 1 included in entry 1 is determined The entry is used for forwarding to network address 1, and it is included in the preset destination network, then entry 1 is included in the preset first forwarding table, and the switching strategy is configured for entry 1, such as: configuring the switching strategy 1 ⁇ DSCP2 or VLAN Tag2>.
  • the first switching device can update the first entry in the preset first forwarding table and the switching strategy corresponding to the first entry in real time according to the update of the network address, inbound interface, etc. in the entry, so as to ensure the anticipation
  • Each first entry in the first forwarding table is used to forward down-up data streams.
  • the attributes of the inbound interface and/or the outbound interface in the second forwarding table corresponding to the first entry in the preset first forwarding table change, for example, it becomes a down port, then the first entry is changed from the default Is deleted from the first forwarding table, and at the same time, the switching strategy corresponding to the first entry is deleted; or,
  • the destination network identified by the network address in the first entry in the preset first forwarding table is the network where the first switching device is located, delete the first entry from the preset first forwarding table, At the same time, delete the switching strategy corresponding to the first entry; or,
  • the second forwarding table corresponding to the first entry in the preset first forwarding table becomes invalid (for example, the switching device on the path identified by the second forwarding table fails, etc.), then the first entry is removed from the preset It is assumed that the first forwarding table is deleted, and at the same time, the switching strategy corresponding to the first entry is deleted.
  • the format of the second forwarding table is ⁇ network address, inbound interface, outbound interface>, and the network address prefix is the same as the network address, which can uniquely identify a destination network, and the network address can be an IP address + subnet
  • the mask, the incoming interface (in_port(s), and the outgoing interface (out_port(s)) are two different physical interfaces on the first switching device.
  • the second forwarding table it can be known: Data packets are sent out from the outgoing interface.
  • switch 1 For example, suppose there is a second forwarding table in the routing table on switch 1 as ⁇ network address 1, incoming interface 1, outgoing interface 2>, if the switch 1 receives from incoming interface 1 and sends it to For a data message with network address 1, switch 1 sends the data message from its own outgoing interface 2.
  • the first switching device can update the routing table in real time according to the change of the path to the destination network. For example, if a path to the destination network is newly added, the second forwarding table corresponding to the newly added path is added to the routing table; if the path pointed to by the existing second forwarding table fails or becomes invalid, the existing second forwarding table is The forwarding table is deleted from the routing table and so on.
  • the second forwarding table can be generated with reference to method one or method two:
  • Manner 1 Generate the second forwarding table through the route propagation method.
  • the first switching device receives the first routing message sent by the third switching device; wherein, the first routing message includes a network address and a first next-hop network address; the first switching device according to the first routing message , Generate a second forwarding table; wherein, the entries in the second forwarding table include a network address, an inbound interface, and an outbound interface.
  • the first switching device generates the second forwarding table according to the first routing message, which may include:
  • the first switching device determines the first physical interface connected to the third switching device on the first switching device according to the first next-hop network address; the first switching device generates the data to be sent to the second switching device according to the first routing message The second routing message; wherein, the second routing message includes a network address and a second next hop network address; the first switching device determines the connection between the first switching device and the second switching device according to the second next hop network address The connected second physical interface; the first switching device uses the first physical interface as the outbound interface and the second physical interface as the inbound interface to obtain entries in the second forwarding table.
  • Fig. 7 the implementation manner can be referred to as shown in Fig. 7:
  • FIG. 7 a flowchart of a method for generating a second forwarding table provided by an embodiment of this application. As shown in FIG. 7, the method may include steps 701 to 705:
  • Step 701 The first switching device receives the first routing message sent by the third switching device.
  • the first routing message may be used to establish a transmission path for a data message sent from the first switching device to the destination network, and the first routing message may include a network address and a first next-hop network address. , It can also include other information without limitation.
  • the network address can be used to uniquely identify the destination network, and the network address can be composed of an Internet Protocol (IP) address of the destination network + a subnet mask.
  • IP Internet Protocol
  • the next hop can be the next switching device adjacent to the local switching device on the path from the local switching device (such as the first switching device) to the destination network; or, it can be described as the next hop as the slave local switching device.
  • the next hop network address can be the network layer interface address of the next hop or the IP address of the next hop.
  • next hop network address in the first routing message may be the network layer interface address on the third switching device, the network layer interface address is connected to the first switching device, and the next hop may be the third switching device.
  • the destination network is the subnet where the switch 23 is located. Assuming that the first switching device is the switch 22, the next hop from the switch 22 to the destination network is the switch 11. Assuming that the first switching device is the switch 12, the next hop from the switch 12 to the destination network is the switch 22.
  • Step 702 The first switching device determines the first physical interface connected to the third switching device on the first switching device according to the first next hop network address included in the first routing message.
  • the first physical interface may be an outgoing interface of a data packet sent from the first switching device to the destination network, and the first switching device may send a data packet sent to the destination network from the first physical interface.
  • the first physical interface may include one or more physical interfaces, that is, the number of outgoing interfaces of data packets sent to the destination network is not limited, and may be one or more.
  • the first switching device determining the first physical interface connected to the third switching device on the first switching device according to the first next hop network address may include:
  • the first switching device uses the first next hop network address as an index, queries the IP configuration table, and finds the network layer interface address corresponding to the first next hop network address from the IP configuration table; it corresponds to the first next hop network address
  • the network layer interface address of is the address of the network layer interface on the first switching device and connected to the third switching device;
  • the first switching device uses the network layer interface address corresponding to the first next hop network address as an index, queries the locally configured interface configuration table, and finds the first physical interface corresponding to the network layer interface address from the interface configuration table.
  • the IP configuration table may be pre-configured on the first switching device, and the IP configuration table may include the correspondence between the network layer interface address of the first switching device and the network layer interface address of the neighbor node of the first switching device.
  • the interface configuration table may be pre-configured on the first switching device, and the interface configuration table may include the correspondence between the network layer interface address and the physical interface.
  • a switching device may have multiple physical interfaces, for example, it may have 32 network layer interfaces, and these physical interfaces may be numbered starting from 0 or starting from 1, which is not limited.
  • the following table 1 shows the IP configuration table stored in the switch 22, as shown in Table 1, the local network layer interface 10.3.1.1/24 Connect with the network layer interface 10.3.1.2/24 of the neighbor node, the network layer interface 10.3.2.1/24 of the machine is connected with the network layer interface 10.3.2.2/24 of the neighbor node, and the network layer interface 10.3.3.1/24 of the machine Connect with the network layer interface 10.3.3.2/24 of the neighbor node. If the next hop network address in the routing message received by the switch 22 is 10.3.1.2/24, use 10.3.1.2/24 as the index, and look up Table 1 to get the next hop network address 10.3.1.2/24 The network layer interface is 10.3.1.1/24.
  • Table 2 below shows the interface configuration table stored in the switch 22.
  • the network layer interface 10.3.1.1/24 of the machine corresponds to the physical interface of the machine: interface 1
  • the network layer interface 10.3. 2.1/24 corresponds to the physical interface of the machine: interface 2
  • the network layer interface of the machine 10.3.3.1/24 corresponds to the physical interface of the machine: interface 3.
  • the switch 22 obtains the network layer interface address as 10.3.1.1/24 according to the query in Table 1, it will use 10.3.1.1/24 as the index, and query the table 2 to obtain the first physical interface corresponding to the first network layer interface 10.3.1.1/24.
  • Interface Interface 1.
  • Network layer interface address of the neighbor node Local network layer interface address 10.3.1.2/24 10.3.1.1/24 10.3.2.2/24 10.3.2.1/24 10.3.3.2/24 10.3.3.1/24
  • Network layer interface address Physical interface 10.3.1.1/24 Interface 1 10.3.2.1/24 Interface 2 10.3.3.1/24 Interface 3
  • Step 703 The first switching device sends a second routing message to the second switching device according to the first routing message.
  • the second routing message may be used to establish a transmission path from the second switching device to the destination network, and the second routing message includes a network address and a second next-hop network address.
  • the network address included in the second routing message is the same as the network address included in the first routing message, and the second next hop network address included in the second routing message may refer to the next network address from the second switching device to the destination network.
  • the network address of the hop, the next hop may be the first switching device, and the second next hop network address included in the second routing message may be the address of the network layer interface of the first switching device to the second switching device.
  • the first switching device may determine which switching device needs to be sent to the destination network identified by the network address according to the network address in the first routing message and the link state database of the entire network, and when it is determined to reach the destination network
  • the first switching device checks the IP configuration table, finds the network layer interface connected to the second switching device, uses the found network layer interface address as the second next hop network address, and sets the second next hop network address.
  • the hop network address and network address are encapsulated together to generate a two-route message.
  • the link state database of the entire network may be pre-configured on the first switching device, and the link state database of the entire network may include the physical topology connection of the network where the first switching device is located, the connection relationship between various network nodes, and The network to which the network node is connected, etc.
  • Step 704 The first switching device determines the second physical interface connected to the second switching device on the first switching device according to the second next hop network address.
  • the second physical interface may be an inbound interface of a data packet sent to the destination network, and the first switching device may receive a data packet sent to the destination network from the second physical interface.
  • the second physical interface may include one or more physical interfaces, that is, the number of inbound interfaces of data packets sent to the destination network is not limited, and may be one or more.
  • the first switching device may use the second next-hop network address included in the second routing message as an index, query the interface configuration table stored locally in the first switching device, and find the second routing message that is included in the second routing message.
  • the physical interface corresponding to the next-hop network address is used as the second physical interface.
  • the interface configuration table stored in the switch 22 is shown in Table 2.
  • the next hop network address included in the second routing message is: 10.3.2.1
  • the query table two it can be known that the second physical interface corresponding to the next hop network address included in the second routing message is: interface 2.
  • Step 705 The first switching device generates a second forwarding table according to the network address, the first physical interface, and the second physical interface.
  • the first switching device may use the second physical interface as the in_port(s), the first physical interface as the outgoing interface (out_port(s)), and the network address, the in_port(s), and The outgoing interfaces (out_port(s)) are combined together to obtain the second forwarding table ⁇ network address, incoming interface, outgoing interface>.
  • the generated second forwarding table includes the entry ⁇ 10.2.0.0/ 16. Interface 1, interface 3 or interface 4>, table entry ⁇ 10.2.0.0/16, interface 2, interface 3 or interface 4>.
  • the first switching device may record the second forwarding table in the routing table.
  • FIG. 7 is described by taking the establishment of a path from the first switching device to the destination network as an example. It is understandable that any switching device in the CLOS network can use the method shown in FIG. 7 to establish a destination network. The multiple paths of each destination network will not be described in detail.
  • the first switching device is the switch 22
  • the third switching device is the switch 11
  • the second switching device is the switch 12
  • the destination network is the subnet where the switch 23 is located
  • the network address is 10.2.10.0/24
  • the source end Taking the host of the subnet where the switch 21 is located as an example, the method shown in FIG. 7 is described:
  • the process of notifying the remote end of the network address may specifically include: switch 12 finds that it cannot communicate with switch 23, switch 23 sends to switch 11 a routing report carrying ⁇ network address 10.2.10.0/24, next hop: switch 23 ⁇ Text (as shown in 1 in Figure 8), the link between the slave switch 23 and the switch 11 is opened, and so on, after the switch 11 receives the routing message sent by the switch 23, it generates a second forwarding table ⁇ 10.2.10.0 /24, incoming interface, outgoing interface>, and send a routing message carrying ⁇ network address 10.2.10.0/24, next hop: switch 11 ⁇ to switch 22 (as shown in 2 in Figure 8) to connect switch 11 and Link between switches 22.
  • the switch 22 After the switch 22 receives the routing message sent by the switch 11, it generates a second forwarding table ⁇ 10.2.10.0/24, inbound interface, outbound interface>, and sends to the switch 12 carrying ⁇ network address 10.2.10.0/24, next hop :The routing message of the switch 22 ⁇ (as shown in 3 in Fig. 8), the link between the switch 22 and the switch 12 is opened. After the switch 12 receives the routing message sent by the switch 22, it generates a second forwarding table ⁇ 10.2.10.0/24, ingress interface, outgoing interface>, and sends to the switch 21 carrying ⁇ network address 10.2.10.0/24, next hop : The routing message of the switch 12 ⁇ (as shown in 4 in FIG. 8), which opens up the link between the switch 12 and the switch 21. After the switch 21 receives the routing message sent by the switch 12, it generates a second forwarding table ⁇ 10.2.10.0/24, inbound interface, outbound interface>.
  • the switch 21 may carry the first data generated by the remote end in a data message, and pass the data message through the link from the switch 21 to the switch 12, the link between the switch 12 and the switch 22, and the switch 22 to the switch 11.
  • the link between the switch 11 and the switch 23 is sent to the destination host under the switch 23.
  • Method 2 Generate a second forwarding table according to the link status of the entire network.
  • the first switching device obtains the next hop network address from the first switching device to the destination network according to the link state datebase (LSDB) and the shortest path algorithm (SPF), and the first switching device
  • LSDB link state datebase
  • SPF shortest path algorithm
  • the first switching device obtains the next-hop network address from the upstream device of the first switching device to the destination network according to the LSDB and SPF, and uses the physical interface corresponding to the next-hop network address from the upstream device of the first switching device to the destination network as Incoming interface
  • the first switching device may combine the network address, the inbound interface, and the outbound interface to generate an entry in the second forwarding table ⁇ network address, inbound interface, outbound interface>.
  • the LSDB may be pre-configured on the first switching device, and the LSDB may include the physical topology connection of the network where the first switching device is located, the connection relationship between various network nodes, and the network connected to the network node.
  • the network shown in Figure 8 is a level 2 CLOS network, which includes a switch 21, a switch 22, a switch 23, a switch 11, and a switch 12.
  • the switch 11 is connected to the switch 21, the switch 22, and the switch 23, and the switch 12 is connected to the switch 21,
  • the switch 22 is connected, and the switch 22 is the first switch, the destination network is the subnet where the switch 23 is located, and the network address is 10.2.10.0/24 as an example.
  • the switch 22 can calculate the shortest path from the local to the destination network based on the LSDB and SPF.
  • Switch 12 ⁇ local ⁇ switch 11 ⁇ ... the next hop network address from the local to the destination network is the network address of switch 11, and physical interface 2 connected to switch 11 is used as the outgoing interface from the first switching device
  • the next hop network address of the upstream device to the destination network is the local network layer interface address
  • physical interface 1 corresponding to the local network layer interface address is used as the inbound interface
  • ⁇ network address 10.2.10.0/24 physical interface 1, Physical interface 2> serves as the second forwarding table to the destination network.
  • the method provided in the embodiments of the present application is introduced from the perspective of interaction between switching devices. It can be understood that, in order to implement each function in the method provided in the foregoing embodiments of the present application, the switching device includes a hardware structure and/or software module corresponding to each function.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software-driven hardware depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
  • the embodiment of the present application may divide the switching device into functional modules according to the foregoing method examples.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software function modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • FIG. 9 shows a structural diagram of a switching device 90.
  • the switching device 90 may be a first switching device or a chip or a system on a chip in the first switching device.
  • the switching device 90 may be used to perform the function of the first switching device involved in the above-mentioned embodiment.
  • the switching device 90 shown in FIG. 9 includes: a receiving unit 901, a processing unit 902, and a sending unit 903.
  • the receiving unit 901 is configured to receive a first data packet sent by a second switching device from a first inbound interface; wherein the first data packet includes a destination host address, a first priority identifier, and first data.
  • the receiving unit 901 may support the switching device 90 to perform step 501.
  • the processing unit 902 is configured to determine whether the destination host address, the first inbound interface, and the first priority identifier are matched in the preset first forwarding table; wherein, the preset first forwarding table
  • the publication includes one or more table items, each table item is used to forward down-up data streams, and each table item corresponds to a switching strategy.
  • the processing unit 902 may support the switching device 90 to perform step 502.
  • the sending unit 903 is configured to: if there is a first entry that matches the destination host address, the first inbound interface, and the first priority identifier in the preset first forwarding table, perform the first entry according to the first
  • the switching strategy corresponding to the entry sends a second data packet to the third switching device through the queue identified by the second queue priority; wherein, the switching strategy includes the second priority identification; the second data packet Including the destination host address, the second priority identifier and the first data.
  • the sending unit 903 supports the switching device 90 to perform step 503.
  • the switching device 90 shown in FIG. 9 may include: a processing module and a communication module.
  • the communication module can integrate the functions of the sending unit 903 and the receiving unit 901.
  • the processing module can integrate the functions of the processing unit 902 to control and manage the actions of the switching device 90.
  • the processing module is used to support the switching device 90 to perform step 502 and other processes of the technology described herein.
  • the communication module is used to support the switching device 90 to perform step 501, step 503, etc. and to communicate with other network entities.
  • the switching device 90 shown in FIG. 9 may also include a storage module for storing program codes and data of the switching device 90.
  • the processing module may be a processor or a controller. It can implement or execute various exemplary logical blocks, modules, and circuits described in conjunction with the disclosure of this application.
  • the processor may also be a combination of computing functions, for example, a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on.
  • the communication module can be a transceiver circuit or a receiver, transmitter, etc.
  • the storage module may be a memory. When the processing module is a processor, the communication module is a receiver and a transmitter, and the storage module is a memory, the switching device 90 shown in FIG. 9 may be the switching device shown in FIG. 4.
  • the embodiment of the present application also provides a computer-readable storage medium. All or part of the processes in the foregoing method embodiments may be completed by a computer program instructing relevant hardware.
  • the program may be stored in the foregoing computer-readable storage medium. When the program is executed, it may include processes as in the foregoing method embodiments. .
  • the computer-readable storage medium may be an internal storage unit of the switching device (including the data sending end and/or the data receiving end) of any of the foregoing embodiments, such as the hard disk or memory of the switching device.
  • the computer-readable storage medium may also be an external storage device of the switching device, such as a plug-in hard disk, a smart media card (SMC), or a secure digital (SD) card equipped on the switching device. Flash card, etc.
  • the aforementioned computer-readable storage medium may also include both an internal storage unit of the aforementioned exchange device and an external storage device.
  • the aforementioned computer-readable storage medium is used to store the aforementioned computer program and other programs and data required by the aforementioned exchange device.
  • the above-mentioned computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
  • words such as “exemplary” or “for example” are used as examples, illustrations, or illustrations. Any embodiment or design solution described as “exemplary” or “for example” in the embodiments of the present application should not be construed as being more preferable or advantageous than other embodiments or design solutions. To be precise, words such as “exemplary” or “for example” are used to present related concepts in a specific manner.
  • the disclosed device and method can be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods, for example, multiple units or components may be divided. It can be combined or integrated into another device, or some features can be omitted or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate parts may or may not be physically separate.
  • the parts displayed as units may be one physical unit or multiple physical units, that is, they may be located in one place, or they may be distributed to multiple different places. . Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the methods provided in the embodiments of the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software When implemented by 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 may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a terminal, or other programmable devices.
  • 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.
  • the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website, computer, server, or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as 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 such as a server or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a digital video disc (DVD)), or a semiconductor medium (for example, SSD).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention concerne un procédé et un dispositif de transmission de données, se rapportant au domaine technique des ordinateurs et résolvant le problème de l'interblocage de PFC. Le procédé comprend les étapes suivantes : un premier dispositif de commutation reçoit en provenance d'une première interface entrante un premier message de données transmis par un deuxième dispositif de commutation et comprenant une adresse hôte cible, une première identification de priorité et des premières données ; et si un premier élément correspondant à l'adresse hôte cible, à la première interface entrante et à la première identification de priorité existe dans une première table de transfert et chaque élément dans la première table de transfert est pourvu de manière correspondante d'une politique de commutation, le premier dispositif de commutation transmet, selon une première politique de commutation correspondant au premier article, un second message de données comprenant l'adresse hôte cible, une seconde identification de priorité et les premières données au moyen d'une file d'attente correspondant à la seconde identification de priorité.
PCT/CN2020/113094 2019-09-02 2020-09-02 Procédé et dispositif de transmission de données WO2021043181A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910824502.9 2019-09-02
CN201910824502.9A CN112448900B (zh) 2019-09-02 2019-09-02 一种数据传输方法及装置

Publications (1)

Publication Number Publication Date
WO2021043181A1 true WO2021043181A1 (fr) 2021-03-11

Family

ID=74734193

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/113094 WO2021043181A1 (fr) 2019-09-02 2020-09-02 Procédé et dispositif de transmission de données

Country Status (2)

Country Link
CN (1) CN112448900B (fr)
WO (1) WO2021043181A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745320A (zh) * 2022-04-28 2022-07-12 山西大学 一种针对单故障情形的路由保护方法
CN115941599A (zh) * 2023-03-10 2023-04-07 珠海星云智联科技有限公司 一种用于预防pfc死锁的流量控制方法、设备及介质
CN115941383A (zh) * 2022-11-28 2023-04-07 北京神经元网络技术有限公司 宽带现场总线多域交换系统网络域分配方法、装置和设备
CN116192743A (zh) * 2023-01-29 2023-05-30 苏州浪潮智能科技有限公司 报文转发方法、装置、通信设备及存储介质
WO2024164678A1 (fr) * 2023-02-10 2024-08-15 华为技术有限公司 Procédé de validation d'adresse source, et système et appareil de communication

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115701056A (zh) * 2021-07-28 2023-02-07 中兴通讯股份有限公司 报文处理方法及网络处理设备、存储介质
CN113691434B (zh) * 2021-08-31 2022-09-20 深圳云天励飞技术股份有限公司 数据传输系统、方法、电子设备及存储介质
CN113923173B (zh) * 2021-10-22 2023-12-15 深圳市风云实业有限公司 网络交换设备数据面快速启动恢复方法
CN113965471B (zh) * 2021-10-22 2022-09-06 上海交通大学 基于RoCEv2协议的网络构建方法及系统
CN113965523A (zh) * 2021-10-28 2022-01-21 锐捷网络股份有限公司 一种基于环路的pfc死锁的处理方法及装置
CN114448896B (zh) * 2022-03-10 2024-01-30 中国工商银行股份有限公司 一种网络优化方法和装置
CN116192777B (zh) * 2022-12-30 2024-06-04 中国联合网络通信集团有限公司 路径学习方法、装置及存储介质
CN117278499B (zh) * 2023-11-16 2024-03-01 苏州元脑智能科技有限公司 一种网络链路创建方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888379A (zh) * 2013-12-03 2014-06-25 江苏达科信息科技有限公司 一种基于可信调度的改进队列调度算法
CN108028788A (zh) * 2015-09-25 2018-05-11 英特尔公司 在lan接口重置期间活动的链路
US20180241688A1 (en) * 2017-02-22 2018-08-23 Cisco Technology, Inc. Distributing and Rate Limiting Packets Among Multiple Paths in a Single Stage Switching Topology to a Reordering Node
CN108768781A (zh) * 2018-06-06 2018-11-06 清华大学 避免死锁的无丢失流量控制方法及装置
US20190207868A1 (en) * 2019-02-15 2019-07-04 Intel Corporation Processor related communications
CN109981480A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 一种数据传输方法及第一设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547391B (zh) * 2017-06-08 2020-01-03 新华三技术有限公司 一种报文传输方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888379A (zh) * 2013-12-03 2014-06-25 江苏达科信息科技有限公司 一种基于可信调度的改进队列调度算法
CN108028788A (zh) * 2015-09-25 2018-05-11 英特尔公司 在lan接口重置期间活动的链路
US20180241688A1 (en) * 2017-02-22 2018-08-23 Cisco Technology, Inc. Distributing and Rate Limiting Packets Among Multiple Paths in a Single Stage Switching Topology to a Reordering Node
CN109981480A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 一种数据传输方法及第一设备
CN108768781A (zh) * 2018-06-06 2018-11-06 清华大学 避免死锁的无丢失流量控制方法及装置
US20190207868A1 (en) * 2019-02-15 2019-07-04 Intel Corporation Processor related communications

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745320A (zh) * 2022-04-28 2022-07-12 山西大学 一种针对单故障情形的路由保护方法
CN115941383A (zh) * 2022-11-28 2023-04-07 北京神经元网络技术有限公司 宽带现场总线多域交换系统网络域分配方法、装置和设备
CN115941383B (zh) * 2022-11-28 2023-12-22 北京神经元网络技术有限公司 宽带现场总线多域交换系统网络域分配方法、装置和设备
CN116192743A (zh) * 2023-01-29 2023-05-30 苏州浪潮智能科技有限公司 报文转发方法、装置、通信设备及存储介质
WO2024164678A1 (fr) * 2023-02-10 2024-08-15 华为技术有限公司 Procédé de validation d'adresse source, et système et appareil de communication
CN115941599A (zh) * 2023-03-10 2023-04-07 珠海星云智联科技有限公司 一种用于预防pfc死锁的流量控制方法、设备及介质
CN115941599B (zh) * 2023-03-10 2023-05-16 珠海星云智联科技有限公司 一种用于预防pfc死锁的流量控制方法、设备及介质

Also Published As

Publication number Publication date
CN112448900A (zh) 2021-03-05
CN112448900B (zh) 2023-05-19

Similar Documents

Publication Publication Date Title
WO2021043181A1 (fr) Procédé et dispositif de transmission de données
JP7417825B2 (ja) スライスベースルーティング
KR101317969B1 (ko) 링크 애그리게이션 방법 및 노드
US9071529B2 (en) Method and apparatus for accelerating forwarding in software-defined networks
US9203754B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US9426061B2 (en) Communication system, node, control device, communication method, and program
WO2018032961A1 (fr) Procédé, appareil et système de gestion d'informations
JP5488979B2 (ja) コンピュータシステム、コントローラ、スイッチ、及び通信方法
WO2021082575A1 (fr) Procédé d'acheminement de paquets, appareil, support de stockage et système
WO2021098425A1 (fr) Procédé de politique de qos, dispositif et dispositif informatique pour la configuration de service
CN108289061B (zh) 基于sdn的业务链拓扑系统
WO2022166465A1 (fr) Procédé de traitement de message et appareil associé
Yan et al. A survey of low-latency transmission strategies in software defined networking
CN111147372B (zh) 下行报文发送、转发方法和装置
CN114128227B (zh) 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
WO2022121707A1 (fr) Procédé de transmission de paquets, dispositif et système
WO2022222750A1 (fr) Procédé et appareil d'acheminement de paquets, périphérique de réseau et support d'enregistrement
WO2017084448A1 (fr) Système de réseau et procédé de fonctionnement de réseau
WO2022194023A1 (fr) Procédé de traitement de paquets, dispositif de réseau et contrôleur
CN105472486A (zh) 一种pon接入系统防止路由环路的处理方法
US20240267324A1 (en) Packet forwarding method and apparatus
WO2012119372A1 (fr) Procédé, dispositif et système de traitement de message
WO2022048418A1 (fr) Procédé, dispositif et système de transfert de message
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
JP7298606B2 (ja) 通信システム及び通信方法

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: 20860260

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: 20860260

Country of ref document: EP

Kind code of ref document: A1