Communication method and device

By sending path adjustment request messages in parallel between Leaf devices and Spine devices, the Spine device is allowed to identify available interfaces and select the best interface for forwarding, which solves the problem of slow path adjustment speed in the existing technology and achieves high real-time traffic. Adaptive routing.

CN119363657AActive Publication Date: 2025-01-24NEW H3C TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202411426143.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-12
Publication Date
2025-01-24
Estimated Expiration
2044-10-12

AI Technical Summary

Technical Problem

The existing method of centrally selecting and setting paths by SDN controllers is slow to adjust the path, making it difficult to realize real-time traffic adaptive routing.

Method used

Between the LeAF device and the Spine device, the request message is adjusted through the multi -interface parallel sending path, which allows each SPINE device to identify whether it can be used to forward business flow, and select the best interface based on strategies that can be used in bandwidth and pre -configuration.

Benefits of technology

It achieves real-time performance of 10ms level and higher, quickly senses link failures or congestion and automatically adjusts traffic load, solving the problem of slow path adjustment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119363657A_ABST
    Figure CN119363657A_ABST
Patent Text Reader

Abstract

The invention provides a communication method and device, and the method comprises the steps: receiving a first service flow which comprises a first flow feature; a first path adjustment request message is sent to each second Spine device through other interfaces used for being connected with at least one second Spine device except the first interface, and the first path adjustment request message comprises a first flow feature and a first occupied bandwidth; receiving a first path adjustment response message sent by each second Spine device, wherein the first path adjustment response message comprises a first flow feature, a first path adjustment result and an available bandwidth of a second interface; according to a pre-configured first selection strategy, the first path adjustment result and the available bandwidth of the second interface, selecting a third Spine device from the at least one second Spine device as a next hop network device for continuing to forward the first service flow; and sending the first service flow to the selected third Spine device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a communication method and device. Background Art

[0002] Adaptive routing refers to a technology that makes dynamic routing decisions based on changes in network topology and traffic load. In a complex topology, using the shortest path to forward service messages can easily lead to congestion on some links and idleness on some links. It is also difficult to control the direction of traffic. It is very difficult to achieve end-to-end traffic adaptive routing while ensuring real-time performance from a technical perspective.

[0003] Currently, SDN controllers collect basic information (topology information, traffic statistics) and extended information (traffic forwarding delay, packet loss rate and other measurement information) to centrally select and set paths. However, the centralized control method using SDN controllers can usually only achieve a sub-second adjustment speed. Summary of the invention

[0004] In view of this, the present application provides a communication method and device to solve the problem of slow path adjustment speed in the existing method of centrally selecting and setting paths using an SDN controller.

[0005] In a first aspect, the present application provides a communication method, the method being applied to a Leaf device, the Leaf device being connected to at least one Spine device, the Leaf device comprising a first interface, the first interface being connected to a first Spine device, the method comprising:

[0006] Receiving a first service flow, wherein the first service flow includes a first flow characteristic;

[0007] Sending a first path adjustment request message to each corresponding second Spine device through an interface other than the first interface for connecting to at least one second Spine device, wherein the first path adjustment request message includes the first flow feature and the first occupied bandwidth of the first service flow, so that each second Spine device identifies whether the second interface can be used to forward the first service flow according to the first flow feature and the first occupied bandwidth;

[0008] Receive a first path adjustment response message sent by each second Spine device, where the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the second interface;

[0009] According to the preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the second interface, a third Spine device is selected from the at least one second Spine device as the next-hop network device for continuing to forward the first service flow;

[0010] Sending the first service flow to the selected third Spine device;

[0011] Among them, the second interface is the outbound interface for forwarding the first business flow determined by the second Spine device according to the first flow characteristics.

[0012] In a second aspect, the present application provides a communication method, the method being applied to a Spine device, the Spine device being connected to at least one Leaf device, the Spine device comprising a first interface, the method comprising:

[0013] receiving a first path adjustment request message sent by the Leaf device, where the first path adjustment request message includes a first flow feature of a first service flow and a first occupied bandwidth of the first service flow;

[0014] According to the first flow feature, acquiring a first outbound interface identifier corresponding to the first flow feature, where the first outbound interface identifier indicates the first interface;

[0015] identifying, according to the first flow feature and the first occupied bandwidth, whether the first interface can be used to forward the first service flow;

[0016] If so, a first path adjustment response message is sent to the Leaf device, where the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the first interface, so that the Leaf device selects a Spine device for forwarding the first service flow according to the preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the first interface;

[0017] The first path adjustment result is accepting the path adjustment request.

[0018] In a third aspect, the present application provides a communication device, the device is applied to a Leaf device, the Leaf device is connected to at least one Spine device, the Leaf device includes a first interface, the first interface is connected to a first Spine device, and the device includes:

[0019] A receiving unit, configured to receive a first service flow, wherein the first service flow includes a first flow feature;

[0020] A sending unit, configured to send a first path adjustment request message to each corresponding second Spine device through an interface other than the first interface for connecting to at least one second Spine device, wherein the first path adjustment request message includes the first flow feature and the first occupied bandwidth of the first service flow, so that each second Spine device identifies whether the second interface can be used to forward the first service flow according to the first flow feature and the first occupied bandwidth;

[0021] The receiving unit is further used to receive a first path adjustment response message sent by each second Spine device, where the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the second interface;

[0022] A selection unit, configured to select a third Spine device from the at least one second Spine device as a next-hop network device for continuing to forward the first service flow according to a preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the second interface;

[0023] The sending unit is further used to send the first service flow to the selected third Spine device;

[0024] Among them, the second interface is the outbound interface for forwarding the first business flow determined by the second Spine device according to the first flow characteristics.

[0025] In a fourth aspect, the present application provides a communication device, the device is applied to a Spine device, the Spine device is connected to at least one Leaf device, the Spine device includes a first interface, and the device includes:

[0026] A receiving unit, configured to receive a first path adjustment request message sent by the Leaf device, where the first path adjustment request message includes a first flow feature of a first service flow and a first occupied bandwidth of the first service flow;

[0027] an acquiring unit, configured to acquire, according to the first flow feature, a first outbound interface identifier corresponding to the first flow feature, wherein the first outbound interface identifier indicates the first interface;

[0028] an identification unit, configured to identify, according to the first flow feature and the first occupied bandwidth, whether the first interface can be used to forward the first service flow;

[0029] A sending unit, configured to send a first path adjustment response message to the Leaf device, wherein the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the first interface, so that the Leaf device selects a Spine device for forwarding the first service flow according to a preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the first interface;

[0030] The first path adjustment result is accepting the path adjustment request.

[0031] In a fifth aspect, the present application provides a network device, including a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor, and the processor is prompted by the machine-executable instructions to execute the method provided in the first aspect of the present application.

[0032] In a sixth aspect, the present application provides a network device, including a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor, and the processor is prompted by the machine-executable instructions to execute the method provided in the second aspect of the present application.

[0033] Therefore, by applying the communication method and apparatus provided in the present application, the Leaf device receives a first service flow, which includes a first service flow characteristic; through an interface other than the first interface for connecting to at least one second Spine device, the Leaf device sends a first path adjustment request message to each corresponding second Spine device respectively, and the first path adjustment request message includes the first service flow characteristic and the first occupied bandwidth of the first service flow, so that each second Spine device identifies whether the second interface can be used to forward the first service flow according to the first service flow characteristic and the first occupied bandwidth; the Leaf device receives a first path adjustment response message sent by each second Spine device, and the first path adjustment response message includes the first service flow characteristic, the first path adjustment result and the available bandwidth of the second interface; according to the pre-configured first selection strategy, the first path adjustment result and the available bandwidth of the second interface, the Leaf device selects a third Spine device from at least one second Spine device as the next-hop network device for continuing to forward the first service flow; the Leaf device sends the first service flow to the selected third Spine device; wherein the second interface is the outgoing interface for forwarding the first service flow determined by the second Spine device according to the first service flow characteristic.

[0034] In this way, in the Spine device-leaf device networking topology, the Leaf device can quickly sense the link failure or congestion between itself and the Spine device, and between the Spine device and the downstream Leaf device, and automatically adjust the traffic load on the interface to achieve 10ms level or higher real-time performance. This solves the problem of slow path adjustment speed in the existing method of using SDN controllers to centrally select and set paths. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 A flow chart of a communication method provided in an embodiment of the present application;

[0036] Figure 2 A flowchart of another communication method provided in an embodiment of the present application;

[0037] Figure 3 A schematic diagram of a Spine device-Leaf device network provided in an embodiment of the present application;

[0038] Figure 4 A schematic diagram of another Spine device-Leaf device networking provided in an embodiment of the present application;

[0039] Figure 5 A structural diagram of a communication device provided in an embodiment of the present application;

[0040] Figure 6 A structural diagram of a communication device provided in an embodiment of the present application;

[0041] Figure 7 The network device hardware structure provided in the embodiment of the present application. DETAILED DESCRIPTION

[0042] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0043] The terms used in this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The singular forms of "a", "said" and "the" used in this application and the appended claims are also intended to include plural forms unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used in this article refers to and includes any or all possible combinations of one or more corresponding listed items.

[0044] It should be understood that although the terms first, second, third, etc. may be used in the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0045] The communication method provided in the embodiment of the present application is described in detail below. Figure 1 , Figure 1 A flow chart of a communication method provided in an embodiment of the present application. The method is applied to a Leaf device, and the Leaf device is connected to at least one Spine device. The communication method provided in an embodiment of the present application may include the following steps.

[0046] Step 110: Receive a first service flow, where the first service flow includes a first flow feature;

[0047] Specifically, the host accesses a leaf device and sends a first service flow to the leaf device. The leaf device is respectively connected to each spine device in at least one spine device. For example, the leaf device includes a first interface and is connected to a first spine device through the first interface.

[0048] The leaf device receives the first service flow.

[0049] Optionally, in an embodiment of the present application, after receiving the first service flow, the Leaf device generates a first flow monitoring table entry of the first service flow through a first service message of the first service flow.

[0050] Further, after the Leaf device receives the first service flow, the Leaf device generates a first flow monitoring table entry according to the first service message included in the first service flow. The first flow monitoring table entry includes a flow feature field, an outbound interface field, and a metric parameter field. The first flow monitoring table entry can be generated by a forwarding chip included in the Leaf device and stored in the forwarding chip.

[0051] The flow feature field stores the message feature of the first service message, which is the first flow feature of the first service flow. The outbound interface field stores the first interface identifier. The metric parameter field stores the first metric parameter representing the first service flow. The first metric parameter includes metric parameters such as the first occupied bandwidth and the first forwarding delay of the first service flow.

[0052] Furthermore, the first flow monitoring table entry also includes an input interface field, and the input interface field stores an interface identifier for receiving the first service flow.

[0053] In an embodiment of the present application, the first flow feature includes a destination IP, a source IP, or the first flow feature includes a destination IP, a source IP, a source port, a destination port, and a protocol type. The first interface identifier indicates that the Leaf device forwards the first service flow to the first Spine device through the first interface indicated by the first interface identifier. The first interface identifier can be obtained from the outgoing interface identifier included in the first flow forwarding table entry of the first flow feature. The first occupied bandwidth can be obtained by analyzing the traffic statistics of the service flow by the forwarding chip. The first forwarding delay can be obtained by measuring the time difference from the arrival of the service flow to the forwarding chip.

[0054] Optionally, in an embodiment of the present application, after receiving the first service flow, the Leaf device identifies the first service flow through a first flow feature and forwards the first service flow.

[0055] Furthermore, after the Leaf device receives the first service flow, based on the first flow characteristics, the Leaf device obtains a first flow forwarding table entry that matches the first flow characteristics from the flow forwarding table, and the first flow forwarding table entry includes a second output interface identifier, and the second output interface identifier also indicates the first interface; through the first interface, the Leaf device sends the first service flow to the first Spine device.

[0056] It can be understood that the Leaf device may generate the first flow monitoring table entry and forward the first service flow in parallel.

[0057] Optionally, in an embodiment of the present application, the Leaf device detects and maintains the local status of the link between each Spine device. For example, the link status includes congestion status and bandwidth status. Among them, the congestion status is a parameter indicating the congestion level of the interface. It can be represented by the percentage of occupancy of the interface send buffer. For example: 1 means 1%, 2 means 2%, and 101 means that the interface send buffer has overflowed. The bandwidth status includes the total bandwidth of the interface and the available bandwidth of the interface.

[0058] Optionally, in the embodiment of the present application, the Leaf device also monitors the flow state of the first service flow during the process of forwarding the first service flow.

[0059] Furthermore, the Leaf device monitors the first metric parameter during the process of forwarding the first service flow. For example, the Leaf device monitors the first forwarding delay.

[0060] When the first forwarding delay exceeds a preset first parameter threshold (e.g., 10 ms), the Leaf device obtains a first flow monitoring table entry matching the first flow feature from the flow monitoring table according to the first flow feature. The first flow monitoring table entry includes a first outbound interface identifier and a first occupied bandwidth, and the first outbound interface identifier indicates the first interface.

[0061] It should be noted that, when the first forwarding delay exceeds the first parameter threshold, the Leaf device determines that it is no longer suitable to forward the first service flow through the first interface. The Leaf device starts the adaptive routing adjustment function. The Leaf device executes step 120.

[0062] Optionally, in an embodiment of the present application, the Spine device may also enable an adaptive routing adjustment function.

[0063] Further, after the first Spine device determines that the existing forwarding link for forwarding the first service flow is no longer suitable for forwarding the first service flow, it generates an adaptive routing notification message, the adaptive routing notification message including the first flow feature and the first occupied bandwidth. The first Spine device sends the adaptive routing notification message to the first interface.

[0064] After receiving the adaptive routing notification message sent by the first Spine device through the first interface, the Leaf device obtains the first flow characteristics and the first occupied bandwidth from the message. The Leaf device determines that the first Spine device is no longer suitable for forwarding the first service flow. The Leaf device starts the adaptive routing adjustment function. The Leaf device executes step 120.

[0065] It should be noted that in subsequent embodiments, the process of enabling the adaptive routing adjustment function of the Spine device will be described in detail and will not be repeated here.

[0066] Step 120: Send a first path adjustment request message to each corresponding second Spine device through an interface other than the first interface for connecting to at least one second Spine device, wherein the first path adjustment request message includes the first flow feature and the first occupied bandwidth of the first service flow, so that each second Spine device identifies whether the second interface can be used to forward the first service flow according to the first flow feature and the first occupied bandwidth;

[0067] Specifically, according to the description of step 110, after the Leaf device starts the adaptive route adjustment function, it generates a first path adjustment request message. The first path adjustment request message includes the first flow feature and the first occupied bandwidth of the first service flow.

[0068] Through other interfaces for connecting to at least one second Spine device except the first interface, the Leaf device sends a first path adjustment request to each second Spine device corresponding to the other interfaces for connecting to at least one second Spine device. After receiving the first path adjustment request, each second Spine device identifies whether the second interface included in itself can be used to forward the first service flow based on the first flow characteristics and the first occupied bandwidth. Among them, the second interface is the outgoing interface for forwarding the first service flow determined by the second Spine device based on the first flow characteristics.

[0069] It should be noted that in subsequent embodiments, the process of the Spine device identifying whether the second interface can be used to forward the first service flow will be described in detail and will not be repeated here.

[0070] Optionally, the first path adjustment request message further includes a message identifier. When the leaf device generates the first path adjustment request message, it automatically allocates the message identifier. The message identifier is usually a sequentially increasing sequence number, for example, a 32-bit value, allocated one by one from 1 to a maximum.

[0071] In one example, the Leaf device is connected to the first Spine device, the second Spine device, and the third Spine device respectively. The Leaf device is connected to the first Spine device through the first interface and the second interface; the Leaf device is connected to the second Spine device through the third interface, and the Leaf device is connected to the third Spine device through the fourth interface.

[0072] In this example, the Leaf device has forwarded the first service flow to the first Spine device through the first interface. After the Leaf device determines that it is no longer suitable to forward the first service flow through the first interface, the Leaf device starts the adaptive routing adjustment function. The Leaf device generates a first path adjustment request message and sends the first path adjustment request message to the corresponding first Spine device, second Spine device, and third Spine device through the second interface, the third interface, and the fourth interface, respectively.

