A method for constructing a virtual service network based on software-defined network

Through the virtual service network construction method based on software-defined network, the problems of inflexible deployment and hardware dependence in VLAN and VXLAN technologies are solved, simplification of network structure and flexible isolation and combination of services are achieved, and transmission performance and management efficiency are improved.

CN116016164BActive Publication Date: 2025-08-01SHANGMI XINAN (BEIJING) TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211687582.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-27
Publication Date
2025-08-01
Estimated Expiration
2042-12-27

AI Technical Summary

Technical Problem

The existing VLAN and VXLAN technologies have problems such as inflexible deployment, high hardware requirements and network management rights in service isolation.

Method used

Using a virtual service network construction method based on a software-defined network, a virtual link is built in the actual communication link, and a network node module and a virtual service network control node module are used for network management, so as to achieve flexible isolation and combination of services.

Benefits of technology

Simplify network structure, improve transmission performance, reduce hardware dependence, reduce network operation and maintenance pressure, realize flexible isolation and combination of services, and facilitate network automation management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116016164B_ABST
    Figure CN116016164B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for constructing a virtual service network based on software-defined network, which is used to construct a virtual link for transmitting service data in an actual communication link. The method includes the following types of modules: Network node module: This module communicates with other nodes in the virtual network by constructing a virtual link in the actual network; Virtual service network control node module: Used to control the control behavior in the network node. Multiple virtual service network control node modules can form a control cluster to improve performance and reliability; Actual communication link: The communication link that actually bears communication. Network administrators can use the present invention to partition the network to achieve isolation and partitioning of services. The technical solution of the present invention focuses more on the construction of the service network on the user side, no longer depends on network management permissions, is more convenient to use, and has a broader application scenario.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for constructing a service network, and particularly to a method for constructing a virtual service network based on software-defined network, belonging to the field of computer communication. Background Art

[0002] Currently, the service isolation implemented by commonly used VLAN and VXLAN technologies has good performance, but there are problems such as inflexible deployment, high hardware requirements, and network management rights. Summary of the Invention

[0003] In order to solve the deficiencies of the above technologies, the present invention provides a method for constructing a virtual service network based on software-defined network.

[0004] In order to solve the above technical problems, the technical solution adopted by the present invention is: a method for constructing a virtual service network based on software-defined network, which is used to construct a virtual link for transmitting service data in an actual communication link. The method includes the following types of modules:

[0005] The network node module is the service node actually performing network communication and the virtual service network client running thereon. This module communicates with other nodes in the virtual network by constructing a virtual link in the actual network;

[0006] The virtual service network control node module: The virtual service network control node module is the node sending control data to the network node module and the virtual network control end running thereon, and is used to control the communication behavior of network nodes in the virtual network;

[0007] The actual communication link: The communication link actually carrying communication.

[0008] Preferably, the method includes the following steps:

[0009] Step S1, an administrator adds virtual service network information in the control node cluster to establish a virtual service network;

[0010] Step S2, the client running on the network node sends a virtual network joining request to the control node or the control node cluster to join the virtual network established in Step S1;

[0011] Step S3, after the control node or the control node cluster receives the joining request sent by the network node in Step S2, it approves or rejects the joining request of the network node according to the preset rules. If the request is approved, the node is added to the target virtual network, and network configuration information is returned;

[0012] Step S4. After receiving the network configuration information returned in step S3, the client running on the network node in step S3 creates a virtual network card in the operating system of the network node to send and receive virtual network data, and on the actual communication link, establishes a logical virtual network communication link with other nodes in the virtual network and starts virtual network communication with them;

[0013] Step S5. According to the actual service requirements, repeat the operations in the above steps S1 - S4 to complete the construction of the service network.

[0014] Preferably, in step S1, the virtual network administrator manages and maintains the virtual service network by configuring the network information table in the control node or the control node cluster, and this table is used to record the virtual networks carrying services;

[0015] The network information table contains the following information: network ID, network name, network approval policy, network configuration information, and each group of the above information is used to describe the attributes of a virtual service network;

[0016] The network ID and network name are used to distinguish this network from other service virtual networks;

[0017] The network approval policy is used to describe how this network approves nodes to join;

[0018] The network configuration information is used to configure the parameters of the virtual communication link and the virtual network card in the network, and it also contains service configuration information for configuring the services on this network node.

