WO2021000752A1 - 一种在数据中心网络中转发报文的方法及相关装置 - Google Patents

一种在数据中心网络中转发报文的方法及相关装置 Download PDF

Info

Publication number
WO2021000752A1
WO2021000752A1 PCT/CN2020/097271 CN2020097271W WO2021000752A1 WO 2021000752 A1 WO2021000752 A1 WO 2021000752A1 CN 2020097271 W CN2020097271 W CN 2020097271W WO 2021000752 A1 WO2021000752 A1 WO 2021000752A1
Authority
WO
WIPO (PCT)
Prior art keywords
interface
message
source
forwarding path
packet
Prior art date
Application number
PCT/CN2020/097271
Other languages
English (en)
French (fr)
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 华为技术有限公司
Priority to EP20834222.0A priority Critical patent/EP3968581A4/en
Publication of WO2021000752A1 publication Critical patent/WO2021000752A1/zh
Priority to US17/563,210 priority patent/US20220124025A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2821Avoiding conflicts related to the use of home appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1569Clos switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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

  • the present invention relates to network communication technology, in particular to a method and related devices for forwarding messages in a data center network.
  • a data center refers to a resource pool composed of computing resources, storage resources, and network resources.
  • the data center network interconnects all the resources of the data center.
  • Data center networks need to be scalable and effective to connect tens of millions of servers.
  • the current DCN mostly adopts the Clos architecture.
  • This application provides a method and related device for sending messages, which can improve the efficiency of message forwarding in a data center network.
  • the first aspect of the present application provides a method for sending a message.
  • the method is executed by a first device, and the first device may be a source server or a source access switch.
  • the first device obtains the original message, and adds a first source tag to the original message to obtain the first message.
  • the first source label includes a forwarding type, an indication field, and an interface sequence, the forwarding type indicates that the first message supports source label forwarding, and the interface sequence indicates a first source label forwarding path of the original message,
  • the indication field indicates the outgoing interface information that should be read from the interface sequence.
  • the first device sends the first packet through the outgoing interface corresponding to the first source label forwarding path.
  • the switch that receives the first message forwards the first message according to the first source label, and does not need to be forwarded Look up the forwarding table for the first message.
  • This forwarding method can improve the message forwarding efficiency, and since the switch that receives the first message does not need to store the forwarding table, the storage space of the switch is saved.
  • the first source tag further includes a message type and a fault field, the message type indicates that the first message is a normal message; the value of the fault field is a default value.
  • the first source tag in this application also includes message type and fault fields.
  • the switch where the failure exit interface is located can modify the packet type and the fault field in the first packet to generate a reverse packet of the first packet, and use the reverse packet to The outbound interface of the failure is notified to the first device.
  • the first device when the source label forwarding path fails, the first device further receives a second packet, and the second packet is a reverse packet of the first packet.
  • the second message includes a second source label
  • the second source label includes a message type, an interface sequence, and a fault field
  • the message type indicates that the second message is a fault rerouting message
  • the interface The sequence indicates the first source label forwarding path
  • the failure field combined with the interface sequence indicates a failed outbound interface on the first source label forwarding path.
  • the first device obtains the original message according to the second message, and determines a second source label forwarding path of the original message, where the second source label forwarding path does not include the faulty outbound interface.
  • the first device generates a third source label according to the transfer path of the second source label, and generates a third message according to the original message and the third source label.
  • the first device sends the third packet through the outbound interface corresponding to the second source label forwarding path.
  • the switch where the failure exit interface is located when the source label forwarding path fails, the switch where the failure exit interface is located generates a second packet according to the first packet, and sends the second packet along the reverse path of the first source label forwarding path Give the first device.
  • the loads of the second message and the first message are the loads of the original message.
  • the first device may determine the original packet, and reselect the second source label forwarding path for the original packet to avoid the faulty outbound interface. Then, the first device generates a third packet according to the original packet and the second source label forwarding path, and forwards the third packet through the outgoing interface corresponding to the second source label forwarding path.
  • the processing procedure provided in this application will not lose the data that needs to be transmitted.
  • this embodiment When this embodiment is applied to a data center network, it can meet the requirement of no packet loss in the data center network.
  • the first device when adding a first source tag to the original message, obtains the information of the destination access switch corresponding to the original message, and determines the destination according to the information of the destination access switch. Describe the first forwarding path corresponding to the access switch. Then, the first device determines the first source label forwarding path according to the first forwarding path and the first rule; generates the first source label according to the first source label forwarding path and the second rule; The original message adds the first source tag.
  • the first device may determine different first source label forwarding paths according to different first rules, so that the implementation of the method provided in this application is more flexible.
  • the first forwarding path is a forwarding path from a source access switch to the destination access switch, and the first source label forwarding path is the first forwarding path.
  • the source access switch receives the original message sent by the source server.
  • the source access switch determines the inbound interface for receiving the original message, and determines the outbound interface indicated by the indication field of the first message.
  • the source access switch modifies the outgoing interface information in the interface sequence of the first packet to the inbound interface information, and modifies the value of the indication field to be read by the next hop switch The value of to get the first message after modification.
  • the source access switch forwards the modified first packet through the determined outgoing interface.
  • the first forwarding path is a forwarding path from a source access switch to the destination access switch, and the first source label forwarding path does not include the source access switch in the first forwarding path.
  • the source access switch receives the original message sent by the source server.
  • the source access switch forwards the first packet through the outgoing interface of the source access switch on the first forwarding path.
  • the first forwarding path is a forwarding path from the source server to the destination access switch, and the first source label forwarding path does not include the output of the source server on the first forwarding path. interface.
  • the source server obtains the original message.
  • the source server forwards the first packet through the outbound interface of the source server on the first forwarding path.
  • the method of the first aspect of the present application can be executed by the source server or the source access switch, which realizes the flexible deployment of the method and can meet different networking requirements.
  • the second aspect of the present application provides another method for sending a message.
  • the method is executed by a second device, and the second device may be a switch.
  • the switch receives a first message, the first message is obtained by adding a first source label to the original message, the first source label includes a forwarding type, an indication field, and an interface sequence, and the forwarding type indicates the The first message supports source label forwarding, the interface sequence indicates the source label forwarding path of the original message, and the indication field indicates the information of the outbound interface that should be read from the interface sequence.
  • the switch sends the first packet according to the first source label.
  • the switch determines the outgoing interface indicated by the indication field, obtains the state of the outgoing interface, and sends it according to the state of the outgoing interface The first message.
  • the switch that receives the first message only needs to forward the first message according to the first source label of the first message, and does not need to look up the forwarding table, thus improving the efficiency of message forwarding .
  • the switch since the switch does not need to look up the forwarding table, correspondingly, the switch does not need to store the forwarding table. Therefore, this application can save the storage space of the switch.
  • the switch since the switch does not need to store forwarding tables, and the switch does not need to generate forwarding tables, this application can also reduce the complexity of the switch, thereby reducing the complexity of the network composed of the switch, and saving networking cost.
  • the switch also determines the inbound interface for receiving the first packet, and when the state of the outbound interface is normal, the switch modifies the information of the outbound interface in the interface sequence to the inbound interface. For the information of the interface, the value of the indication field is modified to the value that the next-hop switch should read to obtain the modified first message. The switch forwards the modified first packet to the next-hop switch through the outgoing interface. The next hop switch is the next hop switch facing the destination server of the original message.
  • the method provided by the present application for the switch forwarding the first message according to the first source label can not only forward the message, but also record the first message in the source label forwarding path of each switch in the first message. Incoming interface, so that the destination server or the destination access switch that receives the first message can determine the source label forwarding path of the corresponding source server.
  • the first message further includes a source address and a destination address
  • the first source tag further includes a message type and a fault field.
  • the switch also determines an inbound interface for receiving the first packet. When the status of the outgoing interface is fault, the switch writes the value of the indication field into the fault field, and then modifies the value of the indication field to the value that the next hop switch should read, and changes all
  • the message type is modified to fault rerouting, and the source address and destination address of the first message are exchanged to obtain the reverse message of the first message.
  • the switch forwards the reverse packet through the inbound interface.
  • the next hop switch is the next hop switch facing the source server of the original message.
  • the outbound interface on the source label forwarding path of the switch that receives the first packet fails, it can generate the reverse packet of the first packet and pass the reverse path of the source label forwarding path.
  • the first device sends the reverse message, so that the first device reselects the source label forwarding path for the original message of the first message, which can prevent the original message from being lost when the source label forwarding path fails.
  • the switch determines an inbound interface for receiving the first packet.
  • the switch determines a new outgoing interface with the same direction as the outgoing interface, and modifies the information of the failed outgoing interface in the interface sequence to the information of the inbound interface , And modify the value of the indication field to the value that the next-hop switch should read to obtain the modified first message.
  • the switch forwards the modified first packet to the next-hop switch through the new outgoing interface.
  • the next hop switch is the next hop switch facing the destination server of the original message.
  • the outbound interface on the source label forwarding path of the switch that receives the first packet fails, it selects a new outbound interface with the same direction as the failed outbound interface, and sends the outbound interface through the new outbound interface.
  • the first message It can avoid packet loss and reduce packet delay when the source label forwarding path fails.
  • the switch when the switch is the last hop switch corresponding to the source label forwarding path, the switch also determines the inbound interface for receiving the first packet.
  • the state of the outgoing interface is normal, the information of the outgoing interface in the interface sequence is modified to the information of the incoming interface to obtain the modified first packet.
  • the switch forwards the modified first message to the destination server of the original message through the outgoing interface.
  • the destination server can obtain the source label forwarding path corresponding to the source access switch of the original message according to the interface sequence in the first source label, which improves the efficiency of the destination server in obtaining the source label forwarding path.
  • the switch when the switch is the last hop switch corresponding to the source label forwarding path, if the state of the outbound interface is normal, the switch deletes the first source label from the first packet to obtain The original message, and sending the original message to the target server of the original message through the outbound interface.
  • the switch can also obtain the interface sequence recorded in the first source label, and determine the source label forwarding path corresponding to the source access switch of the original message according to the interface sequence, which improves the destination access switch to obtain the source label forwarding The efficiency of the path.
  • the first source label further includes a forwarding mode, and the forwarding mode indicates a manner of determining an outgoing interface.
  • the forwarding mode is direct forwarding
  • the information in the interface sequence is the identification of the outgoing interface
  • the switch obtains the identification of the outgoing interface corresponding to the indication field from the interface sequence, and according to the identification of the outgoing interface Determine the outgoing interface indicated by the indication field.
  • the forwarding mode is table lookup forwarding
  • the information in the interface sequence is the index of the outgoing interface
  • the switch obtains the index of the outgoing interface corresponding to the indication field from the interface sequence, and looks up the mapping according to the index
  • the table acquires the identifier of the outbound interface, and determines the outbound interface indicated by the indication field according to the identifier of the outbound interface.
  • the information in the interface sequence in this application may be the identification or index of the outbound interface that can be found.
  • the switch further receives a second message, the second message being a reverse message of the first message, the second message including a second source label, and the second source label It includes an interface sequence, an indication field, and a fault field.
  • the indication field indicates the information of the outbound interface that should be read from the interface sequence.
  • the fault field and the interface sequence are combined to indicate a fault on the source label forwarding path. interface.
  • the switch also determines the inbound interface for receiving the second packet, determines the outbound interface indicated by the indication field, modifies the outbound interface information in the interface sequence to the inbound interface information, and changes the instruction
  • the value of the field is modified to the value that the next-hop switch should read, and the modified second message is obtained.
  • the switch forwards the modified second packet to the next-hop switch through the determined outgoing interface.
  • the next hop switch is the next hop switch facing the source server of the original message.
  • the switch that receives the reverse message can forward the reverse message to the source server or source access switch of the original message, thereby avoiding the loss of the message when the source label forwarding path fails.
  • the third aspect of the present application provides a message sending device.
  • the device includes functional modules that execute the method of sending messages provided by any possible design of the first aspect or the first aspect; this application does not limit the division of functional modules, and the flow of the method for forwarding messages in the first aspect can be followed
  • the steps correspond to division of functional modules, and functional modules can also be divided according to specific implementation needs.
  • the fourth aspect of the present application provides another message sending device.
  • the device includes functional modules that execute the method of sending messages provided by any possible design of the second aspect or the second aspect; this application does not limit the division of functional modules, and the flow of the method for forwarding messages in the second aspect can be followed
  • the steps correspond to the division of functional modules, and the functional modules can also be divided according to specific implementation needs.
  • the fifth aspect of the present application provides yet another message sending device.
  • the device includes a memory and a processor, the memory is used to store program code and data, the processor is used to call the program code, and combine the data to implement the method for sending messages in the first aspect of the application and any possible designs thereof , And implement the second aspect of this application and any possible related methods for sending messages.
  • the sixth aspect of the present application provides a chip, which can realize the method of sending messages in the first aspect of the application and any possible designs when the chip is running, and implement the second aspect of the application and any possible related designs.
  • the seventh aspect of the present application provides a storage medium in which program code is stored.
  • the device switch, server, etc.
  • the program code can implement the first aspect of the present application and any A possible design of a method for sending a message, and a method for implementing the second aspect of the present application and any possible related sending methods.
  • the eighth aspect of the present application provides a data center network.
  • the data center network includes a first device and a second device.
  • the first device is used to implement the message sending in the first aspect of the present application and any possible designs.
  • Method the second device is used to implement the second aspect of the present application and any possible related methods for sending messages.
  • FIG. 1 is a schematic diagram of a data center network provided by an embodiment of this application.
  • FIG. 2 is a schematic structural diagram of a source tag provided by an embodiment of this application.
  • FIG. 3 is a schematic flowchart of a method for sending a message according to an embodiment of the application
  • FIG. 4 is a schematic flowchart of another method for sending a message according to an embodiment of the application.
  • Figure 5 is a schematic diagram of a path when server 1 sends a message to server 2;
  • 6A-6F are schematic diagrams of source labels on different devices when normal messages are forwarded
  • 7A-7D are schematic diagrams of source labels on different devices when the forwarding path fails
  • FIG. 8 is a schematic structural diagram of a message sending apparatus provided by an embodiment of the application.
  • FIG. 9 is a schematic structural diagram of another device for sending a message according to an embodiment of the application.
  • FIG. 10 is a schematic structural diagram of another device for sending a message provided by an embodiment of the application.
  • Clos architecture Also known as Clos network, it is a theoretically idealized multistage (multistage) switching system.
  • the Clos architecture was invented by Edson Erwin in 1938 and implemented (formalized) by Charles Clos in 1952.
  • the Clos architecture is a non-blocking network that can realize communication between any two hosts in the network.
  • Access layer In a data center network, the access layer is directly connected to virtual servers or physical servers, and the access layer is composed of access switches. Access switches can also be called top of rack (TOR) switches.
  • TOR top of rack
  • the aggregation layer interconnects different access switches, and the aggregation layer is composed of aggregation switches.
  • aggregation switches interconnect a large number of ToR switches.
  • the aggregation switch may also be called a leaf switch.
  • the backbone layer connects to the aggregation switch and serves as the gateway of the data center network to connect to the external network.
  • the backbone layer is composed of backbone switches.
  • the backbone layer can also be called the core layer.
  • Point of delivery (pod) A cluster composed of network, computing, storage, and application components used to transmit network services. The delivery point is also called the available zone (available zone). In the embodiment of the present application, pod refers to a cluster composed of access switches and aggregation switches.
  • Network topology The arrangement between various elements (links, nodes, etc.) in the communication network.
  • the network topology includes physical topology and logical topology.
  • Physical topology refers to the deployment of network components.
  • Logical topology refers to the communication relationship between network nodes at the service level.
  • network topology refers to physical topology, and may also be referred to as topology for short.
  • Source tag A collection of a series of fields extended by this application and added to a message to guide the forwarding of the message.
  • the source label is used to guide the forwarding of the message and does not modify the load of the message.
  • the source tag will be described in detail later in conjunction with Figure 2.
  • Original message A message without a source tag added. This application does not restrict the encapsulation format of the original message and the protocol used.
  • Interface The connection point between two devices or protocol layers in a computer network.
  • the interface used to receive the message is called the inbound interface of the message, and the interface used to send the message is called the outbound interface of the message.
  • the same interface can be both the inbound interface of the A message and the outbound interface of the B message. interface.
  • Forwarding path refers to the path from the first device to the destination access switch, including the outgoing interface of the first device.
  • the first device in this application refers to a device that adds a source tag to a message.
  • Source label forwarding path a section of path added to the source label, which may or may not include the outgoing interface of the first device.
  • the terms "first” and “second” in the specification and claims of this application are used to distinguish different objects, rather than to describe a specific order of objects.
  • the first data message and the second data message are used to distinguish different data messages, rather than to describe a specific sequence of data messages.
  • words such as “exemplary” or “for example” are used to represent examples, illustrations, or illustrations. Any embodiment or design solution described as “exemplary” or “for example” in the embodiments of the present invention 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.
  • multiple switches refer to two or more switches.
  • the data center network 100 shown in FIG. 1 adopts the Clos architecture.
  • the data center network 100 includes an access layer 110, an aggregation layer 120, and a backbone layer 130.
  • the backbone (spine) switches in the backbone layer 130 are divided into m backbone sets (spine sets).
  • Each backbone set includes n backbone switches, for example, S11 to S1n in backbone set 1.
  • the access switch (ToR switch) in the access layer 110 and the aggregation switch (leaf switch) in the aggregation layer 120 are divided into k pods, and each pod includes x ToR switches and m leaf switches.
  • each ToR switch is connected to m leaf switches in the pod, and each leaf switch is connected to each backbone switch in the corresponding backbone set.
  • ToR switch T11 is connected to leaf switches L11 to L1m
  • ToR switch T1x is connected to leaf switches L11 to L1m
  • leaf switch L11 is connected to all backbone switches in backbone set 1 (the first dashed line)
  • leaf switches L12 connects to all backbone switches in backbone set 2 (solid line)
  • leaf switch L1m connects to all backbone switches in backbone set m (second dotted line).
  • ToR switch Tk1 is connected to leaf switches Lk1 to Lkm
  • ToR switch Tkx is connected to leaf switches Lk1 to Lkm
  • leaf switch Lk1 is connected to all backbone switches in backbone set 1 (the first dotted line)
  • the leaf switch Lk2 connects all the backbone switches in the backbone set 2 (solid line)
  • the leaf switch Lkm connects all the backbone switches in the backbone set m (the second dashed line).
  • the connection mode of ToR switch and leaf switch in other pods is similar to pod 1 and pod k.
  • the ToR switch in the access layer 110 is used to connect to the server.
  • FIG. 1 shows the server 1 and the server 2.
  • FIG. 1 is only an example of a data center network.
  • each pod in the data center network in Figure 1 includes the same number of ToR switches and leaf switches, and each backbone includes the same number of backbone switches.
  • the number of ToR switches in different pods can be different, and the number of backbone switches in different backbone sets can also be different.
  • Each ToR switch can be connected to multiple servers, and each server can be connected to one or more ToR, usually connected to different ToR switches in the same pod.
  • the CloS architecture in Figure 1 includes three-layer switches, but in actual deployment, the CloS architecture can also include four or more layers of switches. The number of layers of the switch will not affect the implementation of the present invention.
  • Each forwarding plane is composed of a backbone switch in a backbone set and all leaf switches connected to the backbone switches in the backbone set, for example, the forwarding plane corresponding to backbone set 2.
  • Including Li2 in each pod in pod 1 to pod k, i 1...k, and all backbone switches S21 to S2n in backbone set 2.
  • the forwarding path of the message in the m forwarding planes is the same, that is, the m forwarding planes include multiple An equivalent forwarding path from Server 1 to Server 2.
  • FIG. 1 Through the data center network shown in Figure 1, different servers in the data center can communicate without blocking.
  • Some or all of the servers in Figure 1 may be virtual servers or physical servers.
  • the virtual server may be a virtual machine running on a physical server.
  • the data center network shown in FIG. 1 may further include a controller for collecting the topology of the data center network, and sending the collected topology to each server in the data center network.
  • the controller may be deployed on a ToR switch (for example, the ToR switch T21 in pod 2), collect the topology of the data center network through the ToR switch, and send the topology to each server.
  • the controller can also be deployed independently and connected to one or more switches in the data center network. The controller obtains the topology of the data center network through the one or more switches, and sends the obtained topology to each server in the data center network.
  • Fig. 2 is a schematic structural diagram of a source tag provided by an embodiment of the application.
  • the source label is used to guide the forwarding of the message.
  • the source label is divided into three parts, namely, the forwarding type 210, the extension header 220, and the interface sequence 230.
  • the forwarding type 210 indicates whether the message to which the source label is added supports source label forwarding.
  • a new Ethernet protocol type can be defined to indicate that the message supports source label forwarding.
  • the source tag also includes multiple fields, and each of the multiple fields is related to a type of parameter. For the convenience of description, in this embodiment of the present application, the multiple fields are collectively referred to as an extension header 220.
  • the extension header 220 includes the following fields:
  • Forwarding mode indicates the way to determine the outgoing interface when forwarding packets based on the source label.
  • the forwarding mode may be direct forwarding or table lookup forwarding, where direct forwarding means that the interface sequence 230 includes the identification of the outgoing interface, and the switch can directly forward the packet according to the identification of the outgoing interface in the interface sequence.
  • Table lookup forwarding means that the interface sequence 230 includes the index of the outgoing interface in the mapping table. The switch needs to look up the mapping table according to the index of the outgoing interface to obtain the identification of the outgoing interface, and then forward the packet according to the identification of the outgoing interface.
  • the mapping table stores the corresponding relationship between the index and the identifier of the outbound interface;
  • Multicast feature indicates whether the message is a multicast message
  • Service category indicates the priority of the message
  • Message type indicates the type of the message, which can include normal (indicating that the message is a normal message) or fault rerouting (indicating that the message is a reverse message) or packet loss notification (used to notify the network that This field can also be called reRoute; different values can be used to indicate different message types, for example, normal is 0, fault rerouting is 1, and packet loss notification is 2.
  • a normal message refers to a message sent from the source server to the destination server; a reverse message is a message sent back to the source server due to a forwarding path failure; a packet loss notification means that after the message is discarded, the switch that discards the message sends Notification message sent by the source server;
  • ECN Explicit congestion notification
  • the value of the indication field points to the field of the interface sequence 230 that should be read; the switch performing source routing forwarding can obtain the outgoing interface information according to the value of the indication field and the interface sequence 230; in other words, the indication field can indicate the slave interface The information of the outbound interface that should be read in the sequence 230; this application needs to pre-set the initial value of the indication field and the modification rule of the indication field, and notify each switch of the set initial value and modification rule;
  • Hop field indicates the total number of hops of the source label forwarding path corresponding to the source label, that is, the number of valid interfaces in the interface sequence 230; the switch can determine whether the switch is a source label forwarding path according to the value of the indication field and the value of the hop field The last hop
  • Time to live Indicates the maximum number of times the message can be forwarded, which is mainly used in fault rerouting scenarios; each time a message is forwarded, the TTL value is reduced by 1.
  • Failure field indicates the location of the failure in the source label forwarding path.
  • the value of the failure field may be, for example, the Nth hop of the source label forwarding path. Among them, N is less than or equal to the total number of hops of the source label forwarding path.
  • the fault field is used in conjunction with the interface sequence 230 to determine the faulty outbound interface. The value of the fault field takes effect only when the message type is fault rerouting or packet loss notification, that is, the switch needs to pay attention to the value of the fault field. When the message type is normal, the value of the fault field is the default value, and the switch receiving the message does not need to pay attention to the fault field.
  • the fields in the extension header 220 may be less than the above-mentioned fields or more than the above-mentioned fields.
  • the extension header 220 may also include reserved fields for future expansion of functions.
  • the extension header 220 does not include the hop field.
  • the interface sequence 230 indicates the source label forwarding path of the message.
  • the interface sequence 230 includes a plurality of interface fields that indicate the outgoing interface of each hop switch in the source label forwarding path through the out interface identifier or index, that is, the multiple interface fields include the information of each hop switch in the source label forwarding path.
  • the identifier or index of the outgoing interface The number of the multiple interface fields is greater than or equal to the total number of hops of the source label forwarding path.
  • the source label forwarding path refers to a section of path forwarded by the source label.
  • the interface sequence 230 in FIG. 2 exemplarily includes 7 interface fields. In practice, the interface sequence may also include other numbers of interface fields.
  • the source label shown in Figure 2 When the source label shown in Figure 2 is added to the message, the source label can guide the forwarding of the message.
  • Different source tags added for different messages in this application have the same format, but may have different field values. In order to make the description more concise, the subsequent embodiments of this application only describe and execute the fields that need to be used when specific steps are performed.
  • an embodiment of the present application provides a method for sending a message, and the method is executed by a first device. As shown in Fig. 3, the method at least includes steps S310 to S330.
  • the first device obtains the original message.
  • the first device may be a server or a source access switch, that is, a source ToR switch.
  • the server can be a physical server or a virtual server.
  • the original message refers to a message without a source tag. In this application, a message without a source tag is called an original message, regardless of the protocol followed by the message or the encapsulation method used.
  • the original message may be a data message or a control message.
  • the original message may be generated by the server or a virtual machine on the server.
  • the first device is the source access switch, the original message is received from a server (source server) connected to the source access switch.
  • the first device adds a first source tag to the original message to obtain the first message.
  • the first source label may be determined by the first device according to information of the destination access switch corresponding to the original message.
  • the destination access switch refers to a switch connected to the destination server.
  • the destination access switch may be a ToR switch Tk1 or Tk2.
  • the information of the destination access switch may be the MAC address, IP address, or device identification of the destination access switch.
  • the first device obtains the destination MAC address or the destination IP address of the original message, obtains the information of the corresponding destination access switch according to the destination MAC address or the destination IP address, and accesses the switch according to the destination To determine the first forwarding path corresponding to the destination switch, determine the first source label forwarding path according to the first forwarding path and the first rule, and generate the first source label according to the first forwarding path and the second rule, And add the first source label to the original message.
  • the first forwarding path may be any forwarding path between the first device and the destination access switch.
  • the first rule indicates how to generate the source label forwarding path according to the forwarding path.
  • the first rule may include: determining the forwarding path as the source label forwarding path, or using a part of the forwarding path as the source label forwarding path. Based on the first, the relationship between the first forwarding path and the first source label forwarding path may include the following types:
  • the first device is the source server
  • the first forwarding path is the path from the outbound interface of the source server to the destination access switch
  • the first source label forwarding path is the first forwarding path.
  • the first device is the source access switch, and the first forwarding path is the path from the outgoing interface of the source access switch to the destination access switch, that is, the first source label forwarding path is the first Forwarding path
  • the first device is the source access switch
  • the first forwarding path is the path from the outgoing interface of the source access switch to the destination access switch
  • the first source label forwarding path is the first forwarding path Excluding the part except the outgoing interface of the source access switch, that is, the first source label forwarding path does not include the outgoing interface of the source access switch on the first forwarding path.
  • the first forwarding path may be obtained by searching the forwarding table according to the information of the destination access switch.
  • Each entry in the forwarding table includes a correspondence between the information of an access switch and the forwarding path.
  • each access switch corresponds to one or more forwarding paths.
  • the forwarding table may be generated by the first device according to the topology of the data center network.
  • the forwarding table may also be generated by the controller and sent to the first device.
  • the second rule includes the length of each field and how the value of each field is set.
  • Table 1 provides an example of a second rule, and the second rule can also be changed according to the format of different source tags.
  • the first source label includes a forwarding type, an indication field, and an interface sequence.
  • the forwarding type indicates that the first message supports source label forwarding
  • the interface sequence indicates the first source label forwarding path of the original message
  • the indication field indicates information about the outbound interface that should be read from the interface sequence.
  • the interface sequence includes information about the outgoing interface of each hop switch on the source label forwarding path.
  • the information of the outgoing interface may be the identifier of the outgoing interface or the index of the outgoing interface.
  • An outgoing interface can be directly determined according to the identification of the outgoing interface, and the identification of the corresponding outgoing interface can be found according to the index of the outgoing interface, and then the outgoing interface can be determined.
  • the first source tag may also include a message type and a fault field. Since the first device does not select the failed source label forwarding path when adding the first source label, the first packet generated by the first device by default is a normal packet, so the packet type indicates the first packet It is a normal message, and accordingly, the value of the fault field is the default value.
  • the first device sends the first packet through the outbound interface corresponding to the first source label forwarding path.
  • the outgoing interface corresponding to the first source label forwarding path is not necessarily the outgoing interface in the first source label forwarding path.
  • the outbound interface corresponding to the first source label forwarding path is the outbound interface of the source server that is on the first forwarding path but not on the first source label forwarding path.
  • the source access switch When the first device is the source access switch and the destination access switch of the original message is different from the source access switch, after the source access switch generates the first message, it sends the message to the source access switch.
  • a one-hop switch that is, a leaf switch sends the first message.
  • the first source label forwarding path is the first forwarding path
  • the outbound interface corresponding to the first source label forwarding path is the outbound interface on the first source label forwarding path.
  • the source access switch first determines the inbound interface for receiving the original message, then determines the outbound interface indicated by the indication field of the first message and records the outbound interface; and puts the interface sequence of the first message in The information of the outbound interface is modified to the information of the inbound interface, and the value of the indication field is modified to the value that the next-hop switch should read to obtain the modified first message; The outbound interface forwards the modified first packet.
  • the outgoing interface corresponding to the first source label forwarding path is not an outgoing interface on the first source label forwarding path, that is, the first source label forwarding path does not include the source access switch On the outgoing interface on the first forwarding path, the source access switch forwards the first packet through the outgoing interface of the source access switch on the first forwarding path.
  • the first device adds a first source label to the original message to obtain the first message, and the first source label includes a forwarding type, an indication field, and an interface sequence.
  • the first device can specify the forwarding path of the original message.
  • the switch that receives the first message can forward the first message according to the first source label, which can reduce the overhead caused by looking up the forwarding table.
  • each switch in this application does not need to run a routing protocol, which reduces the burden of the switch.
  • the first device may also reselect the forwarding path to send the original message when the forwarding path fails.
  • the method may further include steps S340 and S350.
  • the first device receives a second message, which is a reverse message of the first message.
  • the second message includes a second source tag.
  • the second source tag has the same format as the first source tag, but the values of some fields are different.
  • the second source label includes a message type, an interface sequence, and a fault field, the message type indicates that the second message is a fault rerouting message, and the interface sequence indicates the first source label A forwarding path, where the failure field and the interface sequence are combined to indicate a failed outgoing interface on the first source label forwarding path.
  • the failure field indicates the switch where the failure exit interface is located.
  • the first device can determine that the second message is a reverse message (that is, a message sent from the first device and returned to the first device), and then can be based on the interface sequence And the fault field determines the faulty outbound interface on the forwarding path of the first source label.
  • a reverse message that is, a message sent from the first device and returned to the first device
  • the first device determines a second source label forwarding path according to the second message, and forwards a third message including the original message according to the second source label forwarding path.
  • the first device obtains the original message according to the second message, and determines a second source label forwarding path of the original message, where the second source label forwarding path does not include the failure exit interface.
  • the first device generates a third source label according to the forwarding path of the second source label, and generates a third message according to the original message and the third source label, and the third source label includes the second source Label forwarding path.
  • the first device sends the third packet through the outbound interface corresponding to the second source label forwarding path.
  • the first device when the first source label path determined by the first device for the original message is faulty, the first device can select a new forwarding path for the original message according to the reverse message of the original message, and based on the new forwarding path. Add a new source label to the original message in the forwarding path, and forward the original message according to the new source label, which can ensure that the message is not lost when a failure occurs in the data center network.
  • an embodiment of the present application provides another method for sending a message in a data center network.
  • the method is executed by a second device, and the second device combines Different scenarios can be different switches.
  • the method includes steps S410 to S440.
  • the switch receives a first message, and the first message includes a first source label.
  • the first message may be the first message sent in step S330.
  • the switch may be any one of a ToR switch, a leaf switch, or a spine switch on the forwarding path of the first packet.
  • the switch is any switch other than the source access switch on the forwarding path of the first packet.
  • the switch forwards the first packet according to the first source label.
  • the forwarding process can be implemented through steps S420-S440.
  • the switch determines the outgoing interface of the first packet on the switch according to the first source label.
  • the switch parses the first packet, obtains the forwarding type in the first source label, determines whether the first packet supports source label forwarding according to the forwarding type, and when the first packet supports source label forwarding, according to the The value of the indication field in the first source tag and the interface sequence determine the outgoing interface of the first packet on the switch.
  • the outgoing interface of the first packet on the switch is the outgoing interface indicated by the indication field.
  • the switch also determines the incoming interface for receiving the first packet.
  • the first source label further includes a forwarding mode, and the forwarding mode indicates a manner of determining the outgoing interface.
  • the forwarding mode is direct forwarding
  • the information in the interface sequence is the identifier of the outgoing interface
  • the switch obtains the indication field from the interface sequence according to the value of the indication field in the first source tag
  • the identification of the corresponding outgoing interface determines the outgoing interface indicated by the indication field according to the identification of the outgoing interface.
  • the forwarding mode is table lookup forwarding
  • the information in the interface sequence is the index of the outgoing interface
  • the switch obtains the index of the outgoing interface corresponding to the indication field from the interface sequence, and looks up the mapping according to the index
  • the table acquires the identifier of the outbound interface, and determines the outbound interface indicated by the indication field according to the identifier of the outbound interface.
  • the switch obtains the state of the outgoing interface.
  • the state of the outgoing interface includes fault, congestion, normal, or other states set as required.
  • the switch can obtain the state of the outbound interface from the interface state database.
  • the switch processes the first packet according to the state of the outbound interface.
  • Step S440 may specifically include the following implementation modes:
  • the state of the outbound interface is normal, and the switch modifies the source label in the first packet to obtain the modified first packet, and sends the modified first packet through the outbound interface.
  • the switch is not the last hop switch of the first source label forwarding path.
  • the switch modifies the information of the outbound interface in the interface sequence to the information of the inbound interface, and changes the value of the indication field Modify the value to be read by the next-hop switch to obtain the modified first message, and send the modified first message to the next-hop switch through the determined outgoing interface.
  • the next hop device here refers to the next hop when forwarding the first packet to the destination server. Modifying the value of the indication field to the value that the next hop switch should read may be increasing the value of the indication field by a set value, for example, adding 1, adding 3, and so on.
  • the switch is the last hop of the forwarding path of the first source label, but the first source label is not added by the source access switch.
  • the switch modifies the information of the outbound interface in the interface sequence to all According to the information of the inbound interface, the modified first message is obtained, and the modified first message is sent to the destination server of the original message through the determined outbound interface. Since the switch is already the last hop, the switch does not need to modify the value of the indication field.
  • the destination server After obtaining the modified first message, the destination server obtains the interface sequence in the first source label, and obtains the source label forwarding path corresponding to the source access switch of the original message according to the interface sequence.
  • the switch is the last hop switch of the forwarding path, and the first source label is added by the source access switch, the switch deletes the source label from the first message to obtain the original message, and Send the original message to the destination server.
  • the switch may also obtain the interface sequence in the first source label, and obtain the source label forwarding path corresponding to the source access switch of the original message according to the interface sequence.
  • the switch returns the first packet to the device that added the first source label. For example, the switch first writes the value of the indication field in the first source tag to the fault field, then modifies the value of the indication field to the value that the next hop switch should read, and modifies the value of the first message
  • the header for example, swaps the source address and destination address of the first message, changes the message type in the first source label to failure rerouting, and obtains the reverse message of the first message ( Refers to packets with the opposite forwarding path, also called rerouting packets); forwarding the reverse packets through the inbound interface.
  • the next hop device here refers to the next hop when the reverse packet is forwarded to the source server (that is, facing the source server). Modifying the value of the indication field to the value that should be read by the next-hop switch may be reducing the value of the indication field by a set value, for example, subtracting 1 or 3 corresponding to the previous added value.
  • the switch selects a new outgoing interface for the first packet, and the new outgoing interface is in the same direction as the outgoing interface of the failure, that is, the new outgoing interface and the outgoing interface of the failure are both facing the purpose of the original packet server.
  • the switch forwards the first packet through the new outgoing interface. For example, the switch modifies the outbound interface information of the failure in the interface sequence of the first packet to the inbound interface information, and modifies the value of the indication field to what the next hop switch should read Value to obtain the modified first message; forward the modified first message through the reselected outgoing interface.
  • the switch may also generate a failure notification message, which is used to notify the first device of the failure of the outbound interface, so that the first device updates the source label forwarding path corresponding to the destination access switch.
  • the next hop device here refers to the next hop when the first packet is forwarded to the destination server. Modifying the value of the indication field to the value that the next hop switch should read may be increasing the value of the indication field by a set value, for example, adding 1, adding 3, and so on.
  • the state of the outbound interface is congested, and the switch performs a congestion processing procedure on the first packet.
  • the switch marks the first message as a congested message and forwards it through the outgoing interface. If the first packet needs to be discarded due to congestion on the outbound interface, the packet loss information of the first packet can be fed back to the first device, or the switch can generate an independent congestion control message and send the congestion control message to the first device.
  • the packet loss information may include the congestion state of the outgoing interface, the packet loss statistics information of the outgoing interface, the content of discarded packets, etc.
  • the congestion control message may include information such as the congestion status of the outgoing interface, and packet loss statistics of the outgoing interface.
  • the above steps reflect the process of the switch forwarding the first packet to the destination server.
  • the switch when the source label forwarding path has a faulty outbound interface, and the switch where the faulty outbound interface is located returns the reverse packet of the first packet to the first device, the switch may also receive the packet sent by other switches. Reverse the message of the first message and execute the corresponding processing.
  • the method may further include steps S450-S460.
  • the switch receives a second packet, which is a reverse packet of the first packet.
  • the second message includes a second source tag
  • the second source tag includes a message type, an interface sequence, an indication field, and a fault field.
  • the message type indicates that the message is the reverse message, and the switch needs to check the The fault field in the message.
  • the indication field indicates the information of the outgoing interface that should be read from the interface sequence, and the failure field combined with the interface sequence indicates the outgoing interface on the source label forwarding path.
  • the switch is the switch that adds the source label to the original message (that is, the first device)
  • the interface sequence indicates the first source label forwarding path of the original message, and the switch processes the second message according to the description of step S350 .
  • the switch is not the switch that adds the source label to the original message, the switch processes the second message according to step S460.
  • step S460 the switch modifies the second message, and forwards the modified second message.
  • the switch determines the incoming interface of the second packet on the switch, and determines the corresponding outgoing interface information in the interface sequence according to the value of the indication field, and then determines the outgoing interface. Then, the switch modifies the information of the outbound interface to the information of the inbound interface, and modifies the value of the indication field to the value that the next-hop switch should read, and obtains the modified second packet.
  • the outbound interface forwards the modified second packet. Since the second message is a reverse message of the first message, the next hop device in this embodiment refers to the next hop when the second message is forwarded to the source server. Modifying the value of the indication field to the value that the next hop switch should read may be reducing the value of the indication field by a set value, for example, corresponding to the previous added value by 1, minus 3, etc.
  • the switch can not only forward packets to the destination server based on the source label when the outbound interface is normal, but also change the regular packets to the reverse in the case of outbound interface failure. Forward messages to make the reverse messages return to the source server or source access switch. The switch can also reselect a normal outbound interface for the message in the case of an outbound interface failure, and forward the message through the new outbound interface. Through the method shown in Figure 4, it is possible to avoid packet loss when transmitting packets in the data center network.
  • the data center network shown in Figure 1 of the present application can be abstracted as a network including a first device and a second device.
  • the first device is used to implement the method shown in Figure 3 and its implementation modes.
  • the second device is used to implement the method shown in FIG. 4 and its implementation modes.
  • the combination of the methods shown in FIG. 3 and FIG. 4 in the embodiment of the present application can realize the forwarding of messages between different servers in the data center network, and can ensure that messages are prevented from being lost in a failure scenario.
  • the device to which the source tag is added can be the source server or source access switch.
  • server 1 forwarding a message to the server 2 and adding a source tag to the server 1 as an example in conjunction with FIGS. 5-7.
  • the MAC address of server 1 is 11:11:11:11:11:11
  • the IP address is 1.1.1.1
  • the MAC address of server 2 is 22:22:22:22:22:22
  • the IP address is 2.2.2.2 .
  • Server 1 calculates based on the collected network topology that the path between server 1 and server 2 is the path 1 marked by the thick line in Figure 5, namely:
  • the number in brackets represents the identification of the outgoing interface of each switch on the path.
  • the identification of the outgoing interface is referred to as outgoing interface for short.
  • the forwarding path corresponding to server 2 determined by server 1 according to path 1 is: server 1->pod 1 T11(1)->pod 1 L11(5)-> S1n(8) of backbone set 1 -> Lk1(64) of pod k -> Tkx (15) of pod k.
  • the source label path in the embodiment of this application does not include the outgoing interface of the server. Therefore, the source label determined by server 1 The path is: T11(1) of pod 1 -> L11(5) of pod 1 -> S1n(8) of backbone set 1 -> Lk1(64) of pod k -> Tkx(15) of pod k.
  • the original message is marked with a letter (A or B), and a message that is obtained based on the original message and has the same load as the original message will be marked with a combination of letters and other identifiers.
  • server 1 forwards message A to server 2
  • server 1 adds the source tag shown in Figure 6A to message A based on the forwarding path shown in Figure 5 to obtain message A1, and the forwarding type of message A1 is 0X8950 , Which means that message A1 supports source label forwarding.
  • the interface sequence of the message A1 includes 5 interface fields, and each interface field corresponds to an outgoing interface.
  • the value of the hop field of the message A1 is set to 5, and the values of the interface field 6 and the interface field 7 are empty or other randomly filled values.
  • the message type is set to 0.
  • the initial value of the ECN flag is 10 or 01, indicating that the message A1 supports the ECN mechanism.
  • the value of the indication field will be modified as the message A1 is forwarded.
  • the starting value of the indication field can be 0, 1, or other numbers, and the starting value here is set to 0.
  • TTL can be set as required or not set. When TTL is set, the value of TTL is reduced by 1 every time a message is forwarded. When the value of TTL is zero, the message will be discarded. To ensure no packet loss, the TTL value should not be set too small.
  • the failure field of the message A1 is set to an initial value (here, 0 is taken as an example), which indicates that there is no failure in the forwarding path of the source label at this time.
  • the forwarding mode of the message A1 is 0, indicating that the interface sequence of the message A1 carries the identification of the outgoing interface of each hop switch.
  • the version, multicast characteristics, CoS, etc. in the extension header can also be set as needed, which is not limited in this application.
  • the message A1 is sent to the ToR switch T11 connected to the server 1.
  • T11 receives message A1 from server 1 through interface 2, it finds that the forwarding type of message A1 is 0X8950, and confirms that message A1 supports forwarding as a source label.
  • T11 determines that the outgoing interface of message A1 at T11 is interface 1 according to the value of the indication field in the source label and the information of the outgoing interface in the interface sequence.
  • T11 obtains the status of interface 1 and confirms that interface 1 is normal.
  • the value is modified to interface 2 (incoming interface), and the value of the indication field is modified to the value 1 that the next-hop switch L11 should read to obtain message A2.
  • the source label of message A2 is shown in Figure 6B. Then, T11 forwards the message A2 to the leaf switch L11 in pod 1 through interface 1.
  • L11 receives message A2 through interface 3, then L11 modifies the source label in message A2 to the source label shown in Figure 6C (the value of interface field 2 is modified to interface 3, the value of the indication field is modified to 2), and the message is obtained After message A3, message A3 is sent to S1n in backbone set 1 through interface 5 of L11.
  • S1n receives message A3 through interface 4, then S1n modifies the source label in message A3 to the source label shown in Figure 6D (the value of interface field 3 is modified to interface 4, and the modification of the indication field is 3) to obtain the message A4 then sends message A4 to Lk1 in pod k through interface 8 of S1n.
  • Lk1 receives message A4 through interface 16, then Lk1 modifies the source label in message A4 to the source label shown in Figure 6E (the value of interface field 4 is modified to interface 16, and the value of the indication field is modified to 4), and the message is obtained After the message A5, the message A5 is sent to the ToR switch Tkx in the pod k through the interface 64 of Lk1.
  • Tkx receives message A5 through interface 30, then Tkx modifies the source label in message A5 to the source label shown in Figure 6F (the value of interface field 5 is modified to interface 30), and after obtaining message A6, it passes through Tkx interface 15 Send message A6 to server 2. After receiving the message A6, the server 2 deletes the source tag from A6 to obtain the original message A. Further, the server 2 may also store the interface sequence in the source label of A6 and the forwarding path of the source label corresponding to T11. For example, the outgoing interface of the source label forwarding path corresponding to T11 is Tkx(30), Lk1(160), S1n(4), L11(3), T11(2).
  • the status of each interface indicated by the interface sequence is normal as an example to illustrate the forwarding process of packet A.
  • server 1 forwards message B in the same manner as shown in Figure 5 and Figure 6, server 1 generates message B1, message B1 reaches T11, T11 modifies message B1 to message B2 and sends it to L11, and L11 sends the message to L11.
  • message B2 is modified to message B3 and then sent to S1n, and S1n modifies message B3 to message B4 and then sent to Lk1.
  • Lk1 receives message B4 through interface 16.
  • Message B4 includes the source label shown in Figure 6D.
  • Lk1 determines that the outgoing interface is interface 64 based on the source label, and further obtains the status of interface 64, and finds that interface 64 is faulty.
  • Lk1 can process message B4 in one of the following two ways:
  • Method 1 Continue to send message B to server 2.
  • Lk1 selects an interface with the same attributes (target server) as interface 64, for example, interface 52 (not shown in the figure), and modifies the source label in message B4 to the source shown in FIG. 6E Label (change the value of the interface field 4 to interface 16, and the value of the indication field to 4), after obtaining the message B5, the message B5 is sent to the ToR switch Tkx in the pod k through the interface 52 of Lk1.
  • Lk1 can bypass the faulty outbound interface 64 to ensure normal forwarding of packets.
  • Lk1 may also send a failure notification message to server 1 to notify that the interface 64 of Lk1 has failed, so that server 1 avoids selecting a forwarding path that includes outbound interface 64 when sending subsequent messages to server 2.
  • Manner 2 Send a rerouting message (reverse message) of message B to server 1, so that server 1 re-selects a path to send message B.
  • Lk1 modifies message B4, writes the value of the indication field in Figure 6D (3) into the fault field, and then modifies the value of the indication field to the value that the next hop switch S1n should read (2) ,
  • the value of the message type is set to 1, and the source MAC address and destination MAC address of message B4 are exchanged to obtain a modified message B4' (that is, the reverse message of message B4), and message B4
  • the source label of ' is shown in Figure 7A.
  • Lk1 sends the message B4' to S1n via the B4 message on the inbound interface 16 of the Lk1 device.
  • a forwarding type of 1 indicates that the message B4' is a rerouting message.
  • Those skilled in the art can also use other values to indicate rerouting messages.
  • Lk1 as an example to illustrate the operations performed when the switch's outbound interface fails.
  • the operation of other switches when the outbound interface fails is similar to that of Lk1. That is, either forward the message through another outgoing interface, or return the received message through the original path.
  • the switch that receives the reverse message can also process the rerouting message in two ways.
  • Method 1 Send a rerouting message (reverse message) to the server 1, so that the server 1 re-selects the path to send the message B.
  • S1n determines the inbound interface of the message B4', namely interface 8, and writes the interface 8 into the field in the interface sequence corresponding to the indication field (ie interface field 3) , And then modify the value of the indication field to the value (1) that the next-hop switch L11 should read to obtain a message B3', and the source label of the message B3' is as shown in FIG. 7B.
  • S1n forwards the message B3' to L11 through the outgoing interface 4.
  • Method 2 selects the outgoing interface on S1n that has the same attributes as interface 8. For example, outgoing interface 10, S1n changes the value of the message type in message B4' to 0, and changes the source MAC address in message B4' Exchange with the destination MAC address, modify the value of the indication field to the value that should be read by the next-hop switch Lk1 (3) to obtain the message B4", and the source label of the message B4" is shown in Figure 7C. S1n sends the message B4" through the newly selected outgoing interface 10 to continue sending the message B to the server 2.
  • each switch that receives the rerouting message uses the above-mentioned method 1 to process the message, then when the rerouting message B1' of message B reaches server 1, the rerouting message received by server 1
  • the source label of B1' is shown in Figure 7D.
  • the server 1 can determine that the outgoing interface 64 corresponding to the interface field 4 is faulty according to the message type of the message B1' as 1, and the fault field as 3.
  • the server 1 exchanges the source MAC address and the destination MAC address in the message B1', and determines a new forwarding path based on the exchanged destination MAC address, and the new forwarding path does not include the outgoing interface 64 of Lk1.
  • server 1 re-adds a new source label similar to Figure 6A to message B1' according to the new forwarding path to obtain message B1", message B1" is a normal message, and server 1 forwards the message according to the new source label B1”. Since message B1” and message B have the same load, sending message B1” is equivalent to sending message B again. Therefore, through the rerouting mechanism provided by this application, even if there is a failure in the network, Messages will be lost.
  • the method for sending messages provided by the embodiments of the present invention is introduced from the perspective of the server and each switch.
  • the server and the method in the embodiments of the present application are In order to realize the above-mentioned functions, switches, etc., include hardware structures and/or software modules corresponding to various functions.
  • Those skilled in the art should easily realize that the functions and steps of the examples described in the embodiments disclosed in this application are It can be realized 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. Professional technicians can give each Specific applications use different methods to implement the described functions, but this implementation should not be considered beyond the scope of the present invention.
  • the following describes the structure of the server and switch of the present application from different perspectives.
  • the apparatus 800 may be the first device in FIG. 3, that is, a server or an access switch.
  • the device may also include other components to achieve more functions.
  • the device 800 includes an acquiring unit 810, a processing unit 820, and a communication unit 830.
  • the obtaining unit 810 is configured to execute step S310 and various implementation manners thereof.
  • the processing unit 820 is configured to execute step S320 and various implementation manners thereof.
  • the communication unit 830 is configured to execute step S330 and various implementation manners thereof.
  • the communication unit 830 is further configured to execute step S340 and its implementation manner.
  • the processing unit 820 is also used to execute step S350 and its implementation manner.
  • the acquiring unit 810 and the communication unit 830 may independently implement respective functions, or perform corresponding functions under the control of the processing unit 820.
  • the obtaining unit 810 is configured to obtain the original message; the processing unit 820 is configured to add a first source tag to the original message to obtain the first message, and the first source tag includes the forwarding type, An indication field and an interface sequence, the forwarding type indicates that the first message supports source label forwarding, the interface sequence indicates the first source label forwarding path of the original message, and the indication field indicates that the interface sequence
  • the information of the outbound interface that should be read in the communication unit 830 is configured to send the first packet through the outbound interface corresponding to the first source label forwarding path.
  • the first source tag further includes a message type and a fault field, the message type indicates that the first message is a normal message; the value of the fault field is a default value.
  • the communication unit 830 is further configured to receive a second message, the second message includes a second source tag, and the second source tag includes a message type, an interface sequence, and a fault field.
  • the message type indicates that the second message is a fault rerouting message
  • the interface sequence indicates the first source label forwarding path
  • the combination of the fault field and the interface sequence indicates that the first source label forwarding path is
  • the processing unit 820 is further configured to obtain the original message according to the second message, determine the second source label forwarding path of the original message, and forward the path according to the second source label A third source label is generated, and a third message is generated according to the original message and the third source label; the forwarding path of the second source label does not include the failure exit interface; the communication unit 830 is also configured to Sending the third packet through an outgoing interface corresponding to the second source label forwarding path.
  • the processing unit 820 when adding a first source tag to the original message, is configured to: obtain information of the destination access switch corresponding to the original message; and according to the information of the destination access switch Determine the first forwarding path corresponding to the destination access switch; determine the first source label forwarding path according to the first forwarding path and a first rule; generate the first forwarding path according to the first source label and second rule The first source label; adding the first source label to the original message.
  • the device 800 is a source access switch, the first forwarding path is a forwarding path from the source access switch to the destination access switch, and the first source label forwarding path is The first forwarding path;
  • the obtaining unit 810 is configured to: receive the original message sent by the source server;
  • the processing unit 820 is configured to: determine the inbound interface for receiving the original message, and determine the first message The outgoing interface indicated by the indication field of the message; modify the outgoing interface information in the interface sequence of the first message to the ingress interface information, and modify the value of the indication field to the next hop switch
  • the value that should be read is the modified first message;
  • the communication unit 830 is configured to forward the modified first message through the determined outbound interface.
  • the device 800 is a source access switch
  • the first forwarding path is a forwarding path from the source access switch to the destination access switch
  • the first source label forwarding path does not include The outgoing interface of the source access switch on the first forwarding path
  • the obtaining unit 810 is configured to: receive the original message sent by the source server
  • the communication unit 830 is configured to: pass the source connection The inbound switch forwards the first packet on the outbound interface on the first forwarding path.
  • the device 800 is a source server
  • the first forwarding path is a forwarding path from the source server to the destination access switch
  • the first source label forwarding path does not include the source server
  • the communication unit 830 is configured to forward the first packet through the outbound interface on the first forwarding path of the source server.
  • this application also provides another message sending device 900, which is used to process the received message including the source tag.
  • the device 900 may be any one of a ToR switch, a leaf switch or a backbone switch.
  • the device 900 includes a first communication unit 910, a processing unit 920, and a second communication unit 930.
  • the first communication unit 910 is configured to perform step S410 and various implementation manners thereof.
  • the processing unit 920 is configured to execute steps S420-S440 and various implementation manners thereof.
  • the second communication unit 930 may be used to receive messages or send messages.
  • the first communication unit 910 and the second communication unit 930 may independently implement respective functions, or perform corresponding functions under the control of the processing unit 920.
  • the first communication unit 910 is configured to receive a first message, the first message is obtained by adding a first source tag to the original message, and the first source tag includes a forwarding type , An indication field and an interface sequence, the forwarding type indicates that the first message supports source label forwarding, the interface sequence indicates the source label forwarding path of the original message, and the indication field indicates from the interface sequence Information about the outbound interface that should be read; the processing unit 920 is configured to send the first message according to the first source tag.
  • the processing unit 920 when sending the first message, is configured to: determine the outbound interface indicated by the indication field; obtain the state of the outbound interface; and send the outbound interface according to the state of the outbound interface. The first message.
  • the processing unit 920 is configured to: determine the inbound interface for receiving the first packet; when the state of the outbound interface is normal, modify the outbound interface information in the interface sequence to For the information of the inbound interface, modify the value of the indication field to the value that the next-hop switch should read to obtain the modified first packet; and forward the modified first packet to the next-hop switch through the outbound interface.
  • the first message after modification is configured to: determine the inbound interface for receiving the first packet; when the state of the outbound interface is normal, modify the outbound interface information in the interface sequence to For the information of the inbound interface, modify the value of the indication field to the value that the next-hop switch should read to obtain the modified first packet; and forward the modified first packet to the next-hop switch through the outbound interface.
  • the first message after modification is configured to: determine the inbound interface for receiving the first packet; when the state of the outbound interface is normal, modify the outbound interface information in the interface sequence to For the information of the inbound interface, modify the value of the indication field to the value that
  • the first message further includes a source address and a destination address
  • the first source tag also includes a message type and a fault field
  • the processing unit 920 is configured to: determine the source address of the first message Incoming interface; when the state of the outgoing interface is faulty, write the value of the indication field to the fault field, then modify the value of the indication field to the value that the next hop switch should read, and change all
  • the message type is modified to fault rerouting, the source address and the destination address of the first message are exchanged to obtain the reverse message of the first message; the reverse message is forwarded through the inbound interface Text.
  • the processing unit 920 is configured to: determine an inbound interface that receives the first packet; when the state of the outbound interface is fault, determine a new outbound interface that has the same direction as the outbound interface; Modify the information of the faulty outbound interface in the interface sequence to the information of the inbound interface, and modify the value of the indication field to the value that the next-hop switch should read to obtain the modified first report Text; forward the modified first message to the next-hop switch through the new outbound interface.
  • the device 900 is the last hop switch of the source label forwarding path
  • the processing unit 920 is configured to: determine the inbound interface that receives the first packet; when the state of the outbound interface is normal When, modify the information of the outbound interface in the interface sequence to the information of the inbound interface to obtain the modified first packet; forward the original packet to the destination server of the original packet through the outbound interface The first message after modification.
  • the device 900 is the last-hop switch of the source label forwarding path, and the processing unit 920 is configured to: when the state of the outbound interface is normal, delete all data from the first packet.
  • the first source tag obtains the original message; and the original message is sent to the target server of the original message through the outbound interface.
  • the first source label further includes a forwarding mode
  • the forwarding mode indicates a way to determine the outgoing interface
  • the forwarding mode is direct forwarding
  • the information in the interface sequence is the outgoing interface
  • the processing unit 920 is configured to: obtain the identification of the outbound interface corresponding to the indication field from the interface sequence, and determine the outbound interface indicated by the indication field according to the identification of the outbound interface; when the forwarding When the mode is table lookup forwarding, the information in the interface sequence is the index of the outgoing interface, and the processing unit 920 is configured to: obtain the index of the outgoing interface corresponding to the indication field from the interface sequence, and according to the index Look up the mapping table to obtain the identifier of the outgoing interface, and determine the outgoing interface indicated by the indication field according to the identifier of the outgoing interface.
  • the second communication unit 930 is configured to: receive a second message, the second message being a reverse message of the first message, and the second message including a second source tag ,
  • the second source tag includes an interface sequence, an indication field, and a fault field, the indication field indicates information about the outbound interface that should be read from the interface sequence, and the fault field and the interface sequence indicate the source The failed outbound interface on the label forwarding path;
  • the processing unit 920 is further configured to: determine the inbound interface for receiving the second packet; determine the outbound interface indicated by the indication field; and compare the outbound interface in the interface sequence
  • the information is modified to the information of the inbound interface, the value of the indication field is modified to the value that the next-hop switch should read, and the modified second message is obtained;
  • the one-hop switch forwards the modified second message.
  • the present application also provides an apparatus 1000 for sending messages.
  • the apparatus 1000 may be any server or switch in FIG. 1.
  • the apparatus 1000 may include a processor 1010, a memory 1020, and a bus system 1030.
  • the processor 1010 and the memory 1020 are connected via a bus system 1030, the memory 1020 is used to store program codes, and the processor 1010 is used to execute the program codes stored in the memory 1020.
  • the processor 1010 may call the program code stored in the memory 1020 to execute the method for sending a message executed by the server or the switch in the embodiments of the present application.
  • the processor 1010 may be a central processing unit (CPU), and the processor 1010 may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), ready-made programmable Gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the processor 1010 may include one or more processing cores.
  • the memory 1020 may include a read only memory (ROM) device or a random access memory (RAM) device. Any other suitable type of storage device can also be used as the memory 1020.
  • the memory 1020 may include data 1022 accessed by the processor 1010 through the bus 1030.
  • the memory 1020 may further include an operating system 1023 to support the operation of the device 1000.
  • the bus system 1030 may also include a power bus, a control bus, and a status signal bus. However, for clear description, various buses are marked as the bus system 1030 in the figure.
  • the apparatus 1000 may further include one or more output devices, such as a communication interface 1040.
  • the apparatus 1000 may communicate with other devices through the communication interface 1040.
  • the communication interface 1040 may be connected to the processor 1010 via the bus system 1030.
  • the hardware product can be a dedicated chip.
  • the software product can be stored in a non-volatile storage medium (can be CD-ROM, U disk, mobile hard disk, etc.), including several instructions to make a computer device (can be a personal computer, server, or network device) Etc.) Perform the methods described in the various embodiments of the present invention.

Landscapes

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

Abstract

本申请公开了一种在数据中心网络中转发报文的方法。第一设备获取原始报文;为所述原始报文添加第一源标签得到第一报文。所述第一源标签包括转发类型、指示字段和接口序列,所述转发类型指示所述第一报文支持源标签转发,所述接口序列指示所述原始报文的第一源标签转发路径,所述指示字段指示从所述接口序列中应读取的出接口的信息。所述第一设备通过所述第一源标签转发路径对应的出接口向下一跳交换机发送所述第一报文。所述下一跳交换机接收所述第一报文,并根据所述第一源标签转发所述第一报文。通过本申请,数据中心网络中的交换机不需要查找转发表即可转发报文,提高了报文转发的效率,减轻了交换机的负担。

Description

一种在数据中心网络中转发报文的方法及相关装置
本申请要求于2019年6月29日提交中国国家知识产权局、申请号为201910582515.X、发明名称为“一种在数据中心网络中转发报文的方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及网络通信技术,尤其涉及一种在数据中心网络中转发报文的方法及相关装置。
背景技术
数据中心是指由计算资源,存储资源和网络资源等资源组成的资源池。数据中心网络(data center network,DCN)互连数据中心的所有资源。数据中心网络需要具备可扩展性和有效性,以连接数以千万计的服务器。为了降低DCN的成本并提高鲁棒性(robustness),当前DCN多采用Clos架构。
发明内容
本申请提供了一种发送报文的方法及相关装置,能够提高数据中心网络中转发报文的效率。
本申请第一方面提供了一种发送报文的方法,该方法由第一设备执行,该第一设备可以是源服务器或源接入交换机。
该第一设备获取原始报文,为所述原始报文添加第一源标签得到第一报文。所述第一源标签包括转发类型、指示字段以及接口序列,所述转发类型指示所述第一报文支持源标签转发,所述接口序列指示所述原始报文的第一源标签转发路径,所述指示字段指示从所述接口序列中应读取的出接口的信息。该第一设备通过所述第一源标签转发路径对应的出接口发送所述第一报文。
本申请中,当第一设备为原始报文添加第一源标签得到第一报文后,接收到该第一报文的交换机根据该第一源标签转发第一报文,而不需要在转发第一报文时查找转发表。这种转发方式可以提高报文的转发效率,并且由于接收到第一报文的交换机不需要存储转发表,节约了交换机的存储空间。
在一个实施方式中,所述第一源标签还包括报文类型和故障字段,所述报文类型指示所述第一报文为正常报文;所述故障字段的值为默认值。
本申请中的第一源标签还包括报文类型和故障字段。当该源标签转发路径发生故障时,故障出接口所在的交换机可以修改第一报文中的报文类型和故障字段,生成该第一报文的反向报文,通过该反向报文将该故障出接口通知给该第一设备。
可选地,当该源标签转发路径发生故障时,该第一设备还接收第二报文,该第二报文为该第一报文的反向报文。该第二报文包括第二源标签,所述第二源标签包括报文类型、接口序列和故障字段,所述报文类型指示所述第二报文为故障重路由 报文,所述接口序列指示所述第一源标签转发路径,所述故障字段与所述接口序列结合指示所述第一源标签转发路径上的故障出接口。该第一设备根据所述第二报文获取所述原始报文,确定所述原始报文的第二源标签转发路径,所述第二源标签转发路径不包括所述故障出接口。该第一设备根据所述第二源标签转路径生成第三源标签,并根据所述原始报文和所述第三源标签生成第三报文。该第一设备通过所述第二源标签转发路径对应的出接口发送所述第三报文。
本申请中,当源标签转发路径发生故障时,故障出接口所在的交换机根据第一报文生成第二报文,并将该第二报文沿着第一源标签转发路径的反向路径发送给第一设备。该第二报文和第一报文的负荷都是该原始报文的负荷。该第一设备收到第二报文后,可以确定该原始报文,并为该原始报文重新选择第二源标签转发路径以避开该故障出接口。然后,该第一设备根据该原始报文和第二源标签转发路径生成第三报文,并通过该第二源标签转发路径对应的出接口转发该第三报文。由于第三报文和第一报文都是基于原始报文生成的,在第一源标签转发路径中存在故障出接口时,采用本申请提供的处理过程不会丢失需要传输的数据。当本实施方式应用于数据中心网络中时,可以满足数据中心网络不丢包的要求。
在一个实施方式中,当为所述原始报文添加第一源标签时,该第一设备获取所述原始报文对应的目的接入交换机的信息,根据所述目的接入交换机的信息确定所述目的接入交换机对应的第一转发路径。然后,第一设备根据所述第一转发路径以及第一规则确定所述第一源标签转发路径;根据所述第一源标签转发路径以及第二规则生成所述第一源标签;为所述原始报文添加所述第一源标签。
本实施方式中,第一设备可以根据不同的第一规则确定不同的第一源标签转发路径,使得本申请提供的方法实现方式更加灵活。
可选地,所述第一转发路径为源接入交换机到所述目的接入交换机之间的转发路径,所述第一源标签转发路径为所述第一转发路径。所述源接入交换机接收源服务器发送的所述原始报文。所述源接入交换机确定接收所述原始报文的入接口,确定所述第一报文的指示字段指示的出接口。所述源接入交换机将所述第一报文的接口序列中的所述出接口的信息修改为所述入接口的信息,并将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文。所述源接入交换机通过所述确定的出接口转发所述修改后的第一报文。
可选地,所述第一转发路径为源接入交换机到所述目的接入交换机之间的转发路径,所述第一源标签转发路径不包括所述源接入交换机在所述第一转发路径上的出接口。所述源接入交换机接收源服务器发送的所述原始报文。所述源接入交换机通过所述源接入交换机在所述第一转发路径上的所述出接口转发所述第一报文。
可选地,所述第一转发路径为源服务器到所述目的接入交换机之间的转发路径,所述第一源标签转发路径不包括所述源服务器在所述第一转发路径上的出接口。所述源服务器获取所述原始报文。所述源服务器通过所述源服务器在所述第一转发路径上的所述出接口转发所述第一报文。
本申请第一方面的方法既可以由源服务器执行,也可以由源接入交换机执行,实现了所述方法的灵活部署,可以满足不同的组网需求。
本申请第二方面提供了另一种发送报文的方法,该方法由第二设备执行,该第二设备可以是交换机。
该交换机接收第一报文,所述第一报文是由原始报文添加第一源标签得到的,所述第一源标签包括转发类型、指示字段和接口序列,所述转发类型指示所述第一报文支持源标签转发,所述接口序列指示所述原始报文的源标签转发路径,所述指示字段指示从所述接口序列中应读取的出接口的信息。该交换机根据所述第一源标签发送所述第一报文。
可选地,在根据所述第一源标签发送所述第一报文时,该交换机确定所述指示字段指示的出接口,获取所述出接口的状态,并根据所述出接口的状态发送所述第一报文。
本申请中,收到第一报文的交换机只需要根据该第一报文的第一源标签就可以转发该第一报文,而不需要查找转发表,因此,提高了报文的转发效率。并且,由于该交换机不需要查找转发表,相应地,该交换机也不需要存储转发表,因此,本申请可以节约交换机的存储空间。进一步地,由于该交换机不需要存储转发表,该交换机也不需要生成转发表,因此,本申请还可以降低交换机的复杂度,进而降低了由该交换机组成的网络的复杂度,节约了组网成本。
可选地,该交换机还确定接收所述第一报文的入接口,当所述出接口的状态为正常时,该交换机将所述接口序列中的所述出接口的信息修改为所述入接口的信息,将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文。该交换机通过所述出接口向所述下一跳交换机转发所述修改后的第一报文。该下一跳交换机为面向原始报文的目的服务器的下一跳交换机。
本申请提供的交换机根据第一源标签转发第一报文的方法不仅能够转发报文,还可以在该第一报文中记录该第一报文在该源标签转发路径中的每个交换机的入接口,以使接收到该第一报文的目的服务器或目的接入交换机能够确定对应源服务器的源标签转发路径。
可选地,所述第一报文还包括源地址和目的地址,所述第一源标签还包括报文类型和故障字段。该交换机还确定接收所述第一报文的入接口。当所述出接口的状态为故障时,所述交换机将所述指示字段的值写入所述故障字段,然后将所述指示字段的值修改为下一跳交换机应读取的值,将所述报文类型修改为故障重路由,将所述第一报文的源地址和目的地址互换,得到所述第一报文的反向报文。该交换机通过所述入接口转发所述反向报文。该下一跳交换机为面向该原始报文的源服务器的下一跳交换机。
本申请中,接收到第一报文的交换机在该源标签转发路径上的出接口故障时,可以生成该第一报文的反向报文,并通过该源标签转发路径的反向路径向第一设备发送该反向报文,以使第一设备为该第一报文的原始报文重新选择源标签转发路径,可以在源标签转发路径故障时避免原始报文丢失。
可选地,该交换机确定接收所述第一报文的入接口。当所述出接口的状态为故障时,该交换机确定与所述出接口具有相同方向的新的出接口,将所述接口序列中的所述故障出接口的信息修改为所述入接口的信息,并将所述指示字段的值修改为 下一跳交换机应读取的值,得到修改后的第一报文。该交换机通过所述新的出接口向所述下一跳交换机转发所述修改后的第一报文。该下一跳交换机为面向原始报文的目的服务器的下一跳交换机。
本申请中,该接收到第一报文的交换机在该源标签转发路径上的出接口故障时,选择与该故障出接口具有相同方向的新的出接口,并通过该新的出接口发送该第一报文。可以在源标签转发路径故障时避免报文丢失,并减少报文时延。
可选地,当该交换机为该源标签转发路径对应的最后一跳交换机时,该交换机还确定接收所述第一报文的入接口。当所述出接口的状态为正常时,该将所述接口序列中的所述出接口的信息修改为所述入接口的信息,得到修改后的第一报文。该交换机通过所述出接口向所述原始报文的目的服务器转发所述修改后的第一报文。
本申请中,该源标签转发路径对应的最后一跳交换机将第一报文在该交换机的入接口的接入信息写入该第一源标签后,将修改后的第一报文发送给原始报文的目的服务器。这样,目的服务器可以根据该第一源标签中的接口序列获得该原始报文的源接入交换机对应的源标签转发路径,提高了目的服务器获取源标签转发路径的效率。
可选地,当该交换机为该源标签转发路径对应的最后一跳交换机时,如果所述出接口的状态为正常,该交换机从所述第一报文中删除所述第一源标签得到所述原始报文,并通过所述出接口向所述原始报文的目标服务器发送所述原始报文。
进一步地,该交换机还可以获取该第一源标签中记录的接口序列,根据该接口序列确定该原始报文的源接入交换机对应的源标签转发路径,提高了目的接入交换机获取源标签转发路径的效率。
可选地,所述第一源标签还包括转发模式,所述转发模式指示确定出接口的方式。当所述转发模式为直接转发时,所述接口序列中的信息为出接口的标识,该交换机从所述接口序列中获取所述指示字段对应的出接口的标识,根据所述出接口的标识确定所述指示字段指示的出接口。当所述转发模式为查表转发时,所述接口序列中的信息为出接口的索引,该交换机从所述接口序列中获取所述指示字段对应的出接口的索引,根据所述索引查找映射表获取所述出接口的标识,根据所述出接口的标识确定所述指示字段指示的出接口。
本申请中的接口序列中的信息可以是能够查找到出接口的标识或索引,通过设置不同的接口序列中的信息,可以提高本申请实现方式的灵活性。
可选地,该交换机还接收第二报文,所述第二报文为所述第一报文的反向报文,所述第二报文包括第二源标签,所述第二源标签包括接口序列、指示字段和故障字段,所述指示字段指示从所述接口序列应读取的出接口的信息,所述故障字段与所述接口序列结合指示所述源标签转发路径上的故障出接口。该交换机还确定接收所述第二报文的入接口,确定所述指示字段指示的出接口,将所述接口序列中所述出接口的信息修改为所述入接口的信息,将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第二报文。该交换机通过所述确定的出接口向所述下一跳交换机转发所述修改后的第二报文。该下一跳交换机为面向该原始报文的源服务器的下一跳交换机。
本申请中,接收到反向报文的交换机能够向原始报文的源服务器或源接入交换机转发该反向报文,避免了源标签转发路径故障时丢失报文。
以上第一方面和第二方面解释了本申请转发报文的方法不同实现方式。上述各实现方式可以通过不同形态的设备实现。
本申请第三方面提供了一种发送报文的装置。该装置包括执行第一方面或第一方面的任意可能设计提供的发送报文的方法的功能模块;本申请对功能模块的划分不做限定,可以按照第一方面的转发报文的方法的流程步骤对应划分功能模块,也可以按照具体实现需要划分功能模块。
本申请第四方面提供了另一种发送报文的装置。该装置包括执行第二方面或第二方面的任意可能设计提供的发送报文的方法的功能模块;本申请对功能模块的划分不做限定,可以按照第二方面的转发报文的方法的流程步骤对应划分功能模块,也可以按照具体实现需要划分功能模块。
本申请第五方面提供了再一种发送报文的装置。该装置包括存储器和处理器,该存储器用于存储程序代码和数据,该处理器用于调用该程序代码,并结合该数据实现本申请第一方面及其任意可能的设计中的发送报文的方法,以及实现本申请第二方面及其任意可能的涉及中的发送报文的方法。
本申请第六方面提供了一种芯片,该芯片运行时,能够实现本申请第一方面及其任意可能的设计中的发送报文的方法,以及实现本申请第二方面及其任意可能的涉及中的发送报文的方法。
本申请第七方面提供了一种存储介质,该存储介质中存储有程序代码,该程序代码运行时,能够使运行该程序代码的设备(交换机,服务器等)实现本申请第一方面及其任意可能的设计中的发送报文的方法,以及实现本申请第二方面及其任意可能的涉及中的发送报文的方法。
本申请第八方面提供了一种数据中心网络,该数据中心网络包括第一设备和第二设备,该第一设备用于实现本申请第一方面及其任意可能的设计中的发送报文的方法,该第二设备用于实现本申请第二方面及其任意可能的涉及中的发送报文的方法。
本申请第三方面至第八方面的有益效果可以参考对第一方面和第二方面及其各可能的设计的有益效果的描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种数据中心网络示意图;
图2为本申请实施例提供的一种源标签的结构示意图;
图3为本申请实施例提供的一种发送报文的方法的流程示意图;
图4为本申请实施例提供的另一种发送报文的方法的流程示意图;
图5为服务器1向服务器2发送报文时的路径示意图;
图6A-图6F为转发正常报文时不同设备上的源标签示意图;
图7A-图7D为转发路径故障时不同设备上的源标签示意图;
图8为本申请实施例提供的一种发送报文的装置的结构示意图;
图9为本申请实施例提供的另一种发送报文的装置的结构示意图;
图10为本申请实施例提供的再一种发送报文的装置的结构示意图。
具体实施方式
以下首先对本申请实施例涉及的相关术语进行简要的介绍,以便于本领域技术人员理解。
(1)Clos架构:又称为Clos网络,是一种理论上理想化的多级(multistage)交换系统。Clos架构于1938年由Edson Erwin发明,于1952年由Charles Clos实现(formalized)。Clos架构是一种无阻塞的网络,能够实现网络中任意两个主机之间的通信。
(2)接入层(access layer):在数据中心网络中,接入层直接连接虚拟服务器或物理服务器,接入层由接入交换机组成。接入交换机也可以被称为架顶(top of rack,TOR)交换机。
(3)汇聚层(aggregation layer):汇聚层互联不同的接入交换机,汇聚层由汇聚交换机组成。在数据中心网络中,汇聚交换机互联大量ToR交换机。汇聚交换机也可以称为叶子(leaf)交换机。
(4)骨干层(spine layer):骨干层连接汇聚交换机并作为数据中心网络的网关连接外部网络。骨干层由骨干交换机组成。骨干层又可以称为核心层。(5)交付点(point of delivery,pod):由网络、计算、存储以及应用等组件组成的用于传输网络服务的集群。交付点又称为可用区(available zone)。在本申请实施例中,pod是指由接入交换机和汇聚交换机组成的集群。
(6)网络拓扑(network topology):通信网络中各元素(链路、节点等)之间的安排。网络拓扑包括物理拓扑和逻辑拓扑。物理拓扑指网络组件的部署。逻辑拓扑指网络节点在业务层面的通信关系。本申请中,网络拓扑是指物理拓扑,也可被简称为拓扑。
(7)源标签:本申请扩展的、添加在报文中以指导该报文转发的一系列字段的集合。本申请中,源标签用来指导报文的转发,并不会修改报文的负荷。后续将结合图2详细介绍该源标签。
(8)原始报文:没有添加源标签的报文。本申请对原始报文的封装格式及使用的协议不做限制。
(9)接口(interface):计算机网络中的两个设备或协议层之间的连接点。用于接收报文的接口称为该报文的入接口,用于发送报文的接口称为该报文的出接口,同一个接口可以既是A报文的入接口又是B报文的出接口。
(10)转发路径:指第一设备到目的接入交换机之间的路径,包括第一设备的出接口。本申请中第一设备是指为报文添加源标签的设备。
(11)源标签转发路径:被添加到源标签中的一段路径,可以包括或不包括第一设备的出接口。本申请的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一数据报文和第二数据报文等是用于区别不同的数据报文,而不是用于描述数据报文的特定顺序。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本发明的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个交换机是指两个或两个以上的交换机。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。
如图1所示,为可适用于本申请一实施例的数据中心网络的示意图。图1所示的数据中心网络100采用Clos架构。该数据中心网络100包括接入层110,汇聚层120和骨干层130。其中,骨干层130中的骨干(spine)交换机被分成了m个骨干集(spine set)。每个骨干集中包括n个骨干交换机,例如,骨干集1中的S11到S1n。接入层110中的接入交换机(ToR交换机)和汇聚层120中的汇聚交换机(leaf交换机)被划分为k个pod,每个pod中包括x个ToR交换机和m个叶子交换机。即每个pod中的叶子交换机的个数与骨干集的个数相同。在一个pod中,每个ToR交换机分别连接该pod中的m个叶子交换机,每个叶子交换机连接对应的骨干集中的每个骨干交换机。例如,pod 1中,ToR交换机T11分别连接到叶子交换机L11到L1m,ToR交换机T1x分别连接到叶子交换机L11到L1m,叶子交换机L11连接骨干集1中的所有骨干交换机(第一虚线),叶子交换机L12连接骨干集2中的所有骨干交换机(实线),叶子交换机L1m连接骨干集m中的所有骨干交换机(第二虚线)。类似地,在pod k中,ToR交换机Tk1分别连接到叶子交换机Lk1到Lkm,ToR交换机Tkx分别连接到叶子交换机Lk1到Lkm,叶子交换机Lk1连接骨干集1中的所有骨干交换机(第一虚线),叶子交换机Lk2连接骨干集2中的所有骨干交换机(实线),叶子交换机Lkm连接骨干集m中的所有骨干交换机(第二虚线)。其他pod中ToR交换机和叶子交换机的连接方式与pod 1和pod k类似。接入层110中的ToR交换机用于连接服务器,图1示出了服务器1和服务器2。
图1仅仅是对数据中心网络的一个示例,为了简化描述,图1中的数据中心网络中每个pod包括同样数量的ToR交换机和叶子交换机,且每个骨干集中包括同样数量的骨干交换机。实际的部署中,不同pod中ToR交换机的数量可以不同,不同骨干集中骨干交换机的数量也可以不同。每个ToR交换机可以连接多个服务器,且每个服务器可以连接一个或多个ToR,通常会连接同一个pod中的不同ToR交换机。图1中的CloS架构中包括三层交换机,但在实际的部署中,Clos架构中还可以包括四层或更多层的交换机。交换机的层数不会影响本发明的实施。
从图1可以看出,服务器1向服务器2发送消息时,可以有m种转发方式:
pod 1-〉骨干集1-〉pod k;
pod 1-〉骨干集2-〉pod k;
……
pod 1-〉骨干集m-〉pod k。
上述m种转发方式,形成了m个转发平面,每个转发平面,由一个骨干集内的骨干交换机,以及该骨干集中的骨干交换机连接的所有叶子交换机组成,例如,骨干集2对应的转发平面包括pod 1到pod k中每个pod中的Li2,i=1…k,以及骨干集2中的全部骨干交换机S21到S2n。
当所有pod中包括相同数量的ToR交换机和叶子交换机,且所有骨干集中的骨干交换机的数量相同时,报文在该m个转发平面的中的转发路径相同,即该m个转发平面中包括多条从服务器1到服务器2的等价转发路径。
通过图1所示的数据中心网络,数据中心的不同服务器之间能够无阻塞互通。图1中的部分或者全部服务器可以是虚拟服务器或者物理服务器。虚拟服务器可以是物理服务器上运行的虚拟机。
图1所示的数据中心网络还可以进一步包括控制器,该控制器用于收集数据中心网络的拓扑,并将收集到的拓扑发送给该数据中心网络中的每个服务器。该控制器可以部署在一个ToR交换机(例如,pod 2中的ToR交换机T21)上,通过该ToR交换机收集该数据中心网络的拓扑,并将该拓扑发送给每个服务器。该控制器还可以独立部署,并与该数据中心网络中的一个或多个交换机连接。该控制器通过该一个或多个交换机获取所述数据中心网络的拓扑,并将获取的拓扑发送给所述数据中心网络中的每个服务器。
图2为本申请实施例提供的一种源标签的结构示意图。当源标签被添加到报文上时,该源标签用于指导该报文的转发。如图2所示,在一个实施方式中,为了便于描述,将源标签划分为三部分,即转发类型210、扩展头220以及接口序列230。其中,转发类型210指示添加了该源标签的报文是否支持源标签转发。可选地,可以定义一个新增的以太网协议类型,来指示报文支持源标签转发。如果报文中携带的源标签类型为该新增的类型,则该报文支持源标签转发,如果该报文中携带的源标签类型为其他类型,则该报文不支持源标签转发。该新增的支持源标签转发的类型例如可以为0X8950。该源标签还包括多个字段,该多个字段中的每个字段与一种参数相关,本申请实施例为了描述方便,将该多个字段合称为扩展头220。例如,图2中,扩展头220包括以下字段:
版本:源标签版本号;
转发模式:指示在根据源标签转发报文时确定出接口的方式。例如,该转发模式可以是直接转发或者查表转发,其中,直接转发是指接口序列230中包括的是出接口的标识,交换机根据该接口序列中的出接口的标识即可直接转发报文,查表转发是指接口序列230中包括的是出接口在映射表中的索引,交换机需要根据该出接口的索引查找该映射表得到出接口的标识,再根据该出接口的标识转发报文,该映射表中存储有索引和出接口的标识的对应关系;
组播特性:指示该报文是否为组播报文;
服务类别(class of service,COS):指示该报文的优先级;
报文类型:指示该报文的类型,该类型可以包括正常(指示报文为正常报文)或故障重路由(指示报文为反向报文)或丢包通知(用于通知网络中发生了丢包)等,本字段也可以称为重路由(reRoute);可以用不同的值来指示不同的报文类型, 例如,正常为0,故障重路由为1,丢包通知为2等。正常报文是指从源服务器发往目的服务器的报文;反向报文为由于转发路径故障而发回源服务器的报文;丢包通知为报文被丢弃后,丢弃报文的交换机向源服务器发送的通知报文;
显式拥塞通告(explicit congestion notification,ECN)标记:标准ECN拥塞标记方式;
指示字段:指示字段的值指向应读取的接口序列230的字段;执行源路由转发的交换机根据该指示字段的值以及接口序列230可以获取到出接口信息;换言之,该指示字段可以指示从接口序列230中应读取的出接口的信息;本申请中需要预先设定指示字段的初始值以及指示字段的修改规则,并将设定的初始值和修改规则通知每个交换机;
跳数字段:指示源标签对应的源标签转发路径的总跳数,即接口序列230中有效的接口数;交换机可以根据指示字段的值以及跳数字段的值确定该交换机是否为源标签转发路径的最后一跳;
生存时间(time to live,TTL):指示该报文最大可转发次数,主要用于故障重路由场景;报文每转发一次,TTL的值减1。
故障字段:指示源标签转发路径中发生故障的位置,该故障字段的值例如可以是源标签转发路径的第N跳。其中,N小于等于该源标签转发路径的总跳数。该故障字段用于与接口序列230结合确定故障出接口,只有报文类型为故障重路由或丢包通知时,该故障字段的值才生效,即交换机才需要关注该故障字段的值。当报文类型为正常时,该故障字段的值为默认值,收到报文的交换机不需要关注该故障字段。
在实际的部署中,扩展头220中的字段可以少于上述字段或多于上述字段,例如,扩展头220还可以包括预留字段以备将来扩展功能。再例如,扩展头220中不包括跳数字段,当交换机根据指示字段的值读接口序列中的信息,读到的信息对应无效的出接口时,即可确定该交换机为源标签转发路径的最后一跳。
接口序列230指示报文的源标签转发路径。接口序列230包括多个接口字段,该多个接口字段通过出接口标识或索引指示源标签转发路径中每跳交换机的出接口,即该多个接口字段包括该源标签转发路径中每跳交换机的出接口的标识或索引。该多个接口字段的数量大于等于该源标签转发路径的总跳数。其中,源标签转发路径是指采用源标签转发的一段路径。图2中的接口序列230示例性地包括7个接口字段,实际中,接口序列还可以包括其他数量的接口字段。当图2所示的源标签被添加到报文中时,该源标签可以指导该报文的转发。本申请中为不同报文添加的不同源标签具有相同的格式,但可能会有不同的字段值。为了使说明书更简洁,本申请后续实施例中仅仅描述与执行特定步骤时需要使用的字段。
基于图1所示的数据中心网络和图2所示的源标签,本申请实施例提供了一种发送报文的方法,该方法由第一设备执行。如图3所示,该方法至少包括步骤S310到S330。
在S310中,第一设备获取原始报文。
该第一设备可以是服务器或者源接入交换机,即源ToR交换机。该服务器可以是物理服务器或虚拟服务器。该原始报文是指没有添加源标签的报文。本申请中将还没有添加源标签的报文称为原始报文,而不考虑该报文所遵循的协议或所使用的封装方式。所述原始报文可以是数据报文或者控制报文。
当该第一设备为服务器时,所述原始报文可以是所述服务器生成的,也可以是所述服务器上的虚拟机生成的。当所述第一设备为源接入交换机时,所述原始报文是从所述源接入交换机连接的服务器(源服务器)接收的。
在S320中,该第一设备为该原始报文添加第一源标签得到第一报文。
该第一源标签可以是该第一设备根据该原始报文对应的目的接入交换机的信息确定的。该目的接入交换机是指连接目的服务器的交换机,例如,当该原始报文为发往图1中的服务器2的报文时,目的接入交换机可以为ToR交换机Tk1或Tk2。该目的接入交换机的信息可以是该目的接入交换机的MAC地址、IP地址或设备标识等。
在一个实施方式中,所述第一设备获取该原始报文的目的MAC地址或目的IP地址,根据该目的MAC地址或目的IP地址获取对应的目的接入交换机的信息,根据该目的接入交换机的信息确定该目的交换机对应的第一转发路径,根据该第一转发路径以及第一规则确定第一源标签转发路径,根据所述第一转发路径以及第二规则生成所述第一源标签,并为该原始报文添加所述第一源标签。该第一转发路径可以是该第一设备与该目的接入交换机之间的任意一条转发路径。该第一规则指示如何根据转发路径生成源标签转发路径,该第一规则可以包括:将转发路径确定为源标签转发路径,或将转发路径的一部分作为源标签转发路径。基于该第一,该第一转发路径与该第一源标签转发路径的关系可以包括以下几种:
(1)该第一设备为源服务器,该第一转发路径为该源服务器的出接口到目的接入交换机之间的路径,该第一源标签转发路径为该第一转发路径除去该源服务器的出接口之外的部分,即,该第一源标签转发路径不包括该源服务器在所述第一转发路径上的出接口。
(2)该第一设备为源接入交换机,该第一转发路径为该源接入交换机的出接口到目的接入交换机之间的路径,即,该第一源标签转发路径为该第一转发路径;
(3)该第一设备为源接入交换机,该第一转发路径为该源接入交换机的出接口到目的接入交换机之间的路径,该第一源标签转发路径为该第一转发路径除去该源接入交换机的出接口之外的部分,即,该第一源标签转发路径不包括所述源接入交换机在所述第一转发路径上的出接口。
该第一转发路径可以是根据目的接入交换机的信息查找转发表得到的。该转发表的每个表项包括一个接入交换机的信息与转发路径的对应关系。在该转发表中,每个接入交换机对应一条或多条转发路径。该转发表可以是该第一设备根据该数据中心网络的拓扑生成的。该转发表也可以是由控制器生成并发送给该第一设备的。
该第二规则包括每个字段的长度以及每个字段的值的设置方式。表1提供了一种第二规则的示例,第二规则也可以根据不同的源标签的格式变动。
表1
字段 长度
转发类型 16bits 0X8950
版本 2bits 根据支持的版本设置
转发模式 1bit 根据配置设置
组播特性 1bit 单播:0;组播:1
CoS 3bits 根据业务类型设置
报文类型 2bits 默认0
ECN标记 2bits 根据是否支持设置
指示字段 4bits 默认0
跳数字段 4bits 根据计算设置
TTL 4bits 根据网络拓扑设置
故障字段 b bits 默认0
接口字段1 16bits 根据计算设置
接口字段2 16bits 根据计算设置
接口字段3 16bits 根据计算设置
接口字段4 16bits 根据计算设置
接口字段5 16bits 根据计算设置
接口字段6 16bits 根据计算设置
接口字段7 16bits 根据计算设置
在一个实施方式中,该第一源标签包括转发类型、指示字段以及接口序列。其中,该转发类型指示该第一报文支持源标签转发,该接口序列指示该原始报文的第一源标签转发路径,所述指示字段指示从接口序列中应读取的出接口的信息。所述接口序列包括所述源标签转发路径上的每跳交换机的出接口的信息。出接口的信息可以是该出接口的标识或出接口的索引。根据出接口的标识可以直接确定一个出接口,根据出接口的索引可以查找到对应的出接口的标识,进而确定该出接口。
在一个实施方式中,该第一源标签还可以包括报文类型和故障字段。由于第一设备在添加第一源标签时不会选择已经故障的源标签转发路径,第一设备默认生成的第一报文为为正常报文,因此,该报文类型指示该第一报文为正常报文,相应地,该故障字段的值为默认值。
在S330中,该第一设备通过所述第一源标签转发路径对应的出接口发送所述第一报文。
本申请中,该第一源标签转发路径对应的出接口并不必然是该第一源标签转发路径中的出接口。该第一设备为源服务器时,该第一源标签转发路径对应的出接口为在该第一转发路径上但不在该第一源标签转发路径上的该源服务器的出接口。
在该第一设备为源接入交换机且该原始报文的目的接入交换机与该源接入交换机不同时,该源接入交换机生成该第一报文后,向该源接入交换机的下一跳交换机,即叶子交换机发送该第一报文。在一个实施方式中,所述第一源标签转发路径为所述第一转发路径,该第一源标签转发路径对应的出接口为该第一源标签转发路径上的出接口。该源接入交换机先确定接收所述原始报文的入接口,然后确定所述第一报 文的指示字段指示的出接口并记录所述出接口;将所述第一报文的接口序列中的所述出接口的信息修改为所述入接口的信息,并将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;通过所述记录的出接口转发所述修改后的第一报文。在另一个实施方式中,该第一源标签转发路径对应的出接口不为该第一源标签转发路径上的出接口,即,所述第一源标签转发路径不包括所述源接入交换机在所述第一转发路径上的出接口,所述源接入交换机通过所述源接入交换机在所述第一转发路径上的出接口转发所述第一报文。
本申请图3所示的方法中,第一设备为原始报文添加第一源标签得到第一报文,该第一源标签中包括转发类型,指示字段和接口序列。通过为该原始报文添加第一源标签,该第一设备可以指定该原始报文的转发路径。接收到该第一报文的交换机可以根据跟该第一源标签转发该第一报文,可以减少查找转发表所带来的开销。并且,当转发路径是由控制器计算并发送给第一设备时,本申请中的各交换机可以不用运行路由协议,降低了交换机的负担。
进一步地,本申请实施例提供的方法中,第一设备还可以在转发路径发生故障的时候,重新选择转发路径以发送该原始报文。如图3所示,所述方法还可以进一步包括步骤S340和S350。
在S340中,该第一设备接收第二报文,该第二报文为该第一报文的反向报文。
所述第二报文包括第二源标签。如前所示,该第二源标签与第一源标签具有相同的格式,但是部分字段的值不同。可选地,该第二源标签包括报文类型,接口序列和故障字段,所述报文类型指示所述第二报文为故障重路由报文,所述接口序列指示所述第一源标签转发路径,所述故障字段与所述接口序列结合指示所述第一源标签转发路径上的故障出接口。其中,所述故障字段指示所述故障出接口所在的交换机。该第一设备根据该第二报文的报文类型可以确定该第二报文为反向报文(即从第一设备发出又回到第一设备的报文),然后可以根据该接口序列和故障字段确定该第一源标签转发路径上的故障出接口。
在S350中,该第一设备根据该第二报文确定第二源标签转发路径,根据所述第二源标签转发路径转发包括该原始报文的第三报文。
该第一设备根据该第二报文获取所述原始报文,确定所述原始报文的第二源标签转发路径,所述第二源标签转发路径不包括所述故障出接口。该第一设备根据所述第二源标签转发路径生成第三源标签,根据所述原始报文和所述第三源标签生成第三报文,所述第三源标签包括所述第二源标签转发路径。该第一设备通过所述第二源标签转发路径对应的出接口发送所述第三报文。
通过上述方式,当第一设备为原始报文确定的第一源标签路径故障时,第一设备可以根据该原始报文的反向报文为该原始报文选择新的转发路径,并基于新的转发路径为该原始报文添加新的源标签,根据该新的源标签转发该原始报文,可以保证在数据中心网络中发生故障时报文不丢失。
基于图1所示的数据中心网络和图3所示的方法,本申请实施例提供了另一种在数据中心网络中发送报文的方法,该方法由第二设备执行,该第二设备结合不同的场景可以是不同的交换机。如图4所示,该方法包括步骤S410到S440。
在S410中,交换机接收第一报文,该第一报文包括第一源标签。
该第一报文可以是步骤S330中发出的第一报文。当图3中的第一设备为源服务器时,该交换机可以是该第一报文的转发路径上的ToR交换机,leaf交换机或spine交换机中的任意一个。当图3中的第一设备为源接入交换机时,该交换机为第一报文的转发路径上的除该源接入交换机的任意一个交换机。
在S410之后,所述交换机根据所述第一源标签转发所述第一报文。所述转发过程可以通过步骤S420-S440实现。
在S420中,该交换机根据该第一源标签,确定该第一报文在该交换机上的出接口。
该交换机解析该第一报文,获得该第一源标签中的转发类型,根据该转发类型确定该第一报文是否支持源标签转发,在该第一报文支持源标签转发时,根据该第一源标签中的指示字段的值和该接口序列,确定该第一报文在该交换机上的出接口。该第一报文在该交换机上的出接口即为该指示字段指示的出接口。后续将结合附图6A-6F对确定第一报文在该交换机的出接口的过程进行详细描述。
此外,该交换机还确定接收该第一报文的入接口。
在一个实施方式中,该第一源标签还包括转发模式,该转发模式指示确定出接口的方式。当所述转发模式为直接转发时,所述接口序列中的信息为出接口的标识,所述交换机根据该第一源标签中的指示字段的值,从所述接口序列中获取所述指示字段对应的出接口的标识,根据所述出接口的标识确定所述指示字段指示的出接口。当所述转发模式为查表转发时,所述接口序列中的信息为出接口的索引,该交换机从所述接口序列中获取所述指示字段对应的出接口的索引,根据所述索引查找映射表获取所述出接口的标识,根据所述出接口的标识确定所述指示字段指示的出接口。
在S430中,该交换机获取该出接口的状态。
该出接口的状态包括故障、拥塞、正常或根据需要设定的其他状态。该交换机可以从接口状态数据库中获取该出接口的状态。
在S440中,该交换机根据该出接口的状态处理该第一报文。
步骤S440具体可包括以下几种实现方式:
A、该出接口的状态为正常,该交换机修改该第一报文中的源标签得到修改后的第一报文,通过该出接口发送该修改后的第一报文。
这里又分为以下情况:
A1、该交换机不为该第一源标签转发路径的最后一跳交换机,该交换机将所述接口序列中的所述出接口的信息修改为所述入接口的信息,将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文,通过所述确定的出接口向下一跳交换机发送所述修改后的第一报文。这里的下一跳设备是指向目的服务器转发该第一报文时的下一跳。将所述指示字段的值修改为下一跳交换机应读取的值,可以是将所述指示字段的值增加一个设定的数值,例如,加1,加3等。
A2、该交换机为该第一源标签转发路径的最后一跳,但该第一源标签不是由源接入交换机添加的,该交换机将所述接口序列中的所述出接口的信息修改为所述入 接口的信息,得到修改后的第一报文,通过所述确定的出接口向该原始报文的目的服务器发送所述修改后的第一报文。由于该交换机已经是最后一跳,该交换机不需要修改指示字段的值。
目的服务器得到该修改后的第一报文后,获取该第一源标签中的接口序列,根据所述接口序列得到所述原始报文的源接入交换机对应的源标签转发路径。
A3、该交换机为该转发路径的最后一跳交换机,且该第一源标签是由源接入交换机添加的,该交换机将该源标签从该第一报文中删除,得到原始报文,并将该原始报文发送给目的服务器。
进一步地,该交换机还可以获取该第一源标签中的接口序列,根据所述接口序列得到所述原始报文的源接入交换机对应的源标签转发路径。
B、该出接口的状态为故障,该交换机对该第一报文执行故障处理流程。这里又分为两种情况:
B1、交换机将该第一报文退回添加该第一源标签的设备。例如,交换机先将该第一源标签中的指示字段的值写入所述故障字段,然后将该指示字段的值修改为下一跳交换机应读取的值,并修改该第一报文的头部,例如,将该第一报文的源地址和目的地址互换,将所述第一源标签中的报文类型修改为故障重路由,得到该第一报文的反向报文(指转发路径相反的报文,又称为重路由报文);通过所述入接口转发所述反向报文。这里的下一跳设备是指反向报文往源服务器转发时(即面向源服务器)的下一跳。将所述指示字段的值修改为下一跳交换机应读取的值,可以是将所述指示字段的值减少一个设定的数值,例如,对应前面的加值分别减1,减3等。
B2、交换机为该第一报文选择一个新的出接口,该新的出接口与该故障的出接口方向相同,即该新的出接口与该故障的出接口都面向该原始报文的目的服务器。该交换机通过该新的出接口转发该第一报文。例如,交换机将所述第一报文的接口序列中的所述故障的出接口的信息修改为所述入接口的信息,并将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;通过所述重新选择的出接口转发所述修改后的第一报文。进一步地,交换机还可以生成故障通知消息,该故障通知消息用于通知第一设备该出接口的故障,以使第一设备更新所述目的接入交换机对应的源标签转发路径。这里的下一跳设备是指第一报文往目的服务器转发时的下一跳。将所述指示字段的值修改为下一跳交换机应读取的值,可以是将所述指示字段的值增加一个设定的数值,例如,加1,加3等。
C、该出接口的状态为拥塞,该交换机对该第一报文执行拥塞处理流程。
例如,在一个实施方式中,该交换机将该第一报文标记为拥塞报文并通过出接口转发。若由于出接口拥塞需要丢弃该第一报文,可将该第一报文的丢包信息反馈给第一设备,或者,该交换机生成独立的拥塞控制消息,并将该拥塞控制消息发送给第一设备。所述丢包信息可以包含出接口的拥塞状态,出接口的丢包统计信息,丢弃的报文内容等。所述的拥塞控制消息,可以包含出接口的拥塞状态,出接口的丢包统计等信息。
以上步骤体现了该交换机向目的服务器转发该第一报文的过程。在一个实施方 式中,源标签转发路径存在故障出接口,且该故障出接口所在的交换机向第一设备返回该第一报文的反向报文时,该交换机还可以接收其他交换机发送的该第一报文的反向报文并执行相应的处理。相应地,该方法还可以进一步包括步骤S450-S460。
在S450中,该交换机接收第二报文,该第二报文为该第一报文的反向报文。
该第二报文包括第二源标签,该第二源标签包括报文类型、接口序列、指示字段和故障字段,该报文类型指示该报文为该反向报文,则交换机需要检查该报文中的故障字段。所述指示字段指示从所述接口序列中应读取的出接口的信息,所述故障字段与所述接口序列结合指示所述源标签转发路径上的故障出接口。当该交换机是为原始报文添加源标签的交换机(即第一设备)时,该接口序列指示该原始报文的第一源标签转发路径,该交换机根据步骤S350的描述处理该第二报文。当该交换机不是为该原始报文添加源标签的交换机时,该交换机根据步骤S460处理该第二报文。
在步骤S460中,该交换机修改该第二报文,转发该修改后的第二报文。
该交换机确定该第二报文在该交换机上的入接口,以及根据该指示字段的值确定该接口序列中对应的出接口的信息,进而确定出接口。然后,该交换机将所述出接口的信息修改为所述入接口的信息,并将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第二报文,通过所述出接口转发所述修改后的第二报文。由于第二报文是第一报文的反向报文,本实施例中的下一跳设备是指第二报文往源服务器转发时的下一跳。将所述指示字段的值修改为下一跳交换机应读取的值,可以是将所述指示字段的值减少一个设定的数值,例如,对应前面的加值分别1,减3等。
通过图4所示的方法,交换机不仅可以在出接口正常的情况下,根据源标签将报文逐跳转发给目的服务器,还可以在出接口故障的情况下,将常报文修改为反向报文,使反向报文重新回到源服务器或源接入交换机。交换机还可以在出接口故障的情况下为报文重新选择正常的出接口,并通过新的出接口转发报文。通过图4所示的方法,可以避免在数据中心网络中传输报文的时候丢失报文。
基于图3和图4,本申请图1所示的数据中心网络可以抽象为包括第一设备和第二设备的网络,第一设备用于实现图3所示的方法及其各实现方式,第二设备用于实现图4所示的方法及其各实现方式。
本申请实施例图3和图4所示的方法结合,能够实现报文在数据中心网络的不同服务器间的转发,且能保证在故障场景下,避免报文丢失。如前所述,添加源标签的设备可以为源服务器或源接入交换机。
以下结合图5-图7,以图1中的服务器1向服务器2转发报文,服务器1添加源标签为例,说明图3和图4所示方法的实现过程。假设服务器1的MAC地址为11:11:11:11:11:11,IP地址为1.1.1.1,服务器2的MAC地址为22:22:22:22:22:22,IP地址为2.2.2.2。服务器1基于收集的网络拓扑计算出服务器1到服务器2之间的路径为图5中粗线标记的路径1,即:
服务器1->pod 1的T11(1)->pod 1的L11(5)->骨干集1的S1n(8)->pod k的Lk1(64)->pod k的Tkx(15)->服务器2…………路径1
其中,括号中的数字表示每个交换机在该路径上的出接口的标识。后续为了表述方便,将出接口的标识简称为出接口。
其中,根据前述本申请对转发路径的定义,服务器1根据路径1确定出的对应服务器2的转发路径为:服务器1->pod 1的T11(1)->pod 1的L11(5)->骨干集1的S1n(8)->pod k的Lk1(64)->pod k的Tkx(15),本申请实施例中源标签路径不包括服务器的出接口,因此,服务器1确定的源标签路径为:pod 1的T11(1)->pod 1的L11(5)->骨干集1的S1n(8)->pod k的Lk1(64)->pod k的Tkx(15)。本申请后续描述中,将原始报文用字母(A或B)标记,将基于该原始报文得到,且与该原始报文具有相同负荷的报文,以字母与其他标识的组合来标记。当服务器1向服务器2转发报文A时,服务器1基于图5所示的转发路径,为该报文A添加如图6A所示的源标签得到报文A1,报文A1的转发类型为0X8950,表示报文A1支持源标签转发。报文A1的接口序列包括5个接口字段,每个接口字段对应一个出接口。报文A1的跳数字段的值被设为5,接口字段6和接口字段7的值为空或其他任意填充的值。由于报文A1为正常报文,报文类型被置为0。ECN标记初始值为10或01,指示报文A1支持ECN机制。指示字段的值会随着报文A1的转发而被修改,根据设置,该指示字段的起始值可以是0、1或其他数字,此处的起始值设为0。交换机在转发报文时,会将该指示字段的值修改为下一跳交换机应读取的值。TTL可以根据需要设置,也可以不设置。当设置了TTL时,报文每被转发一次,TTL的值被减1,当TTL的值为零时,报文会被丢弃。为了确保不丢包,TTL值不应该设置过小。报文A1的故障字段设置为初始值(这里以0为例),表示此时源标签转发路径无故障。报文A1的转发模式为0,指示报文A1的接口序列中携带的是每跳交换机的出接口的标识。另外,该扩展头中的版本、组播特性和CoS等也可以根据需要设置,本申请不做限定。
服务器1生成包括图6A所示的源标签的报文A1后,向服务器1连接的ToR交换机T11发送报文A1。T11通过接口2从服务器1接收到报文A1后,发现报文A1的转发类型为0X8950,确认该报文A1支持为源标签转发。T11根据该源标签中的指示字段的值以及接口序列中出接口的信息确定报文A1在T11的出接口为接口1,T11获取接口1的状态,确认接口1正常时,将接口字段1的值修改为接口2(入接口),将指示字段的值修改为下一跳交换机L11应读取的值1,得到报文A2,报文A2的源标签如图6B所示。然后,T11通过接口1将报文A2转发给pod 1中的叶子交换机L11。
L11通过接口3接收报文A2,则L11将报文A2中的源标签修改为图6C所示的源标签(接口字段2的值修改为接口3,指示字段的值修改为2),得到报文A3后通过L11的接口5将报文A3发送给骨干集1中的S1n。
S1n通过接口4接收报文A3,则S1n将报文A3中的源标签修改为图6D所示的源标签(接口字段3的值修改为接口4,指示字段的修改为3),得到报文A4后通过S1n的接口8将报文A4发送给pod k中的Lk1。
Lk1通过接口16接收报文A4,则Lk1将报文A4中的源标签修改为图6E所示的源标签(接口字段4的值修改为接口16,指示字段的值修改为4),得到报文A5 后通过Lk1的接口64将报文A5发送给pod k中的ToR交换机Tkx。
Tkx通过接口30接收报文A5,则Tkx将报文A5中的源标签修改为图6F所示的源标签(接口字段5的值修改为接口30),得到报文A6后通过Tkx的接口15将报文A6发送给服务器2。服务器2接收到报文A6后,从A6中删除源标签得到原始报文A。进一步地,服务器2还可以存储A6的源标签中的接口序列,T11对应的源标签转发路径。例如,T11对应的该源标签转发路径的出接口为Tkx(30),Lk1(160),S1n(4),L11(3),T11(2)。
上述过程以接口序列所指示的每个接口的状态都正常为例说明报文A的转发过程。以下,以服务器1通过路径1发送报文B为例,说明本申请实施例提供的接口故障时转发报文的流程。当服务器1采用与图5和图6所示的方式转发报文B,则服务器1生成报文B1,报文B1到达T11,T11将报文B1修改为报文B2发送给L11,L11将报文B2修改为报文B3后发送给S1n,S1n将报文B3修改为报文B4后发送给Lk1。Lk1通过接口16接收报文B4,报文B4中包括图6D所示的源标签,Lk1根据该源标签确定出接口为接口64,并进一步获取接口64的状态,发现接口64故障,这种情况下,Lk1可以采用以下两种方式中的一种处理报文B4:
方式一、继续向服务器2发送报文B。在这种方式中,Lk1选择与接口64具有相同属性(面向目的服务器)的接口,例如,接口52(图中未示出),将报文B4中的源标签修改为图6E所示的源标签(接口字段4的值修改为接口16,指示字段的值修改为4),得到报文B5后通过Lk1的接口52将报文B5发送给pod k中的ToR交换机Tkx。这样,Lk1可以绕开故障的出接口64,保证报文的正常转发。进一步地,Lk1还可以向服务器1发送故障通知消息,通知Lk1的接口64发生了故障,以使服务器1在向服务器2发送后续报文时,避免选择包括出接口64的转发路径。
方式二、向服务器1发送报文B的重路由报文(反向报文),以使服务器1重新选择路径发送报文B。在这种方式中,Lk1修改报文B4,将图6D中的指示字段的值(3)写入故障字段,然后将指示字段的值修改为下一跳交换机S1n应读取的值(2),将报文类型的值设为1,并将报文B4的源MAC地址和目的MAC地址互换,得到修改后的报文B4’(即报文B4的反向报文),报文B4’的源标签如图7A所示。Lk1将报文B4’通过B4报文在Lk1设备的入接口16发送给S1n。
其中,转发类型为1表示报文B4’为重路由报文。本领域技术人员还可以用其他值来指示重路由报文。以上以Lk1为例说明交换机出接口故障时所执行的操作。其他交换机在出接口故障时的操作与Lk1类似。即,要么通过另一出接口转发报文,要么将接收到的报文通过原路径返回。
接收到反向报文的交换机也可以采用两种方式来处理该重路由报文。以下以骨干交换机S1n为例予以说明。S1n通过接口8接收到报文B4’后,根据其中的报文类型的值为1可以确定报文B4’为重路由报文,针对重路由报文B4’,S1n可以有以下两种处理方式。
方式一、向服务器1发送重路由报文(反向报文),以使服务器1重新选择路径发送报文B。在这种方式中,S1n接收到报文B4’后,确定报文B4’的入接口,即接口8,并将接口8写入指示字段对应的接口序列中的字段(即接口字段3)中, 然后将该指示字段的值修改为下一跳交换机L11应读取的值(1),得到报文B3’,报文B3’的源标签如图7B所示。S1n通过出接口4向L11转发报文B3’。
方式二、S1n选择S1n上与接口8具有相同属性的出接口,例如,出接口10,S1n将报文B4’中的报文类型的值修改为0,将报文B4’中的源MAC地址和目的MAC地址互换,将指示字段的值修改为下一跳交换机Lk1应读取的值(3)得到报文B4”,报文B4”的源标签如图7C所示。S1n通过重新选择的出接口10发送报文B4”,以继续向服务器2发送报文B。
在一个实施方式中,每个接收到重路由报文的交换机都采用上述方式一处理报文,则当报文B的重路由报文B1’到达服务器1时,服务器1接收的重路由报文B1’的源标签如图7D所示。服务器1根据报文B1’的报文类型为1,故障字段为3,可以确定接口字段4对应的出接口64故障。服务器1将报文B1’中的源MAC地址和目的MAC地址互换,根据该互换后的目的MAC地址确定一条新的转发路径,该新的转发路径不包括Lk1的出接口64。然后,服务器1根据该新的转发路径,重新为报文B1’添加图6A类似的新源标签得到报文B1”,报文B1”为正常报文,服务器1根据该新源标签转发报文B1”。由于报文B1”和报文B具有相同的负荷,发送报文B1”相当于再次发送报文B。因此,通过本申请提供的重路由机制,即使网络中出现了故障,也不会丢失报文。上述本申请提供的实施例中,分别从服务器和各个交换机的角度对本发明实施例提供的发送报文的方法进行了介绍。可以理解的是,本申请实施例中的服务器和交换机等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,本申请中所公开的实施例描述的各示例的功能和步骤,能够以硬件或硬件和计算机软件的结合等形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以下从不同角度对本申请服务器和交换机的结构予以说明。
本申请提供了一种发送报文的装置800。该装置800可以是图3中的第一设备,即服务器或接入交换机。该装置除了图8所示的组成部分外,还可以包括其他组成部分以实现更多功能。
如图8所示,该装置800包括获取单元810,处理单元820和通信单元830。获取单元810用于执行步骤S310及其各种实现方式。处理单元820用于执行步骤S320及其各种实现方式。通信单元830用于执行步骤S330及其各种实现方式。可选地,该通信单元830还用于执行步骤S340及其实现方式。处理单元820还用于执行步骤S350及其实现方式。可选地,获取单元810和通信单元830可以独立地实现各自的功能,或者在处理单元820的控制下执行相应的功能。
在一个实现方式中,获取单元810,用于获取原始报文;处理单元820,用于为所述原始报文添加第一源标签得到第一报文,所述第一源标签包括转发类型、指示字段以及接口序列,所述转发类型指示所述第一报文支持源标签转发,所述接口序列指示所述原始报文的第一源标签转发路径,所述指示字段指示从所述接口序列中应读取的出接口的信息;通信单元830,用于通过所述第一源标签转发路径对应的出接口发 送所述第一报文。
可选地,所述第一源标签还包括报文类型和故障字段,所述报文类型指示所述第一报文为正常报文;所述故障字段的值为默认值。
可选地,所述通信单元830还用于接收第二报文,所述第二报文包括第二源标签,所述第二源标签包括报文类型、接口序列和故障字段,所述报文类型指示所述第二报文为故障重路由报文,所述接口序列指示所述第一源标签转发路径,所述故障字段与所述接口序列结合指示所述第一源标签转发路径上的故障出接口;所述处理单元820还用于根据所述第二报文获取所述原始报文,确定所述原始报文的第二源标签转发路径,根据所述第二源标签转路径生成第三源标签,并根据所述原始报文和所述第三源标签生成第三报文;所述第二源标签转发路径不包括所述故障出接口;所述通信单元830还用于通过所述第二源标签转发路径对应的出接口发送所述第三报文。
可选地,当为所述原始报文添加第一源标签时,所述处理单元820用于:获取所述原始报文对应的目的接入交换机的信息;根据所述目的接入交换机的信息确定所述目的接入交换机对应的第一转发路径;根据所述第一转发路径以及第一规则确定所述第一源标签转发路径;根据所述第一源标签转发路径以及第二规则生成所述第一源标签;为所述原始报文添加所述第一源标签。
可选地,所述装置800为源接入交换机,所述第一转发路径为所述源接入交换机到所述目的接入交换机之间的转发路径,所述第一源标签转发路径为所述第一转发路径;所述获取单元810用于:接收源服务器发送的所述原始报文;所述处理单元820用于:确定接收所述原始报文的入接口,确定所述第一报文的指示字段指示的出接口;将所述第一报文的接口序列中的所述出接口的信息修改为所述入接口的信息,并将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;所述通信单元830用于:通过所述确定的出接口转发所述修改后的第一报文。
可选地,所述装置800为源接入交换机,所述第一转发路径为所述源接入交换机到所述目的接入交换机之间的转发路径,所述第一源标签转发路径不包括所述源接入交换机在所述第一转发路径上的出接口,所述获取单元810用于:接收源服务器发送的所述原始报文;所述通信单元830用于:通过所述源接入交换机在所述第一转发路径上的所述出接口转发所述第一报文。
可选地,所述装置800为源服务器,所述第一转发路径为所述源服务器到所述目的接入交换机之间的转发路径,所述第一源标签转发路径不包括所述源服务器在所述第一转发路径上的出接口,所述通信单元830用于:通过所述源服务器在所述第一转发路径上的所述出接口转发所述第一报文。
相应地,本申请还提供了另一种发送报文的装置900,用于处理接收的包括源标签的报文。该装置900可以是ToR交换机,叶子交换机或骨干交换机中的任意一个。如图9所示,该装置900包括第一通信单元910,处理单元920和第二通信单元930。第一通信单元910用于执行步骤S410及其各种实现方式。处理单元920用于执行步骤S420-S440及其各种实现方式。第二通信单元930可以用于接收报文或发送报文。可选 地,第一通信单元910和第二通信单元930可以独立地实现各自的功能,或者在处理单元920的控制下执行相应的功能。
在一个实现方式中,所述第一通信单元910,用于接收第一报文,所述第一报文是由原始报文添加第一源标签得到的,所述第一源标签包括转发类型、指示字段和接口序列,所述转发类型指示所述第一报文支持源标签转发,所述接口序列指示所述原始报文的源标签转发路径,所述指示字段指示从所述接口序列中应读取的出接口的信息;所述处理单元920,用于根据所述第一源标签发送所述第一报文。
可选地,当发送所述第一报文时,所述处理单元920用于:确定所述指示字段指示的出接口;获取所述出接口的状态;根据所述出接口的状态发送所述第一报文。
可选地,所述处理单元920用于:确定接收所述第一报文的入接口;当所述出接口的状态为正常时,将所述接口序列中的所述出接口的信息修改为所述入接口的信息,将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;通过所述出接口向所述下一跳交换机转发所述修改后的第一报文。
可选地,所述第一报文还包括源地址和目的地址,所述第一源标签还包括报文类型和故障字段,所述处理单元920用于:确定接收所述第一报文的入接口;当所述出接口的状态为故障时,将所述指示字段的值写入所述故障字段,然后将所述指示字段的值修改为下一跳交换机应读取的值,将所述报文类型修改为故障重路由,将所述第一报文的源地址和目的地址互换,得到所述第一报文的反向报文;通过所述入接口转发所述反向报文。
可选地,所述处理单元920用于:确定接收所述第一报文的入接口;当所述出接口的状态为故障时,确定与所述出接口具有相同方向的新的出接口;将所述接口序列中的所述故障出接口的信息修改为所述入接口的信息,并将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;通过所述新的出接口向所述下一跳交换机转发所述修改后的第一报文。
可选地,所述装置900为所述源标签转发路径的最后一跳交换机,所述处理单元920用于:确定接收所述第一报文的入接口;当所述出接口的状态为正常时,将所述接口序列中的所述出接口的信息修改为所述入接口的信息,得到修改后的第一报文;通过所述出接口向所述原始报文的目的服务器转发所述修改后的第一报文。
可选地,所述装置900为所述源标签转发路径的最后一跳交换机,所述处理单元920用于:当所述出接口的状态为正常时,从所述第一报文中删除所述第一源标签得到所述原始报文;通过所述出接口向所述原始报文的目标服务器发送所述原始报文。
可选地,其特征在于,所述第一源标签还包括转发模式,所述转发模式指示确定出接口的方式,当所述转发模式为直接转发时,所述接口序列中的信息为出接口的标识,所述处理单元920用于:从所述接口序列中获取所述指示字段对应的出接口的标识,根据所述出接口的标识确定所述指示字段指示的出接口;当所述转发模式为查表转发时,所述接口序列中的信息为出接口的索引,所述处理单元920用于:从所述接口序列中获取所述指示字段对应的出接口的索引,根据所述索引查找映射表获取所述出接口的标识,根据所述出接口的标识确定所述指示字段指示的出接 口。
可选地,所述第二通信单元930用于:接收第二报文,所述第二报文为所述第一报文的反向报文,所述第二报文包括第二源标签,所述第二源标签包括接口序列、指示字段和故障字段,所述指示字段指示从所述接口序列应读取的出接口的信息,所述故障字段与所述接口序列结合指示所述源标签转发路径上的故障出接口;所述处理单元920还用于:确定接收所述第二报文的入接口;确定所述指示字段指示的出接口;将所述接口序列中所述出接口的信息修改为所述入接口的信息,将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第二报文;通过所述确定的出接口向所述下一跳交换机转发所述修改后的第二报文。
本申请还另外提供了一种发送报文的装置1000,该装置1000可以是图1中任意的服务器或交换机。如图10所示,装置1000可以包括处理器1010、存储器1020和总线系统1030。其中,处理器1010和存储器1020通过总线系统1030相连,该存储器1020用于存储程序代码,该处理器1010用于执行该存储器1020存储的程序代码。例如,处理器1010可以调用存储器1020中存储的程序代码执行本申请各实施例中由服务器或交换机执行的发送报文的方法。
在本申请实施例中,该处理器1010可以是中央处理单元(CPU),该处理器1010还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该处理器1010可以包括一个或多个处理核心。
该存储器1020可以包括只读存储器(ROM)设备或者随机存取存储器(RAM)设备。任何其他适宜类型的存储设备也可以用作存储器1020。存储器1020可以包括由处理器1010通过总线1030访问的数据1022。存储器1020可以进一步包括操作系统1023,以支持所述装置1000的运营。
该总线系统1030除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1030。
可选的,装置1000还可以包括一个或多个输出设备,诸如通信接口1040。装置1000可以通过通信接口1040与其他设备通信。通信接口1040可以经由总线系统1030连接到处理器1010。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以硬件产品或软件产品的形式体现出来。该硬件产品可以是专用芯片。该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (34)

  1. 一种发送报文的方法,包括:
    获取原始报文;
    为所述原始报文添加第一源标签得到第一报文,所述第一源标签包括转发类型、指示字段以及接口序列,所述转发类型指示所述第一报文支持源标签转发,所述接口序列指示所述原始报文的第一源标签转发路径,所述指示字段指示从所述接口序列中应读取的出接口的信息;
    通过所述第一源标签转发路径对应的出接口发送所述第一报文。
  2. 根据权利要求1所述的方法,其特征在于,所述第一源标签还包括报文类型和故障字段,所述报文类型指示所述第一报文为正常报文;所述故障字段的值为默认值。
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    接收第二报文,所述第二报文包括第二源标签,所述第二源标签包括报文类型,接口序列和故障字段,所述报文类型指示所述第二报文为故障重路由报文,所述接口序列指示所述第一源标签转发路径,所述故障字段与所述接口序列结合指示所述第一源标签转发路径上的故障出接口;
    根据所述第二报文获取所述原始报文,确定所述原始报文的第二源标签转发路径,所述第二源标签转发路径不包括所述故障出接口;
    根据所述第二源标签转路径生成第三源标签,并根据所述原始报文和所述第三源标签生成第三报文;
    通过所述第二源标签转发路径对应的出接口发送所述第三报文。
  4. 根据权利要求1-3中任意一项所述的方法,其特征在于,所述为所述原始报文添加第一源标签包括:
    获取所述原始报文对应的目的接入交换机的信息;
    根据所述目的接入交换机的信息确定所述目的接入交换机对应的第一转发路径;
    根据所述第一转发路径以及第一规则确定所述第一源标签转发路径;
    根据所述第一源标签转发路径以及第二规则生成所述第一源标签;
    为所述原始报文添加所述第一源标签。
  5. 根据权利要求4所述的方法,其特征在于,所述方法由源接入交换机执行,所述第一转发路径为所述源接入交换机到所述目的接入交换机之间的转发路径,所述第一源标签转发路径为所述第一转发路径;
    所述获取原始报文包括:所述源接入交换机接收源服务器发送的所述原始报文;
    所述通过所述第一源标签转发路径对应的出接口发送所述第一报文包括:所述源接入交换机确定接收所述原始报文的入接口,确定所述第一报文的指示字段指示的出接口;将所述第一报文的接口序列中的所述出接口的信息修改为所述入接口的信息,并将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;通过所述确定的出接口转发所述修改后的第一报文。
  6. 根据权利要求4所述的方法,其特征在于,所述方法由源接入交换机执行,所 述第一转发路径为所述源接入交换机到所述目的接入交换机之间的转发路径,所述第一源标签转发路径不包括所述源接入交换机在所述第一转发路径上的出接口,
    所述获取原始报文包括:所述源接入交换机接收源服务器发送的所述原始报文;
    所述通过所述第一源标签转发路径对应的出接口发送所述第一报文包括:所述源接入交换机通过所述源接入交换机在所述第一转发路径上的所述出接口转发所述第一报文。
  7. 根据权利要求4所述的方法,其特征在于,所述方法由源服务器执行,所述第一转发路径为所述源服务器到所述目的接入交换机之间的转发路径,所述第一源标签转发路径不包括所述源服务器在所述第一转发路径上的出接口,
    所述获取原始报文包括:所述源服务器获取所述原始报文;
    所述通过所述第一源标签转发路径对应的出接口发送所述第一报文包括:通过所述源服务器在所述第一转发路径上的所述出接口转发所述第一报文。
  8. 一种发送报文的方法,其特征在于,包括:
    接收第一报文,所述第一报文是由原始报文添加第一源标签得到的,所述第一源标签包括转发类型、指示字段和接口序列,所述转发类型指示所述第一报文支持源标签转发,所述接口序列指示所述原始报文的源标签转发路径,所述指示字段指示从所述接口序列中应读取的出接口的信息;
    根据所述第一源标签发送所述第一报文。
  9. 根据权利要求8所述的方法,其特征在于,所述根据所述第一源标签发送所述第一报文包括:
    确定所述指示字段指示的出接口;
    获取所述出接口的状态;
    根据所述出接口的状态发送所述第一报文。
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括确定接收所述第一报文的入接口;
    所述根据所述出接口的状态发送所述第一报文包括:
    当所述出接口的状态为正常时,将所述接口序列中的所述出接口的信息修改为所述入接口的信息,将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;
    通过所述出接口向所述下一跳交换机转发所述修改后的第一报文。
  11. 根据权利要求9所述的方法,其特征在于,所述第一报文还包括源地址和目的地址,所述第一源标签还包括报文类型和故障字段;所述方法还包括确定接收所述第一报文的入接口;
    所述根据所述出接口的状态发送所述第一报文包括:
    当所述出接口的状态为故障时,将所述指示字段的值写入所述故障字段,然后将所述指示字段的值修改为下一跳交换机应读取的值,将所述报文类型修改为故障重路由,将所述第一报文的源地址和目的地址互换,得到所述第一报文的反向报文;
    通过所述入接口转发所述反向报文。
  12. 根据权利要求9所述的方法,其特征在于,所述方法还包括确定接收所述第一报文的入接口;
    所述根据所述出接口的状态发送所述第一报文包括:
    当所述出接口的状态为故障时,确定与所述出接口具有相同方向的新的出接口;
    将所述接口序列中的所述故障出接口的信息修改为所述入接口的信息,并将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;
    通过所述新的出接口向所述下一跳交换机转发所述修改后的第一报文。
  13. 根据权利要求9所述的方法,其特征在于,所述方法还包括确定接收所述第一报文的入接口;
    所述根据所述出接口的状态发送所述第一报文包括:
    当所述出接口的状态为正常时,将所述接口序列中的所述出接口的信息修改为所述入接口的信息,得到修改后的第一报文;
    通过所述出接口向所述原始报文的目的服务器转发所述修改后的第一报文。
  14. 根据权利要求9所述的方法,其特征在于,所述根据所述出接口的状态发送所述第一报文包括:
    当所述出接口的状态为正常时,从所述第一报文中删除所述第一源标签得到所述原始报文;
    通过所述出接口向所述原始报文的目标服务器发送所述原始报文。
  15. 根据权利要求9-14中任意一项所述的方法,其特征在于,所述第一源标签还包括转发模式,所述转发模式指示确定出接口的方式,
    当所述转发模式为直接转发时,所述接口序列中的信息为出接口的标识,所述确定所述指示字段指示的出接口包括:从所述接口序列中获取所述指示字段对应的出接口的标识,根据所述出接口的标识确定所述指示字段指示的出接口;
    当所述转发模式为查表转发时,所述接口序列中的信息为出接口的索引,所述确定所述指示字段指示的出接口包括:从所述接口序列中获取所述指示字段对应的出接口的索引,根据所述索引查找映射表获取所述出接口的标识,根据所述出接口的标识确定所述指示字段指示的出接口。
  16. 根据权利要求8或9所述的方法,其特征在于,还包括:
    接收第二报文,所述第二报文为所述第一报文的反向报文,所述第二报文包括第二源标签,所述第二源标签包括接口序列、指示字段和故障字段,所述指示字段指示从所述接口序列应读取的出接口的信息,所述故障字段与所述接口序列结合指示所述源标签转发路径上的故障出接口;
    确定接收所述第二报文的入接口;
    确定所述指示字段指示的出接口;
    将所述接口序列中所述出接口的信息修改为所述入接口的信息,将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第二报文;
    通过所述确定的出接口向所述下一跳交换机转发所述修改后的第二报文。
  17. 一种发送报文的装置,其特征在于,包括:
    获取单元,用于获取原始报文;
    处理单元,用于为所述原始报文添加第一源标签得到第一报文,所述第一源标签包括转发类型、指示字段以及接口序列,所述转发类型指示所述第一报文支持源标签转发,所述接口序列指示所述原始报文的第一源标签转发路径,所述指示字段指示从所述接口序列中应读取的出接口的信息;
    通信单元,用于通过所述第一源标签转发路径对应的出接口发送所述第一报文。
  18. 根据权利要求17所述的装置,其特征在于,所述第一源标签还包括报文类型和故障字段,所述报文类型指示所述第一报文为正常报文;所述故障字段的值为默认值。
  19. 根据权利要求18所述的装置,其特征在于:
    所述通信单元还用于接收第二报文,所述第二报文包括第二源标签,所述第二源标签包括报文类型、接口序列和故障字段,所述报文类型指示所述第二报文为故障重路由报文,所述接口序列指示所述第一源标签转发路径,所述故障字段与所述接口序列结合指示所述第一源标签转发路径上的故障出接口;
    所述处理单元还用于根据所述第二报文获取所述原始报文,确定所述原始报文的第二源标签转发路径,根据所述第二源标签转路径生成第三源标签,并根据所述原始报文和所述第三源标签生成第三报文;所述第二源标签转发路径不包括所述故障出接口;
    所述通信单元还用于通过所述第二源标签转发路径对应的出接口发送所述第三报文。
  20. 根据权利要求17-19中任意一项所述的装置,其特征在于,当为所述原始报文添加第一源标签时,所述处理单元用于:
    获取所述原始报文对应的目的接入交换机的信息;
    根据所述目的接入交换机的信息确定所述目的接入交换机对应的第一转发路径;
    根据所述第一转发路径以及第一规则确定所述第一源标签转发路径;
    根据所述第一源标签转发路径以及第二规则生成所述第一源标签;
    为所述原始报文添加所述第一源标签。
  21. 根据权利要求20所述的装置,其特征在于,所述装置为源接入交换机,所述第一转发路径为所述源接入交换机到所述目的接入交换机之间的转发路径,所述第一源标签转发路径为所述第一转发路径;
    所述获取单元用于:接收源服务器发送的所述原始报文;
    所述处理单元用于:确定接收所述原始报文的入接口,确定所述第一报文的指示字段指示的出接口;将所述第一报文的接口序列中的所述出接口的信息修改为所述入接口的信息,并将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;
    所述通信单元用于:通过所述确定的出接口转发所述修改后的第一报文。
  22. 根据权利要求20所述的装置,其特征在于,所述装置为源接入交换机,所 述第一转发路径为所述源接入交换机到所述目的接入交换机之间的转发路径,所述第一源标签转发路径不包括所述源接入交换机在所述第一转发路径上的出接口,
    所述获取单元用于:接收源服务器发送的所述原始报文;
    所述通信单元用于:通过所述源接入交换机在所述第一转发路径上的所述出接口转发所述第一报文。
  23. 根据权利要求20所述的装置,其特征在于,所述装置为源服务器,所述第一转发路径为所述源服务器到所述目的接入交换机之间的转发路径,所述第一源标签转发路径不包括所述源服务器在所述第一转发路径上的出接口,
    所述通信单元用于:通过所述源服务器在所述第一转发路径上的所述出接口转发所述第一报文。
  24. 一种发送报文的装置,其特征在于,包括第一通信单元和处理单元:
    所述第一通信单元,用于接收第一报文,所述第一报文是由原始报文添加第一源标签得到的,所述第一源标签包括转发类型、指示字段和接口序列,所述转发类型指示所述第一报文支持源标签转发,所述接口序列指示所述原始报文的源标签转发路径,所述指示字段指示从所述接口序列中应读取的出接口的信息;
    所述处理单元,用于根据所述第一源标签发送所述第一报文。
  25. 根据权利要求24所述的装置,其特征在于,当发送所述第一报文时,所述处理单元用于:
    确定所述指示字段指示的出接口;
    获取所述出接口的状态;
    根据所述出接口的状态发送所述第一报文。
  26. 根据权利要求25所述的装置,其特征在于,所述处理单元用于:
    确定接收所述第一报文的入接口;
    当所述出接口的状态为正常时,将所述接口序列中的所述出接口的信息修改为所述入接口的信息,将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;
    通过所述出接口向所述下一跳交换机转发所述修改后的第一报文。
  27. 根据权利要求25所述的装置,其特征在于,所述第一报文还包括源地址和目的地址,所述第一源标签还包括报文类型和故障字段,所述处理单元用于:
    确定接收所述第一报文的入接口;
    当所述出接口的状态为故障时,将所述指示字段的值写入所述故障字段,然后将所述指示字段的值修改为下一跳交换机应读取的值,将所述报文类型修改为故障重路由,将所述第一报文的源地址和目的地址互换,得到所述第一报文的反向报文;
    通过所述入接口转发所述反向报文。
  28. 根据权利要求25所述的装置,其特征在于,所述处理单元用于:
    确定接收所述第一报文的入接口;
    当所述出接口的状态为故障时,确定与所述出接口具有相同方向的新的出接口;
    将所述接口序列中的所述故障出接口的信息修改为所述入接口的信息,并将所 述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第一报文;
    通过所述新的出接口向所述下一跳交换机转发所述修改后的第一报文。
  29. 根据权利要求25所述的装置,其特征在于,所述装置为所述源标签转发路径的最后一跳交换机,所述处理单元用于:
    确定接收所述第一报文的入接口;
    当所述出接口的状态为正常时,将所述接口序列中的所述出接口的信息修改为所述入接口的信息,得到修改后的第一报文;
    通过所述出接口向所述原始报文的目的服务器转发所述修改后的第一报文。
  30. 根据权利要求25所述的装置,其特征在于,所述装置为所述源标签转发路径的最后一跳交换机,所述处理单元用于:
    当所述出接口的状态为正常时,从所述第一报文中删除所述第一源标签得到所述原始报文;
    通过所述出接口向所述原始报文的目标服务器发送所述原始报文。
  31. 根据权利要求25-30中任意一项所述的装置,其特征在于,所述第一源标签还包括转发模式,所述转发模式指示确定出接口的方式,
    当所述转发模式为直接转发时,所述接口序列中的信息为出接口的标识,所述处理单元用于:从所述接口序列中获取所述指示字段对应的出接口的标识,根据所述出接口的标识确定所述指示字段指示的出接口;
    当所述转发模式为查表转发时,所述接口序列中的信息为出接口的索引,所述处理单元用于:从所述接口序列中获取所述指示字段对应的出接口的索引,根据所述索引查找映射表获取所述出接口的标识,根据所述出接口的标识确定所述指示字段指示的出接口。
  32. 根据权利要求24或25所述的装置,其特征在于,还包括第二通信单元,
    所述第二通信单元用于:接收第二报文,所述第二报文为所述第一报文的反向报文,所述第二报文包括第二源标签,所述第二源标签包括接口序列、指示字段和故障字段,所述指示字段指示从所述接口序列应读取的出接口的信息,所述故障字段与所述接口序列结合指示所述源标签转发路径上的故障出接口;
    所述处理单元还用于:确定接收所述第二报文的入接口;确定所述指示字段指示的出接口;将所述接口序列中所述出接口的信息修改为所述入接口的信息,将所述指示字段的值修改为下一跳交换机应读取的值,得到修改后的第二报文;通过所述确定的出接口向所述下一跳交换机转发所述修改后的第二报文。
  33. 一种数据中心网络,其特征在于,包括第一设备和第二设备,所述第一设备为权利要求17-23中任意一项所述的装置,所述第二设备为权利要求24-32中任意一项所述的装置。
  34. 一种存储介质,其特征在于,所述存储介质存储有程序代码,当所述程序代码在计算机上运行时,使所述计算机执行权利要求1-16中任意一项所述的方法。
PCT/CN2020/097271 2019-06-29 2020-06-20 一种在数据中心网络中转发报文的方法及相关装置 WO2021000752A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20834222.0A EP3968581A4 (en) 2019-06-29 2020-06-20 METHOD AND RELATED DEVICE FOR ROUTING PACKETS IN A DATA CENTER NETWORK
US17/563,210 US20220124025A1 (en) 2019-06-29 2021-12-28 Method for forwarding packet in data center network and related apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910582515.X 2019-06-29
CN201910582515.XA CN112152924A (zh) 2019-06-29 2019-06-29 一种在数据中心网络中转发报文的方法及相关装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/563,210 Continuation US20220124025A1 (en) 2019-06-29 2021-12-28 Method for forwarding packet in data center network and related apparatus

Publications (1)

Publication Number Publication Date
WO2021000752A1 true WO2021000752A1 (zh) 2021-01-07

Family

ID=73892132

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/097271 WO2021000752A1 (zh) 2019-06-29 2020-06-20 一种在数据中心网络中转发报文的方法及相关装置

Country Status (4)

Country Link
US (1) US20220124025A1 (zh)
EP (1) EP3968581A4 (zh)
CN (1) CN112152924A (zh)
WO (1) WO2021000752A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11632316B2 (en) * 2020-12-22 2023-04-18 Hewlett Packard Enterprise Development Lp Method and system for reporting unavailability in a label-switched path
CN112804154A (zh) * 2021-01-04 2021-05-14 北京金山云网络技术有限公司 报文处理方法、装置、电子设备及介质
CN112929298A (zh) * 2021-01-29 2021-06-08 紫光云技术有限公司 一种集中式网关访问共享卷的方法
CN115225452A (zh) * 2021-04-19 2022-10-21 华为技术有限公司 转发路径的故障感知方法、装置及系统
US11784916B2 (en) * 2021-07-23 2023-10-10 EMC IP Holding Company LLC Intelligent control plane communication
CN114500690B (zh) * 2022-02-15 2023-08-18 平安科技(深圳)有限公司 接口数据处理方法、装置、电子设备及存储介质
CN115065735A (zh) * 2022-03-08 2022-09-16 阿里巴巴(中国)有限公司 报文处理方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282028A (zh) * 2014-06-05 2016-01-27 中兴通讯股份有限公司 一种报文传输方法、节点及路径管理服务器
US20160057004A1 (en) * 2014-08-21 2016-02-25 Caterpillar Inc. Systems and methods for machine-to-machine ad-hoc communication
CN106656781A (zh) * 2015-11-02 2017-05-10 中兴通讯股份有限公司 一种报文传输的方法、装置和系统
EP3334105A1 (en) * 2016-12-07 2018-06-13 Alcatel Lucent Embedding of context information in networking packets

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7471669B1 (en) * 2004-09-30 2008-12-30 Nortel Networks Limited Routing of protocol data units within a communication network
CN101557347B (zh) * 2009-05-20 2011-12-21 华为技术有限公司 在快速重路由切换中标签转发路径建立方法、装置和系统
US20160099859A1 (en) * 2014-10-06 2016-04-07 Futurewei Technologies, Inc. Reverse Path Validation for Source Routed Networks
US9871726B2 (en) * 2015-03-31 2018-01-16 Juniper Networks, Inc. Semantic information for labels in border gateway protocol
US10509764B1 (en) * 2015-06-19 2019-12-17 Amazon Technologies, Inc. Flexible remote direct memory access
CN112087386B (zh) * 2015-09-22 2024-01-02 华为技术有限公司 一种报文处理的方法、设备和系统
CN105704021B (zh) * 2016-01-22 2019-04-12 中国人民解放军国防科学技术大学 一种基于弹性标签的重路由方法
CN107872388A (zh) * 2016-09-26 2018-04-03 中国电信股份有限公司 用于实现报文转发的方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282028A (zh) * 2014-06-05 2016-01-27 中兴通讯股份有限公司 一种报文传输方法、节点及路径管理服务器
US20160057004A1 (en) * 2014-08-21 2016-02-25 Caterpillar Inc. Systems and methods for machine-to-machine ad-hoc communication
CN106656781A (zh) * 2015-11-02 2017-05-10 中兴通讯股份有限公司 一种报文传输的方法、装置和系统
EP3334105A1 (en) * 2016-12-07 2018-06-13 Alcatel Lucent Embedding of context information in networking packets

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PRANATA ALIF AKBAR; JUN TAE SOO; KIM DONG SEONG: "Overhead reduction scheme for SDN-based Data Center Networks", COMPUTER STANDARDS & INTERFACES, vol. 63, 31 March 2019 (2019-03-31), pages 1 - 15, XP085568855, ISSN: 0920-5489, DOI: 10.1016/j.csi.2018.11.001 *
See also references of EP3968581A4

