WO2015014177A1 - 一种流表交互方法、交换机及系统 - Google Patents

一种流表交互方法、交换机及系统 Download PDF

Info

Publication number
WO2015014177A1
WO2015014177A1 PCT/CN2014/080575 CN2014080575W WO2015014177A1 WO 2015014177 A1 WO2015014177 A1 WO 2015014177A1 CN 2014080575 W CN2014080575 W CN 2014080575W WO 2015014177 A1 WO2015014177 A1 WO 2015014177A1
Authority
WO
WIPO (PCT)
Prior art keywords
layer protocol
flow table
transport layer
data packet
entry
Prior art date
Application number
PCT/CN2014/080575
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 WO2015014177A1 publication Critical patent/WO2015014177A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Definitions

  • the present invention relates to the field of communications, and in particular, to a flow table interaction method, a switch, and a system.
  • the Open Flow network implements the separation of the data forwarding layer and the control layer.
  • the Open Flow switch is used to forward the data layer
  • the Controller is used to implement the control layer function
  • the Controller controls the Open Flow switch through the Open Flow protocol to implement centralized control of the entire network.
  • the OpenFlow switch can receive the flow entry sent by the controller, and generate a flow table according to the flow entry. After receiving the data packet, the Open Flow switch can search for the data packet in the flow table stored by the Open Flow switch. Matches the flow entry, and forwards the packet according to the packet forwarding policy corresponding to the flow entry.
  • the flow table includes: a matching table and a wildcard table; the values of all the matching fields in the flow table entry are given in the fine matching table, and only the values of the partial matching fields in the flow table entry are given in the wildcard table. .
  • IPv4 Internet Protocol version 4
  • IPv6 Internet Protocol version 4
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • SCTP Stream Control Transmission Protocol
  • the wildcard table is generally implemented by a Ternary Content Addressable Memory (TCAM).
  • TCAM Ternary Content Addressable Memory
  • the OpenFlow switch TCAM has limited resources, and a wildcard table is used to support the above protocols.
  • the flow table access control is performed, the flow table matching domain is long, and regardless of whether there is a matching matching domain, each flow entry needs to occupy resources of all matching domains, and there is a waste of resources.
  • Embodiments of the present invention provide a flow table interaction method, a switch, and a system, which can reduce resource waste while reducing system power consumption.
  • a first aspect of the embodiments of the present invention provides a flow table interaction method, including: after establishing a connection with a controller, receiving a flow table capability request message from the controller;
  • the logical flow table includes: a number of flow tables pre-stored in the switch and a flow table capability of each of the pre-stored flow tables, so that the controller is configured according to the
  • the logic flow table configures, by the switch, at least one first flow entry for indicating a packet forwarding policy
  • the physical flow table includes: at least one physical flow entry, where the physical flow entry includes: network layer protocol indication information, a first common matching domain value, a transport layer protocol indication information, and a second common matching domain value;
  • the first common matching domain value is a common matching domain value of the first network layer protocol and the second network layer protocol
  • the second common matching domain value is a first transport layer protocol, a second transport layer protocol, and a third transmission
  • the logical flow table includes: at least one logical flow entry, the logical flow entry includes: the network layer protocol indication information, the first network layer a matching field value of the protocol, a matching domain value of the second network layer protocol, the transport layer protocol indication information, a matching domain value of the first transport layer protocol, a matching domain value of the second transport layer protocol, a matching domain value of the third transport layer protocol;
  • the matching domain value of the second network layer protocol is zero;
  • the matching domain value of the first network layer protocol is zero;
  • the transport layer protocol indication information indicates that the data packet is applicable to the first transport layer protocol, the matching domain values of the second transport layer protocol and the third transport layer protocol are Zero; when the transport layer protocol indication information indicates that the data packet is applicable to the second transport layer protocol, the matching domain value of the first transport layer protocol and the third transport layer protocol is zero; when the transmission When the layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the matching domain value of the first transport layer protocol and the second transport layer protocol is zero.
  • the physical flow table The first common matching field value in the item is a matching domain value of the first network layer protocol in the logical flow table; and the network layer protocol indication information indicates that the data packet is applicable to the second
  • the first common matching field value in the physical flow entry is a matching domain value of the second network layer protocol in the logical flow table;
  • the transport layer protocol indication information indicates When the data packet is applicable to the first transport layer protocol, the second common matching domain value in the physical flow entry is a matching domain value of the first transport layer protocol in the logical flow table.
  • the second common matching domain value in the physical flow entry is a value in the logical flow table.
  • Second transport layer association a match field value; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the second common match field value in the physical flow entry is the logical flow The match field value of the third transport layer protocol in the table.
  • the method before the generating the physical flow table according to the at least one of the first flow entry, the method further includes:
  • the forwarding, after receiving the data packet, the data packet according to the physical flow table includes: receiving the data packet And searching, in the physical flow table, the physical flow entry that matches the data packet;
  • the physical flow table does not include the physical flow entry that matches the data packet, Sending a flow entry request message to the controller, so that the controller configures a second flow entry for the data packet according to the flow entry request message, where the second flow entry is the data Packet matching flow entry;
  • the flow table interaction method further includes:
  • the flow table interaction method further includes:
  • the physical flow table includes the physical flow entry that matches the data packet, forwarding the data packet according to the physical flow entry that matches the data packet.
  • the matching domain value of the second network layer protocol is an arbitrary value
  • the network layer protocol indication information indicates that the data packet is applicable to the second network layer protocol
  • the matching domain value of the first network layer protocol is an arbitrary value
  • the transport layer protocol indication information indicates that the data packet is applicable to the first transport layer protocol, the second transport layer protocol and the first
  • the matching domain value of the three transport layer protocol is an arbitrary value; when the transport layer protocol indicates a packet indicating that the data packet is applicable to the second transport layer protocol, the first transport layer protocol and the third transport
  • the matching field value of the layer protocol is an arbitrary value; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the matching domain of the first transport layer protocol and the second transport layer protocol The value is an arbitrary value.
  • the second aspect of the embodiment of the present invention further provides a switch, including:
  • a receiving unit configured to receive a flow table capability request message from the controller after establishing a connection with the controller
  • a sending unit configured to send a logical flow table to the controller, where the logical flow table includes: a number of flow tables pre-stored in the switch, and a flow table capability of each of the pre-stored flow tables, so that the The controller configures, according to the logic flow table, at least one first flow entry for indicating a packet forwarding policy for the switch;
  • the receiving unit is further configured to receive at least one of the first flow entry that is sent by the controller;
  • a generating unit configured to generate a physical flow table according to at least one of the first flow entry received by the receiving unit
  • the receiving unit is further configured to receive a data packet
  • a forwarding unit configured to forward the data packet according to the physical flow table generated by the generating unit after the receiving unit receives the data packet
  • the physical flow table includes: at least one physical flow entry, where the physical flow entry includes: network layer protocol indication information, a first common matching domain value, a transport layer protocol indication information, and a second common matching domain value;
  • the first common matching domain value is a common matching domain value of the first network layer protocol and the second network layer protocol
  • the second common matching domain value is a first transport layer protocol, a second transport layer protocol, and a third transmission
  • the logic flow table includes: at least one logical flow entry, where the logical flow entry includes: the network layer protocol indication information a matching domain value of the first network layer protocol, a matching domain value of the second network layer protocol, the transport layer protocol indication information, a matching domain value of the first transport layer protocol, and the second transmission a matching domain value of the layer protocol, and a matching value of the third transport layer protocol;
  • the matching domain value of the second network layer protocol is zero;
  • the matching domain value of the first network layer protocol is zero;
  • the matching domain values of the second transport layer protocol and the third transport layer protocol are Zero; when the transport layer protocol indication information indicates that the data packet is applicable to the second transport layer protocol, the matching domain value of the first transport layer protocol and the third transport layer protocol is zero; when the transmission Layer protocol indication information indicating that the data packet is applicable to the third transmission In the layer protocol, the matching domain values of the first transport layer protocol and the second transport layer protocol are zero.
  • the physical flow table The first common matching field value in the item is a matching domain value of the first network layer protocol in the logical flow table; and the network layer protocol indication information indicates that the data packet is applicable to the second
  • the first common matching field value in the physical flow entry is a matching domain value of the second network layer protocol in the logical flow table;
  • the transport layer protocol indication information indicates When the data packet is applicable to the first transport layer protocol, the second common matching domain value in the physical flow entry is a matching domain value of the first transport layer protocol in the logical flow table.
  • the second common matching domain value in the physical flow entry is a value in the logical flow table.
  • the second transport layer protocol a field value; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the second common match field value in the physical flow entry is in the logical flow table The matching domain value of the third transport layer protocol.
  • the switch further includes:
  • a checking unit configured to check validity of at least one of the first flow entries according to the logical flow table before the generating unit generates a physical flow table according to the at least one of the first flow entries
  • the generating unit is further configured to generate the physical flow table according to the first flow entry that meets the validity obtained by the checking unit.
  • the forwarding unit includes:
  • a matching module configured to: after the receiving unit receives the data packet, search for the physical flow entry that matches the data packet in the physical flow table generated by the generating unit; If the matching module determines that the physical flow table does not include the physical flow entry that matches the data packet, sending a flow entry request message to the controller, so that the controller is configured according to the The flow entry request message is configured to configure a second flow entry for the data packet, where the second flow entry is a flow entry that matches the data packet;
  • a receiving module configured to receive the second flow entry from the controller, and according to the The logic flow table checks the legality of the second flow entry
  • a generating module configured to generate a physical flow entry corresponding to the second flow entry that meets the legality
  • a forwarding module configured to forward the data packet according to the physical flow entry that has been generated by the generating module.
  • the switch further includes:
  • an updating unit configured to update the physical flow table according to the physical flow entry corresponding to the second flow entry generated by the forwarding unit.
  • the forwarding module is further configured to: if the matching module determines that the physical flow table includes a location that matches the data packet The physical flow entry is forwarded according to the physical flow entry that matches the data packet.
  • the matching domain value of the second network layer protocol is an arbitrary value
  • the network layer protocol indication information indicates that the data packet is applicable to the second network layer protocol
  • the matching domain value of the first network layer protocol is an arbitrary value
  • the transport layer protocol indication information indicates that the data packet is applicable to the first transport layer protocol, the second transport layer protocol and the first
  • the matching domain value of the three transport layer protocol is an arbitrary value; when the transport layer protocol indicates a packet indicating that the data packet is applicable to the second transport layer protocol, the first transport layer protocol and the third transport
  • the matching field value of the layer protocol is an arbitrary value; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the matching domain of the first transport layer protocol and the second transport layer protocol The value is an arbitrary value.
  • the third aspect of the embodiments of the present invention further provides a flow table interaction system, including: a switch, configured to: after establishing a connection with the controller, receive a flow table capability request message from the controller; send a logic flow table to The controller, the logic flow table includes: a number of flow tables pre-stored in the switch, and a flow table capability of each of the pre-stored flow tables, so that the controller is configured according to the logical flow table Said switch configuration at least one for indicating a data packet Receiving a first flow entry of the policy; receiving at least one of the first flow entry delivered by the controller, and generating a physical flow table according to at least one of the first flow entry, so as to be Transmitting the data packet by the physical flow table;
  • a switch configured to: after establishing a connection with the controller, receive a flow table capability request message from the controller; send a logic flow table to The controller, the logic flow table includes: a number of flow tables pre-stored in the switch, and a flow table capability of each of
  • a controller configured to: after the switch establishes a connection, send a flow table capability request message to the switch; receive a logical flow table from the switch, where the logical flow table includes: a flow table pre-stored in the switch And a flow table capability of each of the pre-stored flow tables; configuring, according to the logical flow table, at least one first flow entry for indicating a packet forwarding policy for the switch; sending at least one of the first flow entries And the switch, so that the switch generates a physical flow table according to the at least one first flow entry, so that the switch forwards the data packet according to the physical flow table after receiving the data packet.
  • the controller is further configured to receive the flow entry request message from the switch, and use the flow entry request message as the data packet. Configure a second flow entry.
  • the flow entry request message is sent when the switch does not include the physical flow entry that matches the data packet in the physical flow table.
  • the flow table interaction method, the switch, and the system provided by the embodiment of the present invention receive a flow table capability request message from the controller after establishing a connection with the controller; and send the logic flow table to the controller, where the logical flow table includes: pre-storing in the switch The number of flow tables and the flow table capability of each pre-stored flow table, so that the controller configures at least one first flow entry for indicating a packet forwarding policy for the switch according to the logical flow table; a first flow entry, and generating a physical flow table according to the at least one first flow entry, so as to forward the data packet according to the physical flow table after receiving the data packet.
  • Embodiment 1 is a flowchart of flow table interaction in Embodiment 1 of the present invention.
  • Embodiment 2 is a flowchart of flow table interaction in Embodiment 2 of the present invention.
  • FIG. 3 is a schematic structural diagram of a switch in Embodiment 3 of the present invention.
  • FIG. 4 is a schematic structural diagram of another switch in Embodiment 3 of the present invention.
  • FIG. 5 is a schematic structural diagram of another switch in Embodiment 3 of the present invention.
  • FIG. 6 is a schematic structural diagram of another switch in Embodiment 3 of the present invention.
  • FIG. 7 is a schematic structural diagram of a switch in Embodiment 4 of the present invention.
  • FIG. 8 is a schematic structural diagram of a flow table interaction system according to Embodiment 5 of the present invention.
  • the technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. example. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
  • GSM Global System for Mobile Communications
  • CDMA Code Division Multiple Access
  • TDMA Time Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • FDMA Frequency Division Multiple Access
  • FDMA Frequency Division Multiple Addressing
  • OFDMA Orthogonal Frequency-Division Multiple Access
  • SC-FDMA single carrier FDMA
  • GPRS General Packet Radio Service
  • LTE Long Term Evolution
  • LTE Long Term Evolution
  • the user equipment which may be a wireless terminal or a wired terminal, may be a device that provides voice and/or data connectivity to the user, a handheld device with wireless connectivity, or other processing device connected to the wireless modem.
  • the wireless terminal can be connected via wireless
  • the access network eg, RAN, Radio Access Network
  • a wireless terminal may also be referred to as a system, a Subscriber Unit, a Subscriber Station, a Mobile Station, a Mobile, a Remote Station, an Access Point, Remote Terminal, Access Terminal, User Terminal, User Agent, User Device, or User Equipment.
  • a base station (e.g., an access point) can be a device in the access network that communicates over the air interface with the wireless terminal over one or more sectors.
  • the base station can be used to convert the received air frame to the IP packet as a router between the wireless terminal and the rest of the access network, wherein the remainder of the access network can include an Internet Protocol (IP) network.
  • IP Internet Protocol
  • the base station can also coordinate the management of attributes to the air interface.
  • the base station may be a base station (BTS, Base Transceiver Station) in GSM or CDMA, or may be a base station (NodeB) in WCDMA, or may be an evolved base station in LTE (NodeB or eNB or e-NodeB, evolutional Node B), the invention is not limited.
  • the base station controller may be a base station controller (BSC) in GSM or CDMA, or may be a radio network controller (RNC) in WCDMA, which is not limited in the present invention.
  • BSC base station controller
  • RNC radio network controller
  • system and “network” are used interchangeably herein.
  • the terms “and/or” in this document are merely an association that describes an associated object, indicating that there may be three relationships, such as , ⁇ and / or ⁇ , can mean: There are A alone, there are A and B, there are three cases of B.
  • the character "/,, in this article, generally means that the context is an "or” relationship.
  • Example 1 An embodiment of the present invention provides a flow table interaction method, as shown in FIG. 1 , including:
  • the switch After establishing a connection with the controller, the switch receives a flow table capability request message from the controller.
  • the embodiment of the present invention can be applied to the packet forwarding process of the Open Flow network.
  • the switch in the embodiment of the present invention is an Open Flow Switch in the Open Flow network
  • the controller is a controller in the Open Flow network.
  • the controller can send a flow table capability request message (table stats request) to the switch (Open Flow Switch) to the switch.
  • a flow table capability request message table stats request
  • Open Flow Switch Open Flow Switch
  • the switch sends a logic flow table to the controller, so that the controller configures, by the logic flow table, at least one first flow entry for indicating a packet forwarding policy.
  • the switch can reply to the table stats reply according to the logical flow table.
  • the logical flow table is a fine matching table, and the logical flow table may include: a number of flow tables pre-stored in the switch, a flow table capability of each pre-stored flow table, and a matching domain thereof.
  • the switch receives at least one first flow entry that is sent by the controller, and generates a physical flow table according to the at least one first flow entry, so as to forward the data packet according to the physical flow table after receiving the data packet.
  • the physical flow table includes: at least one physical flow entry, where the physical flow entry includes: network layer protocol indication information, a first common matching domain value, a transport layer protocol indication information, and a second common matching domain value;
  • the domain value is a common matching domain value of the first network layer protocol and the second network layer protocol, and the second common matching domain value is a common matching domain value of the first transport layer protocol, the second transport layer protocol, and the third transport layer protocol.
  • the switch after establishing a connection with the controller, receives the flow table capability request message from the controller; and sends the logical flow table to the controller, where the logical flow table includes: a flow table pre-stored in the switch The number and the flow table capability of each of the pre-stored flow tables, so that the controller configures at least one first flow entry for indicating a packet forwarding policy for the switch according to the logical flow table; and receiving at least one first flow delivered by the controller An entry, and generating a physical flow table according to the at least one first flow entry, so as to forward the data packet according to the physical flow table after receiving the data packet.
  • the system can generate a fine matching table containing the common matching domain, that is, the physical flow table entry, which can reduce the waste of resources. , while reducing system power consumption.
  • An embodiment of the present invention provides a flow table interaction method, as shown in FIG. 2, including:
  • the controller sends a flow table capability request message to the switch after the switch establishes a connection.
  • the switch sends a logic flow table to the controller.
  • the logic flow table includes: a number of flow tables pre-stored in the switch and a flow table capability of each pre-stored flow table.
  • the logical flow table is a fine matching table, and the logical flow table may include: at least one logical flow entry, where the logical flow entry may include: network layer protocol indication information (Eth-Type), and a matching domain of the first network layer protocol Value, matching domain value of the second network layer protocol, transport layer protocol indication information (Ip-Port), matching domain value of the first transport layer protocol, matching domain value of the second transport layer protocol, and matching of the third transport layer protocol Domain value.
  • Et-Type network layer protocol indication information
  • Ip-Port transport layer protocol indication information
  • the Internet Protocol includes: a first network layer protocol, a second network layer protocol; specifically, the first network layer protocol is: Internet Protocol Version 4 (IPv4;), second The network layer protocol is: Internet Protocol Version 6 (IPv6); or, the first network layer protocol is: IPv6, and the second network layer protocol is: IPv4.
  • IPv4 Internet Protocol Version 4
  • IPv6 Internet Protocol Version 6
  • IPv6 Internet Protocol Version 6
  • the transport layer protocol may include: a first transport layer protocol, a second transport layer protocol, and a third transport layer protocol.
  • the first transport layer protocol is a Transmission Control Protocol (TCP)
  • the second transport layer protocol is User Datagram Protocol (UDP)
  • the third transport layer protocol is (Scalable TCP, STCP); or, the first transport layer protocol is TCP, the second transport layer protocol is STCP, and the third transport layer protocol is UDP.
  • the first transport layer protocol is UDP
  • the second transport layer protocol is TCP
  • the third transport layer protocol is STCP
  • the first transport layer protocol is UDP
  • the second transport layer protocol is STCP
  • the third transport layer protocol
  • the first transport layer protocol is STCP
  • the second transport layer protocol is TCP
  • the third transport layer protocol is UDP
  • the first transport layer protocol is STCP
  • the second transport layer protocol is TCP
  • the third transport layer protocol is UDP
  • the first transport layer protocol is STCP
  • the second transport layer protocol is TCP
  • the third transport layer protocol is UDP
  • the first transport layer protocol is STCP
  • the second transport layer protocol is STCP
  • the second transport layer protocol is UDP
  • the transport layer protocol is TCP.
  • the matching domain value of the second network layer protocol is zero; when the network layer protocol indication information indicates that the data packet is applicable to the second network layer protocol, the matching domain value of the first network layer protocol is zero.
  • the transport layer protocol indication information indicates that the data packet is applicable to the first transport layer protocol, the matching domain value of the second transport layer protocol and the third transport layer protocol is zero; when the transport layer protocol indication information indicates data When the packet is applicable to the second transport layer protocol, the matching domain value of the first transport layer protocol and the third transport layer protocol is zero; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the first transport layer The matching field value of the protocol and the second transport layer protocol is zero.
  • the controller configures, according to the logic flow table, at least one first flow entry for the switch, where the first-class entry is used to indicate a packet forwarding policy.
  • the controller may configure at least one first flow table for indicating a packet forwarding policy for the switch according to the number of flow tables pre-stored in the switch included in the logical flow table reported by the switch and the flow table capability of each pre-stored flow table. item.
  • the matching domain value of the second network layer protocol is an arbitrary value
  • the matching domain value of the first network layer protocol is an arbitrary value
  • the matching domain values of the second transport layer protocol and the third transport layer protocol are arbitrary values; when the transport layer protocol indicates information When the indication data packet is applicable to the second transport layer protocol, the matching domain values of the first transport layer protocol and the third transport layer protocol are arbitrary values; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, The matching field values of a transport layer protocol and a second transport layer protocol are arbitrary values.
  • S204 The switch receives at least one first flow entry from the controller.
  • the switch may check the first flow entry according to the logical flow table, that is, the method in the embodiment of the present invention may further Including S205:
  • the switch checks the legality of the at least one first flow entry according to the logical flow table. Specifically, the switch can detect the validity of the first flow entry according to the capability of the flow table included in the logical flow table or the format of the logical flow table.
  • the first flow entry is a fine match table flow entry.
  • the switch generates a physical flow table according to the first flow entry that meets the legality.
  • the switch may determine, according to the network layer protocol indication information in a first flow entry, a network layer protocol applicable to the data packet corresponding to the first flow entry, and then select a corresponding network layer protocol (the first network layer protocol or the second network).
  • a matching layer value of the layer protocol is used as a network layer protocol matching field value of the data packet; determining, according to the transport layer protocol indication information in the first flow entry, a transport layer protocol applicable to the data packet corresponding to the first flow entry, and then selecting a matching domain value of a corresponding transport layer protocol (a first transport layer protocol or a second transport layer protocol or a third transport layer protocol) as a transport layer protocol matching domain value of the data packet; a network layer protocol according to the first flow entry
  • the indication information, the corresponding network layer protocol, the transport layer protocol indication information of the first flow entry, and the corresponding transport layer protocol generate a physical flow entry; and generate a physical flow table according to the generated at least one physical flow entry.
  • the first common matching domain value in the physical flow entry is a matching domain value of the first network layer protocol in the logical flow table
  • the second common match field value in the physical flow entry is a match domain value of the first transport layer protocol in the logical flow table; when the transport layer protocol When the indication information indicates that the data packet is applicable to the second transport layer protocol, the second common matching domain value in the physical flow entry is a matching domain value of the second transport layer protocol in the logical flow table; when the transport layer protocol indication information indicates the data When the packet is applicable to the third transport layer protocol, the second common match field value in the physical flow entry is the match domain value of the third transport layer protocol in the logical flow table.
  • the switch receives the data packet, and determines whether the physical flow table includes a physical flow entry that matches the data packet.
  • the switch After receiving a data packet, the switch can search for a physical flow entry matching the data packet in the physical flow table, that is, whether the physical flow table includes a physical flow entry matching the data packet. Specifically, if the physical flow table includes a physical flow entry that matches the data packet, the execution is performed.
  • the switch forwards the data packet according to the physical flow entry that matches the data packet.
  • the switch sends a flow entry request message to the controller.
  • the flow entry request message may include information about forwarding the data packet, such as a network layer protocol, a transport layer protocol, and a size of the data packet used by the data packet.
  • the controller adds a second flow entry to the data packet according to the flow entry request message, where the second flow entry is a flow entry that matches the data packet.
  • the controller may configure, according to the flow entry request message, a second flow entry for indicating the forwarding manner of the data packet for the data packet.
  • the matching domain value of the second network layer protocol is an arbitrary value
  • the matching domain value of the first network layer protocol is an arbitrary value
  • the matching domain values of the second transport layer protocol and the third transport layer protocol are arbitrary values; when the transport layer protocol indicates When the information indicates that the data packet is applicable to the second transport layer protocol, the matching field values of the first transport layer protocol and the third transport layer protocol are arbitrary values; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, The matching field values of the first transport layer protocol and the second transport layer protocol are arbitrary values.
  • the controller sends a second flow entry to the switch.
  • the switch checks the legality of the second flow entry according to the logical flow table, and generates a physical flow entry corresponding to the second flow entry that meets the legality.
  • the method for checking the validity of the second flow entry according to the logical flow table is similar to the method for the switch to check the legality of the first flow entry according to the logical flow table, and details are not described herein again.
  • the switch forwards the data packet according to the generated physical flow entry.
  • the method of the embodiment of the present invention may further include S213:
  • the switch updates the physical flow table according to the physical flow entry corresponding to the second flow entry.
  • the switch may update the physical flow table according to the physical flow entry corresponding to the second flow entry, so that when the switch receives the data packet again, the switch may directly forward the data packet according to the physical flow entry.
  • the switch after establishing a connection with the controller, receives the flow table capability request message from the controller; and sends the logical flow table to the controller, where the logical flow table includes: a flow table pre-stored in the switch The number and the flow table capability of each of the pre-stored flow tables, so that the controller configures at least one first flow entry for indicating a packet forwarding policy for the switch according to the logical flow table; and receiving at least one first flow delivered by the controller An entry, and generating a physical flow table according to the at least one first flow entry, so as to forward the data packet according to the physical flow table after receiving the data packet.
  • a fine-matched table containing a common matching domain that is, a physical flow entry, can reduce resource waste while reducing system power consumption.
  • the embodiment of the present invention provides a switch.
  • the switch includes: a receiving unit 3 1 , a sending unit 32 , a generating unit 33 , and a forwarding unit 34 .
  • the receiving unit 3 1 is configured to receive a flow table capability request message from the controller after establishing a connection with the controller.
  • the sending unit 32 is configured to send a logical flow table to the controller, where the logical flow table includes: a number of flow tables pre-stored in the switch, and a flow table capability of each of the pre-stored flow tables, so that The controller configures, according to the logic flow table, at least one first flow entry for indicating a packet forwarding policy for the switch.
  • the receiving unit 31 is further configured to receive at least one of the first flow entry that is sent by the controller.
  • the generating unit 33 is configured to generate a physical flow table according to the at least one of the first flow entry received by the receiving unit 31.
  • the receiving unit 31 is further configured to receive a data packet.
  • the forwarding unit 34 is configured to forward the data packet according to the physical flow table generated by the generating unit 33 after the receiving unit 31 receives the data packet.
  • the physical flow table includes: at least one physical flow entry, the physical flow entry
  • the method includes: network layer protocol indication information, a first common matching domain value, a transport layer protocol indication information, and a second common matching domain value; the first common matching domain value is a common of the first network layer protocol and the second network layer protocol A matching domain value, the second common matching domain value being a common matching domain value of the first transport layer protocol, the second transport layer protocol, and the third transport layer protocol.
  • the logical flow table includes: at least one logical flow entry, the logical flow entry includes: the network layer protocol indication information, a matching domain value of the first network layer protocol, and the second network a matching domain value of the layer protocol, the transport layer protocol indication information, a matching domain value of the first transport layer protocol, a matching domain value of the second transport layer protocol, and a matching domain value of the third transport layer protocol .
  • the matching domain value of the second network layer protocol is zero;
  • the matching domain value of the first network layer protocol is zero.
  • the matching domain values of the second transport layer protocol and the third transport layer protocol are Zero; when the transport layer protocol indication information indicates that the data packet is applicable to the second transport layer protocol, the matching domain value of the first transport layer protocol and the third transport layer protocol is zero; when the transmission When the layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the matching domain value of the first transport layer protocol and the second transport layer protocol is zero.
  • the first common matching domain value in the physical flow entry is in the logical flow table.
  • a matching domain value of the first network layer protocol when the network layer protocol indication information indicates that the data packet is applicable to the second network layer protocol, the first public in the physical flow entry
  • the match field value is a match field ⁇ value of the second network layer protocol in the logical flow table.
  • the second common match field value in the physical flow entry is the a matching domain value of the first transport layer protocol; when the transport layer protocol indication information indicates that the data packet is applicable to the second transport layer protocol, the second common matching domain value in the physical flow entry a matching domain value of the second transport layer protocol in the logical flow table; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol
  • the second common matching field value in the physical flow entry is a matching domain value of the third transport layer protocol in the logical flow table.
  • the switch may further include: an inspecting unit 35.
  • the checking unit 35 is configured to check the legality of the at least one first flow entry according to the logical flow table before the generating unit 33 generates the physical flow table according to the at least one first flow entry.
  • the generating unit 33 is further configured to generate the physical flow table according to the first flow entry that meets the legality obtained by the checking unit.
  • the forwarding unit 34 includes: a matching module 341, a sending module 342, a receiving module 343, a generating module 344, and a forwarding module 345.
  • the matching module 341 is configured to search, in the physical flow table generated by the generating unit 33, the physical flow table entry that matches the data packet after the receiving unit 31 receives the data packet.
  • the sending module 342 is configured to: if the matching module 341 determines that the physical flow table does not include the physical flow entry that matches the data packet, send a flow entry request message to the controller, so that The controller configures a second flow entry for the data packet according to the flow entry request message, where the second flow entry is a flow entry that matches the data packet.
  • the receiving module 343 is configured to receive the second flow entry from the controller, and check validity of the second flow entry according to the logical flow table.
  • the generating module 344 is configured to generate a physical flow entry corresponding to the second flow entry that meets the legality.
  • the forwarding module 345 is configured to forward the data packet according to the physical flow entry that is generated by the generating module 344.
  • the switch may further include: an updating unit 36.
  • the updating unit 36 is configured to update the physical flow table according to the physical flow entry corresponding to the second flow entry generated by the forwarding unit 34.
  • the forwarding module 345 is further configured to: if the matching module 341 determines that the physical flow table includes the physical flow entry that matches the data packet, and then matches the data packet according to the The physical flow entry forwards the data packet.
  • the matching domain value of the second network layer protocol is an arbitrary value; when the network layer protocol indication information indicates that the data packet is applicable to In the second network layer protocol, the matching domain value of the first network layer protocol is an arbitrary value.
  • the transport layer protocol indication information indicates that the data packet is applicable to the first transport layer protocol, the second transport layer protocol and the first
  • the matching domain value of the three transport layer protocol is an arbitrary value; when the transport layer protocol indicates a packet indicating that the data packet is applicable to the second transport layer protocol, the first transport layer protocol and the third transport
  • the matching field value of the layer protocol is an arbitrary value; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the matching domain of the first transport layer protocol and the second transport layer protocol The value is an arbitrary value.
  • the switch provided by the embodiment of the present invention, after establishing a connection with the controller, receives a flow table capability request message from the controller; and sends a logical flow table to the controller, where the logical flow table includes: the number of flow tables pre-stored in the switch and each The flow table capability of the pre-stored flow table, so that the controller configures at least one first flow entry for indicating a packet forwarding policy for the switch according to the logical flow table; receiving at least one first flow entry delivered by the controller, and Generating a physical flow table according to the at least one first flow entry, so as to forward the data packet according to the physical flow table after receiving the data packet.
  • a fine-matched table containing a common matching domain that is, a physical flow entry, can reduce resource waste while reducing system power consumption.
  • the embodiment of the present invention provides a switch. As shown in FIG. 7, the switch includes: a receiver 41, a transmitter 42, and a processor 43.
  • the receiver 41 is configured to receive a flow capability request message from the controller after establishing a connection with the controller.
  • the transmitter 42 is configured to send a logical flow table to the controller, where the logical flow table includes: a number of flow tables pre-stored in the switch, and a flow table capability of each of the pre-stored flow tables, so that The controller configures, according to the logic flow table, at least one first flow entry for indicating a packet forwarding policy for the switch.
  • the receiver 41 is further configured to receive at least one of the first flow entries delivered by the controller.
  • the processor 43 is configured to generate a physical flow table according to at least one of the first flow entries received by the receiver 41.
  • the receiver 41 is further configured to receive a data packet.
  • the processor 43 is configured to forward the data packet according to the physical flow table after the receiver 41 receives the data packet.
  • the physical flow table includes: at least one physical flow entry, where the physical flow entry includes: network layer protocol indication information, a first common matching domain value, a transport layer protocol indication information, and a second common matching domain value;
  • the first common matching domain value is a common matching domain value of the first network layer protocol and the second network layer protocol
  • the second common matching domain value is a first transport layer protocol, a second transport layer protocol, and a third transmission
  • the logical flow table includes: at least one logical flow entry, the logical flow entry includes: the network layer protocol indication information, a matching domain value of the first network layer protocol, and the second network a matching domain value of the layer protocol, the transport layer protocol indication information, a matching domain value of the first transport layer protocol, a matching domain value of the second transport layer protocol, and a matching domain value of the third transport layer protocol .
  • the matching domain value of the second network layer protocol is zero;
  • the matching domain value of the first network layer protocol is zero.
  • the matching domain values of the second transport layer protocol and the third transport layer protocol are Zero; when the transport layer protocol indication information indicates that the data packet is applicable to the second transport layer protocol, the matching domain value of the first transport layer protocol and the third transport layer protocol is zero; when the transmission When the layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the matching domain value of the first transport layer protocol and the second transport layer protocol is zero.
  • the first common matching domain value in the physical flow entry is the a matching domain value of the first network layer protocol in the logical flow table; when the network layer protocol indication information indicates that the data packet is applicable to the second network layer protocol, where the physical flow entry is The first common matching domain value is a matching domain value of the second network layer protocol in the logical flow table.
  • the second common match field value in the physical flow entry is the a matching domain value of the first transport layer protocol; when the transport layer protocol indication information indicates that the data packet is applicable to the second transport layer protocol, the second common matching domain value in the physical flow entry a matching domain value of the second transport layer protocol in the logical flow table; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the physical flow entry
  • the second common match field value in the value is a match field value of the third transport layer protocol in the logical flow table.
  • the processor 43 is further configured to: before the generating the physical flow table according to the at least one of the first flow entries, check validity of at least one of the first flow entries according to the logical flow table; The first flow entry of legality generates the physical flow table.
  • the processor 43 is further configured to: after the receiver 41 receives the data packet, search the physical flow table for the physical flow entry that matches the data packet.
  • the transmitter 42 is further configured to: if the physical flow table does not include the physical flow entry that matches the data packet, send a flow entry request message to the controller, so that the control
  • the second flow entry is configured for the data packet according to the flow entry request message, where the second flow entry is a flow entry that matches the data packet.
  • the receiver 41 is further configured to receive the second flow entry from the controller.
  • the processor 43 is further configured to check the validity of the second flow entry according to the logical flow table, and generate a physical flow entry corresponding to the second flow entry that meets the legality.
  • the transmitter 42 is further configured to forward the data packet according to the generated physical flow entry. Further, the processor 43 is further configured to update the physical flow table according to a physical flow entry corresponding to the second flow entry.
  • the transmitter 42 is further configured to: if the processor 43 determines that the physical flow table includes the physical flow entry that matches the data packet, and then matches the data packet according to the The physical flow entry forwards the data packet.
  • the matching domain value of the second network layer protocol is an arbitrary value; when the network layer protocol indication information indicates that the data packet is applicable to In the second network layer protocol, the matching domain value of the first network layer protocol is an arbitrary value.
  • the transport layer protocol indication information indicates that the data packet is applicable to the first transport layer protocol, the second transport layer protocol and the first
  • the matching domain value of the three transport layer protocol is an arbitrary value; when the transport layer protocol indicates a packet indicating that the data packet is applicable to the second transport layer protocol, the first transport layer protocol and the third transport
  • the matching field value of the layer protocol is an arbitrary value; when the transport layer protocol indication information indicates that the data packet is applicable to the third transport layer protocol, the matching domain of the first transport layer protocol and the second transport layer protocol The value is an arbitrary value.
  • the switch provided by the embodiment of the present invention, after establishing a connection with the controller, receives a flow table capability request message from the controller; and sends a logical flow table to the controller, where the logical flow table includes: the number of flow tables pre-stored in the switch and each The flow table capability of the pre-stored flow table, so that the controller configures at least one first flow entry for indicating a packet forwarding policy for the switch according to the logical flow table; receiving at least one first flow entry delivered by the controller, and Generating a physical flow table according to the at least one first flow entry, so as to forward the data packet according to the physical flow table after receiving the data packet.
  • a fine-matched table containing a common matching domain that is, a physical flow entry, can reduce resource waste while reducing system power consumption.
  • An embodiment of the present invention provides a flow table interaction system, as shown in FIG. 8, including: a switch 51 and a controller 52.
  • the switch 51 is configured to: after establishing a connection with the controller 52, receive a flow table capability request message from the controller 52; send a logical flow table to the controller 52, where the logical flow table includes: the switch 51 The number of flow tables pre-stored and the flow table capability of each of the pre-stored flow tables, so that the controller 52 configures the switch 51 to the switch 51 according to the logical flow table.
  • the controller 52 is configured to send a flow table capability request message to the switch 51 after the switch 51 establishes a connection; receive the switch from the switch a logical flow table of 51, the logical flow table includes: a number of flow tables pre-stored in the switch 51 and a flow table capability of each of the pre-stored flow tables; configuring the switch 51 according to the logical flow table At least one first flow entry for indicating a packet forwarding policy; sending at least one of the first flow entry to the switch 51, so that the switch 51 generates a physical flow table according to at least one of the first flow entries, The switch 51 then forwards the data packet according to the physical flow table after receiving the data packet.
  • controller 52 is further configured to receive the flow entry request message from the switch 51, and configure a second flow entry for the data packet according to the flow entry request message;
  • the flow entry request message is sent by the switch 51 when the physical flow table does not include the physical flow entry that matches the data packet.
  • the switch after establishing a connection with the controller, receives the flow table capability request message from the controller; and sends the logical flow table to the controller, where the logical flow table includes: a flow table pre-stored in the switch The number and the flow table capability of each of the pre-stored flow tables, so that the controller configures at least one first flow entry for indicating a packet forwarding policy for the switch according to the logical flow table; and receiving at least one first flow delivered by the controller An entry, and generating a physical flow table according to the at least one first flow entry, so as to forward the data packet according to the physical flow table after receiving the data packet.
  • a fine-matched table containing a common matching domain that is, a physical flow entry, can reduce resource waste while reducing system power consumption.
  • the disclosed systems, apparatus, and methods may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the modules or units is only a logical function division.
  • there may be another division manner for example, multiple units or components may be used. Combined or can be integrated into another system, or some features can be ignored, or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical, mechanical or other form.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention may contribute to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and the like, which can store program codes. .

Landscapes

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

Abstract

本发明实施例公开了一种流表交互方法、交换机及系统,涉及通信领域,可以减少资源浪费,同时降低系统功耗。具体方案为:交换机在与控制器建立连接后,接收来自控制器的流表能力请求消息;发送逻辑流表至控制器,逻辑流表包括:交换机中预存的流表个数和每个预存的流表的流表能力,以使控制器根据逻辑流表为交换机配置至少一个用于指示数据包转发策略的第一流表项;接收控制器下发的至少一个第一流表项,并根据至少一个第一流表项生成物理流表,以便于在接收到数据包后根据物理流表转发所述数据包。本发明用于数据包转发的过程中。

Description

一种流表交互方法、 交换机及系统
技术领域
本发明涉及通信领域, 尤其涉及一种流表交互方法、 交换机及系统。
背景技术
Open Flow网络实现了数据转发层和控制层分离。 其中, Open Flow 交换机用于进行数据层的转发, Controller 用于实现控制层的功能, Controller通过 Open Flow协议控制 Open Flow交换机,以实现对整个网 络的集中控制。 具体的, Open Flow交换机可以接收 Controller下发的流 表项, 并根据流表项生成流表, Open Flow交换机在接收到数据包后, 可以在 Open Flow交换机存储的流表中查找与该数据包匹配的流表项, 并根据该流表项对应的数据包转发策略转发数据包。 其中, 流表包括: 精配表和通配表; 在精配表中给定了流表项中所有匹配域的值, 在通配 表中只给定了流表项中部分匹配域的值。
其中, 由于一个数据包不可能既支持互联网协议版本 4 ( Internet Protocol version 4 , IPv4 ) , 又支持 IPv6; 既支持传输控制协议 ( TransmissionControlProtocol , TCP ) , 又支持用户数据包协议 ( User Datagram Protocol , UDP ) 和流控制传输协议 ( Stream Control Transmission Protocol , SCTP ) , 因此, 为了实现支持上述各个协议的 流表访问控制可以釆用方案一: 在一张通配表中实现支持上述各个协议 的流表访问控制; 或者, 可以釆用方案: 在六张精配表中分别实现支持 上述各个协议的流表访问控制。
釆用方案一,通配表一般釆用三态内容寻址存储器( Ternary Content Addressable Memory , TCAM ) 来实现, Open Flow交换机 TCAM的资 源有限, 而釆用一张通配表实现支持上述各个协议的流表访问控制时, 流表匹配域较长, 且无论是否存在统配的匹配域, 每条流表项需要占用 所有匹配域的资源, 会存在资源浪费。
釆用方案二, 多个精配表的实现逻辑复杂, 需要额外设计各个精配 表之间的跳转和优先级, 且执行效率低(在查表时可能需要查询多张流 表) , 进而会导致系统功耗较大。 发明内容 本发明的实施例提供一种流表交互方法、 交换机及系统, 可以减 少资源浪费, 同时降低系统功耗。
为达到上述目的, 本发明的实施例釆用如下技术方案:
本发明实施例的第一方面, 提供一种流表交互方法, 包括: 在与控制器建立连接后, 接收来自所述控制器的流表能力请求消 息;
发送逻辑流表至所述控制器, 所述逻辑流表包括: 所述交换机中预 存的流表个数和每个所述预存的流表的流表能力, 以使所述控制器根据 所述逻辑流表为所述交换机配置至少一个用于指示数据包转发策略的 第一流表项;
接收所述控制器下发的至少一个所述第一流表项, 并根据至少一个 所述第一流表项生成物理流表, 以便于在接收到数据包后根据所述物理 流表转发所述数据包;
其中, 所述物理流表包括: 至少一个物理流表项, 所述物理流表项 包括: 网络层协议指示信息、 第一公共匹配域值、 传输层协议指示信息 和第二公共匹配域值; 所述第一公共匹配域值为第一网络层协议和第二 网络层协议的公共匹配域值, 所述第二公共匹配域值为第一传输层协 议、 第二传输层协议和第三传输层协议的公共匹配域值。
结合第一方面, 在一种可能的实现方式中, 所述逻辑流表包括: 至 少一个逻辑流表项, 所述逻辑流表项包括: 所述网络层协议指示信息、 所述第一网络层协议的匹配域值、 所述第二网络层协议的匹配域值、 所 述传输层协议指示信息、 所述第一传输层协议的匹配域值、 所述第二传 输层协议的匹配域值、 所述第三传输层协议的匹配域值;
其中, 在所述逻辑流表中, 当所述网络层协议指示信息指示所述数 据包适用于所述第一网络层协议时, 所述第二网络层协议的匹配域值为 零; 当所述网络层协议指示信息指示所述数据包适用于所述第二网络层 协议时, 所述第一网络层协议的匹配域值为零; 在所述逻辑流表中, 当所述传输层协议指示信息指示所述数据包适 用于所述第一传输层协议时, 所述第二传输层协议和第三传输层协议的 匹配域值为零; 当所述传输层协议指示信息指示所述数据包适用于所述 第二传输层协议时, 所述第一传输层协议和第三传输层协议的匹配域值 为零; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输 层协议时, 所述第一传输层协议和第二传输层协议的匹配域值为零。
结合第一方面和上述可能的实现方式, 在另一种可能的实现方式 中, 当所述网络层协议指示信息指示所述数据包适用于所述第一网络层 协议时, 所述物理流表项中的所述第一公共匹配域值为所述逻辑流表中 的所述第一网络层协议的匹配域值; 当所述网络层协议指示信息指示所 述数据包适用于所述第二网络层协议时, 所述物理流表项中的所述第一 公共匹配域值为所述逻辑流表中的所述第二网络层协议的匹配域值; 当所述传输层协议指示信息指示所述数据包适用于所述第一传输 层协议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表 中的所述第一传输层协议的匹配域值; 当所述传输层协议指示信息指示 所述数据包适用于所述第二传输层协议时, 所述物理流表项中的所述第 二公共匹配域值为所述逻辑流表中的所述第二传输层协议的匹配域值; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输层协 议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表中的 所述第三传输层协议的匹配域值。
结合第一方面和上述可能的实现方式, 在另一种可能的实现方式 中, 在所述根据至少一个所述第一流表项生成物理流表之前, 所述方法 还包括:
根据所述逻辑流表检查至少一个所述第一流表项的合法性; 所述根据至少一个所述第一流表项生成物理流表, 具体包括: 根据满足所述合法性的所述第一流表项生成所述物理流表。
结合第一方面和上述可能的实现方式, 在另一种可能的实现方式 中, 所述在接收到数据包后根据所述物理流表转发所述数据包, 包括: 在接收到所述数据包后, 在所述物理流表中查找与所述数据包匹配 的所述物理流表项;
若所述物理流表中不包含与所述数据包匹配的所述物理流表项, 则 发送流表项请求消息至所述控制器, 以使所述控制器根据所述流表项请 求消息为所述数据包配置第二流表项, 所述第二流表项为与所述数据包 匹配的流表项;
接收来自所述控制器的所述第二流表项, 并根据所述逻辑流表检查 所述第二流表项的合法性;
生成与满足所述合法性的所述第二流表项对应的物理流表项;
结合第一方面和上述可能的实现方式, 在另一种可能的实现方式 中, 所述流表交互方法, 还包括:
根据所述与所述第二流表项对应的物理流表项更新所述物理流表。 结合第一方面和上述可能的实现方式, 在另一种可能的实现方式 中, 所述流表交互方法, 还包括:
若所述物理流表中包含与所述数据包匹配的所述物理流表项, 则根 据所述与所述数据包匹配的所述物理流表项转发所述数据包。
结合第一方面和上述可能的实现方式, 在另一种可能的实现方式 中, 在所述第一流表项或者所述第二流表项中, 当所述网络层协议指示 信息指示所述数据包适用于所述第一网络层协议时, 所述第二网络层协 议的匹配域值为任意值; 当所述网络层协议指示信息指示所述数据包适 用于所述第二网络层协议时, 所述第一网络层协议的匹配域值为任意 值;
在所述第一流表项或者所述第二流表项中, 当所述传输层协议指示 信息指示所述数据包适用于所述第一传输层协议时, 所述第二传输层协 议和第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信,包、 指示所述数据包适用于所述第二传输层协议时, 所述第一传输层协议和 第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信息指示 所述数据包适用于所述第三传输层协议时, 所述第一传输层协议和第二 传输层协议的匹配域值为任意值。
本发明实施例的第二方面, 还提供一种交换机, 包括:
接收单元, 用于在与控制器建立连接后, 接收来自所述控制器的流 表能力请求消息; 发送单元, 用于发送逻辑流表至所述控制器, 所述逻辑流表包括: 所述交换机中预存的流表个数和每个所述预存的流表的流表能力, 以使 所述控制器根据所述逻辑流表为所述交换机配置至少一个用于指示数 据包转发策略的第一流表项;
所述接收单元, 还用于接收所述控制器下发的至少一个所述第一流 表项;
生成单元, 用于根据所述接收单元接收的至少一个所述第一流表项 生成物理流表;
所述接收单元, 还用于接收数据包;
转发单元, 用于在所述接收单元接收到所述数据包后根据所述生成 单元生成的所述物理流表转发所述数据包;
其中, 所述物理流表包括: 至少一个物理流表项, 所述物理流表项 包括: 网络层协议指示信息、 第一公共匹配域值、 传输层协议指示信息 和第二公共匹配域值; 所述第一公共匹配域值为第一网络层协议和第二 网络层协议的公共匹配域值, 所述第二公共匹配域值为第一传输层协 议、 第二传输层协议和第三传输层协议的公共匹配域值。
结合第二方面和上述可能的实现方式, 在另一种可能的实现方式 中, 所述逻辑流表包括: 至少一个逻辑流表项, 所述逻辑流表项包括: 所述网络层协议指示信息、 所述第一网络层协议的匹配域值、 所述第二 网络层协议的匹配域值、 所述传输层协议指示信息、 所述第一传输层协 议的匹配域值、 所述第二传输层协议的匹配域值、 所述第三传输层协议 的匹配戈值;
其中, 在所述逻辑流表中, 当所述网络层协议指示信息指示所述数 据包适用于所述第一网络层协议时, 所述第二网络层协议的匹配域值为 零; 当所述网络层协议指示信息指示所述数据包适用于所述第二网络层 协议时, 所述第一网络层协议的匹配域值为零;
在所述逻辑流表中, 当所述传输层协议指示信息指示所述数据包适 用于所述第一传输层协议时, 所述第二传输层协议和第三传输层协议的 匹配域值为零; 当所述传输层协议指示信息指示所述数据包适用于所述 第二传输层协议时, 所述第一传输层协议和第三传输层协议的匹配域值 为零; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输 层协议时, 所述第一传输层协议和第二传输层协议的匹配域值为零。 结合第二方面和上述可能的实现方式, 在另一种可能的实现方式 中, 当所述网络层协议指示信息指示所述数据包适用于所述第一网络层 协议时, 所述物理流表项中的所述第一公共匹配域值为所述逻辑流表中 的所述第一网络层协议的匹配域值; 当所述网络层协议指示信息指示所 述数据包适用于所述第二网络层协议时, 所述物理流表项中的所述第一 公共匹配域值为所述逻辑流表中的所述第二网络层协议的匹配域值; 当所述传输层协议指示信息指示所述数据包适用于所述第一传输 层协议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表 中的所述第一传输层协议的匹配域值; 当所述传输层协议指示信息指示 所述数据包适用于所述第二传输层协议时, 所述物理流表项中的所述第 二公共匹配域值为所述逻辑流表中的所述第二传输层协议的匹配域值; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输层协 议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表中的 所述第三传输层协议的匹配域值。
结合第二方面和上述可能的实现方式, 在另一种可能的实现方式 中, 所述交换机, 还包括:
检查单元, 用于在所述生成单元根据至少一个所述第一流表项生成 物理流表之前, 根据所述逻辑流表检查至少一个所述第一流表项的合法 性;
所述生成单元, 还用于根据所述检查单元检查得到的满足所述合法 性的所述第一流表项生成所述物理流表。
结合第二方面和上述可能的实现方式, 在另一种可能的实现方式 中, 所述转发单元, 包括:
匹配模块, 用于在所述接收单元接收到所述数据包后, 在所述生成 单元生成的所述物理流表中查找与所述数据包匹配的所述物理流表项; 发送模块, 用于若所述匹配模块确定所述物理流表中不包含与所述 数据包匹配的所述物理流表项, 则发送流表项请求消息至所述控制器, 以使所述控制器根据所述流表项请求消息为所述数据包配置第二流表 项, 所述第二流表项为与所述数据包匹配的流表项;
接收模块, 用于接收来自所述控制器的所述第二流表项, 并根据所 述逻辑流表检查所述第二流表项的合法性;
生成模块, 用于生成与满足所述合法性的所述第二流表项对应的物 理流表项;
转发模块, 用于根据所述生成模块已生成的所述物理流表项转发所 述数据包。
结合第二方面和上述可能的实现方式, 在另一种可能的实现方式 中, 所述交换机, 还包括:
更新单元, 用于根据所述转发单元生成的所述与所述第二流表项对 应的物理流表项更新所述物理流表。
结合第二方面和上述可能的实现方式, 在另一种可能的实现方式 中, 所述转发模块, 还用于若所述匹配模块确定所述物理流表中包含与 所述数据包匹配的所述物理流表项, 则根据所述与所述数据包匹配的所 述物理流表项转发所述数据包。
结合第二方面和上述可能的实现方式, 在另一种可能的实现方式 中, 在所述第一流表项或者所述第二流表项中, 当所述网络层协议指示 信息指示所述数据包适用于所述第一网络层协议时, 所述第二网络层协 议的匹配域值为任意值; 当所述网络层协议指示信息指示所述数据包适 用于所述第二网络层协议时, 所述第一网络层协议的匹配域值为任意 值;
在所述第一流表项或者所述第二流表项中, 当所述传输层协议指示 信息指示所述数据包适用于所述第一传输层协议时, 所述第二传输层协 议和第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信,包、 指示所述数据包适用于所述第二传输层协议时, 所述第一传输层协议和 第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信息指示 所述数据包适用于所述第三传输层协议时, 所述第一传输层协议和第二 传输层协议的匹配域值为任意值。
本发明实施例的第三方面, 还提供一种流表交互系统, 包括: 交换机, 用于在与控制器建立连接后, 接收来自所述控制器的流表 能力请求消息; 发送逻辑流表至所述控制器, 所述逻辑流表包括: 所述 交换机中预存的流表个数和每个所述预存的流表的流表能力, 以使所述 控制器根据所述逻辑流表为所述交换机配置至少一个用于指示数据包 转发策略的第一流表项; 接收所述控制器下发的至少一个所述第一流表 项, 并根据至少一个所述第一流表项生成物理流表, 以便于在接收到数 据包后根据所述物理流表转发所述数据包;
控制器, 用于在于所述交换机建立连接后, 发送流表能力请求消息 至所述交换机; 接收来自所述交换机的逻辑流表, 所述逻辑流表包括: 所述交换机中预存的流表个数和每个所述预存的流表的流表能力; 根据 所述逻辑流表为所述交换机配置至少一个用于指示数据包转发策略的 第一流表项; 发送至少一个所述第一流表项至所述交换机, 以使所述交 换机根据至少一个所述第一流表项生成物理流表, 进而使所述交换机在 接收到数据包后根据所述物理流表转发所述数据包。
结合第三方面, 在一种可能的实现方式中, 所述控制器, 还用于接 收来自所述交换机的所述流表项请求消息, 并根据所述流表项请求消息 为所述数据包配置第二流表项;
其中, 所述流表项请求消息为所述交换机在所述物理流表中不包含 与所述数据包匹配的所述物理流表项时发送的。
本发明实施例提供的流表交互方法、 交换机及系统, 在与控制器建 立连接后, 接收来自控制器的流表能力请求消息; 发送逻辑流表至控制 器, 逻辑流表包括: 交换机中预存的流表个数和每个预存的流表的流表 能力, 以使控制器根据逻辑流表为交换机配置至少一个用于指示数据包 转发策略的第一流表项; 接收控制器下发的至少一个第一流表项, 并根 据至少一个第一流表项生成物理流表, 以便于在接收到数据包后根据物 理流表转发所述数据包。 与现有技术中, 采用一张通配表或者六张精配 表实现支持多个协议的流表访问控制造成的资源浪费或者系统功耗较 大相比, 可以根据逻辑流表项生成一个包含公共匹配域的精配表, 即物 理流表项, 可以减少资源浪费, 同时降低系统功耗。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将 对实施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见 地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技 术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获 得其他的附图。
图 1为本发明实施例 1中的一种流表交互流程图;
图 2为本发明实施例 2中的一种流表交互流程图;
图 3为本发明实施例 3中的一种交换机组成示意图;
图 4为本发明实施例 3中的另一种交换机组成示意图;
图 5为本发明实施例 3中的另一种交换机组成示意图;
图 6为本发明实施例 3中的另一种交换机组成示意图;
图 7为本发明实施例 4中的一种交换机组成示意图;
图 8为本发明实施例 5中的一种流表交互系统组成示意图。 具体实施方式 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案 进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实 施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本 发明保护的范围。
本文中描述的各种技术可用于各种无线通信系统, 例如当前 2G, 3G通信系统和下一代通信系统, 例如全球移动通信系统( GSM, Global System for Mobile communications ) , 码分多址 ( CDMA, Code Division Multiple Access )系统,时分多址( TDMA, Time Division Multiple Access ) 系统,宽带码分多址( WCDMA, Wideband Code Division Multiple Access Wireless ) , 频分多址 ( FDMA, Frequency Division Multiple Addressing ) 系统 , 正交频分多址 ( OFDMA, Orthogonal Frequency-Division Multiple Access ) 系统, 单载波 FDMA ( SC-FDMA ) 系统, 通用分组无线业务 ( GPRS , General Packet Radio Service )系统,长期演进( LTE, Long Term Evolution ) 系统, 以及其他此类通信系统。
本文中结合终端和 /或基站和 /或基站控制器来描述各种方面。
用户设备, 可以是无线终端也可以是有线终端, 无线终端可以是指 向用户提供语音和 /或数据连通性的设备,具有无线连接功能的手持式设 备、 或连接到无线调制解调器的其他处理设备。 无线终端可以经无线接 入网 (例如, RAN, Radio Access Network )与一个或多个核心网进行通 信, 无线终端可以是移动终端, 如移动电话 (或称为 "蜂窝" 电话) 和 具有移动终端的计算机, 例如, 可以是便携式、 袖珍式、 手持式、 计算 机内置的或者车载的移动装置, 它们与无线接入网交换语言和 /或数据。 例如, 个人通信业务 ( PCS , Personal Communication Service ) 电话、 无 绳电话、会话发起协议( SIP )话机、无线本地环路( WLL , Wireless Local Loop ) 站、 个人数字助理 (PDA, Personal Digital Assistant ) 等设备。 无线终端也可以称为系统、 订户单元 ( Subscriber Unit ) 、 订户站 ( Subscriber Station ) , 移动站 ( Mobile Station ) 、 移动台 (Mobile ) 、 远程站( Remote Station ) 、 接入点 ( Access Point ) 、 远程终端 (Remote Terminal )、 接入终端 ( Access Terminal )、 用户终端 ( User Terminal ) 、 用户代理( User Agent ) 、 用户设备( User Device ) 、 或用户装备( User Equipment ) 。
基站 (例如, 接入点) 可以是接入网中在空中接口上通过一个或多 个扇区与无线终端通信的设备。 基站可用于将收到的空中帧与 IP 分组 进行相互转换, 作为无线终端与接入网的其余部分之间的路由器, 其中 接入网的其余部分可包括网际协议 (IP ) 网络。 基站还可协调对空中接 口的属性管理。 例如,基站可以是 GSM或 CDMA中的基站( BTS , Base Transceiver Station ) , 也可以是 WCDMA中的基站 ( NodeB ) , 还可以 是 LTE中的演进型基站( NodeB或 eNB或 e-NodeB , evolutional Node B ) , 本发明并不限定。
基站控制器, 可以是 GSM或 CDMA中的基站控制器 (BSC , base station controller ) , 也可以是 WCDMA 中的无线网络控制器 ( RNC , Radio Network Controller ) , 本发明并不限定。
另外, 本文中术语 "系统" 和 "网络,, 在本文中常被可互换使用。 本文中术语 "和 /或" , 仅仅是一种描述关联对象的关联关系, 表示可以 存在三种关系, 例如, Α和 /或 Β , 可以表示: 单独存在 A, 同时存在 A 和 B , 单独存在 B这三种情况。 另外, 本文中字符 "/,,, 一般表示前后 关联对象是一种 "或" 的关系。
实施例 1 本发明实施例提供一种流表交互方法, 如图 1所示, 包括:
5101、 交换机在与控制器建立连接后, 接收来自控制器的流表能力 请求消息。
需要说明的是, 本发明实施例可以应用于 Open Flow网络的数据包 转发过程中,本发明实施例中的交换机为 Open Flow网络中的 Open Flow Switch , 控制器为 Open Flow网络中的控制器 Controller
具体的,交换机在与控制器建立连接后,即在 controller和 Open Flow Switch 的握手阶段, 控制器 ( Controller ) 可以向交换机 (Open Flow Switch )发送流表能力请求消息 ( table stats request ) , 向交换机请求流 表的能力。
5102、 交换机发送逻辑流表至控制器, 以使控制器根据逻辑流表为 交换机配置至少一个用于指示数据包转发策略的第一流表项。
具体的, 交换机在接收到流表能力请求消息( table stats request )后 可以按照逻辑流表回复 table stats reply。 其中, 逻辑流表为精配表, 逻 辑流表可以包括: 交换机中预存的流表个数、 每个预存的流表的流表能 力, 及其匹配域等。
5103、 交换机接收控制器下发的至少一个第一流表项, 并根据至少 一个第一流表项生成物理流表, 以便于在接收到数据包后根据物理流表 转发数据包。
其中, 物理流表包括: 至少一个物理流表项, 物理流表项包括: 网 络层协议指示信息、 第一公共匹配域值、 传输层协议指示信息和第二公 共匹配域值; 第一公共匹配域值为第一网络层协议和第二网络层协议的 公共匹配域值, 第二公共匹配域值为第一传输层协议、 第二传输层协议 和第三传输层协议的公共匹配域值。
本发明实施例提供的流表交互方法, 交换机在与控制器建立连接 后, 接收来自控制器的流表能力请求消息; 发送逻辑流表至控制器, 逻 辑流表包括: 交换机中预存的流表个数和每个预存的流表的流表能力, 以使控制器根据逻辑流表为交换机配置至少一个用于指示数据包转发 策略的第一流表项; 接收控制器下发的至少一个第一流表项, 并根据至 少一个第一流表项生成物理流表, 以便于在接收到数据包后根据物理流 表转发所述数据包。 与现有技术中, 釆用一张通配表或者六张精配表实 现支持多个协议的流表访问控制造成的资源浪费或者系统功耗较大相 比, 可以根据逻辑流表项生成一个包含公共匹配域的精配表, 即物理流 表项, 可以减少资源浪费, 同时降低系统功耗。
实施例 2
本发明实施例提供一种流表交互方法, 如图 2所示, 包括:
5201、 控制器在于交换机建立连接后, 发送流表能力请求消息至交 换机。
5202、 交换机发送逻辑流表至控制器, 逻辑流表包括: 交换机中预 存的流表个数和每个预存的流表的流表能力。
具体的, 逻辑流表为精配表, 逻辑流表可以包括: 至少一个逻辑流 表项, 逻辑流表项可以包括: 网络层协议指示信息 (Eth-Type ) 、 第一 网络层协议的匹配域值、 第二网络层协议的匹配域值、 传输层协议指示 信息 (Ip-Port ) 、 第一传输层协议的匹配域值、 第二传输层协议的匹配 域值、 第三传输层协议的匹配域值。
示例性的, 网络层协议(Internet Protocol ) 包括: 第一网络层协议、 第二网络层协议; 具体的, 第一网络层协议为: 因特网协议 4 ( Internet Protocol Version 4 , IPv4;) , 第二网络层协议为: 因特网协议 6 ( Internet Protocol Version 6 , IPv6 ) ; 或者, 第一网络层协议为: IPv6 , 第二网 络层协议为: IPv4。
传输层协议可以包括: 第一传输层协议、 第二传输层协议、 第三传 输层协议: 具体的, 第一传输层协议为传输控制协议(Transmission Control Protocol , TCP) , 第二传输层协议为用户数据报协议 ( User Datagram Protocol , UDP ) , 第三传输层协议为 ( Scalable TCP , STCP ); 或者, 第一传输层协议为 TCP , 第二传输层协议为 STCP , 第三传输层 协议为 UDP; 或者, 第一传输层协议为 UDP , 第二传输层协议为 TCP , 第三传输层协议为 STCP; 或者, 第一传输层协议为 UDP , 第二传输层 协议为 STCP ,第三传输层协议为 TCP; 或者,第一传输层协议为 STCP , 第二传输层协议为 TCP , 第三传输层协议为 UDP; 或者, 第一传输层协 议为 STCP , , 第二传输层协议为 UDP , 第三传输层协议为 TCP。
在逻辑流表中, 当网络层协议指示信息指示数据包适用于第一网络 层协议时, 第二网络层协议的匹配域值为零; 当网络层协议指示信息指 示数据包适用于第二网络层协议时, 第一网络层协议的匹配域值为零。
在逻辑流表中, 当传输层协议指示信息指示数据包适用于第一传输 层协议时, 第二传输层协议和第三传输层协议的匹配域值为零; 当传输 层协议指示信息指示数据包适用于第二传输层协议时, 第一传输层协议 和第三传输层协议的匹配域值为零; 当传输层协议指示信息指示数据包 适用于第三传输层协议时, 第一传输层协议和第二传输层协议的匹配域 值为零。
需要说明的是, 本发明实施例中的逻辑流表的具体内容、 具体形式 他形式本发明实施例这里不再赘述。
S203、 控制器根据逻辑流表为交换机配置至少一个第一流表项, 第 一流表项用于指示数据包转发策略。
其中, 控制器可以根据交换机上报的逻辑流表中包含的交换机中预 存的流表个数和每个预存的流表的流表能力为交换机配置至少一个用 于指示数据包转发策略的第一流表项。
示例性的, 在第一流表项中, 当网络层协议指示信息指示数据包适 用于第一网络层协议时, 第二网络层协议的匹配域值为任意值; 当网络 层协议指示信息指示数据包适用于所述第二网络层协议时, 第一网络层 协议的匹配域值为任意值。
在第一流表项中, 当传输层协议指示信息指示数据包适用于第一传 输层协议时, 第二传输层协议和第三传输层协议的匹配域值为任意值; 当传输层协议指示信息指示数据包适用于第二传输层协议时, 第一传输 层协议和第三传输层协议的匹配域值为任意值; 当传输层协议指示信息 指示数据包适用于第三传输层协议时, 第一传输层协议和第二传输层协 议的匹配域值为任意值。
5204、 交换机接收来自控制器的至少一个第一流表项。
进一步可选的, 在本发明实施例中, 为了确保控制器下发的第一流 表项的合法性, 交换机可以根据逻辑流表对第一流表项进行检查, 即本 发明实施例的方法还可以包括 S205 :
5205、 交换机根据逻辑流表检查至少一个第一流表项的合法性。 具体的, 交换机可以根据逻辑流表中包含的流表的能力, 或者逻辑 流表的格式等检测第一流表项的合法性; 其中, 第一流表项为精配表流 表项。
S206、 交换机根据满足合法性的第一流表项生成物理流表。
其中, 交换机可以根据一个第一流表项中的网络层协议指示信息确 定该第一流表项对应的数据包适用的网络层协议, 然后选择对应的网络 层协议(第一网络层协议或者第二网络层协议) 的匹配域值作为该数据 包的网络层协议匹配域值; 根据该第一流表项中的传输层协议指示信息 确定该第一流表项对应的数据包适用的传输层协议, 然后选择对应的传 输层协议 (第一传输层协议或者第二传输层协议或者第三传输层协议) 的匹配域值作为该数据包的传输层协议匹配域值; 根据该第一流表项的 网络层协议指示信息、 对应的网络层协议、 该第一流表项的传输层协议 指示信息、 对应的传输层协议生成一个物理流表项; 根据已生成的至少 一个物理流表项生成物理流表。
具体的, 当网络层协议指示信息指示数据包适用于第一网络层协议 时, 物理流表项中的第一公共匹配域值为逻辑流表中的第一网络层协议 的匹配域值; 当网络层协议指示信息指示数据包适用于第二网络层协议 时, 物理流表项中的第一公共匹配域值为逻辑流表中的第二网络层协议 的匹配戈值。
当传输层协议指示信息指示数据包适用于第一传输层协议时, 物理 流表项中的第二公共匹配域值为逻辑流表中的第一传输层协议的匹配 域值; 当传输层协议指示信息指示数据包适用于第二传输层协议时, 物 理流表项中的第二公共匹配域值为逻辑流表中的第二传输层协议的匹 配域值; 当传输层协议指示信息指示数据包适用于第三传输层协议时, 物理流表项中的第二公共匹配域值为逻辑流表中的第三传输层协议的 匹配域 ^值。
S207、 交换机接收数据包, 并判断物理流表中是否包含与数据包匹 配的物理流表项。
其中, 交换机在接收到一个数据包后, 可以在物理流表查找与该数 据包相匹配的物理流表项, 即判断物理流表中是否包含与数据包匹配的 物理流表项。 具体的, 若物理流表中包含与数据包匹配的物理流表项, 则执行
S208 ; 若物理流表中不包含与数据包匹配的物理流表项, 则执行 S209-S21 ;
S208、 交换机根据与数据包匹配的物理流表项转发数据包。
S209、 交换机发送流表项请求消息至控制器。
其中, 流表项请求消息中可以包含有关转发该数据包的信息, 如该 数据包所使用的网络层协议、 传输层协议, 数据包的大小等信息。
5210、 控制器根据流表项请求消息为数据包配置第二流表项, 第二 流表项为与数据包匹配的流表项。
具体的, 控制器可以根据流表项请求消息为数据包配置用于指示该 数据包转发方式的第二流表项。
示例性的, 在第二流表项中, 当网络层协议指示信息指示数据包适 用于第一网络层协议时, 第二网络层协议的匹配域值为任意值; 当网络 层协议指示信息指示数据包适用于所述第二网络层协议时, 第一网络层 协议的匹配域值为任意值。
在第二流表项中, 当传输层协议指示信息指示数据包适用于第一传 输层协议时, 第二传输层协议和第三传输层协议的匹配域值为任意值; 当传输层协议指示信息指示数据包适用于第二传输层协议时, 第一传输 层协议和第三传输层协议的匹配域值为任意值; 当传输层协议指示信息 指示数据包适用于第三传输层协议时, 第一传输层协议和第二传输层协 议的匹配域值为任意值。
5211、 控制器发送第二流表项至交换机。
5212、 交换机根据逻辑流表检查第二流表项的合法性, 生成与满足 合法性的第二流表项对应的物理流表项。
其中, 交换机根据逻辑流表检查第二流表项的合法性的方法与交换 机根据逻辑流表检查第一流表项的合法性的方法类似, 本发明实施例这 里不再赘述。
S212、 交换机根据已生成的物理流表项转发数据包。
进一步可选的, 本发明实施例的方法还可以包括 S213 :
S213、 交换机根据与第二流表项对应的物理流表项更新物理流表。 其中, 交换机可以根据与第二流表项对应的物理流表项更新物理流 表, 以便于交换机再次接收到该数据包时, 可以直接根据该物理流表项 转发数据包。
本发明实施例提供的流表交互方法, 交换机在与控制器建立连接 后, 接收来自控制器的流表能力请求消息; 发送逻辑流表至控制器, 逻 辑流表包括: 交换机中预存的流表个数和每个预存的流表的流表能力, 以使控制器根据逻辑流表为交换机配置至少一个用于指示数据包转发 策略的第一流表项; 接收控制器下发的至少一个第一流表项, 并根据至 少一个第一流表项生成物理流表, 以便于在接收到数据包后根据物理流 表转发数据包。 与现有技术中, 釆用一张通配表或者六张精配表实现支 持多个协议的流表访问控制造成的资源浪费或者系统功耗较大相比, 可 以根据逻辑流表项生成一个包含公共匹配域的精配表, 即物理流表项, 可以减少资源浪费, 同时降低系统功耗。
实施例 3
本发明实施例提供一种交换机, 如图 3所示, 包括: 接收单元 3 1、 发送单元 32、 生成单元 33、 转发单元 34。
接收单元 3 1 , 用于在与控制器建立连接后, 接收来自控制器的流表 能力请求消息。
发送单元 32 ,用于发送逻辑流表至所述控制器,所述逻辑流表包括: 所述交换机中预存的流表个数和每个所述预存的流表的流表能力, 以使 所述控制器根据所述逻辑流表为所述交换机配置至少一个用于指示数 据包转发策略的第一流表项。
所述接收单元 31 ,还用于接收所述控制器下发的至少一个所述第一 流表项。
生成单元 33 , 用于根据所述接收单元 3 1接收的至少一个所述第一 流表项生成物理流表。
所述接收单元 31 , 还用于接收数据包。
转发单元 34 , 用于在所述接收单元 3 1接收到所述数据包后根据所 述生成单元 33生成的所述物理流表转发所述数据包。
其中, 所述物理流表包括: 至少一个物理流表项, 所述物理流表项 包括: 网络层协议指示信息、 第一公共匹配域值、 传输层协议指示信息 和第二公共匹配域值; 所述第一公共匹配域值为第一网络层协议和第二 网络层协议的公共匹配域值, 所述第二公共匹配域值为第一传输层协 议、 第二传输层协议和第三传输层协议的公共匹配域值。
进一步的, 所述逻辑流表包括: 至少一个逻辑流表项, 所述逻辑流 表项包括: 所述网络层协议指示信息、所述第一网络层协议的匹配域值、 所述第二网络层协议的匹配域值、 所述传输层协议指示信息、 所述第一 传输层协议的匹配域值、 所述第二传输层协议的匹配域值、 所述第三传 输层协议的匹配域值。
其中, 在所述逻辑流表中, 当所述网络层协议指示信息指示所述数 据包适用于所述第一网络层协议时, 所述第二网络层协议的匹配域值为 零; 当所述网络层协议指示信息指示所述数据包适用于所述第二网络层 协议时, 所述第一网络层协议的匹配域值为零。
在所述逻辑流表中, 当所述传输层协议指示信息指示所述数据包适 用于所述第一传输层协议时, 所述第二传输层协议和第三传输层协议的 匹配域值为零; 当所述传输层协议指示信息指示所述数据包适用于所述 第二传输层协议时, 所述第一传输层协议和第三传输层协议的匹配域值 为零; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输 层协议时, 所述第一传输层协议和第二传输层协议的匹配域值为零。
进一步的, 当所述网络层协议指示信息指示所述数据包适用于所述 第一网络层协议时, 所述物理流表项中的所述第一公共匹配域值为所述 逻辑流表中的所述第一网络层协议的匹配域值; 当所述网络层协议指示 信息指示所述数据包适用于所述第二网络层协议时, 所述物理流表项中 的所述第一公共匹配域值为所述逻辑流表中的所述第二网络层协议的 匹配域 <值。
当所述传输层协议指示信息指示所述数据包适用于所述第一传输 层协议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表 中的所述第一传输层协议的匹配域值; 当所述传输层协议指示信息指示 所述数据包适用于所述第二传输层协议时, 所述物理流表项中的所述第 二公共匹配域值为所述逻辑流表中的所述第二传输层协议的匹配域值; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输层协 议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表中的 所述第三传输层协议的匹配域值。
进一步的, 如图 4所示, 所述交换机, 还可以包括: 检查单元 35。 检查单元 35 , 用于在所述生成单元 33根据至少一个所述第一流表 项生成物理流表之前, 根据所述逻辑流表检查至少一个所述第一流表项 的合法性。
所述生成单元 33 ,还用于根据所述检查单元检查得到的满足所述合 法性的所述第一流表项生成所述物理流表。
进一步的, 如图 5所示, 所述转发单元 34 , 包括: 匹配模块 341、 发送模块 342、 接收模块 343、 生成模块 344、 转发模块 345。
匹配模块 341 , 用于在所述接收单元 31接收到所述数据包后, 在所 述生成单元 33 生成的所述物理流表中查找与所述数据包匹配的所述物 理流表项。
发送模块 342 , 用于若所述匹配模块 341确定所述物理流表中不包 含与所述数据包匹配的所述物理流表项, 则发送流表项请求消息至所述 控制器, 以使所述控制器根据所述流表项请求消息为所述数据包配置第 二流表项, 所述第二流表项为与所述数据包匹配的流表项。
接收模块 343 , 用于接收来自所述控制器的所述第二流表项, 并根 据所述逻辑流表检查所述第二流表项的合法性。
生成模块 344 , 用于生成与满足所述合法性的所述第二流表项对应 的物理流表项。
转发模块 345 , 用于根据所述生成模块 344 已生成的所述物理流表 项转发所述数据包。
进一步的, 如图 6所示, 所述交换机, 还可以包括: 更新单元 36。 更新单元 36 , 用于根据所述转发单元 34生成的所述与所述第二流 表项对应的物理流表项更新所述物理流表。
进一步的, 所述转发模块 345 , 还用于若所述匹配模块 341确定所 述物理流表中包含与所述数据包匹配的所述物理流表项, 则根据所述与 所述数据包匹配的所述物理流表项转发所述数据包。
进一步的, 在所述第一流表项或者所述第二流表项中, 当所述网络 层协议指示信息指示所述数据包适用于所述第一网络层协议时, 所述第 二网络层协议的匹配域值为任意值; 当所述网络层协议指示信息指示所 述数据包适用于所述第二网络层协议时, 所述第一网络层协议的匹配域 值为任意值。
在所述第一流表项或者所述第二流表项中, 当所述传输层协议指示 信息指示所述数据包适用于所述第一传输层协议时, 所述第二传输层协 议和第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信,包、 指示所述数据包适用于所述第二传输层协议时, 所述第一传输层协议和 第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信息指示 所述数据包适用于所述第三传输层协议时, 所述第一传输层协议和第二 传输层协议的匹配域值为任意值。
需要说明的是, 本发明实施例提供的交换机中部分功能模块的具体 描述可以参考方法实施例中的对应内容, 本实施例这里不再详细赘述。
本发明实施例提供的交换机, 在与控制器建立连接后, 接收来自控 制器的流表能力请求消息; 发送逻辑流表至控制器, 逻辑流表包括: 交 换机中预存的流表个数和每个预存的流表的流表能力, 以使控制器根据 逻辑流表为交换机配置至少一个用于指示数据包转发策略的第一流表 项; 接收控制器下发的至少一个第一流表项, 并根据至少一个第一流表 项生成物理流表, 以便于在接收到数据包后根据物理流表转发所述数据 包。 与现有技术中, 釆用一张通配表或者六张精配表实现支持多个协议 的流表访问控制造成的资源浪费或者系统功耗较大相比, 可以根据逻辑 流表项生成一个包含公共匹配域的精配表, 即物理流表项, 可以减少资 源浪费, 同时降低系统功耗。
实施例 4
本发明实施例提供一种交换机, 如图 7所示, 包括: 接收器 41、 发送器 42、 处理器 43。
接收器 41 , 用于在与控制器建立连接后, 接收来自所述控制器的流 表能力请求消息。
发送器 42 , 用于发送逻辑流表至所述控制器, 所述逻辑流表包括: 所述交换机中预存的流表个数和每个所述预存的流表的流表能力, 以使 所述控制器根据所述逻辑流表为所述交换机配置至少一个用于指示数 据包转发策略的第一流表项。
所述接收器 41 ,还用于接收所述控制器下发的至少一个所述第一流 表项。
处理器 43 , 用于根据所述接收器 41接收的至少一个所述第一流表 项生成物理流表。
所述接收器 41 , 还用于接收数据包。
处理器 43 , 用于在所述接收器 41接收到所述数据包后根据所述物 理流表转发所述数据包。
其中, 所述物理流表包括: 至少一个物理流表项, 所述物理流表项 包括: 网络层协议指示信息、 第一公共匹配域值、 传输层协议指示信息 和第二公共匹配域值; 所述第一公共匹配域值为第一网络层协议和第二 网络层协议的公共匹配域值, 所述第二公共匹配域值为第一传输层协 议、 第二传输层协议和第三传输层协议的公共匹配域值。
进一步的, 所述逻辑流表包括: 至少一个逻辑流表项, 所述逻辑流 表项包括: 所述网络层协议指示信息、所述第一网络层协议的匹配域值、 所述第二网络层协议的匹配域值、 所述传输层协议指示信息、 所述第一 传输层协议的匹配域值、 所述第二传输层协议的匹配域值、 所述第三传 输层协议的匹配域值。
其中, 在所述逻辑流表中, 当所述网络层协议指示信息指示所述数 据包适用于所述第一网络层协议时, 所述第二网络层协议的匹配域值为 零; 当所述网络层协议指示信息指示所述数据包适用于所述第二网络层 协议时, 所述第一网络层协议的匹配域值为零。
在所述逻辑流表中, 当所述传输层协议指示信息指示所述数据包适 用于所述第一传输层协议时, 所述第二传输层协议和第三传输层协议的 匹配域值为零; 当所述传输层协议指示信息指示所述数据包适用于所述 第二传输层协议时, 所述第一传输层协议和第三传输层协议的匹配域值 为零; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输 层协议时, 所述第一传输层协议和第二传输层协议的匹配域值为零。
进一步的, 当所述网络层协议指示信息指示所述数据包适用于所述 第一网络层协议时, 所述物理流表项中的所述第一公共匹配域值为所述 逻辑流表中的所述第一网络层协议的匹配域值; 当所述网络层协议指示 信息指示所述数据包适用于所述第二网络层协议时, 所述物理流表项中 的所述第一公共匹配域值为所述逻辑流表中的所述第二网络层协议的 匹配域 ^值。
当所述传输层协议指示信息指示所述数据包适用于所述第一传输 层协议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表 中的所述第一传输层协议的匹配域值; 当所述传输层协议指示信息指示 所述数据包适用于所述第二传输层协议时, 所述物理流表项中的所述第 二公共匹配域值为所述逻辑流表中的所述第二传输层协议的匹配域值; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输层协 议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表中的 所述第三传输层协议的匹配域值。
进一步的, 处理器 43 , 还用于根据至少一个所述第一流表项生成物 理流表之前, 根据所述逻辑流表检查至少一个所述第一流表项的合法 性; 根据所述满足所述合法性的所述第一流表项生成所述物理流表。
进一步的, 所述处理器 43 , 还用于在所述接收器 41接收到所述数 据包后, 在所述物理流表中查找与所述数据包匹配的所述物理流表项。
所述发送器 42 ,还用于若所述物理流表中不包含与所述数据包匹配 的所述物理流表项, 则发送流表项请求消息至所述控制器, 以使所述控 制器根据所述流表项请求消息为所述数据包配置第二流表项, 所述第二 流表项为与所述数据包匹配的流表项。
所述接收器 41 , 还用于接收来自所述控制器的所述第二流表项。 所述处理器 43 ,还用于根据所述逻辑流表检查所述第二流表项的合 法性; 生成与满足所述合法性的所述第二流表项对应的物理流表项。
发送器 42 , 还用于根据已生成的所述物理流表项转发所述数据包。 进一步的, 所述处理器 43 , 还用于根据与所述第二流表项对应的物 理流表项更新所述物理流表。
进一步的, 所述发送器 42 , 还用于若所述处理器 43确定所述物理 流表中包含与所述数据包匹配的所述物理流表项, 则根据所述与所述数 据包匹配的所述物理流表项转发所述数据包。
进一步的, 在所述第一流表项或者所述第二流表项中, 当所述网络 层协议指示信息指示所述数据包适用于所述第一网络层协议时, 所述第 二网络层协议的匹配域值为任意值; 当所述网络层协议指示信息指示所 述数据包适用于所述第二网络层协议时, 所述第一网络层协议的匹配域 值为任意值。
在所述第一流表项或者所述第二流表项中, 当所述传输层协议指示 信息指示所述数据包适用于所述第一传输层协议时, 所述第二传输层协 议和第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信,包、 指示所述数据包适用于所述第二传输层协议时, 所述第一传输层协议和 第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信息指示 所述数据包适用于所述第三传输层协议时, 所述第一传输层协议和第二 传输层协议的匹配域值为任意值。
需要说明的是, 本发明实施例提供的交换机中部分功能模块的具体 描述可以参考方法实施例中的对应内容, 本实施例这里不再详细赘述。
本发明实施例提供的交换机, 在与控制器建立连接后, 接收来自控 制器的流表能力请求消息; 发送逻辑流表至控制器, 逻辑流表包括: 交 换机中预存的流表个数和每个预存的流表的流表能力, 以使控制器根据 逻辑流表为交换机配置至少一个用于指示数据包转发策略的第一流表 项; 接收控制器下发的至少一个第一流表项, 并根据至少一个第一流表 项生成物理流表, 以便于在接收到数据包后根据物理流表转发所述数据 包。 与现有技术中, 釆用一张通配表或者六张精配表实现支持多个协议 的流表访问控制造成的资源浪费或者系统功耗较大相比, 可以根据逻辑 流表项生成一个包含公共匹配域的精配表, 即物理流表项, 可以减少资 源浪费, 同时降低系统功耗。
实施例 5
本发明实施例提供一种流表交互系统, 如图 8 所示, 包括: 交换 机 51、 控制器 52。
交换机 51 , 用于在与控制器 52建立连接后, 接收来自所述控制器 52 的流表能力请求消息; 发送逻辑流表至所述控制器 52 , 所述逻辑流 表包括: 所述交换机 51 中预存的流表个数和每个所述预存的流表的流 表能力, 以使所述控制器 52根据所述逻辑流表为所述交换机 51配置至 少一个用于指示数据包转发策略的第一流表项; 接收所述控制器 52 下 发的至少一个所述第一流表项, 并根据至少一个所述第一流表项生成物 理流表, 以便于在接收到数据包后根据所述物理流表转发所述数据包; 控制器 52 , 用于在于所述交换机 51建立连接后, 发送流表能力请 求消息至所述交换机 51 ; 接收来自所述交换机 51 的逻辑流表, 所述逻 辑流表包括: 所述交换机 51 中预存的流表个数和每个所述预存的流表 的流表能力; 根据所述逻辑流表为所述交换机 51 配置至少一个用于指 示数据包转发策略的第一流表项; 发送至少一个所述第一流表项至所述 交换机 51 , 以使所述交换机 51根据至少一个所述第一流表项生成物理 流表, 进而使所述交换机 51 在接收到数据包后根据所述物理流表转发 所述数据包。
进一步的, 所述控制器 52 , 还用于接收来自所述交换机 51的所述 流表项请求消息, 并根据所述流表项请求消息为所述数据包配置第二流 表项;
其中, 所述流表项请求消息为所述交换机 51 在所述物理流表中不 包含与所述数据包匹配的所述物理流表项时发送的。
需要说明的是, 本发明实施例提供的流表交互系统中交换机和控制 器的具体描述可以参考其他实施例中的对应内容, 本实施例这里不再详 细赘述。
本发明实施例提供的流表交互系统, 交换机在与控制器建立连接 后, 接收来自控制器的流表能力请求消息; 发送逻辑流表至控制器, 逻 辑流表包括: 交换机中预存的流表个数和每个预存的流表的流表能力, 以使控制器根据逻辑流表为交换机配置至少一个用于指示数据包转发 策略的第一流表项; 接收控制器下发的至少一个第一流表项, 并根据至 少一个第一流表项生成物理流表, 以便于在接收到数据包后根据物理流 表转发所述数据包。 与现有技术中, 釆用一张通配表或者六张精配表实 现支持多个协议的流表访问控制造成的资源浪费或者系统功耗较大相 比, 可以根据逻辑流表项生成一个包含公共匹配域的精配表, 即物理流 表项, 可以减少资源浪费, 同时降低系统功耗。
通过以上的实施方式的描述, 所属领域的技术人员可以清楚地了解 到, 为描述的方便和简洁, 仅以上述各功能模块的划分进行举例说明, 实际应用中, 可以根据需要而将上述功能分配由不同的功能模块完成, 即将装置的内部结构划分成不同的功能模块, 以完成以上描述的全部或 者部分功能。 上述描述的系统, 装置和单元的具体工作过程, 可以参考 前述方法实施例中的对应过程, 在此不再赘述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统, 装 置和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例 仅仅是示意性的, 例如, 所述模块或单元的划分, 仅仅为一种逻辑功能 划分, 实际实现时可以有另外的划分方式, 例如多个单元或组件可以结 合或者可以集成到另一个系统, 或一些特征可以忽略, 或不执行。 另一 点, 所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过 一些接口, 装置或单元的间接耦合或通信连接, 可以是电性, 机械或其 它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开 的, 作为单元显示的部件可以是或者也可以不是物理单元, 即可以位于 一个地方, 或者也可以分布到多个网络单元上。 可以根据实际的需要选 择其中的部分或者全部单元来实现本实施例方案的目的。 另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单 元中, 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集 成在一个单元中。 上述集成的单元既可以采用硬件的形式实现, 也可以 釆用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产 品销售或使用时, 可以存储在一个计算机可读取存储介质中。 基于这样 的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的部分或 者该技术方案的全部或部分可以以软件产品的形式体现出来, 该计算机 软件产品存储在一个存储介质中, 包括若干指令用以使得一台计算机设 备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor ) 执行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质 包括: U盘、 移动硬盘、 只读存储器 (ROM, Read-Only Memory ) 、 随 机存取存储器(RAM, Random Access Memory ) 、 磁碟或者光盘等各种 可以存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不 局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围 内, 可轻易想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范围应以所述权利要求的保护范围为准。