[0019] Preferably, in step S2, when a certain device needs to join the virtual network described in step S1, the network node administrator needs to install a virtual network client on this device to become a network node;

[0020] The network node administrator uses the client to send a network join request to the control node or the control node cluster to apply to join this virtual network;

[0021] The network join request includes the following content:

[0022] Local ID, public key: used to distinguish this network node from other nodes and implement user authentication;

[0023] Target virtual network ID or name: used to describe the network created in step S1 to join;

[0024] Local actual communication link information: used to construct a virtual link on the actual link;

[0025] Request description information: used to meet the approval conditions;

[0026] Other control information: including verification and signature information.

[0027] Preferably, in step S3, when the join request does not meet the approval conditions, the control node sends a rejection response to the network node;

[0028] When the join request meets the approval conditions, the control node sends network configuration information to the network node according to the configuration information of the virtual network to configure the client parameters running on the network node, so as to establish a logical virtual communication link on the actual communication link of the local machine;

[0029] When the approval condition is manual approval, the virtual network administrator needs to manually add the node information to be approved to the network node list; when the approval condition is automatic, the control node extracts the specified field content of the request description information and compares it with the network approval policy to obtain a conclusion on whether to approve.

[0030] Preferably, in step S3, when the control node or the control node cluster receives the join request in step S2, it first checks the legality of the join request;

[0031] When the join request is an illegal request, the request information is recorded for subsequent analysis;

[0032] If the join request is a legal request, the corresponding network information is queried in the network information table in the control node or the control node cluster according to the target virtual network ID or name;

[0033] If the network information cannot be queried, an error response indicating that the target network does not exist is returned, and the request information is recorded for subsequent analysis;

[0034] If the network information is queried, the network approval policy in the network information in step S1 is compared with the request description information of the network join request in step S2;

[0035] If the request does not meet the join conditions, an error response indicating that the network join fails is returned, the reason for not meeting the conditions is given, and the request information is recorded for subsequent analysis;

[0036] If the request meets the join conditions, network configuration parameters are generated according to the network configuration information. After the network configuration parameters are generated, the control node stores the local machine ID, public key, target virtual network ID, local actual communication link information, and network configuration information in the request into the network node list in the control node to complete the addition of the communication node. After the addition, the parameters are added to the request response and sent back to the client;

[0037] Among them, the request response includes the network configuration information of the node, the initial routing table information, and the neighbor information exchange configuration.

[0038] Preferably, in step S3, each piece of information in the network node list is used to describe a virtual network joined by a certain communication node. When a certain communication node joins multiple networks, there will be multiple records, which specifically include the following content:

[0039] Communication node ID / public key: used to distinguish this network node from other nodes and implement authentication;

[0040] Target network ID: used to describe a target virtual network joined by this communication node;

[0041] Node network configuration information: used to describe the network configuration information of this communication node in this virtual network;

[0042] Actual communication link information: used to describe how other nodes establish a connection with this node through the actual communication link;

[0043] The list of nodes to be approved has the same structure as the network node list. The nodes to be approved will be removed from this table after being approved / denied.

[0044] Preferably, in step S4, when the network node that sends the network join request receives the request response, it configures the virtual network card according to the parameters in the request response, and listens on the network port on the actual link waiting for a connection;

[0045] After the network node configures the virtual network card, it creates a virtual routing table on the local machine;

[0046] The above virtual routing table is used to determine how a virtual network data is sent to the target network node. Each piece of information in this table is used to describe another network node in this virtual network, and specifically includes the following content:

[0047] Communication node ID / public key: used to distinguish this network node from other nodes and implement authentication;

[0048] Target network ID: used to describe a target virtual network joined by this communication node;

[0049] Node network configuration information: used to describe the network configuration information of this communication node in this virtual network;

[0050] Actual communication link information: used to describe how other nodes establish a connection with this node through the actual communication link;

[0051] When a virtual network data needs to be sent to other nodes, the program needs to find the corresponding actual link information according to the network data target address / communication node ID, and send this data to the peer through the actual link. After the data is routed by the peer, it is further sent to the destination.

[0052] Preferably, in step S4, after the virtual routing table is created, the network node requests the routing table content from the control node in order to establish the virtual network link and maintain the route;

[0053] The routing table request contains the local ID / public key for authentication and the local latest actual link;

[0054] After receiving the routing table request, the control node or control node cluster identifies the network node identity based on the local ID / public key in the request, queries the visibility of the node in the corresponding virtual network based on the local ID, updates the actual link information of the node, and then returns the routing table based on the visibility;

