WO2016026089A1 - 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
WO2016026089A1
WO2016026089A1 PCT/CN2014/084733 CN2014084733W WO2016026089A1 WO 2016026089 A1 WO2016026089 A1 WO 2016026089A1 CN 2014084733 W CN2014084733 W CN 2014084733W WO 2016026089 A1 WO2016026089 A1 WO 2016026089A1
Authority
WO
WIPO (PCT)
Prior art keywords
forwarding device
forwarding
mapping
connection relationship
router
Prior art date
Application number
PCT/CN2014/084733
Other languages
French (fr)
Chinese (zh)
Inventor
周天然
刘恩慧
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2014/084733 priority Critical patent/WO2016026089A1/en
Priority to CN201480081299.6A priority patent/CN106664235B/en
Publication of WO2016026089A1 publication Critical patent/WO2016026089A1/en

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

Definitions

  • the present application relates to the field of communications, and in particular, to a method and apparatus for merging a software-defined network with a legacy network.
  • SDN Software Defined Network Network
  • IP routing used by traditional networks
  • SDN can realize flexible control of network traffic and provide a good platform for innovation of core networks and applications. It is the development of network architecture in the future. direction.
  • traditional routing devices there are a large number of traditional routing devices in the traditional network today. From the perspective of protecting the original investment or the smooth transition of functions, the transition from the traditional network to the software-defined network cannot be accomplished overnight.
  • the market needs a hybrid network form that is compatible with software-defined networks as well as traditional networks.
  • the prior art provides a system and method for interconnecting an SDN network and an existing conventional network, in which the entire SDN network is abstracted into a router in an existing legacy network and integrated into the entire traditional network.
  • the data packet passes through the entire SDN network, it is like a router that has passed the standard traditional network, which realizes the mixing of the SDN network and the existing traditional network.
  • the prior art can only abstract the entire SDN network into a router in a traditional network.
  • the layout of the forwarding device of the SDN network and the router in the traditional network may be diverse, for example, a part of the SDN network may be The forwarding device is in zone A, the router in the traditional network is in zone B, and the forwarding device of the other part of the SDN network is in zone C, wherein zone A is adjacent to zone B, zone B is adjacent to zone C, and zone A is remote from zone C.
  • the prior art can only virtualize the entire SDN network into a router in the traditional network, and the forwarding plane of the virtual router is divided into two parts by the router of the traditional network, so the above fusion manner is not preferable.
  • the user prefers to be able to virtualize the SDN networks of Zone A and Zone C into one router respectively, and then merge with the routers in the traditional network located in Zone B, but the prior art cannot implement .
  • the present application provides a method and device for integrating a software-defined network with a traditional network, and implements flexible integration of a software-defined network and a 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 the forwarding device of the software-defined network has a connection relationship with a traditional router of the traditional network, and the method includes: receiving a user input
  • the software defines a request for creating at least one virtual router on the network, where the request includes a number of the virtual routers and a connection relationship between the virtual routers; creating a route calculation instance corresponding to the virtual routers one by one, The route calculation instance is used to run a routing protocol as a control plane of the corresponding virtual router; each of the route calculation instances is respectively mapped with a forwarding device of the software-defined network to calculate the route.
  • the forwarding device of the instance mapping is used as a forwarding plane of the virtual router corresponding to the routing calculation instance; the first instruction is sent to the forwarding device that is in a mapping relationship with the routing calculation instance, where the first instruction is used to indicate After receiving the routing protocol packet, the forwarding device with the mapping relationship between the routing calculation instances receives the routing protocol packet.
  • the second instruction generated by the routing calculation instance running the routing protocol is sent to the corresponding forwarding device, so that the forwarding device forwards the data packet sent by the traditional router according to the second instruction, and implements the software-defined network and The convergence of traditional networks.
  • the method further includes: calculating a route corresponding to the virtual router that has the connection relationship according to the connection relationship between the virtual routers in the request Establish a connection relationship between instances.
  • mapping between each of the routing calculation instances and the forwarding device of the software-defined network is specifically as follows:
  • the mapping condition is to establish a mapping relationship between each of the routing calculation instances and the forwarding device of the software-defined network.
  • the mapping condition includes a connection relationship between the virtual router and the traditional router; And mapping the each of the routing calculation instances to the forwarding device of the software-defined network according to the mapping condition input by the user, specifically: according to the virtual router and the traditional router input by the user
  • the connection relationship is configured to map 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 have a connection relationship with the first traditional router.
  • the routing calculation instance and the forwarding device of the software-defined network The mapping relationship is a one-to-one mapping.
  • the routing calculation instance and the forwarding device of the software-defined network The mapping relationship is a one-to-many mapping, where multiple forwarding devices mapped by the same routing calculation instance form a cluster, and the forwarding devices in the same cluster have a connection relationship.
  • the ingress forwarding device of the cluster includes at least a first level flow table and a second level flow table, where
  • the first matching item of the first-level flow table includes an inbound port number, a destination IP address, and a destination IP address mask, and the first execution action of the first-level flow table will receive the source media of the data packet.
  • the access control MAC address is modified to be the MAC address of the egress port of the egress of the cluster, and the destination MAC address in the destination MAC address field of the data packet is modified to be the next hop of the egress of the cluster.
  • the ingress port forwards the MAC address of the ingress port of the device to the second level flow table; the second match of the second level flow table includes the source MAC address, and the second level flow table is second
  • the act of performing is to forward the data message to the next forwarding device in the shortest path between the ingress forwarding device along the cluster to the egress forwarding device of the cluster.
  • the forwarding device corresponding to the virtual router having the connection relationship The logical connection relationship is established by using a tunneling technology between the forwarding devices corresponding to the virtual routers having the connection relationship.
  • the second aspect of the present application provides a device for the fusion of a software-defined network and a traditional network, where the forwarding device of the software-defined network has a connection relationship with a traditional router of the traditional network, and the fusion device includes: a receiving module, and a creation a module, a mapping module, a first sending module, a forwarding plane connection module, and a second sending module, where the receiving module is configured to receive a user input request to create at least one virtual router on the software defined network, the request Including a connection relationship between the number of the virtual routers and the virtual router, the receiving module sends the request to the creation module and the forwarding plane connection module; the creation module is configured to create and a routing calculation instance corresponding to the virtual router, the routing calculation instance is used to run a routing protocol to serve as a control plane of the corresponding virtual router, and the creating module sends the creation result of the routing calculation instance to the a mapping module, configured to separately use each of the routing calculation instances with the soft Defining a forwarding
  • a logical connection relationship is established between the forwarding devices corresponding to the virtual routers having the connection relationship, and the result of the logical connection relationship between the forwarding plane connection module is sent to the second sending module; the second sending module is used to The second instruction generated by the routing calculation instance running the routing protocol is delivered to the forwarding device of the corresponding mapping, so that the forwarding device is configured.
  • the traditional router forwarding the second instruction to send the data packet, the software defined network to achieve integration with traditional networks.
  • the first possible implementation manner of the second aspect of the present application further includes a control plane connection module, configured to request a virtual connection relationship according to a connection relationship between the virtual routers in the request A connection relationship is established between the route calculation instances corresponding to the router.
  • the mapping module is specifically configured to: each of the routing calculation instances and the software-defined network respectively according to a mapping condition input by a user
  • the forwarding device establishes a mapping relationship.
  • the mapping condition includes a connection relationship between the virtual router and the traditional router;
  • the mapping module is further configured to map the first forwarding device to a route calculation instance corresponding to the first virtual router according to the connection relationship between the virtual router and the traditional router that is input by the user, where the Both the first forwarding device and the first virtual router have a connection relationship with the first legacy router.
  • the routing calculation instance and the forwarding device of the software-defined network The mapping relationship is a one-to-one mapping.
  • the routing calculation instance and the forwarding device of the software-defined network The mapping relationship is a one-to-many mapping, where multiple forwarding devices mapped by the same routing calculation instance form a cluster, and the forwarding devices in the same cluster have a connection relationship.
  • the ingress forwarding device of the cluster includes at least a first level flow table and a second level flow
  • the first matching item of the first level flow table includes an inbound port number, a destination IP address, and a destination IP address mask, and the first execution action of the first level flow table will receive the data packet.
  • the source media access control MAC address is modified to be the MAC address of the egress port of the egress of the cluster, and the destination MAC address in the destination MAC address field of the data packet is modified to be the egress of the cluster.
  • the next hop of the ingress forwards the MAC address of the ingress port of the device, and turns to the second level flow table; the second match of the second level flow table includes the source MAC address, and the second level flow table
  • the second performing action is to forward the data message to the next forwarding device in the shortest path between the ingress forwarding device of the cluster to the egress forwarding device of the cluster.
  • the forwarding plane connection module is specifically configured to be in a virtual connection relationship
  • the forwarding devices corresponding to the router establish a logical connection relationship through tunnel technology.
  • the number of virtual routers and the connection relationship of the virtual routers can be set according to the needs of the user, and then the control plane of each virtual router is created according to the number of virtual routers and the connection relationship between the virtual routers, and virtual surfaces are created on the data plane.
  • the connection between the routers is sent to the control plane by the forwarding plane, so that the control plane can instruct the forwarding to forward the data packets sent by the traditional router.
  • the transmission of data packets between the virtual router and the traditional router realizes the fusion of the software-defined network virtual traditional network and the traditional network.
  • the number of virtual routers and the connection relationship of the virtual routers can be set according to the needs of the users, and the flexible integration between the software-defined network virtual traditional network and the traditional network can be realized.
  • FIG. 1 is a flow chart of an embodiment of a method for integrating a software-defined network and a legacy network of the present application
  • FIG. 2 is a framework diagram of an embodiment of a fusion of a software-defined network and a 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 still 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 implementation manner of a device for converging a software-defined network and a legacy network according to the present application;
  • FIG. 6 is a schematic structural diagram of an embodiment of a controller of the present application.
  • 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 to describe a device in the software-defined network that has the function of forwarding packets according to the forwarding flow table.
  • FIG. 1 is a flowchart of a method for fusing a software-defined network and a traditional network according to the present application
  • FIG. 2 is a block diagram of an embodiment of a fusion of a software-defined network and a legacy network in the present application.
  • the executive body of the method can be the SDN controller 250.
  • the method for integrating the software-defined network and the traditional network in this embodiment includes:
  • the SDN includes forwarding devices 2121, 2123, 2221, 2321, 2323, 2325
  • the legacy network includes a legacy router 240.
  • the connection relationship between the forwarding device of the SDN and the traditional router of the traditional network is that the forwarding device 2121 and the forwarding device 2221 are connected to the traditional router 240.
  • the user can create multiple virtual routers on the SDN as needed for interaction with the traditional routers in the traditional network, where specifically: creating three virtual routers 210, 220, 230
  • the connection relationship between the virtual routers to be set is that 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 described above to the SDN controller 250 to request the SDN controller 250 to create the above-described virtual routers 210, 220, 230.
  • the route calculation instance 211 corresponding to the virtual router 210 is created as the control plane of the virtual router 210
  • the route calculation instance 221 corresponding to the virtual router 220 is created as the control plane of the virtual router 220
  • the route calculation corresponding to the virtual router 230 is created.
  • the instance 231 serves as the control plane for the virtual router 230.
  • the route calculation examples 211, 221, and 231 can be directly created on the SDN controller 250 and run on different virtual machines of the SDN controller 250 respectively. Alternatively, they can be created on different cloud servers (as shown in FIG. 2). Or created in one cloud server and running on different virtual machines of the cloud server. It can be understood that the foregoing route calculation example is a logical concept, and each route calculation instance provides a control plane function for a virtual router, but in physical implementation, the route calculation instance can also be divided into multiple parts, and different parts are in different clouds.
  • the server or the virtual machine is implemented, for example, the SDN controller is connected to the two cloud servers, so that the route calculation instance corresponding to a virtual router created by the SDN is implemented on the two cloud servers respectively, so the route mentioned in the application.
  • the one-to-one correspondence between the computing instance and the virtual router is a logical conceptual correspondence, not a physical implementation.
  • Each of the route calculation instances is respectively mapped to a forwarding device of the SDN, so that the forwarding device mapped by the route calculation instance is used as a forwarding plane of the virtual router corresponding to the route calculation instance.
  • mapping may be performed in a manually specified manner, or the autonomous mapping between the routing calculation instance and the forwarding device of the SDN may be implemented by some algorithms (for example, using a heuristic algorithm).
  • the SDN controller 250 can autonomously perform mapping to establish a mapping relationship between the route calculation instance and the forwarding device of the SDN.
  • the specific mapping relationship may include a mapping at the port level, that is, a mapping between a port ID of the routing calculation instance and a port ID of the corresponding forwarding device.
  • the user generally inputs some mapping conditions to constrain the specific mapping relationship.
  • the SDN controller 250 can perform mapping according to the mapping condition input by the user.
  • the mapping condition input by the user includes a connection relationship between the virtual router and the traditional router, and the SDN controller maps the first forwarding device to a route calculation instance corresponding to the first virtual router, where the first forwarding Both the device and the first virtual router have a connection relationship with the first legacy router.
  • the user inputs the virtual routers 210, 220 and the traditional router to the SDN controller 250.
  • traditional router The traditional routers 240 in the traditional network have a connection relationship, and the forwarding devices 2121 and 2221 of the SDN are connected to the traditional router 240. Therefore, the forwarding device 2121 of the SDN is mapped to the route calculation instance 211 corresponding to the virtual router 210, and the SDN is forwarded.
  • the device 2221 is mapped to the route calculation instance 221 corresponding to the virtual router 220.
  • the mapping condition input by the user may be other, for example, the processing capability of the calculation instance for each route, and the SDN controller maps more forwarding devices or forwarding devices with larger forwarding capabilities to the routing calculation instance with larger processing capability.
  • the idle SDN forwarding devices 2321, 2323, 2325 located at or near the service location of the virtual router 230 are mapped 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 forwarding device of the corresponding SDN may be a one-to-one mapping, or a one-to-many mapping, and multiple forwarding devices mapped by the same routing calculation instance form a cluster, and the forwarding device in the same cluster There is a connection relationship between them.
  • the routing calculation instance 211 is mapped to the forwarding device 2121 and the forwarding device 2123 of the SDN, the forwarding device 2121 and the forwarding device 2123 form a cluster as the forwarding plane 212 of the virtual router 210; the routing calculation instance 221 is mapped to the forwarding device 2221 of the SDN, As the forwarding plane 222 of the virtual router 220; the routing calculation instance 231 maps the forwarding device 2321 of the SDN, the forwarding device 2323, and the forwarding device 2325, and the forwarding device 2321, the forwarding device 2323, and the forwarding device 2325 form a cluster as the forwarding plane of the virtual router 230. 232.
  • the mapping between the forwarding devices in the same cluster must be ensured. For example, there is a connection between the forwarding device 2121 and the forwarding device 2123 of the cluster corresponding to the routing calculation instance 211; there is a connection between the forwarding device 2321 and the forwarding device 2323 of the cluster corresponding to the routing calculation instance 231, and the forwarding device 2323 and the forwarding device There is a connection between 2325, and there is a connection between the forwarding device 2321 and the forwarding device 2325.
  • the forwarding devices corresponding to the virtual routers having the connection relationship are physically reachable.
  • the virtual router 210 has a connection relationship with the virtual router 220, it must be ensured that a physical link exists between the forwarding device 2121 or 2123 corresponding to the virtual router 210 and the forwarding device 2221 corresponding to the virtual router 220.
  • the virtual router 220 has a connection relationship with the virtual router 230. Therefore, it must be ensured that a physical link exists 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.
  • the routing calculation instance 210 has a connection relationship with the routing calculation instance 230. Therefore, it must be ensured that a physical link exists 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.
  • the ingress port of the forwarding device of the SDN is the ingress port of the route calculation instance
  • the egress port of the forwarding device of the SDN is the egress port of the route calculation instance.
  • the route calculation instance is one-to-many with the forwarding device of the SDN
  • multiple forwarding devices of the SDN corresponding to the same route calculation instance form a cluster.
  • one port of one forwarding device in the cluster needs to be selected as the ingress port.
  • a port in the cluster except the inbound port is used as the egress port.
  • the ingress port and egress port of the specific cluster are determined according to the path selected by the actual route calculation.
  • the SDN controller 250 After the mapping is completed, the SDN controller 250 records the mapping relationship, such as saving the mapping relationship on the mapping table.
  • the first instruction is sent to the forwarding device that is in the mapping relationship with the routing calculation instance, where the first instruction is used to indicate that the forwarding device that has a mapping relationship with the routing calculation instance receives the routing protocol packet. Sending the routing protocol packet to the corresponding route calculation instance.
  • the first instruction can be sent to the forwarding device in the form of a flow entry.
  • the SDN controller 250 sends a flow entry to the forwarding device 2121, 2123 of the SDN to indicate that the forwarding device 2121, 2123 receives the routing protocol packet (for example, the forwarding device 2121 receives the routing protocol sent by the traditional router 240).
  • the routing protocol packet is sent to the corresponding routing calculation instance 212.
  • the forwarding device is sent to the forwarding device 2221 of the SDN to instruct the forwarding device 2221 to send the routing protocol packet after receiving the routing protocol packet.
  • the protocol packet is sent to the corresponding route calculation instance 222; the flow entry is sent to the forwarding devices 2321, 2323, and 2325 of the SDN, to indicate that the forwarding device 2321, 2323, and 2325, after receiving the routing protocol packet, the routing protocol.
  • the packet is sent to the corresponding route calculation instance 232, so that the route calculation instance corresponding to all the virtual routers can receive the routing protocol through the forwarding device, and generate a flow table that can instruct the corresponding forwarding device to forward the data packet sent by the traditional router. .
  • the mapping between the route calculation instance and the forwarding device of the SDN has been established, the connection between the forwarding planes of different virtual routers has not been established yet. 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, a logical connection between the forwarding devices corresponding to the virtual routers having the connection relationship in the forwarding plane establishment request is required.
  • the existing physical link can be used to establish a logical connection between the forwarding devices; There is no direct physical connection between the forwarding devices corresponding to the virtual routers that have a connection relationship.
  • the tunnel technology can be used to traverse the unrelated devices and the logical connections between the forwarding devices.
  • a logical connection is established between the forwarding device 2121 and the forwarding device 2221 as the forwarding plane 212 and the virtual router of the virtual router 210.
  • a logical connection is established between the forwarding device 2221 and the forwarding device 2321 as between the forwarding plane 222 of the virtual router 220 and the forwarding plane 232 of the virtual router 230. connection.
  • the different virtual routers After a logical connection is established between the forwarding devices of the different virtual routers, the different virtual routers have the capability of forwarding data packets to each other.
  • the virtual router corresponding to the virtual router in the request may also be requested according to the connection relationship between the virtual routers in the request.
  • a connection relationship is established between route calculation instances. 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 control plane of the virtual router 210 and the virtual router 220. The connection between the two.
  • 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.
  • a route connection instance can establish a connection through a switch.
  • the route calculation instances are connected through the physical switching device.
  • the virtual switching device is used.
  • vSwitch Connect route calculation instances.
  • a switching device is set up between the routing calculation instances A and B.
  • One port of the switching device is connected to the port of the routing calculation instance A, and the other port of the switching device is connected to the port of the routing calculation instance B.
  • the routing protocol packet sent by the route calculation instance A can be sent to the route calculation instance B through the switching device.
  • the routing protocol packet sent by the route calculation instance B can also be sent to the route calculation instance A through the switching device, thus implementing the route calculation instance A. Exchange of control information between and B. Therefore, routing protocol packets can be directly transmitted between control planes of different virtual routers.
  • the software defines a network that is fused with a legacy network.
  • the routing calculation instance 211 runs the routing protocol, and the routing protocol generates a mapping indicating the mapping of the routing calculation instance 211.
  • the forwarding device 2121, 2123 forwards the second instruction of the data packet sent by the traditional router 240.
  • the second instruction can be sent by the SDN controller 250 to the corresponding forwarding device 2121, 2123, and the forwarding device 2121.
  • the 2123 may forward the data packet sent by the traditional router 240 according to the flow entry.
  • the route calculation instance 211 further sends a new routing protocol message generated according to the received routing protocol message, and is sent by the SDN controller 250 to other virtual routers having a connection relationship with the virtual router 210 corresponding to the route calculation instance 211.
  • the route calculation instance 211 generates a new routing protocol packet according to the received routing protocol packet sent by the traditional router 240, and obtains, by using the route, which ports send the new routing protocol packet to the virtual router 210.
  • the route calculation examples 221 and 231 corresponding to the virtual routers 220 and 230 are sent to the route calculation instance 221 through the port 1 of the route calculation instance, and are sent to the route calculation instance 231 through the port 2.
  • the SDN controller 250 calculates the port information calculated by the route calculation instance 211 and the port connection relationship between the route calculation instance and the forwarding device. For example, the port 1 of the route calculation instance 211 is mapped to the port 1 of the forwarding device 2121, and the port of the route calculation instance 211 is used. The mapping to the port 1 of the forwarding device 2123, the SDN controller 250 sends a new routing protocol message and an instruction generated by the routing calculation instance 211 to the forwarding device 2121, 2123, to instruct the forwarding device 2121 to calculate the route instance through port 1. The new routing protocol packet generated by the 211 is sent to the forwarding device 2221, and the forwarding device 2123 sends the new routing protocol packet generated by the routing calculation instance 211 to the forwarding device 2325.
  • the forwarding device 2221 and 2325 respectively send the new routing protocol packet to the corresponding routing calculation instance 221, 231. Similar to the route calculation instance 211, after receiving the routing protocol message, the route calculation instance 221, 231 generates a flow table and sends it to the corresponding forwarding device, and regenerates a new routing protocol message and determines that the new generation needs to be sent.
  • the port information of the routing protocol packet, and the forwarding device that has the mapping relationship with the determined port is forwarded by the SDN controller 250 to forward the newly generated routing protocol packet to the forwarding device corresponding to the other virtual router, and so on.
  • the routing calculation instance corresponding to each virtual router can share the routing information of the traditional router 240 according to the received routing protocol packet, thereby generating a corresponding flow table, so that the corresponding forwarding device can forward the datagram sent by the traditional router 240. Therefore, the forwarding device between the SDN and the traditional router can transmit data packets to each other normally, thus achieving the fusion between the SDN and the traditional network.
  • routing protocol packet transmission between the virtual routers is forwarded by the forwarding plane, and the connection between the routing calculation instances corresponding to the virtual routers is implemented in the implementation manner (as shown in FIG. 4), and the virtual router is configured.
  • the routing protocol packet can be sent directly through the control plane.
  • the route calculation instance has been connected according to the connection relationship between the virtual routers.
  • the route calculation instance 211 is sent by the forwarding device 2121.
  • the route calculation is performed by the port to send the newly generated routing protocol packet to the route calculation instance 221 and 231 with which the connection relationship is established, and the newly generated route is sent through the corresponding port.
  • the protocol packet is directly sent to the route calculation instance 221, 231.
  • the route calculation instance 221, 231 regenerates a new routing protocol packet and directly sends the protocol packet. Calculate instances for other routes that are connected to it. In this way, the routing protocol packets of the control plane of the virtual router need to be forwarded through the forwarding plane, which improves the efficiency of routing protocol packets between routing calculation instances.
  • the SDN controller 250 first calculates the shortest path between the ingress port of the cluster and the egress port of the cluster, and generates a flow forwarding table for the forwarding device on the shortest path, and sends the flow forwarding table to Each forwarding device on the shortest path.
  • the SDN controller generates at least a first-level flow table and a second-level flow table, and the first-level flow table includes a port number, a destination IP address, and a destination. IP address mask, and optionally includes a source MAC address, a destination MAC address, and the like.
  • the first action of the first-level flow table is to control the source media of the received data packet (English: Media Access The MAC address of the egress port of the egress packet of The MAC address of the ingress port of the ingress forwarding device is forwarded to the second level flow table; the second matching item of the second level flow table includes the source MAC address, and the like, and the second execution action of the second level flow table forwards the data packet The next forwarding device in the shortest path between the forwarding device that forwards the device along the cluster to the egress of the cluster.
  • the SDN controller generates a third-level flow table for the other forwarding devices except the forwarding device in the cluster, and the third matching item of the third-level flow table includes the source MAC address, and the third execution of the third-level flow table. If the current forwarding device is an egress forwarding device, the data packet is forwarded to the next forwarding device, which is the next forwarding device in the shortest path between the egress forwarding device that forwards the data packet to the cluster. One-hop cluster entry forwarding device.
  • the traditional router 240 sends a data packet to the forwarding device 2121.
  • the routing path of the data packet is determined to be forwarded from the cluster 212 to the cluster 232.
  • the SDN controller 250 The forwarding device 2121 is used as the ingress forwarding device of the cluster 212, the forwarding device 2123 is the egress forwarding device of the cluster 212, the next hop of the cluster 212 is the cluster 232, and the ingress forwarding device of the cluster 232 is the forwarding device 2325.
  • the SDN controller 250 generates a two-stage flow table for the first-stage flow table and the second-level flow table for the forwarding device 2121.
  • the ingress forwarding device 2121 of the cluster 212 When receiving the packet, the ingress forwarding device 2121 of the cluster 212 first matches the data packet according to the first matching item of the first-level flow table. If the matching succeeds, the source of the received packet is executed by the first execution action. The MAC address is modified to the MAC address of the egress port of the egress port forwarding device 2123 of the cluster, and the destination MAC address in the destination MAC address field of the received data packet is modified to be the entry of the next hop cluster 232 of the egress egress device 2123 of the cluster. The MAC address of the ingress port of the forwarding device 2325 is then forwarded to the second level flow table.
  • the ingress forwarding device 2121 of the cluster matches the data packet generated by performing the first action according to the second matching item of the second level flow table. If the matching succeeds, the second execution action is performed to forward the data packet to the cluster.
  • the egress forwarding device 2123 After receiving the data packet, the egress forwarding device 2123 matches the data packet according to the third matching item in the third-level flow table. If the matching succeeds, the third performing action is performed, because the current forwarding device is the egress forwarding device. 2123, the data message is forwarded to the ingress forwarding device 2325 of the next hop cluster 232.
  • the ingress forwarding device forwards the data packet to the egress forwarding device along the cluster to the egress relay device of the cluster. The next intermediate forwarding device in the shortest path.
  • the intermediate forwarding device When receiving the data packet, the intermediate forwarding device performs a third execution action to forward the data packet to the next forwarding device in the shortest path between the ingress forwarding device along the cluster and the egress forwarding device along the cluster. The execution is repeated until the data message is forwarded from the cluster's egress forwarding device.
  • the number of virtual routers and the connection relationship of the virtual routers can be set according to the needs of the user, and then the control plane of each virtual router is created according to the number of virtual routers and the connection relationship between the virtual routers, and is established on the data plane.
  • the connection between the virtual routers is sent to the control plane by the forwarding plane, so that the control plane can instruct the corresponding forwarding to forward the data packets sent by the traditional router.
  • the transmission of data packets between the virtual router and the traditional router is realized, thereby realizing the fusion of the software-defined network virtual traditional network and the traditional network.
  • the number of virtual routers and the connection relationship of the virtual routers in the solution can be set according to the needs of the user, and the flexible integration between the software-defined network virtual traditional network and the traditional network can be realized.
  • FIG. 5 is a schematic structural diagram of an implementation manner of a device for converging a software-defined network and a legacy network according to the present application.
  • the device for the fusion of the software-defined network and the traditional network of the present embodiment includes: a receiving module 510, a creating module 520, a mapping module 530, a first sending module 540, a forwarding plane connecting module 550, and a second sending module 560.
  • the receiving module 510 is configured to receive, by the user, a request for creating at least one virtual router on the SDN, where the request includes a number of the virtual routers and a connection relationship between the virtual routers, and the receiving module 510 sends the request to the A module 520 and a forwarding plane connection module 550 are created.
  • the creating module 520 is configured to create a routing calculation instance that is in one-to-one correspondence with the virtual router, where the routing computing instance is used to run a routing protocol to serve as a control plane of the corresponding virtual router, and the creating module 520 calculates the route.
  • the result of the creation of the instance is sent to the mapping module 530.
  • the mapping module 530 is configured to map each of the route calculation instances to a forwarding device of the SDN, and use the forwarding device mapped by the route calculation instance as a forwarding plane of the virtual router corresponding to the route calculation instance.
  • the 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 the mapping table.
  • the first sending module 540 is configured to send a first instruction to the forwarding device that is in a mapping relationship with the route calculation instance, where the first instruction is used to indicate that the forwarding device that has a mapping relationship with the route calculation instance is received. After the routing protocol packet is sent, the routing protocol packet is sent to the corresponding routing calculation instance.
  • the forwarding plane connection module 550 is configured to establish a logical connection relationship between the forwarding devices corresponding to the virtual routers that have the connection relationship, and the forwarding plane connection module 550 establishes a logical connection relationship according to the connection relationship between the virtual routers in the request. The result is sent to the second delivery module 560.
  • the second sending module 560 is configured to send the second instruction generated by the routing calculation instance to the corresponding forwarding device, so that the forwarding device forwards the data sent by the traditional router according to the second instruction.
  • the message implements the fusion of the software-defined network and the traditional network.
  • the second sending module 560 sends a new routing protocol message generated by the routing calculation instance according to the received routing protocol message to a routing calculation instance of another virtual router that has a connection relationship with the virtual router corresponding to the routing computing instance.
  • the transmission between the routing protocol packets between the virtual routers can be transmitted through the forwarding plane.
  • the control plane can also directly transmit.
  • the second sending module 560 also generates a second instruction generated by the routing calculation instance according to the received routing protocol message, for example, in the form of a flow entry to the corresponding forwarding device, to indicate how the forwarding device forwards the traditional router.
  • the data packet can realize the normal transmission of data packets between the forwarding device of the SDN and the traditional router, thereby realizing the fusion between the SDN and the traditional network.
  • the routing device may further include a control plane connection module, according to the connection relationship between the virtual routers in the request, in order to prevent the routing protocol packet of the control plane of the virtual router from being forwarded through the forwarding plane.
  • a connection relationship is established between the route calculation instances corresponding to the virtual routers requesting the connection relationship.
  • the mapping module is configured to establish a mapping relationship between each of the routing calculation instances and the forwarding device of the software-defined network according to a mapping condition input by the user.
  • the mapping condition includes a connection relationship between the virtual router and the traditional router.
  • the mapping module is specifically configured to use a connection relationship between the virtual router and the traditional router according to a user input. And mapping 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 have a connection relationship with the first traditional router.
  • mapping between the route calculation instance and the forwarding device of the corresponding SDN is a one-to-one mapping.
  • the mapping relationship between the route calculation instance and the forwarding device of the SDN 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 Connection relationship.
  • the ingress forwarding device of the cluster includes at least a first-level flow table and a second-level flow table, where the first matching item of the first-level flow table includes an in-port number and a destination.
  • the IP address and the destination IP address are masked, and the first execution action of the first-level flow table modifies the source MAC address of the received data packet to the MAC address of the egress port of the egress of the cluster.
  • the destination MAC address in the destination MAC address field of the data packet is modified to be the MAC address of the ingress port of the ingress forwarding device of the next hop of the egress of the cluster, and is forwarded to the second level flow table;
  • the second matching item of the second level flow table includes the source MAC address, and the second performing action of the second level flow table is to forward the data packet to the ingress forwarding device along the cluster to the The egress of the cluster forwards the next forwarding device in the shortest path between the devices.
  • the forwarding plane connection module is specifically configured to establish a logical connection relationship by using a tunneling technology between the forwarding devices corresponding to the virtual routers having the connection relationship.
  • FIG. 5 can perform the various steps in the embodiment corresponding to FIG. 1.
  • the number of virtual routers and the connection relationship of the virtual routers can be set according to the needs of the user, and then the control plane of each virtual router is created according to the number of virtual routers and the connection relationship between the virtual routers, and virtual surfaces are created on the data plane.
  • the connection between the routers is sent to the control plane by the forwarding plane, so that the control plane can instruct the forwarding to forward the data packets sent by the traditional router.
  • the transmission of data packets between the virtual router and the traditional router realizes the fusion of the software-defined network virtual traditional network and the traditional network.
  • the number of virtual routers and the connection relationship of the virtual routers in the solution can be set according to the needs of the user, and the flexible integration between the software-defined network virtual traditional network and the traditional network can be realized.
  • FIG. 6 is a schematic structural diagram of an embodiment of a controller according to the present application.
  • the controller 600 of the present 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 a number of the virtual routers and a connection relationship between the virtual routers.
  • the processor 602 is configured to create a one-to-one route calculation instance corresponding to the virtual router, where the route calculation instance is used to run a routing protocol as a control plane of the corresponding virtual router; Establishing a mapping relationship with the forwarding device of the SDN, respectively, to use the forwarding device mapped by the routing calculation instance as a forwarding plane of the virtual router corresponding to the routing calculation instance; and to the forwarding device that has a mapping relationship with the routing calculation instance.
  • Sending a first instruction where the first instruction is used to indicate that the forwarding device that has a mapping relationship with the route calculation instance sends the routing protocol packet to the corresponding route calculation instance after receiving the routing protocol packet;
  • the connection relationship between the virtual routers in the request is to establish a logical connection relationship between the forwarding devices corresponding to the virtual routers that have the connection relationship, and the second instruction generated by the routing calculation instance running the routing protocol is sent.
  • Forwarding device to the corresponding mapping so that the forwarding device forwards the traditional route according to the second instruction Data packets sent, the software defined network to achieve integration with traditional networks.
  • the transmitter 603 is for transmitting data.
  • the controller in this embodiment also includes a memory 604, which may include 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).
  • NVRAM non-volatile random access memory
  • the memory 604 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set thereof:
  • Operation instructions include various operation instructions for implementing various operations.
  • Operating system Includes a variety of system programs for implementing various basic services and handling hardware-based tasks.
  • the processor 602 performs the above operations by calling an operation instruction stored in the memory 604, which can be stored in the operating system.
  • the processor 602 can also be called a CPU (Central Processing) Unit, central processing unit).
  • Memory 604 can include 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).
  • NVRAM non-volatile random access memory
  • the various components of the controller are coupled together by a bus system 605.
  • the bus system 605 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus. However, for clarity of description, various buses are labeled as bus system 605 in the figure.
  • Processor 602 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the foregoing method may be completed by an integrated logic circuit of hardware in the processor 602 or an instruction in a form of software.
  • the processor 602 described above 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, a discrete gate or transistor logic device, or discrete hardware. Component.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA off-the-shelf programmable gate array
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present invention may be implemented or carried out.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
  • the storage medium is located in memory 604, and processor 602 reads the information in memory 604 and, in conjunction with its hardware, performs the steps of the above method.
  • the processor is further 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.
  • the processor is further configured to separately map each of the route calculation instances to a forwarding device of the software-defined network according to a mapping condition input by the user.
  • the mapping condition includes a connection relationship between the virtual router and the traditional router; correspondingly, the processor is further configured to: according to a connection relationship between the virtual router and the traditional router input by a user, Mapping 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 have a connection relationship with the first traditional router.
  • mapping between the route calculation instance and the forwarding device of the corresponding SDN is a one-to-one mapping.
  • the mapping relationship between the route calculation instance and the forwarding device of the SDN 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 Connection relationship.
  • the ingress forwarding device of the cluster includes at least a first-level flow table and a second-level flow table, where the first matching item of the first-level flow table includes an in-port number and a destination.
  • the IP address and the destination IP address are masked, and the first execution action of the first-level flow table modifies the source MAC address of the received data packet to the MAC address of the egress port of the egress of the cluster.
  • the destination MAC address in the destination MAC address field of the data packet is modified to be the MAC address of the ingress port of the ingress forwarding device of the next hop of the egress of the cluster, and is forwarded to the second level flow table;
  • the second matching item of the second level flow table includes the source MAC address, and the second performing action of the second level flow table is to forward the data packet to the ingress forwarding device along the cluster to the The egress of the cluster forwards the next forwarding device in the shortest path between the devices.
  • the processor is further configured to establish a logical connection relationship by using a tunneling technology between the forwarding devices corresponding to the virtual routers having the connection relationship.
  • the number of virtual routers and the connection relationship of the virtual routers can be set according to the needs of the user, and then the control plane of each virtual router is created according to the number of virtual routers and the connection relationship between the virtual routers, and virtual surfaces are created on the data plane.
  • the connection between the routers is sent to the control plane by the forwarding plane, so that the control plane can instruct the forwarding to forward the data packets sent by the traditional router.
  • the transmission of data packets between the virtual router and the traditional router realizes the fusion of the software-defined network virtual traditional network and the traditional network.
  • the number of virtual routers and the connection relationship of the virtual routers in the solution can be set according to the needs of the user, and the flexible integration between the software-defined network virtual traditional network and the traditional network can be realized.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the device implementations described above are merely illustrative.
  • the division of the modules or units is only a logical function division.
  • there may be another division manner for example, multiple units or components may be used. Combinations can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the 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 standalone product, may be stored in a computer readable storage medium.
  • a computer readable storage medium A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read only memory (ROM, Read-Only) Memory, random access memory (RAM), disk or optical disk, and other media that can store program code.

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

软件定义网络与传统网络的融合方法以及装置 Fusion method and device for software defined network and traditional network
【技术领域】[Technical Field]
本申请涉及通信领域,特别是涉及一种软件定义网络与传统网络的融合方法以及装置。The present application relates to the field of communications, and in particular, to a method and apparatus for merging a software-defined network with a legacy network.
【背景技术】 【Background technique】
软件定义网络(Software Defined Network,SDN)是一种新型网络架构,与传统网络所采用的查找IP路由相比,SDN能够实现网络流量的灵活控制,为核心网络及应用的创新提供良好的平台,是今后网络架构发展的方向。但是,现今传统网络中存在大量的传统路由设备,无论是从保护原有投资的角度还是功能的平滑过渡的角度出发,从传统网络过渡到软件定义网络都不可能一蹴而就。于是,市场需要一种兼容软件定义网络以及传统网络的混合网络形态。Software Defined Network Network, SDN) is a new type of network architecture. Compared with the IP routing used by traditional networks, SDN can realize flexible control of network traffic and provide a good platform for innovation of core networks and applications. It is the development of network architecture in the future. direction. However, there are a large number of traditional routing devices in the traditional network today. From the perspective of protecting the original investment or the smooth transition of functions, the transition from the traditional network to the software-defined network cannot be accomplished overnight. Thus, the market needs a hybrid network form that is compatible with software-defined networks as well as traditional networks.
现有技术提供了一种SDN网络和现有传统网络互联的系统和方法,该方法中把整个SDN网络抽象为一个现有传统网络中的路由器,融入到整个传统网络中去。数据包经过整个SDN网络时,就像经过了一跳标准传统网络的路由器,从而实现了SDN网络和现有传统网络的混合。The prior art provides a system and method for interconnecting an SDN network and an existing conventional network, in which the entire SDN network is abstracted into a router in an existing legacy network and integrated into the entire traditional network. When the data packet passes through the entire SDN network, it is like a router that has passed the standard traditional network, which realizes the mixing of the SDN network and the existing traditional network.
现有技术只能将整个SDN网络抽象成为一个传统网络中的路由器,但是,在实际应用中,SDN网络的转发设备和传统网络中的路由器的布局可能是多样的,例如,可能一部分的SDN网络的转发设备在A区,传统网络中的路由器在B区,而另一部分的SDN网络的转发设备在C区,其中,A区邻近B区,B区邻近C区,A区远离C区。这时,现有技术只能将整个SDN网络虚拟成一个传统网络中的路由器,则相当于一个虚拟路由器的转发面被传统网络的路由器分割成两部分,故上述的融合方式并不可取。事实上,根据实际网络的布局,用户更希望的是能将A区和C区的SDN网络分别虚拟成一个路由器,再与位于B区的传统网络中的路由器融合,然而现有技术却无法实现。The prior art can only abstract the entire SDN network into a router in a traditional network. However, in practical applications, the layout of the forwarding device of the SDN network and the router in the traditional network may be diverse, for example, a part of the SDN network may be The forwarding device is in zone A, the router in the traditional network is in zone B, and the forwarding device of the other part of the SDN network is in zone C, wherein zone A is adjacent to zone B, zone B is adjacent to zone C, and zone A is remote from zone C. At this time, the prior art can only virtualize the entire SDN network into a router in the traditional network, and the forwarding plane of the virtual router is divided into two parts by the router of the traditional network, so the above fusion manner is not preferable. In fact, according to the layout of the actual network, the user prefers to be able to virtualize the SDN networks of Zone A and Zone C into one router respectively, and then merge with the routers in the traditional network located in Zone B, but the prior art cannot implement .
【发明内容】 [Summary of the Invention]
本申请提供了一种软件定义网络与传统网络的融合方法以及装置,根据用户需求实现对软件定义网络和传统网络的灵活融合。The present application provides a method and device for integrating a software-defined network with a traditional network, and implements flexible integration of a software-defined network and a 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 the forwarding device of the software-defined network has a connection relationship with a traditional router of the traditional network, and the method includes: receiving a user input The software defines a request for creating at least one virtual router on the network, where the request includes a number of the virtual routers and a connection relationship between the virtual routers; creating a route calculation instance corresponding to the virtual routers one by one, The route calculation instance is used to run a routing protocol as a control plane of the corresponding virtual router; each of the route calculation instances is respectively mapped with a forwarding device of the software-defined network to calculate the route. The forwarding device of the instance mapping is used as a forwarding plane of the virtual router corresponding to the routing calculation instance; the first instruction is sent to the forwarding device that is in a mapping relationship with the routing calculation instance, where the first instruction is used to indicate After receiving the routing protocol packet, the forwarding device with the mapping relationship between the routing calculation instances receives the routing protocol packet. Sending the routing protocol packet to the corresponding routing calculation instance; establishing a logical connection relationship between the forwarding devices corresponding to the virtual router requesting the connection relationship according to the connection relationship between the virtual routers in the request; The second instruction generated by the routing calculation instance running the routing protocol is sent to the corresponding forwarding device, so that the forwarding device forwards the data packet sent by the traditional router according to the second instruction, and implements the software-defined network and The convergence of traditional networks.
结合第一方面,本申请第一方面的第一种可能的实施方式中,还包括:根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的路由计算实例之间建立连接关系。With reference to the first aspect, in a first possible implementation manner of the first aspect of the present application, the method further includes: calculating a route corresponding to the virtual router that has the connection relationship according to the connection relationship between the virtual routers in the request Establish a connection relationship between instances.
结合第一方面,本申请第一方面的第二种可能的实施方式中,所述将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系具体为:根据用户输入的映射条件,将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系。With reference to the first aspect, in a second possible implementation manner of the first aspect of the present application, the mapping between each of the routing calculation instances and the forwarding device of the software-defined network is specifically as follows: The mapping condition is to establish a mapping relationship between each of the routing calculation instances and the forwarding device 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, the mapping condition includes a connection relationship between the virtual router and the traditional router; And mapping the each of the routing calculation instances to the forwarding device of the software-defined network according to the mapping condition input by the user, specifically: according to the virtual router and the traditional router input by the user The connection relationship is configured to map 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 have a connection relationship with the first traditional router.
结合第一方面或第一种至第三种任一种可能的实施方式,本申请第一方面的第四种可能的实施方式中,所述路由计算实例与所述软件定义网络的转发设备的映射关系为一对一映射。With reference to the first aspect, or any one of the first to the third possible implementation manners, in the fourth possible implementation manner of the first aspect of the present application, the routing calculation instance and the forwarding device of the software-defined network The mapping relationship is a one-to-one mapping.
结合第一方面或第一种至第三种任一种可能的实施方式,本申请第一方面的第五种可能的实施方式中,所述路由计算实例与所述软件定义网络的转发设备的映射关系为一对多映射,其中,同一路由计算实例所映射的多个转发设备构成一个簇,同一个簇内的转发设备之间具有连接关系。With reference to the first aspect, or any one of the first to the third possible implementation manners, in the fifth possible implementation manner of the first aspect of the present application, the routing calculation instance and the forwarding device of the software-defined network The mapping relationship is a one-to-many mapping, where multiple forwarding devices mapped by the same routing calculation instance form a cluster, and the forwarding devices in the same cluster have a connection relationship.
结合第一方面的第五种可能的实施方式,本申请第一方面的第六种可能的实施方式中,所述簇的入口转发设备至少包括第一级流表以及第二级流表,其中,所述第一级流表的第一匹配项包括入端口号、目的IP地址、目的IP地址掩码,所述第一级流表的第一执行动作将接收到的数据报文的源媒体接入控制MAC地址修改为所述簇的出口转发设备的出端口的MAC地址,将所述数据报文的目的MAC地址域中的目的MAC地址修改为所述簇的出口转发设备的下一跳的入口转发设备的入端口的MAC地址,并转向所述第二级流表;所述第二级流表的第二匹配项包括所述源MAC地址,所述第二级流表的第二执行动作为将所述数据报文转发给沿着所述簇的入口转发设备至所述簇的出口转发设备之间的最短路径中的下一个转发设备。With reference to the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the ingress forwarding device of the cluster includes at least a first level flow table and a second level flow table, where The first matching item of the first-level flow table includes an inbound port number, a destination IP address, and a destination IP address mask, and the first execution action of the first-level flow table will receive the source media of the data packet. The access control MAC address is modified to be the MAC address of the egress port of the egress of the cluster, and the destination MAC address in the destination MAC address field of the data packet is modified to be the next hop of the egress of the cluster. The ingress port forwards the MAC address of the ingress port of the device to the second level flow table; the second match of the second level flow table includes the source MAC address, and the second level flow table is second The act of performing is to forward the data message to the next forwarding device in the shortest path between the ingress forwarding device along the cluster to the 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 the seventh possible implementation manner of the first aspect of the present application, the forwarding device corresponding to the virtual router having the connection relationship The logical connection relationship is established by using a tunneling technology between the forwarding devices corresponding to the virtual routers having the connection relationship.
本申请第二方面提供一种软件定义网络与传统网络的融合装置,所述软件定义网络的转发设备与所述传统网络的传统路由器之间具有连接关系,所述融合装置包括:接收模块、创建模块、映射模块、第一下发模块、转发面连接模块以及第二下发模块,所述接收模块用于接收用户输入的在所述软件定义网络上创建至少一个虚拟路由器的请求,所述请求包括所述虚拟路由器的数量和所述虚拟路由器之间的连接关系,所述接收模块将所述请求发送给所述创建模块和所述转发面连接模块;所述创建模块用于创建与所述虚拟路由器一一对应的路由计算实例,所述路由计算实例用于运行路由协议,以作为对应的所述虚拟路由器的控制面,所述创建模块将所述路由计算实例的创建结果发送给所述映射模块;所述映射模块用于将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系,以将所述路由计算实例映射的转发设备作为所述路由计算实例所对应的虚拟路由器的转发面,所述映射模块将所述映射结果发送给所述第一下发模块;所述第一下发模块用于向与所述路由计算实例有映射关系的转发设备下发第一指令,所述第一指令用于指示与所述路由计算实例有映射关系的转发设备在收到路由协议报文后,将所述路由协议报文发送给对应的路由计算实例;所述转发面连接模块用于根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的转发设备之间建立逻辑连接关系,所述转发面连接模块建立逻辑连接关系的结果发送给所述第二下发模块;所述第二下发模块用于将所述路由计算实例运行路由协议而产生的第二指令下发到对应映射的转发设备,使得所述转发设备根据所述第二指令转发传统路由器发来的数据报文,实现所述软件定义网络与传统网络的融合。The second aspect of the present application provides a device for the fusion of a software-defined network and a traditional network, where the forwarding device of the software-defined network has a connection relationship with a traditional router of the traditional network, and the fusion device includes: a receiving module, and a creation a module, a mapping module, a first sending module, a forwarding plane connection module, and a second sending module, where the receiving module is configured to receive a user input request to create at least one virtual router on the software defined network, the request Including a connection relationship between the number of the virtual routers and the virtual router, the receiving module sends the request to the creation module and the forwarding plane connection module; the creation module is configured to create and a routing calculation instance corresponding to the virtual router, the routing calculation instance is used to run a routing protocol to serve as a control plane of the corresponding virtual router, and the creating module sends the creation result of the routing calculation instance to the a mapping module, configured to separately use each of the routing calculation instances with the soft Defining a forwarding device of the network to establish a mapping relationship, the forwarding device mapped by the routing calculation instance is used as a forwarding plane of the virtual router corresponding to the routing calculation instance, and the mapping module sends the mapping result to the first a first sending module, configured to send a first instruction to a forwarding device that is in a mapping relationship with the route calculation instance, where the first instruction is used to indicate that the routing calculation instance has a mapping relationship After receiving the routing protocol packet, the forwarding device sends the routing protocol packet to the corresponding routing calculation instance; the forwarding plane connection module is configured to perform the request according to the connection relationship between the virtual routers in the request. A logical connection relationship is established between the forwarding devices corresponding to the virtual routers having the connection relationship, and the result of the logical connection relationship between the forwarding plane connection module is sent to the second sending module; the second sending module is used to The second instruction generated by the routing calculation instance running the routing protocol is delivered to the forwarding device of the corresponding mapping, so that the forwarding device is configured. The traditional router forwarding the second instruction to send the data packet, the software defined network to achieve integration with traditional networks.
结合第二方面,本申请第二方面的第一种可能的实施方式中,还包括控制面连接模块,用于根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的路由计算实例之间建立连接关系。With reference to the second aspect, the first possible implementation manner of the second aspect of the present application further includes a control plane connection module, configured to request a virtual connection relationship according to a connection relationship between the virtual routers in the request A connection relationship is established between the route calculation instances corresponding to the router.
结合第二方面,本申请第二方面的第二种可能的实施方式中,所述映射模块具体用于根据用户输入的映射条件,将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系。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: each of the routing calculation instances and the software-defined network respectively according to a mapping condition input by a user The forwarding device establishes a mapping relationship.
结合第二方面的第二种可能的实施方式,本申请第二方面的第三种可能的实施方式中,所述映射条件包括所述虚拟路由器与所述传统路由器之间的连接关系;相应地,所述映射模块更具体用于根据用户输入的所述虚拟路由器与所述传统路由器之间的连接关系,将第一转发设备映射到第一虚拟路由器所对应的路由计算实例,其中,所述第一转发设备和第一虚拟路由器均与第一传统路由器具有连接关系。With reference to the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the mapping condition includes a connection relationship between the virtual router and the traditional router; The mapping module is further configured to map the first forwarding device to a route calculation instance corresponding to the first virtual router according to the connection relationship between the virtual router and the traditional router that is input by the user, where the Both the first forwarding device and the first virtual router have a connection relationship with the first legacy router.
结合第二方面或第一种至第三种任一种可能的实施方式,本申请第二方面的第四种可能的实施方式中,所述路由计算实例与所述软件定义网络的转发设备的映射关系为一对一映射。With reference to the second aspect, or any one of the first to the third possible implementation manners, in the fourth possible implementation manner of the second aspect of the present application, the routing calculation instance and the forwarding device of the software-defined network The mapping relationship 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 the fifth possible implementation manner of the second aspect of the present application, the routing calculation instance and the forwarding device of the software-defined network The mapping relationship is a one-to-many mapping, where multiple forwarding devices mapped by the same routing calculation instance form a cluster, and the forwarding devices in the same cluster have a connection relationship.
结合第二方面的第五种任一种可能的实施方式,本申请第二方面的第六种可能的实施方式中,所述簇的入口转发设备至少包括第一级流表以及第二级流表,其中,所述第一级流表的第一匹配项包括入端口号、目的IP地址、目的IP地址掩码,所述第一级流表的第一执行动作将接收到的数据报文的源媒体接入控制MAC地址修改为所述簇的出口转发设备的出端口的MAC地址,将所述数据报文的目的MAC地址域中的目的MAC地址修改为所述簇的出口转发设备的下一跳的入口转发设备的入端口的MAC地址,并转向所述第二级流表;所述第二级流表的第二匹配项包括所述源MAC地址,所述第二级流表的第二执行动作为将所述数据报文转发给沿着所述簇的入口转发设备至所述簇的出口转发设备之间的最短路径中的下一个转发设备。With reference to the fifth possible implementation manner of the second aspect, in the sixth possible implementation manner of the second aspect, the ingress forwarding device of the cluster includes at least a first level flow table and a second level flow The first matching item of the first level flow table includes an inbound port number, a destination IP address, and a destination IP address mask, and the first execution action of the first level flow table will receive the data packet. The source media access control MAC address is modified to be the MAC address of the egress port of the egress of the cluster, and the destination MAC address in the destination MAC address field of the data packet is modified to be the egress of the cluster. The next hop of the ingress forwards the MAC address of the ingress port of the device, and turns to the second level flow table; the second match of the second level flow table includes the source MAC address, and the second level flow table The second performing action is to forward the data message to the next forwarding device in the shortest path between the ingress forwarding device of the cluster to the 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 the seventh possible implementation manner of the second aspect, the forwarding plane connection module is specifically configured to be in a virtual connection relationship The forwarding devices corresponding to the router establish a logical connection relationship through tunnel technology.
上述方案中,可以根据用户的需要设置虚拟路由器的数量、虚拟路由器的连接关系,然后根据虚拟路由器的数量以及虚拟路由器间的连接关系创建每个虚拟路由器的控制面,并在数据面上建立虚拟路由器之间的连接关系,并通过指示转发面将传统路由器发来的路由协议报文发送给控制面,使得控制面能够指示对应的转发面对传统路由器发来的数据报文的转发,故实现了数据报文在虚拟路由器和传统路由器之间的传输,从而实现软件定义网络虚拟传统网络与传统网络的融合。而且,虚拟路由器的数量、虚拟路由器的连接关系可以根据用户的需要自行设置,能够实现软件定义网络虚拟传统网络与传统网络间的灵活融合。In the above solution, the number of virtual routers and the connection relationship of the virtual routers can be set according to the needs of the user, and then the control plane of each virtual router is created according to the number of virtual routers and the connection relationship between the virtual routers, and virtual surfaces are created on the data plane. The connection between the routers is sent to the control plane by the forwarding plane, so that the control plane can instruct the forwarding to forward the data packets sent by the traditional router. The transmission of data packets between the virtual router and the traditional router realizes the fusion of the software-defined network virtual traditional network and the traditional network. Moreover, the number of virtual routers and the connection relationship of the virtual routers can be set according to the needs of the users, and the flexible integration between the software-defined network virtual traditional network and the traditional network can be realized.
【附图说明】 [Description of the Drawings]
图1是本申请软件定义网络与传统网络的融合方法的一实施方式的流程图;1 is a flow chart of an embodiment of a method for integrating a software-defined network and a legacy network of the present application;
图2是本申请软件定义网络与传统网络的融合的一实施方式的框架图;2 is a framework diagram of an embodiment of a fusion of a software-defined network and a legacy network of the present application;
图3是本申请软件定义网络与传统网络的融合的另一实施方式的框架图;3 is a block diagram of another embodiment of the fusion of the software-defined network of the present application with a legacy network;
图4是本申请软件定义网络与传统网络的融合的再一实施方式的框架图;4 is a block diagram of still another embodiment of the fusion of the software defined network and the legacy network of the present application;
图5是本申请软件定义网络与传统网络的融合装置一实施方式的结构示意图;5 is a schematic structural diagram of an implementation manner of a device for converging a software-defined network and a legacy network according to the present application;
图6是本申请控制器一实施方式的结构示意图。FIG. 6 is a schematic structural diagram of an embodiment of a controller of the present application.
【具体实施方式】 【detailed description】
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。In the following description, for purposes of illustration and description, reference However, it will be apparent to those skilled in the art that the present invention can be implemented in other embodiments without 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 application.
在下面的描述中,路由器用于描述传统网络中具有判断网络地址和选择IP路径的功能的设备。转发设备用于描述软件定义网络中具有根据转发流表转发报文功能的设备。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 to describe a device in the software-defined network that has the function of forwarding packets according to the forwarding flow table.
参阅图1和图2,图1是本申请一种软件定义网络与传统网络的融合方法的流程图,图2是本申请软件定义网络与传统网络的融合的一实施方式的框架图。该方法的执行主体可以是SDN控制器250。本实施方式的软件定义网络与传统网络的融合方法包括:Referring to FIG. 1 and FIG. 2, FIG. 1 is a flowchart of a method for fusing a software-defined network and a traditional network according to the present application, and FIG. 2 is a block diagram of an embodiment of a fusion of a software-defined network and a legacy network in the present application. The executive body of the method can be the SDN controller 250. The method for integrating the software-defined network and the traditional network in this embodiment includes:
110:接收用户输入的在SDN上创建至少一个虚拟路由器的请求,所述请求包括虚拟路由器的数量和虚拟路由器之间的连接关系。110: Receive a user input request to create at least one virtual router on the SDN, where the request includes a number of virtual routers and a connection relationship between the virtual routers.
下面结合一个例子进行说明,请参阅图2,SDN包括转发设备2121、2123、2221、2321、2323、2325,传统网络包括传统路由器240。SDN的转发设备与传统网络的传统路由器之间具有的连接关系为:转发设备2121、转发设备2221均连接传统路由器240。根据当前SDN网络和传统网络的分布,用户可按需在SDN上创建多个虚拟路由器,以用于与传统网络中的传统路由器进行交互,其中具体为:创建三个虚拟路由器210、220、230;需要设置的虚拟路由器之间的连接关系为:虚拟路由器210连接虚拟路由器220,虚拟路由器220连接虚拟路由器230,虚拟路由器230连接虚拟路由器210。用户向SDN控制器250输入包括上述虚拟路由器的数量和连接关系的请求,以请求SDN控制器250创建上述虚拟路由器210、220、230。The following is described in conjunction with an example. Referring to FIG. 2, the SDN includes forwarding devices 2121, 2123, 2221, 2321, 2323, 2325, and the legacy network includes a legacy router 240. The connection relationship between the forwarding device of the SDN and the traditional router of the traditional network is that the forwarding device 2121 and the forwarding device 2221 are connected to the traditional router 240. According to the current distribution of the SDN network and the traditional network, the user can create multiple virtual routers on the SDN as needed for interaction with the traditional routers in the traditional network, where specifically: creating three virtual routers 210, 220, 230 The connection relationship between the virtual routers to be set is that 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 described above to the SDN controller 250 to request the SDN controller 250 to create the above-described virtual routers 210, 220, 230.
120:创建与所述虚拟路由器一一对应的路由计算实例,所述路由计算实例用于运行路由协议,以作为对应的所述虚拟路由器的控制面。120: Create a route calculation instance corresponding to the virtual router, where the route calculation instance is used to run a routing protocol as a control plane of the corresponding virtual router.
具体,创建与虚拟路由器210对应的路由计算实例211,作为虚拟路由器210的控制面,创建与虚拟路由器220对应的路由计算实例221作为虚拟路由器220的控制面,创建与虚拟路由器230对应的路由计算实例231作为虚拟路由器230的控制面。Specifically, the route calculation instance 211 corresponding to the virtual router 210 is created as the control plane of the virtual router 210, and the route calculation instance 221 corresponding to the virtual router 220 is created as the control plane of the virtual router 220, and the route calculation corresponding to the virtual router 230 is created. The instance 231 serves as the control plane for the virtual router 230.
其中,路由计算实例211、221、231可以直接在SDN控制器250上创建,并分别运行在SDN控制器250的不同虚拟机上;也可以分别在不同云端服务器上创建(如图2所示);又或仅在一台云端服务器创建,并分别运行在该云端服务器的不同虚拟机上。可以理解的是,上述的路由计算实例为逻辑概念,每个路由计算实例为一个虚拟路由器提供控制面功能,但在物理实现上,路由计算实例还可以划分为多个部分,不同部分在不同云端服务器或者虚拟机上实现,如SDN控制器与两个云端服务器连接,以使得SDN创建的一虚拟路由器所对应的路由计算实例分别在两个云端服务器上共同实现,故本申请提及到的路由计算实例与虚拟路由器一一对应为逻辑观念上的对应,而非物理实现上。The route calculation examples 211, 221, and 231 can be directly created on the SDN controller 250 and run on different virtual machines of the SDN controller 250 respectively. Alternatively, they can be created on different cloud servers (as shown in FIG. 2). Or created in one cloud server and running on different virtual machines of the cloud server. It can be understood that the foregoing route calculation example is a logical concept, and each route calculation instance provides a control plane function for a virtual router, but in physical implementation, the route calculation instance can also be divided into multiple parts, and different parts are in different clouds. The server or the virtual machine is implemented, for example, the SDN controller is connected to the two cloud servers, so that the route calculation instance corresponding to a virtual router created by the SDN is implemented on the two cloud servers respectively, so the route mentioned in the application. The one-to-one correspondence between the computing instance and the virtual router is a logical conceptual correspondence, not a physical implementation.
130:将每个所述路由计算实例分别与SDN的转发设备建立映射关系,以将所述路由计算实例映射的转发设备作为所述路由计算实例所对应的虚拟路由器的转发面。130: Each of the route calculation instances is respectively mapped to a forwarding device of the SDN, so that the forwarding device mapped by the route calculation instance is used as a forwarding plane of the virtual router corresponding to the route calculation instance.
映射时,可以通过人工指定的方式进行映射,或通过一些算法(例如,采用启发式算法)实现路由计算实例与SDN的转发设备之间的自主映射。In the mapping, the mapping may be performed in a manually specified manner, or the autonomous mapping between the routing calculation instance and the forwarding device of the SDN may be implemented by some algorithms (for example, using a heuristic algorithm).
举例来说,如果用户没有进行输入特定的映射条件,SDN控制器250可自主进行映射,建立路由计算实例与SDN的转发设备之间映射关系。具体的映射关系,可以包括端口级的映射,即路由计算实例的端口ID与对应的转发设备的端口ID之间的映射。For example, if the user does not input a specific mapping condition, the SDN controller 250 can autonomously perform mapping to establish a mapping relationship between the route calculation instance and the forwarding device of the SDN. The specific mapping relationship may include a mapping at the port level, that is, a mapping between a port ID of the routing calculation instance and a port ID of the corresponding forwarding device.
但通常来说,用户一般会输入一些映射条件来约束具体的映射关系,此时,SDN控制器250可根据用户输入的映射条件来进行映射。例如,用户输入的映射条件包括虚拟路由器与所述传统路由器之间的连接关系,则SDN控制器将第一转发设备映射到第一虚拟路由器所对应的路由计算实例,其中,所述第一转发设备和第一虚拟路由器均与第一传统路由器具有连接关系。如图3所示,用户向SDN控制器250输入虚拟路由器210、220与传统路由器 (传统路由器 代表传统网络中的传统路由器240)具有连接关系,SDN的转发设备2121、2221均连接传统路由器240,故将SDN的转发设备2121映射到虚拟路由器210所对应的路由计算实例211、将SDN的转发设备2221映射到虚拟路由器220所对应的路由计算实例221。Generally speaking, the user generally inputs some mapping conditions to constrain the specific mapping relationship. At this time, the SDN controller 250 can perform mapping according to the mapping condition input by the user. For example, the mapping condition input by the user includes a connection relationship between the virtual router and the traditional router, and the SDN controller maps the first forwarding device to a route calculation instance corresponding to the first virtual router, where the first forwarding Both the device and the first virtual router have a connection relationship with the first legacy router. As shown in FIG. 3, the user inputs the virtual routers 210, 220 and the traditional router to the SDN controller 250. (traditional router The traditional routers 240 in the traditional network have a connection relationship, and the forwarding devices 2121 and 2221 of the SDN are connected to the traditional router 240. Therefore, the forwarding device 2121 of the SDN is mapped to the route calculation instance 211 corresponding to the virtual router 210, and the SDN is forwarded. The device 2221 is mapped to the route calculation instance 221 corresponding to the virtual router 220.
当然,用户输入的映射条件还可以为其他,如为每个路由计算实例的处理能力等,SDN控制器为处理能力越大的路由计算实例映射更多的转发设备或者转发能力更大的转发设备等;如为虚拟路由器230服务的地理信息,根据SDN的每个转发设备的位置信息,将位于在虚拟路由器230服务地点或附近的空闲的SDN转发设备2321、2323、2325映射到该虚拟路由器230所对应的路由计算实例231。Of course, the mapping condition input by the user may be other, for example, the processing capability of the calculation instance for each route, and the SDN controller maps more forwarding devices or forwarding devices with larger forwarding capabilities to the routing calculation instance with larger processing capability. And the like; for the geographic information served by the virtual router 230, the idle SDN forwarding devices 2321, 2323, 2325 located at or near the service location of the virtual router 230 are mapped to the virtual router 230 according to the location information of each forwarding device of the SDN. The corresponding route calculation example 231.
路由计算实例与所对应的SDN的转发设备的映射可以为一对一映射,也可以为一对多映射,同一路由计算实例所映射的多个转发设备构成一个簇,同一个簇内的转发设备之间具有连接关系。例如,路由计算实例211映射于SDN的转发设备2121和转发设备2123,转发设备2121和转发设备2123构成一个簇,作为虚拟路由器210的转发面212;路由计算实例221映射于SDN的转发设备2221,作为虚拟路由器220的转发面222;路由计算实例231映射SDN的转发设备2321、转发设备2323和转发设备2325,转发设备2321、转发设备2323和转发设备2325构成一个簇,作为虚拟路由器230的转发面232。The mapping between the route calculation instance and the forwarding device of the corresponding SDN may be a one-to-one mapping, or a one-to-many mapping, and multiple forwarding devices mapped by the same routing calculation instance form a cluster, and the forwarding device in the same cluster There is a connection relationship between them. For example, the routing calculation instance 211 is mapped to the forwarding device 2121 and the forwarding device 2123 of the SDN, the forwarding device 2121 and the forwarding device 2123 form a cluster as the forwarding plane 212 of the virtual router 210; the routing calculation instance 221 is mapped to the forwarding device 2221 of the SDN, As the forwarding plane 222 of the virtual router 220; the routing calculation instance 231 maps the forwarding device 2321 of the SDN, the forwarding device 2323, and the forwarding device 2325, and the forwarding device 2321, the forwarding device 2323, and the forwarding device 2325 form a cluster as the forwarding plane of the virtual router 230. 232.
其中,进行映射时必须保证同一个簇内的转发设备之间具有连接关系。例如,路由计算实例211所对应的簇的转发设备2121和转发设备2123之间存在连接;路由计算实例231所对应的簇的转发设备2321和转发设备2323之间存在连接,转发设备2323和转发设备2325之间存在连接,转发设备2321和转发设备2325之间存在连接。The mapping between the forwarding devices in the same cluster must be ensured. For example, there is a connection between the forwarding device 2121 and the forwarding device 2123 of the cluster corresponding to the routing calculation instance 211; there is a connection between the forwarding device 2321 and the forwarding device 2323 of the cluster corresponding to the routing calculation instance 231, and the forwarding device 2323 and the forwarding device There is a connection between 2325, and there is a connection between the forwarding device 2321 and the forwarding device 2325.
而且,具有连接关系的虚拟路由器所对应的转发设备之间是物理可达的。例如,虚拟路由器210与虚拟路由器220具有连接关系,则必须保证,虚拟路由器210所对应的转发设备2121或2123与虚拟路由器220所对应的转发设备2221之间必须存在物理链路。虚拟路由器220与虚拟路由器230具有连接关系,则必须保证,虚拟路由器220所对应的转发设备2221与虚拟路由器230所对应的转发设备2321、2323或2325之间必须存在物理链路。路由计算实例210与路由计算实例230具有连接关系,则必须保证,虚拟路由器210所对应的转发设备2121或2123与虚拟路由器230所对应的转发设备2321、2323或2325之间必须存在物理链路。Moreover, the forwarding devices corresponding to the virtual routers having the connection relationship are physically reachable. For example, if the virtual router 210 has a connection relationship with the virtual router 220, it must be ensured that a physical link exists between the forwarding device 2121 or 2123 corresponding to the virtual router 210 and the forwarding device 2221 corresponding to the virtual router 220. The virtual router 220 has a connection relationship with the virtual router 230. Therefore, it must be ensured that a physical link exists 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. The routing calculation instance 210 has a connection relationship with the routing calculation instance 230. Therefore, it must be ensured that a physical link exists 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.
当路由计算实例与SDN的转发设备是一对一时,SDN的转发设备的入端口即为路由计算实例的入端口,SDN的转发设备的出端口即为路由计算实例的出端口。当路由计算实例与SDN的转发设备是一对多时,同一路由计算实例所对应的SDN的多个转发设备构成一个簇,此时,需要选择簇内的一个转发设备的其中一个端口作为入端口,簇内除入端口外的一个端口作为出端口,具体簇的入端口和出端口根据实际路由计算所选择路径确定。When the route calculation instance is one-to-one with the forwarding device of the SDN, the ingress port of the forwarding device of the SDN is the ingress port of the route calculation instance, and the egress port of the forwarding device of the SDN is the egress port of the route calculation instance. When the route calculation instance is one-to-many with the forwarding device of the SDN, multiple forwarding devices of the SDN corresponding to the same route calculation instance form a cluster. In this case, one port of one forwarding device in the cluster needs to be selected as the ingress port. A port in the cluster except the inbound port is used as the egress port. The ingress port and egress port of the specific cluster are determined according to the path selected by the actual route calculation.
映射完成后,SDN控制器250记录这种映射关系,如将该映射关系保存在映射表上。After the mapping is completed, the SDN controller 250 records the mapping relationship, such as saving the mapping relationship on the mapping table.
140:向与所述路由计算实例有映射关系的转发设备下发第一指令,所述第一指令用于指示与所述路由计算实例有映射关系的转发设备在收到路由协议报文后,将所述路由协议报文发送给对应的路由计算实例。The first instruction is sent to the forwarding device that is in the mapping relationship with the routing calculation instance, where the first instruction is used to indicate that the forwarding device that has a mapping relationship with the routing calculation instance receives the routing protocol packet. Sending the routing protocol packet to the corresponding route calculation instance.
在建立映射关系后,第一指令可以以流表项的方式下发到转发设备中。具体如,SDN控制器250向SDN的转发设备2121、2123发送流表项,以指示转发设备2121、2123在收到路由协议报文(例如转发设备2121会收到传统路由器240发来的路由协议报文)后,将所述路由协议报文发送给对应的路由计算实例212;向SDN的转发设备2221发送流表项,以指示转发设备2221在收到路由协议报文后,将所述路由协议报文发送给对应的路由计算实例222;向SDN的转发设备2321、2323及2325发送流表项,以指示转发设备2321、2323及2325在收到路由协议报文后,将所述路由协议报文发送给对应的路由计算实例232,以保证所有虚拟路由器所对应的路由计算实例均可通过转发设备接收到路由协议,生成能够指示对应转发设备转发传统路由器发来的数据报文的流表。After the mapping relationship is established, the first instruction can be sent to the forwarding device in the form of a flow entry. For example, the SDN controller 250 sends a flow entry to the forwarding device 2121, 2123 of the SDN to indicate that the forwarding device 2121, 2123 receives the routing protocol packet (for example, the forwarding device 2121 receives the routing protocol sent by the traditional router 240). After receiving the routing protocol packet, the routing protocol packet is sent to the corresponding routing calculation instance 212. The forwarding device is sent to the forwarding device 2221 of the SDN to instruct the forwarding device 2221 to send the routing protocol packet after receiving the routing protocol packet. The protocol packet is sent to the corresponding route calculation instance 222; the flow entry is sent to the forwarding devices 2321, 2323, and 2325 of the SDN, to indicate that the forwarding device 2321, 2323, and 2325, after receiving the routing protocol packet, the routing protocol. The packet is sent to the corresponding route calculation instance 232, so that the route calculation instance corresponding to all the virtual routers can receive the routing protocol through the forwarding device, and generate a flow table that can instruct the corresponding forwarding device to forward the data packet sent by the traditional router. .
150:根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的转发设备之间建立逻辑连接关系。150: Establish a logical connection relationship between the forwarding devices corresponding to the virtual routers that request the connection relationship according to the connection relationship between the virtual routers in the request.
此时,尽管已经建立了路由计算实例与SDN的转发设备之间的映射,但是,不同虚拟路由器的转发面之间尚未建立连接。所以,数据报文无法从一个虚拟路由器所对应的转发设备转发给另一虚拟路由器所对应的转发设备。所以,要在转发面建立请求中需具有连接关系的虚拟路由器所对应的转发设备之间的逻辑连接。At this time, although the mapping between the route calculation instance and the forwarding device of the SDN has been established, the connection between the forwarding planes of different virtual routers has not been established yet. 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, a logical connection between the forwarding devices corresponding to the virtual routers having the connection relationship in the forwarding plane establishment request is required.
在建立逻辑连接时,如果请求中需具有连接关系的虚拟路由器所对应的转发设备之间存在直接的物理连接,则可以利用现有的物理链路建立该转发设备之间的逻辑连接;如果请求中需具有连接关系的虚拟路由器所对应的转发设备之间不存在直接的物理连接,但物理可达,则可以通过隧道技术穿越无关的设备,该转发设备之间的逻辑连接。When a logical connection is established, if there is a direct physical connection between the forwarding devices corresponding to the virtual routers that need to have a connection relationship in the request, the existing physical link can be used to establish a logical connection between the forwarding devices; There is no direct physical connection between the forwarding devices corresponding to the virtual routers that have a connection relationship. However, if the physical connection is reachable, the tunnel technology can be used to traverse the unrelated devices and the logical connections between the forwarding devices.
例如,请继续参与图2,由于请求中虚拟路由器210与虚拟路由器220之间存在连接,所以,在转发设备2121与转发设备2221之间建立逻辑连接以作为虚拟路由器210的转发面212与虚拟路由器220的转发面222之间的连接。由于请求中虚拟路由器220与虚拟路由器230之间存在连接,所以,在转发设备2221与转发设备2321之间建立逻辑连接以作为虚拟路由器220的转发面222与虚拟路由器230的转发面232之间的连接。由于请求中虚拟路由器230与虚拟路由器210之间存在连接,所以,在转发设备2325与转发设备2123之间建立逻辑连接以作为虚拟路由器230的转发面232与虚拟路由器210的转发面212之间的连接。For example, please continue to participate in FIG. 2. Since there is a connection between the virtual router 210 and the virtual router 220 in the request, a logical connection is established between the forwarding device 2121 and the forwarding device 2221 as the forwarding plane 212 and the virtual router of the virtual router 210. The connection between the forwarding faces 222 of 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 between the forwarding plane 222 of the virtual router 220 and the forwarding plane 232 of the virtual router 230. connection. 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 between the forwarding plane 232 of the virtual router 230 and the forwarding plane 212 of the virtual router 210. connection.
在不同虚拟路由器所对应的转发设备之间建立好逻辑连接后,该不同虚拟路由器之间即具有可相互转发数据报文的能力。After a logical connection is established between the forwarding devices of the different virtual routers, the different virtual routers have the capability of forwarding data packets to each other.
进一步地,为避免虚拟路由器的控制面的路由协议报文还需要通过转发面进行转发,还可根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的路由计算实例之间建立连接关系。如图4所示,由于请求中虚拟路由器210与虚拟路由器220之间存在连接,所以,在路由计算实例211与路由计算实例221之间建立连接以作为虚拟路由器210与虚拟路由器220的控制面之间的连接。由于请求中虚拟路由器220与虚拟路由器230之间存在连接,所以,在路由计算实例221与路由计算实例231之间建立连接以作为虚拟路由器220与虚拟路由器230的控制面之间的连接。由于请求中虚拟路由器230与虚拟路由器210之间存在连接,所以,在路由计算实例231与路由计算实例211之间建立连接以作为虚拟路由器230与虚拟路由器210的控制面之间的连接。Further, in order to prevent the routing protocol packet of the control plane of the virtual router from being forwarded through the forwarding plane, the virtual router corresponding to the virtual router in the request may also be requested according to the connection relationship between the virtual routers in the request. A connection relationship is established between route calculation instances. 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 control plane of the virtual router 210 and the virtual router 220. The connection between the two. 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.
其中,路由计算实例之间可通过交换机建立连接。当不同的路由计算实例运行在不同的物理设备时,则通过物理交换设备将路由计算实例连接起来,当不同的路由计算实例运行在同一物理设备的不同虚拟机上时,则通过虚拟交换设备(vSwitch)将路由计算实例连接起来。A route connection instance can establish a connection through a switch. When different route calculation instances are running on different physical devices, the route calculation instances are connected through the physical switching device. When different route calculation instances run on different virtual machines of the same physical device, the virtual switching device is used. vSwitch) Connect route calculation instances.
例如,在路由计算实例A和B之间设置交换设备,交换设备的一个端口与路由计算实例A的端口连接,交换设备的另一个端口与路由计算实例B的端口连接。路由计算实例A发出的路由协议报文可以通过交换设备发送给路由计算实例B,路由计算实例B发出的路由协议报文也可以通过交换设备发送给路由计算实例A,从而实现了路由计算实例A和B之间控制信息的交换。故实现了路由协议报文可直接在不同虚拟路由器的控制面之间可进行传输。For example, a switching device is set up between the routing calculation instances A and B. One port of the switching device is connected to the port of the routing calculation instance A, and the other port of the switching device is connected to the port of the routing calculation instance B. The routing protocol packet sent by the route calculation instance A can be sent to the route calculation instance B through the switching device. The routing protocol packet sent by the route calculation instance B can also be sent to the route calculation instance A through the switching device, thus implementing the route calculation instance A. Exchange of control information between and B. Therefore, routing protocol packets can be directly transmitted between control planes of different virtual routers.
160:将所述路由计算实例运行路由协议而产生的第二指令下发到对应映射的转发设备,使得所述转发设备根据所述第二指令转发所述传统路由器发来的数据报文,实现所述软件定义网络与传统网络的融合。And transmitting, by the routing calculation instance, the second instruction generated by the routing protocol to the forwarding device of the corresponding mapping, so that the forwarding device forwards the data packet sent by the traditional router according to the second instruction, The software defines a network that is fused with a legacy network.
例如,请继续参与图2,路由计算实例211在接收到对应转发设备2121发来的传统路由器240的路由协议报文后,运行该路由协议,由该路由协议产生指示该路由计算实例211映射的转发设备2121、2123如何转发传统路由器240发来的数据报文的第二指令,第二指令可以流表项的方式由SDN控制器250下发到对应的转发设备2121、2123,转发设备2121、2123在收到该流表项后,则可根据该流表项转发传统路由器240发来的数据报文。而且,路由计算实例211还根据接收到的路由协议报文生成的新路由协议报文,并通过SDN控制器250发送给与路由计算实例211所对应的虚拟路由器210具有连接关系的其他虚拟路由器的路由计算实例221、231。例如,路由计算实例211根据接收到传统路由器240发送的路由协议报文生成新的路由协议报文,并通过路由计算得到通过哪些端口将新的路由协议报文发送给与虚拟路由器210具有连接关系的虚拟路由器220、230所对应的路由计算实例221、231,如具体为通过路由计算实例的端口1发送给路由计算实例221、通过端口2发送给路由计算实例231。SDN控制器250根据路由计算实例211计算得到的端口信息以及路由计算实例与转发设备间的端口连接关系,如路由计算实例211的端口1映射到转发设备2121的端口1,路由计算实例211的端口2映射到转发设备2123的端口1,SDN控制器250向转发设备2121、2123下发路由计算实例211所生成的新的路由协议报文和指令,以指示转发设备2121通过端口1将路由计算实例211所生成的新的路由协议报文发送给转发设备2221,指示转发设备2123通过端口1将路由计算实例211所生成的新的路由协议报文发送给转发设备2325。转发设备2221、2325在接收到该新的路由协议报文后将该新的路由协议报文分别发送给对应的路由计算实例221、231。类似于路由计算实例211,路由计算实例221、231在接收到路由协议报文后,生成流表并下发给对应的转发设备,并且重新生成新的路由协议报文和确定需发送该新生成的路由协议报文的端口信息,并通过SDN控制器250指示与确定的端口具有映射关系的转发设备将新生成的路由协议报文转发给其他虚拟路由器所对应的转发设备,以此类推,使得每个虚拟路由器所对应的路由计算实例根据接收到的路由协议报文均能共享到传统路由器240的路由信息,从而生成相应流表使得对应的转发设备能够转发传统路由器器240发来的数据报文,故实现SDN的转发设备和传统路由器之间能够相互正常传输数据报文,故实现了SDN与传统网络之间的融合。For example, please continue to participate in FIG. 2, after receiving the routing protocol packet of the traditional router 240 sent by the forwarding device 2121, the routing calculation instance 211 runs the routing protocol, and the routing protocol generates a mapping indicating the mapping of the routing calculation instance 211. The forwarding device 2121, 2123 forwards the second instruction of the data packet sent by the traditional router 240. The second instruction can be sent by the SDN controller 250 to the corresponding forwarding device 2121, 2123, and the forwarding device 2121. After receiving the flow entry, the 2123 may forward the data packet sent by the traditional router 240 according to the flow entry. Moreover, the route calculation instance 211 further sends a new routing protocol message generated according to the received routing protocol message, and is sent by the SDN controller 250 to other virtual routers having a connection relationship with the virtual router 210 corresponding to the route calculation instance 211. Route calculation examples 221, 231. For example, the route calculation instance 211 generates a new routing protocol packet according to the received routing protocol packet sent by the traditional router 240, and obtains, by using the route, which ports send the new routing protocol packet to the virtual router 210. The route calculation examples 221 and 231 corresponding to the virtual routers 220 and 230 are sent to the route calculation instance 221 through the port 1 of the route calculation instance, and are sent to the route calculation instance 231 through the port 2. The SDN controller 250 calculates the port information calculated by the route calculation instance 211 and the port connection relationship between the route calculation instance and the forwarding device. For example, the port 1 of the route calculation instance 211 is mapped to the port 1 of the forwarding device 2121, and the port of the route calculation instance 211 is used. The mapping to the port 1 of the forwarding device 2123, the SDN controller 250 sends a new routing protocol message and an instruction generated by the routing calculation instance 211 to the forwarding device 2121, 2123, to instruct the forwarding device 2121 to calculate the route instance through port 1. The new routing protocol packet generated by the 211 is sent to the forwarding device 2221, and the forwarding device 2123 sends the new routing protocol packet generated by the routing calculation instance 211 to the forwarding device 2325. After receiving the new routing protocol packet, the forwarding device 2221 and 2325 respectively send the new routing protocol packet to the corresponding routing calculation instance 221, 231. Similar to the route calculation instance 211, after receiving the routing protocol message, the route calculation instance 221, 231 generates a flow table and sends it to the corresponding forwarding device, and regenerates a new routing protocol message and determines that the new generation needs to be sent. The port information of the routing protocol packet, and the forwarding device that has the mapping relationship with the determined port is forwarded by the SDN controller 250 to forward the newly generated routing protocol packet to the forwarding device corresponding to the other virtual router, and so on. The routing calculation instance corresponding to each virtual router can share the routing information of the traditional router 240 according to the received routing protocol packet, thereby generating a corresponding flow table, so that the corresponding forwarding device can forward the datagram sent by the traditional router 240. Therefore, the forwarding device between the SDN and the traditional router can transmit data packets to each other normally, thus achieving the fusion between the SDN and the traditional network.
进一步的,上述虚拟路由器之间的路由协议报文传输是通过转发面转发的,在虚拟路由器所对应的路由计算实例之间具有连接关系的实施方式中(如图4所示),虚拟路由器的路由协议报文可直接通过控制面发送,例如,请参照图4,路由计算实例之间根据虚拟路由器之间的连接关系已对应建立连接,路由计算实例211在接收到转发设备2121上送的由传统路由器240发来的路由协议报文后,路由计算得到通过哪些端口将新生成的路由协议报文发送给与其具有连接关系的路由计算实例221、231,并通过对应的端口将新生成的路由协议报文直接发送给路由计算实例221、231,同理地,路由计算实例221、231在接收到路由计算实例211发送的路由协议报文后,重新生成新的路由协议报文,并直接发送给其他与其连接的路由计算实例。这样可以避免虚拟路由器的控制面的路由协议报文还需要通过转发面进行转发,提高了路由协议报文在路由计算实例之间传递的效率。Further, the routing protocol packet transmission between the virtual routers is forwarded by the forwarding plane, and the connection between the routing calculation instances corresponding to the virtual routers is implemented in the implementation manner (as shown in FIG. 4), and the virtual router is configured. The routing protocol packet can be sent directly through the control plane. For example, refer to FIG. 4. The route calculation instance has been connected according to the connection relationship between the virtual routers. The route calculation instance 211 is sent by the forwarding device 2121. After the routing protocol packet is sent by the traditional router 240, the route calculation is performed by the port to send the newly generated routing protocol packet to the route calculation instance 221 and 231 with which the connection relationship is established, and the newly generated route is sent through the corresponding port. The protocol packet is directly sent to the route calculation instance 221, 231. Similarly, after receiving the routing protocol packet sent by the route calculation instance 211, the route calculation instance 221, 231 regenerates a new routing protocol packet and directly sends the protocol packet. Calculate instances for other routes that are connected to it. In this way, the routing protocol packets of the control plane of the virtual router need to be forwarded through the forwarding plane, which improves the efficiency of routing protocol packets between routing calculation instances.
具体,在数据报文转发过程中,SDN控制器250先计算出簇的入端口到簇的出端口之间的最短路径,并为最短路径上的转发设备生成流转发表,并将流转发表发送给最短路径上的各个转发设备。SDN控制器为簇的入口转发设备至少生成第一级流表和第二级流表共两级流表,其中,第一级流表的第一匹配项包括入端口号、目的IP地址、目的IP地址掩码,并可选包括源MAC地址、目的MAC地址等等,第一级流表的第一执行动作为将接收到的数据报文的源媒体接入控制(英文:Media Access Control,简称:MAC)地址修改为簇的出口转发设备的出端口的MAC地址,将接收到的数据报文的目的MAC地址域中的目的MAC地址修改为簇的出口转发设备的下一跳的入口转发设备的入端口的MAC地址,并转向第二级流表;第二级流表的第二匹配项包括源MAC地址等等,第二级流表的第二执行动作将数据报文转发给沿着簇的入口转发设备至簇的出口转发设备之间的最短路径中的下一个转发设备。SDN控制器为簇内除入口的转发设备外的其它的转发设备生成第三级流表,第三级流表的第三匹配项包括源MAC地址等等,第三级流表的第三执行动作为将数据报文转发给沿着簇的入口转发设备至簇的出口转发设备之间的最短路径中的下一个转发设备,若当前转发设备为出口转发设备,则将数据报文转发给下一跳簇的入口转发设备。Specifically, in the data packet forwarding process, the SDN controller 250 first calculates the shortest path between the ingress port of the cluster and the egress port of the cluster, and generates a flow forwarding table for the forwarding device on the shortest path, and sends the flow forwarding table to Each forwarding device on the shortest path. The SDN controller generates at least a first-level flow table and a second-level flow table, and the first-level flow table includes a port number, a destination IP address, and a destination. IP address mask, and optionally includes a source MAC address, a destination MAC address, and the like. The first action of the first-level flow table is to control the source media of the received data packet (English: Media Access The MAC address of the egress port of the egress packet of The MAC address of the ingress port of the ingress forwarding device is forwarded to the second level flow table; the second matching item of the second level flow table includes the source MAC address, and the like, and the second execution action of the second level flow table forwards the data packet The next forwarding device in the shortest path between the forwarding device that forwards the device along the cluster to the egress of the cluster. The SDN controller generates a third-level flow table for the other forwarding devices except the forwarding device in the cluster, and the third matching item of the third-level flow table includes the source MAC address, and the third execution of the third-level flow table. If the current forwarding device is an egress forwarding device, the data packet is forwarded to the next forwarding device, which is the next forwarding device in the shortest path between the egress forwarding device that forwards the data packet to the cluster. One-hop cluster entry forwarding device.
例如,请继续参阅图2,传统路由器240向转发设备2121发来数据报文,根据路由计算结果,确定该数据报文的路由路径包括从簇212转发给簇232,此时,SDN控制器250将转发设备2121作为簇212的入口转发设备,转发设备2123作为簇212的出口转发设备,簇212的下一跳为簇232,簇232的入口转发设备为转发设备2325。SDN控制器250为转发设备2121生成第一级流表和第二级流表共两级流表。簇212的入口转发设备2121接收到报文时,先根据第一级流表的第一匹配项对数据报文进行匹配,如果匹配成功,则执行第一执行动作将接收到的报文的源MAC地址修改为簇的出口转发设备2123的出端口的MAC地址,将接收到的数据报文的目的MAC地址域中的目的MAC地址修改为簇的出口转发设备2123的下一跳簇232的入口转发设备2325的入端口的MAC地址,然后转向第二级流表。簇的入口转发设备2121根据第二级流表的第二匹配项对执行第一动作生成的数据报文进行匹配,如果匹配成功,则执行第二执行动作将数据报文转发给沿着簇的入口转发设备至簇的出口转发设备之间的最短路径中的下一个转发设备,由于簇212中只有入口转发设备2121和出口转发设备2123,故此时即转发给出口转发设备2123。For example, referring to FIG. 2, the traditional router 240 sends a data packet to the forwarding device 2121. According to the routing calculation result, the routing path of the data packet is determined to be forwarded from the cluster 212 to the cluster 232. At this time, the SDN controller 250 The forwarding device 2121 is used as the ingress forwarding device of the cluster 212, the forwarding device 2123 is the egress forwarding device of the cluster 212, the next hop of the cluster 212 is the cluster 232, and the ingress forwarding device of the cluster 232 is the forwarding device 2325. The SDN controller 250 generates a two-stage flow table for the first-stage flow table and the second-level flow table for the forwarding device 2121. When receiving the packet, the ingress forwarding device 2121 of the cluster 212 first matches the data packet according to the first matching item of the first-level flow table. If the matching succeeds, the source of the received packet is executed by the first execution action. The MAC address is modified to the MAC address of the egress port of the egress port forwarding device 2123 of the cluster, and the destination MAC address in the destination MAC address field of the received data packet is modified to be the entry of the next hop cluster 232 of the egress egress device 2123 of the cluster. The MAC address of the ingress port of the forwarding device 2325 is then forwarded to the second level flow table. The ingress forwarding device 2121 of the cluster matches the data packet generated by performing the first action according to the second matching item of the second level flow table. If the matching succeeds, the second execution action is performed to forward the data packet to the cluster. The next forwarding device in the shortest path between the ingress forwarding device and the egress forwarding device of the cluster, since only the ingress forwarding device 2121 and the egress forwarding device 2123 are in the cluster 212, it is forwarded to the egress forwarding device 2123 at this time.
出口转发设备2123在接收到数据报文后,根据第三级流表的第三匹配项对数据报文进行匹配,如果匹配成功,则执行第三执行动作,由于当前转发设备已为出口转发设备2123,则将数据报文转发给下一跳簇232的入口转发设备2325。当然,在其他簇入口转发设备至出口转发设备之间的最短路径中还包括其他中间转发设备时,入口转发设备将数据报文转发给沿着簇的入口转发设备至簇的出口转发设备之间的最短路径中的下一个中间转发设备。中间转发设备在接收到数据报文时,执行第三执行动作将数据报文转发给沿着簇的入口转发设备至簇的出口转发设备之间的最短路径中的下一个转发设备。重复执行,直到数据报文从簇的出口转发设备转发出去。After receiving the data packet, the egress forwarding device 2123 matches the data packet according to the third matching item in the third-level flow table. If the matching succeeds, the third performing action is performed, because the current forwarding device is the egress forwarding device. 2123, the data message is forwarded to the ingress forwarding device 2325 of the next hop cluster 232. Of course, when other intermediate forwarding devices are included in the shortest path between the other cluster ingress forwarding device and the egress forwarding device, the ingress forwarding device forwards the data packet to the egress forwarding device along the cluster to the egress relay device of the cluster. The next intermediate forwarding device in the shortest path. When receiving the data packet, the intermediate forwarding device performs a third execution action to forward the data packet to the next forwarding device in the shortest path between the ingress forwarding device along the cluster and the egress forwarding device along the cluster. The execution is repeated until the data message is forwarded from the cluster's egress forwarding device.
可以理解的是,本申请的方法步骤的划分对本申请并不具有限定意义,在其他不同实施方式中,本申请方法步骤的划分可根据实际情况有所调整。It can be understood that the division of the method steps of the present application is not limited to the present application. In other different implementation manners, the division of the method steps of the present application may be adjusted according to actual conditions.
通过上述的方案,可以根据用户的需要设置虚拟路由器的数量、虚拟路由器的连接关系,然后根据虚拟路由器的数量以及虚拟路由器间的连接关系创建每个虚拟路由器的控制面,并在数据面上建立虚拟路由器之间的连接关系,并通过指示转发面将传统路由器发来的路由协议报文发送给控制面,使得控制面能够指示对应的转发面对传统路由器发来的数据报文的转发,故实现了数据报文在虚拟路由器和传统路由器之间的传输,从而实现软件定义网络虚拟传统网络与传统网络的融合。而且,本方案中虚拟路由器的数量、虚拟路由器的连接关系可以根据用户的需要自行设置,能够实现软件定义网络虚拟传统网络与传统网络间的灵活融合。Through the above solution, the number of virtual routers and the connection relationship of the virtual routers can be set according to the needs of the user, and then the control plane of each virtual router is created according to the number of virtual routers and the connection relationship between the virtual routers, and is established on the data plane. The connection between the virtual routers is sent to the control plane by the forwarding plane, so that the control plane can instruct the corresponding forwarding to forward the data packets sent by the traditional router. The transmission of data packets between the virtual router and the traditional router is realized, thereby realizing the fusion of the software-defined network virtual traditional network and the traditional network. Moreover, the number of virtual routers and the connection relationship of the virtual routers in the solution can be set according to the needs of the user, and the flexible integration between the software-defined network virtual traditional network and the traditional network can be realized.
参阅图5,图5是本申请软件定义网络与传统网络的融合装置一实施方式的结构示意图。本实施方式的软件定义网络与传统网络的融合装置包括:接收模块510、创建模块520、映射模块530、第一下发模块540、转发面连接模块550以及第二下发模块560。Referring to FIG. 5, FIG. 5 is a schematic structural diagram of an implementation manner of a device for converging a software-defined network and a legacy network according to the present application. The device for the fusion of the software-defined network and the traditional network of the present embodiment includes: a receiving module 510, a creating module 520, a mapping module 530, a first sending module 540, a forwarding plane connecting module 550, and a second sending module 560.
接收模块510用于接收用户输入的在SDN上创建至少一个虚拟路由器的请求,所述请求包括所述虚拟路由器的数量和所述虚拟路由器之间的连接关系,接收模块510将所述请求发送给创建模块520和转发面连接模块550。The receiving module 510 is configured to receive, by the user, a request for creating at least one virtual router on the SDN, where the request includes a number of the virtual routers and a connection relationship between the virtual routers, and the receiving module 510 sends the request to the A module 520 and a forwarding plane connection module 550 are created.
创建模块520用于创建与所述虚拟路由器一一对应的路由计算实例,所述路由计算实例用于运行路由协议,以作为对应的所述虚拟路由器的控制面,创建模块520将所述路由计算实例的创建结果发送给映射模块530。The creating module 520 is configured to create a routing calculation instance that is in one-to-one correspondence with the virtual router, where the routing computing instance is used to run a routing protocol to serve as a control plane of the corresponding virtual router, and the creating module 520 calculates the route. The result of the creation of the instance is sent to the mapping module 530.
映射模块530用于将每个所述路由计算实例分别与SDN的转发设备建立映射关系,以将所述路由计算实例映射的转发设备作为所述路由计算实例所对应的虚拟路由器的转发面,映射模块530将所述映射结果发送给第一下发模块540。映射完成后,映射模块530记录这种映射关系,如将该映射关系保存在映射表上。The mapping module 530 is configured to map each of the route calculation instances to a forwarding device of the SDN, and use the forwarding device mapped by the route calculation instance as a forwarding plane of the virtual router corresponding to the route calculation instance. The 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 the mapping table.
第一下发模块540用于向与所述路由计算实例有映射关系的转发设备下发第一指令,所述第一指令用于指示与所述路由计算实例有映射关系的转发设备在收到路由协议报文后,将所述路由协议报文发送给对应的路由计算实例。The first sending module 540 is configured to send a first instruction to the forwarding device that is in a mapping relationship with the route calculation instance, where the first instruction is used to indicate that the forwarding device that has a mapping relationship with the route calculation instance is received. After the routing protocol packet is sent, the routing protocol packet is sent to the corresponding routing calculation instance.
转发面连接模块550用于根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的转发设备之间建立逻辑连接关系,转发面连接模块550建立逻辑连接关系的结果发送给第二下发模块560。The forwarding plane connection module 550 is configured to establish a logical connection relationship between the forwarding devices corresponding to the virtual routers that have the connection relationship, and the forwarding plane connection module 550 establishes a logical connection relationship according to the connection relationship between the virtual routers in the request. The result is sent to the second delivery module 560.
第二下发模块560用于将所述路由计算实例运行路由协议而产生的第二指令下发到对应映射的转发设备,使得所述转发设备根据所述第二指令转发传统路由器发来的数据报文,实现所述软件定义网络与传统网络的融合。The second sending module 560 is configured to send the second instruction generated by the routing calculation instance to the corresponding forwarding device, so that the forwarding device forwards the data sent by the traditional router according to the second instruction. The message implements the fusion of the software-defined network and the traditional network.
第二下发模块560将路由计算实例根据接收到的路由协议报文生成的新路由协议报文发送给与该路由计算实例所对应的虚拟路由器具有连接关系的其他虚拟路由器的路由计算实例。其中,该虚拟路由器间的路由协议报文之间的传输可通过转发面进行传输,在融合装置建立了路由计算实例之间的连接关系的实施方式中,还可通过控制面直接传输。The second sending module 560 sends a new routing protocol message generated by the routing calculation instance according to the received routing protocol message to a routing calculation instance of another virtual router that has a connection relationship with the virtual router corresponding to the routing computing instance. The transmission between the routing protocol packets between the virtual routers can be transmitted through the forwarding plane. In the implementation manner in which the convergence device establishes the connection relationship between the routing calculation instances, the control plane can also directly transmit.
第二下发模块560还将路由计算实例根据接收到的路由协议报文生成的第二指令如以流表项的形式发生给对应映射的转发设备,以指示该转发设备如何转发传统路由器发来的数据报文,故即可实现SDN的转发设备和传统路由器之间能够相互正常传输数据报文,进而实现了SDN与传统网络之间的融合。The second sending module 560 also generates a second instruction generated by the routing calculation instance according to the received routing protocol message, for example, in the form of a flow entry to the corresponding forwarding device, to indicate how the forwarding device forwards the traditional router. The data packet can realize the normal transmission of data packets between the forwarding device of the SDN and the traditional router, thereby realizing the fusion between the SDN and the traditional network.
可选地,为避免虚拟路由器的控制面的路由协议报文还需要通过转发面进行转发,融合装置还可包括控制面连接模块,用于根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的路由计算实例之间建立连接关系。Optionally, the routing device may further include a control plane connection module, according to the connection relationship between the virtual routers in the request, in order to prevent the routing protocol packet of the control plane of the virtual router from being forwarded through the forwarding plane. A connection relationship is established between the route calculation instances corresponding to the virtual routers requesting the connection relationship.
可选地,映射模块具体用于根据用户输入的映射条件,将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系。具体如,所述映射条件包括所述虚拟路由器与所述传统路由器之间的连接关系;相应地,映射模块则具体用于根据用户输入的所述虚拟路由器与所述传统路由器之间的连接关系,将第一转发设备映射到第一虚拟路由器所对应的路由计算实例,其中,所述第一转发设备和第一虚拟路由器均与第一传统路由器具有连接关系。Optionally, the mapping module is configured to establish a mapping relationship between each of the routing calculation instances and the forwarding device of the software-defined network according to a mapping condition input by the user. For example, the mapping condition includes a connection relationship between the virtual router and the traditional router. Correspondingly, the mapping module is specifically configured to use a connection relationship between the virtual router and the traditional router according to a user input. And mapping 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 have a connection relationship with the first traditional router.
可选地,路由计算实例与所对应的SDN的转发设备的映射为一对一映射。Optionally, the mapping between the route calculation instance and the forwarding device of the corresponding SDN is a one-to-one mapping.
可选地,所述路由计算实例与SDN的转发设备的映射关系为一对多映射,其中,同一路由计算实例所映射的多个转发设备构成一个簇,同一个簇内的转发设备之间具有连接关系。Optionally, the mapping relationship between the route calculation instance and the forwarding device of the SDN 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 Connection relationship.
可选地,在一对多映射时,簇的入口转发设备至少包括第一级流表以及第二级流表,其中,所述第一级流表的第一匹配项包括入端口号、目的IP地址、目的IP地址掩码,所述第一级流表的第一执行动作将接收到的数据报文的源MAC地址修改为所述簇的出口转发设备的出端口的MAC地址,将所述数据报文的目的MAC地址域中的目的MAC地址修改为所述簇的出口转发设备的下一跳的入口转发设备的入端口的MAC地址,并转向所述第二级流表;所述第二级流表的第二匹配项包括所述源MAC地址,所述第二级流表的第二执行动作为将所述数据报文转发给沿着所述簇的入口转发设备至所述簇的出口转发设备之间的最短路径中的下一个转发设备。Optionally, in the one-to-many mapping, the ingress forwarding device of the cluster includes at least a first-level flow table and a second-level flow table, where the first matching item of the first-level flow table includes an in-port number and a destination. The IP address and the destination IP address are masked, and the first execution action of the first-level flow table modifies the source MAC address of the received data packet to the MAC address of the egress port of the egress of the cluster. The destination MAC address in the destination MAC address field of the data packet is modified to be the MAC address of the ingress port of the ingress forwarding device of the next hop of the egress of the cluster, and is forwarded to the second level flow table; The second matching item of the second level flow table includes the source MAC address, and the second performing action of the second level flow table is to forward the data packet to the ingress forwarding device along the cluster to the The egress of the cluster forwards the next forwarding device in the shortest path between the devices.
可选地,转发面连接模块具体用于在具有连接关系的虚拟路由器所对应的转发设备之间通过隧道技术建立逻辑连接关系。Optionally, the forwarding plane connection module is specifically configured to establish a logical connection relationship by using a tunneling technology between the forwarding devices corresponding to the virtual routers having the connection relationship.
可以理解,图5所示的装置可以执行图1对应的实施例中的各个步骤。It will be understood that the apparatus shown in FIG. 5 can perform the various steps in the embodiment corresponding to FIG. 1.
上述方案中,可以根据用户的需要设置虚拟路由器的数量、虚拟路由器的连接关系,然后根据虚拟路由器的数量以及虚拟路由器间的连接关系创建每个虚拟路由器的控制面,并在数据面上建立虚拟路由器之间的连接关系,并通过指示转发面将传统路由器发来的路由协议报文发送给控制面,使得控制面能够指示对应的转发面对传统路由器发来的数据报文的转发,故实现了数据报文在虚拟路由器和传统路由器之间的传输,从而实现软件定义网络虚拟传统网络与传统网络的融合。而且,本方案中虚拟路由器的数量、虚拟路由器的连接关系可以根据用户的需要自行设置,能够实现软件定义网络虚拟传统网络与传统网络间的灵活融合。In the above solution, the number of virtual routers and the connection relationship of the virtual routers can be set according to the needs of the user, and then the control plane of each virtual router is created according to the number of virtual routers and the connection relationship between the virtual routers, and virtual surfaces are created on the data plane. The connection between the routers is sent to the control plane by the forwarding plane, so that the control plane can instruct the forwarding to forward the data packets sent by the traditional router. The transmission of data packets between the virtual router and the traditional router realizes the fusion of the software-defined network virtual traditional network and the traditional network. Moreover, the number of virtual routers and the connection relationship of the virtual routers in the solution can be set according to the needs of the user, and the flexible integration between the software-defined network virtual traditional network and the traditional network can be realized.
参阅图6,图6是本申请控制器一实施方式的结构示意图。本实施方式的控制器600可以为SDN控制器,包括:接收器601、处理器602以及发送器603。Referring to FIG. 6, FIG. 6 is a schematic structural diagram of an embodiment of a controller according to the present application. The controller 600 of the present embodiment may be an SDN controller, including: a receiver 601, a processor 602, and a transmitter 603.
接收器601用于接收用户输入的在SDN上创建至少一个虚拟路由器的请求,所述请求包括所述虚拟路由器的数量和所述虚拟路由器之间的连接关系。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 a number of the virtual routers and a connection relationship between the virtual routers.
处理器602用于创建与所述虚拟路由器一一对应的路由计算实例,所述路由计算实例用于运行路由协议,以作为对应的所述虚拟路由器的控制面;将每个所述路由计算实例分别与SDN的转发设备建立映射关系,以将所述路由计算实例映射的转发设备作为所述路由计算实例所对应的虚拟路由器的转发面;向与所述路由计算实例有映射关系的转发设备下发第一指令,所述第一指令用于指示与所述路由计算实例有映射关系的转发设备在收到路由协议报文后,将所述路由协议报文发送给对应的路由计算实例;根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的转发设备之间建立逻辑连接关系;将所述路由计算实例运行路由协议而产生的第二指令下发到对应映射的转发设备,使得所述转发设备根据所述第二指令转发传统路由器发来的数据报文,实现所述软件定义网络与传统网络的融合。The processor 602 is configured to create a one-to-one route calculation instance corresponding to the virtual router, where the route calculation instance is used to run a routing protocol as a control plane of the corresponding virtual router; Establishing a mapping relationship with the forwarding device of the SDN, respectively, to use the forwarding device mapped by the routing calculation instance as a forwarding plane of the virtual router corresponding to the routing calculation instance; and to the forwarding device that has a mapping relationship with the routing calculation instance. Sending a first instruction, where the first instruction is used to indicate that the forwarding device that has a mapping relationship with the route calculation instance sends the routing protocol packet to the corresponding route calculation instance after receiving the routing protocol packet; The connection relationship between the virtual routers in the request is to establish a logical connection relationship between the forwarding devices corresponding to the virtual routers that have the connection relationship, and the second instruction generated by the routing calculation instance running the routing protocol is sent. Forwarding device to the corresponding mapping, so that the forwarding device forwards the traditional route according to the second instruction Data packets sent, the software defined network to achieve integration with traditional networks.
发送器603用于发送数据。The transmitter 603 is for transmitting data.
本实施方式中的控制器还包括存储器604,存储器604可以包括只读存储器和随机存取存储器,并向处理器602提供指令和数据。存储器604的一部分还可以包括非易失性随机存取存储器(NVRAM)。The controller in this embodiment also includes a memory 604, which may include 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).
存储器604存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集: The memory 604 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set thereof:
操作指令:包括各种操作指令,用于实现各种操作。Operation instructions: include various operation instructions for implementing various operations.
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。Operating system: Includes a variety of system programs for implementing various basic services and handling hardware-based tasks.
在本发明实施例中,处理器602通过调用存储器604存储的操作指令(该操作指令可存储在操作系统中),来执行上述操作。In the embodiment of the present invention, the processor 602 performs the above operations by calling an operation instruction stored in the memory 604, which can be stored in the operating system.
处理器602还可以称为CPU(Central Processing Unit,中央处理单元)。存储器604可以包括只读存储器和随机存取存储器,并向处理器602提供指令和数据。存储器604的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,控制器的各个组件通过总线系统605耦合在一起,其中总线系统605除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统605。The processor 602 can also be called a CPU (Central Processing) Unit, central processing unit). Memory 604 can include 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 specific application, the various components of the controller are coupled together by a bus system 605. The bus system 605 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus. However, for clarity of description, various buses are labeled as bus system 605 in the figure.
上述本发明实施例揭示的方法可以应用于处理器602中,或者由处理器602实现。处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器604,处理器602读取存储器604中的信息,结合其硬件完成上述方法的步骤。The method disclosed in the foregoing embodiments of the present invention may be applied to the processor 602 or implemented by the processor 602. Processor 602 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the foregoing method may be completed by an integrated logic circuit of hardware in the processor 602 or an instruction in a form of software. The processor 602 described above 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, a discrete gate or transistor logic device, or discrete hardware. Component. The methods, steps, and logical block diagrams disclosed in the embodiments of the present invention may be implemented or carried out. The general purpose processor may be a microprocessor or the processor or any conventional processor or the like. The steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor. The software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like. The storage medium is located in memory 604, and processor 602 reads the information in memory 604 and, in conjunction with its hardware, performs the steps of the above method.
可选地,处理器还可用于根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的路由计算实例之间建立连接关系。Optionally, the processor is further 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.
可选地,处理器还可具体用于根据用户输入的映射条件,将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系。具体如,所述映射条件包括所述虚拟路由器与所述传统路由器之间的连接关系;相应地,处理器还用于根据用户输入的所述虚拟路由器与所述传统路由器之间的连接关系,将第一转发设备映射到第一虚拟路由器所对应的路由计算实例,其中,所述第一转发设备和第一虚拟路由器均与第一传统路由器具有连接关系。Optionally, the processor is further configured to separately map each of the route calculation instances to a forwarding device of the software-defined network according to a mapping condition input by the user. For example, the mapping condition includes a connection relationship between the virtual router and the traditional router; correspondingly, the processor is further configured to: according to a connection relationship between the virtual router and the traditional router input by a user, Mapping 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 have a connection relationship with the first traditional router.
可选地,路由计算实例与所对应的SDN的转发设备的映射为一对一映射。Optionally, the mapping between the route calculation instance and the forwarding device of the corresponding SDN is a one-to-one mapping.
可选地,所述路由计算实例与SDN的转发设备的映射关系为一对多映射,其中,同一路由计算实例所映射的多个转发设备构成一个簇,同一个簇内的转发设备之间具有连接关系。Optionally, the mapping relationship between the route calculation instance and the forwarding device of the SDN 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 Connection relationship.
可选地,在一对多映射时,簇的入口转发设备至少包括第一级流表以及第二级流表,其中,所述第一级流表的第一匹配项包括入端口号、目的IP地址、目的IP地址掩码,所述第一级流表的第一执行动作将接收到的数据报文的源MAC地址修改为所述簇的出口转发设备的出端口的MAC地址,将所述数据报文的目的MAC地址域中的目的MAC地址修改为所述簇的出口转发设备的下一跳的入口转发设备的入端口的MAC地址,并转向所述第二级流表;所述第二级流表的第二匹配项包括所述源MAC地址,所述第二级流表的第二执行动作为将所述数据报文转发给沿着所述簇的入口转发设备至所述簇的出口转发设备之间的最短路径中的下一个转发设备。Optionally, in the one-to-many mapping, the ingress forwarding device of the cluster includes at least a first-level flow table and a second-level flow table, where the first matching item of the first-level flow table includes an in-port number and a destination. The IP address and the destination IP address are masked, and the first execution action of the first-level flow table modifies the source MAC address of the received data packet to the MAC address of the egress port of the egress of the cluster. The destination MAC address in the destination MAC address field of the data packet is modified to be the MAC address of the ingress port of the ingress forwarding device of the next hop of the egress of the cluster, and is forwarded to the second level flow table; The second matching item of the second level flow table includes the source MAC address, and the second performing action of the second level flow table is to forward the data packet to the ingress forwarding device along the cluster to the The egress of the cluster forwards the next forwarding device in the shortest path between the devices.
可选地,处理器还可具体用于在具有连接关系的虚拟路由器所对应的转发设备之间通过隧道技术建立逻辑连接关系。Optionally, the processor is further configured to establish a logical connection relationship by using a tunneling technology between the forwarding devices corresponding to the virtual routers having the connection relationship.
上述方案中,可以根据用户的需要设置虚拟路由器的数量、虚拟路由器的连接关系,然后根据虚拟路由器的数量以及虚拟路由器间的连接关系创建每个虚拟路由器的控制面,并在数据面上建立虚拟路由器之间的连接关系,并通过指示转发面将传统路由器发来的路由协议报文发送给控制面,使得控制面能够指示对应的转发面对传统路由器发来的数据报文的转发,故实现了数据报文在虚拟路由器和传统路由器之间的传输,从而实现软件定义网络虚拟传统网络与传统网络的融合。而且,本方案中虚拟路由器的数量、虚拟路由器的连接关系可以根据用户的需要自行设置,能够实现软件定义网络虚拟传统网络与传统网络间的灵活融合。In the above solution, the number of virtual routers and the connection relationship of the virtual routers can be set according to the needs of the user, and then the control plane of each virtual router is created according to the number of virtual routers and the connection relationship between the virtual routers, and virtual surfaces are created on the data plane. The connection between the routers is sent to the control plane by the forwarding plane, so that the control plane can instruct the forwarding to forward the data packets sent by the traditional router. The transmission of data packets between the virtual router and the traditional router realizes the fusion of the software-defined network virtual traditional network and the traditional network. Moreover, the number of virtual routers and the connection relationship of the virtual routers in the solution can be set according to the needs of the user, and the flexible integration between the software-defined network virtual traditional network and the traditional 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 device implementations described above are merely illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be used. Combinations can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application, in essence or the contribution to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read only memory (ROM, Read-Only) Memory, random access memory (RAM), disk or optical disk, and other media that can store program code.

