WO2013086897A1 - 生成表项的方法、接收报文的方法及相应装置和*** - Google Patents

生成表项的方法、接收报文的方法及相应装置和*** Download PDF

Info

Publication number
WO2013086897A1
WO2013086897A1 PCT/CN2012/083268 CN2012083268W WO2013086897A1 WO 2013086897 A1 WO2013086897 A1 WO 2013086897A1 CN 2012083268 W CN2012083268 W CN 2012083268W WO 2013086897 A1 WO2013086897 A1 WO 2013086897A1
Authority
WO
WIPO (PCT)
Prior art keywords
entry
packet
forwarding device
flow
control plane
Prior art date
Application number
PCT/CN2012/083268
Other languages
English (en)
French (fr)
Inventor
夏寅贲
李凤凯
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP12857699.8A priority Critical patent/EP2773073B1/en
Priority to JP2014546291A priority patent/JP5867942B2/ja
Publication of WO2013086897A1 publication Critical patent/WO2013086897A1/zh
Priority to US14/300,532 priority patent/US20140286342A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Definitions

  • the present invention relates to the field of network communications, and in particular, to a method for generating an entry, a method for receiving a message, a flow forwarding device, a control plane device, and a communication system.
  • a network architecture in which control and forwarding are separated is a novel network architecture.
  • the network architecture includes a stream forwarding device and a control plane device.
  • the stream forwarding device processes the received packet according to the flow table.
  • the control plane device controls the flow forwarding device through the control channel.
  • the flow forwarding device searches the flow table for the flow table entry that matches the received packet. In order to obtain the fine matching entry corresponding to the packet, the flow forwarding device needs to send the packet or the header of the packet to the control plane device, so that the control plane device generates the fine matching entry, and The fine matching entry is delivered to the flow forwarding device.
  • the flow forwarding device needs to interact with the control plane device through the control channel, and the flow forwarding device interacts with the control plane device to occupy the bandwidth of the control channel.
  • the embodiments of the present invention provide a method for generating an entry, a method for receiving a message, a flow forwarding device, a control plane device, and a communication system, and the flow forwarding device does not need to interact with the control plane device through the control channel to obtain a fine matching entry.
  • an embodiment of the present invention provides a method for generating an entry, including:
  • the stream forwarding device receives the first packet, where the stream forwarding device is a stream forwarding device in a network architecture separated from the control and forwarding;
  • the flow forwarding device searches the flow table for the first entry that matches the first packet, and the set of the fields that match the first packet in the first entry is the first set;
  • the flow forwarding device generates a second entry according to the first entry, where the set of fields matching the first packet in the second entry is a second set, and the first set is a child of the second set Set, the first set is not equal to the second set.
  • the embodiment of the present invention further provides a method for receiving a message, including: the control plane device receives, by using a control channel, a first message sent by the stream forwarding device, where the control plane device is in a network architecture separated from control and forwarding.
  • the control plane device the first message includes a second entry, where the second entry is obtained by: the flow forwarding device receiving the first packet, where the flow forwarding device is a flow forwarding in a network architecture separate from control and forwarding
  • the device the flow forwarding device searches the flow table for the first entry that matches the first "number", and the set of the fields in the first entry that match the first one is the first set;
  • the flow forwarding device generates the second entry according to the first entry, where the set of fields matching the first packet in the second entry is a second set, and the first set is the second set a subset, the first set is not equal to the second set;
  • the control surface device stores the second entry.
  • the embodiment of the present invention further provides a flow forwarding device, which is a flow forwarding device in a network architecture separated from control and forwarding, and the flow forwarding device includes:
  • a first receiver a lookup unit, and an entry generation unit
  • the first receiver is configured to receive the first packet
  • the searching unit is configured to search, in the flow table, a first entry that matches the first packet, where the set of fields that match the first packet in the first entry is the first set;
  • the entry generating unit is configured to generate a second entry according to the first entry, where the set of the fields matching the first packet in the second entry is a second set, and the first set is the second A subset of the collection, the first collection is not equal to the second collection.
  • control plane device which is a control plane device in a network architecture separated from control and forwarding, and the control plane device includes:
  • the second receiver is configured to receive, by using a control channel, a first message sent by the flow forwarding device, where the first message includes a second entry, where the second entry is obtained by: the flow forwarding device receiving the first packet, where The flow forwarding device is a flow forwarding device in a network architecture separated from control and forwarding; The flow forwarding device searches the flow table for the first entry that matches the first packet, where the set of fields matching the first packet in the first entry is the first set; The first entry generates the second entry, where the set of fields matching the first packet in the second entry is a second set, and the first set is a subset of the second set, the first A set is not equal to the first save unit for saving the second entry.
  • an embodiment of the present invention further provides a communication system, including:
  • the stream forwarding device is a stream forwarding device in a network architecture separated from control and forwarding
  • the control plane device being a control plane device in a network architecture separated from control and forwarding
  • the flow forwarding device includes a first receiver, a searching unit, an entry generating unit, and a transmitter; the first receiver is configured to receive the first packet;
  • the searching unit is configured to search, in the flow table, a first entry that matches the first packet, where the set of fields that match the first packet in the first entry is the first set;
  • the entry generating unit is configured to generate a second entry according to the first entry, where the set of the fields matching the first packet in the second entry is a second set, and the first set is the second a subset of the set, the first set is not equal to the second set;
  • the transmitter is configured to send a first message to the control plane device by using a control channel, where the first message includes the second entry;
  • the control surface device includes a second receiver and a saving unit
  • the second receiver is configured to receive the first message by using a control channel
  • the saving unit is configured to save the second entry to the control plane device.
  • the flow forwarding device can generate the second entry according to the matching of the received packet with the first entry, without obtaining the second entry by interacting with the control plane device, which is reduced.
  • FIG. 1 is a flowchart of a method for generating an entry according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a flow table according to an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a first entry provided by an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of a second entry provided by an embodiment of the present invention.
  • FIG. 5 is a flowchart of a method for receiving a message according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a stream forwarding apparatus according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a control plane device according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a communication system according to an embodiment of the present invention.
  • Embodiments of the present invention relate to a network architecture that separates control from forwarding.
  • the network architecture separated by control and forwarding includes a flow forwarding device and a control plane device.
  • the stream forwarding device processes the received message according to the flow table.
  • the control plane device controls the flow forwarding device through the control channel.
  • the separation of control and forwarding means that the stream forwarding device is separated from the control plane device.
  • the stream forwarding device transfers some or all of the functions of the control plane to the control plane device.
  • the stream forwarding device has the capability to communicate with the control plane device.
  • the stream forwarding device can communicate with the control plane device through the control channel.
  • the flow forwarding device can forward the received packet according to the flow table.
  • it can be Layer 2 forwarding or Layer 3 forwarding.
  • Layer 2 forwarding or Layer 3 forwarding.
  • Layer 3 forwarding For the second and third layers, please refer to the Open Systems Interconnection model (OSI model).
  • OSI model Open Systems Interconnection model
  • the stream forwarding device When the stream forwarding device is specifically implemented, it may be a switch or a router.
  • the stream forwarding device When the stream forwarding device is a switch, it may specifically be an OpenFlow Switch.
  • OpenFlow Switches please refer to the OpenFlow Switch Specification 1.0 released by the standards development organization OpenFlow Networking Foundation (OFN).
  • control plane device When the control plane device is specifically implemented, it may be an OpenFlow Controller.
  • OpenFlow Controllers please refer to the OpenFlow Switch Specification Version 1.0 released by the standards development organization OpenFlow Network Foundation.
  • control channel When the control channel is specifically implemented, it may be a secure channel (Secure Channel) in which the development flow switch interacts with the open flow controller.
  • Secure Channel Secure Channel
  • the control channel may be a secure channel (Secure Channel) in which the development flow switch interacts with the open flow controller.
  • Secure Channel Secure Channel
  • Version 1.0 of the OpenFlow Switch Specification published by the standards development organization OpenFlow Network please refer to Version 1.0 of the OpenFlow Switch Specification published by the standards development organization OpenFlow Network.
  • the embodiment of the invention provides a method for generating an entry, and the flow forwarding device does not need to interact with the control plane device to obtain a fine matching entry.
  • the method includes:
  • the stream forwarding device receives the first packet, where the stream forwarding device is a stream forwarding device in a network architecture separate from control and forwarding.
  • the stream forwarding device When the stream forwarding device is specifically implemented, it may be an open flow switch.
  • the first packet When the first packet is specifically implemented, it may be an Internet Protocol Packet (IP Packet) or a Media Access Control (MAC) protocol frame.
  • IP Packet Internet Protocol Packet
  • MAC Media Access Control
  • the flow forwarding device searches, in the flow table, a first entry that matches the first packet, where the set of fields that match the first packet in the first entry is the first set.
  • the Flow Table is stored in the stream forwarding device.
  • the flow table includes a first entry.
  • the control plane device When the first entry is specifically implemented, the control plane device generates the first entry, and sends the first entry to the flow forwarding device.
  • the flow table may include a plurality of flow entries (Flow Entry).
  • FIG. 2 is a schematic structural diagram of a flow table provided by this embodiment.
  • the flow table includes multiple flow table entries, which are flow table entry 1, flow table entry 2, flow table entry 3...
  • the flow table entry can include Match Fields, Counters, and Instructions.
  • the flow table entry may also be another structure.
  • the match field is used to determine whether the packet entering the flow forwarding device matches the entry of the flow table.
  • Match Fields can include one or more fields.
  • the foregoing fields may be an inbound interface, a source MAC address, a protocol address, a destination MAC address, a virtual local area network (VLAN) identifier (Identity, ID), and a multi-protocol label switching (Multi-Protocol Label Switching).
  • MPLS MPLS label, source Internet Protocol version 4 (IPv4) address, destination IPv4 address, User Datagram Protocol (UDP) port, Transmission Control Protocol (TCP) port or Stream Control Transmission Protocol (SCTP) port.
  • IPv4 Internet Protocol version 4
  • UDP User Datagram Protocol
  • TCP Transmission Control Protocol
  • SCTP Stream Control Transmission Protocol
  • the flow table entry matches the packet.
  • the first entry is a flow table entry that matches the first packet, so all the fields in the Match Fields of the first entry are consistent with the corresponding fields in the first packet.
  • the inbound interface actually used by the flow forwarding device to receive the packet is consistent with the inbound interface in the Match Fields, and the flow table entry matches the packet. Necessary conditions.
  • the first set is a set of fields in the first entry that match the first packet. Therefore, the first set contains all the fields in the Match Fields of the first entry.
  • FIG. 3 is a schematic structural diagram of a first entry provided by this embodiment.
  • the first entry may also have other structures.
  • the first entry consists of Match Fields, counters, and instructions.
  • Match Fields includes a field, which is the destination Internet Protocol (IP) address.
  • IP Internet Protocol
  • the value of this field is 191.1.1.1.
  • the first message is a MAC protocol frame, which specifically includes a MAC protocol header, an IP header, and a payload.
  • the MAC protocol header includes a source MAC protocol address and a destination MAC protocol address.
  • the IP header includes the source IP address and the destination IP address.
  • the destination IP address field in the first packet is a field corresponding to the Match Fields of the first entry.
  • the value of the destination IP address field in the first packet is 191.1.1.1.
  • the first set consists of one element, the element The destination IP address, the value of this element is 191.1.1.1.
  • the flow forwarding device generates a second entry according to the first entry, where the set of fields matching the first packet in the second entry is a second set, and the first set is the second set a subset of the first set that is not equal to the second set.
  • the second entry When the second entry is specifically implemented, it is similar to the first entry. For details, see the description of the first entry in 102.
  • the second entry is a flow table entry that matches the first packet.
  • the second set is a set of fields in the second entry that match the first message.
  • the Match Fields in the second entry include multiple fields.
  • the second set consists of multiple fields in the Match Fields of the second entry.
  • the first set is a subset of the second set, the first set being not equal to the second set. That is to say, the number of elements in the second set is greater than the number of elements in the first set.
  • the specific implementation of the second entry is generated according to the first entry, it may be:
  • the first packet is parsed, and the field is extracted from the header of the first packet.
  • the above fields can be one or more.
  • the above fields are the fields other than the fields contained in the Match Fields in the first entry.
  • the content of the first entry is copied, and the copied content is stored in the storage space corresponding to the second entry to be generated.
  • the copied content is consistent with the first entry.
  • Match Fields are included in the copied content.
  • the field extracted from the header of the first packet is added to the Match Fields to obtain the second entry.
  • the number of fields in the Match Fields of the second entry is greater than the number of fields in the Match Fields of the first entry.
  • the second entry is generated according to the first entry, and may also be implemented in other manners. For example, the content of the first entry is copied first, and the field extracted from the first message is added to the copied content. In addition, fields other than Match Fields in the second entry may be inconsistent with fields outside the Match Fields in the first entry.
  • FIG. 4 is a schematic structural diagram of a second entry provided by this embodiment.
  • the second entry can have other structures.
  • the second entry consists of Match Fields, counters, and instructions.
  • the counter in the second entry is the same as the counter in the first entry; the instruction in the second entry is the same as the instruction in the first entry.
  • the Match Fields of the second entry include the source MAC protocol. Address, destination MAC protocol address, source IP address, destination IP address, and port.
  • the first message is a MAC protocol frame, which specifically includes a MAC protocol header, an IP header, and a payload.
  • the MAC protocol header includes a source MAC protocol address and a destination MAC protocol address.
  • the IP header includes the source IP address and the destination IP address.
  • the source IP address, the destination IP address, the source MAC address, the destination MAC protocol address, and the port in the first file are fields corresponding to the Match Fields of the second entry.
  • the first set consists of five elements, specifically the source IP address, the destination IP address, the source MAC protocol address, the destination MAC protocol address, and the port.
  • the flow forwarding device can generate a second entry according to the first entry matching the received packet.
  • the stream forwarding device does not need to interact with the control plane device, reducing the bandwidth occupation of the control channel between the stream forwarding device and the control plane device.
  • the flow forwarding device After the flow forwarding device generates the second entry according to the first entry, the flow forwarding device further includes:
  • the flow forwarding device processes the first packet according to the second entry.
  • the processing of the first packet may be performed by determining the outbound interface for forwarding the first packet, encapsulating the first packet, sending the first packet to the control plane device, or discarding the first packet.
  • the second entry may include an instruction. See Figure 4 for details.
  • the stream forwarding device can process the first packet according to the instruction in the second entry.
  • the flow forwarding device After the flow forwarding device generates the second entry according to the first entry, the flow forwarding device further includes:
  • the flow forwarding device sends the second entry to the control plane device through the control channel, where the control plane device is a control plane device in a network architecture separated from control and forwarding.
  • control plane device When the control plane device is specifically implemented, it may be an open flow controller.
  • control channel When the control channel is implemented, it can be a secure channel for the development flow switch to interact with the open flow controller.
  • the flow forwarding device sends the specific implementation of the second entry, it may be:
  • a new message type is defined in the communication protocol of the stream forwarding device and the control plane device.
  • the packet type is used to identify that the packet carries the exact matching entry generated by the flow forwarding device.
  • the control plane device can identify that the packet carries the packet according to the packet header. The exact match entry generated by the device.
  • the flow forwarding device may encapsulate the second entry in the packet according to the new packet type, and send the packet to the control plane device through the control channel.
  • control plane device may save the second entry.
  • the control plane device may obtain, according to the saved second entry, the number of packets received by the stream forwarding device that match the second entry.
  • the flow forwarding device may perform statistics on the number of packets matching the second entry received by the counter to the flow forwarding device, and record the statistical result.
  • the counter can be included in the second entry.
  • the control plane device can obtain the above statistical result according to the saved second entry.
  • the control plane device may send the Match Fields in the saved second entry to the stream forwarding device.
  • the stream forwarding device finds the second entry based on the Match Fields sent by the control plane device.
  • the specific search process is similar to the flow forwarding device, and the first entry is found according to the first packet. For details, refer to 102, and details are not described herein. After the flow forwarding device finds the second entry, it sends the recorded statistical result in the second entry to the control plane device.
  • the flow forwarding device After the flow forwarding device generates the second entry according to the first entry, the flow forwarding device further includes:
  • the flow forwarding device receives the second packet.
  • the flow forwarding device determines whether the second entry matches the second packet. When the second entry matches the second packet, the flow forwarding device performs the second entry according to the second entry. The message is processed.
  • the second entry is a fine match entry relative to the first entry. If the packet received by the flow forwarding device matches the second entry, the packet must match the first entry.
  • the flow forwarding device can process the packet matching the first entry and matching the second entry according to the second entry.
  • the flow forwarding device determines whether the first entry matches the second entry, when the first entry and the second entry are When the file matches, the stream forwarding device processes the second packet according to the first entry. With this solution, the flow forwarding device can process the file that matches the first entry but does not match the second entry according to the first entry.
  • the embodiment of the invention provides a method for receiving a message, and the control plane device can obtain a fine matching entry sent by the flow forwarding device. In the process of obtaining a fine matching entry, the flow forwarding device does not need to interact with the control plane device. As shown in Figure 2, the method includes:
  • the control plane device receives, by using a control channel, a first message sent by the stream forwarding device, where the control plane device is a control plane device in a network architecture separated from control and forwarding, where the first message includes a second entry, the second table
  • the item is obtained by: the stream forwarding device receiving the first packet, the stream forwarding device is a stream forwarding device in a network architecture separated from the control and forwarding; the stream forwarding device searches the flow table for matching the first packet The first entry, the set of the fields matching the first packet in the first entry is the first set; the flow forwarding device generates the second entry according to the first entry, the second table
  • the set of fields matching the first packet in the item is a second set, and the first set is a subset of the second set, and the first set is not equal to the second set.
  • control plane device When the control plane device is specifically implemented, it may be an open flow controller.
  • control channel When the control channel is implemented, it can be a secure channel for the development flow switch to interact with the open flow controller.
  • the flow forwarding device transmits the second entry to the control plane device.
  • the second entry can be encapsulated in a Packet In message.
  • Packet In packets For details on Packet In packets, refer to the OpenFlow Switch Specification Version 1.0.
  • the control plane device stores the second entry.
  • control plane device may save the second entry.
  • the control plane device may obtain, according to the saved second entry, the number of packets received by the stream forwarding device that match the second entry.
  • the flow forwarding device may perform statistics on the number of packets matching the second entry received by the counter convection forwarding device, and record the statistical result.
  • the second entry can be packaged. Includes counters.
  • the control plane device can obtain the above statistical result according to the saved second entry.
  • the control plane device sends the Match Fields in the saved second entry to the flow forwarding device.
  • the stream forwarding device finds the second entry according to the Match Fields sent by the control plane device.
  • the specific search process is similar to the flow forwarding device, and the first entry is found according to the first packet. For details, refer to 102 in the first embodiment, and details are not described herein again. After the flow forwarding device finds the second entry, it sends the recorded statistical result in the second entry to the control plane device.
  • the control plane device can obtain a fine matching entry generated by the flow forwarding device.
  • the fine matching entry is generated by the flow forwarding device according to the first entry matching the received packet.
  • the stream forwarding device does not need to interact with the control plane device. Therefore, the method provided by this embodiment reduces the occupation of the bandwidth of the control channel between the stream forwarding device and the control plane device.
  • the embodiment of the invention provides a stream forwarding device, which is a stream forwarding device in a network architecture for controlling and forwarding. In the process of obtaining the fine matching entry, the flow forwarding device does not need to interact with the control plane device.
  • the flow forwarding device provided in this embodiment can be implemented by the method for generating an entry provided in Embodiment 1. As shown in Figure 6, the device includes:
  • the first receiver 601 is configured to receive the first packet.
  • the searching unit 602 is configured to search, in the flow table, the first entry that matches the first packet, where the set of fields matching the first packet in the first entry is the first set;
  • the entry generation unit 603 is configured to generate a second entry according to the first entry, where the set of the fields matching the first packet in the second entry is a second set, where the first set is the first set A subset of the second set, the first set is not equal to the second set.
  • search unit 602 For the specific implementation of the search unit 602, refer to 102 in the first embodiment.
  • entry generation unit 603 For the specific implementation of the entry generation unit 603, refer to 103 in the first embodiment.
  • the second entry can be generated according to the matching of the received packet with the first entry.
  • the stream forwarding device does not need to interact with the control plane device, reducing The occupation of the bandwidth of the control channel between the stream forwarding device and the control plane device.
  • the apparatus further includes a processing unit, the processing unit configured to process the first message according to the second entry.
  • the apparatus also includes a transmitter for transmitting the second entry to the control plane device via the control channel, the control plane device being a control plane device in a network architecture separate from control and forwarding.
  • the first receiver 601 is further configured to: after the flow forwarding device generates the second entry according to the first entry, receive the second packet;
  • the searching unit 602 is further configured to determine whether the second entry matches the second packet.
  • the processing unit is further configured to: when the second entry matches the second packet, the flow forwarding device is configured according to the first The second entry processes the second packet.
  • search unit 602 When the search unit 602 is specifically implemented, refer to 107 in the first embodiment.
  • the second entry is a fine match entry relative to the first entry. If the packet received by the flow forwarding device matches the second entry, the packet must match the first entry.
  • the solution may be implemented according to the second entry that matches the first entry and also the second entry.
  • the searching unit 602 is further configured to: determine, when the second entry does not match the second packet, whether the first entry matches the second packet;
  • the processing unit is further configured to process the second document according to the first entry when the first entry matches the second packet.
  • search unit 602 When the search unit 602 is specifically implemented, refer to 108 in the first embodiment.
  • processing unit For specific implementation of the processing unit, refer to 108 in the first embodiment.
  • the solution may be implemented according to the first entry to match the first entry that does not match the second entry.
  • Embodiment 4
  • Embodiments of the present invention provide a control plane device that is a control plane device in a network architecture that controls separation and forwarding.
  • the control plane device can obtain the fine matching entry sent by the stream forwarding device. In the process of obtaining a fine matching entry, the stream forwarding device does not need to interact with the control plane device.
  • the control plane device provided in this embodiment can be implemented by the method for receiving a message provided in Embodiment 2. As shown in Figure 7, the device includes:
  • the second receiver 701 is configured to receive, by using a control channel, a first message sent by the flow forwarding device, where the first message includes a second entry, where the second entry is obtained by: the flow forwarding device receiving the first message
  • the flow forwarding device searches the flow table for the first entry that matches the first packet, and the set of fields that match the first packet in the first entry is the first set; the flow forwarding device Generating, according to the first entry, the second entry, where the set of fields matching the first packet in the second entry is a second set, where the first set is a subset of the second set, The first set is not equal to the second set;
  • the saving unit 702 is configured to save the second entry.
  • the control plane device can obtain the fine matching entry generated by the flow forwarding device.
  • the fine matching entry is generated by the flow forwarding device according to the first entry matching the received packet.
  • the stream forwarding device does not need to interact with the control plane device. Therefore, the technical solution provided by the embodiment reduces the occupation of the bandwidth of the control channel between the stream forwarding device and the control plane device.
  • Embodiment 5 Embodiments of the present invention provide a communication system, including a stream forwarding device and a control plane device. In the process of obtaining the fine matching entry, the flow forwarding device does not need to interact with the control plane device. As shown in Figure 8, the communication system includes:
  • the stream forwarding device 801 and the control plane device 802 are stream forwarding devices in a network architecture for controlling and forwarding separation, and the control plane device 802 is a control plane device in a network architecture separate from control and forwarding;
  • the stream forwarding device 801 includes a first receiver, a searching unit, an entry generating unit, and a transmitter;
  • the first receiver is configured to receive the first packet
  • the searching unit is configured to search, in the flow table, a first entry that matches the first packet, where the set of fields that match the first packet in the first entry is the first set;
  • the entry generating unit is configured to generate a second entry according to the first entry, where the set of the fields matching the first packet in the second entry is a second set, and the first set is the second a subset of the set, the first set is not equal to the second set;
  • the transmitter is configured to send a first message to the control plane device by using a control channel, where the first message includes the second entry;
  • the control surface device 802 includes a second receiver and a saving unit
  • the second receiver is configured to receive the first message by using a control channel
  • the saving unit is configured to save the second entry to the control plane device.
  • the stream forwarding device 801 can be implemented by the method for generating a table entry provided in the first embodiment.
  • the first receiver in the stream forwarding device 801 can be implemented by 601 in the third embodiment.
  • the lookup unit in the stream forwarding device 801 can be implemented by 602 in the third embodiment.
  • the entry generating unit in the stream forwarding device 801 can be implemented by 603 in the third embodiment.
  • the control plane device 802 can be implemented by the method of receiving a message provided in the second embodiment. Specifically, the second receiver in the control plane device 802 can be implemented by 701 in the fourth embodiment. The save unit in the control plane device 802 can be implemented by 702 in the fourth embodiment.
  • the control plane device can obtain the fine matching entry generated by the flow forwarding device.
  • the fine matching entry is a flow forwarding device based on the received message Matches the first table item generated.
  • the stream forwarding device does not need to interact with the control plane device. Therefore, the technical solution provided by the embodiment reduces the occupation of the bandwidth of the control channel between the stream forwarding device and the control plane device.
  • the storage medium may be a magnetic disk, an optical disk, or a read-only storage memory.

Landscapes

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

Abstract

本发明实施例提供了一种生成表项的方法,包括:流转发装置接收第一报文,该流转发装置为控制与转发分离的网络架构中的装置;该流转发装置在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;该流转发装置根据该第一表项生成第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合。此外,本发明实施例还提供了接收消息的方法、流转发装置、控制面装置以及通信***。通过本发明实施例提供的技术方案,流转发装置不需要通过控制通道与控制面装置进行交互,即可获得精细匹配表项。

Description

生成表项的方法、 接收报文的方法及相应装置和*** 技术领域 本发明涉及网络通信领域, 尤其涉及生成表项的方法、 接收消息的方 法、 流转发装置、 控制面装置和通信***。 背景技术 控制与转发分离的网络架构是一种新型的网络架构。 该网络架构中包 括流转发装置以及控制面装置。 流转发装置根据流表对收到的报文进行处 理。 控制面装置通过控制通道对流转发装置进行控制。
流转发装置在流表中查找到与收到的报文匹配的流表表项。 为获得与 该报文对应的精细匹配表项, 流转发装置需要将该报文或者该报文的报文 头上送至控制面装置, 以便于控制面装置生成该精细匹配表项, 并将该精 细匹配表项下发至流转发装置。
发明人发现现有技术存在如下技术问题:
为获得精细匹配表项, 流转发装置需要通过控制通道与控制面装置进 行交互, 流转发装置与控制面装置交互将占用控制通道的带宽。 发明内容
本发明实施例提供了生成表项的方法、 接收消息的方法、 流转发装置、 控制面装置和通信***, 流转发装置不需要通过控制通道与控制面装置进 行交互即可获得精细匹配表项。
一方面, 本发明实施例提供了一种生成表项的方法, 包括:
流转发装置接收第一报文, 该流转发装置为控制与转发分离的网络架 构中的流转发装置;
该流转发装置在流表中查找与该第一报文匹配的第一表项, 该第一表 项中与该第一报文匹配的字段组成的集合为第一集合; 该流转发装置根据该第一表项生成第二表项, 该第二表项中与该第一 报文匹配的字段组成的集合为第二集合, 该第一集合是该第二集合的子集, 该第一集合不等于该第二集合。
另一方面, 本发明实施例还提供了一种接收消息的方法, 包括: 控制面装置通过控制通道接收流转发装置发送的第一消息, 该控制面 装置为控制与转发分离的网络架构中的控制面装置, 该第一消息包含第二 表项, 该第二表项通过如下途径得到: 该流转发装置接收第一报文, 该流 转发装置为控制与转发分离的网络架构中的流转发装置; 该流转发装置在 流表中查找与该第一" ^艮文匹配的第一表项, 该第一表项中与该第一 ^艮文匹 配的字段组成的集合为第一集合; 该流转发装置根据该第一表项生成该第 二表项, 该第二表项中与该第一报文匹配的字段组成的集合为第二集合, 该第一集合是该第二集合的子集, 该第一集合不等于该第二集合;
该控制面装置存储该第二表项。
另一方面, 本发明实施例还提供了一种流转发装置, 该流转发装置为 控制与转发分离的网络架构中的流转发装置, 该流转发装置包括:
第一接收器、 查找单元以及表项生成单元;
该第一接收器用于接收第一报文;
该查找单元用于在流表中查找与该第一报文匹配的第一表项, 该第一 表项中与该第一报文匹配的字段组成的集合为第一集合;
该表项生成单元用于根据该第一表项生成第二表项, 该第二表项中与 该第一报文匹配的字段组成的集合为第二集合, 该第一集合是该第二集合 的子集, 该第一集合不等于该第二集合。
另一方面, 本发明实施例还提供了一种控制面装置, 该控制面装置为 控制与转发分离的网络架构中的控制面装置, 该控制面装置包括:
第二接收器以及保存单元;
该第二接收器用于通过控制通道接收流转发装置发送的第一消息, 该 第一消息包含第二表项, 该第二表项通过如下途径得到: 该流转发装置接 收第一报文, 该流转发装置为控制与转发分离的网络架构中的流转发装置; 该流转发装置在流表中查找与该第一报文匹配的第一表项, 该第一表项中 与该第一报文匹配的字段组成的集合为第一集合; 该流转发装置根据该第 一表项生成该第二表项, 该第二表项中与该第一报文匹配的字段组成的集 合为第二集合, 该第一集合是该第二集合的子集, 该第一集合不等于该第 该保存单元用于保存该第二表项。
另一方面, 本发明实施例还提供了一种通信***, 包括:
流转发装置以及控制面装置, 该流转发装置为控制与转发分离的网络 架构中的流转发装置, 该控制面装置为控制与转发分离的网络架构中的控 制面装置;
该流转发装置包括第一接收器、 查找单元、 表项生成单元以及发送器; 该第一接收器用于接收第一报文;
该查找单元用于在流表中查找与该第一报文匹配的第一表项, 该第一 表项中与该第一报文匹配的字段组成的集合为第一集合;
该表项生成单元用于根据该第一表项生成第二表项, 该第二表项中与 该第一报文匹配的字段组成的集合为第二集合, 该第一集合是该第二集合 的子集, 该第一集合不等于该第二集合;
该发送器用于通过控制通道向该控制面装置发送第一消息, 该第一消 息包含该第二表项;
该控制面装置包括第二接收器以及保存单元;
该第二接收器用于通过控制通道接收该第一消息;
该保存单元用于将该第二表项保存到该控制面装置。
可见, 通过本发明实施例, 流转发装置可根据与接收到的报文匹配第 一表项生成第二表项,, 而不需要将通过与控制面装置交互而获得第二表 项, 减少了对流转发装置与控制面装置之间的控制通道的带宽的占用。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员 来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的 附图。
图 1是本发明实施例提供的生成表项的方法的一个流程图;
图 2是本发明实施例提供的流表的一个结构示意图;
图 3是本发明实施例提供的第一表项的一个结构示意图;
图 4是本发明实施例提供的第二表项的一个结构示意图;
图 5是本发明实施例提供的消息接收的方法的一个流程图;
图 6是本发明实施例提供的流转发装置的结构示意图;
图 7是本发明实施例提供的控制面装置的结构示意图;
图 8是本发明实施例提供的通信***的结构示意图。
具体实施方式 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进 行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没 有作出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的 范围。
本发明实施例涉及到控制与转发分离的网络架构。 控制与转发分离的 网络架构中包括流转发装置以及控制面装置。 流转发装置根据流表对收到 的报文进行处理。 控制面装置通过控制通道对流转发装置进行控制。
控制与转发分离的网络架构中, 控制与转发分离是指流转发装置与控 制面装置分离。 其中, 流转发装置将控制面的部分或者全部功能转移到控 制面装置。 流转发装置具备与控制面装置进行通信的能力。 流转发装置可 以通过控制通道与控制面装置通信。
流转发装置可以根据流表对收到的报文进行转发。 对报文进行转发具 体实现时, 可以是二层转发, 也可以是三层转发。 关于二层与三层, 具体 请参考开放***互连模型 ( Open Systems Interconnection model, OSI model )。 流转发装置具体实现时, 可以是交换机或者路由器。
当流转发装置是交换机时, 具体可以是开放流交换机 (OpenFlow Switch ) 。 关于开放流交换机, 请参考标准制定组织开放流网络基础 ( OpenFlow Networking Foundation, OFN )发布的 《开放流交换机规范》 版本 1.0 ( OpenFlow Switch Specification 1.0 ) 。
控制面装置具体实现时,可以是开放流控制器(OpenFlow Controller )。 关于开放流控制器, 请参考标准制定组织开放流网络基础发布的 《开放流 交换机规范》版本 1.0。
控制通道具体实现时, 可以是开发流交换机与开放流控制器进行交互 的安全通道( Secure Channel )。具体请参考标准制定组织开放流网络基础发 布的 《开放流交换机规范》版本 1.0。
实施例一
本发明实施例提供了一种生成表项的方法, 流转发装置不需要与控制 面装置交互即可获得精细匹配表项。 如图 1所示, 该方法包括:
101、 流转发装置接收第一报文, 该流转发装置为控制与转发分离的网 络架构中的流转发装置。
流转发装置具体实现时, 可以是开放流交换机。
第一报文具体实现时,可以是因特网协议分组( Internet Protocol Packet , IP分组) , 也可以是媒体接入控制 (Media Access Control, MAC )协议帧 ( Frame )。
102、 该流转发装置在流表中查找与该第一报文匹配的第一表项, 该第 一表项中与该第一报文匹配的字段组成的集合为第一集合。
该流表 ( Flow Table )保存在流转发装置。 该流表包括第一表项。 第一 表项具体实现时, 可以是: 控制面装置生成该第一表项, 并将该第一表项 发送至该流转发装置。
流表可以包括多个流表表项 (Flow Entry )。 图 2为本实施例提供的流 表的一个结构示意图。 参见图 2 , 流表中包括多个流表表项, 分别是流表表 项 1、 流表表项 2、 流表表项 3…… 参见图 2 , 流表表项可以包括匹配字段 (Match Fields ) , 计数器 ( Counters )和指令( Instructions )。 具体实现时, 流表表项还可以是其他的 结构。 其中, Match Fields用于判断进入流转发装置的报文是否与流表的表 项匹配。 Match Fields可以包括一个或者多个字段。 具体实现时, 上述字段 可以是入接口、源 MAC )协议地址、目的 MAC协议地址、虚拟局域网( Virtual Local Area Network , VLAN ) 标识 (Identity , ID )、 多协议标签交换 ( Multi-Protocol Label Switching , MPLS ) 标签、 源因特网协议第四版 ( Internet Protocol version 4, IPv4 )地址、 目的 IPv4地址、 用户数据才艮协 议( User Datagram Protocol, UDP )端口、传输控制协议 ( Transmission Control Protocol , TCP ) 端口或者流控制传输协议 (Stream Control Transmission Protocol, SCTP )端口。
如果流表表项的 Match Fields 中所有的字段与第一报文中的对应字段 都一致, 则该流表表项与报文匹配。 第一表项为与第一报文匹配的流表表 项,因此第一表项的 Match Fields中所有的字段与第一报文中的对应字段都 —致。
需要指出的是, 如果流表表项的 Match Fields包括入接口, 则流转发装 置接收报文时实际使用的入接口与 Match Fields 中的入接口一致是该流表 表项与该报文匹配的必要条件。
第一集合为第一表项中与第一报文匹配的字段组成的集合。 因此, 第 一集合包含第一表项的 Match Fields中所有的字段。
图 3 为本实施例提供的第一表项的一个结构示意图。 第一表项还可以 具有其他的结构。 参见图 3 , 第一表项由 Match Fields, 计数器以及指令组 成。其中, Match Fields包括一个字段,即目的因特网协议( Internet Protocol, IP )地址。 该字段的值为 191.1.1.1。 第一 ^艮文为 MAC协议帧, 具体包括 MAC协议头、 IP头以及净荷。 其中, MAC协议头包括源 MAC协议地址 以及目的 MAC协议地址。 IP头中包括源 IP地址以及目的 IP地址。 第一才艮 文中的目的 IP地址字段为与第一表项的 Match Fields对应的字段。 第一报 文中的目的 IP地址字段的值为 191.1.1.1。 第一集合由一个元素组成, 该元 素为目的 IP地址, 该元素的值为 191.1.1.1。
103、 该流转发装置根据该第一表项生成第二表项, 该第二表项中与该 第一报文匹配的字段组成的集合为第二集合, 该第一集合是该第二集合的 子集, 该第一集合不等于该第二集合。
第二表项具体实现时, 与第一表项类似。 具体请参见 102 中关于第一 表项的描述。
第二表项是与第一报文匹配的流表表项。 第二集合为第二表项中与第 一报文匹配的字段组成的集合。 第二表项中的 Match Fields包括多个字段。 第二集合由第二表项的 Match Fields中的多个字段组成。
第一集合是该第二集合的子集, 该第一集合不等于该第二集合。 也就 是说, 第二集合中元素的个数比第一集合中元素的个数多。
根据第一表项生成第二表项具体实现时, 可以是:
对第一报文进行解析, 从第一报文的报文头中提取字段。 上述字段可 以是一个, 也可以是多个。 上述字段为第一表项中 Match Fields包含的字段 之外的字段。
复制第一表项的内容, 并将复制的内容存储在待生成的第二表项对应 的存储空间。 复制的内容与第一表项是一致的。 复制的内容中包括了 Match Fields。 在 Match Fields中增加从第一报文的报文头中提取的字段, 从而得 到第二表项。 第二表项的 Match Fields 中字段的数量比第一表项的 Match Fields中字段的数量多。
根据第一表项生成第二表项, 也可以通过其他方式实现。 例如, 先复 制第一表项的内容, 再将从第一报文中提取的字段增加到复制的内容。 另 外, 第二表项中 Match Fields之外的字段可以与第一表项中 Match Fields之 外的字段不一致。
图 4为本实施例提供的第二表项的一个结构示意图。 第二表项可以具 有其他结构。 参见图 4, 第二表项由 Match Fields, 计数器以及指令组成。 其中, 第二表项中的计数器与第一表项中的计数器相同; 第二表项中的指 令与第一表项中的指令相同。 第二表项的 Match Fields包括源 MAC协议地 址、 目的 MAC协议地址、 源 IP地址、 目的 IP地址以及端口。 第一 ^艮文为 MAC协议帧, 具体包括 MAC协议头、 IP头以及净荷。 其中, MAC协议 头包括源 MAC协议地址以及目的 MAC协议地址。 IP头中包括源 IP地址 以及目的 IP地址。 第一 ^艮文中的源 IP地址、 目的 IP地址、 源 MAC协议 地址、 目的 MAC协议地址以及端口为与第二表项的 Match Fields对应的字 段。 第一集合由五个元素组成, 具体为源 IP地址、 目的 IP地址、 源 MAC 协议地址、 目的 MAC协议地址以及端口。
可见, 通过本实施例提供的方法, 流转发装置可以根据与接收到的报 文匹配第一表项生成第二表项。 流转发装置不需要与控制面装置交互, 减 少了对流转发装置与控制面装置之间的控制通道的带宽的占用。
可选的,
该流转发装置根据该第一表项生成第二表项之后, 还包括:
104、 流转发装置根据该第二表项对该第一报文进行处理。
对第一报文进行处理可以是为第一报文确定进行转发的出接口、 对第 一报文进行封装、 将第一报文上送至控制面装置或者丟弃第一报文。 具体 实现时, 第二表项可以包括指令。 具体请参见图 4。 流转发装置可以根据第 二表项中的指令对第一报文进行处理。
可选的,
该流转发装置根据该第一表项生成第二表项之后, 还包括:
105、 流转发装置通过控制通道向控制面装置发送该第二表项, 该控制 面装置为控制与转发分离的网络架构中的控制面装置。
控制面装置具体实现时, 可以是开放流控制器。
控制通道实现时, 可以是开发流交换机与开放流控制器进行交互的安 全通道。
流转发装置发送该第二表项具体实现时, 可以是:
在流转发装置与控制面装置的通信协议中定义一种新的报文类型。 该 报文类型用于标识该报文中携带了流转发装置生成的精确匹配表项。 控制 面装置收到该报文时, 可以根据报文头识别出该报文中报文中携带了流转 发装置生成的精确匹配表项。 流转发装置可以根据上述新的报文类型, 将 第二表项封装在报文中, 并通过控制通道将该报文发送至控制面装置。
控制面装置接收到该第二表项后, 可以保存该第二表项。
控制面装置可以根据保存的第二表项, 获取流转发装置收到的与第二 表项匹配的报文的数量。
具体实现时, 可以是:
流转发装置可以通过计数器对流转发装置收到的与第二表项匹配的报 文的数量进行统计, 并对统计结果进行记录。 参见图 4, 第二表项中可以包 括计数器。 控制面装置可以根据保存的第二表项, 获取上述统计结果。 具 体实现时,可以是控制面装置将保存的第二表项中的 Match Fields下发至流 转发装置。 流转发装置根据控制面装置发送的 Match Fields, 查找到第二表 项。 具体查找过程类似于流转发装置根据第一报文查找到第一表项, 具体 请参见 102, 此处不再赘述。 流转发装置查找到第二表项后, 将第二表项中 记录统计结果上送至控制面装置。
可选的,
该流转发装置根据该第一表项生成第二表项之后, 还包括:
106、 该流转发装置接收第二报文;
107、 该流转发装置判断该第二表项是否与该第二报文匹配, 当该第二 表项与该第二报文匹配时, 该流转发装置根据该第二表项对该第二报文进 行处理。
相对于第一表项, 第二表项是精细匹配表项。 如果流转发装置收到的 报文与第二表项匹配, 则该报文一定与第一表项匹配。
通过该方案, 流转发装置可以根据第二表项对与第一表项匹配且与第 二表项匹配的报文进行处理。
可选的,
108、 当该第二表项没有与该第二报文匹配时, 该流转发装置判断该第 一表项是否与该第二 4艮文匹配, 当该第一表项与该第二 4艮文匹配时, 该流 转发装置根据该第一表项对该第二报文进行处理。 通过该方案, 流转发装置可以根据第一表项对与第一表项匹配但不与 第二表项匹配的 ^艮文进行处理。
实施例二
本发明实施例提供了一种接收消息的方法, 控制面装置可以获得流转 发装置发送的精细匹配表项。 流转发装置获得精细匹配表项的过程中, 不 需要与控制面装置交互。 如图 2所示, 该方法包括:
201、 控制面装置通过控制通道接收流转发装置发送的第一消息, 该控 制面装置为控制与转发分离的网络架构中的控制面装置, 该第一消息包含 第二表项, 该第二表项通过如下途径得到: 该流转发装置接收第一报文, 该流转发装置为控制与转发分离的网络架构中的流转发装置; 该流转发装 置在流表中查找与该第一报文匹配的第一表项, 该第一表项中与该第一报 文匹配的字段组成的集合为第一集合; 该流转发装置根据该第一表项生成 该第二表项, 该第二表项中与该第一报文匹配的字段组成的集合为第二集 合, 该第一集合是该第二集合的子集, 该第一集合不等于该第二集合。
第二表项具体实现时, 请参考实施例一中的 101、 102以及 103 , 此处 不再赘述。
控制面装置具体实现时, 可以是开放流控制器
控制通道实现时, 可以是开发流交换机与开放流控制器进行交互的安 全通道。
流转发装置向控制面装置发送该第二表项。第二表项可以封装在 Packet In报文中。关于 Packet In报文,具体请参考《开放流交换机规范》版本 1.0。
202、 该控制面装置存储该第二表项。
控制面装置接收到该第二表项后, 可以保存该第二表项。
控制面装置可以根据保存的第二表项, 获取流转发装置收到的与第二 表项匹配的报文的数量。
具体实现时, 可以是:
流转发装置可以通过计数器对流转发装置收到的与第二表项匹配的报 文的数量进行统计, 并对统计结果进行记录。 参见图 4, 第二表项中可以包 括计数器。 控制面装置可以根据保存的第二表项, 获取上述统计结果。 具 体实现时,可以是控制面装置将保存的第二表项中的 Match Fields下发至流 转发装置。 流转发装置根据控制面装置发送的 Match Fields, 查找到第二表 项。 具体查找过程类似于流转发装置根据第一报文查找到第一表项, 具体 请参见实施例一中的 102, 此处不再赘述。 流转发装置查找到第二表项后, 将第二表项中记录统计结果上送至控制面装置。
可见, 通过本实施例提供的方法, 控制面装置可以获得流转发装置生 成的精细匹配表项。 精细匹配表项是流转发装置根据与接收到的报文匹配 第一表项生成的。 在精细匹配表项生成过程中, 流转发装置不需要与控制 面装置交互。 因此, 本实施例提供的方法减少了对流转发装置与控制面装 置之间的控制通道的带宽的占用。
实施例三
本发明实施例提供了一种流转发装置, 该流转发装置为控制与转发分 离的网络架构中的流转发装置。 流转发装置获得精细匹配表项的过程中, 不需要与控制面装置交互。 本实施例提供的流转发装置可以通过实施例一 提供的生成表项的方法实现。 如图 6所示, 该装置包括:
第一接收器 601、 查找单元 602以及表项生成单元 603;
该第一接收器 601用于接收第一报文;
该查找单元 602用于在流表中查找与该第一 ^艮文匹配的第一表项, 该 第一表项中与该第一报文匹配的字段组成的集合为第一集合;
该表项生成单元 603 用于根据该第一表项生成第二表项, 该第二表项 中与该第一报文匹配的字段组成的集合为第二集合, 该第一集合是该第二 集合的子集, 该第一集合不等于该第二集合。
第一接收器 601具体实现时, 请参见实施例一中的 101。
查找单元 602具体实现时, 请参见实施例一中的 102。
表项生成单元 603具体实现时, 请参见实施例一中的 103。
可见, 通过本实施例提供的流转发装置, 可以根据与接收到的报文匹 配第一表项生成第二表项。 流转发装置不需要与控制面装置交互, 减少了 对流转发装置与控制面装置之间的控制通道的带宽的占用。
可选的,
该装置还包括处理单元, 该处理单元用于根据该第二表项对该第一报 文进行处理。
处理单元具体实现时, 请参见实施例一中的 104。
可选的,
该装置还包括发送器, 该发送器用于通过控制通道向控制面装置发送 该第二表项, 该控制面装置为控制与转发分离的网络架构中的控制面装置。
发送器具体实现时请参见实施例一中的 105。
可选的,
该第一接收器 601 还用于在该流转发装置根据该第一表项生成第二表 项之后接收第二报文;
该查找单元 602还用于判断该第二表项是否与该第二报文匹配; 该处理单元还用于当该第二表项与该第二报文匹配时, 该流转发装置 根据该第二表项对该第二报文进行处理。
第一接收器 601具体实现时, 请参见实施例一中的 106。
查找单元 602具体实现时, 请参见实施例一中的 107。
处理单元具体实现时, 请参见实施例一中的 107。
相对于第一表项, 第二表项是精细匹配表项。 如果流转发装置收到的 报文与第二表项匹配, 则该报文一定与第一表项匹配。
该方案可以实现根据第二表项对与第一表项匹配且也与第二表项匹配 的才艮文进行处理。
可选的,
该查找单元 602还用于当该第二表项没有与该第二报文匹配时, 判断 该第一表项是否与该第二报文匹配;
该处理单元还用于当该第一表项与该第二报文匹配时, 根据该第一表 项对该第二 ^文进行处理。
查找单元 602具体实现时, 请参见实施例一中的 108。 处理单元具体实现时, 请参见实施例一中的 108。
该方案可以实现根据第一表项对与第一表项匹配但不与第二表项匹配 的才艮文进行处理。 实施例四
本发明实施例提供了一种控制面装置, 该控制面装置为控制与转发分 离的网络架构中的控制面装置。 控制面装置可以获得流转发装置发送的精 细匹配表项。 流转发装置获得精细匹配表项的过程中, 不需要与控制面装 置交互。 本实施例提供的控制面装置可以通过实施例二提供的接收消息的 方法实现。 如图 7所示, 该装置包括:
第二接收器 701以及保存单元 702;
该第二接收器 701用于通过控制通道接收流转发装置发送的第一消息, 该第一消息包含第二表项, 该第二表项通过如下途径得到: 该流转发装置 接收第一报文; 该流转发装置在流表中查找与该第一报文匹配的第一表项, 该第一表项中与该第一报文匹配的字段组成的集合为第一集合; 该流转发 装置根据该第一表项生成该第二表项, 该第二表项中与该第一报文匹配的 字段组成的集合为第二集合, 该第一集合是该第二集合的子集, 该第一集 合不等于该第二集合;
该保存单元 702用于保存该第二表项。
第二接收器 701具体实现时, 请参见实施例二中的 201。
保存单元 702具体实现时, 请参见实施例二中的 202。
可见, 通过本实施例提供的技术方案, 控制面装置可以获得流转发装 置生成的精细匹配表项。 精细匹配表项是流转发装置根据与接收到的报文 匹配第一表项生成的。 在精细匹配表项生成过程中, 流转发装置不需要与 控制面装置交互。 因此, 本实施例提供的技术方案减少了对流转发装置与 控制面装置之间的控制通道的带宽的占用。 实施例五 本发明实施例提供了一种通信***, 包括流转发装置以及控制面装置。 流转发装置获得精细匹配表项的过程中, 不需要与控制面装置交互。如图 8 所示, 该通信***包括:
流转发装置 801以及控制面装置 802,流转发装置 801为控制与转发分 离的网络架构中的流转发装置, 控制面装置 802 为控制与转发分离的网络 架构中的控制面装置;
该流转发装置 801 包括第一接收器、 查找单元、 表项生成单元以及发 送器;
该第一接收器用于接收第一报文;
该查找单元用于在流表中查找与该第一报文匹配的第一表项, 该第一 表项中与该第一报文匹配的字段组成的集合为第一集合;
该表项生成单元用于根据该第一表项生成第二表项, 该第二表项中与 该第一报文匹配的字段组成的集合为第二集合, 该第一集合是该第二集合 的子集, 该第一集合不等于该第二集合;
该发送器用于通过控制通道向该控制面装置发送第一消息, 该第一消 息包含该第二表项;
该控制面装置 802包括第二接收器以及保存单元;
该第二接收器用于通过控制通道接收该第一消息;
该保存单元用于将该第二表项保存到该控制面装置。
流转发装置 801可以通过实施例一中提供的生成表项的方法实现。 具体来说,流转发装置 801中的第一接收器可以通过实施例三中的 601 实现。 流转发装置 801 中的查找单元可以通过实施例三中的 602实现。 流 转发装置 801中的表项生成单元可以通过实施例三中的 603实现。
控制面装置 802可以通过实施例二中提供的接收消息的方法实现。 具体来说,控制面装置 802中的第二接收器可以通过实施例四中的 701 实现。 控制面装置 802中的保存单元可以通过实施例四中的 702实现。
可见, 通过本实施例提供的通信***, 控制面装置可以获得流转发装 置生成的精细匹配表项。 精细匹配表项是流转发装置根据与接收到的报文 匹配第一表项生成的。 在精细匹配表项生成过程中, 流转发装置不需要与 控制面装置交互。 因此, 本实施例提供的技术方案减少了对流转发装置与 控制面装置之间的控制通道的带宽的占用。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程, 是可以通过计算机程序来指令相关的硬件来完成, 所述的程序可存储 于一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的 实施例的流程。 其中, 所述的存储介质可为磁碟、 光盘、 只读存储记忆体
RAM )等。
以上所揭露的仅为本发明一种较佳实施例而已, 当然不能以此来限定 本发明之权利范围, 因此依本发明权利要求所作的等同变化, 仍属本发明 所涵盖的范围。

Claims

1、 一种生成表项的方法, 其特征在于, 包括:
流转发装置接收第一报文, 所述流转发装置为控制与转发分离的网络 架构中的流转发装置;
所述流转发装置在流表中查找与所述第一报文匹配的第一表项, 所述 第一表项中与所述第一报文匹配的字段组成的集合为第一集合;
所述流转发装置根据所述第一表项生成第二表项, 所述第二表项中与 所述第一报文匹配的字段组成的集合为第二集合, 所述第一集合是所述第 二集合的子集, 所述第一集合不等于所述第二集合。
2、 根据权利要求 1所述方法, 其特征在于,
所述流转发装置根据所述第一表项生成第二表项之后, 还包括: 所述流转发装置根据所述第二表项对所述第一报文进行处理。
3、 根据权利要求 1或 2所述方法, 其特征在于,
所述流转发装置根据所述第一表项生成第二表项之后, 还包括: 所述流转发装置通过控制通道向控制面装置发送所述第二表项, 所述 控制面装置为控制与转发分离的网络架构中的控制面装置。
4、 根据权利要求 1至 3中任一所述方法, 其特征在于,
所述流转发装置根据所述第一表项生成第二表项之后, 还包括: 所述流转发装置接收第二报文;
所述流转发装置判断所述第二表项是否与所述第二报文匹配, 当所述 第二表项与所述第二报文匹配时, 所述流转发装置根据所述第二表项对所 述第二报文进行处理。
5、 根据权利要求 4所述方法, 其特征在于,
当所述第二表项没有与所述第二报文匹配时, 所述流转发装置判断所 述第一表项是否与所述第二报文匹配, 当所述第一表项与所述第二报文匹 配时, 所述流转发装置根据所述第一表项对所述第二报文进行处理。
6、 一种接收消息的方法, 其特征在于, 包括:
控制面装置通过控制通道接收流转发装置发送的第一消息, 所述控制 面装置为控制与转发分离的网络架构中的控制面装置, 所述第一消息包含 第二表项, 所述第二表项通过如下途径得到: 所述流转发装置接收第一报 文, 所述流转发装置为控制与转发分离的网络架构中的流转发装置; 所述 流转发装置在流表中查找与所述第一报文匹配的第一表项, 所述第一表项 中与所述第一报文匹配的字段组成的集合为第一集合; 所述流转发装置根 据所述第一表项生成所述第二表项, 所述第二表项中与所述第一报文匹配 的字段组成的集合为第二集合, 所述第一集合是所述第二集合的子集, 所 述第一集合不等于所述第二集合;
所述控制面装置存储所述第二表项。
7、 一种流转发装置, 其特征在于, 所述流转发装置为控制与转发分离 的网络架构中的流转发装置, 所述流转发装置包括:
第一接收器、 查找单元以及表项生成单元;
所述第一接收器用于接收第一报文;
所述查找单元用于在流表中查找与所述第一报文匹配的第一表项, 所 述第一表项中与所述第一报文匹配的字段组成的集合为第一集合;
所述表项生成单元用于根据所述第一表项生成第二表项, 所述第二表 项中与所述第一报文匹配的字段组成的集合为第二集合, 所述第一集合是 所述第二集合的子集, 所述第一集合不等于所述第二集合。
8、 根据权利要求 7所述装置, 其特征在于,
所述装置还包括处理单元, 所述处理单元用于根据所述第二表项对所 述第一报文进行处理。
9、 根据权利要求 7或 8所述装置, 其特征在于,
所述装置还包括发送器, 所述发送器用于通过控制通道向控制面装置 发送所述第二表项, 所述控制面装置为控制与转发分离的网络架构中的控 制面装置。
10、 根据权利要求 7至 9中任一所述装置, 其特征在于,
所述第一接收器还用于在所述流转发装置根据所述第一表项生成第二 表项之后接收第二报文; 所述查找单元还用于判断所述第二表项是否与所述第二报文匹配; 所述处理单元还用于当所述第二表项与所述第二报文匹配时, 所述流 转发装置根据所述第二表项对所述第二报文进行处理。
11、 根据权利要求 10所述装置, 其特征在于,
所述查找单元还用于当所述第二表项没有与所述第二报文匹配时, 判 断所述第一表项是否与所述第二报文匹配;
所述处理单元还用于当所述第一表项与所述第二报文匹配时, 根据所 述第一表项对所述第二报文进行处理。
12、 一种控制面装置, 其特征在于, 所述控制面装置为控制与转发分 离的网络架构中的控制面装置, 所述控制面装置包括:
第二接收器以及保存单元;
所述第二接收器用于通过控制通道接收流转发装置发送的第一消息, 所述第一消息包含第二表项, 所述第二表项通过如下途径得到: 所述流转 发装置接收第一报文, 所述流转发装置为控制与转发分离的网络架构中的 流转发装置; 所述流转发装置在流表中查找与所述第一报文匹配的第一表 项, 所述第一表项中与所述第一报文匹配的字段组成的集合为第一集合; 所述流转发装置根据所述第一表项生成所述第二表项, 所述第二表项中与 所述第一报文匹配的字段组成的集合为第二集合, 所述第一集合是所述第 二集合的子集, 所述第一集合不等于所述第二集合;
所述保存单元用于保存所述第二表项。
13、 一种通信***, 其特征在于, 包括:
流转发装置以及控制面装置, 所述流转发装置为控制与转发分离的网 络架构中的流转发装置, 所述控制面装置为控制与转发分离的网络架构中 的控制面装置;
所述流转发装置包括第一接收器、 查找单元、 表项生成单元以及发送 器;
所述第一接收器用于接收第一报文;
所述查找单元用于在流表中查找与所述第一报文匹配的第一表项, 所 述第一表项中与所述第一报文匹配的字段组成的集合为第一集合; 所述表项生成单元用于根据所述第一表项生成第二表项, 所述第二表 项中与所述第一报文匹配的字段组成的集合为第二集合, 所述第一集合是 所述第二集合的子集, 所述第一集合不等于所述第二集合;
所述发送器用于通过控制通道向所述控制面装置发送第一消息, 所述 第一消息包含所述第二表项;
所述控制面装置包括第二接收器以及保存单元;
所述第二接收器用于通过控制通道接收所述第一消息;
所述保存单元用于将所述第二表项保存到所述控制面装置。
PCT/CN2012/083268 2011-12-12 2012-10-22 生成表项的方法、接收报文的方法及相应装置和*** WO2013086897A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP12857699.8A EP2773073B1 (en) 2011-12-12 2012-10-22 Entry generation method, message receiving method, and corresponding device and system
JP2014546291A JP5867942B2 (ja) 2011-12-12 2012-10-22 エントリを生成するための方法、パケットを受信するための方法、および、対応する装置とシステム
US14/300,532 US20140286342A1 (en) 2011-12-12 2014-06-10 Method for generating entry, method for receiving packet, and corresponding apparatus and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110412195.7A CN103166866B (zh) 2011-12-12 2011-12-12 生成表项的方法、接收报文的方法及相应装置和***
CN201110412195.7 2011-12-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/300,532 Continuation US20140286342A1 (en) 2011-12-12 2014-06-10 Method for generating entry, method for receiving packet, and corresponding apparatus and system

Publications (1)

Publication Number Publication Date
WO2013086897A1 true WO2013086897A1 (zh) 2013-06-20

Family

ID=48589616

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/083268 WO2013086897A1 (zh) 2011-12-12 2012-10-22 生成表项的方法、接收报文的方法及相应装置和***

Country Status (5)

Country Link
US (1) US20140286342A1 (zh)
EP (1) EP2773073B1 (zh)
JP (1) JP5867942B2 (zh)
CN (1) CN103166866B (zh)
WO (1) WO2013086897A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9848068B2 (en) * 2013-04-16 2017-12-19 Telefonaktiebolaget L M Ericsson (Publ) Method for providing a parser to extract information from fields of a data packet header
CN104378298A (zh) * 2013-08-16 2015-02-25 中兴通讯股份有限公司 一种流表条目生成方法及相应设备
CN104426768B (zh) * 2013-09-05 2018-06-15 华为技术有限公司 一种数据报文转发方法及装置
CN105099916B (zh) * 2014-04-28 2018-08-03 国际商业机器公司 开放流路由交换设备及其对数据报文的处理方法
CN105453497B (zh) * 2014-08-06 2019-03-08 华为技术有限公司 一种软件定义网络sdn中处理数据包的方法、装置及***
WO2016019676A1 (zh) * 2014-08-06 2016-02-11 华为技术有限公司 一种软件定义网络sdn中处理数据包的方法、装置及***
CN105515965B (zh) * 2014-09-25 2019-06-28 杭州华为数字技术有限公司 一种传输数据的方法及传输设备
US10129162B1 (en) * 2014-10-09 2018-11-13 Cavium, Llc Systems and methods for defining storage
CN104378299B (zh) * 2014-11-20 2017-10-17 新华三技术有限公司 流表项处理方法以及装置
WO2018203108A1 (en) * 2017-05-04 2018-11-08 Telefonaktiebolaget Lm Ericsson (Publ) Efficient troubleshooting in openflow switches
WO2019043435A1 (en) 2017-08-30 2019-03-07 Telefonaktiebolaget Lm Ericsson (Publ) PACKET TRACKING METHOD AND SYSTEM IN SOFTWARE-DEFINED NETWORKS
US11438254B2 (en) 2018-06-13 2022-09-06 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method to trace packets in a packet processing pipeline of a software defined networking switch
CN109743340B (zh) * 2019-04-04 2019-07-30 华为技术有限公司 报文处理的方法和网络装置
US11089141B2 (en) * 2020-01-08 2021-08-10 Bank Of America Corporation Method and system for data prioritization communication
WO2021149233A1 (ja) * 2020-01-23 2021-07-29 日本電信電話株式会社 分離システム、分離方法および分離プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852253A (zh) * 2006-02-17 2006-10-25 华为技术有限公司 一种arp报文处理方法
CN101977177A (zh) * 2010-07-30 2011-02-16 北京星网锐捷网络技术有限公司 一种流表表项的创建方法、查询方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008105170A1 (ja) * 2007-02-27 2008-09-04 Panasonic Corporation オーバレイネットワークノード
CN102349268B (zh) * 2009-03-09 2015-11-25 日本电气株式会社 OpenFlow通信***和OpenFlow通信方法
CN101997758A (zh) * 2009-08-11 2011-03-30 中兴通讯股份有限公司 转发装置及方法
EP3720062A1 (en) * 2009-10-07 2020-10-07 NEC Corporation Information system, control server, virtual network management method, and program
JP5672235B2 (ja) * 2009-10-19 2015-02-18 日本電気株式会社 通信システム、フロー制御装置、フローテーブルの更新方法およびプログラム
US8503307B2 (en) * 2010-05-10 2013-08-06 Hewlett-Packard Development Company, L.P. Distributing decision making in a centralized flow routing system
CN102255909B (zh) * 2011-07-11 2014-07-02 北京星网锐捷网络技术有限公司 监控会话流的方法及装置
US8762501B2 (en) * 2011-08-29 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852253A (zh) * 2006-02-17 2006-10-25 华为技术有限公司 一种arp报文处理方法
CN101977177A (zh) * 2010-07-30 2011-02-16 北京星网锐捷网络技术有限公司 一种流表表项的创建方法、查询方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"OpenFlow Switch Specification, Version 1.1.0 Implemented", 28 February 2011 (2011-02-28), XP055132070, Retrieved from the Internet <URL:www.openflow.org/documents/openflow-spec-v1.1.0.pdf> *
See also references of EP2773073A4 *

Also Published As

Publication number Publication date
JP5867942B2 (ja) 2016-02-24
EP2773073B1 (en) 2017-04-26
EP2773073A1 (en) 2014-09-03
CN103166866A (zh) 2013-06-19
US20140286342A1 (en) 2014-09-25
CN103166866B (zh) 2016-08-03
JP2015500607A (ja) 2015-01-05
EP2773073A4 (en) 2014-11-26

Similar Documents

Publication Publication Date Title
WO2013086897A1 (zh) 生成表项的方法、接收报文的方法及相应装置和***
US11979322B2 (en) Method and apparatus for providing service for traffic flow
US10484518B2 (en) Dynamic port type detection
US9571382B2 (en) Method, controller, and system for processing data packet
US10355879B2 (en) Virtual extensible LAN tunnel keepalives
US9237110B2 (en) Dynamic maximum transmission unit size adaption
WO2015074324A1 (zh) 一种数据包快速转发方法及装置
US11929925B2 (en) Reliable generic routing encapsulation tunnels
WO2012106869A1 (zh) 一种报文处理方法及相关设备
WO2015143802A1 (zh) 业务功能链处理方法及装置
WO2019134383A1 (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
WO2015014269A1 (zh) 一种控制器、转发器及通道建立方法和***
WO2013059991A1 (zh) 数据报文处理方法和***、报文转发设备
WO2014201974A1 (zh) 业务路由报文处理方法、装置及网络***
US11627077B2 (en) Reliable overlay based on reliable transport layer
WO2016107379A1 (zh) 一种发送报文的方法和装置
WO2013113171A1 (zh) 流识别的方法、设备和***
WO2016062142A1 (zh) 报文汇聚传输的方法、装置和***
JP2015533045A (ja) 通信システム、通信方法、情報処理装置、通信制御方法及びプログラム
WO2015123853A1 (zh) 一种数据流处理方法及装置
WO2013107056A1 (zh) 报文转发的方法及装置
CN110336796B (zh) 一种通信方法和通信装置
WO2014198229A1 (zh) 报文处理方法、设备和***
WO2019196853A1 (zh) Tcp加速方法及装置
WO2014067055A1 (zh) 流表刷新的方法及装置

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

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2012857699

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012857699

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2014546291

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE