CN109194581B - Message processing method and device - Google Patents

Message processing method and device Download PDF

Info

Publication number
CN109194581B
CN109194581B CN201810973100.0A CN201810973100A CN109194581B CN 109194581 B CN109194581 B CN 109194581B CN 201810973100 A CN201810973100 A CN 201810973100A CN 109194581 B CN109194581 B CN 109194581B
Authority
CN
China
Prior art keywords
int
message
flow path
identifier
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810973100.0A
Other languages
Chinese (zh)
Other versions
CN109194581A (en
Inventor
宋小恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201810973100.0A priority Critical patent/CN109194581B/en
Publication of CN109194581A publication Critical patent/CN109194581A/en
Application granted granted Critical
Publication of CN109194581B publication Critical patent/CN109194581B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Abstract

The present disclosure relates to a method and a device for processing a message, wherein the method comprises the following steps: when a data message is received, inquiring a flow path table entry corresponding to the data message in locally stored flow path table information according to a source address and a destination address of the data message and an identifier of the switching equipment; and constructing the data message into an INT message, inserting a path identifier in a hit flow path table entry into an INT head of the INT message, setting a forwarding queue flag bit in the INT head, and forwarding the INT message through a forwarding queue identified by a queue identifier in the hit flow path table entry. Therefore, the switching equipment forwards the received message according to the forwarding queue identified by the queue identification in the hit flow path table entry without selecting one forwarding queue from the plurality of forwarding queues corresponding to the output port, thereby improving the transmission efficiency of the message.

Description

Message processing method and device
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a method and an apparatus for processing a packet.
Background
Software Defined Networking (SDN) is a new Network innovation architecture that implements flexible control of Network traffic by separating the control plane and forwarding plane of Network devices. In-band Network Telemetry (INT) is a Network collection technique that can collect and report the status of a Network on the data plane of a Network device without the involvement of the control plane of the Network device.
The INT architecture model comprises an INT head node (INT Source), an INT transit Hop node (INT transit Hop) and an INT tail node (INT Sink). The INT head node is also called an INT source device, which converts a data message into an INT message by adding an INT header to the data message. The INT transit node is also called an INT intermediate device, and the INT intermediate device adds specified information in an INT message (or at the end). The INT tail node is also called INT destination equipment, and the INT destination equipment strips an INT head of an INT message to convert the INT message into a data message and forwards the converted data message to the network equipment hung below the INT destination equipment.
In the related art, each INT device needs to select a forwarding queue first and then forward a packet through the selected forwarding queue, so that the transmission efficiency of the packet is low.
Disclosure of Invention
In view of this, the present disclosure provides a message processing method and device.
According to an aspect of the present disclosure, a method for processing a packet is provided, where the method is applied to a switching device, and the method includes:
when a data message is received, according to a source address and a destination address of the data message and an identifier of the switching device, a flow path table entry corresponding to the data message is inquired in locally stored flow path table information, wherein the flow path table information comprises: the method comprises the steps that a source address of a message to be forwarded, a destination address of the message to be forwarded, a path identifier, an identifier of an in-band network telemetry (INT) device included in a flow path identified by the path identifier, and a queue identifier of a forwarding queue of the message to be forwarded, wherein the queue identifier corresponds to the INT device;
and constructing the data message into an INT message, inserting a path identifier in a hit flow path table entry into an INT head of the INT message, setting a forwarding queue flag bit in the INT head, and forwarding the INT message through a forwarding queue identified by a queue identifier in the hit flow path table entry.
According to another aspect of the present disclosure, a packet processing method is provided, which is applied to a software defined network SDN controller, and the method includes:
receiving an in-band network telemetry (INT) metadata stack sent by a switching device, wherein the INT metadata stack comprises a path identifier, an identifier of an INT device included in a flow path identified by the path identifier, a queue identifier of a forwarding queue, an ingress port of an INT flow path creation message, and an egress port of the INT flow path creation message, and the switching device forwards a message to be forwarded through the forwarding queue identified by the queue identifier of the forwarding queue;
generating flow path table information according to the INT metadata stack, wherein the flow path table information comprises a source address of the message to be forwarded, a destination address of the message to be forwarded, the path identifier, an identifier of the INT device, the queue identifier, the ingress port and the egress port;
and sending the stream path table information to the switching equipment.
According to another aspect of the present disclosure, there is provided a packet processing apparatus, including:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to:
and executing the message processing method.
The technical scheme provided by the embodiment of the invention can have the following beneficial effects: when a data message is received, a flow path table entry corresponding to the data message is inquired in the flow path table information stored locally according to the data message, and the message is forwarded according to a forwarding queue identified by a queue identifier in a hit flow path table entry, so that the switching equipment forwards the received message according to the forwarding queue identified by the queue identifier in the hit flow path table entry without selecting one forwarding queue from a plurality of forwarding queues corresponding to an output port, and the transmission efficiency of the message is improved.
Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
Fig. 1 is a flow chart illustrating a message processing method according to an example embodiment.
FIG. 2 illustrates an INT header of an embodiment of the present invention.
Fig. 3 is a schematic diagram of an SDN network according to an embodiment of the present invention.
Fig. 4 is a flow chart illustrating a method of message processing according to an example embodiment.
Fig. 5 is a block diagram illustrating a hardware configuration of a message processing apparatus according to an example embodiment.
Detailed Description
Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers can indicate functionally identical or similar elements. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a better understanding of the present disclosure. It will be understood by those skilled in the art that the present disclosure may be practiced without some of these specific details. In some instances, methods, means, elements and circuits that are well known to those skilled in the art have not been described in detail so as not to obscure the present disclosure.
Example one
In the related art, when the switch device receives a packet, the switch device performs a route lookup to determine which egress port of the switch device to forward the packet. However, since each egress port corresponds to multiple forwarding queues, the switching device needs to select one forwarding queue from the multiple forwarding queues corresponding to the egress port. After the switching equipment selects the forwarding queue, the switching equipment forwards the message through the selected forwarding queue. Therefore, each switching device of all switching devices that forward the packet needs to select one forwarding queue from the multiple forwarding queues corresponding to its own egress port, so that the transmission efficiency of the packet is low.
According to the technical scheme of the embodiment of the invention, switching equipment stores flow path table information in advance, and the flow path table information comprises the following components: therefore, when the message is received, the switching device can query a flow path table corresponding to the message in the pre-stored flow path table information according to the message, and forward the message according to the forwarding queue identified by the queue identification in the hit flow path table entry, so that the switching device forwards the received message according to the forwarding queue identified by the queue identification in the hit flow path table entry, without selecting one forwarding queue from a plurality of forwarding queues corresponding to the egress port, thereby improving the transmission efficiency of the message.
The embodiments of the present invention will be explained below with reference to the drawings attached to the specification.
Fig. 1 is a flow chart illustrating a message processing method according to an example embodiment. The message processing method may be applied to a switching device (the switching device in the present disclosure may be a switch or a router, or may be a network device having both routing and switching functions), for example, an INT device in an SDN network. As shown in fig. 1, the message processing method may include the following steps.
In step S110, when a data packet is received, according to a source address and a destination address of the data packet and an identifier of the switching device, a flow path table entry corresponding to the data packet is queried in locally stored flow path table information, where the flow path table information includes: the method comprises the steps of sending a message to be forwarded to a network node, wherein the message to be forwarded comprises the source address of the message to be forwarded, the destination address of the message to be forwarded, a path identifier, an identifier of an in-band network telemetry (INT) device included in a flow path identified by the path identifier, and a queue identifier of a forwarding queue of the message to be forwarded, which corresponds to the INT device.
The INT device has different roles including an INT source device, an INT intermediate device and an INT destination device. The message types received by the INT device comprise a data message and an INT message. Specifically, the INT device may receive a data packet from a network device on which the INT device is suspended, or may receive an INT packet from another INT device. The network device hung down by the INT device is, for example, a virtual machine or a service server hung down by the INT device. The other INT device is any other INT device in the SDN network except the INT device itself.
In one embodiment, the INT device may determine its own role according to the following: determining whether the received message is an INT source device according to the data message or the INT message; and when the received message is a data message, the INT device determines that the role of the INT device is the INT source device. When the received message is an INT message, the INT device further determines whether the role of the INT device is an INT intermediate device or an INT destination device according to whether the tunnel destination IP address of the INT message is the same as the IP address of the INT device. Specifically, when the tunnel destination IP address of the INT message is different from the IP address of the INT message, the INT device determines that the role of the INT device is an INT intermediate device; and when the tunnel destination IP address of the INT message is the same as the IP address of the INT message, the INT device determines that the role of the INT device is the INT destination device.
In the embodiment of the present invention, the switching device locally pre-stores stream path table information, where the stream path table information includes a plurality of stream path table entries, and each stream path table entry describes a stream path of a packet to be forwarded. Each flow path comprises a source address and a destination address of a message to be forwarded, a path identifier of the flow path, an identifier of INT equipment in the flow path, and a queue identifier of a forwarding queue corresponding to each INT equipment. The starting device of the flow path can be determined according to the source address of the message to be forwarded, the ending device of the flow path can be determined according to the destination address of the message to be forwarded, the INT device through which the message to be forwarded passes can be determined according to the identification of the INT device in the flow path, and which forwarding queue is used by the INT device to forward the message to be forwarded can be determined according to the queue identification.
Therefore, when the switching device receives the data packet, the switching device queries the flow path table entry corresponding to the data packet in the pre-stored flow path table information according to the source address and the destination address of the data packet and the identifier of the switching device itself. Since the switching device receives the data packet, the switching device can determine that the switching device is an INT source device, and further determine that the switching device is an initial device of the stream path. Therefore, the switching device can query the flow path table entry which has the same source address as that of the data message, the same destination address as that of the data message and the same identification of the starting device of the flow path as that of the switching device in the pre-stored flow path table information.
In other words, the switching device may use the flow path table entry, in the flow path table information, whose source address is the same as the source address of the data packet, whose destination address is the same as the destination address of the data packet, and whose identification of the starting device of the flow path is the same as that of the switching device, as the hit flow path table entry. The hit flow path table entry is the flow path table entry corresponding to the data packet.
In step S130, the data packet is constructed as an INT packet, the hit path identifier in the flow path table entry is inserted into the INT header of the INT packet, the forwarding queue flag bit in the INT header of the INT packet is set, and the INT packet is forwarded via the forwarding queue identified by the queue identifier in the hit flow path table entry.
In the embodiment of the present invention, the switching device may encapsulate an overlay tunnel for the data packet, where a source address of the overlay tunnel is an address of the switching device, and a destination address of the overlay tunnel is an address of an end device in a hit flow path table entry; and adding an INT field after the message of the overlay tunnel is packaged, wherein the INT field comprises an INT head and an INT Metadata Stack (INT Metadata Stack), and constructing the data message into an INT message.
FIG. 2 illustrates an INT header and INT metadata stack of an embodiment of the present invention. As shown in fig. 2, the INT header includes a forwarding queue flag bit (F), a Path flag bit (P), a Path identification (Path ID), and an INT monitoring Instruction (Instruction Bitmap). The Path ID is a field uniquely identifying one flow Path and allocated by the SDN controller, and the flow paths are different and naturally different. And the INT source equipment inserts the Path ID in the hit flow Path table entry into an INT head of the INT message. Note that the P flag bit and the F flag bit are not set at the same time.
Wherein, the P zone bit represents whether the INT message is an INT flow path creation message for creating a flow path. Specifically, if the P flag bit of the INT message is set, the INT device that receives the INT message along the way may determine that the INT message is an INT flow path creation message and should perform flow path creation processing corresponding to the INT message. The flow path creation process will be described later.
The F zone bit represents whether the INT message carries a normal data message or not. Specifically, if the F flag bit in the INT message is set, the INT device that receives the INT message along the way may determine that the INT message carries a normal data message, and should execute the traffic forwarding process corresponding to the INT message. The traffic forwarding processing performed by the INT source device may refer to the packet processing method shown in fig. 1, and the traffic forwarding processing performed by the INT intermediate device and the INT destination device will be described later.
The INT monitoring instruction includes a device ID (switch ID), an Ingress port ID (Ingress port ID), a jump delay (Hop latency), a Queue occupancy (Queue occupancy), an Ingress timestamp (Ingress timestamp), an Egress port ID (Egress port ID), a Queue congestion state (Queue congestion status), an Egress port tx utilization (Egress port tx utilization), a forwarding Queue identification (forwarded Queue ID), and a reservation (reserved).
When the field in the INT monitoring instruction is set, the data corresponding to the field needs to be inserted into the INT metadata stack. The Switch ID is a bridge MAC address of the INT device, the Ingress port ID is a port ID of the INT device, which receives the INT message, the Forward Queue ID field is a field used for identifying a forwarding Queue used by the INT device for forwarding the INT message, and the Egress port ID is an Egress port ID through which the INT message is forwarded to the next hop INT device.
For example, the INT device determines whether the Switch ID is set, and when it is determined that the Switch ID is set, if the INT device determines that the Switch ID is its own bridge MAC address, the bridge MAC address is inserted into the INT metadata stack. Similarly, the INT device determines whether the Forward Queue ID is set, and inserts the Queue identification in the hit flow path entry into the INT metadata stack when determining that the Forward Queue ID is set.
It can be seen that, compared with the INT message in the prior art, the INT message in the embodiment of the present invention adds a P flag bit, an F flag bit, and a Path ID field to the INT header, so that the P flag bit identifies whether the INT message is an INT flow Path creation message, the F flag bit identifies whether the INT message carries a normal data message, and the Path ID identifies a flow Path of the message. In addition, compared with the INT message in the prior art, the INT message in this embodiment further uses a bit in reserved of the INT message to write in the Forward Queue ID field, so that when the Forward Queue ID field is set, the INT device inserts a Queue identifier in a hit flow path table entry into the INT metadata stack.
In the embodiment of the invention, after the data message is constructed into the INT message, the INT message carries the data message received from the network equipment hung below the switching equipment, so the INT message carries the normal data message, and the switching equipment sets the F mark position in the INT header of the INT message. Because the hit flow path table entry already describes the flow path of the data message, the switching device can directly forward the INT message through the forwarding queue identified by the queue identifier corresponding to the switching device in the hit flow path table entry, without selecting one forwarding queue from the multiple forwarding queues corresponding to the egress port according to the priority of the data message and then forwarding the INT message through the selected forwarding queue.
Therefore, according to the message processing method of the embodiment of the present invention, when a data message is received, the switching device may query the flow path table entry corresponding to the data message in the flow path table information stored locally according to the data message, and forward the message according to the forwarding queue identified by the queue identifier in the hit flow path table entry, so that the switching device forwards the received message according to the forwarding queue identified by the queue identifier in the hit flow path table entry, without selecting one forwarding queue from a plurality of forwarding queues corresponding to the egress port, thereby improving the transmission efficiency of the message.
Example two
In an implementable manner, the SDN controller may collect flow path information, and the SDN controller generates flow path table information according to the collected flow path information and issues the flow path table information to the switching device, so that the switching device performs packet forwarding according to the flow path table information. The SDN controller collects flow path information, which is a flow path creation process for the switching device, and the flow path creation process includes a process of creating a flow path for the first time and a process of updating the flow path subsequently. In this embodiment, an implementation of the INT source device in the switching device creating the flow path in advance will be described in terms of the switching device.
In this embodiment, the flow path creation process is described by taking the first creation of the flow path as an example. It should be understood that the process of updating the flow path is the same as the implementation of first creating the flow path.
Specifically, in one implementation, when the switching device is designated as an INT source device, the method may further include:
receiving a creation message sent by an SDN controller, wherein the creation message carries a source address of a message to be forwarded, a destination address of the message to be forwarded and a path identifier of a flow path corresponding to the message to be forwarded, the source address of the message to be forwarded is the same as the source address of the data message, and the destination address of the message to be forwarded is the same as the destination address of the data message;
if the address of the switching equipment is matched with the source address of the message to be forwarded, constructing the message to be forwarded into an INT flow path creation message, selecting a forwarding queue of the INT flow path creation message, inserting the path identifier into an INT head of the INT flow path creation message, inserting the identifier of the switching equipment, the queue identifier of the selected forwarding queue, an ingress port of the INT flow path creation message and an egress port of the INT flow path creation message into an INT metadata stack of the INT flow path creation message, setting a path flag bit in the INT head of the INT flow path creation message, and forwarding the INT flow path creation message through the selected forwarding queue.
In the embodiment of the invention, before the switching device receives the data message, the switching device cannot determine whether the switching device is an INT source device, so that the SDN controller specifies the INT source device in advance according to service requirements and notifies the switching device of the specified INT source device, and the switching device determines whether the switching device is the INT source device according to the notification of the SDN controller.
Fig. 3 is a schematic diagram of an SDN network according to an embodiment of the present invention. As shown in fig. 3, the SDN network includes SW1, SW2, SW3, SW4, TOR1, TOR2, SDN controller, virtual machine VM10, VM20, VM30, and VM 40. SW1, SW2, SW3, SW4, TOR1, and TOR2 are INT devices, all of which support INT functionality. VM10 is hung down on SW1, VM20 is hung down on SW2, VM30 is hung down on SW3, and VM40 is hung down on SW 4.
In the SDN network shown in fig. 3, if there is a service requirement that VM10 access VM40, the SDN controller may pre-designate SW1 as an INT source device and notify each switching device that SW1 is an INT source device. If there is a business need for VM30 to access VM20, the SDN controller may pre-designate SW3 as an INT source device and notify each switching device that SW3 is an INT source device.
In order to create a flow path of a data packet before an INT device receives the data packet, an SDN controller sends a creation message to a pre-specified INT source device through a network protocol (NETCONF) or other means to trigger a flow path creation process for creating the flow path of the data packet.
Because the SDN controller needs to simulate a data packet that will be actually forwarded subsequently, the SDN controller may use, according to a service requirement, a source address of the data packet that will be actually forwarded subsequently as a source address of a packet to be forwarded carried by the creation message, and use a destination address of the data packet that will be actually forwarded subsequently as a destination address of the packet to be forwarded carried by the creation message.
In other words, the flow path of the data packet can be created before the data packet is received only if the source address carried by the create message is the same as the source address of the data packet received in step S110 and the destination address carried by the create message is the same as the destination address of the data packet received in step S110. Therefore, the message to be forwarded carried by the creation message differs from the data message received in step S110 only in the data portion of the two.
In addition, in order to identify a flow path of a data packet which is actually forwarded subsequently, the SDN controller pre-specifies a path identifier of the flow path, and carries the specified path identifier in a creation message.
After receiving a creation message sent by the SDN controller, the switching device specified in advance as the INT source device matches its own address with a source address carried by the creation message. Specifically, the switching device designated as the INT source device determines, according to the source address and the network topology carried in the creation message, whether the source device of the packet to be forwarded hangs down on the switching device designated as the INT source device, and further determines, according to the determination result, whether the address of the switching device matches the source address carried in the creation message.
If the source device hangs up on the switching device designated as the INT source device, the address of the switching device matches the source address carried by the create message. Conversely, if the source device is not hooked up to the switching device designated as the INT source device, the address of the switching device does not match the source address carried by the create message.
If the address of the switching equipment is matched with the source address carried by the creation message, the switching equipment constructs the message to be forwarded into an INT flow path creation message, the source address of a tunnel of the INT flow path creation message is the address of INT source equipment, the destination address of the tunnel is the address of INT destination equipment, and a P flag bit in an INT header of the INT flow path creation message is set.
The construction method can refer to the above detailed description about step S130, and is not described herein again.
The INT flow path creation packet is different from the INT packet constructed in step S130 in that the P flag bit and the F flag bit in the INT header are different, except for the difference between the data portions of the two. Specifically, the P flag bit is set and the F flag bit is not set in the INT header of the INT flow path creation packet, compared to the P flag bit and the F flag bit in the NT header of the INT packet constructed in step S130. Namely, the P zone bit and the F zone bit are used for distinguishing the message as an INT flow path creation message or a normal data message.
After constructing the message to be forwarded as an INT flow path creation message, the switching device performs routing lookup to determine a port, and selects one forwarding queue from a plurality of forwarding queues corresponding to the determined port. The forwarding queues corresponding to the egress ports have corresponding priorities, and the higher the priority of the forwarding queue is, the higher the message forwarding quality of the forwarding queue is. The higher the quality of the forwarding queue, the smaller the delay of the forwarding queue and the lower the congestion. Therefore, in the case where the packet to be forwarded is marked with a priority, the switching device may select the forwarding queue according to the marked priority. In case that the message to be forwarded is not marked with priority, the switching device may select a forwarding queue with high quality.
The switching device may insert the path identifier carried by the creation message into an INT header of the INT flow path creation packet, insert the identifier of the switching device, the queue identifier of the selected forwarding queue, the ingress port and the determined egress port, which receive the data packet, into an INT metadata stack of the INT flow path creation packet, and forward the INT flow path creation packet to other INT devices via the selected forwarding queue.
Thus, the INT source device completes the creation process of the flow path.
EXAMPLE III
On the basis of the first embodiment, in an implementation manner, the message processing method may further include:
when an INT message with a set forwarding queue flag bit (F flag bit) is received and a destination address of a tunnel of the INT message is not matched with an address of the switching equipment, inquiring a flow path table corresponding to the INT message in locally stored flow path table information according to an identifier of the switching equipment, an input port of the INT message, an output port of the INT message and a path identifier carried by the INT message;
and if the hit flow path table entry exists, forwarding the INT message through the forwarding queue identified by the queue identification in the hit flow path table entry.
In this embodiment of the present invention, the switching device may configure the stream path table information in advance locally, and for the description of the stream path table information, reference may be made to the foregoing detailed description about step S110, which is not described herein again.
When the INT message with the F flag bit set is received and the destination address of the tunnel of the INT message is different from the address of the switching device, the switching device may determine that the switching device is an INT intermediate device and that the INT message carries a normal data message, and the switching device should perform a traffic forwarding process corresponding to the INT message.
Specifically, the switching device performs a route lookup to determine an egress port of the INT message. The switching device inquires the flow Path table entry which has the same device identifier as the switching device identifier, the same ingress port as the ingress port of the switching device for receiving the INT message, the same egress port as the determined egress port, and the same Path identifier as the Path ID carried by the INT message in the preconfigured flow Path table information. And if the hit flow path table entry exists, the switching equipment forwards the INT message through the forwarding queue identified by the queue identification in the hit flow path table entry.
If there is no hit flow path table entry, the switching device selects a forwarding queue of the INT message, and the method of selecting the forwarding queue may refer to the foregoing description, which is not described herein again. In order to recreate the flow path of the INT packet, considering that the INT intermediate device forwards the INT packet to other INT devices and the INT destination device uploads the INT metadata stack to the SDN controller, the switching device needs to insert the queue identifier of the selected forwarding queue, the ingress port and the determined egress port, which receive the INT packet by itself, into the INT metadata stack of the INT packet, and forward the INT packet via the selected forwarding queue.
Example four
The present embodiment describes the implementation of the INT intermediate device to create the stream path for the first time in terms of switching devices.
In one implementation, when the switching device is designated as an INT intermediate device, the method further comprises:
receiving an INT flow path creation message with a set path flag bit (P flag bit) sent by other INT equipment;
and if the address of the switching equipment is not matched with the source address and the destination address of the tunnel of the INT flow path creation message, selecting a forwarding queue of the INT flow path creation message, inserting a queue identifier of the selected forwarding queue, an identifier of the switching equipment, an ingress port of the INT flow path creation message and an egress port of the INT flow path creation message into an INT metadata stack of the INT flow path creation message, and forwarding the INT flow path creation message through the selected forwarding queue.
In the embodiment of the invention, before the switching device receives the INT message, the switching device cannot determine whether the switching device is the INT intermediate device, so that the SDN controller appoints the INT intermediate device in advance according to service requirements and notifies the switching device of the appointed INT intermediate device, and the switching device determines whether the switching device is the INT intermediate device according to the notification of the SDN controller. For example, in the SDN network shown in fig. 3, if there is a service requirement that VM10 accesses VM40, the SDN controller may pre-designate TOR1 as an INT intermediate device and notify each switching device that TOR1 is an INT intermediate device.
After receiving the INT flow path creation message, the switching device, which is specified in advance as an INT intermediate device, matches its own address with the source address and the destination address of the tunnel of the INT flow path creation message, respectively. If the address of the switching device which is pre-designated as the INT intermediate device is different from the source address of the tunnel of the INT flow path creation message and the address of the switching device which is pre-designated as the INT intermediate device is different from the destination address of the tunnel of the INT flow path creation message, the address of the switching device is not matched with the source address and the destination address of the tunnel of the INT flow path creation message, the switching device carries out routing search to determine a port, and one forwarding queue is selected from a plurality of forwarding queues corresponding to the determined output port. The method for selecting the forwarding queue may refer to the foregoing detailed description, and is not described herein again.
And the switching equipment inserts the identification of the switching equipment, the queue identification of the selected forwarding queue, the ingress port receiving the INT flow path creation message and the determined egress port into an INT metadata stack of the INT flow path creation message, and forwards the INT flow path creation message to other INT equipment through the selected forwarding queue.
The INT intermediate device thus completes the flow path creation process.
It should be noted that, in the implementation manner in which the INT intermediate device creates the flow path for the first time, the above steps are performed before receiving the INT message constructed by the data message; it will be appreciated that the above steps are performed after receiving an INT message constructed from a data message during updating of the flow path by the INT intermediate device.
EXAMPLE five
On the basis of the first embodiment and the third embodiment, in an implementation manner, the message processing method may further include:
when an INT message with a set forwarding queue flag bit (F flag bit) is received and a destination address of a tunnel of the INT message is matched with an address of the switching equipment, inquiring a flow path table corresponding to the INT message in locally stored flow path table information according to an identifier of the switching equipment, an input port of the INT message, an output port of the INT message and a path identifier carried by the INT message;
and if the hit flow path table entry exists, acquiring the data message according to the INT message, sending an INT metadata stack of the INT message to an SDN controller, and forwarding the data message through a forwarding queue identified by a queue identifier in the hit flow path table entry.
In this embodiment of the present invention, the switching device may configure the stream path table information in advance locally, and for the description of the stream path table information, reference may be made to the foregoing detailed description about step S110, which is not described herein again.
Generally, an SDN controller will typically designate two switching devices that establish a tunnel as an INT source device and an INT destination device for traffic statistics. Therefore, when the INT message with the F flag bit set is received and the destination address of the tunnel of the INT message is the same as the address of the switching device, the switching device may determine that the switching device is the INT destination device and that the INT message carries a normal data message, and the switching device should perform a traffic forwarding process corresponding to the INT message.
Specifically, the switching device performs a route lookup to determine an egress port of the INT message. The switching device inquires the flow Path table entry which has the same device identifier as the switching device identifier, the same ingress port as the ingress port of the switching device for receiving the INT message, the same egress port as the determined egress port, and the same Path identifier as the Path ID carried by the INT message in the preconfigured flow Path table information. If the hit flow path table entry exists, the switching equipment unpacks the overlay tunnel for the INT message and removes an INT field (including an INT header and an INT metadata stack), thereby obtaining a data message. And the switching equipment forwards the obtained data message through the forwarding queue identified by the queue identification in the hit flow path table entry, and uploads the INT metadata stack to the SDN controller.
If there is no hit flow path table entry, the switching device acquires the data packet according to the INT message in the above manner, and selects a forwarding queue of the data packet, and the method for selecting the forwarding queue may refer to the foregoing description, which is not described herein again.
In order to create the flow path of the INT packet, considering that the INT destination device may upload an INT metadata stack to the SDN controller, the switching device needs to insert a queue identifier of a selected forwarding queue, an ingress port that receives the INT packet, and a determined egress port into the INT metadata stack of the INT packet, forward the data packet via the selected forwarding queue, and upload the INT metadata stack to the SDN controller. Thus, the SDN controller may create a flow path for an INT message from the INT metadata stack.
EXAMPLE six
The present embodiment describes the implementation of the INT destination device creating the flow path for the first time in terms of switching devices.
In one implementation, when the switching device is designated as an INT destination device, the method further comprises:
receiving an INT flow path creation message with a set path flag bit (P flag bit) sent by other INT equipment;
if the address of the switching equipment is matched with the destination address of the tunnel of the INT flow path creation message, selecting a forwarding queue of the INT flow path creation message, inserting a queue identifier of the selected forwarding queue, an identifier of the switching equipment, an input port of the INT flow path creation message and an output port of the INT flow path creation message into an INT metadata stack of the INT flow path creation message, and sending the INT metadata stack of the INT flow path creation message to an SDN controller.
In the embodiment of the invention, before the switching device receives the INT message, the switching device cannot determine whether the switching device is the INT destination device, so that the SDN controller specifies the INT destination device in advance according to service requirements and notifies the switching device of the specified INT destination device, and the switching device determines whether the switching device is the INT destination device according to the notification of the SDN controller. For example, in the SDN network shown in fig. 3, if there is a service requirement that VM10 accesses VM40, the SDN controller may pre-designate SW4 as an INT destination device and notify each switching device that SW4 is an INT destination device.
After receiving the INT flow path creation message, the switching device which is specified in advance as an INT destination device matches the address of the switching device with the destination address of the tunnel of the INT flow path creation message. If the address of the switching equipment which is specified as the INT destination equipment in advance is the same as the destination address of the tunnel of the INT flow path creation message, the address of the switching equipment is matched with the destination address of the tunnel of the INT flow path creation message, the switching equipment carries out route searching to determine a port, and one forwarding queue is selected from a plurality of forwarding queues corresponding to the determined output port. The method for selecting the forwarding queue may refer to the foregoing detailed description, and is not described herein again.
And the switching equipment inserts the identification of the switching equipment, the queue identification of the selected forwarding queue, the ingress port receiving the INT flow path creation message and the determined egress port into an INT metadata stack of the INT flow path creation message, and sends the INT metadata stack of the INT flow path creation message to the SDN controller.
Thus, the INT destination device completes the flow path creation process.
It should be noted that, in the implementation manner in which the INT destination device creates the flow path for the first time, the above steps are performed before receiving the INT message constructed by the data message; it will be appreciated that in updating the flow path by the INT destination device, the above steps are performed after receiving the INT message constructed from the data message.
Therefore, in the embodiment of the present invention, before receiving a data packet, switching devices in each role sequentially perform a process of creating a flow path under the control of an SDN controller, the SDN controller collects flow path information according to an INT metadata stack provided on an INT destination device, and the SDN controller can create a complete flow path of a data packet to be actually forwarded subsequently according to the collected flow path information, where the complete flow path is characterized by each flow path entry of the flow path entry information. And the SDN controller issues the stream path table information for representing the created complete stream path to each switching device, and each switching device only needs to store the stream path table information in advance and transmit the message according to the message processing method when receiving the message which is really forwarded subsequently. Each switching device can directly forward the message through the forwarding queue identified by the queue identifier in the hit flow path table entry without selecting one forwarding queue from the multiple forwarding queues corresponding to the egress port, so that the transmission efficiency of the message can be improved.
In addition, when the flow path creation processing is executed, each switching device can select a high-quality forwarding queue, so that the forwarding queue identified by each forwarding queue identifier in the hit flow path table entry is naturally a high-quality forwarding queue, and the transmission quality of the packet can be improved.
In addition, because forwarding a packet via a high quality forwarding queue can reduce congestion and latency relative to forwarding a packet via a low quality forwarding queue, forwarding a packet via each forwarding queue in a hitting flow path entry identifies the identified forwarding queue can reduce congestion and latency.
Therefore, according to the message processing method of the embodiment of the present invention, before receiving the data message, the creation processing of the flow path is performed, and thus, after receiving the data message, the message is directly forwarded according to the pre-created flow path, so that the transmission efficiency and the transmission quality of the message can be improved, and the congestion and the time delay can be reduced.
EXAMPLE seven
Fig. 4 is a diagram illustrating a method of message processing, according to an example embodiment. The message processing method can be applied to an SDN controller. As shown in fig. 4, the message processing method may include the following steps.
In step S410, an in-band network telemetry INT metadata stack sent by a switching device is received, where the INT metadata stack includes a path identifier, an identifier of an INT device included in a flow path identified by the path identifier, a queue identifier of a forwarding queue, an ingress port of an INT flow path creation packet, and an egress port of the INT flow path creation packet, and the switching device forwards a packet to be forwarded via the forwarding queue identified by the queue identifier of the forwarding queue.
The description of this step can refer to the detailed description above, and is not repeated here.
In step S430, generating flow path table information according to the INT metadata stack, where the flow path table information includes a source address of the packet to be forwarded, a destination address of the packet to be forwarded, the path identifier, an identifier of the INT device, the queue identifier, the ingress port, and the egress port.
In step S450, the stream path table information is sent to the switching device.
The descriptions of steps S430 and S450 can refer to the description of step S130, and are not repeated herein.
The SDN controller can update the flow path table according to the collected flow path information, and further guide the forwarding of subsequent data messages.
Specific implementations of collecting flow path information may include:
and sending a creation message to the switching device, wherein the creation message carries a source address of the message to be forwarded, a destination address of the message to be forwarded, and a path identifier of a flow path corresponding to the message to be forwarded.
The source address, the destination address, and the like of the message to be forwarded may be the same as or different from those of the message to be forwarded in step 410.
The description of this step can refer to the detailed description above, and is not repeated here.
Therefore, according to the message processing method of the embodiment of the present invention, the SDN controller controls the switching devices, and may perform, before each switching device receives the data message, a stream path creation process to insert each information required for creating the stream path into the INT metadata stack and to cause the INT destination device to send the INT metadata stack, into which each information required for creating the complete stream path is inserted, to the SDN controller, so that the SDN controller creates a stream path corresponding to the data message according to each information in the INT metadata stack sent by the INT destination device and sends stream path table information corresponding to the created stream path to each switching device, and each switching device prestores the sent stream path table information.
Therefore, each switching device can directly forward the message through the forwarding queue identified by the queue identifier in the hit flow path table entry without selecting one forwarding queue from the multiple forwarding queues corresponding to the output port, and the transmission efficiency of the message is improved. In addition, because each switching device can select a high-quality forwarding queue, the forwarding queue identified by each forwarding queue identifier in the hit flow path table entry is naturally a high-quality forwarding queue, so that the transmission quality of the packet can be improved, and congestion and time delay can be reduced.
In the SDN network shown in fig. 3, the address of SW1 is IP100 and the identifier of SW1 is 100, the address of SW2 is IP200 and the identifier of SW2 is 200, the address of SW3 is IP300 and the identifier of SW3 is 300, the address of SW4 is IP400 and the identifier of SW4 is 400, the address of TOR1 is IP101 and the identifier of TOR1 is 101, the address of VM10 is IP10, the address of VM20 is IP20, the address of VM30 is IP30, and the address of VM40 is IP 40.
Flow path creation processing included in the message processing method according to the embodiment of the present invention will be described below by taking the creation of a flow path for the forwarding VM10 to access the VM40 and the creation of a flow path for the forwarding VM20 to access the VM30 as examples.
The SDN controller sends create messages to SW1 (pre-designated INT source device) and SW2 (pre-designated INT source device) via network protocol (NETCONF) or other means. The creating message sent to the SW1 includes the source address of the message to be forwarded being IP10, the destination address of the message to be forwarded being IP40, and the Path identifier being Path 14. The creating message sent to the SW2 includes the source address of the message to be forwarded being IP20, the destination address of the message to be forwarded being IP30, and the Path identifier being Path 15.
The SW1 receives a creation message sent by the SDN controller through the ingress port 1, the SW1 performs route search according to the IP10 to determine that a message to be forwarded comes from the VM10 and the VM10 hangs on the SW1, so that the SW1 determines that its own address matches the IP 10. The SW1 constructs the message to be forwarded into an INT flow path creating message, wherein the source address of the tunnel of the INT flow path creating message is IP100 and the destination address of the tunnel of the INT flow path creating message is IP 400; performing route search according to the IP40 to determine the egress port 2, and selecting a forwarding Queue1 with high quality from a plurality of forwarding queues corresponding to the egress port 2; inserting Path14 into INT head of INT flow Path created message, setting P mark position in INT head, and inserting 100, Queue1, ingress port 1 and egress port 2 into INT flow Path created message INT metadata stack; INT flow path creation packets are forwarded to TOR1 via Queue 1.
The TOR1 receives an INT flow path creation message sent by the SW1 through the ingress port 1, and because the P flag bit of the INT flow path creation message is set and the IP101 is not matched with the source address IP100 of the tunnel and the destination address IP400 of the tunnel, the TOR1 performs routing search to determine the egress port 3, and selects a high-quality forwarding Queue Queue2 from a plurality of forwarding queues corresponding to the egress port 3; inserting 101, Queue2, ingress port 1 and egress port 3 into INT flow path to create INT metadata stack of message; the INT flow path creation packet is forwarded to SW4 via Queue 2.
The SW4 receives an INT flow path creating message sent by the TOR1 through the ingress port 2, and as the P flag bit of the INT flow path creating message is set and the IP400 is matched with the destination address IP400 of the tunnel, the SW4 performs routing search to determine the egress port 3 and selects a high-quality forwarding Queue1 from a plurality of forwarding queues corresponding to the egress port 3; inserting 400, Queue1, ingress port 2 and egress port 3 into INT flow path to create INT metadata stack of message; and uploading an INT metadata stack of the INT flow path creation message to the SDN controller.
The SDN controller receives the INT metadata stack sent by SW 4. The SDN controller generates the first entry in the stream path table information shown in table 1 below from the INT metadata stack sent by SW 4.
Similarly, SW2 receives a create message sent by the SDN controller through ingress port 2, SW2 performs route search according to IP20 to determine that a packet to be forwarded comes from VM20 and VM20 hangs up on SW2, so SW2 determines that its own address matches IP 20. The SW2 constructs the message to be forwarded into an INT flow path creating message, wherein the source address of the tunnel of the INT flow path creating message is IP200, and the destination address of the tunnel of the INT flow path creating message is IP 300; performing route search according to the IP30 to determine the egress port 3, and selecting a forwarding Queue Queue2 from a plurality of forwarding queues corresponding to the egress port 3; inserting Path15 into INT head of INT flow Path created message, setting P mark position in INT head, and inserting 200, Queue2, ingress port 2 and egress port 3 into INT flow Path created message INT metadata stack; INT flow path creation packets are forwarded to TOR1 via Queue 2.
The TOR1 receives an INT flow path creation message sent by the SW2 through the ingress port 2, and since a P flag bit of the INT flow path creation message is set and the IP101 is not matched with the source address IP200 of the tunnel and the destination address IP300 of the tunnel, the TOR1 performs routing search to determine the egress port 2, and selects a high-quality forwarding Queue1 from a plurality of forwarding queues corresponding to the egress port 2; inserting 101, Queue1, ingress port 2 and egress port 2 into INT flow path to create INT metadata stack of message; the INT flow path creation packet is forwarded to SW3 via Queue 1.
The SW3 receives an INT flow path creating message sent by the TOR1 through the ingress port 1, and as the P flag bit of the INT flow path creating message is set and the IP300 is matched with the destination address IP300 of the tunnel, the SW3 performs routing search to determine the egress port 2 and selects a high-quality forwarding Queue Queue1 from a plurality of forwarding queues corresponding to the egress port 2; inserting 300, Queue1, ingress port 1 and egress port 2 into INT flow path to create INT metadata stack of message; and uploading an INT metadata stack of the INT flow path creation message to the SDN controller.
The SDN controller receives the INT metadata stack sent by SW 3. The SDN controller generates a second entry in the stream path table information shown in table 1 below according to the INT metadata stack sent by SW 3.
Accordingly, the SDN controller generates flow path table information shown in table 1 below, and transmits the flow path table information shown in table 1 to SW1, SW2, SW3, SW4, TOR1, and TOR 2.
Table 1 flow path table information
Figure BDA0001776732540000221
Traffic forwarding processing included in the message processing method according to the embodiment of the present invention will be described below by taking traffic of the VM40 accessed by the VM10 as an example.
When VM10 accesses VM40, VM10 sends data messages with source address IP10 and destination address IP40 to SW 1.
SW1(INT source device) receives data messages sent by VM10 via ingress port 1. SW1 looks up the flow path table entry corresponding to the data packet in Table 1 above based on the identification 100 of the source address IP10, the destination address IP40 and SW1 of the data packet. As a result of the query, the first entry in Table 1 above is hit. SW1 thus constructs the data message as an INT message, the source address of the tunnel of the INT message being IP100 and the destination address of the tunnel being IP 400. The construction method can refer to the above detailed description about step S130, and is not described herein again. SW1 inserts the Path identification Path14 in the first table entry in Table 1 into the INT header of the constructed INT message, and sets the F flag bit in the INT header. SW1 forwards the INT packet to TOR1 through its own egress port 2 via the forwarding Queue1 corresponding to egress port 2.
The TOR1 receives the INT message sent by the SW1 via the ingress port 1. Since the F flag bit of the INT message is set and IP101 does not match IP100 or IP400, TOR1 performs a route lookup to determine egress port 3. The TOR1 looks up the flow Path table entry corresponding to the INT message in the table 1 according to 101, ingress port 1, egress port 3 and Path 14. As a result of the query, the first entry in Table 1 above is hit. TOR1 forwards the INT message to SW4 through its own egress port 3 via forwarding Queue2 corresponding to egress port 2.
The SW4 receives the INT message sent by the TOR1 via ingress port 2. Since the F flag bit of the INT message is set and IP400 matches IP400, SW4 performs a route lookup to determine egress port 3. SW4 looks up the flow Path table entry corresponding to the INT message in table 1 above according to 400, ingress port 2, egress port 3 and Path 14. As a result of the query, the first entry in Table 1 above is hit. The SW4 constructs the INT message into a data message, uploads the INT metadata stack to the SDN controller, and forwards the data message to the VM40 through its own egress port 3 via the forwarding Queue1 corresponding to the egress port 3.
Fig. 5 is a block diagram illustrating a hardware configuration of a message processing apparatus according to an example embodiment. Referring to fig. 5, the apparatus 900 may include a processor 901, a machine-readable storage medium 902 having stored thereon machine-executable instructions. The processor 901 and the machine-readable storage medium 902 may communicate via a system bus 903. Also, the processor 901 performs the message processing method described above by reading machine-executable instructions in the machine-readable storage medium 902 corresponding to the message processing logic.
The machine-readable storage medium 902 referred to herein may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and the like. For example, the machine-readable storage medium may be: a RAM (random Access Memory), a volatile Memory, a non-volatile Memory, a flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, a dvd, etc.), or similar storage medium, or a combination thereof.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein were chosen in order to best explain the principles of the embodiments, the practical application, or technical improvements to the techniques in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (11)

