CN111327537B - Flow forwarding method and system, SDN controller and computer readable storage medium - Google Patents
Flow forwarding method and system, SDN controller and computer readable storage medium Download PDFInfo
- Publication number
- CN111327537B CN111327537B CN201811530167.3A CN201811530167A CN111327537B CN 111327537 B CN111327537 B CN 111327537B CN 201811530167 A CN201811530167 A CN 201811530167A CN 111327537 B CN111327537 B CN 111327537B
- Authority
- CN
- China
- Prior art keywords
- node
- forwarding
- signaling information
- sdn controller
- link
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present disclosure provides a traffic forwarding method, a system, an SDN controller, and a computer-readable storage medium, where the method includes: the SDN controller receives topology information of a network, wherein the topology information comprises identification of each node in the network and connection relation among the nodes; the SDN controller determines a forwarding path corresponding to the flow of the specific service according to the topology information and the link utilization rate of each link in the network; the SDN controller sends signaling information to the starting node so that the starting node can forward the signaling information to the ending node according to a forwarding path, the starting node establishes a forwarding table item reaching a corresponding node after receiving the signaling information, and the ending node sends notification information to the SDN controller after receiving the signaling information; the SDN controller responds to the notification message and sends a flow forwarding instruction to the starting node so that the starting node forwards the flow of the specific service to the ending node according to a forwarding path, and the starting node forwards the flow of the specific service to a next node according to a forwarding table item established by the starting node.
Description
Technical Field
The present disclosure relates to the field of Software Defined Networking (SDN) technologies, and in particular, to a traffic forwarding method, system, SDN controller, and computer-readable storage medium.
Background
The SDN is a novel network innovation architecture and is an implementation mode of network virtualization. Under the SDN architecture, the control plane and the data plane of the network equipment are separated, so that the flexible control of network flow is realized.
In a conventional SDN architecture, after determining a path, an SDN controller needs to issue instructions to all nodes on the path to implement control over each node, thereby implementing control over network traffic. In such a manner, signaling interaction between the SDN controller and each node is frequent, and signaling overhead is large.
Disclosure of Invention
In order to solve the above problem, the embodiments of the present disclosure propose the following solutions.
According to an aspect of the embodiments of the present disclosure, a traffic forwarding method is provided, including: the method comprises the steps that an SDN controller receives topology information of a network, wherein the topology information comprises identification of each node in the network and connection relation among the nodes, and a link is formed between two nodes with the connection relation; the SDN controller determines a forwarding path corresponding to the flow of the specific service according to the topology information and the link utilization rate of each link in the network, wherein the forwarding path at least comprises a starting node and an ending node; the SDN controller sends signaling information to the starting node so that the starting node can forward the signaling information to the ending node according to the forwarding path, wherein the starting node establishes a forwarding table item reaching a corresponding node after receiving the signaling information, and the ending node sends notification information to the SDN controller after receiving the signaling information; and the SDN controller responds to the notification message and sends a flow forwarding instruction to the starting node so that the starting node forwards the flow of the specific service to the ending node according to the forwarding path, wherein the starting node forwards the flow of the specific service to a next node according to a forwarding table item established by the starting node.
In some embodiments, the forwarding path further comprises an intermediate node located between the start node and the end node; after receiving the signaling information, the intermediate node establishes a forwarding table entry reaching the corresponding node; forwarding the signaling information to a next node according to the forwarding path; and forwarding the flow of the specific service to the next node according to the forwarding table item established by the node.
In some embodiments, the signaling information includes identifiers of nodes arranged in sequence from the starting node to the ending node; when the first identifier of the received signaling information is the identifier of the node, other nodes except the end node establish a forwarding table item reaching the corresponding node, and after the identifier of the node in the signaling information is removed, the signaling information is forwarded to the next node; and the end node sends the notification message to the SDN controller under the condition that the first identifier of the received signaling information is the identifier of the end node.
In some embodiments, the forwarding path includes only a start node and an end node with a plurality of links therebetween; the method further comprises the following steps: the SDN controller determines a link used for flow of a specific service between a starting node and an ending node according to the topology information and the link utilization rate of each link in the network, wherein the link is a link between a first interface of the starting node and a second interface of the ending node; the signaling information carries an identifier corresponding to the first interface and an identifier corresponding to the second interface, and the forwarding table entry includes a correspondence between the identifier corresponding to the first interface and the identifier corresponding to the second interface, so that the start node forwards the traffic of the specific service to the end node through a link between the first interface and the second interface.
In some embodiments, the method further comprises: and the SDN controller receives new topology information after links between two adjacent nodes on the forwarding path are disconnected, and the new topology information is used as the topology information.
According to another aspect of the embodiments of the present disclosure, there is provided an SDN controller, including: the system comprises a receiving module, a judging module and a judging module, wherein the receiving module is used for receiving topology information of a network, the topology information comprises identification of each node in the network and connection relation among the nodes, and a link is formed between two nodes with the connection relation; a determining module, configured to determine, according to the topology information and a link utilization rate of each link in the network, a forwarding path corresponding to a traffic of a specific service, where the forwarding path includes at least a start node and an end node; a first sending module, configured to send signaling information to a starting node, so that the starting node forwards the signaling information to an end node according to the forwarding path, where the starting node establishes a forwarding table entry reaching a corresponding node after receiving the signaling information, and the end node sends notification information to the SDN controller after receiving the signaling information; and the second sending module is used for responding to the notification message and sending a flow forwarding instruction to the starting node so that the starting node forwards the flow of the specific service to the ending node according to the forwarding path, wherein the starting node forwards the flow of the specific service to the next node according to the forwarding table entry established by the starting node.
In some embodiments, the forwarding path includes only a start node and an end node with a plurality of links therebetween; the determining module is further configured to determine, according to the topology information and a link utilization rate of each link in the network, a link between the starting node and the ending node, where the link is used for traffic of a specific service, and the link is a link between a first interface of the starting node and a second interface of the ending node; the signaling information carries an identifier corresponding to the first interface and an identifier corresponding to the second interface, and the forwarding table entry includes a correspondence between the identifier corresponding to the first interface and the identifier corresponding to the second interface, so that the start node forwards the traffic of the specific service to the end node through a link between the first interface and the second interface.
In some embodiments, the receiving module is further configured to receive new topology information after a link between two adjacent nodes on the forwarding path is disconnected, and use the new topology information as the topology information.
According to another aspect of an embodiment of the present disclosure, there is provided an SDN controller, including: a memory; and a processor coupled to the memory, the processor configured to perform the method of any of the above embodiments based on instructions stored in the memory.
According to still another aspect of the embodiments of the present disclosure, there is provided a traffic forwarding system, including: the SDN controller of any one of the above embodiments; the SDN controller is used for sending signaling information to the starting node; forwarding the signaling information to a next node according to the forwarding path; after receiving a flow forwarding instruction, forwarding the flow of the specific service to a next node according to a forwarding table item established by the node; and the end node is used for sending a notification message to the SDN controller after receiving the signaling information, so that the SDN controller sends a flow forwarding instruction to the start node in response to the notification message.
In some embodiments, the system further comprises: the intermediate node is positioned between the starting node and the ending node and used for establishing a forwarding table entry reaching the corresponding node according to the received signaling information; forwarding the signaling information to a next node according to the forwarding path; and forwarding the flow of the specific service to the next node according to the forwarding table entry established by the node.
In some embodiments, the signaling information includes identifiers of nodes arranged in sequence from the starting node to the ending node; the other nodes except the end node are also used for establishing a forwarding table item reaching the corresponding node under the condition that the first identifier of the received signaling information is the identifier of the other nodes, and forwarding the signaling information to the next node after the identifier of the other nodes in the signaling information is removed; the end node is configured to send the notification message to the SDN controller if the first identifier of the received signaling information is a self identifier.
In some embodiments, the topology information is sent by a neighbor node that establishes a neighbor relationship with an SDN controller; the neighbor node is further configured to send new topology information to an SDN controller after a link between two adjacent nodes on the forwarding path is disconnected, and the new topology information is used as the topology information.
According to a further aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the method according to any one of the embodiments described above.
In the embodiment of the disclosure, after determining a forwarding path corresponding to a flow of a specific service, the SDN controller only needs to send signaling information to the start node, the start node forwards the signaling information to the end node hop by hop according to the forwarding path, and the end node sends notification information to the SDN controller after receiving the signaling information. After the flow of the specific service reaches the starting node, the starting node forwards the flow of the specific service to the next node according to the forwarding table entry established by the starting node, so that the flow of the specific service can be forwarded to the ending node according to the forwarding path. In such a mode, the SDN controller does not need to issue instructions to each node, and signaling overhead is reduced.
The technical solution of the present disclosure is further described in detail by the accompanying drawings and examples.
Drawings
In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a schematic diagram of a network architecture according to some embodiments of the present disclosure;
fig. 2 is a flow diagram of a traffic forwarding method according to some embodiments of the present disclosure;
fig. 3 is a schematic structural diagram of a traffic forwarding device according to some embodiments of the present disclosure;
FIG. 4 is a schematic block diagram of a traffic forwarding device according to further embodiments of the present disclosure;
fig. 5 is a schematic structural diagram of a traffic forwarding system according to some embodiments of the present disclosure.
Detailed Description
The technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure, and it is obvious that the described embodiments are only a part of the embodiments of the present disclosure, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments disclosed herein without making any creative effort, shall fall within the protection scope of the present disclosure.
The relative arrangement of the components and steps, the numerical expressions, and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless specifically stated otherwise.
Meanwhile, it should be understood that the sizes of the respective portions shown in the drawings are not drawn in an actual proportional relationship for the convenience of description.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be discussed further in subsequent figures.
Fig. 1 is a schematic diagram of a network architecture according to some embodiments of the present disclosure.
As shown in fig. 1, the underlying network may include a plurality of nodes, for example, 10 nodes in total from R1 to R10. R3 is a node that establishes a neighbor relationship with the SDN controller. For example, R3 and the SDN controller may interact via BGP-LS (border gateway protocol Link-state) protocol. In some embodiments, a node may comprise a router.
Fig. 2 is a flow diagram of a traffic forwarding method according to some embodiments of the present disclosure.
At step 202, the SDN controller receives topology information of the network. Here, the network may include, for example, but not limited to, a local IP network or an MPLS (multiprotocol label switching) network. The topology information includes the identification of each node in the network and the connection relationship between the nodes. It should be understood that a link may be formed between two nodes having a connection relationship.
For example, a node (e.g., R3) that establishes a neighbor relationship with the SDN controller may collect a topology relationship of the network via the BGP-LS protocol and report to the SDN controller.
In step 204, the SDN controller determines a forwarding path corresponding to traffic of a specific service according to the topology information and the link utilization rate of each link in the network. Here, the forwarding path includes at least a start node (see R1 in fig. 1) and an end node (see R6 in fig. 1).
In some embodiments, the forwarding path may also include one or more intermediate nodes located between the starting node and the ending node. For example, the forwarding path may be R1 → R3 → R4 → R6. R3 and R4 are intermediate nodes.
In some embodiments, the link utilization of each link may be reported to the SDN controller directly or indirectly by a node in the network. For example, the SDN controller may determine, according to the link utilization of each link and the bandwidth requirement of a specific service, a forwarding path corresponding to traffic of the specific service, so that the forwarding path can meet the bandwidth requirement of the specific service, for example, it is ensured that the specific service is not congested, thereby ensuring end-to-end communication quality.
In step 206, the SDN controller sends signaling information to the originating node, so that the originating node forwards the signaling information to the end node according to the forwarding path. Here, the start node establishes a forwarding table entry to the corresponding node after receiving the signaling information, and the end node sends notification information to the SDN controller after receiving the signaling information, indicating that each node on the forwarding path has received the signaling information.
The corresponding node may be a next node or an end node. In some embodiments, the forwarding table entry may be a policy routing table, and the policy routing table may include an IP address of the end node and an IP address of a node next to the end node. In this case, the starting node establishes a forwarding table entry to the ending node after receiving the signaling information. In other embodiments, the forwarding table entry may be a label mapping table, and the label mapping table may include a mapping relationship between an in-label and an out-label. In this case, the starting node establishes a forwarding table entry to the next node after receiving the signaling information.
And under the condition that the forwarding path does not comprise the intermediate node, the starting node establishes a forwarding table entry reaching the ending node after receiving the signaling information. For example, in the case that the forwarding path is the starting node R1 → the ending node R6, the starting node R1 establishes a forwarding table entry to the next node, i.e., the ending node R6, after receiving the signaling information. The end node R6 sends notification information to the SDN controller after receiving the signaling information.
And under the condition that the forwarding path comprises the intermediate node, the intermediate node establishes a forwarding table entry reaching the corresponding node after receiving the signaling information, and forwards the signaling information to the next node according to the forwarding path. For example, the SDN controller sends signaling information to the start node R1, and the start node R1 forwards the signaling information to the end node R6 according to the forwarding path R1 → R3 → R4 → R6. Specifically, the start node R1 establishes a forwarding table entry to the corresponding node after receiving the signaling information, and forwards the signaling information to the intermediate node R3. After receiving the signaling information, the intermediate node R3 establishes a forwarding table entry to the corresponding node, and forwards the signaling information to the intermediate node R4. After receiving the signaling information, the intermediate node R4 establishes a forwarding table entry to the corresponding node R6, and forwards the signaling information to the end node R6. The end node R6 sends notification information to the SDN controller after receiving the signaling information.
In step 208, the SDN controller sends a traffic forwarding instruction to the originating node in response to the notification message, so that the originating node forwards traffic of the specific service to the terminating node according to the forwarding path. Here, the starting node forwards the traffic of the specific service to the next node according to the forwarding table entry established by the starting node.
When the forwarding table entry is the routing policy table, the start node may forward the traffic of the specific service to the next node according to the IP address of the next node in the policy routing table established by the start node. It should be understood that the traffic of a particular service carries the IP address of the end node. Because the IP address of the ending node and the IP address of the next node of the node are stored in the policy routing table, the starting node can forward the flow of the specific service to the next node according to the IP address of the next node in the policy routing table established by the starting node.
In the case that the forwarding table entry is a label mapping table, the start node may convert an incoming label carried by the traffic of the specific service into a corresponding outgoing label according to the label mapping table established by the start node, and forward the outgoing label to the next node. It should be appreciated that the traffic of a particular service arriving at the originating node carries the label. Because the mapping relationship between the incoming label and the outgoing label is stored in the label mapping table, the initial node can convert the incoming label carried by the flow of the specific service into the corresponding outgoing label according to the label mapping table established by the initial node and forward the corresponding outgoing label to the next node.
And under the condition that the forwarding path does not comprise the intermediate node, the starting node forwards the flow of the specific service to the ending node according to the forwarding table entry established by the starting node. For example, the start node may forward the traffic of a particular service to the end node according to the IP address of the next node in the policy routing table established by itself. For another example, the start node may convert an incoming label carried by the traffic of the specific service into a corresponding outgoing label according to a label mapping table established by the start node, and forward the outgoing label to the end node.
And under the condition that the forwarding path comprises the intermediate node, the starting node forwards the flow of the specific service to the intermediate node according to the forwarding table entry established by the starting node. Similarly, the intermediate node forwards the traffic of the specific service to a next node, such as a next intermediate node or an end node, according to the forwarding table entry established by the intermediate node. For example, the originating node may forward the traffic of a particular service to the intermediate node according to the IP address of the next node of the policy routing table established by itself. Or, the start node may convert an incoming label carried by the traffic of the specific service into a corresponding outgoing label according to a label mapping table established by the start node itself, and forward the outgoing label to the intermediate node. Likewise, the intermediate node may forward the traffic of the specific service to a next node, such as a next intermediate node or an end node, according to the IP address of the next node in the policy routing table established by itself. Or, the intermediate node may convert an incoming label carried by the traffic of the specific service into a corresponding outgoing label according to a label mapping table established by the intermediate node and forward the outgoing label to a next node, for example, a next intermediate node or an end node. For the intermediate node, the incoming label carried by the traffic of a specific service is the outgoing label in the label mapping table established by the start node, and so on.
In the above embodiment, after determining the forwarding path corresponding to the traffic of the specific service, the SDN controller only needs to send the signaling information to the start node, the start node forwards the signaling information to the end node hop by hop according to the forwarding path, and the end node sends notification information to the SDN controller after receiving the signaling information. After the flow of the specific service reaches the starting node, the starting node forwards the flow of the specific service to the next node according to the forwarding table entry established by the starting node, so that the flow of the specific service can be forwarded to the ending node according to the forwarding path. In such a mode, the SDN controller does not need to issue instructions to each node, and signaling overhead is reduced.
In addition, when determining the forwarding path corresponding to the traffic of the specific service, the embodiment of the present disclosure considers the link utilization rate of each link, and can meet the forwarding requirement of the traffic of the specific service.
In some embodiments, the signaling information sent by the SDN controller to the start node may include an identification of each node arranged in order from the start node to the end node. For example, the signaling information may be (R1, R3, R4, R6). And under the condition that the first identifier of the received signaling information is the identifier of the other nodes except the end node, establishing a forwarding table item reaching the corresponding node, and after the identifier of the other nodes except the end node in the signaling information is removed, forwarding the signaling information to the next node. And the end node sends a notification message to the SDN controller under the condition that the first identifier of the received signaling information is the identifier of the end node.
For example, the starting node R1 establishes a forwarding table entry to the next node R3 when the first identifier R1 of the received signaling information is the self identifier; after removing the identification R1 in the signaling information itself, the signaling information (R3, R4, R6) is forwarded to the next node R3. The intermediate node R3 establishes a forwarding table item reaching the next node R4 under the condition that the first identifier R3 of the received signaling information is the identifier of the intermediate node; after removing the own identity R3 in the signaling information, the signaling information (R4, R6) is forwarded to the next node R4. And so on until the signaling information (R6) is forwarded to the end node R6. The end node R6 sends a notification message to the SDN controller if the first identifier of the received signaling information is the self identifier R6.
In other embodiments, the signaling information sent by the SDN controller to the start node may include an identifier of each node and an IP address of each node, which are sequentially arranged in order from the start node to the end node. For example, the signaling information may be [ (R1, P1), (R3, P3), (R4, P4), (R6, P6) ]. R1, R3, R4 and R6 are identifiers of nodes, and P1, P3, P4 and P6 are IP addresses of the nodes. Here, the IP address of each node may be a physical address or a logical address.
And under the condition that the first identification of the received signaling information is the self identification, other nodes except the end node establish a strategy routing table reaching the end node, and after the self identification and the IP address in the signaling information are removed, the signaling information is forwarded to the next node. And the end node sends a notification message to the SDN controller under the condition that the first identifier of the received signaling information is the identifier of the end node.
It should be understood that other nodes than the end node may identify the identity and IP address of the end node from the signaling information.
For example, the start node R1 establishes a policy routing table to the end node R6 in case that the first identifier R1 of the received signaling information is its own identifier; after removing the identifier R1 and the IP address P1 from the signaling information itself, the signaling information [ (R3, P3), (R4, P4), (R6, P6) ] is forwarded to the next node R3. The intermediate node R3 establishes a strategy routing table to the end node R6 under the condition that the first identifier R3 of the received signaling information is the identifier of the intermediate node; after removing the identifier R3 and the IP address P3 from the signaling information itself, the signaling information [ (R4, P4), (R6, P6) ] is forwarded to the next node R4. And so on until the signaling information [ (R6, P6) ] is forwarded to the end node R6. The end node R6 sends a notification message to the SDN controller if the first identifier of the received signaling information is the self identifier R6.
In still other embodiments, the signaling information sent by the SDN controller to the start node may include an identifier of each node and a tag corresponding to each node, which are sequentially arranged in order from the start node to the end node. Here, the label corresponding to each node may be from topology information. It should be understood that the label corresponding to a node is a label corresponding to a certain interface of the node (for example, an interface connected to the next node). For example, the signaling information may include a tunnel list (TLL), which may be, for example, [ (R1, L1), (R3, L3), (R4, L4), (R6, L6) ]. R1, R3, R4 and R6 are identifiers of nodes, and L1, L3, L4 and L6 are labels corresponding to the nodes. The label in the label mapping table established by each node is the label corresponding to the node, and the label out is the label corresponding to the next node. For example, the entry label in the label mapping table established by the start node R1 is label L1 corresponding to the current node, the exit label is label L3 corresponding to the next node R3, and so on.
And under the condition that the first identification of the received signaling information is the self identification, other nodes except the end node establish a label mapping table reaching the next node, and after the self identification and the label in the signaling information are removed, the signaling information is forwarded to the next node. And the end node sends a notification message to the SDN controller under the condition that the first identifier of the received signaling information is the identifier of the end node.
For example, the start node R1 establishes a label mapping table to the next node R3 in case that the first identifier R1 of the received signaling information is its own identifier; after removing the own identifier R1 and label L1 in the signaling information, the signaling information [ (R3, L3), (R4, L4), (R6, L6) ] is forwarded to the next node R3. The intermediate node R3 establishes a label mapping table reaching the next node R4 under the condition that the first identifier R3 of the received signaling information is the identifier of the intermediate node R3; after removing the own identifier R3 and label L3 in the signaling information, the signaling information [ (R4, L4), (R6, L6) ] is forwarded to the next node R4. And so on until the signaling information [ (R6, L6) ] is forwarded to the end node R6. The end node R6 sends a notification message to the SDN controller if the first identifier of the received signaling information is the self identifier R6.
In some embodiments, if a link between two adjacent nodes on a forwarding path is broken, traffic of a specific service cannot be forwarded according to the previously determined forwarding path. For example, the forwarding path is R1 → R3 → R4 → R6, and when the link between R3 and R4 is disconnected, the traffic of the specific traffic cannot be forwarded according to the forwarding path R1 → R3 → R4 → R6.
In this case, R3 and R4 may perceive the link between them to be broken and broadcast flood within the network so that nodes establishing a neighbor relationship with the SDN controller may perceive the link between R3 and R4 to be broken. The node establishing the neighbor relation with the SDN controller may report the new topology information to the SDN controller. It should be understood that the identification of each node and the connection relationship between the nodes in the new topology information are different from the previous topology information. For example, there is no longer a link between R3 and R4.
The SDN controller may receive new topology information after a link between two adjacent nodes on the forwarding path is disconnected, and repeat steps 202 to 208 with the new topology information as the topology information in fig. 2. Namely, a new forwarding path is determined, a new signaling message is sent to the starting node, the starting node forwards the new signaling message to the ending node hop by hop according to the new forwarding path, and further, the flow of the specific service can be forwarded according to the new forwarding path.
In some embodiments, a forwarding path may include only a starting node and an ending node, and there may be multiple links between the starting node and the ending node. In such an embodiment, the SDN controller may determine, according to the topology information and a link utilization rate of each link in the network, a link between the start node and the end node for traffic of the specific service, where the link is between the first interface of the start node and the second interface of the end node. Correspondingly, a forwarding table item established by the starting node comprises a corresponding relation between the identifier corresponding to the first interface and the identifier corresponding to the second interface, so that the starting node forwards the flow of the specific service to the ending node through a link between the first interface and the second interface.
Here, in the case that the network is a local IP network, the identifiers corresponding to the first interface and the second interface may be addresses; in the case that the network is an MPLS network, the identifiers corresponding to the first interface and the second interface may be labels.
In the above embodiment, in the case that the forwarding path only includes the starting node and the ending node, the link between the starting node and the ending node for the traffic of the specific service may be determined according to the link utilization rate of each link in the network, for example, the link with the lowest link utilization rate, so as to meet the requirement of the specific service.
In the present specification, the embodiments are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same or similar parts in the embodiments are referred to each other. For the SDN controller embodiment, since it basically corresponds to the method embodiment, the description is relatively simple, and for relevant points, refer to partial description of the method embodiment.
Figure 3 is a schematic structural diagram of an SDN controller according to some embodiments of the present disclosure.
As shown in fig. 3, the SDN controller includes a receiving module 301, a determining module 302, a first sending module 303, and a second sending module 304.
The receiving module 301 is configured to receive topology information of a network, where the topology information includes an identifier of each node in the network and a connection relationship between the nodes, and two nodes having the connection relationship form a link. The determining module 302 is configured to determine a forwarding path corresponding to traffic of a specific service according to the topology information and a link utilization rate of each link in the network, where the forwarding path includes at least a start node and an end node. The first sending module 303 is configured to send signaling information to the start node, so that the start node forwards the signaling information to the end node according to a forwarding path, where the start node establishes a forwarding table entry reaching a corresponding node after receiving the signaling information, and the end node sends notification information to the SDN controller after receiving the signaling information. The second sending module 304 is configured to send a traffic forwarding instruction to the starting node in response to the notification message, so that the starting node forwards the traffic of the specific service to the ending node according to the forwarding path, where the starting node forwards the traffic of the specific service to a next node according to a forwarding table entry established by the starting node.
In some embodiments, the receiving module 301 is further configured to receive new topology information after a link between two adjacent nodes on the forwarding path is broken, and use the new topology information as the topology information. Accordingly, the determination module 302, the first transmission module 303, and the second transmission module 304 perform subsequent operations with the new topology information as topology information.
In some embodiments, the forwarding path includes only a start node and an end node with multiple links between them. The determining module 304 in this embodiment is further configured to determine, according to the topology information and the link utilization of each link in the network, a link between the starting node and the ending node for the traffic of the specific service, where the link is between the first interface of the starting node and the second interface of the ending node. In addition, in this embodiment, signaling information sent by the SDN controller to the start node carries an identifier corresponding to the first interface and an identifier corresponding to the second interface, and a forwarding entry established by the start node includes a correspondence between the identifier corresponding to the first interface and the identifier corresponding to the second interface, so that the start node forwards traffic of the specific service to the end node through a link between the first interface and the second interface.
Figure 4 is a block diagram of an SDN controller according to further embodiments of the present disclosure.
As shown in fig. 4, the SDN controller 400 includes a memory 401 and a processor 402 coupled to the memory 401, the processor 402 being configured to execute the method of any of the foregoing embodiments based on instructions stored in the memory 401.
The memory 401 may include, for example, a system memory, a fixed non-volatile storage medium, and the like. The system memory may store, for example, an operating system, application programs, a Boot Loader (Boot Loader), and other programs.
Fig. 5 is a schematic structural diagram of a traffic forwarding system according to some embodiments of the present disclosure.
As shown in fig. 5, the traffic forwarding system includes the SDN controller 501, the start node R1, and the end node R6 of any of the above embodiments.
The start node R1 is configured to establish a forwarding table entry reaching a corresponding node according to signaling information sent by the SDN controller; forwarding the signaling information to a next node according to the forwarding path; after receiving the flow forwarding instruction, forwarding the flow of the specific service to the next node according to the forwarding table entry established by the node. The end node R6 is configured to send a notification message to the SDN controller after receiving the signaling information, so that the SDN controller sends a traffic forwarding instruction to the start node in response to the notification message.
In some embodiments, referring to fig. 5, the traffic forwarding system further comprises intermediate nodes, such as intermediate node R3 and intermediate node R4, located between the starting node R1 and the ending node R6. The intermediate node is used for establishing a forwarding table item reaching the corresponding node according to the received signaling information; forwarding the signaling information to a next node according to the forwarding path; and forwarding the flow of the specific service to the next node according to the forwarding table entry established by the node.
In some embodiments, the signaling information sent by the SDN controller to the start node R1 includes the identities of the nodes arranged in order from the start node R1 to the end node R6. In such an embodiment, other nodes (e.g., R1, R3, or R4) besides the end node R6 are further configured to establish a forwarding table entry to the corresponding node if the first identifier of the received signaling information is the self identifier, and forward the signaling information to the next node after removing the self identifier from the signaling information. In such an embodiment, the end node R6 is configured to send a notification message to the SDN controller if the first identifier of the received signaling information is the self identifier.
In some embodiments, the topology information is sent by a neighbor node establishing a neighbor relationship with the SDN controller. Here, the neighbor node may be, for example, any one of nodes in the network. The neighbor node is further configured to send new topology information to the SDN controller after a link between two adjacent nodes on the forwarding path is disconnected, and use the new topology information as the topology information. Accordingly, the SDN controller determines a new forwarding path according to the new topology information.
In some embodiments, the neighboring node is different from the two nodes on the broken link. In other embodiments, the neighboring node is one of two nodes on a broken link.
As will be appreciated by one skilled in the art, embodiments of the present disclosure may be provided as a method, system, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that the functions specified in one or more of the flows in the flowcharts and/or one or more of the blocks in the block diagrams can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only exemplary of the present disclosure and is not intended to limit the present disclosure, so that any modification, equivalent replacement, or improvement made within the spirit and principle of the present disclosure should be included in the scope of the present disclosure.
Claims (14)
1. A traffic forwarding method, comprising:
the method comprises the steps that an SDN controller receives topology information of a network, wherein the topology information comprises identification of each node in the network and connection relation among the nodes, and a link is formed between two nodes with the connection relation;
the SDN controller determines a forwarding path corresponding to the flow of the specific service according to the topology information and the link utilization rate of each link in the network, wherein the forwarding path at least comprises a starting node and an ending node;
the SDN controller sends signaling information to the starting node so that the starting node can forward the signaling information to the ending node according to the forwarding path, wherein the starting node establishes a forwarding table item reaching a corresponding node after receiving the signaling information, and the ending node sends notification information to the SDN controller after receiving the signaling information;
and the SDN controller responds to the notification message and sends a flow forwarding instruction to the starting node so that the starting node forwards the flow of the specific service to the ending node according to the forwarding path, wherein the starting node forwards the flow of the specific service to a next node according to a forwarding table item established by the starting node.
2. The method of claim 1, wherein the forwarding path further comprises an intermediate node between the start node and the end node;
after receiving the signaling information, the intermediate node establishes a forwarding table entry reaching the corresponding node; forwarding the signaling information to a next node according to the forwarding path; and forwarding the flow of the specific service to the next node according to the forwarding table entry established by the node.
3. The method according to claim 1 or 2, wherein the signaling information comprises an identification of each node arranged in order from the starting node to the ending node;
when the first identifier of the received signaling information is the identifier of the node, other nodes except the end node establish a forwarding table item reaching the corresponding node, and after the identifier of the node in the signaling information is removed, the signaling information is forwarded to the next node;
and the end node sends the notification message to the SDN controller under the condition that the first identifier of the received signaling information is the identifier of the end node.
4. The method of claim 1, wherein the forwarding path includes only a start node and an end node with a plurality of links therebetween;
the method further comprises the following steps:
the SDN controller determines a link used for flow of a specific service between a starting node and an ending node according to the topology information and the link utilization rate of each link in the network, wherein the link is a link between a first interface of the starting node and a second interface of the ending node;
the signaling information carries an identifier corresponding to the first interface and an identifier corresponding to the second interface, and the forwarding table entry includes a correspondence between the identifier corresponding to the first interface and the identifier corresponding to the second interface, so that the start node forwards the traffic of the specific service to the end node through a link between the first interface and the second interface.
5. The method of claim 1, further comprising:
and the SDN controller receives new topology information after links between two adjacent nodes on the forwarding path are disconnected, and the new topology information is used as the topology information.
6. An SDN controller comprising:
the system comprises a receiving module, a judging module and a judging module, wherein the receiving module is used for receiving topology information of a network, the topology information comprises identification of each node in the network and connection relation among the nodes, and a link is formed between two nodes with the connection relation;
a determining module, configured to determine, according to the topology information and a link utilization rate of each link in the network, a forwarding path corresponding to a traffic of a specific service, where the forwarding path includes at least a start node and an end node;
a first sending module, configured to send signaling information to a starting node, so that the starting node forwards the signaling information to an end node according to the forwarding path, where the starting node establishes a forwarding table entry reaching a corresponding node after receiving the signaling information, and the end node sends notification information to the SDN controller after receiving the signaling information;
and the second sending module is used for responding to the notification message and sending a flow forwarding instruction to the starting node so that the starting node forwards the flow of the specific service to the ending node according to the forwarding path, wherein the starting node forwards the flow of the specific service to the next node according to the forwarding table entry established by the starting node.
7. The SDN controller of claim 6, wherein the forwarding path includes only a start node and an end node with a plurality of links therebetween;
the determining module is further configured to determine, according to the topology information and a link utilization rate of each link in the network, a link between the starting node and the ending node, where the link is used for traffic of a specific service, and the link is a link between a first interface of the starting node and a second interface of the ending node;
the signaling information carries an identifier corresponding to the first interface and an identifier corresponding to the second interface, and the forwarding table entry includes a correspondence between the identifier corresponding to the first interface and the identifier corresponding to the second interface, so that the start node forwards the traffic of the specific service to the end node through a link between the first interface and the second interface.
8. The SDN controller of claim 6, wherein,
the receiving module is further configured to receive new topology information after a link between two adjacent nodes on the forwarding path is disconnected, and use the new topology information as the topology information.
9. An SDN controller comprising:
a memory; and
a processor coupled to the memory, the processor configured to perform the method of any of claims 1-5 based on instructions stored in the memory.
10. A traffic forwarding system comprising:
the SDN controller of any one of claims 6-9;
the starting node is used for establishing a forwarding table item reaching the next node according to the signaling information sent by the SDN controller; forwarding the signaling information to a next node according to the forwarding path; after receiving a flow forwarding instruction, forwarding the flow of the specific service to a next node according to a forwarding table item established by the node;
and the end node is used for sending a notification message to the SDN controller after receiving the signaling information, so that the SDN controller sends a flow forwarding instruction to the start node in response to the notification message.
11. The system of claim 10, further comprising:
the intermediate node is positioned between the starting node and the ending node and used for establishing a forwarding table entry reaching the corresponding node according to the received signaling information; forwarding the signaling information to a next node according to the forwarding path; and forwarding the flow of the specific service to the next node according to the forwarding table entry established by the node.
12. The system of claim 10, wherein the signaling information includes an identification of each node arranged in order from the start node to the end node;
the other nodes except the end node are also used for establishing a forwarding table item reaching the corresponding node under the condition that the first identifier of the received signaling information is the identifier of the other nodes, and forwarding the signaling information to the next node after the identifier of the other nodes in the signaling information is removed;
the end node is configured to send the notification message to the SDN controller if the first identifier of the received signaling information is a self identifier.
13. The system of claim 10, wherein the topology information is sent by a neighbor node that establishes a neighbor relationship with an SDN controller;
the neighbor node is further configured to send new topology information to an SDN controller after a link between two adjacent nodes on the forwarding path is disconnected, and the new topology information is used as the topology information.
14. A computer readable storage medium having computer program instructions stored thereon, wherein the instructions, when executed by a processor, implement the method of any of claims 1-5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811530167.3A CN111327537B (en) | 2018-12-14 | 2018-12-14 | Flow forwarding method and system, SDN controller and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811530167.3A CN111327537B (en) | 2018-12-14 | 2018-12-14 | Flow forwarding method and system, SDN controller and computer readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111327537A CN111327537A (en) | 2020-06-23 |
CN111327537B true CN111327537B (en) | 2022-08-02 |
Family
ID=71170103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811530167.3A Active CN111327537B (en) | 2018-12-14 | 2018-12-14 | Flow forwarding method and system, SDN controller and computer readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111327537B (en) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022949A (en) * | 2013-02-28 | 2014-09-03 | 中兴通讯股份有限公司 | Method and device for long-time storage of cross-domain path information |
CN104579966A (en) * | 2013-10-14 | 2015-04-29 | 华为技术有限公司 | Method for generating forwarding table, forwarding nodes and controller |
WO2015180056A1 (en) * | 2014-05-28 | 2015-12-03 | 华为技术有限公司 | Optical network configuration device and method, transmission controller and physical node controller |
CN105490932A (en) * | 2014-09-19 | 2016-04-13 | 中兴通讯股份有限公司 | Two-way forwarding detection method, device and system |
CN105577564A (en) * | 2014-10-15 | 2016-05-11 | 青岛海尔智能家电科技有限公司 | Method and apparatus for high-efficiency signaling transmission |
CN106559330A (en) * | 2016-01-22 | 2017-04-05 | 国网智能电网研究院 | A kind of dynamic path planning method based on SDN |
CN106982162A (en) * | 2016-01-19 | 2017-07-25 | 华为技术有限公司 | Methods, devices and systems for forwarding service stream |
CN107005834A (en) * | 2015-01-30 | 2017-08-01 | 华为技术有限公司 | The method and apparatus of data processing |
CN107438983A (en) * | 2014-09-22 | 2017-12-05 | 沃尔廷控股公司 | Determine software defined network, storage and the physics and the compiler and method of virtual resource that calculate |
CN107566272A (en) * | 2017-10-17 | 2018-01-09 | 新华三技术有限公司 | Forward table method for building up and data forwarding method |
CN108293203A (en) * | 2015-11-27 | 2018-07-17 | 华为技术有限公司 | network node, wireless communication system and method |
CN108418755A (en) * | 2017-07-25 | 2018-08-17 | 新华三技术有限公司 | Data flow transmission method and device |
-
2018
- 2018-12-14 CN CN201811530167.3A patent/CN111327537B/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022949A (en) * | 2013-02-28 | 2014-09-03 | 中兴通讯股份有限公司 | Method and device for long-time storage of cross-domain path information |
CN104579966A (en) * | 2013-10-14 | 2015-04-29 | 华为技术有限公司 | Method for generating forwarding table, forwarding nodes and controller |
WO2015180056A1 (en) * | 2014-05-28 | 2015-12-03 | 华为技术有限公司 | Optical network configuration device and method, transmission controller and physical node controller |
CN105490932A (en) * | 2014-09-19 | 2016-04-13 | 中兴通讯股份有限公司 | Two-way forwarding detection method, device and system |
CN107438983A (en) * | 2014-09-22 | 2017-12-05 | 沃尔廷控股公司 | Determine software defined network, storage and the physics and the compiler and method of virtual resource that calculate |
CN105577564A (en) * | 2014-10-15 | 2016-05-11 | 青岛海尔智能家电科技有限公司 | Method and apparatus for high-efficiency signaling transmission |
CN107005834A (en) * | 2015-01-30 | 2017-08-01 | 华为技术有限公司 | The method and apparatus of data processing |
CN108293203A (en) * | 2015-11-27 | 2018-07-17 | 华为技术有限公司 | network node, wireless communication system and method |
CN106982162A (en) * | 2016-01-19 | 2017-07-25 | 华为技术有限公司 | Methods, devices and systems for forwarding service stream |
CN106559330A (en) * | 2016-01-22 | 2017-04-05 | 国网智能电网研究院 | A kind of dynamic path planning method based on SDN |
CN108418755A (en) * | 2017-07-25 | 2018-08-17 | 新华三技术有限公司 | Data flow transmission method and device |
CN107566272A (en) * | 2017-10-17 | 2018-01-09 | 新华三技术有限公司 | Forward table method for building up and data forwarding method |
Also Published As
Publication number | Publication date |
---|---|
CN111327537A (en) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10454806B2 (en) | SDN controller, data center system, and routing connection method | |
CN111327524B (en) | Flow forwarding method and system, SDN controller and computer readable storage medium | |
US8199755B2 (en) | Method and apparatus establishing forwarding state using path state advertisements | |
EP2425632B1 (en) | Virtual links in a routed ethernet mesh network | |
EP2157746A1 (en) | Routing control system for L3VPN service network | |
CN101686179B (en) | Transmission method, nodes and point-to-point network of link status release information | |
CN102204190B (en) | A path creation method and a device thereof | |
CN106789635B (en) | Message forwarding method and device | |
CN111327527B (en) | Flow forwarding method and system, SDN controller and computer readable storage medium | |
CN101505227A (en) | Method, device and system for implementing point to multi-point pseudowire | |
EP2553870B1 (en) | An operations, administrations and management proxy and a method for handling operations, administrations and management messages | |
CN106878072B (en) | Message transmission method and device | |
US8824451B2 (en) | Method and system for establishing an associated bidirectional label-switched path | |
CN113132229A (en) | Segment identifier determination method and device | |
EP2599270B1 (en) | A network device and method of routing traffic | |
CN102480368B (en) | Protecting method and system of aggregation link | |
EP3637688B1 (en) | Method and device for determining link state | |
EP2658177B1 (en) | Method for detecting tunnel faults and traffic engineering node | |
CN112929261A (en) | Fiber breakage preventing method and device for segmented routing tunnel, entrance node and storage medium | |
CN102857316A (en) | Method and system for realizing source looped network protection | |
CN101646105A (en) | Method, system and equipment for service recovery | |
EP2804352B1 (en) | Method and apparatus for processing residual information | |
CN111327537B (en) | Flow forwarding method and system, SDN controller and computer readable storage medium | |
EP2953299B1 (en) | Protection switching method, system and node | |
CN103117924B (en) | A kind of pretection switch method and apparatus |
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 |