CN110752993B - Message forwarding method and device - Google Patents

Message forwarding method and device Download PDF

Info

Publication number
CN110752993B
CN110752993B CN201911018912.0A CN201911018912A CN110752993B CN 110752993 B CN110752993 B CN 110752993B CN 201911018912 A CN201911018912 A CN 201911018912A CN 110752993 B CN110752993 B CN 110752993B
Authority
CN
China
Prior art keywords
path
forwarding
network device
message
network equipment
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
CN201911018912.0A
Other languages
Chinese (zh)
Other versions
CN110752993A (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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201911018912.0A priority Critical patent/CN110752993B/en
Publication of CN110752993A publication Critical patent/CN110752993A/en
Application granted granted Critical
Publication of CN110752993B publication Critical patent/CN110752993B/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/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • 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/121Shortest path evaluation by minimising delays
    • 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/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of 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/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a message forwarding method and a message forwarding device, relates to the technical field of networks, and is applied to a controller, wherein the controller is in an SDN (software defined network), the SDN further comprises source network equipment, intermediate network equipment and target network equipment, and a plurality of forwarding paths are formed between the source network equipment and the target network equipment through different intermediate network equipment; the method comprises the following steps: receiving a plurality of path detection messages sent by target network equipment, wherein each path detection message comprises path quality information of one forwarding path in a plurality of forwarding paths; selecting a target forwarding path meeting the forwarding requirement of the service flow according to the path quality information of each forwarding path; and sending the strategy route matched with the target forwarding path to the source network equipment so that the source network equipment transmits the service message in the target forwarding path according to the strategy route when receiving the service message of the service flow. By applying the scheme provided by the embodiment of the application to message forwarding, the quality of the transmitted high-service message can be provided.

Description

Message forwarding method and device
Technical Field
The present application relates to the field of network technologies, and in particular, to a method and an apparatus for forwarding a packet.
Background
In the prior art, when a service packet of a service flow is forwarded between a First network device and a second network device, a forwarding Path is generally determined based on a dynamic protocol such as OSPF (Open Shortest Path First), and then the service packet is forwarded on the determined forwarding Path.
In addition, while forwarding the packet on the determined forwarding path, the controller in the network also obtains information reflecting the path quality of the determined forwarding path, such as the forwarding delay and congestion condition of the determined forwarding path. And when the determined path quality of the forwarding path is lower, adjusting the forwarding path, so as to improve the quality of the transmission of the subsequent service message between the first network equipment and the second network equipment.
Although the quality of the service packet transmitted after the forwarding path is adjusted can be improved by applying the above method, it is difficult to ensure the quality of the service packet transmitted before the forwarding path is adjusted.
Disclosure of Invention
In view of this, the present application provides a method and an apparatus for forwarding a packet, so as to improve quality of service packet transmission between network devices. The specific technical scheme is as follows:
in a first aspect, an embodiment of the present application provides a packet forwarding method, which is applied to a controller, where the controller is in a software defined network SDN, the SDN further includes a source network device, an intermediate network device, and a destination network device, and multiple forwarding paths are formed between the source network device and the destination network device through different intermediate network devices; the method comprises the following steps:
receiving a plurality of path detection messages sent by the destination network equipment, wherein each path detection message comprises path quality information of one of the plurality of forwarding paths;
selecting a target forwarding path meeting the forwarding requirement of the service flow according to the path quality information of each forwarding path;
and sending a policy route matched with the target forwarding path to the source network equipment, so that when the source network equipment receives a service message of the service flow, the service message is transmitted in the target forwarding path according to the policy route.
In a second aspect, an embodiment of the present application provides a packet forwarding method, which is applied to an intermediate network device in an SDN, where the SDN further includes: the network system comprises a controller, source network equipment and destination network equipment, wherein a plurality of forwarding paths are formed between the source network equipment and the destination network equipment through different intermediate network equipment; the method comprises the following steps:
receiving a path detection message sent by a previous hop network device of the intermediate network device, wherein the path detection message comprises a destination IP address;
when the destination IP address is not the IP address of the intermediate network device, adding the device information of the intermediate network device and the representation information reflecting the message transmission performance of the intermediate network device to the path detection message, and forwarding the path detection message after adding the information to the next hop network device of the intermediate network device through other forwarding interfaces except the interface receiving the path detection message.
In a third aspect, an embodiment of the present application provides a packet forwarding apparatus, which is applied to a controller, where the controller is in a software defined network SDN, the SDN further includes a source network device, an intermediate network device, and a destination network device, and multiple forwarding paths are formed between the source network device and the destination network device through different intermediate network devices; the device comprises:
a first message receiving module, configured to receive multiple path detection messages sent by the destination network device, where each path detection message includes path quality information of one of the multiple forwarding paths;
the path selection module is used for selecting a target forwarding path meeting the forwarding requirement of the service flow according to the path quality information of each forwarding path;
and the route sending module is used for sending a strategy route matched with the target forwarding path to the source network equipment so that the source network equipment transmits the service message in the target forwarding path according to the strategy route when receiving the service message of the service flow.
In a fourth aspect, an embodiment of the present application provides a packet forwarding apparatus, which is applied to an intermediate network device in an SDN, where the SDN further includes: the network system comprises a controller, source network equipment and destination network equipment, wherein a plurality of forwarding paths are formed between the source network equipment and the destination network equipment through different intermediate network equipment; the device comprises:
a second message receiving module, configured to receive a path detection message sent by a previous-hop network device of the intermediate network device, where the path detection message includes a destination IP address;
and the message forwarding module is configured to, when the destination IP address is not the IP address of the intermediate network device, add device information of the intermediate network device and characterization information reflecting the message transmission performance of the intermediate network device to the path detection message, and forward the path detection message after adding information to the next-hop network device of the intermediate network device through other forwarding interfaces except an interface for receiving the path detection message.
In a fifth aspect, an embodiment of the present application provides a controller in an SDN, where the SDN further includes a source network device, an intermediate network device, and a destination network device, and multiple forwarding paths are formed between the source network device and the destination network device through different intermediate network devices, where the controller includes: a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor, the processor being caused by the machine-executable instructions to: the steps of the message forwarding method according to the first aspect are implemented.
In a sixth aspect, an embodiment of the present application provides a network device, where the network device is an intermediate network device in an SDN, and the SDN further includes: the network system comprises a controller, source network equipment and destination network equipment, wherein a plurality of forwarding paths are formed between the source network equipment and the destination network equipment through different intermediate network equipment; the intermediate network device includes: a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor, the processor being caused by the machine-executable instructions to: the message forwarding method of the second aspect is implemented.
In a seventh aspect, an embodiment of the present application provides a machine-readable storage medium storing machine-executable instructions that, when invoked and executed by a processor, cause the processor to: the steps of the message forwarding method according to the first aspect are implemented.
In an eighth aspect, embodiments of the present application provide a machine-readable storage medium storing machine-executable instructions that, when invoked and executed by a processor, cause the processor to: the message forwarding method of the second aspect is implemented.
As can be seen from the above, when the scheme provided by the embodiment of the present application is applied to message forwarding, after receiving multiple path detection messages sent by a destination network device, a controller selects a target forwarding path that meets a forwarding requirement of a service flow according to path quality information included in each path detection message, and sends a policy route matched with the target forwarding path to a source network device, so that when the source network device receives the service message of the service flow, the service message is transmitted in the target forwarding path according to the policy route. It can be seen that in the scheme provided in the embodiment of the present application, the target forwarding path for forwarding the service packet is selected according to the forwarding requirement of the service flow forwarding requirement, so that the target forwarding path can maximally meet the forwarding requirement of the service packet under the current condition, and thus when the scheme provided in the embodiment of the present application is applied to packet forwarding, the quality of service packet transmission between network devices can be improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flowchart of a message forwarding method according to an embodiment of the present application;
fig. 2 is a schematic flowchart of another packet forwarding method according to an embodiment of the present application;
fig. 3 is a signaling diagram of a path detection method according to an embodiment of the present application;
fig. 4 is a schematic diagram of a network structure according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a message forwarding apparatus according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of another packet forwarding device according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a controller according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application. In addition, the following embodiments are only used for illustrating and explaining the technical solutions provided by the embodiments of the present application, and are not used for limiting the present application. And the embodiments and features of the embodiments in the present application may be combined with each other without conflict.
Referring to fig. 1, an embodiment of the present application provides a flow diagram of a packet forwarding method, where the packet forwarding method is applied to a controller. The controller is in an SDN (software defined Network), the SDN further includes a source Network device, an intermediate Network device, and a destination Network device, and a plurality of forwarding paths are formed between the source Network device and the destination Network device through different intermediate Network devices.
That is, a forwarding path includes a source network device, a destination network device, and at least one intermediate network device. From the perspective of forwarding a message, in a forwarding path, a source network device is an initial network device that sends a service message, a destination network device is a destination network device that receives the service message, and an intermediate network device is a network device through which the service message needs to pass from the source network device to the destination network device.
Specifically, the source network device and the destination network device in the SDN may be determined according to a traffic flow. In this case, the source network device and the destination network device are network devices in which two ends of a service flow are respectively in direct communication connection with the user equipment.
If the service flow is bidirectional, the source network device may be one of the network devices in which both ends of the service flow are directly communicatively connected to the user equipment, and the destination network device may be another one of the network devices.
If the service flow is unidirectional, the source network device is a device for sending a message in a network device in which both ends of the service flow are in direct communication connection with the user equipment, and the destination network device is a device for receiving a message in the network device.
For example, when the service corresponding to the service flow is a teleconference service, the service may relate to a user equipment used by a user participating in a teleconference, and the user equipment needs to access a network by communicating with a network device. In this case, the source network device and the destination network device are respectively: a network device communicatively coupled to a user device used by a user.
Specifically, the above method includes the following S101 to S103.
S101: and receiving a plurality of path detection messages sent by the destination network equipment.
The path detection message may be understood as: the method is used for detecting the message of the forwarding path between the source network device and the destination network device.
Each path probe message includes path quality information for one of the plurality of forwarding paths. That is, each path detection message corresponds to one forwarding path, and each path detection message includes path quality information of the forwarding path corresponding to the path detection message.
Specifically, the path detection message may be an INT (in-band Network telemonitoring) message based on an INT technology. On this basis, the forwarding path corresponding to the path detection packet may be: and detecting the obtained forwarding path between the source network equipment and the destination network equipment based on an INT technology.
In an embodiment of the present application, the path quality information of one forwarding path may include: and the representation information reflects the message transmission performance of each network device in the forwarding path. Wherein, the above characterizing information may include: and the network equipment receives the timestamp of the path detection message and/or the bandwidth information of the network equipment.
The bandwidth information may include: at least one of information such as packet loss count, packet loss rate, forwarding utilization rate, and remaining network bandwidth.
For example, the forwarding utilization may specifically be a packet forwarding rate.
In addition, the path detection packet may further include: and the equipment information of each network equipment in the forwarding path corresponding to the path detection message. Wherein, the device information may include: the identification of the network equipment, the identification of the path detection message at the input port, the address of the input port, the identification of the output port and the address of the output port of the network equipment.
S102: and selecting a target forwarding path meeting the forwarding requirement of the service flow according to the path quality information of each forwarding path.
In an embodiment of the present application, forwarding paths with path quality higher than a preset path quality may be determined according to path quality information of each forwarding path, and any one of the determined paths is selected as a target forwarding path that meets a forwarding requirement of a service flow.
In another embodiment of the present application, a forwarding path with the highest path quality may be determined according to the path quality information of each forwarding path, and any path may be selected from the determined paths as a target forwarding path that meets the forwarding requirement of a service flow.
Specifically, the service flow forwarding requirement may be a requirement related to a forwarding delay. For example, the service flow forwarding requirement may be that the forwarding delay of the forwarding path is less than a preset time duration, for example, the preset time duration is 10ms, 15ms, and the like, in this case, when the target forwarding path is selected, any forwarding path may be selected from the forwarding paths with the forwarding delay less than the preset time duration. The service flow forwarding requirement may also be that the smaller the forwarding delay is, the better the forwarding delay is, and in this case, when the target forwarding path is selected, any forwarding path may be selected from the forwarding paths with the smallest forwarding delay.
In an embodiment of the application, when the characterization information includes a timestamp of a path detection packet received by a network device, the path quality information of the path detection packet includes timestamps of the path detection packet received by each network device in a forwarding path corresponding to the path detection packet, based on which, a difference between a maximum value and a minimum value of each timestamp may be calculated, and then the difference is determined as a forwarding delay of the forwarding path.
In addition, the service flow forwarding requirement may also be a requirement related to network bandwidth information. For example, the traffic flow forwarding requirement may be that the remaining network bandwidth is greater than the required bandwidth for the source network device to communicate with the destination network device, in this case, when the target forwarding path is selected, any forwarding path may be selected from the forwarding paths whose remaining network bandwidth is greater than the required bandwidth. The service flow forwarding requirement may be that the larger the remaining network bandwidth is, the better the service flow forwarding requirement is, and in this case, when the target forwarding path is selected, any forwarding path may be selected from the forwarding paths with the largest remaining network bandwidth.
The service flow forwarding requirement may also be that the packet loss rate is smaller than a preset packet loss rate, and in this case, when the target forwarding path is selected, any forwarding path may be selected from the forwarding paths having the packet loss rate smaller than the preset packet loss rate. The service flow forwarding requirement may also be that the smaller the packet loss ratio, the better, in this case, when the target forwarding path is selected, any forwarding path may be selected from the forwarding paths with the smallest packet loss ratio.
S103: and sending a strategy route matched with the target forwarding path to the source network equipment so that the source network equipment transmits the service message in the target forwarding path according to the strategy route when receiving the service message of the service flow.
Specifically, after selecting the target forwarding path, the controller may send information of the target forwarding path to each network device on the path, so that the service packet is forwarded between the source network device and the destination network device along the target forwarding path.
Take the SDN as an IP (Internet Protocol Address) network as an example. The controller may create a static IP route for the target forwarding path, the prefix of the route being the address of the destination network device. In this case, the controller may send the static IP route to each network device along a target forwarding path, so that each network device on the target forwarding path may obtain a route prefix of the static IP route and device information of a next-hop network device. In addition, the controller may also send a policy route for a target forwarding path to a device of a source network device, so that the source network device obtains an address and a forwarding path of a destination network device corresponding to the service packet. Based on the above situation, the controller may direct the service packet to a target forwarding path for forwarding.
The device information of the next hop network device may include a device identifier of the next hop network device, an ingress port identifier of the next hop network device, an IP address of the ingress port, and the like.
The SDN is taken as an example of an MPLS (Multi-Protocol Label Switching) network. The controller may create a static MPLS label tunnel for the target forwarding path. In this case, the controller may transmit the MPLS label path to each network device along a target forwarding path with respect to the static MPLS label tunnel. Specifically, the output port of the MPLS label sent to each network device is the output port of the network device, and the input port is the input port of the next hop device of the network device. In addition, the controller may further send a policy flow table for a target forwarding path to a source network device, so that the source network device obtains an address and a forwarding path of a destination network device corresponding to the service packet. Based on the above situation, the controller may direct the service packet to a target forwarding path for forwarding.
As can be seen from the above, when the scheme provided in this embodiment is applied to perform packet forwarding, after receiving multiple path detection packets sent by a destination network device, a controller selects a target forwarding path meeting a service flow forwarding requirement according to path quality information included in each path detection packet, and sends a policy route matched with the target forwarding path to a source network device, so that when receiving a service packet of a service flow, the source network device transmits the service packet in the target forwarding path according to the policy route. It can be seen that in the scheme provided in this embodiment, the target forwarding path for forwarding the service packet is selected according to the forwarding requirement of the service flow forwarding requirement, so that the target forwarding path can maximally meet the forwarding requirement of the service packet under the current condition, and thus when the scheme provided in this embodiment is applied to packet forwarding, the quality of transmission of the service packet between network devices can be improved.
In an embodiment of the present application, the multiple path detection messages may be obtained by a path detection method, in this case, before the S101 receives multiple path detection messages sent by a destination network device, the controller may further send a path detection instruction to a source network device, so that the source network device generates a path detection message, and forwards the path detection message to a next-hop network device of the source network device through a forwarding interface other than an interface that receives the path detection instruction.
The next hop network device of the source network device is a network device in direct communication connection with the source network device. It will be appreciated that other forwarding interfaces may be three-tier interfaces of a network device.
And under the condition that the next hop network device of the source network device is not the target network device, the next hop network device is an intermediate network device, the intermediate network device forwards the path detection message to the next hop network device of the intermediate network device through other forwarding interfaces except the interface for receiving the path detection message, and forwards the path detection message by taking the next hop network device of the intermediate network device as a new intermediate network device until the path detection message reaches the target network device.
The detailed process of the path probe message is explained in the following embodiments, and will not be described in detail here.
In addition, as can be known from the foregoing description, the path detection packet may be an INT packet, and based on this, in an embodiment of the present application, before the S101 receives a plurality of path detection packets sent by the destination network device, an INT detection instruction may also be sent to the source network device through a NetConf protocol, so that the source network device generates the INT packet, and forwards the INT packet to a next-hop network device of the source network device through another three-layer forwarding interface except an interface that receives the INT detection instruction.
In an embodiment of the present application, before the source network device forwards the path detection packet to its next hop network device, the source network device may further add device information of the source network device and characterization information reflecting the message transmission performance of the source network device in the path detection packet.
In an embodiment of the present application, the controller may send a path detection instruction to the source network device according to a preset period, that is, detect a forwarding path between the source network device and the destination network device according to the preset period, and further obtain a plurality of path detection messages sent by the destination network device according to the preset period, so that a target forwarding path meeting a service flow forwarding requirement may be selected in each period, which may ensure that a service message between the source network device and the destination network device is always forwarded on a path with higher path quality, thereby further ensuring the quality of service message transmission between the network devices.
In addition, in the process of forwarding the message, if the target forwarding path fails, the controller may control the service message to forward the message through a forwarding path determined based on a dynamic protocol such as OSPF, and reacquire a plurality of path detection messages sent by the destination network device after the next cycle is reached, thereby reselecting the target forwarding path and controlling the service message to be forwarded through the reselected target forwarding path.
Referring to fig. 2, in an embodiment of the present application, a flowchart of another packet forwarding method is provided, where the method is applied to an intermediate network device in an SDN.
Wherein, the SDN further comprises: the system comprises a controller, source network equipment and destination network equipment, wherein a plurality of forwarding paths are formed between the source network equipment and the destination network equipment through different intermediate network equipment.
Specifically, the method includes the following steps S201 to S202.
S201: and receiving a path detection message sent by the last hop network equipment of the intermediate network equipment.
Wherein, the path detection message includes a destination IP address. Specifically, the destination IP address is an IP address of the destination network device.
The last hop network device of the intermediate network device is a network device in direct communication connection with the intermediate network device.
Specifically, the intermediate network device may be a source network device, and may also be another intermediate network device.
S202: when the destination IP address is not the IP address of the intermediate network device, adding the device information of the intermediate network device and the representation information reflecting the message transmission performance of the intermediate network device in the path detection message, and forwarding the path detection message after the information is added to the next hop network device of the intermediate network device through other forwarding interfaces except the interface for receiving the path detection message.
The destination IP address is not an IP address of the intermediate network device, which means that the intermediate network device is not a destination network device, and path detection needs to be continued along a forwarding path from the source network device to the intermediate network device.
The device information and the characterization information of the intermediate network device are the same as the aforementioned device information and characterization information, and are not described again here.
In an embodiment of the present application, since the path detection message received by the intermediate network device includes device information of the network device through which the path detection message has passed, it may be determined whether the path detection message has been forwarded to the intermediate network device by determining whether the received path detection message includes the device information of the intermediate network device, in addition to determining whether the destination IP address is the IP address of the intermediate network device. And when the path detection message includes the device information of the intermediate network device, it indicates that the intermediate network device has forwarded the path detection message to the intermediate network device before receiving the path detection message this time, otherwise, it indicates that the path detection message has not forwarded to the intermediate network device before receiving the path detection message this time.
In view of the above, that is, when the destination IP address is not the IP address of the intermediate network device and the path probing message does not include the device information of the intermediate network device, the device information of the intermediate network device and the characterizing information reflecting the message transmission performance of the intermediate network device may be added to the path probing message.
In another embodiment of the present application, when the destination IP address is not the IP address of the intermediate network device and the path detection message includes the device information of the intermediate network device, the path detection message may be discarded.
The path detection packet includes the device information of the intermediate network device, which indicates that the path detection packet has been forwarded to the intermediate network device before the intermediate network device receives the path detection packet this time, and then the current detection packet is forwarded to the intermediate network device again, which indicates that a loop occurs in the detected forwarding path.
Each intermediate network device in the SDN network may forward the received path probing packet according to the above S201-S202 until the path probing packet is forwarded to the destination network device.
In an embodiment of the application, after receiving a path detection packet sent by an intermediate network device in the SDN, a destination network device may add device information of the destination network device and characterization information reflecting packet transmission performance of the destination network device in the path detection packet, and then send the path detection packet with the added information to the controller.
Thus, the path detection message includes device information of the source network device, representation information reflecting the message transmission performance of the source network device, device information of each intermediate network device, representation information respectively reflecting the message transmission performance of each intermediate network device, device information of the destination network device, and representation information reflecting the message transmission performance of the destination network device. Then, after receiving the path detection packet, the controller may determine a forwarding path corresponding to the path detection packet according to the device information of each network device included in the path detection packet. In addition, since the path quality information of one forwarding path may include the representation information reflecting the message transmission performance of each network device in the forwarding path, the controller may also obtain the path quality information of the forwarding path corresponding to the path detection message according to the representation information included in the path detection message.
As can be seen from the above, in the solutions provided in the above embodiments, before the intermediate network device forwards the path detection packet, the device information of the intermediate network device is added to the path detection packet, so that the controller can accurately obtain the detected forwarding path according to the received path detection packet. In addition, the representation information reflecting the message transmission performance of the intermediate network equipment is added in the path detection message, so that the controller can accurately know the path quality information of each detected forwarding path.
The path detection process is described in detail below with specific embodiments.
Step A: the controller sends a path detection instruction to the source network equipment, and the source network equipment constructs a path detection message according to the path detection instruction.
The path detection instruction is used for indicating a forwarding path between the detection source network device and the destination network device.
Specifically, the source address of the path detection packet constructed by the source network device is the address of the source network device, and the destination address of the path detection packet is the address of the destination network device.
In an embodiment of the present application, each network device in the SDN may be a device supporting an INT function, in this case, the path detection packet may be an INT packet, the Source network device is an INT Source (INT head node), the destination network device is an INT Sink (INT tail node), and the intermediate network device is an INT Transit Hop (INT intermediate node).
In this case, identification information may be added to the INT packet to indicate that the INT packet is an INT packet for detecting a forwarding path, so as to distinguish the INT packet from other INT packets.
And B: the source network equipment adds equipment information of the source network equipment and representation information reflecting the message transmission performance of the source network equipment in the path detection message, and forwards the path detection message after adding the information to the next hop network equipment of the source network equipment through other forwarding interfaces except the interface for receiving the path detection instruction.
For convenience of description, when information is added in the path probe message for each network device, the added information may be referred to as probe metadata. That is, the above-mentioned probe metadata of each network device includes: the device information of the network device and the representation information reflecting the message transmission performance of the network device.
In the case where the path probe message is an INT message, the probe metadata of the source network device may be added in INT METEDATA (INT metadata).
And C: if the address of the next hop network device of the source network device is not the destination address of the path detection packet, for convenience of description, the next hop network device of the source network device is referred to as an intermediate network device, and the intermediate network device adds the detection metadata of the intermediate network device to the path detection packet and forwards the path detection packet with the detection metadata added to the next hop network device of the intermediate network device through other forwarding interfaces except an interface for receiving the path detection packet.
Step D: if the address of the next hop network device of the intermediate network device is not the destination address of the path detection packet, for convenience of description, the next hop network device of the intermediate network device is referred to as a new intermediate network device, and the new intermediate network device adds the detection metadata of the new intermediate network device to the path detection packet, and forwards the path detection packet after adding the detection metadata to the next hop network device of the new intermediate network device through other forwarding interfaces except the interface for receiving the path detection packet.
The "new intermediate network device" is also an intermediate network device in nature, and is described merely to distinguish it from the previous intermediate network device.
After step D is executed, the new intermediate network device becomes an intermediate network device, and therefore, step D may be continuously and repeatedly executed until the address of the next hop network device of the new intermediate network device is the destination address of the path detection packet.
After the source network device creates the path detection message, the path detection message passes through each network device in a certain sequence, and based on this, the detection metadata of the network device can be added in the path detection message according to the sequence that the path detection message passes through each network device, that is, the detection metadata of each network device added in the path detection message is arranged according to the sequence that the path detection message passes through each network device.
Specifically, the detection metadata of each network device may be arranged from front to back according to an arrangement sequence of the path detection packet passing through each network device, or may be arranged from back to front.
For example, after the source network device X1 creates the path probing message, the path probing message sequentially passes through the intermediate network devices X2 and X3, and the probing metadata of the three network devices may be arranged in the path probing message as follows:
probe metadata for X1, probe metadata for X2, probe metadata for X3.
It can also be arranged as follows:
probe metadata for X3, probe metadata for X2, probe metadata for X1.
As can be seen from the above description, in the solution provided in the embodiment of the present application, when forwarding a packet, each network device does not forward the packet according to a destination address included in the packet, but directly forwards the packet to its next-hop network device, that is, its neighbor device.
Step E: if the address of the next hop network device of the intermediate network device is the destination address of the path detection message, it indicates that the next hop network device of the intermediate network device is the destination network device, that is, the path detection message is forwarded to the destination network device, and the destination network device adds the detection metadata of the destination network device in the path detection message and forwards the path detection message after adding the detection metadata to the controller.
The following describes the process of forwarding the packet in the above steps a to E by way of example.
Assume that the next hop network device of network device X1 is network device X2, the next hop network device of network device X2 is network device X3, the next hop network device of network device X3 is network device X4, network device X1 is a source network device, and network device X4 is a destination network device. Then the X1 creates a path probe packet after receiving a path probe command for probing the forwarding path between X1 and X4. The message forwarding process is as follows:
after adding the detection metadata of X1 in the path detection message, the X1 forwards the path detection message to X2;
after adding the detection metadata of X2 in the path detection message, the X2 forwards the path detection message to X3;
after adding the detection metadata of X3 in the path detection message, the X3 forwards the path detection message to X4;
after adding the detection metadata of X4 to the path detection message, the X4 forwards the path detection message to the controller.
It can be seen that after the message forwarding is performed in the above manner, the path detection message received by the controller includes the detection metadata of each network device that the path detection message sequentially passes through.
Step F: the controller arranges the device information recorded in each detection metadata according to the recording sequence of each detection metadata in the path detection message, determines a forwarding path between the source network device and the destination network device, and obtains the path quality information of the determined forwarding path according to the representation information recorded in each detection metadata.
When the detection metadata of the network device are added in the path detection message, the detection metadata are added according to the sequence that the path detection message passes through the network device, so that the record sequence of the detection metadata in the path detection message reflects the sequence that the path detection message passes through the network devices in sequence. In this way, the device information recorded in each detection metadata is sequentially arranged according to the recording order, and a forwarding path between the source network device and the destination network device can be obtained.
It is assumed that the detection metadata of each network device that the path detection message sequentially passes through are arranged in the path detection message in the order from back to front: the probe metadata of X3, the probe metadata of X2, and the probe metadata of X1, that is, the path probe packet passes through X1, X2, and X3. The device information includes an identifier ND _ ID of the network device, an ingress port identifier PIN _ ID, an ingress port address PIN _ ADD, an egress port identifier POUT _ ID, and an egress port address POUT _ ADD of the path probing packet at the network device, and device information D _ INF recorded in each probing metadata is shown in table 1 below.
TABLE 1
ND_ID PIN_ID PIN_ADD POUT_ID POUT_ADD
D_INF1 X1 Port1 Port1 address Port2 Port2 address
D_INF2 X2 Port1 Port1 address Port2 Port2 address
D_INF3 X3 Port3 Port3 address Port4 Port4 address
D _ INF1 in table 1 above represents device information in the probe metadata of network device X1, D _ INF2 represents device information in the probe metadata of network device X2, and D _ INF3 represents device information in the probe metadata of network device X3.
The forwarding path is: network device X1 receives packets from its Port1 and forwards packets from its Port2 to Port1 of network device X2, network device X2 forwards packets from its Port2 to Port3 of network device X3, and network device 3 forwards packets out from its Port 4.
Taking the example that the characterization information includes forwarding delay, the path quality information of the forwarding path may be forwarding delay recorded in each probing metadata, and in addition, the path quality information of the forwarding path may also be an accumulated result of the forwarding delay recorded in each probing metadata.
Taking the example that the characterizing information includes the number of lost packets, the path quality information of the forwarding path may be the number of lost packets recorded in each probing metadata, and the path quality information of the forwarding path may be an accumulated result of the number of lost packets recorded in each probing metadata.
Specifically, the controller may receive a plurality of path detection messages sent by the destination network device, and in this case, the controller may obtain a forwarding path according to each path detection message.
In addition, for the step C, besides determining that the address of the next hop network device of the source network device is not the destination address of the path detection packet, it may also determine whether the device information of the next hop network device of the source network device exists in the path detection packet. And if so, discarding the path detection message.
For the step D, besides determining that the address of the next hop network device of the intermediate network device is not the destination address of the path detection packet, it may also determine whether the device information of the next hop network device of the intermediate network device exists in the path detection packet. And if so, discarding the path detection message.
Specifically, when determining whether the device information of one network device exists in the path detection message, it may be configured to detect whether the identifier of the network device exists in each detection metadata of the path detection message one by one, and if the identifier exists, it indicates that the detection metadata of the network device exists in the path detection message, and then the device information of the network device exists, and if the identifier does not exist, it indicates that the detection metadata of the network device does not exist, and then the device information of the network device does not exist.
The following describes a packet forwarding scheme provided in the embodiment of the present application by using a specific example with reference to fig. 3 and fig. 4.
Referring to fig. 3, a signaling diagram of a path probing method is shown.
Referring to fig. 4, a schematic diagram of a network architecture is shown.
In the SDN-based network shown in fig. 4, a Controller is a Controller, CORE1 and CORE2 are CORE layer switches, Spine1, Spine2 and Spine3 are convergence layer devices, Leaf1, Leaf2, Leaf3, Leaf4, Leaf5 and Leaf6 are access layer devices, and user hosts host10, host20, host30, host50 and host60 are hung under the access layer devices. The routing protocol of the bearer network is an OSPF protocol, the MPLS protocol function is started, and messages are forwarded between Leaf1 and Leaf6 through an MPLS tunnel. In the initial state, each device in the network has opened the OSPF protocol and the MPLS protocol, a routing table and an MPLS tunnel have been established between the Leaf1 and the Leaf6, the traffic of the subscriber host mounted under the Leaf1 and the Leaf6 is running normally, and all the devices support the INT function. The numbers 1, 2, 3, 4, 5, 6 around the respective devices in fig. 4 indicate port numbers of the ports of the respective devices.
If the controller needs to open the conference call service between the Host10 and the Host50, the service requires small time delay, and the smooth conversation is ensured. The controller determines the network devices communicatively connected with the Host10 and the Host50 as Leaf1 and Leaf5, and determines INT Source as Leaf1 and INT Sink as Leaf 5. The controller may send a path probing command, which is an INT probing command, to the Leaf1 through the Netconf protocol to probe a forwarding path between the Leaf1 and the Leaf 5. The path detection instruction carries an address of INT Source and an address of INT Sink, that is, an address of Leaf1 and an address of Leaf 5.
Each network device in the network performs forwarding path detection according to the steps in the signaling diagram shown in fig. 3. The following describes the detection process of the forwarding path by taking a part of network devices in the network shown in fig. 4 as an example.
After receiving the above-mentioned path detection instruction sent by the controller as INT Source, that is, the above-mentioned INT detection instruction, Leaf1 analyzes the address of INT Source and the address of INT Sink, that is, analyzes the address of Leaf1 and the address of Leaf5, constructs a path detection message, the Source address of the path detection message is the address of Leaf1, the destination address is the address of Leaf5, and encapsulates the MPLS label tunnel. The neighbor devices of Leaf1, that is, the next-hop network devices of Leaf1, include: spine1 and Spine 2. Since the Leaf1 is an INT Source, an INT field is added to the path probe message.
The Leaf1 fills the device identifier of the Leaf1 in the INT METEDATA of the path probing message to be forwarded to the Spine1, the Leaf1 obtains the timestamp of the path probing message, the number of lost packets of the Leaf1, the identifier of the ingress Port for receiving the INT probing instruction sent by the controller, the address of the ingress Port, the identifier of the egress Port for forwarding the path probing message to the Spine1, the Port1, and the address of the Port1, so that the operation of adding the probing metadata of the Leaf1 in the path probing message is completed. Then Leaf1 forwards the path probe message after filling data from Port1 Port to Spine 1.
The Leaf1 fills the device identifier of the Leaf1 in the INT METEDATA of the path probing message to be forwarded to the Spine2, the Leaf1 obtains the timestamp of the path probing message, the number of lost packets of the Leaf1, the identifier of the ingress Port for receiving the INT probing instruction sent by the controller, the address of the ingress Port, the identifier of the egress Port for forwarding the path probing message to the Spine2, the Port2, and the address of the Port2, so that the operation of adding the probing metadata of the Leaf1 in the path probing message is completed. Then Leaf1 forwards the path probe message after filling data from Port2 Port to Spine 2.
The last hop network device of Spine2 is Leaf1, and Spine2 is a neighbor device of Leaf 1. After receiving the above-mentioned path probe packet forwarded by Leaf1, Spine2 detects that there is no probe metadata of Spine2 in the packet, and detects that the destination address of the packet is the address of Leaf5, but not the address of Spine2 itself, and continues forwarding path probe, and forwards the path probe packet, because the path probe packet received by Spine2 comes from Leaf1, here, the neighbor device of Spine2, that is, the next hop network device of Spine2 includes: CORE1, CORE2, Leaf2, Leaf3, and Leaf 4.
The Spine2 fills the device identifier of Spine2 in INT METEDATA of the path probing message to be forwarded to CORE1, Spine2 obtains the timestamp of the path probing message, the packet loss number of Spine2, the Port identifier Port1 of the ingress Port for receiving the path probing message forwarded by Leaf1, the address of the Port1 Port, the Port identifier Port5 of the path probing message to CORE1, and the address of the Port5, so as to complete the operation of adding the probing metadata of Spine2 in the path probing message. Then, Spine2 forwards the path probe message after the data is filled to the CORE1 from the Port5 Port.
The Spine2 fills the device identifier of Spine2 in INT METEDATA of the path probing message to be forwarded to CORE2, Spine2 obtains the timestamp of the path probing message, the packet loss number of Spine2, the Port identifier Port1 of the ingress Port for receiving the path probing message forwarded by Leaf1, the address of the Port1 Port, the Port identifier Port6 of the path probing message to CORE2, and the address of the Port6, so as to complete the operation of adding the probing metadata of Spine2 in the path probing message. Then, Spine2 forwards the path probe message after the data is filled to the CORE2 from the Port6 Port.
The process of Spine2 forwarding the path probe message to Leaf2, Leaf3 and Leaf4 is similar to the process of Spine2 forwarding the path probe message to CORE1 and CORE2, and will not be described in detail here.
After receiving the path detection message forwarded by Spine2, the CORE2 detects that the detection metadata of the CORE2 does not exist in the message, detects that the destination address of the message is the address of Leaf5, but not the address of the CORE2, continues forwarding path detection, and forwards the path detection message. Since the path probe message received by the CORE2 is from Spine2, here, the neighbor devices of the CORE2, that is, the next-hop network devices of the CORE2 include: CORE1 and Spine 3. Therefore, the CORE2 needs to forward the path probe message to the CORE1 and the Spine3, respectively.
Take the example that CORE2 forwards the path detection message to Spine 3. The CORE2 fills the device identifier of the CORE2 in INT METEDATA of the path probing message to be forwarded to the Spine3, the CORE2 obtains the timestamp of the path probing message, the packet loss number of the CORE2, the Port identifier Port3 of the ingress Port for receiving the path probing message forwarded by the Spine2, the Port3 Port address, the Port identifier Port1 of the path probing message to be forwarded to the Spine3, and the Port1 Port address, so as to complete the operation of adding the probing metadata of the CORE2 in the path probing message. The CORE2 then forwards the filled path probe message from the Port1 Port to Spine 3.
After receiving the path detection message forwarded by CORE2, Spine3 detects that the detection metadata of Spine3 does not exist in the message, and detects that the destination address of the message is the address of Leaf5, but not the address of Spine3, continues forwarding path detection, and forwards the path detection message. Since the path probe packet received by the Spine3 is from the CORE2, here, the neighbor device of Spine3, that is, the next-hop network device of Spine3 includes: CORE1, Leaf5, and Leaf 6. Therefore, Spine3 needs to forward the path probe message to CORE1, Leaf5 and Leaf6, respectively.
Take the example that Spine3 forwards the path probe message to Leaf 5. The Spine3 fills the device identifier of Spine3 in INT METEDATA of the path probing message to be forwarded to Leaf5, Spine3 obtains the timestamp of the path probing message, the packet loss number of Spine3, the Port identifier Port3 of the ingress Port for receiving the path probing message forwarded by CORE2, the address of the Port3 Port, the Port identifier Port1 of the path probing message to Leaf5, and the address of the Port1, so as to complete the operation of adding the probing metadata of Spine3 in the path probing message. Then, Spine3 forwards the path probe message after filling data from Port1 Port to Leaf 5.
After receiving the path detection message forwarded by Spine3, Leaf5 detects that the detection metadata of Leaf5 does not exist in the message, and detects that the destination address of the message is the address of the message, thereby completing the forwarding path detection. The Leaf5 fills the device identifier of Leaf5 in the INT METEDATA of the path probing packet, the Leaf5 obtains the timestamp of the path probing packet, the number of packets lost by the Leaf5, the Port identifier Port1 of the ingress Port that receives the path probing packet forwarded by the Spine3, the address of the Port1 Port, the Port identifier that sends the path probing packet to the controller, and the address of the egress Port, so as to complete the operation of adding the probing metadata of the Leaf5 in the path probing packet. The Leaf5 then forwards the filled path probe message from the Port1 Port to the controller.
This completes a forwarding path detection. The forwarding path is:
Leaf1-Spine2-CORE2-Spine3-Leaf5。
in addition, on the basis that the Leaf1 forwards the path detection message to the Leaf2 and the Leaf2 forwards the path detection message to the CORE1, the CORE1 may forward the path detection message to the Leaf1 after receiving the path detection message forwarded by the Leaf2, the Leaf1 may forward the detection message to the Leaf2 after receiving the path detection message forwarded by the CORE1, and the Leaf2 may forward the path detection message to the Leaf2 after receiving the path detection message forwarded by the Leaf 1. The procedure of forwarding the path probe message is the same as the aforementioned procedure, and is not described in detail here.
Next, take the example that Leaf2 forwards the path probe message to Spine 2. The Leaf2 fills the device identifier of Leaf2 in INT METEDATA of the path probing packet to be forwarded to Spine2, the Leaf2 obtains the timestamp of the path probing packet, the number of packets lost by Leaf2, the Port identifier Port1 of the ingress Port receiving the path probing packet forwarded by Spine1, the address of the Port1 Port, the Port identifier Port2 of the path probing packet to Spine2, and the address of the Port2, so as to complete the operation of adding the probing metadata of Leaf2 in the path probing packet. Then Leaf2 forwards the path probe message after filling data from Port2 Port to Spine 2.
On the basis, after receiving the path probe message forwarded by Leaf2, Spine2 detects that the destination address of the message is the address of Leaf5, but not the address of Spine2 itself, but detects that the device identifier of Spine2 exists in INT METEDATA in the message, which indicates that Spine2 receives the path probe message along the path, a loop occurs in the path, and the message is discarded. That is, loops have been detected for Leaf1-Spine2-CORE1-Spine1-Leaf2-Spine 2.
In addition, each network device in the network may forward the path probing message to its neighboring device according to the above-mentioned manner of forwarding the message by Leaf1, Spine2, and Leaf2, so as to probe multiple non-loop forwarding paths from Leaf1 to Leaf 5. That is, eventually the Leaf5 will send multiple path probe messages to the controller. Each path probe message includes probe metadata for each network device through which the path probe message travels from the Leaf1 to the Leaf 5.
The controller may obtain one forwarding path according to each received path probing packet, for example, the forwarding path obtained by the controller in fig. 4 may include:
leaf1-Spine1-CORE1-Spine3-Leaf5, Leaf1-Spine2-CORE2-Spine3-Leaf5, Leaf1-Spine2-CORE1-Spine3-Leaf5, Leaf1-Spine2-CORE1-CORE2-Spine3-Leaf5, and the like.
The controller counts the total forwarding delay and the total packet loss number of each forwarding path, and selects a forwarding path with the minimum forwarding delay and the packet loss number meeting the service requirement of the teleconference, for example, the selected path is Leaf1-Spine2-CORE2-Spine3-Leaf 5. The controller allocates a static label for the forwarding path, creates a static MPLS label tunnel, and issues a forwarding table of the label on each network device along the selected forwarding path, where the forwarding table may be an Openflow MPLS label flow table or a Netconf static label forwarding table. In addition, the controller issues a policy flow table to the Leaf1 device, the matching entry is the telephone service address of Host10, and the action entry specifies a tunnel, that is, a Leaf1 to Leaf5 path tunnel represented by the selected forwarding path. So that traffic packets from Leaf1 to Leaf5 will be tunneled along the static MPLS label.
Corresponding to the message forwarding method, the embodiment of the application also provides a message forwarding device.
Referring to fig. 5, a schematic structural diagram of a packet forwarding apparatus is provided, where the apparatus is applied to a controller, the controller is in a software defined network SDN, the SDN further includes a source network device, an intermediate network device, and a destination network device, and multiple forwarding paths are formed between the source network device and the destination network device through different intermediate network devices; the device comprises:
a first message receiving module 501, configured to receive multiple path detection messages sent by the destination network device, where each path detection message includes path quality information of one of the multiple forwarding paths;
a path selection module 502, configured to select a target forwarding path that meets the forwarding requirement of the service flow according to the path quality information of each forwarding path;
a route sending module 503, configured to send a policy route matched with the target forwarding path to the source network device, so that when the source network device receives a service packet of the service flow, the service packet is transmitted in the target forwarding path according to the policy route.
In an embodiment of the present application, the message forwarding apparatus may further include:
an instruction sending module, configured to send an in-band network remote monitoring INT detection instruction to the source network device through a NetConf protocol before the first packet receiving module 501 receives the multiple path detection packets sent by the destination network device, so that the source network device generates an INT packet, and forwards the INT packet to a next-hop network device of the source network device through a three-layer forwarding interface except an interface that receives the INT detection instruction.
In an embodiment of the present application, the path detection packet further includes: the device information of each network device in the forwarding path corresponding to the path detection message; the device information includes: the identification of the network equipment, the inlet port identification, the inlet port address, the outlet port identification and the outlet port address of the path detection message on the network equipment;
the path quality information includes: the representation information of the message transmission performance of each network device is reflected; the characterization information includes: and the network equipment receives the timestamp of the path detection message and/or the bandwidth information of the network equipment.
In an embodiment of the present application, the path selecting module 502 is specifically configured to:
determining forwarding paths with path quality higher than preset path quality according to the path quality information of each forwarding path, and selecting any path from the determined paths as a target forwarding path meeting the forwarding requirement of the service flow;
or
And determining the forwarding path with the highest path quality according to the path quality information of each forwarding path, and selecting any path from the determined paths as a target forwarding path meeting the forwarding requirement of the service flow.
As can be seen from the above, when the solutions provided in the above embodiments are applied to message forwarding, after receiving multiple path detection messages sent by a destination network device, a controller selects a target forwarding path that meets a service flow forwarding requirement according to path quality information included in each path detection message, and sends a policy route matched with the target forwarding path to a source network device, so that when the source network device receives a service message of a service flow, the service message is transmitted in the target forwarding path according to the policy route. It can be seen that in the solutions provided in the embodiments, the target forwarding path for forwarding the service packet is selected according to the forwarding requirement of the service flow forwarding requirement, so that the target forwarding path can maximally meet the forwarding requirement of the service packet under the current situation, and thus when the solutions provided in the embodiments are applied to packet forwarding, the quality of transmission of the service packet between network devices can be improved.
Referring to fig. 6, a schematic structural diagram of another packet forwarding apparatus is provided, where the apparatus is applied to an intermediate network device in an SDN, and the SDN further includes: the network system comprises a controller, source network equipment and destination network equipment, wherein a plurality of forwarding paths are formed between the source network equipment and the destination network equipment through different intermediate network equipment; the device comprises:
a second message receiving module 601, configured to receive a path detection message sent by a previous hop network device of the intermediate network device, where the path detection message includes a destination IP address;
a message forwarding module 602, configured to, when the destination IP address is not the IP address of the intermediate network device, add device information of the intermediate network device and characterization information that reflects the message transmission performance of the intermediate network device in the path detection message, and forward the path detection message after adding information to a next-hop network device of the intermediate network device through another forwarding interface except an interface that receives the path detection message.
In an embodiment of the present application, the packet forwarding module 602 is specifically configured to:
when the destination IP address is not the IP address of the intermediate network device and the path detection message does not include the device information of the intermediate network device, adding the device information of the intermediate network device and the representation information reflecting the message transmission performance of the intermediate network device to the path detection message, and forwarding the path detection message after adding the information to the next hop network device of the intermediate network device through other forwarding interfaces except the interface receiving the path detection message.
In an embodiment of the present application, the packet forwarding apparatus may further include:
and the message discarding module is used for discarding the path detection message when the destination IP address is not the IP address of the intermediate network equipment and the path detection message contains the equipment information of the intermediate network equipment.
As can be seen from the above, in the solutions provided in the above embodiments, before the intermediate network device forwards the path detection packet, the device information of the intermediate network device is added to the path detection packet, so that the controller can accurately obtain the detected forwarding path according to the received path detection packet. In addition, the representation information reflecting the message transmission performance of the intermediate network equipment is added in the path detection message, so that the controller can accurately know the path quality information of each detected forwarding path.
Corresponding to the message forwarding method, the embodiment of the application also provides a controller.
Referring to fig. 7, there is provided a schematic structural diagram of a controller in an SDN, where the SDN further includes a source network device, an intermediate network device, and a destination network device, and multiple forwarding paths are formed between the source network device and the destination network device through different intermediate network devices, and the controller includes: a processor 701 and a machine-readable storage medium 702, the machine-readable storage medium 702 storing machine-executable instructions executable by the processor 701, the processor 701 caused by the machine-executable instructions to: the message forwarding method applied to the controller is realized.
When the controller provided by this embodiment is applied to message forwarding, after receiving multiple path detection messages sent by a destination network device, the controller selects a target forwarding path meeting the forwarding requirement of a service flow according to path quality information included in each path detection message, and sends a policy route matched with the target forwarding path to a source network device. It can be seen that in the scheme provided in this embodiment, the target forwarding path for forwarding the service packet is selected according to the forwarding requirement of the service flow forwarding requirement, so that the target forwarding path can maximally meet the forwarding requirement of the service packet under the current condition, and thus when the scheme provided in this embodiment is applied to packet forwarding, the quality of transmission of the service packet between network devices can be improved.
In an embodiment of the present application, there is further provided a network device, serving as an intermediate network device in an SDN, where the SDN further includes: the network system comprises a controller, source network equipment and destination network equipment, wherein a plurality of forwarding paths are formed between the source network equipment and the destination network equipment through different intermediate network equipment; the intermediate network device includes: a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor, the processor being caused by the machine-executable instructions to: the message forwarding method applied to the intermediate network equipment is realized.
When the intermediate network device provided by this embodiment is used to forward a packet, before the intermediate network device forwards a path detection packet, the device information of the intermediate network device is added to the path detection packet, so that the controller can accurately obtain a detected forwarding path according to the received path detection packet. In addition, the representation information reflecting the message transmission performance of the intermediate network equipment is added in the path detection message, so that the controller can accurately know the path quality information of each detected forwarding path.
Corresponding to the foregoing message forwarding method, an embodiment of the present application further provides a machine-readable storage medium storing machine-executable instructions, and when the machine-executable instructions are called and executed by a processor, the machine-executable instructions cause the processor to: the message forwarding method applied to the controller is realized.
Embodiments of the present application also provide a machine-readable storage medium storing machine-executable instructions that, when invoked and executed by a processor, cause the processor to: the message forwarding method applied to the intermediate network equipment is realized.
It should be noted that the machine-readable storage medium may include a Random Access Memory (RAM) and a Non-Volatile Memory (NVM), such as at least one disk Memory. Alternatively, the machine-readable storage medium may be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but also Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components.
In this document, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the apparatus, controller, and machine-readable storage medium embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and in relation to the description, reference may be made to some of the method embodiments.
The above description is only for the preferred embodiment of the present application, and is not intended to limit the scope of the present application. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application are included in the protection scope of the present application.

Claims (14)

1. A message forwarding method is applied to a controller, wherein the controller is in a Software Defined Network (SDN), the SDN further comprises a source network device, an intermediate network device and a destination network device, and a plurality of forwarding paths are formed between the source network device and the destination network device through different intermediate network devices; the method comprises the following steps:
receiving a plurality of path detection messages sent by the destination network equipment, wherein each path detection message comprises path quality information of one of the plurality of forwarding paths;
selecting a target forwarding path meeting the forwarding requirement of the service flow according to the path quality information of each forwarding path;
and sending a policy route matched with the target forwarding path to the source network equipment, so that when the source network equipment receives a service message of the service flow, the service message is transmitted in the target forwarding path according to the policy route.
2. The method according to claim 1, wherein before said receiving the plurality of path probing messages sent by the destination network device, further comprising:
and sending an in-band network remote monitoring INT detection instruction to the source network equipment through a NetConf protocol so that the source network equipment generates an INT message, and forwarding the INT message to next-hop network equipment of the source network equipment through other three-layer forwarding interfaces except an interface for receiving the INT detection instruction.
3. The method of claim 1,
the path detection packet further includes: the device information of each network device in the forwarding path corresponding to the path detection message; the device information includes: the identification of the network equipment, the inlet port identification, the inlet port address, the outlet port identification and the outlet port address of the path detection message on the network equipment;
the path quality information includes: the representation information of the message transmission performance of each network device is reflected; the characterization information includes: and the network equipment receives the timestamp of the path detection message and/or the bandwidth information of the network equipment.
4. The method according to any one of claims 1 to 3, wherein the selecting a target forwarding path that meets the forwarding requirement of the service flow according to the path quality information of each forwarding path comprises:
determining forwarding paths with path quality higher than preset path quality according to the path quality information of each forwarding path, and selecting any path from the determined paths as a target forwarding path meeting the forwarding requirement of the service flow;
or
And determining the forwarding path with the highest path quality according to the path quality information of each forwarding path, and selecting any path from the determined paths as a target forwarding path meeting the forwarding requirement of the service flow.
5. A message forwarding method is applied to an intermediate network device in an SDN, and the SDN further includes: the network system comprises a controller, source network equipment and destination network equipment, wherein a plurality of forwarding paths are formed between the source network equipment and the destination network equipment through different intermediate network equipment; the method comprises the following steps:
receiving a path detection message sent by a previous hop network device of the intermediate network device, wherein the path detection message comprises a destination IP address;
when the destination IP address is not the IP address of the intermediate network equipment, adding equipment information of the intermediate network equipment and representation information reflecting the message transmission performance of the intermediate network equipment in the path detection message, and forwarding the path detection message after adding the information to next hop network equipment of the intermediate network equipment through other forwarding interfaces except an interface for receiving the path detection message;
when the address of the next hop network device of the intermediate device is the destination IP address, the next hop network device of the intermediate device adds the device information of the next hop network device of the intermediate device and the characterization information reflecting the message transmission performance of the next hop network device of the intermediate device to the path detection message, and forwards the path detection message after adding the information to the controller.
6. The method according to claim 5, wherein when the destination IP address is not the IP address of the intermediate network device, adding the device information of the intermediate network device and the characterization information reflecting the message transmission performance of the intermediate network device to the path probing message includes:
and when the destination IP address is not the IP address of the intermediate network equipment and the path detection message does not contain the equipment information of the intermediate network equipment, adding the equipment information of the intermediate network equipment and the representation information reflecting the message transmission performance of the intermediate network equipment into the path detection message.
7. The method of claim 6, further comprising:
and when the destination IP address is not the IP address of the intermediate network equipment and the path detection message contains the equipment information of the intermediate network equipment, discarding the path detection message.
8. The message forwarding device is applied to a controller, the controller is in a Software Defined Network (SDN), the SDN further comprises a source network device, an intermediate network device and a destination network device, and a plurality of forwarding paths are formed between the source network device and the destination network device through different intermediate network devices; the device comprises:
a first message receiving module, configured to receive multiple path detection messages sent by the destination network device, where each path detection message includes path quality information of one of the multiple forwarding paths;
the path selection module is used for selecting a target forwarding path meeting the forwarding requirement of the service flow according to the path quality information of each forwarding path;
and the route sending module is used for sending a strategy route matched with the target forwarding path to the source network equipment so that the source network equipment transmits the service message in the target forwarding path according to the strategy route when receiving the service message of the service flow.
9. The apparatus of claim 8, further comprising:
and the instruction sending module is used for sending an in-band network remote monitoring INT detection instruction to the source network equipment through a NetConf protocol before the first message receiving module receives the plurality of path detection messages sent by the destination network equipment, so that the source network equipment generates the INT message, and forwards the INT message to next-hop network equipment of the source network equipment through other three-layer forwarding interfaces except an interface for receiving the INT detection instruction.
10. The apparatus of claim 8,
the path detection packet further includes: the device information of each network device in the forwarding path corresponding to the path detection message; the device information includes: the identification of the network equipment, the inlet port identification, the inlet port address, the outlet port identification and the outlet port address of the path detection message on the network equipment;
the path quality information includes: the representation information of the message transmission performance of each network device is reflected; the characterization information includes: and the network equipment receives the timestamp of the path detection message and/or the bandwidth information of the network equipment.
11. The apparatus according to any one of claims 8-10, wherein the path selection module is specifically configured to:
determining forwarding paths with path quality higher than preset path quality according to the path quality information of each forwarding path, and selecting any path from the determined paths as a target forwarding path meeting the forwarding requirement of the service flow;
or
And determining the forwarding path with the highest path quality according to the path quality information of each forwarding path, and selecting any path from the determined paths as a target forwarding path meeting the forwarding requirement of the service flow.
12. A packet forwarding apparatus, applied to an intermediate network device in an SDN, wherein the SDN further includes: the network system comprises a controller, source network equipment and destination network equipment, wherein a plurality of forwarding paths are formed between the source network equipment and the destination network equipment through different intermediate network equipment; the device comprises:
a second message receiving module, configured to receive a path detection message sent by a previous-hop network device of the intermediate network device, where the path detection message includes a destination IP address;
a packet forwarding module, configured to, when the destination IP address is not the IP address of the intermediate network device, add device information of the intermediate network device and characterization information that reflects packet transmission performance of the intermediate network device to the path detection packet, and forward the path detection packet after adding information to a next-hop network device of the intermediate network device through another forwarding interface except an interface that receives the path detection packet;
when the address of the next hop network device of the intermediate device is the destination IP address, the next hop network device of the intermediate device adds the device information of the next hop network device of the intermediate device and the characterization information reflecting the message transmission performance of the next hop network device of the intermediate device to the path detection message, and forwards the path detection message after adding the information to the controller.
13. The apparatus according to claim 12, wherein the packet forwarding module is specifically configured to:
when the destination IP address is not the IP address of the intermediate network device and the path detection message does not include the device information of the intermediate network device, adding the device information of the intermediate network device and the representation information reflecting the message transmission performance of the intermediate network device to the path detection message, and forwarding the path detection message after adding the information to the next hop network device of the intermediate network device through other forwarding interfaces except the interface receiving the path detection message.
14. The apparatus of claim 13, further comprising:
and the message discarding module is used for discarding the path detection message when the destination IP address is not the IP address of the intermediate network equipment and the path detection message contains the equipment information of the intermediate network equipment.
CN201911018912.0A 2019-10-24 2019-10-24 Message forwarding method and device Active CN110752993B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911018912.0A CN110752993B (en) 2019-10-24 2019-10-24 Message forwarding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911018912.0A CN110752993B (en) 2019-10-24 2019-10-24 Message forwarding method and device

Publications (2)

Publication Number Publication Date
CN110752993A CN110752993A (en) 2020-02-04
CN110752993B true CN110752993B (en) 2022-02-25

Family

ID=69279795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911018912.0A Active CN110752993B (en) 2019-10-24 2019-10-24 Message forwarding method and device

Country Status (1)

Country Link
CN (1) CN110752993B (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117640489A (en) * 2020-02-21 2024-03-01 华为技术有限公司 Method, equipment and system for sending message
CN113328902B (en) * 2020-02-29 2023-10-24 华为技术有限公司 Network performance detection method and device and network equipment
CN111654440B (en) * 2020-02-29 2022-05-27 新华三技术有限公司合肥分公司 Intelligent routing method, electronic equipment and storage medium
CN113542114B (en) * 2020-04-20 2022-11-11 华为技术有限公司 Route configuration method and route configuration device
CN111884872B (en) * 2020-07-01 2022-05-06 中国联合网络通信集团有限公司 Performance test method and device for service path
CN114157595B (en) * 2020-09-08 2023-07-04 超聚变数字技术有限公司 Communication system, data processing method and related equipment
JP2023542219A (en) * 2020-09-23 2023-10-05 華為技術有限公司 Packet transmission method and device
CN112437017A (en) * 2020-11-17 2021-03-02 锐捷网络股份有限公司 Data flow control system, method, device, equipment and medium
CN112491700B (en) * 2020-12-14 2023-05-02 成都颜创启新信息技术有限公司 Network path adjustment method, system, device, electronic equipment and storage medium
CN115529638A (en) * 2021-06-25 2022-12-27 华为技术有限公司 Message processing method and related equipment
CN114039888B (en) * 2021-09-26 2023-08-22 新华三大数据技术有限公司 Time delay measurement method and device
CN113872833B (en) * 2021-09-30 2023-11-07 新华三信息安全技术有限公司 Method, system and equipment for detecting path accessibility
CN114143254A (en) * 2021-11-30 2022-03-04 锐捷网络股份有限公司 Message forwarding method and device, electronic equipment and computer readable storage medium
CN114900455B (en) * 2022-05-13 2024-06-11 北京字节跳动网络技术有限公司 Message transmission method, system, equipment and storage medium
CN115550456A (en) * 2022-09-13 2022-12-30 中国联合网络通信集团有限公司 Service scheduling method and device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957158A (en) * 2014-04-14 2014-07-30 华为技术有限公司 Determining method and device for flow forwarding path and communication system
CN106209623A (en) * 2016-07-08 2016-12-07 华为技术有限公司 Determine method and the control equipment of forward-path
CN106656847A (en) * 2017-03-10 2017-05-10 重庆邮电大学 Software defined network (SDN) load balancing method with highest network utility
KR20170128892A (en) * 2016-05-16 2017-11-24 인하대학교 산학협력단 Packet loss link detection method in multicast of sdn
CN107547293A (en) * 2016-06-29 2018-01-05 新华三技术有限公司 A kind of flow path detection method and device
CN108011837A (en) * 2017-11-21 2018-05-08 新华三技术有限公司 Message processing method and device
CN108111432A (en) * 2017-12-27 2018-06-01 新华三技术有限公司 Message forwarding method and device
CN109194581A (en) * 2018-08-24 2019-01-11 新华三技术有限公司 Message processing method and device
CN109309605A (en) * 2018-11-26 2019-02-05 北京邮电大学 Band network telemetry system and method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957158A (en) * 2014-04-14 2014-07-30 华为技术有限公司 Determining method and device for flow forwarding path and communication system
KR20170128892A (en) * 2016-05-16 2017-11-24 인하대학교 산학협력단 Packet loss link detection method in multicast of sdn
CN107547293A (en) * 2016-06-29 2018-01-05 新华三技术有限公司 A kind of flow path detection method and device
CN106209623A (en) * 2016-07-08 2016-12-07 华为技术有限公司 Determine method and the control equipment of forward-path
CN106656847A (en) * 2017-03-10 2017-05-10 重庆邮电大学 Software defined network (SDN) load balancing method with highest network utility
CN108011837A (en) * 2017-11-21 2018-05-08 新华三技术有限公司 Message processing method and device
CN108111432A (en) * 2017-12-27 2018-06-01 新华三技术有限公司 Message forwarding method and device
CN109194581A (en) * 2018-08-24 2019-01-11 新华三技术有限公司 Message processing method and device
CN109309605A (en) * 2018-11-26 2019-02-05 北京邮电大学 Band network telemetry system and method

Also Published As

Publication number Publication date
CN110752993A (en) 2020-02-04

Similar Documents

Publication Publication Date Title
CN110752993B (en) Message forwarding method and device
KR102071439B1 (en) Method and network node for obtaining the target transmission path
US7907520B2 (en) Path testing and switching
US8374164B2 (en) Detection of specific BFD path failures
EP2663034B1 (en) Method for negotiating flow label, and related device and system thereof
CN103348630B (en) For controlling the method selected in multicast network
WO2020086160A1 (en) Scalable distributed end-to-end performance delay measurement for segment routing policies
TWI427972B (en) Network device with creating path data and method thereof
US20050259589A1 (en) Logical services loopback
US20080019265A1 (en) Systems and methods for configuring a network to include redundant upstream connections using an upstream control protocol
US20130088951A1 (en) Multicast packet transmission method, related device and system
WO2022062931A1 (en) Network anomaly determination method and apparatus
CN113382437A (en) Follow-up flow detection method and device
US8625406B2 (en) Multicast fast re-route
WO2020156090A1 (en) Method, device, and system for establishing cross-domain forwarding path
JP7124206B2 (en) Packet processing methods and gateway devices
US20120134365A1 (en) Method and network device for associated channel capability negotiation
WO2018219300A1 (en) Method and apparatus for packet exchange in sdn
WO2009009992A1 (en) A method, system, source end and destination end for indexing the label switching path by means of a label
CN110971331A (en) Hop-by-hop time delay measurement method and system
US9203731B2 (en) Mechanism to implement a layer 2 gateway
US9825850B2 (en) Network controlling method and network controller
US11582053B2 (en) Data multicast implementation method, apparatus, and system
US9276716B2 (en) Sensor data transport and consolidation within communication nodes in a network
WO2020168982A1 (en) Method for sending and obtaining assert message and network node

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