1. A message processing method is applied to a switching device, and is characterized in that the method comprises the following steps:
when a data message is received, according to a source address and a destination address of the data message and an identifier of the switching device, a flow path table entry corresponding to the data message is inquired in locally stored flow path table information, wherein the flow path table information comprises: the method comprises the steps that a source address of a message to be forwarded, a destination address of the message to be forwarded, a path identifier, an identifier of an in-band network telemetry (INT) device included in a flow path identified by the path identifier, and a queue identifier of a forwarding queue of the message to be forwarded, wherein the queue identifier corresponds to the INT device;
and constructing the data message into an INT message, inserting a path identifier in a hit flow path table entry into an INT head of the INT message, setting a forwarding queue flag bit in the INT head, and forwarding the INT message through a forwarding queue identified by a queue identifier in the hit flow path table entry.
2. The method of claim 1, wherein when the switching device is designated as an in-band network telemetry (INT) source device in a Software Defined Network (SDN), the method further comprises:
receiving a creation message sent by an SDN controller, wherein the creation message carries a source address of a message to be forwarded, a destination address of the message to be forwarded and a path identifier of a flow path corresponding to the message to be forwarded, the source address of the message to be forwarded is the same as the source address of the data message, and the destination address of the message to be forwarded is the same as the destination address of the data message;
if the address of the switching equipment is matched with the source address of the message to be forwarded, constructing the message to be forwarded into an INT flow path creation message, selecting a forwarding queue of the INT flow path creation message, inserting the path identifier into an INT head of the INT flow path creation message, inserting the identifier of the switching equipment, the queue identifier of the selected forwarding queue, an ingress port of the INT flow path creation message and an egress port of the INT flow path creation message into an INT metadata stack of the INT flow path creation message, setting a path flag bit in the INT head of the INT flow path creation message, and forwarding the INT flow path creation message through the selected forwarding queue.
3. The method of claim 1, further comprising:
when an INT message with a set forwarding queue flag bit is received and a destination address of a tunnel of the INT message is not matched with an address of the switching equipment, inquiring a flow path table corresponding to the INT message in locally stored flow path table information according to an identifier of the switching equipment, an input port of the INT message, an output port of the INT message and a path identifier carried by the INT message;
and if the hit flow path table entry exists, forwarding the INT message through the forwarding queue identified by the queue identification in the hit flow path table entry.
4. The method of claim 3, further comprising:
and if the hit flow path table entry does not exist, selecting a forwarding queue of the INT message and determining an output port of the INT message, inserting a queue identifier of the selected forwarding queue, an input port of the INT message and the determined output port of the INT message into an INT metadata stack of the INT message, and forwarding the INT message through the selected forwarding queue.
5. The method of claim 1, further comprising:
when an INT message with a set forwarding queue flag bit is received and a destination address of a tunnel of the INT message is matched with an address of the switching equipment, inquiring a flow path table corresponding to the INT message in locally stored flow path table information according to an identifier of the switching equipment, an input port of the INT message, an output port of the INT message and a path identifier carried by the INT message;
and if the hit flow path table entry exists, acquiring the data message according to the INT message, sending an INT metadata stack of the INT message to an SDN controller, and forwarding the data message through a forwarding queue identified by a queue identifier in the hit flow path table entry.
6. The method of claim 5, further comprising:
and if the hit flow path table entry does not exist, selecting a forwarding queue of the INT message and determining an output port of the INT message, inserting a queue identifier of the selected forwarding queue, an input port of the INT message and the determined output port of the INT message into an INT metadata stack of the INT message, acquiring the data message according to the INT message, sending the INT metadata stack of the INT message to the SDN controller, and forwarding the data message through the selected forwarding queue.
7. The method according to any of claims 3 to 6, wherein when the switching device is designated as an INT intermediate device, the method further comprises:
receiving INT flow path creation messages of which the path flag bits are set and which are sent by other INT equipment;
and if the address of the switching equipment is not matched with the source address and the destination address of the tunnel of the INT flow path creation message, selecting a forwarding queue of the INT flow path creation message, inserting a queue identifier of the selected forwarding queue, an identifier of the switching equipment, an ingress port of the INT flow path creation message and an egress port of the INT flow path creation message into an INT metadata stack of the INT flow path creation message, and forwarding the INT flow path creation message through the selected forwarding queue.
8. The method according to any of claims 3 to 6, wherein when the switching device is designated as an INT destination device, the method further comprises:
receiving INT flow path creation messages of which the path flag bits are set and which are sent by other INT equipment;
if the address of the switching equipment is matched with the destination address of the tunnel of the INT flow path creation message, selecting a forwarding queue of the INT flow path creation message, inserting a queue identifier of the selected forwarding queue, an identifier of the switching equipment, an input port of the INT flow path creation message and an output port of the INT flow path creation message into an INT metadata stack of the INT flow path creation message, and sending the INT metadata stack of the INT flow path creation message to an SDN controller.
9. A message processing method is applied to a Software Defined Network (SDN) controller, and is characterized by comprising the following steps:
sending a creating message to a switching device, wherein the creating message carries a source address of a message to be forwarded, a destination address of the message to be forwarded and a path identifier of a flow path corresponding to the message to be forwarded;
receiving an in-band network telemetry (INT) metadata stack sent by switching equipment, wherein the INT metadata stack is used for creating an INT flow path to a message and comprises a path identifier, an identifier of the INT equipment included in the flow path identified by the path identifier, a queue identifier of a forwarding queue, an ingress port of the INT flow path created message and an egress port of the INT flow path created message, and the switching equipment forwards the message to be forwarded through the forwarding queue identified by the queue identifier of the forwarding queue;
generating flow path table information according to the INT metadata stack, wherein the flow path table information comprises a source address of the message to be forwarded, a destination address of the message to be forwarded, the path identifier, an identifier of the INT device, the queue identifier, the ingress port and the egress port;
and sending the stream path table information to the switching equipment.
10. A message processing apparatus, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to:
executing the message processing method according to any of claims 1 to 8.
11. A message processing apparatus, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to:
the message processing method of claim 9 is performed.
CN201810973100.0A 2018-08-24 2018-08-24 Message processing method and device Active CN109194581B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810973100.0A CN109194581B (en) 2018-08-24 2018-08-24 Message processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810973100.0A CN109194581B (en) 2018-08-24 2018-08-24 Message processing method and device

