CN111294278B - Routing method, routing device, electronic equipment and computer readable storage medium - Google Patents

Routing method, routing device, electronic equipment and computer readable storage medium Download PDF

Info

Publication number
CN111294278B
CN111294278B CN202010006948.3A CN202010006948A CN111294278B CN 111294278 B CN111294278 B CN 111294278B CN 202010006948 A CN202010006948 A CN 202010006948A CN 111294278 B CN111294278 B CN 111294278B
Authority
CN
China
Prior art keywords
link
routing
path
switch
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010006948.3A
Other languages
Chinese (zh)
Other versions
CN111294278A (en
Inventor
陆元伟
邵华
瞿孝荣
陈力
周桂华
陈果
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Tencent Technology Shenzhen Co Ltd
Original Assignee
Hunan University
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University, Tencent Technology Shenzhen Co Ltd filed Critical Hunan University
Priority to CN202010006948.3A priority Critical patent/CN111294278B/en
Publication of CN111294278A publication Critical patent/CN111294278A/en
Application granted granted Critical
Publication of CN111294278B publication Critical patent/CN111294278B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Abstract

The embodiment of the application relates to the field of routing communication, and discloses a routing method, a routing device, electronic equipment and a computer readable storage medium, wherein the routing method is applied to a switch in a Data Center Network (DCN) and comprises the following steps: the link information is generated and sent to the centralized controller when any switch in the DCN monitors that the link state of at least one corresponding link changes; and determining an available routing path according to the link information based on a pre-stored path table, and transmitting the information through the available routing path.

Description

Routing method, routing device, electronic equipment and computer readable storage medium
Technical Field
The embodiment of the application relates to the technical field of routing communication, in particular to a routing method, a routing device, electronic equipment and a computer-readable storage medium.
Background
With the rapid construction of the internet and the rapid development of information technology, the scale of the data center network is continuously enlarged, and the number of switches and servers accommodated by the data center network is more and more. Typically, a large data center network may contain tens of thousands of switches, each of which in turn connects a large number of servers.
At present, the most widely used routing Protocol of a data center network is BGP (Border Gateway Protocol), which is a routing Protocol between autonomous systems, each node having a forwarding function in the network calculates its own forwarding table through a distributed algorithm, the calculation cost is high, routing update information is propagated in a flooding manner, the broadcast cost is high, when the network state changes, routing convergence takes a long time, and it is difficult to control the selection of a routing path.
Disclosure of Invention
The purpose of the embodiments of the present application is to solve at least one of the above technical drawbacks, and to provide the following technical solutions:
in one aspect, a routing method is provided, which is applied to a switch in a data center network DCN, and includes:
the link information is generated and sent to the centralized controller when any switch in the DCN monitors that the link state of at least one corresponding link changes;
and determining an available routing path according to the link information based on a pre-stored path table, and transmitting the information through the available routing path.
In one aspect, a routing method is provided, where the routing method corresponds to a centralized controller of a data center network DCN, and includes:
receiving link information sent when any switch in the DCN monitors that the link state of at least one corresponding link is changed, wherein the link information comprises a link identification of any link and the changed link state;
and according to the link information, determining a switch associated with any link in the DCN, and sending the link information to the switch, so that the switch associated with any link determines an available routing path according to the link information based on a pre-stored path table.
In one aspect, a routing apparatus is provided, which is applied to a switch in a data center network DCN, and includes:
the first receiving module is configured to receive link information that is sent by the controller and has a changed link state of any link, where the link information includes a link identifier of any link and a changed link state, and the link information is generated and sent to the centralized controller when any switch in the DCN monitors that the link state of at least one corresponding link has changed;
and the first determining module is used for determining an available routing path according to the link information based on a prestored path table and transmitting information through the available routing path.
In one possible implementation, the apparatus further includes a first storage module;
the first storage module is used for storing a path table;
the path table includes at least one of: at least two routing paths, the serial number of each routing path, and the number of failed links in each routing path;
each routing path is predetermined according to each link between the starting switch and the target switch based on the connection relation between each switch of the DCN; the serial number of the routing path is determined according to a predetermined rule based on the connection relationship between the switches of the DCN.
In one possible implementation, the apparatus further includes a second storage module;
the second storage module is used for storing a link table;
the link table includes at least one of: at least two links, the link state of each link, the change type when the link state of each link changes, and the affected routing path when the link state of each link changes are predetermined according to the connection relationship between each switch of the DCN.
In one possible implementation, when the DCN includes an access layer switch, a convergence layer switch, and a core layer switch, the change type includes at least one of:
a first type in which a link state of an uplink from an access layer switch to a convergence layer switch is changed;
a second type in which a link state of an uplink from the convergence layer switch to the core layer switch is changed;
a third type in which a link state of a downlink from the core layer switch to the convergence layer switch is changed;
a fourth type in which a link state of a downlink from the convergence layer switch to the access layer switch is changed.
In a possible implementation manner, the system further comprises a processing module;
the processing module is configured to perform at least one of:
collecting the change type of the change of the link state of any link sent by the controller;
searching a prestored link table according to the received link identifier of any link, and determining the change type when the link state of any link changes;
the first determining module, when determining an available routing path according to the link information based on a pre-stored path table and performing information transmission through the available routing path, is specifically configured to:
determining first record information of any link in a prestored link table according to the link identifier of any link;
updating the link state of the first record information according to the changed link state and the changed type of any link, and determining a routing path influenced when the link state is changed;
and determining the available routing path in a pre-stored path table according to the link state, the change type and the affected routing path when the link state of the first record information is changed.
In a possible implementation manner, when determining, according to the link state, the change type, and the route path affected when the link state of the first record information changes, an available route path in a pre-stored path table, the first determining module is specifically configured to:
determining corresponding second record information in a prestored path table according to the change type of the first record information and the route path influenced when the link state is changed;
adjusting the number of the failed links of the second record information in a pre-stored path table according to the link state of the first record information;
and determining a routing path without failure in a pre-stored path table according to the number of the failed links of the second record information, and determining the routing path without failure as an available routing path.
In a possible implementation manner, if the link table includes a sequence number of a first routing path in the plurality of routing paths that are affected when the link state of each link changes, where the sequence number of the first routing path is determined according to a predetermined rule based on a connection relationship between switches of the DCN, then:
the first determining module, when determining the corresponding second record information in the pre-stored path table according to the change type of the first record information and the routing path affected when the link state changes, is specifically configured to:
and respectively determining second record information of a plurality of corresponding routing paths in a pre-stored path table based on the serial numbers of the routing paths in the pre-stored path table and the serial number of the first routing path influenced when the change type of the first record information and the link state change, wherein the serial number of each routing path in the pre-stored path table is determined according to a predetermined rule based on the connection relation between the switches of the DCN.
In one possible implementation, the link status includes at least one of a link failure and a link recovery;
the first determining module is specifically configured to perform any one of the following operations when adjusting, according to the link status of the first record information, the number of failed links of the second record information in a pre-stored path table:
when the link state of the first recording information is a link failure, increasing the number of failed links of the second recording information;
when the link state of the first record information is link recovery, the number of failed links of the second record information is reduced.
In one aspect, a routing apparatus is provided, which corresponds to a centralized controller of a data center network DCN, and includes:
the second receiving module is used for receiving link information sent when any switch in the DCN monitors that the link state of at least one link corresponding to the switch changes, wherein the link information comprises the link identification of any link and the changed link state;
and the second determining module is used for determining a switch associated with any link in the DCN according to the link information and sending the link information to the switch, so that the switch associated with any link determines an available routing path according to the link information based on a pre-stored path table.
In one possible implementation, the apparatus further includes an adjustment module;
and the adjusting module is used for adjusting the bearing proportion of each routing path between the starting switch and the target switch according to the link information, at least one of the routing paths comprises any link, and each routing path is predetermined according to the connection relation between the switches of the DCN.
In one possible implementation, the apparatus further includes a type determination module;
and the type determining module is used for determining the change type when the link state of any link is changed according to the link information based on the change types preset according to the access layer switch, the convergence layer switch and the core layer switch included in the DCN, so that the switch associated with any link determines the available routing path in the pre-stored path table based on the change type.
In one aspect, an electronic device is provided, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the computer program, the routing method is implemented.
In one aspect, a computer-readable storage medium is provided, on which a computer program is stored, which when executed by a processor implements the routing method described above.
In the routing method provided by the embodiment of the application, each switch monitors the link state of at least one corresponding link, and when the link state of any link changes, reports corresponding link information to the centralized controller, determines the switch affected by the changed link state through the centralized controller, and sends the link information to the determined affected switch, so that the centralized controller monitors the link states of all links of the whole data center network, and the switches do not exchange routes with each other any more, that is, the centralized controller uniformly collects and controls the change information of the whole data center network topology, thereby effectively avoiding information flooding and reducing communication overhead; the affected switch determines the available routing path according to the link information based on the pre-stored path table, so that the switch can query and modify the routing path in a way of looking up the path table, thereby conveniently selecting the routing path, greatly reducing the cost for selecting the routing path and greatly reducing the time required by routing convergence.
Additional aspects and advantages of embodiments of the present application will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the present application.
Drawings
The foregoing and/or additional aspects and advantages of embodiments of the present application will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
fig. 1 is a schematic flow chart of a routing method according to an embodiment of the present application;
fig. 2 is a schematic diagram illustrating an interaction relationship between a centralized controller and a switch in a DCN according to an embodiment of the present application;
fig. 3 is a schematic topology diagram of a DCN according to an embodiment of the present application;
FIG. 4 is a schematic diagram of application-aware customized routing according to an embodiment of the present application;
FIG. 5 is a diagram illustrating weighted multipath routing according to an embodiment of the present application;
fig. 6 is a flowchart illustrating a routing method according to another embodiment of the present application;
fig. 7 is a schematic diagram of a basic structure of a routing apparatus according to another embodiment of the present application;
fig. 8 is a schematic flowchart of a routing apparatus according to yet another embodiment of the present application;
fig. 9 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present application.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. As used herein, the term "and/or" includes all or any element and all combinations of one or more of the associated listed items.
To make the objects, technical solutions and advantages of the embodiments of the present application more clear, the embodiments of the present application will be further described in detail with reference to the accompanying drawings.
The following describes in detail the technical solutions of the embodiments of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
One embodiment of the present application provides a routing method, which is executed by a computer device, and the computer device may be a terminal or a server. The terminal may be a desktop device or a mobile terminal. The servers may be individual physical servers, clusters of physical servers, or virtual servers. As shown in fig. 1, the method may be applied to a switch in a data center network DCN, and the method includes: step S110, receiving link information sent by the centralized controller, where the link state of any link changes, where the link information includes a link identifier of any link and a changed link state, and the link information is generated and sent to the centralized controller when any switch in the DCN monitors that the link state of at least one link corresponding to the switch changes; and step S120, determining an available routing path according to the link information based on a pre-stored path table, and transmitting information through the available routing path.
Specifically, a DCN (Data Center Network) may include tens of thousands of switches, and the switches perform information transmission through corresponding links according to a pre-configured connection relationship. Each DCN has a corresponding centralized controller, and the centralized controller stores the connection relationship among the switches in the DCN, so that all the switches in the DCN can be managed, for example, the link states of all the links in the DCN are monitored.
Specifically, the interaction relationship between the centralized controller and the switches in the DCN (Data Center Network) is shown in fig. 2. Wherein, the specific interactive process may be:
firstly, each switch in the DCN monitors at least one link corresponding to each switch, and when any switch monitors that the link state of any link changes, the switch sends link information of any link to the centralized controller corresponding to the DCN, wherein the link information includes the link identifier of any link and the changed link state. Correspondingly, the centralized controller receives link information sent when any switch in the DCN monitors that the link state of at least one link corresponding to the switch changes.
Then, after receiving the link information, the centralized controller determines, according to a pre-stored connection relationship between switches in the DCN, a switch associated with the any link, that is, determines a switch (i.e., an affected switch) affected by a change in a link state of the any link, where the affected switch may be one switch, may also be multiple switches, and may also be the switch that monitors the change in the link state of the any link, which is not limited in the embodiment of the present application.
The centralized controller then sends the link information it received to the determined affected switches. Correspondingly, the affected switch in the DCN receives the link information, that is, the link information sent by the centralized controller and indicating that the link state of any link has changed is received, where the link information is generated and sent to the centralized controller when any switch in the DCN monitors that the link state of at least one link corresponding to the switch has changed.
And finally, after receiving the link information, the affected switch determines an available routing path according to the link information based on a pre-stored path table, so as to transmit information through the available routing path.
In the routing method provided by the embodiment of the application, each switch monitors the link state of at least one corresponding link, and when the link state of any link changes, reports corresponding link information to the centralized controller, determines the switch affected by the changed link state through the centralized controller, and sends the link information to the determined affected switch, so that the centralized controller monitors the link states of all links of the whole data center network, and the switches do not exchange routes with each other any more, that is, the centralized controller uniformly collects and manages the change information of the links of the whole data center network, thereby effectively avoiding information flooding and reducing communication overhead; the affected switch determines the available routing path according to the link information based on the pre-stored path table, so that the switch can query and modify the routing path in a way of looking up the path table, thereby conveniently selecting the routing path, greatly reducing the cost for selecting the routing path and greatly reducing the time required by routing convergence.
In a possible implementation manner, before determining an available routing path according to link information based on a pre-stored path table, and performing information transmission through the available routing path, the method further includes: storing a path table;
the path table includes at least one of: at least two routing paths, the serial number of each routing path, and the number of failed links in each routing path;
each routing path is predetermined according to each link between the starting switch and the target switch based on the connection relation between each switch of the DCN; the serial number of the routing path is determined according to a predetermined rule based on the connection relationship between the switches of the DCN.
In particular, the current DCN widely uses a fat-tree topology or uses a variant of the fat-tree topology, and generally, three layers of switches, i.e., a core layer switch, a convergence layer switch, and an access layer switch, are included in the DCN topology. In the topology structure of the DCN, there may be p pods, which are basic constituent units of a data center, and are composed of access layer switches, aggregation layer switches, and servers connected downstream of the access layer switches, the pods are connected to each other through core layer switches to form the whole data center, each pod may have k access layer switches and s aggregation layer switches, and each access layer switch is connected to each aggregation layer switch, each aggregation layer switch may be connected to n different core layer switches, that is, the total number of core layer switches is s × n, the total number of aggregation layer switches is s × p, and the total number of access layer switches is k × p. Fig. 3 shows a schematic diagram of the topology of the DCN when p is 100 (i.e., 100 pod is included), k is 100 (i.e., each pod includes 100 access layer switches), s is 4 (i.e., each pod includes 4 aggregation layer switches), and n is 4 (i.e., each aggregation layer switch is connected to 4 different core layer switches). In fig. 3, the DCN has a corresponding centralized controller, wherein the centralized controller can communicate with each switch in the DCN to manage the entire DCN.
In fig. 3, the master represents the centralized controller, 1.0, 1.1, … 1.99.99 represent 100 access stratum switches in the 1 st pod, and so on, and 1.9900, 1.9901, …, 1.9999 represent 100 access stratum switches in the 100 th pod; 2.0, 2.1, 2.2, and 2.3 represent 4 aggregation layer switches in the 1 st pod, and 2.396, 2.397, 2.398, and 2.399 represent 4 aggregation layer switches in the 100 th pod; 3.0, 3.1, …, 3.15 represent 16 core layer switches, where each aggregation layer switch is connected to 4 different core layer switches.
As shown in fig. 3, when the topology of a DCN is determined and the connection relationship between each switch in the DCN is determined, a routing path for information transmission between switches in the DCN can be determined according to the determined connection relationship, for example, the routing path for information transmission between a 1.0 switch (referred to as an originating switch) and a 1.9900 switch (referred to as a destination switch) can be 1.0- >2.0- >3.0- >2.396- >1.9900, can also be 1.0- >2.0- >3.1- >2.396- >1.9900, can also be 1.0- >2.1- >3.4- >2.397- >1.9900, can also be 1.0- >2.2- >3.0- > 5633- >1.9900, and so on, where the routing path is 1.0- >2.0- >3.0- > 3.3526, 1.0- >2.0 is a link in the routing path, 2.0- >3.0 is another link in the routing path, 3.0- >2.396 is another link in the routing path, and 2.396- >1.9900 is another link in the routing path, that is, each routing path includes all links on the routing path.
Specifically, after determining the routing path for information transmission between the switches in the DCN according to the connection relationship between the switches in the DCN, the determined routing path may be stored in a corresponding data table, that is, the routing path for information transmission between the switches in the DCN is recorded by the data table. In one example, the data table may be referred to as a path table, in which a routing path for information transmission between switches in the DCN is recorded. After obtaining the path table recording the routing paths for information transmission between the switches in the DCN, the path table may be stored in each switch in the DCN, so that each switch can perform information transmission according to the corresponding routing path in the path table.
Specifically, when recording a routing path for information transmission between switches in the DCN through a path table, an equivalent shortest path from an originating switch to a destination switch may be recorded in the path table, and each routing entry (i.e., entry) of the path table includes all links on the corresponding routing path. If there are 16 routing paths from an originating switch to a destination switch, such as 1.0 to 1.9900 in fig. 3, and the next hops of 4 routing paths are all 2.0, then only one routing entry may be generated, and the destination switch, the next hop and the forwarding interface of the route are specified in the routing entry, and if at least one of the routing paths included in the route is available, the route may work normally.
Specifically, a routing path may include multiple links, and there may be a case where multiple links fail, so that the number of failed links (i.e., the number of failed links) in each routing path may be recorded in the path table, so that the switch may quickly find out an available routing path for information transmission according to the number of failed links in each routing path recorded in the path table.
Specifically, in the process of recording each routing path through the path table, the serial number of each routing path may be obtained by referring to the topology structure of the DCN and the connection relationship between each switch and numbering each recorded routing path according to a preset rule. After the sequence number of each routing path is determined, each routing path can be recorded according to the determined sequence number, so that the corresponding routing path can be searched quickly according to the sequence number.
Specifically, table 1(a) gives an example of a path table in which the path table includes a sequence number (denoted as No.) of each routing path, the number of failed links (denoted as FL) in each routing path, a routing path corresponding to each sequence number, and the like, wherein the routing path in table 1 does not give a start switch, and a destination switch (Dest) is given as an item alone. In practical application, the specific presentation form of the path table may be adjusted as needed, and the embodiment of the present application limits the specific presentation form.
TABLE 1 Path Table and Link Table
Figure BDA0002355601860000111
In a possible implementation manner, before determining an available routing path according to link information based on a pre-stored path table, and performing information transmission through the available routing path, the method further includes: storing a link table; the link table includes at least one of: at least two links, the link state of each link, the change type when the link state of each link changes, and the affected routing path when the link state of each link changes are predetermined according to the connection relationship between each switch of the DCN.
Specifically, in the process of determining an available routing path according to link information based on a pre-stored path table, if each routing path is directly traversed in the path table, the affected switch determined by the centralized controller in the above embodiment searches for a routing path affected by the link to determine the available routing path, which obviously has extremely high time complexity. Therefore, the method for indexing the path table by using the link table in the embodiment of the application enables the affected switch to intelligently search the routing path affected by the link in the path table based on the link table degree, thereby greatly reducing the time complexity.
Specifically, as shown in fig. 3, when the topology of one DCN is determined and the connection relationship between each switch in the DCN is determined, links for information transmission between each switch in the DCN may be determined according to the determined connection relationship, and a routing path affected when the link State of each link changes may be calculated in advance, so that each link predetermined according to the connection relationship between each switch in the DCN and the routing path affected when the link State of each link changes may be recorded in the link table, and at the same time, the current link State (denoted as State) of each link, such as a fault (denoted as Fail) and, for example, a normal (denoted as OK), may be recorded in the link table.
It should be noted that, each link in the link table may specify the transmission direction of the link in a form of From and To, where a routing path (i.e., an affected routing path) affected when the link state of each link in the link table changes may be indicated by a sequence number of the corresponding routing path, the sequence number of the routing path is generated in the same manner as the sequence number of the routing path in the above-mentioned path table, and is also numbered for each routing path according To a preset rule by referring To the topology of the DCN and the connection relationship between the switches, and the routing path of a certain sequence number in the link table is the same as the routing path of the certain sequence number in the path table.
In an example, when a plurality of routing paths are affected (that is, the affected routing paths are multiple) when a link state of a certain link in the link table changes, sequence numbers of the affected routing paths may be respectively given, and it should be noted that when the number of switches in the DCN is large, a large memory may be required to store the sequence numbers of the routing paths, and therefore, it is necessary to determine whether to adopt this method according to the size of the memory space.
In another example, when a plurality of routing paths are affected when a link state of a certain link in the link table changes, a sequence number (denoted as First Entry) of a First routing path in the affected plurality of routing paths may be given, and a change Type (denoted as Type) when the link state of each link changes may be given in the link table, so that the affected plurality of routing paths may be quickly determined according to the change Type and the sequence number of the First routing path. It should be noted that the sequence number of the first routing path is determined according to a predetermined rule based on the connection relationship between switches of the DCN, and according to the predetermined rule, the sequence numbers of the plurality of routing paths affected when the link state of a certain link changes can be sequentially numbered, that is, the sequence numbers of the plurality of routing paths affected when the link state of a certain link changes are arranged in series, as shown in fig. 3, when the uplink state of 1.0 to 2.0 changes, the uplink 4 routing paths of 2.0 are affected, and the 4 routing paths are stored together in the path table, so that the plurality of routing paths affected when the link state of the certain link changes can be found out in the path table according to the sequence number of the first routing path in the plurality of routing paths, so that through the link table of the data structure meeting the predetermined storage rule, it is only necessary to indicate the type affected by the certain link and the sequence number of the first affected routing path.
The method for changing the type and the sequence number of the first routing path in the affected multiple routing paths is given in the link table, only 2bits are used for indicating the type and log (K × s × n) bits are used for indicating the sequence number of the affected first routing path, and for the DCN topology structure shown in fig. 3, the link table only consumes about 300K of memory in total, so that the storage space occupied by the link table is greatly reduced.
Wherein, when the DCN includes an access layer switch, a convergence layer switch, and a core layer switch, the change type includes at least one of: a first type (which may be referred to as type 1) in which a link state of an uplink from an access layer switch to a convergence layer switch is changed; a second type (which may be referred to as type 2) in which the link state of the uplink from the aggregation layer switch to the core layer switch is changed; a third type (which may be referred to as type 3) in which a link state of a downlink from the core layer switch to the aggregation layer switch is changed; and a fourth type (which may be referred to as type 4) in which a link state of a downlink from the convergence layer switch to the access layer switch is changed. As shown in table 2, 4 types of changes when the link status changes are specifically given.
Table 2 types of changes when link status changes
Figure BDA0002355601860000131
Note that Core in table 2 denotes a Core layer switch, Agg denotes a convergence layer switch, and ToR denotes an access layer switch.
Specifically, table 1(b) gives an example of a link table, in which table 1(b), the link table includes each link (the transmission direction of the link is specified by way of From, To), the State of each link (denoted as State), the change type of the change in the link State, the sequence number of the First routing path (denoted as First Entry) among the plurality of routing paths affected, and the like. In practical application, the specific presentation form of the link table may be adjusted as needed, and the embodiment of the present application limits the specific presentation form.
Specifically, after the corresponding link table is obtained based on the connection relationship between the switches of the DCN, the link table may be stored in the DCN and in each switch, so that each switch determines the available routing path according to the corresponding link information in the link table.
In a possible implementation manner, before determining an available routing path according to the link information based on a pre-stored path table, and performing information transmission through the available routing path, any one of the following is further included:
collecting the change type of the change of the link state of any link sent by the controller;
searching a prestored link table according to the received link identifier of any link, and determining the change type when the link state of any link changes;
determining an available routing path according to the link information based on a pre-stored path table, and transmitting information through the available routing path, wherein the method comprises the following steps:
determining first record information of any link in a prestored link table according to the link identifier of any link;
updating the link state of the first record information according to the changed link state and the changed type of any link, and determining a routing path influenced when the link state is changed;
and determining the available routing path in a pre-stored path table according to the link state, the change type and the affected routing path when the link state of the first record information is changed.
In an example, the centralized controller manages each switch in the DCN, and after receiving link information that is generated and sent when any switch monitors that the link state of at least one link corresponding to the switch changes, the centralized controller may determine a change type when the link state of any link changes according to the link information, the topology of the DCN, the connection relationship between the switches in the DCN, and the 4 preset change types. After determining the change type when the link state of any link changes, the centralized controller may send the determined change type to the switch affected by any link, so that the switch affected by any link may determine, based on the change type, an available routing path in a pre-stored path table. Correspondingly, the switch affected by any link receives the change type of the change of the link state of any link sent by the controller.
In another example, after the switch affected by any link collects the link information sent by the controller, a prestored link table may be searched according to the received link identifier of any link, and a change type when the link state of any link changes is determined, that is, the change type when the link state of any link changes is determined according to a preset change type.
Specifically, in the process of determining an available routing path according to link information based on a pre-stored path table and transmitting information through the available routing path, according to a received link identifier of any link (for example, link a), record information (denoted as first record information) of the link a may be determined in the pre-stored link table, that is, relevant information of the link a recorded in the link table is determined; meanwhile, according to the changed link state and the change type of the link a, updating the link state of the first record information and determining the affected routing path when the link state is changed, for example, when the changed link state of the link a is "link failure", the link state of the first record information (i.e., the link a) in the link table may be updated to be "link failure", and determining the affected routing path when the link state of the link a is changed, for example, giving a sequence number 39 of a first routing path in the affected routing paths; for another example, when the changed link state of the link B is "link restoration", the link state of the first record information (i.e., the link B) in the link table may be updated to be "link restoration", and the affected routing path when the link state of the link B is changed, such as the sequence number 390 of the first routing path in the affected routing paths, is determined. Next, an available routing path may be determined in a pre-stored path table according to the determined link state and change type of the first record information and the routing path affected when the link state changes.
In one possible implementation manner, determining an available routing path in a pre-stored path table according to the link status, the change type, and a routing path affected when the link status of the first record information changes includes:
determining corresponding second record information in a prestored path table according to the change type of the first record information and the route path influenced when the link state is changed;
adjusting the number of the failed links of the second record information in a pre-stored path table according to the link state of the first record information;
and determining a routing path without failure in a pre-stored path table according to the number of the failed links of the second record information, and determining the routing path without failure as an available routing path.
If the link table includes the sequence number of the first routing path in the multiple routing paths affected when the link state of each link changes, where the sequence number of the first routing path is determined according to a predetermined rule based on the connection relationship between the switches of the DCN, then:
according to the change type of the first record information and the route path influenced when the link state is changed, determining corresponding second record information in a prestored path table, wherein the second record information comprises the following steps:
and respectively determining second record information of a plurality of corresponding routing paths in a pre-stored path table based on the serial numbers of the routing paths in the pre-stored path table and the serial number of the first routing path influenced when the change type of the first record information and the link state change, wherein the serial number of each routing path in the pre-stored path table is determined according to a predetermined rule based on the connection relation between the switches of the DCN.
Specifically, according to the determined change type of the first record information and the affected routing path when the link state changes, record information (denoted as second record information) of the corresponding routing path may be determined in a pre-stored path table, that is, according to the affected routing path indicated in the link table, the affected routing path recorded in the path table may be determined, that is, the affected routing path indicated in the link table may be determined in the path table. When the link table indicates the serial number of the first routing path in each affected routing path (for example, 39), according to the link state of the first record information, the serial number of the affected first routing path (for example, 39) and the change type, it may be determined that the number of the affected routing paths corresponding to the change type is 5, so that according to the serial number of the affected first routing path (for example, 39), it may sequentially determine, in the path table, corresponding consecutive routing paths (for example, routing paths with serial numbers 39, 40, 41, 42, and 43).
Specifically, after determining the corresponding affected routing paths (i.e., the second record information) in the pre-stored path table, the number of failed links of the second record information may be adjusted in the pre-stored path table according to the link status of the first record information. When the link state of the first recorded information is a link failure, it indicates that the link state after the change of any link sent by the centralized controller is a "link failure", and at this time, the affected switch correspondingly adjusts the link state of the first recorded information of the any link in the link table to be a "link failure", that is, Fail, that is, the link state of the first recorded information is a "link failure", so that the number of failed links of the second recorded information is increased in the pre-stored path table, that is, the number of failed links corresponding to each determined routing path in the pre-stored path table is increased by 1. When the link state of the first record information is a link failure, it indicates that the link state of any link sent by the centralized controller after being changed is "link restoration", and at this time, the affected switch correspondingly adjusts the link state of the first record information of the any link in the link table to be "link restoration", i.e. OK, i.e. the link state of the first record information is "link restoration", so that the number of failed links of the second record information is reduced in the pre-stored path table, i.e. the number of failed links of each routing path determined correspondingly is reduced by 1 in the pre-stored path table.
Specifically, after the number of failed links of the second record information is adjusted in the pre-stored path table, according to the number of failed links of the second record information, a routing path without a failure is determined in the pre-stored path table, and the routing path without a failure is determined as an available routing path, that is, a routing path with a number of failures of 0 is determined as an available routing path, so that information transmission can be performed through the determined available routing path.
By the method, the route convergence time can be effectively shortened, and the route controllability can be improved. This is described in detail below:
A. reducing route convergence time
The data center network carries a plurality of key services sensitive to delay and interruption, and the convergence time of the state change of the inter-domain link and the intra-domain link has great influence on the transmission time of data. The convergence time includes the discovery time for link state changes (failures or recoveries), the re-computation time for routing paths, and the time to adjust the routing paths throughout the data center network to a steady state. In the embodiment of the application, the switches of the whole data center network can be managed through the centralized controller, and the corresponding routing paths are inquired and modified by adopting a table look-up method of looking up a link table and a path table, so that the calculation cost can be greatly reduced, and the timer can also be greatly optimized, thereby reducing a large amount of routing convergence time.
B. Improving controllability of routing
All routing paths in each switch are listed in the path table so that routing of information between switches can be more easily controlled by manipulating each path entry in the path table. The controllability of the routing is specifically set forth below by three example scenarios:
example one: application-aware customized routing
Typically, multiple services or applications share the same network infrastructure in a DCN. Re-provisioning of different network resources through application-aware routing customization is a superior approach to ensure quality of service for different applications. For the routing method of the embodiment of the present application, each switch is pre-installed with a path table including all basic routing paths, so that some routing paths (or called routing entries) dedicated to some traffic can be simply marked, and then each switch routes different traffic to the corresponding routing path, as shown in fig. 4. Specifically, all the area blocks may be divided into the centralized controller, the centralized controller unifies and collates the customized information, and then the obtained result is issued to the switch, so that the switch only needs to mark the corresponding routing entry in the pre-stored path table. If the customized information changes, only the centralized controller needs to be informed, and the changed information is forwarded to a specific switch by the centralized controller, so that the routing flexibility is greatly improved.
It should be noted that, in fig. 4, the Master represents the centralized controller, the Node represents the switch, the Application represents the mark made in the corresponding route, the Application one represents the mark one, and the Application two represents the mark two. 1.0, 1.1, … 1.99.99 for 100 access layer switches in the 1 st pod, and so on, 1.9900, 1.9901, …, 1.9999 for 100 access layer switches in the 100 th pod; 2.0, 2.1, 2.2, and 2.3 represent 4 aggregation layer switches in the 1 st pod, and 2.396, 2.397, 2.398, and 2.399 represent 4 aggregation layer switches in the 100 th pod; 3.0, 3.1, …, 3.15 represent 16 core layer switches, where each aggregation layer switch is connected to 4 different core layer switches.
Example two: weighted multipath routing
WCMP (weighted-Cost Multi-Path Routing) is an effective method to balance traffic between paths when the network becomes asymmetric. In the DCN topology shown in fig. 3, when traffic is sent from 1.9999 to 1.99, the upper layer has 4 equal cost paths and the next hops are 2.396, 2.397, 2.398 and 2.399, respectively. At this time, since all link states in the topology are normally available, all of the 4 paths are equivalent, i.e., the weight ratio is 1:1:1:1, i.e., the carrying ratio of each routing path is 1:1:1: 1. However, when links 2.399 to 3.14 and 3.15 fail, the bearer capacity of the uplink of 2.399 is reduced by half, and the next hop ideal link weight of 1.9999 should be 2:2:2: 1. Such WCMP is easily supported by a lookup method that looks up a link table and a path table, because the path table lists all basic paths in the network, and each switch can dynamically calculate the weight of each next hop according to the number of routing paths passing through it and correspondingly mark it in a data table, as shown in fig. 5.
It should be noted that, in fig. 5, Master represents a centralized controller, Node represents a switch, and Weight Value represents a Weight of each routing path.
Example three: fault location
In the embodiment of the present application, the centralized controller centrally collects link states of the entire data center network, and thus, a link or switch fault can be located in the centralized controller relatively simply and quickly.
The application further provides a routing method, which is executed by a computer device, and the computer device can be a terminal or a server. The terminal may be a desktop device or a mobile terminal. The servers may be individual physical servers, clusters of physical servers, or virtual servers. As shown in fig. 6, the method corresponds to a centralized controller of a data center network DCN, and includes: step S610, receiving link information sent by any switch in DCN when monitoring that the link state of at least one link corresponding to the switch changes, wherein the link information comprises the link identification of any link and the changed link state; step S620, determining a switch associated with any link in the DCN according to the link information, and sending the link information to the switch, so that the switch associated with any link determines an available routing path according to the link information based on a pre-stored path table.
In the routing method provided in another embodiment of the present application, each switch monitors a link state of at least one corresponding link, and when a link state of any link changes, reports corresponding link information to the centralized controller, determines, by the centralized controller, a switch affected by the changed link state, and sends the link information to the determined affected switch, so that the centralized controller monitors link states of all links of the entire data center network, and no routes are exchanged between the switches, that is, the centralized controller collects and manages change information of the links of the entire data center network in a unified manner, thereby effectively avoiding information flooding and reducing communication overhead; the affected switch determines the available routing path according to the link information based on the pre-stored path table, so that the switch can query and modify the routing path in a way of looking up the path table, thereby conveniently selecting the routing path, greatly reducing the cost for selecting the routing path and greatly reducing the time required by routing convergence.
In a possible implementation manner, the bearer proportion of each routing path between the originating switch and the destination switch may be adjusted according to the link information, where at least one of the routing paths includes any link, and each routing path is predetermined according to a connection relationship between switches of the DCN.
Specifically, the change type when the link state of any link is changed may be determined according to the change type preset by the access layer switch, the convergence layer switch, and the core layer switch included in the DCN and according to the link information, so that the switch associated with any link determines the available routing path in the pre-stored path table based on the change type.
It should be noted that, the routing method at the centralized controller end corresponding to the data center network DCN in the further embodiment of the present application corresponds to the routing method applied to one switch in the data center network DCN, and therefore, it can be understood that the processing steps in the routing method at the centralized controller end corresponding to the data center network DCN correspond to the processing steps of the routing method code applied to one switch in the data center network DCN, where specific descriptions of the corresponding steps in the routing method applied to one switch in the data center network DCN may refer to the corresponding descriptions in the foregoing, and are not repeated herein.
Fig. 7 is a schematic structural diagram of a routing apparatus according to another embodiment of the present application, and as shown in fig. 4, the routing apparatus 700 may include: a first receiving module 701 and a first determining module 702, wherein:
a first receiving module 701, configured to receive link information that is sent by a controller and has a changed link state of any link, where the link information includes a link identifier of any link and a changed link state, and the link information is generated and sent to a centralized controller when any switch in a data center network DCN monitors that the link state of at least one corresponding link has changed;
a first determining module 702, configured to determine an available routing path according to the link information based on a pre-stored path table, and perform information transmission through the available routing path.
In one possible implementation, the apparatus further includes a first storage module;
the first storage module is used for storing a path table;
the path table includes at least one of: at least two routing paths, the serial number of each routing path, and the number of failed links in each routing path;
each routing path is predetermined according to each link between the starting switch and the target switch based on the connection relation between each switch of the DCN; the serial number of the routing path is determined according to a predetermined rule based on the connection relationship between the switches of the DCN.
In one possible implementation, the apparatus further includes a second storage module;
the second storage module is used for storing a link table;
the link table includes at least one of: at least two links, the link state of each link, the change type when the link state of each link changes, and the affected routing path when the link state of each link changes are predetermined according to the connection relationship between each switch of the DCN.
In one possible implementation, when the DCN includes an access layer switch, a convergence layer switch, and a core layer switch, the change type includes at least one of:
a first type in which a link state of an uplink from an access layer switch to a convergence layer switch is changed;
a second type in which a link state of an uplink from the convergence layer switch to the core layer switch is changed;
a third type in which a link state of a downlink from the core layer switch to the convergence layer switch is changed;
a fourth type in which a link state of a downlink from the convergence layer switch to the access layer switch is changed.
In a possible implementation manner, the system further comprises a processing module;
the processing module is configured to perform at least one of:
collecting the change type of the change of the link state of any link sent by the controller;
searching a prestored link table according to the received link identifier of any link, and determining the change type when the link state of any link changes;
the first determining module, when determining an available routing path according to the link information based on a pre-stored path table and performing information transmission through the available routing path, is specifically configured to:
determining first record information of any link in a prestored link table according to the link identifier of any link;
updating the link state of the first record information according to the changed link state and the changed type of any link, and determining a routing path influenced when the link state is changed;
and determining the available routing path in a pre-stored path table according to the link state, the change type and the affected routing path when the link state of the first record information is changed.
In a possible implementation manner, when determining, according to the link state, the change type, and the route path affected when the link state of the first record information changes, an available route path in a pre-stored path table, the first determining module is specifically configured to:
determining corresponding second record information in a prestored path table according to the change type of the first record information and the route path influenced when the link state is changed;
adjusting the number of the failed links of the second record information in a pre-stored path table according to the link state of the first record information;
and determining a routing path without failure in a pre-stored path table according to the number of the failed links of the second record information, and determining the routing path without failure as an available routing path.
In a possible implementation manner, if the link table includes a sequence number of a first routing path in the plurality of routing paths that are affected when the link state of each link changes, where the sequence number of the first routing path is determined according to a predetermined rule based on a connection relationship between switches of the DCN, then:
the first determining module, when determining the corresponding second record information in the pre-stored path table according to the change type of the first record information and the routing path affected when the link state changes, is specifically configured to:
and respectively determining second record information of a plurality of corresponding routing paths in a pre-stored path table based on the serial numbers of the routing paths in the pre-stored path table and the serial number of the first routing path influenced when the change type of the first record information and the link state change, wherein the serial number of each routing path in the pre-stored path table is determined according to a predetermined rule based on the connection relation between the switches of the DCN.
In one possible implementation, the link status includes at least one of a link failure and a link recovery;
the first determining module is specifically configured to perform any one of the following operations when adjusting, according to the link status of the first record information, the number of failed links of the second record information in a pre-stored path table:
when the link state of the first recording information is a link failure, increasing the number of failed links of the second recording information;
when the link state of the first record information is link recovery, the number of failed links of the second record information is reduced.
According to the device provided by the embodiment of the application, the link states of at least one corresponding link are monitored through each switch, when the link state of any link changes, corresponding link information is reported to the centralized controller, the switch influenced by the changed link state is determined through the centralized controller, and the link information is sent to the determined influenced switch, so that the centralized controller monitors the link states of all links of the whole data center network, and the switches do not exchange routes with each other any more, namely, the centralized controller uniformly collects and controls the change information of the whole data center network topology, thereby effectively avoiding information flooding and reducing communication overhead; the affected switch determines the available routing path according to the link information based on the pre-stored path table, so that the switch can query and modify the routing path in a way of looking up the path table, thereby conveniently selecting the routing path, greatly reducing the cost for selecting the routing path and greatly reducing the time required by routing convergence.
It should be noted that the present embodiment is an apparatus embodiment corresponding to the method embodiment described above, and the present embodiment can be implemented in cooperation with the method embodiment described above. The related technical details mentioned in the above method embodiments are still valid in this embodiment, and are not described herein again in order to reduce repetition. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the above-described method item embodiments.
Fig. 8 is a schematic structural diagram of a routing apparatus according to yet another embodiment of the present application, and as shown in fig. 8, the apparatus 800 corresponds to a centralized controller of a data center network DCN, and may include a second receiving module 801 and a second determining module 802, where:
a second receiving module 801, configured to receive link information sent when any switch in the DCN monitors that a link state of at least one corresponding link changes, where the link information includes a link identifier of any link and a changed link state;
a second determining module 802, configured to determine, in the DCN, a switch associated with any link according to the link information, and send the link information to the switch, so that the switch associated with any link determines, based on the pre-stored path table, an available routing path according to the link information.
In one possible implementation, the apparatus further includes an adjustment module;
and the adjusting module is used for adjusting the bearing proportion of each routing path between the starting switch and the target switch according to the link information, at least one of the routing paths comprises any link, and each routing path is predetermined according to the connection relation between the switches of the DCN.
In one possible implementation, the apparatus further includes a type determination module;
and the type determining module is used for determining the change type when the link state of any link is changed according to the link information based on the change types preset according to the access layer switch, the convergence layer switch and the core layer switch included in the DCN, so that the switch associated with any link determines the available routing path in the pre-stored path table based on the change type.
According to the device provided by the embodiment of the application, the link states of at least one corresponding link are monitored through each switch, when the link state of any link changes, corresponding link information is reported to the centralized controller, the switch influenced by the changed link state is determined through the centralized controller, and the link information is sent to the determined influenced switch, so that the centralized controller monitors the link states of all links of the whole data center network, and the switches do not exchange routes with each other any more, namely, the centralized controller uniformly collects and controls the change information of the whole data center network topology, thereby effectively avoiding information flooding and reducing communication overhead; the affected switch determines the available routing path according to the link information based on the pre-stored path table, so that the switch can query and modify the routing path in a way of looking up the path table, thereby conveniently selecting the routing path, greatly reducing the cost for selecting the routing path and greatly reducing the time required by routing convergence.
Another embodiment of the present application provides an electronic device, as shown in fig. 9, an electronic device 900 shown in fig. 9 includes: a processor 901 and a memory 903. Wherein the processor 901 is coupled to the memory 903, such as via a bus 902. Further, the electronic device 900 may also include a transceiver 904. It should be noted that the transceiver 904 is not limited to one in practical applications, and the structure of the electronic device 900 is not limited to the embodiment of the present application.
The processor 901 is applied to the embodiment of the present application, and is configured to implement the functions of the first receiving module and the first determining module shown in fig. 7. Or, the function of the second receiving module and the second determining module shown in fig. 8 is implemented.
The processor 901 may be a CPU, general purpose processor, DSP, ASIC, FPGA or other programmable logic device, transistor logic device, hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor 901 may also be a combination of computing functions, e.g., comprising one or more microprocessors, DSPs, and microprocessors, among others.
Bus 902 may include a path that transfers information between the above components. The bus 902 may be a PCI bus or an EISA bus, etc. The bus 902 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in FIG. 9, but this does not indicate only one bus or one type of bus.
The memory 903 may be, but is not limited to, a ROM or other type of static storage device that can store static information and instructions, a RAM or other type of dynamic storage device that can store information and instructions, an EEPROM, a CD-ROM or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
The memory 903 is used for storing application program codes for executing the scheme of the application, and the execution is controlled by the processor 901. The processor 901 is configured to execute application program codes stored in the memory 903 to realize the actions of the routing apparatus provided by the embodiment shown in fig. 7 or fig. 8.
The electronic device provided by the embodiment of the application comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, wherein when the processor executes the program, the electronic device can realize that: monitoring the link state of at least one corresponding link through each switch, reporting corresponding link information to the centralized controller when the link state of any link changes, determining the switch affected by the changed link state through the centralized controller, and sending the link information to the determined affected switch, so that the centralized controller monitors the link states of all links of the whole data center network, and the switches do not exchange routes with each other any more, namely, the centralized controller uniformly collects and controls the change information of the whole data center network topology, thereby effectively avoiding information flooding and reducing communication overhead; the affected switch determines the available routing path according to the link information based on the pre-stored path table, so that the switch can query and modify the routing path in a way of looking up the path table, thereby conveniently selecting the routing path, greatly reducing the cost for selecting the routing path and greatly reducing the time required by routing convergence.
The embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements the method shown in the above embodiment. Wherein: monitoring the link state of at least one corresponding link through each switch, reporting corresponding link information to the centralized controller when the link state of any link changes, determining the switch affected by the changed link state through the centralized controller, and sending the link information to the determined affected switch, so that the centralized controller monitors the link states of all links of the whole data center network, and the switches do not exchange routes with each other any more, namely, the centralized controller uniformly collects and controls the change information of the whole data center network topology, thereby effectively avoiding information flooding and reducing communication overhead; the affected switch determines the available routing path according to the link information based on the pre-stored path table, so that the switch can query and modify the routing path in a way of looking up the path table, thereby conveniently selecting the routing path, greatly reducing the cost for selecting the routing path and greatly reducing the time required by routing convergence.
The computer-readable storage medium provided by the embodiment of the application is suitable for any embodiment of the method.
It should be understood that, although the steps in the flowcharts of the figures are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and may be performed in other orders unless explicitly stated herein. Moreover, at least a portion of the steps in the flow chart of the figure may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
The foregoing is only a partial embodiment of the present application, and it should be noted that, for those skilled in the art, several modifications and decorations can be made without departing from the principle of the present application, and these modifications and decorations should also be regarded as the protection scope of the present application.

Claims (15)

1. A routing method is applied to a switch in a Data Center Network (DCN), and comprises the following steps:
the method comprises the steps that the switch receives link information sent by the controller, wherein the link information changes the link state of any link, the link information comprises a link identifier of any link and the changed link state, and the link information is generated and sent to the centralized controller when any switch in the DCN monitors that the link state of at least one corresponding link changes; after receiving the link information, the centralized controller determines an affected switch associated with any link according to a pre-stored connection relationship between switches in the DCN, and sends the received link information to the affected switch;
collecting the change type of the link state change of any link sent by the controller, or searching a pre-stored link table according to the received link identifier of any link, and determining the change type of the link state change of any link;
determining the sequence number of the first routing path in the affected routing paths when the link state of any link changes in the link table;
determining an available routing path according to the link information based on a pre-stored path table, including: determining a plurality of influenced routing paths in a pre-stored path table according to the change type and the sequence number of the first routing path so as to determine an available routing path;
and transmitting information through the available routing path.
2. The method of claim 1, further comprising, before determining an available routing path according to the link information based on a pre-stored path table and performing information transmission via the available routing path:
storing a path table;
the path table includes at least one of: at least two routing paths, the serial number of each routing path, and the number of failed links in each routing path;
each routing path is predetermined according to each link between the starting switch and the target switch based on the connection relation between each switch of the DCN; and the sequence number of the routing path is determined according to a preset rule based on the connection relation among all the switches of the DCN.
3. The method according to claim 1 or 2, before determining an available routing path according to the link information based on a pre-stored path table, and performing information transmission through the available routing path, further comprising:
storing a link table;
the link table includes at least one of: at least two links, the link state of each link, the change type when the link state of each link changes, and the route path influenced when the link state of each link changes are predetermined according to the connection relationship between the switches of the DCN.
4. The method of claim 3, wherein when the DCN comprises an access layer switch, a convergence layer switch, and a core layer switch, the change type comprises at least one of:
a first type in which a link state of an uplink from an access layer switch to a convergence layer switch is changed;
a second type in which a link state of an uplink from the convergence layer switch to the core layer switch is changed;
a third type in which a link state of a downlink from the core layer switch to the convergence layer switch is changed;
a fourth type in which a link state of a downlink from the convergence layer switch to the access layer switch is changed.
5. The method according to claim 3, wherein the determining an available routing path according to the link information based on a pre-stored path table, and performing information transmission through the available routing path comprises:
determining first record information of any link in a prestored link table according to the link identifier of any link;
updating the link state of the first record information according to the changed link state and the changed type of any link, and determining a routing path influenced when the link state is changed;
and determining an available routing path in a pre-stored path table according to the link state and the change type of the first record information and the routing path influenced by the change of the link state.
6. The method of claim 5, wherein determining the available routing path in the pre-stored path table according to the link status, the change type and the affected routing path when the link status of the first record information changes comprises:
determining corresponding second record information in a pre-stored path table according to the change type of the first record information and a routing path influenced when the link state is changed;
according to the link state of the first record information, adjusting the number of the failed links of the second record information in a pre-stored path table;
and determining a routing path without fault in a pre-stored path table according to the number of the faulted links of the second record information, and determining the routing path without fault as an available routing path.
7. The method according to claim 6, wherein the sequence number of the first routing path is determined according to a predetermined rule based on the connection relationship between switches of the DCN, and then:
determining corresponding second record information in a prestored path table according to the change type of the first record information and the routing path affected when the link state changes, wherein the second record information comprises:
and respectively determining second record information of a plurality of corresponding routing paths in a pre-stored path table based on the serial numbers of the routing paths in the pre-stored path table and the serial number of the first routing path affected when the change type of the first record information and the link state change, wherein the serial number of each routing path in the pre-stored path table is determined according to the predetermined rule based on the connection relationship among the switches of the DCN.
8. The method of claim 6 or 7, wherein the link status comprises at least one of a link failure and a link recovery;
adjusting the number of the failed links of the second record information in a pre-stored path table according to the link state of the first record information, wherein the number of the failed links of the second record information comprises any one of the following:
when the link state of the first recording information is a link failure, increasing the number of failed links of the second recording information;
and when the link state of the first record information is link recovery, reducing the number of failed links of the second record information.
9. A routing method, wherein a centralized controller corresponding to a data center network DCN comprises:
receiving link information sent when any switch in the DCN monitors that the link state of at least one corresponding link is changed, wherein the link information comprises a link identifier of any link and the changed link state;
according to the link information, determining a switch associated with any link in the DCN, and sending the link information to the switch, so that the switch associated with any link receives a change type of the link state change of any link sent by the controller, or according to a received link identifier of any link, searching a pre-stored link table, and determining the change type of any link when the link state change occurs; determining the sequence number of the first routing path in the affected routing paths when the link state of any link changes in the link table; determining an available routing path according to the link information based on a pre-stored path table, including: and determining a plurality of influenced routing paths in a pre-stored path table according to the change type and the sequence number of the first routing path so as to determine an available routing path, and transmitting information through the available routing path.
10. The method of claim 9, further comprising:
and adjusting the bearing proportion of each routing path between the starting switch and the target switch according to the link information, wherein at least one of the routing paths comprises any link, and each routing path is predetermined according to the connection relation between the switches of the DCN.
11. The method of claim 9, further comprising:
and determining the change type when the link state of any link is changed according to the link information based on the preset change types of the access layer switch, the convergence layer switch and the core layer switch included in the DCN, so that the switch associated with any link determines an available routing path in a pre-stored path table based on the change type.
12. A routing apparatus, applied to a switch in a data center network DCN, comprising:
the first receiving module is configured to receive link information that is sent by the controller and has a changed link state of any link, where the link information includes a link identifier of any link and a changed link state, and the link information is generated and sent to the centralized controller when any switch in the DCN monitors that the link state of at least one corresponding link changes; after receiving the link information, the centralized controller determines an affected switch associated with any link according to a pre-stored connection relationship between switches in the DCN, and sends the received link information to the affected switch;
the processing module is used for receiving and collecting the change type of the link state change of any link sent by the controller, or searching a prestored link table according to the received link identifier of any link, and determining the change type of any link when the link state change occurs;
a processing module, configured to determine, in the link table, a sequence number of a first routing path in the multiple routing paths affected when a link state of any link changes;
a first determining module, configured to determine an available routing path according to the link information based on a pre-stored path table, including: determining a plurality of influenced routing paths in a pre-stored path table according to the change type and the sequence number of the first routing path so as to determine an available routing path; and transmitting information through the available routing path.
13. A routing apparatus, wherein a centralized controller corresponding to a data center network DCN comprises:
a second receiving module, configured to receive link information sent when any switch in the DCN monitors that a link state of at least one link corresponding to the switch changes, where the link information includes a link identifier of the any link and a changed link state;
a second determining module, configured to determine, in the DCN, a switch associated with the any link according to the link information, and send the link information to the switch, so that the switch associated with the any link receives a change type that the link state of the any link sent by the controller changes, or searches a pre-stored link table according to a received link identifier of the any link, and determines the change type when the link state of the any link changes; determining the sequence number of the first routing path in the affected routing paths when the link state of any link changes in the link table; determining an available routing path according to the link information based on a pre-stored path table, including: and determining a plurality of influenced routing paths in a pre-stored path table according to the change type and the sequence number of the first routing path so as to determine an available routing path, and transmitting information through the available routing path.
14. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the routing method of any one of claims 1-11 when executing the program.
15. A computer-readable storage medium, characterized in that the computer-readable storage medium has stored thereon a computer program which, when being executed by a processor, carries out the routing method according to any one of claims 1 to 11.
CN202010006948.3A 2020-01-03 2020-01-03 Routing method, routing device, electronic equipment and computer readable storage medium Active CN111294278B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010006948.3A CN111294278B (en) 2020-01-03 2020-01-03 Routing method, routing device, electronic equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010006948.3A CN111294278B (en) 2020-01-03 2020-01-03 Routing method, routing device, electronic equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN111294278A CN111294278A (en) 2020-06-16
CN111294278B true CN111294278B (en) 2022-02-25

Family

ID=71025456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010006948.3A Active CN111294278B (en) 2020-01-03 2020-01-03 Routing method, routing device, electronic equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN111294278B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112260971B (en) * 2020-10-21 2021-11-16 湖南大学 Fault tolerance method and device for network equipment system, computer equipment and storage medium
CN112491700B (en) * 2020-12-14 2023-05-02 成都颜创启新信息技术有限公司 Network path adjustment method, system, device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685035A (en) * 2012-09-26 2014-03-26 深圳市腾讯计算机系统有限公司 Routing update method, switch and system
CN106027399A (en) * 2016-07-26 2016-10-12 华北电力大学(保定) Method for identifying key links in communication network
CN107306224A (en) * 2016-04-19 2017-10-31 华为技术有限公司 A kind of routed path update method and network administration apparatus
CN107835128A (en) * 2017-09-29 2018-03-23 北京空间飞行器总体设计部 It is a kind of that OSPF method for routing is strengthened based on the spatial network for determining Link State
US10298488B1 (en) * 2016-09-30 2019-05-21 Juniper Networks, Inc. Path selection and programming of multiple label switched paths on selected paths of multiple computed paths

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756017B2 (en) * 2006-09-08 2010-07-13 The Uwm Research Foundation, Inc. System and method for scheduling routing table calculation in link state routing protocols
CN102045256B (en) * 2010-12-17 2012-03-28 北京航空航天大学 COTS (Commercial Off-The-Shelf) based bandwidth predistribution guarantee network function demonstration system
CN102185772B (en) * 2011-05-05 2013-10-23 北京交通大学 Method for routing data centre network system
US9674836B2 (en) * 2014-01-27 2017-06-06 Spectrum Effect, Inc. Method and system for coexistence of radar and communication systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685035A (en) * 2012-09-26 2014-03-26 深圳市腾讯计算机系统有限公司 Routing update method, switch and system
CN107306224A (en) * 2016-04-19 2017-10-31 华为技术有限公司 A kind of routed path update method and network administration apparatus
CN106027399A (en) * 2016-07-26 2016-10-12 华北电力大学(保定) Method for identifying key links in communication network
US10298488B1 (en) * 2016-09-30 2019-05-21 Juniper Networks, Inc. Path selection and programming of multiple label switched paths on selected paths of multiple computed paths
CN107835128A (en) * 2017-09-29 2018-03-23 北京空间飞行器总体设计部 It is a kind of that OSPF method for routing is strengthened based on the spatial network for determining Link State

Also Published As

Publication number Publication date
CN111294278A (en) 2020-06-16

Similar Documents

Publication Publication Date Title
CN111587580B (en) Interior gateway protocol flooding minimization
JP5095823B2 (en) Transport control server, network system, and transport control method
EP2686988B1 (en) Method and apparatus for rapid rerouting of ldp packets
US20140258486A1 (en) Server-Layer Shared Link Risk Group Analysis to Identify Potential Client-Layer Network Connectivity Loss
EP3384640B1 (en) Communication among network controllers
CN110535763B (en) Route backup method, device, server and readable storage medium
CN101237399A (en) Method, system and device for getting label switching path
CN111294278B (en) Routing method, routing device, electronic equipment and computer readable storage medium
WO2016143311A1 (en) Network control device, network control method, and recording medium for program
CN113973026B (en) Site interconnection method, central controller and route reflector
CN112054958B (en) Path calculation method, storage medium and electronic device
WO2015059917A1 (en) Multi-layer network control method and device
CN115914078A (en) Message forwarding method and device and dragonfly network
CN112217651B (en) Method and device for determining path label of converged network
Kanagavelu et al. A pro-active and adaptive mechanism for fast failure recovery in SDN data centers
CN115987883A (en) Forwarding path generation method, SDN controller, slicing network system and storage medium
CN106487682B (en) Diameter signaling network routing method and device
EP3425859B1 (en) Multi-layer lsp control method and apparatus
CN109039943B (en) Flow allocation method and device, network system and SDN controller
CN113315699A (en) Multi-master multi-standby fast rerouting system and method for distinguishing priority
US10855520B1 (en) Utilizing upstream routing of multicast traffic from redundant multicast sources to increase multicast resiliency and availability
CN113746730B (en) Routing information processing method and device
CN111614558B (en) Method and system for optimizing work of main and standby path calculation units
WO2023012518A1 (en) Method for signaling link or node failure in a direct interconnect network
CN115914069A (en) Data forwarding method, system, electronic device and storage medium

Legal Events

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