CN108449275B - Reliable software defined network implementation method - Google Patents
Reliable software defined network implementation method Download PDFInfo
- Publication number
- CN108449275B CN108449275B CN201810235128.4A CN201810235128A CN108449275B CN 108449275 B CN108449275 B CN 108449275B CN 201810235128 A CN201810235128 A CN 201810235128A CN 108449275 B CN108449275 B CN 108449275B
- Authority
- CN
- China
- Prior art keywords
- controller
- switch
- message
- interface
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention provides a reliable software defined network implementation method, wherein the network comprises a controller and a switch; one controller with unique coordinates and one switch with unique coordinates; a controller is uniquely identified by a controller ID, the controller ID being equal to the coordinates of the controller; a switch is uniquely identified by a switch ID, which is equal to the coordinates of the switch; the network can rapidly acquire network data through the implementation method provided by the invention, shorten the routing delay, reduce the data packet loss rate and improve the service quality.
Description
Technical Field
The invention relates to an implementation method, in particular to a reliable software defined network implementation method.
Background
The software defined network is a novel communication network and can realize multi-hop wireless communication between nodes. With the continuous development of network technology and the continuous emergence of various new applications, there is an urgent need to improve network performance.
At present, researchers have proposed a mode for acquiring network services through a software defined network and defined a corresponding protocol stack, but the existing network service acquisition method has some limitations because the architecture of the software defined network is different from that of the conventional network. Therefore, it is necessary to provide a low-latency software-defined network implementation method, so as to improve the service quality.
Disclosure of Invention
The purpose of the invention is as follows: the invention aims to solve the technical problem of providing a reliable software defined network implementation method aiming at the defects of the prior art.
The technical scheme is as follows: the invention discloses a reliable software defined network implementation method, wherein the network comprises a controller and a switch; one controller with unique coordinates and one switch with unique coordinates; a controller is uniquely identified by a controller ID, the controller ID being equal to the coordinates of the controller; a switch is uniquely identified by a switch ID, which is equal to the coordinates of the switch; the controllers are distributed in the network, the network is constructed into more than two domains, one domain is composed of one controller and more than two switches, and the switch in one domain is closest to the controller in the same domain in all the controllers in the network;
each controller or switch is configured with more than two interfaces, each interface is uniquely identified by an interface ID, the interface ID is configured in advance, the interface ID is a natural number, and for example, the interface ID is configured to be 1; one controller is connected with one interface of one switch in the domain, and the other interfaces of the switch are connected with other controller links, wherein the switch is called a main switch;
each switch stores a controller table, and a controller table item is composed of a controller ID domain and a path set domain; the controller executes the following steps to establish a controller table entry:
step 101: starting;
step 102: the controller sends a release message from an interface connected with the switch, the load of the release message is a path set and the ID of the controller, and the path set is an empty set;
step 103: after the switch receives the publish message from its own interface f1, if the switch is closest to the controller ID in the received publish message load, that is, belongs to the domain where the controller identified by the controller ID is located, then step 104 is executed, otherwise step 108 is executed;
step 104: the switch receiving the publish message from interface f1 adds interface f1 to the path set of the publish message as the first element of the path set; if the controller table of the switch is empty, executing step 105, otherwise executing step 106;
step 105: the switch creates a controller entry, the controller ID field value of the controller entry is set to the controller ID in the publish message, the path set is set to the path set in the publish message payload, the switch routes the publish message from an interface other than interface f1, execute step 103;
step 106: the switch judges whether the number of the path set elements of the table entry of the controller is larger than the number of the path set elements in the received release message load, if so, the step 107 is executed, otherwise, the step 108 is executed;
step 107: the switch sets the path set of the controller table entry as the path set in the publish message payload, the switch routes the publish message from an interface other than interface f1, step 103 is performed;
step 108: and (6) ending.
The above process enables fast establishment of controller tables to achieve correct communication.
In the method of the invention, a mobile node is uniquely identified by a node ID, the node ID comprises three parts, namely a controller ID, a switch ID and a device ID, and the device ID is a hardware ID of the mobile node, such as an MAC address, and has network uniqueness; the hardware ID of a mobile node does not change; a mobile node configures a home node ID and a temporary node ID; each switch maintains an address table, each address table item comprises a node ID domain, a type domain, an interface ID domain and a life cycle domain, wherein when the type domain value is 0, the node ID is indicated as a home node ID, and when the type domain value is 1, the node ID is indicated as a temporary node ID;
if the life cycle attenuation of one address table entry is 0, deleting the address table entry;
after the mobile node M1 is activated, it associates with the switch SW1, the controller of the domain of the switch SW1 is C1, and the mobile node M1 performs the following steps to obtain the home node ID:
step 201: starting;
step 202: the mobile node M1 sends a home request message, where the load of the home request message is its own device ID and lifecycle value, e.g. 24 hours, and generally does not exceed 72 hours;
step 203: after receiving the home request message from the interface f2 of the switch SW1, a node ID is constructed, the controller ID of the node ID is the controller ID of the controller C1, the switch ID is the switch ID of the switch SW, and the device ID is the device ID in the home request message; the switch SW1 creates an address table entry, the node ID field value of the address table entry is the constructed node ID, the type field value is 0, the interface ID is f2, and the life cycle field value is the life cycle value in the load of the received home request message; the switch SW1 sends a home response message from interface f2, the load of the home response message is the constructed node ID;
step 204: after receiving the home response message, the mobile node M1 sets the node ID in the load as its own home node ID;
step 205: and (6) ending.
The mobile node acquires the home node ID through the above process to realize correct communication.
In the method of the present invention, after the mobile node M1 obtains the home node ID, if the controller of the domain where the switch SW4 is located is C4 in association with the switch SW4, the mobile node M1 executes the following steps of temporary node ID:
step 301: starting;
step 302: the mobile node M1 sends an interim request message with a message load of its own device ID and lifecycle value, e.g., 1 hour;
step 303: after receiving the temporary request message from the interface f3 of the switch SW4, constructing a node ID, where the controller ID of the node ID is the controller ID of the controller C4, the switch ID is the switch ID of the switch SW, and the device ID is the device ID in the temporary request message; the switch SW4 creates an address table entry, the node ID field value of which is the constructed node ID, the type field value is 1, the interface ID is f3, and the lifecycle field value is the lifecycle value in the load of the received temporary request message; the switch SW4 sends a provisional response message from the interface f3, the payload of the provisional response message being the constructed node ID;
step 304: after receiving the temporary response message, the mobile node M1 sets the node ID in the load as its own temporary node ID;
step 305: and (6) ending.
The mobile node acquires the temporary node ID through the above procedure to thereby achieve correct communication.
In the method, each switch comprises a routing table, the table name of the routing table is the coordinate of the switch, and each routing table item comprises a switch ID domain and a path set domain; if the controller of the domain in which the switch SW1 is located is C1, the following steps are performed to establish a routing table:
step 401: starting;
step 402: the switch sends a routing message, and the load of the routing message is the coordinate of the controller C1, the coordinate of the switch and the path set; the set of paths is null;
step 403: after the switch receives the routing message from the interface f4, if the coordinate of the switch is closest to the controller C1 in all the controllers, the step 404 is executed, otherwise, the step 410 is executed;
step 404: the switch adds the interface f4 to the path set of the routing message and the interface f4 is used as the first element of the path set, if one interface of the switch is connected with the controller, step 406 is executed, otherwise, step 405 is executed;
step 405: the switch sends the routing message from all interfaces except interface f4, and step 403 is executed;
step 406: the switch checks the routing table, if a routing table entry exists, the switch ID field value of the routing table entry is equal to the coordinate in the routing message, step 408 is executed, otherwise step 407 is executed;
step 407: the switch creates a routing table entry, the switch ID field value of which is equal to the coordinate in the routing message, and the path set field value is equal to the path set in the routing message, go to step 410;
step 408: the switch selects a routing table item, the switch ID field value of the routing table item is equal to the coordinate in the routing message, if the number of the path set elements of the routing table item is greater than the number of the path set elements in the routing message, step 409 is executed, otherwise step 410 is executed;
step 409: the switch selects a routing table item, the switch ID field value of the routing table item is equal to the coordinate in the routing message, and the path set of the routing table item is updated to the path set in the routing message;
step 410: and (6) ending.
The above process can quickly establish the routing table to achieve correct communication.
In the method of the invention, if the switch SW3 is the main switch and is connected with the controller C3, the following steps are executed to execute the uploading operation:
step 501: starting;
step 502: the switch SW3 builds an upload message, and the load of the upload message is the routing table of the switch SW 3; the switch SW3 selects an interface which is connected to the controller C3 and then sends an upload message from the interface;
step 503: after the controller receives the uploading message, the controller stores a routing table in the uploading message load;
step 504: and (6) ending.
Each controller comprises a controller routing table, the name of the controller routing table is the coordinate of the controller, and each controller routing table item comprises a controller ID field and a path set field; the controller executes the following steps to establish a controller routing table:
step 601: starting;
step 602: the controller sends a release message from all the interfaces except the interface connected with the switch, and the load of the release message is the coordinate and path set of the controller; the set of paths is null;
step 603: after other controllers except the controller in step 602 receive the publish message from their own interface f6, add interface f6 to the path set of the publish message and interface f6 as the first element of the path set, look up the controller routing table, if there is a controller routing table entry whose controller ID field value is equal to the coordinates in the publish message, execute step 605, otherwise execute step 604;
step 604: the controller receiving the publish message from interface f6 creates a controller routing table entry having a controller ID field value equal to the coordinates in the received publish message and a path set field value equal to the path set in the publish message; then sending the publish message from all interfaces except interface f6 and the interface connected to the switch, performing step 603;
step 605: selecting a controller routing table entry from the controller receiving the publish message from the interface f6, where the controller ID field value of the controller routing table entry is equal to the coordinate in the publish message, if the number of elements of the path set of the controller routing table entry is greater than the number of elements of the path set in the publish message, executing step 606, otherwise executing step 607;
step 606: the controller selects a controller routing table entry whose controller ID field value is equal to the coordinate in the release message, updates the path set of the controller routing table entry to the path set in the release message, and then sends the release message from all interfaces except the interface f6 and the interface connected to the switch, and performs step 603;
step 607: and (6) ending.
In the method of the invention, each controller maintains a mapping table, each mapping table item comprises a home node ID domain, a temporary node ID domain and a life cycle domain, a mobile node M1 is located in a domain O1, a controller of the domain O1 is C1, switches SW1 and SW2 are located in a domain O1, and if the position of a mobile node M1 is moved and is associated with the switch SW2 under the condition that the mobile node M1 is associated with the switch SW1, the following intra-domain updating steps are executed:
step 701: starting;
step 702: the mobile node M1 executes the steps 301-305 to obtain the temporary node ID from the switch SW2, the mobile node M1 sends an update message, and the load of the update message is the home node ID and the temporary node ID of the mobile node M1;
step 703: after receiving the update message, switch SW2 looks at the controller table entry, adds the path set of the controller table entry to the load of the update message, selects an interface whose interface ID is equal to the first element of the path set in the load of the update message, then deletes the first element from the path set in the load of the update message, and sends the update message from the selected interface;
step 704: judging whether the switch or the controller C1 receives the update message, if the switch is the switch, executing step 705, otherwise executing step 706;
step 705: after the switch receives the update message, the switch selects an interface whose interface ID is equal to the first element of the path set in the update message load, then the switch deletes the first element from the path set in the update message load, sends the update message from the selected interface, and executes step 704;
step 706: after receiving the update message, the controller C1 checks the mapping table, and if there is a mapping table entry whose home node ID is equal to the home node ID in the update message, updates the temporary node ID of the mapping table entry to the temporary node ID in the update message; otherwise, the controller C1 creates a mapping table entry having a home node ID equal to the home node ID in the update message and a temporary node ID equal to the temporary node ID in the update message;
step 707: and (6) ending.
The updating process can ensure the correctness of data communication.
In the method of the present invention, under the condition that the mobile node M1 is located in the domain O1, the controller of the domain O1 is C1, the switch SW1 is located in the domain O1, the switch SW3 is located in the domain O3, the controller of the domain O3 is C3, and the mobile node M1 is associated with the switch SW1, if the mobile node M1 is moved and associated with the switch SW3, the following inter-domain updating steps are performed:
step 801: starting;
step 802: the mobile node M1 executes the steps 301-305 to obtain the temporary node ID from the switch SW3, the mobile node M1 sends an update message, and the load of the update message is the home node ID and the temporary node ID of the mobile node M1;
step 803: after the switch SW3 receives the update message, look at the controller table entry, add the path set of the controller table entry to the load of the update message, the switch SW3 selects an interface whose interface ID is equal to the first element of the path set in the update message load, then delete the first element from the path set in the update message load, and send the update message from the selected interface;
step 804: judging whether the switch or the controller C1 receives the update message, if the switch is the switch, executing step 805, otherwise, executing step 806;
step 805: after receiving the update message, the switch selects an interface whose interface ID is equal to the first element of the path set in the update message load, then deletes the first element from the path set in the update message load, sends the update message from the selected interface, and executes step 804;
step 806: after receiving the update message, the controller C1 checks the controller routing table, selects a controller routing table entry, the controller ID field value in the controller routing table entry is equal to the controller ID in the home node ID in the update message, adds the path set of the controller routing table entry to the update message, selects an interface whose interface ID is equal to the first element of the path set in the update message load, then deletes the first element from the path set in the update message load, and sends the update message from the selected interface;
step 807: after the other controllers except the controller C1 in step 806 receive the update message, if the controller ID in the home node ID of the update message is equal to the controller ID of the controller, perform step 809, otherwise perform step 808;
step 808: after receiving the update message, the controller selects an interface with an interface ID equal to the first element of the path set in the update message payload, deletes the first element from the path set in the update message payload, sends the update message from the selected interface, and performs step 807;
step 809: the controller checks the mapping table, and if a mapping table item exists and the home node ID of the mapping table item is equal to the home node ID in the updating message, the temporary node ID of the mapping table item is updated to the temporary node ID in the updating message; otherwise, the controller creates a mapping table item, the home node ID of the mapping table item is equal to the home node ID in the updating message, and the temporary node ID is equal to the temporary node ID in the updating message;
step 810: and (6) ending.
The updating process can ensure the correctness of communication.
In the method of the present invention, under the condition that the mobile node M1 is located in the domain O1, the controller of the domain O1 is C1, the switch SW1 is located in the domain O1, the mobile node M1 is associated with the switch SW1, the mobile node M5 is located in the domain O5, the controller of the domain O5 is C5, the switch SW5 is located in the domain O5, and the mobile node M5 is associated with the switch SW5, the mobile node M1 and the mobile node M5 realize communication through the following procedures:
step 901: starting;
step 902: the mobile node M1 sends a request message, the load of the request message is a source address and a destination address, the source address is the temporary node ID of the mobile node M1, and the destination address is the home node ID of the mobile node M5; after the switch SW1 receives the request message, it looks at the controller table entry, adds the path set of the controller table entry to the load of the update message, the switch SW1 selects an interface whose interface ID is equal to the first element of the path set in the load of the request message, then deletes the first element from the path set in the load of the request message, and sends the request message from the selected interface;
step 903: judging whether the switch or the controller C1 receives the update message, if the switch executes the step 904, otherwise, executing the step 905;
step 904: after receiving the request message, the switch selects an interface whose interface ID is equal to the first element of the path set in the request message load, then deletes the first element from the path set in the request message load, sends the request message from the selected interface, and executes step 903;
step 905: after receiving the request message, the controller C1 checks the controller routing table, selects a controller routing table entry, the controller ID field value of which is equal to the controller ID of the destination node ID of the request message, the controller C1 adds the path set of the controller routing table entry to the request message, selects an interface whose interface ID is equal to the first element of the path set in the request message payload, then deletes the first element from the path set in the request message payload, and sends the request message from the selected interface;
step 906: after the other controllers except the controller C1 in step 905 receive the request message, if their controller IDs are equal to the controller ID of the destination node ID in the request message, execute step 908, otherwise execute step 907;
step 907: after receiving the request message, the controller selects an interface whose interface ID is equal to the first element of the path set in the request message load, then deletes the first element from the path set in the request message load, sends the request message from the selected interface, and executes step 906;
step 908: the controller checks the mapping table, if there is a mapping table entry whose home node ID is equal to the destination node ID of the request message, then step 909 is executed, otherwise step 910 is executed;
step 909: the controller selects a mapping table item, the home node ID of the mapping table item is equal to the destination node ID in the request message, the controller updates the destination node ID in the request message to the temporary node ID in the mapping table item, the controller looks up the controller routing table, the controller selects a controller routing table item, the controller ID field value of the controller routing table item is equal to the controller ID of the destination node ID of the request message, the path set of the controller routing table item is added into the request message, the controller selects an interface, the interface ID of the interface is equal to the first element of the path set in the request message load, then the first element is deleted from the path set in the request message load, the request message is sent from the selected interface, and step 906 is executed;
step 910: the controller checks the routing list, selects a routing list item, the switch ID domain value of the routing list item is equal to the switch ID value of the destination node ID in the request message, adds the path set of the routing list item into the request message load, and sends the request message from the interface connected with the switch;
step 911: after the switch receives the request message, if the switch ID of the switch is equal to the switch ID of the destination node ID of the request message, step 913 is executed, otherwise step 912 is executed;
step 912: the switch selects an interface with an interface ID equal to the first element of the set of paths in the request message payload, then deletes the first element from the set of paths in the request message payload, sends the request message from the selected interface, and performs step 911;
step 913: the switch checks the distribution list, selects a distribution list item, the node ID of the distribution list item is equal to the destination node ID of the request message, and then sends the request message from the interface identified by the interface ID field value of the distribution list item; after receiving the request message, the mobile node M5 sends a response message, where the response message includes a source node ID, a destination node ID and response data, where the source node ID is equal to the destination node ID in the received request message, and the destination node ID is equal to the source node ID in the received request message; after receiving the response message, switch SW5 associated with mobile node M5 selects a controller routing table entry, adds the set of paths in the controller routing table entry to the payload of the response message, switch SW5 selects an interface having an interface ID equal to the first element of the set of paths in the payload of the response message, deletes the first element from the set of paths in the payload of the response message, and sends the response message from the selected interface; the node ID of the allocation table entry is equal to the destination node ID of the request message, and then the request message is sent from the interface identified by the interface ID field value of the allocation table entry; this interface is connected to the mobile node M5 because the destination node ID is equal to the node ID of the mobile node M5;
step 914: after receiving the response message, the controller C5 checks the controller routing table, selects a controller routing table entry, the controller ID field of the controller routing table entry is equal to the controller ID of the destination node ID of the response message, adds the path set of the controller routing table entry to the response message, the controller C5 selects an interface, the interface ID of the interface is equal to the first element of the path set in the response message payload, then deletes the first element from the path set in the response message payload, and sends the response message from the selected interface;
step 915: after the other controllers except the controller C5 in step 914 receive the response message, if the controller ID of the destination node ID of the response message is equal to the controller ID of the controller, perform step 917, otherwise perform step 916;
step 916: the controller selects an interface having an interface ID equal to the first element of the set of paths in the response message payload, then deletes the first element from the set of paths in the response message payload, sends the response message from the selected interface, and performs step 915;
step 917: the controller checks the routing list, selects a routing list item, the switch ID field value of the routing list item is equal to the switch ID of the destination node ID of the response message, adds the path set of the routing list item into the response message load, and sends the response message from the interface connected with the switch;
step 918: after the switch receives the response message, if the switch ID of the destination node ID of the response message is equal to the switch ID of the switch, execute step 920, otherwise execute step 919;
step 919: the switch selects an interface with an interface ID equal to the first element of the set of paths in the response message payload, removes the first element from the set of paths in the response message payload, sends the response message from the selected interface, step 918;
step 920: the switch checks the distribution list, selects a distribution list item, the node ID of the distribution list item is equal to the destination node ID of the response message, and then sends the response message from the interface identified by the interface ID field value of the distribution list item; after receiving the response message, the mobile node M1 saves the data in the response message;
step 921: and (6) ending.
The mobile node can rapidly acquire data through the above process.
Has the advantages that: the invention provides a reliable software defined network implementation method, the network can rapidly acquire network data, shorten routing delay, reduce data packet loss rate and improve service quality by the implementation method provided by the invention, and the invention can be applied to the fields of road condition monitoring, environment monitoring and the like and has wide application prospect.
Drawings
The foregoing and/or other advantages of the invention will become further apparent from the following detailed description of the invention when taken in conjunction with the accompanying drawings.
Fig. 1 is a flow chart of the controller table establishment according to the present invention.
Fig. 2 is a schematic diagram of a process for acquiring a home node ID according to the present invention.
Fig. 3 is a schematic diagram of a process of acquiring a temporary node ID according to the present invention.
Fig. 4 is a schematic flow chart of establishing a routing table according to the present invention.
Fig. 5 is a schematic view of a data uploading process according to the present invention.
Fig. 6 is a flow chart of the controller routing table establishment according to the present invention.
Fig. 7 is a schematic diagram of intra-domain update process according to the present invention.
Fig. 8 is a schematic diagram of an inter-domain update process according to the present invention.
Fig. 9 is a schematic diagram of a data communication process according to the present invention.
The specific implementation mode is as follows:
the invention provides a reliable software defined network implementation method, the network can rapidly acquire network data, shorten routing delay, reduce data packet loss rate and improve service quality by the implementation method provided by the invention, and the invention can be applied to the fields of road condition monitoring, environment monitoring and the like and has wide application prospect.
Fig. 1 is a flow chart of the controller table establishment according to the present invention. The network comprises a controller and a switch; one controller with unique coordinates and one switch with unique coordinates; a controller is uniquely identified by a controller ID, the controller ID being equal to the coordinates of the controller; a switch is uniquely identified by a switch ID, which is equal to the coordinates of the switch; the controllers are distributed in the network, the network is constructed into more than two domains, one domain is composed of one controller and more than two switches, and the switch in one domain is closest to the controller in the same domain in all the controllers in the network;
each controller or switch is configured with more than two interfaces, each interface is uniquely identified by an interface ID, and the interface ID is configured in advance; one controller is connected with one interface of one switch in the domain, and the other interfaces of the switch are connected with other controller links, wherein the switch is called a main switch;
each switch stores a controller table, and a controller table item is composed of a controller ID domain and a path set domain; the controller executes the following steps to establish a controller table entry:
step 101: starting;
step 102: the controller sends a release message from an interface connected with the switch, the load of the release message is a path set and the ID of the controller, and the path set is an empty set;
step 103: after the switch receives the publish message from its own interface f1, if the switch is closest to the controller ID in the received publish message load, that is, belongs to the domain where the controller identified by the controller ID is located, then step 104 is executed, otherwise step 108 is executed;
step 104: the switch receiving the publish message from interface f1 adds interface f1 to the path set of the publish message as the first element of the path set; if the controller table of the switch is empty, executing step 105, otherwise executing step 106;
step 105: the switch creates a controller entry, the controller ID field value of the controller entry is set to the controller ID in the publish message, the path set is set to the path set in the publish message payload, the switch routes the publish message from an interface other than interface f1, execute step 103;
step 106: the switch judges whether the number of the path set elements of the table entry of the controller is larger than the number of the path set elements in the received release message load, if so, the step 107 is executed, otherwise, the step 108 is executed;
step 107: the switch sets the path set of the controller table entry as the path set in the publish message payload, the switch routes the publish message from an interface other than interface f1, step 103 is performed;
step 108: and (6) ending.
Fig. 2 is a schematic diagram of a process for acquiring a home node ID according to the present invention. A mobile node is uniquely identified by a node ID, the node ID comprises three parts, namely a controller ID, a switch ID and a device ID, and the device ID is a hardware ID of the mobile node and has network uniqueness; the hardware ID of a mobile node does not change; a mobile node configures a home node ID and a temporary node ID; each switch maintains an address table, each address table item comprises a node ID domain, a type domain, an interface ID domain and a life cycle domain, wherein when the type domain value is 0, the node ID is indicated as a home node ID, and when the type domain value is 1, the node ID is indicated as a temporary node ID;
if the life cycle attenuation of one address table entry is 0, deleting the address table entry;
after the mobile node M1 is activated, it associates with the switch SW1, the controller of the domain of the switch SW1 is C1, and the mobile node M1 performs the following steps to obtain the home node ID:
step 201: starting;
step 202: the mobile node M1 sends a home request message, and the load of the home request message is the own equipment ID and the life cycle value;
step 203: after receiving the home request message from the interface f2 of the switch SW1, a node ID is constructed, the controller ID of the node ID is the controller ID of the controller C1, the switch ID is the switch ID of the switch SW, and the device ID is the device ID in the home request message; the switch SW1 creates an address table entry, the node ID field value of the address table entry is the constructed node ID, the type field value is 0, the interface ID is f2, and the life cycle field value is the life cycle value in the load of the received home request message; the switch SW1 sends a home response message from interface f2, the load of the home response message is the constructed node ID;
step 204: after receiving the home response message, the mobile node M1 sets the node ID in the load as its own home node ID;
step 205: and (6) ending.
Fig. 3 is a schematic diagram of a process of acquiring a temporary node ID according to the present invention. After the mobile node M1 acquires the home node ID, if the controller of the domain in which the switch SW4 is located is C4 in association with the switch SW4, the mobile node M1 performs the following steps of temporary node ID:
step 301: starting;
step 302: the mobile node M1 sends a temporary request message, the message load is its own device ID and lifecycle value;
step 303: after receiving the temporary request message from the interface f3 of the switch SW4, constructing a node ID, where the controller ID of the node ID is the controller ID of the controller C4, the switch ID is the switch ID of the switch SW, and the device ID is the device ID in the temporary request message; the switch SW4 creates an address table entry, the node ID field value of which is the constructed node ID, the type field value is 1, the interface ID is f3, and the lifecycle field value is the lifecycle value in the load of the received temporary request message; the switch SW4 sends a provisional response message from the interface f3, the payload of the provisional response message being the constructed node ID;
step 304: after receiving the temporary response message, the mobile node M1 sets the node ID in the load as its own temporary node ID;
step 305: and (6) ending.
Fig. 4 is a schematic flow chart of establishing a routing table according to the present invention. Each switch comprises a routing table, the table name of the routing table is the coordinate of the switch, and each routing table item comprises a switch ID domain and a path set domain; if the controller of the domain in which the switch SW1 is located is C1, the following steps are performed to establish a routing table:
step 401: starting;
step 402: the switch sends a routing message, and the load of the routing message is the coordinate of the controller C1, the coordinate of the switch and the path set; the set of paths is null;
step 403: after the switch receives the routing message from the interface f4, if the coordinate of the switch is closest to the controller C1 in all the controllers, the step 404 is executed, otherwise, the step 410 is executed;
step 404: the switch adds the interface f4 to the path set of the routing message and the interface f4 is used as the first element of the path set, if one interface of the switch is connected with the controller, step 406 is executed, otherwise, step 405 is executed;
step 405: the switch sends the routing message from all interfaces except interface f4, and step 403 is executed;
step 406: the switch checks the routing table, if a routing table entry exists, the switch ID field value of the routing table entry is equal to the coordinate in the routing message, step 408 is executed, otherwise step 407 is executed;
step 407: the switch creates a routing table entry, the switch ID field value of which is equal to the coordinate in the routing message, and the path set field value is equal to the path set in the routing message, go to step 410;
step 408: the switch selects a routing table item, the switch ID field value of the routing table item is equal to the coordinate in the routing message, if the number of the path set elements of the routing table item is greater than the number of the path set elements in the routing message, step 409 is executed, otherwise step 410 is executed;
step 409: the switch selects a routing table item, the switch ID field value of the routing table item is equal to the coordinate in the routing message, and the path set of the routing table item is updated to the path set in the routing message;
step 410: and (6) ending.
Fig. 5 is a schematic view of a data uploading process according to the present invention. If the switch SW3 is the master switch and is connected to the controller C3, the following steps are performed to perform the uploading operation:
step 501: starting;
step 502: the switch SW3 builds an upload message, and the load of the upload message is the routing table of the switch SW 3; the switch SW3 selects an interface which is connected to the controller C3 and then sends an upload message from the interface;
step 503: after the controller receives the uploading message, the controller stores a routing table in the uploading message load;
step 504: and (6) ending.
Fig. 6 is a flow chart of the controller routing table establishment according to the present invention. Each controller comprises a controller routing table, the name of the controller routing table is the coordinate of the controller, and each controller routing table item comprises a controller ID field and a path set field; the controller executes the following steps to establish a controller routing table:
step 601: starting;
step 602: the controller sends a release message from all the interfaces except the interface connected with the switch, and the load of the release message is the coordinate and path set of the controller; the set of paths is null;
step 603: after other controllers except the controller in step 602 receive the publish message from their own interface f6, add interface f6 to the path set of the publish message and interface f6 as the first element of the path set, look up the controller routing table, if there is a controller routing table entry whose controller ID field value is equal to the coordinates in the publish message, execute step 605, otherwise execute step 604;
step 604: the controller receiving the publish message from interface f6 creates a controller routing table entry having a controller ID field value equal to the coordinates in the received publish message and a path set field value equal to the path set in the publish message; then sending the publish message from all interfaces except interface f6 and the interface connected to the switch, performing step 603;
step 605: selecting a controller routing table entry from the controller receiving the publish message from the interface f6, where the controller ID field value of the controller routing table entry is equal to the coordinate in the publish message, if the number of elements of the path set of the controller routing table entry is greater than the number of elements of the path set in the publish message, executing step 606, otherwise executing step 607;
step 606: the controller selects a controller routing table entry whose controller ID field value is equal to the coordinate in the release message, updates the path set of the controller routing table entry to the path set in the release message, and then sends the release message from all interfaces except the interface f6 and the interface connected to the switch, and performs step 603;
step 607: and (6) ending.
Fig. 7 is a schematic diagram of intra-domain update process according to the present invention. Maintaining a mapping table at each controller, wherein each mapping table item comprises a home node ID domain, a temporary node ID domain and a life cycle domain, a mobile node M1 is located in a domain O1, a controller of the domain O1 is C1, switches SW1 and SW2 are located in a domain O1, and under the condition that the mobile node M1 is associated with the switch SW1, if the position of the mobile node M1 is moved and is associated with the switch SW2, the following intra-domain updating steps are executed:
step 701: starting;
step 702: the mobile node M1 executes the steps 301-305 to obtain the temporary node ID from the switch SW2, the mobile node M1 sends an update message, and the load of the update message is the home node ID and the temporary node ID of the mobile node M1;
step 703: after receiving the update message, switch SW2 looks at the controller table entry, adds the path set of the controller table entry to the load of the update message, selects an interface whose interface ID is equal to the first element of the path set in the load of the update message, then deletes the first element from the path set in the load of the update message, and sends the update message from the selected interface;
step 704: judging whether the switch or the controller C1 receives the update message, if the switch is the switch, executing step 705, otherwise executing step 706;
step 705: after the switch receives the update message, the switch selects an interface whose interface ID is equal to the first element of the path set in the update message load, then the switch deletes the first element from the path set in the update message load, sends the update message from the selected interface, and executes step 704;
step 706: after receiving the update message, the controller C1 checks the mapping table, and if there is a mapping table entry whose home node ID is equal to the home node ID in the update message, updates the temporary node ID of the mapping table entry to the temporary node ID in the update message; otherwise, the controller C1 creates a mapping table entry having a home node ID equal to the home node ID in the update message and a temporary node ID equal to the temporary node ID in the update message;
step 707: and (6) ending.
Fig. 8 is a schematic diagram of an inter-domain update process according to the present invention. Under the condition that the mobile node M1 is located in the domain O1, the controller of the domain O1 is C1, the switch SW1 is located in the domain O1, the switch SW3 is located in the domain O3, the controller of the domain O3 is C3, and the mobile node M1 is associated with the switch SW1, if the mobile node M1 is moved to be associated with the switch SW3, the following inter-domain updating steps are performed:
step 801: starting;
step 802: the mobile node M1 executes the steps 301-305 to obtain the temporary node ID from the switch SW3, the mobile node M1 sends an update message, and the load of the update message is the home node ID and the temporary node ID of the mobile node M1;
step 803: after the switch SW3 receives the update message, look at the controller table entry, add the path set of the controller table entry to the load of the update message, the switch SW3 selects an interface whose interface ID is equal to the first element of the path set in the update message load, then delete the first element from the path set in the update message load, and send the update message from the selected interface;
step 804: judging whether the switch or the controller C1 receives the update message, if the switch is the switch, executing step 805, otherwise, executing step 806;
step 805: after receiving the update message, the switch selects an interface whose interface ID is equal to the first element of the path set in the update message load, then deletes the first element from the path set in the update message load, sends the update message from the selected interface, and executes step 804;
step 806: after receiving the update message, the controller C1 checks the controller routing table, selects a controller routing table entry, the controller ID field value in the controller routing table entry is equal to the controller ID in the home node ID in the update message, adds the path set of the controller routing table entry to the update message, selects an interface whose interface ID is equal to the first element of the path set in the update message load, then deletes the first element from the path set in the update message load, and sends the update message from the selected interface;
step 807: after the other controllers except the controller C1 in step 806 receive the update message, if the controller ID in the home node ID of the update message is equal to the controller ID of the controller, perform step 809, otherwise perform step 808;
step 808: after receiving the update message, the controller selects an interface with an interface ID equal to the first element of the path set in the update message payload, deletes the first element from the path set in the update message payload, sends the update message from the selected interface, and performs step 807;
step 809: the controller checks the mapping table, and if a mapping table item exists and the home node ID of the mapping table item is equal to the home node ID in the updating message, the temporary node ID of the mapping table item is updated to the temporary node ID in the updating message; otherwise, the controller creates a mapping table item, the home node ID of the mapping table item is equal to the home node ID in the updating message, and the temporary node ID is equal to the temporary node ID in the updating message;
step 810: and (6) ending.
Fig. 9 is a schematic diagram of a data communication process according to the present invention. Under the condition that the mobile node M1 is located in the domain O1, the controller of the domain O1 is C1, the switch SW1 is located in the domain O1, the mobile node M1 is associated with the switch SW1, the mobile node M5 is located in the domain O5, the controller of the domain O5 is C5, the switch SW5 is located in the domain O5, and the mobile node M5 is associated with the switch SW5, the mobile node M1 and the mobile node M5 realize communication by the following procedures:
step 901: starting;
step 902: the mobile node M1 sends a request message, the load of the request message is a source address and a destination address, the source address is the temporary node ID of the mobile node M1, and the destination address is the home node ID of the mobile node M5; after the switch SW1 receives the request message, it looks at the controller table entry, adds the path set of the controller table entry to the load of the update message, the switch SW1 selects an interface whose interface ID is equal to the first element of the path set in the load of the request message, then deletes the first element from the path set in the load of the request message, and sends the request message from the selected interface;
step 903: judging whether the switch or the controller C1 receives the update message, if the switch executes the step 904, otherwise, executing the step 905;
step 904: after receiving the request message, the switch selects an interface whose interface ID is equal to the first element of the path set in the request message load, then deletes the first element from the path set in the request message load, sends the request message from the selected interface, and executes step 903;
step 905: after receiving the request message, the controller C1 checks the controller routing table, selects a controller routing table entry, the controller ID field value of which is equal to the controller ID of the destination node ID of the request message, the controller C1 adds the path set of the controller routing table entry to the request message, selects an interface whose interface ID is equal to the first element of the path set in the request message payload, then deletes the first element from the path set in the request message payload, and sends the request message from the selected interface;
step 906: after the other controllers except the controller C1 in step 905 receive the request message, if their controller IDs are equal to the controller ID of the destination node ID in the request message, execute step 908, otherwise execute step 907;
step 907: after receiving the request message, the controller selects an interface whose interface ID is equal to the first element of the path set in the request message load, then deletes the first element from the path set in the request message load, sends the request message from the selected interface, and executes step 906;
step 908: the controller checks the mapping table, if there is a mapping table entry whose home node ID is equal to the destination node ID of the request message, then step 909 is executed, otherwise step 910 is executed;
step 909: the controller selects a mapping table item, the home node ID of the mapping table item is equal to the destination node ID in the request message, the controller updates the destination node ID in the request message to the temporary node ID in the mapping table item, the controller looks up the controller routing table, the controller selects a controller routing table item, the controller ID field value of the controller routing table item is equal to the controller ID of the destination node ID of the request message, the path set of the controller routing table item is added into the request message, the controller selects an interface, the interface ID of the interface is equal to the first element of the path set in the request message load, then the first element is deleted from the path set in the request message load, the request message is sent from the selected interface, and step 906 is executed;
step 910: the controller checks the routing list, selects a routing list item, the switch ID domain value of the routing list item is equal to the switch ID value of the destination node ID in the request message, adds the path set of the routing list item into the request message load, and sends the request message from the interface connected with the switch;
step 911: after the switch receives the request message, if the switch ID of the switch is equal to the switch ID of the destination node ID of the request message, step 913 is executed, otherwise step 912 is executed;
step 912: the switch selects an interface with an interface ID equal to the first element of the set of paths in the request message payload, then deletes the first element from the set of paths in the request message payload, sends the request message from the selected interface, and performs step 911;
step 913: the switch checks the distribution list, selects a distribution list item, the node ID of the distribution list item is equal to the destination node ID of the request message, and then sends the request message from the interface identified by the interface ID field value of the distribution list item; after receiving the request message, the mobile node M5 sends a response message, where the response message includes a source node ID, a destination node ID and response data, where the source node ID is equal to the destination node ID in the received request message, and the destination node ID is equal to the source node ID in the received request message; after receiving the response message, switch SW5 associated with mobile node M5 selects a controller routing table entry, adds the set of paths in the controller routing table entry to the payload of the response message, switch SW5 selects an interface having an interface ID equal to the first element of the set of paths in the payload of the response message, deletes the first element from the set of paths in the payload of the response message, and sends the response message from the selected interface;
step 914: after receiving the response message, the controller C5 checks the controller routing table, selects a controller routing table entry, the controller ID field of the controller routing table entry is equal to the controller ID of the destination node ID of the response message, adds the path set of the controller routing table entry to the response message, the controller C5 selects an interface, the interface ID of the interface is equal to the first element of the path set in the response message payload, then deletes the first element from the path set in the response message payload, and sends the response message from the selected interface;
step 915: after the other controllers except the controller C5 in step 914 receive the response message, if the controller ID of the destination node ID of the response message is equal to the controller ID of the controller, perform step 917, otherwise perform step 916;
step 916: the controller selects an interface having an interface ID equal to the first element of the set of paths in the response message payload, then deletes the first element from the set of paths in the response message payload, sends the response message from the selected interface, and performs step 915;
step 917: the controller checks the routing list, selects a routing list item, the switch ID field value of the routing list item is equal to the switch ID of the destination node ID of the response message, adds the path set of the routing list item into the response message load, and sends the response message from the interface connected with the switch;
step 918: after the switch receives the response message, if the switch ID of the destination node ID of the response message is equal to the switch ID of the switch, execute step 920, otherwise execute step 919;
step 919: the switch selects an interface with an interface ID equal to the first element of the set of paths in the response message payload, removes the first element from the set of paths in the response message payload, sends the response message from the selected interface, step 918;
step 920: the switch checks the distribution list, selects a distribution list item, the node ID of the distribution list item is equal to the destination node ID of the response message, and then sends the response message from the interface identified by the interface ID field value of the distribution list item; after receiving the response message, the mobile node M1 saves the data in the response message;
step 921: and (6) ending.
Example 1
Based on the simulation parameters in table 1, this embodiment simulates a reliable software-defined network implementation method in the present invention, and the performance analysis is as follows: when the transmission quantity of the network data is small, the delay of the mobile node for acquiring the data is low, and when the transmission quantity of the network data is large, the delay of the mobile node for acquiring the data is high; the average delay for the network to acquire data is 1.57 s.
TABLE 1 simulation parameters
The present invention provides a reliable software-defined network implementation method, and the method and the way to implement the technical solution are many, and the above description is only the preferred embodiment of the present invention, it should be noted that, for those skilled in the art, many modifications and embellishments can be made without departing from the principle of the present invention, and these modifications and embellishments should also be regarded as the protection scope of the present invention. The components not specified in this embodiment can be implemented by the prior art.
Claims (1)
1. A reliable software defined network implementation method, wherein the network comprises a controller and a switch; one controller with unique coordinates and one switch with unique coordinates; a controller is uniquely identified by a controller ID, the controller ID being equal to the coordinates of the controller; a switch is uniquely identified by a switch ID, which is equal to the coordinates of the switch; the controllers are distributed in the network, the network is constructed into more than two domains, one domain is composed of one controller and more than two switches, and the switch in one domain is closest to the controller in the same domain in all the controllers in the network;
each controller or switch is configured with more than two interfaces, each interface is uniquely identified by an interface ID, and the interface ID is configured in advance; one controller is connected with one interface of one switch in the domain, and the other interfaces of the switch are connected with other controller links, wherein the switch is called a main switch;
each switch stores a controller table, and a controller table item is composed of a controller ID domain and a path set domain; the controller executes the following steps to establish a controller table entry:
step 101: starting;
step 102: the controller sends a release message from an interface connected with the switch, the load of the release message is a path set and the ID of the controller, and the path set is an empty set;
step 103: after the switch receives the publish message from its own interface f1, if the switch is closest to the controller ID in the received publish message load, that is, belongs to the domain where the controller identified by the controller ID is located, then step 104 is executed, otherwise step 108 is executed;
step 104: the switch receiving the publish message from interface f1 adds interface f1 to the path set of the publish message as the first element of the path set; if the controller table of the switch is empty, executing step 105, otherwise executing step 106;
step 105: the switch creates a controller entry, the controller ID field value of the controller entry is set to the controller ID in the publish message, the path set is set to the path set in the publish message payload, the switch routes the publish message from an interface other than interface f1, execute step 103;
step 106: the switch judges whether the number of the path set elements of the table entry of the controller is larger than the number of the path set elements in the received release message load, if so, the step 107 is executed, otherwise, the step 108 is executed;
step 107: the switch sets the path set of the controller table entry as the path set in the publish message payload, the switch routes the publish message from an interface other than interface f1, step 103 is performed;
step 108: finishing;
a mobile node is uniquely identified by a node ID, the node ID comprises three parts, namely a controller ID, a switch ID and a device ID, and the device ID is a hardware ID of the mobile node and has network uniqueness; the hardware ID of a mobile node does not change; a mobile node configures a home node ID and a temporary node ID; each switch maintains an address table, each address table item comprises a node ID domain, a type domain, an interface ID domain and a life cycle domain, wherein when the type domain value is 0, the node ID is indicated as a home node ID, and when the type domain value is 1, the node ID is indicated as a temporary node ID;
if the life cycle attenuation of one address table entry is 0, deleting the address table entry;
after the mobile node M1 is activated, it associates with the switch SW1, the controller of the domain of the switch SW1 is C1, and the mobile node M1 performs the following steps to obtain the home node ID:
step 201: starting;
step 202: the mobile node M1 sends a home request message, and the load of the home request message is the own equipment ID and the life cycle value;
step 203: after receiving the home request message from the interface f2 of the switch SW1, a node ID is constructed, the controller ID of the node ID is the controller ID of the controller C1, the switch ID is the switch ID of the switch SW, and the device ID is the device ID in the home request message; the switch SW1 creates an address table entry, the node ID field value of the address table entry is the constructed node ID, the type field value is 0, the interface ID is f2, and the life cycle field value is the life cycle value in the load of the received home request message; the switch SW1 sends a home response message from interface f2, the load of the home response message is the constructed node ID;
step 204: after receiving the home response message, the mobile node M1 sets the node ID in the load as its own home node ID;
step 205: finishing;
after the mobile node M1 obtains the home node ID, if the controller of the domain in which the switch SW4 is located is C4 in association with the switch SW4, the mobile node M1 performs the following steps to obtain the temporary node ID:
step 301: starting;
step 302: the mobile node M1 sends a temporary request message, the message load is its own device ID and lifecycle value;
step 303: after receiving the temporary request message from the interface f3 of the switch SW4, constructing a node ID, where the controller ID of the node ID is the controller ID of the controller C4, the switch ID is the switch ID of the switch SW, and the device ID is the device ID in the temporary request message; the switch SW4 creates an address table entry, the node ID field value of which is the constructed node ID, the type field value is 1, the interface ID is f3, and the lifecycle field value is the lifecycle value in the load of the received temporary request message; the switch SW4 sends a provisional response message from the interface f3, the payload of the provisional response message being the constructed node ID;
step 304: after receiving the temporary response message, the mobile node M1 sets the node ID in the load as its own temporary node ID;
step 305: finishing;
each switch comprises a routing table, the table name of the routing table is the coordinate of the switch, and each routing table item comprises a switch ID domain and a path set domain; if the controller of the domain in which the switch SW1 is located is C1, the following steps are performed to establish a routing table:
step 401: starting;
step 402: the switch sends a routing message, and the load of the routing message is the coordinate of the controller C1, the coordinate of the switch and the path set; the set of paths is null;
step 403: after the switch receives the routing message from the interface f4, if the coordinate of the switch is closest to the controller C1 in all the controllers, the step 404 is executed, otherwise, the step 410 is executed;
step 404: the switch adds the interface f4 to the path set of the routing message and the interface f4 is used as the first element of the path set, if one interface of the switch is connected with the controller, step 406 is executed, otherwise, step 405 is executed;
step 405: the switch sends the routing message from all interfaces except interface f4, and step 403 is executed;
step 406: the switch checks the routing table, if a routing table entry exists, the switch ID field value of the routing table entry is equal to the coordinate in the routing message, step 408 is executed, otherwise step 407 is executed;
step 407: the switch creates a routing table entry, the switch ID field value of which is equal to the coordinate in the routing message, and the path set field value is equal to the path set in the routing message, go to step 410;
step 408: the switch selects a routing table item, the switch ID field value of the routing table item is equal to the coordinate in the routing message, if the number of the path set elements of the routing table item is greater than the number of the path set elements in the routing message, step 409 is executed, otherwise step 410 is executed;
step 409: the switch selects a routing table item, the switch ID field value of the routing table item is equal to the coordinate in the routing message, and the path set of the routing table item is updated to the path set in the routing message;
step 410: finishing;
if the switch SW3 is the master switch and is connected to the controller C3, the following steps are performed to perform the uploading operation:
step 501: starting;
step 502: the switch SW3 builds an upload message, and the load of the upload message is the routing table of the switch SW 3; the switch SW3 selects an interface which is connected to the controller C3 and then sends an upload message from the interface;
step 503: after the controller receives the uploading message, the controller stores a routing table in the uploading message load;
step 504: finishing;
each controller comprises a controller routing table, the name of the controller routing table is the coordinate of the controller, and each controller routing table item comprises a controller ID field and a path set field; the controller executes the following steps to establish a controller routing table:
step 601: starting;
step 602: the controller sends a release message from all the interfaces except the interface connected with the switch, and the load of the release message is the coordinate and path set of the controller; the set of paths is null;
step 603: after other controllers except the controller sending the publish message in step 602 receive the publish message from its own interface f6, add interface f6 to the path set of the publish message and interface f6 as the first element of the path set, look up the controller routing table, if there is a controller routing table entry whose controller ID field value is equal to the coordinates in the publish message, execute step 605, otherwise execute step 604;
step 604: the controller receiving the publish message from interface f6 creates a controller routing table entry having a controller ID field value equal to the coordinates in the received publish message and a path set field value equal to the path set in the publish message; then sending the publish message from all interfaces except interface f6 and the interface connected to the switch, performing step 603;
step 605: selecting a controller routing table entry from the controller receiving the publish message from the interface f6, where the controller ID field value of the controller routing table entry is equal to the coordinate in the publish message, if the number of elements of the path set of the controller routing table entry is greater than the number of elements of the path set in the publish message, executing step 606, otherwise executing step 607;
step 606: the controller selects a controller routing table entry whose controller ID field value is equal to the coordinate in the release message, updates the path set of the controller routing table entry to the path set in the release message, and then sends the release message from all interfaces except the interface f6 and the interface connected to the switch, and performs step 603;
step 607: finishing;
maintaining a mapping table at each controller, wherein each mapping table item comprises a home node ID domain, a temporary node ID domain and a life cycle domain, the mobile node M1 is located in the domain O1, the controller of the domain O1 is C1, the switches SW1 and SW2 are located in the domain O1, and under the condition that the mobile node M1 is associated with the switch SW1, if the position of the mobile node M1 is moved, the mobile node M1 is associated with the switch SW2, the following intra-domain updating steps are executed:
step 701: starting;
step 702: the mobile node M1 executes the steps 301-305 to obtain the temporary node ID from the switch SW2, the mobile node M1 sends an update message, and the load of the update message is the home node ID and the temporary node ID of the mobile node M1;
step 703: after receiving the update message, switch SW2 looks at the controller table entry, adds the path set of the controller table entry to the load of the update message, selects an interface whose interface ID is equal to the first element of the path set in the load of the update message, then deletes the first element from the path set in the load of the update message, and sends the update message from the selected interface;
step 704: judging whether the switch or the controller C1 receives the update message, if the switch is the switch, executing step 705, otherwise executing step 706;
step 705: after the switch receives the update message, the switch selects an interface whose interface ID is equal to the first element of the path set in the update message load, then the switch deletes the first element from the path set in the update message load, sends the update message from the selected interface, and executes step 704;
step 706: after receiving the update message, the controller C1 checks the mapping table, and if there is a mapping table entry whose home node ID is equal to the home node ID in the update message, updates the temporary node ID of the mapping table entry to the temporary node ID in the update message; otherwise, the controller C1 creates a mapping table entry having a home node ID equal to the home node ID in the update message and a temporary node ID equal to the temporary node ID in the update message;
step 707: finishing;
under the condition that the mobile node M1 is located in the domain O1, the controller of the domain O1 is C1, the switch SW1 is located in the domain O1, the switch SW3 is located in the domain O3, the controller of the domain O3 is C3, and the mobile node M1 is associated with the switch SW1, if the mobile node M1 is moved to be associated with the switch SW3, the following inter-domain updating steps are performed:
step 801: starting;
step 802: the mobile node M1 executes the steps 301-305 to obtain the temporary node ID from the switch SW3, the mobile node M1 sends an update message, and the load of the update message is the home node ID and the temporary node ID of the mobile node M1;
step 803: after the switch SW3 receives the update message, look at the controller table entry, add the path set of the controller table entry to the load of the update message, the switch SW3 selects an interface whose interface ID is equal to the first element of the path set in the update message load, then delete the first element from the path set in the update message load, and send the update message from the selected interface;
step 804: judging whether the switch or the controller C1 receives the update message, if the switch is the switch, executing step 805, otherwise, executing step 806;
step 805: after receiving the update message, the switch selects an interface whose interface ID is equal to the first element of the path set in the update message load, then deletes the first element from the path set in the update message load, sends the update message from the selected interface, and executes step 804;
step 806: after receiving the update message, the controller C1 checks the controller routing table, selects a controller routing table entry, the controller ID field value in the controller routing table entry is equal to the controller ID in the home node ID in the update message, adds the path set of the controller routing table entry to the update message, selects an interface whose interface ID is equal to the first element of the path set in the update message load, then deletes the first element from the path set in the update message load, and sends the update message from the selected interface;
step 807: after the other controllers except the controller C1 in step 806 receive the update message, if the controller ID in the home node ID of the update message is equal to the controller ID of the controller, perform step 809, otherwise perform step 808;
step 808: after receiving the update message, the controller selects an interface with an interface ID equal to the first element of the path set in the update message payload, deletes the first element from the path set in the update message payload, sends the update message from the selected interface, and performs step 807;
step 809: the controller checks the mapping table, and if a mapping table item exists and the home node ID of the mapping table item is equal to the home node ID in the updating message, the temporary node ID of the mapping table item is updated to the temporary node ID in the updating message; otherwise, the controller creates a mapping table item, the home node ID of the mapping table item is equal to the home node ID in the updating message, and the temporary node ID is equal to the temporary node ID in the updating message;
step 810: finishing;
under the condition that the mobile node M1 is located in the domain O1, the controller of the domain O1 is C1, the switch SW1 is located in the domain O1, the mobile node M1 is associated with the switch SW1, the mobile node M5 is located in the domain O5, the controller of the domain O5 is C5, the switch SW5 is located in the domain O5, and the mobile node M5 is associated with the switch SW5, the mobile node M1 and the mobile node M5 realize communication by the following procedures:
step 901: starting;
step 902: the mobile node M1 sends a request message, the load of the request message is a source address and a destination address, the source address is the temporary node ID of the mobile node M1, and the destination address is the home node ID of the mobile node M5; after the switch SW1 receives the request message, it looks at the controller table entry, adds the path set of the controller table entry to the load of the update message, the switch SW1 selects an interface whose interface ID is equal to the first element of the path set in the load of the request message, then deletes the first element from the path set in the load of the request message, and sends the request message from the selected interface;
step 903: judging whether the switch or the controller C1 receives the update message, if the switch executes the step 904, otherwise, executing the step 905;
step 904: after receiving the request message, the switch selects an interface whose interface ID is equal to the first element of the path set in the request message load, then deletes the first element from the path set in the request message load, sends the request message from the selected interface, and executes step 903;
step 905: after receiving the request message, the controller C1 checks the controller routing table, selects a controller routing table entry, the controller ID field value of which is equal to the controller ID of the destination node ID of the request message, the controller C1 adds the path set of the controller routing table entry to the request message, selects an interface whose interface ID is equal to the first element of the path set in the request message payload, then deletes the first element from the path set in the request message payload, and sends the request message from the selected interface;
step 906: after the other controllers except the controller C1 in step 905 receive the request message, if their controller IDs are equal to the controller ID of the destination node ID in the request message, execute step 908, otherwise execute step 907;
step 907: after receiving the request message, the controller selects an interface whose interface ID is equal to the first element of the path set in the request message load, then deletes the first element from the path set in the request message load, sends the request message from the selected interface, and executes step 906;
step 908: the controller checks the mapping table, if there is a mapping table entry whose home node ID is equal to the destination node ID of the request message, then step 909 is executed, otherwise step 910 is executed;
step 909: the controller selects a mapping table item, the home node ID of the mapping table item is equal to the destination node ID in the request message, the controller updates the destination node ID in the request message to the temporary node ID in the mapping table item, the controller looks up the controller routing table, the controller selects a controller routing table item, the controller ID field value of the controller routing table item is equal to the controller ID of the destination node ID of the request message, the path set of the controller routing table item is added into the request message, the controller selects an interface, the interface ID of the interface is equal to the first element of the path set in the request message load, then the first element is deleted from the path set in the request message load, the request message is sent from the selected interface, and step 906 is executed;
step 910: the controller checks the routing list, selects a routing list item, the switch ID domain value of the routing list item is equal to the switch ID value of the destination node ID in the request message, adds the path set of the routing list item into the request message load, and sends the request message from the interface connected with the switch;
step 911: after the switch receives the request message, if the switch ID of the switch is equal to the switch ID of the destination node ID of the request message, step 913 is executed, otherwise step 912 is executed;
step 912: the switch selects an interface with an interface ID equal to the first element of the set of paths in the request message payload, then deletes the first element from the set of paths in the request message payload, sends the request message from the selected interface, and performs step 911;
step 913: the switch checks the distribution list, selects a distribution list item, the node ID of the distribution list item is equal to the destination node ID of the request message, and then sends the request message from the interface identified by the interface ID field value of the distribution list item; after receiving the request message, the mobile node M5 sends a response message, where the response message includes a source node ID, a destination node ID and response data, where the source node ID is equal to the destination node ID in the received request message, and the destination node ID is equal to the source node ID in the received request message; after receiving the response message, switch SW5 associated with mobile node M5 selects a controller routing table entry, adds the set of paths in the controller routing table entry to the payload of the response message, switch SW5 selects an interface having an interface ID equal to the first element of the set of paths in the payload of the response message, deletes the first element from the set of paths in the payload of the response message, and sends the response message from the selected interface;
step 914: after receiving the response message, the controller C5 checks the controller routing table, selects a controller routing table entry, the controller ID field of the controller routing table entry is equal to the controller ID of the destination node ID of the response message, adds the path set of the controller routing table entry to the response message, the controller C5 selects an interface, the interface ID of the interface is equal to the first element of the path set in the response message payload, then deletes the first element from the path set in the response message payload, and sends the response message from the selected interface;
step 915: after the other controllers except the controller C5 in step 914 receive the response message, if the controller ID of the destination node ID of the response message is equal to the controller ID of the controller, perform step 917, otherwise perform step 916;
step 916: the controller selects an interface having an interface ID equal to the first element of the set of paths in the response message payload, then deletes the first element from the set of paths in the response message payload, sends the response message from the selected interface, and performs step 915;
step 917: the controller checks the routing list, selects a routing list item, the switch ID field value of the routing list item is equal to the switch ID of the destination node ID of the response message, adds the path set of the routing list item into the response message load, and sends the response message from the interface connected with the switch;
step 918: after the switch receives the response message, if the switch ID of the destination node ID of the response message is equal to the switch ID of the switch, execute step 920, otherwise execute step 919;
step 919: the switch selects an interface with an interface ID equal to the first element of the set of paths in the response message payload, removes the first element from the set of paths in the response message payload, sends the response message from the selected interface, step 918;
step 920: the switch checks the distribution list, selects a distribution list item, the node ID of the distribution list item is equal to the destination node ID of the response message, and then sends the response message from the interface identified by the interface ID field value of the distribution list item; after receiving the response message, the mobile node M1 saves the data in the response message;
step 921: and (6) ending.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810235128.4A CN108449275B (en) | 2018-03-21 | 2018-03-21 | Reliable software defined network implementation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810235128.4A CN108449275B (en) | 2018-03-21 | 2018-03-21 | Reliable software defined network implementation method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108449275A CN108449275A (en) | 2018-08-24 |
CN108449275B true CN108449275B (en) | 2020-07-31 |
Family
ID=63196044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810235128.4A Active CN108449275B (en) | 2018-03-21 | 2018-03-21 | Reliable software defined network implementation method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108449275B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411746A (en) * | 2015-08-03 | 2017-02-15 | 上海宽带技术及应用工程研究中心 | SDN network data transmission system based on Vlan and method thereof |
CN106453081A (en) * | 2016-10-19 | 2017-02-22 | 常熟理工学院 | Data communication method based on vehicular cloud |
CN107333313A (en) * | 2017-08-28 | 2017-11-07 | 常熟理工学院 | A kind of reliable intelligent car networking route implementation method |
CN107347021A (en) * | 2017-07-07 | 2017-11-14 | 西安交通大学 | One kind is based on SDN method for reliable transmission |
WO2018015425A1 (en) * | 2016-07-19 | 2018-01-25 | Schneider Electric Industries Sas | Time-sensitive software defined networking |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9806983B2 (en) * | 2015-09-14 | 2017-10-31 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | System and method for control flow management in software defined networks |
-
2018
- 2018-03-21 CN CN201810235128.4A patent/CN108449275B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411746A (en) * | 2015-08-03 | 2017-02-15 | 上海宽带技术及应用工程研究中心 | SDN network data transmission system based on Vlan and method thereof |
WO2018015425A1 (en) * | 2016-07-19 | 2018-01-25 | Schneider Electric Industries Sas | Time-sensitive software defined networking |
CN106453081A (en) * | 2016-10-19 | 2017-02-22 | 常熟理工学院 | Data communication method based on vehicular cloud |
CN107347021A (en) * | 2017-07-07 | 2017-11-14 | 西安交通大学 | One kind is based on SDN method for reliable transmission |
CN107333313A (en) * | 2017-08-28 | 2017-11-07 | 常熟理工学院 | A kind of reliable intelligent car networking route implementation method |
Non-Patent Citations (2)
Title |
---|
Addressing一B ased Routing Optimization for 6LoWPAN WSN in Vehicular Scenario;Xiaonan Wang等;《IEEE》;20160515;全文 * |
基于定位信息的下一代全IP无线传感器网络研究;王晓喃等;《电子科技大学学报》;20120930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108449275A (en) | 2018-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112448875B (en) | Communication processing method, communication processing device and system | |
CN104767666B (en) | Virtual expansible local area network tunneling termination establishes tunnel approach and equipment | |
CN104243318A (en) | MAC (media access control) address learning method and MAC address learning device in VXLAN (virtual extensible local area network) | |
US11336513B2 (en) | Network nodes with intelligent integration | |
CN109246785B (en) | Method for realizing future mobile network | |
CN109150723B (en) | Routing communication implementation method of Internet of things | |
CN109088778B (en) | Data communication implementation method for future mobile network | |
CN104247339A (en) | Home network packet delivery | |
CN101610560B (en) | Discovery method of equipment in wireless self-organization network | |
CN103929377A (en) | Wired network and wireless network combined dispatching method and system and related devices | |
TWI761733B (en) | Network path selection method and network node device using the same | |
JP5433627B2 (en) | Switching device and switching device aging method | |
CN109089241B (en) | Data communication implementation method for vehicle-mounted network | |
CN108512700B (en) | Data communication implementation method of software defined network | |
CN109768893B (en) | High-efficiency big data network data communication implementation method | |
CN101827455B (en) | Method for automatically establishing link connection, device and base station | |
CN108449275B (en) | Reliable software defined network implementation method | |
CN109510717B (en) | Method, device, equipment and storage medium for acquiring information of node equipment | |
CN108494595B (en) | High-efficiency new-generation big data network implementation method | |
CN108462761B (en) | Efficient sensing network address configuration method | |
CN107949000B (en) | Low-delay opportunistic network implementation method | |
CN108449443B (en) | Method for realizing address configuration of all-IP wireless network | |
CN108429673B (en) | A kind of quick Future Data network implementation approach | |
CN108462623B (en) | High-efficiency data center network implementation method | |
CN105792169B (en) | Method for selecting gateway and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |