CN104780232A - A resource allocating method, controller and system - Google Patents

A resource allocating method, controller and system Download PDF

Info

Publication number
CN104780232A
CN104780232A CN201410014512.3A CN201410014512A CN104780232A CN 104780232 A CN104780232 A CN 104780232A CN 201410014512 A CN201410014512 A CN 201410014512A CN 104780232 A CN104780232 A CN 104780232A
Authority
CN
China
Prior art keywords
flow table
resource information
request message
resource
establishment request
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.)
Granted
Application number
CN201410014512.3A
Other languages
Chinese (zh)
Other versions
CN104780232B (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.)
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
Priority to CN201410014512.3A priority Critical patent/CN104780232B/en
Priority to PCT/CN2014/093880 priority patent/WO2015103919A1/en
Publication of CN104780232A publication Critical patent/CN104780232A/en
Application granted granted Critical
Publication of CN104780232B publication Critical patent/CN104780232B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention provides a resource allocating method, controller and system, wherein the resource allocating method includes: receiving, by a controller, a stream table establish request message, the stream table establish request message includes a resource application identifier and a stream table item identifier allocated for an item of the stream table needed to be established, the resource application identifier is used for indicating resources needed to be allocated by the controller, and the stream table item identifier is an identifier of the item of the stream table needed to be established; and according to the resource application identifier, allocating resource information, so that a forward apparatus, according to the allocated resource information, establishes the item of the stream table. In this way, the controller performs unified allocating on the resources used by various transition techniques, and the various transition techniques can share an address pool to achieve resource centralized management. Therefore, the resources can be obtained from the shared address pool for allocation during resource allocating, and the resources are prevented from being wasted if each transition technique uses a separate address pool.

Description

Resource allocation method, controller and system
Technical Field
The present invention relates to the field of transition technologies, and in particular, to a resource allocation method, a controller, and a system.
Background
In the process of the evolution of Internet Protocol version4 (Internet Protocol version4, IPv 4) Network to Internet Protocol version6 (Internet Protocol version6, IPv 6) Network, there are several IPv6 evolution technologies, such as transition technologies of lightweight Stack Lite (DS-Lite), Network Address Translation4to4 (NAT 44) from IPv 4to IPv4, and lightweight IPv6 transition (Light-weight 4over6, LW4over 6). When the transition from IPv 4to IPv6 is performed, address allocation needs to be performed independently for each transition technology Application (APP), and each APP runs on a corresponding server.
In the prior art, when an APP of each transition technology generates a flow table establishment request message, resources are obtained from an address pool corresponding to the APP of the transition technology for allocation, for example, when the resource is allocated to an APP of the NAT44, an Internet Protocol (IP) address and an external network source port, which are interconnected between external network source networks, need to be obtained from the address pool used by the APP of the NAT 44; when resource allocation is performed for LW4over6, an outer network source IP address and an outer network source port range need to be obtained from an address pool used by the APP of LW4over 6.
Because a fixed address segment is allocated to each transition technology APP at present, the address pools of each transition technology APP are independent, the IP address of a certain transition technology APP is possibly insufficient, and the IP addresses of other transition technologies APP are idle, so that the waste of the IP address is caused.
Disclosure of Invention
The embodiment of the invention provides a resource allocation method, a controller and a system, which are used for solving the technical problem of IP address waste caused by the existing resource allocation mode. The technical scheme is as follows:
in a first aspect, an embodiment of the present invention provides a resource allocation method, which is applicable to a control forwarding separation network, and the method includes:
a Controller (Controller) receives a flow table establishment request message, wherein the flow table establishment request message comprises a resource application identifier and a flow table entry identifier which are allocated for a flow table entry needing to be established, the resource application identifier is used for indicating a resource which needs to be allocated by the Controller, and the flow table entry identifier is an identifier of the flow table entry needing to be established;
allocating resource information according to the resource application identifier, wherein the resource information comprises an Internet Protocol (IP) address, or the resource information comprises an IP address and a port;
and sending the allocated resource information to forwarding equipment so that the forwarding equipment establishes the flow table entry according to the allocated resource information.
In a first possible implementation manner of the first aspect, the receiving a flow table establishment request message includes:
and receiving the flow table establishing request message sent by the server, wherein the flow table establishing request message also comprises user attribute information, and the user attribute information comprises an intranet source IP address and intranet source port information of a user.
With reference to the first aspect or the first possible implementation manner of the first aspect, the sending the allocated resource information to a forwarding device includes:
and adding the resource information into the flow table establishment request message corresponding to the flow table entry identifier, and forwarding the flow table establishment request message added with the resource information to a forwarding device.
In a second possible implementation manner of the first aspect, the receiving the flow table establishment request message includes:
receiving the flow table establishment request message sent by the forwarding device;
the sending the allocated resource information to a forwarding device includes:
and sending the resource information and the flow table entry identifier to the forwarding device, and establishing the flow table entry by the forwarding device according to the resource information.
With reference to the first aspect, or the first possible implementation manner of the first aspect, or the second possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, the flow table establishment request message is a table-filling flow table establishment request message, where the table-filling flow table establishment request message specifically is: and reserving a storage space for storing the resource information in the flow table establishing request message in advance, and filling the resource information into the storage space corresponding to the resource information after the Controller allocates the resource information.
With reference to the first aspect or the first possible implementation manner of the first aspect or the second possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, the method further includes:
when detecting that the survival time of the flow table entry exceeds a preset time threshold, recovering the allocated resource information, and sending a flow table deletion message to the forwarding device, so that the forwarding device deletes the flow table entry.
In a second aspect, an embodiment of the present invention provides a Controller, where the Controller is adapted to control a forwarding separation network, and includes:
a receiving unit, configured to receive a flow table establishment request message, where the flow table establishment request message includes a resource application identifier and a flow table entry identifier allocated for a flow table entry to be established, the resource application identifier is used to indicate a resource that needs to be allocated by the Controller, and the flow table entry identifier is an identifier of the flow table entry to be established;
the allocation unit is used for allocating resource information according to the resource application identifier, wherein the resource information comprises an Internet Protocol (IP) address, or the resource information comprises an IP address and a port;
a sending unit, configured to send the allocated resource information to a forwarding device, so that the forwarding device establishes the flow table entry according to the allocated resource information.
In a first possible implementation manner of the second aspect, the receiving unit is specifically configured to, where the receiving unit receives the flow table establishment request message, specifically include:
and receiving the flow table establishing request message sent by the server, wherein the flow table establishing request message also comprises user attribute information, and the user attribute information comprises an intranet source IP address and intranet source port information of a user.
With reference to the second aspect or the first possible implementation manner of the second aspect, the sending unit sends the allocated resource information to a forwarding device, specifically including:
and adding the resource information into the flow table establishment request message corresponding to the flow table entry identifier, and forwarding the flow table establishment request message added with the resource information to a forwarding device.
In a second possible implementation manner of the second aspect, the receiving, by the receiving unit, the receiving a flow table establishment request message specifically includes;
receiving the flow table establishment request message sent by the forwarding device;
the sending unit sends the allocated resource information to a forwarding device, and specifically includes:
and sending the resource information and the flow table entry identifier to the forwarding device, and establishing the flow table entry by the forwarding device according to the resource information.
With reference to the second aspect or the first possible implementation manner of the second aspect or the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the flow table establishment request message is a table-filling type flow table establishment request message, where the table-filling type flow table establishment request message specifically is: and reserving a storage space for storing the resource information in the flow table establishing request message in advance, and filling the resource information into the corresponding storage space of the resource information after the Controller allocates the resource information.
With reference to the second aspect, or the first possible implementation manner of the second aspect, or the second possible implementation manner of the second aspect, in a fourth possible implementation manner of the second aspect, the Controller further includes:
a detecting unit, configured to detect a survival time of an entry of the flow table;
a recovery unit, configured to recover the allocated resource information when the detection unit detects that the survival time of the table entry in the flow table exceeds a preset time threshold;
the sending unit is further configured to send a flow table deletion message to the forwarding device when the detecting unit detects that the survival time of the flow table entry exceeds the preset time threshold, so that the forwarding device deletes the flow table entry.
In a third aspect, an embodiment of the present invention further provides a resource allocation system, where the system includes a Controller and a forwarding device, where,
the Controller is configured to receive a flow table establishment request message, where the flow table establishment request message includes a resource application identifier and a flow table entry identifier allocated to a flow table entry to be established, the resource application identifier is used to indicate a resource that the Controller needs to allocate, and the flow table entry identifier is an identifier of the flow table entry to be established; allocating resource information according to the resource application identifier, wherein the resource information comprises an Internet Protocol (IP) address, or the resource information comprises an IP address and a port; sending the allocated resource information to a forwarding device, so that the forwarding device establishes the flow table entry according to the allocated resource information;
and the forwarding device is configured to receive the resource information sent by the Controller, and establish the flow table entry according to the resource information.
In a first possible implementation manner of the third aspect, the system further includes: a server, wherein the server is configured to generate and transmit a flow table establishment request message;
the server is used for generating and sending the flow table establishing request message;
the Controller is specifically configured to receive a flow table establishment request message sent by the server, allocate resource information according to the resource application identifier, add the resource information to the flow table establishment request message corresponding to the flow table entry identifier, and forward the flow table establishment request message to which the resource information is added to the forwarding device, where the flow table establishment request message further includes user attribute information, and the user attribute information includes an intranet source IP address and intranet source port information of a user;
the forwarding device is specifically configured to receive the flow table establishment request message added with the resource information and sent by the Controller, and establish the flow table entry according to the flow table establishment request message added with the resource information.
In a second possible implementation manner of the third aspect, the system further includes a server, where the server is configured to generate and send a flow table establishment message to the forwarding device, where the flow table establishment message is used to indicate to establish a flow table entry, where the flow table establishment message includes user attribute information, where the user attribute information includes an intranet source IP address and intranet source port information of a user;
the forwarding device is further configured to receive the flow table establishment message sent by the server, generate the flow table establishment request message according to the flow table establishment message, and send the flow table establishment request message to the Controller;
the Controller is specifically configured to receive the flow table establishment request message sent by the forwarding device, allocate resource information according to the resource application identifier, and send the resource information and the flow table entry identifier to the forwarding device;
the forwarding device is specifically configured to receive the resource information sent by the Controller, and establish the flow table entry according to the resource information.
According to the resource allocation method provided by the technical scheme, the Controller can receive the flow table establishment request message, allocate resource information according to the resource application identifier in the flow table establishment request message, and realize uniform allocation of resources used by each transition technology by the Controller, so that each transition technology can share one address pool to realize centralized management of resources, and further resources can be acquired from the shared address pool for allocation when resource allocation is carried out, and resource waste caused by the fact that each transition technology uses an independent address pool is avoided.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive labor.
Fig. 1 is a schematic flowchart of a resource allocation method according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a framework of a resource allocation system according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of an implementation of the system shown in FIG. 2;
FIG. 4 is a flow chart of a resource allocation method based on the system shown in FIG. 3;
fig. 5 is a diagram illustrating an example of a resource allocation method according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of an implementation of the system shown in FIG. 2;
FIG. 7 is a flow chart of a resource allocation method based on the system shown in FIG. 3;
fig. 8 is a diagram illustrating an example of a resource allocation method according to an embodiment of the present invention;
fig. 9 is a diagram illustrating an example of a resource allocation method according to an embodiment of the present invention;
fig. 10 is a diagram illustrating an example of a resource allocation method according to an embodiment of the present invention;
fig. 11 is a flowchart illustrating a resource allocation method according to an embodiment of the present invention;
FIG. 12 is a schematic structural diagram of a controller according to an embodiment of the present invention;
fig. 13 is a schematic structural diagram of a controller according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some embodiments, but not all embodiments, of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, an embodiment of the present invention provides a resource allocation method, which is applicable to a control forwarding separation network, and the method may be executed by a Controller in the network, or may be executed by other network devices, in which the method is described by taking the Controller as an execution subject, and the method includes:
101: the Controller receives a flow table establishment request message, wherein the flow table establishment request message comprises a resource application identifier and a flow table entry identifier, the resource application identifier is allocated to a flow table entry needing to be established, the resource application identifier is used for indicating a resource needing to be allocated by the Controller, and the flow table entry identifier is an identifier of the flow table entry needing to be established.
In this embodiment of the present invention, the flow table establishment request message is used to instruct the forwarding device to establish a flow table entry, and before the forwarding device establishes the flow table entry, the Controller needs to allocate resource information to the flow table entry, so in this embodiment of the present invention, the flow table establishment request message may include: and allocating a resource application identifier and a flow table entry identifier for a flow table entry needing to be established.
The resource application identifier is used for indicating the resource which needs to be allocated by the Controller, and the flow table entry identifier is an identifier of a flow table entry which needs to be established. One possible message format for the flow table establishment request message is shown in table 1.
Table 1 message format of flow table establishment request message
Wherein: the flow table operation type represents the current operation on the flow table: the number 0 indicates a request to establish a flow table operation, and the number 1 indicates a request to delete the flow table operation; the operation sequence number is a feasible way of flow table entry identification; the flow table attribute represents the type of the flow table operated: the numeral 0 represents a one-way flow table, and the numeral 1 represents a two-way flow table; the entry attribute represents the state of the entry: the number 0 indicates an allocated entry and the number 1 indicates an unallocated entry.
The entry content indicates specific content included in the entry, and may include a resource application identifier for indicating that the Controller needs to allocate resources, where when the Controller allocates resources for APPs of different transition technologies, the resource application identifier is different, and thus, entry contents corresponding to APPs of different transition technologies are different.
In some examples, the resource application identification may include an IP address; in other examples, the resource application identification may include an IP address and a port. When allocating resources for the APP of the NAT44 transition technology, the table entry content is shown in table 2, which may include an intranet source IP address, an intranet source port, an extranet source IP address, and an extranet source port.
Table 2 NAT44 corresponding table entry content
Internal network source IP address Intranet source port External network source IP address Outer network source port
192.168.1.1 2500 To be distributed To be distributed
The intranet source IP address and the intranet source port are user attribute information, which is already allocated by the server where the APP of the NAT44 is located, and the extranet source IP address and the extranet source port are resource information that needs to be allocated by the Controller.
For example, when allocating resources for the APP of the transition technology DS-Lite, the entry content may include: IPv6 source address, intranet source IP address, intranet source port, extranet source IP address, and extranet source port, as shown in table 3;
table 3 list item content corresponding to DS-Lite
IPv6 Source Address Internal network source IP address Intranet source port External network source IP address Outer network source port
2008::1 192.168.1.1 2500 To be distributed To be distributed
The IPv6 source address, the intranet source IP address and the intranet source port are user attribute information which is already allocated by a server where the DS-Lite APP is located, and the extranet source IP address and the extranet source port are resource information which needs to be allocated by a Controller.
Likewise, when allocating resources for the APP of the LW4over6 transition technology, the entry content may include: IPv6 source address, extranet source IP address, and extranet source port segment.
102: allocating resource information according to the resource application identifier, wherein the resource information comprises an Internet Protocol (IP) address, or the resource information comprises an IP address and a port;
103: and sending the allocated resource information to forwarding equipment so that the forwarding equipment establishes the flow table entry according to the allocated resource information.
After receiving the flow table establishment request message, the Controller allocates corresponding resource information according to the resource application identifier, for example, allocates an external network source IP address and an external network source port for APP of the NAT44 transition technology. Therefore, the forwarding device can start the operation of establishing the table entry of the flow table after obtaining the resource information, and complete the establishment of the table entry of the flow table, wherein the table entry of the flow table is equivalent to a forwarding rule, the forwarding destination of each data packet can be obtained by inquiring the table entry of the flow table, and the data packet is forwarded according to the table entry of the flow table.
In the resource allocation method provided in the embodiment of the present invention, the Controller may receive the flow table establishment request message, allocate resource information according to the resource application identifier in the flow table establishment request message, and implement uniform allocation of resources used by each transition technology by the Controller, so that each transition technology may share one address pool to implement centralized management of resources, and further may obtain resources from the shared address pool to allocate when resource allocation is performed, thereby avoiding resource waste caused by using an independent address pool for each transition technology. And the Controller manages the resources used by each transition technology in a unified way, so that each APP can not integrate the resource allocation function any more, and the compiling difficulty of each APP is reduced.
Referring to fig. 2, an embodiment of the present invention provides a resource allocation system 200, which includes a Controller212 and a forwarding device 213, wherein,
the Controller212 is configured to receive a flow table establishment request message, where the flow table establishment request message includes a resource application identifier and a flow table entry identifier allocated to a flow table entry that needs to be established, the resource application identifier is used to indicate a resource that the Controller needs to allocate, and the flow table entry identifier is an identifier of the flow table entry that needs to be established; allocating resource information according to the resource application identifier, wherein the resource information comprises an Internet Protocol (IP) address, or the resource information comprises an IP address and a port; sending the allocated resource information to a forwarding device, so that the forwarding device establishes the flow table entry according to the allocated resource information;
the forwarding device 213 is configured to receive the resource information sent by the Controller212, and establish the flow table entry according to the resource information.
Optionally, the system further comprises:
a first server for generating and transmitting the flow table establishment request message;
the Controller212 is specifically configured to receive a flow table establishment request message sent by the first server, allocate resource information according to the resource application identifier, add the resource information to the flow table establishment request message corresponding to the flow table entry identifier, and forward the flow table establishment request message added with the resource information to the forwarding device 213, where the flow table establishment request message further includes user attribute information, and the user attribute information includes an intranet source IP address and intranet source port information of a user;
the forwarding device 213 is specifically configured to receive the flow table establishment request message added with the resource information and sent by the Controller212, and establish the flow table entry according to the flow table establishment request message added with the resource information.
Optionally, the system further comprises:
the second server is used for generating and sending a flow table establishing message to the forwarding device, wherein the flow table establishing message is used for indicating to establish a flow table entry, the flow table establishing message contains user attribute information, and the user attribute information comprises an intranet source IP address and intranet source port information of a user;
the forwarding device 213 is further configured to receive the flow table establishment message sent by the second server, generate the flow table establishment request message according to the flow table establishment message, and send the flow table establishment request message to the Controller;
the Controller212 is specifically configured to receive the flow table establishment request message sent by the forwarding device, allocate resource information according to the resource application identifier, and send the resource information and the flow table entry identifier to the forwarding device;
the forwarding device 213 is specifically configured to receive the resource information sent by the Controller212, and establish the flow table entry according to the resource information.
Referring to fig. 3, fig. 3 is a schematic diagram of an implementation of the system shown in fig. 2. In the system, comprising: a server 311, a Controller312 and a forwarding device 313, wherein the server 311 integrates APPs of various transition technologies, which can generate and send a flow table establishment request message;
a Controller312, configured to receive the flow table establishment request message sent by the server 311, allocate corresponding resource information according to the resource application identifier in the flow table establishment request message, add the allocated resource information to the flow table establishment request message, and send the flow table establishment request message to which the resource information is added to the forwarding device 313;
the forwarding device 313 is configured to receive the flow table establishment request message added with the resource information and sent by the Controller312, and establish a flow table entry according to the flow table establishment request message added with the resource information.
In the system framework shown in fig. 3, the Controller312 may include an address pool management interface, and stores an address pool, where resources used by each transition technology are integrated in the address pool, and the Controller312 may connect the server 311 running each transition technology APP and the forwarding device 313 through the address pool management interface, and further obtain resource information from the address pool through the address pool management interface.
When based on the system framework shown in fig. 3, the resource allocation method provided by the embodiment of the present invention can be seen from fig. 4, and includes the following steps:
401: receiving a flow table establishment request message sent by a server, wherein the flow table establishment request message comprises a resource application identifier and a flow table entry identifier distributed for a flow table entry needing to be established, the resource application identifier is used for indicating a resource needing to be distributed by a Controller, and the flow table entry identifier is an identifier of the flow table entry needing to be established.
In the embodiment of the present invention, the flow table establishment request message is used to instruct the forwarding device to establish the flow table entry, and before the forwarding device establishes the flow table entry, resource information needs to be allocated by the Controller for establishment of the flow table entry.
The resource application identifier is used to indicate a resource that the Controller needs to allocate, in some examples, the resource application identifier may include an IP address, and in other examples, the resource application identifier may include an IP address and a port.
The flow table entry identifier is an identifier of a flow table entry to be established, which may be an operation sequence number in the packet format shown in table 1. The user attribute information is included in the entry content of the flow table establishment request message, and indicates resource information allocated by the APP of the transition technique. In some examples, the user attribute information may include an intranet source IP address and an intranet source port.
The specific format of the flow table establishment request message and the specific format of the entry content included in the flow table establishment request message are shown in tables 1 to 3, which are not listed in the embodiments of the present invention.
402: and allocating resource information according to the resource application identifier, wherein the resource information comprises an IP address, or the resource information comprises the IP address and a port.
In the embodiment of the present invention, the Controller312 receives a flow table establishment request message sent by the server through the address pool management interface, and further obtains the resource information from the address pool through the address pool management interface.
403: adding the resource information into the flow table establishment request message corresponding to the flow table entry identifier, and forwarding the flow table establishment request message added with the resource information to forwarding equipment, so that the forwarding equipment establishes the flow table entry according to the flow table establishment request message added with the resource information.
The Controller312 sends the flow table establishment request message to which the resource information is added to the forwarding device 313 through the address pool management interface, and the forwarding device 313 starts the operation of establishing the flow table entry according to the flow table establishment request message to which the resource information is added, and starts the establishment of the flow table entry.
Referring to fig. 5, in an exemplary diagram of a resource allocation method provided in an embodiment of the present invention, a Controller receives a flow table establishment request message sent by a server, where the server runs an NAT44APP, the flow table establishment request message includes user attribute information, the user attribute information includes an intranet source IP address 192.168.1.1 and an intranet source port 2500, and the flow table establishment request message further includes a resource application identifier, that is, an external network source IP address to be allocated and an external network source port to be allocated. After receiving the flow table establishment request message, the Controller allocates resource information corresponding to the resource application identifier, where the resource information includes the external network source IP address 202.1.1.1 and the external network source port 5000. The Controller adds the allocated resource information to a flow table establishment request message, and sends the flow table establishment request message added with the resource information to a forwarding device, and the forwarding device establishes a flow table forwarding table entry according to the flow table establishment request message, wherein the flow table forwarding table entry comprises the user attribute information and the resource information.
Referring to fig. 6, fig. 6 is a schematic diagram of an implementation of the system shown in fig. 3, where the system includes: server 621, Controller622, and forwarding device 623, wherein,
the server 621 is configured to generate and send a flow table establishment message to the forwarding device, where the flow table establishment message is used to indicate to establish a table entry of the flow table, and the flow table establishment message includes user attribute information, where the user attribute information includes an intranet source IP address and intranet source port information of a user.
A forwarding device 623, configured to receive the flow table establishment message sent by the server 621, generate the flow table establishment request message according to the flow table establishment message, and send the flow table establishment request message to the Controller;
a Controller622, configured to receive the flow table establishment request message sent by the forwarding device 623, allocate resource information according to the resource application identifier in the flow table establishment request message, send the allocated resource information to the forwarding device 623, and establish a flow table entry by the forwarding device 623 according to the resource information.
In the system framework shown in fig. 6, Controller622 may include an address pool management interface, and store an address pool, wherein the address pool is integrated with resources used by each transition technology, and Controller622 may connect forwarding device 623 through the address pool management interface, and further call the resources in the address pool through the address pool management interface.
When the system shown in fig. 6 is based on, the resource allocation method provided in the embodiment of the present invention can be shown in fig. 7, and may include the following steps:
701: and receiving a flow table establishment request message sent by the forwarding equipment.
The flow table establishment request message may be generated by the forwarding device from a flow table establishment message received from the server. The flow table establishing message is used for indicating the establishment of a flow table entry, the flow table establishing message contains user attribute information, and the user attribute information comprises an intranet source IP address and intranet source port information of a user. The flow table establishment message format can be seen from table 1 to table 3. After obtaining the flow table establishment message, the forwarding device removes other information except the resource application identifier, generates a flow table establishment request message, and sends the flow table establishment request message to the Controller.
And the resource application identifier in the flow table establishing request message received by the Controller is used for indicating the resource information allocated by the Controller.
702: and allocating the resource information according to the resource application identifier.
703: and sending the resource information and the flow table entry identifier to the forwarding equipment, and establishing the flow table entry by the forwarding equipment according to the resource information.
In this example, the Controller receives a flow table establishment request message sent by the forwarding device through the address pool management interface, further obtains resource information corresponding to the resource application identifier in the address pool from the address pool through the address pool management interface, and sends the resource information to the forwarding device, and the forwarding device establishes a table entry flow table together according to the resource information and user attribute information obtained from the flow table establishment message.
An example of applying the resource allocation method provided in fig. 7 based on the system framework shown in fig. 6 can be seen in fig. 8, which illustrates how to allocate resource information for APP of the NAT44 transition technology in the case of suspending a forwarding device by a Controller. The bypass means a connection mode that a Controller is connected with a forwarding device through an address pool management interface.
In the embodiment, the flow table establishing request message is a table-filling flow table establishing request message, and the table-filling flow table establishing request message specifically includes: and reserving a storage space for storing the resource information in the flow table establishing request message in advance, and filling the allocated resource information into the corresponding storage space of the resource information by the Controller. As shown in table 2, the external network source IP address and the external network source port are resource information that needs to be allocated, and a corresponding space in the message is a storage space that is reserved in advance for storing the two pieces of information, that is, the flow table establishment request message.
In the embodiment of the present invention, the manner in which the Controller can fill the allocated resource information in the storage space of the corresponding resource information may be referred to as a table-filling manner, which requests to allocate resources, and this manner may directly add the resource information to the entry content of the flow table entry after the Controller allocates resources, so that when the forwarding device establishes the flow table entry, the forwarding device may directly extract the user attribute information and the resource information from the flow table establishment request message to obtain a flow table entry, thereby simplifying the flow table entry establishment process and improving the efficiency.
In other examples provided in the embodiment of the present invention, the Controller may further monitor a flow table entry obtained by the forwarding device in the process of allocating resources. As shown in fig. 9 and fig. 10, fig. 9 shows a flow of the Controller performing resource allocation, flow table deletion, and recovery in the system framework shown in fig. 3, and fig. 10 shows a flow of the Controller performing resource allocation, flow table deletion, and recovery based on the framework shown in fig. 6.
Correspondingly, the resource allocation method provided in the embodiment of the present invention may further include, on the basis of fig. 1, step 104:
when detecting that the survival time of the flow table entry exceeds the preset time threshold, the Controller recovers the allocated resource information and sends a flow table deletion message to the forwarding device, so that the forwarding device deletes the flow table entry, as shown in fig. 11.
The preset time threshold may be set differently according to different application scenarios, and the embodiment of the present invention is not limited thereto. The Controller can recycle the unused resource information within the preset time threshold value by monitoring the list items of the flow table by applying the resource allocation method provided by the embodiment of the invention, thereby avoiding the resource waste caused by the long-time unused resource information and further improving the reasonable utilization of the resource.
Referring to fig. 12, an embodiment of the present invention further provides a Controller1200, which is applicable to a control forwarding separation network, where the Controller1200 may be configured to execute the method in the foregoing method embodiment, and the Controller1200 may include:
a receiving unit 1211, a distributing unit 1212, and a transmitting unit 1213. Wherein,
a receiving unit 1211, configured to receive a flow table establishment request message, where the flow table establishment request message includes a resource application identifier and a flow table entry identifier, where the resource application identifier is allocated to a flow table entry to be established, and is used to indicate a resource that needs to be allocated by the Controller1200, and the flow table entry identifier is an identifier of the flow table entry to be established;
a allocating unit 1212, configured to allocate resource information according to the resource application identifier, where the resource information includes an internet protocol IP address, or the resource information includes an IP address and a port;
a sending unit 1213, configured to send the allocated resource information to a forwarding device, so that the forwarding device establishes the flow table entry according to the allocated resource information.
Optionally, the receiving unit 1211 specifically includes:
and receiving the flow table establishing request message sent by the server, wherein the flow table establishing request message also comprises user attribute information, and the user attribute information comprises an intranet source IP address and intranet source port information of a user. The flow table entry identifier is an identifier of a flow table entry to be established, and the resource application identifier is used to indicate a resource that needs to be allocated by the Controller 1200.
The sending unit 1213 sends the allocated resource information to a forwarding device, which specifically includes:
and adding the resource information into the flow table establishment request message corresponding to the flow table entry identifier, and forwarding the flow table establishment request message added with the resource information to a forwarding device.
In the resource allocation method provided in the embodiment of the present invention, the Controller1200 may receive the flow table establishment request message, allocate resource information according to the resource application identifier in the flow table establishment request message, and implement uniform allocation of resources used by the Controller1200 for each transition technology, so that each transition technology may share one address pool to implement centralized management of resources, and further may obtain resources from the shared address pool for allocation when performing resource allocation, thereby avoiding resource waste caused by using an independent address pool for each transition technology. And the Controller1200 manages the resources used by each transition technology in a unified manner, so that each APP can not integrate the resource allocation function any more, and the writing difficulty of each APP is reduced.
Optionally, the receiving unit 1211 specifically includes:
receiving the flow table establishment request message sent by the forwarding device;
the sending unit 1213 sends the allocated resource information to a forwarding device, which specifically includes:
and sending the resource information and the flow table entry identifier to the forwarding device, and establishing the flow table entry by the forwarding device according to the resource information.
Optionally, the flow table establishing request message is a table-filling type flow table establishing request message, where the table-filling type flow table establishing request message specifically includes: a storage space for storing the resource information is reserved in the flow table establishment request message in advance, and after the Controller1200 fills the allocated resource information in the storage space of the corresponding resource information.
Optionally, the Controller1200 further includes:
a detecting unit, configured to detect a survival time of an entry of the flow table;
a recovery unit, configured to recover the allocated resource information when the detection unit detects that the survival time of the table entry in the flow table exceeds a preset time threshold;
the sending unit 1213 is further configured to send a flow table deletion message to the forwarding device when the detecting unit detects that the survival time of the flow table entry exceeds the preset time threshold, so that the forwarding device deletes the flow table entry. The preset time threshold may be set differently according to different application scenarios, and the embodiment of the present invention is not limited thereto. The Controller can recycle the unused resource information within the preset time threshold value by monitoring the table entry of the flow table, thereby avoiding resource waste caused by long-time unused resource information and further improving the reasonable utilization of resources.
Referring to fig. 13, an embodiment of the present invention further provides a Controller1300, which is adapted to be used in a control forwarding separation network, where the Controller1300 includes: a memory 1301, a receiver 1302, a transmitter 1303, and a processor 1304 connected to the memory 1301, the receiver 1302, and the transmitter 1303, respectively, wherein the memory 1301 is used for storing a set of program instructions, and the processor 1304 is used for calling the program instructions stored in the memory 1301 to perform the following operations:
the trigger receiver 1302 receives a flow table establishment request message, where the flow table establishment request message includes a resource application identifier and a flow table entry identifier allocated for a flow table entry to be established, the resource application identifier is used to indicate a resource that needs to be allocated by the Controller1300, and the flow table entry identifier is an identifier of the flow table entry to be established;
allocating resource information according to the resource application identifier, wherein the resource information comprises an Internet Protocol (IP) address, or the resource information comprises an IP address and a port;
and triggering the transmitter 1303 to transmit the allocated resource information to a forwarding device, so that the forwarding device establishes the flow table entry according to the allocated resource information.
Optionally, the receiving, by the receiver 1302, the flow table establishment request message includes:
and receiving the flow table establishing request message sent by the server, wherein the flow table establishing request message also comprises user attribute information, and the user attribute information comprises an intranet source IP address and intranet source port information of a user.
Optionally, the transmitter 1303 transmits the allocated resource information to a forwarding device, including:
and adding the resource information into the flow table establishment request message corresponding to the flow table entry identifier, and forwarding the flow table establishment request message added with the resource information to a forwarding device.
Optionally, the receiving, by the receiver 1302, the flow table establishment request message includes:
receiving the flow table establishment request message sent by the forwarding device;
the sending the allocated resource information to a forwarding device includes:
and sending the resource information and the flow table entry identifier to the forwarding device, and establishing the flow table entry by the forwarding device according to the resource information.
Alternatively, the processor 1304 may be a Central Processing Unit (CPU), the Memory 1301 may be a Random Access Memory (RAM) type internal Memory, and the receiver 1302 and the transmitter 1303 may include a common physical interface, which may be an Ethernet (Ethernet) interface or an Asynchronous Transfer Mode (ATM) interface. The processor 1304, receiver 1302, transmitter 1303 and memory 1301 can be integrated into one or more separate circuits or hardware, such as: application Specific Integrated Circuit (ASIC).
It should be noted that, in the present specification, the embodiments are all described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments may be referred to each other. For the device-like embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
Those of ordinary skill in the art will understand that: all or part of the steps for realizing the method embodiments can be completed by hardware related to program instructions, the program can be stored in a computer readable storage medium, and the program executes the steps comprising the method embodiments when executed; and the aforementioned storage medium may be at least one of the following media: various media capable of storing program codes, such as a Read-Only Memory (ROM), a RAM, a magnetic disk, or an optical disk.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; although the present invention and the advantageous effects thereof have been described in detail with reference to the foregoing embodiments, those skilled in the art will understand that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions.

Claims (15)

1. A resource allocation method, adapted to be used in a control forwarding separation network, the method comprising:
a Controller receives a flow table establishment request message, wherein the flow table establishment request message comprises a resource application identifier and a flow table entry identifier which are allocated for a flow table entry needing to be established, the resource application identifier is used for indicating a resource needing to be allocated by the Controller, and the flow table entry identifier is an identifier of the flow table entry needing to be established;
allocating resource information according to the resource application identifier, wherein the resource information comprises an Internet Protocol (IP) address, or the resource information comprises an IP address and a port;
and sending the allocated resource information to forwarding equipment so that the forwarding equipment establishes the flow table entry according to the allocated resource information.
2. The method of claim 1, wherein the receiving the flow table setup request message comprises:
and receiving the flow table establishing request message sent by the server, wherein the flow table establishing request message also comprises user attribute information, and the user attribute information comprises an intranet source IP address and intranet source port information of a user.
3. The method according to claim 1 or 2, wherein the sending the allocated resource information to a forwarding device comprises:
and adding the resource information into the flow table establishment request message corresponding to the flow table entry identifier, and forwarding the flow table establishment request message added with the resource information to a forwarding device.
4. The method of claim 1, wherein the receiving the flow table setup request message comprises:
receiving the flow table establishment request message sent by the forwarding device;
the sending the allocated resource information to a forwarding device includes:
and sending the resource information and the flow table entry identifier to the forwarding device, and establishing the flow table entry by the forwarding device according to the resource information.
5. The method according to any one of claims 1 to4, wherein the flow table establishment request message is a table-filling flow table establishment request message, and the table-filling flow table establishment request message is specifically: reserving a storage space for storing the resource information in the flow table establishing request message, and filling the resource information into the storage space corresponding to the resource information after the Controller allocates the resource information.
6. The method according to any one of claims 1 to4, further comprising:
when detecting that the survival time of the flow table entry exceeds a preset time threshold, recovering the allocated resource information, and sending a flow table deletion message to the forwarding device, so that the forwarding device deletes the flow table entry.
7. A Controller, wherein the Controller is adapted to control a forwarding splitting network, comprising:
a receiving unit, configured to receive a flow table establishment request message, where the flow table establishment request message includes a resource application identifier and a flow table entry identifier allocated for a flow table entry to be established, the resource application identifier is used to indicate a resource that needs to be allocated by the Controller, and the flow table entry identifier is an identifier of the flow table entry to be established;
the allocation unit is used for allocating resource information according to the resource application identifier, wherein the resource information comprises an Internet Protocol (IP) address, or the resource information comprises an IP address and a port;
a sending unit, configured to send the allocated resource information to a forwarding device, so that the forwarding device establishes the flow table entry according to the allocated resource information.
8. The Controller according to claim 7, wherein the receiving, by the receiving unit, the flow table establishment request message specifically includes:
and receiving the flow table establishing request message sent by the server, wherein the flow table establishing request message also comprises user attribute information, and the user attribute information comprises an intranet source IP address and intranet source port information of a user.
9. The Controller according to claim 7 or 8, wherein the sending unit sends the allocated resource information to a forwarding device, specifically comprising:
and adding the resource information into the flow table establishment request message corresponding to the flow table entry identifier, and forwarding the flow table establishment request message added with the resource information to a forwarding device.
10. The Controller according to claim 7, wherein the receiving, by the receiving unit, the flow table establishment request message specifically includes:
receiving the flow table establishment request message sent by the forwarding device;
the sending unit sends the allocated resource information to a forwarding device, and specifically includes:
and sending the resource information and the flow table entry identifier to the forwarding device, and establishing the flow table entry by the forwarding device according to the resource information.
11. The Controller according to any one of claims 7 to 10, wherein the flow table establishment request message is a table-filling flow table establishment request message, and the table-filling flow table establishment request message is specifically: and reserving a storage space for storing the resource information in the flow table establishing request message in advance, and filling the resource information into the corresponding storage space of the resource information after the Controller allocates the resource information.
12. The Controller according to any one of claims 7 to 10, wherein the Controller further comprises:
a detecting unit, configured to detect a survival time of an entry of the flow table;
a recovery unit, configured to recover the allocated resource information when the detection unit detects that the survival time of the table entry in the flow table exceeds a preset time threshold;
the sending unit is further configured to send a flow table deletion message to the forwarding device when the detecting unit detects that the survival time of the flow table entry exceeds the preset time threshold, so that the forwarding device deletes the flow table entry.
13. A resource allocation system, characterized in that the system comprises a Controller and a forwarding device, wherein,
the Controller is configured to receive a flow table establishment request message, where the flow table establishment request message includes a resource application identifier and a flow table entry identifier allocated to a flow table entry to be established, the resource application identifier is used to indicate a resource that the Controller needs to allocate, and the flow table entry identifier is an identifier of the flow table entry to be established; allocating resource information according to the resource application identifier, wherein the resource information comprises an Internet Protocol (IP) address, or the resource information comprises an IP address and a port; sending the allocated resource information to a forwarding device, so that the forwarding device establishes the flow table entry according to the allocated resource information;
and the forwarding device is configured to receive the resource information sent by the Controller, and establish the flow table entry according to the resource information.
14. The system of claim 13, further comprising: a server that, among other things,
the server is used for generating and sending the flow table establishing request message;
the Controller is specifically configured to receive a flow table establishment request message sent by the server, allocate resource information according to the resource application identifier, add the resource information to the flow table establishment request message corresponding to the flow table entry identifier, and forward the flow table establishment request message to which the resource information is added to the forwarding device, where the flow table establishment request message further includes user attribute information, and the user attribute information includes an intranet source IP address and intranet source port information of a user;
the forwarding device is specifically configured to receive the flow table establishment request message added with the resource information and sent by the Controller, and establish the flow table entry according to the flow table establishment request message added with the resource information.
15. The system of claim 13, further comprising a server, wherein,
the server is configured to generate and send a flow table establishment message to the forwarding device, where the flow table establishment message is used to indicate establishment of a flow table entry, the flow table establishment message includes user attribute information, and the user attribute information includes an intranet source IP address and intranet source port information of the user;
the forwarding device is further configured to receive the flow table establishment message sent by the server, generate the flow table establishment request message according to the flow table establishment message, and send the flow table establishment request message to the Controller;
the Controller is specifically configured to receive the flow table establishment request message sent by the forwarding device, allocate resource information according to the resource application identifier, and send the resource information and the flow table entry identifier to the forwarding device;
the forwarding device is specifically configured to receive the resource information sent by the Controller, and establish the flow table entry according to the resource information.
CN201410014512.3A 2014-01-13 2014-01-13 A kind of resource allocation methods, controller and system Active CN104780232B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410014512.3A CN104780232B (en) 2014-01-13 2014-01-13 A kind of resource allocation methods, controller and system
PCT/CN2014/093880 WO2015103919A1 (en) 2014-01-13 2014-12-15 Resource allocation method, controller and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410014512.3A CN104780232B (en) 2014-01-13 2014-01-13 A kind of resource allocation methods, controller and system

Publications (2)

Publication Number Publication Date
CN104780232A true CN104780232A (en) 2015-07-15
CN104780232B CN104780232B (en) 2018-07-31

Family

ID=53523530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410014512.3A Active CN104780232B (en) 2014-01-13 2014-01-13 A kind of resource allocation methods, controller and system

Country Status (2)

Country Link
CN (1) CN104780232B (en)
WO (1) WO2015103919A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107666467A (en) * 2016-07-29 2018-02-06 华为技术有限公司 Resource allocation methods, equipment and system
CN110012118A (en) * 2019-03-08 2019-07-12 平安科技(深圳)有限公司 It is a kind of that the method and controller of network address translation NAT service are provided
CN112214300A (en) * 2020-10-12 2021-01-12 北京泽石科技有限公司 Command timeout processing method, processing device and computer readable storage medium

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109120555B (en) * 2017-06-26 2022-10-14 中兴通讯股份有限公司 Resource allocation method and system
CN109218201B (en) * 2017-06-30 2021-05-18 华为技术有限公司 Method for generating forwarding table item, controller and network equipment
CN109495593B (en) * 2017-09-11 2022-03-25 中兴通讯股份有限公司 Address allocation method and system
CN114500028A (en) * 2022-01-21 2022-05-13 北京安天网络安全技术有限公司 Network access control method and device and computer equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060146742A1 (en) * 2003-05-13 2006-07-06 Toyoki Kawahara Mobile router, position management server, mobile network management system, and mobile network management method
CN103326884A (en) * 2013-05-30 2013-09-25 烽火通信科技股份有限公司 Service flow aware system and method combining flow detection and package detection in SDN
CN103369038A (en) * 2013-07-03 2013-10-23 中国联合网络通信集团有限公司 PaaS (platform as a service) management platform and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100560737B1 (en) * 2003-02-18 2006-03-13 삼성전자주식회사 appatus for converting IPv4-to-IPv6 using dual stack and method thereof
US8392613B2 (en) * 2008-07-03 2013-03-05 Nokia Corporation Network address assignment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060146742A1 (en) * 2003-05-13 2006-07-06 Toyoki Kawahara Mobile router, position management server, mobile network management system, and mobile network management method
CN103326884A (en) * 2013-05-30 2013-09-25 烽火通信科技股份有限公司 Service flow aware system and method combining flow detection and package detection in SDN
CN103369038A (en) * 2013-07-03 2013-10-23 中国联合网络通信集团有限公司 PaaS (platform as a service) management platform and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107666467A (en) * 2016-07-29 2018-02-06 华为技术有限公司 Resource allocation methods, equipment and system
US11042408B2 (en) 2016-07-29 2021-06-22 Huawei Technologies Co., Ltd. Device, system, and resource allocation method
CN110012118A (en) * 2019-03-08 2019-07-12 平安科技(深圳)有限公司 It is a kind of that the method and controller of network address translation NAT service are provided
CN112214300A (en) * 2020-10-12 2021-01-12 北京泽石科技有限公司 Command timeout processing method, processing device and computer readable storage medium
CN112214300B (en) * 2020-10-12 2024-05-17 北京泽石科技有限公司 Method and device for processing command timeout and computer readable storage medium

Also Published As

Publication number Publication date
WO2015103919A1 (en) 2015-07-16
CN104780232B (en) 2018-07-31

Similar Documents

Publication Publication Date Title
CN104780232B (en) A kind of resource allocation methods, controller and system
EP3435606B1 (en) Message processing method, computing device, and message processing apparatus
CN106412142B (en) Resource equipment address obtaining method and device
CN105610632B (en) Virtual network equipment and related method
EP3169044B1 (en) Address allocation method, cgn device and cgn double-master system
EP3046394B1 (en) Message processing method and mme selection method and device
CN113242293B (en) UPF equipment, data processing and capacity expansion method and device
CN107547665B (en) Method, equipment and system for allocating DHCP (dynamic host configuration protocol) address
US20200195606A1 (en) Ip address allocation system and method
WO2013177891A1 (en) Public network address allocation method and device
CN107786669B (en) Load balancing processing method, server, device and storage medium
JP2017528052A5 (en)
CN110771097B (en) Connectivity monitoring for data tunneling between network device and application server
CN103795622A (en) Message forwarding method and device using same
US10476746B2 (en) Network management method, device, and system
CN107846433A (en) A kind of synchronous methods, devices and systems of session information
WO2014142258A1 (en) Communication system, control device, address allocation method, and program
CN108667957B (en) IP address allocation method, first electronic device and first server
CN105099952A (en) Method and device for allocating resources
CN108124022B (en) Network address translation management method and device
CN106878202B (en) Message processing method and device
EP3503484A1 (en) Message transmission method, device and network system
CN111064814B (en) VxLAN NAT traversal method, system and gateway based on PCP
CN108650337B (en) Server detection method, system and storage medium
KR101996337B1 (en) Switch processing method, controller, switch, and switch processing system

Legal Events

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