WO2015109486A1 - 报文的隧道处理方法、交换设备及控制设备 - Google Patents

报文的隧道处理方法、交换设备及控制设备 Download PDF

Info

Publication number
WO2015109486A1
WO2015109486A1 PCT/CN2014/071229 CN2014071229W WO2015109486A1 WO 2015109486 A1 WO2015109486 A1 WO 2015109486A1 CN 2014071229 W CN2014071229 W CN 2014071229W WO 2015109486 A1 WO2015109486 A1 WO 2015109486A1
Authority
WO
WIPO (PCT)
Prior art keywords
tunnel
message
packet
switching device
flow
Prior art date
Application number
PCT/CN2014/071229
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 PCT/CN2014/071229 priority Critical patent/WO2015109486A1/zh
Priority to CN201480000107.4A priority patent/CN105009544B/zh
Priority to EP14879754.1A priority patent/EP3091705B1/en
Publication of WO2015109486A1 publication Critical patent/WO2015109486A1/zh
Priority to US15/217,423 priority patent/US10237089B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Definitions

  • the present invention relates to the field of network communication technologies, and in particular, to a tunnel processing method, a switching device, and a control device for a packet. Background technique
  • the SDN network uses the OpenFlow (OpenFlow) protocol to support open interfaces and multi-control exchange.
  • OpenFlow OpenFlow
  • the SDN network separates the control plane of the network device from the data forwarding plane, so that network traffic can be flexibly controlled.
  • the function of the control plane is implemented by the controller (Controller), and is mainly responsible for delivering the traffic forwarding policy.
  • the function of the data forwarding plane is implemented by the switch (Switch, referred to as SW), and is mainly used for receiving the flow entry sent by the controller.
  • SW switch
  • the data packet is operated according to the flow entry.
  • the controller is connected to each switch, and the switches exchange data packets through interconnection.
  • the switching device that supports the OpenFlow protocol performs the flow table matching after receiving the first packet of the data stream, and encapsulates the first packet into the information reporting message when the corresponding flow entry is not matched. (for example, a packetjn message) is sent to the controller, the controller determines a processing policy for the information reporting message, and then returns an entry update message (for example, a flow_mod message) to the switching device, and the switching device resolves the entry update message. Obtain a flow entry of the data flow, and process the received first message according to the flow entry.
  • a packetjn message for example, a packetjn message
  • an entry update message for example, a flow_mod message
  • the serving gateway can be used as a switching device, but a common packet needs to be established when transmitting the message between the service gateways.
  • a General Packet Radio Service (GPRS) GPRS Tunneling Protocol (GTP) tunnel and encapsulates the packet in the encapsulation manner of the Internet Protocol in User Data Protocol (IPinUDP) based on the Internet protocol.
  • GPRS General Packet Radio Service
  • GTP GPRS Tunneling Protocol
  • IPinUDP User Data Protocol
  • the current flow table based on the OpenFlow protocol does not support the GTP tunnel encapsulation of the packet. Therefore, the OpenFlow protocol cannot be used to tunnel the transmitted packet in the mobile packet network.
  • the embodiment of the present invention provides a tunnel processing method, a switching device, and a control device for a packet, so as to solve the problem that it is difficult to apply the OpenFlow protocol to tunnel processing a transmission packet in a mobile packet network in the prior art.
  • a tunnel processing method for a packet is provided, where the method includes:
  • the switching device receives the tunneling flow entry that is sent by the control device, where the tunneling flow entry is used to determine the packet to be tunneled and indicates the tunnel processing of the packet to be tunneled.
  • the control device is configured to control forwarding of packets received by the switching device;
  • the switching device determines, according to the tunnel flow entry, whether the received first packet is the packet to be tunnel processed
  • the switching device When the first packet is the packet to be tunneled, the switching device performs tunnel processing on the first packet according to the tunnel flow entry.
  • the method before the switching device receives the tunnel flow entry that is sent by the control device, the method further includes: [12] the exchanging The device reports, to the control device, a flow table type of the flow table supported by the switching device, where the flow table type includes a tunnel flow table;
  • the switching device receives the tunneling flow entry that is sent by the control device, and the following: the switching device receives the tunneling flow entry that is sent by the control device to the switching device according to the flow table type.
  • the switching device before the switching device receives the tunnel flow entry that is sent by the control device, the method further includes:
  • the switching device When the switching device receives the second packet of the data stream, the second packet is encapsulated into an information report message by using the OpenFlow OpenFlow protocol, and the second report is further included in the information report message. a matching field, where the matching field is used to enable the control device to perform tunnel processing on the second packet, where the first packet is a packet belonging to the data stream; [16] The switching device reports the information report message to the control device;
  • the switching device receives the tunneling flow entry, which is sent by the control device, and includes: the switching device receives an entry update message sent by the control device, where the update information of the entry is the control device according to the The matching field determines a message generated by encapsulating the tunnel flow entry generated by the second packet by using the OpenFlow protocol after the second packet is tunneled.
  • the switching device performs tunnel processing on the first packet according to the tunnel flow entry, including:
  • the switching device adds the tunnel header information and the medium access control layer MAC address of the first packet after the tunnel encapsulation is performed according to the tunnel encapsulation flow entry, where
  • the tunnel header information includes an external internet protocol IP address of the first packet, a user datagram protocol UDP port number, and a tunnel endpoint identifier TEID.
  • the switching device performs tunnel processing on the first packet according to the tunnel flow entry, including:
  • the switching device adds the MAC address of the first packet after the tunnel decapsulation, and the MAC address of the first packet after the tunnel decapsulation is added, according to the tunnel decapsulation flow entry, the tunnel header information of the first packet is removed,
  • the tunnel header information includes an external MAC address, an external IP address, a UDP port number, and a TEID of the first packet.
  • the switching device performs tunnel processing on the first packet according to the tunnel flow entry, including:
  • the switching device removes the first tunnel header information of the first packet according to the tunnel decapsulation flow entry, where the first tunnel header information includes a first external MAC address of the first packet. a first external IP address, a first UDP port number, and a first TEID;
  • the switching device adds a second tunnel to the first packet after decapsulation according to the tunnel encapsulation flow entry.
  • the second aspect provides a tunnel processing method for a packet, where the method includes:
  • the control device sends a tunneling flow entry to the switching device, where the tunneling flow entry is used to determine a packet to be tunneled, and indicates a tunnel processing operation on the packet to be tunneled.
  • the switching device is configured to determine, according to the tunnel flow entry, whether the received first packet is the packet to be tunneled, and when the first packet is the to-be-processed packet The first packet is tunneled according to the tunnel flow entry.
  • the method before the control device sends the tunneling flow entry to the switching device, the method further includes:
  • the control device receives a flow table type of the flow table supported by the switching device reported by the switching device, where the flow table type includes a tunnel flow table;
  • the control device sends the tunneling flow entry to the switching device, and the control device sends the tunneling flow entry to the switching device according to the flow table type.
  • the method further includes:
  • the control device receives the information report message reported by the switching device, where the information reporting message is that the switching device receives the second packet of the data stream, and performs the second packet by using the OpenFlow protocol. Encapsulating the generated message, the information reporting message further includes a matching field of the first packet, where the matching field is used to enable the control device to perform tunnel processing on the second packet, where the A message is a message belonging to the data stream;
  • the control device determines, according to the matching field, that the second packet is tunneled, and then generates a tunnel flow entry for the second packet.
  • control device encapsulates the tunnel flow entry into an entry update message by using an OpenFlow protocol; [34] the control device sends a tunnel flow entry to the switch device, where: the control device: The entry update message is sent to the switching device. [35] In combination with the second possible implementation of the second aspect, in a third possible implementation of the second aspect,
  • the entry update message further includes tunnel header information, where the tunnel header information includes an external IP address used for tunnel encapsulation of the packet. , UDP port number and TEID;
  • the entry update message further includes a MAC address of the packet used for forwarding the tunnel decapsulation.
  • a switching device includes:
  • a receiving unit configured to receive a tunneling flow entry that is sent by the control device, where the tunneling flow entry is used to determine a packet to be processed by the tunnel, and to indicate that the packet to be tunneled is performed.
  • the control device is configured to control forwarding of packets received by the switching device;
  • a determining unit configured to determine, according to the tunneling flow entry that is received by the receiving unit, whether the received first packet is the packet to be tunneled
  • the processing unit is configured to perform tunnel processing on the first packet according to the tunnel flow entry when the determining unit determines that the first packet is the packet to be tunneled.
  • the switching device further includes:
  • the first reporting unit is configured to report, to the control device, a flow table type of the flow table supported by the switching device, where the receiving unit receives the tunnel flow entry, where the flow table type includes a tunnel flow Table
  • the receiving unit is configured to receive a tunnel flow entry that is sent by the control device to the switching device according to the flow table type.
  • the switching device further includes:
  • an encapsulating unit configured to: when the switching device receives the second packet of the data stream, the second packet is encapsulated into an information reporting message by using the OpenFlow OpenFlow protocol, where the information reporting message further includes a matching field of the second packet, where the matching field is used to enable the control device to determine to perform the second packet
  • the tunnel processing where the first packet is a packet belonging to the data stream;
  • a second reporting unit configured to report the information reporting message of the encapsulating unit to the control device
  • the receiving unit is configured to receive an entry update message that is sent by the control device, where the entry update message is that the control device determines to tunnel the second packet according to the matching field. After the processing, the message generated by encapsulating the tunnel flow entry generated by the second packet is encapsulated by the OpenFlow protocol.
  • the processing unit is configured to: when the tunnel flow entry is a tunnel encapsulation flow entry, add the tunnel header information to the first packet according to the tunnel encapsulation flow entry, and the method for forwarding the tunnel encapsulation
  • the medium access control layer MAC address of the first packet where the tunnel header information includes an external internet protocol IP address, a user datagram protocol UDP port number, and a tunnel endpoint identifier TEID of the first packet.
  • the processing unit is configured to: when the tunneling flow entry is a tunnel decapsulation flow entry, remove the tunnel header information of the first packet according to the tunnel decapsulation flow entry, and add a tunneling solution for forwarding The encapsulated MAC address of the first packet, where the tunnel header information includes an external MAC address, an external IP address, a UDP port number, and a TEID of the first packet.
  • the processing unit is configured to: when the tunneling flow entry is a tunnel decapsulation flow entry and a tunnel encapsulation flow entry, remove the first tunnel header information of the first packet according to the tunnel decapsulation flow entry.
  • the first tunnel header information includes a first external MAC address, a first external IP address, a first UDP port number, and a first TEID of the first packet, and is decapsulated according to the tunnel encapsulation flow entry.
  • control device includes:
  • a sending unit configured to send a tunneling flow entry to the switching device, where the tunneling flow entry is used to determine a packet to be tunneled and instructs to perform tunnel processing on the packet to be tunneled. Operation
  • the device is configured to determine, according to the tunnel flow entry, whether the received first packet is the packet to be tunneled, and when the first packet is the packet to be tunneled. And performing tunnel processing on the first packet according to the tunnel flow entry.
  • control device further includes: [55] a first receiving unit, configured to send, by the sending unit, a tunneling flow to the switching device Before the entry, the flow table type of the flow table supported by the switching device reported by the switching device is received, where the flow table type includes a tunnel flow table;
  • the sending unit is configured to send a tunnel flow entry to the switching device according to the flow table type received by the first receiving unit.
  • control device further includes:
  • the second receiving unit is configured to receive, by the sending unit, the information reporting message that is reported by the switching device, and the information reporting message is that the switching device receives the data stream. And the message generated by encapsulating the second packet by using the OpenFlow protocol, where the information reporting message further includes a matching field of the first packet, where the matching field is used to enable the control
  • the device determines to process the second packet, where the first packet is a packet belonging to the data stream;
  • a generating unit configured to determine, according to a matching field in the information reporting message received by the second receiving unit, that the second packet is tunneled, and then generate a tunneling flow entry for the second packet ;
  • an encapsulating unit configured to encapsulate, by using an OpenFlow protocol, a tunneling flow entry generated by the generating unit into an entry update message;
  • the sending unit is specifically configured to update the encapsulated entry of the encapsulating unit The message is sent to the switching device.
  • the encapsulating unit is further configured to include a tunnel encapsulation flow in the tunnel flow entry
  • the tunnel header information is added to the encapsulated entry update message, where the tunnel header information includes an external IP address, a UDP port number, and a TEID for tunnel encapsulation of the packet;
  • the entry includes the tunnel decapsulation flow entry, the MAC address of the packet used for forwarding the tunnel decapsulation is added to the encapsulated update message.
  • a switching device is provided, where the switching device includes: a network interface, a transceiver, and a processor,
  • the network interface configured to establish a network connection with the control device
  • the transceiver is configured to receive a tunnel flow entry that is sent by the control device, where the tunnel flow entry is used to determine a packet to be processed by the tunnel, and to indicate the report to be tunneled. And the control device is configured to control forwarding of the received packet by the switching device;
  • the processor is configured to determine, according to the tunnel flow entry, whether the received first packet is the packet to be tunneled, and when the first packet is the tunnel to be tunneled The first packet is tunneled according to the tunnel flow entry when the packet is processed.
  • the transceiver is further configured to report, to the control device, a flow table type of a flow table supported by the switching device, where the flow table type includes a tunnel flow table;
  • the transceiver is specifically configured to receive a tunnel flow entry that is sent by the control device to the switching device according to the flow table type.
  • the processor is further configured to: when the transceiver receives the second packet of the data stream, the second packet is encapsulated into an information report message by using the OpenFlow OpenFlow protocol, where the information is reported. And a matching field of the second packet, where the matching field is used to enable the control device to perform tunnel processing on the second packet, where the first packet belongs to the data stream.
  • the transceiver is further configured to report the information report message to the control device;
  • the transceiver is specifically configured to receive an entry update message sent by the control device, where the entry update message is that the control device determines to tunnel the second packet according to the matching field. After processing, the message generated by encapsulating the tunnel flow entry generated by the second packet is encapsulated by the OpenFlow protocol.
  • the processor is specifically configured to: when the tunnel flow entry is a tunnel encapsulation flow entry, encapsulate the flow entry according to the tunnel Adding a tunnel header information and a medium access control layer MAC address of the first packet after the tunnel encapsulation is performed, where the tunnel header information includes an external Internet of the first packet Protocol IP address, User Datagram Protocol UDP port number, and tunnel endpoint ID TEID.
  • the processor is specifically configured to: when the tunneling flow entry is a tunnel decapsulation flow entry, remove the tunnel header information of the first packet according to the tunnel decapsulation flow entry, and add a tunneling solution for forwarding The encapsulated MAC address of the first packet, where the tunnel header information includes an external MAC address, an external IP address, a UDP port number, and a TEID of the first packet.
  • the processor is configured to: when the tunneling flow entry is a tunnel decapsulation flow entry and a tunnel encapsulation flow entry, remove the first tunnel header information of the first packet according to the tunnel decapsulation flow entry
  • the first tunnel header information includes a first external MAC address, a first external IP address, a first UDP port number, and a first TEID of the first packet, and is decapsulated according to the tunnel encapsulation flow entry.
  • a control device comprising: a network interface, a transceiver, and a processor,
  • the network interface configured to establish a network connection with the switching device
  • the transceiver is configured to send a tunnel flow entry to the switching device, where the tunnel flow entry is used to determine a packet to be tunneled and instructs to perform the tunnel processing packet.
  • the switching device is configured to determine, according to the tunneling flow entry, whether the received first packet is the packet to be tunneled, and when the first packet is the to-be-processed The tunnel processing is performed on the first packet according to the tunnel flow entry.
  • the transceiver is further configured to receive, before sending the tunnel flow entry to the switching device, a flow table type of the flow table supported by the switching device reported by the switching device, where the flow table type includes a tunnel flow table;
  • the transceiver is configured to send a tunnel flow entry to the switching device according to the flow table type.
  • the transceiver is further configured to receive, after the tunneling device sends the tunneling flow entry, the information reporting message reported by the switching device, where the information reporting message is the second that the switching device receives the data flow.
  • the message generated by the second packet is encapsulated by the OpenFlow protocol, and the information report message further includes a matching field of the first packet, where the matching field is used to determine that the control device determines
  • the second packet is processed by the tunnel, where the first packet is a packet belonging to the data stream;
  • the processor is further configured to: after performing tunnel processing on the second packet according to the matching field, generate a tunnel flow entry for the second packet, and use the OpenFlow protocol to tunnel the tunnel The flow entry is encapsulated into an entry update message.
  • the transceiver is specifically configured to send the entry update message to the switching device.
  • the processor is further configured to include a tunnel encapsulation flow in the tunnel flow entry
  • the tunnel header information is added to the encapsulated entry update message, where the tunnel header information includes an external IP address, a UDP port number, and a TEID for tunnel encapsulation of the packet;
  • the tunnel header information includes an external IP address, a UDP port number, and a TEID for tunnel encapsulation of the packet;
  • the MAC address of the packet used for forwarding the tunnel decapsulation is added to the encapsulated update message.
  • the control device sends a tunneling flow entry to the switching device, and the switching device determines, according to the tunneling flow entry, whether the received first packet is a packet to be tunneled, and the first packet is used as the first packet.
  • the packet is a packet to be processed
  • the first packet is tunneled according to the tunnel flow entry.
  • the switching device supports the tunnel flow table. Therefore, when the OpenFlow protocol is used to transmit the packet in the mobile packet network, the tunnel can be encapsulated or solved by the tunnel flow entry sent by the control device. Encapsulation, thereby enhancing packet processing capabilities in mobile packet networks.
  • [90] 1A is a schematic diagram of a network architecture applied in an embodiment of the present invention.
  • [1] 1B is a schematic diagram of a correspondence between control software and different types of flow tables in an embodiment of the present invention
  • [92] 2A is a flowchart of an embodiment of a tunnel processing method of the packet of the present invention.
  • [23] 2B is a flowchart of another embodiment of a tunnel processing method of the packet of the present invention.
  • [94] 3 is a flowchart of another embodiment of a tunnel processing method for a message according to the present invention.
  • [95] 4 is a flowchart of another embodiment of a tunnel processing method for a message of the present invention.
  • [96] 5 is a flowchart of another embodiment of a tunnel processing method for a message according to the present invention.
  • [97] 6 is a block diagram of an embodiment of the switching device of the present invention.
  • [98] 7 is a block diagram of another embodiment of the switching device of the present invention.
  • [99] 8 is a block diagram of another embodiment of the switching device of the present invention.
  • FIG. 9 is a block diagram of an embodiment of a control device of the present invention.
  • FIG. 10 is a block diagram of another embodiment of a control device of the present invention.
  • FIG 11 is a block diagram of another embodiment of a control device of the present invention. detailed description
  • FIG. 1A is a schematic diagram of a network architecture applied according to an embodiment of the present invention:
  • the network architecture shown in FIG. 1A is an SDN network
  • the SDN network may include: one control device and three switching devices, namely, SW1, SW2, and SW3, and the control device and the switching device are mutually connected. connection.
  • the control device may be a controller based on the OpenFlow protocol, and each switch device is configured with a flow table, and the control device can uniformly query and manage the flow table on all the switch devices. Since the embodiment of the present invention is applied to a mobile packet network, SW1, SW2, and SW3 in FIG. 1A may specifically be a base station, a gateway, a Public Data Network (PDN) device, or the like in a mobile packet network.
  • PDN Public Data Network
  • the switching device may obtain a forwarding rule from the control device for transmitting each data stream, and store the forwarding rule as an entry in the flow table, that is, the storage stream stored by the switching device.
  • Each entry of the table can identify a data stream.
  • the switching device transmits the first packet of a certain data stream
  • the switching device reports the first packet to the control device, so as to request the forwarding of the data stream from the control device, because there is no flow table matching the data stream. rule.
  • the content of the above flow table mainly includes a matching domain, a counter, and an action set.
  • the switching device manages the flow table according to a table type pattern (TTP), that is, the flow table in the switching device is classified according to different types, as shown in FIG.
  • TTP table type pattern
  • application software running on the control plane of the control device is used to provide a decision to construct a flow entry, including Firewal l/NAT software implementing firewall functions, and Route implementing network address translation and routing. And Address Resolution Protocol (ARP) software, Quality of Service (QoS) software for implementing quality of service control, and tunneling tunnel software for implementing tunnel encapsulation and decapsulation functions.
  • ARP Address Resolution Protocol
  • QoS Quality of Service
  • the forwarding plane of the corresponding switching device is used to store different types of flow entries. These flow entries are Session Table, Access Control List (ACL) Table (Control Flow Table), and Route Table ( Routing Flow Table), QoS Table and Timnel Table.
  • the embodiment of the present invention can be applied to a mobile packet network.
  • the tunnel software that implements the tunnel encapsulation and decapsulation generation function is added to the control plane.
  • the forwarding plane can obtain the tunnel header from other network elements.
  • Information when tunnel decapsulation based on the Timnel Table, the Media Access Control (MAC) address of the target device can be obtained from other network elements.
  • MAC Media Access Control
  • the matching field of the tunnel encapsulation may be a source MAC address, a destination MAC address, a source IP address, a destination IP address, a source TCP/UDP port number, a destination TCP/UDP port number, and other matching fields supported by the OpenFlow protocol;
  • the supported matching modes include exact matching and mask-based matching; the action or instruction after the matching is completed may be to discard the packet, jump to the forwarding flow table, jump to the tunnel decapsulation flow table, or FIG. 1B Other flow tables.
  • the matching field of the tunnel decapsulation may be a source MAC address, a destination MAC address, a source IP address, a destination IP address, a source TCP/UDP port number, a destination TCP/UDP port number, and a Tunnel Endpoint Identifier (TEID).
  • the supported matching modes include exact matching and mask-based matching.
  • the action or instruction after the matching is completed may be to discard the packet, jump to the forwarding flow table, jump to the tunnel encapsulation flow table, or other in FIG. 1B.
  • Flow table The switching device and the control device in the embodiment of the present invention are devices that support the OpenFlow protocol. Therefore, the matching field when the packet is encapsulated or decapsulated by the packet may be specifically the 12 protocol fields defined in the OpenFlow.
  • the embodiment of the present invention is not limited to the 40 protocol fields defined in the OpenFlow.
  • FIG. 2A is a flowchart of an embodiment of a tunnel processing method for a packet according to the present invention. This embodiment describes a tunnel processing process of a packet from a switching device side:
  • Step 201 The switching device receives the tunnel flow entry delivered by the control device.
  • the tunnel flow entry is used to determine a packet to be tunneled and to instruct a tunnel processing operation on the packet to be tunneled, and the control device is used to The forwarding of the received message by the switching device is controlled.
  • the switching device can save the flow table according to the flow table type in the embodiment of the present invention. Therefore, the switching device can negotiate the supported flow table with the control device before receiving the tunnel flow entry sent by the control device. The type, that is, before receiving the tunnel flow entry sent by the control device, reporting the flow table type of the supported flow table to the control device, where the flow table type includes the tunnel flow table, and correspondingly, the switching device can receive the control device according to the flow table. Type of the tunnel flow entry delivered to the switching device.
  • the control device may send a request message requesting the flow table type supported by the switching device to the switching device, and the switching device may send a response message carrying the flow table type of the supported flow table to the control device, thereby completing the flow table.
  • Type negotiation may be used.
  • the switch may use the OpenFlow OpenFlow protocol to perform the second Message seal
  • the information report message (for example, the packetjn message)
  • the information report message may include a matching field of the second message, where the matching field is used to enable the control device to determine the tunnel processing of the second packet, where the first packet is The second packet belongs to the same data stream, and the second packet is usually the first packet of the data stream.
  • the matching field may be set to be independent of the second packet, or may be included in the second packet.
  • the embodiment of the present invention does not limit the information, and the switching device reports the information reporting message to the control device.
  • the control device determines to perform the tunnel processing on the second packet according to the matching field, and then the switching device receives the entry update message (for example, the flow_mod message) sent by the control device, where the entry update message is the control device through the OpenFlow protocol.
  • the message generated after the tunnel flow entry generated by the second packet is encapsulated.
  • Step 202 The switching device determines, according to the tunnel flow entry, whether the received first packet is a packet to be processed by the tunnel.
  • the tunnel flow entry may include at least one of the following flow entry: a tunnel encapsulated flow entry and a tunnel decapsulated flow entry.
  • Step 203 When the first packet is a packet to be tunneled, the switching device performs tunnel processing on the first packet according to the tunnel flow entry.
  • the switching device may add a tunneling header information and a MAC address for forwarding the first packet after the tunnel encapsulation according to the tunnel encapsulation flow entry.
  • the address, where the tunnel header information may include an external IP address, a UDP port number, and a TEID of the first packet.
  • the switching device may remove the tunnel header information of the first packet according to the tunnel decapsulation flow entry, and add the The MAC address of a packet.
  • the tunnel header information can include the external MAC address of the first packet, the external IP address, the UDP port number, and the TEIDo.
  • the switching device may remove the first tunnel header information of the first packet according to the tunnel decapsulation flow entry, the first tunnel
  • the header information includes a first external MAC address of the first packet, a first external IP address, a first UDP port number, and a first TEID.
  • the switching device adds a second packet to the decapsulated first packet according to the tunnel encapsulation flow entry.
  • the switching device supports the tunnel flow table. Therefore, when the OpenFlow protocol is used to transmit the packet in the mobile packet network, the tunnel flow entry pair delivered by the control device can be controlled. The packet is encapsulated or decapsulated by the tunnel, thereby enhancing the packet processing capability in the mobile packet network.
  • FIG. 2B is a flowchart of another embodiment of a tunnel processing method for a packet according to the present invention.
  • the embodiment describes a tunnel processing process of a packet from a controller side:
  • Step 211 The control device establishes a network connection with the switching device.
  • Step 212 The control device sends a tunneling flow entry to the switching device, where the tunneling flow entry is used to determine a packet to be tunneled and indicates a tunnel processing operation on the packet to be processed by the tunnel.
  • the switching device can save the flow table according to the flow table type in the embodiment of the present invention.
  • the control device can negotiate with the switching device the flow table supported by the switching device.
  • the type of the flow table of the supported flow table reported by the switching device, the flow table type includes a tunnel flow table, and correspondingly, the control device can be based on the flow table type.
  • the tunnel flow entry is delivered to the switching device.
  • the control device may send a request message requesting the flow table type supported by the switching device to the switching device, and the switching device may send a response message carrying the flow table type of the supported flow table to the control device, thereby completing the flow table.
  • Type negotiation is a request message requesting the flow table type supported by the switching device to the switching device.
  • the control device may receive the information reporting message (for example, a packetjn message) reported by the switching device, where the information reporting message is the switching device.
  • the information reporting message for example, a packetjn message
  • the second packet of the data stream is received, the second packet is encapsulated and generated by the OpenFlow protocol, and the information report message further includes a matching field of the second packet, where the second packet is the first packet. Belongs to the same data stream.
  • the matching field may be set independently of the second packet, or may be included in the second packet. The embodiment of the present invention does not limit the control field, and the control device determines to perform the second packet according to the matching field.
  • FIG. 3 is a flowchart of another embodiment of a tunnel processing method for a packet according to the present invention. The embodiment shows a process of encapsulating and forwarding a packet:
  • Step 301 The switching device and the control device negotiate a flow table type supported by the control device.
  • the control device may send a table feature request message to the switching device, requesting the flow table type on the switching device, and after receiving the table feature request message, the switching device may generate the self-supporting A table feature reply (table entry type response) message of the flow table type, and the table feature reply message is sent to the control device, thereby completing a flow table type negotiation process between the control device and the switching device.
  • a table feature request message to the switching device, requesting the flow table type on the switching device, and after receiving the table feature request message, the switching device may generate the self-supporting A table feature reply (table entry type response) message of the flow table type, and the table feature reply message is sent to the control device, thereby completing a flow table type negotiation process between the control device and the switching device.
  • Step 302 The switching device receives the IP packet.
  • IP Internet Protocol
  • Step 303 The switching device does not match the flow table of the IP packet.
  • the switching device After receiving the IP packet, the switching device matches the IP packet with the flow table in the switching device.
  • the IP packet is the first packet of the data stream, and therefore cannot be matched in the existing flow table.
  • the flow entry to the IP packet so that the switching device fails to find the flow table for the IP packet.
  • Step 304 The switching device reports the packet jn packet encapsulated in the IP packet to the control device.
  • the switching device encapsulates the IP packet into a packet_in packet by using the OpenFlow protocol, and the packet_in packet may include a matching field as a feature of the packet, and the switching device reports the packet_in.
  • the text is reported to the controller.
  • the matching field may be a field of the user search flow table in the foregoing step 303, the matching field may refer to at least one of 12 fields defined in the OpenFlow 1.0 protocol, or may be referred to in the OpenFlow 3. At least one of the 40 fields.
  • Step 305 The control device determines to encapsulate the IP packet and obtain the header information of the tunnel encapsulation.
  • the correspondence between the matching field and the performing action may be preset in the control device.
  • the control device parses the packet to obtain a matching field, and the The matching field is matched with the foregoing corresponding relationship, and an execution action corresponding to the matching field is obtained.
  • the matching field may be specifically the source IP address of the packet, the source MAC address, and the like.
  • the matching field saved in the correspondence relationship is "source IP address 1. 1. 1. 1", and the corresponding execution action is "encapsulation”. If the source IP address obtained by the control device after parsing the IP packet is " 1. 1. 1. 1 ", it is determined that the IP packet is tunnel encapsulated.
  • the control device may specifically refer to an SDN controller and a core network controller in the mobile network, for example, a Mobi le Management Entity (MME), a Serving Gateway (SGW), PDN Gateway (PGW), etc.
  • MME Mobi le Management Entity
  • SGW Serving Gateway
  • PGW PDN Gateway
  • the tunnel encapsulation header information may be obtained from the core network controller, where the header information includes the external IP address of the tunnel encapsulation and the User Datagram Protocol (UDP) port. Number, and TEID.
  • UDP User Datagram Protocol
  • Step 306 The control device constructs a encapsulated flow entry and a forwarding flow entry for the IP packet.
  • the control device may adopt the construction manner described in the existing OpenFlowl.O and OpenFlowl.3 protocols.
  • the constructed flow entry mainly includes a MatchField, a Counters, and an Action Set, and may further include a priority of the flow entry in the corresponding flow table.
  • the matching field in the matching field of the encapsulated flow entry may be a source MAC address, a destination MAC address, a source IP address, a destination IP address, a source TCP/UDP port number, a destination TCP/UDP port number, and an action set after the matching is completed.
  • the action instruction may be: discarding the packet, jumping to the forwarding flow table, and jumping to the tunnel decapsulation flow table; the forwarding flow entry may be a flow entry in the Route Table shown in the foregoing FIG. 1B.
  • Step 307 The control device encapsulates the constructed entry into a flow_mod message and sends it to the switching device.
  • the control device encapsulates the encapsulated flow entry and the forwarding flow entry into an f low-mod message by using an OpenFlow protocol, where the flow-mod message includes a flow table type, a flow entry corresponding to each flow table type, and a tunnel. The header information of the package.
  • Step 308 The switching device inserts the encapsulated flow entry and the forwarded flow entry in the flow-mod message into the corresponding encapsulated flow table and the forwarded flow table according to the type. After receiving the flow_mod message, the switching device parses the flow-mod message, obtains the encapsulated flow entry and the forwarded flow entry, and inserts the encapsulated flow entry into the encapsulated flow table according to its priority. Corresponding location, and inserting the forwarding flow entry into the corresponding location of the forwarding flow table according to its priority. [148] Step 309: After the switching device matches the IP packet with the encapsulated flow table, the IP packet is tunnel encapsulated.
  • the IP packet may be saved to the buffer area first.
  • the switching device can extract the IP packet from the buffer, match the IP packet with the flow table, and tunnel the IP packet according to the matched flow entry.
  • the IP address of the tunnel is encapsulated.
  • the tunnel header information is added to the packet, including the external IP address, UDP port number, and TEID, and the external MAC address is added.
  • the external MAC address can be obtained from the ARP table or the forwarding table.
  • Step 310 The switching device matches the packet encapsulated by the tunnel with the forwarding flow table, and forwards the encapsulated packet according to the forwarding flow entry. [151] After the IP packet is encapsulated, the switching device further matches the forwarding flow table to obtain a corresponding forwarding flow entry, and forwards the encapsulated packet according to the forwarding flow entry, which is related to the prior art. In this embodiment, when the forwarding flow entry is matched, the TEID may be further added as a matching field.
  • the switching device supports the tunnel flow table. Therefore, when the OpenFlow protocol is used to transmit the packet in the mobile packet network, the tunnel flow entry pair delivered by the control device can be controlled. The packet is encapsulated or decapsulated by the tunnel, thereby enhancing the packet processing capability in the mobile packet network.
  • FIG. 4 is a flowchart of another embodiment of a tunnel processing method for a packet according to the present invention.
  • the embodiment shows a process of decapsulating and forwarding a packet:
  • Step 401 The switching device and the control device negotiate a flow table type supported by the control device.
  • the control device may send a table feature request message to the switching device, requesting a flow table type on the switching device, and after receiving the table feature request message, the switching device may generate a self-supporting A table feature reply (table entry type response) message of the flow table type, and the table feature reply message is sent to the control device, thereby completing a flow table type negotiation process between the control device and the switching device.
  • a table feature request message to the switching device, requesting a flow table type on the switching device, and after receiving the table feature request message, the switching device may generate a self-supporting A table feature reply (table entry type response) message of the flow table type, and the table feature reply message is sent to the control device, thereby completing a flow table type negotiation process between the control device and the switching device.
  • Step 402 The switching device receives the GTP packet.
  • the GTP packet received by the switching device is the first packet of a certain data stream.
  • Step 403 The switching device does not match the flow table of the GTP packet.
  • the switching device matches the GTP packet with the flow table in the switching device. Because the GTP packet is the first packet of the data stream, the switching device cannot match the existing flow table. The flow entry to the GTP packet, so that the switching device fails to find the flow table for the GTP packet.
  • Step 404 The switching device reports the packet_in packet encapsulated in the GTP packet to the control device.
  • the switching device encapsulates the GTP packet into a packet_in packet by using the OpenFlow protocol, and the packet_in packet may include a matching field as a feature of the packet in addition to the original GTP packet, and the switching device reports the packet_in packet. The text is reported to the controller.
  • the matching field may be a field in the foregoing step 403, where the user searches for a flow table, where the matching field may refer to at least one of 12 fields defined in the OpenFlow 1.0 protocol, and may also refer to an OpenFlow.3 protocol. At least one of the 40 fields. Further, in this embodiment, the matching field may further include TEIDo.
  • Step 405 The control device determines to decapsulate the GTP packet and obtain the MAC address for forwarding the packet after decapsulation.
  • the correspondence between the matching field and the performing action may be preset in the control device.
  • the control device After receiving the packetjn packet, the control device parses the packet to obtain a matching field, and matches the matching field.
  • the field is matched with the foregoing corresponding relationship, and an execution action corresponding to the matching field is obtained.
  • the matching field may be specifically the source IP address of the packet, the source MAC address, and the like.
  • the matching field saved in the correspondence relationship is "the source IP address is the address of the GGSN", and the corresponding execution action is "decapsulation". If the source IP address obtained by the control device after the IP packet is parsed is the GGSN address, the GTP packet is decapsulated.
  • Step 406 The control device constructs a decapsulated flow entry and a forwarding flow entry for the GTP packet.
  • the control device may adopt the construction manner described in the existing OpenFlow1.O and 0penFlowl.3 protocols.
  • the constructed flow entry mainly includes The MatchField, the Counters, and the Actions are further included, and the priority of the flow entry in the corresponding flow table may also be included.
  • the matching field of the decapsulated flow entry may be a source MAC address, a destination MAC address, a source IP address, a destination IP address, a source TCP/UDP port number, a destination TCP/UDP port number, and a TEID, and the matching is completed.
  • the action instruction in the action set may be to discard the packet, jump to the forwarding flow table, and jump to the tunnel encapsulation flow table.
  • the forwarding flow entry may be the flow entry in the Route Table shown in FIG. 1B.
  • Step 407 The control device encapsulates the constructed entry into a flow_mod message and sends it to the switching device.
  • the control device encapsulates the decapsulated flow entry and the forwarding flow entry into an f low-mod message by using an OpenFlow protocol, where the flow-mod message includes a flow table type, a flow entry corresponding to each flow table type, and The MAC address obtained for the packet forwarding after decapsulation obtained in step 405.
  • Step 408 The switching device inserts the decapsulated flow entry and the forwarding flow entry in the flow_mod message into the corresponding decapsulated flow table and the forwarding flow table according to the type.
  • the switching device After receiving the flow_mod message, the switching device parses the flowjiiod message, obtains the decapsulated flow entry and the forwarding flow entry, and inserts the decapsulated flow entry into the decapsulated flow table according to its priority. The corresponding location, and the forwarding flow entry is inserted into the corresponding location of the forwarding flow table according to its priority.
  • Step 409 After the switching device matches the GTP packet with the encapsulated flow table, the GTP packet is tunnel decapsulated.
  • the GTP packet may be first saved to the buffer.
  • the switching device extracts the GTP packet from the cache, and then matches the GTP packet with the flow table, and performs tunnel decapsulation on the GTP packet according to the matched flow entry, and removes the tunnel decapsulation.
  • the external MAC address, IP address, UDP port number, and TEID of the packet are added, and the MAC address carried in the f low_mod message is added.
  • Step 410 The switching device matches the decapsulated packet with the forwarding flow table, and forwards the decapsulated IP packet according to the forwarding flow entry. After the decapsulation of the GTP packet, the switching device obtains the IP packet, and further matches the forwarding flow table to obtain the corresponding forwarding flow entry, and forwards the packet decapsulated by the tunnel according to the forwarding flow entry. [176] It can be seen from the foregoing embodiment that, in this embodiment, the switching device supports the tunnel flow table, so when the OpenFlow protocol is used to transmit the packet in the mobile packet network, the tunnel flow entry pair delivered by the control device can be controlled. The packet is encapsulated or decapsulated by the tunnel, thereby enhancing the packet processing capability in the mobile packet network.
  • FIG. 5 is a flowchart of another embodiment of a tunnel processing method for a packet according to the present invention.
  • the embodiment shows a process of decapsulating and forwarding a packet after decapsulating the packet:
  • Step 501 The switching device and the control device negotiate a flow table type supported by the control device.
  • the control device may send a table feature request message to the switching device, requesting the flow table type on the switching device, and after receiving the table feature request message, the switching device may generate the self-supporting A table feature reply (table entry type response) message of the flow table type, and the table feature reply message is sent to the control device, thereby completing a flow table type negotiation process between the control device and the switching device.
  • a table feature request message to the switching device, requesting the flow table type on the switching device, and after receiving the table feature request message, the switching device may generate the self-supporting A table feature reply (table entry type response) message of the flow table type, and the table feature reply message is sent to the control device, thereby completing a flow table type negotiation process between the control device and the switching device.
  • Step 502 The switching device receives the GTP packet.
  • Step 503 The switching device does not match the flow table of the GTP packet.
  • the switching device matches the GTP packet with the flow table in the switching device. Because the GTP packet is the first packet of the data stream, the switching device cannot match the existing flow table. The flow entry to the GTP packet, so that the switching device fails to find the flow table for the GTP packet.
  • Step 504 The switching device reports the packet jn packet encapsulated in the GTP packet to the control device.
  • the switching device encapsulates the GTP packet into a packet_in packet by using the OpenFlow protocol, and the packet_in packet may include a matching field as a feature of the packet in addition to the original GTP packet, and the switching device reports the packet_in packet. The text is reported to the controller.
  • the matching field may be a field of the user search flow table in the foregoing step 503, and the matching field may refer to at least one of 12 fields defined in the OpenFlow 1.0 protocol, or may be referred to in the OpenFlow1. 3 protocol. At least one of the 40 fields. Further, in this embodiment, the matching field may further include TEIDo.
  • Step 505 The control device determines to decapsulate the GTP packet, and then performs tunnel encapsulation again, and obtains header information of the tunnel encapsulation.
  • the correspondence between the matching field and the performing action may be preset in the control device.
  • the control device After receiving the packetjn packet, the control device parses the packet to obtain a matching field, and matches the matching field. The field is matched with the foregoing corresponding relationship, and an execution action corresponding to the matching field is obtained.
  • the matching field may be specifically the source IP address of the packet, the source MAC address, and the like. In this embodiment, it is assumed that the control device obtains the matching action corresponding to the matching field according to the corresponding relationship to decapsulate the packet, and then encapsulates the packet.
  • the header information of the tunnel encapsulation may be obtained from the core network controller, where the header information includes the external IP address of the tunnel encapsulation and UDP. Port number, and TEID.
  • Step 506 The control device constructs a decapsulation flow entry, a package flow entry, and a forwarding flow table row for the GTP packet.
  • the control device may adopt the construction manner described in the existing OpenFlow 1.0 and OpenFlow 3.1 protocols.
  • the configured flow entry mainly includes a MatchField, a Counter, and an Action, and may further include a priority of the flow entry in the corresponding flow table.
  • the matching field of the matching field of the decapsulated flow entry may be a source MAC address, a destination MAC address, a source IP address, a destination IP address, a source TCP/UDP port number, a destination TCP/UDP port number, and a TEID.
  • the action instruction in the action set may be to discard the packet, jump to the forwarding flow table, and jump to the tunnel encapsulation flow table.
  • the matching field in the matching field of the encapsulated flow entry may be the source MAC address, the destination MAC address, and the source IP address. Address, destination IP address, source TCP/UDP port number, destination TCP/UDP port number.
  • the action command in the action set can be to discard the packet, jump to the forwarding flow table, and jump to the tunnel decapsulation flow table. ;
  • the forwarding flow entry can be the aforementioned figure
  • Step 507 The control device encapsulates the constructed entry into a flow_mod message and sends it to the switching device.
  • the control device encapsulates the decapsulated flow entry, the encapsulated flow entry, and the forwarding flow entry into a flow-mod message by using an OpenFlow protocol, where the flow-mod message includes a flow table type, and a flow corresponding to each flow table type.
  • the entry, and the header information of the tunnel encapsulation are included in the decapsulated flow entry, the encapsulated flow entry, and the forwarding flow entry into a flow-mod message by using an OpenFlow protocol, where the flow-mod message includes a flow table type, and a flow corresponding to each flow table type.
  • Step 508 The switching device will decapsulate the flow entry, the encapsulated flow entry, and the forwarded flow in the flow_mod message. Table entries are inserted into the corresponding encapsulated flow table and forwarding flow table according to the type.
  • the switching device After receiving the flow_mod message, the switching device parses the flowjiiod message, obtains the decapsulated flow entry, the encapsulated flow entry, and the forwarding flow entry, and inserts the decapsulated flow entry according to its priority. To the corresponding location of the decapsulated flow table, the encapsulated flow entry is inserted into the corresponding position of the encapsulated flow table according to its priority, and the forwarding flow entry is inserted into the corresponding position of the forwarding flow table according to its priority.
  • Step 509 After the switching device matches the GTP packet with the decapsulated flow table, the GTP packet is tunnel decapsulated.
  • the GTP packet may be first saved to the buffer.
  • the switching device extracts the GTP packet from the cache, and then matches the GTP packet with the flow table, and performs tunnel decapsulation on the GTP packet according to the matched flow entry, and removes the tunnel decapsulation.
  • the external MAC address, IP address, UDP port number, and TEID of the packet may be first saved to the buffer.
  • Step 510 After the de-encapsulated GTP packet is matched with the encapsulated flow table, the switching device encapsulates the decapsulated GTP packet again.
  • the switching device After the decapsulation of the GTP packet, the switching device matches the GTP packet with the flow table, and encapsulates the GTP packet according to the matched flow entry, and adds a tunnel to the packet when the tunnel is encapsulated.
  • the header information including the external IP address, UDP port number, and TEID, and the addition of an external MAC address, which can be obtained from the ARP table or the forwarding table.
  • Step 511 The switching device matches the packet encapsulated by the tunnel with the forwarding flow table, and forwards the encapsulated packet according to the forwarding flow entry. [201] After the decapsulated GTP packet is encapsulated, the switching device further matches the forwarding flow table to obtain a corresponding forwarding flow entry, and forwards the encapsulated packet according to the forwarding flow entry. Compared with the prior art, in this embodiment, when matching a forwarding flow entry, the TEID may be further added as a matching field.
  • the switching device supports the tunnel flow table. Therefore, when the OpenFlow protocol is used to transmit the packet in the mobile packet network, the tunnel flow entry pair delivered by the control device can be controlled. The packet is encapsulated or decapsulated by the tunnel, thereby enhancing the packet processing capability in the mobile packet network.
  • the present invention also provides a switching device and a control An embodiment of a device.
  • FIG. 6 is a block diagram of an embodiment of a switching device of the present invention:
  • the switching device includes: a receiving unit 610, a determining unit 620, and a processing unit 630.
  • the receiving unit 610 is configured to receive a tunneling flow entry that is sent by the control device, where the tunneling flow entry is used to determine a packet to be tunneled and indicates that the tunneling is to be performed. a tunneling operation performed by the packet, where the control device is configured to control forwarding of the packet received by the switching device;
  • the determining unit 620 is configured to determine, according to the tunnel flow entry that is received by the receiving unit, whether the received first packet is the packet to be tunneled;
  • the processing unit 630 is configured to: when the determining unit determines that the first packet is the packet to be tunneled, perform tunnel processing on the first packet according to the tunnel flow entry. .
  • the processing unit 630 may be specifically configured to: when the tunnel flow entry is a tunnel encapsulation flow entry, add tunnel header information to the first packet according to the tunnel encapsulation flow entry. a medium access control layer MAC address of the first packet after the tunnel encapsulation is performed, where the tunnel header information includes an external internet protocol IP address of the first packet, a user datagram protocol UDP port number, and The tunnel end identifier identifies the TEID.
  • the tunnel header information is removed according to the tunnel decapsulation flow entry, and then the tunnel decapsulation is added.
  • the MAC address of the first packet, the tunnel header information includes an external MAC address, an external IP address, a UDP port number, and a TEID of the first packet; when the tunnel flow entry is a tunnel decapsulation When the flow entry and the tunnel encapsulate the flow entry, the first tunnel header information of the first packet is removed according to the tunnel decapsulation flow entry, where the first tunnel header information includes the first packet An external MAC address Address, the first external IP address, the first UDP port number, and the first TEID, and adding the second tunnel header information to the first packet after decapsulation according to the tunnel encapsulation flow entry, and for forwarding the tunnel encapsulation
  • FIG. 7 is a block diagram of another embodiment of a switching device according to the present invention.
  • the switching device includes: a first reporting unit 710, a packaging unit 720, a second reporting unit 730, a receiving unit 740, and a determining unit 750. And processing unit 760.
  • the first reporting unit 710 is configured to report, to the control device, a flow table type of the flow table supported by the switching device, where the flow table type includes a tunnel flow table.
  • the encapsulating unit 720 is configured to: when the switching device receives the second packet of the data stream, the second packet is encapsulated into an information reporting message by using the OpenFlow OpenFlow protocol, where the information reporting message is further a matching field of the second packet, where the matching field is used to enable the control device to perform tunnel processing on the second packet, where the first packet is a packet belonging to the data stream.
  • the second reporting unit 730 is configured to report the information reporting message of the encapsulating unit to the control device.
  • the receiving unit 740 is configured to receive an entry update message that is sent by the control device, where the entry update message is that the control device determines to perform tunnel processing on the second packet according to the matching field. And a message generated by encapsulating the tunnel flow entry generated by the second packet by using the OpenFlow protocol;
  • the determining unit 750 is configured to determine, according to the tunneling flow entry encapsulated in the entry update message that is received by the receiving unit, whether the received first packet is the packet to be tunneled;
  • the processing unit 760 is configured to: when the determining unit determines that the first packet is the packet to be tunneled, perform tunnel processing on the first packet according to the tunnel flow entry. .
  • the processing unit 760 may be specifically configured to: when the tunnel flow entry is a tunnel encapsulation flow entry, add tunnel header information to the first packet according to the tunnel encapsulation flow entry. a medium access control layer MAC address of the first packet after the tunnel encapsulation is performed, where the tunnel header information includes an external internet protocol IP address of the first packet, a user datagram protocol UDP port number, and The tunnel end identifier identifies the TEID.
  • the tunnel header information is removed according to the tunnel decapsulation flow entry, and then the tunnel decapsulation is added.
  • the MAC address of the first packet, the tunnel header information includes an external MAC address, an external IP address, a UDP port number, and a TEID of the first packet; when the tunnel flow entry is a tunnel decapsulation When the flow entry and the tunnel encapsulate the flow entry, the first tunnel header information of the first packet is removed according to the tunnel decapsulation flow entry, where the first tunnel header information includes the first packet An external MAC address, the first outside An IP address, a first UDP port number, and a first TEID, and adding the second tunnel header information to the first packet that is decapsulated according to the tunnel encapsulation flow entry, and the foregoing a MAC address of the packet, where the second tunnel header information includes a second external IP address, a second UDP port number, and a second TEID.
  • FIG. 8 a block diagram of another embodiment of a switching device of the present invention is shown:
  • the switching device includes: a network interface 810, a transceiver 820, and a processor 830.
  • the network interface 810 is configured to establish a network connection with the control device.
  • the transceiver 820 is configured to receive a tunnel flow entry that is sent by the control device, where the tunnel flow entry is used to determine a packet to be tunneled and indicates that the tunnel is to be processed. a tunneling operation performed by the packet, where the control device is configured to control forwarding of the packet received by the switching device;
  • the processor 830 is configured to determine, according to the tunnel flow entry, whether the received first packet is the packet to be tunneled, and when the first packet is the to-be-processed When the packet is processed by the tunnel, the first packet is tunneled according to the tunnel flow entry.
  • the transceiver 820 is further configured to report, to the control device, a flow table type of a flow table supported by the switching device, where the flow table type includes a tunnel flow table;
  • the transceiver 830 may be specifically configured to receive a tunnel flow entry that is sent by the control device to the switching device according to the flow table type. [227] In another alternative implementation:
  • the processor 830 is further configured to: when the transceiver receives the second packet of the data stream, encapsulate the second packet into an information report message by using an OpenFlow OpenFlow protocol, where the information is The report message further includes a matching field of the second packet, where the matching field is used to enable the control device to perform tunnel processing on the second packet, where the first packet belongs to the a packet of the data stream; [229] the transceiver 820, configured to report the information report message to the control device;
  • the transceiver 820 may be configured to receive an entry update message sent by the control device, where the entry update message is that the control device determines, according to the matching field, the second packet. After the tunnel processing is performed, the message generated by the tunnel flow entry generated by the second packet is encapsulated by the OpenFlow protocol.
  • the processor 830 may be specifically configured to: when the tunnel flow entry is a tunnel encapsulation flow entry, add tunnel header information to the first packet according to the tunnel encapsulation flow entry, and Transmitting, by the tunnel, the medium access control layer MAC address of the first packet, where the tunnel header information includes an external internet protocol IP address, a user datagram protocol UDP port number, and a tunnel endpoint of the first packet Identifying the TEID; when the tunneling flow entry is a tunnel decapsulation flow entry, removing the tunnel header information of the first packet according to the tunnel decapsulation flow entry, adding a tunnel for decapsulation after forwarding the tunnel
  • the MAC address of the first packet, the tunnel header information includes an external MAC address, an external IP address, a UDP port number, and a TEID of the first packet; and the tunnel flow entry is a tunnel decapsulation flow table.
  • the first tunnel header information of the first packet is removed according to the tunnel decapsulation flow entry, where the first tunnel header information includes the first external part of the first packet.
  • MAC address, first external IP address, The first UDP port number and the first TEID, and the second packet header information and the first packet after forwarding the tunnel encapsulation are added to the first packet that is decapsulated according to the tunnel encapsulation flow entry MAC address, wherein the second tunnel header information includes a second external IP address, a second UDP port number, and a second TEID.
  • the control device includes: a transmitting unit 910.
  • the sending unit 910 is configured to send a tunneling flow entry to the switching device, where the tunneling flow entry is used to determine a packet to be tunneled and instructs to perform the tunneling processing packet.
  • the tunneling operation is performed, and the switching device is configured to determine, according to the tunneling flow entry, whether the received first packet is the packet to be tunneled, and when the first packet is the The first packet is tunneled according to the tunnel flow entry when the tunnel is processed.
  • FIG. 10 it is a block diagram of another embodiment of a control device of the present invention:
  • the control device includes: a first receiving unit 1010, a second receiving unit 1020, a generating unit 1030, a packaging unit 1040, and a transmitting unit 1050.
  • the first receiving unit 1010 is configured to receive a flow table type of the flow table supported by the switching device that is reported by the switching device, where the flow table type includes a tunnel flow table.
  • the second receiving unit 1020 is configured to receive an information reporting message that is reported by the switching device, where the information reporting message is that the switching device receives the second packet of the data stream, Two The message is encapsulated and generated by the packet, and the information report message further includes a matching field of the first packet, where the matching field is used to enable the control device to perform tunnel processing on the second packet, where The first packet is a packet belonging to the data stream;
  • the generating unit 1030 is configured to: after performing tunnel processing on the second packet according to the matching field in the information reporting message received by the second receiving unit, generate a tunnel flow table for the second packet Item
  • the encapsulating unit 1040 is configured to encapsulate, by using the OpenFlow protocol, the tunnel flow entry generated by the generating unit into an entry update message.
  • the sending unit 1050 is configured to send the encapsulated item update message to the switching device.
  • the encapsulating unit 1040 is further configured to: when the tunnel encapsulation flow entry is included in the tunnel flow entry, add tunnel header information to the encapsulated update message, where the tunnel header is The information includes an external IP address, a UDP port number, and a TEID for tunnel encapsulation of the packet.
  • the tunnel de-encapsulation flow entry is included in the tunnel flow entry, the information is added to the encapsulated update message. MAC address of the packet after decapsulation in the forwarding tunnel.
  • the control device includes: a network interface 1110, a transceiver 1120, and a processor 1130.
  • the network interface 1110 is configured to establish a network connection with the switching device.
  • the transceiver 1120 is configured to send a tunneling flow entry to the switching device, where the tunneling flow entry is used to determine a packet to be processed by the tunnel, and to indicate that the packet to be tunneled is performed.
  • the switching device is configured to determine, according to the tunnel flow entry, whether the received first packet is the packet to be tunneled, and when the first packet is the The first packet is tunneled according to the tunnel flow entry when the tunnel is processed.
  • the transceiver 1120 may be further configured to: before receiving the tunneling flow entry to the switching device, receive a flow table type of the flow table supported by the switching device that is reported by the switching device, where the flow table type includes [250]
  • the transceiver 1120 may be specifically configured to send a tunnel flow to the switching device according to the flow table type. Entry.
  • the transceiver 1120 may be further configured to: before sending the tunneling flow entry to the switching device, receive the information reporting message reported by the switching device, where the information reporting message is that the switching device receives the data stream. And the message generated by the second packet is encapsulated by the OpenFlow protocol, where the information report message further includes a matching field of the first packet, where the matching field is used to enable the control device Determining to perform tunnel processing on the second packet, where the first packet is a packet belonging to the data stream;
  • the processor 1130 is further configured to: after performing tunnel processing on the second packet according to the matching field, generate a tunnel flow entry for the second packet, and use the OpenFlow protocol to The tunnel flow entry is encapsulated into an entry update message.
  • the transceiver 1120 may be specifically configured to send the entry update message to the switching device.
  • the processor 1130 is further configured to: when the tunneling flow entry includes the tunnel encapsulation flow entry, add the tunnel header information to the encapsulation update message, where the tunnel header information includes An external IP address, a UDP port number, and a TEID for tunnel encapsulation of the packet.
  • the tunnel decapsulation flow entry is included in the tunnel flow entry, the encapsulation update message is added to the encapsulation update message. MAC address of the packet after decapsulation in the tunnel.
  • the control device sends a tunneling flow entry to the switching device, and the switching device determines, according to the tunneling flow entry, whether the received first packet is a packet to be tunneled, and the first packet When the packet is a packet to be processed, the first packet is tunneled according to the tunnel flow entry.
  • the switching device supports the tunnel flow table. Therefore, when the OpenFlow protocol is used to transmit the packet in the mobile packet network, the tunnel can be encapsulated or solved by the tunnel flow entry sent by the control device. Encapsulation, thereby enhancing packet processing capabilities in mobile packet networks.
  • the techniques in the embodiments of the present invention can be implemented by means of software plus a necessary general hardware platform. Based on such understanding, the technical solution in the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product, which may be stored in a storage medium such as a ROM/RAM. , disk, CD, etc., including a number of instructions to make one
  • a computer device (which may be a personal computer, server, or network device, etc.) performs the methods described in various embodiments of the present invention or in some portions of the embodiments.

Abstract

报文的隧道处理方法、交换设备及控制设备,所述方法包括:交换设备接收控制设备下发的隧道流表项,隧道流表项用于确定待进行隧道处理的报文并指示对待进行隧道处理的报文进行的隧道处理操作;所述交换设备根据所述隧道流表项确定接收到的第一报文是否为所述待进行隧道处理的报文;当所述第一报文为所述待进行隧道处理的报文时,所述交换设备根据所述隧道流表项对所述第一报文进行隧道处理。本发明实施例由于交换设备支持隧道流表,因此当在移动分组网络中应用OpenFlow 协议对报文进行传输时,可以通过控制设备下发的隧道流表项对报文进行隧道封装或解封装,由此增强了移动分组网络中的报文处理能力。

Description

报文的隧道处理方法、 交换设备及控制设备
技术领域
[01] 本发明涉及网络通信技术领域, 特别涉及报文的隧道处理方法、 交换设备及控 制设备。 背景技术
[02] 随着互联网规模的扩大, 软件定义网络 (Software Defined Network, SDN) 应 运而生, SDN网络采用 OpenFlow (开放流)协议, 支持开放接口和多控制的交换。 SDN 网络将网络设备的控制平面与数据转发平面进行分离,从而可以对网络流量进行灵活 控制。 其中控制平面的功能由控制器(Control ler )实现, 主要负责下发流量转发策 略; 数据转发平面的功能由交换机 (Switch, 简称 SW) 实现, 主要用于接收控制器 下发的流表项, 并根据该流表项对数据报文进行操作。通常在一个 SDN网络中, 控制 器与每个交换机相连, 交换机之间通过相互连接实现数据报文的转发。
[03] 现有技术中, 支持 OpenFlow协议的交换设备接收到数据流的首报文后, 进行流 表匹配, 在未匹配到对应的流表项时, 将该首报文封装成信息上报消息 (例如, packetjn消息)后发送至控制器, 控制器确定对该信息上报消息的处理策略, 然后 向交换设备返回表项更新消息(例如, flow—mod消息),交换设备解析表项更新消息, 获得数据流的流表项, 并按照该流表项处理接收到的首报文。
[04] 对现有技术的研究过程中发现,如果在移动分组网络中应用 OpenFlow协议传输 报文,可以将服务网关作为交换设备,但是由于上述服务网关之间在传输报文时需要 建立通用分组无线服务 (General Packet Radio Service , GPRS ) 隧道协议 (GPRS Tunnel ing Protocol , GTP)隧道,并基于互联网协议封装在用户数据报协议( Internet Protocol in User Data Protocol , IPinUDP ) 的封装方式封装报文, 而现有基于 OpenFlow协议的流表由于不支持对报文进行 GTP隧道封装, 因此无法在移动分组网 络中应用 OpenFlow协议对传输的报文进行隧道处理。 发明内容
[05] 本发明实施例提供了报文的隧道处理方法、 交换设备及控制设备, 以解决现有 技术中难以在移动分组网络中应用 OpenFlow协议对传输报文进行隧道处理的问题。
[06] 为了解决上述技术问题, 本发明实施例公开了如下技术方案: [07] 第一方面, 提供一种报文的隧道处理方法, 所述方法包括:
[08] 交换设备接收控制设备下发的隧道流表项, 其中, 所述隧道流表项用于确定待 进行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道处理操作,所述 控制设备用于对所述交换设备所接收报文的转发进行控制;
[09] 所述交换设备根据所述隧道流表项确定接收到的第一报文是否为所述待进行隧 道处理的报文;
[10] 当所述第一报文为所述待进行隧道处理的报文时, 所述交换设备根据所述隧道 流表项对所述第一报文进行隧道处理。
[11] 结合第一方面, 在第一方面的第一种可能的实现方式中, 所述交换设备接收控 制设备下发的隧道流表项之前, 所述方法还包括: [12] 所述交换设备向所述控制设备上报所述交换设备所支持流表的流表类型, 所述 流表类型包括隧道流表;
[13] 所述交换设备接收控制设备下发的隧道流表项, 包括: 所述交换设备接收所述 控制设备根据所述流表类型向所述交换设备下发的隧道流表项。
[14] 结合第一方面, 或第一方面的第一种可能的实现方式, 在第一方面的第二种可 能的实现方式中,所述交换设备接收控制设备下发的隧道流表项之前,所述方法还包 括:
[15] 当所述交换设备接收到数据流的第二报文时,通过开放流 OpenFlow协议将所述 第二报文封装为信息上报消息, 所述信息上报消息中还包含所述第二报文的匹配字 段, 所述匹配字段用于使所述控制设备确定对所述第二报文进行隧道处理, 其中, 所 述第一报文为属于所述数据流的报文; [16] 所述交换设备将所述信息上报消息上报给所述控制设备;
[17] 所述交换设备接收控制设备下发的隧道流表项, 包括: 所述交换设备接收所述 控制设备下发的表项更新消息,所述表项更新消息是所述控制设备根据所述匹配字段 确定对所述第二报文进行隧道处理后, 通过 OpenFlow协议对为所述第二报文生成的 隧道流表项进行封装后生成的消息。
[18] 结合第一方面, 或第一方面的第一种可能的实现方式, 或第一方面的第二种可 能的实现方式,在第一方面的第三种可能的实现方式中, 当所述隧道流表项为隧道封 装流表项时,所述交换设备根据所述隧道流表项对所述第一报文进行隧道处理,包括:
[19] 所述交换设备根据所述隧道封装流表项为所述第一报文添加隧道头信息和用于 转发隧道封装后的所述第一报文的介质访问控制层 MAC地址,其中,所述隧道头信息 包括所述第一报文的外部互联网协议 IP地址、 用户数据报协议 UDP端口号和隧道端 点标识 TEID。
[20] 结合第一方面, 或第一方面的第一种可能的实现方式, 或第一方面的第二种可 能的实现方式,在第一方面的第四种可能的实现方式中, 当所述隧道流表项为隧道解 封装流表项时,所述交换设备根据所述隧道流表项对所述第一报文进行隧道处理,包 括:
[21] 所述交换设备根据所述隧道解封装流表项去除所述第一报文的隧道头信息后, 添加用于转发隧道解封装后的所述第一报文的 MAC地址,所述隧道头信息包括所述第 一报文的外部 MAC地址、 外部 IP地址、 UDP端口号和 TEID。
[22] 结合第一方面, 或第一方面的第一种可能的实现方式, 或第一方面的第二种可 能的实现方式,在第一方面的第五种可能的实现方式中, 当所述隧道流表项为隧道解 封装流表项和隧道封装流表项时,所述交换设备根据所述隧道流表项对所述第一报文 进行隧道处理, 包括:
[23] 所述交换设备根据所述隧道解封装流表项去除所述第一报文的第一隧道头信 息,所述第一隧道头信息包括所述第一报文的第一外部 MAC地址、第一外部 IP地址、 第一 UDP端口号和第一 TEID;
[24] 所述交换设备根据所述隧道封装流表项为解封装后的所述第一报文添加第二隧 道头信息和用于转发隧道封装后的所述第一报文的 MAC地址,其中,所述第二隧道头 信息包括第二外部 IP地址、 第二 UDP端口号和第二 TEID。
[25] 第二方面, 提供一种报文的隧道处理方法, 所述方法包括:
[26] 控制设备向交换设备下发隧道流表项, 所述隧道流表项用于确定待进行隧道处 理的报文并指示对所述待进行隧道处理的报文进行的隧道处理操作,所述交换设备用 于根据所述隧道流表项确定接收到的第一报文是否为所述待进行隧道处理的报文,并 在当所述第一报文为所述待进行隧道处理的报文时,根据所述隧道流表项对所述第一 报文进行隧道处理。
[27] 结合第二方面, 在第二方面的第一种可能的实现方式中, 所述控制设备向交换 设备下发隧道流表项之前, 所述方法还包括:
[28] 所述控制设备接收所述交换设备上报的所述交换设备所支持流表的流表类型, 所述流表类型包括隧道流表;
[29] 所述控制设备向交换设备下发隧道流表项, 包括: 所述控制设备根据所述流表 类型向所述交换设备下发隧道流表项。 [30] 结合第二方面, 或第二方面的第一种可能的实现方式, 在第二方面的第二种可 能的实现方式中, 所述控制设备向交换设备下发隧道流表项之前, 所述方法还包括:
[31] 所述控制设备接收所述交换设备上报的信息上报消息, 所述信息上报消息为所 述交换设备接收到数据流的第二报文时, 通过 OpenFlow协议对所述第二报文进行封 装生成的消息,所述信息上报消息中还包含所述首报文的匹配字段,所述匹配字段用 于使所述控制设备确定对所述第二报文进行隧道处理,其中,所述第一报文为属于所 述数据流的报文;
[32] 所述控制设备根据所述匹配字段确定对所述第二报文进行隧道处理后, 为所述 第二报文生成隧道流表项;
[33] 所述控制设备通过 OpenFlow协议将所述隧道流表项封装成表项更新消息; [34] 所述控制设备向交换设备下发隧道流表项, 包括: 所述控制设备将所述表项更 新消息下发给所述交换设备。 [35] 结合第二方面的第二种可能的实现方式, 在第二方面的第三种可能的实现方式 中,
[36] 当所述隧道流表项中包含隧道封装流表项时, 所述表项更新消息中还包含隧道 头信息, 所述隧道头信息包括用于对报文进行隧道封装的外部 IP地址、 UDP端口号 和 TEID;
[37] 当所述隧道流表项中包含隧道解封装流表项时, 所述表项更新消息中还包含用 于转发隧道解封装后的报文的 MAC地址。
[38] 第三方面, 提供一种交换设备, 所述交换设备包括:
[39] 接收单元, 用于接收控制设备下发的隧道流表项, 其中, 所述隧道流表项用于 确定待进行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道处理操 作, 所述控制设备用于对所述交换设备所接收报文的转发进行控制;
[40] 确定单元, 用于根据所述接收单元接收到的隧道流表项确定接收到的第一报文 是否为所述待进行隧道处理的报文;
[41] 处理单元, 用于当所述确定单元确定所述第一报文为所述待进行隧道处理的报 文时, 根据所述隧道流表项对所述第一报文进行隧道处理。
[42] 结合第三方面, 在第三方面的第一种可能的实现方式中, 所述交换设备还包括:
[43] 第一上报单元, 用于所述接收单元接收所述隧道流表项之前, 向所述控制设备 上报所述交换设备所支持流表的流表类型, 所述流表类型包括隧道流表;
[44] 所述接收单元, 具体用于接收所述控制设备根据所述流表类型向所述交换设备 下发的隧道流表项。
[45] 结合第三方面, 或第三方面的第一种可能的实现方式, 在第三方面的第二种可 能的实现方式中, 所述交换设备还包括:
[46] 封装单元, 用于当所述交换设备接收到数据流的第二报文时, 通过开放流 OpenFlow协议将所述第二报文封装为信息上报消息, 所述信息上报消息中还包含所 述第二报文的匹配字段,所述匹配字段用于使所述控制设备确定对所述第二报文进行 隧道处理, 其中, 所述第一报文为属于所述数据流的报文;
[47] 第二上报单元,用于将所述封装单元封装的信息上报消息上报给所述控制设备;
[48] 所述接收单元, 具体用于接收所述控制设备下发的表项更新消息, 所述表项更 新消息是所述控制设备根据所述匹配字段确定对所述第二报文进行隧道处理后,通过 OpenFlow协议对为所述第二报文生成的隧道流表项进行封装后生成的消息。
[49] 结合第三方面, 或第三方面的第一种可能的实现方式, 或第三方面的第二种可 能的实现方式, 在第三方面的第三种可能的实现方式中, 所述处理单元, 具体用于当 所述隧道流表项为隧道封装流表项时,根据所述隧道封装流表项为所述第一报文添加 隧道头信息和用于转发隧道封装后的所述第一报文的介质访问控制层 MAC地址, 其 中, 所述隧道头信息包括所述第一报文的外部互联网协议 IP地址、 用户数据报协议 UDP端口号和隧道端点标识 TEID。
[50] 结合第三方面, 或第三方面的第一种可能的实现方式, 或第三方面的第二种可 能的实现方式, 在第三方面的第四种可能的实现方式中, 所述处理单元, 具体用于当 所述隧道流表项为隧道解封装流表项时,根据所述隧道解封装流表项去除所述第一报 文的隧道头信息后,添加用于转发隧道解封装后的所述第一报文的 MAC地址,所述隧 道头信息包括所述第一报文的外部 MAC地址、 外部 IP地址、 UDP端口号和 TEID。
[51] 结合第三方面, 或第三方面的第一种可能的实现方式, 或第三方面的第二种可 能的实现方式, 在第三方面的第五种可能的实现方式中, 所述处理单元, 具体用于当 所述隧道流表项为隧道解封装流表项和隧道封装流表项时,根据所述隧道解封装流表 项去除所述第一报文的第一隧道头信息,所述第一隧道头信息包括所述第一报文的第 一外部 MAC地址、 第一外部 IP地址、 第一 UDP端口号和第一 TEID, 以及根据所述隧 道封装流表项为解封装后的所述第一报文添加第二隧道头信息和用于转发隧道封装 后的所述第一报文的 MAC地址, 其中, 所述第二隧道头信息包括第二外部 IP地址、 第二 UDP端口号和第二 TEID。
[52] 第四方面, 提供一种控制设备, 所述控制设备包括:
[53] 发送单元, 用于向交换设备下发隧道流表项, 所述隧道流表项用于确定待进行 隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道处理操作,所述交换 设备用于根据所述隧道流表项确定接收到的第一报文是否为所述待进行隧道处理的 报文, 并在当所述第一报文为所述待进行隧道处理的报文时,根据所述隧道流表项对 所述第一报文进行隧道处理。
[54] 结合第四方面, 在第四方面的第一种可能的实现方式中, 所述控制设备还包括: [55] 第一接收单元, 用于所述发送单元向交换设备下发隧道流表项之前, 接收所述 交换设备上报的所述交换设备所支持流表的流表类型, 所述流表类型包括隧道流表;
[56] 所述发送单元, 具体用于根据所述第一接收单元接收到的所述流表类型向所述 交换设备下发隧道流表项。
[57] 结合第四方面, 或第四方面的第一种可能的实现方式, 在第四方面的第二种可 能的实现方式中, 所述控制设备还包括:
[58] 第二接收单元, 用于所述发送单元向交换设备下发隧道流表项之前, 接收所述 交换设备上报的信息上报消息,所述信息上报消息为所述交换设备接收到数据流的第 二报文时, 通过 OpenFlow协议对所述第二报文进行封装生成的消息, 所述信息上报 消息中还包含所述首报文的匹配字段,所述匹配字段用于使所述控制设备确定对所述 第二报文进行隧道处理, 其中, 所述第一报文为属于所述数据流的报文;
[59] 生成单元, 用于根据所述第二接收单元接收到的信息上报消息中的匹配字段确 定对所述第二报文进行隧道处理后, 为所述第二报文生成隧道流表项;
[60] 封装单元,用于通过 OpenFlow协议将所述生成单元生成的隧道流表项封装成表 项更新消息; [61] 所述发送单元, 具体用于将所述封装单元封装的表项更新消息下发给所述交换 设备。
[62] 结合第四方面的第二种可能的实现方式, 在第四方面的第三种可能的实现方式 中, 所述封装单元, 还用于当所述隧道流表项中包含隧道封装流表项时, 在封装的所 述表项更新消息中加入隧道头信息,所述隧道头信息包括用于对报文进行隧道封装的 外部 IP地址、 UDP端口号和 TEID; 当所述隧道流表项中包含隧道解封装流表项时, 在封装的所述表项更新消息中加入用于转发隧道解封装后的报文的 MAC地址。 [63] 第五方面, 提供一种交换设备, 所述交换设备包括: 网络接口、 收发器和处理 器,
[64] 所述网络接口, 用于与控制设备建立网络连接;
[65] 所述收发器, 用于接收控制设备下发的隧道流表项, 其中, 所述隧道流表项用 于确定待进行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道处理 操作, 所述控制设备用于对所述交换设备所接收报文的转发进行控制;
[66] 所述处理器, 用于根据所述隧道流表项确定接收到的第一报文是否为所述待进 行隧道处理的报文, 当所述第一报文为所述待进行隧道处理的报文时,根据所述隧道 流表项对所述第一报文进行隧道处理。 [67] 结合第五方面, 在第五方面的第一种可能的实现方式中,
[68] 所述收发器,还用于向所述控制设备上报所述交换设备所支持流表的流表类型, 所述流表类型包括隧道流表;
[69] 所述收发器, 具体用于接收所述控制设备根据所述流表类型向所述交换设备下 发的隧道流表项。 [70] 结合第五方面, 或第五方面的第一种可能的实现方式, 在第五方面的第二种可 能的实现方式中,
[71] 所述处理器, 还用于当所述收发器接收到数据流的第二报文时, 通过开放流 OpenFlow协议将所述第二报文封装为信息上报消息, 所述信息上报消息中还包含所 述第二报文的匹配字段,所述匹配字段用于使所述控制设备确定对所述第二报文进行 隧道处理, 其中, 所述第一报文为属于所述数据流的报文;
[72] 所述收发器, 还用于将所述信息上报消息上报给所述控制设备;
[73] 所述收发器, 具体用于接收所述控制设备下发的表项更新消息, 所述表项更新 消息是所述控制设备根据所述匹配字段确定对所述第二报文进行隧道处理后, 通过 OpenFlow协议对为所述第二报文生成的隧道流表项进行封装后生成的消息。 [74] 结合第五方面, 或第五方面的第一种可能的实现方式, 或第五方面的第二种可 能的实现方式, 在第五方面的第三种可能的实现方式中, 所述处理器, 具体用于当所 述隧道流表项为隧道封装流表项时,根据所述隧道封装流表项为所述第一报文添加隧 道头信息和用于转发隧道封装后的所述第一报文的介质访问控制层 MAC地址, 其中, 所述隧道头信息包括所述第一报文的外部互联网协议 IP地址、 用户数据报协议 UDP 端口号和隧道端点标识 TEID。
[75] 结合第五方面, 或第五方面的第一种可能的实现方式, 或第五方面的第二种可 能的实现方式, 在第五方面的第四种可能的实现方式中, 所述处理器, 具体用于当所 述隧道流表项为隧道解封装流表项时,根据所述隧道解封装流表项去除所述第一报文 的隧道头信息后,添加用于转发隧道解封装后的所述第一报文的 MAC地址,所述隧道 头信息包括所述第一报文的外部 MAC地址、 外部 IP地址、 UDP端口号和 TEID。
[76] 结合第五方面, 或第五方面的第一种可能的实现方式, 或第五方面的第二种可 能的实现方式, 在第五方面的第五种可能的实现方式中, 所述处理器, 具体用于当所 述隧道流表项为隧道解封装流表项和隧道封装流表项时,根据所述隧道解封装流表项 去除所述第一报文的第一隧道头信息,所述第一隧道头信息包括所述第一报文的第一 外部 MAC地址、 第一外部 IP地址、 第一 UDP端口号和第一 TEID, 以及根据所述隧道 封装流表项为解封装后的所述第一报文添加第二隧道头信息和用于转发隧道封装后 的所述第一报文的 MAC地址, 其中, 所述第二隧道头信息包括第二外部 IP地址、 第 二 UDP端口号和第二 TEID。
[77] 第六方面, 提供一种控制设备, 所述控制设备包括: 网络接口、 收发器和处理 器,
[78] 所述网络接口, 用于与交换设备建立网络连接;
[79] 所述收发器, 用于向交换设备下发隧道流表项, 所述隧道流表项用于确定待进 行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道处理操作,所述交 换设备用于根据所述隧道流表项确定接收到的第一报文是否为所述待进行隧道处理 的报文, 并在当所述第一报文为所述待进行隧道处理的报文时,根据所述隧道流表项 对所述第一报文进行隧道处理。
[80] 结合第六方面, 在第六方面的第一种可能的实现方式中, [81] 所述收发器, 还用于向交换设备下发隧道流表项之前, 接收所述交换设备上报 的所述交换设备所支持流表的流表类型, 所述流表类型包括隧道流表;
[82] 所述收发器, 具体用于根据所述流表类型向所述交换设备下发隧道流表项。
[83] 结合第六方面, 或第六方面的第一种可能的实现方式, 在第六方面的第二种可 能的实现方式中,
[84] 所述收发器, 还用于向交换设备下发隧道流表项之前, 接收所述交换设备上报 的信息上报消息,所述信息上报消息为所述交换设备接收到数据流的第二报文时,通 过 OpenFlow协议对所述第二报文进行封装生成的消息, 所述信息上报消息中还包含 所述首报文的匹配字段,所述匹配字段用于使所述控制设备确定对所述第二报文进行 隧道处理, 其中, 所述第一报文为属于所述数据流的报文;
[85] 所述处理器, 还用于根据所述匹配字段确定对所述第二报文进行隧道处理后, 为所述第二报文生成隧道流表项, 并通过 OpenFlow协议将所述隧道流表项封装成表 项更新消息;
[86] 所述收发器, 具体用于将所述表项更新消息下发给所述交换设备。 [87] 结合第六方面的第二种可能的实现方式, 在第六方面的第三种可能的实现方式 中, 所述处理器, 还用于当所述隧道流表项中包含隧道封装流表项时, 在封装的所述 表项更新消息中加入隧道头信息,所述隧道头信息包括用于对报文进行隧道封装的外 部 IP地址、 UDP端口号和 TEID; 当所述隧道流表项中包含隧道解封装流表项时, 在 封装的所述表项更新消息中加入用于转发隧道解封装后的报文的 MAC地址。 [88] 本发明实施例中, 控制设备向交换设备下发隧道流表项, 交换设备根据隧道流 表项确定接收到的第一报文是否为待进行隧道处理的报文,当第一报文为待进行隧道 处理的报文时, 根据隧道流表项对第一报文进行隧道处理。本发明实施例中, 由于交 换设备支持隧道流表, 因此当在移动分组网络中应用 OpenFlow协议对报文进行传输 时,可以通过控制设备下发的隧道流表项对报文进行隧道封装或解封装, 由此增强了 移动分组网络中的报文处理能力。 附图说明
[89] 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或 现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅 仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的 前提下, 还可以根据这些附图获得其他的附图。
[90] 1A为本发明实施例所应用的网络架构示意图;
[91] 1B为本发明实施例中控制软件与不同类型流表之间的对应关系示意图;
[92] 2A为本发明报文的隧道处理方法的一个实施例流程图;
[93] 2B为本发明报文的隧道处理方法的另一个实施例流程图;
[94] 3为本发明报文的隧道处理方法的另一个实施例流程图;
[95] 4为本发明报文的隧道处理方法的另一个实施例流程图;
[96] 5为本发明报文的隧道处理方法的另一个实施例流程图;
[97] 6为本发明交换设备的一个实施例框图;
[98] 7为本发明交换设备的另一个实施例框图;
[99] 8为本发明交换设备的另一个实施例框图;
[100]图 9为本发明控制设备的一个实施例框图;
[101]图 10为本发明控制设备的另一个实施例框图;
[102]图 11为本发明控制设备的另一个实施例框图。 具体实施方式
[103]为了使本技术领域的人员更好地理解本发明实施例中的技术方案, 并使本发明 实施例的上述目的、特征和优点能够更加明显易懂, 下面结合附图对本发明实施例中 技术方案作进一步详细的说明。 [104]参见图 1A, 为本发明实施例所应用的网络架构示意图:
[105]作为一种示例, 图 1A示出的网络架构为 SDN网络, 该 SDN网络可以包括: 一个 控制设备和三个交换设备, 分别为 SW1、 SW2和 SW3, 控制设备和交换设备之间相互 连接。 其中, 控制设备可以为基于 OpenFlow协议的控制器, 每个交换设备上都设置 有流表,控制设备可以统一对所有交换设备上的流表进行查询和管理。 由于本发明实 施例应用在移动分组网络中, 因此图 1A中的 SW1、 SW2和 SW3可以具体为移动分组网 络中的基站、 网关、 公用数据网 (Publ ic Data Network, PDN) 设备等。
[106]在图 1A示出的网络架构中,交换设备可以从控制设备获得转发规则用于传输每 条数据流, 并将转发规则作为一个表项存储在流表中, 即交换设备所存储流表的每个 表项可以标识一条数据流。通常当交换设备传输某个数据流的首报文时, 由于没有与 此数据流匹配的流表, 因此交换设备会将该首报文上报给控制设备, 以便向控制设备 请求该数据流的转发规则。现有技术中, 上述流表的内容主要包括匹配域、 计数器和 动作集。
[107]本发明实施例中, 交换设备基于流表类型模板 (Table Type Pattern, TTP) 的 方式对流表进行管理, 即将交换设备中的流表按照不同类型进行分类, 参见图 1Β, 为本发明实施例中控制设备上的控制软件与交换设备上不同类型流表之间的对应关 系示意图:
[108]图 1B中, 运行在控制设备的控制面上的应用软件用于提供构造流表项的决策, 这些应用软件包括实现防火墙功能的 Firewal l/NAT软件、 实现网络地址转换和路由 的 Route及地址解析协议 (Address Resolution Protocol , ARP) 软件、 实现服务质 量控制的服务质量 (Qual ity of Service, QoS) 软件、 以及实现隧道封装与解封装 功能的隧道 Tunnel软件。 对应交换设备的转发面用于存放不同类型的流表项, 这些 流表项分别为 Session Table (会话流表), 访问控制列表 (Access Control List, ACL) Table (控制流表)、 Route Table (路由流表)、 QoS Table (服务质量流表) 和 Timnel Table (隧道流表)。 本发明实施例由于可以应用在移动分组网络中, 因此控 制面上增加了实现隧道封装与解封装生成功能的 Tunnel软件, 转发面在基于 Tunnel Table进行隧道封装时, 可以从其它网元获得隧道头信息, 基于 Timnel Table进行 隧道解封装时, 可以从其它网元获得目标设备的介质访问控制层 (Media Access Control , MAC) 地址。 [109]其中, 隧道封装的匹配字段可以为源 MAC地址、 目的 MAC地址、 源 IP地址、 目 的 IP地址、源 TCP/UDP端口号、 目的 TCP/UDP端口号及其他 OpenFlow协议支持的匹 配字段; 所支持的匹配方式包括精确匹配和基于掩码的匹配; 匹配完成之后的动作或 指令可以是将报文丢弃、 跳转到转发流表、 跳转到隧道解封装流表, 或者是图 1B中 的其他流表。 隧道解封装的匹配字段可以为源 MAC地址、 目的 MAC地址、源 IP地址、 目的 IP地址、 源 TCP/UDP端口号、 目的 TCP/UDP端口号和隧道端点标识 (Timnel Endpoint Identifier, TEID), 所支持的匹配方式包括精确匹配和基于掩码的匹配; 匹配完成之后的动作或指令可以是将报文丢弃、跳转到转发流表、跳转到隧道封装流 表, 或者是图 1B中的其他流表。 [110]本发明实施例中的交换设备和控制设备为支持 OpenFlow协议的设备, 因此对报 文进行隧道封装或解封装匹配时的匹配字段可以具体为 OpenFlowl. O 协议中定义的 12个协议字段, 或者也可以具体为 OpenFlowl. 3协议中定义的 40个协议字段, 对此 本发明实施例不进行限制。
[111]参见图 2A, 为本发明报文的隧道处理方法的一个实施例流程图, 该实施例从交 换设备侧描述了报文的隧道处理过程:
[112]步骤 201 : 交换设备接收控制设备下发的隧道流表项。
[113]本发明实施例中, 述隧道流表项用于确定待进行隧道处理的报文并指示对所述 待进行隧道处理的报文进行的隧道处理操作,所述控制设备用于对所述交换设备所接 收报文的转发进行控制。 [114]可选的, 由于本发明实施例中交换设备可以按照流表类型保存流表, 因此交换 设备可以在接收控制设备下发的隧道流表项之前, 与控制设备协商所支持的流表类 型, 即在接收控制设备下发的隧道流表项之前, 向控制设备上报所支持流表的流表类 型, 该流表类型包括隧道流表, 相应的, 交换设备可以接收控制设备根据流表类型向 交换设备下发的隧道流表项。具体在协商过程中,控制设备可以向交换设备发送请求 该交换设备所支持流表类型的请求消息,交换设备可以向控制设备发送携带所支持流 表的流表类型的应答消息, 从而完成流表类型协商。
[115]可选的, 本发明实施例中, 交换设备接收控制设备下发的隧道流表项之前, 当 交换设备接收到数据流的第二报文时, 可以通过开放流 OpenFlow协议将第二报文封 装为信息上报消息 (例如, packetjn 消息), 信息上报消息中可以包含第二报文的 匹配字段, 匹配字段用于使控制设备确定对第二报文进行隧道处理, 其中, 第一报文 与第二报文属于同一数据流,通常第二报文为该数据流的首报文。在信息上报消息中, 该匹配字段可以独立于第二报文设置, 也可以包含在第二报文内,对此本发明实施例 不进行限制, 交换设备将信息上报消息上报给控制设备, 由控制设备根据该匹配字段 确定对第二报文进行隧道处理,然后交换设备接收控制设备下发的表项更新消息(例 如, flow_mod消息), 该表项更新消息是控制设备通过 OpenFlow协议对为第二报文 生成的隧道流表项进行封装后生成的消息。
[116]步骤 202:交换设备根据隧道流表项确定接收到的第一报文是否为待进行隧道处 理的报文。
[117]本发明实施例中, 隧道流表项可以包括至少一种下述流表项: 隧道封装流表项 和隧道解封装流表项。
[118]步骤 203: 当第一报文为待进行隧道处理的报文时,交换设备根据隧道流表项对 第一报文进行隧道处理。 [119]其中, 当隧道流表项为隧道封装流表项时, 交换设备可以根据隧道封装流表项 为第一报文添加隧道头信息和用于转发隧道封装后的第一报文的 MAC地址,其中, 隧 道头信息可以包括第一报文的外部 IP地址、 UDP端口号和 TEID。
[120]其中, 当隧道流表项为隧道解封装流表项时, 交换设备可以根据隧道解封装流 表项去除第一报文的隧道头信息后, 添加用于转发隧道解封装后的第一报文的 MAC 地址, 隧道头信息可以包括第一报文的外部 MAC地址、 外部 IP地址、 UDP端口号和 TEIDo
[121]其中, 当隧道流表项为隧道解封装流表项和隧道封装流表项时, 交换设备可以 根据隧道解封装流表项去除第一报文的第一隧道头信息,第一隧道头信息包括第一报 文的第一外部 MAC地址、 第一外部 IP地址、 第一 UDP端口号和第一 TEID; 交换设备 根据隧道封装流表项为解封装后的第一报文添加第二隧道头信息和用于转发隧道封 装后的第一报文的 MAC地址,其中,第二隧道头信息包括第二外部 IP地址、第二 UDP 端口号和第二 TEID。 [122]由上述实施例可见, 该实施例中由于交换设备支持隧道流表, 因此当在移动分 组网络中应用 OpenFlow协议对报文进行传输时, 可以通过控制设备下发的隧道流表 项对报文进行隧道封装或解封装, 由此增强了移动分组网络中的报文处理能力。
[123]参见图 2B, 为本发明报文的隧道处理方法的另一个实施例流程图, 该实施例从 控制器侧描述了报文的隧道处理过程:
[124]步骤 211 : 控制设备与交换设备建立网络连接。
[125]步骤 212 :控制设备向交换设备下发隧道流表项,该隧道流表项用于确定待进行 隧道处理的报文并指示对待进行隧道处理的报文进行的隧道处理操作。
[126]可选的, 由于本发明实施例中交换设备可以按照流表类型保存流表, 因此控制 设备与交换设备建立网络连接后,控制设备可以与交换设备协商该交换设备所支持的 流表类型, 即在向交换设备下发隧道流表项之前,接收该交换设备上报的所支持流表 的流表类型, 该流表类型包括隧道流表, 相应的, 控制设备可以根据该流表类型向交 换设备下发隧道流表项。具体在协商过程中,控制设备可以向交换设备发送请求该交 换设备所支持流表类型的请求消息,交换设备可以向控制设备发送携带所支持流表的 流表类型的应答消息, 从而完成流表类型协商。
[127]可选的, 本发明实施例中, 控制设备向交换设备下发隧道流表项之前, 可以接 收交换设备上报的信息上报消息 (例如, packetjn 消息), 信息上报消息为所述交 换设备接收到数据流的第二报文时, 通过 OpenFlow协议对第二报文进行封装生成的 消息, 信息上报消息中还包含第二报文的匹配字段, 其中, 第二报文与第一报文属于 同一数据流。在信息上报消息中, 该匹配字段可以独立于第二报文设置, 也可以包含 在第二报文内,对此本发明实施例不进行限制,控制设备根据匹配字段确定对第二报 文进行隧道处理后, 为第二报文生成隧道流表项, 并通过 OpenFlow协议将隧道流表 项封装成表项更新消息 (例如, flow—mod消息), 然后将该表项更新消息下发给交换 设备。 [128]由上述实施例可见, 该实施例中由于交换设备支持隧道流表, 因此当在移动分 组网络中应用 OpenFlow协议对报文进行传输时, 可以通过控制设备下发的隧道流表 项对报文进行隧道封装或解封装,由此增强了交换设备对移动分组网络中的报文处理 能力。 [129]参见图 3,为本发明报文的隧道处理方法的另一个实施例流程图,该实施例示出 了对报文进行封装并转发的处理过程:
[130]步骤 301 : 交换设备与控制设备之间协商控制设备支持的流表类型。
[131]本步骤中, 控制设备可以向交换设备发送 table feature request (表项类型请 求) 消息, 请求交换设备上的流表类型, 交换设备接收到 table feature request 消息后, 可以生成包含自身支持的流表类型的 table feature reply (表项类型应答) 消息, 并将该 table feature reply消息发送给控制设备, 从而完成控制设备与交换 设备之间的流表类型协商过程。
[132]步骤 302 : 交换设备接收到 IP报文。 [133]本实施例中, 假设交换设备接收到的互联网协议 (Internet Protocol , IP ) 报 文为某个数据流的首报文。
[134]步骤 303 : 交换设备未匹配到该 IP报文的流表。
[135]交换设备接收到 IP报文后, 将该 IP报文与交换设备内的流表进行匹配, 由于 该 IP报文为数据流的首报文, 因此无法在已有的流表中匹配到该 IP报文的流表项, 从而交换设备对该 IP报文查找流表失败。
[136]步骤 304: 交换设备将对 IP报文封装后的 packetjn报文上报到控制设备。
[137]交换设备通过 OpenFlow协议将 IP报文封装成 packet_in报文, 该 packet_in 报文中除了包含原始的 IP报文外, 还可以包含作为该条报文特征的匹配字段, 交换 设备将 packet_in报文上报到控制器。 [138]其中, 匹配字段可以是前述步骤 303中用户查找流表的字段, 该匹配字段可以 指 OpenFlowl. 0协议中定义的 12个字段中的至少一个字段, 也可以指 OpenFlowl. 3 协议中的 40个字段中的至少一个字段。
[139]步骤 305 : 控制设备确定对 IP报文进行隧道封装, 并获取隧道封装的头信息。
[140]本实施例中, 控制设备内可以预先设置匹配字段与执行动作之间的对应关系, 当控制设备接收到 packetjn报文后,解析该报文获得其中包含的匹配字段, 并将该 匹配字段与前述对应关系进行匹配, 获得该匹配字段对应的执行动作。其中, 匹配字 段可以具体为报文的源 IP地址、 源 MAC地址等, 例如, 对应关系中保存的匹配字段 为 "源 IP地址 1. 1. 1. 1 ", 对应的执行动作为 "封装", 则如果控制设备解析 IP报文 后获得的源 IP地址为 " 1. 1. 1. 1 " 时, 确定对该 IP报文进行隧道封装。 [141]本步骤中, 控制设备可以具体指移动网络中的 SDN控制器和核心网控制器, 例 如, 移动管理实体 (Mobi le Management Entity, MME)、月艮务网关 ( Serving Gateway, SGW)、 PDN网关 (PDN Gateway, PGW) 等。 当控制设备确定对 IP报文进行隧道封装 后, 可以从核心网控制器中获得隧道封装的头信息, 该头信息包括隧道封装的外部 IP地址、 用户数据报协议 (User Datagram Protocol , UDP) 端口号、 以及 TEID。
[142]步骤 306: 控制设备为该 IP报文构造封装流表项和转发流表项。
[143]控制设备在为该 IP 报文构造封装流表项和转发流表项时, 可以采用现有 OpenFlowl. O和 OpenFlowl. 3协议中描述的构造方式。 其中, 所构造的流表项主要包 括匹配域(MatchField)、 计数器 ( Counters )和动作集 ( Instructions ), 进一步还 可以包含该流表项在所对应流表中的优先级 (Priority)。 其中, 封装流表项的匹配 域中的匹配字段可以为源 MAC地址、 目的 MAC地址、 源 IP地址、 目的 IP地址、 源 TCP/UDP端口号、 目的 TCP/UDP端口号, 匹配完成之后动作集中的动作指令可以是将 报文丢弃、 跳转到转发流表、 跳转到隧道解封装流表; 转发流表项可以是前述图 1B 中示出的 Route Table中的流表项。
[144]步骤 307: 控制设备将构造的表项封装成 flow—mod消息后发送至交换设备。 [145]控制设备将封装流表项和转发流表项通过 OpenFlow协议封装成 f low—mod消息, 该 flow—mod消息中包含流表类型, 每种流表类型对应的流表项, 以及隧道封装的头 信息。
[146]步骤 308: 交换设备将 flow—mod消息中的封装流表项和转发流表项按照类型分 别插入对应的封装流表和转发流表中。 [147]交换设备接收到 flow—mod消息后, 解析该 flow—mod消息, 获得其中的封装流 表项和转发流表项, 并可以将封装流表项按照其优先级插入到封装流表的对应位置, 以及将转发流表项按照其优先级插入到转发流表的对应位置。 [148]步骤 309:交换设备将 IP报文与封装流表进行匹配后,对该 IP报文进行隧道封 装。
[149]前述步骤 303中交换设备未匹配到 IP报文的流表项时, 可以先将该 IP报文保 存到缓存区。本步骤中, 交换设备可以从缓存区中提取出 IP报文, 将该 IP报文与流 表进行匹配, 按照匹配到的流表项对该 IP 报文进行隧道封装, 隧道封装时为该 IP 报文添加隧道头信息, 包括外部 IP地址、 UDP端口号和 TEID, 以及添加外部 MAC地 址, 该外部 MAC地址可以从 ARP表或转发表中获得。
[150]步骤 310:交换设备将隧道封装后的报文与转发流表进行匹配,按照转发流表项 对该隧道封装后的报文进行转发。 [151]交换设备在对 IP报文进行封装后, 进一步匹配转发流表, 得到对应的转发流表 项, 并按照该转发流表项将隧道封装后的报文进行转发, 与现有技术相比, 本实施例 中在匹配转发流表项时, 可以进一步增加 TEID作为匹配字段。
[152]由上述实施例可见, 该实施例中由于交换设备支持隧道流表, 因此当在移动分 组网络中应用 OpenFlow协议对报文进行传输时, 可以通过控制设备下发的隧道流表 项对报文进行隧道封装或解封装, 由此增强了移动分组网络中的报文处理能力。
[153]参见图 4,为本发明报文的隧道处理方法的另一个实施例流程图,该实施例示出 了对报文进行解封装并转发的处理过程:
[154]步骤 401 : 交换设备与控制设备之间协商控制设备支持的流表类型。
[155]本步骤中, 控制设备可以向交换设备发送 table feature request (表项类型请 求) 消息, 请求交换设备上的流表类型, 交换设备接收到 table feature request 消息后, 可以生成包含自身支持的流表类型的 table feature reply (表项类型应答) 消息, 并将该 table feature reply消息发送给控制设备, 从而完成控制设备与交换 设备之间的流表类型协商过程。
[156]步骤 402: 交换设备接收到 GTP报文。 [157]本实施例中, 假设交换设备接收到的 GTP报文为某个数据流的首报文。
[158]步骤 403: 交换设备未匹配到该 GTP报文的流表。 [159]交换设备接收到 GTP报文后, 将该 GTP报文与交换设备内的流表进行匹配, 由 于该 GTP报文为数据流的首报文,因此无法在已有的流表中匹配到该 GTP报文的流表 项, 从而交换设备对该 GTP报文查找流表失败。
[160]步骤 404: 交换设备对 GTP报文封装后的 packet_in报文上报到控制设备。 [161]交换设备通过 OpenFlow协议将 GTP报文封装成 packet_in报文, 该 packet_in 报文中除了包含原始的 GTP报文外,还可以包含作为该条报文特征的匹配字段, 交换 设备将 packet_in报文上报到控制器。
[162]其中, 匹配字段可以是前述步骤 403中用户查找流表的字段, 该匹配字段可以 指 OpenFlowl. 0协议中定义的 12个字段中的至少一个字段, 也可以指 OpenFlowl. 3 协议中的 40个字段中的至少一个字段。 进一步, 本实施例中, 匹配字段还可以包括 TEIDo
[163]步骤 405:控制设备确定对 GTP报文进行隧道解封装,并获取用于解封装后报文 转发的 MAC地址。
[164]本实施例中, 控制设备内可以预先设置匹配字段与执行动作之间的对应关系, 当控制设备接收到 packetjn报文后,解析该报文获得其中包含的匹配字段, 并将该 匹配字段与前述对应关系进行匹配, 获得该匹配字段对应的执行动作。其中, 匹配字 段可以具体为报文的源 IP地址、 源 MAC地址等, 例如, 对应关系中保存的匹配字段 为 "源 IP地址为 GGSN的地址", 对应的执行动作为 "解封装", 则如果控制设备解析 IP报文后获得的源 IP地址为 GGSN地址时, 确定对该 GTP报文进行隧道解封装。 [165]当控制设备确定对 GTP报文进行隧道解封装后, 可以从 ARP模块中获得解封装 该 GTP报文后,用于该报文转发的下一跳交换设备的 MAC地址, ARP模块中保存了 IP 地址与 MAC地址之间的对应关系, 此时根据报文封装之前的 IP地址即可获取到对应 的 MAC地址,报文封装之前的 IP地址具体为核心网之后路由器的 IP地址或应用服务 器的 IP地址。 [166]步骤 406: 控制设备为该 GTP报文构造解封装流表项和转发流表项。
[167]控制设备在为该 GTP 报文构造解封装流表项和转发流表项时, 可以采用现有 OpenFlowl. O和 0penFlowl. 3协议中描述的构造方式。 其中, 所构造的流表项主要包 括匹配域(MatchField)、 计数器 (Counters)和动作集 ( Instructions), 进一步还 可以包含该流表项在所对应流表中的优先级 (Priority)。 其中, 解封装流表项的匹 配与众的匹配字段可以为源 MAC地址、 目的 MAC地址、 源 IP地址、 目的 IP地址、 源 TCP/UDP端口号、 目的 TCP/UDP端口号和 TEID, 匹配完成之后动作集中的动作指令可 以是将报文丢弃、跳转到转发流表、跳转到隧道封装流表; 转发流表项可以是前述图 1B中示出的 Route Table中的流表项。
[168]步骤 407: 控制设备将构造的表项封装成 flow—mod消息后发送至交换设备。
[169]控制设备将解封装流表项和转发流表项通过 OpenFlow协议封装成 f low—mod消 息, 该 flow—mod消息中包含流表类型, 每种流表类型对应的流表项, 以及步骤 405 中获取的用于解封装后报文转发的 MAC地址。
[170]步骤 408: 交换设备将 flow—mod消息中的解封装流表项和转发流表项按照类型 分别插入对应的解封装流表和转发流表中。
[171]交换设备接收到 flow—mod消息后, 解析该 flowjiiod消息, 获得其中的解封装 流表项和转发流表项,并可以将解封装流表项按照其优先级插入到解封装流表的对应 位置, 以及将转发流表项按照其优先级插入到转发流表的对应位置。
[172]步骤 409:交换设备将 GTP报文与封装流表进行匹配后,对该 GTP报文进行隧道 解封装。
[173]前述步骤 403中交换设备未匹配到 GTP报文的流表项时, 可以先将该 GTP报文 保存到缓存区。本步骤中, 交换设备从缓存中提取出该 GTP报文, 然后将该 GTP报文 与流表进行匹配, 按照匹配到的流表项对该 GTP报文进行隧道解封装, 隧道解封装时 去除该报文的外部 MAC地址、 IP地址、 UDP端口号和 TEID, 并添加 f low_mod消息中 携带的 MAC地址。
[174]步骤 410:交换设备将隧道解封装后的报文与转发流表进行匹配,按照转发流表 项对该隧道解封装后的 IP报文进行转发。 [175]交换设备对 GTP报文进行解封装获得 IP报文后, 进一步匹配转发流表, 得到对 应的转发流表项, 并按照该转发流表项将隧道解封装后的报文进行转发。 [176]由上述实施例可见, 该实施例中由于交换设备支持隧道流表, 因此当在移动分 组网络中应用 OpenFlow协议对报文进行传输时, 可以通过控制设备下发的隧道流表 项对报文进行隧道封装或解封装, 由此增强了移动分组网络中的报文处理能力。
[177]参见图 5,为本发明报文的隧道处理方法的另一个实施例流程图,该实施例示出 了对报文进行解封装后重新封装并转发的过程:
[178]步骤 501 : 交换设备与控制设备之间协商控制设备支持的流表类型。
[179]本步骤中, 控制设备可以向交换设备发送 table feature request (表项类型请 求) 消息, 请求交换设备上的流表类型, 交换设备接收到 table feature request 消息后, 可以生成包含自身支持的流表类型的 table feature reply (表项类型应答) 消息, 并将该 table feature reply消息发送给控制设备, 从而完成控制设备与交换 设备之间的流表类型协商过程。
[180]步骤 502: 交换设备接收到 GTP报文。
[181]本实施例中, 假设交换设备接收到的 GTP报文为某个数据流的首报文。 [182]步骤 503: 交换设备未匹配到该 GTP报文的流表。 [183]交换设备接收到 GTP报文后, 将该 GTP报文与交换设备内的流表进行匹配, 由 于该 GTP报文为数据流的首报文,因此无法在已有的流表中匹配到该 GTP报文的流表 项, 从而交换设备对该 GTP报文查找流表失败。
[184]步骤 504: 交换设备对 GTP报文封装后的 packetjn报文上报到控制设备。 [185]交换设备通过 OpenFlow协议将 GTP报文封装成 packet_in报文, 该 packet_in 报文中除了包含原始的 GTP报文外,还可以包含作为该条报文特征的匹配字段, 交换 设备将 packet_in报文上报到控制器。
[186]其中, 匹配字段可以是前述步骤 503中用户查找流表的字段, 该匹配字段可以 指 OpenFlowl. 0协议中定义的 12个字段中的至少一个字段, 也可以指 OpenFlowl. 3 协议中的 40个字段中的至少一个字段。 进一步, 本实施例中, 匹配字段还可以包括 TEIDo [187]步骤 505:控制设备确定对 GTP报文进行解封装后再次进行隧道封装,并获取隧 道封装的头信息。
[188]本实施例中, 控制设备内可以预先设置匹配字段与执行动作之间的对应关系, 当控制设备接收到 packetjn报文后,解析该报文获得其中包含的匹配字段, 并将该 匹配字段与前述对应关系进行匹配, 获得该匹配字段对应的执行动作。其中, 匹配字 段可以具体为报文的源 IP地址、 源 MAC地址等, 本实施例中, 假设控制设备根据对 应关系获得匹配字段对应的执行动作为解封装报文后再封装报文。
[189]本实施例中, 当控制设备确定对 GTP报文进行解封装后再封装时, 可以从核心 网控制器中获得隧道封装的头信息, 该头信息包括隧道封装的外部 IP地址、 UDP端 口号、 以及 TEID。
[190]步骤 506:控制设备为该 GTP报文构造解封装流表项、封装流表项和转发流表行。
[191]控制设备在为该 GTP报文构造解封装流表项、 封装流表项和转发流表项时, 可 以采用现有 OpenFlowl. 0和 OpenFlowl. 3协议中描述的构造方式。其中,所构造的流 表项主要包括匹配域(MatchField)、计数器 (Counters)和动作集 ( Instructions), 进一步还可以包含该流表项在所对应流表中的优先级 (Priority)。 其中, 解封装流 表项的匹配域的匹配字段可以为源 MAC地址、 目的 MAC地址、 源 IP地址、 目的 IP 地址、 源 TCP/UDP端口号、 目的 TCP/UDP端口号和 TEID, 匹配完成之后动作集中的 动作指令可以是将报文丢弃、跳转到转发流表、跳转到隧道封装流表; 封装流表项的 匹配域中的匹配字段可以为源 MAC地址、 目的 MAC地址、 源 IP地址、 目的 IP地址、 源 TCP/UDP端口号、 目的 TCP/UDP端口号, 匹配完成之后动作集中的动作指令可以是 将报文丢弃、 跳转到转发流表、 跳转到隧道解封装流表; 转发流表项可以是前述图
1B中示出的 Route Table中的流表项。
[192]步骤 507: 控制设备将构造的表项封装成 flow—mod消息后发送至交换设备。
[193]控制设备将解封装流表项、封装流表项和转发流表项通过 OpenFlow协议封装成 flow—mod消息, 该 flow—mod消息中包含流表类型, 每种流表类型对应的流表项, 以 及隧道封装的头信息。
[194]步骤 508: 交换设备将 flow—mod消息中的解封装流表项、 封装流表项和转发流 表项按照类型分别插入对应的封装流表和转发流表中。
[195]交换设备接收到 flow—mod消息后, 解析该 flowjiiod消息, 获得其中的解封装 流表项、封装流表项和转发流表项, 并可以将解封装流表项按照其优先级插入到解封 装流表的对应位置,将封装流表项按照其优先级插入到封装流表的对应位置, 以及将 转发流表项按照其优先级插入到转发流表的对应位置。
[196]步骤 509:交换设备将 GTP报文与解封装流表进行匹配后,对该 GTP报文进行隧 道解封装。
[197]前述步骤 503中交换设备未匹配到 GTP报文的流表项时, 可以先将该 GTP报文 保存到缓存区。本步骤中, 交换设备从缓存中提取出该 GTP报文, 然后将该 GTP报文 与流表进行匹配, 按照匹配到的流表项对该 GTP报文进行隧道解封装, 隧道解封装时 去除该报文的外部 MAC地址、 IP地址、 UDP端口号和 TEID。
[198]步骤 510:交换设备将解封装后的 GTP报文与封装流表进行匹配后,对解封装后 的 GTP报文再次进行封装。
[199]交换设备获得解封装后的 GTP报文后, 将该 GTP报文与流表进行匹配, 按照匹 配到的流表项对该 GTP报文进行隧道封装, 隧道封装时为报文添加隧道头信息,包括 外部 IP地址、 UDP端口号和 TEID, 以及添加外部 MAC地址, 该外部 MAC地址可以从 ARP表或转发表中获得。
[200]步骤 511 :交换设备将隧道封装后的报文与转发流表进行匹配,按照转发流表项 对该隧道封装后的报文进行转发。 [201]交换设备在对解封装后的 GTP报文再次进行封装后, 进一步匹配转发流表, 得 到对应的转发流表项, 并按照该转发流表项将隧道封装后的报文进行转发, 与现有技 术相比, 本实施例中在匹配转发流表项时, 可以进一步增加 TEID作为匹配字段。
[202]由上述实施例可见, 该实施例中由于交换设备支持隧道流表, 因此当在移动分 组网络中应用 OpenFlow协议对报文进行传输时, 可以通过控制设备下发的隧道流表 项对报文进行隧道封装或解封装, 由此增强了移动分组网络中的报文处理能力。
[203]与本发明报文的隧道处理方法的实施例相对应, 本发明还提供了交换设备及控 制设备的实施例。
[204]参见图 6, 为本发明交换设备的一个实施例框图:
[205]该交换设备包括: 接收单元 610、 确定单元 620和处理单元 630。
[206]其中, 接收单元 610, 用于接收控制设备下发的隧道流表项, 其中, 所述隧道流 表项用于确定待进行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧 道处理操作, 所述控制设备用于对所述交换设备所接收报文的转发进行控制;
[207]确定单元 620,用于根据所述接收单元接收到的隧道流表项确定接收到的第一报 文是否为所述待进行隧道处理的报文;
[208]处理单元 630,用于当所述确定单元确定所述第一报文为所述待进行隧道处理的 报文时, 根据所述隧道流表项对所述第一报文进行隧道处理。
[209]其中,所述处理单元 630,可以具体用于当所述隧道流表项为隧道封装流表项时, 根据所述隧道封装流表项为所述第一报文添加隧道头信息和用于转发隧道封装后的 所述第一报文的介质访问控制层 MAC地址,其中,所述隧道头信息包括所述第一报文 的外部互联网协议 IP地址、 用户数据报协议 UDP端口号和隧道端点标识 TEID; 当所 述隧道流表项为隧道解封装流表项时,根据所述隧道解封装流表项去除所述第一报文 的隧道头信息后,添加用于转发隧道解封装后的所述第一报文的 MAC地址,所述隧道 头信息包括所述第一报文的外部 MAC地址、 外部 IP地址、 UDP端口号和 TEID; 当所 述隧道流表项为隧道解封装流表项和隧道封装流表项时,根据所述隧道解封装流表项 去除所述第一报文的第一隧道头信息,所述第一隧道头信息包括所述第一报文的第一 外部 MAC地址、 第一外部 IP地址、 第一 UDP端口号和第一 TEID, 以及根据所述隧道 封装流表项为解封装后的所述第一报文添加第二隧道头信息和用于转发隧道封装后 的所述第一报文的 MAC地址, 其中, 所述第二隧道头信息包括第二外部 IP地址、 第 二 UDP端口号和第二 TEID。
[210]参见图 7, 为本发明交换设备的另一个实施例框图: [211]该交换设备包括: 第一上报单元 710、 封装单元 720、 第二上报单元 730、 接收 单元 740、 确定单元 750和处理单元 760。 [212]其中,第一上报单元 710,用于向所述控制设备上报所述交换设备所支持流表的 流表类型, 所述流表类型包括隧道流表;
[213]封装单元 720, 用于当所述交换设备接收到数据流的第二报文时, 通过开放流 OpenFlow协议将所述第二报文封装为信息上报消息, 所述信息上报消息中还包含所 述第二报文的匹配字段,所述匹配字段用于使所述控制设备确定对所述第二报文进行 隧道处理, 其中, 所述第一报文为属于所述数据流的报文;
[214]第二上报单元 730,用于将所述封装单元封装的信息上报消息上报给所述控制设 备;
[215]接收单元 740,用于接收所述控制设备下发的表项更新消息,所述表项更新消息 是所述控制设备根据所述匹配字段确定对所述第二报文进行隧道处理后, 通过 OpenFlow协议对为所述第二报文生成的隧道流表项进行封装后生成的消息;
[216]确定单元 750,用于根据所述接收单元接收到的表项更新消息中封装的隧道流表 项确定接收到的第一报文是否为所述待进行隧道处理的报文;
[217]处理单元 760,用于当所述确定单元确定所述第一报文为所述待进行隧道处理的 报文时, 根据所述隧道流表项对所述第一报文进行隧道处理。
[218]其中,所述处理单元 760,可以具体用于当所述隧道流表项为隧道封装流表项时, 根据所述隧道封装流表项为所述第一报文添加隧道头信息和用于转发隧道封装后的 所述第一报文的介质访问控制层 MAC地址,其中,所述隧道头信息包括所述第一报文 的外部互联网协议 IP地址、 用户数据报协议 UDP端口号和隧道端点标识 TEID; 当所 述隧道流表项为隧道解封装流表项时,根据所述隧道解封装流表项去除所述第一报文 的隧道头信息后,添加用于转发隧道解封装后的所述第一报文的 MAC地址,所述隧道 头信息包括所述第一报文的外部 MAC地址、 外部 IP地址、 UDP端口号和 TEID; 当所 述隧道流表项为隧道解封装流表项和隧道封装流表项时,根据所述隧道解封装流表项 去除所述第一报文的第一隧道头信息,所述第一隧道头信息包括所述第一报文的第一 外部 MAC地址、 第一外部 IP地址、 第一 UDP端口号和第一 TEID, 以及根据所述隧道 封装流表项为解封装后的所述第一报文添加第二隧道头信息和用于转发隧道封装后 的所述第一报文的 MAC地址, 其中, 所述第二隧道头信息包括第二外部 IP地址、 第 二 UDP端口号和第二 TEID。 [219]参见图 8, 为本发明交换设备的另一个实施例框图:
[220]该交换设备包括: 网络接口 810、 收发器 820和处理器 830。
[221]其中, 所述网络接口 810, 用于与控制设备建立网络连接;
[222]所述收发器 820, 用于接收控制设备下发的隧道流表项, 其中, 所述隧道流表项 用于确定待进行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道处 理操作, 所述控制设备用于对所述交换设备所接收报文的转发进行控制;
[223]所述处理器 830,用于根据所述隧道流表项确定接收到的第一报文是否为所述待 进行隧道处理的报文, 当所述第一报文为所述待进行隧道处理的报文时,根据所述隧 道流表项对所述第一报文进行隧道处理。 [224]在一个可选的实现方式中:
[225]所述收发器 820,还可以用于向所述控制设备上报所述交换设备所支持流表的流 表类型, 所述流表类型包括隧道流表;
[226]相应的,所述收发器 830,可以具体用于接收所述控制设备根据所述流表类型向 所述交换设备下发的隧道流表项。 [227]在另一个可选的实现方式中:
[228]所述处理器 830,还可以用于当所述收发器接收到数据流的第二报文时,通过开 放流 OpenFlow协议将所述第二报文封装为信息上报消息, 所述信息上报消息中还包 含所述第二报文的匹配字段,所述匹配字段用于使所述控制设备确定对所述第二报文 进行隧道处理, 其中, 所述第一报文为属于所述数据流的报文; [229]所述收发器 820, 还可以用于将所述信息上报消息上报给所述控制设备;
[230]所述收发器 820,可以具体用于接收所述控制设备下发的表项更新消息,所述表 项更新消息是所述控制设备根据所述匹配字段确定对所述第二报文进行隧道处理后, 通过 OpenFlow协议对为所述第二报文生成的隧道流表项进行封装后生成的消息。
[231]在另一个可选的实现方式中: [232]所述处理器 830,可以具体用于当所述隧道流表项为隧道封装流表项时,根据所 述隧道封装流表项为所述第一报文添加隧道头信息和用于转发隧道封装后的所述第 一报文的介质访问控制层 MAC地址,其中,所述隧道头信息包括所述第一报文的外部 互联网协议 IP地址、 用户数据报协议 UDP端口号和隧道端点标识 TEID; 当所述隧道 流表项为隧道解封装流表项时,根据所述隧道解封装流表项去除所述第一报文的隧道 头信息后,添加用于转发隧道解封装后的所述第一报文的 MAC地址,所述隧道头信息 包括所述第一报文的外部 MAC地址、 外部 IP地址、 UDP端口号和 TEID; 当所述隧道 流表项为隧道解封装流表项和隧道封装流表项时,根据所述隧道解封装流表项去除所 述第一报文的第一隧道头信息, 所述第一隧道头信息包括所述第一报文的第一外部 MAC地址、 第一外部 IP地址、 第一 UDP端口号和第一 TEID, 以及根据所述隧道封装 流表项为解封装后的所述第一报文添加第二隧道头信息和用于转发隧道封装后的所 述第一报文的 MAC地址,其中,所述第二隧道头信息包括第二外部 IP地址、第二 UDP 端口号和第二 TEID。
[233]参见图 9, 为本发明控制设备的一个实施例框图: [234]该控制设备包括: 发送单元 910。
[235]其中, 发送单元 910, 用于向交换设备下发隧道流表项, 所述隧道流表项用于确 定待进行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道处理操作, 所述交换设备用于根据所述隧道流表项确定接收到的第一报文是否为所述待进行隧 道处理的报文, 并在当所述第一报文为所述待进行隧道处理的报文时,根据所述隧道 流表项对所述第一报文进行隧道处理。
[236]参见图 10, 为本发明控制设备的另一个实施例框图:
[237]该控制设备包括: 第一接收单元 1010、第二接收单元 1020、 生成单元 1030、封 装单元 1040和发送单元 1050。
[238]其中, 第一接收单元 1010, 用于接收所述交换设备上报的所述交换设备所支持 流表的流表类型, 所述流表类型包括隧道流表;
[239]第二接收单元 1020, 用于接收所述交换设备上报的信息上报消息, 所述信息上 报消息为所述交换设备接收到数据流的第二报文时, 通过 OpenFlow协议对所述第二 报文进行封装生成的消息,所述信息上报消息中还包含所述首报文的匹配字段,所述 匹配字段用于使所述控制设备确定对所述第二报文进行隧道处理,其中,所述第一报 文为属于所述数据流的报文;
[240]生成单元 1030, 用于根据所述第二接收单元接收到的信息上报消息中的匹配字 段确定对所述第二报文进行隧道处理后, 为所述第二报文生成隧道流表项;
[241]封装单元 1040,用于通过 OpenFlow协议将所述生成单元生成的隧道流表项封装 成表项更新消息;
[242]发送单元 1050,用于将所述封装单元封装的表项更新消息下发给所述交换设备。
[243]其中, 所述封装单元 1040, 还可以用于当所述隧道流表项中包含隧道封装流表 项时,在封装的所述表项更新消息中加入隧道头信息,所述隧道头信息包括用于对报 文进行隧道封装的外部 IP地址、 UDP端口号和 TEID; 当所述隧道流表项中包含隧道 解封装流表项时,在封装的所述表项更新消息中加入用于转发隧道解封装后的报文的 MAC地址。
[244]参见图 11, 为本发明控制设备的另一个实施例框图: [245]该控制设备包括: 网络接口 1110、 收发器 1120和处理器 1130。
[246]其中, 所述网络接口 1110, 用于与交换设备建立网络连接;
[247]所述收发器 1120, 用于向交换设备下发隧道流表项, 所述隧道流表项用于确定 待进行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道处理操作,所 述交换设备用于根据所述隧道流表项确定接收到的第一报文是否为所述待进行隧道 处理的报文, 并在当所述第一报文为所述待进行隧道处理的报文时,根据所述隧道流 表项对所述第一报文进行隧道处理。
[248]在一个可选的实现方式中:
[249]所述收发器 1120, 还可以用于向交换设备下发隧道流表项之前, 接收所述交换 设备上报的所述交换设备所支持流表的流表类型, 所述流表类型包括隧道流表; [250]所述收发器 1120, 可以具体用于根据所述流表类型向所述交换设备下发隧道流 表项。
[251]在另一个可选的实现方式中:
[252]所述收发器 1120, 还可以用于向交换设备下发隧道流表项之前, 接收所述交换 设备上报的信息上报消息,所述信息上报消息为所述交换设备接收到数据流的第二报 文时, 通过 OpenFlow协议对所述第二报文进行封装生成的消息, 所述信息上报消息 中还包含所述首报文的匹配字段,所述匹配字段用于使所述控制设备确定对所述第二 报文进行隧道处理, 其中, 所述第一报文为属于所述数据流的报文;
[253]所述处理器 1130, 还可以用于根据所述匹配字段确定对所述第二报文进行隧道 处理后, 为所述第二报文生成隧道流表项, 并通过 OpenFlow协议将所述隧道流表项 封装成表项更新消息;
[254]所述收发器 1120, 可以具体用于将所述表项更新消息下发给所述交换设备。
[255]在另一个可选的实现方式中:
[256]所述处理器 1130, 还可以用于当所述隧道流表项中包含隧道封装流表项时, 在 封装的所述表项更新消息中加入隧道头信息,所述隧道头信息包括用于对报文进行隧 道封装的外部 IP地址、 UDP端口号和 TEID; 当所述隧道流表项中包含隧道解封装流 表项时, 在封装的所述表项更新消息中加入用于转发隧道解封装后的报文的 MAC地 址。
[257]由上述实施例可见, 控制设备向交换设备下发隧道流表项, 交换设备根据隧道 流表项确定接收到的第一报文是否为待进行隧道处理的报文,当第一报文为待进行隧 道处理的报文时, 根据隧道流表项对第一报文进行隧道处理。本发明实施例中, 由于 交换设备支持隧道流表, 因此当在移动分组网络中应用 OpenFlow协议对报文进行传 输时,可以通过控制设备下发的隧道流表项对报文进行隧道封装或解封装, 由此增强 了移动分组网络中的报文处理能力。
[258]本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需 的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上 或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产 品可以存储在存储介质中, 如 R0M/RAM、 磁碟、 光盘等, 包括若干指令用以使得一台 计算机设备(可以是个人计算机, 服务器, 或者网络设备等)执行本发明各个实施例 或者实施例的某些部分所述的方法。
[259]本说明书中的各个实施例均采用递进的方式描述, 各个实施例之间相同相似的 部分互相参见即可, 每个实施例重点说明的都是与其他实施例的不同之处。尤其, 对 于系统实施例而言, 由于其基本相似于方法实施例, 所以描述的比较简单, 相关之处 参见方法实施例的部分说明即可。
[260]以上所述的本发明实施方式, 并不构成对本发明保护范围的限定。 任何在本发 明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围 之内。

Claims

权 利 要 求
1、 一种报文的隧道处理方法, 其特征在于, 所述方法包括:
交换设备接收控制设备下发的隧道流表项, 其中, 所述隧道流表项用于确定 待进行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道处理操 作, 所述控制设备用于对所述交换设备所接收报文的转发进行控制;
所述交换设备根据所述隧道流表项确定接收到的第一报文是否为所述待进 行隧道处理的报文;
当所述第一报文为所述待进行隧道处理的报文时,所述交换设备根据所述隧 道流表项对所述第一报文进行隧道处理。
2、 根据权利要求 1所述的方法, 其特征在于, 所述交换设备接收控制设备 下发的隧道流表项之前, 所述方法还包括:
所述交换设备向所述控制设备上报所述交换设备所支持流表的流表类型,所 述流表类型包括隧道流表;
所述交换设备接收控制设备下发的隧道流表项, 包括: 所述交换设备接收所 述控制设备根据所述流表类型向所述交换设备下发的隧道流表项。
3、 根据权利要求 1或 2所述的方法, 其特征在于, 所述交换设备接收控制 设备下发的隧道流表项之前, 所述方法还包括:
当所述交换设备接收到数据流的第二报文时, 通过开放流 OpenFlow协议将 所述第二报文封装为信息上报消息,所述信息上报消息中还包含所述第二报文的 匹配字段, 所述匹配字段用于使所述控制设备确定对所述第二报文进行隧道处 理, 其中, 所述第一报文为属于所述数据流的报文;
所述交换设备将所述信息上报消息上报给所述控制设备;
所述交换设备接收控制设备下发的隧道流表项, 包括: 所述交换设备接收所 述控制设备下发的表项更新消息,所述表项更新消息是所述控制设备根据所述匹 配字段确定对所述第二报文进行隧道处理后, 通过 OpenFlow协议对为所述第二 报文生成的隧道流表项进行封装后生成的消息。
4、 根据权利要求 1至 3任意一项所述的方法, 其特征在于, 当所述隧道流 表项为隧道封装流表项时,所述交换设备根据所述隧道流表项对所述第一报文进 行隧道处理, 包括:
所述交换设备根据所述隧道封装流表项为所述第一报文添加隧道头信息和 用于转发隧道封装后的所述第一报文的介质访问控制层 MAC地址, 其中, 所述隧 道头信息包括所述第一报文的外部互联网协议 IP地址、 用户数据报协议 UDP端 口号和隧道端点标识 TEID。
5、 根据权利要求 1至 3任意一项所述的方法, 其特征在于, 当所述隧道流 表项为隧道解封装流表项时,所述交换设备根据所述隧道流表项对所述第一报文 进行隧道处理, 包括:
所述交换设备根据所述隧道解封装流表项去除所述第一报文的隧道头信息 后, 添加用于转发隧道解封装后的所述第一报文的 MAC地址, 所述隧道头信息包 括所述第一报文的外部 MAC地址、 外部 IP地址、 UDP端口号和 TEID。
6、 根据权利要求 1至 3任意一项所述的方法, 其特征在于, 当所述隧道流 表项为隧道解封装流表项和隧道封装流表项时,所述交换设备根据所述隧道流表 项对所述第一报文进行隧道处理, 包括:
所述交换设备根据所述隧道解封装流表项去除所述第一报文的第一隧道头 信息, 所述第一隧道头信息包括所述第一报文的第一外部 MAC地址、 第一外部 IP地址、 第一 UDP端口号和第一 TEID;
所述交换设备根据所述隧道封装流表项为解封装后的所述第一报文添加第 二隧道头信息和用于转发隧道封装后的所述第一报文的 MAC地址, 其中, 所述第 二隧道头信息包括第二外部 IP地址、 第二 UDP端口号和第二 TEID。
7、 一种报文的隧道处理方法, 其特征在于, 所述方法包括:
控制设备向交换设备下发隧道流表项,所述隧道流表项用于确定待进行隧道 处理的报文并指示对所述待进行隧道处理的报文进行的隧道处理操作,所述交换 设备用于根据所述隧道流表项确定接收到的第一报文是否为所述待进行隧道处 理的报文, 并在当所述第一报文为所述待进行隧道处理的报文时, 根据所述隧道 流表项对所述第一报文进行隧道处理。
8、 根据权利要求 7所述的方法, 其特征在于, 所述控制设备向交换设备下 发隧道流表项之前, 所述方法还包括: 所述控制设备接收所述交换设备上报的所述交换设备所支持流表的流表类 型, 所述流表类型包括隧道流表;
所述控制设备向交换设备下发隧道流表项, 包括: 所述控制设备根据所述流 表类型向所述交换设备下发隧道流表项。
9、 根据权利要求 7或 8所述的方法, 其特征在于, 所述控制设备向交换设 备下发隧道流表项之前, 所述方法还包括:
所述控制设备接收所述交换设备上报的信息上报消息,所述信息上报消息为 所述交换设备接收到数据流的第二报文时, 通过 OpenFlow协议对所述第二报文 进行封装生成的消息, 所述信息上报消息中还包含所述首报文的匹配字段, 所述 匹配字段用于使所述控制设备确定对所述第二报文进行隧道处理, 其中, 所述第 一报文为属于所述数据流的报文;
所述控制设备根据所述匹配字段确定对所述第二报文进行隧道处理后,为所 述第二报文生成隧道流表项;
所述控制设备通过 OpenFlow协议将所述隧道流表项封装成表项更新消息; 所述控制设备向交换设备下发隧道流表项, 包括: 所述控制设备将所述表项 更新消息下发给所述交换设备。
10、 根据权利要求 9所述的方法, 其特征在于,
当所述隧道流表项中包含隧道封装流表项时,所述表项更新消息中还包含隧 道头信息, 所述隧道头信息包括用于对报文进行隧道封装的外部 IP 地址、 UDP 端口号和 TEID;
当所述隧道流表项中包含隧道解封装流表项时,所述表项更新消息中还包含 用于转发隧道解封装后的报文的 MAC地址。
11、 一种交换设备, 其特征在于, 所述交换设备包括:
接收单元, 用于接收控制设备下发的隧道流表项, 其中, 所述隧道流表项用 于确定待进行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道 处理操作, 所述控制设备用于对所述交换设备所接收报文的转发进行控制; 确定单元,用于根据所述接收单元接收到的隧道流表项确定接收到的第一报 文是否为所述待进行隧道处理的报文;
处理单元,用于当所述确定单元确定所述第一报文为所述待进行隧道处理的 报文时, 根据所述隧道流表项对所述第一报文进行隧道处理。
12、根据权利要求 11所述的交换设备, 其特征在于, 所述交换设备还包括: 第一上报单元, 用于所述接收单元接收所述隧道流表项之前, 向所述控制设 备上报所述交换设备所支持流表的流表类型, 所述流表类型包括隧道流表; 所述接收单元,具体用于接收所述控制设备根据所述流表类型向所述交换设 备下发的隧道流表项。
13、根据权利要求 11或 12所述的交换设备, 其特征在于, 所述交换设备还 包括:
封装单元, 用于当所述交换设备接收到数据流的第二报文时, 通过开放流
OpenFlow协议将所述第二报文封装为信息上报消息, 所述信息上报消息中还包 含所述第二报文的匹配字段,所述匹配字段用于使所述控制设备确定对所述第二 报文进行隧道处理, 其中, 所述第一报文为属于所述数据流的报文;
第二上报单元,用于将所述封装单元封装的信息上报消息上报给所述控制设 备;
所述接收单元, 具体用于接收所述控制设备下发的表项更新消息, 所述表项 更新消息是所述控制设备根据所述匹配字段确定对所述第二报文进行隧道处理 后, 通过 OpenFlow协议对为所述第二报文生成的隧道流表项进行封装后生成的 消息。
14、 根据权利要求 11至 13任意一项所述的交换设备, 其特征在于, 所述处理单元, 具体用于当所述隧道流表项为隧道封装流表项时, 根据所述 隧道封装流表项为所述第一报文添加隧道头信息和用于转发隧道封装后的所述 第一报文的介质访问控制层 MAC地址, 其中, 所述隧道头信息包括所述第一报文 的外部互联网协议 IP地址、 用户数据报协议 UDP端口号和隧道端点标识 TEID。
15、 根据权利要求 11至 13任意一项所述的交换设备, 其特征在于, 所述处理单元, 具体用于当所述隧道流表项为隧道解封装流表项时, 根据所 述隧道解封装流表项去除所述第一报文的隧道头信息后,添加用于转发隧道解封 装后的所述第一报文的 MAC地址, 所述隧道头信息包括所述第一报文的外部 MAC 地址、 外部 IP地址、 UDP端口号和 TEID。
16、 根据权利要求 11至 13任意一项所述的交换设备, 其特征在于, 所述处理单元,具体用于当所述隧道流表项为隧道解封装流表项和隧道封装 流表项时, 根据所述隧道解封装流表项去除所述第一报文的第一隧道头信息, 所 述第一隧道头信息包括所述第一报文的第一外部 MAC地址、 第一外部 IP地址、 第一 UDP端口号和第一 TEID, 以及根据所述隧道封装流表项为解封装后的所述 第一报文添加第二隧道头信息和用于转发隧道封装后的所述第一报文的 MAC地 址, 其中, 所述第二隧道头信息包括第二外部 IP地址、 第二 UDP端口号和第二 TEIDo
17、 一种控制设备, 其特征在于, 所述控制设备包括:
发送单元, 用于向交换设备下发隧道流表项, 所述隧道流表项用于确定待进 行隧道处理的报文并指示对所述待进行隧道处理的报文进行的隧道处理操作,所 述交换设备用于根据所述隧道流表项确定接收到的第一报文是否为所述待进行 隧道处理的报文, 并在当所述第一报文为所述待进行隧道处理的报文时, 根据所 述隧道流表项对所述第一报文进行隧道处理。
18、根据权利要求 17所述的控制设备, 其特征在于, 所述控制设备还包括: 第一接收单元, 用于所述发送单元向交换设备下发隧道流表项之前, 接收所 述交换设备上报的所述交换设备所支持流表的流表类型,所述流表类型包括隧道 流表;
所述发送单元,具体用于根据所述第一接收单元接收到的所述流表类型向所 述交换设备下发隧道流表项。
19、根据权利要求 17或 18所述的控制设备, 其特征在于, 所述控制设备还 包括:
第二接收单元, 用于所述发送单元向交换设备下发隧道流表项之前, 接收所 述交换设备上报的信息上报消息,所述信息上报消息为所述交换设备接收到数据 流的第二报文时, 通过 OpenFlow协议对所述第二报文进行封装生成的消息, 所 述信息上报消息中还包含所述首报文的匹配字段,所述匹配字段用于使所述控制 设备确定对所述第二报文进行隧道处理, 其中, 所述第一报文为属于所述数据流 的报文;
生成单元,用于根据所述第二接收单元接收到的信息上报消息中的匹配字段 确定对所述第二报文进行隧道处理后, 为所述第二报文生成隧道流表项; 封装单元, 用于通过 OpenFlow协议将所述生成单元生成的隧道流表项封装 成表项更新消息;
所述发送单元,具体用于将所述封装单元封装的表项更新消息下发给所述交 换设备。
20、 根据权利要求 19所述的控制设备, 其特征在于,
所述封装单元, 还用于当所述隧道流表项中包含隧道封装流表项时, 在封装 的所述表项更新消息中加入隧道头信息,所述隧道头信息包括用于对报文进行隧 道封装的外部 IP地址、 UDP端口号和 TEID; 当所述隧道流表项中包含隧道解封 装流表项时,在封装的所述表项更新消息中加入用于转发隧道解封装后的报文的 MAC地址。
PCT/CN2014/071229 2014-01-23 2014-01-23 报文的隧道处理方法、交换设备及控制设备 WO2015109486A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/CN2014/071229 WO2015109486A1 (zh) 2014-01-23 2014-01-23 报文的隧道处理方法、交换设备及控制设备
CN201480000107.4A CN105009544B (zh) 2014-01-23 2014-01-23 报文的隧道处理方法、交换设备及控制设备
EP14879754.1A EP3091705B1 (en) 2014-01-23 2014-01-23 Tunnel processing method for packet, switching device and control device
US15/217,423 US10237089B2 (en) 2014-01-23 2016-07-22 Packet tunneling method, switching device, and control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/071229 WO2015109486A1 (zh) 2014-01-23 2014-01-23 报文的隧道处理方法、交换设备及控制设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/217,423 Continuation US10237089B2 (en) 2014-01-23 2016-07-22 Packet tunneling method, switching device, and control device

Publications (1)

Publication Number Publication Date
WO2015109486A1 true WO2015109486A1 (zh) 2015-07-30

Family

ID=53680597

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/071229 WO2015109486A1 (zh) 2014-01-23 2014-01-23 报文的隧道处理方法、交换设备及控制设备

Country Status (4)

Country Link
US (1) US10237089B2 (zh)
EP (1) EP3091705B1 (zh)
CN (1) CN105009544B (zh)
WO (1) WO2015109486A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936716A (zh) * 2015-12-31 2017-07-07 华为技术有限公司 一种ttp解析转换方法、转发表项发送方法及装置
CN108600021A (zh) * 2018-04-28 2018-09-28 盛科网络(苏州)有限公司 可灵活编程配置的隧道封装芯片实现方法和装置
WO2019149106A1 (zh) * 2018-01-30 2019-08-08 华为技术有限公司 一种服务质量QoS控制方法及相关设备
CN111698793A (zh) * 2019-03-15 2020-09-22 大唐移动通信设备有限公司 一种通信方法及设备

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US10148459B2 (en) * 2014-04-29 2018-12-04 Hewlett Packard Enterprise Development Lp Network service insertion
CN105474587B (zh) * 2014-06-19 2019-02-12 华为技术有限公司 一种发送数据包的方法及装置
EP3166275A4 (en) * 2014-08-11 2017-07-19 Huawei Technologies Co., Ltd. Packet control method, switch and controller
US10511458B2 (en) * 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US10361952B2 (en) 2015-06-30 2019-07-23 Nicira, Inc. Intermediate logical interfaces in a virtual distributed router environment
CN106656781B (zh) * 2015-11-02 2020-12-11 中兴通讯股份有限公司 一种报文传输的方法、装置和系统
WO2017091986A1 (zh) * 2015-12-01 2017-06-08 华为技术有限公司 业务流转发功能部署方法、装置及系统
US9893997B2 (en) * 2016-04-07 2018-02-13 Nxp Usa,Inc. System and method for creating session entry
WO2018019370A1 (en) * 2016-07-27 2018-02-01 Huawei Technologies Co., Ltd. A data packet forwarding unit in software defined networks
CN108737127B (zh) * 2017-04-13 2022-07-22 中兴通讯股份有限公司 一种信息通告方法及装置
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
US10594513B2 (en) 2018-03-19 2020-03-17 Cisco Technology, Inc. Packet communications providing packet forwarding efficiencies in a network including using a segment routing and tunnel exchange
WO2019204350A1 (en) * 2018-04-16 2019-10-24 Tesseract Structural Innovations, Inc. Uniform deceleration unit
RU2764464C2 (ru) * 2018-04-28 2022-01-17 Телефонактиеболагет Лм Эрикссон (Пабл) СИГНАЛИЗАЦИЯ ПАРАМЕТРОВ УПРАВЛЕНИЯ ПОТОКОМ QoS
US10505718B1 (en) 2018-06-08 2019-12-10 Cisco Technology, Inc. Systems, devices, and techniques for registering user equipment (UE) in wireless networks using a native blockchain platform
US10673618B2 (en) 2018-06-08 2020-06-02 Cisco Technology, Inc. Provisioning network resources in a wireless network using a native blockchain platform
US10671462B2 (en) 2018-07-24 2020-06-02 Cisco Technology, Inc. System and method for message management across a network
US10284429B1 (en) 2018-08-08 2019-05-07 Cisco Technology, Inc. System and method for sharing subscriber resources in a network environment
US10949557B2 (en) 2018-08-20 2021-03-16 Cisco Technology, Inc. Blockchain-based auditing, instantiation and maintenance of 5G network slices
US10374749B1 (en) 2018-08-22 2019-08-06 Cisco Technology, Inc. Proactive interference avoidance for access points
US10230605B1 (en) 2018-09-04 2019-03-12 Cisco Technology, Inc. Scalable distributed end-to-end performance delay measurement for segment routing policies
US10652152B2 (en) 2018-09-04 2020-05-12 Cisco Technology, Inc. Mobile core dynamic tunnel end-point processing
US10779188B2 (en) 2018-09-06 2020-09-15 Cisco Technology, Inc. Uplink bandwidth estimation over broadband cellular networks
US11558288B2 (en) 2018-09-21 2023-01-17 Cisco Technology, Inc. Scalable and programmable mechanism for targeted in-situ OAM implementation in segment routing networks
US10285155B1 (en) 2018-09-24 2019-05-07 Cisco Technology, Inc. Providing user equipment location information indication on user plane
US10601724B1 (en) 2018-11-01 2020-03-24 Cisco Technology, Inc. Scalable network slice based queuing using segment routing flexible algorithm
US20230164073A1 (en) * 2021-11-23 2023-05-25 Google Llc Systems and Methods for Tunneling Network Traffic to Apply Network Functions
CN114301737B (zh) * 2021-12-29 2023-10-24 迈普通信技术股份有限公司 网络配置方法、装置、网络设备及计算机可读存储介质
CN114629842A (zh) * 2022-03-30 2022-06-14 阿里巴巴(中国)有限公司 流表处理方法、电子设备、可读存储介质及产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102625363A (zh) * 2011-12-09 2012-08-01 中兴通讯股份有限公司 一种移动分组域网络系统
CN102959908A (zh) * 2010-11-22 2013-03-06 日本电气株式会社 用于控制分组流的转发路径的通信系统、通信设备、控制器和方法以及程序
WO2013030693A1 (en) * 2011-08-29 2013-03-07 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3g packet core in a cloud computer with openflow data and control planes
WO2014000290A1 (zh) * 2012-06-29 2014-01-03 华为技术有限公司 数据报文的控制方法、设备及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5621781B2 (ja) * 2009-10-06 2014-11-12 日本電気株式会社 ネットワークシステムとコントローラと方法とプログラム
CN101848171B (zh) * 2010-07-01 2013-04-03 杭州华三通信技术有限公司 一种基于gre隧道的数据传输方法、设备和系统
ES2565628T3 (es) * 2011-07-06 2016-04-06 Huawei Technologies Co., Ltd. Procedimiento de procesamiento de mensajes y dispositivo relacionado
CN103828313B (zh) * 2011-09-27 2017-05-24 日本电气株式会社 网络系统、前端单元和控制消息传输速率降低方法
EP2753030A4 (en) * 2012-02-03 2015-01-21 Huawei Tech Co Ltd FLUID IDENTIFICATION METHOD, DEVICE AND SYSTEM
US9258218B2 (en) * 2012-11-30 2016-02-09 Alcatel Lucent Software-defined network overlay
WO2014136864A1 (ja) * 2013-03-07 2014-09-12 日本電気株式会社 パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
CN104253770B (zh) * 2013-06-27 2017-07-14 新华三技术有限公司 实现分布式虚拟交换机系统的方法及设备
EP3021633B1 (en) * 2013-07-11 2023-08-30 Nec Corporation Communication system and communication method with multiple gtp-u tunnels
EP3021535A4 (en) * 2013-07-11 2017-01-25 Nec Corporation Communication system and communication device, and control method and control device therefor
KR101571978B1 (ko) * 2013-08-28 2015-11-25 주식회사 케이티 멀티 플로우 그룹핑에 기반한 대역폭 제공 방법
US9137140B2 (en) * 2013-09-10 2015-09-15 Cisco Technology, Inc. Auto tunneling in software defined network for seamless roaming

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102959908A (zh) * 2010-11-22 2013-03-06 日本电气株式会社 用于控制分组流的转发路径的通信系统、通信设备、控制器和方法以及程序
WO2013030693A1 (en) * 2011-08-29 2013-03-07 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3g packet core in a cloud computer with openflow data and control planes
CN102625363A (zh) * 2011-12-09 2012-08-01 中兴通讯股份有限公司 一种移动分组域网络系统
WO2014000290A1 (zh) * 2012-06-29 2014-01-03 华为技术有限公司 数据报文的控制方法、设备及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3091705A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936716A (zh) * 2015-12-31 2017-07-07 华为技术有限公司 一种ttp解析转换方法、转发表项发送方法及装置
WO2019149106A1 (zh) * 2018-01-30 2019-08-08 华为技术有限公司 一种服务质量QoS控制方法及相关设备
CN108600021A (zh) * 2018-04-28 2018-09-28 盛科网络(苏州)有限公司 可灵活编程配置的隧道封装芯片实现方法和装置
CN108600021B (zh) * 2018-04-28 2021-06-18 盛科网络(苏州)有限公司 可灵活编程配置的隧道封装芯片实现方法和装置
CN111698793A (zh) * 2019-03-15 2020-09-22 大唐移动通信设备有限公司 一种通信方法及设备
CN111698793B (zh) * 2019-03-15 2022-05-20 大唐移动通信设备有限公司 一种通信方法及设备

Also Published As

Publication number Publication date
EP3091705A1 (en) 2016-11-09
US20160330045A1 (en) 2016-11-10
US10237089B2 (en) 2019-03-19
CN105009544B (zh) 2018-04-20
EP3091705A4 (en) 2016-11-09
EP3091705B1 (en) 2018-09-05
CN105009544A (zh) 2015-10-28

Similar Documents

Publication Publication Date Title
WO2015109486A1 (zh) 报文的隧道处理方法、交换设备及控制设备
EP2579544B1 (en) Methods and apparatus for a scalable network with efficient link utilization
JP4431112B2 (ja) 端末及び通信システム
US20100189103A1 (en) Header Size Reduction of Data Packets
WO2009111977A1 (zh) 一种映射信息的发送方法、系统和装置
WO2011000234A1 (zh) 推送会话的建立方法、推送系统和相关设备
JP2012085208A (ja) Lispネットワークの通信方法
US9439127B2 (en) Method for data transmission and local network entity
US20220345519A1 (en) PFCP Session Load Balancer
US11849381B2 (en) Use of IP networks for routing of cellular data packets
WO2013083037A1 (zh) 更新报文的处理方法及系统、映射服务器和移动节点
WO2010066144A1 (zh) 发送数据、转发数据的方法、设备和多地址空间移动网络
US20130163561A1 (en) Fast handover method using l2/l3 combination
WO2007036140A1 (fr) Procede d'implementation d'un commutateur de traduction d'adresses de reseau dans un reseau ip mobile
US11632692B2 (en) Use of IP networks for routing of cellular data packets
US20220345986A1 (en) Selective Importing of UE Addresses to VRF in 5g Networks
US20220345984A1 (en) Use Of Ip Networks For Routing Of Cellular Data Packets
JP2005006264A (ja) モバイルipネットワークシステム
JP2024517716A (ja) セルラーデータパケットのルーティングの為のipネットワークの改善された使用
JP2024517718A (ja) 5gネットワーク内のvrfへのueアドレスの選択的インポート
Wu Packets Routing Implementation of Mobile IP Systems

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014879754

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014879754

Country of ref document: EP