WO2014180363A1 - OpenFlow信令控制方法及装置 - Google Patents

OpenFlow信令控制方法及装置 Download PDF

Info

Publication number
WO2014180363A1
WO2014180363A1 PCT/CN2014/077586 CN2014077586W WO2014180363A1 WO 2014180363 A1 WO2014180363 A1 WO 2014180363A1 CN 2014077586 W CN2014077586 W CN 2014077586W WO 2014180363 A1 WO2014180363 A1 WO 2014180363A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
controller
flow table
execution logic
logic
Prior art date
Application number
PCT/CN2014/077586
Other languages
English (en)
French (fr)
Inventor
王静
毕以峰
田甜
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2014180363A1 publication Critical patent/WO2014180363A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality

Definitions

  • the present invention relates to the field of communications, and in particular to an OpenFlow signaling control method and apparatus.
  • BACKGROUND OF THE INVENTION Stanford University in the United States proposed the OpenFlow protocol in 2008.
  • the protocol uses a forwarding/control separation architecture.
  • the external control plane entity uses the OpenFlow protocol to control the forwarding plane device to implement various forwarding logics.
  • the main function of the forwarding plane device is based on OpenFlow.
  • the flow table sent by the controller performs controlled forwarding, and its behavior is standardized: Receive a message, take out the L2/L3/L4 related field value of the header, and use it as a key to search the flow table and match it to a table.
  • the packet field is processed according to the instruction set in the content of the entry, and then forwarded to a logical or physical port according to the indication.
  • SDN Software Defined Network
  • This protocol is further evolved, called Software Defined Network (SDN), which means that software can be used to implement various complex network applications on the control plane, and the forwarding plane device does not need any change, because the control plane adopts Universal server + general-purpose operating system, and can be implemented using a common software programming tool or a scripting language such as Python, which makes the support of the new network protocol very simple, and the new technology deployment cycle is greatly shortened.
  • OpenFlow defined by the Open Networking Foundation (OF) standards organization, OpenFlow includes three types of messages: Controller-to-Switch messages, Asynchronous messages, Symmetric message.
  • the Controller-to-Switch message is a message sent by the Controller to the Switch.
  • a response message exists.
  • An Asynchronous message is a message sent by the Switch to the Controller to report the port status, error information, unhandled signaling, or data of the Switch.
  • Symmetric messages can be sent by the Controller or Switch, mainly to protect links or test links.
  • Step 1 When the user is idle, there is no user plane channel on the Switch. When the downlink data stream 1 arrives, the data of the unmatched flow table is cached and sent to the Packet according to the processing mode of the Switch. The in message triggers the operation of the Controller.
  • Step 2 A Universal Gateway (UGW) sends a Packet in message.
  • Step 3 The controller can learn which user downlink data arrives according to the packet header information of the Packet in, and send a GTP-C downlink data notification message to the MME.
  • Step 4 The Mobile Management Entity (MME) initiates paging to the user.
  • MME Mobile Management Entity
  • Step 5 In the case that the controller does not modify the flow table, when the downlink data stream 2 of the user arrives, according to the operation of the UGW configuration, the flow table is cached for the same user and the packet is sent to the controllers.
  • Step 6 Downstream data Stream 2 triggers Packet in to send.
  • Step 7 If the downlink data stream that the user does not get matching continues to arrive, the Switch frequently sends the Packet in message according to the existing operation, even if the downlink data may be the same Qos level service data of the same user.
  • Step 8 After the user successfully clicks, the MME receives the SR signaling procedure initiated by the user terminal UE.
  • Step 9 The MME updates the user plane downlink tunnel by modifying the bearer request message.
  • Step 10 The Controller indicates that the buffer data is sent from the downlink tunnel port by using a Packet out message.
  • Step 11 The controller uses the flow table modification message to instruct the subsequent data flow to execute the modified flow table content, and sends the data from the downlink tunnel port.
  • the delay caused by the paging process will bring a signaling impact to the Controller.
  • multiple traffic flows of the same level of the same user reach the Switch and need to be sent by the Packet in.
  • this signaling impact on the controlller is particularly evident. Aiming at the delay caused by the paging process in the related art, the signaling impact on the Controller becomes a problem that becomes more obvious as the number of users increases.
  • the embodiments of the present invention provide an OpenFlow signaling control method and apparatus, so as to at least solve the delay caused by the paging process, and the signaling impact on the Controller becomes more obvious as the number of users increases. problem.
  • an OpenFlow signaling control method which is applied to a switch side, and includes: a switch determines, according to an operation logic in a message processing flow table predefined by a controller, a report level of a report message, where The reporting level includes: a high priority and a low priority, and the message processing flow table further includes: an execution logic; in a case where the reporting level is a high priority, the switch executes the first execution logic corresponding to the high priority in the execution logic, In the case that the reporting level is a low priority, the switch executes the second execution logic corresponding to the low priority in the execution logic, where the first execution logic sends the report message to the controller in real time, and the second execution logic is not to the controller.
  • the method includes: the switch receiving the message processing flow table sent by the controller, where the message processing flow table is The matching domain includes: a preset user identifier and a preset message type, and the execution domain in the message processing flow table includes: an operation logic and an execution logic.
  • the method includes: the switch performs a matching operation on the report message, and if the match is successful, performs a definition operation on the execution domain; the switch according to the message type and report of the report message Whether the service level of the data in the message and the reported message are sent together with the pre-configured policy determines whether the reporting level is high priority or low priority.
  • the switch performs the matching operation on the report message, including: when the report message arrives at the message processing flow table, the switch obtains the user's IP address according to the message type and the data in the report message; and uses the user's IP address as the user identifier and the preset user. The ID is matched.
  • not sending the report message to the controller in real time comprises: sending the report message to the controller without sending the report message to the controller, or sending the report message to the controller in real time after a predetermined time interval.
  • the reporting message includes: a Packet in message.
  • an OpenFlow signaling control apparatus which is located at a switch, and includes: a determining module, configured to determine, according to an operation logic of a message processing flow table predefined by a controller, a reporting level of the reported message,
  • the reporting level includes: a high priority and a low priority
  • the message processing flow table further includes: an execution logic; an execution module, configured to execute the execution logic when the reporting level is a high priority
  • the first execution logic of the high priority in the case that the reporting level is a low priority, executing the second execution logic corresponding to the low priority in the execution logic, where the first execution logic is to send the report message to the controller in real time.
  • the second execution logic does not send the report message to the controller in real time.
  • an OpenFlow signaling control method which is applied to a controller side, and includes: a controller definition message processing flow table, where an execution domain of the message processing flow table includes: operation logic and execution
  • the controller sends the message processing flow table to the switch, so that the switch determines the reporting level of the reporting message according to the operation logic and executes the corresponding execution logic in the execution logic according to the reporting level, where the corresponding execution logic includes: sending the controller to the controller in real time.
  • the report message or the report message is not sent to the controller in real time, and the report level includes: high priority and low priority.
  • the matching field of the message processing flow table includes: a preset user identifier and a preset message type.
  • an OpenFlow signaling control apparatus which is located in a controller, and includes: a definition module, configured to define a message processing flow table, where an execution domain of the message processing flow table includes: The execution logic is configured to send the message processing flow table to the switch, so that the switch determines the reporting level of the reported message according to the operation logic and executes the corresponding execution logic in the execution logic according to the reporting level, where the corresponding execution logic includes: The device sends a report message to the controller in real time or does not send a report message to the controller in real time.
  • the report level includes: high priority and low priority.
  • the controller presets the operation logic and the execution logic in the execution domain of the message processing flow table and sends the logic to the switch, and then the switch determines the reporting level of the reported message according to the operation logic, and according to the reporting level.
  • the level of the execution logic is selected from the execution logic to determine whether to send a report message to the controller.
  • the delay caused by the paging process is solved, and the impact on the controller is increased as the number of users increases.
  • a particularly obvious problem is that the processing method of the sent message can be flexibly defined in the form of a message processing flow table, thereby achieving the behavior of normalizing the signaling sent by the Switch, and avoiding the performance degradation effect of the Controller due to a large number of repeated signaling processing.
  • FIG. 1 is a flowchart of an EPC network paging according to the OpenFlow protocol according to the related art
  • FIG. 2 is a flowchart of an OpenFlow signaling control method according to Embodiment 1 of the present invention
  • 3 is a structural block diagram of an OpenFlow signaling control apparatus according to Embodiment 1 of the present invention
  • FIG. 1 is a flowchart of an EPC network paging according to the OpenFlow protocol according to the related art
  • FIG. 2 is a flowchart of an OpenFlow signaling control method according to Embodiment 1 of the present invention
  • 3 is a structural block diagram of an OpenFlow signaling control apparatus according to Embodiment 1 of the present invention
  • FIG. 4 is a flowchart of an OpenFlow signaling control method according to Embodiment 2 of the present invention
  • FIG. 5 is an OpenFlow signaling according to Embodiment 2 of the present invention
  • FIG. 6 is a schematic structural diagram of a message processing flow table defined by a controller according to a preferred embodiment of the present invention
  • FIG. 7 is a flowchart showing an implementation process of a signaling control method according to a preferred embodiment of the present invention
  • FIG. 9 is a schematic diagram showing the functional configuration of a controller in accordance with a preferred embodiment of the present invention
  • FIG. 10 is a schematic diagram of a device function of a switch according to a preferred embodiment of the present invention; Schematic.
  • the embodiment of the present invention provides an OpenFlow signaling control method and apparatus, which mainly relates to the field of signaling optimization based on the OpenFlow protocol.
  • the behavior of the signaling sent by the Switch can be normalized, and the repeated signaling of the Controller is avoided.
  • the performance caused by processing is degraded.
  • the first embodiment of the present invention provides an OpenFlow signaling control method, which can be applied to the switch side.
  • Step S202 the switch processes according to a message predefined by a controller.
  • the operation logic in the flow table determines the reporting level of the reported message, wherein the reporting level includes: a high priority and a low priority, and the message processing flow table further includes: execution logic; step S204, when the reporting level is high priority
  • the switch executes the first execution logic corresponding to the high priority in the execution logic.
  • the switch executes the second execution logic corresponding to the low priority in the execution logic, where the first execution logic
  • the report message is sent to the controller in real time, and the second execution logic does not send the report message to the controller in real time.
  • the controller may preset the operation logic and the execution logic in the execution domain in the message processing flow table and send the logic to the switch, and the switch determines the reporting level of the reported message according to the operation logic, and according to the upper The level of the report level selects the corresponding execution logic from the execution logic to determine whether to send a report message to the controller. In this way, the processing of the sent message can be flexibly defined in the form of a message processing flow table.
  • the switch may receive a message processing flow table sent by the controller, where the matching field in the message processing flow table includes: a preset user identifier and a preset message type, and a message processing flow.
  • the execution domains in the table include: arithmetic logic and execution logic.
  • the switch may perform the matching operation on the report message first. If the match is successful, perform the definition operation on the execution domain; The message type of the reported message, the service level of the data in the report message, and whether the report message is sent or not combined with the pre-configured policy determines whether the report level is high priority or low priority.
  • the switch performs the matching operation on the reported message in the following manner: When the report message reaches the message processing flow table, the switch obtains the user's IP address according to the message type and the data in the report message; the user's IP address is used as the user identifier and The preset user ID is used for matching operations.
  • not sending the report message to the controller in real time may include: sending a report message to the controller without sending a report message to the controller, or sending the report message to the controller in real time after a predetermined time interval.
  • the reporting message may include: a Packet in message.
  • the report message may also include other types of messages that need to be reported.
  • the first embodiment of the present invention provides an OpenFlow signaling control apparatus, which is located in a switch, to implement the OpenFlow signaling control method provided in Embodiment 1.
  • FIG. 3 is a structural block diagram of an OpenFlow signaling control apparatus according to Embodiment 1 of the present invention. As shown in FIG. 3, the apparatus mainly includes: a determining module 10 and an executing module 20.
  • the determining module 10 is configured to determine, according to the operation logic of the message processing flow table defined by the controller, the reporting level of the reporting message, where the reporting level includes: a high priority and a low priority, and the message processing flow table further includes: Execution logic; the execution module 20 is configured to execute, in a case where the reporting level is a high priority, execute the first execution logic corresponding to the high priority in the execution logic, and execute the execution logic if the reporting level is a low priority Corresponding to the low-priority second execution logic, where the first execution logic is to send a report message to the controller in real time, and the second execution logic does not send the report message to the controller in real time.
  • Embodiment 2 of the present invention provides an OpenFlow signaling control method, which can be applied to a controller side.
  • FIG. 4 is a flowchart of an OpenFlow signaling control method according to Embodiment 2 of the present invention.
  • the method mainly includes the following steps (Step S402-Step S404): Step S402, the controller defines a message processing flow table, where the execution domain of the message processing flow table includes: operation logic and execution logic; step S404, the controller sends the message processing flow table to the switch to enable the switch to determine the report according to the operation logic
  • the reporting level of the message and the corresponding execution logic in the execution logic according to the reporting level, wherein the corresponding execution logic comprises: sending the reporting message to the controller in real time or not sending the reporting message to the controller in real time, the reporting level includes: high priority and low priority.
  • the matching domain of the message processing flow table may include: a preset user identifier and a preset message type.
  • the second embodiment of the present invention provides an OpenFlow signaling control apparatus, which is located in a controller, and implements the OpenFlow signaling control method provided in Embodiment 2.
  • FIG. 5 is a structural block diagram of an OpenFlow signaling control apparatus according to Embodiment 2 of the present invention. As shown in FIG. 5, the apparatus mainly includes: a definition module 10 and a delivery module 20.
  • the definition module 10 is configured to define a message processing flow table, where the execution domain of the message processing flow table includes: operation logic and execution logic; the sending module 20 is configured to send the message processing flow table to the switch to make the switch Determining the reporting level of the reported message according to the operation logic and executing the corresponding execution logic in the execution logic according to the reporting level, wherein the corresponding execution logic includes: sending the report message to the controller in real time or not sending the report message to the controller in real time, and the report level includes: High priority and low priority.
  • the OpenFlow signaling control method and apparatus provided in the foregoing Embodiment 1 and Embodiment 2 can flexibly define the processing manner of the sent message through the form of the message processing flow table, thereby achieving the behavior of normalizing the signaling sent by the Switch, and avoiding the Controller due to The effect of performance degradation caused by a large number of repeated signaling processes.
  • the OpenFlow signaling control method and apparatus provided by the foregoing embodiments are described and illustrated in more detail below with reference to FIG. 6 to FIG. 10 and a preferred embodiment.
  • the message processing flow table may be predefined by the controller, where the matching field of the flow table includes: a user identifier, a message type, and an execution domain of the flow table includes: operation and execution logic.
  • the controller may arrange the message processing flow table into the flow table pipeline serial operation, and optionally, the characteristic information about the flow in the upper flow table may be sent to the message processing flow table in the form of metadata, where, the flow The feature information includes: Quality of Service (Qos), resource preemption priority, and so on.
  • Qos Quality of Service
  • the execution domain may be determined by using the user identifier and the message type in the matching domain to learn the sending behavior of the corresponding message.
  • the switch may define an operator and an executor, where the operator is used to determine a message level and/or a service level of the data stream, The rower is configured to perform a corresponding transmission behavior based on the level information.
  • the sending behavior of the executor may be configured by the controller, and the sending behavior may be immediate sending, limited time sending, signaling of the same level of the same user being sent only once, and the like.
  • 6 is a schematic structural diagram of a message processing flow table defined by a controller according to a preferred embodiment of the present invention. As shown in FIG. 6, the details of the message processing flow table structure are as follows: The flow table structure supported by the OpenFlow protocol defined by OF, The specific structure of the message processing flow table defined by the present invention includes: a matching domain, a counter, and an execution domain. Where: The matching domain includes: user ID and message type. The way a particular user-specific message is handled can be obtained by matching the matching process of the domain.
  • the user identifier can be set to be wildcarded, and the processing manner of the specific message can be obtained by the matching process of the matching domain.
  • the counter is used to calculate the number of matching messages.
  • the execution domain is used to specify the processing behavior of the matching message.
  • the execution domain includes: operation logic and execution logic, wherein the operation logic is used to determine the level of the matching message, or determine the service level of the data stream according to the service data stream metadata, or determine whether the class has been processed according to the operation of traversing the execution domain The sending of the message.
  • the execution logic defines different levels of message delivery methods, such as high-level messages being sent immediately, low-level messages can be set to report time interval delay transmission, and the same user's same-level service data flow reporting messages are sent only once.
  • the controller may define different arithmetic logic and execution logic according to the needs of the administrator. For example, the controller can divide the signaling sent by the switch according to the urgency or importance according to the needs of the administrator. For messages that need to be processed on the fly (for example, the address matching protocol (ARP) or the Dynamic Host Configuration Protocol (DHCP)), you can set it as the operation logic. The higher priority in the process, after the execution logic is defined as qualified, the controller does not control and immediately sends the controller for processing. For the messages used for state synchronization such as Flow-Removed and Port-status, it can be set as the comparison in the operation logic.
  • ARP address matching protocol
  • DHCP Dynamic Host Configuration Protocol
  • FIG. 7 is a flowchart of an implementation process of a signaling control method according to a preferred embodiment of the present invention. As shown in FIG.
  • the implementation process includes: The data stream arrives at the flow table n in the switch. Determine whether the flow table n can be matched. If it can match, perform data forwarding. If it cannot match, determine whether the table miss flow entry in the flow table n indicates that the Packet in upload processing is performed. If yes, According to the controller's scheduling of the flow table, the Packet in message is sent to the message processing flow table (Table n+1) for processing, and conversely, the data is discarded.
  • the flow table n can also send the characteristic information of the data stream as metadata to the message processing flow table (
  • the Packet in message uses its own message type (Packet in message, openflow protocol defines the protocol header number is 10) and the data carried in the Packet in message to obtain the user IP address as the user identifier for Table n+1. Matches the matching of the domain. After the hit, the operation of the domain definition is completed. The operation logic in the execution domain determines that the Packet in information level is low, and the metadata needs to be used to determine the data flow level. After traversing the execution domain, it is found that the Packet in the service data flow of the level is not up. After being sent, the level information and the traversal result are processed by the execution logic, and the execution logic defines the case that the Packet in message needs to be sent.
  • Packet in message openflow protocol defines the protocol header number is 10
  • FIG. 8 is a flowchart of an implementation of an application in an SDN EPC network according to a preferred embodiment of the present invention. As shown in FIG.
  • Step S801 Downstream data stream 1 arrives at the Switch.
  • step S802 when the user is idle, there is no user plane channel of the user downlink at the moment, the flow table cannot be matched, and the Packet in message needs to be sent.
  • the message processing flow table needs to be started to determine whether to send a Packet in message.
  • the specific process is shown in FIG. 7.
  • Step S803 the message processing flow table in the switch determines that the Packet in message sent by the level data stream is not sent, and the Switch sends the Packet in message to the Controllers.
  • Step S804 the controller can know which user according to the packet header information sent by the Packet in.
  • the downlink data arrives and sends a GTP-C downlink data notification message to the MME.
  • Step S805 the MME initiates paging to the user.
  • Step S806 The downlink data stream 2 arrives at the Switch. The switch does not obtain the downlink matching flow table, and needs to send the Packet in message again. At this time, the message processing flow table needs to be started to determine whether it is necessary to send the Packet in message again.
  • step S807 if the downlink data stream 2 and the downlink data stream 1 belong to the same user and the service level of the data stream is the same, according to the embodiment described in FIG. 7, the Packet in message does not need to be sent at this time.
  • Step S808 after the user successfully clicks, the MME receives the SR signaling procedure initiated by the user terminal UE. Step S809, the MME updates the user plane downlink tunnel by modifying the bearer request message.
  • Step S810 the Controller indicates that the buffer data is sent from the downlink tunnel port by using a Packet out message.
  • FIG. 9 is a schematic structural diagram of a device function of a controller according to a preferred embodiment of the present invention. As shown in FIG. 9, the following specifically includes the following functional units:
  • the message processing flow table generating unit 901 is configured to generate a corresponding message type that may be sent by the switch.
  • the message processing flow table, the matching field of the flow table is used to hit the execution domain, and the controller sets the execution domain content according to different message types according to requirements.
  • the execution domain includes: arithmetic logic and execution logic.
  • the orchestration unit 903 is configured to arrange the message processing flow table to the end of the flow table that needs to be sent by signaling, and increase the determination process of whether the signaling is sent, to help the switch optimize the processing sent by the signaling.
  • 10 is a schematic structural diagram of a device function of a switch according to a preferred embodiment of the present invention. As shown in FIG.
  • An arithmetic unit 1001 performs operation logic in a message processing flow table defined by a controller, and is used to determine The level of the matching message or the service level of the data stream is determined based on the service data stream metadata or the operation of traversing the execution domain determines whether the transmission of such a message has been handled.
  • the executor 1003 is configured to perform a logic-defined different level of message delivery mode, for example, a high-level message is sent immediately, a low-level message can be set to report a time interval, and a report message of the same level of the same-level service data stream is sent only. Wait a minute.
  • the method provided by the preferred embodiment can improve the problem of the OpenFlow application generated in the process shown in FIG.
  • the embodiment of the present invention can be applied to any network that uses the OpenFlow protocol, and the setting and scheduling of the message processing flow table can be specifically performed according to actual conditions.
  • the controller Controller provided by the embodiment of the present invention can be applied to any server or platform having computing and storage capabilities. Forwarding and merging can be implemented on any physical device with simple local computing and routing forwarding capabilities, such as routers, switches, network processors, and so on.
  • each of the above modules can be implemented by hardware.
  • a processor, including the above modules, or each of the above modules is located in one processor.
  • software is also provided for performing the technical solutions described in the above embodiments and preferred embodiments.
  • a storage medium is provided, the software being stored, including but not limited to: an optical disk, a floppy disk, a hard disk, a rewritable memory, and the like. From the above description, it can be seen that the present invention achieves the following technical effects:
  • the controller presets the operation logic and the execution logic in the execution domain in the message processing flow table and delivers the logic to the switch, and then the switch according to the operation logic Determining the reporting level of the reported message, and selecting a corresponding execution logic from the execution logic to determine whether to send a report message to the controller according to the level of the report level, and flexibly defining the processing manner of the sent message through the form of the message processing flow table, and further The behavior of normalizing the signaling sent by the Switch is achieved, and the performance degradation of the Controller due to a large number of repeated signaling processing is avoided.
  • modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device, such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • the above is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention.
  • the controller presets the operation logic and the execution logic in the execution domain in the message processing flow table and sends the logic to the switch, and then the switch determines the reporting level of the reported message according to the operation logic, and according to the reporting level.
  • the high or low selects the corresponding execution logic from the execution logic to determine whether to send a report message to the controller, and solves the delay caused by the paging process.
  • the signaling impact on the controller becomes more as the number of users increases.
  • the obvious problem is that the processing method of the sent message can be flexibly defined by the form of the message processing flow table, thereby achieving the behavior of normalizing the signaling sent by the Switch, and avoiding the performance degradation effect of the Controller due to a large number of repeated signaling processing.

Landscapes

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

Abstract

公开了一种OpenFlow信令控制方法及装置。其中,该方法包括:交换机根据由控制器预先定义的消息处理流表中的运算逻辑确定上报消息的上报等级,其中,上报等级包括:高优先级和低优先级,消息处理流表还包括:执行逻辑;在上报等级为高优先级的情况下,交换机执行执行逻辑中对应于高优先级的第一执行逻辑,在上报等级为低优先级的情况下,交换机执行执行逻辑中对应于低优先级的第二执行逻辑,其中,第一执行逻辑是向控制器实时发送上报消息,第二执行逻辑是不向控制器实时发送上报消息。通过这种方法和装置能够避免Controller由于大量重复的信令处理带来的性能下降的效果。

Description

OpenFlow信令控制方法及装置 技术领域 本发明涉及通信领域, 具体而言, 涉及一种 OpenFlow信令控制方法及装置。 背景技术 美国斯坦福大学于 2008年提出了 OpenFlow协议,该协议采用转发 /控制分离架构, 外置控制面实体采用 OpenFlow协议控制转发面设备实现各种转发逻辑, 而转发面设 备的主要功能就是根据 OpenFlow控制器下发的流表执行受控转发, 其行为是标准化 的: 收到一条报文, 取出其头部 L2/L3/L4相关字段值, 以其作为关键字查找流表, 匹 配到一个表项后, 根据表项内容中的指令集对报文字段进行处理, 完毕后根据指示转 发到某一逻辑或物理端口。此协议思想进一步演进, 称为软件定义网络技术(Software Defined Network, 简称为 SDN), 即可以在控制面采用软件编程实现各种复杂的网络 应用, 而转发面设备无需任何改变, 由于控制面采用通用服务器 +通用操作系统, 并且 可以使用通用的软件编程工具, 也可以使用 Python这样的脚本编程语言实现, 这使得 新的网络协议的支持变得非常简单, 而且新技术部署周期大大缩短。 按照开放式网络基金会(Open Networking Foundation, 简称为 O F)标准组织定 义的 OpenFlow协议描述, OpenFlow包括三种类型的消息: Controller-to-Switch (控制 器到交换机) 消息、 Asynchronous (异步) 消息、 Symmetric (对称) 消息。 其中, Controller-to-Switch消息是 Controller (控制器) 向 Switch (交换机) 发送的消息, 可 选存在响应消息。 Asynchronous 消息是 Switch 向 Controller发送的消息, 用于上报 Switch 的端口状态、 错误信息、 无法处理的信令或者数据等。 Symmetric消息可以由 Controller或者 Switch二者任意发送, 主要是用来保护链路或者测试链路。 在实际应 用过程中, 由于基于 OpenFlow协议的网络架构控制面和转发面彻底分离, 转发面仅 具备简单的控制面功能, 那么就需要控制面 Controller 的处理能力要非常强大, 对于 转发面出现的错误和不能识别的控制信令或者数据都需要通过 Packet in 消息上送到 Controller解析, 进而由 Controller向转发面设备 UGW (通用网关) 下发处理操作。 网络应用中存在黑客恶意攻击、 大量的不同类型下行数据流的情况, 对于目前 OpenFlow协议规定的操作, 虽然可以设置无法匹配的数据执行丢弃操作, 以此预防未 知数据或者信令对 Controller的冲击, 但对于到达 Switch的有效用户数据来说, 频繁 的 Packet in消息上送也会带来 Controller不必要的性能下降。 图 1是根据相关技术的基于 OpenFlow协议的演进分组交换中心 (Evolved Packet Core, 简称为 EPC) 网络寻呼流程图, 如图 1所示, 以 SDN EPC网络 (属于移动核 心网) 中出现的实际问题为例进行说明: 步骤 1, 用户处于空闲时 Switch上没有用户下行的用户面通道, 当下行数据流 1 到达时, 根据 Switch 的处理方式, 对于未匹配流表的数据进行缓存并上送 Packet in 消息触发 Controller的操作。 步骤 2, 通用网关 (Universal Gateway, 简称为 UGW) 上送 Packet in消息。 步骤 3, Controller根据 Packet in的分组头信息可以获知哪个用户下行数据到达, 向 MME发送 GTP-C的下行数据通知消息。 步骤 4, 移动性管理实体(Mobile Management Entity, 简称为 MME)启动对用户 的寻呼。 步骤 5, 在 Controller未修改流表的情况下, 当用户的下行数据流 2到达时, 按照 UGW配置的操作, 对于相同用户未匹配的流表缓存并发送 Packet in给 Controllers 步骤 6, 由下行数据流 2触发 Packet in上送。 步骤 7, 如果持续有用户未得到匹配的下行数据流到达, 那么 Switch按照现有操 作会频繁上送 Packet in消息,即便下行数据可能是相同用户相同 Qos等级的业务数据。 步骤 8, 当用户寻呼成功后, MME会收到用户终端 UE发起的 SR信令过程。 步骤 9, MME通过修改承载请求消息更新用户面下行隧道。 步骤 10, Controller通过 Packet out消息指示缓存数据从下行隧道端口发送。 步骤 11, Controller通过流表修改消息指示后续数据流执行修改后的流表内容,将 数据从下行隧道端口发送。 通过上述流程的分析来看, 寻呼过程导致的时延会给 Controller带来信令上的冲 击, 特别是相同用户相同等级的多个业务流到达 Switch也需要 Packet in上送的情况。 随着用户数的增长, 这种对 controlller的信令冲击尤为明显。 针对相关技术中寻呼过程导致的时延给 Controller带来信令上的冲击会随着用户 数的增长而变得尤为明显的问题, 目前尚未提出有效的解决方案。 发明内容 本发明实施例提供了一种 OpenFlow信令控制方法及装置, 以至少解决上述寻呼 过程导致的时延给 Controller带来信令上的冲击会随着用户数的增长而变得尤为明显 的问题。 根据本发明的一个实施例, 提供了一种 OpenFlow信令控制方法, 应用于交换机 侧, 包括: 交换机根据由控制器预先定义的消息处理流表中的运算逻辑确定上报消息 的上报等级, 其中, 上报等级包括: 高优先级和低优先级, 消息处理流表还包括: 执 行逻辑; 在上报等级为高优先级的情况下, 交换机执行执行逻辑中对应于高优先级的 第一执行逻辑, 在上报等级为低优先级的情况下, 交换机执行执行逻辑中对应于低优 先级的第二执行逻辑, 其中, 第一执行逻辑是向控制器实时发送上报消息, 第二执行 逻辑是不向控制器实时发送上报消息。 优选地, 在交换机根据由控制器预先定义的消息处理流表中的运算逻辑确定上报 消息的上报等级之前, 包括: 交换机接收控制器下发的消息处理流表, 其中, 消息处 理流表中的匹配域包括: 预置用户标识和预置消息类型, 消息处理流表中的执行域包 括: 运算逻辑和执行逻辑。 优选地, 在交换机执行第一执行逻辑向控制器实时发送上报消息之前, 包括: 交 换机对上报消息进行匹配操作, 如果匹配成功, 进行对执行域的定义操作; 交换机根 据上报消息的消息类型、 上报消息中数据的业务等级以及上报消息是否上送过结合预 先配置的策略确定上报等级为高优先级还是低优先级。 优选地, 交换机对上报消息进行匹配操作, 包括: 当上报消息到达消息处理流表 时, 交换机根据消息类型和上报消息中数据获取用户的 IP地址; 将用户的 IP地址作 为用户标识与预置用户标识进行匹配操作。 优选地, 不向控制器实时发送上报消息包括: 不向控制器发送上报消息、 或间隔 预定时间后再向控制器实时发送上报消息。 优选地, 上报消息包括: Packet in消息。 根据本发明的另一实施例, 提供了一种 OpenFlow信令控制装置, 位于交换机, 包括: 确定模块, 设置为根据由控制器预先定义的消息处理流表的运算逻辑确定上报 消息的上报等级, 其中, 上报等级包括: 高优先级和低优先级, 消息处理流表还包括: 执行逻辑; 执行模块, 设置为在上报等级为高优先级的情况下, 执行执行逻辑中对应 于高优先级的第一执行逻辑, 在上报等级为低优先级的情况下, 执行执行逻辑中对应 于低优先级的第二执行逻辑, 其中, 第一执行逻辑是向控制器实时发送上报消息, 第 二执行逻辑是不向控制器实时发送上报消息。 根据本发明的又一实施例, 提供了一种 OpenFlow信令控制方法, 应用于控制器 侧, 包括: 控制器定义消息处理流表, 其中, 消息处理流表的执行域包括: 运算逻辑 和执行逻辑; 控制器将消息处理流表下发到交换机以使交换机根据运算逻辑确定上报 消息的上报等级和按照上报等级执行执行逻辑中的相应执行逻辑, 其中, 相应执行逻 辑包括: 向控制器实时发送上报消息或不向控制器实时发送上报消息,上报等级包括: 高优先级和低优先级。 优选地, 消息处理流表的匹配域包括: 预置用户标识和预置消息类型。 根据本发明的还一实施例, 提供了一种 OpenFlow信令控制装置, 位于控制器, 包括: 定义模块, 设置为定义消息处理流表, 其中, 消息处理流表的执行域包括: 运 算逻辑和执行逻辑; 下发模块, 设置为将消息处理流表下发到交换机以使交换机根据 运算逻辑确定上报消息的上报等级和按照上报等级执行执行逻辑中的相应执行逻辑, 其中, 相应执行逻辑包括: 向控制器实时发送上报消息或不向控制器实时发送上报消 息, 上报等级包括: 高优先级和低优先级。 通过本发明实施例, 采用由控制器在消息处理流表中的执行域中预置运算逻辑和 执行逻辑并下发给交换机, 再由交换机根据运算逻辑确定上报消息的上报等级, 并根 据上报等级的高低从执行逻辑中选择相应的执行逻辑以确定是否向控制器发送上报消 息的方式, 解决了寻呼过程导致的时延给 Controller带来信令上的冲击会随着用户数 的增长而变得尤为明显的问题, 可以通过消息处理流表的形式灵活定义上送消息的处 理方式, 进而达到了规范化 Switch发送信令的行为, 避免 Controller由于大量重复的 信令处理带来的性能下降的效果。 附图说明 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部分, 本发 明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不当限定。 在附图 中: 图 1是根据相关技术的基于 OpenFlow协议的 EPC网络寻呼流程图; 图 2是根据本发明实施例一的 OpenFlow信令控制方法流程图; 图 3是根据本发明实施例一的 OpenFlow信令控制装置的结构框图; 图 4是根据本发明实施例二的 OpenFlow信令控制方法流程图; 图 5是根据本发明实施例二的 OpenFlow信令控制装置的结构框图; 图 6是根据本发明优选实施例的控制器定义的消息处理流表结构示意图; 图 7是根据本发明优选实施例的信令控制方法的实施过程图; 图 8是根据本发明优选实施例的应用在 SDN EPC网络中的实施流程图; 图 9是根据本发明优选实施例的控制器的设备功能结构示意图; 以及 图 10是根据本发明优选实施例的交换机的设备功能结构示意图。 具体实施方式 下文中将参考附图并结合实施例来详细说明本发明。 需要说明的是, 在不冲突的 情况下, 本申请中的实施例及实施例中的特征可以相互组合。 本发明实施例提供了一种 OpenFlow 信令控制方法及装置, 其主要涉及基于 OpenFlow协议的信令优化领域, 通过本实施例, 可以规范化 Switch发送信令的行为, 避免 Controller由于大量重复的信令处理带来的性能下降。 本发明实施例一提供了一种 OpenFlow信令控制方法, 可以应用于交换机侧,。 图
2是根据本发明实施例一的 OpenFlow信令控制方法流程图, 如图 2所示, 该方法主要 包括以下步骤 (步骤 S202-步骤 S204): 步骤 S202,交换机根据由控制器预先定义的消息处理流表中的运算逻辑确定上报 消息的上报等级, 其中, 上报等级包括: 高优先级和低优先级, 消息处理流表还包括: 执行逻辑; 步骤 S204, 在上报等级为高优先级的情况下, 交换机执行执行逻辑中对应于高优 先级的第一执行逻辑, 在上报等级为低优先级的情况下, 交换机执行执行逻辑中对应 于低优先级的第二执行逻辑, 其中, 第一执行逻辑是向控制器实时发送上报消息, 第 二执行逻辑是不向控制器实时发送上报消息。 通过上述各个步骤, 控制器可以在消息处理流表中的执行域中预置运算逻辑和执 行逻辑并下发给交换机, 交换机再根据运算逻辑确定上报消息的上报等级, 并根据上 报等级的高低从执行逻辑中选择相应的执行逻辑以确定是否向控制器发送上报消息。 以这样的方式, 可以通过消息处理流表的形式灵活定义上送消息的处理方式。 在本实施例中,在执行步骤 S202之前,交换机可以接收控制器下发的消息处理流 表, 其中, 消息处理流表中的匹配域包括: 预置用户标识和预置消息类型, 消息处理 流表中的执行域包括: 运算逻辑和执行逻辑。 在本实施例的步骤 S204中,在交换机执行第一执行逻辑向控制器实时发送上报消 息之前, 交换机可以先对上报消息进行匹配操作, 如果匹配成功, 进行对执行域的定 义操作; 交换机再根据上报消息的消息类型、 上报消息中数据的业务等级以及上报消 息是否上送过结合预先配置的策略确定上报等级为高优先级还是低优先级。 其中, 交换机对上报消息进行匹配操作可以通过以下方式来实现: 当上报消息到 达消息处理流表时, 交换机根据消息类型和上报消息中数据获取用户的 IP地址; 将用 户的 IP地址作为用户标识与预置用户标识进行匹配操作。 在本实施例中, 不向控制器实时发送上报消息可以包括: 不向控制器发送上报消 息、 或间隔预定时间后再向控制器实时发送上报消息。 在本实施例中, 上报消息可以包括: Packet in消息。 当然, 在实际应用中, 上报 消息还可以包括其它类型需要进行上报的消息。 本发明实施例一提供了一种 OpenFlow信令控制装置, 位于交换机, 用以实现实 施例一提供的 OpenFlow信令控制方法。图 3是根据本发明实施例一的 OpenFlow信令 控制装置的结构框图, 如图 3所示, 该装置主要包括: 确定模块 10及执行模块 20。 其中: 确定模块 10, 设置为根据由控制器预先定义的消息处理流表的运算逻辑确定上报 消息的上报等级, 其中, 上报等级包括: 高优先级和低优先级, 消息处理流表还包括: 执行逻辑; 执行模块 20, 设置为在上报等级为高优先级的情况下, 执行执行逻辑中对 应于高优先级的第一执行逻辑, 在上报等级为低优先级的情况下, 执行执行逻辑中对 应于低优先级的第二执行逻辑, 其中, 第一执行逻辑是向控制器实时发送上报消息, 第二执行逻辑是不向控制器实时发送上报消息。 本发明实施例二提供了一种 OpenFlow信令控制方法,可以应用于控制器侧。 图 4 是根据本发明实施例二的 OpenFlow信令控制方法流程图, 如图 4所示, 该方法主要 包括以下步骤 (步骤 S402-步骤 S404): 步骤 S402, 控制器定义消息处理流表, 其中, 消息处理流表的执行域包括: 运算 逻辑和执行逻辑; 步骤 S404,控制器将消息处理流表下发到交换机以使交换机根据运算逻辑确定上 报消息的上报等级和按照上报等级执行执行逻辑中的相应执行逻辑, 其中, 相应执行 逻辑包括: 向控制器实时发送上报消息或不向控制器实时发送上报消息, 上报等级包 括: 高优先级和低优先级。 在本实施例中, 消息处理流表的匹配域可以包括: 预置用户标识和预置消息类型。 本发明实施例二提供了一种 OpenFlow信令控制装置, 位于控制器, 用以实现实 施例二提供的 OpenFlow信令控制方法。图 5是根据本发明实施例二的 OpenFlow信令 控制装置的结构框图, 如图 5所示, 该装置主要包括: 定义模块 10和下发模块 20。 其中: 定义模块 10, 设置为定义消息处理流表, 其中, 消息处理流表的执行域包括: 运 算逻辑和执行逻辑; 下发模块 20, 设置为将消息处理流表下发到交换机以使交换机根 据运算逻辑确定上报消息的上报等级和按照上报等级执行执行逻辑中的相应执行逻 辑, 其中, 相应执行逻辑包括: 向控制器实时发送上报消息或不向控制器实时发送上 报消息, 上报等级包括: 高优先级和低优先级。 采用上述实施例一和实施例二提供的 OpenFlow信令控制方法及装置, 可以通过 消息处理流表的形式灵活定义上送消息的处理方式,进而达到了规范化 Switch发送信 令的行为, 避免 Controller由于大量重复的信令处理带来的性能下降的效果。 下面将结合图 6至图 10以及优选实施例对上述实施例提供的 OpenFlow信令控制 方法及装置进行更加详细的描述和说明。 在本优选实施例中, 可以由控制器预先定义消息处理流表, 其中, 流表的匹配域 包括: 用户标识、 消息类型, 流表的执行域包括: 运算和执行逻辑。 进而, 控制器可 以将消息处理流表编排到流表管线串联操作中, 可选地, 还可以将上级流表中关于流 的特性信息以元数据的形式发送给消息处理流表, 其中, 流的特性信息包括: 服务质 量 (Quality of Service, 简称为 Qos) 等级、 资源抢占优先级等。 当交换机接收控制器下发的流表兵在执行至消息处理流表时, 可以使用匹配域中 的用户标识、 消息类型确定执行域, 以获知相应消息的发送行为。 具体地, 交换机可 以定义运算器和执行器, 其中, 运算器用于确定消息等级和 /或数据流的业务等级, 执 行器用于根据等级信息执行对应的发送行为。 在本优选实施例中, 执行器的发送行为 可以是由控制器配置的, 发送行为可以是立即上送、 限定时间上送、 相同用户相同等 级的信令仅上送一次等。 图 6是根据本发明优选实施例的控制器定义的消息处理流表结构示意图, 如图 6 所示, 在消息处理流表结构中具体内容如下: 按照 O F定义的 OpenFlow协议支持的流表结构, 本发明定义消息处理流表的具 体结构包括: 匹配域、 计数器及执行域。 其中: 匹配域包括: 用户标识和消息类型。 通过匹配域的匹配过程可以获得特定用户特 定消息的处理方式。 其中, 用户标识可以设置为通配, 则通过匹配域的匹配过程即可 以获得特定消息的处理方式。 计数器用于计算匹配消息的个数。 执行域用于规定匹配消息的处理行为。执行域包括: 运算逻辑和执行逻辑, 其中, 运算逻辑用于确定匹配消息的等级, 或者根据业务数据流元数据确定数据流的业务等 级, 或者根据进行遍历执行域的操作确定是否处理过此类消息的发送。 执行逻辑定义 了不同等级的消息上送方式, 如等级高的消息即时发送、 等级低的消息可设置上报的 时间间隔延迟发送、 相同用户相同等级业务数据流的上报消息仅发送一次等。 具体地, 控制器在设定消息处理流表的执行域时, 可以根据管理者的需求定义不 同的运算逻辑和执行逻辑。 例如, 控制器可以根据管理者的需要按照紧急程度或重要 程度对交换机上送的信令进行划分。 对于需要即时处理的消息 (例如, 匹配类型为地 址转换协议 (Address Resolution Protocol,简称为 ARP)或者动态主机 K置协议(Dynamic Host Configuration Protocol, 简称为 DHCP) 等的消息), 可以设置为运算逻辑中的较 高优先级, 定义执行逻辑为符合条件后由 Switch不做控制立即上送 Controller进行处 理; 对于 Flow-Removed、 Port-status等用于状态同步的消息, 可以设置为运算逻辑中 的较低优先级, 定义执行逻辑为符合条件后由 Switch控制上报, 可以设置上报的时间 间隔延迟发送; 对于相同原因 (例如, 同一用户的下行数据不匹配) 引发的 Packet in 消息, 可以设置为运算逻辑中的较低优先级, 并设置运算逻辑需要遍历执行域检测 Packet in消息是否发送过, 可以定义执行逻辑为相同用户相同等级流表不匹配造成的 Packet in消息只发送一次。 本优选实施例以交换机收到下行数据不能匹配为例进行说明。 图 7是根据本发明 优选实施例的信令控制方法的实施过程图, 如图 7所示, 该实施过程包括: 数据流到达交换机中的流表 n。判定是否能够匹配流表 n, 如果可以匹配, 那么执 行数据转发; 如果不能匹配, 那么确定流表 n中的 table miss flow entry (不匹配流实 体) 是否指示执行 Packet in上送处理, 如果是, 依照控制器对流表的编排, 将 Packet in消息发送消息处理流表 (Table n+1 ) 进行处理, 反之, 将数据丢弃。 流表 n还可以 将数据流的特性信息作为元数据发送给消息处理流表 (|Table n+l )。 当 Packet in消息到达 Table n+1时,使用本身的消息类型(Packet in消息, openflow 协议定义协议头标号为 10) 和 Packet in消息中携带的数据获得用户 IP地址作为用户 标识进行 Table n+1匹配域的匹配。命中后完成执行域定义的操作,执行域中的运算逻 辑确定 Packet in信息等级为低, 并且需要使用元数据确定数据流等级, 遍历执行域后 发现该等级的业务数据流引发的 Packet in没有上送过, 则将等级信息和遍历结果交由 执行逻辑进行处理, 执行逻辑定义此种情况 Packet in消息需要上送。 如果遍历执行域 后发现该等级的业务数据流引发的 Packet in上送过, 则将等级信息和遍历结果交由执 行逻辑进行处理, 执行逻辑定义此种情况的 Packet in不需要上送。 通过本优选实施例提供的方法, 控制器可以通过消息处理流表的形式灵活定义上 送消息的处理方式, 可以有效地控制相同原因导致的同类控制信息的上送, 避免对控 制器造成的冲击。 在本优选实施例的实施过程中, 运算逻辑和执行逻辑可以根据需求定义, 本优选 实施例并不做具体限定。 图 8是根据本发明优选实施例的应用在 SDN EPC网络中的实施流程图, 如图 8 所示, 该流程包括: 步骤 S801 , 下行数据流 1到达 Switch。 步骤 S802, 用户处于空闲时, Switch上此刻没有用户下行的用户面通道, 流表无 法匹配, 需要发送 Packet in消息。 按照图 7所述的实施过程, 需要启动消息处理流表 确定是否发送 Packet in消息, 具体过程如图 7所示。 步骤 S803, Switch中的消息处理流表确定该等级数据流上送的 Packet in消息没有 发送, 则 Switch上送 Packet in消息给 Controllers 步骤 S804, Controller根据 Packet in上送的分组头信息可以获知哪个用户下行数 据到达, 向 MME发送 GTP-C的下行数据通知消息。 步骤 S805, MME启动对用户的寻呼。 步骤 S806, 下行数据流 2到达 Switch, Switch此时未获得下行匹配流表, 需要再 上送 Packet in消息,此时仍需启动消息处理流表确定是否有必要再发送 Packet in消息。 步骤 S807,如果下行数据流 2和下行数据流 1属于相同用户并且数据流的业务等 级相同, 根据图 7所述的实施例, 此时不需要上送 Packet in消息。 如果下行数据流 2 和下行数据流 1属于相同用户但是数据流 2 的业务等级与数据流 1不同, 根据图 7所 述的实施例, 仍会发送 Packet in消息。 如果下行数据流 2和下行数据流 1属于不同用 户, 此时需要启动不同的消息处理流表进行判定, 在新启动的消息处理流表中, 如果 此等级数据流对应的 Packet in消息没有发送过, 可以根据图 7所述的流程, 需要再次 发送 Packet in消息。 步骤 S808, 当用户寻呼成功后, MME会收到用户终端 UE发起的 SR信令过程。 步骤 S809, MME通过修改承载请求消息更新用户面下行隧道。 步骤 S810, Controller通过 Packet out消息指示缓存数据从下行隧道端口发送。 步骤 S811, Controller通过流表修改消息指示后续数据流执行修改后的流表内容, 将数据从下行隧道端口发送。 图 9是根据本发明优选实施例的控制器的设备功能结构示意图, 如图 9所示, 具 体包括如下功能单元: 消息处理流表生成单元 901, 设置为按照交换机可能上送的消息类型生成相应的 消息处理流表, 流表的匹配域用来命中执行域, 控制器按照不同消息类型根据需要设 定执行域内容。 其中, 执行域包括: 运算逻辑和执行逻辑。 编排单元 903, 设置为将消息处理流表编排到需要信令上送的流表末端, 增加信 令是否上送的判定过程, 帮助交换机优化信令上送的处理。 图 10是根据本发明优选实施例的交换机的设备功能结构示意图, 如图 10所示, 具体包括如下功能单元: 运算器 1001 : 执行控制器定义的消息处理流表中的运算逻辑, 用于确定匹配消息 的等级或者根据业务数据流元数据确定数据流的业务等级或者进行遍历执行域的操作 确定是否处理过此类消息的发送。 执行器 1003 : 设置为执行逻辑定义的不同等级消息上送方式, 例如等级高的消息 即时发送、 等级低的消息可设置上报的时间间隔延迟发送、 相同用户相同等级业务数 据流的上报消息仅发送一次等。 本优选实施例提供的方法可以改进如图 1 所示的流程产生的 OpenFlow应用在 SDN EPC网络的问题。 需要说明的是, 本发明实施例可以适用于使用 OpenFlow协议的任何网络, 具体 可以根据实际情况进行消息处理流表的设定和编排。 例如, 本发明实施例提供的控制 器 Controller可以应用于任何具有计算、 存贮能力的服务器或者平台上。 通过转发合 并可以在任何具有简单本地计算和路由转发能力的物理设备上实现, 例如路由器、 交 换机、 网络处理器等。 需要说明的是, 上述各个模块是可以通过硬件来实现的。 例如: 一种处理器, 包 括上述各个模块, 或者, 上述各个模块分别位于一个处理器中。 在另外一个实施例中, 还提供了一种软件, 该软件用于执行上述实施例及优选实 施方式中描述的技术方案。 在另外一个实施例中, 还提供了一种存储介质, 该存储介质中存储有上述软件, 该存储介质包括但不限于: 光盘、 软盘、 硬盘、 可擦写存储器等。 从以上的描述中, 可以看出, 本发明实现了如下技术效果: 由控制器在消息处理 流表中的执行域中预置运算逻辑和执行逻辑并下发给交换机, 再由交换机根据运算逻 辑确定上报消息的上报等级, 并根据上报等级的高低从执行逻辑中选择相应的执行逻 辑以确定是否向控制器发送上报消息, 可以通过消息处理流表的形式灵活定义上送消 息的处理方式, 进而达到了规范化 Switch发送信令的行为, 避免 Controller由于大量 重复的信令处理带来的性能下降的效果。 显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算装置所 组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现, 从而, 可以 将它们存储在存储装置中由计算装置来执行, 并且在某些情况下, 可以以不同于此处 的顺序执行所示出或描述的步骤, 或者将它们分别制作成各个集成电路模块, 或者将 它们中的多个模块或步骤制作成单个集成电路模块来实现。 这样, 本发明不限制于任 何特定的硬件和软件结合。 以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的 任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。 工业实用性 本发明提供的上述技术方案, 可以用于 OpenFlow信令的控制过程中。 基于上述 技术方案, 采用由控制器在消息处理流表中的执行域中预置运算逻辑和执行逻辑并下 发给交换机, 再由交换机根据运算逻辑确定上报消息的上报等级, 并根据上报等级的 高低从执行逻辑中选择相应的执行逻辑以确定是否向控制器发送上报消息的方式, 解 决了寻呼过程导致的时延给 Controller带来信令上的冲击会随着用户数的增长而变得 尤为明显的问题, 可以通过消息处理流表的形式灵活定义上送消息的处理方式, 进而 达到了规范化 Switch发送信令的行为, 避免 Controller由于大量重复的信令处理带来 的性能下降的效果。

Claims

权 利 要 求 书
1. 一种 OpenFlow信令控制方法, 应用于交换机侧, 包括:
交换机根据由控制器预先定义的消息处理流表中的运算逻辑确定上报消息 的上报等级, 其中, 所述上报等级包括: 高优先级和低优先级, 所述消息处理 流表还包括: 执行逻辑;
在所述上报等级为所述高优先级的情况下, 所述交换机执行所述执行逻辑 中对应于所述高优先级的第一执行逻辑, 在所述上报等级为所述低优先级的情 况下, 所述交换机执行所述执行逻辑中对应于所述低优先级的第二执行逻辑, 其中, 所述第一执行逻辑是向所述控制器实时发送所述上报消息, 所述第二执 行逻辑是不向所述控制器实时发送所述上报消息。
2. 根据权利要求 1所述的方法, 其中, 在交换机根据由控制器预先定义的消息处 理流表中的运算逻辑确定上报消息的上报等级之前, 包括:
所述交换机接收所述控制器下发的所述消息处理流表, 其中, 所述消息处 理流表中的匹配域包括: 预置用户标识和预置消息类型, 所述消息处理流表中 的执行域包括: 所述运算逻辑和所述执行逻辑。
3. 根据权利要求 2所述的方法, 其中, 在所述交换机执行所述第一执行逻辑向所 述控制器实时发送所述上报消息之前, 包括:
所述交换机对所述上报消息进行匹配操作, 如果匹配成功, 进行对所述执 行域的定义操作;
所述交换机根据所述上报消息的消息类型、 所述上报消息中数据的业务等 级以及所述上报消息是否上送过结合预先配置的策略确定所述上报等级为所述 高优先级还是所述低优先级。
4. 根据权利要求 3所述的方法,其中,所述交换机对所述上报消息进行匹配操作, 包括:
当所述上报消息到达所述消息处理流表时, 所述交换机根据所述消息类型 和所述上报消息中数据获取用户的 IP地址;
将所述用户的 IP地址作为用户标识与所述预置用户标识进行匹配操作。 根据权利要求 1至 4中任一项所述的方法, 其中, 不向所述控制器实时发送所 述上报消息包括: 不向所述控制器发送所述上报消息、 或间隔预定时间后再向 所述控制器实时发送所述上报消息。 根据权利要求 1至 4中任一项所述的方法,其中,所述上报消息包括: Packet in 消息。 一种 OpenFlow信令控制装置, 位于交换机, 包括: 确定模块, 设置为根据由控制器预先定义的消息处理流表的运算逻辑确定 上报消息的上报等级, 其中, 所述上报等级包括: 高优先级和低优先级, 所述 消息处理流表还包括: 执行逻辑;
执行模块, 设置为在所述上报等级为所述高优先级的情况下, 执行所述执 行逻辑中对应于所述高优先级的第一执行逻辑, 在所述上报等级为所述低优先 级的情况下,执行所述执行逻辑中对应于所述低优先级的第二执行逻辑,其中, 所述第一执行逻辑是向所述控制器实时发送所述上报消息, 所述第二执行逻辑 是不向所述控制器实时发送上报消息。 一种 OpenFlow信令控制方法, 应用于控制器侧, 其中, 包括: 控制器定义消息处理流表, 其中, 所述消息处理流表的执行域包括: 运算 逻辑和执行逻辑;
所述控制器将所述消息处理流表下发到交换机以使所述交换机根据所述运 算逻辑确定上报消息的上报等级和按照所述上报等级执行所述执行逻辑中的相 应执行逻辑, 其中, 所述相应执行逻辑包括: 向所述控制器实时发送所述上报 消息或不向所述控制器实时发送所述上报消息, 所述上报等级包括: 高优先级 和低优先级。 根据权利要求 8所述的方法, 其中, 所述消息处理流表的匹配域包括: 预置用 户标识和预置消息类型。 一种 OpenFlow信令控制装置, 位于控制器, 其中, 包括: 定义模块, 设置为定义消息处理流表, 其中, 所述消息处理流表的执行域 包括: 运算逻辑和执行逻辑;
下发模块, 设置为将所述消息处理流表下发到交换机以使所述交换机根据 所述运算逻辑确定上报消息的上报等级和按照所述上报等级执行所述执行逻辑 中的相应执行逻辑, 其中, 所述相应执行逻辑包括: 向所述控制器实时发送所 述上报消息或不向所述控制器实时发送所述上报消息, 所述上报等级包括: 高 优先级和低优先级。
PCT/CN2014/077586 2013-12-23 2014-05-15 OpenFlow信令控制方法及装置 WO2014180363A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310718117.9A CN104735000A (zh) 2013-12-23 2013-12-23 OpenFlow信令控制方法及装置
CN201310718117.9 2013-12-23

Publications (1)

Publication Number Publication Date
WO2014180363A1 true WO2014180363A1 (zh) 2014-11-13

Family

ID=51866746

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/077586 WO2014180363A1 (zh) 2013-12-23 2014-05-15 OpenFlow信令控制方法及装置

Country Status (2)

Country Link
CN (1) CN104735000A (zh)
WO (1) WO2014180363A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330487B (zh) * 2015-06-19 2019-11-22 华为技术有限公司 自动配置方法、控制器及设备
CN107689942A (zh) * 2016-08-04 2018-02-13 中兴通讯股份有限公司 业务处理方法及装置
CN112118129B (zh) * 2020-08-24 2022-08-12 烽火通信科技股份有限公司 一种基于业务流的故障定位方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110286324A1 (en) * 2010-05-19 2011-11-24 Elisa Bellagamba Link Failure Detection and Traffic Redirection in an Openflow Network
US20120303835A1 (en) * 2011-05-23 2012-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Implementing EPC in a Cloud Computer with Openflow Data Plane
US20130054761A1 (en) * 2011-08-29 2013-02-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G Packet Core in a Cloud Computer with Openflow Data and Control Planes
CN103229489A (zh) * 2012-12-21 2013-07-31 华为技术有限公司 虚拟机控制策略的配置方法和交换机

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102843298B (zh) * 2012-09-12 2015-08-05 盛科网络(苏州)有限公司 实现交换机芯片Openflow流表优先级的方法及系统
CN102882746B (zh) * 2012-10-11 2015-04-22 盛科网络(苏州)有限公司 Openflow交换机系统中流表添加速率的测试方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110286324A1 (en) * 2010-05-19 2011-11-24 Elisa Bellagamba Link Failure Detection and Traffic Redirection in an Openflow Network
US20120303835A1 (en) * 2011-05-23 2012-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Implementing EPC in a Cloud Computer with Openflow Data Plane
US20130054761A1 (en) * 2011-08-29 2013-02-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G Packet Core in a Cloud Computer with Openflow Data and Control Planes
CN103229489A (zh) * 2012-12-21 2013-07-31 华为技术有限公司 虚拟机控制策略的配置方法和交换机

Also Published As

Publication number Publication date
CN104735000A (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
US9571382B2 (en) Method, controller, and system for processing data packet
EP2904745B1 (en) Method and apparatus for accelerating forwarding in software-defined networks
WO2019184752A1 (zh) 网络设备的管理方法、装置及系统
WO2015131486A1 (zh) 一种组播报文的转发方法及装置
WO2013115177A1 (ja) ネットワークシステム、及びトポロジー管理方法
JP7216120B2 (ja) Bgpメッセージ送信方法、bgpメッセージ受信方法、及びデバイス
CN107800626B (zh) 数据报文的处理方法、装置及设备
US9456030B2 (en) Methods of operating load balancing switches and controllers using modified flow entries
WO2013086897A1 (zh) 生成表项的方法、接收报文的方法及相应装置和系统
JP6637196B2 (ja) ネットワークにおいてパケットフロー群を転送する方法及びネットワークシステム
US9800479B2 (en) Packet processing method, forwarder, packet processing device, and packet processing system
JP6480452B2 (ja) パケット処理方法および装置
WO2021098425A1 (zh) 配置业务的服务质量策略方法、装置和计算设备
CN107645394B (zh) 一种sdn网络中的交换机配置方法
WO2015123853A1 (zh) 一种数据流处理方法及装置
WO2014180363A1 (zh) OpenFlow信令控制方法及装置
US9537764B2 (en) Communication apparatus, control apparatus, communication system, communication method, method for controlling communication apparatus, and program
CN111327530B (zh) 数据发送方法、装置、网络系统及交换机
CN111245728A (zh) 具多网卡计算装置的数据报文转发方法及系统
JP6076937B2 (ja) パケット伝送システムおよびネットワークコントローラ
US11838197B2 (en) Methods and system for securing a SDN controller from denial of service attack
WO2015158058A1 (zh) 一种实现呼叫保存和恢复的方法及系统
WO2014101733A1 (zh) 报文处理方法和装置
JP6932118B2 (ja) パケット処理方法および装置
WO2015166979A1 (ja) 通信装置、制御装置、通信システム、受信パケットの処理方法、通信装置の制御方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14795000

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14795000

Country of ref document: EP

Kind code of ref document: A1