software definable network service configuration method
Technical Field
The invention belongs to the technical field of network communication, and particularly relates to a software definable network service configuration method.
Background
Computer networks are typically comprised of a large number of routers, switches, and network middleware that vary in functionality. In order to effectively manage a network, an administrator makes various policies based on the traffic (e.g., video, language, Web, etc.) carried by the current network, and due to the lack of available tools, the administrator needs to manually translate these high-level policies into low-level configuration commands that are recognizable by network devices, which is challenging and highly error-prone.
The huge deployment scale of the internet makes it a key infrastructure in society, with the continuous expansion of the deployment scale, the evolution and the revolution of the internet itself are increasingly difficult, and the internet designed to solve the basic interconnection problem several decades ago is increasingly inattentive to the current day-to-day variation.
Under the background, a programmable Network represented by IETF ForCES (Forwarding and Control separation, ForCES) is proposed as means for promoting Network evolution, while a Software Defined Network (SDN) is a new form of a programmable Network, providing novel Network architectures.
It is certainly not an easy matter to deploy new services in this network environment, which is no doubt because the administrator needs to go deep into the configuration of each device in the underlying network, as alternatives to solve the internet "rigidity" problem, various network function boxes (such as firewalls, intrusion detection systems, address translators, etc.) can be placed in large numbers on the underlying interconnection part at the bottom of the network, but this is really too costly for the administrator to have at present an option.
The control mode is obviously beneficial to deploying new network protocols and services, and the global network view is beneficial to integrating network management and various network function systems.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides software definable network service configuration methods.
The technical scheme adopted by the invention for solving the technical problem comprises the following steps:
the network in the step (1) is composed of an application layer, a control layer and a data layer, wherein the entity of the control layer is a control element, and the entity of the data layer is a physical switch;
step (2) the user describes the required service through the application layer, constructs the service request and transmits the service request to the control element through the web service interface;
step (3) the control element sends a control message (Msg-1) to all physical switches in the data layer in an broadcasting mode, and the capability of each physical switch is inquired;
the control message comprises 8 main fields of a message type (MsgType), a service ID (SrvID), a service specification description (SrvDesc), a receiving node set (RecvSets), a sending node set (TransSets), service support (SrvSupport), a service configuration result (ConfResult) and service configuration cost (ConfCost); wherein the MsgType value of 0 represents a query, 1 represents a response, 2 represents service installation, and 3 represents service uninstallation;
when the capability of each physical switch is inquired, MsgType in the Msg-1 is set to be 0, an initial value of RecvSets is set to be null, and initial values of fields of SrvSuport, ConfResult and ConfCost are set to be-1;
after the physical switch receives the Msg-1, whether the physical switch supports the service corresponding to the SrvID is checked, and if the physical switch cannot support the service, the value of the SrvSupport field is set to be 1; if the service specification can be supported, the physical switch checks whether the physical switch meets the service specification requirement according to the SrvDesc field in the Msg-1, if the service specification requirement cannot be met, the value of the SrvSupport field is set to be 2, and if the service specification requirement can be met, the value of the SrvSupport field is set to be 0;
step (5) the physical switch writes the field value set in the step (4) into a control message (Msg-2), the MsgType is set to be 1, other field values are the same as the Msg-1, and the Msg-2 is sent back to the control part in a unicast mode;
after the control element receives the Msg-2, selecting a physical switch capable of supporting the service corresponding to the SrvID according to the inquired physical switch capacity condition, and constructing a virtual network (vNet) aiming at the service corresponding to the SrvID;
step (7) the control element executes a self-defined Path planning algorithm in the virtual network vNet to obtain an optimal service deployment Path (Path), and a service installation node set (SrvInstallSets) is constructed, wherein each elements in the SrvInstallSets correspond to physical switches on the Path;
step (8) the control element sends a control message (Msg-3) to every physical switches on the Path in a multicast mode, and starts the installation process of the service corresponding to the SrvID;
setting the MsgType in the Msg-3 to be 2, setting a RecvSets field to be SrvInstallSets, setting a SrvSuport field to be 1, setting a ConfResult field to be-1 and setting a ConfCost field to be-1;
step (9) after every physical switches receive the control message Msg-3, the following steps are executed:
9-1, judging whether the physical switch belongs to a RecvSets field in the Msg-3, if not, setting the value of a ConfResult field to be 2, and entering a step 9-3; if yes, directly entering the step 9-2;
9-2, the physical switch executes the service installation process, if the installation is successful, setting the value of the ConfCost field as the current resource overhead, and simultaneously setting the value of the ConfResult field as 0; if the installation fails, setting the value of the ConfResult field to be 1;
9-3 the physical switch writes the modified field value to a control message (Msg-4), MsgType is set to 1, the other fields are the same as Msg-3, Msg-4 is sent back to the control in unicast;
step (10), the control element traverses control messages Msg-4 returned by every physical switches in the node set SrvInstallSets, if ConfResult fields of all the control messages Msg-4 are all 0, the service configuration is successful, meanwhile, virtual network vNet information is updated according to ConfCost fields, if ConfResult fields of all the control messages Msg-4 are not all 0, the service configuration is unsuccessful, and the following steps are executed:
the 10-1 control constructs a control message (Msg-5), MsgType is set to 3, the other fields are the same as Msg-3, Msg-5 is sent in multicast to every physical switches on Path;
10-2, receiving the Msg-5 physical switch, and unloading the service corresponding to the SrvID;
the control finds the physical switch corresponding to the control message Msg-4 with the ConfResult field of 1, identifies it as unavailable in vNet, and proceeds to step (7).
The software definable network service configuration method disclosed by the invention is different from the traditional network, in the aspect of , the control layer has a global network resource view and is easier to plan the service path aiming at the service request, in the aspect of , the control layer carries out centralized management on the physical switch nodes in the data layer through a southbound interface, and the automatic implementation of the policy configuration in the physical switch nodes is easier.
Drawings
Fig. 1 shows a service deployment process.
Detailed Description
The invention is further described with reference to the figures and the specific embodiments.
As shown in fig. 1, the software definable network service configuration method provided by the present invention includes the following steps:
the network in the step (1) is composed of an application layer, a control layer and a data layer, wherein the entity of the control layer is a control element, and the entity of the data layer is a physical switch;
step (2) the user describes the required service through the application layer, constructs the service request and transmits the service request to the control element through the web service interface;
step (3) the control element sends a control message (Msg-1) to all physical switches in the data layer in an broadcasting mode, and the capability of each physical switch is inquired;
the control message comprises 8 main fields of a message type (MsgType), a service ID (SrvID), a service specification description (SrvDesc), a receiving node set (RecvSets), a sending node set (TransSets), service support (SrvSupport), a service configuration result (ConfResult) and service configuration cost (ConfCost); wherein the MsgType value of 0 represents a query, 1 represents a response, 2 represents service installation, and 3 represents service uninstallation;
when the capability of each physical switch is inquired, MsgType in the Msg-1 is set to be 0, an initial value of RecvSets is set to be null, and initial values of fields of SrvSuport, ConfResult and ConfCost are set to be-1;
after the physical switch receives the Msg-1, whether the physical switch supports the service corresponding to the SrvID is checked, and if the physical switch cannot support the service, the value of the SrvSupport field is set to be 1; if the service specification can be supported, the physical switch checks whether the physical switch meets the service specification requirement according to the SrvDesc field in the Msg-1, if the service specification requirement cannot be met, the value of the SrvSupport field is set to be 2, and if the service specification requirement can be met, the value of the SrvSupport field is set to be 0;
step (5) the physical switch writes the field value set in the step (4) into a control message (Msg-2), the MsgType is set to be 1, other field values are the same as the Msg-1, and the Msg-2 is sent back to the control part in a unicast mode;
after the control element receives the Msg-2, selecting a physical switch capable of supporting the service corresponding to the SrvID according to the inquired physical switch capacity condition, and constructing a virtual network (vNet) aiming at the service corresponding to the SrvID;
step (7) the control element executes a self-defined Path planning algorithm in the virtual network vNet to obtain an optimal service deployment Path (Path), and a service installation node set (SrvInstallSets) is constructed, wherein each elements in the SrvInstallSets correspond to physical switches on the Path;
step (8) the control element sends a control message (Msg-3) to every physical switches on the Path in a multicast mode, and starts the installation process of the service corresponding to the SrvID;
setting the MsgType in the Msg-3 to be 2, setting a RecvSets field to be SrvInstallSets, setting a SrvSuport field to be 1, setting a ConfResult field to be-1 and setting a ConfCost field to be-1;
step (9) after every physical switches receive the control message Msg-3, the following steps are executed:
9-1, judging whether the physical switch belongs to a RecvSets field in the Msg-3, if not, setting the value of a ConfResult field to be 2, and entering a step 9-3; if yes, directly entering the step 9-2;
9-2, the physical switch executes the service installation process, if the installation is successful, setting the value of the ConfCost field as the current resource overhead, and simultaneously setting the value of the ConfResult field as 0; if the installation fails, setting the value of the ConfResult field to be 1;
9-3 the physical switch writes the modified field value to a control message (Msg-4), MsgType is set to 1, the other fields are the same as Msg-3, Msg-4 is sent back to the control in unicast;
step (10), the control element traverses control messages Msg-4 returned by every physical switches in the node set SrvInstallSets, if ConfResult fields of all the control messages Msg-4 are all 0, the service configuration is successful, meanwhile, virtual network vNet information is updated according to ConfCost fields, if ConfResult fields of all the control messages Msg-4 are not all 0, the service configuration is unsuccessful, and the following steps are executed:
the 10-1 control constructs a control message (Msg-5), MsgType is set to 3, the other fields are the same as Msg-3, Msg-5 is sent in multicast to every physical switches on Path;
10-2, receiving the Msg-5 physical switch, and unloading the service corresponding to the SrvID;
the control finds the physical switch corresponding to the control message Msg-4 with the ConfResult field of 1, identifies it as unavailable in vNet, and proceeds to step (7).
Examples
To facilitate the understanding and implementation of the present invention by those skilled in the art , the technical solution of the present invention will be further described with reference to , which shows specific embodiments of the present invention.
The topology and node ability in the network change dynamically, in order to obtain a real-time and accurate global network resource view, when a new service request comes, the control element actively queries the ability and link of a physical node in an infrastructure layer, the queried physical node feeds back the ability information and connection state of the control element to the control element, the control element plans a service path according to the feedback information of the infrastructure layer, generates a configuration command required by each physical node, then issues the configuration command for each physical node, and finally the physical node executes the configuration command and feeds back the running state to the control element.
Based on the above analysis, the service configuration method of the present invention can be implemented as follows, as shown in fig. 1:
firstly, a user can describe the Service to be deployed through a graphical human-computer interaction interface, the description result is quantized into a specific Service request parameter, an HTTP message is constructed according to the specific Service request parameter, and a Web Service interface of a control layer is accessed, wherein the Service interface can be a RESTful API similar to Web Service.
The control initiates a capability query process of the physical switches of the data layer, in which a control message is constructed for querying the capability of each physical switch, and since the support capability of each physical switch for a new service is not yet known, the control message is sent to every physical switches by means of broadcast, the control message contains 8 main fields of message type (MsgType), service id (srvlid), service specification (SrvDesc), receiving node set (RecvSets), sending node set (trans sets), service support (SrvSupport), service configuration result (ConfResult), service configuration cost (ConfCost), which are sufficient to describe services and their installation process, when the initial value of RecvSets in the query message is set to null, the initial values of srvpsup, ConfResult and ConfCost are set to-1, where MsgType value is 0 represents query, 1 represents response, 2 represents service installation, and 3 represents service uninstallation.
Each physical switch receives the inquiry message from the control element, firstly judges whether the physical switch supports the service requested in the inquiry message, if not, the SrvSupport is set to be 1, which indicates that the physical switch does not support the service, if the SrvSupport can support the service, then judges whether the service specification requirement described by the SrvDesc can be met, if the SrvSupport field is set to be 0, if the SrvSupport field is not set to be 2, which indicates that the physical switch can support the service but the capacity is insufficient, and according to the result of the self-check, each physical switch reconstructs response messages and informs the control element in a unicast mode.
The control element updates a network resource view, selects a physical switch capable of supporting the requested service, constructs and maintains a virtual network according to the inquired physical node capability and link information, executes a self-defined service path discovery algorithm (which can be a shortest path first algorithm, a distance vector algorithm and the like) in the virtual network to obtain an optimal service deployment path, and then constructs a service installation node set SrvInstallsets aiming at each node on the drawn service deployment path, wherein each elements in the set correspond to physical switches on the path.
The control element and every physical switches on the service path form a corresponding relationship of to more, at this time, the control element sends a message to every physical switches to be suitable for adopting a multicast mode, the multicast source is the control element, the group members are every physical switches on the service path, the control element sends a control message to all the physical switches in the data layer in a multicast mode to indicate the physical switches to carry out service installation, at this time, a RecvSets field in the control message is set to be a service installation node set, a SrvSupport field is set to be 1, a ConfResult field is set to be-1, and a ConfCost field is set to be-1, because the physical switches receiving the control message can be determined to support the service, but the service configuration result and the service configuration cost are not necessarily known.
Next, each physical switch that receives the multicast service installation message confirms again whether it belongs to the recipient of the installation message by determining the RecvSets field in the message, step being silent , otherwise the physical switch does not receive the multicast message, but does not exclude any accidents, so if the physical switch finds itself not to belong to the recipient of the installation message, the control element needs to be notified in a unicast manner.
The control element checks that installation confirmation messages are returned by every physical switch nodes in the service installation node set SrvInstallSets, if ConfResults in all the installation confirmation messages are 0, the service deployment Path Path is completely successful, otherwise, the service deployment Path Path is not successful, the control element needs to withdraw the original installation process at the moment, and the control element constructs control messages for executing a service unloading process and sends the control messages to every physical switches on the Path in a multicast mode to execute the service unloading process.
And under the condition that the service deployment Path is unsuccessful, the control element marks the physical switch with unsuccessful installation service as unavailable in the virtual network, and performs service deployment Path planning again and executes the installation process.
It should be added that important tasks of the control part in the service deployment process are to construct a virtual network based on a network resource view, which is a subset of a bottom physical network in a data layer and records topology and resource distribution in the physical network in real time, wherein the resource distribution includes link bandwidth occupation and node capacity usage.