Also Published As

Publication number Publication date
CN112152924A (zh) 2020-12-29
EP3968581A1 (en) 2022-03-16
EP3968581A4 (en) 2022-06-22
US20220124025A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
WO2021000752A1 (zh) 一种在数据中心网络中转发报文的方法及相关装置
WO2021169258A1 (zh) 转发报文的方法、发布路由信息的方法、装置及系统
US8107482B2 (en) Multipath discovery in switched ethernet networks
WO2021164249A1 (zh) 一种发送报文的方法、设备及系统
WO2020156090A1 (zh) 一种建立跨域转发路径的方法、装置及系统
CN112868214B (zh) 分组内的协调负载转移oam记录
WO2020173198A1 (zh) 一种报文的处理方法、报文转发装置以及报文处理装置
EP4106274A1 (en) Forwarding path establishment method and apparatus, and computer-readable storage medium
WO2021143279A1 (zh) 段路由业务处理方法和装置、路由设备及存储介质
WO2021139216A1 (zh) 一种流量传输的方法、节点和系统
WO2022127698A1 (zh) 拥塞控制方法及网络设备
WO2022121707A1 (zh) 报文传输方法、设备及系统
WO2022057810A1 (zh) 业务报文的转发方法、sr策略的发送方法、设备及系统
WO2022007550A1 (zh) 一种负载均衡方法、装置、网络设备及系统
EP4325800A1 (en) Packet forwarding method and apparatus
EP4325777A1 (en) Method and device for electing designated forwarder (df)
CN116094987A (zh) 转发路径的确定方法及装置
EP3905613A1 (en) Method for sending and obtaining assert message and network node
CN115208829A (zh) 报文处理的方法及网络设备
JP7273130B2 (ja) 通信方法および装置
US11876680B2 (en) Method and apparatus for determining link for forwarding service flow
WO2023231438A1 (zh) 报文发送的方法、网络设备及系统
WO2022257854A1 (zh) 一种报文发布方法、转发路径处理方法及装置
WO2023138351A1 (zh) 一种流量转发方法、报文发送方法、消息发送方法及装置
WO2022116615A1 (zh) 报文传输的方法、获取对应关系的方法、装置及系统

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020834222

Country of ref document: EP

Effective date: 20211208

NENP Non-entry into the national phase

Ref country code: DE