CN105743821B - Method and system for preventing conflict of resources occupied by logic switch - Google Patents

Method and system for preventing conflict of resources occupied by logic switch Download PDF

Info

Publication number
CN105743821B
CN105743821B CN201410767979.5A CN201410767979A CN105743821B CN 105743821 B CN105743821 B CN 105743821B CN 201410767979 A CN201410767979 A CN 201410767979A CN 105743821 B CN105743821 B CN 105743821B
Authority
CN
China
Prior art keywords
resource
openflow
logical switch
switch
logical
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
CN201410767979.5A
Other languages
Chinese (zh)
Other versions
CN105743821A (en
Inventor
肖敏
张君辉
焦欣文
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201410767979.5A priority Critical patent/CN105743821B/en
Priority to PCT/CN2015/097012 priority patent/WO2016091186A1/en
Publication of CN105743821A publication Critical patent/CN105743821A/en
Application granted granted Critical
Publication of CN105743821B publication Critical patent/CN105743821B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention discloses a method and a system for preventing resources occupied by a logic switch from conflicting, wherein the method comprises the following steps: aiming at a resource type needing to realize resource isolation, respectively configuring non-overlapping occupiable resource ranges of the resource type for different logic switches on the same OpenFlow switch; after the logical switch establishes control connection with the OpenFlow controller, inquiring the logical switch and determining the resource type with resource isolation limitation; when the OpenFlow controller needs to allocate the resource type with the resource isolation limitation to the corresponding logical switch, inquiring an occupiable resource range of the resource type from the logical switch, and selecting a resource from the occupiable resource range to allocate to the logical switch. The invention ensures that different OpenFlow controllers which control different logic switches on the same OpenFlow switch do not conflict when allocating resources to the logic switches controlled by the controllers.

Description

Method and system for preventing conflict of resources occupied by logic switch
Technical Field
The present invention relates to Software Defined Networking (SDN) technologies, and in particular, to a method and a system for preventing a resource occupied by a logic switch from conflicting.
Background
the OpenFlow network is a software defined network, and adopts a structure that a control plane is separated from a forwarding plane. Figure 1 is a schematic diagram of an OpenFlow network component architecture according to the prior art. As shown in fig. 1, a management plane of the OpenFlow network is implemented by an OpenFlow configuration point, a control plane of the OpenFlow network is implemented by an OpenFlow controller, a network application (App) calls the OpenFlow controller through an Application Programming Interface (API) to implement control of the OpenFlow network, and a forwarding plane of the OpenFlow network is implemented by an OpenFlow switch. An interface between the OpenFlow configuration point and the OpenFlow switch runs an OpenFlow management and configuration (OF-configuration) protocol, an interface between the OpenFlow controller and the OpenFlow switch runs an OpenFlow protocol, and both the protocols are made and modified by an Open Networking Foundation (ONF). The OpenFlow configuration point manages and configures the OpenFlow switch through the OF-Config channel, and the OpenFlow controller controls the forwarding behavior OF the OpenFlow switch through the OpenFlow channel, so that the separation OF data forwarding and routing control is realized.
Currently, an OpenFlow configuration point may divide multiple logical switches on the same OpenFlow switch according to ports, where different logical switches occupy different OpenFlow port resources and are controlled by different OpenFlow controllers respectively. Fig. 2 is an exemplary diagram of partitioning multiple OpenFlow logical switches on one OpenFlow switch according to the prior art. As shown in fig. 2, the OpenFlow configuration point configures two logical switches, namely an OpenFlow logical switch 1 and an OpenFlow logical switch 2, on an OpenFlow switch, where the OpenFlow logical switch 1 occupies a part of OpenFlow port resources and is controlled by the OpenFlow controller 1, and the OpenFlow logical switch 2 occupies another part of OpenFlow port resources and is controlled by the OpenFlow controller 2.
Due to the limitation of hardware implementation, resources respectively occupied by a plurality of logical switches on the same OpenFlow switch are not completely isolated, that is, potential conflicts may exist when some resources of the OpenFlow switch are subsequently dynamically allocated among different logical switches. For example, only one Virtual Local Area Network (VLAN) forwarding table may be shared by multiple logical switches on one OpenFlow switch, and since different logical switches are controlled by different OpenFlow controllers, different OpenFlow controllers may add different ports of multiple logical switches to the same VLAN, which is generally undesirable for a network operator. However, an effective solution is still lacking for the problem in the prior art that a resource allocated to a certain OpenFlow logical switch by a certain OpenFlow controller conflicts with a resource allocated to another OpenFlow logical switch by another OpenFlow controller.
Disclosure of Invention
In view of this, the present invention provides a method and a system for preventing resource occupied by a logical switch from conflicting, so that different OpenFlow controllers controlling different logical switches on the same OpenFlow switch do not conflict when allocating resources to the respective controlled logical switches.
In order to solve the above problems, the present invention provides a method for preventing the resource occupied by a logical switch from conflicting, comprising the following steps: aiming at a resource type needing to realize resource isolation, respectively configuring non-overlapping occupiable resource ranges of the resource type for different logic switches on the same OpenFlow switch; after the logical switch establishes control connection with the OpenFlow controller, inquiring the logical switch and determining the resource type with resource isolation limitation; when the OpenFlow controller needs to allocate the resource type with the resource isolation limitation to the corresponding logical switch, inquiring an occupiable resource range of the resource type from the logical switch, and selecting a resource from the occupiable resource range to allocate to the logical switch.
Further, the resource types include one or more of Virtual Local Area Network (VLAN) resources, Virtual Routing Forwarding (VRF) resources, multiprotocol label switching (MPLS) label resources.
Further, after the logical switch establishes a control connection with the OpenFlow controller to which the logical switch belongs, querying the logical switch, and determining the resource type with the resource isolation restriction includes: after each logic switch automatically establishes a control connection with the corresponding OpenFlow controller and runs an OpenFlow protocol on the control connection, the OpenFlow controller immediately sends a query message to the logic switch and receives a reply message of the logic switch to acquire the resource type with resource isolation limitation.
Further, querying the logical switch for an occupiable resource range of the resource type, and selecting resources from the occupiable resource range to allocate to the logical switch comprises: the OpenFlow controller sends a query message to the logical switch and receives a reply message of the logical switch to acquire an available resource range of the resource type on the logical switch, and selects resources from the acquired available resource range to allocate to the logical switch.
Further, the resource type is determined according to a resource isolation restriction condition of the OpenFlow switch.
The invention also provides a system for preventing the resource occupied by the logic switch from conflicting, which comprises: the device comprises a configuration module, a determination module and a distribution module. The configuration module is configured to configure, for resource types that need to implement resource isolation, an available resource range of the resource types that do not overlap for different logical switches on the same OpenFlow switch; the determining module is configured to query the logical switch and determine a resource type with resource isolation restriction after the logical switch establishes a control connection with the OpenFlow controller to which the logical switch belongs; the allocation module is configured to, when the OpenFlow controller needs to allocate the resource type with the resource isolation limitation to the corresponding logical switch, query the logical switch for an occupiable resource range of the resource type, and select a resource from the occupiable resource range to allocate to the logical switch.
further, the resource type includes one or more of VLAN resource, VRF resource, MPLS label resource.
Further, the determining module is configured to query the logical switch after the logical switch establishes a control connection with the OpenFlow controller to which the logical switch belongs, and determine the resource type with the resource isolation limitation includes: after each logical switch automatically establishes a control connection with the corresponding OpenFlow controller and runs the OpenFlow protocol on the control connection, the determining module is configured to send a query message to the logical switch and receive a reply message of the logical switch to obtain a resource type with resource isolation restriction.
Further, querying the logical switch for an occupiable resource range of the resource type, and selecting resources from the occupiable resource range to allocate to the logical switch comprises: the allocation module is configured to send a query message to the logical switch and receive a reply message of the logical switch, to obtain an available resource range of the resource type on the logical switch, and to select a resource from the obtained available resource range to allocate to the logical switch.
Further, the resource type is determined according to a resource isolation restriction condition of the OpenFlow switch.
The invention utilizes OpenFlow configuration points to configure the same type of resource for different logic switches on the same OpenFlow switch in a non-overlapping occupiable resource range according to the resource isolation limitation condition of the OpenFlow switch, and realizes the acquisition of the resource type with resource isolation limitation and the configured occupiable resource range of the logic switch by the OpenFlow controller by expanding the existing OpenFlow protocol.
Drawings
figure 1 is a schematic diagram of an OpenFlow network component architecture according to the prior art;
Fig. 2 is an exemplary diagram of partitioning multiple OpenFlow logical switches on an OpenFlow switch according to the prior art;
Fig. 3 is a flowchart of a method for preventing resource occupied by a logical switch from conflicting according to a preferred embodiment of the present invention;
Fig. 4 is a flowchart of a method for preventing a resource occupied by a logical switch from conflicting according to a first embodiment of the present invention;
Fig. 5 is a flowchart of a method for preventing a resource occupied by a logical switch from conflicting according to a second embodiment of the present invention;
Fig. 6 is a flowchart of a method for preventing a resource occupied by a logical switch from conflicting according to a third embodiment of the present invention;
Fig. 7 is a schematic diagram of a system for preventing resource conflicts occupied by logical switches according to a preferred embodiment of the present invention.
Detailed Description
In order to make the technical problems, technical solutions and advantages of the present invention more apparent, the following detailed description is given with reference to the accompanying drawings and specific embodiments.
The invention provides a method for preventing resource occupied by a logic switch from conflicting, and a flow chart of the method is shown in figure 3 and comprises the following steps.
Step S302, for a resource type that needs to implement resource isolation, respectively configuring, for different logical switches on the same OpenFlow switch, an unoccupied resource range of the resource type that does not overlap.
specifically, the specific software and hardware implementation methods adopted by different OpenFlow switches may be different, and thus the resource isolation restriction conditions of different OpenFlow switches may also be different. For example, a Virtual Local Area Network (VLAN) resource of an OpenFlow switch is shared among different logical switches created on the OpenFlow switch, that is, ports on different logical switches assigned the same VLAN are intercommunicated, and isolation of the VLAN resource between the logical switches cannot be performed; meanwhile, VLAN resources of the OpenFlow switch are isolated among different logical switches created on the OpenFlow switch, that is, even if ports to which the same VLAN is allocated on different logical switches cannot communicate with each other. Therefore, a network operator can determine which resource types need to be manually configured to implement isolation according to the resource isolation restriction condition of the OpenFlow switch, and then the OpenFlow configuration point configures an occupiable resource range for the logical switch respectively for each determined resource type. The occupiable resource ranges configured by different logic switches on the same OpenFlow switch for the same type of resource are not overlapped.
Step S304, after the logical switch establishes a control connection with the corresponding OpenFlow controller, the logical switch is queried to determine the resource type with the resource isolation restriction.
Specifically, after an OpenFlow configuration point creates a plurality of logical switches on an OpenFlow switch and configures an occupiable resource range, each logical switch automatically establishes a control connection with an OpenFlow controller to which the logical switch belongs and runs an OpenFlow protocol on the control connection. The OpenFlow controller then sends a query message to the logical switch and receives a reply message from the logical switch to learn the type of resource (e.g., VLAN resource) for which there is a resource isolation restriction. Here, the OpenFlow controller immediately queries the logical switch for the resource type with the resource isolation restriction after the control connection is successfully established, so that the OpenFlow controller can know the resource type with the resource isolation restriction in the first time.
Step S306, when the OpenFlow controller needs to allocate the resource type with the resource isolation limitation to the corresponding logical switch, querying an occupiable resource range of the resource type for the logical switch, and selecting a resource from the occupiable resource range to allocate to the logical switch.
Specifically, the OpenFlow controller that accepts network application calls allocates resources as needed for the logical switches it controls. Because the OpenFlow controller knows the resource type with resource isolation limitation in advance on the logical switch, when the OpenFlow controller needs to allocate the resource type with resource isolation limitation to the logical switch, firstly, the OpenFlow controller sends a query message to the logical switch and receives a reply message of the logical switch to determine an available resource range of the resource type on the logical switch, and then, the OpenFlow controller selects a resource from the acquired available resource range to allocate to the logical switch. The OpenFlow controller queries the configured occupiable resource range on the logic switch as required, so that the problems of long-time occupation control connection and easy error caused by querying the occupiable resource ranges of all resource types at one time can be solved, and the query process of the occupiable resource ranges of the resource types which do not need to be distributed can be omitted, so that the query efficiency is improved.
It can be seen from the above flow that the method for preventing the resource occupied by the logic switch from conflicting provided in the preferred embodiment of the present invention is simple and practical, and the OpenFlow controller initiates the query for the resource types with resource isolation restrictions and the resource occupation ranges of the resource types on the logic switch, so that the method has good compatibility and expansibility, is applicable to various OpenFlow switches produced by using different software and hardware schemes, and better solves the technical problem that the resource occupied by the logic switch conflicts.
example one
Fig. 4 is a flowchart of a method for preventing a resource occupied by a logical switch from colliding according to an embodiment of the present invention. As shown in fig. 4, in this embodiment, two OpenFlow logical switches on the same OpenFlow switch are respectively controlled by two OpenFlow controllers, that is, the OpenFlow logical switch 1 is controlled by the OpenFlow controller 1, and the OpenFlow logical switch 2 is controlled by the OpenFlow controller 2. Two OpenFlow logical switches share VLAN resources of the same OpenFlow switch and there is a potential for collisions.
In this embodiment, an OpenFlow configuration point, an OpenFlow controller, and an OpenFlow logic switch in an OpenFlow network execute the following steps:
step 402, the OpenFlow configuration point respectively creates an OpenFlow logical switch 1 and an OpenFlow logical switch 2 on the OpenFlow switch, configures a VLAN occupiable range [1-2000] for the OpenFlow logical switch 1, and configures a VLAN occupiable range [ 2001-. The VLAN occupiable range [1-2000] of the OpenFlow logical switch 1 and the VLAN occupiable range [2001- & 4094] of the OpenFlow logical switch 2 are not overlapped, so that potential VLAN assignment conflicts, which may be caused by the fact that the two logical switches belong to two OpenFlow controllers, can be avoided.
In step 404, after the control connection between the OpenFlow logic switch 1 and the OpenFlow controller 1 is successfully established, the OpenFlow controller 1 immediately sends a query message to the OpenFlow logic switch 1 to inquire which resource types on the OpenFlow logic switch 1 have resource isolation restrictions. After receiving the query message sent by the OpenFlow controller 1, the OpenFlow logical switch 1 sends a reply message to the OpenFlow controller 1 to feed back that the VLAN resource on the logical switch has a resource isolation limitation.
according to the specification of the OpenFlow protocol, the OpenFlow configuration point configures an address of the OpenFlow controller 1 to the OpenFlow logical switch 1, and then the OpenFlow logical switch 1 automatically initiates and establishes a control connection between the OpenFlow logical switch 1 and the OpenFlow controller 1.
In step 406, the network application invokes the OpenFlow controller 1 to allocate VLAN resources, and the OpenFlow controller 1 sends a query message to the OpenFlow logical switch 1 to query an occupiable range of the configured VLAN resources on the OpenFlow logical switch 1. After receiving the query message sent by the OpenFlow controller 1, the OpenFlow logical switch 1 sends a reply message to the OpenFlow controller 1 to feed back that the occupiable range of the VLAN resource configured on the logical switch is [1-2000 ]. After receiving the reply message of the OpenFlow logical switch 1, the OpenFlow controller 1 selects a VLAN from the obtained VLAN resource occupiable range [1-2000] to allocate to a port on the OpenFlow logical switch 1.
Steps 408 to 410 adopt the same mechanism and method as steps 404 to 406, and are executed when the network application calls the OpenFlow controller 2 to perform VLAN assignment on the OpenFlow logical switch 2, and steps 408 to 410 and steps 404 to 406 are parallel and independent from each other.
Example two
Fig. 5 is a flowchart of a method for preventing a resource occupied by a logical switch from colliding according to a second embodiment of the present invention. As shown in fig. 5, in this embodiment, two OpenFlow logical switches on the same OpenFlow switch are respectively controlled by two OpenFlow controllers, that is, the OpenFlow logical switch 1 is controlled by the OpenFlow controller 1, and the OpenFlow logical switch 2 is controlled by the OpenFlow controller 2. Two OpenFlow logical switches share VLAN resources and Virtual Routing Forwarding (VRF) resources of the same OpenFlow switch and there is a potential for collisions. VRFs are examples of virtual private networks defined in Virtual Private Network (VPN) technology specified by the Internet Engineering Task Force (IETF), and similar to VLANs, multiple VRFs may be simultaneously enabled on a port of one OpenFlow switch, but different logical switch ports belonging to different OpenFlow controllers on the same OpenFlow switch may cause collisions due to the same VRFs being enabled.
In this embodiment, an OpenFlow configuration point, an OpenFlow controller, and an OpenFlow logic switch in an OpenFlow network execute the following steps:
Step 502, the OpenFlow configuration point respectively creates an OpenFlow logical switch 1 and an OpenFlow logical switch 2 on the OpenFlow switch, configures a VLAN occupiable range [1-2000] and a VRF occupiable range [1-1000] for the OpenFlow logical switch 1, and configures a VLAN occupiable range [2001 + 4094] and a VRF occupiable range [1001 + 2000] for the OpenFlow logical switch 2.
The VLAN occupiable range [1-2000] of the OpenFlow logical switch 1 and the VLAN occupiable range [2001- & 4094] of the OpenFlow logical switch 2 are not overlapped, so that potential VLAN assignment conflicts, which may be caused by the fact that the two logical switches belong to two OpenFlow controllers, can be avoided. The VRF occupiable range [1-1000] of the OpenFlow logical switch 1 and the VRF occupiable range [1001-2000] of the OpenFlow logical switch 2 are not overlapped, so that the potential VRF distribution conflict possibly caused by the fact that the two logical switches belong to two OpenFlow controllers can be avoided.
In step 504, after the control connection between the OpenFlow logic switch 1 and the OpenFlow controller 1 is successfully established, the OpenFlow controller 1 immediately sends a query message to the OpenFlow logic switch 1 to inquire which types of resources on the OpenFlow logic switch 1 have resource isolation restrictions. After receiving the query message sent by the OpenFlow controller 1, the OpenFlow logical switch 1 sends a reply message to the OpenFlow controller 1 to feed back that the VLAN resource and the VRF resource on the logical switch have resource isolation restrictions.
step 506, the network application program calls the OpenFlow controller 1 to allocate the VLAN resource, and the OpenFlow controller 1 sends a query message to the OpenFlow logical switch 1 to inquire an occupiable range of the VLAN resource configured on the OpenFlow logical switch 1. After receiving the query message sent by the OpenFlow controller 1, the OpenFlow logical switch 1 sends a reply message to the OpenFlow controller 1 to feed back that the occupiable range of the VLAN resource configured on the logical switch is [1-2000 ]. After receiving the reply message of the OpenFlow logical switch 1, the OpenFlow controller 1 selects a VLAN from the obtained VLAN resource occupiable range [1-2000] to allocate to a port on the OpenFlow logical switch 1.
In step 508, the network application calls the OpenFlow controller 1 to allocate the VRF resources, and the OpenFlow controller 1 sends a query message to the OpenFlow logic switch 1 to query the available range of the VRF resources configured on the OpenFlow logic switch 1. After receiving the query message sent by the OpenFlow controller 1, the OpenFlow logical switch 1 sends a reply message to the OpenFlow controller 1 to feed back that the occupiable range of the VRF resource configured on the logical switch is [1-1000 ]. After receiving the reply message of the OpenFlow logical switch 1, the OpenFlow controller 1 selects a VRF from the obtained VRF resource occupation range [1-1000] to allocate to a port on the OpenFlow logical switch 1.
EXAMPLE III
Fig. 6 is a flowchart of a method for preventing a resource occupied by a logical switch from colliding according to a third embodiment of the present invention. As shown in fig. 6, in this embodiment, two OpenFlow logical switches on the same OpenFlow switch are respectively controlled by two OpenFlow controllers, that is, the OpenFlow logical switch 1 is controlled by the OpenFlow controller 1, and the OpenFlow logical switch 2 is controlled by the OpenFlow controller 2. Two OpenFlow logical switches share VLAN resources, VRF resources, and Platform-based (Per-Platform) multi-protocol label switching (MPLS) label resources of the same OpenFlow switch and there is a potential for potential collisions. MPLS is a communication forwarding protocol established by IETF, and a platform-based MPLS label on the same OpenFlow switch is used to uniformly distribute messages that enter the OpenFlow switch and belong to the same Forwarding Equivalence Class (FEC).
In this embodiment, an OpenFlow configuration point, an OpenFlow controller, and an OpenFlow logic switch in an OpenFlow network execute the following steps:
step 602, the OpenFlow configuration point respectively creates an OpenFlow logical switch 1 and an OpenFlow logical switch 2 on the OpenFlow switch, and configures a VLAN occupiable range [1-2000] for the OpenFlow logical switch 1]VRF occupiable range [1-1000]and platform-based MPLS label occupiable range [16-219]Configuring OpenFlow logical switch 2 with VLAN occupiable rangeSurround [2001-]VRF occupiable range [1001 + 2000-]And platform-based MPLS label occupiable Range [219+1-220]。
Wherein, the VLAN of the OpenFlow logical switch 1 can occupy the range [1-2000]VLAN occupiable range with OpenFlow logical switch 2 [2001-]Are non-overlapping, which may avoid potential VLAN assignment conflicts that may arise from the two OpenFlow logical switches belonging to two OpenFlow controllers separately. VRF occupiable range [1-1000] of OpenFlow logical switch 1]VRF occupiable range [1001- & 2000] with OpenFlow logical switch 2]And are also non-overlapping, this can avoid potential VRF assignment conflicts that may arise from the two OpenFlow logical switches belonging to two OpenFlow controllers separately. Platform-based MPLS Label occupiable Range for OpenFlow logical switch 1 [16-219]Platform-based MPLS Label occupiable Range with OpenFlow logical switch 2 [219+1-220]And are also non-overlapping, this can avoid potential platform-based MPLS label collisions that may be caused by the two OpenFlow logical switches belonging to two OpenFlow controllers separately.
in step 604, after the control connection between the OpenFlow logic switch 1 and the OpenFlow controller 1 is successfully established, the OpenFlow controller 1 immediately sends a query message to the OpenFlow logic switch 1 to inquire which types of resources on the OpenFlow logic switch 1 have resource isolation restrictions. After receiving the query message sent by the OpenFlow controller 1, the OpenFlow logical switch 1 sends a reply message to the OpenFlow controller 1 to feed back that the VLAN resource, the VRF resource, and the platform-based MPLS label resource on the logical switch have a resource isolation limitation.
Step 606, the network application calls the OpenFlow controller 1 to allocate the platform-based MPLS label resource, and the OpenFlow controller 1 sends a query message to the OpenFlow logical switch 1 to inquire an occupiable range of the platform-based MPLS label resource configured on the OpenFlow logical switch 1. After receiving the query message sent by the OpenFlow controller 1, the OpenFlow logical switch 1 sends a reply message to the OpenFlow controller 1 to feed back the configuration on the logical switchThe occupiable range of the placed platform-based MPLS label resource is [16-2 ]19]. After receiving the reply message of the OpenFlow logical switch 1, the OpenFlow controller 1 learns the occupation range [16-2 ] of the platform-based MPLS label resource19]selects a platform-based MPLS label to assign to the FEC entering the OpenFlow logical switch 1.
In step 608, the network application invokes the OpenFlow controller 1 to allocate VLAN resources, and the OpenFlow controller 1 sends a query message to the OpenFlow logical switch 1 to query an occupiable range of the configured VLAN resources on the OpenFlow logical switch 1. After receiving the query message sent by the OpenFlow controller 1, the OpenFlow logical switch 1 sends a reply message to the OpenFlow controller 1 to feed back that the occupiable range of the VLAN resource configured on the logical switch is [1-2000 ]. After receiving the reply message of the OpenFlow logical switch 1, the OpenFlow controller 1 selects a VLAN from the obtained VLAN resource occupiable range [1-2000] to allocate to a port on the OpenFlow logical switch 1.
As shown in fig. 7, a system for preventing resource occupied by a logical switch from conflicting is further provided in the preferred embodiment of the present invention, which includes: a configuration module 10, a determination module 12 and an assignment module 14. A configuration module 10 (e.g., an OpenFlow configuration point) configured to, for a resource type that needs to implement resource isolation, respectively configure an unoccupied resource range of the resource type that is not overlapped for different logical switches on the same OpenFlow switch; a determining module 12, configured to query the logical switch after the logical switch establishes a control connection with the OpenFlow controller to which the logical switch belongs, and determine a resource type in which a resource isolation restriction exists; an allocating module 14, configured to, when the OpenFlow controller needs to allocate the resource type with the resource isolation limitation to a corresponding logical switch, query an occupiable resource range of the resource type for the logical switch, and select a resource from the occupiable resource range to allocate to the logical switch. Specifically, after each logical switch automatically establishes a control connection with the corresponding OpenFlow controller and runs the OpenFlow protocol on the control connection, the determining module 12 is configured to send an inquiry message to the logical switch and receive a reply message of the logical switch, so as to learn the resource type with the resource isolation limitation. The allocating module 14 is configured to send a query message to the logical switch and receive a reply message of the logical switch, to obtain an available resource range of the resource type on the logical switch, and select a resource from the obtained available resource range to allocate to the logical switch.
In the present embodiment, the determining module 12 and the allocating module 14 are included in an OpenFlow controller, for example. However, the present invention is not limited thereto. In other embodiments, the determining module and the allocating module are modules separately configured from the OpenFlow controller, for example. The details of the system are the same as those of the above method, and thus are not described herein again.
The foregoing shows and describes the general principles and broad features of the present invention and advantages thereof. The present invention is not limited to the above-described embodiments, which are described in the specification and illustrated only for illustrating the principle of the present invention, but various changes and modifications may be made within the scope of the present invention as claimed without departing from the spirit and scope of the present invention.

Claims (10)

1. a method for preventing resource occupied by a logic switch from conflicting is characterized by comprising the following steps:
Aiming at a resource type needing to realize resource isolation, respectively configuring non-overlapping occupiable resource ranges of the resource type for different logic switches on the same OpenFlow switch;
After the logical switch establishes control connection with the OpenFlow controller, inquiring the logical switch and determining the resource type with resource isolation limitation;
when the OpenFlow controller needs to allocate the resource of the resource type with the resource isolation limitation to the corresponding logical switch, inquiring an occupiable resource range of the resource type from the logical switch, and selecting the resource from the occupiable resource range to allocate to the logical switch.
2. The method for preventing the resource occupied by the logical switch from colliding as recited in claim 1, wherein: the resource types include one or more of Virtual Local Area Network (VLAN) resources, Virtual Route Forwarding (VRF) resources, multiprotocol label switching (MPLS) label resources.
3. The method for preventing the resource occupied by the logical switch from conflicting with each other as claimed in claim 1, wherein after the logical switch establishes the control connection with the corresponding OpenFlow controller, querying the logical switch to determine the resource type with the resource isolation restriction includes: after each logic switch automatically establishes a control connection with the corresponding OpenFlow controller and runs an OpenFlow protocol on the control connection, the OpenFlow controller immediately sends a query message to the logic switch and receives a reply message of the logic switch to acquire the resource type with resource isolation limitation.
4. The method for preventing the resource occupied by the logical switch from colliding as recited in claim 1, wherein querying the logical switch for the occupiable resource range of the resource type and selecting the resource from the occupiable resource range to allocate to the logical switch comprises: the OpenFlow controller sends a query message to the logical switch and receives a reply message of the logical switch to acquire an available resource range of the resource type on the logical switch, and selects resources from the acquired available resource range to allocate to the logical switch.
5. The method for preventing the resource occupied by the logical switch from colliding as recited in claim 1, wherein: the resource type is determined according to the resource isolation limitation condition of the OpenFlow switch.
6. A system for preventing conflicts in resources occupied by logical switches, comprising: a configuration module, a determination module and a distribution module,
the configuration module is configured to configure, for resource types that need to implement resource isolation, an available resource range of the resource types that do not overlap for different logical switches on the same OpenFlow switch;
The determining module is configured to query the logical switch and determine a resource type with resource isolation restriction after the logical switch establishes a control connection with the OpenFlow controller to which the logical switch belongs;
The allocating module is configured to, when the OpenFlow controller needs to allocate the resource of the resource type with the resource isolation limitation to the corresponding logical switch, query the logical switch for an occupiable resource range of the resource type, and select a resource from the occupiable resource range to allocate to the logical switch.
7. The system for preventing collisions of resources occupied by logical switches according to claim 6, wherein: the resource type comprises one or more of VLAN resources, VRF resources and MPLS label resources.
8. The system for preventing resource occupied by a logical switch from conflicting with each other as claimed in claim 6, wherein said determining module is configured to query the logical switch after the logical switch establishes a control connection with the corresponding OpenFlow controller, and determine the resource type with resource isolation restriction includes: after each logical switch automatically establishes a control connection with the corresponding OpenFlow controller and runs the OpenFlow protocol on the control connection, the determining module is configured to send a query message to the logical switch and receive a reply message of the logical switch to obtain a resource type with resource isolation restriction.
9. The system for preventing the resource occupied by the logical switch from colliding as recited in claim 6, wherein the allocating module, configured to query the logical switch for the occupiable resource range of the resource type, and select the resource from the occupiable resource range to allocate to the logical switch, includes: the allocation module is configured to send a query message to the logical switch and receive a reply message of the logical switch, to obtain an available resource range of the resource type on the logical switch, and to select a resource from the obtained available resource range to allocate to the logical switch.
10. The system for preventing collisions of resources occupied by logical switches according to claim 6, wherein: the resource type is determined according to the resource isolation limitation condition of the OpenFlow switch.
CN201410767979.5A 2014-12-12 2014-12-12 Method and system for preventing conflict of resources occupied by logic switch Active CN105743821B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410767979.5A CN105743821B (en) 2014-12-12 2014-12-12 Method and system for preventing conflict of resources occupied by logic switch
PCT/CN2015/097012 WO2016091186A1 (en) 2014-12-12 2015-12-10 Method and system for preventing conflict from occurring in resources occupied by logical switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410767979.5A CN105743821B (en) 2014-12-12 2014-12-12 Method and system for preventing conflict of resources occupied by logic switch