[0073] In another example, the Leaf device is connected to the first Spine device, the second Spine device, and the third Spine device respectively. The Leaf device is connected to the first Spine device through a first interface; the Leaf device is connected to the second Spine device through a second interface; and the Leaf device is connected to the third Spine device through a third interface.

[0074] In this example, the Leaf device has forwarded the first service flow to the first Spine device through the first interface. After the Leaf device determines that it is no longer suitable to forward the first service flow through the first interface, the Leaf device starts the adaptive routing adjustment function. The Leaf device generates a first path adjustment request message and sends the first path adjustment request message to the corresponding second Spine device and third Spine device through the second interface and the third interface respectively.

[0075] Step 130: Receive a first path adjustment response message sent by each second Spine device, where the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the second interface;

[0076] Specifically, according to the description of step 120, each second Spine device generates a first path adjustment response message after identifying whether the second interface can be used to forward the first service flow. The first path adjustment response message includes the first flow characteristics, the first path adjustment result, and the available bandwidth of the second interface.

[0077] Each second Spine device sends a first path adjustment response message to a Leaf device through the interface that receives the first path adjustment request message. After receiving the first path adjustment response message, the Leaf device obtains the first flow feature, the first path adjustment result, and the available bandwidth of the second interface.

[0078] Optionally, the first path adjustment response message further includes a message identifier. The message identifier is the same as the message identifier included in the first path adjustment request message. In this way, the Leaf device can identify whether the first path adjustment response message is a response to the first path adjustment request message through the message identifier.

[0079] Step 140: Select a third Spine device from the at least one second Spine device as a next-hop network device for continuing to forward the first service flow according to the preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the second interface;

[0080] Specifically, according to the description of step 130, after the Leaf device receives at least one first path adjustment response message, based on the preconfigured first selection strategy, the first path adjustment result and the available bandwidth of the second interface, the Leaf device selects a third Spine device from at least one second Spine device as the next-hop network device to continue forwarding the first service flow.

[0081] Optionally, the specific process of selecting, by the Leaf device, a third Spine device from at least one second Spine device as the next-hop network device for continuing to forward the first service flow according to the preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the second interface is:

[0082] Based on at least one first path adjustment result, the Leaf device selects at least one fourth Spine device that sends the first path adjustment result to accept the path adjustment request; based on the first selection strategy, the Leaf device selects the third Spine device (Best-Fit) with the smallest available bandwidth of the second interface from the available bandwidth of the second interface sent by each fourth Spine device as the next-hop network device for continuing to forward the service flow.

[0083] Alternatively, according to the first selection strategy, the Leaf device selects the third Spine device with the largest available bandwidth of the second interface (Worst-Fit) from the available bandwidth of the second interface sent by each fourth Spine device as the next-hop network device to continue forwarding the service flow.

[0084] It should be noted that the first path adjustment result includes accepting the path adjustment request and not accepting the path adjustment request. If the first path adjustment result is not accepting the path adjustment request, the Leaf device discards the first path adjustment response message including the first path adjustment result of not accepting the path adjustment request.

[0085] Step 150: Send the first service flow to the selected third Spine device.

[0086] Specifically, according to the description of step 140, after the Leaf device selects the third Spine device, it sends the first service flow to the selected third Spine device. Subsequently, the selected third Spine device continues to forward the first service flow.

[0087] Therefore, by applying the communication method provided in the present application, the Leaf device receives a first service flow, which includes a first service flow characteristic; through other interfaces other than the first interface for connecting to at least one second Spine, the Leaf device sends a first path adjustment request message to each second Spine device respectively, and the first path adjustment request message includes the first service flow characteristic and the first occupied bandwidth of the first service flow, so that each second Spine device identifies whether the second interface can be used to forward the first service flow according to the first service flow characteristic and the first occupied bandwidth; the Leaf device receives a first path adjustment response message sent by each second Spine device, and the first path adjustment response message includes the first service flow characteristic, the first path adjustment result and the available bandwidth of the second interface; according to the pre-configured first selection strategy, the first path adjustment result and the available bandwidth of the second interface, the Leaf device selects a third Spine device from at least one second Spine device as the next-hop network device for continuing to forward the first service flow; the Leaf device sends the first service flow to the selected third Spine device; wherein the second interface is the outgoing interface for forwarding the first service flow determined by the second Spine device according to the first service flow characteristic.

[0088] In this way, in the Spine device-leaf device networking topology, the Leaf device can quickly sense the link failure or congestion between itself and the Spine device, and between the Spine device and the downstream Leaf device, and automatically adjust the traffic load on the interface to achieve 10ms level or higher real-time performance. This solves the problem of slow path adjustment speed in the existing method of using SDN controllers to centrally select and set paths.

[0089] Optionally, in an embodiment of the present application, after the Leaf device selects the third Spine device, it will also update the flow monitoring table entries and the flow forwarding table entries.

[0090] Specifically, according to the selected third Spine device, the Leaf device generates a second flow monitoring table entry. The second flow monitoring table entry includes a first flow feature, a first metric parameter, and a third interface identifier. The third interface identifier indicates a third interface, and the third interface is connected to the selected third Spine device.

[0091] It can be understood that the second flow monitoring table entry also includes an input interface field, and the input interface field stores the interface identifier for receiving the first service flow.

[0092] According to the selected third Spine device, the Leaf device generates a second flow forwarding entry. The second flow forwarding entry includes the first flow feature and the third outbound interface identifier.

[0093] The leaf device deletes the first-flow monitoring table entry and the first-flow forwarding table entry.

[0094] The communication method provided in the embodiment of the present application is described in detail below. Figure 2 , Figure 2 A flowchart of another communication method provided in an embodiment of the present application. The method is applied to a Spine device, and the Spine device is connected to at least one Leaf device. The communication method provided in an embodiment of the present application may include the following steps.

[0095] Step 210: Receive a first path adjustment request message sent by the Leaf device, where the first path adjustment request message includes a first flow feature of a first service flow and a first occupied bandwidth of the first service flow;

[0096] Specifically, according to the above-mentioned embodiment, after the Leaf device starts the adaptive routing adjustment function, it generates and sends a first path adjustment request message to the Spine device. The first path adjustment request message includes a first flow feature of a first service flow and a first occupied bandwidth of the first service flow.

[0097] After receiving the first path adjustment request message, the Spine device obtains the first flow characteristics and the first occupied bandwidth therefrom.

[0098] Optionally, the first path adjustment request message further includes a message identifier. When the leaf device generates the first path adjustment request message, it automatically allocates the message identifier. The message identifier is usually a sequentially increasing sequence number, for example, a 32-bit value, allocated one by one from 1 to a maximum.

[0099] Step 220: Acquire a first outbound interface identifier corresponding to the first flow feature according to the first flow feature, where the first outbound interface identifier indicates the first interface;

[0100] Specifically, according to the description of step 210, after the Spine device obtains the first flow feature, it queries the service flow with the first flow feature for the interface calculated according to the flow load sharing forwarding hash (HASH) when forwarding it locally. The Spine device uses the interface identifier of the interface as the first outgoing interface identifier. For example, the first outgoing interface identifier indicates the first interface.

[0101] It should be noted that the above-mentioned first interface is specifically an outbound interface used to forward the first business flow after the Spine device receives the first business flow.

[0102] Step 230: Identify whether the first interface can be used to forward the first service flow according to the first flow characteristics and the first occupied bandwidth;

[0103] Specifically, according to the description of step 220, after the Spine device determines the first interface, based on the first flow characteristics and the first occupied bandwidth, the Spine device identifies whether the first interface can be used to forward the first service flow. If the first interface can be used to forward the first service flow, the Spine device executes step 240.

[0104] Optionally, the specific process of the Spine device identifying whether the first interface can be used to forward the first service flow according to the first flow characteristics and the first occupied bandwidth is:

[0105] According to the preconfigured second selection strategy, the Spine device identifies whether the available bandwidth of the first interface is greater than the first occupied bandwidth; if so, the Spine device identifies the interface status of the first interface; if not, the Spine device determines that the first interface cannot be used to forward the first service flow.

[0106] If the interface status of the first interface is non-congested (for example, the congestion status of the interface is [0, 50%] indicating non-congestion, and the congestion status of the interface is (51%, 100] indicating congestion), the Spine device identifies the interface status of the first interface after the first interface is used to forward the first service flow (assuming that the first interface is used to forward the first service flow); if the interface status of the first interface is congested, the Spine device determines that the first interface cannot be used to forward the first service flow.

[0107] If the interface status of the first interface is non-congested after the first interface is used to forward the first service flow, the Spine device determines that the first interface can be used to forward the first service flow; if the interface status of the first interface is congested after the first interface is used to forward the first service flow, the Spine device determines that the first interface cannot be used to forward the first service flow.

[0108] Step 240: If yes, a first path adjustment response message is sent to the Leaf device, where the first path adjustment response message includes the first flow characteristics, the first path adjustment result, and the available bandwidth of the first interface, so that the Leaf device selects the Spine device for forwarding the first business flow based on the preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the first interface.

[0109] Specifically, according to the description of step 230, if the first interface can be used to forward the first service flow, the Spine device generates and sends a first path adjustment response message to the Leaf device. The first path adjustment response message includes the first flow characteristics, the first path adjustment result, and the available bandwidth of the first interface. Among them, the first path adjustment result is to accept the path adjustment request.

[0110] After receiving the first path adjustment response message, the Leaf device selects a Spine device for forwarding the first service flow according to the preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the first interface.

[0111] In the above-mentioned embodiment, the selection of the Spine device as the Leaf device for forwarding the first service flow has been described in detail, which will not be repeated here.

[0112] Optionally, in an embodiment of the present application, if the first interface is not available for forwarding the first service flow, the Spine device generates and sends a second path adjustment response message to the Leaf device. The second path adjustment response message includes the first flow characteristics, the second path adjustment result, and the available bandwidth of the first interface. The second path adjustment result is that the path adjustment request is not accepted.

[0113] After receiving the second path adjustment response message, the Leaf device abandons forwarding the first service flow through the Spine device according to the preconfigured first selection strategy, the second path adjustment result, and the available bandwidth of the first interface.

[0114] Optionally, the first path adjustment response message and the second path adjustment response message also include a message identifier. The message identifier is the same as the message identifier included in the first path adjustment request message. In this way, the Leaf device can identify whether the first path adjustment response message is a response to the first path adjustment request message through the message identifier.

[0115] Therefore, by applying the communication method provided in the present application, the Spine device receives a first path adjustment request message sent by the Leaf device, and the first path adjustment request message includes the first flow characteristics of the first business flow and the first occupied bandwidth of the first business flow; according to the first flow characteristics, the Spine device obtains the first output interface identifier corresponding to the first flow characteristics, and the first output interface identifier indicates the first interface; according to the first flow characteristics and the first occupied bandwidth, the Spine device identifies whether the first interface can be used to forward the first business flow; if so, the Spine device sends a first path adjustment response message to the Leaf device, and the first path adjustment response message includes the first flow characteristics, the first path adjustment result, and the available bandwidth of the first interface, so that the Leaf device selects the Spine device as the one for forwarding the first business flow according to the pre-configured first selection strategy, the first path adjustment result, and the available bandwidth of the first interface; wherein, the first path adjustment result is to accept the path adjustment request.

[0116] In this way, in the Spine device-leaf device networking topology, the Spine device can quickly sense the link failure or congestion between itself and the downstream Leaf device, and trigger the Leaf device to automatically adjust the traffic load on the interface, achieving a real-time performance of 10ms or higher. This solves the problem of slow path adjustment speed in the existing method of centrally selecting and setting paths using SDN controllers.

[0117] Optionally, in the embodiment of the present application, the Spine device further includes a second interface. Before the Spine device receives the first path adjustment request message sent by the Leaf device, the process also includes the Spine device starting an adaptive routing adjustment function.

[0118] Specifically, through the second interface, the Spine device receives the second service flow sent by the Leaf device, and the second service flow includes a second flow feature.

[0119] In the process of forwarding the second service flow, the Spine device also monitors the measurement parameters in the same process as the Leaf device. The above measurement parameters include the second occupied bandwidth, the second forwarding delay and other measurement parameters of the second service flow. For example, the Spine device monitors the second forwarding delay.

[0120] When the second metric parameter characterized by the second service flow exceeds the preset first parameter threshold (for example, 10ms), the spine device obtains the first flow monitoring table entry that matches the second flow feature from the flow monitoring table according to the second flow feature. The first flow monitoring table entry includes an input interface identifier and a second occupied bandwidth, and the input interface identifier indicates the second interface.

[0121] In the embodiment of the present application, the format of the first flow monitoring table entry is the same as the format of the first flow monitoring table entry in the Leaf device in the aforementioned embodiment, and will not be repeated here.

[0122] It should be noted that, when the second forwarding delay exceeds the first parameter threshold, the Spine device determines that it is no longer suitable to forward the second service flow through the existing outbound interface. The Spine device starts the adaptive routing adjustment function.

[0123] The Spine device generates an adaptive routing notification message, the adaptive routing notification message including the second flow feature and the second occupied bandwidth. The Spine device sends the adaptive routing notification message to the Leaf device through the second interface.

[0124] After receiving the adaptive routing notification message, the leaf device obtains the second flow characteristics and the second occupied bandwidth from it. The leaf device determines that the spine device is no longer suitable for forwarding the second service flow. The leaf device starts the adaptive routing adjustment function. The leaf device generates and sends a second path adjustment request message to the corresponding connected spine device through other interfaces except the interface connected to the second interface.

[0125] In the above-mentioned embodiment, the process of the Leaf device generating and sending the path adjustment request message has been described in detail, which will not be repeated here.

[0126] Optionally, in an embodiment of the present application, the Spine device also detects and maintains the local status of the link with the Leaf device. For example, the link status includes congestion status and bandwidth status. Among them, the congestion status is a parameter indicating the congestion level of the interface. It can be represented by the percentage of occupancy of the interface send buffer. For example: 1 means 1%, 2 means 2%, and 101 means that the interface send buffer has overflowed. The bandwidth status includes the total bandwidth of the interface and the available bandwidth of the interface.

[0127] Optionally, in an embodiment of the present application, it also includes a process of generating flow monitoring table entries and flow forwarding table entries after the Spine device receives the business flow.

[0128] Specifically, the Spine device receives the service flow sent by the Leaf device, which service flow may be the first service flow or the second service flow mentioned above. According to the first service message included in the service flow, the Spine device generates a flow monitoring table entry. The flow monitoring table entry includes a flow feature field, an input interface field, an output interface field, and a metric parameter field. The flow monitoring table entry may be generated by the forwarding chip included in the Spine device and stored in the forwarding chip.

[0129] The flow feature field stores the message feature of the first service message, which is the flow feature of the service flow. The input interface field stores the interface identifier of the received service flow. The output interface field stores the interface identifier of the forwarded service flow. The metric parameter field stores the metric parameters representing the service flow, which include the occupied bandwidth and forwarding delay of the service flow.

[0130] A flow forwarding entry is generated according to the flow feature, wherein the flow forwarding entry includes the flow feature and an interface identifier for forwarding the service flow.

[0131] In the aforementioned embodiments, each field included in the flow monitoring table entry and the flow forwarding table entry is described and exemplified respectively, which will not be repeated here.

[0132] Optionally, in an embodiment of the present application, after the Spine device sends an adaptive routing notification message to the Leaf device, it starts a timer. When the timer expires, the Spine device deletes the second flow monitoring table entry matching the second service flow and the matching flow forwarding table entry.

[0133] The communication method provided in the embodiment of the present application is described in detail below. Figure 3 , Figure 3 A schematic diagram of a Spine device-Leaf device network provided in an embodiment of the present application. Figure 3 In the example, the network includes Leaf1, Leaf2, Leaf3, Spine1, Spine2, and Spine3. Each Leaf device is fully connected to the Spine device, and each Leaf device is connected to 2 or 3 hosts.

[0134] The following uses Leaf1 and Spine1 as examples. The execution process of other Leaf devices and Spine devices is the same as that of Leaf1.

[0135] Leaf1 includes Port 1, Port 2, and Port 3. Port 1 is connected to Spine 1, Port 2 is connected to Spine 2, and Port 3 is connected to Spine 3. Leaf 1 also includes Port 4, which is connected to Host 1. Spine 1 includes Port 5, Port 6, and Port 7. Port 5 is connected to Leaf 1, Port 6 is connected to Leaf 2, and Port 7 is connected to Leaf 3.

[0136] After host 1 accesses Leaf 1, it wants to communicate with host 6 accessed Leaf 3. Host 1 sends service flow 1 to Leaf 1, as shown by the dotted line in the figure. After service flow 1 reaches Leaf 1, Leaf 1 generates flow monitoring table entry 1 for service flow 1 through the first service message of service flow 1. Flow monitoring table entry 1 includes a flow feature field, an input interface field, an output interface field, and a metric parameter field. Flow monitoring table entry 1 can be generated by the forwarding chip included in Leaf 1 and stored in the forwarding chip. As shown in Table 1.

[0137] Table 1 Leaf1 internal flow monitoring table

[0138] Flow characteristics Inbound interface Outbound interface Metrics Quintuple 1 Port4 Port2 delay1,bw1

[0139] Among them, the flow feature is a five-tuple 1, including the destination IP, source IP, source port, destination port, and protocol type. The flow forwarding table has been configured in Leaf1, and the flow forwarding table stores the flow forwarding entry 1 with the flow feature. The outgoing interface can be obtained through the outgoing interface field included in the flow forwarding entry 1. The measurement parameters include the occupied bandwidth (bw) 1 and forwarding delay (delay) 1 of business flow 1. The occupied bandwidth (bw) 1 can be obtained through the traffic statistics of business flow 1 by the forwarding chip. The forwarding delay (delay) 1 can be obtained by measuring the time difference from the arrival of business flow 1 to the forwarding of the business flow 1 by the forwarding chip.

[0140] At the same time, after receiving service flow 1, Leaf1 also identifies service flow 1 through quintuple 1 and forwards service flow 1 according to flow forwarding entry 1. Leaf1 sends service flow 1 to Spine2 through Port2. It can be understood that Spine2 will forward service flow 1 according to the existing forwarding rules, which will not be repeated here.

[0141] Leaf1 also detects and maintains the local status of the link between each Spine device. For example, the link status includes congestion status and bandwidth status. Among them, the congestion status is a parameter indicating the congestion level of the interface. It can be expressed by the percentage of occupancy of the interface send buffer. For example: 1 means 1%, 2 means 2%, and 101 means that the interface send buffer has overflowed. The bandwidth status includes the total bandwidth of the interface and the available bandwidth of the interface.

[0142] Leaf 1 also monitors the flow state of service flow 1 during the process of forwarding service flow 1. By monitoring the first metric parameter, Leaf 1 monitors the flow state of service flow 1. For example, Leaf 1 monitors forwarding delay 1.

[0143] When forwarding delay 1 exceeds preset parameter threshold 1 (eg, 10 ms), Leaf 1 determines that Port 2 is no longer suitable for forwarding service flow 1. Leaf 1 starts the adaptive routing adjustment function. According to quintuple 1, Leaf 1 obtains flow monitoring entry 1 from the flow monitoring table.

[0144] After Leaf1 starts the adaptive routing adjustment function, it generates a path adjustment request message 1. The path adjustment request message 1 includes a message identifier (for example, ID is 1), a quintuple 1, and an occupied bandwidth 1.

[0145] Leaf1 sends path adjustment request 1 to corresponding Spine1 and Spine3 through Port1 and Port3 respectively. It should be noted that if Leaf1 is connected to Spine2 through PortX, Leaf1 also sends path adjustment request message 1 to Spine2 through PortX.

[0146] After receiving the path adjustment request 1, Spine1 and Spine3 obtain the message identifier, quintuple 1, and occupied bandwidth 1 therefrom.

[0147] According to quintuple 1, Spine 1 obtains flow monitoring table entry 2 that matches quintuple 1 from the flow monitoring table. The flow monitoring table entry 2 includes an outbound interface identifier, and the outbound interface identifier indicates Port 7. This is shown in Table 2 below.

[0148] Table 2 Spine1 inflow monitoring table

[0149] Flow characteristics Inbound interface Outbound interface Metrics Quintuple 1 Port5 Port7 delay2,bw2

[0150] After Spine1 determines Port7, Spine1 identifies whether Port7 can be used to forward service flow 1. According to the preconfigured selection strategy 1, Spine1 identifies whether the available bandwidth of Port7 (which can be obtained from the maintained link status) is greater than the occupied bandwidth 1; if so, Spine1 identifies the interface status of Port7; if not, Spine1 determines that Port7 cannot be used to forward service flow 1.

[0151] If the interface status of Port7 is non-congested, Spine1 identifies the interface status of Port7 after Port7 is used to forward service flow 1; if the interface status of Port7 is congested, Spine1 determines that Port7 cannot be used to forward service flow 1.

[0152] If the interface status of Port7 is non-congested after Port7 is used to forward service flow 1, Spine1 determines that Port7 can be used to forward service flow 1; if the interface status of Port7 is congested after Port7 is used to forward service flow 1, Spine1 determines that Port7 cannot be used to forward service flow 1.

[0153] After the above identification, Spine1 generates a path adjustment response message 1. The path adjustment response message 1 includes a message identifier (eg, ID is 1, which is the same as the message identifier included in the path adjustment request message 1), quintuple 1, path adjustment result, and available bandwidth of Port7.

[0154] The path adjustment result includes accepting the path adjustment request and not accepting the path adjustment request. In the embodiment of the present application, Spine1 identifies that Port7 can be used to forward service flow 1. Therefore, the path adjustment result included in the path adjustment response message 1 is accepting the path adjustment request.

[0155] Spine1 sends a path adjustment response message 1 to Leaf1. Similarly, Leaf1 also receives the path adjustment response message 1 sent by Spine3. In the embodiment of the present application, the path adjustment result included in the path adjustment response message 1 sent by Spine3 is also the acceptance of the path adjustment request.

[0156] Leaf1 obtains the message identifier, quintuple 1, path adjustment result, and available bandwidth of the interface from each path adjustment response message 1. Based on multiple path adjustment results, Leaf1 selects the Spine devices that send the path adjustment result to accept the path adjustment request, namely Spine1 and Spine3. According to the preconfigured selection strategy 2, Leaf1 selects the Spine device with the smallest available bandwidth of the outgoing interface (Best-Fit) from the available bandwidth of the interface sent by each Spine device as the next-hop network device to continue forwarding service flow 1, for example, Spine1.

[0157] It should be noted that if the path adjustment result sent by Spine3 is not to accept the path adjustment request, Leaf1 discards the path adjustment response message 1 sent by Spine3. In addition, Leaf1 selects Spine1 as the next hop network device to continue forwarding service flow 1.

[0158] After Leaf1 selects Spine1, it sends service flow 1 to Spine1 through Port1. Subsequently, Spine1 continues to forward service flow 1 to Leaf3 through Port7.

[0159] After Leaf1 selects Spine1, it will also update the stored flow monitoring entry 1 and flow forwarding entry 1. Leaf1 generates flow monitoring entry 3, as shown in Table 3.

[0160] Table 3 Leaf1 internal flow monitoring table

[0161] Flow characteristics Inbound interface Outbound interface Metrics Quintuple 1 Port4 Port1 delay1,bw1

[0162] According to the selected third Spine device, the Leaf device generates a flow forwarding entry 2. The flow forwarding entry 2 includes a quintuple 1 and an outbound interface identifier, and the outbound interface identifier indicates Port 1. As shown in Table 4.

[0163] Table 4 Leaf1 internal flow table

[0164] Flow characteristics Outbound interface Quintuple 1 Port1

[0165] Leaf1 deletes flow monitoring entry 1 and flow forwarding entry 1.

[0166] The communication method provided in the embodiment of the present application is described in detail below. Figure 4 , Figure 4 Another Spine device-Leaf device networking diagram provided in the embodiment of the present application. Figure 4 In the network, all devices and connection relationships included in the network are the same as Figure 3 The same as shown in , will not be repeated here.

[0167] Spine2 includes Port8, Port9, and Port10. Port8 is connected to Leaf1, Port9 is connected to Leaf2, and Port10 is connected to Leaf3.

[0168] The following uses Leaf1 and Spine2 as examples. The execution process of other Leaf devices and Spine devices is the same as that of Leaf1.

[0169] exist Figure 4 In the example, Leaf1 sends service flow 1 to Spine2 through Port2. After receiving service flow 1, Spine2 forwards service flow 1 to Leaf3 by searching the flow forwarding table. In the process of forwarding service flow 1, Spine1 also monitors the metric parameters of service flow 1, just like the process performed by Leaf1 above. The metric parameters include metric parameters such as occupied bandwidth 2 and forwarding delay 2 of service flow 1. For example, Spine1 monitors forwarding delay 2.

[0170] When forwarding delay 2 exceeds preset parameter threshold 2 (eg, 10 ms), according to quintuple 1, Spine 2 obtains flow monitoring table entry 4 matching quintuple 1 from the flow monitoring table, as shown in Table 5.

[0171] Table 5 Spine2 internal flow monitoring table

[0172] Flow characteristics Inbound interface Outbound interface Metrics Quintuple 1 Port8 Port10 delay2,bw2

[0173] When forwarding delay 2 exceeds parameter threshold 2, Spine2 determines that it is no longer suitable to forward service flow 1 through Port 10. Spine2 starts the adaptive routing adjustment function. According to quintuple 1, Spine2 obtains the input interface identifier from flow monitoring table entry 4, and the input interface identifier indicates Port 8. Spine2 generates an adaptive routing notification message, which includes quintuple 1 and occupied bandwidth 2. Through Port 8, Spine2 sends an adaptive routing notification message to Leaf 1.

[0174] After Leaf1 receives the adaptive routing notification message, it obtains quintuple 1 and occupied bandwidth 2 from it. Leaf1 determines that Spine2 is no longer suitable for forwarding service flow 1. Leaf1 starts the adaptive routing adjustment function. Leaf1 generates and sends a path adjustment request message 2 to the corresponding connected Spine1 and Spine3 through Port1 and Port3.

[0175] It can be understood that the subsequent path adjustment process of Spine1, Spine3, and Leaf1 is the same as the path adjustment process in the aforementioned embodiment, and will not be repeated here.

[0176] Based on the same inventive concept, the present application embodiment also provides a communication device corresponding to the communication method. Figure 5 , Figure 5 A communication device is provided in an embodiment of the present application, the device is applied to a Leaf device, the Leaf device is connected to at least one Spine device, the Leaf device includes a first interface, the first interface is connected to a first Spine device, and the device includes:

[0177] The receiving unit 510 is configured to receive a first service flow, where the first service flow includes a first flow feature;

[0178] A sending unit 520 is configured to send a first path adjustment request message to each corresponding second Spine device through an interface other than the first interface for connecting to at least one second Spine device, wherein the first path adjustment request message includes the first flow feature and the first occupied bandwidth of the first service flow, so that each second Spine device identifies whether the second interface can be used to forward the first service flow according to the first flow feature and the first occupied bandwidth;

[0179] The receiving unit 510 is further configured to receive a first path adjustment response message sent by each second Spine device, where the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the second interface;

[0180] A selection unit 530 is used to select a third Spine device from the at least one second Spine device as a next-hop network device for continuing to forward the first service flow according to a preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the second interface;

[0181] The sending unit 520 is further used to send the first service flow to the selected third Spine device;

[0182] Among them, the second interface is the outbound interface for forwarding the first business flow determined by the second Spine device according to the first flow characteristics.

[0183] Optionally, the device further comprises:

[0184] A generating unit (not shown in the figure), configured to generate a first flow monitoring table entry according to a first service message included in the first service flow, wherein the first flow monitoring table entry includes a flow feature field, an outbound interface field, and a metric parameter field; the first flow monitoring table entry is in a forwarding chip included in the Leaf device;

[0185] The flow feature field stores a message feature of the service message, the message feature is the same as the first flow feature, the outbound interface field stores the first interface identifier, and the metric parameter field stores a first metric parameter representing the first service flow, the first metric parameter includes a first occupied bandwidth and a first forwarding delay of the first service flow;

[0186] an acquisition unit (not shown in the figure), configured to acquire, from a flow forwarding table, a first flow forwarding entry matching the first flow feature according to the first flow feature, wherein the first flow forwarding entry includes a second outgoing interface identifier, and the second outgoing interface identifier indicates the first interface;

[0187] The sending unit 520 is also used to send the first service flow to the first Spine device through the first interface.

[0188] Optionally, the acquisition unit (not shown in the figure) is further used to, when the first metric parameter characterizing the first business flow exceeds a preset first parameter threshold, acquire, from a flow monitoring table, according to the first flow feature, a first flow monitoring table entry matching the first flow feature, the first flow monitoring table entry including a first outgoing interface identifier and the first occupied bandwidth, the first outgoing interface identifier indicating the first interface;

[0189] or,

[0190] The receiving unit 510 is further used to receive an adaptive routing notification message sent by the first Spine device through the first interface, where the adaptive routing notification message includes the first flow feature and the first occupied bandwidth.

[0191] Optionally, the selection unit 530 is specifically configured to select, according to at least one first path adjustment result, at least one fourth Spine device that sends the first path adjustment result as accepting a path adjustment request;

[0192] According to the first selection strategy, from the available bandwidth of the second interface sent by each fourth Spine device, the third Spine device with the smallest available bandwidth of the second interface is selected as the next-hop network device for continuing to forward the service flow, or the third Spine device with the largest available bandwidth of the second interface is selected as the next-hop network device for continuing to forward the service flow.

[0193] Optionally, the generating unit (not shown in the figure) is also used to generate a second flow monitoring table entry according to the selected third Spine device, wherein the second flow monitoring table entry includes the first flow characteristic, the first metric parameter and a third interface identifier, wherein the third interface identifier indicates a third interface, and the third interface is connected to the selected third Spine device;

[0194] Generate a second flow forwarding entry according to the selected third Spine device, where the second flow forwarding entry includes the first flow feature and the third outbound interface identifier;

[0195] The device further includes: a deleting unit, configured to delete the first flow monitoring table entry and the first flow forwarding table entry.

[0196] Therefore, by applying the communication device provided by the present application, the Leaf device receives a first service flow, which includes a first service flow characteristic; through other interfaces other than the first interface for connecting to at least one second Spine device, the Leaf device sends a first path adjustment request message to each corresponding second Spine device respectively, and the first path adjustment request message includes the first service flow characteristic and the first occupied bandwidth of the first service flow, so that each second Spine device identifies whether the second interface can be used to forward the first service flow according to the first service flow characteristic and the first occupied bandwidth; the Leaf device receives a first path adjustment response message sent by each second Spine device, and the first path adjustment response message includes the first service flow characteristic, the first path adjustment result and the available bandwidth of the second interface; according to the pre-configured first selection strategy, the first path adjustment result and the available bandwidth of the second interface, the Leaf device selects a third Spine device from at least one second Spine device as the next-hop network device for continuing to forward the first service flow; the Leaf device sends the first service flow to the selected third Spine device; wherein the second interface is the outgoing interface for forwarding the first service flow determined by the second Spine device according to the first service flow characteristic.

[0197] In this way, in the Spine device-leaf device networking topology, the Leaf device can quickly sense the link failure or congestion between itself and the Spine device, and between the Spine device and the downstream Leaf device, and automatically adjust the traffic load on the interface to achieve 10ms level or higher real-time performance. This solves the problem of slow path adjustment speed in the existing method of using SDN controllers to centrally select and set paths.

[0198] Based on the same inventive concept, the present application embodiment also provides a communication device corresponding to the communication method. Figure 6 , Figure 6 Another communication device provided in an embodiment of the present application is applied to a Spine device, the Spine device is connected to at least one Leaf device, the Spine device includes a first interface, and the device includes:

[0199] The receiving unit 610 is configured to receive a first path adjustment request message sent by the Leaf device, where the first path adjustment request message includes a first flow feature of a first service flow and a first occupied bandwidth of the first service flow;

[0200] An acquiring unit 620 is configured to acquire, according to the first flow feature, a first outbound interface identifier corresponding to the first flow feature, where the first outbound interface identifier indicates the first interface;

[0201] An identification unit 630, configured to identify whether the first interface can be used to forward the first service flow according to the first flow characteristics and the first occupied bandwidth;

[0202] A sending unit 640 is configured to send a first path adjustment response message to the Leaf device, where the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the first interface, so that the Leaf device selects a Spine device for forwarding the first service flow according to a preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the first interface;

[0203] The first path adjustment result is accepting the path adjustment request.

[0204] Optionally, the Spine device further includes a second interface;

[0205] The receiving unit 610 is further configured to receive, through the second interface, a second service flow sent by the Leaf device, where the second service flow includes a second flow feature;

[0206] The acquisition unit 620 is further configured to, when the second metric parameter characterizing the second service flow exceeds a preset first parameter threshold, acquire, from a flow monitoring table, according to the second flow feature, a first flow monitoring table entry matching the second flow feature, wherein the first flow monitoring table entry includes an inbound interface identifier and a second occupied bandwidth, and the inbound interface identifier indicates the second interface;

[0207] The sending unit 640 is also used to send an adaptive routing notification message to the Leaf device through the second interface, where the adaptive routing notification message includes the second flow feature and the second occupied bandwidth, so that the Leaf device generates and sends a second path adjustment request message to the corresponding connected Spine device through other interfaces except the interface connected to the second interface.

[0208] Optionally, the receiving unit 610 is further configured to receive a service flow sent by the Leaf device;

[0209] The device also includes: a generating unit (not shown in the figure), which is used to generate a flow monitoring table entry according to the first service message included in the service flow, wherein the flow monitoring table entry includes a flow feature field, an input interface field, an output interface field, and a metric parameter field; the flow monitoring table entry is in a forwarding chip included in the Spine device;

[0210] The flow feature field stores the message feature of the service message, the message feature is the same as the flow feature, the input interface field stores the interface identifier for receiving the service flow, the output interface field stores the interface identifier for forwarding the service flow, and the metric parameter field stores the metric parameters representing the service flow, the metric parameters include the occupied bandwidth and forwarding delay of the service flow;

[0211] The generating unit (not shown in the figure) is further used to generate a flow forwarding entry according to the flow characteristics, wherein the flow forwarding entry includes the flow characteristics and an interface identifier for forwarding the service flow.

[0212] Optionally, the sending unit 640 is further used to, if not, send a second path adjustment response message to the Leaf device, where the second path adjustment response message includes the first flow feature, the second path adjustment result, and the available bandwidth of the first interface, so that the Leaf device abandons forwarding the first service flow through the Spine device according to the preconfigured first selection strategy, the second path adjustment result, and the available bandwidth of the first interface;

[0213] The second path adjustment result is that the path adjustment request is not accepted.

[0214] Optionally, the identification unit 630 is specifically configured to identify, according to a preconfigured second selection strategy, whether the available bandwidth of the first interface is greater than the first occupied bandwidth;

[0215] If yes, identifying the interface status of the first interface;

[0216] If the interface state of the first interface is non-congested, identifying the interface state of the first interface after the first interface is used to forward the first service flow;

[0217] If the interface state of the first interface is non-congested after the first interface is used to forward the first service flow, it is determined that the first interface can be used to forward the first service flow.

[0218] Optionally, the device further comprises:

[0219] a determining unit (not shown in the figure), configured to, if not, determine that the first interface is not usable for forwarding the first service flow;

[0220] The determining unit (not shown in the figure) is further used to determine that the first interface is not available for forwarding the first service flow if the interface state of the first interface is congested;

[0221] The determining unit (not shown in the figure) is further used to determine that the first interface is not available for forwarding the first service flow if the interface state of the first interface is congested after the first interface is used to forward the first service flow.

[0222] Therefore, by applying the communication device provided in the present application, the Spine device receives a first path adjustment request message sent by the Leaf device, and the first path adjustment request message includes the first flow characteristics of the first business flow and the first occupied bandwidth of the first business flow; according to the first flow characteristics, the Spine device obtains the first output interface identifier corresponding to the first flow characteristics, and the first output interface identifier indicates the first interface; according to the first flow characteristics and the first occupied bandwidth, the Spine device identifies whether the first interface can be used to forward the first business flow; if so, the Spine device sends a first path adjustment response message to the Leaf device, and the first path adjustment response message includes the first flow characteristics, the first path adjustment result, and the available bandwidth of the first interface, so that the Leaf device selects the Spine device as the one for forwarding the first business flow according to the pre-configured first selection strategy, the first path adjustment result, and the available bandwidth of the first interface; wherein, the first path adjustment result is to accept the path adjustment request.

[0223] In this way, in the Spine device-leaf device networking topology, the Spine device can quickly sense the link failure or congestion between itself and the downstream Leaf device, and trigger the Leaf device to automatically adjust the traffic load on the interface, achieving 10ms level and higher real-time performance. This solves the problem of slow path adjustment speed in the existing method of using SDN controllers to centrally select and set paths.

[0224] Based on the same inventive concept, the embodiment of the present application also provides a network device, such as Figure 7 As shown, it includes a processor 710, a transceiver 720 and a machine-readable storage medium 730, the machine-readable storage medium 730 stores machine-executable instructions that can be executed by the processor 710, and the processor 710 is prompted by the machine-executable instructions to execute the communication method provided in the embodiment of the present application. Figure 5 , Figure 6 The communication device shown can be used as Figure 7 The network device hardware structure shown is implemented.

[0225] The computer-readable storage medium 730 may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk storage. Optionally, the computer-readable storage medium 730 may also be at least one storage device located away from the processor 710.

[0226] The processor 710 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0227] In the embodiment of the present application, the processor 710 reads the machine executable instructions stored in the machine readable storage medium 730, and the machine executable instructions enable the processor 710 itself and the transceiver 720 to execute the communication method described in the aforementioned embodiment of the present application.

[0228] In addition, an embodiment of the present application provides a machine-readable storage medium 730, which stores machine-executable instructions. When called and executed by the processor 710, the machine-executable instructions prompt the processor 710 itself and the calling transceiver 720 to execute the communication method described in the aforementioned embodiment of the present application.

[0229] The implementation process of the functions and effects of each unit in the above-mentioned device is specifically described in the implementation process of the corresponding steps in the above-mentioned method, and will not be repeated here.

[0230] For the device embodiment, since it basically corresponds to the method embodiment, the relevant parts can refer to the partial description of the method embodiment. The device embodiment described above is only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present application scheme. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0231] As for the communication device and machine-readable storage medium embodiments, since the method contents involved are basically similar to the aforementioned method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.

[0232] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A communication method, characterized in that: The method is applied to a Leaf device, the Leaf device is connected to at least one Spine device, the Leaf device includes a first interface, the first interface is connected to a first Spine device, and the method includes: Receiving a first service flow, wherein the first service flow includes a first flow characteristic; Sending a first path adjustment request message to each corresponding second Spine device through an interface other than the first interface for connecting to at least one second Spine device, wherein the first path adjustment request message includes the first flow feature and the first occupied bandwidth of the first service flow, so that each second Spine device identifies whether the second interface can be used to forward the first service flow according to the first flow feature and the first occupied bandwidth; Receive a first path adjustment response message sent by each second Spine device, where the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the second interface; According to the preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the second interface, a third Spine device is selected from the at least one second Spine device as the next-hop network device for continuing to forward the first service flow; Sending the first service flow to the selected third Spine device; Among them, the second interface is the outbound interface for forwarding the first business flow determined by the second Spine device according to the first flow characteristics.

2. The method according to claim 1, characterized in that After receiving the first service flow, the method further includes: Generate a first flow monitoring table entry according to a first service message included in the first service flow, wherein the first flow monitoring table entry includes a flow feature field, an outbound interface field, and a metric parameter field; the first flow monitoring table entry is in a forwarding chip included in the Leaf device; The flow feature field stores a message feature of the service message, the message feature is the same as the first flow feature, the outbound interface field stores the first interface identifier, and the metric parameter field stores a first metric parameter representing the first service flow, the first metric parameter includes a first occupied bandwidth and a first forwarding delay of the first service flow; According to the first flow feature, obtaining a first flow forwarding table entry matching the first flow feature from a flow forwarding table, wherein the first flow forwarding table entry includes a second outgoing interface identifier, and the second outgoing interface identifier indicates the first interface; Send the first service flow to the first Spine device through the first interface.

3. The method according to claim 2, characterized in that Before sending the first path adjustment request message to each second Spine device through other interfaces other than the first interface for connecting to at least one second Spine device, the method further includes: When a first metric parameter characterizing the first service flow exceeds a preset first parameter threshold, obtaining, from a flow monitoring table, a first flow monitoring table entry matching the first flow feature according to the first flow feature, the first flow monitoring table entry including a first outgoing interface identifier and the first occupied bandwidth, the first outgoing interface identifier indicating the first interface; or, Before sending the first path adjustment request message to each second Spine device through other interfaces other than the first interface for connecting to at least one second Spine device, the method further includes: An adaptive routing notification message sent by the first Spine device is received through the first interface, where the adaptive routing notification message includes the first flow feature and the first occupied bandwidth.

4. The method according to claim 2, characterized in that: The selecting, according to the preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the second interface, a third Spine device from the at least one second Spine device as a next-hop network device for continuing to forward the first service flow specifically includes: According to at least one first path adjustment result, selecting at least one fourth Spine device that sends the first path adjustment result to accept the path adjustment request; According to the first selection strategy, from the available bandwidth of the second interface sent by each fourth Spine device, the third Spine device with the smallest available bandwidth of the second interface is selected as the next-hop network device for continuing to forward the service flow, or the third Spine device with the largest available bandwidth of the second interface is selected as the next-hop network device for continuing to forward the service flow.

5. The method according to claim 4, characterized in that The method further comprises: Generate a second flow monitoring table entry according to the selected third Spine device, wherein the second flow monitoring table entry includes the first flow feature, the first metric parameter, and a third interface identifier, wherein the third interface identifier indicates a third interface, and the third interface is connected to the selected third Spine device; Generate a second flow forwarding entry according to the selected third Spine device, where the second flow forwarding entry includes the first flow feature and the third outbound interface identifier; Delete the first flow monitoring table entry and the first flow forwarding table entry.

6. A communication method, characterized in that: The method is applied to a Spine device, the Spine device is connected to at least one Leaf device, the Spine device includes a first interface, and the method includes: receiving a first path adjustment request message sent by the Leaf device, where the first path adjustment request message includes a first flow feature of a first service flow and a first occupied bandwidth of the first service flow; According to the first flow feature, acquiring a first outbound interface identifier corresponding to the first flow feature, where the first outbound interface identifier indicates the first interface; identifying, according to the first flow feature and the first occupied bandwidth, whether the first interface can be used to forward the first service flow; If so, a first path adjustment response message is sent to the Leaf device, where the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the first interface, so that the Leaf device selects a Spine device for forwarding the first service flow according to the preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the first interface; The first path adjustment result is accepting the path adjustment request.

7. The method according to claim 6, characterized in that The Spine device also includes a second interface; Before receiving the first path adjustment request message sent by the Leaf device, the method further includes: receiving, through the second interface, a second service flow sent by the Leaf device, where the second service flow includes a second flow feature; When a second metric parameter characterizing the second service flow exceeds a preset first parameter threshold, obtaining, from a flow monitoring table, a first flow monitoring table entry matching the second flow feature according to the second flow feature, wherein the first flow monitoring table entry includes an input interface identifier and a second occupied bandwidth, and the input interface identifier indicates the second interface; An adaptive routing notification message is sent to the Leaf device through the second interface, where the adaptive routing notification message includes the second flow feature and the second occupied bandwidth, so that the Leaf device generates and sends a second path adjustment request message to the corresponding connected Spine device through other interfaces except the interface connected to the second interface.

8. The method according to claim 7, characterized in that The method further comprises: Receiving the service flow sent by the Leaf device; Generate a flow monitoring table entry according to the first service message included in the service flow, wherein the flow monitoring table entry includes a flow feature field, an input interface field, an output interface field, and a metric parameter field; the flow monitoring table entry is in a forwarding chip included in the Spine device; The flow feature field stores the message feature of the service message, the message feature is the same as the flow feature, the input interface field stores the interface identifier for receiving the service flow, the output interface field stores the interface identifier for forwarding the service flow, and the metric parameter field stores the metric parameters representing the service flow, the metric parameters include the occupied bandwidth and forwarding delay of the service flow; A flow forwarding entry is generated according to the flow feature, wherein the flow forwarding entry includes the flow feature and an interface identifier for forwarding the service flow.

9. The method according to claim 6, characterized in that The method further comprises: If not, sending a second path adjustment response message to the Leaf device, where the second path adjustment response message includes the first flow characteristics, the second path adjustment result, and the available bandwidth of the first interface, so that the Leaf device abandons forwarding the first service flow through the Spine device according to the preconfigured first selection strategy, the second path adjustment result, and the available bandwidth of the first interface; The second path adjustment result is that the path adjustment request is not accepted.

10. The method according to claim 6, characterized in that The identifying, according to the first flow feature and the first occupied bandwidth, whether the first interface can be used to forward the first service flow specifically includes: identifying, according to a preconfigured second selection strategy, whether the available bandwidth of the first interface is greater than the first occupied bandwidth; If yes, identifying the interface status of the first interface; If the interface state of the first interface is non-congested, identifying the interface state of the first interface after the first interface is used to forward the first service flow; If the interface state of the first interface is non-congested after the first interface is used to forward the first service flow, it is determined that the first interface can be used to forward the first service flow.

11. The method according to claim 10, characterized in that The method further comprises: If not, determining that the first interface is not available for forwarding the first service flow; If the interface state of the first interface is congested, determining that the first interface is unavailable for forwarding the first service flow; If the interface state of the first interface is congested after the first interface is used to forward the first service flow, it is determined that the first interface is not available for forwarding the first service flow.

12. A communication device, characterized in that: The apparatus is applied to a Leaf device, the Leaf device is connected to at least one Spine device, the Leaf device includes a first interface, the first interface is connected to a first Spine device, and the apparatus includes: A receiving unit, configured to receive a first service flow, wherein the first service flow includes a first flow feature; A sending unit, configured to send a first path adjustment request message to each corresponding second Spine device through an interface other than the first interface for connecting to at least one second Spine device, wherein the first path adjustment request message includes the first flow feature and the first occupied bandwidth of the first service flow, so that each second Spine device identifies whether the second interface can be used to forward the first service flow according to the first flow feature and the first occupied bandwidth; The receiving unit is further used to receive a first path adjustment response message sent by each second Spine device, where the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the second interface; A selection unit, configured to select a third Spine device from the at least one second Spine device as a next-hop network device for continuing to forward the first service flow according to a preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the second interface; The sending unit is further used to send the first service flow to the selected third Spine device; Among them, the second interface is the outbound interface for forwarding the first business flow determined by the second Spine device according to the first flow characteristics.

13. A communication device, characterized in that: The apparatus is applied to a Spine device, the Spine device is connected to at least one Leaf device, the Spine device includes a first interface, and the apparatus includes: A receiving unit, configured to receive a first path adjustment request message sent by the Leaf device, where the first path adjustment request message includes a first flow feature of a first service flow and a first occupied bandwidth of the first service flow; an acquiring unit, configured to acquire, according to the first flow feature, a first outbound interface identifier corresponding to the first flow feature, wherein the first outbound interface identifier indicates the first interface; an identification unit, configured to identify, according to the first flow feature and the first occupied bandwidth, whether the first interface can be used to forward the first service flow; A sending unit, configured to send a first path adjustment response message to the Leaf device, wherein the first path adjustment response message includes the first flow feature, the first path adjustment result, and the available bandwidth of the first interface, so that the Leaf device selects a Spine device for forwarding the first service flow according to a preconfigured first selection strategy, the first path adjustment result, and the available bandwidth of the first interface; The first path adjustment result is accepting the path adjustment request.

Citation Information

Patent Citations

  • SDN based distributed control load balancing system and method

    CN107819695A

  • Distributed computing communication integrated scheduling method based on SDN (Software Defined Network) and related components

    CN115883490A

  • Network congestion control method and related device

    CN116566907A

  • Communication method and device

    CN118055067A

  • Multi-level equivalent routing load optimization method and device

    CN118337690A