[0055] After receiving the routing table returned by the request, the network node updates the local routing table and establishes a connection to construct a virtual link or removes an established virtual link based on the changes in the actual link information.

[0056] Preferably, in step S4, the virtual network card and the routing table constitute a virtual switch, and the virtual switches can transfer routing tables to each other to achieve decentralized routing table maintenance. The transfer process includes the following steps:

[0057] S41. After the virtual routing table is created, the routing table is periodically received from the control node according to the configuration;

[0058] S42. Listen for connection requests on the actual link, establish a virtual link with the virtual switch of the node through TCP, UDP, virtual circuit, or serial link based on the actual link information of a node in the routing table, and exchange routing table information according to the settings;

[0059] S43. After receiving the routing table, promptly establish a virtual link with the node that has not established a virtual link;

[0060] S44. When other applications in the operating system need to send data to a corresponding node in the virtual network, the data is first sent to the virtual network card. After receiving the data, the virtual network card queries the corresponding virtual link in the routing table according to the target address of the data.

[0061] When a virtual link is found, the data is handed over to the virtual link, which then sends the data to the target virtual switch through the actual link. The target virtual switch then delivers the data to the peer virtual network card or to the next-hop virtual switch.

[0062] S45. A virtual network card is established in the operating system by the network node client. One virtual network card corresponds to one virtual network and is used to receive data sent to the virtual network by applications in the operating system and deliver data sent to the node in the virtual network to the operating system.

[0063] The virtual network card only receives data destined for the virtual network in the operating system and ignores data destined for other networks. When the virtual network card receives data destined for other nodes in the virtual network, it selects the corresponding virtual communication link for transmission by querying the virtual routing table in the network node.

[0064] The present invention proposes a method for constructing a virtual service network based on software-defined networking, which realizes the ideas of software-defined Internet of Things, virtual local area network, zero-configuration network, network namespace, zero-trust network, and Overlay network in network service isolation. It can simplify the network structure, improve transmission performance, reduce hardware dependence, realize flexible isolation and combination of services, reduce the requirements for the network environment, reduce the work pressure of network operation and maintenance personnel, improve flexibility, and facilitate the realization of network automation management.

[0065] The present invention establishes a service network based on the existing network, and establishes a communication link and a control link in the actual communication link. However, different from traditional SDN (other patents and papers), in order to get rid of the dependence on hardware and actual network management rights, the present invention uses a software-defined method to implement a virtual software-defined network built on the actual network. Managers achieve isolation and division of services by dividing the network. The technical solution of the present invention focuses more on the construction of the service network on the user side, only requires node permissions, and no longer depends on network management permissions. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] Figure 1 It is a basic structure diagram of the virtual service network constructed by the present invention.

[0067] Figure 2 It is a specific flowchart for a client of the present invention to request to join the network.

[0068] Figure 3 It is a flowchart for a manager of the present invention to add a virtual network.

[0069] Figure 4 It is a flowchart for a network node module of the present invention to join the virtual service network.

[0070] Figure 5 It is a flowchart for a control node of the present invention to process a network join request.

[0071] Figure 6 It is a flowchart for a network node of the present invention to process network configuration.

[0072] Figure 7 It is a flowchart for a control node of the present invention to process a routing table request.

[0073] Figure 8 It is a flowchart for a network node of the present invention to process a routing table.

[0074] Figure 9 This is a flowchart for establishing a virtual link between network nodes of the present invention. Specific embodiments

[0075] The present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.

[0076] A method for constructing a virtual service network based on software-defined networking, which is used to construct a virtual link for transmitting service data in an actual communication link. This method includes the following types of modules:

[0077] The network node module is the service node actually performing network communication and the virtual service network client running thereon. This module communicates with other nodes in the virtual network by constructing a virtual link in the actual network;

[0078] The virtual service network control node module: The virtual service network control node module is the node that sends control data to the network node module and the virtual network control end running thereon, and is used to control the communication behavior of network nodes in the virtual network;

[0079] The actual communication link: The communication link actually carrying communication.

[0080] A method for constructing a virtual service network based on software-defined networking, which includes the following steps:

[0081] Step S1, the administrator adds virtual service network information in the control node cluster to establish a virtual service network;

[0082] The virtual network administrator manages and maintains the virtual service network by configuring the network information table in the control node or control node cluster. This table is used to record the virtual network carrying services; as Figure 3 shown, it is a flowchart for the administrator to add a virtual network.

[0083] The network information table contains the following information: network ID, network name, network approval policy, network configuration information. Each set of the above information is used to describe the attributes of a virtual service network;

[0084] The network ID and network name are used to distinguish this network from other service virtual networks;

[0085] The network approval policy is used to describe how this network approves nodes to join;

[0086] The network configuration information is used to configure the parameters of virtual communication links and virtual network cards in the network, and it also contains service configuration information for configuring the services on this network node.

[0087] Step S2: The client running on the network node sends a virtual network join request to the control node or control node cluster to join the virtual network established in Step S1; as Figure 2 shown.

[0088] When a device needs to join the virtual network described in Step S1, the network node administrator needs to install a virtual network client on the device to become a network node;

[0089] The network node administrator uses the client to send a network join request to the control node or control node cluster, and can apply to join the virtual network; as Figure 4 shown, it is the flowchart for the network node module to join the virtual service network.

[0090] The network join request includes the following content:

[0091] Local ID, public key: used to distinguish this network node from other nodes and implement user authentication;

[0092] Target virtual network ID or name: used to describe the network created in Step S1;

[0093] Local actual communication link information: used to construct a virtual link on the actual link;

[0094] Request description information: used to meet the approval conditions;

[0095] Other control information: including verification and signature information.

[0096] Step S3: After receiving the join request sent by the network node in Step S2, the control node or control node cluster approves or rejects the network node's request to join according to the preset rules. If the request is approved, the node is added to the target virtual network and network configuration information is returned;

[0097] When the join request does not meet the approval conditions, the control node sends a rejection response to the network node;

[0098] When the join request meets the approval conditions, the control node sends network configuration information to the network node according to the configuration information of the virtual network to configure the client parameters running on the network node, so as to establish a logical virtual communication link on the local actual communication link;

[0099] When the approval condition is manual approval, the virtual network administrator needs to manually add the node information to be approved to the network node list; when the approval condition is automatic, the control node extracts the specified field content of the request description information and compares it with the network approval policy to draw a conclusion on whether to approve.

[0100] After the control node or control node cluster receives the join request in step S2, it first checks the legality of the join request (such as verification, signature, data existence, validity); if Figure 5 As shown, it is the flowchart for the control node to process the network join request.

[0101] When the join request is an illegal request, the request information is recorded for subsequent analysis;

[0102] If the join request is a legal request, the corresponding network information is queried in the network information table of the control node or control node cluster according to the target virtual network ID or name;

[0103] If the network information cannot be queried, an error response indicating that the target network does not exist is returned, and the request information is recorded for subsequent analysis;

[0104] If the network information is queried, the network approval policy in the network information in step S1 is compared with the request description information of the network join request in step S2;

[0105] If the request does not meet the join conditions, an error response indicating that the network join fails is returned, the reason for not meeting the conditions is given, and the request information is recorded for subsequent analysis;

[0106] If the request meets the join conditions, network configuration parameters are generated according to the network configuration information (such as virtual network card MAC address, IP address, firewall configuration, routing table). After the network configuration parameters are generated, the control node stores the local ID, public key, target virtual network ID, local actual communication link information, and network configuration information in the network node list in the control node according to the request, completes the addition of the communication node, adds the parameters to the request response after the addition, and sends it back to the client;

[0107] Among them, the request response includes the network configuration information of this node, the initial routing table information, and the neighbor information exchange configuration.

[0108] Each piece of information in the network node list is used to describe a certain virtual network joined by a certain communication node. When a certain communication node joins multiple networks, there are multiple records, which specifically include the following content:

[0109] Communication node ID / public key: used to distinguish this network node from other nodes and implement authentication;

[0110] Target network ID: used to describe a target virtual network joined by this communication node;

[0111] Node network configuration information: used to describe the network configuration information of this communication node in this virtual network;

[0112] Actual communication link information: used to describe how other nodes establish connections with this node through the actual communication link;

[0113] The list of nodes to be approved has the same structure as the list of network nodes. Nodes to be approved will be removed from this table after being approved / denied.

[0114] Furthermore, the administrator can configure namespaces and namespace visibility in the network node list to achieve network visibility control.