Publications (2)

Publication Number Publication Date
CN109194581A CN109194581A (en) 2019-01-11
CN109194581B true CN109194581B (en) 2020-12-25

Family

ID=64919740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810973100.0A Active CN109194581B (en) 2018-08-24 2018-08-24 Message processing method and device

Country Status (1)

Country Link
CN (1) CN109194581B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110505112B (en) * 2019-07-09 2021-06-22 星融元数据技术(苏州)有限公司 Network performance monitoring method, device and storage medium
CN112436951A (en) * 2019-08-26 2021-03-02 北京京东尚科信息技术有限公司 Method and device for predicting flow path
CN110752993B (en) * 2019-10-24 2022-02-25 新华三信息安全技术有限公司 Message forwarding method and device
CN110830376B (en) * 2019-11-05 2021-11-09 苏州盛科科技有限公司 INT message processing method and device
CN111147403B (en) * 2019-12-27 2021-08-31 苏州盛科通信股份有限公司 Message processing method and device, storage medium and electronic device
CN111835588B (en) * 2020-06-29 2021-11-16 北京交通大学 In-band network remote measurement bearer flow selection method and system
CN112003776B (en) * 2020-08-12 2022-05-20 广东省新一代通信与网络创新研究院 Message processing method and system
CN112737982A (en) * 2020-12-23 2021-04-30 锐捷网络股份有限公司 Method for forwarding message and CLOS (clock-line-operating System) framework switch

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453138A (en) * 2016-11-25 2017-02-22 杭州华三通信技术有限公司 Message processing method and apparatus
CN107786458A (en) * 2017-11-02 2018-03-09 下代互联网重大应用技术(北京)工程研究中心有限公司 The method that multiport access standard based on DPDK goes out
CN108111432A (en) * 2017-12-27 2018-06-01 新华三技术有限公司 Message forwarding method and device
CN108199924A (en) * 2018-01-26 2018-06-22 北京邮电大学 The whole network traffic visualization method and device based on band network telemetering
CN108259344A (en) * 2017-11-29 2018-07-06 新华三技术有限公司 Telemetering Telemetry method and apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9065768B2 (en) * 2012-12-28 2015-06-23 Futurewei Technologies, Inc. Apparatus for a high performance and highly available multi-controllers in a single SDN/OpenFlow network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453138A (en) * 2016-11-25 2017-02-22 杭州华三通信技术有限公司 Message processing method and apparatus
CN107786458A (en) * 2017-11-02 2018-03-09 下代互联网重大应用技术(北京)工程研究中心有限公司 The method that multiport access standard based on DPDK goes out
CN108259344A (en) * 2017-11-29 2018-07-06 新华三技术有限公司 Telemetering Telemetry method and apparatus
CN108111432A (en) * 2017-12-27 2018-06-01 新华三技术有限公司 Message forwarding method and device
CN108199924A (en) * 2018-01-26 2018-06-22 北京邮电大学 The whole network traffic visualization method and device based on band network telemetering

Also Published As

Publication number Publication date
CN109194581A (en) 2019-01-11

Similar Documents

Publication Publication Date Title
CN109194581B (en) Message processing method and device
US10581700B2 (en) Service flow processing method, apparatus, and device
US9900249B2 (en) Communication system, forwarding node, path management server, communication method, and program
EP3259885B1 (en) Traffic engineering feeder for packet switched networks
US7778248B2 (en) Method and apparatus for prioritized processing of routing information
US9584568B2 (en) Signal processing apparatus and signal processing method thereof for implementing a broadcast or a multicast communication
JP5672558B2 (en) Network system, network control apparatus, and control method
EP3319278A1 (en) Method and apparatus for implementing service function chain
JP6920533B2 (en) Data flow transmission
CN108777646B (en) Flow monitoring method and device
US8605622B2 (en) Route setup server, route setup method and route setup program
US20120170477A1 (en) Computer, communication system, network connection switching method, and program
JP2017506025A (en) System and method for performing network service insertion
WO2015109284A1 (en) Multi-domain source routed forwarding based on collaborating network controllers
JP6589060B2 (en) Software-defined network entry generation and packet forwarding
JP2003244148A (en) Data communication system, apparatus and method for data communication management, and computer program
WO2017143717A1 (en) Multicast information processing method and device
CN110611616A (en) Traffic scheduling method, system, device and medium based on Radius server
CN103888351A (en) Method and device used for managing multiple conversations in network based on multi-path routing
US20230155930A1 (en) Packet Processing Method and Network Device
US9356861B2 (en) Secondary lookup for scaling datapath architecture beyond integrated hardware capacity
KR20130099199A (en) Communication system, node, packet transfer method and program
US20230412508A1 (en) Packet processing method and related apparatus
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
JP4623317B2 (en) Communication apparatus, routing method and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant