A bandwidth determination method, device and storage medium

By applying bandwidth determination methods in the receiving and sending devices of multi-level switching networks, the network topology and bandwidth information are quickly acquired and transmitted, and the problem that traditional methods in large-scale deep networks are difficult to quickly determine transmission bandwidth, achieving more efficient load sharing and network switching capacity improvement.

CN115412442BActive Publication Date: 2025-03-11HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110580802.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-05-26
Publication Date
2025-03-11
Estimated Expiration
2041-05-26

AI Technical Summary

Technical Problem

In large-scale deep-level networks, traditional methods find it difficult to quickly determine the transmission bandwidth of the path, resulting in difficulty in setting the load sharing ratio, which in turn causes congestion and packet loss problems and reduces network switching capacity.

Method used

By applying a bandwidth determination method in the receiving end device and the transmitting end device, the network topology structure on the receiving side and the transmission bandwidth of the multiple receiving links is obtained, the reception bandwidth information of the multiple first core network devices is determined, and the marked information is transmitted to the corresponding end device to quickly determine the transmission bandwidth ratio.

Benefits of technology

This method reduces the number of transmission bandwidth, reduces the complexity of bandwidth transmission, and improves the determination speed of transmission bandwidth ratio, thereby avoiding congestion and packet loss, and improving the switching capacity of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115412442B_ABST
    Figure CN115412442B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a bandwidth determination method, device and storage medium, which relate to the field of communication technology, can reduce the amount of bandwidth transmitted, reduce the complexity of bandwidth transmission, and thus improve the speed of determining the transmission bandwidth ratio. The specific scheme is applied to a receiving device, and the receiving device belongs to a multi-stage switching network. The multi-stage switching network includes a first edge network device, a second edge network device and a plurality of core network devices. The specific scheme includes: obtaining the network topology structure of the receiving side between the first edge network device and the plurality of first core network devices, and the transmission bandwidth of the plurality of receiving links in the network topology structure of the receiving side; determining the receiving bandwidth information of the plurality of first core network devices according to the network topology structure of the receiving side and the transmission bandwidth of the plurality of receiving links, and marking the receiving bandwidth information with a first identifier representing the first edge network device; and sending the marked receiving bandwidth information to the second edge network 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 bandwidth determination method, device and storage medium. Background Art

[0002] In a data center network, since the routing protocol cannot transmit the transmission bandwidth of the links in the data center network, it is impossible to set a suitable load sharing ratio for multiple links according to the transmission bandwidth of each link. Once the ratio of the data bandwidth received by the multiple links is different from the ratio of the data bandwidth actually transmitted by the multiple links, congestion will occur, which will lead to packet loss and reduce the switching capacity of the entire network. The transmission bandwidth can refer to the available bandwidth of the link.

[0003] To address this problem, in a 3-stage clos network, the 3-stage clos network includes a first edge network device and a second edge network device, and the first edge network device and the second edge network device are any edge network devices in the 3-stage clos network. The first edge network device serves as the destination end, and the second edge network device serves as the source end. Before the second edge network device sends data to the first edge network device, the second edge network device receives the congestion values ​​of multiple paths between the first edge network device and the second edge network device from the first edge network device. Then, the second edge network device determines the transmission bandwidths of the multiple paths based on the congestion values ​​of the multiple paths, and sets appropriate load sharing ratios for the multiple paths based on the transmission bandwidths of the multiple paths.

[0004] However, for large-scale deep networks (e.g., 5-order clos networks), since the connection relationship between network devices in large-scale deep networks is complex and the number of paths is huge, it is difficult and slow to use the above method to transmit the congestion value of the paths in the entire network. In this case, the speed of determining the transmission bandwidth of the path is also slow. Summary of the invention

[0005] The embodiments of the present application provide a bandwidth determination method, device, and storage medium, which can reduce the amount of bandwidth transmitted, reduce the complexity of bandwidth transmission, and thus improve the speed of determining the transmission bandwidth ratio.

[0006] In the first aspect, an embodiment of the present application provides a bandwidth determination method, which is applied to a receiving device. The receiving device belongs to a multi-stage switching network, and the multi-stage switching network includes a first edge network device, a second edge network device, and multiple core network devices. The first edge network device and the second edge network device are connected through multiple paths, and any one of the paths includes a core network device. The method includes: the receiving device first obtains the network topology structure of the receiving side between the first edge network device and the multiple first core network devices, and the transmission bandwidth of multiple receiving links in the network topology structure of the receiving side; then, based on the network topology structure of the receiving side and the transmission bandwidth of the multiple receiving links, the receiving bandwidth information of the multiple first core network devices is determined, and the receiving bandwidth information is marked with a first identifier representing the first edge network device; finally, the marked receiving bandwidth information is sent to the second edge network device.

[0007] The first core network device is a core network device among the multiple core network devices that is connected to the first edge network device and the second edge network device. The receiving bandwidth information is used to characterize the receiving bandwidth ratio of the multiple first core network devices. The marked receiving bandwidth information is used to indicate that data is sent to the first edge network device according to the marked receiving bandwidth information.

[0008] Through this solution, since the receiving end device only obtains the transmission bandwidth of multiple receiving links in the network topology structure of the receiving side where it is located, it is not necessary to obtain the transmission bandwidth of all links in the entire network. Compared with the transmission bandwidth of all links in the entire network, the number of transmission bandwidths of multiple receiving links in the receiving side where the receiving end device is located is very small. Therefore, it can be seen that the receiving end device only obtains the transmission bandwidth of multiple receiving links, which reduces the number of transmission bandwidths. Then, the receiving end device determines the receiving bandwidth information of multiple first core network devices based on the transmission bandwidth of multiple receiving links. Compared with calculating the ratio of the data bandwidth actually transmitted by all links in the entire network based on the transmission bandwidth of all links in the entire network, the amount of calculation required to determine the receiving bandwidth information of multiple first core network devices based on the transmission bandwidth of multiple receiving links is smaller.

[0009] In summary, this solution reduces the amount of transmitted bandwidth and also reduces the amount of bandwidth calculation, thereby being able to quickly determine the receiving bandwidth information of multiple first core network devices.

[0010] Furthermore, the receiving end device can quickly send the marked receiving bandwidth information to the second edge network device. Since the marked receiving bandwidth information is used to indicate that data is sent to the first edge network device according to the marked receiving bandwidth information, and the marked receiving bandwidth information is used to characterize the receiving bandwidth ratio of multiple first core network devices, the second edge network device can determine the sending bandwidth ratio of multiple sending links when sending data to the first edge network device based on the marked receiving bandwidth information. Compared with obtaining the transmission bandwidth of all links between the first edge network device and the second edge network device, the second edge network device only obtains the receiving bandwidth information of multiple first core network devices, and the number of bandwidths transmitted by the first edge network device to the second edge network device is less, and the complexity of bandwidth transmission is lower. Furthermore, the second edge network device can quickly obtain the marked receiving bandwidth information to determine the sending bandwidth ratio of multiple sending links when sending data to the first edge network device. Therefore, it can be seen that this solution also improves the speed of determining the sending bandwidth ratio.

[0011] In a possible design, after sending the marked receiving bandwidth information to the second edge network device, the method further includes: updating the transmission bandwidths of multiple receiving links in the network topology structure of the receiving side when it is determined that at least one of the network topology structure of the receiving side and the transmission bandwidth of the receiving link has changed; then, based on the transmission bandwidths of multiple receiving links in the updated network topology structure of the receiving side, redetermining the receiving bandwidth information of multiple first core network devices; finally, if the redetermined receiving bandwidth information is different from the receiving bandwidth information, marking the redetermined receiving bandwidth information with a first identifier, and sending the marked receiving bandwidth information to the second edge network device.

[0012] In this design, when at least one of the network topology structure on the receiving side and the transmission bandwidth of the receiving link changes, the receiving end device determines whether the receiving bandwidth information of the multiple first core network devices on the receiving side changes. This is compared to determining whether the data bandwidth actually transmitted by all links in the entire network changes when at least one of the network topology structure of the entire network and the transmission bandwidth of the links included in the entire network changes. This design only determines whether the receiving bandwidth information of the multiple first core network devices on the receiving side changes, and does not need to determine whether the data bandwidth actually transmitted by all links in the entire network changes. This reduces the workload of re-determining the bandwidth due to changes in at least one of the network topology structure on the receiving side and the transmission bandwidth of the receiving link, thereby increasing the bandwidth update speed.

[0013] In another possible design, the above-mentioned determining the receiving bandwidth information of multiple first core network devices according to the network topology structure of the receiving side and the transmission bandwidth of multiple receiving links includes: determining multiple receiving bandwidths corresponding to multiple first core network devices according to the network topology structure of the receiving side and the transmission bandwidth of multiple receiving links; and then generating receiving bandwidth vectors of multiple first core network devices according to multiple preset core identifiers representing multiple first core network devices and multiple receiving bandwidths corresponding to multiple first core network devices. The receiving bandwidth vector is the receiving bandwidth information.

[0014] It can be understood that the receiving end device generates a receiving bandwidth vector according to multiple preset core identifiers of multiple first core network devices and corresponding multiple receiving bandwidths. Compared with transmitting the transmission bandwidth of all links between the first edge network device and the second edge network device to the second edge network device, the receiving end device only transmits the receiving bandwidth vectors of multiple first core network devices to the second edge network device, which can reduce the amount of transmitted bandwidth and reduce the complexity of bandwidth transmission.

[0015] In another possible design, the above-mentioned determination of multiple receiving bandwidths corresponding to multiple first core network devices based on the network topology structure of the receiving side and the transmission bandwidth of the multiple receiving links includes: determining the data bandwidths actually transmitted by the multiple receiving links when the multiple receiving links transmit data based on the network topology structure of the receiving side and the transmission bandwidth of the multiple receiving links; for each first core network device among the multiple first core network devices, determining that the sum of the data bandwidths actually transmitted by all receiving links directly connected to the first core network device among the multiple receiving links is the receiving bandwidth corresponding to the first core network device.

[0016] In this design method, an implementation method in which a receiving end device determines multiple receiving bandwidths corresponding to multiple first core network devices is described.

[0017] In a second aspect, an embodiment of the present application provides a bandwidth determination method, which is applied to a sending end device. The sending end device belongs to a multi-stage switching network, and the multi-stage switching network includes a first edge network device, a second edge network device, and multiple core network devices. The first edge network device and the second edge network device are connected through multiple paths, and any one of the paths includes a core network device. The method includes: the sending end device first receives the marked receiving bandwidth information from the receiving end device; then, upon receiving an instruction to send data to the first edge network device, obtains the network topology structure of the sending side between the second edge network device and the multiple first core network devices. Finally, based on the marked receiving bandwidth information, determine the sending bandwidth ratio of multiple sending links in the network topology structure of the sending side.

[0018] Among them, the first core network device is a core network device that connects the first edge network device and the second edge network device among multiple core network devices. The marked receiving bandwidth information is marked with a first identifier representing the first edge network device, and is used to represent the receiving bandwidth ratio of multiple first core network devices. The sending bandwidth ratio of multiple sending links is used to indicate that the second edge network device sends data to the first edge network device according to the sending bandwidth ratio of multiple sending links, and the ratio of the data bandwidth sent by the second edge network device to multiple first core network devices according to the sending bandwidth ratio of multiple sending links is equal to the receiving bandwidth ratio of multiple first core network devices.

[0019] Through this solution, the transmitting device receives the marked receiving bandwidth information sent by the receiving device. Among them, the marked receiving bandwidth information received by the transmitting device from the receiving device is the receiving bandwidth information of multiple first core network devices. Compared with the transmission bandwidth of all links between the first edge network device and the second edge network device, the receiving bandwidth information of multiple first core network devices has a smaller data volume, so the amount of bandwidth transmitted by the receiving device to the transmitting device is smaller, and the complexity of bandwidth transmission is lower.

[0020] Secondly, the sending end device determines the sending bandwidth ratio of multiple sending links in the sending side according to the marked receiving bandwidth information and the network topology of the sending side between the second edge network device and the multiple first core network devices. Compared with determining the sending bandwidth of all links between the first edge network device and the second edge network device, determining the sending bandwidth ratio of multiple sending links in the sending side requires less calculation.

[0021] In summary, the above scheme reduces the amount of bandwidth transmitted from the receiving device to the sending device, reduces the complexity of bandwidth transmission, and reduces the amount of calculation of the sending bandwidth ratio. Therefore, the sending device can determine the sending bandwidth ratio more quickly, that is, the speed of determining the sending bandwidth ratio is improved.

[0022] In addition, since the multiple first core network devices receive data and send the received data to the first edge network device through multiple receiving links, when the receiving end device determines the receiving bandwidth information of the multiple first core network devices according to the transmission bandwidth of the multiple receiving links, it can ensure that when the multiple first core network devices receive data that meets the requirements of the receiving bandwidth information, the transmission bandwidth of the multiple receiving links can share the data bandwidth received by the multiple first core network devices. Secondly, since the ratio of the data bandwidth sent by the second edge network device to the multiple first core network devices according to the transmission bandwidth ratio of the multiple transmission links is equal to the receiving bandwidth ratio of the multiple first core network devices, it can be known that the second edge network device can send data that meets the requirements of the receiving bandwidth information to the multiple first core network devices according to the transmission bandwidth ratio.

[0023] When multiple first core network devices receive data that meets the requirements of the receiving bandwidth information, the transmission bandwidth of multiple receiving links can share the data bandwidth received by multiple first core network devices, so multiple receiving links on the receiving side will not be congested, and packet loss caused by congestion will not occur. This avoids the problem of reduced data bandwidth actually transmitted by multiple receiving links caused by packet loss, and can increase the data bandwidth completed by multiple receiving links, that is, improve the switching capacity of the network.

[0024] In a possible design, the above-mentioned determining the transmission bandwidth ratio of multiple transmission links in the network topology structure of the transmission side according to the marked reception bandwidth information includes: determining the transmission bandwidth ratio of the first transmission link according to the network topology structure of the transmission side and the marked reception bandwidth information; determining the transmission bandwidth ratio of the second transmission link according to the transmission bandwidth ratio of the first transmission link.

[0025] The first transmission link is all transmission links directly connected to the multiple first core network devices among the multiple transmission links. The second transmission link is all transmission links indirectly connected to the multiple first core network devices among the multiple transmission links. The transmission bandwidth ratio of the multiple transmission links includes: the transmission bandwidth ratio of the first transmission link and the transmission bandwidth ratio of the second transmission link.

[0026] In this design method, an implementation method in which the transmitting end device determines the transmission bandwidth ratio of the second transmission link is described.

[0027] In another possible design, after determining the transmission bandwidth ratio of multiple transmission links in the network topology structure of the transmission side according to the marked receiving bandwidth information, the method further includes: obtaining the transmission bandwidth of the multiple transmission links; and determining multiple actual transmission bandwidths of the multiple transmission links according to the transmission bandwidth of the multiple transmission links and the transmission bandwidth ratio.

[0028] Among them, the actual sending bandwidth of each of the sending links is less than or equal to the transmission bandwidth of the sending link, and the ratio of the multiple actual sending bandwidths of the multiple sending links is equal to the sending bandwidth ratio; the multiple actual sending bandwidths of the multiple sending links are used to indicate that the second edge network device sends data to the first edge network device according to the multiple actual sending bandwidths of the multiple sending links.

[0029] It can be understood that since the ratio of multiple actual sending bandwidths is equal to the sending bandwidth ratio, the second edge network device sends data to the first edge network device according to the multiple actual sending bandwidths, and the ratio of the data bandwidths sent to multiple first core network devices is also equal to the receiving bandwidth ratio of multiple first core network devices.

[0030] In a third aspect, an embodiment of the present application provides a receiving end device, which includes an apparatus, a module, or a unit for executing the first aspect and various possible methods of the first aspect.

[0031] In a fourth aspect, an embodiment of the present application provides a sending end device, which includes an apparatus, a module, or a unit for executing the second aspect and various possible methods of the second aspect.

[0032] In a fifth aspect, an embodiment of the present application provides a receiving device, the receiving device comprising: a processor and a memory. The memory is used to store computer program codes, the computer program codes include computer instructions; the processor is used to run the computer instructions, so that the receiving device executes the method of the first aspect and any possible design thereof.

[0033] In a sixth aspect, an embodiment of the present application provides a transmitting end device, the transmitting end device comprising: a processor and a memory. The memory is used to store computer program codes, the computer program codes include computer instructions; the processor is used to run the computer instructions, so that the transmitting end device executes the method as in the second aspect and any possible design thereof.

[0034] The seventh aspect provides a computer-readable storage medium, on which computer instructions are stored. When the computer instructions are executed on a receiving device, the receiving device executes the method of the first aspect and any possible design thereof.

[0035] The eighth aspect provides a computer-readable storage medium, on which computer instructions are stored. When the computer instructions are executed on a sending device, the sending device executes a method as in the second aspect and any possible design thereof.

[0036] The ninth aspect also provides a computer program product, comprising one or more instructions, which can be run on a receiving device so that the receiving device executes the method of the first aspect and any possible design thereof.

[0037] The tenth aspect also provides a computer program product, comprising one or more instructions, which can be run on a sending device, so that the sending device executes a method such as the second aspect and any possible design thereof.

[0038] The technical effects brought about by the third aspect of the present application and any possible design thereof, as well as the fifth, seventh and ninth aspects, can refer to the technical effects brought about by the different design methods in the above-mentioned first aspect; the technical effects brought about by the fourth aspect of the present application and any possible design thereof, as well as the sixth, eighth and tenth aspects, can refer to the technical effects brought about by the different design methods in the above-mentioned second aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 A schematic diagram of a multi-stage switching network provided in an embodiment of the present application Figure 1 ;

[0040] Figure 2 A schematic diagram of a third-order clos network provided in an embodiment of the present application;

[0041] Figure 3 A schematic diagram of a 5th-order clos network provided in an embodiment of the present application;

[0042] Figure 4 A schematic diagram of a communication network flooding link status information provided by an embodiment of the present application;

[0043] Figure 5 A schematic diagram of a multi-stage switching network provided in an embodiment of the present application Figure 2 ;

[0044] Figure 6 A schematic diagram of the hardware structure of a receiving device or a transmitting device provided in an embodiment of the present application;

[0045] Figure 7 A process of determining bandwidth provided by an embodiment of the present application Figure 1 ;

[0046] Fig. 8A A schematic diagram of a receiving side in a multi-stage switching network provided in an embodiment of the present application;

[0047] Figure 8B A schematic diagram of a receiving side and a sending side provided in an embodiment of the present application;

[0048] Figure 8C A schematic diagram of a receiving side and multiple sending sides provided in an embodiment of the present application;

[0049] Fig. 9A A schematic diagram of a multi-stage switching network provided in an embodiment of the present application Figure 3 ;

[0050] Fig. 9B A schematic diagram of a transmission bandwidth of a receiving link in a receiving side provided in an embodiment of the present application;

[0051] Fig. 9C A schematic diagram of a receiving bandwidth of a receiving link in a receiving side provided in an embodiment of the present application;

[0052] Fig.9D A schematic diagram of a receiving bandwidth and a sending bandwidth of a link provided in an embodiment of the present application;

[0053] Fig.9E A schematic diagram of a transmission bandwidth of a transmission link after a receiving side becomes a transmitting side provided in an embodiment of the present application;

[0054] Fig.9F A schematic diagram of a transmission bandwidth of a transmission link in a transmission side provided in an embodiment of the present application;

[0055] Fig.10 A schematic diagram of the structure of a receiving device and a transmitting device provided in an embodiment of the present application;

[0056] Fig.11 A process of determining bandwidth provided by an embodiment of the present application Figure 2 . DETAILED DESCRIPTION

[0057] The "first" and "second" described in the embodiments of the present application are used to distinguish different objects, or to distinguish different processing of the same object, rather than to describe a specific order of objects. For example, the first edge network device and the second edge network device can be the same network device, or different network devices.

[0058] The following is an introduction to the terms involved in the embodiments of the present application:

[0059] (1) Load sharing: The amount of data to be transmitted in the network is distributed over multiple paths to expand network bandwidth, increase throughput, and improve network flexibility and availability.

[0060] (2) Flowlet: When the Transmission Control Protocol (TCP) is used to divide the amount of data to be transmitted into packets, there is a period of time between each batch of packets. The interval time can be used to adjust the load sharing ratio of each path to avoid the problem of disordered packet transmission. This load sharing adjustment method is called flowlet load sharing.

[0061] (3) Virtual Extensible LAN (Vxlan): A group of logical devices and users. These devices and users are not restricted by physical location and can be organized according to functions, departments, and applications. The communication between them is as if they are in the same network segment, hence the name virtual LAN.

[0062] (4) Clos network: It is a switching network in which the number of crosspoints increases slowly with the number of input and output lines. Its basic idea is to use multiple smaller switching units connected in a certain way to form a multi-level switching network. Among them, clos networks can include 3rd-order clos networks, 5th-order clos networks, etc.

[0063] At present, since routing protocols cannot transmit the transmission bandwidth of links in a multi-stage switching network, when data needs to be sent through multiple links, the data bandwidth actually transmitted by the multiple links cannot be determined due to the lack of the transmission bandwidth of the multiple links. Furthermore, since the data bandwidth actually transmitted by the multiple links is unclear, it is impossible to set a suitable load sharing ratio for the multiple links. The load sharing ratio can be a ratio of the data bandwidth actually transmitted by the multiple links. Once the ratio of the data bandwidth sent to the multiple links is different from the ratio of the data bandwidth that the multiple links can transmit, congestion will occur, which will cause packet loss and reduce the switching capacity of the multi-stage switching network. Among them, a link refers to a physical connection between two network devices. The transmission bandwidth refers to the available bandwidth of the link. The data bandwidth actually transmitted by a link is determined by the transmission bandwidth of the link and the transmission bandwidth of other links connected to the link.

[0064] For example, Figure 1 As shown, a multi-stage switching network includes: a first edge network device T11, a core network device C11, a core network device C12, and a second edge network device T12. The maximum bandwidth of the link between any two network devices in the multi-stage switching network is 20G. The first edge network device T11 serves as the destination, the second edge network device T12 serves as the source, and the second edge network device T12 sends data to the first edge network device T11.

[0065] It should be noted that, for the convenience of description, in the embodiment of the present application, the path from the second edge network device to the core network device connected thereto is referred to as an uplink path, and the path from the core network device to the first edge network device is referred to as a downlink path. A path may include one or more links.

[0066] Take the two downlink paths from the core network device C11 and the core network device C12 to the first edge network device T11 as examples. Under normal working conditions, the data bandwidth actually transmitted by the two downlink paths is equal to the transmission bandwidth of the two downlink paths. The transmission bandwidth of the two downlink paths is the same, and the load sharing ratio of the two downlink paths is 1:1. However, if one of the two downlink paths fails, for example, the transmission bandwidth of the downlink path from C11 to T11 changes from 20G to 10G, the data bandwidth actually transmitted by the downlink path from C11 to T11 becomes 10G, and the load sharing ratio of the two downlink paths becomes 1:2.

[0067] However, if the second edge network device T12 does not obtain the transmission bandwidth after the failure of the downstream path from C11 to T11, it still maintains a 1:1 load sharing ratio and sends data to the first edge network device T11 through the two downstream paths. When data is sent to the two downstream paths according to the 1:1 load sharing ratio, the ratio of the data bandwidth received by the two downstream paths is different from the ratio of the data bandwidth actually transmitted by the two downstream paths. As a result, the downstream path from C11 to T11 of the two downstream paths is congested, causing packet loss. In the case of packet loss in the downstream path from C11 to T11, the data bandwidth completed by the two downstream paths is equal to the transmission bandwidth of the downstream path from C12 to T11, that is, 20G.

[0068] If the second edge network device T12 obtains the transmission bandwidth after the failure of the downlink path from C11 to T11, the second edge network device T12 can adjust the load sharing ratio of the two downlink paths to 1:2. When data is sent to the two downlink paths according to the load sharing ratio of 1:2, the ratio of the data bandwidth received by the two downlink paths is equal to the ratio of the data bandwidth actually transmitted by the two downlink paths. At this time, the two downlink paths will not be congested, and the data bandwidth transmitted by the two downlink paths is equal to the sum of the transmission bandwidths of the two downlink paths, that is, 30G.

[0069] It can be seen that if the second edge network device cannot know the transmission bandwidth of the path connected to it, it cannot set a suitable load sharing ratio for the multiple paths connecting itself and the first edge network device. Once the ratio of the data bandwidth received by the multiple paths is different from the ratio of the data bandwidth actually transmitted by the multiple paths, congestion will occur, which will lead to packet loss, and packet loss will cause the data bandwidth completed by the multiple paths to be greatly reduced. Therefore, the multi-stage switching network needs to transmit the transmission bandwidth of each link so that the second edge network device can determine the ratio of the data bandwidth actually transmitted by the multiple paths connecting itself and the first edge network device (i.e., the load sharing ratio).

[0070] In a related technology, the second edge network device collects the congestion degree (CE) of all connected paths; then, load sharing is scheduled according to the collected CE.

[0071] For example, a third-order clos network is taken as an example to explain this related technology in detail. Figure 2 The 3rd order clos network shown in the figure includes multiple edge network devices and multiple core network devices. The multiple edge network devices include edge network device T21, edge network device T22 and edge network device T23. The multiple core network devices include core network device C21, core network device C22 and core network device C23. Among them, the node where the edge network device is located can be called a leaf node, and the node where the core network device is located can be called a spine node. Any network device (such as an edge network device, a core network device) can be a switch or a router.

[0072] Taking the edge network device T21 as the second edge network device as an example, all edge network devices in the third-order clos network can be first edge network devices. All first edge network devices feed back the congestion degree CE of the path to the second edge network device T21.

[0073] Specifically, when the second edge network device T21 sends a message to any first edge network device, a path tag (LBTag) and CE are encapsulated in the virtual extended local area network (Virtual Extensible LAN, VXLAN) header of each message. Among them, LBTag is the port number used by the second edge network device T21 to send the message. CE is used to represent the congestion value of each link. When the second edge network device T21 sends a message, the value of CE is equal to the congestion value of the port used by the second edge network device T21 to send the message. When the message passes through each core network device, the core network device updates the value of CE in the message to the larger of the value of CE when the second edge network device T21 sends the message and the congestion value of the downlink path where the core network device is located. After the message is sent to the first edge network device, the first edge network device saves the value of CE in the message to a destination congestion level table (Congestion-from-leaf). The first edge network device carries the value of CE in the message in the reverse message, and sends the reverse message to the second edge network device T21 to feed back the congestion value recorded by CE to the second edge network device T21. Then, the second edge network device T21 can update the source congestion level table (Congestion-to-leaf) according to the fedback congestion value. Among them, the source congestion level table records the congestion values ​​of the paths between the second edge network device T21 and multiple first edge network devices respectively. The second edge network device T21 can set a suitable load sharing ratio for the path between the second edge network device T21 and each first edge network device according to the source congestion level table.

[0074] Among them, any first edge network device can also build a destination congestion level table based on the larger congestion values ​​sent by multiple core network devices. As shown in Table 1 below, the destination congestion level table (Congestion-from-leaf) established by any first edge network device includes: the congestion value of the path connected to the second edge network device T21, the congestion value of the path connected to the second edge network device T22, and the congestion value of the path connected to the second edge network device T23. Among them, the path connected to any second edge network device can include k paths. k is a positive integer.

[0075] Table 1

[0076]

[0077] Any second edge network device establishes a source end congestion level table according to the congestion values ​​of the paths fed back by multiple first edge network devices. As shown in Table 2 below, the source end congestion level table (Congestion-to-leaf) established by the second edge network device T21 includes: the congestion value of the path connected to the first edge network device T21, the congestion value of the path connected to the first edge network device T22, and the congestion value of the path connected to the first edge network device T23. Among them, the path connected to any first edge network device may include k downstream paths. Then, the second edge network device T21 can schedule flowlet load sharing according to Table 2.

[0078] Table 2

[0079]

[0080]

[0081] Although the above method can allow any second edge network device to obtain the congestion of multiple paths between each first edge network device, this method is only applicable to 3rd order clos networks, not to large-scale deep clos networks (e.g., 5th order clos networks). Because in a large-scale deep clos network, there are many paths from one port of an edge network device to another edge network device, and the number of paths in the entire network is even larger. Since the number of paths in a large-scale deep clos network is large, the number of congestion values ​​of the paths that need to be transmitted is also large, which is difficult to implement.

[0082] For example, Figure 3 The 5th-order clos network shown in the figure includes multiple edge network devices, multiple aggregation network devices and multiple core network devices. Among them, multiple edge network devices and multiple aggregation network devices are divided into multiple network device groups (such as Pod0, Pod1) according to their respective areas. Each network device group may include edge network device T31, edge network device T32, edge network device T33, edge network device T34, aggregation network device A31, aggregation network device A32, aggregation network device A33, and aggregation network device A34. Multiple core network devices include: core network device C31, core network device C32, core network device C33, core network device C34, and the like.

[0083] Assuming that there are 24 paths between any two edge network devices in a 3-level clos network, 24 paths between an edge network device and an aggregation network device in a 5-level clos network, and 24 paths between an aggregation network device and another edge network device in a 5-level clos network, there are 24*24 paths from one edge network device to another edge network device in a 5-level clos network. If both the 3-level clos network and the 5-level clos network include 1,000 edge network devices, the 3-level clos network needs to transmit the congestion value of 24,000 paths, while the 5-level clos network needs to transmit the congestion value of 576,000 paths.

[0084] It should be noted that Figure 3 Shown are some of the network devices in a 5th-order clos network. Figure 3 Only four paths from an edge network device to an aggregation network device and four paths from an aggregation network device to another edge network device in a 5-order clos network are drawn.

[0085] It can be seen that the number of congestion values ​​of the paths that need to be transmitted by the 5th-order clos network is very large. In order to record the congestion value of the path of the entire network, any second edge network device needs to set a corresponding path label for each path. For example, the above-mentioned 5th-order clos network needs to set and store 576,000 path labels. In other words, the amount of other data generated by any second edge network device in order to obtain the congestion value of the path of the entire network is also very large, which further increases the difficulty of implementing the method.

[0086] Another related technology considers that routing protocols cannot transmit the bandwidth of links in a multi-stage switching network, and proposes to transmit the bandwidth of a path through a link state routing protocol (Open Shortest Path First, OSPF).

[0087] For example, Figure 4 Taking the communication network shown as an example, each network device in the communication network adopts OSPF and will flood link state information to other network devices except itself. Furthermore, by flooding the link state information, all network devices in the communication network save the same link state information 41 about the entire network. In this way, the transmission bandwidth of the link connected to the network device can be added to the flooding information of each network device in the multi-stage switching network. After the multi-stage switching network completes the flooding, each network device not only saves the link state information of the entire multi-stage switching network, but also saves the transmission bandwidth of the link of the entire multi-stage switching network. Then, any second edge network device in the multi-stage switching network can set a suitable load sharing ratio for multiple links between the second edge network device and any first edge network device based on the transmission bandwidth of the link of the entire network.

[0088] Among them, since OSPF floods link state information in the entire domain, it is impossible to flood link state information in the entire domain for a larger-scale network (such as a 5-level clos network). Generally, a large-scale network is divided into multiple domains, each of which is smaller in size, so as to achieve flooding of link state information in each domain. However, since OSPF does not support cross-domain transmission of link state information, link state information is not transmitted between different domains, and transmission bandwidth cannot be transmitted between different domains. In this way, since any second edge network device can only obtain the transmission bandwidth of part of the link, it may not obtain the transmission bandwidth of multiple links between the second edge network device and a first edge network device, and it is impossible to set a suitable load-bandwidth ratio for the multiple links.

[0089] In response to the above problems, an embodiment of the present application provides a bandwidth determination method. Regardless of whether it is a small-scale network or a large-scale network, this method can reduce the amount of transmitted bandwidth and reduce the complexity of bandwidth transmission, thereby increasing the speed of determining the transmission bandwidth ratio.

[0090] The bandwidth determination method provided in the embodiment of the present application can be applied to a multi-stage switching network. Figure 5 A possible structure of the multi-stage switching network is shown. Figure 5 As shown, the multi-stage switching network may include: multiple edge network devices, multiple aggregation network devices and multiple core network devices. Multiple edge network devices and multiple aggregation network devices are divided into multiple network device groups according to their regions, namely Pod0, Pod1, ..., Pod6, Pod7. Each network device group includes: edge network device T51, edge network device T52, edge network device T53, edge network device T54, aggregation network device A51, aggregation network device A52, aggregation network device A53, aggregation network device A54. Multiple core network devices include: core network device C51, core network device C52, core network device C53, core network device C54, core network device C55, core network device C56, core network device C57, core network device C58, core network device C59, core network device C510, core network device C511, core network device C512, core network device C513, core network device C514, core network device C515, and core network device C516.

[0091] It should be noted that Figure 5 This is just a schematic diagram. The multi-stage switching network may also include other network devices, such as terminals directly connected to edge network devices. Figure 5The embodiment of the present application does not limit the number of edge network devices, aggregation network devices, and core network devices included in the multi-stage switching network.

[0092] The plurality of edge network devices include a first edge network device and a second edge network device. The first edge network device is a destination end for sending data, the second edge network device is a source end for sending data, and the first edge network device and the second edge network device can be any one of the plurality of edge network devices. The first edge network device and the second edge network device can be the same or different. The first edge network device and the second edge network device are connected via a plurality of paths, any one of which includes a core network device.

[0093] Furthermore, the multi-stage switching network may also include a receiving device and a sending device. The execution subject of the bandwidth determination method provided in the embodiment of the present application may be a receiving device and a sending device. The receiving device belongs to the first edge network device, and the sending device belongs to the second edge network device.

[0094] The receiving device may be a first edge network device in a multi-stage switching network, or a module in the first edge network device for determining the transmission bandwidth, or a device connected to the first edge network device in the multi-stage switching network. The sending device may be a second edge network device in a multi-stage switching network, or a module in the second edge network device for determining the transmission bandwidth, or a device connected to the second edge network device in the multi-stage switching network. The embodiments of the present application do not limit the specific forms of the receiving device and the sending device.

[0095] Figure 6 A hardware structure diagram of a receiving device or a transmitting device provided in an embodiment of the present application is shown in FIG6 . As shown in FIG6 , the receiving device or the transmitting device may include at least one processor 61 , a memory 62 , a communication interface 63 and a bus 64 .

[0096] Combine the following Figure 6 A detailed introduction to the components of the receiving device or the transmitting device is given below:

[0097] The processor 61 may be a processor or a collective name for multiple processing elements. For example, the processor 61 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application, such as one or more microprocessors (Digital Signal Processor, DSP), or one or more field programmable gate arrays (Field Programmable Gate Array, FPGA).

[0098] The processor 61 may execute various functions of the receiving device or the transmitting device by running or executing the software program stored in the memory 62 and calling the data stored in the memory 62 .

[0099] In a specific implementation, as an embodiment, the processor 61 may include one or more CPUs. Figure 6 As shown, the processor 61 includes CPU0 and CPU1.

[0100] In a specific implementation, as an embodiment, the receiving end device or the sending end device may include multiple processors. Figure 6 As shown, it includes processor 61 and processor 65. Each of these processors can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). The processor here can refer to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions).

[0101] The memory 62 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 62 may exist independently and be connected to the processor 61 via a bus 64. The memory 62 may also be integrated with the processor 61. Among them, the memory 62 is used to store the software program that executes the solution of the present application, and the execution is controlled by the processor 61.

[0102] The communication interface 63 is used to communicate with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc. The communication interface 63 may include a receiving unit to implement a receiving function, and a sending unit to implement a sending function.

[0103] The bus 64 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 6 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0104] Figure 6The device structure shown in the figure does not constitute a limitation on the receiving device or the transmitting device, and may include more or less components than shown in the figure, or combine certain components, or arrange components differently. Although not shown, the receiving device or the transmitting device may also include a battery, a wireless communication module (such as a Bluetooth module), a global positioning system (GPS) module, a display screen, etc., which will not be described in detail here.

[0105] The embodiment of the present application provides a bandwidth determination method. In order to reduce the transmission amount of bandwidth information, the multi-stage switching network can be divided into a receiving side and a sending side based on the core network device in the multi-stage switching network. The receiving side is from the first edge network device to multiple first core network devices directly or indirectly connected to the first edge network device. The sending side is from the second edge network device to multiple first core network devices directly or indirectly connected to the second edge network device. The receiving end device belongs to the receiving side, and the sending end device belongs to the sending side.

[0106] Furthermore, before the second edge network device sends data to the first edge network device, the receiving end device can determine the receiving bandwidth information of the multiple first core network devices based on the transmission bandwidth of the multiple receiving links in the receiving side where it is located, and send the receiving bandwidth information to the sending end device. Then, the sending end device can determine the transmission bandwidth ratio of the multiple sending links in the sending side when sending data to the first edge network device based on the receiving bandwidth information of the multiple first core network devices and the network topology of the sending side, so as to ensure that the data bandwidth sent to the multiple first core network devices meets the requirements of the receiving bandwidth information of the multiple first core network devices.

[0107] Since the receiving end device only transmits the receiving bandwidth information of multiple first core network devices to the sending end device, instead of transmitting the transmission bandwidth of all links from the first edge network device to the second edge device, the amount of bandwidth transmission is reduced. Furthermore, the sending end device can quickly receive the receiving bandwidth information of multiple first core network devices to determine the transmission bandwidth ratio of multiple transmission links when sending data to the first edge network device. In other words, the speed of determining the transmission bandwidth ratio is also faster.

[0108] Please refer to Figure 7 The embodiment of the present application provides a bandwidth determination method, which is applied to the above-mentioned receiving device and the above-mentioned sending device, and the receiving device is connected to the sending device. Figure 7 As shown, the method may include S71-S76.

[0109] S71. The receiving end device obtains a network topology structure of a receiving side between a first edge network device and a plurality of first core network devices, and a transmission bandwidth of a plurality of receiving links in the network topology structure of the receiving side.

[0110] The first core network device may be a core network device among multiple core network devices that connects the first edge network device and the second edge network device, or may be all core network devices in a multi-stage switching network. A receiving link is a physical connection between two network devices on the receiving side.

[0111] In the embodiment of the present application, the receiving side and the sending side are obtained by dividing the multi-stage switching network with the core network device in the multi-stage switching network as the boundary. Among them, the core network device in the receiving side and the core network device in the sending side can be the same. The receiving side is from the first edge network device to multiple first core network devices. The sending side is from the second edge network device to multiple first core network devices. The data sent by the second edge network device passes through the core network device between the sending side and the receiving side to reach the first edge network device.

[0112] In the embodiment of the present application, the receiving device can obtain the network topology of the receiving side and the transmission bandwidth of multiple receiving links through message interaction between all network devices on the receiving side.

[0113] Exemplarily, all network devices on the receiving side use OSPF to flood link state information and transmission bandwidth on the receiving side, so that all network devices on the receiving side can obtain the network topology of the receiving side and the transmission bandwidth of multiple receiving links.

[0114] In the embodiment of the present application, the multi-stage switching network may be a clos network or a leaf-spine network, etc.

[0115] For example, Figure 5 Taking the multi-stage switching network shown as an example, the multi-stage switching network is a leaf-spine network, that is, the node where the edge network device in the multi-stage switching network is located is a leaf node (leaf), and the node where the core network device is located is a spine node (spine). For the first edge network device in the multi-stage switching network, the core network device in the multi-stage switching network is used as the boundary to divide the receiving side where the first edge network device is located. Assuming that the multi-stage switching network includes n edge network devices, the multi-stage switching network may include n first edge network devices and n second edge network devices. Furthermore, the receiving side where the n first edge network devices are set can be obtained. n is a positive integer.

[0116] Taking the first edge network device T51 as an example, dividing the multi-stage switching network can obtain the receiving side where the first edge network device T51 is located. Fig. 8AAs shown, the receiving side where the first edge network device T51 is located can be regarded as a receiving tree with the first edge network device T51 as the root and multiple first core network devices as leaves.

[0117] like Figure 8B As shown, the sending side where a second edge network device T52 is located and the receiving side where the first edge network device T51 is located have the same core network device. The data sent by the second edge network device passes through the same core network device between the sending side and the receiving side to reach the first edge network device. Secondly, the sending side where the second edge network device T52 is located can be regarded as a sending tree with the second edge network device T52 as the root and multiple first core network devices as leaves.

[0118] For the first edge network device T51, it can receive the data sent by n second edge network devices. In other words, by dividing the multi-stage switching network, in addition to obtaining the receiving side where the first edge network device T51 is located, the sending side where n second edge network devices are located can also be obtained. The receiving side and the sending side can be a 1-to-n correspondence. Figure 8C As shown, a receiving side where a first edge network device is located and a corresponding part of a sending side where a second edge network device is located are shown.

[0119] In the embodiment of the present application, the network topology structure of the receiving side refers to the distribution and connection status of the network devices on the receiving side.

[0120] S72. The receiving end device determines the receiving bandwidth information of multiple first core network devices according to the network topology structure of the receiving side and the transmission bandwidth of multiple receiving links, and marks the receiving bandwidth information with a first identifier representing the first edge network device; the receiving bandwidth information is used to represent the receiving bandwidth ratio of the multiple first core network devices.

[0121] The receiving end device can determine the receiving bandwidth corresponding to each of the multiple first core network devices according to the transmission bandwidth of the multiple receiving links. Then, the receiving end device generates receiving bandwidth information according to the receiving bandwidth corresponding to each of the multiple first core network devices, and marks the receiving bandwidth information with a first identifier.

[0122] It should be noted that, since the first edge network device in the receiving side is the destination of the data transmission, the receiving end device in the receiving side determines the receiving bandwidth corresponding to each of the multiple first core network devices according to the transmission bandwidth of the multiple receiving links. Generally speaking, the transmission bandwidth and the receiving bandwidth of the link are equal, then when the receiving side becomes the sending side, the receiving bandwidth corresponding to each of the multiple first core network devices determined by the receiving end device is also the sending bandwidth corresponding to each of the multiple first core network devices.

[0123] In an embodiment of the present application, the receiving end device can determine multiple receiving bandwidths corresponding to multiple first core network devices based on the network topology structure of the receiving side and the transmission bandwidth of multiple receiving links. Then, the receiving end device generates a receiving bandwidth vector of multiple first core network devices based on multiple preset core identifiers representing the multiple first core network devices and multiple receiving bandwidths corresponding to the multiple first core network devices. The receiving bandwidth vector is the receiving bandwidth information of the multiple first core network devices.

[0124] It should be noted that, for each of the multiple first core network devices, at least one receiving link connected to the first core network device may fail, then the transmission bandwidth of the receiving link that fails is less than its own maximum bandwidth, and the transmission bandwidth of the receiving link that does not fail is equal to its own maximum bandwidth. Since the transmission bandwidth of the receiving link that fails is reduced, the data bandwidth actually transmitted by some receiving links connected to the first core network device is less than their own transmission bandwidth. In this case, the receiving bandwidth corresponding to the first core network device is not necessarily equal to the sum of the transmission bandwidths of all receiving links directly connected to the first core network device. Therefore, the receiving end device can first determine the data bandwidth actually transmitted by all receiving links connected to the first core network device; and then determine the receiving bandwidth corresponding to the first core network device based on the data bandwidth actually transmitted.

[0125] Specifically, the receiving end device can first determine the data bandwidth actually transmitted by the multiple receiving links when the multiple receiving links transmit data based on the network topology of the receiving side and the transmission bandwidth of the multiple receiving links. Then, for each of the multiple first core network devices, determine that the sum of the data bandwidth actually transmitted by all the receiving links directly connected to the first core network device in the multiple receiving links is the receiving bandwidth corresponding to the first core network device.

[0126] In one embodiment, the receiving end device can determine at least one to-be-processed network device on the receiving side according to the network topology of the receiving side and the transmission bandwidth of multiple receiving links. One side of each to-be-processed network device is connected to the first edge network device and the other side is connected to at least one first core network device; and the sum of the transmission bandwidths of the receiving links between each to-be-processed network device and the first edge network device is not equal to the sum of the transmission bandwidths of the receiving links between each to-be-processed network device and at least one first core network device connected thereto.

[0127] Then, the receiving end device can determine the data bandwidth actually transmitted by the receiving link connected to at least one network device to be processed based on the transmission bandwidth of the receiving link connected to at least one network device to be processed in the receiving side, so as to achieve that the sum of the data bandwidth actually transmitted by the receiving link between each network device to be processed and the first edge network device is equal to the sum of the data bandwidth actually transmitted by the receiving link between each network device to be processed and at least one first core network device to which it is connected. The receiving end device can also determine the transmission bandwidth of other receiving links in the receiving side except the receiving link connected to at least one network device to be processed, which is the data bandwidth actually transmitted by other receiving links.

[0128] Exemplarily, the receiving side in a 5-level clos network includes a first edge network device, multiple aggregation network devices, and multiple first core network devices. The receiving end device can determine at least one network device to be processed from multiple aggregation network devices. The sum of the transmission bandwidths Bandwith(i, a) of the receiving links between each network device to be processed and the first edge network device is not equal to the sum of the transmission bandwidths Bandwith(a, s) of the receiving links between the network device to be processed and at least one first core network device connected to it. For each network device to be processed, the receiving end device can use a first preset calculation formula to determine the sum of the actual transmitted data bandwidths Ucmp corresponding to the network device to be processed. The first preset calculation formula is shown in the following formula (1):

[0129] Ucmp=min(Bandwith(i,a),Bandwith(a,s)) (1)

[0130] Then, the receiving end device can determine the data bandwidth actually transmitted by the receiving link connected to the network device to be processed based on the sum of the data bandwidth actually transmitted corresponding to the network device to be processed, so that the sum of the data bandwidth actually transmitted by the receiving link between the network device to be processed and the first edge network device is equal to the sum of the data bandwidth actually transmitted by the receiving link between the network device to be processed and at least one first core network device connected to it.

[0131] In an embodiment of the present application, all core network devices in the multi-stage switching network are pre-configured with a corresponding identifier (which may be referred to as a preset core identifier). All core network devices include multiple first core network devices. Among them, the preset core identifier may be a number, and the numbers corresponding to all core network devices are continuous. The preset core identifier may be pre-configured by a receiving end device in any first edge network device in the multi-stage switching network.

[0132] For example, when the core network device is a router, the preset core identifier may be an identification number (router-id) of the router.

[0133] Furthermore, the receiving bandwidth vectors of the multiple first core network devices generated by the receiving end device may include: multiple preset core identifiers of the multiple first core network devices, and multiple receiving bandwidths corresponding to the multiple first core network devices. Alternatively, the receiving bandwidth vectors of the multiple first core network devices may include multiple receiving bandwidths sorted according to the multiple preset core identifiers.

[0134] Exemplarily, it is assumed that multiple preset core identifiers of multiple first core network devices may include: s1, s2, s3, s4, s5, s6; and multiple receiving bandwidths corresponding to s1, s2, s3, s4, s5 and s6 may include: 25, 50, 50, 50, 30, 30. Wherein, the numbers corresponding to all core network devices are continuous, then the receiving end device can generate a receiving bandwidth vector (25, 50, 50, 50, 30, 30) according to the order of the numbers of all core network devices from front to back. The receiving bandwidth vector records the multiple receiving bandwidths corresponding to the multiple first core network devices in sequence from the numbering from front to back. Furthermore, after the receiving end device sends the receiving bandwidth vector marked with the first identifier to the sending end device, the sending end device can determine the multiple receiving bandwidths corresponding to the multiple first core network devices from the receiving bandwidth vector marked with the first identifier according to the order of the multiple numbers of the multiple first core network devices from front to back. Then, the receiving bandwidth ratio of the multiple first core network devices can be determined according to the multiple receiving bandwidths.

[0135] Alternatively, the receiving bandwidth vector generated by the receiving end device may be: (s1, s2, s3, s4, s5, s6) = (25, 50, 50, 50, 30, 30). The receiving bandwidth vector represents the correspondence between multiple preset core identifiers and multiple receiving bandwidths.

[0136] S73. The receiving end device sends the marked receiving bandwidth information to the second edge network device; wherein the marked receiving bandwidth information is used to indicate that data is sent to the first edge network device according to the marked receiving bandwidth information.

[0137] The receiving end device can send the marked receiving bandwidth information to the sending end device in the second edge network device. Since the marked receiving bandwidth information can represent the receiving bandwidth ratio of multiple first core network devices, when the sending end device sends data to the first edge network device, it can control the data bandwidth sent to the multiple first core network devices according to the marked receiving bandwidth information, so that the ratio of the data bandwidth received by the multiple first core network devices is equal to the receiving bandwidth ratio of the multiple first core network devices.

[0138] In an embodiment of the present application, the receiving end device may obtain a pre-stored edge network device list. The edge network device list records edge identifiers of all edge network devices in a multi-level switching network. All edge network devices in the edge network device list may be first edge network devices or second edge network devices. The receiving end device may send marked receiving bandwidth information to all edge network devices in the edge network device list according to the edge network device list.

[0139] When each edge network device in the multi-stage switching network publishes the local route, it carries the attribute information of the edge network device in the routing information. The attribute information includes the edge identifier of the edge network device. Furthermore, the receiving end device in each edge network device in the multi-stage switching network can obtain the attribute information of all edge network devices in the multi-stage switching network. Then, the receiving end device in each edge network device generates the above-mentioned edge network device list using the attribute information of all edge network devices, and stores the edge network device list.

[0140] It can be understood that since the receiving end device only obtains the transmission bandwidth of multiple receiving links in the network topology structure of the receiving side where it is located, it is not necessary to obtain the transmission bandwidth of all links in the entire network. Compared with the transmission bandwidth of all links in the entire network, the number of transmission bandwidths of multiple receiving links in the receiving side where the receiving end device is located is very small. Therefore, it can be seen that the receiving end device only obtains the transmission bandwidth of multiple receiving links, which reduces the number of transmission bandwidths. Then, the receiving end device determines the receiving bandwidth information of multiple first core network devices based on the transmission bandwidth of multiple receiving links. Compared with calculating the ratio of the data bandwidth actually transmitted by all links in the entire network based on the transmission bandwidth of all links in the entire network, the amount of calculation required to determine the receiving bandwidth information of multiple first core network devices based on the transmission bandwidth of multiple receiving links is smaller.

[0141] In summary, the bandwidth determination method provided in the embodiment of the present application reduces the amount of transmitted bandwidth and also reduces the amount of bandwidth calculation, thereby quickly determining the receiving bandwidth information of multiple first core network devices.

[0142] Furthermore, the receiving end device can quickly send the marked receiving bandwidth information to the second edge network device. Since the marked receiving bandwidth information is used to indicate that data is sent to the first edge network device according to the marked receiving bandwidth information, and the marked receiving bandwidth information is used to characterize the receiving bandwidth ratio of multiple first core network devices, the second edge network device can determine the sending bandwidth ratio of multiple sending links when sending data to the first edge network device based on the marked receiving bandwidth information. Compared with obtaining the transmission bandwidth of all links between the first edge network device and the second edge network device, the second edge network device only obtains the receiving bandwidth information of multiple first core network devices, and the number of bandwidths transmitted from the first edge network device to the second edge network device is less, and the complexity of bandwidth transmission is lower. Furthermore, the second edge network device can quickly obtain the marked receiving bandwidth information to determine the sending bandwidth ratio of multiple sending links when sending data to the first edge network device. Therefore, it can be seen that the bandwidth determination method provided in the embodiment of the present application also improves the determination speed of the sending bandwidth ratio.

[0143] In an embodiment of the present application, the receiving end is set to update the transmission bandwidth of multiple receiving links in the network topology structure of the receiving side after S73 when it is determined that at least one of the network topology structure of the receiving side and the transmission bandwidth of the receiving link has changed. Then, the receiving end is set to redetermine the receiving bandwidth information corresponding to multiple first core network devices based on the transmission bandwidth of multiple receiving links in the updated network topology structure of the receiving side. If the redetermined receiving bandwidth information is different from the receiving bandwidth information, the receiving end is set to mark the redetermined receiving bandwidth information with a first identifier, and send the marked receiving bandwidth information to the second edge network device. If the redetermined receiving bandwidth information is the same as the receiving bandwidth information, no operation is performed.

[0144] S74: The transmitting device receives the marked receiving bandwidth information from the receiving device.

[0145] The marked receiving bandwidth information is marked with a first identifier representing the first edge network device, and the marked receiving bandwidth information is used to represent the receiving bandwidth ratio of multiple first core network devices.

[0146] In the embodiment of the present application, the transmitting end device in the second edge network device receives the marked receiving bandwidth information sent by the receiving end device in the first edge network device. Furthermore, the second edge network device can receive multiple marked receiving bandwidth information sent by multiple first edge network devices, and store the multiple marked receiving bandwidth information.

[0147] The first identifiers marked by different marked receiving bandwidth information are different.

[0148] S75: When receiving an instruction to send data to the first edge network device, the sending end device obtains a sending-side network topology structure between the second edge network device and the plurality of first core network devices.

[0149] The sending end device can obtain the network topology structure of the sending side in response to the instruction to send data to the first edge network device. The sending end device can also obtain the transmission bandwidth of multiple sending links in the network topology structure of the sending side.

[0150] S76. The sending end device determines the sending bandwidth ratio of multiple sending links in the network topology structure of the sending side according to the marked receiving bandwidth information.

[0151] The transmission bandwidth ratio of multiple transmission links is used to indicate that the second edge network device sends data to the first edge network device according to the transmission bandwidth ratio of multiple transmission links, and the ratio of the data bandwidths sent by the second edge network device to multiple first core network devices according to the transmission bandwidth ratio of multiple transmission links is equal to the receiving bandwidth ratio of multiple first core network devices. The marked receiving bandwidth information is marked with a first identifier representing the first edge network device.

[0152] In an embodiment of the present application, the transmitting end device may first determine the transmission bandwidth ratio of the first transmission link according to the network topology of the transmitting side and the marked receiving bandwidth information. The first transmission link is all transmission links directly connected to multiple first core network devices among multiple transmission links. Then, the transmitting end device determines the transmission bandwidth ratio of the second transmission link according to the transmission bandwidth ratio of the first transmission link. The second transmission link is all transmission links indirectly connected to multiple first core network devices among multiple transmission links. The transmission bandwidth ratio of multiple transmission links may include: the transmission bandwidth ratio of the first transmission link and the transmission bandwidth ratio of the second transmission link.

[0153] The first transmission link may be referred to as a first-layer transmission link. The second transmission link may include a second-layer transmission link, and may also include a third-layer transmission link, a fourth-layer transmission link, and the like. The second-layer transmission link includes a transmission link with one network device between multiple first core network devices. The third-layer transmission link includes a transmission link with two network devices between multiple first core network devices. The fourth-layer transmission link includes a transmission link with three network devices between multiple first core network devices.

[0154] In this case, the transmitting end device can determine the transmission bandwidth ratio of the second layer transmission link according to the transmission bandwidth ratio of the first transmission link; and then determine the transmission bandwidth ratio of the third layer transmission link according to the transmission bandwidth ratio of the second layer transmission link. By analogy, the transmitting end device determines the transmission bandwidth ratio of the i+1 layer transmission link according to the transmission bandwidth ratio of the i layer transmission link. Wherein, i takes values ​​in {1, ..., I} in sequence, I is the total number of transmission links included in the second transmission link, and I is a positive integer.

[0155] It can be understood that the transmitting device receives the marked receiving bandwidth information sent by the receiving device. Among them, the marked receiving bandwidth information received by the transmitting device from the receiving device is the receiving bandwidth information of multiple first core network devices. Compared with the transmission bandwidth of all links between the first edge network device and the second edge network device, the data volume of the receiving bandwidth information of multiple first core network devices is smaller, so the amount of bandwidth transmitted by the receiving device to the transmitting device is less, and the complexity of bandwidth transmission is lower.

[0156] Secondly, the sending end device determines the sending bandwidth ratio of multiple sending links in the sending side according to the marked receiving bandwidth information and the network topology of the sending side between the second edge network device and the multiple first core network devices. Compared with determining the sending bandwidth of all links between the first edge network device and the second edge network device, determining the sending bandwidth ratio of multiple sending links in the sending side requires less calculation.

[0157] In summary, the above scheme reduces the amount of bandwidth transmitted from the receiving device to the sending device, reduces the complexity of bandwidth transmission, and reduces the amount of calculation of the sending bandwidth ratio. Therefore, the sending device can determine the sending bandwidth ratio more quickly, that is, the speed of determining the sending bandwidth ratio is improved.

[0158] In addition, since the multiple first core network devices receive data and send the received data to the first edge network device through multiple receiving links, when the receiving end device determines the receiving bandwidth information of the multiple first core network devices according to the transmission bandwidth of the multiple receiving links, it can ensure that when the multiple first core network devices receive data that meets the requirements of the receiving bandwidth information, the transmission bandwidth of the multiple receiving links can share the data bandwidth received by the multiple first core network devices. Secondly, since the ratio of the data bandwidth sent by the second edge network device to the multiple first core network devices according to the transmission bandwidth ratio of the multiple transmission links is equal to the receiving bandwidth ratio of the multiple first core network devices, it can be known that the second edge network device can send data that meets the requirements of the receiving bandwidth information to the multiple first core network devices according to the transmission bandwidth ratio.

[0159] When multiple first core network devices receive data that meets the requirements of the receiving bandwidth information, the transmission bandwidth of multiple receiving links can share the data bandwidth received by multiple first core network devices, so multiple receiving links on the receiving side will not be congested, and packet loss caused by congestion will not occur. This avoids the problem of reduced data bandwidth actually transmitted by multiple receiving links caused by packet loss, and can increase the data bandwidth completed by multiple receiving links, that is, improve the switching capacity of the network.

[0160] In the embodiment of the present application, the transmitting end device may obtain the transmission bandwidths of the multiple transmission links after S76, and then determine the multiple actual transmission bandwidths of the multiple transmission links according to the transmission bandwidths of the multiple transmission links and the transmission bandwidth ratios of the multiple transmission links.

[0161] Furthermore, after the transmitting end device determines multiple actual transmission bandwidths of multiple transmission links, it can send data to the first edge network device according to the multiple actual transmission bandwidths.

[0162] The actual transmission bandwidth of each transmission link is less than or equal to the transmission bandwidth of the transmission link, and the ratio of multiple actual transmission bandwidths of multiple transmission links is equal to the transmission bandwidth ratio of multiple transmission links. The multiple actual transmission bandwidths of multiple transmission links are used to instruct the second edge network device to send data to the first edge network device according to the multiple actual transmission bandwidths of the multiple transmission links.

[0163] It can be understood that since the ratio of multiple actual sending bandwidths is equal to the sending bandwidth ratio, the second edge network device sends data to the first edge network device according to the multiple actual sending bandwidths, and the ratio of the data bandwidths sent to multiple first core network devices is also equal to the receiving bandwidth ratio of multiple first core network devices.

[0164] For example, Fig. 9AThe multi-stage switching network shown may include: a first edge network device leaf1, a second edge network device leaf2, a first core network device spine1, a first core network device spine2, a first core network device spine3, a first core network device spine4, a first core network device spine5, and a first core network device spine6. With these first core network devices as the boundary, the multi-stage switching network can be divided into a receiving side between the first edge network device leaf1 and these first core network devices, and a sending side between the second edge network device leaf2 and these first core network devices. The receiving side includes the first edge network device leaf1, the aggregation network device agg11, the aggregation network device agg12, the aggregation network device agg13, and these first core network devices. The sending side includes the second edge network device leaf2, the aggregation network device agg21, the aggregation network device agg22, and these first core network devices.

[0165] The receiving side can be regarded as a receiving tree with leaf1 as the root and spine1, spine2, spine3, spine4, spine5 and spine6 as leaves. The sending side can be regarded as a sending tree with leaf2 as the root and spine1, spine2, spine3, spine4, spine5 and spine6 as leaves.

[0166] against Fig. 9A In the multi-stage switching network, the receiving device can obtain the network topology of the receiving side and the transmission bandwidth of all receiving links in the network topology of the receiving side. Fig. 9B The transmission bandwidth of all receiving links on the receiving side is shown. It can be seen that the receiving link between agg11 and spine1 fails, causing the transmission bandwidth of the receiving link between agg11 and spine1 to drop from 50G to 25G. The receiving link between leaf1 and agg13 fails, causing the transmission bandwidth of the receiving link between leaf1 and agg13 to drop from 100G to 60G.

[0167] Secondly, if there are multiple aggregation network devices between the first edge network device leaf1 and these first core network devices, the receiving end device can determine whether each aggregation network device is a network device to be processed. Taking an aggregation network device a11 as an example, the receiving end device can determine that the sum of the transmission bandwidths of the receiving links between agg11 and leaf1 is equal to 100G, and the sum of the transmission bandwidths of the receiving links between agg11 and spine1 and spine2 connected to it is 75G. Since 100G is not equal to 75G, the receiving end device can determine that agg11 is a network device to be processed. The receiving end device can determine that the sum of the actual transmitted data bandwidths corresponding to agg11, Ucmp(agg11), is 75G according to the first preset calculation formula. The calculation formula of Ucmp(agg11) is shown in the following formula (2):

[0168] Ucmp(agg11)=min(100G, 75G) (2)

[0169] Similarly, the receiving device can also determine that agg13 is a network device to be processed, and can also determine that the sum of the actual transmitted data bandwidth corresponding to agg13 Ucmp(agg11) is 60G.

[0170] Then, the receiving end device can determine the actual data bandwidth transmitted by the receiving link connected to agg11 based on the sum of the actual data bandwidths transmitted corresponding to agg11. Specifically, the receiving end device can determine that the actual data bandwidth transmitted by the receiving link between agg11 and leaf1 is 75G, that the actual data bandwidth transmitted by the receiving link between agg11 and spine1 is equal to the transmission bandwidth, and that the actual data bandwidth transmitted by the receiving link between agg11 and spine2 is equal to the transmission bandwidth, such as Fig. 9C shown.

[0171] The receiving device can also determine the actual data bandwidth of the receiving link connected to agg13 based on the sum of the actual data bandwidths corresponding to agg13. Specifically, the receiving device can determine that the actual data bandwidth of the receiving link between agg13 and spine5 is 30G, that the actual data bandwidth of the receiving link between agg13 and spine6 is 30G, and that the actual data bandwidth of the receiving link between agg13 and leaf1 is equal to the transmission bandwidth. Fig. 9C shown.

[0172] The receiving end device can also determine the transmission bandwidth of other receiving links in the receiving side except the receiving link connected to the network device to be processed, which is the data bandwidth actually transmitted by other receiving links. Specifically, other receiving links include: the receiving link between agg11 and leaf1, the receiving link between agg11 and spine1, and the receiving link between agg11 and spine2.

[0173] Finally, the receiving end device can determine that the sum of the data bandwidth actually transmitted by all receiving links directly connected to each first core network device is the receiving bandwidth corresponding to the first core network device. Specifically, the receiving end device can determine that the receiving bandwidth corresponding to spine1 is 25G, the receiving bandwidth corresponding to spine2 is 50G, the receiving bandwidth corresponding to spine3 is 50G, the receiving bandwidth corresponding to spine4 is 50G, the receiving bandwidth corresponding to spine5 is 30G, and the receiving bandwidth corresponding to spine6 is 30G.

[0174] It should be noted that all edge network devices and all aggregation network devices in a multi-stage switching network can be divided into multiple network device groups (such as Pod0, Pod1) according to the areas where they are located. Each network device group includes at least one edge network device and at least one aggregation network device. Any aggregation network device in any network device group connects all edge network devices in the network device group. Assuming that the network device group where the above-mentioned aggregation network device agg11 is located includes m edge network devices, and the m edge network devices include the first edge network device leaf1, the transmission bandwidth of the receiving link between agg11 and spine1 contained in the receiving side where leaf1 is located is equal to Bandwith(agg11, spine1) / m. Among them, Bandwith(agg11, spine1) is the total transmission bandwidth of the receiving link between agg11 and spine1.

[0175] It should be noted that, generally speaking, Fig.9D As shown, the sending bandwidth and receiving bandwidth of any link are equal. For example, when the link is implemented using optical fiber, the sending bandwidth of the optical fiber is equal to the receiving bandwidth. Then, if Fig. 9C When the receiving side where the first edge network device leaf1 is located becomes the sending side, the sending bandwidth of the sending link in the sending side where the first edge network device leaf1 is located is also equal to the data bandwidth actually transmitted by the above-mentioned receiving link, and it can be obtained Fig.9E The transmission bandwidth of the transmission link in the transmission side is shown.

[0176] The receiving device can then Fig. 9CThe receiving bandwidths corresponding to the multiple first core network devices in the receiving side shown in the figure, and the order of the numbers of the multiple first core network devices from front to back, generate a receiving bandwidth vector of (25, 50, 50, 50, 30, 30). The order of the numbers of the multiple first core network devices from front to back is: spine1, spine2, spine3, spine4, spine5, spine6. Fig. 9A As shown in , the receiving end device can mark the identification of the first edge network device leaf1 (eg, leaf1) on the receiving bandwidth vector, and send the marked receiving bandwidth vector to the sending end device in the second edge network device leaf2.

[0177] In addition to the second edge network device leaf2, if the multi-stage switching network also includes other edge network devices except the second edge network device leaf2, the receiving end device may also send the marked receiving bandwidth vector to the other edge network devices.

[0178] After the sending end device in the second edge network device leaf2 receives the marked receiving bandwidth vector sent by the first edge network device leaf1, the sending side network topology between the second edge network device leaf2 and the first core network devices can be obtained. Then, the sending end device determines the sending bandwidth ratio of multiple sending links in the sending side network topology according to the marked receiving bandwidth vector.

[0179] like Fig.9F As shown, the transmitting end device can first determine the transmission bandwidth ratio of the first transmission link between the second edge network device leaf2 and the first core network devices according to the marked receiving bandwidth vector: spine1:spine2:spine3:spine4:spine5:spine6=25G:50G:50G:50G:30G:30G. The transmitting end device can then determine the transmission bandwidth ratio of the second transmission link between the second edge network device leaf2 and the first core network devices according to the transmission bandwidth ratio of the first transmission link: agg21:agg22=125G:110G. Among them, 125G=25G+50G+50G, 110G=50G+30G+30G.

[0180] In the present application embodiment, Fig.10As shown, the receiving device 101 may include: a topology and bandwidth collection module 1011, a receiving calculation module 1012, and a broadcast module 1013. The sending device 102 may include: a broadcast receiving and topology receiving module 1021, a topology collection module 1022, and a sending calculation module 1023. The receiving device 101 is connected to the sending device 102. The embodiment of the present application provides a bandwidth determination method applied to the receiving device 101 and the sending device 102. Fig.11 As shown, S71 in the method includes S111. S72 in the method includes S112-S113. S73 in the method includes S114. S74 in the method includes S115. S75 in the method includes S116. S76 in the method includes S117. The method also includes S118-S1111.

[0181] S111. The topology and bandwidth collection module 1011 obtains a network topology structure of a receiving side between a first edge network device and a plurality of first core network devices, and a transmission bandwidth of a plurality of receiving links in the network topology structure of the receiving side.

[0182] S112. The receiving calculation module 1012 determines a plurality of receiving bandwidths corresponding to a plurality of first core network devices according to the network topology structure of the receiving side and the transmission bandwidths of a plurality of receiving links.

[0183] S113. The receiving calculation module 1012 generates a receiving bandwidth vector of multiple first core network devices according to multiple preset core identifiers representing multiple first core network devices and multiple receiving bandwidths, and marks the receiving bandwidth vector with a first identifier representing the first edge network device.

[0184] S114 . The broadcast module 1013 sends the marked receiving bandwidth vector to the broadcast receiving and topology receiving module 1021 according to the pre-stored edge network device list.

[0185] The pre-stored edge network device list includes: the second edge network device to which the sending end device 102 belongs. The pre-stored edge network device list may also include: other second edge network devices except the second edge network device to which the sending end device 102 belongs. In addition to sending the marked receiving bandwidth vector to the broadcast receiving and topology receiving module 1021 in the sending end device 102, the broadcast module 1013 also sends the marked receiving bandwidth vector to other second edge network devices.

[0186] S115 , the broadcast receiving and topology receiving module 1021 receives the marked receiving bandwidth vector from the broadcast module 1013 .

[0187] S116. When receiving an instruction to send data to the first edge network device, the topology collection module 1022 obtains a network topology structure of a sending side between the second edge network device and the plurality of first core network devices.

[0188] S117. The sending calculation module 1023 determines the sending bandwidth ratios of multiple sending links in the network topology structure of the sending side according to the marked receiving bandwidth vector.

[0189] S118. When determining that at least one of the network topology structure of the receiving side and the transmission bandwidth of the receiving link has changed, the topology and bandwidth collection module 1011 updates the transmission bandwidths of multiple receiving links in the network topology structure of the receiving side.

[0190] S119. The receiving calculation module 1012 re-determines the receiving bandwidth vector corresponding to the first core network device according to the transmission bandwidths of multiple receiving links in the updated network topology structure of the receiving side.

[0191] S1110: If the re-determined receiving bandwidth vector is different from the receiving bandwidth vector, the receiving calculation module 1012 marks a first identifier on the re-determined receiving bandwidth vector.

[0192] S1111. The broadcast module 1013 sends the marked receiving bandwidth vector to the second edge network device.

[0193] Furthermore, after receiving the marked receiving bandwidth vector, the transmitting end device 102 continues to execute S115 to S117.

[0194] If the re-determined receiving bandwidth vector is the same as the receiving bandwidth vector, the re-determined receiving bandwidth vector is not sent.

[0195] It is understandable that, in order to realize the above functions, the above-mentioned receiving end device and the transmitting end device etc. include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the embodiments of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiments of the present application.

[0196] The embodiment of the present application can divide the functional modules of the above-mentioned receiving end device and the transmitting end device according to the above-mentioned method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0197] In the case of dividing each functional module according to each function, the embodiment of the present application provides a receiving end device 101. The receiving end device 101 belongs to a multi-stage switching network, and the multi-stage switching network includes a first edge network device, a second edge network device and multiple core network devices; the first edge network device and the second edge network device are connected through multiple paths, and any path includes a core network device. Fig.10 As shown, the receiving end device 101 may include: a topology and bandwidth collection module 1011 , a receiving calculation module 1012 and a broadcast module 1013 .

[0198] Among them, the topology and bandwidth collection module 1011 is used to obtain the network topology structure of the receiving side between the first edge network device and multiple first core network devices, and the transmission bandwidth of multiple receiving links in the network topology structure of the receiving side. The receiving calculation module 1012 is used to determine the receiving bandwidth information of multiple first core network devices based on the network topology structure of the receiving side and the transmission bandwidth of multiple receiving links, and mark the receiving bandwidth information with the first identifier representing the first edge network device. The broadcast module 1013 is used to send the marked receiving bandwidth information to the second edge network device.

[0199] The first core network device is a core network device among the multiple core network devices that is connected to the first edge network device and the second edge network device. The receiving bandwidth information is used to characterize the receiving bandwidth ratio of the multiple first core network devices. The marked receiving bandwidth information is used to indicate that data is sent to the first edge network device according to the marked receiving bandwidth information.

[0200] In a possible implementation, the topology and bandwidth collection module 1011 is also used to update the transmission bandwidth of multiple receiving links in the network topology structure of the receiving side after sending the marked receiving bandwidth information to the second edge network device, when it is determined that at least one of the network topology structure of the receiving side and the transmission bandwidth of the receiving link has changed. The receiving calculation module 1012 is also used to redetermine the receiving bandwidth information of multiple first core network devices based on the transmission bandwidth of multiple receiving links in the updated network topology structure of the receiving side; if the redetermined receiving bandwidth information is different from the receiving bandwidth information, mark the redetermined receiving bandwidth information with a first identifier. The broadcast module 1013 is also used to send the marked receiving bandwidth information to the second edge network device.

[0201] In another possible implementation, the receiving calculation module 1012 is specifically used to: determine multiple receiving bandwidths corresponding to multiple first core network devices according to the network topology structure of the receiving side and the transmission bandwidths of multiple receiving links; and generate receiving bandwidth vectors of multiple first core network devices according to multiple preset core identifiers representing the multiple first core network devices and multiple receiving bandwidths corresponding to the multiple first core network devices. The receiving bandwidth vector is the receiving bandwidth information.

[0202] In another possible implementation, the receiving calculation module 1012 is specifically used to: determine, based on the network topology of the receiving side and the transmission bandwidth of the multiple receiving links, the data bandwidth actually transmitted by the multiple receiving links when the multiple receiving links are transmitting data; and for each first core network device among the multiple first core network devices, determine that the sum of the data bandwidth actually transmitted by all receiving links directly connected to the first core network device among the multiple receiving links is the receiving bandwidth corresponding to the first core network device.

[0203] Of course, the above-mentioned receiving end device 101 includes but is not limited to the unit modules listed above. For example, the receiving end device 101 may also include a storage unit for storing the transmission bandwidth of the receiving link. In addition, the specific functions that can be implemented by the above-mentioned functional units also include but are not limited to the functions corresponding to the method steps described in the above examples. The detailed description of other units of the receiving end device 101 can refer to the detailed description of the corresponding method steps, and the embodiments of the present application will not be repeated here.

[0204] In the case of adopting an integrated unit, the topology and bandwidth collection module 1011 and the receiving calculation module 1012 etc. can be integrated into one processing module, and the broadcast module 1013 can be a communication circuit of the receiving device 101 .

[0205] The present application also provides a receiving device, which may include a processor and a memory. The memory is used to store computer program code, and the computer program code includes computer instructions. The processor is used to run the computer instructions so that the receiving device performs the functions or steps performed by the receiving device in the above method embodiment. The hardware structure of the receiving device can refer to the above embodiment. Figure 6 The detailed introduction of the receiving end device shown in the figure will not be repeated here in the embodiment of the present application.

[0206] In the case of dividing each functional module according to each function, the embodiment of the present application provides a sending end device 102. The sending end device 102 belongs to a multi-stage switching network, and the multi-stage switching network includes a first edge network device, a second edge network device, and multiple core network devices; the first edge network device and the second edge network device are connected through multiple paths, and any path includes a core network device. Fig.10 As shown, the sending end device 102 may include: a broadcast receiving and topology receiving module 1021 , a topology collecting module 1022 and a sending calculation module 1023 .

[0207] Among them, the broadcast receiving and topology receiving module 1021 is used to receive the marked receiving bandwidth information from the receiving end device. The topology collection module 1022 is used to obtain the network topology structure of the sending side between the second edge network device and multiple first core network devices when receiving an instruction to send data to the first edge network device. The sending calculation module 1023 is used to determine the sending bandwidth ratio of multiple sending links in the network topology structure of the sending side according to the marked receiving bandwidth information.

[0208] Among them, the first core network device is a core network device that connects the first edge network device and the second edge network device among multiple core network devices. The marked receiving bandwidth information is marked with a first identifier representing the first edge network device, and is used to represent the receiving bandwidth ratio of multiple first core network devices. The sending bandwidth ratio of multiple sending links is used to indicate that the second edge network device sends data to the first edge network device according to the sending bandwidth ratio of multiple sending links, and the ratio of the data bandwidth sent by the second edge network device to multiple first core network devices according to the sending bandwidth ratio of multiple sending links is equal to the receiving bandwidth ratio of multiple first core network devices.

[0209] In a possible implementation, the sending calculation module 1023 is specifically used to: determine the sending bandwidth ratio of the first sending link according to the network topology of the sending side and the marked receiving bandwidth information; determine the sending bandwidth ratio of the second sending link according to the sending bandwidth ratio of the first sending link.

[0210] The first transmission link is all transmission links directly connected to the multiple first core network devices among the multiple transmission links. The second transmission link is all transmission links indirectly connected to the multiple first core network devices among the multiple transmission links. The transmission bandwidth ratio of the multiple transmission links includes: the transmission bandwidth ratio of the first transmission link and the transmission bandwidth ratio of the second transmission link.

[0211] In another possible implementation, the sending calculation module 1023 is further used to: after determining the sending bandwidth ratio of multiple sending links in the network topology structure of the sending side according to the marked receiving bandwidth information, obtain the transmission bandwidth of the multiple sending links; determine multiple actual sending bandwidths of the multiple sending links according to the transmission bandwidths and the sending bandwidth ratio of the multiple sending links.

[0212] The actual transmission bandwidth of each transmission link is less than or equal to the transmission bandwidth of the transmission link, and the ratio of multiple actual transmission bandwidths of multiple transmission links is equal to the transmission bandwidth ratio. The multiple actual transmission bandwidths of multiple transmission links are used to instruct the second edge network device to send data to the first edge network device according to the multiple actual transmission bandwidths of the multiple transmission links.

[0213] In the case of adopting an integrated unit, the topology collection module 1022 and the sending calculation module 1023 can be integrated into one processing module, and the broadcast receiving and topology receiving module 1021 can be a communication circuit of the sending end device 102.

[0214] The present application also provides a transmitting device, which includes a processor and a memory. The memory is used to store computer program code, and the computer program code includes computer instructions; the processor is used to run the computer instructions, so that the transmitting device performs the functions or steps performed by the transmitting device in the above method embodiment. The hardware structure of the transmitting device can refer to the above embodiment. Figure 6 The detailed introduction of the sending end device shown in the figure will not be repeated here in the embodiment of the present application.

[0215] The present application also provides a computer-readable storage medium, on which a computer instruction is stored. When the computer instruction is received by a receiving device (such as Figure 6 The receiving device shown, Fig.10When the computer readable storage medium is executed on the receiving end device 101 shown in the figure, the receiving end device executes each function or step executed by the receiving end device in the above method embodiment. For example, the computer readable storage medium can be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.

[0216] The present application also provides a computer program product, including one or more computer instructions, which can be executed on a receiving device (such as Figure 6 The receiving device shown, Fig.10 The receiving device 101 is run on the receiving device 101 shown in the figure, so that the receiving device executes each function or step executed by the receiving device in the above method embodiment.

[0217] The present application also provides a computer-readable storage medium, on which a computer instruction is stored. When the computer instruction is sent to a sending end device (such as Figure 6 The sending device shown, Fig.10 When the computer readable storage medium is executed on the sending end device 102 shown in the figure, the sending end device performs each function or step performed by the sending end device in the above method embodiment. For example, the computer readable storage medium can be a ROM, RAM, CD-ROM, magnetic tape, floppy disk and optical data storage device.

[0218] The present application also provides a computer program product, including one or more computer instructions, which can be executed on a sending end device (such as Figure 6 The sending device shown, Fig.10 The sending end device 102 is run on the sending end device 102 shown in the figure, so that the sending end device executes each function or step executed by the sending end device in the above method embodiment.

[0219] Among them, the receiving device, sending device, computer-readable storage medium or computer program product provided in this application are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

[0220] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0221] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0222] The units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0223] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0224] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard drives, ROM, RAM, magnetic disks or optical disks.

[0225] The above contents are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application shall be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims

1. A bandwidth determination method, characterized in that: Applied to a receiving end device, the receiving end device belongs to a multi-stage switching network, the multi-stage switching network includes a first edge network device, a second edge network device and a plurality of core network devices; the first edge network device and the second edge network device are connected via a plurality of paths, any one of the paths includes one of the core network devices; Wherein, the method comprises: Acquire a network topology structure of a receiving side between the first edge network device and a plurality of first core network devices, and a transmission bandwidth of a plurality of receiving links in the network topology structure of the receiving side; wherein the first core network device is a core network device among the plurality of core network devices that connects the first edge network device and the second edge network device; Determine the receiving bandwidth information of the multiple first core network devices according to the network topology of the receiving side and the transmission bandwidth of the multiple receiving links, and mark the receiving bandwidth information with a first identifier representing the first edge network device; the receiving bandwidth information is used to represent the receiving bandwidth ratio of the multiple first core network devices; The marked receiving bandwidth information is sent to the second edge network device; wherein the marked receiving bandwidth information is used to indicate that data is sent to the first edge network device according to the marked receiving bandwidth information.

2. The method according to claim 1, characterized in that After sending the marked receiving bandwidth information to the second edge network device, the method further includes: When it is determined that at least one of the network topology structure of the receiving side and the transmission bandwidth of the receiving link has changed, updating the transmission bandwidths of multiple receiving links in the network topology structure of the receiving side; Re-determining the receiving bandwidth information of the plurality of first core network devices according to the transmission bandwidth of the plurality of receiving links in the updated network topology structure of the receiving side; If the re-determined receiving bandwidth information is different from the receiving bandwidth information, the re-determined receiving bandwidth information is marked with the first identifier, and the marked receiving bandwidth information is sent to the second edge network device.

3. The method according to claim 1 or 2, characterized in that: The determining, according to the network topology of the receiving side and the transmission bandwidth of the plurality of receiving links, the receiving bandwidth information of the plurality of first core network devices comprises: Determine a plurality of receiving bandwidths corresponding to the plurality of first core network devices according to the network topology structure of the receiving side and the transmission bandwidths of the plurality of receiving links; A receiving bandwidth vector of the multiple first core network devices is generated according to multiple preset core identifiers representing the multiple first core network devices and multiple receiving bandwidths corresponding to the multiple first core network devices; the receiving bandwidth vector is the receiving bandwidth information.

4. The method according to claim 3, characterized in that The determining, according to the network topology of the receiving side and the transmission bandwidths of the multiple receiving links, multiple receiving bandwidths corresponding to the multiple first core network devices includes: Determining, according to the network topology of the receiving side and the transmission bandwidth of the multiple receiving links, the data bandwidth actually transmitted by the multiple receiving links when the multiple receiving links transmit data; For each of the multiple first core network devices, determine that the sum of the data bandwidths actually transmitted by all the receiving links directly connected to the first core network device among the multiple receiving links is the receiving bandwidth corresponding to the first core network device.

5. A bandwidth determination method, characterized in that: Applied to a sending end device, the sending end device belongs to a multi-stage switching network, the multi-stage switching network includes a first edge network device, a second edge network device and a plurality of core network devices; The first edge network device and the second edge network device are connected via a plurality of paths, any one of the paths including one of the core network devices; Wherein, the method comprises: Receiving marked receiving bandwidth information from a receiving end device; wherein the first core network device is a core network device among the multiple core network devices that is connected to the first edge network device and the second edge network device; the marked receiving bandwidth information is marked with a first identifier representing the first edge network device, and is used to represent the receiving bandwidth ratio of multiple first core network devices; Upon receiving an instruction to send data to the first edge network device, obtaining a network topology structure of a sending side between the second edge network device and the plurality of first core network devices; Determining, according to the marked receiving bandwidth information, a transmission bandwidth ratio of multiple transmission links in the network topology structure of the transmitting side; Among them, the sending bandwidth ratio of the multiple sending links is used to indicate that the second edge network device sends data to the first edge network device according to the sending bandwidth ratio of the multiple sending links, and the ratio of the data bandwidths sent by the second edge network device to the multiple first core network devices according to the sending bandwidth ratio of the multiple sending links is equal to the receiving bandwidth ratio of the multiple first core network devices.

6. The method according to claim 5, characterized in that The step of determining the transmission bandwidth ratio of multiple transmission links in the network topology structure of the transmission side according to the marked reception bandwidth information includes: Determine a transmission bandwidth ratio of a first transmission link according to the network topology of the transmission side and the marked receiving bandwidth information; wherein the first transmission link is all transmission links among the multiple transmission links that are directly connected to the multiple first core network devices; According to the transmission bandwidth ratio of the first transmission link, the transmission bandwidth ratio of the second transmission link is determined; wherein the second transmission link is all the transmission links among the multiple transmission links that are indirectly connected to the multiple first core network devices; the transmission bandwidth ratios of the multiple transmission links include: the transmission bandwidth ratio of the first transmission link and the transmission bandwidth ratio of the second transmission link.

7. The method according to claim 5 or 6, characterized in that: After determining the transmission bandwidth ratios of multiple transmission links in the network topology structure of the transmission side according to the marked reception bandwidth information, the method further includes: Acquire the transmission bandwidths of the multiple transmission links; Determining a plurality of actual transmission bandwidths of the plurality of transmission links according to the transmission bandwidths of the plurality of transmission links and the transmission bandwidth ratio; Among them, the actual sending bandwidth of each of the sending links is less than or equal to the transmission bandwidth of the sending link, and the ratio of the multiple actual sending bandwidths of the multiple sending links is equal to the sending bandwidth ratio; the multiple actual sending bandwidths of the multiple sending links are used to indicate that the second edge network device sends data to the first edge network device according to the multiple actual sending bandwidths of the multiple sending links.

8. A receiving device, characterized in that: The receiving end device belongs to a multi-stage switching network, and the multi-stage switching network includes a first edge network device, a second edge network device and a plurality of core network devices; The first edge network device and the second edge network device are connected via a plurality of paths, any one of the paths including one of the core network devices; The receiving end device comprises: a topology and bandwidth collection module, a receiving calculation module and a broadcast module; The topology and bandwidth collection module is used to obtain the network topology structure of the receiving side between the first edge network device and multiple first core network devices, and the transmission bandwidth of multiple receiving links in the network topology structure of the receiving side; wherein the first core network device is a core network device among the multiple core network devices that connects the first edge network device and the second edge network device; The receiving calculation module is used to determine the receiving bandwidth information of the multiple first core network devices according to the network topology of the receiving side and the transmission bandwidth of the multiple receiving links, and mark the receiving bandwidth information with a first identifier representing the first edge network device; the receiving bandwidth information is used to represent the receiving bandwidth ratio of the multiple first core network devices; The broadcast module is used to send the marked receiving bandwidth information to the second edge network device; wherein the marked receiving bandwidth information is used to indicate that data is sent to the first edge network device according to the marked receiving bandwidth information.

9. The receiving device according to claim 8, characterized in that: The topology and bandwidth collection module is further configured to update the transmission bandwidths of multiple receiving links in the network topology structure of the receiving side after sending the marked receiving bandwidth information to the second edge network device, if it is determined that at least one of the network topology structure of the receiving side and the transmission bandwidth of the receiving link has changed; The receiving calculation module is further used to re-determine the receiving bandwidth information of the plurality of first core network devices according to the transmission bandwidth of the plurality of receiving links in the updated network topology structure of the receiving side; if the re-determined receiving bandwidth information is different from the receiving bandwidth information, mark the re-determined receiving bandwidth information with the first identifier; The broadcast module is further configured to send the marked receiving bandwidth information to the second edge network device.

10. The receiving end device according to claim 8 or 9, characterized in that: The receiving and calculating module is specifically used for: Determine a plurality of receiving bandwidths corresponding to the plurality of first core network devices according to the network topology structure of the receiving side and the transmission bandwidths of the plurality of receiving links; A receiving bandwidth vector of the multiple first core network devices is generated according to multiple preset core identifiers representing the multiple first core network devices and multiple receiving bandwidths corresponding to the multiple first core network devices; the receiving bandwidth vector is the receiving bandwidth information.

11. The receiving end device according to claim 10, characterized in that: The receiving and calculating module is specifically used for: Determining, according to the network topology of the receiving side and the transmission bandwidth of the multiple receiving links, the data bandwidth actually transmitted by the multiple receiving links when the multiple receiving links transmit data; For each of the multiple first core network devices, determine that the sum of the data bandwidths actually transmitted by all the receiving links directly connected to the first core network device among the multiple receiving links is the receiving bandwidth corresponding to the first core network device.

12. A transmitting end device, characterized in that: The sending end device belongs to a multi-stage switching network, and the multi-stage switching network includes a first edge network device, a second edge network device and a plurality of core network devices; The first edge network device and the second edge network device are connected via a plurality of paths, any one of the paths including one of the core network devices; The sending end device includes: a broadcast receiving and topology receiving module, a topology collecting module and a sending calculation module; Wherein, the broadcast receiving and topology receiving module is used to receive the marked receiving bandwidth information from the receiving end device; wherein, the first core network device is a core network device among the multiple core network devices that connects the first edge network device and the second edge network device; the marked receiving bandwidth information is marked with a first identifier representing the first edge network device, and is used to represent the receiving bandwidth ratio of multiple first core network devices; The topology collection module is used to obtain the network topology structure of the sending side between the second edge network device and the plurality of first core network devices when receiving an instruction to send data to the first edge network device; The sending calculation module is used to determine the sending bandwidth ratio of multiple sending links in the network topology structure of the sending side according to the marked receiving bandwidth information; Among them, the sending bandwidth ratio of the multiple sending links is used to indicate that the second edge network device sends data to the first edge network device according to the sending bandwidth ratio of the multiple sending links, and the ratio of the data bandwidths sent by the second edge network device to the multiple first core network devices according to the sending bandwidth ratio of the multiple sending links is equal to the receiving bandwidth ratio of the multiple first core network devices.

13. The transmitting end device according to claim 12, characterized in that: The sending calculation module is specifically used for: Determine a transmission bandwidth ratio of a first transmission link according to the network topology of the transmission side and the marked receiving bandwidth information; wherein the first transmission link is all transmission links among the multiple transmission links that are directly connected to the multiple first core network devices; According to the transmission bandwidth ratio of the first transmission link, the transmission bandwidth ratio of the second transmission link is determined; wherein the second transmission link is all the transmission links among the multiple transmission links that are indirectly connected to the multiple first core network devices; the transmission bandwidth ratios of the multiple transmission links include: the transmission bandwidth ratio of the first transmission link and the transmission bandwidth ratio of the second transmission link.

14. The transmitting end device according to claim 12 or 13, characterized in that: The sending calculation module is also used for: After determining the transmission bandwidth ratios of multiple transmission links in the network topology structure of the transmission side according to the marked receiving bandwidth information, acquiring the transmission bandwidths of the multiple transmission links; Determining a plurality of actual transmission bandwidths of the plurality of transmission links according to the transmission bandwidths of the plurality of transmission links and the transmission bandwidth ratio; Among them, the actual sending bandwidth of each of the sending links is less than or equal to the transmission bandwidth of the sending link, and the ratio of the multiple actual sending bandwidths of the multiple sending links is equal to the sending bandwidth ratio; the multiple actual sending bandwidths of the multiple sending links are used to indicate that the second edge network device sends data to the first edge network device according to the multiple actual sending bandwidths of the multiple sending links.

15. A receiving device, characterized in that: The receiving device comprises: a processor and a memory; wherein the memory is used to store computer program code, and the computer program code comprises computer instructions; the processor is used to execute the computer instructions so that the receiving device executes the method as described in any one of claims 1-4.

16. A transmitting end device, characterized in that: The sending end device comprises: a processor and a memory; wherein the memory is used to store computer program code, and the computer program code comprises computer instructions; the processor is used to execute the computer instructions so that the sending end device executes the method as described in any one of claims 5-7.

17. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes computer instructions, and when the computer instructions are executed on the receiving-end device, the receiving-end device executes the method according to any one of claims 1 to 4; Alternatively, when the computer instructions are executed on the sending end device, the sending end device executes the method as described in any one of claims 5-7.

Citation Information

Patent Citations

  • Method and system for link congestion detection and bandwidth control in three-level Clos network architecture

    CN105763469A

  • Scalable and secure interconnectivity in server cluster environments

    US20160212063A1