Claims

权 利 要 求
1、 一种流表交互方法, 其特征在于, 包括:
在与控制器建立连接后, 接收来自所述控制器的流表能力请求消 息;
发送逻辑流表至所述控制器, 所述逻辑流表包括: 所述交换机中预 存的流表个数和每个所述预存的流表的流表能力,以使所述控制器根据 所述逻辑流表为所述交换机配置至少一个用于指示数据包转发策略的 第一流表项;
接收所述控制器下发的至少一个所述第一流表项, 并根据至少一个 所述第一流表项生成物理流表, 以便于在接收到数据包后根据所述物理 流表转发所述数据包;
其中, 所述物理流表包括: 至少一个物理流表项, 所述物理流表项 包括: 网络层协议指示信息、 第一公共匹配域值、 传输层协议指示信息 和第二公共匹配域值; 所述第一公共匹配域值为第一网络层协议和第二 网络层协议的公共匹配域值, 所述第二公共匹配域值为第一传输层协 议、 第二传输层协议和第三传输层协议的公共匹配域值。
2、 根据权利要求 1所述的流表交互方法, 其特征在于,
所述逻辑流表包括: 至少一个逻辑流表项, 所述逻辑流表项包括: 所述网络层协议指示信息、 所述第一网络层协议的匹配域值、 所述第二 网络层协议的匹配域值、 所述传输层协议指示信息、 所述第一传输层协 议的匹配域值、 所述第二传输层协议的匹配域值、 所述第三传输层协议 的匹配域^值;
其中, 在所述逻辑流表中, 当所述网络层协议指示信息指示所述数 据包适用于所述第一网络层协议时, 所述第二网络层协议的匹配域值为 零; 当所述网络层协议指示信息指示所述数据包适用于所述第二网络层 协议时, 所述第一网络层协议的匹配域值为零;
在所述逻辑流表中, 当所述传输层协议指示信息指示所述数据包适 用于所述第一传输层协议时, 所述第二传输层协议和第三传输层协议的 匹配域值为零; 当所述传输层协议指示信息指示所述数据包适用于所述 第二传输层协议时, 所述第一传输层协议和第三传输层协议的匹配域值 为零; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输 层协议时, 所述第一传输层协议和第二传输层协议的匹配域值为零。
3、 根据权利要求 1所述的流表交互方法, 其特征在于, 当所述网络层协议指示信息指示所述数据包适用于所述第一网络 层协议时, 所述物理流表项中的所述第一公共匹配域值为所述逻辑流表 中的所述第一网络层协议的匹配域值; 当所述网络层协议指示信息指示 所述数据包适用于所述第二网络层协议时, 所述物理流表项中的所述第 一公共匹配域值为所述逻辑流表中的所述第二网络层协议的匹配域值; 当所述传输层协议指示信息指示所述数据包适用于所述第一传输 层协议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表 中的所述第一传输层协议的匹配域值; 当所述传输层协议指示信息指示 所述数据包适用于所述第二传输层协议时, 所述物理流表项中的所述第 二公共匹配域值为所述逻辑流表中的所述第二传输层协议的匹配域值; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输层协 议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表中的 所述第三传输层协议的匹配域值。
4、 根据权利要求 1 -3中任一项所述的流表交互方法, 其特征在于, 在所述根据至少一个所述第一流表项生成物理流表之前, 所述方法还包 括:
根据所述逻辑流表检查至少一个所述第一流表项的合法性; 所述根据至少一个所述第一流表项生成物理流表, 具体包括: 根据满足所述合法性的所述第一流表项生成所述物理流表。
5、 根据权利要求 1 所述的流表交互方法, 其特征在于, 所述在接 收到数据包后根据所述物理流表转发所述数据包, 包括:
在接收到所述数据包后, 在所述物理流表中查找与所述数据包匹配 的所述物理流表项;
若所述物理流表中不包含与所述数据包匹配的所述物理流表项, 则 发送流表项请求消息至所述控制器, 以使所述控制器根据所述流表项请 求消息为所述数据包配置第二流表项, 所述第二流表项为与所述数据包 匹配的流表项;
接收来自所述控制器的所述第二流表项, 并根据所述逻辑流表检查 所述第二流表项的合法性;
生成与满足所述合法性的所述第二流表项对应的物理流表项;
6、 根据权利要求 5所述的流表交互方法, 其特征在于, 还包括: 根据所述与所述第二流表项对应的物理流表项更新所述物理流表。
7、 根据权利要求 5所述的流表交互方法, 其特征在于, 还包括: 若所述物理流表中包含与所述数据包匹配的所述物理流表项, 则根 据所述与所述数据包匹配的所述物理流表项转发所述数据包。
8、 根据权利要求 1或 5所述的流表交互方法, 其特征在于, 在所述第一流表项或者所述第二流表项中, 当所述网络层协议指示 信息指示所述数据包适用于所述第一网络层协议时, 所述第二网络层协 议的匹配域值为任意值; 当所述网络层协议指示信息指示所述数据包适 用于所述第二网络层协议时, 所述第一网络层协议的匹配域值为任意 值;
在所述第一流表项或者所述第二流表项中, 当所述传输层协议指示 信息指示所述数据包适用于所述第一传输层协议时, 所述第二传输层协 议和第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信息 指示所述数据包适用于所述第二传输层协议时, 所述第一传输层协议和 第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信息指示 所述数据包适用于所述第三传输层协议时, 所述第一传输层协议和第二 传输层协议的匹配域值为任意值。
9、 一种交换机, 其特征在于, 包括:
接收单元, 用于在与控制器建立连接后, 接收来自所述控制器的流 表能力请求消息;
发送单元, 用于发送逻辑流表至所述控制器, 所述逻辑流表包括: 所述交换机中预存的流表个数和每个所述预存的流表的流表能力,以使 所述控制器根据所述逻辑流表为所述交换机配置至少一个用于指示数 据包转发策略的第一流表项;
所述接收单元,还用于接收所述控制器下发的至少一个所述第一流 表项;
生成单元, 用于根据所述接收单元接收的至少一个所述第一流表项 生成物理流表;
所述接收单元, 还用于接收数据包;
转发单元, 用于在所述接收单元接收到所述数据包后根据所述生成 单元生成的所述物理流表转发所述数据包; 其中, 所述物理流表包括: 至少一个物理流表项, 所述物理流表项 包括: 网络层协议指示信息、 第一公共匹配域值、 传输层协议指示信息 和第二公共匹配域值; 所述第一公共匹配域值为第一网络层协议和第二 网络层协议的公共匹配域值, 所述第二公共匹配域值为第一传输层协 议、 第二传输层协议和第三传输层协议的公共匹配域值。
10、 根据权利要求 9所述的交换机, 其特征在于,
所述逻辑流表包括: 至少一个逻辑流表项, 所述逻辑流表项包括: 所述网络层协议指示信息、 所述第一网络层协议的匹配域值、 所述第二 网络层协议的匹配域值、 所述传输层协议指示信息、 所述第一传输层协 议的匹配域值、 所述第二传输层协议的匹配域值、 所述第三传输层协议 的匹配域^值;
其中, 在所述逻辑流表中, 当所述网络层协议指示信息指示所述数 据包适用于所述第一网络层协议时, 所述第二网络层协议的匹配域值为 零; 当所述网络层协议指示信息指示所述数据包适用于所述第二网络层 协议时, 所述第一网络层协议的匹配域值为零;
在所述逻辑流表中, 当所述传输层协议指示信息指示所述数据包适 用于所述第一传输层协议时, 所述第二传输层协议和第三传输层协议的 匹配域值为零; 当所述传输层协议指示信息指示所述数据包适用于所述 第二传输层协议时, 所述第一传输层协议和第三传输层协议的匹配域值 为零; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输 层协议时, 所述第一传输层协议和第二传输层协议的匹配域值为零。
1 1、 根据权利要求 9所述的交换机, 其特征在于,
当所述网络层协议指示信息指示所述数据包适用于所述第一网络 层协议时, 所述物理流表项中的所述第一公共匹配域值为所述逻辑流表 中的所述第一网络层协议的匹配域值; 当所述网络层协议指示信息指示 所述数据包适用于所述第二网络层协议时, 所述物理流表项中的所述第 一公共匹配域值为所述逻辑流表中的所述第二网络层协议的匹配域值; 当所述传输层协议指示信息指示所述数据包适用于所述第一传输 层协议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表 中的所述第一传输层协议的匹配域值; 当所述传输层协议指示信息指示 所述数据包适用于所述第二传输层协议时, 所述物理流表项中的所述第 二公共匹配域值为所述逻辑流表中的所述第二传输层协议的匹配域值; 当所述传输层协议指示信息指示所述数据包适用于所述第三传输层协 议时, 所述物理流表项中的所述第二公共匹配域值为所述逻辑流表中的 所述第三传输层协议的匹配域值。
12、 根据权利要求 9-1 1 中任一项所述的交换机, 其特征在于, 还 包括:
检查单元, 用于在所述生成单元根据至少一个所述第一流表项生成 物理流表之前, 根据所述逻辑流表检查至少一个所述第一流表项的合法 性;
所述生成单元, 还用于根据所述检查单元检查得到的满足所述合法 性的所述第一流表项生成所述物理流表。
13、 根据权利要求 9所述的交换机, 其特征在于, 所述转发单元, 包括:
匹配模块, 用于在所述接收单元接收到所述数据包后, 在所述生成 单元生成的所述物理流表中查找与所述数据包匹配的所述物理流表项; 发送模块, 用于若所述匹配模块确定所述物理流表中不包含与所述 数据包匹配的所述物理流表项, 则发送流表项请求消息至所述控制器, 以使所述控制器根据所述流表项请求消息为所述数据包配置第二流表 项, 所述第二流表项为与所述数据包匹配的流表项;
接收模块, 用于接收来自所述控制器的所述第二流表项, 并根据所 述逻辑流表检查所述第二流表项的合法性;
生成模块, 用于生成与满足所述合法性的所述第二流表项对应的物 理流表项;
转发模块, 用于根据所述生成模块已生成的所述物理流表项转发所 述数据包。
14、 根据权利要求 13所述的交换机, 其特征在于, 还包括: 更新单元, 用于根据所述转发单元生成的所述与所述第二流表项对 应的物理流表项更新所述物理流表。
15、 根据权利要求 13所述的交换机, 其特征在于,
所述转发模块, 还用于若所述匹配模块确定所述物理流表中包含与 所述数据包匹配的所述物理流表项, 则根据所述与所述数据包匹配的所 述物理流表项转发所述数据包。
16、 根据权利要求 9或 13所述的交换机, 其特征在于, 在所述第一流表项或者所述第二流表项中, 当所述网络层协议指示 信息指示所述数据包适用于所述第一网络层协议时, 所述第二网络层协 议的匹配域值为任意值; 当所述网络层协议指示信息指示所述数据包适 用于所述第二网络层协议时, 所述第一网络层协议的匹配域值为任意 值;
在所述第一流表项或者所述第二流表项中, 当所述传输层协议指示 信息指示所述数据包适用于所述第一传输层协议时, 所述第二传输层协 议和第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信息 指示所述数据包适用于所述第二传输层协议时, 所述第一传输层协议和 第三传输层协议的匹配域值为任意值; 当所述传输层协议指示信息指示 所述数据包适用于所述第三传输层协议时, 所述第一传输层协议和第二 传输层协议的匹配域值为任意值。
1 7、 一种流表交互系统, 其特征在于, 包括:
如权力要求 9-1 6中任一项所述的交换机; 控制器;
所述控制器, 用于在于所述交换机建立连接后, 发送流表能力请求 消息至所述交换机; 接收来自所述交换机的逻辑流表, 所述逻辑流表包 括: 所述交换机中预存的流表个数和每个所述预存的流表的流表能力; 根据所述逻辑流表为所述交换机配置至少一个用于指示数据包转发策 略的第一流表项; 发送至少一个所述第一流表项至所述交换机, 以使所 述交换机根据至少一个所述第一流表项生成物理流表, 进而使所述交换 机在接收到数据包后根据所述物理流表转发所述数据包。
1 8、 根据权利要求 1 7 所述的流表交互系统, 其特征在于, 所述控 制器, 还用于接收来自所述交换机的所述流表项请求消息, 并根据所述 流表项请求消息为所述数据包配置第二流表项;
其中, 所述流表项请求消息为所述交换机在所述物理流表中不包含 与所述数据包匹配的所述物理流表项时发送的。
PCT/CN2014/080575 2013-07-31 2014-06-24 一种流表交互方法、交换机及系统 WO2015014177A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310329300.XA CN104348757B (zh) 2013-07-31 2013-07-31 一种流表交互方法、交换机及系统
CN201310329300.X 2013-07-31

Publications (1)

Publication Number Publication Date
WO2015014177A1 true WO2015014177A1 (zh) 2015-02-05

Family

ID=52430957

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/080575 WO2015014177A1 (zh) 2013-07-31 2014-06-24 一种流表交互方法、交换机及系统

Country Status (2)

Country Link
CN (1) CN104348757B (zh)
WO (1) WO2015014177A1 (zh)

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218572B2 (en) 2017-06-19 2019-02-26 Cisco Technology, Inc. Multiprotocol border gateway protocol routing validation
US10333787B2 (en) 2017-06-19 2019-06-25 Cisco Technology, Inc. Validation of L3OUT configuration for communications outside a network
US10333833B2 (en) 2017-09-25 2019-06-25 Cisco Technology, Inc. Endpoint path assurance
US10341184B2 (en) 2017-06-19 2019-07-02 Cisco Technology, Inc. Validation of layer 3 bridge domain subnets in in a network
US10348564B2 (en) 2017-06-19 2019-07-09 Cisco Technology, Inc. Validation of routing information base-forwarding information base equivalence in a network
US10411996B2 (en) 2017-06-19 2019-09-10 Cisco Technology, Inc. Validation of routing information in a network fabric
US10432467B2 (en) 2017-06-19 2019-10-01 Cisco Technology, Inc. Network validation between the logical level and the hardware level of a network
US10437641B2 (en) 2017-06-19 2019-10-08 Cisco Technology, Inc. On-demand processing pipeline interleaved with temporal processing pipeline
US10439875B2 (en) 2017-05-31 2019-10-08 Cisco Technology, Inc. Identification of conflict rules in a network intent formal equivalence failure
US10498608B2 (en) 2017-06-16 2019-12-03 Cisco Technology, Inc. Topology explorer
US10505816B2 (en) 2017-05-31 2019-12-10 Cisco Technology, Inc. Semantic analysis to detect shadowing of rules in a model of network intents
US10528444B2 (en) 2017-06-19 2020-01-07 Cisco Technology, Inc. Event generation in response to validation between logical level and hardware level
US10536337B2 (en) 2017-06-19 2020-01-14 Cisco Technology, Inc. Validation of layer 2 interface and VLAN in a networked environment
US10547715B2 (en) 2017-06-16 2020-01-28 Cisco Technology, Inc. Event generation in response to network intent formal equivalence failures
US10547509B2 (en) 2017-06-19 2020-01-28 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
US10554483B2 (en) 2017-05-31 2020-02-04 Cisco Technology, Inc. Network policy analysis for networks
US10554477B2 (en) 2017-09-13 2020-02-04 Cisco Technology, Inc. Network assurance event aggregator
US10554493B2 (en) 2017-06-19 2020-02-04 Cisco Technology, Inc. Identifying mismatches between a logical model and node implementation
US10560355B2 (en) 2017-06-19 2020-02-11 Cisco Technology, Inc. Static endpoint validation
US10560328B2 (en) 2017-04-20 2020-02-11 Cisco Technology, Inc. Static network policy analysis for networks
US10567229B2 (en) 2017-06-19 2020-02-18 Cisco Technology, Inc. Validating endpoint configurations between nodes
US10567228B2 (en) 2017-06-19 2020-02-18 Cisco Technology, Inc. Validation of cross logical groups in a network
US10572495B2 (en) 2018-02-06 2020-02-25 Cisco Technology Inc. Network assurance database version compatibility
US10574513B2 (en) 2017-06-16 2020-02-25 Cisco Technology, Inc. Handling controller and node failure scenarios during data collection
US10581694B2 (en) 2017-05-31 2020-03-03 Cisco Technology, Inc. Generation of counter examples for network intent formal equivalence failures
US10587484B2 (en) 2017-09-12 2020-03-10 Cisco Technology, Inc. Anomaly detection and reporting in a network assurance appliance
US10587456B2 (en) 2017-09-12 2020-03-10 Cisco Technology, Inc. Event clustering for a network assurance platform
US10587621B2 (en) 2017-06-16 2020-03-10 Cisco Technology, Inc. System and method for migrating to and maintaining a white-list network security model
US10616072B1 (en) 2018-07-27 2020-04-07 Cisco Technology, Inc. Epoch data interface
US10623259B2 (en) 2017-06-19 2020-04-14 Cisco Technology, Inc. Validation of layer 1 interface in a network
US10623264B2 (en) 2017-04-20 2020-04-14 Cisco Technology, Inc. Policy assurance for service chaining
US10623271B2 (en) 2017-05-31 2020-04-14 Cisco Technology, Inc. Intra-priority class ordering of rules corresponding to a model of network intents
US10644946B2 (en) 2017-06-19 2020-05-05 Cisco Technology, Inc. Detection of overlapping subnets in a network
US10652102B2 (en) 2017-06-19 2020-05-12 Cisco Technology, Inc. Network node memory utilization analysis
US10659298B1 (en) 2018-06-27 2020-05-19 Cisco Technology, Inc. Epoch comparison for network events
US10673702B2 (en) 2017-06-19 2020-06-02 Cisco Technology, Inc. Validation of layer 3 using virtual routing forwarding containers in a network
US10686669B2 (en) 2017-06-16 2020-06-16 Cisco Technology, Inc. Collecting network models and node information from a network
US10693738B2 (en) 2017-05-31 2020-06-23 Cisco Technology, Inc. Generating device-level logical models for a network
US10700933B2 (en) 2017-06-19 2020-06-30 Cisco Technology, Inc. Validating tunnel endpoint addresses in a network fabric
US10797951B2 (en) 2014-10-16 2020-10-06 Cisco Technology, Inc. Discovering and grouping application endpoints in a network environment
US10805160B2 (en) 2017-06-19 2020-10-13 Cisco Technology, Inc. Endpoint bridge domain subnet validation
US10812315B2 (en) 2018-06-07 2020-10-20 Cisco Technology, Inc. Cross-domain network assurance
US10812336B2 (en) 2017-06-19 2020-10-20 Cisco Technology, Inc. Validation of bridge domain-L3out association for communication outside a network
US10812318B2 (en) 2017-05-31 2020-10-20 Cisco Technology, Inc. Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment
US10826770B2 (en) 2018-07-26 2020-11-03 Cisco Technology, Inc. Synthesis of models for networks using automated boolean learning
US10826788B2 (en) 2017-04-20 2020-11-03 Cisco Technology, Inc. Assurance of quality-of-service configurations in a network
US10873509B2 (en) 2018-01-17 2020-12-22 Cisco Technology, Inc. Check-pointing ACI network state and re-execution from a check-pointed state
US10904070B2 (en) 2018-07-11 2021-01-26 Cisco Technology, Inc. Techniques and interfaces for troubleshooting datacenter networks
US10904101B2 (en) 2017-06-16 2021-01-26 Cisco Technology, Inc. Shim layer for extracting and prioritizing underlying rules for modeling network intents
US10911495B2 (en) 2018-06-27 2021-02-02 Cisco Technology, Inc. Assurance of security rules in a network
US11019027B2 (en) 2018-06-27 2021-05-25 Cisco Technology, Inc. Address translation for external network appliance
US11044273B2 (en) 2018-06-27 2021-06-22 Cisco Technology, Inc. Assurance of security rules in a network
US11102053B2 (en) 2017-12-05 2021-08-24 Cisco Technology, Inc. Cross-domain assurance
US11121927B2 (en) 2017-06-19 2021-09-14 Cisco Technology, Inc. Automatically determining an optimal amount of time for analyzing a distributed network environment
US11150973B2 (en) 2017-06-16 2021-10-19 Cisco Technology, Inc. Self diagnosing distributed appliance
US11218508B2 (en) 2018-06-27 2022-01-04 Cisco Technology, Inc. Assurance of security rules in a network
US11258657B2 (en) 2017-05-31 2022-02-22 Cisco Technology, Inc. Fault localization in large-scale network policy deployment
US11283680B2 (en) 2017-06-19 2022-03-22 Cisco Technology, Inc. Identifying components for removal in a network configuration
US11343150B2 (en) 2017-06-19 2022-05-24 Cisco Technology, Inc. Validation of learned routes in a network
US11469986B2 (en) 2017-06-16 2022-10-11 Cisco Technology, Inc. Controlled micro fault injection on a distributed appliance
CN115442292A (zh) * 2022-08-29 2022-12-06 中国联合网络通信集团有限公司 数据流表的调整方法、装置、设备及存储介质
US11645131B2 (en) 2017-06-16 2023-05-09 Cisco Technology, Inc. Distributed fault code aggregation across application centric dimensions

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9801176B2 (en) * 2015-07-20 2017-10-24 The Boeing Company FDMA/TDMA architecture using channelizer and matrix power amplifier
CN107360115A (zh) * 2016-05-09 2017-11-17 中兴通讯股份有限公司 一种sdn网络防护方法及装置
CN108512776B (zh) * 2018-03-07 2021-09-14 深圳市风云实业有限公司 交换芯片中tcam表的灵活组合方法、装置及芯片
CN110266595A (zh) * 2018-03-12 2019-09-20 中兴通讯股份有限公司 报文匹配信息的发送方法、装置、存储介质及电子装置
CN111327485A (zh) * 2018-12-14 2020-06-23 中兴通讯股份有限公司 一种流表监测器管理方法、装置、网络设备及网络系统
CN116684358B (zh) * 2023-07-31 2023-12-12 之江实验室 一种可编程网元设备的流表管理系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102726007A (zh) * 2009-04-01 2012-10-10 Nicira网络公司 用于实现和管理虚拟交换机的方法和装置
CN102780608A (zh) * 2011-05-13 2012-11-14 国际商业机器公司 用于分布式虚拟交换机的私有虚拟局域网方法和系统
CN103051629A (zh) * 2012-12-24 2013-04-17 华为技术有限公司 一种基于软件定义网络中数据处理的系统、方法和节点
WO2013093857A1 (en) * 2011-12-22 2013-06-27 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
CN103209121A (zh) * 2013-03-15 2013-07-17 中兴通讯股份有限公司 基于开放流协议的控制面设备的发现处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685006A (zh) * 2012-05-03 2012-09-19 中兴通讯股份有限公司 一种转发数据报文的方法及装置
CN102946325B (zh) * 2012-11-14 2015-06-03 中兴通讯股份有限公司 一种基于软件定义网络的网络诊断方法、系统及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102726007A (zh) * 2009-04-01 2012-10-10 Nicira网络公司 用于实现和管理虚拟交换机的方法和装置
CN102780608A (zh) * 2011-05-13 2012-11-14 国际商业机器公司 用于分布式虚拟交换机的私有虚拟局域网方法和系统
WO2013093857A1 (en) * 2011-12-22 2013-06-27 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
CN103051629A (zh) * 2012-12-24 2013-04-17 华为技术有限公司 一种基于软件定义网络中数据处理的系统、方法和节点
CN103209121A (zh) * 2013-03-15 2013-07-17 中兴通讯股份有限公司 基于开放流协议的控制面设备的发现处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"OpenFlow", OPENFLOW SWITCH SPECIFICATION V1.3.0, 25 June 2012 (2012-06-25) *

Cited By (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11824719B2 (en) 2014-10-16 2023-11-21 Cisco Technology, Inc. Discovering and grouping application endpoints in a network environment
US11811603B2 (en) 2014-10-16 2023-11-07 Cisco Technology, Inc. Discovering and grouping application endpoints in a network environment
US11539588B2 (en) 2014-10-16 2022-12-27 Cisco Technology, Inc. Discovering and grouping application endpoints in a network environment
US10797951B2 (en) 2014-10-16 2020-10-06 Cisco Technology, Inc. Discovering and grouping application endpoints in a network environment
US10560328B2 (en) 2017-04-20 2020-02-11 Cisco Technology, Inc. Static network policy analysis for networks
US10623264B2 (en) 2017-04-20 2020-04-14 Cisco Technology, Inc. Policy assurance for service chaining
US10826788B2 (en) 2017-04-20 2020-11-03 Cisco Technology, Inc. Assurance of quality-of-service configurations in a network
US11178009B2 (en) 2017-04-20 2021-11-16 Cisco Technology, Inc. Static network policy analysis for networks
US10439875B2 (en) 2017-05-31 2019-10-08 Cisco Technology, Inc. Identification of conflict rules in a network intent formal equivalence failure
US10812318B2 (en) 2017-05-31 2020-10-20 Cisco Technology, Inc. Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment
US10505816B2 (en) 2017-05-31 2019-12-10 Cisco Technology, Inc. Semantic analysis to detect shadowing of rules in a model of network intents
US11411803B2 (en) 2017-05-31 2022-08-09 Cisco Technology, Inc. Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment
US11303531B2 (en) 2017-05-31 2022-04-12 Cisco Technologies, Inc. Generation of counter examples for network intent formal equivalence failures
US10581694B2 (en) 2017-05-31 2020-03-03 Cisco Technology, Inc. Generation of counter examples for network intent formal equivalence failures
US11258657B2 (en) 2017-05-31 2022-02-22 Cisco Technology, Inc. Fault localization in large-scale network policy deployment
US10554483B2 (en) 2017-05-31 2020-02-04 Cisco Technology, Inc. Network policy analysis for networks
US10623271B2 (en) 2017-05-31 2020-04-14 Cisco Technology, Inc. Intra-priority class ordering of rules corresponding to a model of network intents
US10693738B2 (en) 2017-05-31 2020-06-23 Cisco Technology, Inc. Generating device-level logical models for a network
US10951477B2 (en) 2017-05-31 2021-03-16 Cisco Technology, Inc. Identification of conflict rules in a network intent formal equivalence failure
US11463316B2 (en) 2017-06-16 2022-10-04 Cisco Technology, Inc. Topology explorer
US11102337B2 (en) 2017-06-16 2021-08-24 Cisco Technology, Inc. Event generation in response to network intent formal equivalence failures
US10904101B2 (en) 2017-06-16 2021-01-26 Cisco Technology, Inc. Shim layer for extracting and prioritizing underlying rules for modeling network intents
US11150973B2 (en) 2017-06-16 2021-10-19 Cisco Technology, Inc. Self diagnosing distributed appliance
US10574513B2 (en) 2017-06-16 2020-02-25 Cisco Technology, Inc. Handling controller and node failure scenarios during data collection
US10547715B2 (en) 2017-06-16 2020-01-28 Cisco Technology, Inc. Event generation in response to network intent formal equivalence failures
US10498608B2 (en) 2017-06-16 2019-12-03 Cisco Technology, Inc. Topology explorer
US11469986B2 (en) 2017-06-16 2022-10-11 Cisco Technology, Inc. Controlled micro fault injection on a distributed appliance
US10587621B2 (en) 2017-06-16 2020-03-10 Cisco Technology, Inc. System and method for migrating to and maintaining a white-list network security model
US11563645B2 (en) 2017-06-16 2023-01-24 Cisco Technology, Inc. Shim layer for extracting and prioritizing underlying rules for modeling network intents
US10686669B2 (en) 2017-06-16 2020-06-16 Cisco Technology, Inc. Collecting network models and node information from a network
US11645131B2 (en) 2017-06-16 2023-05-09 Cisco Technology, Inc. Distributed fault code aggregation across application centric dimensions
US10873505B2 (en) 2017-06-19 2020-12-22 Cisco Technology, Inc. Validation of layer 2 interface and VLAN in a networked environment
US11153167B2 (en) 2017-06-19 2021-10-19 Cisco Technology, Inc. Validation of L3OUT configuration for communications outside a network
US10652102B2 (en) 2017-06-19 2020-05-12 Cisco Technology, Inc. Network node memory utilization analysis
US10333787B2 (en) 2017-06-19 2019-06-25 Cisco Technology, Inc. Validation of L3OUT configuration for communications outside a network
US10673702B2 (en) 2017-06-19 2020-06-02 Cisco Technology, Inc. Validation of layer 3 using virtual routing forwarding containers in a network
US10623259B2 (en) 2017-06-19 2020-04-14 Cisco Technology, Inc. Validation of layer 1 interface in a network
US11750463B2 (en) 2017-06-19 2023-09-05 Cisco Technology, Inc. Automatically determining an optimal amount of time for analyzing a distributed network environment
US10700933B2 (en) 2017-06-19 2020-06-30 Cisco Technology, Inc. Validating tunnel endpoint addresses in a network fabric
US11736351B2 (en) 2017-06-19 2023-08-22 Cisco Technology Inc. Identifying components for removal in a network configuration
US10805160B2 (en) 2017-06-19 2020-10-13 Cisco Technology, Inc. Endpoint bridge domain subnet validation
US10341184B2 (en) 2017-06-19 2019-07-02 Cisco Technology, Inc. Validation of layer 3 bridge domain subnets in in a network
US10812336B2 (en) 2017-06-19 2020-10-20 Cisco Technology, Inc. Validation of bridge domain-L3out association for communication outside a network
US11595257B2 (en) 2017-06-19 2023-02-28 Cisco Technology, Inc. Validation of cross logical groups in a network
US11570047B2 (en) 2017-06-19 2023-01-31 Cisco Technology, Inc. Detection of overlapping subnets in a network
US10348564B2 (en) 2017-06-19 2019-07-09 Cisco Technology, Inc. Validation of routing information base-forwarding information base equivalence in a network
US10862752B2 (en) 2017-06-19 2020-12-08 Cisco Technology, Inc. Network validation between the logical level and the hardware level of a network
US11558260B2 (en) 2017-06-19 2023-01-17 Cisco Technology, Inc. Network node memory utilization analysis
US10873506B2 (en) 2017-06-19 2020-12-22 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
US10218572B2 (en) 2017-06-19 2019-02-26 Cisco Technology, Inc. Multiprotocol border gateway protocol routing validation
US10880169B2 (en) 2017-06-19 2020-12-29 Cisco Technology, Inc. Multiprotocol border gateway protocol routing validation
US10411996B2 (en) 2017-06-19 2019-09-10 Cisco Technology, Inc. Validation of routing information in a network fabric
US10567228B2 (en) 2017-06-19 2020-02-18 Cisco Technology, Inc. Validation of cross logical groups in a network
US10432467B2 (en) 2017-06-19 2019-10-01 Cisco Technology, Inc. Network validation between the logical level and the hardware level of a network
US10567229B2 (en) 2017-06-19 2020-02-18 Cisco Technology, Inc. Validating endpoint configurations between nodes
US10972352B2 (en) 2017-06-19 2021-04-06 Cisco Technology, Inc. Validation of routing information base-forwarding information base equivalence in a network
US11469952B2 (en) 2017-06-19 2022-10-11 Cisco Technology, Inc. Identifying mismatches between a logical model and node implementation
US10437641B2 (en) 2017-06-19 2019-10-08 Cisco Technology, Inc. On-demand processing pipeline interleaved with temporal processing pipeline
US11438234B2 (en) 2017-06-19 2022-09-06 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
US11063827B2 (en) 2017-06-19 2021-07-13 Cisco Technology, Inc. Validation of layer 3 bridge domain subnets in a network
US10528444B2 (en) 2017-06-19 2020-01-07 Cisco Technology, Inc. Event generation in response to validation between logical level and hardware level
US11102111B2 (en) 2017-06-19 2021-08-24 Cisco Technology, Inc. Validation of routing information in a network fabric
US10560355B2 (en) 2017-06-19 2020-02-11 Cisco Technology, Inc. Static endpoint validation
US11405278B2 (en) 2017-06-19 2022-08-02 Cisco Technology, Inc. Validating tunnel endpoint addresses in a network fabric
US11121927B2 (en) 2017-06-19 2021-09-14 Cisco Technology, Inc. Automatically determining an optimal amount of time for analyzing a distributed network environment
US10644946B2 (en) 2017-06-19 2020-05-05 Cisco Technology, Inc. Detection of overlapping subnets in a network
US10554493B2 (en) 2017-06-19 2020-02-04 Cisco Technology, Inc. Identifying mismatches between a logical model and node implementation
US11343150B2 (en) 2017-06-19 2022-05-24 Cisco Technology, Inc. Validation of learned routes in a network
US11303520B2 (en) 2017-06-19 2022-04-12 Cisco Technology, Inc. Validation of cross logical groups in a network
US10547509B2 (en) 2017-06-19 2020-01-28 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
US11283680B2 (en) 2017-06-19 2022-03-22 Cisco Technology, Inc. Identifying components for removal in a network configuration
US11283682B2 (en) 2017-06-19 2022-03-22 Cisco Technology, Inc. Validation of bridge domain-L3out association for communication outside a network
US10536337B2 (en) 2017-06-19 2020-01-14 Cisco Technology, Inc. Validation of layer 2 interface and VLAN in a networked environment
US11115300B2 (en) 2017-09-12 2021-09-07 Cisco Technology, Inc Anomaly detection and reporting in a network assurance appliance
US11038743B2 (en) 2017-09-12 2021-06-15 Cisco Technology, Inc. Event clustering for a network assurance platform
US10587456B2 (en) 2017-09-12 2020-03-10 Cisco Technology, Inc. Event clustering for a network assurance platform
US10587484B2 (en) 2017-09-12 2020-03-10 Cisco Technology, Inc. Anomaly detection and reporting in a network assurance appliance
US10554477B2 (en) 2017-09-13 2020-02-04 Cisco Technology, Inc. Network assurance event aggregator
US10333833B2 (en) 2017-09-25 2019-06-25 Cisco Technology, Inc. Endpoint path assurance
US11102053B2 (en) 2017-12-05 2021-08-24 Cisco Technology, Inc. Cross-domain assurance
US10873509B2 (en) 2018-01-17 2020-12-22 Cisco Technology, Inc. Check-pointing ACI network state and re-execution from a check-pointed state
US11824728B2 (en) 2018-01-17 2023-11-21 Cisco Technology, Inc. Check-pointing ACI network state and re-execution from a check-pointed state
US10572495B2 (en) 2018-02-06 2020-02-25 Cisco Technology Inc. Network assurance database version compatibility
US10812315B2 (en) 2018-06-07 2020-10-20 Cisco Technology, Inc. Cross-domain network assurance
US11902082B2 (en) 2018-06-07 2024-02-13 Cisco Technology, Inc. Cross-domain network assurance
US11374806B2 (en) 2018-06-07 2022-06-28 Cisco Technology, Inc. Cross-domain network assurance
US10659298B1 (en) 2018-06-27 2020-05-19 Cisco Technology, Inc. Epoch comparison for network events
US10911495B2 (en) 2018-06-27 2021-02-02 Cisco Technology, Inc. Assurance of security rules in a network
US11019027B2 (en) 2018-06-27 2021-05-25 Cisco Technology, Inc. Address translation for external network appliance
US11044273B2 (en) 2018-06-27 2021-06-22 Cisco Technology, Inc. Assurance of security rules in a network
US11218508B2 (en) 2018-06-27 2022-01-04 Cisco Technology, Inc. Assurance of security rules in a network
US11888603B2 (en) 2018-06-27 2024-01-30 Cisco Technology, Inc. Assurance of security rules in a network
US11909713B2 (en) 2018-06-27 2024-02-20 Cisco Technology, Inc. Address translation for external network appliance
US11805004B2 (en) 2018-07-11 2023-10-31 Cisco Technology, Inc. Techniques and interfaces for troubleshooting datacenter networks
US10904070B2 (en) 2018-07-11 2021-01-26 Cisco Technology, Inc. Techniques and interfaces for troubleshooting datacenter networks
US10826770B2 (en) 2018-07-26 2020-11-03 Cisco Technology, Inc. Synthesis of models for networks using automated boolean learning
US10616072B1 (en) 2018-07-27 2020-04-07 Cisco Technology, Inc. Epoch data interface
CN115442292B (zh) * 2022-08-29 2023-10-03 中国联合网络通信集团有限公司 数据流表的调整方法、装置、设备及存储介质
CN115442292A (zh) * 2022-08-29 2022-12-06 中国联合网络通信集团有限公司 数据流表的调整方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN104348757A (zh) 2015-02-11
CN104348757B (zh) 2018-03-16

Similar Documents

Publication Publication Date Title
WO2015014177A1 (zh) 一种流表交互方法、交换机及系统
US11190446B2 (en) Anchoring IP devices in ICN networks
JP6174055B2 (ja) アクセス識別子ベースマルチキャスト通信のための装置および方法
WO2019137524A1 (zh) 确定网络服务质量流的方法、网元和系统
WO2019052376A1 (zh) 一种业务处理方法、移动边缘计算设备及网络设备
WO2014127623A1 (zh) 数据源移动的处理方法、转发报文的方法及其装置
CN109714274B (zh) 一种获取对应关系的方法和路由设备
US9603082B2 (en) Feedback method for active scanning of user terminal, and access point
WO2021243837A1 (zh) 基于ursp规则的应用数据路由方法及用户设备
WO2014139114A1 (zh) 一种设备发现方法、用户设备、服务器及系统
US20170332439A1 (en) Extending the range of mesh networks
WO2014190690A1 (zh) 信息为中心网络icn中转发报文的方法、装置及系统
US11877251B2 (en) Time synchronization method, electronic device and storage medium
US10070473B2 (en) Signal transmission method for device to device direct communication between user equipments and user equipment
CN113875169A (zh) 多跳无线中继支持
WO2015085491A1 (zh) 一种流表的生成方法和装置
WO2022012141A1 (zh) 信息传输方法、装置与存储介质
CN111034133B (zh) 用于处理针对资源的查询的方法和设备
WO2023125168A1 (zh) 通信方法和装置
WO2015096734A1 (zh) 一种业务数据的下行传输方法及分组数据网关
TW202329753A (zh) 用於無線通訊的方法及使用者設備
WO2017193363A1 (zh) 业务数据流发送方法及装置
CN111034121B (zh) Http响应的自组织链路本地多播传送
CN114556894A (zh) 用于分组转发控制协议消息捆绑的方法、装置和计算机程序产品
CN112640370A (zh) 用于多播分组的层2转发的方法和装置

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

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

Country of ref document: EP

Kind code of ref document: A1