WO2016019676A1 - 一种软件定义网络sdn中处理数据包的方法、装置及系统 - Google Patents
一种软件定义网络sdn中处理数据包的方法、装置及系统 Download PDFInfo
- Publication number
- WO2016019676A1 WO2016019676A1 PCT/CN2014/094128 CN2014094128W WO2016019676A1 WO 2016019676 A1 WO2016019676 A1 WO 2016019676A1 CN 2014094128 W CN2014094128 W CN 2014094128W WO 2016019676 A1 WO2016019676 A1 WO 2016019676A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- control channel
- identifier
- switching device
- control
- flow entry
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Definitions
- the embodiments of the present invention relate to the field of communication services, and particularly to a method, device, and system for processing data packets in a software-defined network.
- the Software Defined Network implements the separation of the data control layer and the forwarding layer.
- the control device is responsible for the control function of the control layer
- the switching device is responsible for the forwarding function of the data layer.
- a switching device can connect multiple control devices at the same time. There are usually two working modes between the control device and the switching device: the Equal mode and the Master/Slave mode.
- control devices in the same position have the same control authority for the same switching device, and the control devices can be independent of each other.
- the control device A can send a flow entry to the switching device, and the control device B can also send a flow entry to the switching device.
- the switching device receives the data packet, and searches the flow table for the flow entry that includes the matching domain that matches the data packet. If the found flow entry indicates that the switching device sends the data packet to the control device, in the equivalent mode, The switching device needs to send the data packet to the control device A and the control device B.
- control device A and the control device B receive the data packet, there are two processing schemes.
- the control device A and the control device B respectively generate a flow entry and send it to the switching device.
- the control device A and the control device B negotiate to determine that one of the two control devices processes the data packet and delivers the flow entry.
- the waste of control equipment resources and the redundant consumption of control channel bandwidth may result in the control equipment becoming a bottleneck of the network.
- the purpose of the embodiments of the present invention is to provide a method, a device, and a system for processing data packets in a software-defined network SDN, which can classify new flows at the forwarding layer, reduce processing pressure of the controller, and improve overall performance of the network.
- a method for processing a data packet by a switching device in a software defined network SDN include:
- the switching device establishes a first control channel with the first control device, and the switching device establishes a second control channel with the second control device;
- the switching device receives the first flow entry and the second flow entry, where the first flow entry includes an identifier of the first matching domain and the first control channel, where the first flow entry is used to indicate that the switching device is to be
- the data packet that is matched by the first matching domain is sent to the first control device by using the first control channel that is represented by the identifier of the first control channel;
- the second flow entry includes a second matching domain and a first An identifier of the second control channel, where the second flow entry is used to instruct the switching device to send, by the switching device, the data packet that matches the second matching domain to the second control channel that is represented by the identifier of the second control channel.
- the second control device wherein the identifier of the first control channel and the identifier of the second control channel are different, and the first matching domain and the second matching domain are different;
- the switching device receives the first data packet
- the switching device confirms that the first data packet matches the first matching domain, and the switching device passes the first data packet by using the first control channel represented by the identifier of the first control channel Sending to the first control device;
- the switching device receives a second data packet
- the switching device confirms that the second data packet matches the second matching domain, and the switching device passes the second data packet to the second control channel represented by the identifier of the second control channel Sended to the second control device.
- the method before the step of receiving, by the switching device, the first flow entry and the second flow entry, the method further includes:
- the switching device receives a request message sent by the first control device, where the request message is used to query an identifier of the first control channel;
- the switching device receives the request message sent by the second control device, and the request message sent by the second control device is used to query the identifier of the second control channel;
- the switching device sends the identifier of the second control channel to the second control device in response to the request message sent by the second control device.
- the switching device receives, by using the first control channel, the first control device to send Request message
- the switching device sends the identifier of the first control channel to the first control device through the first control control channel;
- the switching device sends the identifier of the second control channel to the second control device through the second control control channel.
- the first flow entry and the first The priority of the flow entry is the lowest priority of the flow entry in the flow table saved by the switching device.
- the switching device establishes a third control channel with the third control device
- the first flow entry further includes an identifier of the third control channel, where the first flow entry is further used to indicate that the switching device passes a data packet that matches the first matching domain through the third control channel.
- the third control channel represented by the identifier is sent to the third control device; the identifier of the third control channel is different from the identifier of the first control channel and the identifier of the second control channel.
- the identifier of the first control channel and the identifier of the second control channel are both logical port numbers of the switching device;
- the identifier of the first control channel and the identifier of the second control channel are physical port numbers of the switching device;
- the identifier of the first control channel is an identifier of a network connection between the switching device and the first control device
- the identifier of the second control channel is the switching device and the second control device The identity of the network connection between.
- a second aspect provides a switching device in a software-defined network, including:
- a protocol processing unit configured to establish a first control channel with the first control device, and establish a second control channel with the second control device;
- a receiving unit configured to receive a first flow entry and a second flow entry, where the first flow entry includes An identifier of a matching domain and a first control channel, where the first flow entry is used to instruct the switching device to pass the data packet matching the first matching domain by the identifier of the first control channel a control channel is sent to the first control device;
- the second flow entry includes an identifier of the second matching domain and the second control channel, where the second flow entry is used to indicate that the switching device is to be
- the second matching domain matched data packet is sent to the second control device by the second control channel represented by the identifier of the second control channel; wherein the identifier of the first control channel and the second control channel
- the identifiers are different, and the first matching domain and the second matching domain are different;
- a storage unit configured to store the first flow entry and the second flow entry
- the receiving unit is further configured to receive the first data packet and the second data packet;
- a data packet processing unit configured to confirm that the first data packet matches the first matching domain, and confirm that the second data packet matches the second matching domain;
- a sending unit configured to send, by using a first control channel represented by the identifier of the first control channel, the first data packet to the first control device; and a first representation by the identifier of the second control channel
- the second control channel sends the second data packet to the second control device.
- the receiving unit is further configured to receive a request message sent by the first control device, where the request message is used to query the first An identifier of the control channel, and a request message sent by the second control device, where the request message sent by the second control device is used to query the identifier of the second control channel;
- the sending unit is further configured to: send, according to the request message sent by the first control device, the identifier of the first control channel to the first control device; and respond to the request message sent by the second control device And sending the identifier of the second control channel to the second control device.
- the priority of the first flow entry and the second flow entry is The flow entry in the flow table saved by the switching device has the lowest priority.
- the protocol processing unit is further configured to The third control device establishes a third control channel
- the first flow entry further includes an identifier of the third control channel, where the first flow entry is further used to indicate that the switching device passes a data packet that matches the first matching domain through the third control channel.
- the third control channel represented by the identifier is sent to the third control device; the identifier of the third control channel is different from the identifier of the first control channel and the identifier of the second control channel of.
- the identifier and the location of the first control channel is a logical port number of the switching device;
- the identifier of the first control channel and the identifier of the second control channel are physical port numbers of the switching device;
- the identifier of the first control channel is an identifier of a network connection between the switching device and the first control device
- the identifier of the second control channel is the switching device and the second control device The identity of the network connection between.
- a method for controlling device execution in a software-defined network including:
- the control device establishes a control channel with the switching device
- the control device acquires an identifier of the control channel
- the control device generates a flow entry, where the flow entry includes a matching domain and an identifier of the control channel;
- the control device sends the flow entry to the switching device, where the flow entry is used to instruct the switching device to pass the control represented by the identifier of the control channel by a data packet matching the matching domain.
- the channel is sent to the control device.
- the acquiring, by the control device, the identifier of the control channel includes:
- the control device receives a response message sent by the switching device, where the response message carries an identifier of the control channel.
- control device sends the request message to the switching device by using the control channel.
- the priority of the flow entry is The flow entry in the flow table saved by the switching device has the lowest priority.
- the identifier of the first control channel and the identifier of the second control channel are both the switching device The logical port number of the backup; or,
- the identifier of the first control channel and the identifier of the second control channel are physical port numbers of the switching device;
- the identifier of the first control channel is an identifier of a network connection between the switching device and the first control device
- the identifier of the second control channel is the switching device and the second control device The identity of the network connection between.
- a fourth aspect provides a control device in a software-defined network, including:
- a protocol processing unit configured to establish a control channel with the switching device
- a management unit configured to acquire an identifier of the control channel
- a flow entry generating unit configured to generate a flow entry, where the flow entry includes a matching domain and an identifier of the control channel;
- a sending unit configured to send the flow entry to the switching device, where the flow entry is used to indicate that the switching device uses the data packet that matches the matching domain to be represented by the identifier of the control channel.
- a control channel is sent to the control device.
- the sending unit is further configured to send a request message to the switching device, where the request message is used to query an identifier of the control channel;
- the management unit is specifically configured to receive a response message sent by the switching device, where the response message carries an identifier of the control channel.
- a fifth aspect provides a software-defined network system, including: a first control device, a second control device, and a switching device,
- the first control device is configured to establish a first control channel with the switching device
- the second control device is configured to establish a second control channel with the switching device
- the switching device is configured to receive the first flow entry and the second flow entry, where the first flow entry includes an identifier of the first matching domain and the first control channel, where the first flow entry is used Instructing the switching device to send a data packet that matches the first matching domain to the first control device by using the first control channel that is represented by the identifier of the first control channel; the second flow entry And including the identifier of the second matching domain, where the second flow entry is used to indicate that the switching device represents the data packet that matches the second matching domain by using the identifier of the second control channel.
- the second control channel is sent to the second control device, where the identifier of the first control channel and the identifier of the second control channel are different, and the first matching domain and the second matching domain are not Phase with;
- the switching device is further configured to store the first flow entry and the second flow entry, receive the first data packet, and confirm that the first data packet matches the first matching domain, Transmitting, by the first control channel, the first data packet that is sent by the identifier of the first control channel to the first control device, receiving a second data packet, and confirming the second data packet and the second data packet The matching domain is matched, and the second data packet is sent to the second control device by using the second control channel represented by the identifier of the second control channel.
- the first control device is further configured to obtain an identifier of the first control channel, generate the first flow entry, and Transmitting, by the switching device, the first flow entry;
- the second control device is further configured to obtain an identifier of the second control channel, generate the second flow entry, and send the second flow entry to the switching device.
- the second possible implementation manner of the fifth aspect further includes: a third control device, establishing a third control channel with the switching device;
- the first flow entry further includes an identifier of the third control channel, where the first flow entry is further used to indicate that the switching device passes a data packet that matches the first matching domain through the third control channel.
- the third control channel represented by the identifier is sent to the third control device; the identifier of the third control channel is different from the identifier of the first control channel and the identifier of the second control channel.
- the control device cooperates with the switching device, and the control device sends the classification rule of the new flow to the switching device in the form of a flow table, and performs the classification processing of the centralized new flow previously implemented by the control device.
- the switch is implemented as a distributed implementation on the switching device. The switching device can effectively share the processing pressure of the control device and improve the overall processing performance of the network.
- FIG. 1 is a schematic structural diagram of an SDN network system according to an embodiment of the present invention.
- FIG. 2 is a schematic diagram of the composition of a controller according to an embodiment of the present invention.
- FIG. 3 is a schematic structural diagram of a switch according to an embodiment of the present invention.
- FIG. 4 is a flow chart of a method according to an embodiment of the present invention.
- Figure 5 is a flow chart of a method of still another embodiment of the present invention.
- Figure 6 is a schematic illustration of yet another embodiment of the present invention.
- the Software Defined Network (SDN) system of the embodiment of the present invention includes: a switch, a controller A, and a controller B, and may further include a controller C.
- the switch is connected to controller A, controller B, and controller C through an open flow Openflow control channel.
- the controller A includes a protocol processing unit, a management unit, a flow entry generation unit, and a sending unit.
- the protocol processing unit is used to establish a control channel with the switch.
- the management unit is configured to obtain an identifier of the control channel.
- the flow entry generation unit is configured to generate a flow entry, where the flow entry includes a matching domain and an identifier of the control channel.
- the sending unit is configured to send the flow entry to the switch, where the flow entry is used to instruct the switch to send a data packet that matches the matching domain by using the control channel represented by the identifier of the control channel. Give the controller.
- the sending unit is further configured to send a request message to the switch, where the request message is used to query an identifier of the control channel.
- the management unit is specifically configured to receive a response message sent by the switch, where the response message carries an identifier of the control channel.
- the classification flow table includes a plurality of flow entry items, and the flow entry item embodies the classification rule of the new flow, so that the switch completes the classification of the new flow according to the classification rule of the new flow, and the new flow refers to the failure to match the existing forwarding on the switch for forwarding.
- the traffic to be forwarded of a normal flow entry can be as shown in Table 1:
- the classification rule can be defined at the stage of network planning. According to the performance of the controller, the distance between the controller and the switch, the classification rule includes some features for the traffic classification, and these features are specifically represented by the matching domain corresponding to the flow and the matching value corresponding to the matching domain. Therefore, the flow entry containing these matching domains constitutes a classification flow entry.
- ETH_Type Ethernet packet type
- ETH_DST destination MAC address
- IP_PROTO IP type
- IP_SRC source IP address
- IP_DST destination IP address
- TCP_DST destination TCP port number
- UDP_DST destination UDP port number
- the controller Taking the Layer 2 forwarding and Layer 3 forwarding of IPv4 packets as an example, the controller generates a new stream classification flow entry according to the classification rule of the new flow in Table 1 (taking Openflow 1.0 as an example).
- the classification flow entry can be as shown in Table 2:
- the switch in the embodiment of the present invention includes: a protocol processing unit, a receiving unit, A storage unit, a packet processing unit, and a transmitting unit.
- the protocol processing unit is configured to establish a first control channel with the controller A and a second control channel with the controller B.
- the receiving unit is configured to receive the first flow entry and the second flow entry, and is further configured to receive a request message sent by the controller A, where the request message is used to query an identifier of the first control channel, and receive the The request message sent by the controller B, the request message sent by the controller B is used to query the identifier of the second control channel.
- the storage unit is configured to store the first flow entry and the second flow entry.
- the data packet processing unit is configured to confirm that the first data packet matches the first matching domain, and confirm that the second data packet matches the second matching domain.
- the sending unit is configured to send the first data packet to the controller A by using a first control channel represented by the identifier of the first control channel; and the second control represented by the identifier of the second control channel The channel transmits the second data packet to the controller B.
- the sending unit is further configured to: send the identifier of the first control channel to the controller A in response to the request message sent by the controller A; and respond to the request message sent by the controller B, The identifier of the second control channel is sent to the controller B.
- the matching specifically refers to matching the feature information in the data packet with the matching value in the flow entry.
- the method for processing a data packet in an SDN network specifically includes the following steps:
- controller A Configure a functional role of controller A and controller B.
- the function roles of controller A and controller B are determined according to the specific capabilities of the controller and/or the system requirements.
- the controllers of different functional roles have different classification flows for new flows delivered by the switch. For example, controller A is responsible for Layer 2 forwarding, controller B is responsible for Layer 3 forwarding; or controller A is responsible for handling IPv4 packet forwarding, and controller B is responsible for handling IPv6 packet forwarding.
- the configuration method of the controller function role is specifically implemented by the following processes: (1) Centralized management mode, that is, the allocation of each controller function role is completed by an independent centralized management configuration server. (2) Manual configuration mode, that is, manual configuration of the functional roles of each controller. Certainly, those skilled in the art can also perform the method combining the centralized management mode and the manual configuration mode according to the specific situation, and details are not described herein again.
- the switch establishes a first control channel with the controller A, the switch establishes a second control channel with the controller B, and respectively assigns a logical port number to the first control channel and the second control channel, as the first control
- the identification of the channel and the identification of the second control channel is locally unique on the switch side.
- a logical port number represents the control channel established by the switch and a controller, or a logical port number represents a corresponding control on the switch side. Device.
- the local meaning means that the port number on the switch side is unique, but from the controller side, it is possible that the port numbers assigned to the controller by different switches are the same (not unique).
- This step specifically includes:
- the switch receives, by using the first control channel, a request message sent by the controller A, where the request message is used to query an identifier of the first control channel;
- the switch sends the identifier of the first control channel to the controller A through the first control control channel in response to the request message sent by the controller A;
- the switch receives the request message sent by the controller B by using the second control channel, and the request message sent by the controller B is used to query the identifier of the second control channel;
- S104d The switch sends the identifier of the second control channel to the controller B by using the second control control channel in response to the request message sent by the controller B.
- the identifier of the first control channel and the identifier of the second control channel are logical port numbers of the switch.
- the identifier of the first control channel and the identifier of the second control channel may also be the physical port number of the switch; or the network between the switch and the controller A and the controller B. The identity of the connection.
- the embodiment of the present invention needs to extend the protocol, and each control channel between the controller and the switch is in one-to-one correspondence with a unique logical port number. For example, any ID number from the 0x(ffff)ff01–0x(ffff)fff7 section can be used for correspondence.
- an Openflow protocol needs to be extended to support the controller to query the logical port number corresponding to the control channel through the control channel.
- the controller query command can be constructed as follows:
- the response of the switch to the query command can be constructed as follows:
- Port_id is the logical port number corresponding to the control channel.
- the controller A generates a first flow entry
- the controller B generates a second flow entry.
- the first flow entry and the second flow entry include an identifier of the matching domain and the control channel;
- the first flow entry includes an identifier of the first matching domain and the first control channel, where the first flow entry is used to indicate the location Transmitting, by the switch, the data packet that matches the first matching domain to the controller A by using the first control channel represented by the identifier of the first control channel;
- the second flow entry includes a second match An identifier of the domain and the second control channel, where the second flow entry is used to instruct the switch to pass the data packet that matches the second matching domain to the second control channel that is represented by the identifier of the second control channel Sending to the controller B; wherein the identifier of the first control channel and the identifier of the second control channel are different, and the first matching domain and the second matching domain are different.
- the controller A sends the first flow entry to the switch, and the controller B sends the second flow entry to the switch.
- the controller C delivers the first flow entry and the second flow entry to the switch. Specifically, the controller C acquires the identifier of the first control channel and generates the first flow entry by interacting with the controller A. The controller C acquires the second control channel by interacting with the controller B. The second flow entry is identified and generated, and the controller C sends the first flow entry and the second flow entry to the switch.
- the controller C delivers the first flow entry and the second flow entry to the switch.
- the controller C interacts with the switch through the third control channel, and obtains an identifier of the control channel and an identifier of the second control channel, and generates the first flow entry and the second flow entry, and then the controller The C sends the first flow entry and the second flow entry to the switch.
- the first flow entry and the second flow entry may be specifically as shown in Table 2.
- the priority of the flow entry is "0", indicating that the priority is the lowest, that is, the first flow entry and
- the priority of the second flow entry is the lowest priority of the flow entry in the flow table saved by the switch, and only the last match may be matched to the first flow entry and the second flow entry. Therefore, the matching of other higher priority flow entries that are normal is not affected, and the purpose of the new flow classification is achieved.
- the switch receives the first data packet.
- the switch confirms that the first data packet matches the first matching domain, and the switch passes the first data packet to the first control channel represented by the identifier of the first control channel. Sent to the controller A.
- the switch confirms that the first data packet matches the first matching domain. Because the second matching domain is different from the first matching domain, usually, the first data packet does not match the second matching domain. Therefore, the switch does not send the first data packet to the controller B through the second control channel represented by the second control channel identifier.
- the switch receives the second data packet.
- the switch confirms that the second data packet matches the second matching domain, and the switch passes the second data packet to the second control channel represented by the identifier of the second control channel. Sent to the controller B.
- the switch does not send a second data packet to the controller A.
- the controller A generates and sends a first forwarding flow entry (ie, a first decision flow entry) to the switch for the first data packet, and the controller B generates and sends a second forwarding flow entry for the second data packet.
- the second decision flow entry is to the switch.
- the switch forwards the data packet of the new flow according to the received first decision flow entry and the second decision flow entry.
- a method for processing a data packet in an SDN network specifically includes the following steps:
- controller A configuring the functional roles of controller A, controller B, and controller C.
- the function roles of controller A and controller B and controller C are determined according to the specific capabilities of the controller and/or the system requirements.
- the controllers of different functional roles have different classification flow tables for new flows delivered to the switch, for example, Controller A is responsible for Layer 2 forwarding, Controller B is responsible for Layer 3 forwarding; or Controller A is responsible for handling IPv4 packet forwarding, and Controller B is responsible for handling IPv6 packet forwarding.
- the configuration method of the controller function role is specifically implemented by the following processes: (1) Centralized management mode, that is, the allocation of each controller function role is completed by an independent centralized management configuration server. (2) Manual configuration mode, that is, manual configuration of the functional roles of each controller. Certainly, those skilled in the art can also perform the method combining the centralized management mode and the manual configuration mode according to the specific situation, and details are not described herein again.
- the switch establishes a first control channel with the controller A, and the switch establishes a second control channel with the controller B, and the switch establishes a third control channel with the controller C.
- the controller A, the controller B, and the controller C query the identifiers of the respective control channels corresponding to the switch side.
- the controller A generates a first flow entry
- the controller B generates a second flow entry, where the first flow entry and the second flow entry include a matching domain and an identifier of the control channel;
- the entry includes the identifier of the first matching domain and the first control channel, and the first flow entry is used to indicate that the switch matches the data packet that matches the first matching domain by the identifier of the first control channel.
- the first control channel is sent to the controller A;
- the second flow entry includes an identifier of a second matching domain and a second control channel, where the second flow entry is used to indicate that the switch is to be
- the data packet matched by the second matching domain is sent to the controller B by the second control channel represented by the identifier of the second control channel.
- the first flow entry further includes an identifier of the third control channel, where the first flow entry is further used to indicate that the switch passes a data packet that matches the first matching domain through the third control channel.
- the third control channel represented by the identifier is sent to the controller C; the identifier of the third control channel is different from the identifier of the first control channel and the identifier of the second control channel.
- the controller A delivers the first flow entry to the switch, and the controller B sends the second flow entry to the switch.
- the switch receives the first data packet.
- the switch confirms that the first data packet matches the first matching domain, and the switch passes the first data packet by using the first control channel represented by the identifier of the first control channel.
- the switch sends the first data packet to the controller C through the third control channel represented by the identifier of the third control channel.
- the switch receives the second data packet.
- the switch confirms that the second data packet matches the second matching domain, and the switch passes the second data packet to the second control channel represented by the identifier of the second control channel. Sent to the controller B.
- the switch forwards the data packet of the new flow according to the received decision flow table.
- the controller cooperates with the switch, and the controller sends the classification rule of the new flow in the form of a flow entry, and converts the centralized processing of the centralized new flow previously implemented by the controller into a distribution on the switch. Implementation, can effectively share the processing pressure of the controller, and realize the overall network Improve the efficiency of the flow.
- the SDN network system 20 includes a processor 51, a receiver 52, a transmitter 53, a random access memory 54, a read only memory 55, a bus 56, and a network interface. Unit 57.
- the processor 51 is coupled to the receiver 52, the transmitter 53, the random access memory 54, the read only memory 55, and the network interface unit 57 via the bus 56.
- the basic input/output system in the read-only memory 55 or the bootloader booting system in the embedded system is started to boot, and the SDN network system is booted into a normal running state.
- the application and operating system are run in the random access memory 54, receiving data from the network or transmitting data to the network, such that:
- a receiver 52 configured to receive a data packet
- the processor 51 is configured to instruct the switch to report the data packet to the corresponding controller according to the classification rule; the controller generates a decision flow table and sends the data to the switch.
- the transmitter 53 is configured to forward the new flow according to the decision flow table.
- the processor 51 may be a central processing unit CPU, or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
- CPU central processing unit
- ASIC application specific integrated circuit
- the disclosed system, apparatus, and method may be implemented in other manners.
- the device implementations described above are merely illustrative.
- the division of the modules or units is only a logical function division.
- there may be another division manner for example, multiple units or components may be used. Combinations can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or software. The implementation of the energy unit.
- the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
- a computer readable storage medium A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present application.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种软件定义网络中控制设备执行的方法,包括:控制设备与交换设备建立控制通道;所述控制设备获取所述控制通道的标识;所述控制设备生成流表项,所述流表项包括匹配域和所述控制通道的标识;所述控制设备发送所述流表项给所述交换设备,所述流表项用于指示所述交换设备将与所述匹配域匹配的数据包通过所述控制通道的标识代表的所述控制通道发送给所述控制设备。从而实现在交换设备侧完成新流的分类。
Description
本申请要求于2014年8月6日提交中国专利局、申请号为PCT/CN2014/083804、发明名称为“一种软件定义网络中消息处理的方法、装置及系统”的专利申请的优先权,其全部内容通过引用结合在本申请中。
本发明实施例涉及通信业务领域,具体涉及一种软件定义网络中处理数据包的方法、装置及系统。
软件定义网络(Software Defined Network,SDN)实现了数据控制层与转发层的分离,控制设备负责控制层的控制功能,交换设备负责数据层的转发功能。交换设备可以同时连接多个控制设备,控制设备与交换设备之间通常有两种工作模式:等价(Equal)模式和主从(Master/Slave)模式。
在等价模式下,多个处于同等地位的控制设备对同一个交换设备来说具有相同的控制权限,控制设备之间可以相互独立。控制设备A可以向交换设备下发流表项,控制设备B也可以向交换设备下发流表项。
交换设备接收到数据包,在流表中查找包含与该数据包匹配的匹配域的流表项,如果找到的流表项指示交换设备向控制设备发送该数据包,那么在等价模式下,交换设备需要将该数据包发送给控制设备A和控制设备B。
现有技术中,控制设备A和控制设备B接收到该数据包后有两种处理方案。方案一,控制设备A和控制设备B分别生成流表项,并且并下发给交换设备。方案二,控制设备A和控制设备B进行协商,确定由该两个控制设备中的某一个控制设备处理数据包并下发流表项。
无论采用上述哪种处理方案,都会造成控制设备资源的浪费和控制通道带宽的冗余消耗,可能导致控制设备成为网络的瓶颈。
发明内容
本发明实施例的目的是提供一种软件定义网络SDN中数据包的处理方法、装置及系统,能够实现在转发层对新流进行分类,减轻控制器的处理压力,提升网络的整体性能。
第一方面,提供一种软件定义网络SDN中交换设备处理数据包的方法,
包括:
所述交换设备与第一控制设备建立第一控制通道,所述交换设备与第二控制设备建立第二控制通道;
所述交换设备接收第一流表项和第二流表项,所述第一流表项包括第一匹配域和第一控制通道的标识,所述第一流表项用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第一控制通道的标识代表的所述第一控制通道发送给所述第一控制设备;所述第二流表项包括第二匹配域和第二控制通道的标识,所述第二流表项用于指示所述交换设备将与所述第二匹配域匹配的数据包通过第二控制通道的标识所代表的所述第二控制通道发送给所述第二控制设备;其中所述第一控制通道的标识和所述第二控制通道的标识不相同,所述第一匹配域和所述第二匹配域不相同;
所述交换设备接收第一数据包;
所述交换设备确认所述第一数据包与所述第一匹配域匹配,则所述交换设备将所述第一数据包通过所述第一控制通道的标识所代表的所述第一控制通道发送给所述第一控制设备;
所述交换设备接收第二数据包;
所述交换设备确认所述第二数据包与所述第二匹配域匹配,则所述交换设备将所述第二数据包通过所述第二控制通道的标识所代表的所述第二控制通道发送给所述第二控制设备。
结合第一方面,在第一方面的第一种可能的实现方式中,所述交换设备接收第一流表项和第二流表项的步骤之前,进一步包括:
所述交换设备接收所述第一控制设备发送的请求消息,所述请求消息用于查询所述第一控制通道的标识;
所述交换设备响应所述第一控制设备发送的请求消息,将所述第一控制通道的标识发送给所述第一控制设备;
所述交换设备接收所述第二控制设备发送的请求消息,所述第二控制设备发送的请求消息用于查询所述第二控制通道的标识;
所述交换设备响应所述第二控制设备发送的请求消息,将所述第二控制通道的标识发送给所述第二控制设备。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述交换设备通过所述第一控制通道接收所述第一控制设备发送
的请求消息;
所述交换设备将所述第一控制通道的标识通过所述第一控制控制通道发送给所述第一控制设备;
所述交换设备通过所述第二控制通道接收所述第二控制设备发送的请求消息;
所述交换设备将所述第二控制通道的标识通过所述第二控制控制通道发送给所述第二控制设备。
结合第一方面以及第一方面的第一种至第二种可能的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一流表项和所述第二流表项的优先级是所述交换设备所保存的流表中流表项的优先级最低的。
结合第一方面以及第一方面的第一种至第三种可能的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,
所述交换设备与第三控制设备建立第三控制通道;
所述第一流表项还包括所述第三控制通道的标识,所述第一流表项还用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第三控制通道的标识代表的所述第三控制通道发送给所述第三控制设备;所述第三控制通道的标识与所述第一控制通道的标识、第二控制通道的标识都是不同的。
结合第一方面以及第一方面的第一种至第四种可能的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,
所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的逻辑端口号;或者,
所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的物理端口号;或者,
所述第一控制通道的标识是所述交换设备与所述第一控制设备之间的网络连接的标识,并且,所述第二控制通道的标识是所述交换设备与所述第二控制设备之间的网络连接的标识。
第二方面,提供一种软件定义网络中的交换设备,其特征在于,包括:
协议处理单元,用于与第一控制设备建立第一控制通道,以及与第二控制设备建立第二控制通道;
接收单元,用于接收第一流表项和第二流表项,所述第一流表项包括第
一匹配域和第一控制通道的标识,所述第一流表项用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第一控制通道的标识代表的所述第一控制通道发送给所述第一控制设备;所述第二流表项包括第二匹配域和第二控制通道的标识,所述第二流表项用于指示所述交换设备将与所述第二匹配域匹配的数据包通过第二控制通道的标识所代表的所述第二控制通道发送给所述第二控制设备;其中所述第一控制通道的标识和所述第二控制通道的标识不相同,所述第一匹配域和所述第二匹配域不相同;
存储单元,用于存储所述第一流表项和所述第二流表项;
所述接收单元还用于接收第一数据包和第二数据包;
数据包处理单元,用于确认所述第一数据包与所述第一匹配域匹配,以及确认所述第二数据包与所述第二匹配域匹配;
发送单元,用于通过所述第一控制通道的标识所代表的第一控制通道发送所述第一数据包到所述第一控制设备;以及通过所述第二控制通道的标识所代表的第二控制通道发送所述第二数据包到所述第二控制设备。
结合第二方面,在第二方面的第一种可能的实现方式中,所述接收单元,还用于接收所述第一控制设备发送的请求消息,所述请求消息用于查询所述第一控制通道的标识;以及接收所述第二控制设备发送的请求消息,所述第二控制设备发送的请求消息用于查询所述第二控制通道的标识;
所述发送单元,还用于响应所述第一控制设备发送的请求消息,将所述第一控制通道的标识发送给所述第一控制设备;以及响应所述第二控制设备发送的请求消息,将所述第二控制通道的标识发送给所述第二控制设备。
结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一流表项和所述第二流表项的优先级是所述交换设备所保存的流表中流表项的优先级最低的。
结合第二方面以及第二方面的第一种至第二种可能的任一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述协议处理单元,还用于与第三控制设备建立第三控制通道;
所述第一流表项还包括所述第三控制通道的标识,所述第一流表项还用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第三控制通道的标识代表的所述第三控制通道发送给所述第三控制设备;所述第三控制通道的标识与所述第一控制通道的标识、第二控制通道的标识都是不同
的。
结合第二方面以及第二方面的第一种至第三种可能的任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的逻辑端口号;或者,
所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的物理端口号;或者,
所述第一控制通道的标识是所述交换设备与所述第一控制设备之间的网络连接的标识,并且,所述第二控制通道的标识是所述交换设备与所述第二控制设备之间的网络连接的标识。
第三方面,提供一种软件定义网络中控制设备执行的方法,包括:
控制设备与交换设备建立控制通道;
所述控制设备获取所述控制通道的标识;
所述控制设备生成流表项,所述流表项包括匹配域和所述控制通道的标识;
所述控制设备发送所述流表项给所述交换设备,所述流表项用于指示所述交换设备将与所述匹配域匹配的数据包通过所述控制通道的标识代表的所述控制通道发送给所述控制设备。
结合第三方面,在第三方面的第一种可能的实现方式中,所述控制设备获取所述控制通道的标识,包括:
所述控制设备向所述交换设备发送请求消息,所述请求消息用于查询所述控制通道的标识;
所述控制设备接收所述交换设备发送的响应消息,所述响应消息携带所述控制通道的标识。
结合第三方面,在第三方面的第二种可能的实现方式中,所述控制设备通过所述控制通道发送所述请求消息到所述交换设备。
结合第三方面以及第三方面的第一种至第二种可能的任一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述流表项的优先级是所述交换设备所保存的流表中流表项的优先级最低的。
结合第三方面以及第三方面的第一种至第三种可能的任一种可能的实现方式,在第三方面的第四种可能的实现方式中,
所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设
备的逻辑端口号;或者,
所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的物理端口号;或者,
所述第一控制通道的标识是所述交换设备与所述第一控制设备之间的网络连接的标识,并且,所述第二控制通道的标识是所述交换设备与所述第二控制设备之间的网络连接的标识。
第四方面,提供一种软件定义网络中的控制设备,其特征在于,包括:
协议处理单元,用于与交换设备建立控制通道;
管理单元,用于获取所述控制通道的标识;
流表项生成单元,用于生成流表项,所述流表项包括匹配域和所述控制通道的标识;
发送单元,用于发送所述流表项给所述交换设备,所述流表项用于指示所述交换设备将与所述匹配域匹配的数据包通过所述控制通道的标识代表的所述控制通道发送给所述控制设备。
结合第四方面,在第四方面的第一种可能的实现方式中,所述发送单元还用于发送请求消息到所述交换设备,所述请求消息用于查询所述控制通道的标识;
所述管理单元具体用于接收所述交换设备发送的响应消息,所述响应消息携带所述控制通道的标识。
第五方面,提供软件定义网络系统,其特征在于,包括第一控制设备、第二控制设备和交换设备,
所述第一控制设备,被配置用于与所述交换设备建立第一控制通道;
所述第二控制设备,被配置用于与所述交换设备建立第二控制通道;
所述交换设备,被配置用于接收第一流表项和第二流表项,所述第一流表项包括第一匹配域和所述第一控制通道的标识,所述第一流表项用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第一控制通道的标识代表的所述第一控制通道发送给所述第一控制设备;所述第二流表项包括第二匹配域和所述第二控制通道的标识,所述第二流表项用于指示所述交换设备将与所述第二匹配域匹配的数据包通过第二控制通道的标识所代表的所述第二控制通道发送给所述第二控制设备,所述第一控制通道的标识和所述第二控制通道的标识不相同,所述第一匹配域和所述第二匹配域不相
同;
所述交换设备,还被配置用于存储所述第一流表项和所述第二流表项,接收第一数据包,确认所述第一数据包与所述第一匹配域匹配,将所述第一数据包通过所述第一控制通道的标识所代表的所述第一控制通道发送给所述第一控制设备,接收第二数据包,确认所述第二数据包与所述第二匹配域匹配,将所述第二数据包通过所述第二控制通道的标识所代表的所述第二控制通道发送给所述第二控制设备。
结合第五方面,在第五方面的第一种可能的实现方式中,所述第一控制设备,还被配置用于获得所述第一控制通道的标识,生成所述第一流表项,向所述交换设备发送所述第一流表项;
所述第二控制设备,还被配置用于获得所述第二控制通道的标识,生成所述第二流表项,向所述交换设备发送所述第二流表项。
结合第五方面或者第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,还包括:第三控制设备,与所述交换设备建立第三控制通道;
所述第一流表项还包括所述第三控制通道的标识,所述第一流表项还用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第三控制通道的标识代表的第三控制通道发送给所述第三控制设备;所述第三控制通道的标识与所述第一控制通道的标识、第二控制通道的标识都是不同的。
本发明实施例的有益效果是:通过控制设备与交换设备配合,控制设备以流表的形式下发新流的分类规则给交换设备,将以前由控制设备实现的集中式新流的分类处理工作转化为在交换设备上分布式实现,交换设备可有效分担控制设备的处理压力,实现网络整体处理效能的提升。
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的SDN网络系统的架构示意图;
图2是本发明实施例的控制器的组成示意图;
图3是本发明实施例的交换机的组成示意图;
图4是本发明实施例的方法流程图;
图5是本发明的又一实施例的方法流程图;
图6是本发明的又一实施例的示意图。
如图1所示,本发明实施例的软件定义网络(Software Defined Network,SDN)系统包括:交换机、控制器A及控制器B,还可以进一步包括控制器C。交换机通过开放流Openflow控制通道分别与控制器A、控制器B以及控制器C相连。
控制器A和控制器B的结构类似,现以控制器A为例,对控制器的结构进行说明。请参照图2,控制器A包括协议处理单元、管理单元、流表项生成单元以及发送单元。协议处理单元用于与交换机建立控制通道。管理单元用于获取所述控制通道的标识。流表项生成单元用于生成流表项,所述流表项包括匹配域和所述控制通道的标识。发送单元用于发送所述流表项给所述交换机,所述流表项用于指示所述交换机将与所述匹配域匹配的数据包通过所述控制通道的标识代表的所述控制通道发送给所述控制器。发送单元还用于发送请求消息到所述交换机,所述请求消息用于查询所述控制通道的标识。所述管理单元具体用于接收所述交换机发送的响应消息,所述响应消息携带所述控制通道的标识。
分类流表包括若干条流表项,流表项体现新流的分类规则,以便交换机根据新流的分类规则完成新流的分类,该新流是指不能匹配交换机上已经存在的用于转发的正常的流表项的待转发流量。具体的分类规则可以如表一所示:
表一 注:*代表的是通配,即无要求。
该分类规则可以是在网络规划的阶段就定义好的。依据控制器的性能、控制器与交换机的距离等因素制定出来的,分类规则包含了用于流分类的一些特征,而这些特征具体表现为与流对应的匹配域和该匹配域对应的匹配值,所以包含这些匹配域的流表项就构成了分类流表项。
如表一所示,可选取ETH_Type(以太网包类型)、ETH_DST(目的MAC地址)、IP_PROTO(IP类型)、IP_SRC(源IP地址)、IP_DST(目的IP地址)、TCP_DST(目的TCP端口号)、UDP_DST(目的UDP端口号)几个匹配域,或本领域的技术人员所能够使用的其它匹配域,在此没有一一列举。
以IPv4数据包的二层转发和三层转发为例,控制器根据表一的新流的分类规则,生成新流的分类流表项(以Openflow1.0为例)。分类流表项可以如表二所示:
表二
如图3所示,本发明实施例的交换机包括:协议处理单元、接收单元、
存储单元、数据包处理单元以及发送单元。协议处理单元用于与控制器A建立第一控制通道,以及与控制器B建立第二控制通道。接收单元用于接收第一流表项和第二流表项,还用于接收所述控制器A发送的请求消息,所述请求消息用于查询所述第一控制通道的标识;以及接收所述控制器B发送的请求消息,所述控制器B发送的请求消息用于查询所述第二控制通道的标识。存储单元用于存储所述第一流表项和所述第二流表项。数据包处理单元用于确认所述第一数据包与所述第一匹配域匹配,以及确认所述第二数据包与所述第二匹配域匹配。发送单元用于通过所述第一控制通道的标识所代表的第一控制通道发送所述第一数据包到所述控制器A;以及通过所述第二控制通道的标识所代表的第二控制通道发送所述第二数据包到所述控制器B。发送单元,还用于响应所述控制器A发送的请求消息,将所述第一控制通道的标识发送给所述控制器A;以及响应所述控制器B发送的请求消息,将所述第二控制通道的标识发送给所述控制器B。
所述的匹配具体是指将数据包中的特征信息与流表项中的匹配值匹配。
如图4所示,本发明其中一个实施例的SDN网络中处理数据包的方法具体包括以下步骤:
S102,配置控制器A和控制器B的功能角色。控制器A和控制器B的功能角色依据控制器的具体能力和/或系统需求的不同进行确定,不同功能角色的控制器向交换机下发的新流的分类流表不同,例如控制器A负责二层转发,控制器B负责三层转发;或者控制器A负责处理IPv4数据包转发、控制器B负责处理IPv6数据包转发等。
控制器功能角色的配置方法具体通过如下过程实现:(1)集中管理方式,即由独立集中的管理配置服务器完成各个控制器功能角色的分配。(2)人工配置方式,即人工手动配置各个控制器的功能角色。当然,本领域的普通技术人员还可以根据具体情况,采用集中管理方式和人工配置方式相结合的方法来进行,此不再赘述。
S103,交换机与控制器A建立第一控制通道,所述交换机与控制器B建立第二控制通道,并为该第一控制通道和第二控制通道分别分配逻辑端口号,作为所述第一控制通道的标识和第二控制通道的标识。逻辑端口号在交换机侧是局部唯一的,一个逻辑端口号就代表了本交换机与一个控制器建立的控制通道,或者说一个逻辑端口号在交换机侧就代表了对应的一个控制
器。另外,局部的意思是指在交换机侧端口号是唯一的,但是从控制器侧来看,有可能不同的交换机分配给本控制器的端口号是相同的(不唯一)。
S104,控制器A和控制器B查询各自在交换机侧对应的第一控制通道的标识和第二控制通道的标识。该步骤具体包括:
S104a,所述交换机通过所述第一控制通道接收所述控制器A发送的请求消息,所述请求消息用于查询所述第一控制通道的标识;
S104b,所述交换机响应所述控制器A发送的请求消息,通过所述第一控制控制通道将所述第一控制通道的标识发送给所述控制器A;
S104c,所述交换机通过所述第二控制通道接收所述控制器B发送的请求消息,所述控制器B发送的请求消息用于查询所述第二控制通道的标识;
S104d,所述交换机响应所述控制器B发送的请求消息,通过所述第二控制控制通道将所述第二控制通道的标识发送给所述控制器B。
在本实施例中,该第一控制通道的标识和第二控制通道的标识为所述交换机的逻辑端口号。当然,所述第一控制通道的标识和所述第二控制通道的标识也可以是所述交换机的物理端口号;或者,是所述交换机与所述控制器A及控制器B之间的网络连接的标识。
获取逻辑端口号的方式具体举例如下:现有的Openflow 1.0协议及Openflow 1.1以上版本协议,虽然都规定了逻辑端口OFPP_CONTROLLER,但是只定义了一个值,该值代表的是所有控制器与交换机的控制通道。本发明实施例为了使新流能够分别上报到不同的控制器,需要扩展协议,将控制器与交换机之间的每一个控制通道与一个唯一的逻辑端口号进行一一对应。例如可以采用从0x(ffff)ff01–0x(ffff)fff7区段内的任何ID号进行对应。
另外,还需要扩展一条Openflow协议,支持控制器通过控制通道查询对应于本控制通道的逻辑端口号。
控制器查询命令可如下构造:
交换机针对查询命令的响应可如下构造:
其中port_id即为本控制通道对应的逻辑端口号。
S105,所述控制器A生成第一流表项,所述控制器B生成第二流表项。所述第一流表项和第二流表项包括匹配域和所述控制通道的标识;第一流表项包括第一匹配域和第一控制通道的标识,所述第一流表项用于指示所述交换机将与所述第一匹配域匹配的数据包通过所述第一控制通道的标识代表的所述第一控制通道发送给所述控制器A;所述第二流表项包括第二匹配域和第二控制通道的标识,所述第二流表项用于指示所述交换机将与所述第二匹配域匹配的数据包通过第二控制通道的标识所代表的所述第二控制通道发送给所述控制器B;其中所述第一控制通道的标识和所述第二控制通道的标识不相同,所述第一匹配域和所述第二匹配域不相同。
S106,控制器A向交换机下发所述第一流表项,控制器B向所述交换机下发所述第二流表项。
或者,控制器C向交换机下发所述第一流表项和所述第二流表项。具体为,控制器C通过与所述控制器A交互,获取第一控制通道的标识,并生成所述第一流表项;控制器C通过与所述控制器B交互,获取第二控制通道的标识并生成所述第二流表项,控制器C向交换机下发所述第一流表项和所述第二流表项。
或者,控制器C向交换机下发所述第一流表项和所述第二流表项。具体为,控制器C通过第三控制通道与所述交换机交互,获取一控制通道的标识和第二控制通道的标识并生成所述第一流表项和所述第二流表项,然后控制器C向交换机下发所述第一流表项和所述第二流表项。
所述第一流表项和所述第二流表项可以具体如表二所示,其中流表项的优先级为“0”,表示优先级最低,也就是说,所述第一流表项和所述第二流表项的优先级是所述交换机所保存的流表中流表项的优先级最低的,只有最后才有可能匹配到所述第一流表项和所述第二流表项,因而不会影响正常的其他更高优先级流表项的匹配,起到新流分类的目的。
S108,所述交换机接收第一数据包。
S109,所述交换机确认所述第一数据包与所述第一匹配域匹配,则所述交换机将所述第一数据包通过所述第一控制通道的标识所代表的所述第一控制通道发送给所述控制器A。
其中,步骤S109中,交换机确认所述第一数据包与所述第一匹配域匹配,由于第二匹配域与第一匹配域不同,通常,第一数据包与第二匹配域是不匹配的,因此所述交换机不会将所述第一数据包通过所述第二控制通道标识所代表的第二控制通道发送给所述控制器B。
S110,所述交换机接收第二数据包。
S111,所述交换机确认所述第二数据包与所述第二匹配域匹配,则所述交换机将所述第二数据包通过所述第二控制通道的标识所代表的所述第二控制通道发送给所述控制器B。
基于相同的原因,所述交换机不会将第二数据包发送给所述控制器A。
S112,控制器A针对第一数据包生成并发送第一转发流表项(即第一决策流表项)到交换机,控制器B针对第二数据包生成并发送第二转发流表项(即第二决策流表项)到所述交换机。
S114,交换机根据接收的所述第一决策流表项和所述第二决策流表项转发新流的数据包。
本发明的又一个实施例的SDN网络中数据包处理的方法,如图5所示,具体包括以下步骤:
S202,配置控制器A、控制器B以及控制器C的功能角色。控制器A和控制器B及控制器C的功能角色依据控制器的具体能力和/或系统需求的不同进行确定,不同功能角色的控制器向交换机下发的新流的分类流表不同,例如控制器A负责二层转发,控制器B负责三层转发;或者控制器A负责处理IPv4数据包转发、控制器B负责处理IPv6数据包转发等。
控制器功能角色的配置方法具体通过如下过程实现:(1)集中管理方式,即由独立集中的管理配置服务器完成各个控制器功能角色的分配。(2)人工配置方式,即人工手动配置各个控制器的功能角色。当然,本领域的普通技术人员还可以根据具体情况,采用集中管理方式和人工配置方式相结合的方法来进行,此不再赘述。
S203,交换机与控制器A建立第一控制通道,所述交换机与控制器B建立第二控制通道,所述交换机与控制器C建立第三控制通道。
S204,控制器A、控制器B以及控制器C查询各自在交换机侧对应的控制通道的标识。
S205,所述控制器A生成第一流表项,所述控制器B生成第二流表项,所述第一流表项和第二流表项包括匹配域和所述控制通道的标识;第一流表项包括第一匹配域和第一控制通道的标识及,所述第一流表项用于指示所述交换机将与所述第一匹配域匹配的数据包通过所述第一控制通道的标识代表的所述第一控制通道发送给所述控制器A;所述第二流表项包括第二匹配域和第二控制通道的标识,所述第二流表项用于指示所述交换机将与所述第二匹配域匹配的数据包通过第二控制通道的标识所代表的所述第二控制通道发送给所述控制器B。
所述第一流表项还包括所述第三控制通道的标识,所述第一流表项还用于指示所述交换机将与所述第一匹配域匹配的数据包通过所述第三控制通道的标识代表的所述第三控制通道发送给所述控制器C;所述第三控制通道的标识与所述第一控制通道的标识、第二控制通道的标识都是不同的。
S206,控制器A向交换机下发所述第一流表项,控制器B向所述交换机下发所述第二流表项。
S208,所述交换机接收第一数据包。
S209,所述交换机确认所述第一数据包与所述第一匹配域匹配,则所述交换机将所述第一数据包通过所述第一控制通道的标识所代表的所述第一控制通道发送给所述控制器A,同时所述交换机将所述第一数据包通过所述第三控制通道的标识所代表的所述第三控制通道发送给所述控制器C。
S210,所述交换机接收第二数据包。
S211,所述交换机确认所述第二数据包与所述第二匹配域匹配,则所述交换机将所述第二数据包通过所述第二控制通道的标识所代表的所述第二控制通道发送给所述控制器B。
S212,控制器A、控制器B及控制器C处理新流的数据包并下发处理结果(决策流表项)至所述交换机。
S214,所述交换机根据接收的决策流表转发新流的数据包。
本发明的实施例通过控制器与交换机配合,控制器以流表项的形式下发新流的分类规则,将以前由控制器实现的集中式新流的分类处理工作,转化为在交换机上分布式实现,可有效分担控制器的处理压力,实现网络整体处
理流效能的提升。
请参阅图6,为本发明的又一个实施方式的结构示意图,SDN网络系统20包括处理器51、接收器52、发送器53、随机存取存储器54、只读存储器55、总线56以及网络接口单元57。其中,处理器51通过总线56分别耦接接收器52、发送器53、随机存取存储器54、只读存储器55以及网络接口单元57。其中,当需要运行SDN网络中数据包处理系统时,通过固化在只读存储器55中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导SDN网络系统进入正常运行状态。在SDN网络系统进入正常运行状态后,在随机存取存储器54中运行应用程序和操作系统,从网络接收数据或者向网络发送数据,使得:
接收器52,用于接收数据包;
处理器51,用于指令交换机根据分类规则将所述数据包上报给相应的控制器;该控制器生成决策流表并下发给所述交换机。
发送器53,用于根据决策流表转发新流。
本实施方式中,处理器51可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施方式的一个或多个集成电路。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功
能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (21)
- 一种软件定义网络SDN中交换设备处理数据包的方法,包括:所述交换设备与第一控制设备建立第一控制通道,所述交换设备与第二控制设备建立第二控制通道;所述交换设备接收第一流表项和第二流表项,所述第一流表项包括第一匹配域和第一控制通道的标识,所述第一流表项用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第一控制通道的标识代表的所述第一控制通道发送给所述第一控制设备;所述第二流表项包括第二匹配域和第二控制通道的标识,所述第二流表项用于指示所述交换设备将与所述第二匹配域匹配的数据包通过第二控制通道的标识所代表的所述第二控制通道发送给所述第二控制设备;其中所述第一控制通道的标识和所述第二控制通道的标识不相同,所述第一匹配域和所述第二匹配域不相同;所述交换设备接收第一数据包;所述交换设备确认所述第一数据包与所述第一匹配域匹配,则所述交换设备将所述第一数据包通过所述第一控制通道的标识所代表的所述第一控制通道发送给所述第一控制设备;所述交换设备接收第二数据包;所述交换设备确认所述第二数据包与所述第二匹配域匹配,则所述交换设备将所述第二数据包通过所述第二控制通道的标识所代表的所述第二控制通道发送给所述第二控制设备。
- 根据权利要求1所述的方法,其特征在于:所述交换设备接收第一流表项和第二流表项的步骤之前,进一步包括:所述交换设备接收所述第一控制设备发送的请求消息,所述请求消息用于查询所述第一控制通道的标识;所述交换设备响应所述第一控制设备发送的请求消息,将所述第一控制通道的标识发送给所述第一控制设备;所述交换设备接收所述第二控制设备发送的请求消息,所述第二控制设备发送的请求消息用于查询所述第二控制通道的标识;所述交换设备响应所述第二控制设备发送的请求消息,将所述第二控制通道的标识发送给所述第二控制设备。
- 根据权利要求2所述的方法,其特征在于:所述交换设备通过所述第一控制通道接收所述第一控制设备发送的请求消息;所述交换设备将所述第一控制通道的标识通过所述第一控制控制通道发送给所述第一控制设备;所述交换设备通过所述第二控制通道接收所述第二控制设备发送的请求消息;所述交换设备将所述第二控制通道的标识通过所述第二控制控制通道发送给所述第二控制设备。
- 根据权利要求1至3任意一项所述的方法,其特征在于:所述第一流表项和所述第二流表项的优先级是所述交换设备所保存的流表中流表项的优先级最低的。
- 根据权利要求1至4任意一项所述的方法,其特征在于:所述交换设备与第三控制设备建立第三控制通道;所述第一流表项还包括所述第三控制通道的标识,所述第一流表项还用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第三控制通道的标识代表的所述第三控制通道发送给所述第三控制设备;所述第三控制通道的标识与所述第一控制通道的标识、第二控制通道的标识都是不同的。
- 根据权利要求1至5任意一项所述的方法,其特征在于:所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的逻辑端口号;或者,所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的物理端口号;或者,所述第一控制通道的标识是所述交换设备与所述第一控制设备之间的网络连接的标识,并且,所述第二控制通道的标识是所述交换设备与所述第二控制设备之间的网络连接的标识。
- 一种软件定义网络中的交换设备,其特征在于,包括:协议处理单元,用于与第一控制设备建立第一控制通道,以及与第二控制设备建立第二控制通道;接收单元,用于接收第一流表项和第二流表项,所述第一流表项包括第一匹配域和第一控制通道的标识,所述第一流表项用于指示所述交换设备将 与所述第一匹配域匹配的数据包通过所述第一控制通道的标识代表的所述第一控制通道发送给所述第一控制设备;所述第二流表项包括第二匹配域和第二控制通道的标识,所述第二流表项用于指示所述交换设备将与所述第二匹配域匹配的数据包通过第二控制通道的标识所代表的所述第二控制通道发送给所述第二控制设备;其中所述第一控制通道的标识和所述第二控制通道的标识不相同,所述第一匹配域和所述第二匹配域不相同;存储单元,用于存储所述第一流表项和所述第二流表项;所述接收单元还用于接收第一数据包和第二数据包;数据包处理单元,用于确认所述第一数据包与所述第一匹配域匹配,以及确认所述第二数据包与所述第二匹配域匹配;发送单元,用于通过所述第一控制通道的标识所代表的第一控制通道发送所述第一数据包到所述第一控制设备;以及通过所述第二控制通道的标识所代表的第二控制通道发送所述第二数据包到所述第二控制设备。
- 根据权利要求7所述的软件定义网络中的交换设备,其特征在于,所述接收单元,还用于接收所述第一控制设备发送的请求消息,所述请求消息用于查询所述第一控制通道的标识;以及接收所述第二控制设备发送的请求消息,所述第二控制设备发送的请求消息用于查询所述第二控制通道的标识;所述发送单元,还用于响应所述第一控制设备发送的请求消息,将所述第一控制通道的标识发送给所述第一控制设备;以及响应所述第二控制设备发送的请求消息,将所述第二控制通道的标识发送给所述第二控制设备。
- 根据权利要求7或8所述的软件定义网络中的交换设备,其特征在于:所述第一流表项和所述第二流表项的优先级是所述交换设备所保存的流表中流表项的优先级最低的。
- 根据权利要求7至9任意一项所述的软件定义网络中的交换设备,其特征在于:所述协议处理单元,还用于与第三控制设备建立第三控制通道;所述第一流表项还包括所述第三控制通道的标识,所述第一流表项还用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第三控制通道的标识代表的所述第三控制通道发送给所述第三控制设备;所述第三控制通道的标识与所述第一控制通道的标识、第二控制通道的标识都是不同的。
- 根据权利要求7至10任意一项所述的软件定义网络中的交换设备,其特征在于:所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的逻辑端口号;或者,所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的物理端口号;或者,所述第一控制通道的标识是所述交换设备与所述第一控制设备之间的网络连接的标识,并且,所述第二控制通道的标识是所述交换设备与所述第二控制设备之间的网络连接的标识。
- 一种软件定义网络中控制设备执行的方法,包括:控制设备与交换设备建立控制通道;所述控制设备获取所述控制通道的标识;所述控制设备生成流表项,所述流表项包括匹配域和所述控制通道的标识;所述控制设备发送所述流表项给所述交换设备,所述流表项用于指示所述交换设备将与所述匹配域匹配的数据包通过所述控制通道的标识代表的所述控制通道发送给所述控制设备。
- 根据权利要求12所述的方法,其特征在于,所述控制设备获取所述控制通道的标识,包括:所述控制设备向所述交换设备发送请求消息,所述请求消息用于查询所述控制通道的标识;所述控制设备接收所述交换设备发送的响应消息,所述响应消息携带所述控制通道的标识。
- 根据权利要求13所述的方法,其特征在于,所述控制设备通过所述控制通道发送所述请求消息到所述交换设备。
- 根据权利要求12至14任意一项所述的方法,其特征在于:所述流表项的优先级是所述交换设备所保存的流表中流表项的优先级最低的。
- 根据权利要求12至15任意一项所述的方法,其特征在于:所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的逻辑端口号;或者,所述第一控制通道的标识和所述第二控制通道的标识都是所述交换设备的物理端口号;或者,所述第一控制通道的标识是所述交换设备与所述第一控制设备之间的网络连接的标识,并且,所述第二控制通道的标识是所述交换设备与所述第二控制设备之间的网络连接的标识。
- 一种软件定义网络中的控制设备,其特征在于,包括:协议处理单元,用于与交换设备建立控制通道;管理单元,用于获取所述控制通道的标识;流表项生成单元,用于生成流表项,所述流表项包括匹配域和所述控制通道的标识;发送单元,用于发送所述流表项给所述交换设备,所述流表项用于指示所述交换设备将与所述匹配域匹配的数据包通过所述控制通道的标识代表的所述控制通道发送给所述控制设备。
- 根据权利要求17所述的软件定义网络中的控制设备,其特征在于,所述发送单元还用于发送请求消息到所述交换设备,所述请求消息用于查询所述控制通道的标识;所述管理单元具体用于接收所述交换设备发送的响应消息,所述响应消息携带所述控制通道的标识。
- 一种软件定义网络系统,其特征在于,包括第一控制设备、第二控制设备和交换设备,所述第一控制设备,被配置用于与所述交换设备建立第一控制通道;所述第二控制设备,被配置用于与所述交换设备建立第二控制通道;所述交换设备,被配置用于接收第一流表项和第二流表项,所述第一流表项包括第一匹配域和所述第一控制通道的标识,所述第一流表项用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第一控制通道的标识代表的所述第一控制通道发送给所述第一控制设备;所述第二流表项包括第二匹配域和所述第二控制通道的标识,所述第二流表项用于指示所述交换设备将与所述第二匹配域匹配的数据包通过第二控制通道的标识所代表的所述第二控制通道发送给所述第二控制设备,所述第一控制通道的标识和所述第二控制通道的标识不相同,所述第一匹配域和所述第二匹配域不相同;所述交换设备,还被配置用于存储所述第一流表项和所述第二流表项,接收第一数据包,确认所述第一数据包与所述第一匹配域匹配,将所述第一数据包通过所述第一控制通道的标识所代表的所述第一控制通道发送给所述第一控制设备,接收第二数据包,确认所述第二数据包与所述第二匹配域匹配,将所述第二数据包通过所述第二控制通道的标识所代表的所述第二控制通道发送给所述第二控制设备。
- 根据权利要求19所述的软件定义网络系统,其特征在于,所述第一控制设备,还被配置用于获得所述第一控制通道的标识,生成所述第一流表项,向所述交换设备发送所述第一流表项;所述第二控制设备,还被配置用于获得所述第二控制通道的标识,生成所述第二流表项,向所述交换设备发送所述第二流表项。
- 根据权利要求19或20所述的软件定义网络系统,其特征在于,还包括:第三控制设备,与所述交换设备建立第三控制通道;所述第一流表项还包括所述第三控制通道的标识,所述第一流表项还用于指示所述交换设备将与所述第一匹配域匹配的数据包通过所述第三控制通道的标识代表的第三控制通道发送给所述第三控制设备;所述第三控制通道的标识与所述第一控制通道的标识、第二控制通道的标识都是不同的。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201480036767.8A CN105453497B (zh) | 2014-08-06 | 2014-12-17 | 一种软件定义网络sdn中处理数据包的方法、装置及系统 |
| EP14899203.5A EP3166265B1 (en) | 2014-08-06 | 2014-12-17 | Method, apparatus and system for processing data packet in software defined network (sdn) |
| US15/425,663 US10200289B2 (en) | 2014-08-06 | 2017-02-06 | Data packet processing method, apparatus, and system in software defined network SDN |
| US16/189,356 US10764195B2 (en) | 2014-08-06 | 2018-11-13 | Data packet processing method, apparatus, and system in software defined network SDN |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2014083804 | 2014-08-06 | ||
| CNPCT/CN2014/083804 | 2014-08-06 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/425,663 Continuation US10200289B2 (en) | 2014-08-06 | 2017-02-06 | Data packet processing method, apparatus, and system in software defined network SDN |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016019676A1 true WO2016019676A1 (zh) | 2016-02-11 |
Family
ID=55263084
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2014/094128 Ceased WO2016019676A1 (zh) | 2014-08-06 | 2014-12-17 | 一种软件定义网络sdn中处理数据包的方法、装置及系统 |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US10200289B2 (zh) |
| EP (1) | EP3166265B1 (zh) |
| WO (1) | WO2016019676A1 (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10454768B2 (en) | 2013-11-15 | 2019-10-22 | F5 Networks, Inc. | Extending policy rulesets with scripting |
| US20170149659A1 (en) * | 2015-11-23 | 2017-05-25 | Telefonaktiebolaget L M Ericsson (Publ) | Mechanism to improve control channel efficiency by distributing packet-ins in an openflow network |
| US10326700B1 (en) * | 2016-03-29 | 2019-06-18 | F5 Networks, Inc. | Hash based per subscriber DNS based traffic classification |
| JP7083275B2 (ja) * | 2018-05-18 | 2022-06-10 | アライドテレシスホールディングス株式会社 | 情報処理システム |
| CN112671713B (zh) * | 2020-11-30 | 2023-01-20 | 山东电力工程咨询院有限公司 | 一种sdn网络数据转发方法、sdn交换机、控制器及系统 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102349268A (zh) * | 2009-03-09 | 2012-02-08 | 日本电气株式会社 | OpenFlow通信系统和OpenFlow通信方法 |
| CN103166866A (zh) * | 2011-12-12 | 2013-06-19 | 华为技术有限公司 | 生成表项的方法、接收报文的方法及相应装置和系统 |
| CN103401784A (zh) * | 2013-07-31 | 2013-11-20 | 华为技术有限公司 | 一种接收报文的方法及开放流交换机 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012066830A1 (ja) * | 2010-11-18 | 2012-05-24 | 日本電気株式会社 | 閉路形成未然防止システム、及び閉路形成未然防止方法 |
| JP5874726B2 (ja) * | 2011-01-05 | 2016-03-02 | 日本電気株式会社 | 通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム |
| CN103430496A (zh) * | 2011-03-09 | 2013-12-04 | 日本电气株式会社 | 计算机系统、服务器、开放流控制器和通信方法 |
| US8521905B2 (en) | 2011-12-22 | 2013-08-27 | Telefonaktiebolaget L M Ericsson (Publ) | System for flexible and extensible flow processing in software-defined networks |
| EP2824877A4 (en) | 2012-03-05 | 2015-10-14 | Nec Corp | NETWORK SYSTEM, SWITCH AND NETWORK BUILDING PROCESS |
| EP2830265A4 (en) * | 2012-03-23 | 2015-10-21 | Nec Corp | CONTROL DEVICE, COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD AND PROGRAM |
| US20140040459A1 (en) | 2012-08-01 | 2014-02-06 | Hewlett-Packard Development Company, L.P. | System and method for data communication using a classified flow table in openflow networks |
| CN103718520B (zh) * | 2012-08-02 | 2017-07-21 | 华为技术有限公司 | 处理数据报文的方法、装置及系统 |
| CN104052685B (zh) | 2013-03-14 | 2018-10-26 | 清华大学 | 流表更新方法和流表更新装置 |
| CN104158747B (zh) | 2013-05-14 | 2019-09-24 | 中兴通讯股份有限公司 | 网络拓扑发现方法和系统 |
| CN103401794B (zh) | 2013-07-17 | 2016-12-28 | 国家电网公司 | 一种面向大规模应用的软件定义网络控制优化方法 |
| CN103428094B (zh) | 2013-08-12 | 2016-08-17 | 杭州华三通信技术有限公司 | 开放流OpenFlow系统中的报文转发方法及装置 |
| CN103491095B (zh) | 2013-09-25 | 2016-07-13 | 中国联合网络通信集团有限公司 | 流量清洗架构、装置及流量牵引、流量回注方法 |
| CN103607348A (zh) | 2013-11-27 | 2014-02-26 | 北京邮电大学 | 一种基于OpenFlow协议的虚拟网络流量分类方法 |
| CN103685033B (zh) | 2013-12-19 | 2017-01-04 | 武汉邮电科学研究院 | Sdn架构中支持分组交换和电路交换的通用流表及方法 |
| CN105379228B (zh) * | 2014-01-23 | 2019-03-19 | 华为技术有限公司 | 实现arp的方法、交换设备及控制设备 |
-
2014
- 2014-12-17 WO PCT/CN2014/094128 patent/WO2016019676A1/zh not_active Ceased
- 2014-12-17 EP EP14899203.5A patent/EP3166265B1/en active Active
-
2017
- 2017-02-06 US US15/425,663 patent/US10200289B2/en active Active
-
2018
- 2018-11-13 US US16/189,356 patent/US10764195B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102349268A (zh) * | 2009-03-09 | 2012-02-08 | 日本电气株式会社 | OpenFlow通信系统和OpenFlow通信方法 |
| CN103166866A (zh) * | 2011-12-12 | 2013-06-19 | 华为技术有限公司 | 生成表项的方法、接收报文的方法及相应装置和系统 |
| CN103401784A (zh) * | 2013-07-31 | 2013-11-20 | 华为技术有限公司 | 一种接收报文的方法及开放流交换机 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3166265B1 (en) | 2019-10-02 |
| EP3166265A4 (en) | 2017-08-16 |
| US10764195B2 (en) | 2020-09-01 |
| US10200289B2 (en) | 2019-02-05 |
| EP3166265A1 (en) | 2017-05-10 |
| US20190081901A1 (en) | 2019-03-14 |
| US20170149671A1 (en) | 2017-05-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9654395B2 (en) | SDN-based service chaining system | |
| US10237377B2 (en) | Packet rewriting apparatus, control apparatus, communication system, packet transmission method and program | |
| US9215175B2 (en) | Computer system including controller and plurality of switches and communication method in computer system | |
| US9515868B2 (en) | System and method for communication | |
| CA2968964C (en) | Source ip address transparency systems and methods | |
| US10237179B2 (en) | Systems and methods of inter data center out-bound traffic management | |
| US9900238B2 (en) | Overlay network-based original packet flow mapping apparatus and method therefor | |
| US20160301603A1 (en) | Integrated routing method based on software-defined network and system thereof | |
| US10742697B2 (en) | Packet forwarding apparatus for handling multicast packet | |
| WO2013185715A1 (zh) | 一种实现虚拟网络的方法和虚拟网络 | |
| WO2016004556A1 (zh) | 业务流的处理方法、装置及设备 | |
| CN104394080A (zh) | 实现安全组功能的方法及装置 | |
| JP2017526309A (ja) | 転送テーブル同期方法、ネットワークデバイスおよびシステム | |
| US10764195B2 (en) | Data packet processing method, apparatus, and system in software defined network SDN | |
| CN104796336A (zh) | 一种配置、下发流表项的方法及装置 | |
| WO2018068588A1 (zh) | 提供组播业务的方法和软件定义网络控制器 | |
| CN106664235A (zh) | 软件定义网络与传统网络的融合方法以及装置 | |
| CN115552850A (zh) | 网络结构中的定向广播 | |
| CN104852846A (zh) | 一种数据转发控制方法及系统 | |
| US20160277251A1 (en) | Communication system, virtual network management apparatus, communication node, communication method, and program | |
| CN106716870B (zh) | 卫星设备处的本地分组交换 | |
| CN107786448A (zh) | 建立业务流的转发路径的方法和装置 | |
| US10104018B2 (en) | Method, apparatus, and system for controlling forwarding of service data in virtual network | |
| CN106375355A (zh) | 负载均衡处理方法及装置 | |
| CN104113513A (zh) | 一种主机发现方法、装置及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 201480036767.8 Country of ref document: CN |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14899203 Country of ref document: EP Kind code of ref document: A1 |
|
| REEP | Request for entry into the european phase |
Ref document number: 2014899203 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2014899203 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |