US11140091B2 - Openflow protocol-based resource control method and system, and apparatus - Google Patents

Openflow protocol-based resource control method and system, and apparatus Download PDF

Info

Publication number
US11140091B2
US11140091B2 US15/858,815 US201715858815A US11140091B2 US 11140091 B2 US11140091 B2 US 11140091B2 US 201715858815 A US201715858815 A US 201715858815A US 11140091 B2 US11140091 B2 US 11140091B2
Authority
US
United States
Prior art keywords
resource
controller
forwarder
forwarding
service
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
Application number
US15/858,815
Other languages
English (en)
Other versions
US20180123969A1 (en
Inventor
Zhihua Jiang
Peng MA
Hui NI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of US20180123969A1 publication Critical patent/US20180123969A1/en
Assigned to HUAWEI TECHNOLOGIES CO., LTD. reassignment HUAWEI TECHNOLOGIES CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JIANG, ZHIHUA, NI, HUI, MA, PENG
Application granted granted Critical
Publication of US11140091B2 publication Critical patent/US11140091B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]

Definitions

  • This application relates to the field of communications technologies, and in particular, to an OpenFlow protocol-based resource control method and system, and an apparatus.
  • OpenFlow is a communication protocol defined by the Open Networking Foundation (ONF). OpenFlow is used for providing access from a controller to a forwarder in software-defined networking (SDN).
  • SDN software-defined networking
  • the SDN has features of being open and programmable and supporting separation of control and forwarding.
  • a principle of the SDN technology is to abstract a forwarding process into two objects: match and instruction.
  • a packet forwarding process is to match a flow table according to packet information, and after the matching, perform forwarding according to an instruction specified in the flow table.
  • a forwarding plane of a service is on a forwarder, and respective control planes of all services are on a controller.
  • the forwarder receives a flow table, and performs forwarding as required by an entry in the flow table, to implement separation of forwarding and control.
  • the controller usually runs on a server.
  • control planes of some of multiple services on the forwarder are on the controller, and control planes of some services are on the forwarder.
  • a service whose control plane is on the forwarder on which a forwarding plane of the service is located is referred to as a service on the forwarder
  • a service whose control plane is in the controller is referred to as a service on the controller.
  • VLAN virtual local area network
  • some forwarding resources for example, a VLAN ID
  • some forwarding resources need to be allocated for use by a VLAN service on the forwarder
  • some forwarding resources need to be allocated for use by a VLAN service on the controller.
  • a VLAN ID allocated for use by the controller may conflict with a VLAN ID allocated for use by the forwarder.
  • a conflict problem may exist if these different services have a same forwarding feature.
  • a layer-2 virtual private network (VPN) service is configured on the forwarder
  • a layer-3 VPN service is configured on the controller.
  • the forwarding resources may be divided into two parts. Some forwarding resources are allocated for use by the controller, and the remaining forwarding resources are allocated for use by the forwarder.
  • the forwarding resources are VLAN IDs, and all the VLAN IDs are 0 to 4096. Assuming that in the VLAN ID resources, 100 to 4096 are allocated to the controller, and 0 to 99 are allocated to the forwarder, the foregoing conflict problem can be resolved because different forwarding resources are used by the controller and the forwarder. However, this reduces utilization of forwarding resources. For example, if a service is configured only on the controller and no service is configured on the forwarder, the forwarding resources allocated to the forwarder are wasted. If a service is configured only on the forwarder and no service is configured on the controller, the resources allocated to the controller are wasted.
  • This application provides an OpenFlow protocol-based resource control method and system, and an apparatus, to resolve a problem that forwarding resources are not fully used.
  • an OpenFlow protocol-based resource control method including:
  • the sending, by a controller, a resource allocation request message to a forwarder includes:
  • a resource configuration message that is sent by the forwarder in response to the resource allocation request message includes:
  • the controller receiving, by the controller, a resource configuration message that is re-sent by the forwarder in response to the resource allocation request message, where the resource configuration message that is re-sent by the forwarder includes multiple idle forwarding resources re-obtained by the forwarder from the total forwarding resources.
  • an OpenFlow protocol-based resource control method including:
  • the receiving, by a forwarder, a resource allocation request message sent by a controller includes:
  • the obtaining, by the forwarder, an idle forwarding resource from total forwarding resources according to the resource allocation request message is specifically:
  • a controller including:
  • a sending module configured to send a resource allocation request message to a forwarder, where an OpenFlow interface is established between the controller and the forwarder;
  • a receiving module configured to receive a resource configuration message that is sent by the forwarder in response to the resource allocation request message, where the resource configuration message includes an idle forwarding resource obtained by the forwarder from total forwarding resources;
  • a resource allocation module configured to allocate, according to the idle forwarding resource, a service-accessible forwarding resource to an already created service on the controller, where the service-accessible forwarding resource is some or all resources in the idle forwarding resource.
  • the sending module is specifically configured to: when the controller establishes an initial connection to the forwarder, send, to the forwarder, a resource allocation request message for requesting to obtain multiple resources; and if multiple idle forwarding resources obtained by the controller have been allocated, re-send, to the forwarder, the resource allocation request message for requesting to obtain multiple resources; and
  • the receiving module is specifically configured to receive a resource configuration message that is re-sent by the forwarder in response to the resource allocation request message, where the resource configuration message that is re-sent by the forwarder includes multiple idle forwarding resources re-obtained by the forwarder from the total forwarding resources.
  • a forwarder including:
  • a receiving module configured to receive a resource allocation request message sent by a controller, where an OpenFlow interface is established between the forwarder and the controller;
  • a resource management module configured to obtain an idle forwarding resource from total forwarding resources according to the resource allocation request message
  • a sending module configured to send a resource configuration message to the controller, where the resource configuration message includes the idle forwarding resource obtained by the forwarder.
  • the receiving module is specifically configured to: when the forwarder establishes an initial connection to the controller, receive a resource allocation request message for requesting to obtain multiple resources;
  • the resource management module is specifically configured to obtain multiple idle forwarding resources from the total forwarding resources according to the resource allocation request message for requesting to obtain multiple resources.
  • an OpenFlow protocol-based resource control system including a controller and a forwarder, where an OpenFlow interface is established between the controller and the forwarder;
  • the controller is the controller according to any one of the third aspect.
  • the forwarder is the forwarder according to any one of the fourth aspect.
  • the OpenFlow interface is established between the controller and the forwarder.
  • the controller sends the resource allocation request message to the forwarder.
  • the controller receives the resource configuration message sent by the forwarder.
  • the resource configuration message includes the idle forwarding resource obtained by the forwarder from the total forwarding resources.
  • the controller allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller.
  • the service-accessible forwarding resource is some or all resources in the idle forwarding resources.
  • the controller may deliver data to the already created service.
  • the controller queries, from the forwarder, the idle forwarding resource in the total forwarding resources and allocates the idle forwarding resource for use by the service.
  • FIG. 1 is a schematic block diagram of a procedure of an OpenFlow protocol-based resource control method according to an embodiment of the present invention
  • FIG. 2 is a schematic block diagram of a procedure of another OpenFlow protocol-based resource control method according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a scenario in which a controller queries an idle forwarding resource from a forwarder according to an embodiment of the present invention
  • FIG. 4 - a is a schematic diagram of an application scenario in which a controller queries an idle forwarding resource from a forwarder according to an embodiment of the present invention
  • FIG. 4 - b is a schematic diagram of another application scenario in which a controller queries an idle forwarding resource from a forwarder according to an embodiment of the present invention
  • FIG. 4 - c is a schematic diagram of another application scenario in which a controller queries an idle forwarding resource from a forwarder according to an embodiment of the present invention
  • FIG. 5 - a is a schematic structural composition diagram of a controller according to an embodiment of the present invention.
  • FIG. 5 - b is a schematic structural composition diagram of another controller according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural composition diagram of a forwarder according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural composition diagram of an OpenFlow protocol-based resource control system according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural composition diagram of a controller according to an embodiment of the present invention.
  • FIG. 9 is a schematic structural composition diagram of a forwarder according to an embodiment of the present invention.
  • the embodiments of the present invention provide an OpenFlow protocol-based resource control method and system, and an apparatus, to resolve a problem that forwarding resources are not fully used.
  • An embodiment of the OpenFlow protocol-based resource control method in the present invention may be applied to a scenario of control and service hybrid deployment on a controller and a forwarder, so that the controller queries an idle forwarding resource from the forwarder, and may be applied to a hybrid mode in which services are configured on both the controller and the forwarder.
  • an OpenFlow protocol-based resource control method provided by an embodiment of the present invention may specifically include the following steps.
  • a controller sends a resource allocation request message to a forwarder, where an OpenFlow interface is established between the controller and the forwarder.
  • the controller may implement a control plane function in an architecture of separation of a control plane and a forwarding plane of SDN.
  • the controller may be specifically implemented as a server.
  • the forwarder may implement a forwarding plane function in an architecture of separation of a control plane and a forwarding plane of SDN.
  • the forwarder may be specifically implemented as a switch, a router, or the like.
  • the controller and the forwarder may communicate with each other based on an OpenFlow protocol.
  • An OpenFlow interface is established between the controller and the forwarder.
  • the controller and the forwarder may extend the OpenFlow interface.
  • the extended OpenFlow interface may be configured to implement querying, by the controller, an idle forwarding resource from the forwarder. Specifically, a field may be added to a query message in the OpenFlow interface.
  • the added field is used to implement querying, by the controller, an idle forwarding resource from the forwarder.
  • a control field may be added to multipart messages of the OpenFlow interface, and used to implement querying, by the controller, an idle forwarding resource from the forwarder.
  • the multipart messages are a type of message in the OpenFlow protocol and used for interaction between the controller and the forwarder.
  • the controller sends a resource allocation request message to the forwarder by using the OpenFlow interface between the controller and the forwarder, to query an idle forwarding resource from the forwarder.
  • a forwarding resource existing on the forwarder is an identity (ID) resource used for describing forwarding, such as a VLAN ID resource, a label resource, or a virtual routing and forwarding (VRF) resource.
  • ID identity
  • VRF virtual routing and forwarding
  • the sending, by a controller, a resource allocation request message to a forwarder may specifically include the following step:
  • the controller when the controller establishes an initial connection to the forwarder, the controller sends, to the forwarder, a resource allocation request message for requesting to obtain multiple resources; or
  • the controller sends, to the forwarder, a resource allocation request message that corresponds to the service to which the forwarding resource needs to be allocated.
  • the controller may query an idle forwarding resource from the forwarder by using the manners in A1 and A2.
  • the querying, by the controller, an idle forwarding resource from the forwarder may not be limited to the foregoing implementations in A1 and A2.
  • the controller queries an idle forwarding resource from the forwarder when the controller establishes an initial connection to the forwarder.
  • the controller can query an idle forwarding resource from the forwarder when a connection relationship is initially established between the controller and the forwarder.
  • an idle forwarding resource is queried in advance before a service is created on the controller.
  • the controller has obtained the idle forwarding resource from the forwarder before the service is created, and the controller may query multiple resources from the forwarder at the same time, to satisfy resource allocation requirements of multiple services on the controller.
  • the controller queries multiple resources from the forwarder is merely an implementable manner.
  • the controller may query a single resource from the forwarder.
  • a specific implementation is not limited. In A2, the controller queries an idle forwarding resource from the forwarder only when a forwarding resource needs to be allocated to a service on the controller, so as to query an idle forwarding resource in real time according to a requirement of a service on the controller.
  • the controller after the controller sends, to the forwarder, the resource allocation request message for requesting to obtain multiple resources, the following step may further be included:
  • the controller re-sends, to the forwarder, the resource allocation request message for requesting to obtain multiple resources.
  • step B1 the controller queries an idle forwarding resource from the forwarder before a forwarding resource is allocated to an already created service on the controller.
  • the controller further needs to re-send, to the forwarder, the resource allocation request message for requesting to obtain multiple resources.
  • the controller may still query an idle forwarding resource again from the forwarder in a manner of performing querying in advance before an idle forwarding resource is allocated to a service, to satisfy a requirement of the service on the controller for a resource.
  • the controller receives a resource configuration message that is sent by the forwarder in response to the resource allocation request message, where the resource configuration message includes an idle forwarding resource obtained by the forwarder from total forwarding resources.
  • the forwarder may receive the resource allocation request message sent by the controller, and the forwarder may obtain the idle forwarding resource from the total forwarding resources according to the resource allocation request message.
  • the forwarder may store the total forwarding resources, or the forwarder may not store the total forwarding resources but determine the total forwarding resources in a default configuration manner.
  • a service of the forwarder may occupy some forwarding resources in the total forwarding resources.
  • the forwarder may reserve some forwarding resources in the total forwarding resources for the forwarder.
  • the forwarder may determine, according to whether a service is created on the forwarder and how many forwarding resources are occupied by an already created service, forwarding resources from the total forwarding resources as idle forwarding resources to be sent to the controller. For example, the forwarder reserves, from the total forwarding resources, some forwarding resources for use by a service of the forwarder, then uses a forwarding resource remaining in the total forwarding resources as an idle forwarding resource, and sends the idle forwarding resource to the controller. As queried by the controller, the forwarder may select an idle forwarding resource from the total forwarding resources according to the foregoing implementation. Then the forwarder sends, to the controller, the resource configuration message carrying the idle forwarding resource. The controller receives, by using the OpenFlow interface, the resource configuration message sent by the forwarder.
  • That the resource configuration message sent by the forwarder includes the idle forwarding resource obtained by the forwarder from the total forwarding resources may specifically have multiple implementations.
  • the resource configuration message sent by the forwarder may directly include the idle forwarding resource.
  • the resource configuration message sent by the forwarder may include an already occupied forwarding resource.
  • a resource remaining in the total forwarding resources other than the already occupied forwarding resource is the idle forwarding resource.
  • the controller may also determine the idle forwarding resource according to an already occupied forwarding resource included in the resource configuration message.
  • the controller may obtain, according to the received resource configuration message, the idle forwarding resource that is obtained for the controller by the forwarder from the total forwarding resources.
  • the controller may complete reservation of the idle forwarding resource, to satisfy a requirement of a service created on the controller.
  • step 102 in this embodiment of the present invention may specifically include the following step:
  • the controller receives a resource configuration message that is re-sent by the forwarder in response to the resource allocation request message, where the resource configuration message that is re-sent by the forwarder includes multiple idle forwarding resources re-obtained by the forwarder from the total forwarding resources.
  • the controller queries the idle forwarding resource from the forwarder in a manner of querying multiple resources in advance.
  • the controller further needs to re-send, to the forwarder, the resource allocation request message for requesting to obtain multiple resources.
  • the controller still uses the manner of querying multiple resources in advance.
  • the forwarder re-obtains multiple idle forwarding resources from the total forwarding resources, and then sends the re-obtained multiple idle forwarding resources to the controller. After all the multiple previously found forwarding resources are completely used, the controller continues to query multiple idle forwarding resources in advance. In this way, the controller may reserve the multiple idle forwarding resources, to satisfy an allocation requirement of a service on the controller.
  • the controller allocates, according to the idle forwarding resource, a service-accessible forwarding resource to an already created service on the controller, where the service-accessible forwarding resource is some or all resources in idle forwarding resources.
  • step 103 of allocating, by the controller according to the idle forwarding resource, a service-accessible forwarding resource to an already created service on the controller may specifically include the following steps:
  • the controller stores the idle forwarding resource included in the resource configuration message into a resource pool
  • the controller obtains the idle forwarding resource from the resource pool and allocates the idle forwarding resource to the already created service on the controller.
  • the controller may create one resource pool for each forwarder on the controller.
  • the resource pool has two functions: storing the idle forwarding resource of the forwarder, and performing resource allocation and management for the service on the controller. After obtaining the idle forwarding resource from the forwarder, the controller stores collected idle forwarding resources into the resource pool. When the service on the controller needs to use an idle forwarding resource, the controller may obtain an idle forwarding resource from the resource pool and allocate the idle forwarding resource to the already created service on the controller. The controller can conveniently manage the idle forwarding resource by using the resource pool.
  • the controller may obtain, according to the received resource configuration message, the idle forwarding resource allocated to the controller by the forwarder from the total forwarding resources. Subsequently, the controller allocates, from the idle forwarding resources, the service-accessible forwarding resource to the already created service on the controller.
  • the service-accessible forwarding resource is an idle forwarding resource allocated by the controller from received idle forwarding resources to the service created on the controller.
  • the OpenFlow protocol-based resource control method provided by the present invention may further include the following step:
  • the controller sends a resource release request message to the forwarder, where the resource release request message includes an idle forwarding resource released by the controller.
  • step D1 may be applied to an application scenario in which the forwarder operates independently and then the controller performs takeover.
  • the OpenFlow interface between the controller and the forwarder is extended.
  • the extended OpenFlow interface may be used to both query and release an idle forwarding resource.
  • the controller may send a resource release request message to the forwarder after determining idle forwarding resources that need to be released.
  • the forwarder may obtain an idle forwarding resource released by the controller.
  • the forwarder may recycle the idle forwarding resource released by the controller, and the forwarder adds, to the total forwarding resources, the idle forwarding resource released by the controller.
  • the forwarder returns a resource release success message to the controller.
  • the idle forwarding resource recycled by the forwarder may be used to be returned to the controller during querying by the controller next time, or provided for use by a service of the forwarder.
  • the OpenFlow protocol-based resource control method provided by the present invention may further include the following step:
  • an association relationship between a service A and a service-accessible forwarding resource allocated to the service A may be established.
  • the service-accessible forwarding resource allocated to the service A may further be found from a local cache according to the association relationship, and the found service-accessible forwarding resource is reallocated to the service A.
  • Caching may be performed based on a service. A service-accessible forwarding resource and a feature of the service are cached together. In this way, if a configuration is incorrectly deleted, reconfiguration can be performed immediately, and an original service-accessible forwarding resource can also be obtained.
  • the OpenFlow interface is established between the controller and the forwarder.
  • the controller sends the resource allocation request message to the forwarder.
  • the controller receives the resource configuration message sent by the forwarder.
  • the resource configuration message includes the idle forwarding resource obtained by the forwarder from the total forwarding resources.
  • the controller allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller.
  • the service-accessible forwarding resource is some or all resources in the idle forwarding resources. After allocating the service-accessible forwarding resource to the service, the controller may deliver data to the already created service.
  • the controller queries, from the forwarder, the idle forwarding resource in the total forwarding resources and allocates the idle forwarding resource for use by the service. This can satisfy a requirement of the service on the controller for a forwarding resource while not affecting allocation of a forwarding resource to a service of the forwarder by the forwarder.
  • Use of the forwarding resources by the forwarder and the controller causes no conflict, and the problem in the prior art that forwarding resources are not fully used can also be resolved.
  • an implementation status in which the OpenFlow protocol-based resource control method of the present invention is applied to the controller is described.
  • the controller queries an idle forwarding resource from the forwarder.
  • an implementation status in which the OpenFlow protocol-based resource control method of the present invention is applied to the forwarder is described.
  • an OpenFlow protocol-based resource control method provided by an embodiment of the present invention may specifically include the following steps.
  • a forwarder receives a resource allocation request message sent by a controller, where an OpenFlow interface is established between the forwarder and the controller.
  • the controller may implement a control plane function in an architecture of separation of a control plane and a forwarding plane of SDN.
  • the controller may be specifically implemented as a server.
  • the forwarder may implement a forwarding plane function in an architecture of separation of a control plane and a forwarding plane of SDN.
  • the forwarder may be specifically implemented as a switch, a router, or the like.
  • the controller and the forwarder may communicate with each other based on an OpenFlow protocol.
  • An OpenFlow interface is established between the controller and the forwarder.
  • the controller and the forwarder may extend the OpenFlow interface.
  • the extended OpenFlow interface may be configured to implement querying, by the controller, an idle forwarding resource from the forwarder.
  • a field may be added to a query message in the OpenFlow interface.
  • a control field may be added to multipart messages of the OpenFlow interface, and used to implement querying, by the controller, an idle forwarding resource from the forwarder.
  • the multipart messages are a type of message in the OpenFlow protocol and used for interaction between the controller and the forwarder.
  • the controller sends a resource allocation request message to the forwarder by using the OpenFlow interface between the controller and the forwarder, to query an idle forwarding resource from the forwarder.
  • a forwarding resource existing on the forwarder is an ID resource used for describing forwarding, including a VLAN ID resource, a label resource, or a VRF resource.
  • the controller needs to query an idle forwarding resource from the forwarder.
  • the forwarder receives the resource allocation request message sent by the controller, and then step 202 is triggered.
  • the forwarder obtains an idle forwarding resource from total forwarding resources according to the resource allocation request message.
  • the forwarder receives the resource allocation request message sent by the controller.
  • the forwarder may obtain the idle forwarding resource from the total forwarding resources according to the resource allocation request message.
  • the forwarder may store the total forwarding resources.
  • a service of the forwarder may occupy some forwarding resources in the total forwarding resources.
  • the forwarder may reserve some forwarding resources in the total forwarding resources for the forwarder.
  • the forwarder may determine, according to whether a service is created on the forwarder and how many forwarding resources are occupied by an already created service, forwarding resources from the total forwarding resources as idle forwarding resources to be sent to the controller.
  • the forwarder reserves, from the total forwarding resources, some forwarding resources for use by a service of the forwarder, then uses a forwarding resource remaining in the total forwarding resources as an idle forwarding resource, and sends the idle forwarding resource to the controller.
  • the forwarder may select an idle forwarding resource from the total forwarding resources.
  • the total forwarding resources on the forwarder are VLAN ID resources 0 to 4096.
  • VLAN IDs 2001 to 4096 in the total forwarding resources are still idle, and the forwarder may select idle forwarding resources 2001 to 2201 from the total forwarding resources and send them to the controller for use.
  • the interaction is between the controller and one forwarder
  • the interaction may be between the controller and multiple forwarders. That is, the controller may query idle forwarding resources from multiple forwarders respectively.
  • a resource control method is performed by a certain forwarder, and another forwarder, between which and the controller an OpenFlow protocol is established, may also perform the foregoing resource control method.
  • the controller may interact with the multiple forwarders at the same time, or the controller may determine, according to an actual situation of the controller, whether to first interact with some forwarders or to interact with multiple forwarders at the same time.
  • a specific implementation process is not limited.
  • step 201 of receiving, by a forwarder, a resource allocation request message sent by a controller may specifically include the following step:
  • the forwarder when the forwarder establishes an initial connection to the controller, the forwarder receives a resource allocation request message for requesting to obtain multiple resources.
  • step 202 of obtaining, by the forwarder, an idle forwarding resource from total forwarding resources according to the resource allocation request message is specifically:
  • the forwarder obtains multiple idle forwarding resources from the total forwarding resources according to the resource allocation request message for requesting to obtain multiple resources.
  • step F1 a specific implementation of querying, by the controller, an idle forwarding resource from the forwarder is described in detail in step F1.
  • the controller queries an idle forwarding resource from the forwarder when the controller establishes an initial connection to the forwarder. That is, the controller can query an idle forwarding resource from the forwarder when a connection relationship is initially established between the controller and the forwarder. In such a manner of querying an idle forwarding resource from the forwarder, the controller has obtained the idle forwarding resource from the forwarder before a service is created on the controller.
  • the controller can reserve an idle forwarding resource, and the controller can obtain multiple idle forwarding resources from the forwarder, to satisfy requirements of multiple services on the controller. If the forwarder receives a query of the controller for multiple resources, the forwarder may return multiple idle forwarding resources to the controller at a time. In another implementation, the controller queries an idle forwarding resource from the forwarder only when a forwarding resource needs to be allocated to a service on the controller, so as to implement real-time obtaining according to a requirement of a service on the controller. The forwarder may return, to the controller according to a real-time query by the controller, an idle forwarding resource that needs to be used by a current service on the controller.
  • the forwarder sends a resource configuration message to the controller, where the resource configuration message includes the idle forwarding resource obtained by the forwarder.
  • the forwarder may add the obtained idle forwarding resource to a resource configuration message, and send the resource configuration message to the controller.
  • the controller receives, by using the OpenFlow interface, the resource configuration message sent by the forwarder.
  • the controller may obtain, according to the received resource configuration message, the idle forwarding resource that is allocated to the controller by the forwarder from the total forwarding resources.
  • the OpenFlow protocol-based resource control method may further include the following steps:
  • the forwarder receives a resource release request message sent by the controller, where the resource release request message includes an idle forwarding resource that needs to be released and that is determined by the controller;
  • the forwarder adds, to the total forwarding resources, the idle forwarding resource that needs to be released.
  • the OpenFlow interface between the controller and the forwarder is extended.
  • the extended OpenFlow interface may be used to both query and release an idle forwarding resource.
  • the controller may send a resource release request message to the forwarder after determining idle forwarding resources that need to be released.
  • the forwarder may obtain an idle forwarding resource released by the controller.
  • the forwarder may recycle the idle forwarding resource released by the controller.
  • the forwarder feeds back a resource release success message to the controller.
  • the idle forwarding resource recycled by the forwarder may be used to be returned to the controller during querying by the controller next time, or provided for use by a service of the forwarder.
  • the OpenFlow interface is established between the controller and the forwarder.
  • the controller sends the resource allocation request message to the forwarder.
  • the controller receives the resource configuration message sent by the forwarder.
  • the resource configuration message includes the idle forwarding resource obtained by the forwarder from the total forwarding resources.
  • the controller allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller.
  • the service-accessible forwarding resource is some or all resources in the idle forwarding resources. After allocating the service-accessible forwarding resource to the service, the controller may deliver data to the already created service.
  • the controller queries, from the forwarder, the idle forwarding resource in the total forwarding resources and allocates the idle forwarding resource for use by the service. This can satisfy a requirement of the service on the controller for a forwarding resource while not affecting allocation of a forwarding resource to a service of the forwarder by the forwarder.
  • Use of the forwarding resources by the forwarder and the controller causes no conflict, and the problem in the prior art that forwarding resources are not fully used can also be resolved.
  • FIG. 3 is a schematic diagram of a scenario in which a controller queries an idle forwarding resource from a forwarder according to an embodiment of the present invention.
  • the controller includes a service module and a forwarding resource management module.
  • the service module is configured to: create a service on the controller and query an idle forwarding resource from the forwarding resource management module according to the service.
  • the forwarding resource management module is configured to: query an idle forwarding resource from the forwarder, and allocate a service-accessible forwarding resource to an already created service on the controller.
  • a forwarder is newly added in SDN, dynamic synchronization of forwarding resources is implemented between the controller and the newly added forwarder.
  • a main process is as follows:
  • an OpenFlow interface between the controller and the newly added forwarder is extended.
  • message fields of multipart messages are extended, to support querying, by the controller, an idle forwarding resource from the forwarder, and returning, by the forwarder, the idle forwarding resource to the controller, and releasing the idle forwarding resource.
  • the controller and the forwarder implement querying and returning of the idle forwarding resource by using the extended OpenFlow interface.
  • the forwarding resource management module in the controller is configured to: query an idle forwarding resource from the forwarder and allocate an idle forwarding resource to a service on the controller. For example, some idle forwarding resources are allocated to different services.
  • the forwarding resource management module allocates specific idle forwarding resources according to different services. For example, a label resource may be allocated for use by a Label Distribution Protocol (LDP) service and a Border Gateway Protocol (BGP) service. For another example, a VLAN ID resource may be allocated for use by a VLAN service.
  • LDP Label Distribution Protocol
  • BGP Border Gateway Protocol
  • VLAN ID resource may be allocated for use by a VLAN service.
  • the forwarding resource management module independently queries, according to each forwarder, an idle forwarding resource on the forwarder, and creates one resource pool for each forwarder on the controller.
  • the resource pool has two functions: storing the idle forwarding resource of the forwarder, and performing idle forwarding resource allocation and management for the service on the controller.
  • the service module in the controller requests the forwarding resource management module in the controller to allocate an idle forwarding resource.
  • the forwarding resource management module in the controller queries an idle forwarding resource from the forwarder.
  • a packet corresponding to the service can be delivered only after a service-accessible forwarding resource is successfully allocated to the service.
  • the forwarding resource management module may query an idle forwarding resource from the forwarder in the following two manners. In one manner, the forwarding resource management module has obtained a large quantity of idle forwarding resources from the forwarder before a service is created on the controller. If the obtained idle forwarding resources are completely used, an idle forwarding resource may be queried from the forwarder again.
  • the forwarding resource management module queries an idle forwarding resource from the forwarder only when a service on the controller needs to use an idle forwarding resource. After obtaining the idle forwarding resource from the forwarder, the forwarding resource management module may cache the idle forwarding resource, avoiding repeatedly performing querying from the forwarder.
  • querying, by the controller, an idle forwarding resource from the forwarder and returning, by the forwarder, an idle forwarding resource is described by using an example.
  • FIG. 4 - a is a schematic diagram of an application scenario in which a controller queries an idle forwarding resource from a forwarder according to an embodiment of the present invention.
  • the controller can query multiple idle forwarding resources.
  • the controller queries an idle forwarding resource from the forwarder.
  • a forwarding resource is dynamic.
  • the forwarder may occupy some forwarding resources.
  • the forwarder returns total forwarding resources (0 to 4096) and current idle forwarding resources (2000 to 4096) to the controller for use.
  • the controller establishes resource management by using the idle forwarding resources (2000 to 4096).
  • the controller predicts, by using the total forwarding resources and the idle forwarding resources that are returned by the forwarder, whether there is still an idle forwarding resource on the forwarder. For example, when quantities of the total forwarding resources and the idle forwarding resources that are returned by the forwarder are equal, it indicates that the forwarder has allocated all forwarding resources to the controller, and there is no idle forwarding resource on the forwarder.
  • the service module requests the forwarding resource management module to allocate a forwarding resource. After a service-accessible forwarding resource is successfully allocated, the service-accessible forwarding resource can be used to forward a packet corresponding to the service.
  • FIG. 4 - b is a schematic diagram of another application scenario in which a controller queries an idle forwarding resource from a forwarder according to an embodiment of the present invention.
  • the controller may continue to query a batch of idle forwarding resources, for example, (1800 to 1999), from the forwarder.
  • quantities of idle forwarding resources and total forwarding resources on the controller are equal, this case may indicate that no service is configured on the forwarder. Data of a service on the forwarder all comes from the controller. Therefore, the controller no longer needs to query an idle forwarding resource from the forwarder.
  • a manner of querying multiple idle forwarding resources in advance is used. Such a manner is applicable to a scenario in which the forwarder uses a relatively small quantity of forwarding resources and the controller uses a relatively large quantity of forwarding resources, and forwarding resource allocation efficiency is very high.
  • FIG. 4 - c is a schematic diagram of another application scenario in which a controller queries an idle forwarding resource from a forwarder according to an embodiment of the present invention.
  • the controller queries an idle forwarding resource from the forwarder according to a requirement of a service. Specifically, the following steps may be included.
  • the controller When the controller is initially connected to the forwarder, the controller first queries an idle forwarding resource from the forwarder, and creates resource management. Alternatively, when the controller is initially connected to the forwarder, a forwarding resource is not queried, but an empty resource pool is directly created on the controller.
  • a service module in the controller requests a forwarding resource management module in the controller to allocate a forwarding resource.
  • the forwarding resource management module preferentially checks a local cache of the controller. If the local cache of the controller still stores an idle forwarding resource, the forwarding resource management module allocates a service-accessible forwarding resource to an already created service on the controller. Subsequently, start to send a packet corresponding to the already created service. End the entire process after the packet is sent. If the local cache stores no idle forwarding resource, perform step 4 subsequently.
  • the forwarding resource management module queries an idle forwarding resource from the forwarder.
  • the controller queries an idle forwarding resource from the forwarder according to a requirement of a service.
  • a quantity of forwarding resources required by the service on the controller is equal to a quantity of idle forwarding resources to be obtained by the forwarding resource management module from the forwarder.
  • the forwarder sends the idle forwarding resource to the controller, and at the same time, the forwarder sets the idle forwarding resource allocated to the controller to an already allocated state on the forwarder.
  • the service module in the controller uses the service-accessible forwarding resource to send a packet.
  • a manner of caching an idle forwarding resource may include the following two manners.
  • Caching is performed based on a feature of a service. That is, a service-accessible forwarding resource and the feature of the service are cached together. In this way, if a configuration is incorrectly deleted, the service-accessible forwarding resource can be reconfigured immediately.
  • a static VPN service is configured, and an allocated VRF ID and the VPN service are cached together. Assuming that a VRF ID corresponding to a VPN service 1 is equal to 1, the VRF ID: 1 and the VPN service 1 are cached together during caching, so that the VRF ID resource, that is, the VRF ID being equal to 1, can be allocated for use only by the VPN service 1.
  • Caching is performed based on a forwarding resource. After a service is released, the controller may allocate an idle forwarding resource for use by any newly created service. In some implementations of this embodiment of the present invention, usually, there may be multiple release mechanisms for caching. For example, timed-release (for example, 120 seconds) may be performed, or release may be performed according to an idle proportion (for example, 20% of total forwarding resources), or a combination thereof is used.
  • timed-release for example, 120 seconds
  • an idle proportion for example, 20% of total forwarding resources
  • extending the OpenFlow interface between the controller and the forwarder may be specifically adding a control field to multipart messages.
  • multipart messages refer to stipulations in OpenFlow-spec-v1.4.0.
  • a specific control field is added to the multipart messages. For example, specific resources are extended in a resource class, and each resource may be queried, returned, or released.
  • the forwarding resource management module is deployed in the controller, to complete management of forwarding resources, so that services can be configured on both the controller and the forwarder, and network flexibility is improved. This is applicable to a scenario of migration from a current network structure to SDN.
  • the forwarder can support a hybrid mode after being slightly changed according to Summary of the invention.
  • the controller queries multiple idle forwarding resources and then reserves an idle forwarding resource, frequent querying from the forwarder is reduced, and idle forwarding resource allocation efficiency is improved.
  • the OpenFlow protocol-based resource control method provided by the present invention may further be applicable to a controller switchover scenario.
  • a new controller after the switchover can obtain an idle forwarding resource from the forwarder by using the foregoing execution method, so that the controller completes the switchover smoothly without backup, it can be ensured that a forwarding resource is allocated to a service, and a process of allocating the forwarding resource to the service is prevented from being interrupted.
  • a controller 1 obtains an idle forwarding resource from the forwarder, and then allocates the idle forwarding resource for use by a service. In this case, the controller 1 is switched over to the controller 2.
  • the controller 2 may obtain an idle forwarding resource from the forwarder, to implement consistency between idle forwarding resources before and after the switchover.
  • the controller 2 may continue to allocate an idle forwarding resource for use by a service.
  • a controller 500 provided by an embodiment of the present invention may include: a sending module 501 , a receiving module 502 , and a resource allocation module 503 .
  • the sending module 501 is configured to send a resource allocation request message to a forwarder, where an OpenFlow interface is established between the controller and the forwarder.
  • the receiving module 502 is configured to receive a resource configuration message that is sent by the forwarder in response to the resource allocation request message, where the resource configuration message includes an idle forwarding resource obtained by the forwarder from total forwarding resources.
  • the resource allocation module 503 is configured to allocate, according to the idle forwarding resource, a service-accessible forwarding resource to an already created service on the controller, where the service-accessible forwarding resource is some or all resources in idle forwarding resources.
  • the sending module 501 is specifically configured to: when the controller establishes an initial connection to the forwarder, send, to the forwarder, a resource allocation request message for requesting to obtain multiple resources; and if multiple idle forwarding resources obtained by the controller have been allocated, re-send, to the forwarder, the resource allocation request message for requesting to obtain multiple resources.
  • the receiving module 502 is specifically configured to receive a resource configuration message that is re-sent by the forwarder in response to the resource allocation request message, where the resource configuration message that is re-sent by the forwarder includes multiple idle forwarding resources re-obtained by the forwarder from the total forwarding resources.
  • the sending module 501 is further configured to send a resource release request message after the resource allocation module allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller.
  • the resource release request message includes an idle forwarding resource that is determined by the controller and that needs to be released.
  • the resource allocation module 503 is specifically configured to: store the idle forwarding resource included in the resource configuration message into a resource pool; and obtain the idle forwarding resource from the resource pool, and allocate the idle forwarding resource to the already created service on the controller.
  • the controller 500 further includes a caching module 504 , configured to: after the resource allocation module 503 allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller, establish an association relationship between the already created service on the controller and the service-accessible forwarding resource allocated to the service, and store the association relationship in a local cache of the controller, so that the controller reallocates the service-accessible forwarding resource to the service according to the association relationship.
  • a caching module 504 configured to: after the resource allocation module 503 allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller, establish an association relationship between the already created service on the controller and the service-accessible forwarding resource allocated to the service, and store the association relationship in a local cache of the controller, so that the controller reallocates the service-accessible forwarding resource to the service according to the association relationship.
  • the OpenFlow interface is established between the controller and the forwarder.
  • the controller sends the resource allocation request message to the forwarder.
  • the controller receives the resource configuration message sent by the forwarder.
  • the resource configuration message includes the idle forwarding resource obtained by the forwarder from the total forwarding resources.
  • the controller allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller.
  • the service-accessible forwarding resource is some or all resources in the idle forwarding resources. After allocating the service-accessible forwarding resource to the service, the controller may deliver data to the already created service.
  • the controller queries, from the forwarder, the idle forwarding resource in the total forwarding resources and allocates the idle forwarding resource for use by the service. This can satisfy a requirement of the service on the controller for a forwarding resource while not affecting allocation of a forwarding resource to a service of the forwarder by the forwarder.
  • Use of the forwarding resources by the forwarder and the controller causes no conflict, and the problem in the prior art that forwarding resources are not fully used can also be resolved.
  • a forwarder 600 provided by an embodiment of the present invention may include: a receiving module 601 , a resource management module 602 , and a sending module 603 .
  • the receiving module 601 is configured to receive a resource allocation request message sent by a controller, where an OpenFlow interface is established between the forwarder and the controller.
  • the resource management module 602 is configured to obtain an idle forwarding resource from total forwarding resources according to the resource allocation request message.
  • the sending module 603 is configured to send a resource configuration message to the controller, where the resource configuration message includes the idle forwarding resource obtained by the forwarder.
  • the receiving module 601 is specifically configured to: when the forwarder establishes an initial connection to the controller, receive a resource allocation request message for requesting to obtain multiple resources.
  • the resource management module 602 is specifically configured to obtain multiple idle forwarding resources from the total forwarding resources according to the resource allocation request message for requesting to obtain multiple resources.
  • the receiving module 601 is further configured to: after the sending module sends the resource configuration message to the controller, receive a resource release request message sent by the controller.
  • the resource release request message includes an idle forwarding resource that is determined by the controller and that needs to be released.
  • the resource management module 602 is further configured to add, to the total forwarding resources, the idle forwarding resource that needs to be released.
  • the OpenFlow interface is established between the controller and the forwarder.
  • the controller sends the resource allocation request message to the forwarder.
  • the controller receives the resource configuration message sent by the forwarder.
  • the resource configuration message includes the idle forwarding resource obtained by the forwarder from the total forwarding resources.
  • the controller allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller.
  • the service-accessible forwarding resource is some or all resources in the idle forwarding resources. After allocating the service-accessible forwarding resource to the service, the controller may deliver data to the already created service.
  • the controller queries, from the forwarder, the idle forwarding resource in the total forwarding resources and allocates the idle forwarding resource for use by the service. This can satisfy a requirement of the service on the controller for a forwarding resource while not affecting allocation of a forwarding resource to a service of the forwarder by the forwarder.
  • Use of the forwarding resources by the forwarder and the controller causes no conflict, and the problem in the prior art that forwarding resources are not fully used can also be resolved.
  • an OpenFlow protocol-based resource control system 700 may include the controller 500 in FIG. 5 - a or FIG. 5 - b and the forwarder 600 in FIG. 6 , where an OpenFlow interface is established between the controller 500 and the forwarder 600 .
  • the OpenFlow interface is established between the controller and the forwarder.
  • the controller sends the resource allocation request message to the forwarder.
  • the controller receives the resource configuration message sent by the forwarder.
  • the resource configuration message includes the idle forwarding resource obtained by the forwarder from the total forwarding resources.
  • the controller allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller.
  • the service-accessible forwarding resource is some or all resources in the idle forwarding resources. After allocating the service-accessible forwarding resource to the service, the controller may deliver data to the already created service.
  • the controller requests, from the forwarder, the idle forwarding resource in the total forwarding resources and allocates the idle forwarding resource for use by the service. This can satisfy a requirement of the service on the controller for a forwarding resource while not affecting allocation of a forwarding resource to a service of the forwarder by the forwarder.
  • Use of the forwarding resources by the forwarder and the controller causes no conflict, and the problem in the prior art that forwarding resources are not fully used can also be resolved.
  • An embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores a program, and the program performs some or all of the steps recorded in the foregoing method embodiments.
  • the controller 800 includes:
  • a network interface 801 , a processor 802 , and a memory 803 may be connected by using a bus or in another manner. Connection by using the bus is used as an example in FIG. 8 .
  • An implementation of the controller is described by example as follows.
  • the processor 802 in the controller 800 is specifically a central processing unit (CPU), configured to compute and process use of a forwarding resource.
  • the memory 803 is configured to store the forwarding resource.
  • the memory 803 may include a volatile memory such as a random-access memory (RAM).
  • the memory may also include a non-volatile memory such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD).
  • the memory 803 may also include a combination of the foregoing types of memories.
  • the network interface 801 may be an Ethernet interface, a synchronous digital hierarchy (Synchronous Digital Hierarchy, SDH) interface, or the like, and configured to implement OpenFlow protocol-based communication with a forwarder.
  • SDH Synchronous Digital Hierarchy
  • the processor 802 is configured to perform the following steps:
  • the processor 802 is specifically configured to perform the following steps:
  • the resource configuration message that is re-sent by the forwarder includes multiple idle forwarding resources re-obtained by the forwarder from the total forwarding resources.
  • the OpenFlow interface is established between the controller and the forwarder.
  • the controller sends the resource allocation request message to the forwarder.
  • the controller receives the resource configuration message sent by the forwarder.
  • the resource configuration message includes the idle forwarding resource obtained by the forwarder from the total forwarding resources.
  • the controller allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller.
  • the service-accessible forwarding resource is some or all resources in the idle forwarding resources. After allocating the service-accessible forwarding resource to the service, the controller may deliver data to the already created service.
  • the controller queries, from the forwarder, the idle forwarding resource in the total forwarding resources and allocates the idle forwarding resource for use by the service. This can satisfy a requirement of the service on the controller for a forwarding resource while not affecting allocation of a forwarding resource to a service of the forwarder by the forwarder.
  • Use of the forwarding resources by the forwarder and the controller causes no conflict, and the problem in the prior art that forwarding resources are not fully used can also be resolved.
  • the forwarder 900 includes:
  • a network interface 901 a forwarding chip 902 , a processor 903 , and a memory 904 (there may be one or more processors 903 in the forwarder 900 , and one processor is used as an example in FIG. 9 ).
  • the network interface 901 , the forwarding chip 902 , the processor 903 , and the memory 904 may be connected by using a bus or in another manner. Connection by using the bus is used as an example in FIG. 9 .
  • An implementation of the forwarder is described by example as follows.
  • the processor 903 in the forwarder 900 may be specifically a central processing unit (CPU), configured to compute and process data, for example, configured to compute a control plane on the forwarder.
  • CPU central processing unit
  • the memory 904 is configured to store data.
  • the network interface 901 may be an Ethernet interface, an SDH interface, or the like, and configured to: implement OpenFlow protocol-based communication with a controller, and forward a packet corresponding to a service.
  • the forwarding chip 902 may be one or more cores in the CPU that are used for forwarding, a network processor (NP), a hardware chip, or any combination thereof.
  • the foregoing hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • the foregoing PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
  • the processor 903 is configured to perform the following steps:
  • the processor 903 is specifically configured to perform the following steps:
  • the OpenFlow interface is established between the controller and the forwarder.
  • the controller sends the resource allocation request message to the forwarder.
  • the controller receives the resource configuration message sent by the forwarder.
  • the resource configuration message includes the idle forwarding resource obtained by the forwarder from the total forwarding resources.
  • the controller allocates, according to the idle forwarding resource, the service-accessible forwarding resource to the already created service on the controller.
  • the service-accessible forwarding resource is some or all resources in the idle forwarding resources. After allocating the service-accessible forwarding resource to the service, the controller may deliver data to the already created service.
  • the controller queries, from the forwarder, the idle forwarding resource in the total forwarding resources and allocates the idle forwarding resource for use by the service. This can satisfy a requirement of the service on the controller for a forwarding resource while not affecting allocation of a forwarding resource to a service of the forwarder by the forwarder.
  • Use of the forwarding resources by the forwarder and the controller causes no conflict, and the problem in the prior art that forwarding resources are not fully used can also be resolved.
  • connection relationships between modules indicate that the modules have communication connections with each other.
  • the present invention may be implemented by software in addition to necessary universal hardware or by dedicated hardware only, including a dedicated integrated circuit, a dedicated memory, a dedicated component, and the like.
  • any functions that can be performed by a computer program can be easily implemented by using corresponding hardware.
  • a specific hardware structure used to achieve a same function may be of various forms, for example, in a form of an analog circuit, a digital circuit, or a dedicated circuit.
  • the technical solutions of the present invention may be implemented in a form of a software product.
  • the software product is stored in a readable storage medium, such as a floppy disk, a flash memory, a removable hard disk, a read-only memory, a random access memory, a magnetic disk, or an optical disc of a computer, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform the methods described in the embodiments of the present invention.
  • a computer device which may be a personal computer, a server, or a network device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
US15/858,815 2015-06-30 2017-12-29 Openflow protocol-based resource control method and system, and apparatus Active US11140091B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510373310.2A CN106330508B (zh) 2015-06-30 2015-06-30 一种OpenFlow协议的资源控制方法、装置和系统
CN201510373310.2 2015-06-30
PCT/CN2016/086759 WO2017000823A2 (zh) 2015-06-30 2016-06-22 一种OpenFlow协议的资源控制方法、装置和系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/086759 Continuation WO2017000823A2 (zh) 2015-06-30 2016-06-22 一种OpenFlow协议的资源控制方法、装置和系统

Publications (2)

Publication Number Publication Date
US20180123969A1 US20180123969A1 (en) 2018-05-03
US11140091B2 true US11140091B2 (en) 2021-10-05

Family

ID=57607897

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/858,815 Active US11140091B2 (en) 2015-06-30 2017-12-29 Openflow protocol-based resource control method and system, and apparatus

Country Status (4)

Country Link
US (1) US11140091B2 (zh)
EP (1) EP3306860B1 (zh)
CN (1) CN106330508B (zh)
WO (1) WO2017000823A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330508B (zh) * 2015-06-30 2019-10-25 华为技术有限公司 一种OpenFlow协议的资源控制方法、装置和系统
CN109120555B (zh) * 2017-06-26 2022-10-14 中兴通讯股份有限公司 一种资源分配方法及系统
CN109787804B (zh) * 2017-11-15 2022-04-26 华为技术有限公司 一种业务资源管理的方法、设备和系统
CN108390784B (zh) * 2018-02-13 2019-10-08 中国联合网络通信集团有限公司 一种资源回收的方法及装置
US20200151010A1 (en) * 2018-11-10 2020-05-14 Nutanix, Inc. Scheduling of fixed number of non-sharable resources

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120300615A1 (en) * 2011-05-23 2012-11-29 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a Cloud Computer with OpenFlow Data Plane
CN103338163A (zh) 2013-07-16 2013-10-02 清华大学 支持动态弹性资源调度的软件定义网络控制器
US20140089506A1 (en) 2012-09-26 2014-03-27 Krishna P. Puttaswamy Naga Securing software defined networks via flow deflection
CN103780471A (zh) 2014-01-04 2014-05-07 浙江工商大学 一种应用于软件定义网络的多控制器管理网络设备的方法
US20140173018A1 (en) 2012-12-13 2014-06-19 Futurewei Technologies, Inc. Content Based Traffic Engineering in Software Defined Information Centric Networks
CN104125576A (zh) 2013-04-25 2014-10-29 华为技术有限公司 控制和承载分离架构下的频谱策略调整方法及装置
CN104253767A (zh) 2013-06-27 2014-12-31 华为技术有限公司 一种虚拟分片网络的实现方法及一种交换机
US20150023210A1 (en) * 2012-01-09 2015-01-22 Telefonaktiebolaget L M Ericsson (Publ) Network Device Control in a Software Defined Network
US20150127805A1 (en) * 2013-11-04 2015-05-07 Ciena Corporation Dynamic bandwidth allocation systems and methods using content identification in a software-defined networking controlled multi-layer network
US20150154258A1 (en) * 2013-12-04 2015-06-04 Nec Laboratories America, Inc. System and method for adaptive query plan selection in distributed relational database management system based on software-defined network
US20160127811A1 (en) * 2014-10-30 2016-05-05 International Business Machines Corporation Enabling software-defined control in passive optical networks
US20160182380A1 (en) * 2014-12-22 2016-06-23 Telefonaktiebolaget L M Ericsson (Publ) Adaptive load balancing in packet processing
US20160197839A1 (en) * 2015-01-05 2016-07-07 Futurewei Technologies, Inc. Method and system for providing qos for in-band control traffic in an openflow network
US20170026244A1 (en) * 2015-07-22 2017-01-26 International Business Machines Corporation Low latency flow cleanup of openflow configuration changes
US20170329639A1 (en) * 2014-12-04 2017-11-16 Nokia Solutions And Networks Management International Gmbh Steering of virtualized resources
US20180123969A1 (en) * 2015-06-30 2018-05-03 Huawei Technologies Co., Ltd. Openflow protocol-based resource control method and system, and apparatus

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120300615A1 (en) * 2011-05-23 2012-11-29 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a Cloud Computer with OpenFlow Data Plane
US20150023210A1 (en) * 2012-01-09 2015-01-22 Telefonaktiebolaget L M Ericsson (Publ) Network Device Control in a Software Defined Network
US20140089506A1 (en) 2012-09-26 2014-03-27 Krishna P. Puttaswamy Naga Securing software defined networks via flow deflection
US20140173018A1 (en) 2012-12-13 2014-06-19 Futurewei Technologies, Inc. Content Based Traffic Engineering in Software Defined Information Centric Networks
CN104125576A (zh) 2013-04-25 2014-10-29 华为技术有限公司 控制和承载分离架构下的频谱策略调整方法及装置
CN104253767A (zh) 2013-06-27 2014-12-31 华为技术有限公司 一种虚拟分片网络的实现方法及一种交换机
CN103338163A (zh) 2013-07-16 2013-10-02 清华大学 支持动态弹性资源调度的软件定义网络控制器
US20150127805A1 (en) * 2013-11-04 2015-05-07 Ciena Corporation Dynamic bandwidth allocation systems and methods using content identification in a software-defined networking controlled multi-layer network
US20150154258A1 (en) * 2013-12-04 2015-06-04 Nec Laboratories America, Inc. System and method for adaptive query plan selection in distributed relational database management system based on software-defined network
CN103780471A (zh) 2014-01-04 2014-05-07 浙江工商大学 一种应用于软件定义网络的多控制器管理网络设备的方法
US20160127811A1 (en) * 2014-10-30 2016-05-05 International Business Machines Corporation Enabling software-defined control in passive optical networks
US20170329639A1 (en) * 2014-12-04 2017-11-16 Nokia Solutions And Networks Management International Gmbh Steering of virtualized resources
US20160182380A1 (en) * 2014-12-22 2016-06-23 Telefonaktiebolaget L M Ericsson (Publ) Adaptive load balancing in packet processing
US20160197839A1 (en) * 2015-01-05 2016-07-07 Futurewei Technologies, Inc. Method and system for providing qos for in-band control traffic in an openflow network
US20180123969A1 (en) * 2015-06-30 2018-05-03 Huawei Technologies Co., Ltd. Openflow protocol-based resource control method and system, and apparatus
US20170026244A1 (en) * 2015-07-22 2017-01-26 International Business Machines Corporation Low latency flow cleanup of openflow configuration changes

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Extended European Search Report dated Mar. 15, 2018, in corresponding European Patent Application No. 16817187.4, 8 pgs.
International Search Report dated Aug. 31, 2016 in corresponding International Patent Application No. PCT/CN2016/086759.
Office Action, dated Nov. 27, 2018, in Chinese Application No. 201580020619.1 (7 pp.).
Office Action, dated Nov. 30, 2018, in Chinese Application No. 201510373310.2 (6 pp.).
Open Networking Foundation, "Openflow Switch Specification", Version 1.4.0 (wire Protocol 0x05), Oct. 14, 2013, ONF TS-012, 206 pgs.
Written Opinion of the International Search Authority dated Aug. 31, 2016 in corresponding International Patent Application No. PCT/CN2016/086759.

Also Published As

Publication number Publication date
EP3306860A2 (en) 2018-04-11
CN106330508B (zh) 2019-10-25
EP3306860A4 (en) 2018-04-18
CN106330508A (zh) 2017-01-11
WO2017000823A3 (zh) 2017-02-16
EP3306860B1 (en) 2020-08-26
WO2017000823A2 (zh) 2017-01-05
US20180123969A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
US11140091B2 (en) Openflow protocol-based resource control method and system, and apparatus
US9999030B2 (en) Resource provisioning method
US10263889B2 (en) Data forwarding method, device, and system in software-defined networking
CN105323136B (zh) 信息的处理方法及装置
US11005752B2 (en) Packet transmission
EP2993838B1 (en) Methods for setting a member identity of gateway device and corresponding management gateway devices
US10880248B2 (en) Orchestrator agnostic application container visibility
KR101714279B1 (ko) 폴리시 기반 데이터센터 네트워크 자동화를 제공하는 시스템 및 방법
WO2017045471A1 (zh) 一种在云计算系统中获取业务链信息的方法和装置
CN102857494B (zh) 通用网络接口控制器
WO2016107418A1 (zh) 云化网络通信路径的分配方法、装置及系统
EP3522451B1 (en) Method for implementing network virtualization and related apparatus and communications system
EP2159956A1 (en) A method, system and device for configuring the operations, administrator and maintenance property
WO2018068588A1 (zh) 提供组播业务的方法和软件定义网络控制器
CN105429938A (zh) 一种资源配置方法及装置
US20220350637A1 (en) Virtual machine deployment method and related apparatus
CN112751768A (zh) 业务报文转发方法、装置及计算机存储介质
CN101977123B (zh) 虚拟专用局域网站点id生成方法、系统及装置
CN111092824B (zh) 流量管理系统、方法、电子终端、及存储介质
CN113254148A (zh) 一种虚拟机的迁移方法及云管理平台
CN112751766A (zh) 报文转发方法、装置及计算机存储介质
US9344487B2 (en) Method for networking cPaaS components for application on-boarding
CN115883283A (zh) 一种容器化vnf的部署方法及装置
WO2024087691A1 (zh) 一种报文处理方法及相关设备
WO2021238763A1 (zh) 一种路由管理方法、设备及系统

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: AWAITING TC RESP., ISSUE FEE NOT PAID

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

AS Assignment

Owner name: HUAWEI TECHNOLOGIES CO., LTD., CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JIANG, ZHIHUA;MA, PENG;NI, HUI;SIGNING DATES FROM 20160717 TO 20180319;REEL/FRAME:057200/0514

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE