WO2015027739A1 - 一种sdn中流表下发的方法和系统、of控制器和of交换机 - Google Patents

一种sdn中流表下发的方法和系统、of控制器和of交换机 Download PDF

Info

Publication number
WO2015027739A1
WO2015027739A1 PCT/CN2014/080420 CN2014080420W WO2015027739A1 WO 2015027739 A1 WO2015027739 A1 WO 2015027739A1 CN 2014080420 W CN2014080420 W CN 2014080420W WO 2015027739 A1 WO2015027739 A1 WO 2015027739A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow table
switch
message
controller
table entry
Prior art date
Application number
PCT/CN2014/080420
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 中兴通讯股份有限公司
Priority to US14/914,070 priority Critical patent/US9998352B2/en
Publication of WO2015027739A1 publication Critical patent/WO2015027739A1/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/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/028Dynamic adaptation of the update intervals, e.g. event-triggered updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof

Definitions

  • the present invention relates to the field of network communication in the SDN (Software Defined Network) architecture, and in particular, to a method for delivering a flow table in an SDN.
  • SDN Software Defined Network
  • OSPF open shortest path first
  • Border Gateway Protocol BGP
  • Multicast Differentiated Services
  • Traffic Engineering Network Address Translation
  • Firewall Firewall
  • MPLS Multi-Protocol Label Switching
  • SDN Software Defined Network
  • OF Open Flow
  • the OpenFlow protocol application architecture is shown in Figure 1, by using the network device control plane ( The OpenFlow Controller is separated from the data plane (including the OpenFlow Capable Switch), which enables flexible control of network traffic and provides a good platform for innovation of core networks and applications.
  • the OpenFlow protocol is used to describe the criteria used for the interaction between the controller and the switch, as well as the interface standards for the controller and switch.
  • the core part of the protocol is a collection of information structures for the OpenFlow protocol.
  • the OpenFlow flow table (shown in Figure 3) or the cascaded multiple flow tables are cascaded to configure the switch forwarding path (shown in Figure 2).
  • the flow table entries consist of matching fields, counters, and instruction sets.
  • Match Fields is an input keyword for message matching, which is used to match a flow table entry; a counter is used for various statistical information used for management; and an instruction set ( Instructions) refers to an operation instruction for a message, including discarding, Forwards the packet to the specified port, sets the value of the packet header field, adds the encapsulation label, etc.; Priority refers to the matching priority of the flow table entry; Timeouts refers to the aging time of the flow table entry; Cookie is the opaque data selected by the controller. value.
  • the Action Set is associated with each of the four essays. It is passed between multiple flow tables in the pipeline and modified by the instructions of each flow table until the pipeline processing ends, forming the final set of actions.
  • routing entries In a telecommunication network, there are many routing entries, generally in the order of 100,000 or even millions.
  • the controller or APP application learns the flow table entries of the routing information after learning the entire network routing through the dynamic routing protocol. It is sent to each OF switch.
  • the flow table capacity requirement for the OF switch is very high. In fact, only a small number of routing flow table entries may have traffic for a period of time. If the OF controller can implement the routing flow table entry on demand and let the OF switch use the idle aging of a short period of time, the route on the controller can be effectively enabled for a limited time.
  • the information set is reduced to be mapped to the OF switch, and the pressure of the capacity index of the OF switch routing flow table entry is alleviated, thereby realizing the routing flow table entry capacity exceeding the OF switch indicator.
  • the prior art has not been able to provide a solution to the above technical problems.
  • the inventor of the present application finds in the practice that the first packet of the traffic that does not match the routing flow table entry is sent, and triggering the routing information required by the controller to send the OF switch is the main method for achieving the purpose.
  • the controller senses that the delay of the routing table entry sent by the OF switch is long, the controller will send a large number of packets and consume valuable bandwidth between the OF switch and the controller. So I hope to be able to further optimize.
  • OF switches adopt the implementation of a distributed central processing unit (CPU).
  • the control plane is separated from the forwarding plane.
  • the control plane is implemented by a separate CPU and has more memory resources than the forwarding plane.
  • the present invention has been proposed on an OF switch of the architecture. Summary of the invention
  • the embodiment of the present invention provides a method for delivering a flow table in an SDN.
  • An embodiment of the present invention provides a method for delivering a flow table in an SDN, where the method includes:
  • the OF switch receives the flow table entry modification message sent by the OF controller, where the message carries the table number, the flow table entry, and the cache tag;
  • the OF switch saves the table number and the flow table entry in the flow table entry modification message in its own control module.
  • the flow table entry modification message further carries a first idle aging period.
  • the method before the OF controller sends the flow table entry modification message, the method further includes:
  • the OF switch negotiates with the OF controller for flow table caching capability, and the OF switch notifies the OF controller whether it supports the caching function of the flow table.
  • the OF switch and the OF controller perform flow table buffering capability negotiation, including: Receiving, by the OF switch, a Multipart Table Features Request message sent by the OF controller, where the message carries a table number;
  • the OF switch returns a flow table feature response (Multipart Table Features Reply) message to the OF controller, and carries a flow table entry cache capability flag in the flow table feature capability attribute field of the Multipart Table Feature Reply message, to indicate Whether to support the flow table entry cache function of the flow table corresponding to the table number.
  • a flow table feature response Multipart Table Features Reply
  • the flow table feature capability attribute field further carries a default second idle aging period of the flow table supporting the cache function.
  • the method further includes:
  • the forwarding module of the OF switch When the forwarding module of the OF switch receives the packet, query whether there is a matching flow table entry in the flow table of the forwarding module;
  • the packet is forwarded according to the flow table entry matched by the query; if not, the forwarding module sends the packet, the table number, and the reason for sending the reason to the control module of the OF switch;
  • the control module queries the cached flow table entry in the local corresponding flow table according to the received table number and the flow table entry cache tag saved by itself, and if the corresponding flow table entry is queried, the query flow table entry is added to the query If the flow table corresponding to the forwarding module does not query the corresponding flow table entry, the packet, the table number, and the sending reason received by the control module are filled into the packet and sent to the Packet-in message and sent to the flow message.
  • the OF controller is
  • the method further includes: performing an idle aging process on the flow table entry indicating that the cacheable flag is cached in the forwarding module of the OF switch according to the second idle aging period; and sending the corresponding flow according to the OF controller
  • the first idle aging period set in the table entry performs idle aging processing on the corresponding flow table entry buffered by the control module;
  • the duration of the first idle aging period is greater than the duration of the second idle aging period.
  • the embodiment of the invention further provides a method for delivering a flow table in an SDN, the method comprising:
  • the OF switch sends a flow table entry modification message, where the message carries a table number, a flow table entry, and a cache tag.
  • the cache tag is used to indicate that the flow table entry is cached locally in the control module of the OF switch.
  • the flow table entry modification message further carries a first idle aging period.
  • the method before the OF controller sends the flow table entry modification message, the method further includes:
  • the OF controller negotiates a flow table buffering capability with the OF switch, and the OF controller learns whether the OF switch supports a cache function of the flow table.
  • the OF controller and the OF switch perform flow table buffering capability negotiation, including:
  • the OF controller sends a Multipart Table Features Request message to the OF switch, where the message carries a table number;
  • the OF controller receives the Multipart Table Feature Reply message returned by the OF switch, and carries a flow table entry cache capability flag in the flow table feature capability attribute field of the Multipart Table Feature Reply message, to indicate whether the corresponding table number is supported.
  • the flow table feature capability attribute field further carries a default second idle aging period of the flow table supporting the cache function.
  • the method further includes:
  • the OF controller When the OF controller receives the packet carrying the packet, the table number, and the reason for sending the packet into the Packet-in message, the OF controller parses the Packet-in message, and the The message in the Packet-in message is processed by the local protocol stack or the application APP of the OF controller.
  • the embodiment of the present invention further provides an OF switch, including a control module, configured to receive a flow table entry modification message sent by the OF controller, where the message carries a table number, a flow table entry, and a cache tag; Instructing to save the table number in the flow table entry modification message and The flow table entry is local to the control module.
  • a control module configured to receive a flow table entry modification message sent by the OF controller, where the message carries a table number, a flow table entry, and a cache tag; Instructing to save the table number in the flow table entry modification message and The flow table entry is local to the control module.
  • the flow table entry modification message further carries a first idle aging period.
  • the control module is configured to: before receiving the flow table entry modification message, perform flow table buffering capability negotiation with the OF controller, and notify the OF switch whether to support the cache function of the flow table. The OF controller.
  • control module is configured to receive a Multipart Table Features Request message sent by the OF controller, where the message carries a table number, and return a Multipart Table Feature Reply message to the OF controller, where the Multipart Table Features
  • the flow table feature capability attribute field of the Reply message carries a flow table entry cache capability flag to indicate whether the flow table entry cache function of the flow table corresponding to the table number is supported.
  • the flow table feature capability attribute field further carries a default second idle aging period of the flow table supporting the cache function.
  • the OF switch further includes a forwarding module, configured to query, if the packet is received, whether there is a matching flow table entry in the flow table of the forwarding module;
  • the forwarding module sends the packet, the table number, and the reason for sending the message to the
  • Control module of the OF switch correspondingly, the control module is configured to: according to the received table number and the flow table entry cache tag saved by itself, query the cached flow table entry in the local corresponding flow table, if the corresponding flow is queried The flow table entry is added to the flow table corresponding to the forwarding module, and if the corresponding flow table entry is not queried, the packet received by the control module, the table number, and the sent The reason is filled into the message and sent to the OF controller in a Packet-in message.
  • control module is configured to: perform an idle aging process on the flow table entry that can be cached by the cache tag in the forwarding module of the OF switch according to the second idle aging period; and send corresponding according to the OF controller
  • the first idle aging period set in the flow table entry performs idle aging processing on the corresponding flow table entry cached by the control module;
  • the duration of the first idle aging period is greater than the duration of the second idle aging period.
  • the embodiment of the present invention further provides an OF controller, including: a sending module, configured to send a flow table entry modification message to the OF switch when the cache flag is set for the sent flow table entry according to the local policy, where the message carries The table number, the flow table entry, and the cache tag; the cache tag is used to indicate that the flow table entry is cached locally in the control module of the OF switch.
  • a sending module configured to send a flow table entry modification message to the OF switch when the cache flag is set for the sent flow table entry according to the local policy, where the message carries The table number, the flow table entry, and the cache tag; the cache tag is used to indicate that the flow table entry is cached locally in the control module of the OF switch.
  • the flow table entry modification message further carries a first idle aging period.
  • the OF controller further includes: a negotiation module, configured to perform flow table buffering capability negotiation with the OF switch before the sending module sends the flow table entry modification message, where the negotiation module learns the OF Whether the switch supports the caching function of the flow table.
  • the negotiation module is configured to send a Multipart Table Features Request message to the OF switch, where the message carries a table number; and receive a Multipart Table Feature Reply message returned by the OF switch, in the Multipart Table Features Reply message.
  • the flow table feature capability attribute field carries a flow table entry cache capability flag, and is used to indicate whether the flow table entry cache function of the flow table corresponding to the table number is supported.
  • the flow table feature capability attribute field further carries a default second idle aging period of the flow table supporting the cache function.
  • the OF controller further includes a receiving processing module, configured to parse the packet when the packet carrying the packet, the table number, and the sending reason sent by the OF switch is sent into the Packet-in message.
  • the Packet-in message is processed by the local protocol stack or the application APP of the OF controller by the 4 packets in the Packet-in message.
  • the embodiment of the present invention further provides a system for delivering a flow table in an SDN, including the above-mentioned OF switch, and the above-mentioned OF controller.
  • the OF controller is configured to send a flow table entry modification message to the OF switch when the cache flag is set for the sent flow table entry according to the local policy, where the message carries the table number, the flow table entry, and the cache tag. ;
  • the OF switch is configured to receive the flow table entry modification message, and save the table number and the flow table entry in the flow table entry modification message in its own control module according to the indication of the cache mark.
  • the embodiment of the present invention further provides a computer readable storage medium, where the storage medium includes a set of computer executable instructions, and the instructions are used to execute a method for distributing a flow table in an SDN on the OF switch side in the foregoing embodiment.
  • the embodiment of the present invention further provides a computer readable storage medium, where the storage medium includes a set of computer executable instructions, and the instructions are used to execute a method for distributing a flow table in an SDN on the OF controller side in the foregoing embodiment.
  • the learned or statically configured route is sent to the control plane cache of the OF switch in batches according to a certain policy, and then the traffic of the unmatched routing flow table entry of the OF switch is forwarded by the OF switch.
  • the text is sent to the controller; if it is not found, the Packet-in message is constructed and sent to the controller for processing.
  • the OF controller can implement the routing flow table entry on demand, and let the OF switch use the idle aging of a short time period to effectively reduce the routing information set on the controller within a limited time. Mapping to the OF switch, mitigating the pressure of the OF switch routing flow table entry capacity indicator, thereby implementing the routing flow table entry capacity exceeding the OF switch indicator; the embodiment of the present invention can also reduce the controller to sense the OF switch request to deliver the routing table entry. Delay, thereby reducing bandwidth consumption between the OF switch and the controller.
  • FIG. 1 is a schematic diagram of an application architecture of an OpenFlow protocol in the prior art
  • FIG. 2 is a schematic diagram of a prior art 4 stream stream passing through an OpenFlow processing pipeline
  • FIG. 3 is a schematic diagram of packet processing based on each table in the prior art
  • 4 is a flowchart of a method for delivering a flow table in an SDN according to an embodiment of the present invention
  • FIG. 5 is a flowchart of a flow table cache capability negotiation according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a method for sending a flow table in another SDN according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of a process after an OF switch receives a packet according to an embodiment of the present invention
  • FIG. 8 is a schematic structural diagram of a system for delivering a flow table in an SDN according to an embodiment of the present invention. detailed description
  • a method for delivering a flow table in an SDN on the side of an OF-switch is provided in the embodiment of the present invention. As shown in FIG. 4, the method mainly includes:
  • Step 401 The OF switch receives a flow table entry modification message sent by the OF controller, where the message carries a table number, a flow table entry, and a cache tag.
  • the flow table entry modification message further carries a first idle aging period, where the first idle aging period is an aging period of a flow table entry in the control module set by the OF controller for the OF switch. .
  • Step 402 According to the indication of the cache tag, the OF switch saves a table number and a flow table entry in the flow table entry modification message in its own control module.
  • the method before the OF controller sends the flow table entry modification message, the method further includes: the OF switch and the OF controller perform flow table buffering capability negotiation, and the OF switch will The cache function supporting the flow table is notified to the OF controller.
  • the OF switch performs the flow table buffering capability negotiation with the OF controller, as shown in FIG. 5, and includes:
  • Step 501 The OF switch receives the Multipart Table Features Request message sent by the OF controller, where the message carries the table number.
  • Step 502 The OF switch returns a Multipart Table Feature Reply message to the OF controller, where the flow table feature of the Multipart Table Feature Reply message can be
  • the flow attribute entry carries a flow table entry cache capability flag to indicate whether the flow table entry cache function of the flow table corresponding to the table number is supported.
  • the flow table feature capability attribute field further carries a second idle aging period of the flow table that supports the cache function.
  • the OFPTC-CACHE parameter may be added in the flow table feature capability attribute field, and the OFPTC-CACHE parameter may be used as a flow table entry cache capability flag, and may also be used to set a second idle aging period.
  • the method further includes:
  • the forwarding module of the OF switch When the forwarding module of the OF switch receives the packet, it checks whether there is a matching flow table entry in the flow table of the forwarding module.
  • the packet is forwarded according to the flow table entry matched by the query; if not, the forwarding module sends the packet, the table number, and the reason for sending the reason to the control module of the OF switch;
  • the table number and the flow table entry cache tag saved by itself are used to query the cached flow table entry in the local corresponding flow table. If the corresponding flow table entry is queried, the flow table entry obtained by the query is added to the flow table corresponding to the forwarding module. If the corresponding flow table entry is not queried, the message, the table number, and the reason for sending the packet received by the control module are filled into the packet-in message and sent to the OF controller.
  • the method further includes: performing idle aging processing on the cached entry indicating that the cached entry is cached in the forwarding module of the OF switch according to the second idle aging period, and deleting the aged flow table entry, and deleting the
  • the flow table entry in the forwarding module reports the statistical data to the corresponding flow table entry buffered by the control module to accumulate relevant statistical data; and the first idle aging period pair set when the OF controller sends the corresponding flow table entry
  • the corresponding flow table entry cached by the control module performs idle aging processing, and deletes the aged flow table entry;
  • the duration of the first idle aging period is set according to the duration of the second idle aging period, and the duration of the first idle aging period is greater than the duration of the second idle aging period.
  • the duration of the first idle aging period is at least twice the duration of the second idle aging period.
  • the second idle aging period is recommended by the OF switch to the OF controller, and the OF controller sets the first idle aging period according to the second idle aging period, and sets the duration of the first idle aging period to be greater than the second idle aging period.
  • the duration of the period so that the flow table entries on the forwarding surface of the OF switch can be aged earlier when idle, saving the table space of the forwarding module, and the cached flow table entries in the OF switch control module can be slightly aging when idle.
  • the traffic that matches the flow entry can be triggered by the OF switch control module to forward the flow table entry to the forwarding module when the forwarding module flow table entry is not added or has expired, so that the configuration packet is always entered (Packet-in The message is sent to the OF controller to trigger the delivery of the relevant flow table entry from the OF controller.
  • the method for sending a flow table in an SDN on the OF controller side mainly includes: when the OF controller determines to set a cache tag for the sent flow table entry according to the local policy, the flow table entry is sent to the OF switch. Modifying a message, where the message carries a table number, a flow table entry, and a cache tag; the cache tag is used to indicate that the flow table entry is cached locally in a control module of the OF switch.
  • the flow table entry modification message further carries a first idle aging period, where the first idle aging period is an aging period of a flow table entry in the control module set by the OF controller for the OF switch.
  • the method before the OF controller sends the flow table entry modification message, the method further includes: the OF controller and the OF switch perform flow table buffering capability negotiation, and the OF controller knows whether the OF switch supports the flow table. Cache function.
  • the OF controller and the OF switch perform the flow table buffering capability negotiation, where the OF controller sends the Multipart Table Features Request message to the OF switch, where the message carries the table number;
  • the OF controller receives the Multipart Table Feature Reply message returned by the OF switch, and carries a flow table entry cache capability flag in the flow table feature capability attribute field of the Multipart Table Feature Reply message, to indicate whether the flow table of the flow table corresponding to the table number is supported. Entry cache function 3 ⁇ .
  • the OF controller when the flow table entry cache capability flag indicates that the flow table of the corresponding table number does not support the flow table entry cache function, the OF controller does not carry the cache tag when delivering the corresponding flow table entry; When the flow table indicating the corresponding table number supports the flow table entry cache function, the OF controller carries the corresponding cache tag when the corresponding flow table entry is delivered.
  • the cache tag can be set according to the local policy of the OF controller.
  • the flow table feature capability attribute field further carries a default second idle aging period of the flow table supporting the cache function, and the second idle aging period is a flow table entry in the forwarding module of the OF switch. Aging cycle.
  • the method further includes:
  • the OF controller When the OF controller receives the Packet-in message sent by the OF switch and carries the packet, the table number, and the reason for the sending, the OF controller parses the Packet-in message, and the 4 in the Packet-in message is sent.
  • the text is processed by the local protocol stack or application (APP) of the OF controller.
  • APP application
  • the method further includes: setting, by the OF controller, the first idle aging period of the corresponding flow table entry when the flow table entry is sent to the OF switch.
  • Step 601 The OF controller and the OF switch perform flow table buffering capability negotiation.
  • Step 602 According to the negotiation, the OF controller knows whether the corresponding flow table supports the flow table entry cache function. If yes, go to step 604; otherwise, go to step 603.
  • Step 603 The OF controller does not carry the cache tag when sending the corresponding flow table entry.
  • Step 604 The OF controller carries a corresponding cache tag when delivering the corresponding flow table entry. For example, the OF controller learns that the flow table cache function of the OF switch supports the flow table cache function by negotiating with the flow table buffering capability of the OF switch.
  • the OF controller uses a routing protocol, such as: OSPF, intermediate system to intermediate system routing protocol. (IS-IS , Intermediate System to Intermediate System Routing Protocol ), routing routing information, dynamically generating routes
  • the OF controller maps routing entries into flow table entries, as shown in Table 2 below:
  • the new flow table entry is delivered to the OF switch by the flow table entry modification message, and carries the table number and the cache tag of the flow table entry.
  • Step 605 The control module of the OF switch determines the received cache flag. If the cache flag is 0, step 606 is performed. If the cache flag is 1, step 607 is performed.
  • the OF switch After the OF switch receives the above flow table entry modification message, if the flow table corresponding to the table number does not support the flow table entry cache function, the OF switch feeds back an error message to the OF controller. If the flow table corresponding to the table number supports the flow table entry cache function, the OF switch determines the cache flag, and the flag is 0 to indicate that the corresponding flow table entry is added to the flow table corresponding to the forwarding module of the OF switch; Instructing to cache the flow table entry locally in the control module. Where the flag is 0, it is also considered that the cache entry is not carried in the flow table entry modification message.
  • Step 606 The control module adds the flow table entry to a flow table of a forwarding module of the OF switch.
  • Step 607 The control module saves the table number and the flow table entry; that is, after receiving the flow table entry from the OF controller, the control module does not immediately update the flow table entry of the corresponding flow table of the forwarding module, but caches it locally.
  • Step 701 The forwarding module of the OF switch receives the packet.
  • Step 702 Query whether there is a matching flow table entry in the flow table of the forwarding module. If yes, go to step 703; otherwise, go to step 704.
  • Step 703 The forwarding module of the OF switch forwards the packet according to the flow table entry matched by the query.
  • Step 704 The forwarding module sends the packet, the table number, the sending reason, and the like to the control module of the OF switch.
  • Step 705 The control module determines, according to the received table number, whether the corresponding flow table has a cache function. If yes, step 707 is performed; otherwise, step 706 is performed.
  • Step 706 the parameters received by the control module are filled into a Packet-in message and sent to the OF controller.
  • the message in the Packet-in message is forwarded by the OF controller to the local protocol stack or application (APP) of the OF controller.
  • APP application
  • Step 707 The control module queries the cached flow table entry in the local corresponding flow table according to the received table number and the flow table entry cache tag saved by itself. If the corresponding flow table entry is queried, step 708 is performed; otherwise, the execution is performed. Step 706.
  • Step 708 The control module adds the queried flow table entry to the flow table corresponding to the forwarding module, and determines whether to initiate idle aging of the corresponding flow table in the forwarding module according to the second idle aging period corresponding to the flow table.
  • the OF controller when the OF controller sends the flow table entry to the OF switch, if the OF switch does not support the caching function of the corresponding flow table entry, the OF controller does not set the cache tag for the sent flow table entry, OF The switch adds such a flow table entry to the flow table of the forwarding module of the OF switch; when the OF controller sends the flow table entry to the OF switch, if the OF switch supports the caching function for the corresponding flow table entry, OF The controller sets a cache tag for the sent flow table entry, and the OF switch caches such flow table entries locally to the control module. If the OF switch receives the matching flow table entry in the flow table of the forwarding module, it directly forwards the packet.
  • the uplink trigger is sent to the OF switch.
  • the corresponding flow table entry is searched in the cached flow table of the plane, and is directly sent to the routing flow table of the forwarding plane.
  • the packet-in packet is sent to the controller for processing.
  • the OF controller can implement the routing flow table entry on demand, and let the OF switch use the idle aging of a short time period to effectively reduce the mapping information set on the controller within a limited time.
  • the pressure of the capacity index of the OF switch routing flow entry is alleviated, so that the routing flow table entry capacity exceeding the OF switch indicator is achieved; in addition, the control module and the forwarding module of the OF switch cache or save the flow table entry, and the forwarding module Unmatched flow table entries are preferentially matched from the control module. If they are not matched, they are reported to the controller for processing. This not only reduces the interaction between the controller and the switch, but also saves bandwidth and reduces the delay of the flow table entries. .
  • the embodiment of the present invention further provides a system for delivering a flow table in an SDN.
  • the method includes: an OF controller 10 and an OF switch 20, where
  • the OF controller 10 is configured to send a flow table entry modification message to the OF switch 20 when the cache flag is set for the delivered flow table entry according to the local policy, where the message carries the table number, the flow table entry, and the cache tag. ;
  • the OF switch 20 is configured to receive the flow table entry modification message, and save the table number and the flow table entry in the flow table entry modification message in its own control module according to the indication of the cache mark.
  • the OF controller 10 includes: a sending module 11 configured to send a flow table entry modification message to the OF switch 20 when the cache flag is set for the flow table entry to be sent according to the local policy, where the message carries the table number and the flow Table entries and cache tags; the cache tags are used to indicate that the flow table entries are cached locally to the control module of the OF switch 20.
  • the flow table entry modification message further carries a first idle aging period.
  • the OF controller 10 further includes: a negotiation module 12, configured to perform flow table buffering capability negotiation with the OF switch 20 before the sending module 11 sends the flow table entry modification message, where the negotiation module 12 learns the OF switch 20 Whether to support the caching function of the flow table.
  • the negotiation module 12 is configured to send a Multipart Table Features Request message to the OF switch 20, where the message carries a table number; and receive a Multipart Table Feature Reply message returned by the OF switch 20, in the Multipart Table Features Reply message.
  • the flow table feature capability attribute field carries a flow table entry cache capability flag, and is used to indicate whether the flow table entry cache function of the flow table corresponding to the table number is supported.
  • the flow table feature capability attribute field further carries a second idle aging period of the flow table that supports the cache function.
  • the OF controller 10 further includes a receiving processing module 13 configured to parse the Packet-in when receiving the Packet-in message carrying the packet, the table number, and the sending reason sent by the OF switch 20.
  • the message is processed by the local protocol stack or APP of the OF controller 10 by the 4 messages in the Packet-in message.
  • the OF switch 20 includes a control module 21, configured to receive a flow table entry modification message sent by the OF controller 10, where the message carries a table number, a flow table entry, and a cache tag; according to the indication of the cache tag, the saver
  • the table number and flow table entries in the flow table entry modification message are local to the control module 21.
  • the flow table entry modification message further carries a first idle aging period.
  • control module 21 is configured to: before receiving the flow table entry modification message, perform flow table buffering capability negotiation with the OF controller 10, and notify the OF switch 20 whether it supports the cache function of the flow table.
  • the OF controller 10 is.
  • control module 21 is configured to receive the Multipart sent by the OF controller 10
  • the flow table feature capability attribute field further carries a default second idle aging period of the flow table supporting the cache function.
  • the OF switch 20 further includes a forwarding module 22, configured to query whether there is a matching flow table entry in the flow table of the forwarding module 22 when receiving the packet;
  • the control module 21 is configured to: according to the received table number and the flow table entry cache tag saved by itself, query the cached flow table entry in the local corresponding flow table, if the corresponding flow table entry is queried Then, the query flow table entry is added to the flow table corresponding to the forwarding module 22, and if the corresponding flow table entry is not queried, the packet, the table number, and the reason for the delivery received by the control module 21 are sent.
  • the padding is sent to the OF-controller 10 in a Packet-in message.
  • control module 21 is configured to: perform an idle aging process on the flow table entry indicating that the cacheable flag is cached in the forwarding module 22 of the OF switch according to the second idle aging period; and send the corresponding flow according to the OF controller.
  • the first idle aging period set in the table entry performs idle aging processing on the corresponding flow table entry buffered by the control module 21;
  • the duration of the first idle aging period is greater than the duration of the second idle aging period.
  • the embodiment of the present invention further provides a computer readable storage medium, where the storage medium includes a set of computer executable instructions, and the instructions are used to execute a method for distributing a flow table in an SDN on the OF switch side in the foregoing embodiment.
  • the embodiment of the present invention further provides a computer readable storage medium, where the storage medium includes a set of computer executable instructions, and the instructions are used to execute a method for distributing a flow table in an SDN on the OF controller side in the foregoing embodiment.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware aspects. Moreover, the present invention may employ computer usable storage media (including but not limited to disk) in one or more of the computer usable program code embodied therein. A form of computer program product embodied on a memory and optical storage, etc.).
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

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

Abstract

本发明公开了一种软件定义网络(SDN)中流表下发的方法和系统、 OF控制器和OF交换机,方法包括:OF交换机接收OF控制器发送的流表条目修改消息,所述消息中携带表号、流表条目和缓存标记;依据所述缓存标记的指示,所述OF交换机在自身的控制模块保存所述流表条目修改消息中的表号和流表条目。

Description

一种 SDN中流表下发的方法和系统、 OF控制器和 OF交换机 技术领域
本发明涉及软件定义网络( SDN, Software Defined Network )架构网络 通信领域, 尤其涉及一种 SDN中流表下发的方法。 背景技术
由于现在的网络暴露出了越来越多的弊病以及人们对网络性能的需求 越来越高, 因此不得不把很多复杂功能加入到路由器的体系结构当中, 例 如开放式最短路径优先 (OSPF, Open Shortest Path First )、 边界网关协议 ( BGP, Border Gateway Protocol ), 组播、 区分服务、 流量工程、 网络地址 转换( NAT, Network Address Translation )、防火墙、多协议标签交换( MPLS, Multi-Protocol Label Switching )等等。这就使得路由器等交换设备越来越臃 肿而且性能提升的空间越来越小。
然而与网络领域的困境截然不同的是, 计算机领域实现了日新月异的 发展。 仔细回顾计算机领域的发展, 不难发现其关键在于计算机领域找到 了一种简单可用的硬件底层(x86指令集)。 由于有了这样一种公用的硬件 底层, 因此在软件方面, 不论是应用程序还是操作系统都取得了飞速的发 展。 现在很多主张重新设计计算机网络体系结构的人士认为: 网络可以复 制计算机领域的成功来解决现在网络所遇到的所有问题。 在这种思想的指 导下, 将来的网络必将是这样的: 底层的数据通路(交换机、 路由器)是 "哑的、 简单的、 最小的", 并定义一个对外开放的关于流表的公用的应用 程序编程接口 (API, Application Programming Interface ), 同时采用控制器 来控制整个网络。未来的研究人 就可以在控制器上自由的调用底层的 API 来编程, 从而实现网络的创新。 基于上述的理念, 出现了软件定义网络 ( SDN , Software Defined Network ), SDN的核心技术为 OpenFlow(开放流,简称 OF )协议, OpenFlow 协议应用架构如图 1 所示, 通过将网络设备控制面 (包含 OpenFlow Controller ) 与数据面 (包含 OpenFlow Capable Switch )分离开来, 从而实 现了网络流量的灵活控制, 为核心网络及应用的创新提供了良好的平台。
OpenFlow协议用来描述控制器和交换机之间交互所用信息的标准, 以 及控制器和交换机的接口标准。协议的核心部分是用于 OpenFlow协议信息 结构的集合。
OpenFlow流表 (图 3所示)或经过编排的多个流表级联而成管道用来 配置交换机转发路径 (图 2所示), 流表条目由匹配字段、 计数器和指令集 等如下几个字段构成:
Figure imgf000003_0001
其中 , Match Fields是报文匹配的输入关键字, 用于匹配一条流表项; 计数器是用于管理用的各种统计信息; 指令集( Instructions )是指对报文的 操作指令, 包括丢弃、 转发报文到指定端口、 设置报文头部字段值、 增加 封装标签等; Priority是指流表条目的匹配优先级; Timeouts是指流表条目 的老化时间; Cookie是由控制器选择的不透明数据值。动作集(Action Set ) 和每个 4艮文相关联, 它在流水线的多个流表之间传递并被各流表的指令所 修改, 直到流水线处理结束, 形成最终的动作集。
在电信网络中, 路由条目非常多, 一般都是十万甚至百万的数量级, 控制器或 APP (应用程序 )通过动态路由协议学到全网路由后如果将表示 这些路由信息的流表条目全部下发给各个 OF交换机, 对于 OF交换机的流 表容量要求就非常高, 实际上在一段时间内可能仅有少量路由流表条目有 流量。 如果 OF控制器能够实现按需下发路由流表条目, 并让 OF交换机使 用较短时间周期的空闲老化, 就能在有限时间内有效的将控制器上的路由 信息集缩小映射到 OF交换机上, 缓解 OF交换机路由流表条目容量指标的 压力, 从而实现超出 OF交换机指标的路由流表条目容量。 然而, 现有技术 还无法提供针对上述技术问题的解决方案。 本申请的发明人在实践过程中 发现, 未匹配路由流表条目的流量首包上送, 触发控制器下发 OF交换机所 需的路由信息是实现该目的的主要方法。但是该方法因为控制器感应 OF交 换机需求下发路由表条目的时延较长,会导致大量的报文上送, 消耗 OF交 换机和控制器之间的宝贵带宽。 所以希望能够能进一步优化。 目前很多 OF 交换机采用分布式中央处理器( CPU, Central Processing Unit )架构的实现, 控制平面和转发平面分离, 控制平面由单独的 CPU实现, 拥有比转发平面 更丰富的内存资源, 在这种实现架构的 OF交换机上, 提出了本发明。 发明内容
为解决现有存在的技术问题, 本发明实施例提供一种 SDN中流表下发 的方法。
本发明实施例提供一种 SDN中流表下发的方法, 该方法包括:
OF交换机接收 OF控制器发送的流表条目修改消息, 所述消息中携带 表号、 流表条目和缓存标记;
依据所述缓存标记的指示,所述 OF交换机在自身的控制模块保存所述 流表条目修改消息中的表号和流表条目。
上述方案中, 所述流表条目修改消息中还携带第一空闲老化周期。 上述方案中,在所述 OF控制器发送流表条目修改消息之前, 该方法还 包括:
所述 OF交换机与所述 OF控制器进行流表缓存能力协商, 所述 OF交 换机将自身是否支持流表的缓存功能通知给所述 OF控制器。
上述方案中,所述 OF交换机与所述 OF控制器进行流表缓存能力协商, 包括: 所述 OF 交换机接收所述 OF控制器发送的流表特征请求(Multipart Table Features Request ) 消息, 消息中携带表号;
所述 OF交换机向所述 OF控制器返回流表特征响应 (Multipart Table Features Reply ) 消息, 在所述 Multipart Table Features Reply消息的流表特 征能力属性字段中携带流表条目缓存能力标记, 用以指示是否支持对应表 号的流表的流表条目缓存功能。
上述方案中, 所述流表特征能力属性字段中还携带支持缓存功能的流 表默认的第二空闲老化周期。
上述方案中, 该方法还包括:
当所述 OF交换机的转发模块接收到报文时,查询所述转发模块的流表 中是否存在匹配的流表条目;
如果存在, 则按照查询匹配的流表条目进行所述报文的转发; 如果不存在, 则所述转发模块发送所述报文、 表号、 上送原因给所述 OF交换机的控制模块; 所述控制模块根据接收的表号和自身保存的流表条 目缓存标记, 在本地对应的流表中查询缓存的流表条目, 如果查询到对应 的流表条目, 则将查询所得流表条目添加到所述转发模块对应的流表中, 如果没有查询到对应的流表条目,则将所述控制模块接收到的报文、表号、 上送原因填充到报文入 Packet-in消息中发送给所述 OF控制器。
上述方案中, 该方法还包括:才 据所述第二空闲老化周期对所述 OF交 换机的转发模块中缓存标记指示可以缓存的流表条目进行空闲老化处理; 根据所述 OF 控制器发送相应流表条目时设置的所述第一空闲老化周期对 所述控制模块缓存的相应流表条目进行空闲老化处理;
其中, 所述第一空闲老化周期的时长大于所述第二空闲老化周期的时 长。
本发明实施例还提供一种 SDN中流表下发的方法, 该方法包括:
OF 控制器根据本地策略决定为下发的流表条目设置缓存标记时, 向 OF交换机发送流表条目修改消息, 所述消息中携带表号、 流表条目和缓存 标记;所述缓存标记用于指示将所述流表条目缓存在所述 OF交换机的控制 模块本地。
上述方案中, 所述流表条目修改消息中还携带第一空闲老化周期。 上述方案中,在所述 OF控制器发送流表条目修改消息之前, 该方法还 包括:
所述 OF控制器与所述 OF交换机进行流表缓存能力协商, 所述 OF控 制器获知所述 OF交换机是否支持流表的缓存功能。
上述方案中,所述 OF控制器与所述 OF交换机进行流表缓存能力协商, 包括:
所述 OF控制器向所述 OF交换机发送 Multipart Table Features Request 消息, 消息中携带表号;
所述 OF控制器接收所述 OF 交换机返回的 Multipart Table Features Reply消息,在所述 Multipart Table Features Reply消息的流表特征能力属性 字段中携带流表条目缓存能力标记, 用以指示是否支持对应表号的流表的 流表条目缓存功能。
上述方案中, 所述流表特征能力属性字段中还携带支持缓存功能的流 表默认的第二空闲老化周期。
上述方案中, 该方法还包括:
当所述 OF控制器收到所述 OF交换机发送的携带有报文、 表号、 上送 原因的报文入 Packet-in消息时, 所述 OF控制器解析所述 Packet-in消息, 将所述 Packet-in消息中的报文交由所述 OF控制器的本地协议栈或应用程 序 APP进行处理。
本发明实施例还提供一种 OF交换机, 包括控制模块, 配置为接收 OF 控制器发送的流表条目修改消息, 所述消息中携带表号、 流表条目和缓存 标记; 依据所述缓存标记的指示, 保存所述流表条目修改消息中的表号和 流表条目在所述控制模块本地。
上述方案中, 所述流表条目修改消息中还携带第一空闲老化周期。 上述方案中, 所述控制模块配置为, 在接收所述流表条目修改消息之 前, 与所述 OF控制器进行流表缓存能力协商, 将所述 OF交换机自身是否 支持流表的缓存功能通知给所述 OF控制器。
上述方案中, 所述控制模块配置为, 接收所述 OF 控制器发送的 Multipart Table Features Request消息, 消息中携带表号; 向所述 OF控制器 返回 Multipart Table Features Reply消息, 在所述 Multipart Table Features Reply消息的流表特征能力属性字段中携带流表条目缓存能力标记,用以指 示是否支持对应表号的流表的流表条目缓存功能。
上述方案中, 所述流表特征能力属性字段中还携带支持缓存功能的流 表默认的第二空闲老化周期。
上述方案中,所述 OF交换机还包括转发模块,配置为在接收到报文时, 查询所述转发模块的流表中是否存在匹配的流表条目;
如果存在, 则按照查询匹配的流表条目进行所述报文的转发; 如果不存在, 则所述转发模块发送所述报文、 表号、 上送原因给所述
OF交换机的控制模块; 相应的, 所述控制模块配置为, 根据接收的表号和 自身保存的流表条目缓存标记, 在本地对应的流表中查询缓存的流表条目, 如果查询到对应的流表条目, 则将查询所得流表条目添加到所述转发模块 对应的流表中, 如果没有查询到对应的流表条目, 则将所述控制模块接收 到的报文、 表号、 上送原因填充到报文入 Packet-in消息中发送给所述 OF 控制器。
上述方案中, 所述控制模块配置为, 根据所述第二空闲老化周期对所 述 OF 交换机的转发模块中缓存标记指示可以缓存的流表条目进行空闲老 化处理;根据所述 OF控制器发送相应流表条目时设置的所述第一空闲老化 周期对所述控制模块缓存的相应流表条目进行空闲老化处理; 其中, 所述第一空闲老化周期的时长大于所述第二空闲老化周期的时 长。
本发明实施例还提供一种 OF控制器, 包括: 发送模块, 配置为根据本 地策略决定为下发的流表条目设置缓存标记时,向 OF交换机发送流表条目 修改消息, 所述消息中携带表号、 流表条目和缓存标记; 所述缓存标记用 于指示将所述流表条目缓存在所述 OF交换机的控制模块本地。
上述方案中, 所述流表条目修改消息中还携带第一空闲老化周期。 上述方案中, 所述 OF控制器还包括: 协商模块, 配置为在所述发送模 块发送流表条目修改消息之前, 与所述 OF交换机进行流表缓存能力协商, 所述协商模块获知所述 OF交换机是否支持流表的缓存功能。
上述方案中, 所述协商模块配置为, 向所述 OF 交换机发送 Multipart Table Features Request消息, 消息中携带表号; 接收所述 OF交换机返回的 Multipart Table Features Reply消息 ,在所述 Multipart Table Features Reply消 息的流表特征能力属性字段中携带流表条目缓存能力标记, 用以指示是否 支持对应表号的流表的流表条目缓存功能。
上述方案中, 所述流表特征能力属性字段中还携带支持缓存功能的流 表默认的第二空闲老化周期。
上述方案中, 所述 OF控制器还包括接收处理模块, 配置为在收到所述 OF交换机发送的携带有报文、 表号、 上送原因的报文入 Packet-in消息时, 解析所述 Packet-in消息, 将所述 Packet-in消息中的 4艮文交由所述 OF控制 器的本地协议栈或应用程序 APP进行处理。
本发明实施例还提供一种 SDN中流表下发的系统, 包括上述的 OF交 换机、 以及上述的 OF控制器,
所述 OF控制器,配置为根据本地策略决定为下发的流表条目设置缓存 标记时, 向所述 OF交换机发送流表条目修改消息, 所述消息中携带表号、 流表条目和缓存标记; 所述 OF交换机, 配置为接收所述流表条目修改消息,依据所述缓存标 记的指示, 在自身的控制模块保存所述流表条目修改消息中的表号和流表 条目。
本发明实施例还提供了一种计算机可读存储介质, 所述存储介质包括 一组计算机可执行指令, 所述指令用于执行前述实施例中 OF 交换机侧的 SDN中流表下发的方法。
本发明实施例还提供了一种计算机可读存储介质, 所述存储介质包括 一组计算机可执行指令, 所述指令用于执行前述实施例中 OF 控制器侧的 SDN中流表下发的方法。
本发明实施例,由 OF控制器将学习到的或静态配置的路由根据一定的 策略批量下发到 OF交换机控制平面缓存, 然后由 OF交换机转发平面的未 匹配路由流表条目的流量上送触发在 OF 交换机控制平面的缓存路由流表 中查找对应的流表条目, 查到后直接下发转发平面的路由流表, 并根据需 求启动短周期的空闲老化定时器, 同时不构造 Packet-in报文上送控制器; 如果查不到, 就构造 Packet-in报文上送控制器处理。 通过本发明实施例, OF控制器能够实现按需下发路由流表条目, 并让 OF交换机使用较短时间 周期的空闲老化, 就能在有限时间内有效的将控制器上的路由信息集缩小 映射到 OF交换机上, 缓解 OF交换机路由流表条目容量指标的压力, 从而 实现超出 OF交换机指标的路由流表条目容量;本发明实施例还能降低控制 器感应 OF交换机需求下发路由表条目的时延,从而降低 OF交换机和控制 器之间的带宽消耗。 附图说明
图 1为现有技术中 OpenFlow协议应用架构图;
图 2为现有技术的 4艮文流通过 OpenFlow处理管道的示意图; 图 3为现有技术中基于每个表的报文处理示意图; 图 4本发明实施例的一 SDN中流表下发的方法流程图;
图 5为本发明实施例的流表缓存能力协商的流程图;
图 6为本发明实施例的另一 SDN中流表下发的方法流程图;
图 7为本发明实施例的 OF交换机接收到报文后的处理流程图; 图 8为本发明实施例的一种 SDN中流表下发的系统结构示意图。 具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
本发明实施例提供的一种 OF交换机侧的 SDN中流表下发的方法, 如 图 4所示, 该方法主要包括:
步骤 401 , OF交换机接收 OF控制器发送的流表条目修改消息, 所述 消息中携带表号、 流表条目和缓存标记;
较佳的, 所述流表条目修改消息中还携带第一空闲老化周期, 所述第 一空闲老化周期为所述 OF控制器为所述 OF交换机设置的控制模块内的流 表条目的老化周期。
步骤 402, 依据所述缓存标记的指示, 所述 OF交换机在自身的控制模 块保存所述流表条目修改消息中的表号和流表条目。
作为一种优选实施方式,在所述 OF控制器发送流表条目修改消息之前, 该方法还包括: 所述 OF交换机与所述 OF控制器进行流表缓存能力协商, 所述 OF交换机将自身是否支持流表的缓存功能通知给所述 OF控制器。
其中, 所述 OF交换机与所述 OF控制器进行流表缓存能力协商, 如图 5所示, 包括:
步骤 501 , OF交换机接收 OF控制器发送的流表特征请求(Multipart Table Features Request ) 消息, 消息中携带表号;
步骤 502, OF交换机向 OF控制器返回流表特征响应 ( Multipart Table Features Reply ) 消息, 在 Multipart Table Features Reply消息的流表特征能 力属性字段中携带流表条目缓存能力标记, 用以指示是否支持对应表号的 流表的流表条目缓存功能。
较佳的 , 所述流表特征能力属性字段中还携带支持缓存功能的流表默 认的第二空闲老化周期。
较佳的, 可以在流表特征能力属性字段中新增 OFPTC— CACHE参数, 该 OFPTC— CACHE参数, 即作为流表条目缓存能力标记, 还可用于设置第 二空闲老化周期。
作为一种优选实施方式, 该方法还包括:
当 OF交换机的转发模块接收到报文时,查询转发模块的流表中是否存 在匹配的流表条目;
如果存在, 则按照查询匹配的流表条目进行所述报文的转发; 如果不存在, 则转发模块发送所述报文、 表号、 上送原因给 OF交换机 的控制模块; 控制模块根据接收的表号和自身保存的流表条目缓存标记, 在本地对应的流表中查询缓存的流表条目, 如果查询到对应的流表条目 , 则将查询所得流表条目添加到转发模块对应的流表中, 如果没有查询到对 应的流表条目, 则将控制模块接收到的报文、 表号、 上送原因填充到报文 入(Packet-in ) 消息中发送给 OF控制器。
较佳的, 该方法还包括:根据所述第二空闲老化周期对所述 OF交换机 的转发模块中缓存标记指示可以缓存的流表条目进行空闲老化处理, 删除 老化的流表条目, 删除时所述转发模块中的流表条目将统计数据报给所述 控制模块缓存的相应流表条目累计相关统计数据;根据所述 OF控制器发送 相应流表条目时设置的所述第一空闲老化周期对所述控制模块缓存的相应 流表条目进行空闲老化处理, 删除老化的流表条目;
其中, 所述第一空闲老化周期的时长是才 据第二空闲老化周期的时长 进行设置, 要求第一空闲老化周期的时长大于第二空闲老化周期的时长。 较佳的, 第一空闲老化周期的时长至少为第二空闲老化周期的时长的两倍。 由于所述第二空闲老化周期是 OF交换机向 OF控制器推荐的, OF控 制器根据所述第二空闲老化周期设置第一空闲老化周期, 并设置第一空闲 老化周期的时长大于第二空闲老化周期的时长,从而使得在 OF交换机转发 面的流表条目在空闲时可以更早老化, 节省转发模块的表空间, 而在 OF交 换机控制模块的缓存的流表条目在空闲时可以稍缓老化, 以便在匹配该流 表条目的流量能及时在转发模块流表条目没有添加或已经老化时触发 OF 交换机控制模块下发该流表条目到转发模块, 避免总是将构造报文入 ( Packet-in ) 消息发送给 OF控制器, 来触发从 OF控制器下发相关流表条 目。
本发明实施例提供的一种 OF控制器侧的 SDN中流表下发的方法, 主 要包括: OF 控制器根据本地策略决定为下发的流表条目设置缓存标记时, 向 OF交换机发送流表条目修改消息, 所述消息中携带表号、流表条目和缓 存标记;所述缓存标记用于指示将所述流表条目缓存在所述 OF交换机的控 制模块本地。
优选的, 所述流表条目修改消息中还携带第一空闲老化周期, 所述第 一空闲老化周期为所述 OF控制器为所述 OF交换机设置的控制模块内的流 表条目的老化周期。
作为一种优选实施方式,在所述 OF控制器发送流表条目修改消息之前, 该方法还包括: OF控制器与 OF交换机进行流表缓存能力协商, OF控制器 获知 OF交换机是否支持流表的缓存功能。
其中, 所述 OF控制器与 OF交换机进行流表缓存能力协商, 包括: OF控制器向 OF交换机发送 Multipart Table Features Request消息, 消 息中携带表号;
OF控制器接收 OF交换机返回的 Multipart Table Features Reply消息, 在 Multipart Table Features Reply消息的流表特征能力属性字段中携带流表 条目缓存能力标记, 用以指示是否支持对应表号的流表的流表条目缓存功 3匕。
需要说明的是, 当流表条目缓存能力标记指示对应表号的流表不支持 流表条目缓存功能时, OF 控制器下发对应的流表条目时不携带缓存标记; 当流表条目缓存能力标记指示对应表号的流表支持流表条目缓存功能时, OF控制器下发对应的流表条目时携带相应的缓存标记。 缓存标记可以根据 OF控制器的本地策略进行设置。
较佳的 , 所述流表特征能力属性字段中还携带支持缓存功能的流表默 认的第二空闲老化周期,所述第二空闲老化周期为所述 OF交换机的转发模 块内的流表条目的老化周期。
作为一种优选实施方式, 该方法还包括:
当 OF控制器收到 OF 交换机发送的携带有报文、 表号、 上送原因的 Packet-in消息时, OF控制器解析所述 Packet-in消息, 将所述 Packet-in消 息中的 4艮文交由 OF控制器的本地协议栈或应用程序 ( APP )进行处理。
作为一种优选实施方式, 该方法还包括: OF控制器向 OF交换机下发 流表条目时设置相应流表条目的第一空闲老化周期。
下面再结合图 6进一步详细阐述本发明实施例的 SDN中流表下发的方 法。 参见图 6, 包括以下步骤:
步骤 601 , OF控制器和 OF交换机进行流表缓存能力协商。
具体协商过程参见前述实施例中所述, 此处不再赘述。
步骤 602 , 根据协商, OF控制器获知对应的流表是否支持流表条目缓 存功能, 如果支持, 执行步骤 604; 否则, 执行步骤 603。
步骤 603 , OF控制器下发对应的流表条目时不携带缓存标记。
步骤 604, OF控制器下发对应的流表条目时携带相应的缓存标记。 例如: OF控制器通过与 OF交换机的流表缓存能力协商, 获知该 OF 交换机的某流表支持流表缓存功能; OF控制器通过路由协议, 如: OSPF、 中间系统到中间系统的路由选择协议 ( IS-IS , Intermediate System to Intermediate System Routing Protocol ), 交换网格的路由信息,动态生成路由
Figure imgf000014_0001
表 1
OF控制器将路由条目映射成流表条目, 如下表 2所示:
Figure imgf000014_0002
表 2
通过流表条目修改消息将新的流表条目下发给 OF交换机,并且携带表 号, 以及该流表条目的缓存标记。
具体的, OF控制器向 OF交换机下发的流表条目修改消息示例如下: struct ofp— flow— mod {
/* Flow actions. */ uint8_t table— id; /* 流表号 (本示例为路由流表 ID ) */ uint8_t command; /* 增加、 爹改或删除流表条目 (本示例为增加) */ uintl6_t idle— timeout; /* Idle time before discarding (seconds). */ uintl6_t hard— timeout; /* Max time before discarding (seconds). */ uintl6_t flags; /* 包含流表条目的缓存标记 */
struct ofp— match match; /* 匹配域 (假设为表 2中第一条的目的地址和掩 码). */
//struct ofp— instruction— header instructions [0]; /* 指令集 [艮设为表 2 中第一条的指令集) . */
步骤 605 , OF交换机的控制模块判断接收的缓存标记, 如果所述缓存 标记为 0, 则执行步骤 606; 如果所述缓存标记为 1 , 则执行步骤 607。
OF交换机收到上述流表条目修改消息后, 若表号对应的流表不支持流 表条目缓存功能, 则 OF交换机向 OF控制器反馈错误消息。 若表号对应的 流表支持流表条目缓存功能, 则 OF交换机判断缓存标记, 标记为 0用以指 示将对应的流表条目添加到 OF交换机的转发模块对应的流表中; 标记为 1 用以指示将所述流表条目缓存在控制模块本地。 其中, 标记为 0也认为是 流表条目修改消息中不携带所述缓存标记。
步骤 606, 控制模块将所述流表条目添加到 OF交换机的转发模块的流 表中。
步骤 607, 控制模块保存所述表号和流表条目; 即控制模块从 OF控制 器接收到流表条目后, 不对转发模块对应流表的流表条目进行立即更新, 而是先缓存在本地。
下面再结合图 7对本发明实施例的 OF交换机接收到报文后的处理流程 进一步详细阐述。 参见图 7 , 包括以下步骤: 步骤 701 , OF交换机的转发模块接收到报文。
步骤 702,查询转发模块的流表中是否存在匹配的流表条目,如果存在, 执行步骤 703; 否则, 执行步骤 704。
步骤 703 , OF交换机的转发模块按照查询匹配的流表条目进行所述报 文的转发。
步骤 704, 转发模块发送所述报文、 表号、 上送原因等参数给 OF交换 机的控制模块。
步骤 705,控制模块根据接收的表号判断对应的流表是否具备缓存功能, 如果是, 执行步骤 707; 否则, 执行步骤 706。
步骤 706, 控制模块接收到的参数填充到 Packet-in 消息中发送给 OF 控制器。由所述 OF控制器将所述 Packet-in消息中的报文交由 OF控制器的 本地协议栈或应用程序 ( APP )进行处理。
步骤 707, 控制模块根据接收的表号和自身保存的流表条目缓存标记, 在本地对应的流表中查询缓存的流表条目, 如果查询到对应的流表条目 , 执行步骤 708; 否则, 执行步骤 706。
步骤 708,控制模块将查询所得流表条目添加到转发模块对应的流表中, 并根据对应所述流表的第二空闲老化周期确定是否启动所述转发模块中对 应流表的空闲老化。
本发明实施例中, OF控制器在向 OF交换机发送流表条目时, 如果所 述 OF交换机不支持对相应流表条目的缓存功能, OF控制器为发送的流表 条目不设置缓存标记, OF交换机将此类流表条目添加到所述 OF交换机的 转发模块的流表中; OF控制器在向 OF交换机发送流表条目时, 如果所述 OF 交换机支持对相应流表条目的缓存功能, OF控制器为发送的流表条目 设置缓存标记, OF 交换机将此类流表条目缓存到控制模块本地。 OF交换 机在收到报文时, 如果查询到转发模块的流表中存在匹配的流表条目, 则 直接进行转发; 如果没查询到匹配的流表条目, 则上送触发在 OF交换机控 制平面的缓存路由流表中查找对应的流表条目, 查到后直接下发给转发平 面的路由流表, 查不到就构造 Packet-in报文上送控制器处理。 本发明实施 例, OF控制器能够实现按需下发路由流表条目, 并让 OF交换机使用较短 时间周期的空闲老化, 就能在有限时间内有效的将控制器上的路由信息集 缩小映射到 OF交换机上, 缓解 OF交换机路由流表条目容量指标的压力, 从而实现超出 OF交换机指标的路由流表条目容量; 另外, OF交换机的控 制模块和转发模块都缓存或保存流表条目, 转发模块未匹配的流表条目优 先从控制模块匹配, 匹配不到的才上报控制器处理, 这样不仅减少了控制 器和交换机之间的交互, 节省了带宽, 也降低了流表条目的下发时延。
对应上述 SDN 中流表下发的方法, 本发明实施例还提供了一种 SDN 中流表下发的系统, 如图 8所示, 包括: OF控制器 10和 OF交换机 20, 其中,
OF控制器 10,配置为根据本地策略决定为下发的流表条目设置缓存标 记时,向所述 OF交换机 20发送流表条目修改消息,所述消息中携带表号、 流表条目和缓存标记;
OF交换机 20, 配置为接收所述流表条目修改消息,依据所述缓存标记 的指示, 在自身的控制模块保存所述流表条目修改消息中的表号和流表条 目。
其中, OF控制器 10包括: 发送模块 11 , 配置为根据本地策略决定为 下发的流表条目设置缓存标记时,向 OF交换机 20发送流表条目修改消息, 所述消息中携带表号、 流表条目和缓存标记; 所述缓存标记用于指示将所 述流表条目缓存在所述 OF交换机 20的控制模块本地。
较佳的, 所述流表条目修改消息中还携带第一空闲老化周期。
OF控制器 10还包括: 协商模块 12, 配置为在所述发送模块 11发送流 表条目修改消息之前, 与所述 OF交换机 20进行流表缓存能力协商, 所述 协商模块 12获知所述 OF交换机 20是否支持流表的缓存功能。 优选的,协商模块 12配置为,向所述 OF交换机 20发送 Multipart Table Features Request消息, 消息中携带表号; 接收所述 OF交换机 20返回的 Multipart Table Features Reply消息 ,在所述 Multipart Table Features Reply消 息的流表特征能力属性字段中携带流表条目缓存能力标记, 用以指示是否 支持对应表号的流表的流表条目缓存功能。
优选的 , 所述流表特征能力属性字段中还携带支持缓存功能的流表默 认的第二空闲老化周期。
优选的, OF控制器 10还包括接收处理模块 13 , 配置为在收到所述 OF 交换机 20发送的携带有报文、 表号、 上送原因的 Packet-in消息时, 解析所 述 Packet-in消息, 将所述 Packet-in消息中的 4艮文交由所述 OF控制器 10 的本地协议栈或 APP进行处理。
其中, OF交换机 20包括控制模块 21, 配置为接收 OF控制器 10发送 的流表条目修改消息, 所述消息中携带表号、 流表条目和缓存标记; 依据 所述缓存标记的指示, 保存所述流表条目修改消息中的表号和流表条目在 所述控制模块 21本地。
优选的, 所述流表条目修改消息中还携带第一空闲老化周期。
优选的, 控制模块 21配置为, 在接收所述流表条目修改消息之前, 与 所述 OF控制器 10进行流表缓存能力协商, 将所述 OF交换机 20自身是否 支持流表的缓存功能通知给所述 OF控制器 10。
优选的,控制模块 21配置为,接收所述 OF控制器 10发送的 Multipart
Table Features Request消息, 消息中携带表号; 向所述 OF控制器 10返回 Multipart Table Features Reply消息 ,在所述 Multipart Table Features Reply消 息的流表特征能力属性字段中携带流表条目缓存能力标记, 用以指示是否 支持对应表号的流表的流表条目缓存功能。
优选的, 所述流表特征能力属性字段中还携带支持缓存功能的流表默 认的第二空闲老化周期。 优选的, OF交换机 20还包括转发模块 22, 配置为在接收到报文时, 查询所述转发模块 22的流表中是否存在匹配的流表条目;
如果存在, 则按照查询匹配的流表条目进行所述报文的转发; 如果不存在, 则所述转发模块 22发送所述报文、 表号、 上送原因给所 述 OF交换机 20的控制模块 21 ; 相应的, 所述控制模块 21配置为, 根据 接收的表号和自身保存的流表条目缓存标记, 在本地对应的流表中查询缓 存的流表条目, 如果查询到对应的流表条目, 则将查询所得流表条目添加 到所述转发模块 22对应的流表中, 如果没有查询到对应的流表条目, 则将 所述控制模块 21接收到的报文、表号、上送原因填充到 Packet-in消息中发 送给所述 OF控制器 10。
优选的, 控制模块 21配置为, 根据所述第二空闲老化周期对所述 OF 交换机的转发模块 22中缓存标记指示可以缓存的流表条目进行空闲老化处 理;根据所述 OF控制器发送相应流表条目时设置的所述第一空闲老化周期 对所述控制模块 21缓存的相应流表条目进行空闲老化处理;
其中, 所述第一空闲老化周期的时长大于所述第二空闲老化周期的时 长。
本发明实施例还提供了一种计算机可读存储介质, 所述存储介质包括 一组计算机可执行指令, 所述指令用于执行前述实施例中 OF 交换机侧的 SDN中流表下发的方法。
本发明实施例还提供了一种计算机可读存储介质, 所述存储介质包括 一组计算机可执行指令, 所述指令用于执行前述实施例中 OF 控制器侧的 SDN中流表下发的方法。
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或计算机程序产品。 因此, 本发明可采用硬件实施例、 软件实施例、 或结 合软件和硬件方面的实施例的形式。 而且, 本发明可采用在一个或多个其 中包含有计算机可用程序代码的计算机可用存储介质 (包括但不限于磁盘 存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、 设备(系统)、 和计算机程序 产品的流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流程 图和 /或方框图中的每一流程和 /或方框、以及流程图和 /或方框图中的流程和 /或方框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器, 使得 通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功 能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理 设备以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存 储器中的指令产生包括指令装置的制造品, 该指令装置实现在流程图一个 流程或多个流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现 的处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现在流 程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的 步骤。
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围。

Claims

权利要求书
1、 一种软件定义网络 SDN中流表下发的方法, 该方法包括: 开放流 OF交换机接收 OF控制器发送的流表条目修改消息, 所述消 息中携带表号、 流表条目和缓存标记;
依据所述缓存标记的指示,所述 OF交换机在自身的控制模块保存所 述流表条目修改消息中的表号和流表条目。
2、 根据权利要求 1所述 SDN中流表下发的方法, 其中, 所述流表 条目修改消息中还携带第一空闲老化周期。
3、 根据权利要求 1所述 SDN中流表下发的方法, 其中, 在所述 OF 控制器发送流表条目修改消息之前, 该方法还包括:
所述 OF交换机与所述 OF控制器进行流表缓存能力协商, 所述 OF 交换机将自身是否支持流表的缓存功能通知给所述 OF控制器。
4、 根据权利要求 3所述 SDN中流表下发的方法, 其中, 所述 OF交 换机与所述 OF控制器进行流表缓存能力协商, 包括:
所述 OF 交换机接收所述 OF控制器发送的流表特征请求 Multipart Table Features Request消息, 消息中携带表号;
所述 OF交换机向所述 OF控制器返回流表特征响应 Multipart Table Features Reply消息, 在所述 Multipart Table Features Reply消息的流表特 征能力属性字段中携带流表条目缓存能力标记, 用以指示是否支持对应 表号的流表的流表条目缓存功能。
5、 根据权利要求 4所述 SDN中流表下发的方法, 其中, 所述流表 特征能力属性字段中还携带支持缓存功能的流表默认的第二空闲老化周
6、根据权利要求 1至 5任一项所述 SDN中流表下发的方法,其中, 该方法还包括: 当所述 OF交换机的转发模块接收到报文时,查询所述转发模块的流 表中是否存在匹配的流表条目;
如果存在, 则按照查询匹配的流表条目进行所述报文的转发; 如果不存在, 则所述转发模块发送所述报文、 表号、 上送原因给所 述 OF交换机的控制模块;所述控制模块根据接收的表号和自身保存的流 表条目缓存标记, 在本地对应的流表中查询缓存的流表条目, 如果查询 到对应的流表条目, 则将查询所得流表条目添加到所述转发模块对应的 流表中, 如果没有查询到对应的流表条目, 则将所述控制模块接收到的 报文、 表号、 上送原因填充到报文入 Packet-in消息中发送给所述 OF控 制器。
7、 根据权利要求 6所述 SDN中流表下发的方法, 其中, 该方法还 包括:根据所述第二空闲老化周期对所述 OF交换机的转发模块中缓存标 记指示可以缓存的流表条目进行空闲老化处理;根据所述 OF控制器发送 相应流表条目时设置的所述第一空闲老化周期对所述控制模块缓存的相 应流表条目进行空闲老化处理;
其中, 所述第一空闲老化周期的时长大于所述第二空闲老化周期的 时长。
8、 一种软件定义网络 SDN中流表下发的方法, 该方法包括: 开放流 OF控制器根据本地策略决定为下发的流表条目设置缓存标 记时, 向 OF交换机发送流表条目修改消息, 所述消息中携带表号、 流表 条目和缓存标记; 所述缓存标记用于指示将所述流表条目缓存在所述 OF 交换机的控制模块本地。
9、 根据权利要求 8所述 SDN中流表下发的方法, 其中, 所述流表 条目修改消息中还携带第一空闲老化周期。
10、根据权利要求 8所述 SDN中流表下发的方法, 其中,在所述 OF 控制器发送流表条目修改消息之前, 该方法还包括: 所述 OF控制器与所述 OF交换机进行流表缓存能力协商, 所述 OF 控制器获知所述 OF交换机是否支持流表的缓存功能。
11、 根据权利要求 10所述 SDN中流表下发的方法, 其中, 所述 OF 控制器与所述 OF交换机进行流表缓存能力协商, 包括:
所述 OF控制器向所述 OF交换机发送流表特征请求 Multipart Table Features Request消息, 消息中携带表号;
所述 OF控制器接收所述 OF 交换机返回的流表特征响应 Multipart Table Features Reply消息,在所述 Multipart Table Features Reply消息的流 表特征能力属性字段中携带流表条目缓存能力标记, 用以指示是否支持 对应表号的流表的流表条目缓存功能。
12、根据权利要求 11所述 SDN中流表下发的方法, 其中, 所述流表 特征能力属性字段中还携带支持缓存功能的流表默认的第二空闲老化周
13、 根据权利要求 8至 12任一项所述 SDN中流表下发的方法, 其 中, 该方法还包括:
当所述 OF控制器收到所述 OF交换机发送的携带有报文、 表号、 上 送原因的报文入 Packet-in消息时, 所述 OF控制器解析所述 Packet-in消 息, 将所述 Packet-in消息中的报文交由所述 OF控制器的本地协议栈或 应用程序 APP进行处理。
14、 一种 OF交换机, 包括控制模块, 配置为接收 OF控制器发送的 流表条目修改消息, 所述消息中携带表号、 流表条目和缓存标记; 依据 所述缓存标记的指示, 保存所述流表条目修改消息中的表号和流表条目 在所述控制模块本地。
15、 根据权利要求 14所述 OF交换机, 其中, 所述流表条目修改消 息中还携带第一空闲老化周期。
16、根据权利要求 14所述 OF交换机,其中,所述控制模块配置为, 在接收所述流表条目修改消息之前,与所述 OF控制器进行流表缓存能力 协商, 将所述 OF交换机自身是否支持流表的缓存功能通知给所述 OF控 制器。
17、根据权利要求 16所述 OF交换机,其中,所述控制模块配置为, 接收所述 OF控制器发送的流表特征请求 Multipart Table Features Request 消息, 消息中携带表号; 向所述 OF控制器返回流表特征响应 Multipart Table Features Reply消息,在所述 Multipart Table Features Reply消息的流 表特征能力属性字段中携带流表条目缓存能力标记, 用以指示是否支持 对应表号的流表的流表条目缓存功能。
18、 根据权利要求 17所述 OF交换机, 其中, 所述流表特征能力属 性字段中还携带支持缓存功能的流表默认的第二空闲老化周期。
19、 根据权利要求 14至 18任一项所述 OF交换机, 其中, 所述 OF 交换机还包括转发模块, 配置为在接收到报文时, 查询所述转发模块的 流表中是否存在匹配的流表条目;
如果存在, 则按照查询匹配的流表条目进行所述报文的转发; 如果不存在, 则所述转发模块发送所述报文、 表号、 上送原因给所 述 OF交换机的控制模块; 相应的, 所述控制模块配置为, 根据接收的表 号和自身保存的流表条目缓存标记, 在本地对应的流表中查询缓存的流 表条目, 如果查询到对应的流表条目, 则将查询所得流表条目添加到所 述转发模块对应的流表中, 如果没有查询到对应的流表条目, 则将所述 控制模块接收到的报文、 表号、 上送原因填充到报文入 Packet-in消息中 发送给所述 OF控制器。
20、根据权利要求 19所述 OF交换机,其中,所述控制模块配置为, 根据所述第二空闲老化周期对所述 OF 交换机的转发模块中缓存标记指 示可以缓存的流表条目进行空闲老化处理;根据所述 OF控制器发送相应 流表条目时设置的所述第一空闲老化周期对所述控制模块缓存的相应流 表条目进行空闲老化处理;
其中, 所述第一空闲老化周期的时长大于所述第二空闲老化周期的 时长。
21、 一种 OF控制器, 包括: 发送模块, 配置为根据本地策略决定为 下发的流表条目设置缓存标记时, 向 OF交换机发送流表条目修改消息, 所述消息中携带表号、 流表条目和缓存标记; 所述缓存标记用于指示将 所述流表条目缓存在所述 OF交换机的控制模块本地。
22、 根据权利要求 21所述 OF控制器, 其中, 所述流表条目修改消 息中还携带第一空闲老化周期。
23、 根据权利要求 21所述 OF控制器, 其中, 还包括: 协商模块, 配置为在所述发送模块发送流表条目修改消息之前,与所述 OF交换机进 行流表缓存能力协商,所述协商模块获知所述 OF交换机是否支持流表的 缓存功能。
24、根据权利要求 23所述 OF控制器,其中,所述协商模块配置为, 向所述 OF交换机发送流表特征请求 Multipart Table Features Request消息 , 消息中携带表号;接收所述 OF交换机返回的流表特征响应 Multipart Table Features Reply消息, 在所述 Multipart Table Features Reply消息的流表特 征能力属性字段中携带流表条目缓存能力标记, 用以指示是否支持对应 表号的流表的流表条目缓存功能。
25、 根据权利要求 24所述 OF控制器, 其中, 所述流表特征能力属 性字段中还携带支持缓存功能的流表默认的第二空闲老化周期。
26、 根据权利要求 21至 25任一项所述 OF控制器, 其中, 还包括接 收处理模块, 配置为在收到所述 OF交换机发送的携带有报文、 表号、 上 送原因的 4艮文入 Packet-in 消息时, 解析所述 Packet-in 消息, 将所述 Packet-in消息中的 4艮文交由所述 OF控制器的本地协议栈或应用程序 APP 进行处理。
27、 一种 SDN中流表下发的系统, 包括权利要求 14至 20任一项所 述的 OF交换机、 以及权利要求 21至 26任一项所述的 OF控制器, 所述 OF控制器,配置为根据本地策略决定为下发的流表条目设置缓 存标记时, 向所述 OF交换机发送流表条目修改消息, 所述消息中携带表 号、 流表条目和缓存标记;
所述 OF交换机, 配置为接收所述流表条目修改消息,依据所述缓存 标记的指示, 在自身的控制模块保存所述流表条目修改消息中的表号和 流表条目。
28、 一种计算机可读存储介质, 所述存储介质包括一组计算机可执 行指令, 所述指令用于执行权利要求 1-7任一项所述的 SDN中流表下发 的方法。
29、 一种计算机可读存储介质, 所述存储介质包括一组计算机可执 行指令,所述指令用于执行权利要求 8-13任一项所述的 SDN中流表下发 的方法。
PCT/CN2014/080420 2013-08-27 2014-06-20 一种sdn中流表下发的方法和系统、of控制器和of交换机 WO2015027739A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/914,070 US9998352B2 (en) 2013-08-27 2014-06-20 Method and system for sending flow table in SDN, of controller, and of switch

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310379469.6 2013-08-27
CN201310379469.6A CN104426815B (zh) 2013-08-27 2013-08-27 一种sdn中流表下发的方法和系统、of控制器和of交换机

Publications (1)

Publication Number Publication Date
WO2015027739A1 true WO2015027739A1 (zh) 2015-03-05

Family

ID=52585512

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/080420 WO2015027739A1 (zh) 2013-08-27 2014-06-20 一种sdn中流表下发的方法和系统、of控制器和of交换机

Country Status (3)

Country Link
US (1) US9998352B2 (zh)
CN (1) CN104426815B (zh)
WO (1) WO2015027739A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357119A (zh) * 2015-10-28 2016-02-24 蓝盾信息安全技术股份有限公司 一种sdn网络中准确转发数据包的方法
CN114629842A (zh) * 2022-03-30 2022-06-14 阿里巴巴(中国)有限公司 流表处理方法、电子设备、可读存储介质及产品

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102093296B1 (ko) * 2014-02-11 2020-03-25 한국전자통신연구원 시간 확정적으로 대용량 경로를 전환하는 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
US10257091B2 (en) * 2014-04-08 2019-04-09 Hewlett Packard Enterprise Development Lp Pipeline table identification
EP3503479B1 (en) * 2014-04-16 2020-09-23 Huawei Technologies Co., Ltd. Flow entry management method and device
US10404577B2 (en) * 2014-08-28 2019-09-03 Hewlett Packard Enterprise Development Lp Network compatibility determination based on flow requirements of an application and stored flow capabilities of a software-defined network
TWI578737B (zh) * 2015-02-10 2017-04-11 鴻海精密工業股份有限公司 交換機、控制設備及其管理方法
US9596173B2 (en) * 2015-04-09 2017-03-14 Telefonaktiebolaget L M Ericsson (Publ) Method and system for traffic pattern generation in a software-defined networking (SDN) system
WO2016183732A1 (zh) 2015-05-15 2016-11-24 华为技术有限公司 一种数据包转发方法和网络设备
CN106302184B (zh) * 2015-06-12 2020-02-14 华为技术有限公司 一种流表项下发方法、流表项保存方法、相关装置和系统
CN106664253A (zh) * 2015-06-30 2017-05-10 华为技术有限公司 流表老化方法、交换机及控制器
WO2017011981A1 (zh) * 2015-07-20 2017-01-26 华为技术有限公司 一种流表项的定时处理方法及装置
WO2017020173A1 (zh) * 2015-07-31 2017-02-09 华为技术有限公司 一种流表同步的实现方法及转发设备
CN105162729B (zh) * 2015-08-19 2018-06-29 上海斐讯数据通信技术有限公司 一种基于用户策略的sdn报文处理方法、系统和sdn设备
CN105187325A (zh) * 2015-10-27 2015-12-23 上海斐讯数据通信技术有限公司 一种sdn流表管理方法及系统、交换机
CN105656786B (zh) * 2016-01-22 2019-04-12 中国人民解放军国防科学技术大学 一种基于快、慢表的路由器查表方法
CN106911573A (zh) * 2017-02-28 2017-06-30 郑州云海信息技术有限公司 一种转发流表的处理方法和装置
US10511523B1 (en) * 2017-05-15 2019-12-17 Barefoot Networks, Inc. Network forwarding element with data plane packet snapshotting capabilities
CN107222412B (zh) * 2017-06-08 2022-04-05 全球能源互联网研究院 一种基于网络拓扑判定的sdn混合模式流表下发方法及装置
CN110365591B (zh) * 2018-04-09 2021-11-19 华为技术有限公司 数据包处理方法、装置及设备
US11516133B2 (en) 2020-07-06 2022-11-29 Nokia Solutions And Networks Oy Flow cache management
CN112104576B (zh) * 2020-08-14 2022-02-22 中国科学院声学研究所 一种sdn交换机的常驻流表存储与校准方法
CN112134806B (zh) * 2020-09-30 2022-04-01 新华三大数据技术有限公司 一种流表老化时间调整方法、装置及存储介质
CN112260948B (zh) * 2020-10-16 2021-10-22 中国科学院声学研究所 一种基于批量更新的多核sdn交换机流表管理方法及系统
CN112491724B (zh) * 2020-12-09 2022-12-09 福建农林大学 基于SDN的IPv4及IPv6的管理系统及方法
US11909656B1 (en) 2023-01-17 2024-02-20 Nokia Solutions And Networks Oy In-network decision for end-server-based network function acceleration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904975A (zh) * 2012-09-28 2013-01-30 华为技术有限公司 报文处理的方法和相关装置
CN102946365A (zh) * 2012-11-09 2013-02-27 清华大学 一种基于软件定义网络的保持流表更新一致性的方法
CN102946325A (zh) * 2012-11-14 2013-02-27 中兴通讯股份有限公司 一种基于软件定义网络的网络诊断方法、系统及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102714628B (zh) * 2010-01-05 2015-11-25 日本电气株式会社 通信系统、控制装置、处理规则设置方法和分组传输方法
EP2523405A4 (en) * 2010-01-08 2016-09-07 Nec Corp COMMUNICATION SYSTEM, TRANSMISSION NUDS, ROUTING MANAGEMENT SERVER AND COMMUNICATION METHOD
ES2609521T3 (es) * 2010-12-13 2017-04-20 Nec Corporation Sistema de control de ruta de comunicación, dispositivo de control de ruta, método de control de ruta de comunicación, y programa de control de ruta
US8416796B2 (en) 2011-05-06 2013-04-09 Big Switch Networks, Inc. Systems and methods for managing virtual switches
US8873398B2 (en) * 2011-05-23 2014-10-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a cloud computer with openflow data plane
US8762501B2 (en) * 2011-08-29 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
US9178833B2 (en) * 2011-10-25 2015-11-03 Nicira, Inc. Chassis controller
CN102594664B (zh) 2012-02-02 2015-06-17 杭州华三通信技术有限公司 流量转发方法和装置
CN102843298B (zh) 2012-09-12 2015-08-05 盛科网络(苏州)有限公司 实现交换机芯片Openflow流表优先级的方法及系统
EP2962429B1 (en) * 2013-02-26 2019-12-11 Telefonaktiebolaget LM Ericsson (publ) Traffic recovery in openflow networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904975A (zh) * 2012-09-28 2013-01-30 华为技术有限公司 报文处理的方法和相关装置
CN102946365A (zh) * 2012-11-09 2013-02-27 清华大学 一种基于软件定义网络的保持流表更新一致性的方法
CN102946325A (zh) * 2012-11-14 2013-02-27 中兴通讯股份有限公司 一种基于软件定义网络的网络诊断方法、系统及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357119A (zh) * 2015-10-28 2016-02-24 蓝盾信息安全技术股份有限公司 一种sdn网络中准确转发数据包的方法
CN114629842A (zh) * 2022-03-30 2022-06-14 阿里巴巴(中国)有限公司 流表处理方法、电子设备、可读存储介质及产品

Also Published As

Publication number Publication date
CN104426815A (zh) 2015-03-18
US20160218957A1 (en) 2016-07-28
CN104426815B (zh) 2019-07-09
US9998352B2 (en) 2018-06-12

Similar Documents

Publication Publication Date Title
WO2015027739A1 (zh) 一种sdn中流表下发的方法和系统、of控制器和of交换机
US9832111B2 (en) OFS in-band communication method and OFS
US9071529B2 (en) Method and apparatus for accelerating forwarding in software-defined networks
KR101434375B1 (ko) 플로우 통신 시스템
WO2014079271A1 (zh) 一种链路保活方法、控制器及交换机
WO2011162215A1 (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
CN101247353B (zh) 流老化方法及网络设备
WO2015014269A1 (zh) 一种控制器、转发器及通道建立方法和系统
US10652142B2 (en) SDN-based ARP implementation method and apparatus
WO2018121535A1 (zh) 一种负载均衡处理方法及装置
US11070386B2 (en) Controlling an aggregate number of unique PIM joins in one or more PIM join/prune messages received from a PIM neighbor
WO2020168854A1 (zh) 一种evpn组播方法、装置及系统
EP3866391B1 (en) Controlling protocol independent multicast (pim) join/prune messages from a downstream pim neighbor using a pim join/prune response(s) from an upstream pim neighbor
WO2011103759A1 (zh) 关联的双向标签交换路径的创建方法及系统
WO2014198064A1 (zh) 一种处理报文的方法和转发器
CN100561978C (zh) 一种策略路由装置和方法
Ha et al. Efficient flow table management scheme in SDN-based cloud computing networks
JPWO2013047705A1 (ja) ネットワークシステム、フロントエンド装置、制御メッセージ送信レート低減方法
WO2015081735A1 (zh) 流量卸载的方法、装置及系统
RU2542933C1 (ru) Способ (варианты), устройство (варианты) и система управления доступом
CN114745331B (zh) 一种拥塞通知方法及设备
CN115915098A (zh) 一种5g与tsn跨域ptp中bmca实现方法
WO2018006929A1 (en) Packet buffering in a telecommunications network
US20170214621A1 (en) Network switch, network control apparatus, and network system
Anju et al. Enhancement of flow in sdn by embedded cache

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: 14841085

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14914070

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14841085

Country of ref document: EP

Kind code of ref document: A1