[0115] Step S4: After the client running on the network node in step S3 receives the network configuration information returned in step S3, create a virtual network card in the operating system of the network node to send and receive virtual network data. On the actual communication link, establish a logical virtual network communication link with other nodes in this virtual network and start virtual network communication with them;

[0116] When the network node that issues the network join request receives the request response, configure the virtual network card according to the parameters in the request response, and listen for network ports on the actual link waiting for connections; as Figure 6 shown, it is a flowchart for a network node to process network configuration.

[0117] After the network node configures the virtual network card, create a virtual routing table on the local machine;

[0118] The above virtual routing table is used to determine how a virtual network data is sent to the target network node. Each piece of information in this table is used to describe another network node in this virtual network, and specifically includes the following content:

[0119] Communication node ID / public key: used to distinguish this network node from other nodes and implement authentication;

[0120] Target network ID: used to describe a target virtual network that this communication node joins;

[0121] Node network configuration information: used to describe the network configuration information of this communication node in this virtual network;

[0122] Actual communication link information: used to describe how other nodes establish connections with this node through the actual communication link.

[0123] When a virtual network data needs to be sent to other nodes, the program needs to find the corresponding actual link information according to the network data target address / communication node ID, send this data to the peer through the actual link, and after the data is routed by the peer, it is further sent to the destination.

[0124] After the virtual routing table is created, the network node requests the content of the routing table from the control node in order to establish a virtual network link and maintain routing; as Figure 7FIG. 1 is a flowchart of a control node processing a routing table request.

[0125] The routing table request contains the local ID / public key for authentication and the local latest actual link;

[0126] After receiving the routing table request, the control node or control node cluster identifies the network node identity based on the local ID / public key in the request, queries the visibility of the node in the corresponding virtual network based on the local ID, updates the actual link information of the node, and then returns the routing table based on the visibility;

[0127] After receiving the routing table returned by the request, the network node will update the local routing table and establish a connection to construct a virtual link (such as TCP / UDP / serial link / virtual circuit / virtual link, etc.) or remove the established virtual link according to the changes in the actual link information. Figure 8 As shown, this is the process of network node processing routing table

[0128] The virtual network card and routing table constitute a virtual switch. Virtual switches can transfer routing tables to each other to achieve decentralized routing table maintenance. The transfer process includes the following steps:

[0129] S41. After the virtual routing table is created, the routing table is periodically received from the control node according to the configuration;

[0130] S42, listen for connection requests on the actual link, establish a virtual link with the virtual switch of the node through TCP, UDP, virtual circuit, or serial link according to the actual link information of a node in the routing table, and exchange routing table information according to the settings; Figure 9 FIG. 1 is a flowchart of establishing a virtual link between network nodes.

[0131] S43. After receiving the routing table, promptly establish a virtual link with the node that has not established a virtual link;

[0132] S44. When other applications in the operating system need to send data to a corresponding node in the virtual network, the data is first sent to the virtual network card. After receiving the data, the virtual network card queries the corresponding virtual link in the routing table according to the target address of the data.

[0133] When a virtual link is found, the data is handed over to the virtual link, which then sends the data to the target virtual switch through the actual link. The target virtual switch then delivers the data to the peer virtual network card or to the next-hop virtual switch.

[0134] S45. The virtual network card is established by the network node client in the operating system. One virtual network card corresponds to one virtual network, and is used to receive the data sent by the applications in the operating system to the virtual network, and deliver the data sent to this node in the virtual network to the operating system.

[0135] The virtual network card only receives the data sent to the virtual network in the operating system and ignores the data sent to other networks. When the virtual network card receives the data sent to other nodes in the virtual network, it selects the corresponding virtual communication link to send by querying the virtual routing table in the network node.

[0136] Step S5. According to the actual business requirements, repeat the above operations of steps S1 - S4 to complete the construction of the business network. As Figure 1 shown, it is the constructed business network.

[0137] In the virtual software - defined network established through the above steps, the nodes run network programs, the nodes use the actual links to construct data links, build an internal virtual network, the communication between nodes (the construction of data links) is controlled by the network control node, each node establishes a control link with the network control node (group), the network control node (group) maintains the configuration unity, adopts the network connection graph mode, and sends the reachability information of each node to the nodes.

[0138] In the virtual software - defined network constructed in this technical solution, referring to the design of traditional virtual local area networks and switches, network switches are applied to the virtual software - defined network. Each node maintains a network configuration table, and the node relies on the configuration table to establish data links and send data. The node configuration table is constructed through the reachability information sent by the network control node and the adjacency information exchanged between nodes. Each time a software - defined network node registers a network with the control node, it creates a corresponding virtual switch and virtual network card. The virtual network card is used to connect the virtual switch and the network application program, and the virtual switch is used for communication between nodes.

[0139] The above embodiments are not limitations on the present invention, and the present invention is not limited to the above examples either. The changes, modifications, additions or substitutions made by those skilled in the art within the scope of the technical solution of the present invention also fall within the protection scope of the present invention.

Claims

1. A method for constructing a virtual service network based on software-defined network, characterized in that: This method is used to construct a virtual link for transmitting service data in an actual communication link, and this method is executed by the following modules: The network node module is the service node that actually conducts network communication and the virtual service network client running thereon. This module communicates with other nodes in the virtual network by constructing a virtual link in the actual network; The virtual service network control node module: The virtual service network control node module is the node that sends control data to the network node module and the virtual network control end running thereon, and is used to control the communication behavior of network nodes in the virtual network; The actual communication link: The communication link that actually bears communication; This method includes the following steps: Step S1, The administrator adds virtual service network information in the control node cluster to establish a virtual service network; Step S2, The client running on the network node sends a virtual network join request to the control node or the control node cluster to join the virtual network established in Step S1; Step S3, After the control node or the control node cluster receives the join request sent by the network node in Step S2, it approves or rejects the network node join request according to the preset rules. If the request is approved, the node is added to the target virtual network and network configuration information is returned; Step S4, After the client running on the network node in Step S3 receives the network configuration information returned in Step S3, it creates a virtual network card in the operating system of the network node to receive and send virtual network data. On the actual communication link, it establishes a logical virtual network communication link with other nodes in the virtual network and starts virtual network communication with them; Step S5, According to the actual service requirements, repeat the operations in the above Steps S1 - S4 to complete the construction of the service network.

2. The method for constructing a virtual service network based on software-defined network according to claim 1, characterized in that: In the said Step S1, the virtual network administrator manages and maintains the virtual service network by configuring the network information table in the control node or the control node cluster. This table is used to record the virtual network that bears services; The network information table contains the following information: network ID, network name, network approval policy, network configuration information. Each group of the above information is used to describe the attributes of a virtual service network; The network ID and network name are used to distinguish this network from other service virtual networks; The network approval policy is used to describe how this network approves node joining; The network configuration information is used to configure the parameters of the virtual communication link and the virtual network card in the network, and it also contains service configuration information, which is used to configure the services on this network node.

3. The method for constructing a virtual service network based on software-defined network according to claim 1, wherein: In the said Step S2, when a certain device needs to join the virtual network described in Step S1, the network node administrator needs to install a virtual network client on this device to become a network node; The network node administrator uses the client to send a network join request to the control node or the control node cluster to apply to join this virtual network; The network join request includes the following contents: Local machine ID, public key: used to distinguish this network node from other nodes and implement user authentication; Target virtual network ID or name: used to describe the network created in Step S1 to be joined; Local machine actual communication link information: used to construct a virtual link on the actual link; Request description information: used to meet the approval conditions; Other control information: including verification and signature information.

4. The method for constructing a virtual service network based on software-defined network according to claim 1, characterized in that: In step S3, when the join request does not meet the approval conditions, the control node sends a rejection response to the network node; When the join request meets the approval conditions, the control node sends network configuration information to the network node according to the configuration information of the virtual network to configure the client parameters running on the network node, so as to establish a logical virtual communication link on the actual communication link of the local machine; When the approval condition is manual approval, the virtual network administrator needs to manually add the node information to be approved to the network node list; when the approval condition is automatic, the control node extracts the specified field content of the request description information and compares it with the network approval policy to obtain a conclusion on whether to approve.

5. The method for constructing a virtual service network based on software-defined network according to claim 4, characterized in that: In step S3, when the control node or the control node cluster receives the join request in step S2, it first checks the legality of the join request; When the join request is an illegal request, the request information is recorded for subsequent analysis; If the join request is a legal request, the corresponding network information is queried in the network information table in the control node or the control node cluster according to the target virtual network ID or name; If the network information cannot be queried, an error response indicating that the target network does not exist is returned, and the request information is recorded for subsequent analysis; If the network information is queried, the network approval policy in the network information in step S1 is compared with the request description information of the network join request in step S2; If the request does not meet the join conditions, an error response indicating that the network join fails is returned, the reason for not meeting the conditions is given, and the request information is recorded for subsequent analysis; If the request meets the join conditions, network configuration parameters are generated according to the network configuration information. After the network configuration parameters are generated, the control node stores the local machine ID, public key, target virtual network ID, local actual communication link information, and network configuration information in the request into the network node list in the control node, completes the addition of the communication node, adds the parameters to the request response after the addition, and sends them back to the client; Among them, the request response includes the network configuration information of the node, the initial routing table information, and the neighbor information exchange configuration.

6. The method for constructing a virtual service network based on software-defined network according to claim 4, characterized in that: In step S3, each piece of information in the network node list is used to describe a virtual network joined by a certain communication node. When a certain communication node joins multiple networks, there are multiple records, which specifically include the following content: Communication node ID / public key: used to distinguish this network node from other nodes and implement authentication; Target network ID: used to describe a target virtual network joined by this communication node; Node network configuration information: used to describe the network configuration information of this communication node in this virtual network; Actual communication link information: used to describe how other nodes establish a connection with this node through the actual communication link; The structure of the node list to be approved is the same as that of the network node list. The node to be approved will be removed from this table after being approved / rejected.

7. The method for constructing a virtual service network based on software-defined network according to claim 1, wherein: In step S4, when the network node that sends the network join request receives the request response, it configures the virtual network card according to the parameters in the request response, and listens on the network port on the actual link for connections; After configuring the virtual network card, the network node creates a virtual routing table on the local machine; The virtual routing table is used to determine how a virtual network's data is sent to a target network node. Each entry in the table describes another network node in the virtual network, specifically including the following: Communication node ID / public key: used to distinguish the network node from other nodes and implement authentication; Target network ID: used to describe the target virtual network that the communication node joins; Node network configuration information: used to describe the network configuration information of the communication node in the virtual network; Actual communication link information: used to describe how other nodes establish connections with this node through actual communication links; When virtual network data needs to be sent to other nodes, the program needs to find the corresponding actual link information based on the network data target address / communication node ID, and send the data to the other end through the actual link. After the data is routed by the other end, it is further sent to the destination.

8. The method for constructing a virtual service network based on software-defined network according to claim 7, characterized in that: In step S4, after the virtual routing table is created, the network node requests the routing table content from the control node in order to establish a virtual network link and maintain routing; The routing table request contains the local ID / public key for authentication and the local latest actual link; After receiving the routing table request, the control node or control node cluster identifies the network node identity based on the local ID / public key in the request, queries the visibility of the node in the corresponding virtual network based on the local ID, updates the actual link information of the node, and then returns the routing table based on the visibility; After receiving the routing table returned by the request, the network node updates the local routing table and establishes a connection to construct a virtual link or removes an established virtual link based on the changes in the actual link information.

9. The method for constructing a virtual service network based on software-defined network according to claim 8, wherein: In step S4, the virtual network card and the routing table constitute a virtual switch. The virtual switches can transfer routing tables to each other to achieve decentralized routing table maintenance. The transfer process includes the following steps: S41. After the virtual routing table is created, the routing table is periodically received from the control node according to the configuration; S42. Listen for connection requests on the actual link, establish a virtual link with the virtual switch of the node through TCP, UDP, virtual circuit, or serial link based on the actual link information of a node in the routing table, and exchange routing table information according to the settings; S43. After receiving the routing table, promptly establish a virtual link with the node that has not established a virtual link; S44. When other applications in the operating system need to send data to a corresponding node in the virtual network, the data is first sent to the virtual network card. After receiving the data, the virtual network card queries the corresponding virtual link in the routing table according to the target address of the data. When a virtual link is found, the data is handed over to the virtual link, which then sends the data to the target virtual switch through the actual link. The target virtual switch then delivers the data to the peer virtual network card or to the next-hop virtual switch. S45. A virtual network card is established by a network node client in the operating system. One virtual network card corresponds to one virtual network, and is used to receive data sent by an application in the operating system to the virtual network, and deliver the data sent to this node in the virtual network to the operating system; The virtual network card only receives data sent to the virtual network in the operating system and ignores data sent to other networks. When the virtual network card receives data sent to other nodes in the virtual network, it selects a corresponding virtual communication link to send by querying the virtual routing table in the network node.

Citation Information

Patent Citations

  • Virtual open network building system and method based on software definition network

    CN104363159A