Claims (16)

  1. 一种软件定义网络与传统网络的融合方法,其特征在于,所述软件定义网络的转发设备与所述传统网络的传统路由器之间具有连接关系,所述方法包括:A method for the fusion of a software-defined network and a traditional network, characterized in that the forwarding device of the software-defined network has a connection relationship with the traditional router of the traditional network, and the method includes:
    接收用户输入的在所述软件定义网络上创建至少一个虚拟路由器的请求,所述请求包括所述虚拟路由器的数量和所述虚拟路由器之间的连接关系;Receiving, by the user, a request to create at least one virtual router on the software-defined network, where the request includes a number of the virtual routers and a connection relationship between the virtual routers;
    创建与所述虚拟路由器一一对应的路由计算实例,所述路由计算实例用于运行路由协议,以作为对应的所述虚拟路由器的控制面;Creating a route calculation instance corresponding to the virtual router, where the route calculation instance is used to run a routing protocol as a control plane of the corresponding virtual router;
    将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系,以将所述路由计算实例映射的转发设备作为所述路由计算实例所对应的虚拟路由器的转发面;Mapping each of the routing calculation instances to a forwarding device of the software-defined network, and using the forwarding device mapped by the routing calculation instance as a forwarding plane of the virtual router corresponding to the routing calculation instance;
    向与所述路由计算实例有映射关系的转发设备下发第一指令,所述第一指令用于指示与所述路由计算实例有映射关系的转发设备在收到路由协议报文后,将所述路由协议报文发送给对应的路由计算实例;Transmitting, by the forwarding device that is in a mapping relationship with the routing calculation instance, a first instruction, where the first instruction is used to indicate that the forwarding device that has a mapping relationship with the routing calculation instance receives the routing protocol packet The routing protocol packet is sent to the corresponding route calculation instance.
    根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的转发设备之间建立逻辑连接关系;Establishing a logical connection relationship between the forwarding devices corresponding to the virtual routers that have the connection relationship, according to the connection relationship between the virtual routers in the request;
    将所述路由计算实例运行路由协议而产生的第二指令下发到对应映射的转发设备,使得所述转发设备根据所述第二指令转发传统路由器发来的数据报文,实现所述软件定义网络与传统网络的融合。Transmitting, by the routing calculation instance, the second instruction generated by running the routing protocol to the forwarding device of the corresponding mapping, so that the forwarding device forwards the data packet sent by the traditional router according to the second instruction, to implement the software definition. The integration of the network and the traditional network.
  2. 根据权利要求1所述的方法,其特征在于,还包括:The method of claim 1 further comprising:
    根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的路由计算实例之间建立连接关系。And establishing, according to the connection relationship between the virtual routers in the request, a connection relationship between the route calculation instances corresponding to the virtual routers that request the connection relationship.
  3. 根据权利要求1所述的方法,其特征在于,所述将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系具体为:The method according to claim 1, wherein the mapping relationship between each of the routing calculation instances and the forwarding device of the software-defined network is specifically as follows:
    根据用户输入的映射条件,将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系。Each of the route calculation instances is respectively mapped to a forwarding device of the software-defined network according to a mapping condition input by the user.
  4. 根据权利要求3所述的方法,其特征在于,所述映射条件包括所述虚拟路由器与所述传统路由器之间的连接关系;相应地,The method according to claim 3, wherein the mapping condition comprises a connection relationship between the virtual router and the legacy router; accordingly,
    所述根据用户输入的映射条件,将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系具体为:The mapping relationship between each of the routing calculation instances and the forwarding device of the software-defined network is respectively determined according to the mapping condition input by the user:
    根据用户输入的所述虚拟路由器与所述传统路由器之间的连接关系,将第一转发设备映射到第一虚拟路由器所对应的路由计算实例,其中,所述第一转发设备和第一虚拟路由器均与第一传统路由器具有连接关系。Mapping the first forwarding device to a route calculation instance corresponding to the first virtual router, where the first forwarding device and the first virtual router are configured according to the connection relationship between the virtual router and the traditional router that is input by the user Both have a connection relationship with the first conventional router.
  5. 根据权利要求1-4任一所述的方法,其特征在于,所述路由计算实例与所述软件定义网络的转发设备的映射关系为一对一映射。The method according to any one of claims 1-4, wherein the mapping relationship between the route calculation instance and the forwarding device of the software-defined network is a one-to-one mapping.
  6. 根据权利要求1-4任一所述的方法,其特征在于,所述路由计算实例与所述软件定义网络的转发设备的映射关系为一对多映射,其中,同一路由计算实例所映射的多个转发设备构成一个簇,同一个簇内的转发设备之间具有连接关系。The method according to any one of claims 1-4, wherein the mapping relationship between the route calculation instance and the forwarding device of the software-defined network is a one-to-many mapping, wherein the same route calculation instance maps more The forwarding devices form a cluster, and the forwarding devices in the same cluster have a connection relationship.
  7. 根据权利要求6所述的方法,其特征在于,所述簇的入口转发设备至少包括第一级流表以及第二级流表,其中,所述第一级流表的第一匹配项包括入端口号、目的IP地址、目的IP地址掩码,所述第一级流表的第一执行动作将接收到的数据报文的源媒体接入控制MAC地址修改为所述簇的出口转发设备的出端口的MAC地址,将所述数据报文的目的MAC地址域中的目的MAC地址修改为所述簇的出口转发设备的下一跳的入口转发设备的入端口的MAC地址,并转向所述第二级流表;所述第二级流表的第二匹配项包括所述源MAC地址,所述第二级流表的第二执行动作为将所述数据报文转发给沿着所述簇的入口转发设备至所述簇的出口转发设备之间的最短路径中的下一个转发设备。The method according to claim 6, wherein the ingress forwarding device of the cluster includes at least a first level flow table and a second level flow table, wherein the first matching item of the first level flow table includes The port number, the destination IP address, and the destination IP address mask. The first execution action of the first-level flow table modifies the source media access control MAC address of the received data packet to the egress-forwarding device of the cluster. The MAC address of the outbound port is changed to the destination MAC address in the destination MAC address field of the data packet to the MAC address of the ingress port of the ingress forwarding device of the next hop of the egress of the cluster, and the a second level flow table; the second matching item of the second level flow table includes the source MAC address, and the second performing action of the second level flow table is to forward the data packet to The ingress of the cluster forwards the device to the next forwarding device in the shortest path between the egress of the cluster.
  8. 根据权利要求1-4任一所述的方法,其特征在于,所述在具有连接关系的虚拟路由器所对应的转发设备之间建立逻辑连接关系具体为:The method according to any one of claims 1-4, wherein the establishing a logical connection relationship between the forwarding devices corresponding to the virtual routers having the connection relationship is:
    在具有连接关系的虚拟路由器所对应的转发设备之间通过隧道技术建立逻辑连接关系。A logical connection relationship is established through tunneling between forwarding devices corresponding to virtual routers having a connection relationship.
  9. 一种软件定义网络与传统网络的融合装置,其特征在于,所述软件定义网络的转发设备与所述传统网络的传统路由器之间具有连接关系,所述融合装置包括:接收模块、创建模块、映射模块、第一下发模块、转发面连接模块以及第二下发模块,A device for the fusion of a software-defined network and a traditional network, characterized in that the forwarding device of the software-defined network has a connection relationship with the traditional router of the traditional network, and the fusion device comprises: a receiving module, a creating module, a mapping module, a first sending module, a forwarding plane connecting module, and a second sending module,
    所述接收模块用于接收用户输入的在所述软件定义网络上创建至少一个虚拟路由器的请求,所述请求包括所述虚拟路由器的数量和所述虚拟路由器之间的连接关系,所述接收模块将所述请求发送给所述创建模块和所述转发面连接模块;The receiving module is configured to receive a user input request to create at least one virtual router on the software-defined network, where the request includes a number of the virtual routers and a connection relationship between the virtual routers, and the receiving module Sending the request to the creation module and the forwarding plane connection module;
    所述创建模块用于创建与所述虚拟路由器一一对应的路由计算实例,所述路由计算实例用于运行路由协议,以作为对应的所述虚拟路由器的控制面,所述创建模块将所述路由计算实例的创建结果发送给所述映射模块;The creating module is configured to create a routing calculation instance that is in one-to-one correspondence with the virtual router, where the routing calculation instance is used to run a routing protocol as a control plane of the corresponding virtual router, and the creating module is configured to The result of creating the route calculation instance is sent to the mapping module;
    所述映射模块用于将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系,以将所述路由计算实例映射的转发设备作为所述路由计算实例所对应的虚拟路由器的转发面,所述映射模块将所述映射结果发送给所述第一下发模块;The mapping module is configured to establish a mapping relationship between each of the routing calculation instances and the forwarding device of the software-defined network, so that the forwarding device mapped by the routing calculation instance is used as a virtual router corresponding to the routing calculation instance. a forwarding plane, the mapping module sends the mapping result to the first sending module;
    所述第一下发模块用于向与所述路由计算实例有映射关系的转发设备下发第一指令,所述第一指令用于指示与所述路由计算实例有映射关系的转发设备在收到路由协议报文后,将所述路由协议报文发送给对应的路由计算实例;The first sending module is configured to deliver a first instruction to a forwarding device that is in a mapping relationship with the route calculation instance, where the first instruction is used to indicate that the forwarding device that has a mapping relationship with the route calculation instance is in the receiving After the routing protocol packet is sent, the routing protocol packet is sent to the corresponding routing calculation instance.
    所述转发面连接模块用于根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的转发设备之间建立逻辑连接关系,所述转发面连接模块建立逻辑连接关系的结果发送给所述第二下发模块;The forwarding plane connection module is configured to establish a logical connection relationship between the forwarding devices corresponding to the virtual routers that request the connection relationship according to the connection relationship between the virtual routers in the request, where the forwarding plane connection module establishes logic The result of the connection relationship is sent to the second sending module;
    所述第二下发模块用于将所述路由计算实例运行路由协议而产生的第二指令下发到对应映射的转发设备,使得所述转发设备根据所述第二指令转发传统路由器发来的数据报文,实现所述软件定义网络与传统网络的融合。The second sending module is configured to send the second instruction generated by the routing calculation instance to the corresponding forwarding device, so that the forwarding device forwards the traditional router according to the second instruction. The data packet implements the fusion of the software-defined network and the traditional network.
  10. 根据权利要求9所述的装置,其特征在于,还包括控制面连接模块,用于根据所述请求中的虚拟路由器之间的连接关系,在请求具有连接关系的虚拟路由器所对应的路由计算实例之间建立连接关系。The device according to claim 9, further comprising a control plane connection module, configured to request a route calculation instance corresponding to the virtual router having the connection relationship according to the connection relationship between the virtual routers in the request Establish a connection relationship between them.
  11. 根据权利要求9所述的装置,其特征在于,所述映射模块具体用于根据用户输入的映射条件,将每个所述路由计算实例分别与所述软件定义网络的转发设备建立映射关系。The apparatus according to claim 9, wherein the mapping module is configured to establish a mapping relationship between each of the routing calculation instances and a forwarding device of the software-defined network according to a mapping condition input by a user.
  12. 根据权利要求11所述的装置,其特征在于,所述映射条件包括所述虚拟路由器与所述传统路由器之间的连接关系;相应地,The apparatus according to claim 11, wherein the mapping condition comprises a connection relationship between the virtual router and the legacy router; accordingly,
    所述映射模块更具体用于根据用户输入的所述虚拟路由器与所述传统路由器之间的连接关系,将第一转发设备映射到第一虚拟路由器所对应的路由计算实例,其中,所述第一转发设备和第一虚拟路由器均与第一传统路由器具有连接关系。The mapping module is further configured to map the first forwarding device to a route calculation instance corresponding to the first virtual router according to the connection relationship between the virtual router and the traditional router that is input by the user, where the Both the forwarding device and the first virtual router have a connection relationship with the first legacy router.
  13. 根据权利要求9-12任一所述的装置,其特征在于,所述路由计算实例与所述软件定义网络的转发设备的映射关系为一对一映射。The device according to any one of claims 9-12, wherein the mapping relationship between the route calculation instance and the forwarding device of the software-defined network is a one-to-one mapping.
  14. 根据权利要求9-12任一所述的装置,其特征在于,所述路由计算实例与所述软件定义网络的转发设备的映射关系为一对多映射,其中,同一路由计算实例所映射的多个转发设备构成一个簇,同一个簇内的转发设备之间具有连接关系。The device according to any one of claims 9-12, wherein the mapping relationship between the route calculation instance and the forwarding device of the software-defined network is a one-to-many mapping, wherein the same route calculation instance maps more The forwarding devices form a cluster, and the forwarding devices in the same cluster have a connection relationship.
  15. 根据权利要求14所述的装置,其特征在于,所述簇的入口转发设备至少包括第一级流表以及第二级流表,其中,所述第一级流表的第一匹配项包括入端口号、目的IP地址、目的IP地址掩码,所述第一级流表的第一执行动作将接收到的数据报文的源媒体接入控制MAC地址修改为所述簇的出口转发设备的出端口的MAC地址,将所述数据报文的目的MAC地址域中的目的MAC地址修改为所述簇的出口转发设备的下一跳的入口转发设备的入端口的MAC地址,并转向所述第二级流表;所述第二级流表的第二匹配项包括所述源MAC地址,所述第二级流表的第二执行动作为将所述数据报文转发给沿着所述簇的入口转发设备至所述簇的出口转发设备之间的最短路径中的下一个转发设备。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 item of the first level flow table includes The port number, the destination IP address, and the destination IP address mask. The first execution action of the first-level flow table modifies the source media access control MAC address of the received data packet to the egress-forwarding device of the cluster. The MAC address of the outbound port is changed to the destination MAC address in the destination MAC address field of the data packet to the MAC address of the ingress port of the ingress forwarding device of the next hop of the egress of the cluster, and the a second level flow table; the second matching item of the second level flow table includes the source MAC address, and the second performing action of the second level flow table is to forward the data packet to The ingress of the cluster forwards the device to the next forwarding device in the shortest path between the egress of the cluster.
  16. 根据权利要求9-12任一权利要求所述的装置,其特征在于,所述转发面连接模块具体用于在具有连接关系的虚拟路由器所对应的转发设备之间通过隧道技术建立逻辑连接关系。The device according to any one of claims 9 to 12, wherein the forwarding plane connection module is specifically configured to establish a logical connection relationship by using a tunneling technology between forwarding devices corresponding to virtual routers having a connection relationship.
PCT/CN2014/084733 2014-08-19 2014-08-19 Converging method and apparatus for software defined network and traditional network WO2016026089A1 (en)

Priority Applications (2)

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
CN201480081299.6A CN106664235B (en) 2014-08-19 2014-08-19 Method and device for fusing software defined network and traditional network

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 (1)

Publication Number Publication Date
WO2016026089A1 true WO2016026089A1 (en) 2016-02-25

Family

ID=55350082

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/084733 WO2016026089A1 (en) 2014-08-19 2014-08-19 Converging method and apparatus for 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
CN110430114A (en) * 2019-07-24 2019-11-08 中国电子科技集团公司第七研究所 A kind of virtual router and the method for realizing SDN network and traditional IP interconnection
CN112187635A (en) * 2019-07-01 2021-01-05 中兴通讯股份有限公司 Message forwarding method and device
CN112311665A (en) * 2020-09-10 2021-02-02 山西大学 Single-link fault routing protection method based on hybrid SDN network
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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259352B (en) * 2017-12-25 2021-01-15 锐捷网络股份有限公司 SDN and non-SDN interworking method and device
CN112769699B (en) * 2019-11-05 2022-04-15 烽火通信科技股份有限公司 Method and controller for distributing and updating routing information in SD-WAN (secure digital-Wide area network)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095565A (en) * 2012-10-18 2013-05-08 中兴通讯股份有限公司 Software definition network operating system and implement method thereof
CN103346981A (en) * 2013-06-28 2013-10-09 华为技术有限公司 Virtual exchange method, related device and computer system
US20130332619A1 (en) * 2012-06-06 2013-12-12 Futurewei Technologies, Inc. Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking
CN103685033A (en) * 2013-12-19 2014-03-26 武汉邮电科学研究院 General flow table and method for supporting packet switching and circuit switching in SDN framework

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546351B (en) * 2012-03-15 2014-05-14 北京邮电大学 System and method for interconnecting openflow network and conventional Internet protocol (IP) network
US9210615B2 (en) * 2012-09-17 2015-12-08 Brocade Communications Systems, Inc. Method and system for elastic and resilient 3G/4G mobile packet networking for subscriber data flow using virtualized switching and forwarding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130332619A1 (en) * 2012-06-06 2013-12-12 Futurewei Technologies, Inc. Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking
CN103095565A (en) * 2012-10-18 2013-05-08 中兴通讯股份有限公司 Software definition network operating system and implement method thereof
CN103346981A (en) * 2013-06-28 2013-10-09 华为技术有限公司 Virtual exchange method, related device and computer system
CN103685033A (en) * 2013-12-19 2014-03-26 武汉邮电科学研究院 General flow table and method for supporting packet switching and circuit switching in SDN framework

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187635A (en) * 2019-07-01 2021-01-05 中兴通讯股份有限公司 Message forwarding method and device
CN110430114A (en) * 2019-07-24 2019-11-08 中国电子科技集团公司第七研究所 A kind of virtual router and the method for realizing SDN network and traditional IP interconnection
CN110430114B (en) * 2019-07-24 2022-02-11 中国电子科技集团公司第七研究所 Virtual router and method for realizing interconnection between SDN network and traditional IP network
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
CN112311665A (en) * 2020-09-10 2021-02-02 山西大学 Single-link fault routing protection method based on hybrid SDN network
CN112702269A (en) * 2021-01-21 2021-04-23 国网新疆电力有限公司信息通信公司 SDN and non-SDN intercommunication method and intercommunication system

Also Published As

Publication number Publication date
CN106664235B (en) 2019-12-06
CN106664235A (en) 2017-05-10

Similar Documents

Publication Publication Date Title
WO2016026089A1 (en) Converging method and apparatus for software defined network and traditional network
WO2021136311A1 (en) Method and device for communication between vpcs
US9509522B2 (en) Forwarding multicast data packets
JP6014279B2 (en) Method, device and routing system for network virtualization data transmission
US8908704B2 (en) Switch with dual-function management port
US9614759B2 (en) Systems and methods for providing anycast MAC addressing in an information handling system
JP5373625B2 (en) Method and apparatus for multicast routing
WO2013145167A1 (en) Lan multiplexer apparatus
JP2005533445A (en) Apparatus and method for virtual hierarchical local area network
CN108574616A (en) A kind of method, equipment and the system of processing routing
JP2014158289A (en) Information system, control device, provision method for virtual network, and program
JPH1141272A (en) Lan internet connection
US20090225660A1 (en) Communication device and operation management method
CN110445702B (en) Message forwarding method and device
WO2020119644A1 (en) Forwarding entry generation method, apparatus, and device
WO2020108587A1 (en) Data processing method, controller and forwarding device
WO2015184586A1 (en) Openflow communication method, system, controller, and service gateway
CN102238057B (en) Ethernet-tree realization method, system, device and network equipment
WO2013139159A1 (en) Method for forwarding packet in network and provider edge device
CN111865780A (en) Synchronization method and device
EP1944918B1 (en) A method and system for realizing the consistency of the virtual circuit status
CN101926132B (en) Circuit emulation over ip interworking vll
WO2021196967A1 (en) Message interaction method and apparatus, and device and storage medium
WO2021098727A1 (en) Network deployment method and system
WO2014086041A1 (en) Stream forwarding method for message, and message forwarding device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14900051

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14900051

Country of ref document: EP

Kind code of ref document: A1