Publications (2)

Publication Number Publication Date
CN105743821A CN105743821A (en) 2016-07-06
CN105743821B true CN105743821B (en) 2019-12-17

Family

ID=56106729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410767979.5A Active CN105743821B (en) 2014-12-12 2014-12-12 Method and system for preventing conflict of resources occupied by logic switch

Country Status (2)

Country Link
CN (1) CN105743821B (en)
WO (1) WO2016091186A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108270592B (en) * 2016-12-30 2021-05-04 中兴通讯股份有限公司 Network resource configuration control method and device
CN112787929B (en) * 2020-12-31 2022-10-04 中盈优创资讯科技有限公司 Three-layer VPN service resource automatic allocation and management method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067245A (en) * 2012-12-28 2013-04-24 中兴通讯股份有限公司 Flow table spatial isolation device and method for network virtualization
CN103905523A (en) * 2013-12-23 2014-07-02 浪潮(北京)电子信息产业有限公司 Cloud computing network virtualization method and system based on SDN
CN104012052A (en) * 2011-11-10 2014-08-27 博科通讯系统有限公司 System And Method For Flow Management In Software-Defined Networks
CN104038444A (en) * 2013-03-05 2014-09-10 中国移动通信集团山西有限公司 Resource allocation method, equipment and system
WO2014173264A1 (en) * 2013-04-25 2014-10-30 Hangzhou H3C Technologies Co., Ltd. Network resource matching

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966035B2 (en) * 2009-04-01 2015-02-24 Nicira, Inc. Method and apparatus for implementing and managing distributed virtual switches in several hosts and physical forwarding elements
US9137154B2 (en) * 2012-11-29 2015-09-15 Lenovo Enterprise Solutions (Singapore Pte. LTD Management of routing tables shared by logical switch partitions in a distributed network switch
JP2014216812A (en) * 2013-04-25 2014-11-17 日本電気通信システム株式会社 Switch resource control system and switch resource control method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104012052A (en) * 2011-11-10 2014-08-27 博科通讯系统有限公司 System And Method For Flow Management In Software-Defined Networks
CN103067245A (en) * 2012-12-28 2013-04-24 中兴通讯股份有限公司 Flow table spatial isolation device and method for network virtualization
CN104038444A (en) * 2013-03-05 2014-09-10 中国移动通信集团山西有限公司 Resource allocation method, equipment and system
WO2014173264A1 (en) * 2013-04-25 2014-10-30 Hangzhou H3C Technologies Co., Ltd. Network resource matching
CN103905523A (en) * 2013-12-23 2014-07-02 浪潮(北京)电子信息产业有限公司 Cloud computing network virtualization method and system based on SDN

Also Published As

Publication number Publication date
WO2016091186A1 (en) 2016-06-16
CN105743821A (en) 2016-07-06

Similar Documents

Publication Publication Date Title
EP3096490B1 (en) Method for realizing network virtualization and related device and communication system
CN109962850B (en) Method and controller for implementing segment routing and computer readable storage medium
US20210306272A1 (en) Network slice control method and apparatus, and computer readable storage medium
US20160094650A1 (en) Non-overlay resource access in datacenters using overlay networks
CN109660442B (en) Method and device for multicast replication in Overlay network
CN109768908B (en) VXLAN configuration method, equipment and system
US9350651B2 (en) Packet forwarding device and wireless communication system
EP3142303A1 (en) Network control method and apparatus
CN106878480B (en) DHCP service process sharing method and device
CN105723654A (en) Optimized multicast routing in a clos-like network
CN106357542B (en) The method and software defined network controller of multicast service are provided
CN110351135B (en) Network equipment configuration method and device in multiple DCs
US11140091B2 (en) Openflow protocol-based resource control method and system, and apparatus
CN104301238A (en) Message processing method, device and system
US20170048168A1 (en) Network Fabric Control
CN105577540A (en) Service link establishment method, device and system
CN108055215B (en) Message forwarding method and device
CN105743821B (en) Method and system for preventing conflict of resources occupied by logic switch
US9438475B1 (en) Supporting relay functionality with a distributed layer 3 gateway
WO2016086544A1 (en) Network interface configuration method and apparatus for network device and storage medium
WO2015154458A1 (en) Node logic id allocation device, method and communication system
CN108259633B (en) Method, system and device for realizing management message three-layer communication
CN104065554A (en) Networking method and networking apparatus
US9838218B2 (en) Method for providing overlay network interworking with underlay network and system performing same
CN107124307B (en) Management VLAN (virtual local area network) switching method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant