CN113055293B - Routing method and device in software defined wide area network and communication system - Google Patents

Routing method and device in software defined wide area network and communication system Download PDF

Info

Publication number
CN113055293B
CN113055293B CN201911380368.4A CN201911380368A CN113055293B CN 113055293 B CN113055293 B CN 113055293B CN 201911380368 A CN201911380368 A CN 201911380368A CN 113055293 B CN113055293 B CN 113055293B
Authority
CN
China
Prior art keywords
tunnel
service
path
path constraint
constraint information
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
CN201911380368.4A
Other languages
Chinese (zh)
Other versions
CN113055293A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201911380368.4A priority Critical patent/CN113055293B/en
Publication of CN113055293A publication Critical patent/CN113055293A/en
Application granted granted Critical
Publication of CN113055293B publication Critical patent/CN113055293B/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/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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
    • 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

Abstract

A method and device for selecting route in software defined wide area network, communication system and computer storage medium are disclosed. The first device receives a first data message sent by the second device through the first tunnel, wherein the first device is an outlet device of the first tunnel, and the second device is an inlet device of the first tunnel. The first equipment determines first path constraint information corresponding to the first service according to the first data message, wherein the first path constraint information is used for determining first path constraint conditions met by a first path for transmitting the first service. The first device determines that the first device does not meet the constraint condition of the first path, the first device sends a first feedback message to the second device, the first feedback message carries first indication information, and the first indication information is used for indicating to the second device that the first device cannot serve as a node for transmitting the first service on the first path. The method and the device improve the instantaneity of acquiring the message transmission path by the network equipment.

Description

Routing method and device in software defined wide area network and communication system
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method and an apparatus for routing in a software defined wan, and a communications system.
Background
Currently communication networks are typically managed by a network control device, which can determine the transmission path of messages in the communication network. The network control device is connected with each network device in the communication network. Each network device respectively acquires the state information of the tunnel where the outlet port is located, and sends the state information of the tunnel to the network control device. The network control device determines a message transmission path in the communication network according to the network topology information and the received state information of the tunnel. And the network control equipment sends the determined message transmission path to each network equipment, so that each network equipment adopts the message transmission path determined by the network control equipment to transmit the message. The state information of the tunnel comprises information such as tunnel bandwidth, transmission delay of the tunnel and the like.
However, the network control device determines the message transmission path in the communication network, the network device needs to send the state information of the tunnel to the network control device, and the network control device needs to send the determined message transmission path to each network device, so that the interaction process between the network control device and each network device is complex, the whole process from the process of obtaining the state information of the tunnel to the process of obtaining the message transmission path by the network device is long, and the real-time performance of obtaining the message transmission path by the network device is poor.
Disclosure of Invention
The application provides a routing method and device in a software defined wide area network, a communication system and a computer storage medium, which can solve the problem of poor real-time performance of a network device for acquiring a message transmission path.
In a first aspect, a routing method in an SD-WAN is provided, the method comprising: the first device receives a first data message sent by the second device through the first tunnel, wherein the first device is an outlet device of the first tunnel, and the second device is an inlet device of the first tunnel. The first equipment determines first path constraint information corresponding to the first service according to the first data message, wherein the first path constraint information is used for determining first path constraint conditions met by a first path for transmitting the first service. The first device determines that the first device does not meet the constraint condition of the first path, the first device sends a first feedback message to the second device, the first feedback message carries first indication information, and the first indication information is used for indicating to the second device that the first device cannot serve as a node for transmitting the first service on the first path.
In the application, the first device determines first path constraint information corresponding to the first service according to the received first data message, and then when the first device determines that the first path constraint information is not satisfied by the first device according to the first path constraint information, the first device can send a first feedback message to the second device so as to indicate to the second device that the first device cannot serve as a node for transmitting the first service on the first path. The first device and the second device can select the first path through interaction, the first device and the second device do not need to interact with the control device, and dynamic routing is realized on a data plane, so that routing efficiency is improved. Meanwhile, the data transmission quantity between the first equipment and the control equipment as well as between the second equipment and the control equipment is reduced, and the network overhead is reduced.
The first device determines that the first device does not meet a first path constraint condition corresponding to the first path constraint information, that is, the first device determines that the first device cannot serve as a node for transmitting the first service on the first path.
Optionally, the first path constraint information includes one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, and bandwidth occupancy.
In the first case, the first device is an intermediate device in the SD-WAN for transmitting service messages of the first service:
when the first path constraint information includes bandwidth, delay, jitter, packet loss rate, bit error rate and bandwidth occupancy, the first path constraint condition includes: a target tunnel meeting the bandwidth included in the first path constraint information exists in a tunnel taking the first equipment as an entrance equipment, and the target tunnel can reach an exit equipment for transmitting a service message of the first service in the SD-WAN; the actual transmission delay, the actual jitter, the actual packet loss rate, the actual error rate and the actual bandwidth occupancy rate of the first data packet on the first tunnel respectively meet the delay, the jitter, the packet loss rate, the error rate and the bandwidth occupancy rate included in the first path constraint information. When a target tunnel meeting the bandwidth included in the first path constraint information does not exist in a tunnel taking the first device as an entrance device, the actual transmission delay of the first data message on the first tunnel is larger than the delay included in the first path constraint information, the actual jitter on the first tunnel exceeds the jitter range included in the first path constraint information, the actual packet loss rate on the first tunnel is higher than the packet loss rate included in the first path constraint information, the actual error rate on the first tunnel is larger than the error rate included in the first path constraint information, and/or the actual bandwidth occupancy rate of other services on the first tunnel is larger than the bandwidth occupancy rate included in the first path constraint information, the first device determines that the path constraint condition corresponding to the first path constraint information is not met.
In the second case, the first device is an egress device in the SD-WAN for transmitting service messages of the first service:
when the first path constraint information comprises time delay, jitter, packet loss rate, error rate and bandwidth occupancy rate, the first path constraint condition corresponding to the first path constraint information comprises: the actual transmission delay, the actual jitter, the actual packet loss rate, the actual error rate and the actual bandwidth occupancy rate of the first data packet on the first tunnel respectively meet the delay, the jitter, the packet loss rate, the error rate and the bandwidth occupancy rate included in the first path constraint information. When the actual transmission delay of the first data message on the first tunnel is larger than the delay included in the first path constraint information, the actual jitter on the first tunnel exceeds the jitter range included in the first path constraint information, the actual packet loss rate on the first tunnel is higher than the packet loss rate included in the first path constraint information, the actual error rate on the first tunnel is larger than the error rate included in the first path constraint information, and/or the actual bandwidth occupancy rate of other services on the first tunnel is larger than the bandwidth occupancy rate included in the first path constraint information, the first equipment determines that the first path constraint condition corresponding to the first path constraint information is not satisfied.
When the first path constraint information includes only bandwidth, the first device may default itself to satisfy the first path constraint condition. And when the first equipment receives the first data message, determining that the route selection of the first service is completed, and obtaining a first route for transmitting the first service in the SD-WAN.
Optionally, the method may further include: the first device receives a second data message sent by a third device through the second tunnel, the first device is an exit device of the second tunnel, and the third device is an entrance device of the second tunnel. And the first equipment determines second path constraint information corresponding to the second service according to the second data message, wherein the second path constraint information is used for determining second path constraint conditions met by a second path for transmitting the second service. The first device determines that the first device meets the second path constraint condition, the first device forwards the updated second data message to the fourth device through the third tunnel, the first device is an entrance device of the third tunnel, and the fourth device is an exit device of the third tunnel.
The first device determines that the first device itself meets a second path constraint condition corresponding to the second path constraint information, that is, the first device determines that the first device itself can serve as a node for transmitting the second service on the second path.
In the method, the first device determines the second path constraint information corresponding to the second service according to the received second data message, and then when the first device determines that the first device meets the second path condition according to the second path constraint information, the first device can send the updated second data message to the fourth device, and the first device can select the second path without interaction with the control device, so that the routing efficiency is improved. Meanwhile, the data transmission quantity between the first equipment and the control equipment is reduced, and the network overhead is reduced.
In the first case, the first device is an intermediate device in the SD-WAN for transmitting service messages of the second service:
when the second path constraint information includes bandwidth, delay, jitter, packet loss rate, bit error rate and bandwidth occupancy, the second path constraint condition includes: a target tunnel meeting the bandwidth included by the second path constraint information exists in a tunnel taking the first equipment as an entrance equipment, and the target tunnel can reach an exit equipment for transmitting a service message of the second service in the SD-WAN; the actual transmission delay, the actual jitter, the actual packet loss rate, the actual error rate and the actual bandwidth occupancy of the second data packet on the second tunnel respectively meet the delay, the jitter, the packet loss rate, the error rate and the bandwidth occupancy included in the second path constraint information. When a target tunnel meeting the bandwidth included in the second path constraint information exists in the tunnel taking the first device as the entrance device, the actual transmission delay of the second data message on the second tunnel is smaller than the delay included in the second path constraint information, the actual jitter on the second tunnel is in the jitter range included in the second path constraint information, the actual packet loss rate on the second tunnel is not higher than the packet loss rate included in the second path constraint information, the actual error rate on the second tunnel is smaller than or equal to the error rate included in the second path constraint information, and the actual bandwidth occupancy rate of other services on the second tunnel is smaller than or equal to the bandwidth occupancy rate included in the second path constraint information, the first device determines that the second path constraint condition is met.
In the second case, the first device is an egress device in the SD-WAN for transmitting service messages of the second service:
when the second path constraint information includes delay, jitter, packet loss rate, bit error rate and bandwidth occupancy, the second path constraint condition includes: the actual transmission delay, the actual jitter, the actual packet loss rate, the actual error rate and the actual bandwidth occupancy of the second data packet on the second tunnel respectively meet the delay, the jitter, the packet loss rate, the error rate and the bandwidth occupancy included in the second path constraint information. When the actual transmission delay of the second data message on the second tunnel is smaller than or equal to the delay included in the second path constraint information, the actual jitter on the second tunnel is in the jitter range included in the second path constraint information, the actual packet loss rate on the second tunnel is not higher than the packet loss rate included in the second path constraint information, the actual error rate on the second tunnel is smaller than or equal to the error rate included in the second path constraint information, and the actual bandwidth occupancy rate of other services on the second tunnel is smaller than or equal to the bandwidth occupancy rate included in the second path constraint information, the first device determines that the second path constraint condition is satisfied.
When the second path constraint information only includes bandwidth, the first device may default that the second path constraint condition is satisfied, and when the first device receives the second data packet, it determines that the routing of the second service is completed, so as to obtain a second path for transmitting the second service in the SD-WAN.
Optionally, the method further comprises: the first device receives a second feedback message sent by the fourth device, wherein the second feedback message carries second indication information, and the second indication information is used for indicating to the first device that the fourth device cannot be used as a node for transmitting a second service on a second path. And the first device determines that the fourth device does not meet the second path constraint condition according to the second indication information.
For example, when the third tunnel is a bidirectional tunnel, the fourth device sends the second feedback message to the first device through the third tunnel. Or the fourth device may send the second feedback message to the first device in a point-to-point transmission manner.
In one implementation, after the first device determines, according to the second indication information, that the fourth device does not meet the second path constraint condition, the method further includes: the first device reselects downstream devices on the second path. Optionally, the first device reselects a downstream device on the second path, including: the first device sends the updated second data message to the fifth device through the fourth tunnel, the first device is an ingress device of the fourth tunnel, and the fifth device is an egress device of the fourth tunnel.
In the application, the first device can reselect the downstream device on the second path according to the received second indication information, and the first device can reselect the second path through interaction with the fourth device, so that dynamic routing is realized. Meanwhile, the data transmission quantity between the first equipment and the control equipment is reduced, and the network overhead is reduced.
In another implementation, after the first device determines, according to the second indication information, that the fourth device does not meet the second path constraint condition, the method further includes: the first device sends a third feedback message to the third device, wherein the third feedback message carries third indication information, and the third indication information is used for indicating to the third device that the first device cannot serve as a node for transmitting the second service on the second path.
In the method, when the first device does not select the downstream node which can be used for transmitting the second service on the second path, the first device sends the third feedback message to the third device so as to indicate to the third device that the first device cannot be used as the node for transmitting the second service on the second path, so that the first device can select the second path through interaction with the third device, and the first device and the third device do not need to interact with the control device, thereby improving the routing efficiency. Meanwhile, the data transmission quantity between the first equipment and the control equipment is reduced, and the network overhead is reduced.
Optionally, the first data packet is a probe packet, where the probe packet carries first path constraint information.
Optionally, the first device receives, through the first tunnel, a first data packet sent by the second device, including: and the first equipment receives the detection message sent by the second equipment through the first tunnel according to the preset time interval.
In the application, in the service transmission process, the first device can detect whether the first device meets the service requirement or not at intervals according to the received detection message, so that the reliability of service transmission is ensured.
Optionally, the first data packet is a service packet, where the service packet carries first path constraint information.
Optionally, the first device determines, according to the first data packet, first path constraint information corresponding to the first service, including: the first device determines locally stored first path constraint information corresponding to the service type according to the service type of the first data message.
Because the first path constraint information is stored locally, the first equipment does not need to add the first path constraint information to the received service message, namely the first equipment does not need to change the service message, so that the message transmission efficiency is improved, and the routing efficiency is further improved.
Optionally, the header of the first data packet includes a first field and a second field, where the first field is used to carry the first path constraint information, and the second field is used to indicate whether the first path constraint information carried by the first field is valid.
In a second aspect, a routing method in an SD-WAN is provided. The method comprises the following steps: the second device sends a first data message to the first device through the first tunnel, the second device is an ingress device of the first tunnel, and the first device is an egress device of the first tunnel. The second device receives a first feedback message sent by the first device, wherein the first feedback message carries first indication information. And the second device determines that the first device cannot serve as a node for transmitting the first service on the first path according to the first indication information. The second device sends a second data message to the third device through the second tunnel, the second device is an ingress device of the second tunnel, and the third device is an egress device of the second tunnel.
In the method, after the second device sends the first data message to the first device, when the second device receives the first feedback message sent by the first device, the second device determines that the first device cannot be used as a node for transmitting the first service on the first path according to the first indication information carried in the first feedback message, the first device and the second device can realize the selection of the first path through interaction, and the first device and the second device do not need to interact with the control device, so that dynamic routing of a data plane is realized, and the routing efficiency is improved. Meanwhile, the data transmission quantity between the first equipment and the control equipment as well as between the second equipment and the control equipment is reduced, and the network overhead is reduced.
Optionally, after the second device sends the second data packet to the third device through the second tunnel, the method further includes: the second device receives a second feedback message sent by the third device, wherein the second feedback message carries second indication information. The second device determines that the third device cannot serve as a node for transmitting the first service on the first path according to the second indication information.
In the application, the second device can reselect the downstream device on the first path according to the received second indication information, and the second device can reselect the second path through interaction with the third device, so that dynamic routing is realized. Meanwhile, the data transmission quantity between the second equipment and the control equipment is reduced, and the network overhead is reduced.
Optionally, the second device sends a notification message to the control device, where the notification message carries third indication information, where the third indication information is used to indicate to the control device that the first path does not exist in the SD-WAN.
Optionally, the notification message is a BGP message. For example, when the notification message is a BGP open (open) message, the third indication information may be carried in an optional parameter (optional parameters) field of the BGP open message. The third indication information carries a service type of the first service, and the service type of the first service can be carried in an optional parameter field of the BGP open message after being coded by using a type-length-value (TLV).
Optionally, the first data packet and the second data packet are probe packets, where the probe packets carry first path constraint information, and the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
The second device generates a probe packet including the first path constraint information after determining that the second device itself satisfies the first path constraint condition corresponding to the first path constraint information. The probe packet is used to probe the first path of the first service in the SD-WAN, and the probe packet generally does not carry specific service information.
Optionally, after the second device sends the second data packet to the third device through the second tunnel, the method further includes: and the second equipment sends the detection message to the third equipment through the second tunnel according to the preset time interval.
In the application, the second device can send the detection message to the third device according to the preset time interval in the service transmission process, and the third device can detect whether the second device meets the service requirement or not at intervals according to the received detection message, so that the reliability of service transmission is ensured.
Optionally, the first data packet and the second data packet are service packets, where the service packets carry first path constraint information, and the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
In an exemplary embodiment, in a packet transmission process of the first service, after receiving a service packet sent by the sending end device, the second device may insert first path constraint information into the service packet to obtain a data packet.
Optionally, the method further comprises: the second device receives a routing instruction for the first service sent by the control device. The second device obtains first path constraint information according to the routing instruction, wherein the first path constraint information is used for determining first path constraint conditions met by a first path for transmitting first service.
For example, when the control device determines that one or more tunnels in the current transmission path of the first service do not meet the service requirement of the first service, the routing instruction may be sent to the second device.
Optionally, the routing instruction includes a service type of the first service, and the second device obtains the first path constraint information according to the routing instruction, including: and the second equipment determines the locally stored first path constraint information corresponding to the service type according to the service type of the first service.
Because the first path constraint information is stored locally, the control device does not need to add the first path constraint information in the routing instruction, but only needs to carry the service type of the first service, so that transmission resources can be saved.
Optionally, the routing instruction includes first path constraint information.
Optionally, the method further comprises: and the second equipment receives the service message of the first service sent by the sending end equipment. The second device determines locally stored first path constraint information corresponding to the service type according to the service type of the service message of the first service, wherein the first path constraint information is used for determining a first path constraint condition met by a first path for transmitting the first service.
Optionally, the first path constraint information includes one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, or bandwidth occupancy.
Optionally, the header of the first data packet includes a first field and a second field, where the first field is used to carry the first path constraint information, and the second field is used to indicate whether the first path constraint information carried by the first field is valid.
In a third aspect, a first device in an SD-WAN is provided. Comprising a plurality of functional modules that interact to implement a routing method in an SD-WAN as described in the first aspect or any of the possible implementations of the first aspect. The plurality of functional modules include a transceiver module and a processing module.
The receiving and transmitting module is used for receiving a first data message sent by the second device through the first tunnel, the first device is the exit device of the first tunnel, and the second device is the entrance device of the first tunnel.
The processing module is used for determining first path constraint information corresponding to the first service according to the first data message, wherein the first path constraint information is used for determining first path constraint conditions met by a first path for transmitting the first service.
The receiving and transmitting module is further configured to determine that the receiving and transmitting module does not satisfy the first path constraint condition, and send a first feedback message to the second device, where the first feedback message carries first indication information, where the first indication information is used to indicate to the second device that the first device cannot be used as a node on the first path for transmitting the first service.
Optionally, the transceiver module is further configured to receive, through the second tunnel, a second data packet sent by a third device, where the first device is an egress device of the second tunnel, and the third device is an ingress device of the second tunnel.
The processing module is further configured to determine second path constraint information corresponding to a second service according to the second data packet, where the second path constraint information is used to determine a second path constraint condition satisfied by a second path for transmitting the second service.
The transceiver module is further configured to determine that the transceiver module meets a second path constraint condition, forward the updated second data packet to a fourth device through a third tunnel, where the first device is an ingress device of the third tunnel, and the fourth device is an egress device of the third tunnel.
Optionally, the transceiver module is further configured to receive a second feedback packet sent by the fourth device, where the second feedback packet carries second indication information, where the second indication information is used to indicate to the first device that the fourth device cannot be used as a node on the second path for transmitting the second service.
And the processing module is also used for determining that the fourth equipment does not meet the second path constraint condition according to the second indication information.
Optionally, the processing module is further configured to reselect a downstream device on the second path.
Optionally, the processing module is further configured to: and sending the updated second data message to a fifth device through the fourth tunnel, wherein the first device is an entrance device of the fourth tunnel, and the fifth device is an exit device of the fourth tunnel.
Optionally, the transceiver module is further configured to send a third feedback packet to the third device, where the third feedback packet carries third indication information, where the third indication information is used to indicate to the third device that the first device cannot be used as a node on the second path for transmitting the second service.
Optionally, the first data packet is a probe packet, where the probe packet carries first path constraint information.
Optionally, the transceiver module is further configured to: and receiving the detection message sent by the second equipment through the first tunnel according to a preset time interval.
Optionally, the first data packet is a service packet, where the service packet carries first path constraint information.
Optionally, the processing module is configured to: and determining locally stored first path constraint information corresponding to the service type according to the service type of the first data message.
Optionally, the first path constraint information includes one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, and bandwidth occupancy.
Optionally, the header of the first data packet includes a first field and a second field, where the first field is used to carry the first path constraint information, and the second field is used to indicate whether the first path constraint information carried by the first field is valid.
In a fourth aspect, a second device in an SD-WAN is provided. Comprising a plurality of functional modules which interact to implement a routing method in an SD-WAN as described in the second aspect or any of the possible implementations of the second aspect. The plurality of functional modules include a transceiver module and a processing module. The receiving and transmitting module is used for sending a first data message to the first device through the first tunnel, the second device is an entrance device of the first tunnel, and the first device is an exit device of the first tunnel.
The receiving and transmitting module is further configured to receive a first feedback message sent by the first device, where the first feedback message carries first indication information.
And the processing module is used for determining that the first equipment cannot be used as a node for transmitting the first service on the first path according to the first indication information.
The transceiver module is further configured to send a second data packet to a third device through a second tunnel, where the second device is an ingress device of the second tunnel, and the third device is an egress device of the second tunnel.
Optionally, the transceiver module is further configured to receive a second feedback packet sent by the third device, where the second feedback packet carries second indication information.
And the processing module is also used for determining that the third equipment cannot be used as a node for transmitting the first service on the first path according to the second indication information.
Optionally, the transceiver module is further configured to send a notification packet to the control device, where the notification packet carries third indication information, and the third indication information is used to indicate to the control device that the first path does not exist in the SD-WAN.
Optionally, the first data packet and the second data packet are probe packets, where the probe packets carry first path constraint information, and the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
Optionally, the transceiver module is further configured to send, by the second device, a detection message to the third device through the second tunnel according to a predetermined time interval.
Optionally, the first data packet and the second data packet are service packets, where the service packets carry first path constraint information, and the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
Optionally, the transceiver module is further configured to receive a routing instruction for the first service sent by the control device.
The processing module is further used for acquiring first path constraint information according to the routing instruction, wherein the first path constraint information is used for determining first path constraint conditions met by a first path for transmitting the first service.
Optionally, the routing instruction includes a service type of the first service, and the processing module is further configured to: and determining locally stored first path constraint information corresponding to the service type according to the service type of the first service.
Optionally, the routing instruction includes first path constraint information.
Optionally, the transceiver module is further configured to receive a service packet of the first service sent by the sending end device. The processing module is further used for determining locally-stored first path constraint information corresponding to the service type according to the service type of the service message of the first service, wherein the first path constraint information is used for determining a first path constraint condition met by a first path for transmitting the first service.
Optionally, the first path constraint information includes one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, or bandwidth occupancy.
Optionally, the header of the first data packet includes a first field and a second field, where the first field is used to carry the first path constraint information, and the second field is used to indicate whether the first path constraint information carried by the first field is valid.
In a fifth aspect, there is provided a first device in an SD-WAN, comprising: a processor and a memory;
the memory is used for storing a computer program, and the computer program comprises program instructions;
the processor is configured to invoke the computer program to implement the routing method in the SD-WAN as described in the first aspect or any one of the possible implementation manners of the first aspect.
In a sixth aspect, there is provided a second device in an SD-WAN, comprising: a processor and a memory;
the memory is used for storing a computer program, and the computer program comprises program instructions;
the processor is configured to invoke the computer program to implement the routing method in the SD-WAN as described in the second aspect or any one of the possible implementation manners of the second aspect.
In a seventh aspect, there is provided a first device in an SD-WAN, comprising: a communication interface and a processor connected to the communication interface. According to the communication interface and the processor, the method of the first aspect or any one of the possible implementation manners of the first aspect is implemented.
In an eighth aspect, there is provided a second device in an SD-WAN, comprising: a communication interface and a processor connected to the communication interface. According to the communication interface and the processor, the method of the second aspect or any of the possible implementation manners of the second aspect is implemented.
A ninth aspect provides a communication system in an SD-WAN, comprising a first device according to any of the third, fifth or seventh aspects, and a second device according to any of the fourth, sixth or eighth aspects. Alternatively, the first device may be an intermediate device or an exit device on the path, and the second device may be an entrance device or an intermediate device.
In a tenth aspect, there is provided a computer storage medium having instructions stored thereon which, when executed by a processor, implement a method as described in the first aspect or any one of the possible implementations of the first aspect; or implement a method as described in the second aspect or any one of the possible implementations of the second aspect.
The beneficial effects that this application provided technical scheme brought include at least:
according to the routing method in the SD-WAN, the network control equipment is not required to select the message transmission path, and each network equipment in the SD-WAN can dynamically select the transmission path in the message transmission process, so that the routing method is applicable to the SD-WAN with a large number of network equipment and the message transmission of the cross-domain transmission service. In addition, in the message transmission process, the network equipment does not need to interact with the SD-WAN control equipment, so that the real-time performance of message transmission is ensured. Meanwhile, the data transmission quantity between the inlet equipment and the control equipment on the transmission path in the SD-WAN is reduced, and the network overhead is reduced.
Drawings
Fig. 1 is a schematic structural diagram of a communication system in an SD-WAN according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a communication system in another SD-WAN according to an embodiment of the present application;
fig. 3 is a schematic flow chart of a routing method in SD-WAN according to an embodiment of the present application;
FIG. 4 is a flowchart of a method for obtaining path constraint information according to an embodiment of the present application;
FIG. 5 is a flowchart of another method for obtaining path constraint information according to an embodiment of the present application;
FIG. 6 is a flow chart of another routing method in an SD-WAN provided in an embodiment of the present application;
FIG. 7 is a flow chart of a routing method in an SD-WAN provided by an embodiment of the present application;
fig. 8 is a schematic structural diagram of a service packet adopting an IOAM mechanism according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a VXLAN packet with an IOAM mechanism according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a probe packet according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of another probe packet according to an embodiment of the present application;
fig. 12 is a schematic structural diagram of a feedback packet according to an embodiment of the present application;
fig. 13 is a schematic structural diagram of another feedback packet according to an embodiment of the present application;
FIG. 14 is a flow chart of a routing method in a further SD-WAN provided in an embodiment of the present application;
FIG. 15 is a flow chart of a routing method in a further SD-WAN provided in an embodiment of the present application;
fig. 16 is a schematic structural diagram of a routing device in an SD-WAN according to an embodiment of the present application;
FIG. 17 is a schematic diagram of a routing device in another SD-WAN according to an embodiment of the present application;
FIG. 18 is a block diagram of a routing device in an SD-WAN provided by an embodiment of the present application;
fig. 19 is a block diagram of a routing device in another SD-WAN provided in an embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
One or more tunnels are included in the software defined wide area network (software defined wide area network, SD-WAN). Tunneling in the embodiments of the present application refers to a logical connection established through a network tunneling protocol. The SD-WAN may be a multi-network service point of presence (point of presence, POP) overlay (overlay) network, and the tunnel in the SD-WAN is an overlay tunnel, accordingly. In one particular embodiment, the overlay tunnel may be established using a network tunneling protocol such as the generic routing encapsulation (generic routing encapsulation, GRE) protocol, the virtual extended local area network (virtual extensible local area network, VXLAN) protocol, or the internet protocol security (internet protocol security, IPsec) protocol.
The SD-WAN supports the selection of different transmission paths for messages of different types of traffic. For example, SD-WAN support transmits important messages through a transmission path based on a multiprotocol label switching (multi protocol label switching, MPLS) technology, and transmits non-important messages through a transmission path based on a broadband network or a wireless long term evolution (long term evolution, LTE) technology, which can improve transmission resource utilization and operation costs (operating expense, OPEX). Wherein, the transmission path refers to a logic path between an ingress device and an egress device for transmitting service messages in the SD-WAN, and the transmission path includes one or more tunnels.
Fig. 1 is a schematic structural diagram of a communication system in an SD-WAN according to an embodiment of the present application. As shown in fig. 1, the communication system in the SD-WAN includes a plurality of network devices 101A to 101F (collectively referred to as network devices 101) in the SD-WAN. The number of network devices in fig. 1 is for illustrative purposes only and is not intended as a limitation on the SD-WAN in accordance with the embodiments of the present application.
Referring to fig. 1, a solid line between two network devices 101 represents a tunnel established between the two network devices 101. For example, a tunnel is established between the network device 101A and the network device 101B, the network device 101C, and the network device 101D, respectively; a tunnel is respectively established between the network equipment 101C and the network equipment 101A, the network equipment 101B and the network equipment 101D and between the network equipment 101E and the network equipment 101F; etc.
In one embodiment, messages are tunneled between network devices. In this embodiment of the present application, among two network devices with tunnels, a network device that receives a message first is referred to as an ingress device of a tunnel, and a network device that receives a message later is referred to as an egress device of a tunnel. The network device connected with the sending end device in the SD-WAN is called as an inlet device for transmitting service messages in the SD-WAN, the network device connected with the receiving end device in the SD-WAN is called as an outlet device for transmitting service messages in the SD-WAN, and the network device located between the inlet device for transmitting service messages and the outlet device for transmitting service messages in the SD-WAN is called as an intermediate device for transmitting service messages in the SD-WAN. In a specific embodiment, the network device 101 may be a physical device or a virtual device. The ingress and egress devices of the transmission path in the SD-WAN may be customer premises devices (customer premises equipment, CPE), routers or switches, etc., and the intermediate devices of the transmission path in the SD-WAN may be routers or switches, etc.
The transmission path in the SD-WAN includes two or more network devices thereon, and accordingly, the transmission path in the SD-WAN includes one or more tunnels. When only two network devices, i.e. only an ingress device for transmitting traffic messages and an egress device for transmitting traffic messages, are included on the transmission path in the SD-WAN, the transmission path comprises one tunnel. When more than two network devices are included on the transmission path in the SD-WAN, namely, an ingress device for transmitting a service message, an intermediate device for transmitting a service message, and an egress device for transmitting a service message, the transmission path includes a plurality of tunnels.
For example, in the SD-WAN shown in fig. 1, the network device 101A is an ingress device for transmitting service messages in the SD-WAN, the network device 101F is an egress device for transmitting service messages in the SD-WAN, and the network devices 101B-101E are all intermediate devices for transmitting service messages in the SD-WAN. The network device 101A and the network device 101F have a plurality of transmission paths therebetween, and include, for example, the following 4 transmission paths, transmission path 1: network device 101A-network device 101C-network device 101F; transmission path 2: network device 101A-network device 101D-network device 101F; transmission path 3: network device 101A-network device 101C-network device 101E-network device 101F; transmission path 4: network device 101A-network device 101D-network device 101E-network device 101F. Referring to fig. 1, a tunnel L1 is established between network device 101A and network device 101C, a tunnel L2 is established between network device 101A and network device 101D, a tunnel L3 is established between network device 101C and network device 101E, a tunnel L4 is established between network device 101C and network device 101F, a tunnel L5 is established between network device 101D and network device 101E, a tunnel L6 is established between network device 101D and network device 101F, and a tunnel L7 is established between network device 101E and network device 101F. That is, the transmission path 1 includes a tunnel L1 and a tunnel L4, the transmission path 2 includes a tunnel L2 and a tunnel L6, the transmission path 3 includes a tunnel L1, a tunnel L3, and a tunnel L7, and the transmission path 4 includes a tunnel L2, a tunnel L5, and a tunnel L7.
The network devices in the SD-WAN provided by the embodiments of the present application may be managed by one or more control devices. When all network devices in the SD-WAN are managed by one control device, it means that all network devices in the SD-WAN are in the same domain. When all network devices in the SD-WAN are managed by a plurality of control devices, it means that the SD-WAN includes network devices in different domains, and the network devices in different domains are cross-domain interconnected. A control device manages network devices in an SD-WAN, comprising: the control device allocates transmission bandwidth and the like for the network devices in the SD-WAN. The control device may be a network controller, a network analyzer, a network management device, a gateway or other device with control and analysis capabilities. The control device may be one or more devices.
Fig. 1 illustrates an example in which network devices in an SD-WAN are managed by one control device. As shown in fig. 1, the communication system in the SD-WAN further includes a control device 102. The control device 102 is connected to each network device 101 in the SD-WAN, respectively.
Fig. 2 is a schematic structural diagram of a communication system in another SD-WAN according to an embodiment of the present application. Fig. 2 illustrates an example in which a network device in an SD-WAN is managed by a plurality of network devices. As shown in fig. 2, the communication system in the SD-WAN further includes a plurality of control devices 102A and 102B. Wherein the control device 102A manages the network devices 101A to 101C, and the control device 102B manages the network devices 101D to 101F. The number of control devices in fig. 2 is used as an exemplary illustration only, and is not intended as a limitation on the communication system in the SD-WAN according to the embodiments of the present application.
The routing method in the SD-WAN provided by the embodiment of the application is based on a data plane in the SD-WAN. The network device determines path constraint information according to the data message and determines path constraint conditions according to the path constraint information. The network equipment judges whether the network equipment meets the path constraint condition or not; if the network device meets the path constraint condition, the network device sends an updated data message to next hop device; if the network device does not meet the path constraint condition, the network device sends a feedback message to the target device. When the network device is an ingress device for transmitting data messages in the SD-WAN, the target device may be a control device of the SD-WAN; when the network device is an intermediate device or an exit device for transmitting data messages in the SD-WAN, the target device is a last hop device of the network device.
The following embodiments of the present application take routing in SD-WAN for service 1, service 2 and service 3 as examples, and describe the routing method in the SD-WAN. Fig. 3 shows the process of selecting path 1 in the SD-WAN for service 1. Fig. 6 shows a process of selecting path 2 in the SD-WAN for traffic 2. Fig. 7 shows a process of selecting path 3 in the SD-WAN for traffic 3.
Fig. 3 is a schematic flow chart of a routing method in SD-WAN according to an embodiment of the present application. The method may be applied in a communication system in an SD-WAN as shown in fig. 1 or fig. 2. As shown in fig. 3, the method includes:
step 301, the device 1 acquires path constraint information 1 corresponding to the service 1, where the path constraint information 1 is used to determine a path constraint condition satisfied by the path 1 for transmitting the service 1.
The device 1 is an ingress device in the SD-WAN for transmitting service messages of the service 1, i.e. the first device on the path 1.
In a specific embodiment, the path constraint information 1 includes service level agreement (service level agreement, SLA) information and/or quality of service (quality of service, qoS) information corresponding to the service 1. The path constraint information 1 specifically includes one or more of the following information: delay, jitter, bandwidth, packet loss rate, bit error rate, and bandwidth occupancy.
The delay in the path constraint information 1 may be the maximum allowable transmission delay of the traffic 1 on the path 1. The delay may be, for example, 150 milliseconds (ms). Jitter in path constraint information 1 may be the maximum allowable fluctuation range of the transmission delay on each tunnel on path 1. Illustratively, the jitter may be-0.5 ms to +0.5ms. The bandwidth in path constraint information 1 may be the minimum bandwidth of each tunnel on path 1, which may be the required bandwidth of traffic 1. The bandwidth may be 500 megabits per second (million bits per second, mbps), for example. The packet loss rate in the path constraint information 1 may be the maximum allowable packet loss rate of the service 1 on the path 1. For example, the packet loss rate may be 0.5%. The bit error rate in the path constraint information 1 may be the maximum allowed bit error rate for traffic 1 to transmit on path 1. The bit error rate may be, for example, 0.1%. The bandwidth occupancy in the path constraint information 1 may be a maximum allowable bandwidth occupancy of other traffic except traffic 1 for each tunnel on the path 1. The bandwidth occupancy may be 30% by way of example.
The implementation manner of acquiring the path constraint information 1 corresponding to the service 1 by the device 1 is various, and the following two implementation manners are taken as examples in the embodiment of the present application.
In a first implementation, the device 1 acquires the path constraint information 1 under the direction of the control device of the SD-WAN. Fig. 4 is a flowchart of a method for obtaining path constraint information 1 by a device 1 according to an embodiment of the present application. As shown in fig. 4, the method may include:
step 3011A, device 1 receives a routing instruction for service 1 sent by a control device of the SD-WAN.
The routing instruction includes path constraint information 1 or a service type of service 1. The service type of service 1 may be five-tuple identification corresponding to service 1. The five-tuple includes a source internet protocol (internet protocol, IP) address, a source port, a destination IP address, a destination port, and a transport layer protocol. The transport layer protocols include the transmission control protocol (transmission control protocol, TCP) or the user datagram protocol (user datagram protocol, UDP). The service type of service 1 may also be represented by other information that uniquely identifies service 1.
In an alternative embodiment of the present application, the routing instruction may be sent to the device 1 when the control device determines that one or more tunnels in the current transmission path of the service 1 do not meet the service requirements of the service 1.
In a specific embodiment, each network device in the SD-WAN may periodically report tunnel state information to the control device. Or, each network device in the SD-WAN may report the changed tunnel state information to the control device after the tunnel state information is changed. The control device may determine, based on the received tunnel state information, whether the tunnel in the current transmission path meets the service requirement of service 1.
In another alternative embodiment of the present application, when the control device receives a routing requirement for service 1, the control device may send a routing instruction to device 1.
In a specific embodiment, before the SD-WAN starts transmitting the service packet of the service 1, the control device may send a routing instruction for the service 1 to the device 1, so as to detect the transmission path of the service 1 in advance in the SD-WAN.
Step 3012A, the device 1 obtains the path constraint information 1 according to the routing instruction.
When the path constraint information 1 is included in the routing instruction, the apparatus 1 acquires the path constraint information 1 from the routing instruction. When the service type of the service 1 is included in the route selection instruction, the device 1 determines locally stored path constraint information 1 corresponding to the service type of the service 1 according to the service type of the service 1.
In a specific embodiment, the device 1 locally stores the correspondence between a plurality of service types and path constraint information. For example, assume that a five tuple corresponding to a service is used as an identifier of a service type, and the path constraint information includes a bandwidth and a delay. The correspondence between the traffic type stored in the device 1 and the path constraint information may be as shown in table 1.
TABLE 1
Figure BDA0002342048350000121
By way of example, assume that the traffic type of traffic 1 included in the routing instructions is characterized as: (IP 2, port 1, IP6, port 2, udp), the device 1 may obtain the path constraint information 1 corresponding to the service 1 based on the correspondence between the service type and the path constraint information as shown in table 1, where the path constraint information 1 is: the bandwidth is 150mbps and the delay is 100ms.
In a second implementation, the device 1 may obtain the path constraint information 1 when receiving a service packet of the service 1. Fig. 5 is a flowchart of another method for obtaining path constraint information 1 by a device 1 according to an embodiment of the present application. As shown in fig. 5, the method may include:
step 3011B, the device 1 receives a service packet of the service 1 sent by the sending end device.
In a specific embodiment, the sending end device may be a server or a user terminal. The user terminal comprises a mobile phone, a wearable device, a computer or a notebook computer and the like.
Step 3012B, the device 1 determines, according to the service type of the service packet of the service 1, locally stored path constraint information 1 corresponding to the service type.
The implementation process of this step may refer to the explanation related to step 3012A, which is not described herein.
In a specific embodiment, during the packet transmission process of the service 1, the device 1 may periodically obtain the path constraint information 1. Alternatively, when the device 1 determines that the current transmission path of the service 1 does not satisfy the service requirement of the service 1, for example, when congestion occurs in one or more network devices on the current transmission path, the device 1 acquires the path constraint information 1. In the embodiment of the present application, the triggering condition for the device 1 to acquire the path constraint information 1 in the packet transmission process of the service 1 is not limited.
Step 302, the device 1 determines that the path constraint condition corresponding to the path constraint information 1 is satisfied.
In a specific embodiment, when the bandwidth is included in the path constraint information 1, the path constraint condition corresponding to the path constraint information 1 includes: a target tunnel with the bandwidth greater than or equal to the bandwidth included in the path constraint information 1 exists in the tunnel taking the device 1 as an ingress device, and the target tunnel can reach an egress device for transmitting the service message of the service 1 in the SD-WAN. The destination tunnel route may reach an exit device in the SD-WAN for transmitting the service packet of the service 1, which means that the service packet of the service 1 can be transmitted to the exit device in the SD-WAN for transmitting the service packet of the service 1 through the destination tunnel.
After acquiring the path constraint information 1, the device 1 may acquire the available bandwidths of all tunnels having the device 1 as an ingress device. When the available bandwidth of one or more tunnels in the tunnel taking the device 1 as the entrance device is greater than or equal to the bandwidth included in the path constraint information 1, the device 1 determines that the device itself meets the path constraint condition corresponding to the path constraint information 1.
In a specific embodiment, when the bandwidth is not included in the path constraint information 1, the device 1 defaults itself to satisfy the path constraint condition corresponding to the path constraint information 1. In this case, the device 1 may directly execute step 303 without executing step 302.
Step 303, the device 1 sends the data message 1 to the device 2 through the tunnel 1.
The device 1 is an entrance device of the tunnel 1 and the device 2 is an exit device of the tunnel 1. The device 2 may be an intermediate device or an egress device in the SD-WAN for transmitting service messages of the service 1. When the path constraint information 1 includes a bandwidth, the tunnel 1 is: in the tunnel taking the device 1 as the entrance device, the available bandwidth is greater than or equal to the bandwidth included in the path constraint information 1 and the tunnel can reach the exit device for transmitting the service message of the service 1 in the SD-WAN. When the path constraint information 1 does not include bandwidth, the tunnel 1 may be any tunnel that uses the device 1 as an ingress device and routes an egress device for transmitting a service packet of the service 1 in the SD-WAN.
In a specific embodiment, when the path constraint information 1 includes a delay, after the device 1 acquires the path constraint information 1, the device 1 may acquire a set of all tunnels that satisfy the bandwidth included in the path constraint information 1 in the tunnels using the device 1 as the ingress device. The device 1 acquires the tunnel 1 from the tunnel set. After the device 1 sends the data message to the device 2 through the tunnel 1, the device 1 deletes the tunnel 1 in the tunnel set, so as to avoid sending the data message for multiple times through the same tunnel.
In the embodiment of the application, the tunnel set containing all available tunnels is obtained in advance, so that the subsequent tunnel obtaining efficiency can be improved, and the routing efficiency is improved.
In a specific embodiment, the data packet 1 is a service packet or a probe packet. The data packet 1 may carry path constraint information 1. When the path constraint information 1 includes a delay, the data packet 1 further includes a transmission timestamp of the device 1 for transmitting the data packet 1.
In the first case, data packet 1 is a service packet. In the process of transmitting the message of the service 1, after receiving the service message sent by the sending end device, the device 1 can insert the path constraint information 1 into the service message to obtain the data message 1.
In the second case, data packet 1 is a probe packet. After determining that the device 1 meets the path constraint condition corresponding to the path constraint information 1, the device generates a detection message including the path constraint information 1. The probe packet is used to probe path 1 of service 1 in SD-WAN, and the probe packet typically does not carry specific service information.
In a specific embodiment, the device 1 may also store the correspondence between the traffic 1 and the tunnel 1. After the device 1 stores the correspondence between the service 1 and the tunnel 1, when the device 1 receives the service packet of the service 1 again, the tunnel 1 corresponding to the service 1 may be obtained based on the correspondence between the service 1 and the tunnel 1, and the service packet of the service 1 is sent through the tunnel 1. The process of storing the correspondence between the service 1 and the tunnel 1 by the device 1 and the process of transmitting the data message 1 to the device 2 by the device 1 through the tunnel 1 may be performed simultaneously; or, the device 1 may send the data packet 1 to the device 2 through the tunnel 1 first, and then store the correspondence between the service 1 and the tunnel 1; or, the device 1 may store the correspondence between the service 1 and the tunnel 1, and then send the data packet 1 to the device 2 through the tunnel 1, which is not limited in the embodiment of the present application.
Step 304, the device 2 determines path constraint information 1 corresponding to the service 1 according to the data packet 1.
In the first implementation manner, if the data packet 1 includes the path constraint information 1, the device 2 directly obtains the path constraint information 1 from the data packet 1.
In a second implementation, the data packet 1 does not include the path constraint information 1. When the data message 1 is a service message, the device 2 determines locally stored path constraint information 1 corresponding to the service type according to the service type of the service message. When the data message 1 is a detection message, the detection message includes a service type identifier of the service 1, and the device 2 determines the service type of the service 1 according to the service type identifier, and then determines locally stored path constraint information 1 corresponding to the service type.
Step 305, the device 2 determines that the path constraint condition corresponding to the path constraint information 1 is not satisfied.
The device 2 determines that the path constraint condition corresponding to the path constraint information 1 is not satisfied by itself, that is, the device 2 determines that the node on the path 1 cannot be used for transmitting the service 1 by itself.
In the first case, device 2 is an intermediate device in the SD-WAN for transmitting service messages of service 1:
When the path constraint information 1 includes bandwidth, delay, jitter, packet loss rate, bit error rate and bandwidth occupancy rate, the path constraint condition corresponding to the path constraint information 1 includes: a target tunnel meeting the bandwidth included in the path constraint information 1 exists in a tunnel taking the equipment 2 as an entrance equipment, and the target tunnel can reach an exit equipment for transmitting a service message of the service 1 in the SD-WAN; the actual transmission delay, the actual jitter, the actual packet loss rate, the actual error rate and the actual bandwidth occupancy rate of the data packet 1 on the tunnel 1 respectively meet the delay, the jitter, the packet loss rate, the error rate and the bandwidth occupancy rate included in the path constraint information 1. When there is no target tunnel satisfying the bandwidth included in the path constraint information 1 in the tunnel taking the device 2 as the ingress device, the actual transmission delay of the data packet 1 on the tunnel 1 is greater than the delay included in the path constraint information 1, the actual jitter on the tunnel 1 exceeds the jitter range included in the path constraint information 1, the actual packet loss rate on the tunnel 1 is higher than the packet loss rate included in the path constraint information 1, the actual error rate on the tunnel 1 is greater than the error rate included in the path constraint information 1, and/or the actual bandwidth occupancy rate of other services on the tunnel 1 is greater than the bandwidth occupancy rate included in the path constraint information 1, the device 2 determines that the path constraint condition corresponding to the path constraint information 1 is not satisfied.
In the second case, device 2 is the egress device in the SD-WAN for transmitting service messages of service 1:
when the path constraint information 1 includes delay, jitter, packet loss rate, bit error rate and bandwidth occupancy rate, the path constraint condition corresponding to the path constraint information 1 includes: the actual transmission delay, the actual jitter, the actual packet loss rate, the actual error rate and the actual bandwidth occupancy rate of the data packet 1 on the tunnel 1 respectively meet the delay, the jitter, the packet loss rate, the error rate and the bandwidth occupancy rate included in the path constraint information 1. When the actual transmission delay of the data packet 1 on the tunnel 1 is greater than the delay included in the path constraint information 1, the actual jitter on the tunnel 1 exceeds the jitter range included in the path constraint information 1, the actual packet loss rate on the tunnel 1 is higher than the packet loss rate included in the path constraint information 1, the actual error rate on the tunnel 1 is greater than the error rate included in the path constraint information 1, and/or the actual bandwidth occupancy rate of other services on the tunnel 1 is greater than the bandwidth occupancy rate included in the path constraint information 1, the device 2 determines that the path constraint condition corresponding to the path constraint information 1 is not satisfied.
When the path constraint information 1 includes only bandwidth, the device 2 may default itself to satisfy the path constraint condition corresponding to the path constraint information 1. When the device 2 receives the data packet 1, it is determined that the routing of the service 1 is completed, and a path 1 for transmitting the service 1 in the SD-WAN is obtained.
By way of example, in this embodiment of the present application, taking an example that the path constraint information 1 includes a time delay, a process of determining, by the device 2, whether the device itself satisfies a path constraint condition corresponding to the path constraint information 1 is described, including the following two implementation manners:
in a first implementation, the delay in the path constraint information 1 is the maximum allowable transmission delay of the data packet 1 in the SD-WAN. The data packet 1 further includes a transmission timestamp of the data packet 1 sent by an ingress device (device 1 in the embodiment of the present application) in the SD-WAN for transmitting the service packet of the service 1. The process of the device 2 judging whether or not itself satisfies the path constraint condition corresponding to the path constraint information 1 includes the following steps S11A to S13A:
in step S11A, the device 2 acquires a reception timestamp at which the device 2 received the data packet 1.
Illustratively, the receive timestamp is 2019-11-27-09:49:50:160, indicating that the device 2 receives the data message 1 at a time of 2019, 11, 27, 09 minutes, 50 seconds, and 160ms.
In step S12A, the device 2 determines a time difference between a transmission time stamp of the data packet 1 transmitted by the ingress device for transmitting the service packet of the service 1 in the SD-WAN and a reception time stamp of the data packet 1 received by the device 2 as: the actual transmission delay of data message 1 from the ingress device for transmitting service messages of service 1 to device 2 in the SD-WAN.
For example, the transmission time stamp of the data packet 1 sent by the ingress device for transmitting the service packet of the service 1 in the SD-WAN is 2019-11-27-09:49:50:120, and the actual transmission delay of the data packet 1 from the ingress device for transmitting the service packet of the service 1 in the SD-WAN to the device 2 is 40ms as shown in combination with the example in step S11A.
In step S13A, the actual delay of the data packet 1 from the ingress device for transmitting the service packet of the service 1 in the SD-WAN to the device 2 is greater than the delay included in the path constraint information 1, and the device 2 determines that the path constraint condition corresponding to the path constraint information 1 is not satisfied by itself.
In this embodiment of the present application, since the data packet 1 carries a transmission timestamp of the data packet 1 sent by the ingress device for transmitting the service packet of the service 1 in the SD-WAN, the transmission timestamp is fixed. When the device 2 needs to send the data message to the next hop device, the device 2 does not need to change the sending time stamp carried in the received data message 1, but can directly forward the data message 1, so that the computing resource of the device can be saved.
In a second implementation, the delay in the path constraint information 1 is the maximum allowable transmission delay from the last hop device of the device 2 in the SD-WAN (device 1 in the embodiment of the present application) to the egress device of the service packet for transmitting the service 1 in the SD-WAN for the data packet 1. The data message 1 further includes a transmission timestamp of the last hop device for transmitting the data message 1. The process of the device 2 judging whether or not itself satisfies the path constraint condition corresponding to the path constraint information 1 includes the following steps S11B to S13B:
In step S11B, the apparatus 2 acquires a reception timestamp at which the apparatus 1 received the data packet 1.
Illustratively, the receive timestamp is 2019-11-27-09:49:50:160.
In step S12B, the device 2 determines the difference between the transmission timestamp of the data packet 1 sent by the previous hop device and the reception timestamp of the data packet 1 received by the device 2, to be the actual transmission delay of the data packet 1 on the tunnel 1.
For example, the transmission time stamp of the data packet 1 sent by the previous hop device is 2019-11-27-09:49:50:120, and as can be seen by combining the example in step S11A, the actual transmission delay of the data packet 1 on the tunnel 1 is 20ms.
In step S13B, the device 2 determines that the actual transmission delay of the data packet 1 on the tunnel 1 is greater than the time delay included in the path constraint information 1, and does not satisfy the path constraint condition corresponding to the path constraint information 1.
Step 306, the device 2 sends a feedback message 1 to the device 1, where the feedback message 1 carries the indication information 1.
The indication information 1 is used to indicate to the device 1 that the device 2 cannot act as a node on the path 1 for transmitting the traffic 1.
In a specific embodiment, when the tunnel 1 is a bidirectional tunnel, the device 2 sends a feedback message 1 to the device 1 through the tunnel 1. Alternatively, the device 2 may send the feedback message 1 to the device 1 in a point-to-point transmission manner. The embodiment of the present application does not limit the manner in which the device 2 sends the feedback message 1 to the device 1.
Step 307, the device 1 determines, according to the indication information 1, that the device 2 cannot act as a node on the path 1 for transmitting the service 1.
In a specific embodiment, the device 1 stores a correspondence between the traffic 1 and the tunnel 1. After determining that the device 2 cannot be used as a node for transmitting the service 1 on the path 1, the device 1 deletes the corresponding relationship between the service 1 and the tunnel 1, that is, when the device 1 subsequently receives the service message of the service 1, the device 1 cannot send the service message of the service 1 through the tunnel 1.
After device 1 determines that device 2 cannot act as a node on path 1 for transmitting traffic 1, device 1 reselects downstream devices on path 1. In a specific embodiment, when a tunnel 2 different from the tunnel 1 is included in the tunnel having the apparatus 1 as an entrance apparatus, the following step 308 may be performed. When the path constraint information 1 includes a bandwidth, the tunnel 2 is: in the tunnel taking the device 1 as the entrance device, the available bandwidth is different from the tunnel 1, is larger than or equal to the bandwidth included in the path constraint information 1, and can reach the tunnel of the exit device for transmitting the service message of the service 1 in the SD-WAN. When the path constraint information 1 does not include bandwidth, the tunnel 1 may be any tunnel that is different from the tunnel 1 and that routes a service packet for transmitting the service 1 in the SD-WAN, among tunnels using the device 1 as an ingress device.
Step 308, the device 1 sends the data message 2 to the device 3 through the tunnel 2.
Device 1 is an entrance device of tunnel 2 and device 3 is an exit device of tunnel 2. The device 3 may be an intermediate device or an egress device in the SD-WAN for transmitting service messages of the service 1. The explanation of this step refers to the explanation related to step 303, and the embodiments of the present application are not repeated here.
Step 309, the device 3 determines, according to the data packet 2, path constraint information 1 corresponding to the service 1.
The explanation of this step refers to the explanation related to step 304, and the embodiments of the present application will not be repeated here.
Step 310, the device 3 determines that the path constraint condition corresponding to the path constraint information 1 is not satisfied.
The explanation of this step refers to the explanation related to step 305, and the embodiments of the present application will not be repeated here.
Step 311, the device 3 sends a feedback message 2 to the device 1, where the feedback message 2 carries the indication information 2.
The indication information 2 is used to indicate to the device 1 that the device 3 cannot act as a node on the path 1 for transmitting the traffic 1. The explanation of this step refers to the explanation related to step 306, and the embodiments of the present application will not be repeated here.
Step 312, the device 1 determines, according to the indication information 2, that the device 3 cannot act as a node on the path 1 for transmitting the service 1.
The explanation of this step refers to the explanation related to step 307, and the embodiments of the present application will not be repeated here.
In a specific embodiment, when the tunnel taking the device 1 as the entrance device is routed, the exit device of the service message for transmitting the service 1 in the reachable SD-WAN only comprises the tunnel 1 and the tunnel 2; alternatively, when the bandwidth is included in the path constraint information 1, the available bandwidth in the tunnel using the device 1 as the ingress device is greater than or equal to the bandwidth included in the path constraint information 1, and the egress device for routing the service packet for transmitting the service 1 in the SD-WAN includes only the tunnel 1 and the tunnel 2, the following step 313 may be executed.
Step 313, the device 1 sends a notification message to the SD-WAN control device, where the notification message carries the indication information 3.
The indication information 3 is used to indicate to the control device that no path 1 capable of transmitting traffic 1 exists in the SD-WAN. In one particular embodiment, the notification message may be a border gateway protocol (border gateway protocol, BGP) message. For example, when the notification message is a BGP open (open) message, the indication information 3 may be carried in an optional parameter (optional parameters) field of the BGP open message. The indication information 3 carries a service type of the service 1, and the service type of the service 1 can be carried in an optional parameter field of a BGP open message after being coded by using a type-length-value (TLV).
In a specific implementation manner, after receiving a notification message sent by the device 1, the control device determines a transmission path of the service 1 according to tunnel state information reported by each network device in the SD-WAN, so that the network device in the SD-WAN adopts the transmission path determined by the control device to transmit the service message of the service 1; alternatively, the control device stops distributing service 1 to the SD-WAN.
Fig. 6 is a flow chart of another routing method in SD-WAN according to an embodiment of the present application. The method may be applied in a communication system in an SD-WAN as shown in fig. 1 or fig. 2. As shown in fig. 6, the method includes:
in step 601, the device 1 acquires path constraint information 2 corresponding to the service 2, where the path constraint information 2 is used to determine a path constraint condition satisfied by the path 2 for transmitting the service 2.
In a specific embodiment, the path constraint information 2 includes SLA information and/or QoS information corresponding to the service 2. The path constraint information 2 specifically includes one or more of the following information: delay, jitter, bandwidth, packet loss rate, bit error rate, and bandwidth occupancy. The explanation of this step may refer to the explanation related to step 301, and the embodiments of the present application will not be repeated here.
Step 602, the device 1 determines that the path constraint condition corresponding to the path constraint information 2 is satisfied.
In a specific embodiment, when the bandwidth is not included in the path constraint information 2, the device 1 defaults itself to satisfy the path constraint condition corresponding to the path constraint information 2. At this time, the device 2 may directly perform step 603 without performing step 602. The explanation of this step refers to the explanation related to step 302, and the embodiments of the present application will not be repeated here.
Step 603, the device 1 sends the data message 3 to the device 4 through the tunnel 3.
Device 1 is an entrance device of tunnel 3 and device 4 is an exit device of tunnel 3. The explanation of this step refers to the explanation related to step 303, and the embodiments of the present application are not repeated here.
Step 604, the device 4 determines path constraint information 2 corresponding to the service 2 according to the data packet 3.
The explanation of this step refers to the explanation related to step 304, and the embodiments of the present application will not be repeated here.
Step 605, the device 4 determines that the path constraint condition corresponding to the path constraint information 2 is satisfied.
The device 4 determines that it satisfies the path constraint condition corresponding to the path constraint information 2, that is, the device 4 determines that it can act as a node on the path 2 for transmitting the traffic 2.
In the first case, device 4 is an intermediate device in the SD-WAN for transmitting service messages of service 2:
when the path constraint information 2 includes bandwidth, delay, jitter, packet loss rate, bit error rate and bandwidth occupancy rate, the path constraint condition corresponding to the path constraint information 2 includes: a target tunnel meeting the bandwidth included in the path constraint information 2 exists in a tunnel taking the device 4 as an entrance device, and the target tunnel can reach an exit device for transmitting a service message of the service 2 in the SD-WAN; the actual transmission delay, the actual jitter, the actual packet loss rate, the actual error rate and the actual bandwidth occupancy of the data packet 3 on the tunnel 3 respectively meet the delay, the jitter, the packet loss rate, the error rate and the bandwidth occupancy included in the path constraint information 2. When a target tunnel meeting the bandwidth included in the path constraint information 2 exists in a tunnel taking the device 4 as an entrance device, the actual transmission delay of the data message 3 on the tunnel 3 is smaller than the delay included in the path constraint information 2, the actual jitter on the tunnel 3 is in the jitter range included in the path constraint information 2, the actual packet loss rate on the tunnel 3 is not higher than the packet loss rate included in the path constraint information 2, the actual error rate on the tunnel 3 is smaller than or equal to the error rate included in the path constraint information 2, and the actual bandwidth occupancy rate of other services on the tunnel 3 is smaller than or equal to the bandwidth occupancy rate included in the path constraint information 2, the device 4 determines that the path constraint condition corresponding to the path constraint information 2 is met.
In the second case, the device 4 is an egress device for the traffic messages of the transport traffic 2 in the SD-WAN:
when the path constraint information 2 includes delay, jitter, packet loss rate, bit error rate and bandwidth occupancy rate, the path constraint condition corresponding to the path constraint information 2 includes: the actual transmission delay, the actual jitter, the actual packet loss rate, the actual error rate and the actual bandwidth occupancy of the data packet 3 on the tunnel 3 respectively meet the delay, the jitter, the packet loss rate, the error rate and the bandwidth occupancy included in the path constraint information 2. When the actual transmission delay of the data packet 3 on the tunnel 3 is smaller than or equal to the delay included in the path constraint information 2, the actual jitter on the tunnel 3 is in the jitter range included in the path constraint information 2, the actual packet loss rate on the tunnel 3 is not higher than the packet loss rate included in the path constraint information 2, the actual error rate on the tunnel 3 is smaller than or equal to the error rate included in the path constraint information 2, and the actual bandwidth occupancy rate of other services on the tunnel 3 is smaller than or equal to the bandwidth occupancy rate included in the path constraint information 2, the device 4 determines that the path constraint condition corresponding to the path constraint information 2 is satisfied.
When the path constraint information 2 only includes bandwidth, the device 4 may default that the device itself satisfies the path constraint condition corresponding to the path constraint information 2, and when the device 4 receives the data packet 3, it determines that the routing of the service 2 is completed, so as to obtain a path 2 for transmitting the service 2 in the SD-WAN, where the path 2 includes: devices 1 to 4.
The implementation process of the device 4 to determine whether the implementation process meets the path constraint condition corresponding to the path constraint information 2 may refer to the related implementation process of the device 2 described in the above step 305, which is not described herein.
The embodiment of the application will be described by taking the device 4 as an intermediate device for transmitting the service message of the service 2 in the SD-WAN.
Step 606, the device 4 sends the data message 4 to the device 5 through the tunnel 4.
The device 4 is an entrance device of the tunnel 4 and the device 5 is an exit device of the tunnel 4. In a specific embodiment, the device 5 may be an intermediate device or an egress device for transmitting service messages of the service 2 in the SD-WAN. The explanation of this step refers to the explanation related to step 303, and the embodiments of the present application are not repeated here.
In step 607, the device 5 determines, according to the data packet 4, the path constraint information 2 corresponding to the service 2.
The explanation of this step refers to the explanation related to step 304, and the embodiments of the present application will not be repeated here.
Step 608, the device 5 determines that the path constraint condition corresponding to the path constraint information 2 is not satisfied.
The explanation of this step refers to the explanation related to step 305, and the embodiments of the present application will not be repeated here.
Step 609, the device 5 sends a feedback message 3 to the device 4, where the feedback message 3 carries the indication information 4.
The indication information 4 is used to indicate to the device 4 that the device 5 cannot act as a node on the path 2 for transmitting the traffic 2.
In a specific embodiment, when the tunnel 4 is a bidirectional tunnel, the device 5 sends the feedback message 3 to the device 4 through the tunnel 4. Alternatively, the device 5 may send the feedback message 3 to the device 4 in a point-to-point transmission. The embodiment of the present application does not limit the manner in which the device 5 sends the feedback message 3 to the device 4.
Step 610, the device 4 determines, according to the indication information 4, that the device 5 cannot act as a node on the path 2 for transmitting the traffic 2.
The explanation of this step refers to the explanation related to step 307, and the embodiments of the present application will not be repeated here.
After device 4 determines that device 5 cannot act as a node on path 2 for transmitting traffic 2, device 4 reselects downstream devices on path 2. In a specific embodiment, when the tunnel 5, which is different from the tunnel 4, is included in the tunnel having the device 4 as the ingress device, the following step 611 may be performed. When the path constraint information 2 includes a bandwidth, the tunnel 5 is: in the tunnel using the device 4 as the ingress device, the available bandwidth is different from the tunnel 4, is greater than or equal to the bandwidth included in the path constraint information 2, and is a tunnel for routing the egress device for transmitting the service packet of the service 2 in the SD-WAN. When the path constraint information 2 does not include bandwidth, the tunnel 5 may be any tunnel that is different from the tunnel 4 and that routes the traffic message for transmitting the traffic 2 in the SD-WAN, among tunnels using the device 4 as an ingress device.
Step 611, the device 4 sends the data message 5 to the device 6 through the tunnel 5.
The device 4 is an entrance device of the tunnel 5 and the device 6 is an exit device of the tunnel 5. The device 6 may be an intermediate device or an egress device in the SD-WAN for transmitting service messages of the service 2. The data message 5 may be a message updated based on the data message 4. The explanation of this step refers to the explanation related to step 303, and the embodiments of the present application are not repeated here.
Step 612, the device 6 determines the path constraint information 2 corresponding to the service 2 according to the data packet 5.
The explanation of this step refers to the explanation related to step 304, and the embodiments of the present application will not be repeated here.
Step 613, the device 6 determines that the path constraint condition corresponding to the path constraint information 2 is not satisfied.
The explanation of this step refers to the explanation related to step 305, and the embodiments of the present application will not be repeated here.
In step 614, the device 6 sends a feedback message 4 to the device 4, where the feedback message 4 carries the indication information 5.
The indication information 5 is used to indicate to the device 4 that the device 6 cannot act as a node on the path 2 for transmitting the traffic 2. The explanation of this step refers to the explanation related to step 306, and the embodiments of the present application will not be repeated here.
Step 615, the device 4 determines, according to the indication information 5, that the device 6 cannot act as a node on the path 2 for transmitting the traffic 2.
The explanation of this step refers to the explanation related to step 307, and the embodiments of the present application will not be repeated here.
In a specific embodiment, when the tunnel with the device 4 as the ingress device is routed, the egress device in the reachable SD-WAN for transmitting the service message of the service 2 only includes the tunnel 4 and the tunnel 5; alternatively, when the bandwidth is included in the path constraint information 2, the available bandwidth in the tunnel using the device 4 as the ingress device is greater than or equal to the bandwidth included in the path constraint information 2, and the egress device for routing the service packet for transmitting the service 2 in the SD-WAN includes only the tunnel 4 and the tunnel 5, the following step 616 may be executed.
Step 616, the device 4 sends a feedback message 5 to the device 1, where the feedback message 5 carries the indication information 6.
The indication information 6 is used to indicate to the device 1 that the device 4 cannot act as a node on the path 2 for transmitting the traffic 2.
In a specific embodiment, after the device 1 receives the feedback message 5, the steps performed by the device 1 may refer to the above steps 307 to 313, and the embodiments of the present application are not repeated here.
Fig. 7 is a flow chart of a routing method in an SD-WAN according to an embodiment of the present application. The method may be applied in a communication system in an SD-WAN as shown in fig. 1 or fig. 2. As shown in fig. 7, the method includes:
In step 701, the device 1 acquires path constraint information 3 corresponding to the service 3, where the path constraint information 3 is used to determine a path constraint condition satisfied by a path 3 for transmitting the service 3.
In a specific embodiment, the path constraint information 3 includes SLA information and/or QoS information corresponding to the service 3. The path constraint information 3 specifically includes one or more of the following information: delay, jitter, bandwidth, packet loss rate, bit error rate, and bandwidth occupancy. The explanation of this step may refer to the explanation related to step 301, and the embodiments of the present application will not be repeated here.
In the embodiment of the present application, the path constraint information 3 is described by taking at least the bandwidth as an example.
Step 702, the device 1 determines that the path constraint condition corresponding to the path constraint information 3 is not satisfied.
The path constraint conditions corresponding to the path constraint information 3 include: a target tunnel with the bandwidth greater than or equal to the bandwidth included in the path constraint information 3 exists in the tunnel taking the device 1 as an entrance device, and the target tunnel can reach an exit device for transmitting the service message of the service 3 in the SD-WAN. After acquiring the path constraint information 3, the device 1 may acquire the available bandwidths of all tunnels having the device 1 as an ingress device. When there is no tunnel in which the device 1 is taken as an ingress device, and the available bandwidth is greater than or equal to the bandwidth included in the path constraint information 1, the device 1 determines that the path constraint condition corresponding to the path constraint information 3 is not satisfied.
In step 703, the device 1 sends a notification message to the SD-WAN control device, where the notification message carries the indication information 7.
The indication information 7 is used to indicate to the control device that no path 3 capable of transmitting traffic 3 exists in the SD-WAN. The explanation of this step refers to the explanation related to step 313, and the embodiments of the present application will not be repeated here.
The routing method of the SD-WAN provided by the embodiment of the application not only can be used for routing the service before the transmission of the service message, but also can be used for enabling the network equipment to detect whether the network equipment meets the path constraint condition corresponding to the transmitted service or not in the transmission process of the service message.
In a first implementation manner, when receiving a service message including path constraint information, the device detects whether the device meets a path constraint condition corresponding to the path constraint information. At this time, the ingress device for transmitting the service in the SD-WAN needs to insert path constraint information in the received service packet. In a specific embodiment, the ingress device may insert path constraint information in each received service packet, or the ingress device may insert path constraint information in the received service packet at predetermined time intervals. When the ingress device inserts path constraint information in each received service packet, the ingress device may further insert indication information in each received packet, where the indication information is used to indicate whether the path constraint information in the service packet is valid.
In a second implementation manner, when receiving a detection message including path constraint information, the device detects whether the detection message itself meets a path constraint condition corresponding to the path constraint information. The ingress device in the SD-WAN for transmitting traffic does not need to change the received traffic message. In a specific embodiment, the ingress device may generate a probe packet including path constraint information at a predetermined time interval, and send the probe packet to the downstream device at the predetermined time interval.
In a third implementation, path constraint information is stored in a device located on a transmission path of a service in an SD-WAN. And when receiving the service message comprising the trigger information, the equipment detects whether the equipment meets the path constraint condition corresponding to the path constraint information. At this time, the ingress device for transmitting the service in the SD-WAN needs to insert trigger information in the received service packet. In a specific embodiment, the access device may insert the trigger information in the received service message at predetermined time intervals. The trigger information is used to trigger the device to execute the routing process.
In a fourth implementation, path constraint information is stored in a device located on a transmission path of a service in an SD-WAN. And when the equipment receives the detection message comprising the trigger information, detecting whether the equipment meets the path constraint condition corresponding to the path constraint information. The ingress device in the SD-WAN for transmitting traffic does not need to change the received traffic message. In a specific embodiment, the portal device may generate the probe message including the trigger information at predetermined time intervals. The trigger information is used to trigger the device to execute the routing process.
In a fifth implementation manner, the device located on the transmission path of the service in the SD-WAN stores path constraint information, and the device may periodically detect, at predetermined time intervals, whether the device itself meets a path constraint condition corresponding to the stored path constraint information. The ingress device in the SD-WAN for transmitting traffic does not need to change the received traffic message.
The first implementation manner and the second implementation manner are described by taking the example that the service a includes the device a and the device b on the transmission path in the SD-WAN as an example. The path constraint information corresponding to the service a is called path constraint information a. Device a is an ingress device for traffic a in the SD-WAN and device b is an intermediate or egress device for traffic a in the SD-WAN.
In the first implementation manner, the device a inserts, in each service packet of the received service a, path constraint information a corresponding to the service a and indication information, where the indication information is used to indicate whether the path constraint information a is valid. And then sending the service message of the service a to the equipment b. After receiving a service message of the service a, if the indication information in the service message indicates that the path constraint information a is effective, the equipment b detects whether the equipment b meets the path constraint condition corresponding to the path constraint information a or not; if the indication information in the service message indicates that the path constraint information a is invalid, the equipment b forwards the service message by adopting a corresponding tunnel according to the corresponding relation between the pre-stored service a and the tunnel. Or, the device a inserts the path constraint information a in the received service message of the service a according to a preset time interval, and then sends the service message of the service a to the device b. If the service message received by the equipment b comprises the path constraint information a, the equipment b detects whether the equipment b meets the path constraint condition corresponding to the path constraint information a or not; if the equipment b determines that the received service message does not include the path constraint information a, the equipment b forwards the service message by adopting a corresponding tunnel according to the corresponding relation between the pre-stored service a and the tunnel.
In the second implementation manner, the device a generates a probe packet including the path constraint information a at predetermined time intervals, and sends the probe packet to the device b. And when the equipment b receives the detection message comprising the path constraint information a, detecting whether the equipment b meets the path constraint condition corresponding to the path constraint information a.
In a specific implementation manner, the packet used for routing the service in the SD-WAN in the embodiment of the present application may be a service packet or a probe packet of the service. When the message used for routing the service in the SD-WAN is a service message, the device that receives the message will continue forwarding the message no matter whether the device meets or does not meet the corresponding path constraint condition. When the message used for selecting the route for the service in the SD-WAN is the detection message, if the equipment receiving the message does not meet the path constraint condition corresponding to the service, the equipment can discard the message, and if the equipment receiving the message meets the path constraint condition corresponding to the service, the equipment can continue to transmit the message.
In this embodiment, the header of the data packet may include a first field and a second field. The first field is used for bearing path constraint information, and the second field is used for indicating whether the path constraint information borne by the first field is valid or not.
In a specific embodiment, the data message is a service message. The service message may be a message employing an on-line operations management maintenance (in-situ operations administration and maintenance, IOAM) mechanism. Fig. 8 is a schematic structural diagram of a service packet using an IOAM mechanism according to an embodiment of the present application. As shown in fig. 8, the service packet includes: ethernet header (Ethernet header), IP header (IP header), tunnel header (tunnel header), IOAM extension and payload (payload) fields. The Ethernet header, the IP header, the tunnel header and the IOAM extension are all located in the message header. The IOAM extension includes a namespace identification (namespace-ID) field, an IOAM information Type (IOAM-E2E-Type) field, and an option data field (option data field determined by IOAM-E2E-Type) field defined by the IOAM information Type field. The name space identification field is used for indicating the service Type, and the IOAM-E2E-Type field is used for indicating the Type of information carried in the option data field determined by IOAM-E2E-Type field.
The value of the IOAM-E2E-Type field may take on a value of 0 to 15. When the value of the IOAM-E2E-Type field is 0 to 3, the Type of information carried in the option data field determined by IOAM-E2E-Type field is defined at present. When the value of the IOAM-E2E-Type field is 0, the option data field determined by IOAM-E2E-Type field carries a 64-bit serial number; when the IOAM-E2E-Type field takes a value of 1, the option data field determined by IOAM-E2E-Type field carries a 32-bit serial number; when the IOAM-E2E-Type field takes a value of 2, it indicates that the option data field determined by IOAM-E2E-Type field carries a 4-byte second level timestamp (timemap); when the IOAM-E2E-Type field takes a value of 3, it indicates that the option data field determined by IOAM-E2E-Type field carries a 4-byte pressure-second level timemap. In this embodiment of the present application, when the value of the IOAM-E2E-Type field is any one of values 4 to 15, it may be defined that the option data field determined by IOAM-E2E-Type field carries information that an ingress device of a service in the SD-WAN inserts in a service packet, for example, path constraint information, indication information for indicating whether the path constraint information is valid, or trigger information for triggering a device to execute a routing procedure, and so on. For example, the value of the IOAM-E2E-Type field is 4, which indicates that the Option data field determined by IOAM-E2E-Type field carries information that the ingress device of the service in the SD-WAN inserts in the service message.
In a specific embodiment, referring to fig. 8,option data field determined by IOAM-E2E-Type field, a first field may be included, where the first field is used to carry path constraint information. The option data field determined by IOAM-E2E-Type field may further include a second field, where the second field is used to indicate whether the path constraint information carried by the first field is valid. The second field may be located before the first field. The path constraint information including bandwidth (bandwidth), delay (delay), and jitter (jitter) is exemplified in fig. 8.
The service message shown in fig. 8 may be specifically a VXLAN message, an IPsec message, or a GRE message. Fig. 9 is a schematic structural diagram of a VXLAN packet with an IOAM mechanism according to an embodiment of the present application. As shown in fig. 9, the header of the VXLAN message includes an ethernet header, an IP header, a UDP header (UDP header), a VXLAN header, and an IOAM extension. As shown in FIG. 9, the IOAM extension also includes an IOAM end-to-end selection (IOAM E2E option) header that precedes the namespace identification field. The IOAM E2E option header may refer to relevant definitions and explanations in the internet engineering task force (the internet engineering task force, IETF), and embodiments of the present application are not described in detail herein.
In a specific implementation manner, the data packet in the embodiment of the present application is a probe packet. The probe message may be a new message that is reconstructed or a message that is extended based on an existing message (e.g., a bidirectional forwarding detection (bidirectional forwarding detection, BFD) message).
Fig. 10 is a schematic structural diagram of a probe packet according to an embodiment of the present application. The detection message is a newly constructed new message. As shown in fig. 10, the probe packet includes: ethernet header, IP header, UDP header, and extension. The extension portion may include a version (version) field, a type (type) field, a length (length) field, and a data field, among others. The version field is used for indicating a version number, the type field is used for indicating the type of the message, and the length field is used for indicating the length of the data field. The data field includes a first field for carrying path constraint information. The data field may further include a second field for indicating whether the path constraint information carried by the first field is valid.
As another example, fig. 11 is a schematic structural diagram of another probe packet provided in an embodiment of the present application. The detection message is obtained based on BFD message expansion. As shown in fig. 11, the probe packet includes: a mandatory part and an optional part. Wherein, fields in the optional part of the BFD messages may be customized.
In the embodiment of the application, the data field of the optional part of the BFD packet is divided into a first field and a second field. The first field is used to carry path constraint information. The second field is used for indicating whether the path constraint information carried by the first field is valid.
The optional portion may further comprise: an authentication type (authentication type) field, an authentication length (authentication ten) field, and an authentication data (authentication data) field. The functions and contents of the fields in the mandatory portion, the authentication type field, the authentication length field, and the authentication data field may refer to related definitions in the remote function call (Remote Function Call, RFC) 5008 communication standard, and the embodiments of the present application are not described herein.
In this embodiment of the present application, the feedback message may be, for example, a UDP message or a TCP message, or a message with other formats for implementing the same function.
Fig. 12 is a schematic structural diagram of a feedback packet according to an embodiment of the present application, where the feedback packet is a UDP packet. As shown in fig. 12, the feedback message includes: ethernet header, IP header, UDP header, and extension. The extension portion may include a version field, a type field, a length field, and a data field, among others. The data field includes: information field, tunnel identification field and reserved field. The version field is used to indicate a version number. The type field is used to carry indication information that indicates to an upstream device that the device cannot act as a node on the path of the traffic being transmitted. The indication information may be represented by a numerical value, for example, when the value of the type field is 1, indicating that the device cannot act as a node on the path of the transmission traffic. The length field is used to indicate the length of the data field. The tunnel identification field is used to carry the identification of the tunnel. The information field is used to carry path constraint information. In the feedback message 1, the value of the type field is 1, the information field carries path constraint information 1, and the tunnel identification field includes an identification of the tunnel 1.
As another example, fig. 13 is a schematic structural diagram of another feedback packet provided in the embodiment of the present application, where the feedback packet is a TCP packet. As shown in fig. 13, the feedback packet includes: ethernet header, IP header, TCP header, and extension. The extension portion may include a version field, a type field, a length field, and a data field, among others. The data field includes: information field, tunnel identification field and reserved field. The version field is used to indicate a version number. The type field is used to carry indication information that indicates to an upstream device that the device cannot act as a node on the path of the traffic being transmitted. The indication information may be represented by a numerical value, for example, when the value of the type field is 1, indicating that the device cannot act as a node on the path of the transmission traffic. The length field is used to indicate the length of the data field. The tunnel identification field is used to carry the identification of the tunnel. The information field is used to carry path constraint information. In the feedback message 1, the value of the type field is 1, the information field carries path constraint information 1, and the tunnel identification field includes an identification of the tunnel 1.
In an exemplary embodiment of the present application, the data packet is a VXLAN packet as shown in fig. 9, the feedback packet is a UDP packet as shown in fig. 12, and a process for implementing routing for a service in a communication system in an SD-WAN as shown in fig. 1 or fig. 2 is described.
Network device 101A in transmission path 1 is an ingress device for transmission of traffic in the SD-WAN, network device 101C is an intermediate device for transmission of traffic in the SD-WAN, and network device 101F is an egress device for transmission of traffic in the SD-WAN. The network device 101A receives a VXLAN message sent by a sender device, where the VXLAN message includes an ethernet header, an IP header, a UDP header, a VXLAN header, and a payload field. The network device 101A may first obtain the path constraint information, and determine whether itself satisfies the path constraint condition corresponding to the path constraint information according to the path constraint information. When the network device 101A determines that the network device 101A itself satisfies the path constraint condition corresponding to the path constraint information, the network device 101A inserts the IOAM extension part after the VXLAN header in the header of the VXLAN message, sets the value of the IOAM-E2E-Type field of the IOAM extension part to 4, and adds the path constraint information in the option data field determined by IOAM-E2E-Type field. Network device 101A then sends a VXLAN message including the IOAM extension to network device 101C over tunnel L1. The network device 101C determines whether or not itself satisfies the path constraint condition corresponding to the path constraint information according to the path constraint information.
When the network device 101C determines that itself satisfies the path constraint condition corresponding to the path constraint information, the network device 101C transmits a VXLAN message including the IOAM extension portion to the network device 101F through the tunnel L4. The network device 101F determines whether or not itself satisfies the path constraint condition corresponding to the path constraint information, based on the path constraint information. When the network device 101F determines that the network device 101F does not satisfy the path constraint condition corresponding to the path constraint information, the network device 101F generates a UDP packet having a type field value of 1, including the identifier of the tunnel L4 in the tunnel identifier field, and including the path constraint condition in the information field, and sends the UDP packet to the network device 101C. The network device 101C determines that the network device 101F cannot act as a node for transmitting traffic on the path. When there is a target tunnel (e.g., tunnel L3) satisfying the bandwidth included in the path constraint information in the tunnel with the network device 101C as the ingress device, the network device 101C transmits a VXLAN message including the IOAM extension portion to the network device 101E through the tunnel L3. When there is no tunnel satisfying the bandwidth included in the path constraint information in the tunnel using the network device 101C as the ingress device, the network device 101C generates a UDP packet having a type field value of 1, including the identity of the tunnel L1 in the tunnel identity field, and including the path constraint condition in the information field, and sends the UDP packet to the network device 101A. The network device 101A determines that the network device 101C cannot act as a node for transmitting traffic on the path. When there is a target tunnel (e.g., tunnel L2) satisfying the bandwidth included in the path constraint information in the tunnel with the network device 101A as the ingress device, the network device 101A transmits a VXLAN message including the IOAM extension portion to the network device 101D through the tunnel L2. When there is no tunnel satisfying the bandwidth included in the path constraint information in the tunnel with the network device 101A as the ingress device, the network device 101A sends a notification message carrying instruction information to the control device 102 of the SD-WAN to instruct the control device that there is no path for transmitting traffic in the SD-WAN.
When the network device 101C determines that the network device 101C does not satisfy the path constraint condition corresponding to the path constraint information, the network device 101C generates a UDP packet having a type field value of 1, including the identifier of the tunnel L1 in the tunnel identifier field, and including the path constraint condition in the information field, and sends the UDP packet to the network device 101A.
Fig. 14 is a flowchart of a routing method in an SD-WAN according to an embodiment of the present application, where a network architecture applying the method includes at least a first device and a second device, and the network architecture may further include a third device, a fourth device, and/or a fifth device. The first device may be, for example, the network device 101C shown in fig. 1 or fig. 2, and the second device may be, for example, the network device 101A shown in fig. 1 or fig. 2. The network architecture may be, for example, the network architecture shown in fig. 1 or fig. 2. The method may be specifically used to implement the method shown in any of the embodiments corresponding to fig. 3 to 7. For example, the first device in the method shown in fig. 14 may be device 2 in the method shown in fig. 3, and the second device may be device 1 in the method shown in fig. 3. The method comprises the following steps:
in step 1401, the first device receives, through the first tunnel, the first data packet sent by the second device, where the first device is an exit device of the first tunnel, and the second device is an entry device of the first tunnel.
Step 1402, the first device determines, according to the first data packet, first path constraint information corresponding to the first service. The first path constraint information is used to determine a first path constraint condition satisfied by a first path transmitting the first traffic.
Step 1403, the first device determines that the first path constraint condition is not satisfied by itself, and the first device sends a first feedback packet to the second device. The first feedback message carries first indication information, and the first indication information is used for indicating to the second device that the first device cannot be used as a node for transmitting the first service on the first path.
When the method is specifically used to implement the method embodiment shown in fig. 3, the first device may be, for example, device 2, the second device may be, for example, device 1, the first tunnel may be, for example, tunnel 1, the first data packet may be, for example, data packet 1, and the first feedback packet may be, for example, feedback packet 1. The specific implementation process of steps 1401 to 1403 may refer to the related description in the embodiment shown in fig. 3, and will not be described herein.
In a specific embodiment, the method further comprises: and the first equipment receives a second data message sent by the third equipment through the second tunnel. The first device is an exit device of the second tunnel and the third device is an entrance device of the second tunnel. And the first equipment determines second path constraint information corresponding to the second service according to the second data message, wherein the second path constraint information is used for determining second path constraint conditions met by a second path for transmitting the second service. The first device determines that the first device meets the second path constraint condition, and forwards the updated second data message to the fourth device through the third tunnel. The first device is an ingress device of the third tunnel and the fourth device is an egress device of the third tunnel. When the method is specifically used to implement the embodiment shown in fig. 6, the first device may be, for example, device 4, the second tunnel may be, for example, tunnel 3, the third device may be, for example, device 1, the third tunnel may be, for example, tunnel 4, the fourth device may be, for example, device 5, the second data message may be, for example, data message 3, and the updated second data message may be, for example, data message 4.
In a specific embodiment, the method further comprises: the first device receives a second feedback message sent by the fourth device, wherein the second feedback message carries second indication information, and the second indication information is used for indicating to the first device that the fourth device cannot be used as a node for transmitting a second service on a second path. And the first device determines that the fourth device does not meet the second path constraint condition according to the second indication information. When the method is specifically used to implement the embodiment shown in fig. 6, the first device may be, for example, device 4, the fourth device may be, for example, device 5, and the second feedback message may be, for example, feedback message 3.
In an optional embodiment of the application, after the first device determines that the fourth device does not meet the second path constraint condition according to the second indication information, the method further includes: the first device reselects downstream devices on the second path.
In a specific embodiment, the first device reselects a downstream device on the second path, comprising: the first device sends the updated second data message to the fifth device through the fourth tunnel, the first device is an ingress device of the fourth tunnel, and the fifth device is an egress device of the fourth tunnel. When the method is specifically used to implement the embodiment shown in fig. 6, the first device may be, for example, device 4, the fourth tunnel may be, for example, tunnel 5, the fifth device may be, for example, device 6, and the updated second data packet may be, for example, data packet 5.
In another optional embodiment of the present application, after the first device determines that the fourth device does not meet the second path constraint condition according to the second indication information, the method further includes: the first device sends a third feedback message to the third device, wherein the third feedback message carries third indication information, and the third indication information is used for indicating to the third device that the first device cannot serve as a node for transmitting the second service on the second path. When the method is specifically used to implement the embodiment shown in fig. 6, the first device may be, for example, device 4, the third device may be, for example, device 1, and the third feedback message may be, for example, feedback message 5.
In one implementation, the first data packet is a probe packet, where the probe packet carries first path constraint information.
In this implementation manner, the first device receives, through the first tunnel, a first data packet sent by the second device, including:
and the first equipment receives the detection message sent by the second equipment through the first tunnel according to the preset time interval.
In another implementation, the first data packet is a service packet, where the service packet carries first path constraint information.
In a specific embodiment, the first device determines, according to the first data packet, first path constraint information corresponding to the first service, including: the first device determines locally stored first path constraint information corresponding to the service type according to the service type of the first data message.
In a specific embodiment, the first path constraint information includes one or more of the following information respectively: delay, jitter, bandwidth, packet loss rate, bit error rate, and bandwidth occupancy.
In a specific embodiment, a header of the first data packet includes a first field and a second field, where the first field is used to carry first path constraint information, and the second field is used to indicate whether the first path constraint information carried by the first field is valid.
Fig. 15 is a schematic flow chart of a routing method in an SD-WAN according to an embodiment of the present application, where a network architecture applying the method includes at least a first device and a second device, and the network architecture may further include a third device. The first device may be, for example, 101C shown in fig. 1 or fig. 2, and the second device may be, for example, network device 101A shown in fig. 1 or fig. 2. The network architecture may be, for example, the network architecture shown in fig. 1 or fig. 2. The method may be specifically used to implement the method shown in any of the embodiments corresponding to fig. 3 to 7. For example, the first device in the method shown in fig. 15 may be device 2 in the method shown in fig. 3, and the second device may be device 1 in the method shown in fig. 3.
Step 1501, a second device sends a first data packet to a first device through a first tunnel, where the second device is an ingress device of the first tunnel, and the first device is an egress device of the first tunnel.
In step 1502, the second device receives a first feedback packet sent by the first device, where the first feedback packet carries first indication information.
In step 1503, the second device determines, according to the first indication information, that the first device cannot be used as a node for transmitting the first service on the first path.
In step 1504, the second device sends a second data packet to the third device through the second tunnel, where the second device is an ingress device of the second tunnel, and the third device is an egress device of the second tunnel.
When the method is specifically used to implement the method embodiment shown in fig. 3, the second device may be, for example, device 1, the first tunnel may be, for example, tunnel 1, the first device may be, for example, device 2, the second tunnel may be, for example, tunnel 2, and the third device may be, for example, device 3. The specific implementation process of step 1501 to step 1504 can refer to the related description in the embodiment shown in fig. 3, and will not be repeated here.
In a specific embodiment, after the second device sends the second data packet to the third device through the second tunnel, the method further includes: the second device receives a second feedback message sent by the third device, wherein the second feedback message carries second indication information. The second device determines that the third device cannot serve as a node for transmitting the first service on the first path according to the second indication information. The second device sends a notification message to the control device, wherein the notification message carries third indication information, and the third indication information is used for indicating that the first path does not exist in the SD-WAN to the control device. When the method is specifically used to implement the method embodiment shown in fig. 3, the second device may be, for example, device 1, the second tunnel may be, for example, tunnel 2, the third device may be, for example, device 3, the second data packet may be, for example, data packet 2, and the second feedback packet may be, for example, feedback packet 2.
In one implementation, the first data packet and the second data packet are probe packets, where the probe packets carry first path constraint information, and the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
In this implementation manner, after the second device sends the second data packet to the third device through the second tunnel, the method further includes: and the second equipment sends the detection message to the third equipment through the second tunnel according to the preset time interval.
In another implementation manner, the first data packet and the second data packet are service packets, where the service packets carry first path constraint information, and the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
In a specific embodiment, the method further comprises: the second device receives a routing instruction for the first service sent by the control device. The second device obtains first path constraint information according to the routing instruction, wherein the first path constraint information is used for determining first path constraint conditions met by a first path for transmitting first service. When the method is specifically used to implement the method embodiments shown in fig. 3, 6 or 7 described above, the second device may be, for example, device 1.
In a specific embodiment, the routing instruction includes a service type of a first service, and the second device obtains first path constraint information according to the routing instruction, including: and the second equipment determines the locally stored first path constraint information corresponding to the service type according to the service type of the first service.
In one embodiment, the routing instruction includes first path constraint information.
In a specific embodiment, the method further comprises: and the second equipment receives the service message of the first service sent by the sending end equipment. The second device determines locally stored first path constraint information corresponding to the service type according to the service type of the service message of the first service, wherein the first path constraint information is used for determining a first path constraint condition met by a first path for transmitting the first service.
In one embodiment, the first path constraint information includes one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, or bandwidth occupancy.
In a specific embodiment, a header of the first data packet includes a first field and a second field, where the first field is used to carry first path constraint information, and the second field is used to indicate whether the first path constraint information carried by the first field is valid.
At present, a network control device determines a message transmission path in an SD-WAN, on one hand, the real-time performance of the network device for acquiring the message transmission path is poor, and the service with higher delay requirements for video services cannot be ensured. On the other hand, for the service transmitted across the domains, since each domain has one network control device, and the network control device can only determine the message transmission path of the domain managed by the network control device, the network control device cannot determine the message transmission path according to the across-domain scene, and thus the message transmission path determined by the network control device cannot meet the transmission requirement of the service transmitted across the domains.
According to the routing method in the SD-WAN, the control equipment is not required to select the message transmission path, and each network equipment in the SD-WAN can dynamically select the transmission path in the message transmission process, so that the routing method is applicable to the SD-WAN with a large number of network equipment and the message transmission of the cross-domain transmission service. In addition, in the message transmission process, the network equipment does not need to interact with the SD-WAN control equipment, so that the real-time performance of message transmission is ensured. Meanwhile, the data transmission quantity between the second equipment and the control equipment is reduced, and the network overhead is reduced.
Fig. 16 is a schematic structural diagram of a routing device in an SD-WAN according to an embodiment of the present application. The second device, which may be applied in an SD-WAN, may be, for example, the network device 101A shown in fig. 1 or fig. 2. As shown in fig. 16, the routing device 160 includes:
the transceiver module 1601 is configured to send a first data packet to a first device through a first tunnel, where the second device is an ingress device of the first tunnel, and the first device is an egress device of the first tunnel.
The transceiver module 1601 is further configured to receive a first feedback packet sent by the first device, where the first feedback packet carries first indication information.
A processing module 1602, configured to determine, according to the first indication information, that the first device cannot be used as a node on the first path for transmitting the first service.
The transceiver module 1601 is further configured to send a second data packet to a third device through a second tunnel, where the second device is an ingress device of the second tunnel, and the third device is an egress device of the second tunnel.
In a specific embodiment, the transceiver module 1601 is further configured to receive a second feedback packet sent by the third device, where the second feedback packet carries second indication information. The processing module 1602 is further configured to determine, according to the second indication information, that the third device cannot be used as a node on the first path for transmitting the first service.
In a specific embodiment, the transceiver module 1601 is further configured to send a notification packet to the control device, where the notification packet carries third indication information, where the third indication information is used to indicate to the control device that the SD-WAN does not have the first path.
In a specific embodiment, the first data packet and the second data packet are probe packets, where the probe packets carry first path constraint information, and the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
In a specific embodiment, the transceiver module 1601 is further configured to send, at a predetermined time interval, a detection packet to the third device through the second tunnel.
In a specific embodiment, the first data packet and the second data packet are service packets, where the service packets carry first path constraint information, and the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
In a specific embodiment, the transceiver module 1601 is further configured to receive a routing instruction for the first service sent by the control device. The processing module 1602 is further configured to obtain first path constraint information according to the routing instruction, where the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
In a specific embodiment, the routing instruction includes a service type of the first service, and the processing module 1602 is further configured to: and determining locally stored first path constraint information corresponding to the service type according to the service type of the first service.
In one embodiment, the routing instruction includes first path constraint information.
In a specific embodiment, the transceiver module 1601 is further configured to receive a service packet of the first service sent by the sending end device. The processing module 1602 is further configured to determine, according to a service type of a service packet of the first service, locally stored first path constraint information corresponding to the service type, where the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
In a specific embodiment, the first path constraint information includes one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, or bandwidth occupancy.
In a specific embodiment, a header of the first data packet includes a first field and a second field, where the first field is used to carry first path constraint information, and the second field is used to indicate whether the first path constraint information carried by the first field is valid.
Details not described here can refer to details of the routing method in the SD-WAN shown in fig. 3, 6 or 7.
In summary, according to the routing device provided in the embodiment of the present application, since the control device is not required to select a packet transmission path, each network device in the SD-WAN may dynamically select a transmission path in the packet transmission process, so the routing device is applicable to packet transmission of SD-WAN with a large number of network devices and services transmitted across domains. In addition, in the message transmission process, the network equipment does not need to interact with the SD-WAN control equipment, so that the real-time performance of message transmission is ensured. Meanwhile, the data transmission quantity between the second equipment and the control equipment is reduced, and the network overhead is reduced.
Fig. 17 is a schematic structural diagram of a routing device in another SD-WAN according to an embodiment of the present application. The method can be applied to a first device in an SD-WAN, such as the network device 101F or the network device 101C shown in fig. 1 or fig. 2, the first device being an egress device or an intermediate device for transmitting traffic in the SD-WAN, the SD-WAN including a plurality of tunnels therein. As shown in fig. 17, the routing device 170 includes:
the transceiver module 1701 is configured to receive, through a first tunnel, a first data packet sent by a second device, where the first device is an egress device of the first tunnel, and the second device is an ingress device of the first tunnel.
The processing module 1702 is configured to determine, according to the first data packet, first path constraint information corresponding to a first service, where the first path constraint information is used to determine a first path constraint condition satisfied by a first path for transmitting the first service.
The transceiver module 1701 is further configured to determine that the first path constraint condition is not satisfied by itself, send a first feedback packet to the second device, where the first feedback packet carries first indication information, where the first indication information is used to indicate to the second device that the first device cannot be used as a node on the first path for transmitting the first service.
In a specific embodiment, the transceiver module 1701 is further configured to receive, through the second tunnel, the second data packet sent by the third device, where the first device is an egress device of the second tunnel, and the third device is an ingress device of the second tunnel.
The processing module 1702 is further configured to determine second path constraint information corresponding to a second service according to the second data packet, where the second path constraint information is used to determine a second path constraint condition satisfied by a second path for transmitting the second service.
The transceiver module 1701 is further configured to determine that the second path constraint condition is met, forward the updated second data packet to the fourth device through the third tunnel, where the first device is an ingress device of the third tunnel, and the fourth device is an egress device of the third tunnel.
In a specific embodiment, the transceiver module 1701 is further configured to receive a second feedback packet sent by the fourth device, where the second feedback packet carries second indication information, where the second indication information is used to indicate to the first device that the fourth device cannot be used as a node on the second path for transmitting the second service.
The processing module 1702 is further configured to determine, according to the second indication information, that the fourth device does not satisfy the second path constraint condition.
In a specific embodiment, the processing module 1702 is further configured to reselect a downstream device on the second path.
In a specific embodiment, the processing module 1702 is further configured to: and sending the updated second data message to a fifth device through the fourth tunnel, wherein the first device is an entrance device of the fourth tunnel, and the fifth device is an exit device of the fourth tunnel.
In a specific embodiment, the transceiver module 1701 is further configured to send a third feedback packet to the third device, where the third feedback packet carries third indication information, where the third indication information is used to indicate to the third device that the first device cannot be used as a node on the second path for transmitting the second service.
In a specific embodiment, the first data packet is a probe packet, where the probe packet carries first path constraint information.
In a specific embodiment, the transceiver module 1701 is further configured to: and receiving the detection message sent by the second equipment through the first tunnel according to a preset time interval.
In a specific embodiment, the first data packet is a service packet, where the service packet carries first path constraint information.
In a specific embodiment, the processing module 1702 is configured to: and determining locally stored first path constraint information corresponding to the service type according to the service type of the first data message.
In a specific embodiment, the first path constraint information includes one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, and bandwidth occupancy.
In a specific embodiment, a header of the first data packet includes a first field and a second field, where the first field is used to carry first path constraint information, and the second field is used to indicate whether the first path constraint information carried by the first field is valid.
Details not described here can be referred to in detail in the routing method in the SD-WAN shown in fig. 3 or fig. 6.
In summary, according to the routing device provided in the embodiment of the present application, since the control device is not required to select a packet transmission path, each network device in the SD-WAN may dynamically select a transmission path in the packet transmission process, so the routing device is applicable to packet transmission of SD-WAN with a large number of network devices and services transmitted across domains. In addition, in the message transmission process, the network equipment does not need to interact with the SD-WAN control equipment, so that the real-time performance of message transmission is ensured. Meanwhile, the data transmission quantity between the second equipment and the control equipment is reduced, and the network overhead is reduced.
Fig. 18 is a block diagram of a routing device 1800 in an SD-WAN provided in an embodiment of the present application. The routing device 1800 may be an ingress device, an intermediate device, or an egress device on a transmission path in the SD-WAN, and may specifically be a router or a switch, etc. As shown in fig. 18, the apparatus 1800 includes: a processor 1801 and a memory 1802.
A memory 1802 for storing computer readable instructions;
a processor 1801 for invoking said computer readable instructions, as indicated by said computer readable instructions, to perform all of the operations in the method of fig. 3 as performed by device 2 or device 3, the method of fig. 6 as performed by device 4 or device 5 or device 6, or the first device of the method of fig. 14; or may perform all of the operations that may be performed by device 1 in the method shown in fig. 3, device 1 in the method shown in fig. 6, or a second device in the method shown in fig. 15. For example, the operations performed by the device 2 in the embodiment corresponding to fig. 3, or the operations performed by the first device in the embodiment corresponding to fig. 14.
In a particular embodiment, the apparatus 1800 may also include a communication interface 1803. The memory 1802, the processor 1801 and the communication interface 1803 are communicatively connected to each other.
Fig. 19 is a block diagram of a routing device 1900 in another SD-WAN provided in an embodiment of the present application. The routing device may be an ingress device, an intermediate device or an egress device on a transmission path in the SD-WAN, and may specifically be a router or a switch, etc. As shown in fig. 19, the apparatus 1900 includes: a communication interface 1901; and a processor 1902 connected to the communication interface 1901. Based on the communication interface 1901 and the processor 1902, the routing means 1900 may perform all operations that may be performed by device 2 or device 3 in the method shown in fig. 3, device 4 or device 5 or device 6 in the method shown in fig. 6, or the first device in the method shown in fig. 14; or may perform all of the operations that may be performed by device 1 in the method shown in fig. 3, device 1 in the method shown in fig. 6, or a second device in the method shown in fig. 15. The communication interface 1901 is used for performing a transceiving operation, and the processor 1902 is used for performing an operation other than the transceiving operation. For example, when the apparatus 1900 is used to implement the method shown in fig. 14, the communication interface 1901 is used to receive a first data packet sent by the second device through the first tunnel, and the processor 1902 is used to determine first path constraint information corresponding to the first service according to the first data packet.
In the embodiment of the application, the processor may be a central processing unit (central processing unit, CPU). A processor may include one or more processing cores that execute various functional applications and data processing by running computer programs. The processor and the memory are connected by the communication bus.
The processor may further comprise a hardware chip. The hardware chip may be an application specific integrated circuit (application specific integrated circuits, ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), general-purpose array logic (generic array logic, GAL), or any combination thereof. In one embodiment, the hardware chip may be used to implement encryption/decryption operations.
The memory may include volatile memory (English) such as random access memory (random access memory, RAM); the memory may also include a nonvolatile memory (english: non-volatile memory), such as a flash memory (english: flash memory), a hard disk (HDD) or a Solid State Drive (SSD); the memory may also comprise a combination of the above types of memories.
The communication interface may be plural and used for communication with other devices. The communication interface may include a wired communication interface, a wireless communication interface, or a combination thereof. The wired communication interface may be, for example, an ethernet interface. The ethernet interface may be an optical interface, an electrical interface, or a combination thereof. The wireless communication interface may be a wireless local area network (wireless local area network, WLAN) interface, a cellular network communication interface, a combination thereof, or the like.
In the above embodiments, it may be implemented in whole or in part by hardware, firmware, or any combination thereof. When software is involved in a particular implementation, it may be embodied in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, optical fiber, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), etc.
In the present embodiments, the terms "first," "second," and "third," etc. are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. The term "at least one" means one or more, the term "plurality" means two or more, unless expressly defined otherwise.
The term "and/or" in this application is merely an association relation describing an associated object, and indicates that three relations may exist, for example, a and/or B may indicate: a exists alone, A and B exist together, and B exists alone. In addition, the character "/" herein generally indicates that the front and rear associated objects are an "or" relationship.
The foregoing description of the preferred embodiments is merely exemplary in nature and is in no way intended to limit the invention, its application, to the form and details of construction and the arrangement of the preferred embodiments, and thus, any and all modifications, equivalents, and alternatives falling within the spirit and principles of the present application.

Claims (52)

1. A method of routing in a software defined wide area network, SD-WAN, the method comprising:
the method comprises the steps that a first device receives a first data message sent by a second device through a first tunnel, wherein the first device is an outlet device of the first tunnel, the second device is an inlet device of the first tunnel, and the first tunnel is an overlay tunnel of the SD-WAN;
The first device determines first path constraint information corresponding to a first service according to the first data message, wherein the first path constraint information is used for determining a first path constraint condition met by a path for transmitting the first service;
the first device determines that the first path constraint condition is not met, the first device sends a first feedback message to the second device, the first feedback message carries first indication information, and the first indication information is used for indicating to the second device that the first device cannot serve as a node for transmitting the first service, so that the second device determines that the first tunnel cannot serve as a tunnel on a path for transmitting the first service and reselects the tunnel for transmitting the first service.
2. The method according to claim 1, wherein the method further comprises:
the first device receives a second data message sent by a third device through a second tunnel, wherein the first device is an outlet device of the second tunnel, the third device is an inlet device of the second tunnel, and the second tunnel is an overlay tunnel of the SD-WAN;
The first device determines second path constraint information corresponding to a second service according to the second data message, wherein the second path constraint information is used for determining a second path constraint condition met by a path for transmitting the second service;
the first device determines that the first device meets the second path constraint condition, and forwards the updated second data message to a fourth device through a third tunnel, wherein the first device is an entrance device of the third tunnel, the fourth device is an exit device of the third tunnel, and the third tunnel is an overlay tunnel of the SD-WAN.
3. The method according to claim 2, wherein the method further comprises:
the first device receives a second feedback message sent by the fourth device, wherein the second feedback message carries second indication information, and the second indication information is used for indicating to the first device that the fourth device cannot be used as a node for transmitting the second service;
and the first device determines that the fourth device does not meet the second path constraint condition according to the second indication information.
4. A method according to claim 3, wherein after the first device determines from the second indication information that the fourth device does not meet the second path constraint, the method further comprises:
The first device reselects a tunnel that transports the second traffic.
5. The method of claim 4, wherein the first device reselects a tunnel that transmits the second traffic, comprising:
the first device sends the updated second data message to a fifth device through a fourth tunnel, wherein the first device is an ingress device of the fourth tunnel, the fifth device is an egress device of the fourth tunnel, and the fourth tunnel is an overlay tunnel of the SD-WAN.
6. A method according to claim 3, wherein after the first device determines from the second indication information that the fourth device does not meet the second path constraint, the method further comprises:
the first device sends a third feedback message to the third device, wherein the third feedback message carries third indication information, and the third indication information is used for indicating to the third device that the first device cannot serve as a node for transmitting the second service.
7. The method of claim 1, wherein the first data message is a probe message, and the probe message carries the first path constraint information.
8. The method of claim 7, wherein the first device receiving, through the first tunnel, the first data message sent by the second device, comprises:
and the first equipment receives the detection message sent by the second equipment through the first tunnel according to a preset time interval.
9. The method of claim 1, wherein the first data message is a service message, and the service message carries the first path constraint information.
10. The method of claim 1, wherein the determining, by the first device, first path constraint information corresponding to a first service according to the first data packet includes:
and the first equipment determines the locally stored first path constraint information corresponding to the service type according to the service type of the first data message.
11. The method of any of claims 1 to 10, wherein the first path constraint information comprises one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, and bandwidth occupancy.
12. The method according to any one of claims 1 to 10, wherein a header of the first data packet includes a first field and a second field, the first field is used for carrying the first path constraint information, and the second field is used for indicating whether the first path constraint information carried by the first field is valid.
13. A method of routing in a software defined wide area network, SD-WAN, the method comprising:
a second device sends a first data message to a first device through a first tunnel, wherein the second device is an entrance device of the first tunnel, the first device is an exit device of the first tunnel, and the first tunnel is an overlay tunnel of the SD-WAN;
the second device receives a first feedback message sent by the first device, wherein the first feedback message carries first indication information;
the second device determines that the first device cannot be used as a node for transmitting the first service according to the first indication information, and the first tunnel cannot be used as a tunnel on a path for transmitting the first service;
and the second device sends a second data message to a third device through a second tunnel, wherein the second device is an entrance device of the second tunnel, the third device is an exit device of the second tunnel, and the second tunnel is an overlay tunnel of the SD-WAN.
14. The method of claim 13, wherein after the second device sends the second data message to the third device through the second tunnel, the method further comprises:
The second device receives a second feedback message sent by the third device, wherein the second feedback message carries second indication information;
and the second device determines that the third device cannot be used as a node for transmitting the first service according to the second indication information, and the second tunnel cannot be used as a tunnel on a path for transmitting the first service.
15. The method according to claim 13 or 14, characterized in that the method further comprises:
the second device sends a notification message to the control device, wherein the notification message carries third indication information, and the third indication information is used for indicating to the control device that a path for transmitting the first service does not exist in the SD-WAN.
16. The method according to claim 13 or 14, wherein the first data packet and the second data packet are probe packets, the probe packets carrying first path constraint information, the first path constraint information being used to determine a first path constraint condition satisfied by a path for transmitting the first service.
17. The method of claim 16, wherein after the second device sends the second data message to the third device through the second tunnel, the method further comprises:
And the second equipment sends a detection message to the third equipment through the second tunnel according to a preset time interval.
18. The method of claim 13, wherein the first data message and the second data message are service messages, and the service messages carry first path constraint information, and the first path constraint information is used to determine a first path constraint condition satisfied by a path for transmitting the first service.
19. The method of claim 13, wherein the method further comprises:
the second device receives a routing instruction for the first service, which is sent by the control device;
and the second equipment acquires first path constraint information according to the routing instruction, wherein the first path constraint information is used for determining a first path constraint condition met by a path for transmitting the first service.
20. The method of claim 19, wherein the routing instruction includes a service type of the first service, and wherein the second device obtains the first path constraint information according to the routing instruction, including:
and the second equipment determines the locally stored first path constraint information corresponding to the service type according to the service type of the first service.
21. The method of claim 19, wherein the first path constraint information is included in the routing instruction.
22. The method according to claim 13 or 14, characterized in that the method further comprises:
the second equipment receives a service message of the first service sent by the sending end equipment;
the second device determines locally stored first path constraint information corresponding to the service type according to the service type of the service message of the first service, wherein the first path constraint information is used for determining a first path constraint condition met by a path for transmitting the first service.
23. The method of claim 18 or 19, wherein the first path constraint information comprises one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, or bandwidth occupancy.
24. The method according to claim 18 or 19, wherein a header of the first data message includes a first field and a second field, the first field is used for carrying the first path constraint information, and the second field is used for indicating whether the first path constraint information carried by the first field is valid.
25. A first device in a software defined wide area network, SD-WAN, comprising:
a communication interface; and
a processor connected to the communication interface;
a method according to any one of claims 1 to 12, implemented in accordance with the communication interface and the processor.
26. A second device in a software defined wide area network, SD-WAN, comprising:
a communication interface; and
a processor connected to the communication interface;
a method according to any one of claims 13 to 24, implemented in accordance with the communication interface and the processor.
27. A communication system in a software defined wide area network SD-WAN, characterized in that the communication system comprises a first device according to claim 25 and a second device according to claim 26.
28. A computer storage medium having instructions stored thereon which, when executed by a processor, implement the method of any of claims 1 to 24.
29. A first device in a software defined wide area network, SD-WAN, the first device comprising:
the receiving and transmitting module is used for receiving a first data message sent by a second device through a first tunnel, wherein the first device is an outlet device of the first tunnel, the second device is an inlet device of the first tunnel, and the first tunnel is an overlay tunnel of the SD-WAN;
The processing module is used for determining first path constraint information corresponding to a first service according to the first data message, wherein the first path constraint information is used for determining first path constraint conditions met by a path for transmitting the first service;
the transceiver module is further configured to determine that the first path constraint condition is not satisfied by the transceiver module, where the first device sends a first feedback packet to the second device, where the first feedback packet carries first indication information, where the first indication information is used to indicate to the second device that the first device cannot be used as a node for transmitting the first service, so that the second device determines that the first tunnel cannot be used as a tunnel on a path for transmitting the first service and reselects a tunnel for transmitting the first service.
30. The first device of claim 29, wherein the first device comprises a plurality of sensors,
the transceiver module is further configured to receive, through a second tunnel, a second data packet sent by a third device, where the first device is an egress device of the second tunnel, the third device is an ingress device of the second tunnel, and the second tunnel is an overlay tunnel of the SD-WAN;
The processing module is further configured to determine second path constraint information corresponding to a second service according to the second data packet, where the second path constraint information is used to determine a second path constraint condition satisfied by a path for transmitting the second service;
the transceiver module is further configured to determine that the second path constraint condition is met, and the first device forwards the updated second data packet to a fourth device through a third tunnel, where the first device is an ingress device of the third tunnel, the fourth device is an egress device of the third tunnel, and the third tunnel is an overlay tunnel of the SD-WAN.
31. The first device of claim 30, wherein the first device comprises a plurality of sensors,
the transceiver module is further configured to receive a second feedback packet sent by the fourth device, where the second feedback packet carries second indication information, where the second indication information is used to indicate to the first device that the fourth device cannot be used as a node for transmitting the second service;
and the processing module is further configured to determine, according to the second instruction information, that the fourth device does not meet the second path constraint condition.
32. The first device of claim 31, wherein the first device,
and the processing module is further configured to reselect a tunnel for transmitting the second service after the first device determines that the fourth device does not meet the second path constraint condition according to the second indication information.
33. The first device of claim 32, wherein the first device,
the transceiver module is further configured to send the updated second data packet to a fifth device through a fourth tunnel, where the first device is an ingress device of the fourth tunnel, the fifth device is an egress device of the fourth tunnel, and the fourth tunnel is an overlay tunnel of the SD-WAN.
34. The first device of claim 31, wherein the first device,
the transceiver module is further configured to send a third feedback packet to the third device after the first device determines, according to the second indication information, that the fourth device does not meet the second path constraint condition, where the third feedback packet carries third indication information, where the third indication information is used to indicate to the third device that the first device cannot be used as a node for transmitting the second service.
35. The first device of claim 29, wherein the first data message is a probe message, and the probe message carries the first path constraint information.
36. The first device of claim 35, wherein the first device comprises a plurality of sensors,
the receiving and transmitting module is used for receiving the detection message sent by the second device through the first tunnel according to a preset time interval.
37. The first device of claim 29, wherein the first data message is a service message, and the service message carries the first path constraint information.
38. The first device of claim 29, wherein the first device comprises a plurality of sensors,
the processing module is configured to determine, according to a service type of the first data packet, locally stored first path constraint information corresponding to the service type.
39. The first device of any of claims 29 to 38, wherein the first path constraint information comprises one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, and bandwidth occupancy.
40. The first device of any of claims 29 to 38, wherein a header of the first data packet includes a first field and a second field, the first field being configured to carry the first path constraint information, and the second field being configured to indicate whether the first path constraint information carried by the first field is valid.
41. A second device in a software defined wide area network, SD-WAN, the second device comprising:
the receiving and transmitting module is used for sending a first data message to a first device through a first tunnel, wherein the second device is an entrance device of the first tunnel, the first device is an exit device of the first tunnel, and the first tunnel is an overlay tunnel of the SD-WAN;
the transceiver module is further configured to receive a first feedback packet sent by the first device, where the first feedback packet carries first indication information;
the processing module is used for determining that the first equipment cannot be used as a node for transmitting the first service according to the first indication information, and the first tunnel cannot be used as a tunnel on a path for transmitting the first service;
the transceiver module is further configured to send a second data packet to a third device through a second tunnel, where the second device is an ingress device of the second tunnel, the third device is an egress device of the second tunnel, and the second tunnel is an overlay tunnel of the SD-WAN.
42. The second device of claim 41, wherein,
the transceiver module is further configured to receive a second feedback message sent by the third device after the second device sends a second data message to the third device through the second tunnel, where the second feedback message carries second indication information;
The processing module is further configured to determine that the third device cannot be used as a node for transmitting the first service, and that the second tunnel cannot be used as a tunnel on a path for transmitting the first service.
43. The second device of claim 41 or 42, wherein,
the transceiver module is further configured to send a notification packet to a control device, where the notification packet carries third indication information, and the third indication information is used to indicate to the control device that a path for transmitting the first service does not exist in the SD-WAN.
44. The second device of claim 41 or 42, wherein the first data message and the second data message are probe messages, and the probe messages carry first path constraint information, and the first path constraint information is used to determine a first path constraint condition satisfied by a path for transmitting the first service.
45. The second device of claim 44, wherein,
the transceiver module is configured to send a detection message to a third device through a second tunnel according to a predetermined time interval after the second device sends a second data message to the third device through the second tunnel.
46. The second device of claim 41, wherein the first data message and the second data message are service messages, the service messages carrying first path constraint information, the first path constraint information being used to determine a first path constraint condition satisfied by a path for transmitting the first service.
47. The second device of claim 41, wherein,
the receiving and transmitting module is further used for receiving a routing instruction for the first service, which is sent by the control equipment;
the processing module is further configured to obtain first path constraint information according to the routing instruction, where the first path constraint information is used to determine a first path constraint condition that is satisfied by a path for transmitting the first service.
48. The second device of claim 47, wherein the routing instructions include a service type of the first service, and wherein the processing module is configured to:
and determining the locally stored first path constraint information corresponding to the service type according to the service type of the first service.
49. The second device of claim 47, wherein the routing instructions include the first path constraint information therein.
50. The second device of claim 41 or 42, wherein,
the receiving and transmitting module is further configured to receive a service packet of the first service sent by the sending end device;
the processing module is further configured to determine, according to a service type of the service packet of the first service, locally stored first path constraint information corresponding to the service type, where the first path constraint information is used to determine a first path constraint condition satisfied by a path for transmitting the first service.
51. The second device of claim 46 or 47, wherein the first path constraint information comprises one or more of the following: delay, jitter, bandwidth, packet loss rate, bit error rate, or bandwidth occupancy.
52. The second device of claim 46 or 47, wherein a header of the first data packet includes a first field for carrying the first path constraint information and a second field for indicating whether the first path constraint information carried by the first field is valid.
CN201911380368.4A 2019-12-27 2019-12-27 Routing method and device in software defined wide area network and communication system Active CN113055293B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911380368.4A CN113055293B (en) 2019-12-27 2019-12-27 Routing method and device in software defined wide area network and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911380368.4A CN113055293B (en) 2019-12-27 2019-12-27 Routing method and device in software defined wide area network and communication system

Publications (2)

Publication Number Publication Date
CN113055293A CN113055293A (en) 2021-06-29
CN113055293B true CN113055293B (en) 2023-06-23

Family

ID=76506671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911380368.4A Active CN113055293B (en) 2019-12-27 2019-12-27 Routing method and device in software defined wide area network and communication system

Country Status (1)

Country Link
CN (1) CN113055293B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113260067B (en) * 2021-07-07 2021-09-28 深圳市光联世纪信息科技有限公司 Service bearing method, system and equipment of service level agreement SLA based on SD-WAN
CN115604171B (en) * 2022-11-29 2023-06-30 北京天维信通科技有限公司 Network line selection method, system, terminal and storage medium
CN116016035B (en) * 2023-02-16 2023-06-13 北京天维信通科技有限公司 Method for applying multipath service in same tunnel by utilizing quintuple

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7319700B1 (en) * 2000-12-29 2008-01-15 Juniper Networks, Inc. Communicating constraint information for determining a path subject to such constraints
CN101227248A (en) * 2008-01-29 2008-07-23 中兴通讯股份有限公司 Method for establishing business path
CN110324242A (en) * 2018-03-29 2019-10-11 华为技术有限公司 A kind of method, network node and system that message is sent

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595895A (en) * 2003-09-10 2005-03-16 华为技术有限公司 A routing method based on resource restriction
CN100387023C (en) * 2004-04-26 2008-05-07 华为技术有限公司 Method of flow state establishment
US10637782B2 (en) * 2011-03-23 2020-04-28 Hughes Network Systems, Llc System and method for policy-based multipath WAN transports for improved quality of service over broadband networks
CN102833173A (en) * 2012-09-14 2012-12-19 中国联合网络通信集团有限公司 Network device and tunnel adaptation method
CN106330756B (en) * 2015-07-03 2020-01-03 华为技术有限公司 Data transmission method and equipment
CN109314564B (en) * 2016-06-21 2021-08-13 西安商鼎能源科技有限公司 Communication method and device
WO2018161262A1 (en) * 2017-03-07 2018-09-13 华为技术有限公司 Data transmission method and device
US10972379B2 (en) * 2018-04-15 2021-04-06 Versa Networks, Inc. Application performance based path-selection
CN109617810B (en) * 2018-11-30 2021-04-16 中国联合网络通信集团有限公司 Data transmission method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7319700B1 (en) * 2000-12-29 2008-01-15 Juniper Networks, Inc. Communicating constraint information for determining a path subject to such constraints
CN101227248A (en) * 2008-01-29 2008-07-23 中兴通讯股份有限公司 Method for establishing business path
CN110324242A (en) * 2018-03-29 2019-10-11 华为技术有限公司 A kind of method, network node and system that message is sent

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ManelSORIA ; OriolLORDAN ; José MaríaSALLAN.Heuristics of node selection criteria to assess robustness of world airport network.2017,第30卷(第4期),全文. *
林川 ; 赵海 ; 毕远国 ; 蔡巍 ; .基于SDN的QoS测量与路由规划***设计与实现.东北大学学报(自然科学版).2017,(第08期),全文. *

Also Published As

Publication number Publication date
CN113055293A (en) 2021-06-29

Similar Documents

Publication Publication Date Title
US9357410B2 (en) Wireless network flow monitoring
WO2021170092A1 (en) Message processing method and apparatus, and network device and storage medium
US10574763B2 (en) Session-identifer based TWAMP data session provisioning in computer networks
KR101900536B1 (en) Implementing a 3g packet core in a cloud computer with openflow data and control planes
US8837300B2 (en) Managing trace requests over tunneled links
WO2021185208A1 (en) Packet processing method and apparatus, device, and storage medium
CN110266578B (en) Method and system for transmitting and receiving packets
CN113055293B (en) Routing method and device in software defined wide area network and communication system
US11621907B2 (en) Enhanced two-way active measurement protocol
CN113676361A (en) On-demand probing for quality of experience metrics
EP3979576A1 (en) Packet forwarding method, device, and computer-readable storage medium
US9917871B2 (en) Optimizing media bitrate with explicit network feedback on one client only
US20220159505A1 (en) Transporting mtnc-id over srv6-header for 5g transport
US8711838B1 (en) Using network labels without standard-defined syntax and semantics
US11882513B2 (en) Transporting MTNC-ID over SRV6-enabled dataplane for 5G transport
US11483733B2 (en) Transporting a multi-transport network context-identifier (MTNC- ID) across multiple domains
WO2020114083A1 (en) Method and apparatus for processing ioam information
WO2022121638A1 (en) Packet processing method and device
WO2024027378A1 (en) Data transmission method and apparatus, and network device and storage medium

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