CN106664235A - Converging method and apparatus for software defined network and traditional network - Google Patents

Converging method and apparatus for software defined network and traditional network Download PDF

Info

Publication number
CN106664235A
CN106664235A CN201480081299.6A CN201480081299A CN106664235A CN 106664235 A CN106664235 A CN 106664235A CN 201480081299 A CN201480081299 A CN 201480081299A CN 106664235 A CN106664235 A CN 106664235A
Authority
CN
China
Prior art keywords
forwarding
mapping
forwarding device
virtual
router
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.)
Granted
Application number
CN201480081299.6A
Other languages
Chinese (zh)
Other versions
CN106664235B (en
Inventor
周天然
刘恩慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN106664235A publication Critical patent/CN106664235A/en
Application granted granted Critical
Publication of CN106664235B publication Critical patent/CN106664235B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks

Abstract

Disclosed are a converging method and apparatus for a software defined network and a traditional network. The method comprises: receiving a request, input by a user, for creating at least one virtual router on an SDN; creating routing computation instances corresponding to the virtual routers on a one-to-one basis; establishing a mapping relationship between each of the routing computation instances and a forwarding device of the SDN; issuing a first instruction to the forwarding device having the mapping relationship with the routing computation instances; establishing a logical connection relationship among the forwarding devices corresponding to the virtual routers with a connection relationship thereamong in the request; and issuing a second instruction generated by running a routing protocol by the routing computation instances to the correspondingly mapped forwarding device so as to enable the forwarding device to forward a data packet sent by a traditional router according to the second instruction, thereby realizing convergence of the SDN and a traditional network.

Description

Method and device for fusing software defined network and traditional network
[ technical field ] A method for producing a semiconductor device
The present application relates to the field of communications, and in particular, to a method and an apparatus for merging a software-defined network and a legacy network.
[ background of the invention ]
Software Defined Networking (SDN) is a novel network architecture, and compared with IP routing lookup adopted in a conventional network, SDN can realize flexible control of network traffic, provides a good platform for innovation of a core network and application, and is a direction of network architecture development in the future. However, a great number of conventional routing devices exist in the conventional network nowadays, and the transition from the conventional network to the software-defined network is impossible from the viewpoint of protecting the original investment and the smooth transition of the function. Thus, the market needs a hybrid network modality that is compatible with software defined networks as well as legacy networks.
The prior art provides a system and a method for interconnecting an SDN network and an existing legacy network, in which the entire SDN network is abstracted into a router in the existing legacy network and merged into the entire legacy network. When the data packet passes through the whole SDN network, the data packet just passes through a router of a one-hop standard traditional network, so that the SDN network and the existing traditional network are mixed.
The prior art can only abstract the whole SDN network into a router in a conventional network, but in practical applications, the layouts of the forwarding devices of the SDN network and the routers in the conventional network may be various, for example, a part of the forwarding devices of the SDN network are in a zone, a part of the forwarding devices of the conventional network are in a zone, and a part of the forwarding devices of the SDN network are in a zone, and another part of the forwarding devices of the SDN network are in a zone C, wherein the zone a is adjacent to the zone B, the zone B is adjacent to the zone C, and the zone a is far away from the zone C. At this time, in the prior art, only the whole SDN network can be virtualized into a router in the conventional network, and the forwarding plane equivalent to one virtual router is divided into two parts by the router of the conventional network, so the above-mentioned merging manner is not preferable. In fact, according to the layout of the actual network, the user would prefer to virtualize the SDN networks in the area a and the area C into one router respectively, and then merge the router with the router in the conventional network in the area B, which cannot be achieved by the prior art.
[ summary of the invention ]
The application provides a method and a device for fusing a software defined network and a traditional network, which can realize flexible fusion of the software defined network and the traditional network according to user requirements.
The first aspect of the present application provides a method for fusing a software-defined network and a traditional network, where a forwarding device of the software-defined network and a traditional router of the traditional network have a connection relationship therebetween, and the method includes: receiving a request input by a user to create at least one virtual router on the software defined network, the request comprising the number of virtual routers and a connection relationship between the virtual routers; creating routing computation instances in one-to-one correspondence with the virtual routers, wherein the routing computation instances are used for running routing protocols to serve as control planes of the corresponding virtual routers; establishing a mapping relation between each routing calculation instance and forwarding equipment of the software defined network respectively so as to take the forwarding equipment mapped by the routing calculation instance as a forwarding plane of a virtual router corresponding to the routing calculation instance; sending a first instruction to the forwarding equipment which has a mapping relation with the route calculation example, wherein the first instruction is used for indicating the forwarding equipment which has a mapping relation with the route calculation example to send a route protocol message to the corresponding route calculation example after receiving the route protocol message; according to the connection relation between the virtual routers in the request, establishing a logical connection relation between forwarding devices corresponding to the virtual routers requesting the connection relation; and issuing a second instruction generated by the route calculation example running the route protocol to the forwarding equipment mapped correspondingly, so that the forwarding equipment forwards the data message sent by the traditional router according to the second instruction, and the integration of the software defined network and the traditional network is realized.
With reference to the first aspect, in a first possible implementation manner of the first aspect of the present application, the method further includes: and establishing a connection relation between the route calculation instances corresponding to the virtual routers requesting the connection relation according to the connection relation between the virtual routers in the request.
With reference to the first aspect, in a second possible implementation manner of the first aspect of the present application, the establishing a mapping relationship between each of the route calculation instances and a forwarding device of the software defined network specifically includes: and according to the mapping conditions input by the user, establishing a mapping relation between each routing calculation instance and forwarding equipment of the software defined network.
With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect of the present application, the mapping condition includes a connection relationship between the virtual router and the traditional router; correspondingly, the step of establishing a mapping relationship between each routing calculation instance and the forwarding device of the software defined network according to the mapping condition input by the user specifically comprises the following steps: and mapping the first forwarding equipment to a route calculation instance corresponding to the first virtual router according to the connection relation between the virtual router and the traditional router input by a user, wherein the first forwarding equipment and the first virtual router both have the connection relation with the first traditional router.
With reference to the first aspect or any one of the first to third possible implementation manners, in a fourth possible implementation manner of the first aspect of the present application, a mapping relationship between the route calculation instance and a forwarding device of the software-defined network is a one-to-one mapping.
With reference to the first aspect or any one of the first to third possible implementation manners, in a fifth possible implementation manner of the first aspect of the present application, a mapping relationship between the route calculation instance and forwarding devices of the software-defined network is a one-to-many mapping, where multiple forwarding devices mapped by the same route calculation instance form a cluster, and forwarding devices in the same cluster have a connection relationship.
With reference to the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect of the present application, the ingress forwarding device of the cluster at least includes a first-level flow table and a second-level flow table, where a first matching entry of the first-level flow table includes an ingress port number, a destination IP address, and a destination IP address mask, and a first execution action of the first-level flow table modifies a source media access control MAC address of a received data packet to an MAC address of an egress port of the egress forwarding device of the cluster, modifies a destination MAC address in a destination MAC address field of the data packet to an MAC address of an ingress port of the ingress forwarding device of a next hop of the egress forwarding device of the cluster, and forwards the destination MAC address to the second-level flow table; a second match of the second level flow table includes the source MAC address, a second action of the second level flow table being to forward the data packet to a next forwarding device in a shortest path along an ingress forwarding device of the cluster to an egress forwarding device of the cluster.
With reference to the first aspect or any one of the first to the third possible implementation manners, in a seventh possible implementation manner of the first aspect of the present application, the establishing a logical connection relationship between forwarding devices corresponding to virtual routers having a connection relationship specifically includes: and establishing a logical connection relation between forwarding devices corresponding to the virtual routers with the connection relation through a tunnel technology.
A second aspect of the present application provides a convergence apparatus for a software-defined network and a traditional network, where a forwarding device of the software-defined network and a traditional router of the traditional network have a connection relationship therebetween, the convergence apparatus including: the system comprises a receiving module, a creating module, a mapping module, a first sending module, a forwarding plane connecting module and a second sending module, wherein the receiving module is used for receiving a request input by a user for creating at least one virtual router on the software-defined network, the request comprises the number of the virtual routers and the connection relation between the virtual routers, and the receiving module sends the request to the creating module and the forwarding plane connecting module; the creating module is configured to create routing computation instances in one-to-one correspondence with the virtual routers, where the routing computation instances are used to run a routing protocol to serve as a control plane of the corresponding virtual router, and the creating module sends a creating result of the routing computation instance to the mapping module; the mapping module is configured to establish a mapping relationship between each routing computation instance and forwarding equipment of the software-defined network, so that the forwarding equipment mapped by the routing computation instance is used as a forwarding plane of a virtual router corresponding to the routing computation instance, and the mapping module sends the mapping result to the first forwarding module; the first sending module is used for sending a first instruction to the forwarding equipment which has a mapping relation with the route calculation example, and the first instruction is used for indicating the forwarding equipment which has the mapping relation with the route calculation example to send a route protocol message to the corresponding route calculation example after receiving the route protocol message; the forwarding plane connection module is used for establishing a logical connection relationship between forwarding devices corresponding to the virtual routers requesting the connection relationship according to the connection relationship between the virtual routers in the request, and the result of the logical connection relationship established by the forwarding plane connection module is sent to the second issuing module; the second issuing module is used for issuing a second instruction generated by the route calculation example running the route protocol to the forwarding device mapped correspondingly, so that the forwarding device forwards the data message sent by the traditional router according to the second instruction, and the integration of the software defined network and the traditional network is realized.
With reference to the second aspect, in a first possible implementation manner of the second aspect of the present application, the apparatus further includes a control plane connection module, configured to establish a connection relationship between the route calculation instances corresponding to the virtual routers that request the connection relationship according to the connection relationship between the virtual routers in the request.
With reference to the second aspect, in a second possible implementation manner of the second aspect of the present application, the mapping module is specifically configured to establish a mapping relationship between each of the route calculation instances and a forwarding device of the software-defined network according to a mapping condition input by a user.
With reference to the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect of the present application, the mapping condition includes a connection relationship between the virtual router and the legacy router; correspondingly, the mapping module is more specifically configured to map, according to a connection relationship between the virtual router and the conventional router input by a user, a first forwarding device to a route calculation instance corresponding to the first virtual router, where the first forwarding device and the first virtual router both have a connection relationship with the first conventional router.
With reference to the second aspect or any one of the first to the third possible implementation manners, in a fourth possible implementation manner of the second aspect of the present application, a mapping relationship between the route calculation instance and a forwarding device of the software-defined network is a one-to-one mapping.
With reference to the second aspect or any one of the first to the third possible implementation manners, in a fifth possible implementation manner of the second aspect of the present application, a mapping relationship between the route calculation instance and forwarding devices of the software-defined network is a one-to-many mapping, where multiple forwarding devices mapped by the same route calculation instance form a cluster, and forwarding devices in the same cluster have a connection relationship.
With reference to any one of the fifth possible implementation manners of the second aspect, in a sixth possible implementation manner of the second aspect of the present application, the ingress forwarding device of the cluster at least includes a first-level flow table and a second-level flow table, where a first matching entry of the first-level flow table includes an ingress port number, a destination IP address, and a destination IP address mask, and a first execution action of the first-level flow table modifies a source media access control MAC address of a received data packet to a MAC address of an egress port of an egress forwarding device of the cluster, modifies a destination MAC address in a destination MAC address field of the data packet to a MAC address of an ingress port of an ingress forwarding device of a next hop of the egress forwarding device of the cluster, and forwards the destination MAC address to the second-level flow table; a second match of the second level flow table includes the source MAC address, a second action of the second level flow table being to forward the data packet to a next forwarding device in a shortest path along an ingress forwarding device of the cluster to an egress forwarding device of the cluster.
With reference to the second aspect or any one of the first to the third possible implementation manners, in a seventh possible implementation manner of the second aspect of the present application, the forwarding plane connection module is specifically configured to establish a logical connection relationship between forwarding devices corresponding to virtual routers having a connection relationship through a tunneling technique.
In the above scheme, the number of the virtual routers and the connection relationship of the virtual routers can be set according to the needs of users, then a control plane of each virtual router is created according to the number of the virtual routers and the connection relationship between the virtual routers, the connection relationship between the virtual routers is established on the data plane, and the routing protocol messages sent by the traditional routers are sent to the control plane by indicating the forwarding plane, so that the control plane can indicate the corresponding forwarding plane to forward the data messages sent by the traditional routers, thereby realizing the transmission of the data messages between the virtual routers and the traditional routers, and further realizing the fusion of the software-defined network virtual traditional network and the traditional network. Moreover, the number of the virtual routers and the connection relation of the virtual routers can be set according to the needs of users, and flexible fusion between a virtual traditional network and a traditional network of a software defined network can be realized.
[ description of the drawings ]
FIG. 1 is a flow chart of an embodiment of a convergence method of a software defined network and a conventional network according to the present application;
FIG. 2 is a block diagram of one embodiment of the fusion of the software defined network and the legacy network of the present application;
FIG. 3 is a block diagram of another embodiment of the fusion of the software defined network of the present application with a legacy network;
FIG. 4 is a block diagram of yet another embodiment of the fusion of the software defined network and the legacy network of the present application;
FIG. 5 is a schematic structural diagram of an embodiment of a convergence device of the software defined network and the conventional network according to the present application;
fig. 6 is a schematic structural diagram of an embodiment of the controller of the present application.
[ detailed description ] embodiments
In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular system structures, interfaces, techniques, etc. in order to provide a thorough understanding of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
In the following description, a router is used to describe a device having a function of judging a network address and selecting an IP path in a conventional network. The forwarding device is used for describing a device with a function of forwarding messages according to a forwarding flow table in the software defined network.
Referring to fig. 1 and 2, fig. 1 is a flowchart illustrating a method for fusing a software-defined network and a conventional network according to the present application, and fig. 2 is a framework diagram illustrating an embodiment of the fusing of the software-defined network and the conventional network according to the present application. The execution subject of the method may be the SDN controller 250. The method for fusing the software defined network and the traditional network comprises the following steps:
110: receiving a user-input request to create at least one virtual router on the SDN, the request including the number of virtual routers and a connection relationship between the virtual routers.
Referring to fig. 2, the SDN includes forwarding devices 2121, 2123, 2221, 2321, 2323, and 2325, and the legacy network includes a legacy router 240. The connection relationship between the forwarding device of the SDN and the conventional router of the conventional network is as follows: the forwarding device 2121 and the forwarding device 2221 are both connected to the conventional router 240. According to the distribution of the current SDN network and the traditional network, a user may create a plurality of virtual routers on the SDN as needed for interacting with the traditional routers in the traditional network, where: creating three virtual routers 210, 220, 230; the connection relationship between the virtual routers to be set is as follows: the virtual router 210 is connected to the virtual router 220, the virtual router 220 is connected to the virtual router 230, and the virtual router 230 is connected to the virtual router 210. The user inputs a request including the number of virtual routers and the connection relationship to the SDN controller 250 to request the SDN controller 250 to create the virtual routers 210, 220, 230.
120: and creating routing computation instances in one-to-one correspondence with the virtual routers, wherein the routing computation instances are used for running a routing protocol to serve as a control plane of the corresponding virtual routers.
Specifically, a route calculation instance 211 corresponding to the virtual router 210 is created as a control plane of the virtual router 210, a route calculation instance 221 corresponding to the virtual router 220 is created as a control plane of the virtual router 220, and a route calculation instance 231 corresponding to the virtual router 230 is created as a control plane of the virtual router 230.
Wherein the route calculation instances 211, 221, 231 may be created directly on the SDN controller 250 and run on different virtual machines of the SDN controller 250, respectively; or may be created on different cloud servers (as shown in fig. 2); or only one cloud server is created and respectively run on different virtual machines of the cloud server. It can be understood that the above-mentioned routing computation example is a logical concept, and each routing computation example provides a control plane function for one virtual router, but in terms of physical implementation, the routing computation example may also be divided into a plurality of parts, and different parts are implemented on different cloud servers or virtual machines, for example, the SDN controller is connected with two cloud servers, so that the routing computation examples corresponding to one virtual router created by the SDN are respectively implemented on the two cloud servers together, and thus the routing computation examples and the virtual routers provided in the present application correspond to each other in a logical concept rather than in a physical implementation.
130: and establishing a mapping relation between each route calculation instance and forwarding equipment of an SDN (software defined network) respectively, so that the forwarding equipment mapped by the route calculation instance is used as a forwarding surface of a virtual router corresponding to the route calculation instance.
In mapping, the mapping may be performed in a manually specified manner, or an autonomous mapping between the route calculation instance and the forwarding device of the SDN may be implemented by some algorithm (for example, by using a heuristic algorithm).
For example, if the user does not input a specific mapping condition, the SDN controller 250 may perform mapping autonomously, establishing a mapping relationship between the route calculation instance and a forwarding device of the SDN. The specific mapping relationship may include a port-level mapping, i.e., a mapping between a port ID of a routing computation instance and a port ID of a corresponding forwarding device.
Generally, however, a user generally inputs some mapping conditions to constrain a specific mapping relationship, and at this time, the SDN controller 250 may perform mapping according to the mapping conditions input by the user. For example, if the mapping condition input by the user includes a connection relationship between the virtual router and the legacy router, the SDN controller maps the first forwarding device to the route calculation instance corresponding to the first virtual router, where the first forwarding device and the first virtual router both have a connection relationship with the first legacy router. As shown in fig. 3, a user inputs to the SDN controller 250 that the virtual routers 210 and 220 have a connection relationship with a conventional router (the conventional router represents a conventional router 240 in a conventional network), and forwarding devices 2121 and 2221 of the SDN are connected to the conventional router 240, so that the forwarding device 2121 of the SDN is mapped to a route calculation instance 211 corresponding to the virtual router 210, and the forwarding device 2221 of the SDN is mapped to a route calculation instance 221 corresponding to the virtual router 220.
Of course, the mapping condition input by the user may also be other, such as processing capability of each route calculation instance, and the like, and the SDN controller maps more forwarding devices or forwarding devices with larger forwarding capability for the route calculation instance with larger processing capability; such as geographic information serving the virtual router 230, idle SDN forwarding devices 2321, 2323, 2325 located at or near the virtual router 230 service site are mapped to the routing computation instance 231 corresponding to the virtual router 230 according to the location information of each forwarding device of the SDN.
The mapping between the route calculation instance and the corresponding forwarding device of the SDN may be one-to-one mapping or one-to-many mapping, multiple forwarding devices mapped by the same route calculation instance form a cluster, and the forwarding devices in the same cluster have a connection relationship. For example, the route calculation instance 211 is mapped to forwarding devices 2121 and 2123 of the SDN, and the forwarding devices 2121 and 2123 form a cluster as a forwarding plane 212 of the virtual router 210; the route calculation instance 221 is mapped to a forwarding device 2221 of the SDN as a forwarding plane 222 of the virtual router 220; the routing computation instance 231 maps the forwarding devices 2321, 2323 and 2325 of the SDN, and the forwarding devices 2321, 2323 and 2325 form a cluster as the forwarding plane 232 of the virtual router 230.
When mapping is performed, it is necessary to ensure that forwarding devices in the same cluster have a connection relationship. For example, there is a connection between forwarding device 2121 and forwarding device 2123 of the cluster to which routing computation instance 211 corresponds; a connection exists between the forwarding device 2321 and the forwarding device 2323 of the cluster corresponding to the routing calculation instance 231, a connection exists between the forwarding device 2323 and the forwarding device 2325, and a connection exists between the forwarding device 2321 and the forwarding device 2325.
Moreover, forwarding devices corresponding to the virtual routers with the connection relationship are physically reachable. For example, if the virtual router 210 and the virtual router 220 have a connection relationship, it is necessary to ensure that a physical link must exist between the forwarding device 2121 or 2123 corresponding to the virtual router 210 and the forwarding device 2221 corresponding to the virtual router 220. If the virtual router 220 and the virtual router 230 have a connection relationship, it is necessary to ensure that a physical link must exist between the forwarding device 2221 corresponding to the virtual router 220 and the forwarding device 2321, 2323, or 2325 corresponding to the virtual router 230. If the routing computation instance 210 and the routing computation instance 230 have a connection relationship, it must be ensured that a physical link must exist between the forwarding device 2121 or 2123 corresponding to the virtual router 210 and the forwarding device 2321, 2323 or 2325 corresponding to the virtual router 230.
When the route calculation instance is in one-to-one correspondence with the forwarding device of the SDN, an ingress port of the forwarding device of the SDN is an ingress port of the route calculation instance, and an egress port of the forwarding device of the SDN is an egress port of the route calculation instance. When the route calculation instance and forwarding devices of the SDN are one-to-many, multiple forwarding devices of the SDN corresponding to the same route calculation instance form a cluster, at this time, one port of one forwarding device in the cluster needs to be selected as an ingress port, one port except the ingress port in the cluster needs to be selected as an egress port, and the ingress port and the egress port of a specific cluster are determined according to a path selected by actual route calculation.
After the mapping is completed, the SDN controller 250 records the mapping relationship, such as saving the mapping relationship on a mapping table.
140: and issuing a first instruction to the forwarding equipment which has a mapping relation with the routing calculation example, wherein the first instruction is used for indicating the forwarding equipment which has the mapping relation with the routing calculation example to send a routing protocol message to the corresponding routing calculation example after receiving the routing protocol message.
After the mapping relationship is established, the first instruction may be issued to the forwarding device in the form of a flow table entry. Specifically, for example, the SDN controller 250 sends a flow entry to the forwarding devices 2121 and 2123 of the SDN, so as to instruct the forwarding devices 2121 and 2123 to send, after receiving a routing protocol packet (for example, the forwarding device 2121 may receive a routing protocol packet sent by the conventional router 240), the routing protocol packet to the corresponding routing computation instance 212; sending a flow table entry to a forwarding device 2221 of the SDN to indicate that the forwarding device 2221 sends a routing protocol packet to a corresponding routing computation instance 222 after receiving the routing protocol packet; sending a flow table entry to forwarding devices 2321, 2323, and 2325 of the SDN to indicate that the forwarding devices 2321, 2323, and 2325 send the routing protocol packet to the corresponding routing computation instance 232 after receiving the routing protocol packet, so as to ensure that all routing computation instances corresponding to the virtual router can receive the routing protocol through the forwarding devices, and generate a flow table capable of indicating the corresponding forwarding devices to forward the data packet sent by the traditional router.
150: and establishing a logical connection relation between forwarding devices corresponding to the virtual routers requesting the connection relation according to the connection relation between the virtual routers in the request.
At this point, although a mapping between the route computation instance and the forwarding devices of the SDN has been established, no connection has been established between the forwarding planes of the different virtual routers. Therefore, the data packet cannot be forwarded from the forwarding device corresponding to one virtual router to the forwarding device corresponding to another virtual router. Therefore, the forwarding plane establishment request needs to have a logical connection between forwarding devices corresponding to virtual routers having a connection relationship.
When the logical connection is established, if the direct physical connection exists between the forwarding devices corresponding to the virtual routers which need to have the connection relation in the request, the existing physical link can be used for establishing the logical connection between the forwarding devices; if the forwarding devices corresponding to the virtual routers which need to have the connection relationship in the request do not have direct physical connection but are physically reachable, the forwarding devices can pass through irrelevant devices through the tunnel technology and are logically connected.
For example, continuing to participate in fig. 2, since there is a connection between virtual router 210 and virtual router 220 in the request, a logical connection is established between forwarding device 2121 and forwarding device 2221 as a connection between forwarding plane 212 of virtual router 210 and forwarding plane 222 of virtual router 220. Since there is a connection between the virtual router 220 and the virtual router 230 in the request, a logical connection is established between the forwarding device 2221 and the forwarding device 2321 as a connection between the forwarding plane 222 of the virtual router 220 and the forwarding plane 232 of the virtual router 230. Since there is a connection between the virtual router 230 and the virtual router 210 in the request, a logical connection is established between the forwarding device 2325 and the forwarding device 2123 as a connection between the forwarding plane 232 of the virtual router 230 and the forwarding plane 212 of the virtual router 210.
After the logical connection is established between the forwarding devices corresponding to different virtual routers, the different virtual routers have the capability of mutually forwarding data messages.
Further, in order to avoid that the routing protocol packet of the control plane of the virtual router needs to be forwarded through the forwarding plane, a connection relationship may be established between the routing calculation instances corresponding to the virtual routers requesting the connection relationship according to the connection relationship between the virtual routers in the request. As shown in fig. 4, since there is a connection between the virtual router 210 and the virtual router 220 in the request, a connection is established between the route calculation instance 211 and the route calculation instance 221 as a connection between the virtual router 210 and the control plane of the virtual router 220. Since there is a connection between the virtual router 220 and the virtual router 230 in the request, a connection is established between the route calculation instance 221 and the route calculation instance 231 as a connection between the virtual router 220 and the control plane of the virtual router 230. Since there is a connection between the virtual router 230 and the virtual router 210 in the request, a connection is established between the route calculation instance 231 and the route calculation instance 211 as a connection between the virtual router 230 and the control plane of the virtual router 210.
Wherein, the connection between the routing computation instances can be established through a switch. When different routing computation instances run on different physical devices, the routing computation instances are connected through the physical switching device, and when different routing computation instances run on different virtual machines of the same physical device, the routing computation instances are connected through a virtual switching device (vSwitch).
For example, a switching device is provided between route calculation instances a and B, one port of the switching device being connected to a port of route calculation instance a and the other port of the switching device being connected to a port of route calculation instance B. The routing protocol message sent by the routing calculation example A can be sent to the routing calculation example B through the switching equipment, and the routing protocol message sent by the routing calculation example B can also be sent to the routing calculation example A through the switching equipment, so that the exchange of control information between the routing calculation examples A and B is realized. Therefore, the routing protocol message can be directly transmitted between the control planes of different virtual routers.
160: and issuing a second instruction generated by the route calculation example running the route protocol to the forwarding equipment mapped correspondingly, so that the forwarding equipment forwards the data message sent by the traditional router according to the second instruction, and the integration of the software defined network and the traditional network is realized.
For example, please continue to participate in fig. 2, after receiving a routing protocol packet of the conventional router 240 sent by the corresponding forwarding device 2121, the routing calculation example 211 runs the routing protocol, and the routing protocol generates a second instruction indicating how the forwarding devices 2121 and 2123 mapped by the routing calculation example 211 forward the data packet sent by the conventional router 240, where the second instruction may be issued to the corresponding forwarding devices 2121 and 2123 by the SDN controller 250 in the form of a flow entry, and after receiving the flow entry, the forwarding devices 2121 and 2123 may forward the data packet sent by the conventional router 240 according to the flow entry. Further, the route calculation instance 211 generates a new route protocol packet based on the received route protocol packet, and sends the new route protocol packet to the route calculation instances 221 and 231 of other virtual routers having a connection relationship with the virtual router 210 corresponding to the route calculation instance 211 through the SDN controller 250. For example, the routing calculation instance 211 generates a new routing protocol packet according to the received routing protocol packet sent by the conventional router 240, and obtains, through routing calculation, which ports to send the new routing protocol packet to the routing calculation instances 221 and 231 corresponding to the virtual routers 220 and 230 having a connection relationship with the virtual router 210, specifically, to send the new routing protocol packet to the routing calculation instance 221 through the port 1 of the routing calculation instance and send the new routing protocol packet to the routing calculation instance 231 through the port 2. The SDN controller 250, according to the port information calculated by the route calculation example 211 and the port connection relationship between the route calculation example and the forwarding device, for example, the port 1 of the route calculation example 211 is mapped to the port 1 of the forwarding device 2121, the port 2 of the route calculation example 211 is mapped to the port 1 of the forwarding device 2123, and the SDN controller 250 issues a new route protocol packet and an instruction generated by the route calculation example 211 to the forwarding devices 2121 and 2123 to instruct the forwarding device 2121 to send the new route protocol packet generated by the route calculation example 211 to the forwarding device 2221 through the port 1, and instruct the forwarding device 2123 to send the new route protocol packet generated by the route calculation example 211 to the forwarding device 2325 through the port 1. After receiving the new routing protocol packet, the forwarding devices 2221 and 2325 send the new routing protocol packet to the corresponding routing computation instances 221 and 231, respectively. Similar to the routing computation example 211, after receiving the routing protocol packet, the routing computation examples 221 and 231 generate flow tables and send the flow tables to corresponding forwarding devices, regenerate a new routing protocol packet and determine port information of the newly generated routing protocol packet to be sent, instruct, through the SDN controller 250, the forwarding devices having a mapping relationship with the determined port to forward the newly generated routing protocol packet to the forwarding devices corresponding to other virtual routers, and so on, so that the routing computation example corresponding to each virtual router can share the routing information of the conventional router 240 according to the received routing protocol packet, thereby generating corresponding flow tables so that the corresponding forwarding devices can forward data packets sent by the conventional router 240, and thus realizing that data packets can be normally transmitted between the forwarding devices of the SDN and the conventional router, therefore, the fusion between the SDN and the traditional network is realized.
Further, in the above-mentioned embodiment (as shown in fig. 4) where the routing protocol packet transmission between the virtual routers is forwarded through the forwarding plane, and the routing protocol packet of the virtual router may be directly sent through the control plane in the implementation where the routing computation instances corresponding to the virtual routers have a connection relationship (for example, referring to fig. 4), the routing computation instances have correspondingly established a connection according to the connection relationship between the virtual routers, after receiving the routing protocol packet sent by the conventional router 240 and sent by the forwarding device 2121, the routing computation instance 211 obtains through which ports the newly generated routing protocol packet is sent to the routing computation instances 221, 231 having a connection relationship with the routing protocol packet, and directly sends the newly generated routing protocol packet to the routing computation instances 221, 231 through the corresponding ports, and similarly, the routing computation instance 221 directly sends the newly generated routing protocol packet to the routing computation instances 221, 231 through the corresponding ports 231, after receiving the routing protocol packet sent by the routing computation instance 211, re-generates a new routing protocol packet, and directly sends the new routing protocol packet to other routing computation instances connected to the new routing protocol packet. Therefore, the routing protocol message of the control plane of the virtual router can be prevented from being forwarded through the forwarding plane, and the efficiency of transmitting the routing protocol message among the routing calculation examples is improved.
Specifically, in the data packet forwarding process, the SDN controller 250 calculates a shortest path between an ingress port of the cluster and an egress port of the cluster, generates a flow forwarding table for a forwarding device on the shortest path, and sends the flow forwarding table to each forwarding device on the shortest path. The SDN controller at least generates a first-stage flow table and a second-stage flow table which are two stages of flow tables for an inlet forwarding device of a cluster, wherein a first matching item of the first-stage flow table comprises an inlet port number, a destination IP address and a destination IP address mask, and optionally comprises a source MAC address, a destination MAC address and the like, a first execution action of the first-stage flow table is used for modifying a source Media Access Control (MAC) address of a received data message into an MAC address of an outlet port of an outlet forwarding device of the cluster, modifying a destination MAC address in a destination MAC address field of the received data message into an MAC address of an inlet port of an inlet forwarding device of the next hop of the outlet forwarding device of the cluster, and forwarding the destination flow table to the second-stage flow table; the second matching entry of the second level flow table includes a source MAC address and the like, and the second performing action of the second level flow table forwards the datagram to a next forwarding device along a shortest path between an ingress forwarding device of the cluster to an egress forwarding device of the cluster. The SDN controller generates a third-level flow table for other forwarding devices in the cluster except for the forwarding device at the inlet, a third matching item of the third-level flow table comprises a source MAC address and the like, a third execution action of the third-level flow table is used for forwarding the data message to a next forwarding device in a shortest path from the inlet forwarding device of the cluster to the outlet forwarding device of the cluster, and if the current forwarding device is the outlet forwarding device, the data message is forwarded to the inlet forwarding device of a next hop cluster.
For example, continuing to refer to fig. 2, the conventional router 240 sends a data packet to the forwarding device 2121, and determines, according to a routing calculation result, that a routing path of the data packet includes forwarding from the cluster 212 to the cluster 232, at this time, the SDN controller 250 uses the forwarding device 2121 as an ingress forwarding device of the cluster 212, the forwarding device 2123 as an egress forwarding device of the cluster 212, a next hop of the cluster 212 is the cluster 232, and an ingress forwarding device of the cluster 232 is the forwarding device 2325. The SDN controller 250 generates two levels of flow tables, a first level flow table and a second level flow table, for the forwarding device 2121. When the ingress forwarding device 2121 of the cluster 212 receives the packet, the data packet is first matched according to the first matching entry of the first-level flow table, and if the matching is successful, the first execution action is executed to modify the source MAC address of the received packet into the MAC address of the egress port of the egress forwarding device 2123 of the cluster, modify the destination MAC address in the destination MAC address field of the received data packet into the MAC address of the ingress port of the ingress forwarding device 2325 of the next-hop cluster 232 of the egress forwarding device 2123 of the cluster, and then turn to the second-level flow table. The ingress forwarding device 2121 of the cluster matches the data packet generated by executing the first action according to the second matching entry of the second-level flow table, and if the matching is successful, the ingress forwarding device 2121 of the cluster performs the second execution action to forward the data packet to the next forwarding device in the shortest path between the ingress forwarding device of the cluster and the egress forwarding device of the cluster, and since only the ingress forwarding device 2121 and the egress forwarding device 2123 are in the cluster 212, the data packet is forwarded to the egress forwarding device 2123.
After receiving the data packet, the egress forwarding device 2123 matches the data packet according to the third matching entry of the third-level flow table, and if the matching is successful, executes a third execution action, and since the current forwarding device is the egress forwarding device 2123, forwards the data packet to the ingress forwarding device 2325 of the next-hop cluster 232. Of course, when the shortest path from the other cluster ingress forwarding device to the egress forwarding device further includes other intermediate forwarding devices, the ingress forwarding device forwards the data packet to the next intermediate forwarding device in the shortest path from the ingress forwarding device of the cluster to the egress forwarding device of the cluster. And when the intermediate forwarding equipment receives the data message, executing a third execution action to forward the data message to the next forwarding equipment in the shortest path from the inlet forwarding equipment of the cluster to the outlet forwarding equipment of the cluster. And repeating the execution until the data message is forwarded out from the outlet forwarding equipment of the cluster.
It is to be understood that the division of the method steps of the present application is not limited to the present application, and in other embodiments, the division of the method steps of the present application may be adjusted according to the actual situation.
Through the scheme, the number of the virtual routers and the connection relation of the virtual routers can be set according to the needs of users, then the control plane of each virtual router is established according to the number of the virtual routers and the connection relation between the virtual routers, the connection relation between the virtual routers is established on the data plane, and the routing protocol messages sent by the traditional routers are sent to the control plane through the indication forwarding plane, so that the control plane can indicate the corresponding forwarding plane to forward the data messages sent by the traditional routers, the transmission of the data messages between the virtual routers and the traditional routers is realized, and the fusion of the software-defined network virtual traditional network and the traditional network is realized. In addition, the number of the virtual routers and the connection relation of the virtual routers in the scheme can be set according to the needs of users, and flexible fusion between a virtual traditional network and a traditional network of a software defined network can be realized.
Referring to fig. 5, fig. 5 is a schematic structural diagram of an embodiment of a convergence device of the software defined network and the conventional network according to the present application. The device for fusing the software defined network and the conventional network according to the present embodiment includes: a receiving module 510, a creating module 520, a mapping module 530, a first issuing module 540, a forwarding plane connection module 550, and a second issuing module 560.
The receiving module 510 is configured to receive a request input by a user to create at least one virtual router on the SDN, where the request includes the number of virtual routers and a connection relationship between the virtual routers, and the receiving module 510 sends the request to the creating module 520 and the forwarding plane connection module 550.
The creating module 520 is configured to create routing computation instances corresponding to the virtual routers one to one, where the routing computation instances are configured to run a routing protocol to serve as a control plane of the corresponding virtual routers, and the creating module 520 sends a creation result of the routing computation instance to the mapping module 530.
The mapping module 530 is configured to establish a mapping relationship between each route computation instance and a forwarding device of the SDN, so that the forwarding device mapped by the route computation instance is used as a forwarding plane of a virtual router corresponding to the route computation instance, and the mapping module 530 sends the mapping result to the first sending module 540. After the mapping is completed, the mapping module 530 records the mapping relationship, such as saving the mapping relationship on a mapping table.
The first sending module 540 is configured to send a first instruction to the forwarding device having a mapping relationship with the route calculation example, where the first instruction is used to instruct the forwarding device having a mapping relationship with the route calculation example to send a route protocol packet to a corresponding route calculation example after receiving the route protocol packet.
The forwarding plane connection module 550 is configured to establish a logical connection relationship between forwarding devices corresponding to virtual routers requesting the connection relationship according to the connection relationship between the virtual routers in the request, and send a result of the establishment of the logical connection relationship by the forwarding plane connection module 550 to the second issuing module 560.
The second issuing module 560 is configured to issue a second instruction generated by the route calculation instance running the routing protocol to the forwarding device mapped correspondingly, so that the forwarding device forwards the data packet sent by the conventional router according to the second instruction, thereby implementing the fusion between the software defined network and the conventional network.
The second issuing module 560 sends a new routing protocol packet generated by the routing calculation instance according to the received routing protocol packet to the routing calculation instances of other virtual routers having connection relation with the virtual router corresponding to the routing calculation instance. The transmission between the routing protocol messages between the virtual routers can be transmitted through a forwarding plane, and in the implementation mode that the fusion device establishes the connection relationship between the routing calculation instances, the transmission can also be directly transmitted through a control plane.
The second issuing module 560 further sends a second instruction generated by the route calculation instance according to the received route protocol packet, for example, in the form of a flow table entry, to the forwarding device mapped correspondingly to instruct the forwarding device how to forward the data packet sent by the conventional router, so that normal data packet transmission between the forwarding device of the SDN and the conventional router can be realized, and further, fusion between the SDN and the conventional network is realized.
Optionally, in order to avoid that the routing protocol packet of the control plane of the virtual router needs to be forwarded through the forwarding plane, the fusion device may further include a control plane connection module, configured to establish a connection relationship between the routing computation instances corresponding to the virtual routers requesting the connection relationship according to the connection relationship between the virtual routers in the request.
Optionally, the mapping module is specifically configured to establish a mapping relationship between each of the route calculation instances and the forwarding device of the software-defined network according to a mapping condition input by a user. Specifically, the mapping condition includes a connection relationship between the virtual router and the conventional router; correspondingly, the mapping module is specifically configured to map the first forwarding device to the route calculation instance corresponding to the first virtual router according to the connection relationship between the virtual router and the traditional router input by the user, where the first forwarding device and the first virtual router both have a connection relationship with the first traditional router.
Optionally, the mapping of the route calculation instance to the corresponding forwarding device of the SDN is a one-to-one mapping.
Optionally, a mapping relationship between the route calculation instance and forwarding devices of the SDN is one-to-many mapping, where multiple forwarding devices mapped by the same route calculation instance form a cluster, and forwarding devices in the same cluster have a connection relationship.
Optionally, when performing one-to-many mapping, an ingress forwarding device of a cluster at least includes a first-stage flow table and a second-stage flow table, where a first matching entry of the first-stage flow table includes an ingress port number, a destination IP address, and a destination IP address mask, and a first execution action of the first-stage flow table modifies a source MAC address of a received data packet to an MAC address of an egress port of an egress forwarding device of the cluster, modifies a destination MAC address in a destination MAC address field of the data packet to an MAC address of an ingress port of an ingress forwarding device of a next hop of the egress forwarding device of the cluster, and forwards the destination MAC address to the second-stage flow table; a second match of the second level flow table includes the source MAC address, a second action of the second level flow table being to forward the data packet to a next forwarding device in a shortest path along an ingress forwarding device of the cluster to an egress forwarding device of the cluster.
Optionally, the forwarding plane connection module is specifically configured to establish a logical connection relationship between forwarding devices corresponding to the virtual routers having the connection relationship through a tunneling technique.
It will be appreciated that the apparatus shown in fig. 5 may perform the various steps in the corresponding embodiment of fig. 1.
In the above scheme, the number of the virtual routers and the connection relationship of the virtual routers can be set according to the needs of users, then a control plane of each virtual router is created according to the number of the virtual routers and the connection relationship between the virtual routers, the connection relationship between the virtual routers is established on the data plane, and the routing protocol messages sent by the traditional routers are sent to the control plane by indicating the forwarding plane, so that the control plane can indicate the corresponding forwarding plane to forward the data messages sent by the traditional routers, thereby realizing the transmission of the data messages between the virtual routers and the traditional routers, and further realizing the fusion of the software-defined network virtual traditional network and the traditional network. In addition, the number of the virtual routers and the connection relation of the virtual routers in the scheme can be set according to the needs of users, and flexible fusion between a virtual traditional network and a traditional network of a software defined network can be realized.
Referring to fig. 6, fig. 6 is a schematic structural diagram of an embodiment of the controller of the present application. The controller 600 of this embodiment may be an SDN controller, including: a receiver 601, a processor 602, and a transmitter 603.
The receiver 601 is configured to receive a user input request for creating at least one virtual router on the SDN, where the request includes the number of virtual routers and a connection relationship between the virtual routers.
The processor 602 is configured to create routing computation instances in one-to-one correspondence with the virtual routers, where the routing computation instances are configured to run a routing protocol to serve as a control plane of the corresponding virtual router; establishing a mapping relation between each route calculation instance and forwarding equipment of an SDN (software defined network), so that the forwarding equipment mapped by the route calculation instance is used as a forwarding surface of a virtual router corresponding to the route calculation instance; sending a first instruction to the forwarding equipment which has a mapping relation with the route calculation example, wherein the first instruction is used for indicating the forwarding equipment which has a mapping relation with the route calculation example to send a route protocol message to the corresponding route calculation example after receiving the route protocol message; according to the connection relation between the virtual routers in the request, establishing a logical connection relation between forwarding devices corresponding to the virtual routers requesting the connection relation; and issuing a second instruction generated by the route calculation example running the route protocol to the forwarding equipment mapped correspondingly, so that the forwarding equipment forwards the data message sent by the traditional router according to the second instruction, and the integration of the software defined network and the traditional network is realized.
The transmitter 603 is used to transmit data.
The controller in this embodiment also includes a memory 604, which may include both read-only memory and random access memory, and provides instructions and data to the processor 602. A portion of the memory 604 may also include non-volatile random access memory (NVRAM).
The memory 604 stores the following elements, executable modules or data structures, or a subset thereof, or an expanded set thereof:
and (3) operating instructions: including various operational instructions for performing various operations.
Operating the system: including various system programs for implementing various basic services and for handling hardware-based tasks.
In an embodiment of the present invention, the processor 602 performs the above operations by calling the operation instructions stored in the memory 604 (the operation instructions may be stored in an operating system).
Processor 602 may also be referred to as a CPU (Central processing Unit). Memory 604 may include both read-only memory and random-access memory, and provides instructions and data to processor 602. A portion of the memory 604 may also include non-volatile random access memory (NVRAM). In a particular application, the various components of the controller are coupled together by a bus system 605, where the bus system 605 may include a power bus, a control bus, a status signal bus, and the like, in addition to a data bus. For clarity of illustration, however, the various buses are labeled in the figure as the bus system 605.
The method disclosed in the above embodiments of the present invention may be applied to the processor 602, or implemented by the processor 602. The processor 602 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 602. The processor 602 may be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. The various methods, steps and logic blocks disclosed in the embodiments of the present invention may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in the memory 604, and the processor 602 reads the information in the memory 604 and performs the steps of the above method in combination with the hardware thereof.
Optionally, the processor may be further configured to establish a connection relationship between the route calculation instances corresponding to the virtual routers requesting the connection relationship according to the connection relationship between the virtual routers in the request.
Optionally, the processor may be further specifically configured to establish a mapping relationship between each of the routing computation instances and the forwarding device of the software-defined network according to a mapping condition input by a user. Specifically, the mapping condition includes a connection relationship between the virtual router and the conventional router; correspondingly, the processor is further configured to map the first forwarding device to the route calculation instance corresponding to the first virtual router according to the connection relationship between the virtual router and the traditional router, which is input by the user, where the first forwarding device and the first virtual router both have a connection relationship with the first traditional router.
Optionally, the mapping of the route calculation instance to the corresponding forwarding device of the SDN is a one-to-one mapping.
Optionally, a mapping relationship between the route calculation instance and forwarding devices of the SDN is one-to-many mapping, where multiple forwarding devices mapped by the same route calculation instance form a cluster, and forwarding devices in the same cluster have a connection relationship.
Optionally, when performing one-to-many mapping, an ingress forwarding device of a cluster at least includes a first-stage flow table and a second-stage flow table, where a first matching entry of the first-stage flow table includes an ingress port number, a destination IP address, and a destination IP address mask, and a first execution action of the first-stage flow table modifies a source MAC address of a received data packet to an MAC address of an egress port of an egress forwarding device of the cluster, modifies a destination MAC address in a destination MAC address field of the data packet to an MAC address of an ingress port of an ingress forwarding device of a next hop of the egress forwarding device of the cluster, and forwards the destination MAC address to the second-stage flow table; a second match of the second level flow table includes the source MAC address, a second action of the second level flow table being to forward the data packet to a next forwarding device in a shortest path along an ingress forwarding device of the cluster to an egress forwarding device of the cluster.
Optionally, the processor may be further specifically configured to establish a logical connection relationship between forwarding devices corresponding to the virtual routers having the connection relationship through a tunneling technique.
In the above scheme, the number of the virtual routers and the connection relationship of the virtual routers can be set according to the needs of users, then a control plane of each virtual router is created according to the number of the virtual routers and the connection relationship between the virtual routers, the connection relationship between the virtual routers is established on the data plane, and the routing protocol messages sent by the traditional routers are sent to the control plane by indicating the forwarding plane, so that the control plane can indicate the corresponding forwarding plane to forward the data messages sent by the traditional routers, thereby realizing the transmission of the data messages between the virtual routers and the traditional routers, and further realizing the fusion of the software-defined network virtual traditional network and the traditional network. In addition, the number of the virtual routers and the connection relation of the virtual routers in the scheme can be set according to the needs of users, and flexible fusion between a virtual traditional network and a traditional network of a software defined network can be realized.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, a network device, or the like) or a processor (processor) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.

Claims (16)

  1. A method for fusing a software-defined network and a legacy network, wherein a forwarding device of the software-defined network has a connection relationship with a legacy router of the legacy network, the method comprising:
    receiving a request input by a user to create at least one virtual router on the software defined network, the request comprising the number of virtual routers and a connection relationship between the virtual routers;
    creating routing computation instances in one-to-one correspondence with the virtual routers, wherein the routing computation instances are used for running routing protocols to serve as control planes of the corresponding virtual routers;
    establishing a mapping relation between each routing calculation instance and forwarding equipment of the software defined network respectively so as to take the forwarding equipment mapped by the routing calculation instance as a forwarding plane of a virtual router corresponding to the routing calculation instance;
    sending a first instruction to the forwarding equipment which has a mapping relation with the route calculation example, wherein the first instruction is used for indicating the forwarding equipment which has a mapping relation with the route calculation example to send a route protocol message to the corresponding route calculation example after receiving the route protocol message;
    according to the connection relation between the virtual routers in the request, establishing a logical connection relation between forwarding devices corresponding to the virtual routers requesting the connection relation;
    and issuing a second instruction generated by the route calculation example running the route protocol to the forwarding equipment mapped correspondingly, so that the forwarding equipment forwards the data message sent by the traditional router according to the second instruction, and the integration of the software defined network and the traditional network is realized.
  2. The method of claim 1, further comprising:
    and establishing a connection relation between the route calculation instances corresponding to the virtual routers requesting the connection relation according to the connection relation between the virtual routers in the request.
  3. The method according to claim 1, wherein the mapping relationship between each of the route calculation instances and the forwarding device of the software defined network is specifically:
    and according to the mapping conditions input by the user, establishing a mapping relation between each routing calculation instance and forwarding equipment of the software defined network.
  4. The method of claim 3, wherein the mapping condition comprises a connection relationship between the virtual router and the legacy router; accordingly, the number of the first and second electrodes,
    the establishing, according to the mapping condition input by the user, a mapping relationship between each of the route calculation instances and the forwarding device of the software-defined network specifically includes:
    and mapping the first forwarding equipment to a route calculation instance corresponding to the first virtual router according to the connection relation between the virtual router and the traditional router input by a user, wherein the first forwarding equipment and the first virtual router both have the connection relation with the first traditional router.
  5. The method of any of claims 1-4, wherein the routing computation instance is mapped to a forwarding device of the software defined network as a one-to-one mapping.
  6. The method according to any of claims 1-4, wherein the mapping relationship between the route calculation instance and the forwarding devices of the software defined network is a one-to-many mapping, wherein multiple forwarding devices mapped by the same route calculation instance form a cluster, and the forwarding devices in the same cluster have a connection relationship.
  7. The method according to claim 6, wherein the ingress forwarding device of the cluster comprises at least a first-level flow table and a second-level flow table, wherein the first matching entry of the first-level flow table comprises an ingress port number, a destination IP address, and a destination IP address mask, and the first execution action of the first-level flow table modifies a source media access control MAC address of the received data packet to a MAC address of an egress port of the egress forwarding device of the cluster, modifies a destination MAC address in a destination MAC address field of the data packet to a MAC address of an ingress port of the ingress forwarding device of a next hop of the egress forwarding device of the cluster, and forwards the modified destination MAC address to the second-level flow table; a second match of the second level flow table includes the source MAC address, a second action of the second level flow table being to forward the data packet to a next forwarding device in a shortest path along an ingress forwarding device of the cluster to an egress forwarding device of the cluster.
  8. The method according to any one of claims 1 to 4, wherein the establishing of the logical connection relationship between the forwarding devices corresponding to the virtual routers having the connection relationship specifically includes:
    and establishing a logical connection relation between forwarding devices corresponding to the virtual routers with the connection relation through a tunnel technology.
  9. A convergence device of a software defined network and a legacy network, wherein a forwarding device of the software defined network has a connection relationship with a legacy router of the legacy network, the convergence device comprising: a receiving module, a creating module, a mapping module, a first issuing module, a forwarding plane connecting module and a second issuing module,
    the receiving module is used for receiving a request input by a user for creating at least one virtual router on the software defined network, wherein the request comprises the number of the virtual routers and the connection relation between the virtual routers, and the receiving module sends the request to the creating module and the forwarding plane connection module;
    the creating module is configured to create routing computation instances in one-to-one correspondence with the virtual routers, where the routing computation instances are used to run a routing protocol to serve as a control plane of the corresponding virtual router, and the creating module sends a creating result of the routing computation instance to the mapping module;
    the mapping module is configured to establish a mapping relationship between each routing computation instance and forwarding equipment of the software-defined network, so that the forwarding equipment mapped by the routing computation instance is used as a forwarding plane of a virtual router corresponding to the routing computation instance, and the mapping module sends the mapping result to the first forwarding module;
    the first sending module is used for sending a first instruction to the forwarding equipment which has a mapping relation with the route calculation example, and the first instruction is used for indicating the forwarding equipment which has the mapping relation with the route calculation example to send a route protocol message to the corresponding route calculation example after receiving the route protocol message;
    the forwarding plane connection module is used for establishing a logical connection relationship between forwarding devices corresponding to the virtual routers requesting the connection relationship according to the connection relationship between the virtual routers in the request, and the result of the logical connection relationship established by the forwarding plane connection module is sent to the second issuing module;
    the second issuing module is used for issuing a second instruction generated by the route calculation example running the route protocol to the forwarding device mapped correspondingly, so that the forwarding device forwards the data message sent by the traditional router according to the second instruction, and the integration of the software defined network and the traditional network is realized.
  10. The apparatus according to claim 9, further comprising a control plane connection module, configured to establish a connection relationship between the route calculation instances corresponding to the virtual routers requesting the connection relationship according to the connection relationship between the virtual routers in the request.
  11. The apparatus according to claim 9, wherein the mapping module is specifically configured to establish a mapping relationship between each of the route calculation instances and a forwarding device of the software-defined network according to a mapping condition input by a user.
  12. The apparatus of claim 11, wherein the mapping condition comprises a connection relationship between the virtual router and the legacy router; accordingly, the number of the first and second electrodes,
    the mapping module is more specifically configured to map, according to a connection relationship between the virtual router and the traditional router input by a user, a first forwarding device to a route calculation instance corresponding to the first virtual router, where the first forwarding device and the first virtual router both have a connection relationship with a first traditional router.
  13. The apparatus of any of claims 9-12, wherein the routing computation instance is mapped to a forwarding device of the software defined network as a one-to-one mapping.
  14. The apparatus according to any of claims 9-12, wherein the mapping relationship between the route calculation instance and the forwarding devices of the software defined network is a one-to-many mapping, where multiple forwarding devices mapped by the same route calculation instance form a cluster, and the forwarding devices in the same cluster have a connection relationship.
  15. The apparatus according to claim 14, wherein the ingress forwarding device of the cluster comprises at least a first-level flow table and a second-level flow table, wherein the first matching entry of the first-level flow table comprises an ingress port number, a destination IP address, and a destination IP address mask, and the first performing action of the first-level flow table modifies a source media access control MAC address of the received data packet to a MAC address of an egress port of the egress forwarding device of the cluster, modifies a destination MAC address in a destination MAC address field of the data packet to a MAC address of an ingress port of the ingress forwarding device of a next hop of the egress forwarding device of the cluster, and forwards the modified destination MAC address to the second-level flow table; a second match of the second level flow table includes the source MAC address, a second action of the second level flow table being to forward the data packet to a next forwarding device in a shortest path along an ingress forwarding device of the cluster to an egress forwarding device of the cluster.
  16. The apparatus according to any one of claims 9 to 12, wherein the forwarding plane connection module is specifically configured to establish a logical connection relationship between forwarding devices corresponding to virtual routers having a connection relationship through a tunneling technique.
CN201480081299.6A 2014-08-19 2014-08-19 Method and device for fusing software defined network and traditional network Active CN106664235B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/084733 WO2016026089A1 (en) 2014-08-19 2014-08-19 Converging method and apparatus for software defined network and traditional network

Publications (2)

Publication Number Publication Date
CN106664235A true CN106664235A (en) 2017-05-10
CN106664235B CN106664235B (en) 2019-12-06

Family

ID=55350082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480081299.6A Active CN106664235B (en) 2014-08-19 2014-08-19 Method and device for fusing software defined network and traditional network

Country Status (2)

Country Link
CN (1) CN106664235B (en)
WO (1) WO2016026089A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259352A (en) * 2017-12-25 2018-07-06 锐捷网络股份有限公司 SDN and the method and device of non-SDN intercommunications
CN112398728A (en) * 2019-08-14 2021-02-23 南京中兴新软件有限责任公司 Smooth evolution method of virtual gateway, gateway equipment and storage medium
CN112702269A (en) * 2021-01-21 2021-04-23 国网新疆电力有限公司信息通信公司 SDN and non-SDN intercommunication method and intercommunication system
WO2021088192A1 (en) * 2019-11-05 2021-05-14 烽火通信科技股份有限公司 Method for distributing and updating routing information in sd-wan network, and controller
CN115766826A (en) * 2022-11-08 2023-03-07 中国人民银行清算总中心 Method and device for realizing smooth migration of traditional network to software defined network

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187635B (en) * 2019-07-01 2023-02-03 中兴通讯股份有限公司 Message forwarding method and device
CN110430114B (en) * 2019-07-24 2022-02-11 中国电子科技集团公司第七研究所 Virtual router and method for realizing interconnection between SDN network and traditional IP network
CN112311665B (en) * 2020-09-10 2021-11-19 山西大学 Single-link fault routing protection method based on hybrid SDN network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546351A (en) * 2012-03-15 2012-07-04 北京邮电大学 System and method for interconnecting openflow network and conventional Internet protocol (IP) network
US20140078988A1 (en) * 2012-09-17 2014-03-20 Nishi Kant Method and system for elastic and resilient 3g/4g mobile packet networking for subscriber data flow using virtualized switching and forwarding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013184941A1 (en) * 2012-06-06 2013-12-12 Huawei Technologies Co., Ltd. Method of seamless integration and independent evolution of information-centric networking via software defined networking
CN103095565B (en) * 2012-10-18 2015-12-16 中兴通讯股份有限公司 A kind of software defined network operating system and its implementation
CN103346981B (en) * 2013-06-28 2016-08-10 华为技术有限公司 Virtual switch method, relevant apparatus and computer system
CN103685033B (en) * 2013-12-19 2017-01-04 武汉邮电科学研究院 SDN framework is supported packet switch and Circuit-switched general flow table and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546351A (en) * 2012-03-15 2012-07-04 北京邮电大学 System and method for interconnecting openflow network and conventional Internet protocol (IP) network
US20140078988A1 (en) * 2012-09-17 2014-03-20 Nishi Kant Method and system for elastic and resilient 3g/4g mobile packet networking for subscriber data flow using virtualized switching and forwarding

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259352A (en) * 2017-12-25 2018-07-06 锐捷网络股份有限公司 SDN and the method and device of non-SDN intercommunications
CN108259352B (en) * 2017-12-25 2021-01-15 锐捷网络股份有限公司 SDN and non-SDN interworking method and device
CN112398728A (en) * 2019-08-14 2021-02-23 南京中兴新软件有限责任公司 Smooth evolution method of virtual gateway, gateway equipment and storage medium
CN112398728B (en) * 2019-08-14 2024-03-08 中兴通讯股份有限公司 Virtual gateway smooth evolution method, gateway equipment and storage medium
WO2021088192A1 (en) * 2019-11-05 2021-05-14 烽火通信科技股份有限公司 Method for distributing and updating routing information in sd-wan network, and controller
CN112702269A (en) * 2021-01-21 2021-04-23 国网新疆电力有限公司信息通信公司 SDN and non-SDN intercommunication method and intercommunication system
CN115766826A (en) * 2022-11-08 2023-03-07 中国人民银行清算总中心 Method and device for realizing smooth migration of traditional network to software defined network

Also Published As

Publication number Publication date
WO2016026089A1 (en) 2016-02-25
CN106664235B (en) 2019-12-06

Similar Documents

Publication Publication Date Title
CN106664235B (en) Method and device for fusing software defined network and traditional network
CN112054960B (en) Path calculation method, device and equipment
US11082262B2 (en) Flow entry generating method and apparatus
US8830998B2 (en) Separation of edge and routing/control information for multicast over shortest path bridging
US9426546B2 (en) Maintaining a fabric name across a distributed switch
US9276843B2 (en) Virtual link aggregation extension (vLAG+) enabled in a trill-based fabric network
EP3934183A1 (en) Service function chain sfc-based communication method, and apparatus
CN104335537A (en) System and method for layer-2 multicast multipathing
CN110430114B (en) Virtual router and method for realizing interconnection between SDN network and traditional IP network
WO2021000848A1 (en) Packet forwarding method and packet processing method and apparatus
EP2961115B1 (en) Method and devices for transmitting multicast packet across layer 2 virtual network
WO2014047784A1 (en) Method for determining packet forwarding path, network device and control device
WO2017140112A1 (en) Multi-channel packet forwarding method and device
WO2021082812A1 (en) Message sending method and first network device
US11805047B2 (en) Method and apparatus for controlling network traffic path
CN104702509A (en) Method and device for isolating SDN protocol message from data message
US10020961B2 (en) Method and apparatus for network virtualization
US10104018B2 (en) Method, apparatus, and system for controlling forwarding of service data in virtual network
WO2014136867A1 (en) Communication system, integrated controller, packet transfer method and program
CN102685011B (en) Route computing method in a kind of TRILL network and equipment
WO2022089169A1 (en) Method and apparatus for sending computing routing information, device, and storage medium
WO2018028592A1 (en) Method and device for receiving and sending messages
CN111654558B (en) ARP interaction and intranet flow forwarding method, device and equipment
CN109005120B (en) Message processing method and network equipment
US9942126B2 (en) Distributing non-unicast routes information in a TRILL network

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