Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberCN104052574 A
Publication typeApplication
Application numberCN 201410096177
Publication date17 Sep 2014
Filing date14 Mar 2014
Priority date15 Mar 2013
Also published asUS9590923, US9596192, US20140269731, US20150016276
Publication number201410096177.6, CN 104052574 A, CN 104052574A, CN 201410096177, CN-A-104052574, CN104052574 A, CN104052574A, CN201410096177, CN201410096177.6
InventorsC.M.德库萨迪斯, R.B.克里施纳莫西
Applicant国际商业机器公司
Export CitationBiBTeX, EndNote, RefMan
External Links: SIPO, Espacenet
Method and system for transmission of control data between a network controller and a switch
CN 104052574 A
Abstract
A method for transmission of control data between a network switch and a switch controller is provided. The method includes: configuring a plurality of control data packets by the switch controller, wherein configuring includes disposing a sequence number in each of the plurality of control data packets indicating an order of data packet transmission; storing the plurality of control data packets in a replay buffer in communication with the switch controller; transmitting the plurality of control data packets to the network switch over a secure link between the switch controller and the network switch; and responsive to determining that one or more control data packets were not received by the network switch, retrieving the one or more control data packets from the replay buffer and re-transmitting the one or more control data packets to the network switch.
Claims(17)  translated from Chinese
1. 一种用于在网络交换机和交换机控制器之间的控制数据的传输的方法,包括: 通过所述交换机控制器配置多个控制数据分组,其中配置包括在所述多个控制数据分组的每个中布置序列号,指示数据分组传输的顺序; 将所述多个控制数据分组存储在与所述交换机控制器通信的重放缓冲器中; 在所述交换机控制器和所述网络交换机之间的安全链路上,将所述多个控制数据分组传输到所述网络交换机;以及响应于确定一个或更多控制数据分组未被所述网络交换机接收,从所述重放缓冲器取回所述一个或更多控制数据分组,并且将所述一个或更多控制数据分组重新传输到所述网络交换机。 A transmission method for communication between network switches and switch controllers control data, comprising: a plurality of control packets configured through the switch controller, wherein the configuration included in the plurality of control data packets arranged in each sequence number, indicating the order of transmission of the data packet; said plurality of control data packets stored in the controller to communicate with the switch in the playback buffer; the switch controller and the network switch of a secure link between said plurality of control data packets transmitted to the network switch; and in response to determining that the one or more control data packets of the network switch has not been received, retrieved from the reproducing buffer the one or more control data packets, and the one or more control data packets retransmitted to the network switch.
2. 如权利要求1所述的方法,其中所述网络交换机是OpenFlow交换机,并且所述交换机控制器是OpenFlow交换机控制器。 2. The method according to claim, wherein said network switch is OpenFlow switch, and the switch controller is OpenFlow switch controller.
3. 如权利要求1所述的方法,其中配置所述多个控制数据分组包括将所述多个控制数据分组分组到传输组中,并且分配组标识符给每个控制数据分组。 The method according to claim, wherein said plurality of configuration packets comprising control data of the plurality of control data packets to the transmission packet group, and group identifier assigned to each control data packet.
4. 如权利要求3所述的方法,其中分组包括给所述传输组分配优先级。 4. The method according to claim 3, wherein said transmission packet comprises a group assigned to a priority level.
5. 如权利要求1所述的方法,其中确定包括从所述网络交换机接收指示所述一个或更多控制数据分组未被接收的应答,所述应答包括与所述一个或更多控制数据分组的每个相关联的至少一个序列号的标识。 5. The method of claim 1, wherein the determining comprises one or more control response data packet is not received from the receiving an indication of said network switch, the response includes the one or more control data packets each associated with at least one serial number identification.
6. 如权利要求5所述的方法,其中取回包括基于由所述网络交换机识别的所述至少一个序列号,选择所述重放缓冲器中存储的数据分组。 6. The method of claim 5, wherein the retrieving includes switches based on the network identified by the at least one serial number, select the reproduced data packet stored in the buffer.
7. 如权利要求1所述的方法,其中确定包括识别在选择的超时时段情况下还未被所述网络交换机确收的控制数据分组,并且取回包括从所述重放缓冲器选择未确收的控制数据分组。 7. The method of claim 1, wherein the control data comprises determining the identification at the selected time-out period has not been the case the acknowledgment packet network switch, comprising selecting and retrieving from the reproducing buffer Undetermined control data packets received.
8. 如权利要求1所述的方法,还包括: 在所述交换机控制器和所述网络交换机之间的安全链路上,由所述网络交换机从所述交换机控制器接收所述多个控制数据分组中的一个或更多,至少一个控制数据分组包括与具有数据分组传输的顺序的一组控制数据分组相关联的序列号; 检查一个或更多控制数据分组的每个的序列号,并且确定是否任何组的控制数据分组丢失;以及响应于确定任何组的控制数据分组丢失,发送应答到所述交换机控制器,指示与每个丢失的控制数据分组相关联的至少一个序列号。 8. The method of claim 1, further comprising: a secure link on the controller and the switch between the network switch, the network switch by the receiving control from said plurality of said switch controllers data packets one or more, at least one control packet includes a sequence number and sequence of the transmission of data packets having a set of control data packets associated; checking one or more control sequence number of each data packet, and determining whether any of the control groups of data packet loss; and in response to determining that the control data to any group of packet loss, sends a response to the switch controller, indicating loss associated with each of the at least one control data packet sequence number.
9. 如权利要求8所述的方法,还包括接收由所述交换机控制器重新传输的每个丢失的控制数据分组。 9. The method as recited in claim 8, further comprising receiving control data for each packet by the switch controller retransmissions lost.
10. -种用于在网络交换机和交换机控制器之间的控制数据的传输的系统,所述系统包括: 服务器; 包括通过网络中的链路耦合到所述服务器的端口的交换机;以及通过安全链路耦合到所述交换机的交换机控制器,所述交换机控制器包括配置为执行一种方法的控制逻辑,所述方法包括: 通过所述交换机控制器配置多个控制数据分组,其中配置包括在所述多个控制数据分组的每个中布置序列号,指示数据分组传输的顺序; 将所述多个控制数据分组存储在与所述交换机控制器通信的重放缓冲器中; 在所述交换机控制器和所述网络交换机之间的安全链路上,将所述多个控制数据分组传输到所述网络交换机;以及响应于确定一个或更多控制数据分组未被所述网络交换机接收,从所述重放缓冲器取回所述一个或更多控制数据分组,并且将所述一个或更多控制数据分组重新传输到所述网络交换机。 10. - kind of control data for communication between network switches and switch controller of the transmission system, said system comprising: a server; includes coupling via a network link to the server switch ports; and through security link switch coupled to said switch controller, the switch controller comprises control logic configured to execute a method, the method comprising: configuring a plurality of control data packets through the switch controller, wherein the configuration comprises disposed in each of said plurality of control sequence number of data packets, the data packets indicating the order of transmission; said plurality of control data packets stored in said controller to communicate with the switch in the playback buffer; in the switch the safety controller and the network link between the switches, said plurality of control data packets transmitted to the network switch; and in response to determining that the one or more control data packet is not the network switch receives from retrieving the reproducing buffer of the one or more control data packets, and the one or more control data packets retransmitted to the network switch.
11. 如权利要求10所述的系统,其中所述网络交换机是OpenFlow交换机,并且所述交换机控制器是OpenFlow交换机控制器。 11. The system of claim 10, wherein said network switch is OpenFlow switch, and the switch controller is OpenFlow switch controller.
12. 如权利要求10所述的系统,其中确定包括从所述网络交换机接收指示所述一个或更多控制数据分组未被接收的应答,所述应答包括与所述一个或更多控制数据分组的每个相关联的至少一个序列号的标识。 12. The system of claim 10, wherein the determining comprises one or more control response data packet is not received from the receiving an indication of said network switch, the response includes the one or more control data packets each associated with at least one serial number identification.
13. 如权利要求12所述的系统,其中取回包括基于所述至少一个序列号,选择所述重放缓冲器中存储的数据分组。 13. The system of claim 12, wherein said retrieving comprises at least one sequence number based on the selection of the reproduced data stored in the packet buffer.
14. 一种用于网络中控制数据的传输的装置,包括: 耦合到网络交换机的交换机控制器,所述交换机控制器包括配置为执行一种方法的控制逻辑,所述方法包括: 通过所述交换机控制器配置多个控制数据分组,其中配置包括在所述多个控制数据分组的每个中布置序列号,指示数据分组传输的顺序; 将所述多个控制数据分组存储在与所述交换机控制器通信的重放缓冲器中; 在所述交换机控制器和所述网络交换机之间的安全链路上,将所述多个控制数据分组传输到所述网络交换机;以及响应于确定一个或更多控制数据分组未被所述网络交换机接收,从所述重放缓冲器取回所述一个或更多控制数据分组,并且将所述一个或更多控制数据分组重新传输到所述网络交换机。 14. An apparatus for controlling data transmission network, comprising: a switch coupled to the network switch controller, the switch controller is configured to perform a method comprising control logic, the method comprising: the the switch controller is configured to control a plurality of data packets, wherein the configuration comprises a plurality of control data packets arranged in each sequence number, indicating the order of transmission of data packets; with the switch in the plurality of control data packets stored playback buffer controller communicating; on the secure link between the switch controller and the network switches between the plurality of control data packets transmitted to the network switch; and in response to determining that one or more control data packets of the network switch is not receiving, retrieving the one or more control data packets, and the one or more control data packets from the retransmission buffer to the playback switch network .
15. 如权利要求14所述的装置,其中确定包括从所述网络交换机接收指示所述一个或更多控制数据分组未被接收的应答,所述应答包括与所述一个或更多控制数据分组的每个相关联的至少一个序列号的标识。 15. The apparatus of claim 14, wherein the determining comprises one or more control response data packet is not received from the receiving an indication of said network switch, the response includes the one or more control data packets each associated with at least one serial number identification.
16. 如权利要求15所述的系统,其中取回包括基于由所述网络交换机识别的所述至少一个序列号,选择所述重放缓冲器中存储的数据分组。 16. The system of claim 15, wherein the retrieving includes switches based on the network by the identified at least one sequence number, selecting the reproduced data packet stored in the buffer.
17. 如权利要求14所述的装置,还包括: 网络交换机,所述网络交换机包括交换逻辑,配置为执行: 在所述交换机控制器和所述网络交换机之间的安全链路上,由所述网络交换机从所述交换机控制器接收所述多个控制数据分组中的一个或更多,至少一个控制数据分组包括与具有数据分组传输的顺序的一组控制数据分组相关联的序列号; 检查一个或更多控制数据分组的每个的序列号,并且确定是否任何组的控制数据分组丢失;以及响应于确定任何组的控制数据分组丢失,发送应答到所述交换机控制器,指示与每个丢失的控制数据分组相关联的至少一个序列号。 17. The apparatus of claim 14, further comprising: a network switch, a network switch includes switching logic configured to perform: On the security link between the switch controller and the network switch between by the said network switch receiving the plurality of control data packets from one or more of the switch controller, at least one control packet includes a sequence number and order of transmission of data packets having a set of control data associated with the packet; Check one or more control sequence number of each data packet, the data packet and determines whether any of the control group lost; and in response to determining that the control group for any loss of data packets, sends a response to the switch controller, and instruct each loss of control of data packets associated with at least one serial number.
Description  translated from Chinese
在网络控制器和交换机之间控制数据的传输的方法和系统 The method between the network controller and switches control the transmission of data and systems

技术领域 Technical Field

[0001] 本发明涉及计算机网络,并且更具体地涉及计算机网络中交换机和交换机控制器之间网络交换和寻址链路的控制。 [0001] The present invention relates to computer networks, and more particularly to control the switches in the network between the computer and switch controller network switching and addressing the link.

背景技术 Background

[0002] 在包括多个网络交换机的局域网(LAN)中典型地采用以太网网络。 [0002] Ethernet network typically includes a plurality of network switches in a local area network (LAN) medium. 已经开发多个通信协议,并且继续演化以提高对于各种环境的以太网网络性能。 Multiple communication protocols have been developed, and continue to evolve in order to improve the environment for a variety of Ethernet network performance. 例如,对于以太网的增强(所谓数据中心桥接(DCB)、融合增强型以太网(CEE)或数据中心以太网(DCE))支持LAN与存储区域网(SAN)的融合。 For example, for Ethernet enhancements (so-called Data Center Bridging (DCB), Converged Enhanced Ethernet (CEE) or Data Center Ethernet (DCE)) supports LAN and storage area network (SAN) integration. 可以与以太网结合在数据中心环境中使用的其他协议包括例如以太网光纤通道(FCoE)、互联网广域远程直接内存访问协议(iWARP)、聚合以太网远程直接内存访问(RoCE)。 Can be used with Ethernet in the data center environment using other protocols such as Fibre Channel over Ethernet include (FCoE), Internet WAN Remote Direct Memory Access Protocol (iWARP), converged Ethernet Remote Direct Memory Access (RoCE).

[0003] 在OpenFlow网络环境中,交换机经由安全链路连接到各个控制器,以便控制交换机配置和路由。 [0003] In the OpenFlow network environment, the switch is connected via a secure link to each controller to control the switch configuration and routing. 这样的控制器典型地经由在安全链路上发送的控制数据分组,提供这样的控制,这保持比传统以太网结构更高的数据完整性水平。 Such a controller typically via a control data packet transmitted on a secure link, to provide such a control, it kept higher than the conventional Ethernet data structure integrity level.

[0004] 比特错误由于丢失或受损的数据分组而出现,并且这样的误码率可能随着网络大小和复杂性的增加而提升。 [0004] The bit errors due to missing or damaged data packets appear, and this error rate is likely to increase as the network size and complexity and upgrade. 例如,更大的数据中心网络(例如,具有5000-10000的10G以太网,完全供应的)典型地要求更多交换机,这意味着每个分组需要穿过更多链路,因此使得每个分组更易受链路比特错误影响。 For example, larger data center network (e.g., the 10G Ethernet with 5000-10000, full supply) typically require more switches, which means that each packet needs to pass through the more links, so that each packet link bit errors affect more vulnerable. 此外,链路数据速率的增加可能增加依赖数据速率的噪声并且提升比特误码率。 In addition, increasing the link data rate may increase noise and enhance the data rate dependent bit error rate.

发明内容 DISCLOSURE

[0005] 根据一个实施例,提供一种用于在网络交换机和交换机控制器之间的控制数据的传输的方法。 [0005] According to one embodiment of the transmission, there is provided a method for controlling the data exchange between the network and the switch controller of the method. 所述方法包括:通过所述交换机控制器配置多个控制数据分组,其中配置包括在所述多个控制数据分组的每个中布置序列号,指示数据分组传输的顺序;将所述多个控制数据分组存储在与所述交换机控制器通信的重放缓冲器中;在所述交换机控制器和所述网络交换机之间的安全链路上,将所述多个控制数据分组传输到所述网络交换机;以及响应于确定一个或更多控制数据分组未被所述网络交换机接收,从所述重放缓冲器取回所述一个或更多控制数据分组,并且将所述一个或更多控制数据分组重新传输到所述网络交换机。 The method comprising: configuring a plurality of control data packets through the switch controller, wherein each configuration includes a plurality of arranged in the control data packet sequence number, indicating the order of transmission of the data packet; said plurality of control data packet stored in the switch controller in communication with the playback buffer; on the secure link between the switch controller and the network switches between the plurality of control data packets transmitted to the network and in response to determining that the one or more control data packets of the network switch has not been received from the reproducing buffer to retrieve the one or more control data packets, and the one or more control data; switch packet re-transmitted to the network switch.

[0006] 根据另一实施例,提供一种用于在网络交换机和交换机控制器之间的控制数据的传输的计算机程序产品。 [0006] According to another embodiment, there is provided a method for network switches and switch controllers between control data transmission of computer program products. 所述计算机程序产品包括由处理电路可读的有形存储介质,其存储用于由处理电路执行的指令,用于执行一种方法,所述方法包括:通过所述交换机控制器配置多个控制数据分组,其中配置包括在所述多个控制数据分组的每个中布置序列号,指示数据分组传输的顺序;将所述多个控制数据分组存储在与所述交换机控制器通信的重放缓冲器中;在所述交换机控制器和所述网络交换机之间的安全链路上,将所述多个控制数据分组传输到所述网络交换机;以及响应于确定一个或更多控制数据分组未被所述网络交换机接收,从所述重放缓冲器取回所述一个或更多控制数据分组,并且将所述一个或更多控制数据分组重新传输到所述网络交换机。 The computer program product includes a tangible storage medium readable by a processing circuit, storing instructions for execution by the processing circuit, for performing a method, the method comprising: configuring a plurality of control data through the switch controller packets, wherein each configuration includes a plurality of arranged in the control data packet sequence number, indicating the order of transmission of the data packet; said communication controller will switch and the plurality of reproducing control packet buffer memory ; and on the security link between the switch controller and the network switches between the plurality of control data packets transmitted to the network switch; and in response to determining that the one or more control data packet is not the said network switch receives, from the reproducing buffer to retrieve the one or more control data packets, and to control the one or more retransmission data packets to the network switch.

[0007] 根据又一实施例,提供一种用于在网络交换机和交换机控制器之间的控制数据的传输的计算机程序产品。 [0007] According to yet another embodiment, the transmission is provided for controlling data between the network switch and switch controller of the computer program product. 所述计算机程序产品包括由处理电路可读的有形存储介质,其存储用于由处理电路执行的指令,用于执行一种方法,所述方法包括:在所述交换机控制器和所述网络交换机之间的安全链路上,由所述网络交换机从所述交换机控制器接收一个或更多所述多个控制数据分组,至少一个控制数据分组包括与具有数据分组传输的顺序的一组控制数据分组相关联的序列号;检查一个或更多控制数据分组的每个的序列号,并且确定是否任何组的控制数据分组丢失;以及响应于确定任何组的控制数据分组丢失,发送应答到所述交换机控制器,指示与每个丢失的控制数据分组相关联的至少一个序列号。 The computer program product includes a tangible storage medium readable by a processing circuit, storing instructions for execution by the processing circuit, for performing a method, the method comprising: the switch controller and the network switch a secure link between the network switch receiving from the one or more of said plurality of control data packets from the switch controller, at least one control data packet comprises a data packet transmission sequence having a set of control data sequence number associated with the packet; checking one or more control sequence number of each data packet, the data packet and determines whether any of the control group lost; and in response to determining that the control group for any loss of data packets, sends a response to the switch controller, and instruct each of the missing data packet associated control at least one serial number.

[0008] 根据再一实施例,提供一种用于在网络交换机和交换机控制器之间的控制数据的传输的系统。 [0008] A further embodiment of the transmission, there is provided a method for controlling the data exchange between the network and the switch controller according to the system. 所述系统包括:服务器;包括通过网络中的链路耦合到所述服务器的端口的交换机;以及通过安全链路耦合到所述交换机的交换机控制器。 The system comprising: a server; includes coupling via a network link to a port of the switch of the server; and a switch coupled to the switch controller via the secure link. 所述交换机控制器包括配置为执行一种方法的控制逻辑,所述方法包括:通过所述交换机控制器配置多个控制数据分组,其中配置包括在所述多个控制数据分组的每个中布置序列号,指示数据分组传输的顺序;将所述多个控制数据分组存储在与所述交换机控制器通信的重放缓冲器中;在所述交换机控制器和所述网络交换机之间的安全链路上,将所述多个控制数据分组传输到所述网络交换机;以及响应于确定一个或更多控制数据分组未被所述网络交换机接收,从所述重放缓冲器取回所述一个或更多控制数据分组,并且将所述一个或更多控制数据分组重新传输到所述网络交换机。 Said switch controller comprises control logic configured to execute a method, the method comprising: configuring a plurality of control data packets through the switch controller, wherein the configuration comprises each arranged in the plurality of control data packets serial number, indicating the order of transmission of the data packet; said plurality of control data packets stored in said reproduction switch and controller communication buffer; safety chain between the switch controller and the network switch road, said plurality of control data packets transmitted to the network switch; and in response to determining that the one or more control data packets received is not the network switch, retrieved from the one or the reproducing buffer More control of data packets, and the one or more control data packets retransmitted to the network switch.

[0009] 根据再一实施例,提供一种用于网络中控制数据的传输的装置。 [0009] The apparatus according to still another embodiment, there is provided a method for transmitting network control data. 所述装置包括:耦合到网络交换机的交换机控制器,所述交换机控制器包括控制逻辑,配置为执行:通过所述交换机控制器配置多个控制数据分组,其中配置包括在所述多个控制数据分组的每个中布置序列号,指示数据分组传输的顺序;将所述多个控制数据分组存储在与所述交换机控制器通信的重放缓冲器中;在所述交换机控制器和所述网络交换机之间的安全链路上,将所述多个控制数据分组传输到所述网络交换机;以及响应于确定一个或更多控制数据分组未被所述网络交换机接收,从所述重放缓冲器取回所述一个或更多控制数据分组,并且将所述一个或更多控制数据分组重新传输到所述网络交换机。 Said apparatus comprising: a switch coupled to the network switch controller, the switch controller comprises a control logic configured to perform: configuring a plurality of control data packets through the switch controller, wherein the configuration data comprises a plurality of control in the arranged in each packet sequence number, indicating the order of transmission of the data packet; said plurality of control data packets stored in said controller to communicate with the switch in the playback buffer; the switch controller and the network a secure link between switches, said plurality of control data packets transmitted to the network switch; and in response to determining that the one or more control data packet is not the network switch to receive, from the reproduction buffer retrieving the one or more control data packets, and the one or more control data packets retransmitted to the network switch.

[0010] 通过本发明的技术实现额外特征和优点。 [0010] Additional features and advantages realized by the technology of the present invention. 在此详细描述本发明的其他实施例和方面,并且视为要求保护的发明的一部分。 A detailed description of other embodiments and aspects of the present invention in this, and considered part of the claimed invention. 为了具有该优点和特征的本发明的更好理解,参照描述和附图。 In order to have a better understanding of the advantages and features of the present invention, a reference to the description and drawings.

附图说明 Brief Description

[0011] 被视为本发明的主题在权利要求中具体指出并且明确要求保护。 [0011] The subject of the invention is regarded as particularly pointed out in the claims and expressly claimed. 本发明的前述和其他特征以及优点将从结合附图进行的以下详细描述中显而易见,附图中: The foregoing and other features and advantages of the present invention will become apparent from the following detailed description of the accompanying drawings, in which:

[0012] 图1描绘可以根据实施例实施的包括具有OpenFlow-capable交换机的网络的系统的框图; [0012] Figure 1 depicts a block diagram may have OpenFlow-capable switch network system according to an embodiment of the embodiment comprises;

[0013] 图2描绘根据实施例的OpenFlow-capable交换机的框图; [0013] Figure 2 depicts a block diagram of OpenFlow-capable switch according to an embodiment;

[0014] 图3描绘可以在实施例中使用的OpenFlow流交换定义的示例; [0014] Figure 3 depicts OpenFlow can be used in the exemplary embodiment defined flow exchange;

[0015] 图4描绘包括网络交换机和交换机控制器的网络的一部分的示例性实施例; [0015] FIG. 4 depicts an exemplary embodiment includes a part of the network switch and switch controller of the network;

[0016] 图5描绘从图4的控制器发送到交换机的控制数据分组的示例; [0016] FIG. 5 depicts an example of a packet switch control data sent from the controller to Figure 4;

[0017] 图6是示出控制器和网络交换机之间的通信方法的流程图;以及 [0017] FIG. 6 is a flowchart illustrating a method of communication between the controller and the network switch; and

[0018] 图7是图示图6的方法的实施例的框图。 [0018] FIG. 7 is a block diagram illustrating an embodiment of the method of FIG. 6.

具体实施方式 DETAILED DESCRIPTION

[0019] 示例性实施例涉及在网络交换机和网络交换机控制器之间发送的控制数据分组的链路级错误检验和恢复。 [0019] An exemplary embodiment relates to control data link-level error checking packets between the network switch and network switch controller sends and recovery. 网络的实施例包括一个或多个交换机,每个连接到配置为控制交换机的网络控制器或交换机控制器。 Example networks include one or more switches, each switch configured to control connection to a network controller or a switch controller. 在一个实施例中,控制器发送控制数据分组到交换机,以影响各种配置和路由功能。 In one embodiment, the controller sends a control packet to the switch, in order to affect a variety of configurations and routing functions. 在一个实施例中,控制器包括存储传输的数据分组的副本的重放数据缓冲器。 In one embodiment, the controller includes a copy of the transmitted data packet storing reproduction data buffer.

[0020] 示例性控制数据分组包括指示控制数据分组相对于控制器发送的其他分组的顺序的序列号,并且还可以包括分组组或优先级组标识。 [0020] The exemplary control packet includes control data indicating packets relative to other packets of the sequence controller sends the serial number, and may also include a packet priority group or group ID. 包括序列号的信息包括在控制器和交换机之间的链路层。 Including the serial number information includes between the controller and the switch link layer. 方法的实施例包括发送多个控制分组到网络交换机,每个控制分组至少包括例如数据分组的报头部分中的序列号。 Embodiment of the method includes transmitting a plurality of control packets to the network switch, for example, each of the control packet includes at least part of the data packet header in the serial number. 方法包括通过控制器确定是否接收控制数据分组。 The method comprises determining by the controller whether the received control data packets. 如果没有接收一个或多个控制数据分组,则控制器重发丢失的分组。 Without receiving one or more control data packets, the retransmission of the lost packet controller. 在一个实施例中,交换机包括配置为检查每个控制数据分组的序列号并且确定是否任何丢失的逻辑。 In one embodiment, the switch configured to check each including control data packet sequence number and determine whether there are any missing logic. 如果控制分组丢失,则交换机返回应答消息,指示丢失分组的序列号。 If the control packet is lost, the switch returns a response message indicating the serial number of lost packets. 响应于该应答消息,控制器重发与指示的序列号相关联的分组。 In response to the reply message, and instructions on the packet controller retransmission sequence number associated with it.

[0021] 现在转到图1,现在将更加具体地描述包括支持OpenFlow的网络101的系统100的示例。 [0021] Now 1 will now be described in more detail to figure includes sample supports OpenFlow network system 101 100. 在图1中描述的示例中,系统100是数据中心环境,其包括配置为使用OpenFlow-capable的交换机106在网络101上通信的多个服务器102和客户端系统104。 Example depicted in Figure 1, the system 100 is a data center environment, which includes the configuration to use OpenFlow-capable switches in the network 106 101 102 multiple-server communication and client systems 104. 在示例性实施例中,也称为主机或主机系统的服务器102是高速处理设备(例如,大型计算机、桌面型计算机、膝上型计算机、手持设备、嵌入式和计算设备等),其包括能够读取和执行指令并且处理与系统100的各种组件的交互的至少一个处理电路(例如,计算机处理器/ CPU)。 In an exemplary embodiment, also known as server host or host system 102 is a high-speed processing equipment (for example, mainframe computers, desktop computers, laptop computers, handheld devices, embedded and computing equipment, etc.), which includes the ability to read and execute instructions and to interact with the various components of the processing system 100 at least one processing circuit (e.g., a computer processor / CPU). 服务器102可以是存储系统服务器,配置为访问和存储大量数据到一个或多个数据存储系统108。 Server system 102 may be a storage server, configured to access and store large amounts of data into one or more data storage system 108.

[0022] 客户端系统104可以包括多种桌面型、膝上型、通用计算机设备、移动计算设备、 和/或具有处理电路和输入/输出(I/O)接口(诸如键/按钮、触摸屏、音频输入、显示设备和音频输出)的联网设备。 [0022] The client system 104 may include a variety of desktop, laptop, general-purpose computer equipment, mobile computing devices, and / or interfaces (such as key / button, touch screen having a processing circuit and input / output (I / O), audio input, display and audio output) of the connected devices. 客户端系统104可以直接或通过一个或多个无线接入点110无线地链接到一个或多个交换机106。 Client system 104 may be linked either directly or through one or more wireless access points 110 wirelessly to one or more switches 106.

[0023] 数据存储系统108指任何类型的计算机可读存储介质,并且可以包括一个或多个辅助存储元件,例如硬盘驱动器(HDD)、固态存储器、带、或服务器102内部或外部的存储子系统。 [0023] The data storage system 108 refers to any type of computer-readable storage medium, and may include one or more secondary storage elements, such as a hard disk drive (HDD), solid state memory, tape, or internal or external server 102 storage subsystem . 可以存储在数据存储系统108中的数据的类型例如包括各种文件和数据库。 The type of data that can be stored in the data storage system 108, for example, include various files and databases. 可能存在由可以分布在系统100的各种位置的每个服务器102利用的多个数据存储系统108。 May be distributed by the various locations of each server system 100 102 utilizes a plurality of data storage system 108.

[0024] 系统100还包括网络控制器112,其作为配置为进行网络101内的路由决定的中心软件定义的网络控制器。 [0024] System 100 also includes a network controller 112, which is configured as a routing network 101 determines the center of the software defined network controller. 网络控制器112建立一个或多个安全链路103以配置交换机106, 并且建立交换机106之间链路105的通信属性。 The network controller 112 to establish one or more secure link 103 to configure the switch 106, and to establish a communication link 105 between the switches 106 properties. 例如,网络控制器112可以配置交换机106 以控制服务器102和客户端系统104之间数据流的分组路由路径,以及一个或多个防火墙114和一个或多个负载平衡器116。 For example, the network controller 112 can be configured to control packet routing switch 106 to route data traffic between the server and client systems 102 104, and one or more firewalls 114 and one or more load balancer 116. 一个或多个防火墙114限制网络101和一个或多个外部网络118之间网络通信量的存取和流动。 One or more firewalls 114 limit network 101 and one or more external networks 118 network traffic between the access and flow. 一个或多个负载平衡器116可以跨越诸如服务器102之间的多个计算机分布工作负载。 One or more load balancer 116 can distribute the workload across multiple computers, such as server 102.

[0025] 服务器102、客户端系统104和网络控制器112可以包括现有技术中已知的各种计算机/通信硬件和软件技术,诸如一个或多个处理单元或电路、包括可移除介质的易失性和非易失性存储器、电源、网络接口、支持电路、操作系统等。 [0025] Server 102, the client system 104 and the network controller 112 may include a variety of known prior art computer / communications hardware and software technologies, such as one or more processing units or circuits, including removable media volatile and non-volatile memory, power supplies, network interfaces, support circuitry operating system. 尽管网络控制器112描述为分离组件,但是将理解的是网络配置功能可以可替代地以独立或分布式方式在一个或多个服务器102或客户端系统104中实施。 Although the network controller 112 is described as separate components, it will be understood that the network may alternatively be configured to function independently or in a distributed embodiment one or more servers 102 or 104 in the client system.

[0026] 网络101包括无线、有线和/或光纤链路的组合。 [0026] The network 101 comprises a combination of wireless, cable and / or fiber optic links. 如图1所描述的网络101代表为了说明目的的简化示例。 101 denotes a network as shown in order to illustrate a simplified example described purposes. 网络101的实施例可以包括多个交换机1〇6(例如,几百),其中每个交换机106许多端口和链路。 Example network 101 may include a plurality of switches 1〇6 (e.g., hundreds), wherein each switch port 106 and a number of links. 网络101可以支持允许数据在服务器102、客户端系统104、 交换机106、网络控制器112、防火墙114和负载平衡器116之间传输的多种已知通信标准。 Data network 101 can support allows the server 102, the client system 104, a switch 106, a variety of known communication standard transmission between the network controller 112, the firewall 114 and 116 of the load balancer. 通信协议典型地在一个或多个层(诸如物理层(层-1 )、链路层(层-2)、网络层(层-3)、 传输层(层-4)和应用层(层-5))中实施。 Communication protocol is typically one or more layers (such as a physical layer (layer-1), the link layer (layer-2), the network layer (Layer-3), the transport layer (Layer -4) and application layer (layer - 5)) are implemented. 在示例性实施例中,网络101支持OpenFlow作为层-2协议。 In an exemplary embodiment, the network 101 supports OpenFlow as a layer-2 protocol. 交换机106可以是还支持层-2和层-3以太网的专用OpenFlow交换机或OpenFlow-enabled 通用交换机。 Switch 106 may be also supports Layer-2 and Layer-3 Ethernet private OpenFlow OpenFlow-enabled switches or universal switches.

[0027] 图2描绘支持OpenFlow的图1的交换机106的框图。 [0027] 2 depicts a block diagram of a switch supports OpenFlow 106 of FIG. 交换机106包括交换机逻辑202、安全信道204、协议支持205、流动表206、缓冲器208a-208n以及端口210a-210n。 Switch 106 includes a logical switch 202, a secure channel 204, protocol support 205, flow meter 206, buffers 208a-208n and the ports 210a-210n. 交换机逻辑202可以在一个或多个处理电路中实施,其中计算机可读存储介质配置为保持用于交换机逻辑202的指令,以及用于支持交换机106的操作的各种变量和常数。 Switch logic 202 may be implemented in one or more processing circuits, in which a computer-readable storage medium for the configuration directive in order to maintain a logical switch 202 and a switch to support a variety of variables and constants operations 106. 交换机逻辑202在端口210a-210n之前转发分组,如由图1的网络控制器112定义的流。 Switch logic 202 before the port forwarding packets 210a-210n, as defined by the network controller 112 of FIG. 1 stream.

[0028] 安全信道204将交换机106连接到图1的网络控制器112。 [0028] The secure channel 204 to the switch 106 is connected to the network controller 112 of FIG. 1. 安全信道204允许命令和分组经由OpenFlow协议在网络控制器112和交换机106之间通信。 Secure channel 204 via OpenFlow protocol allows communication between the network controller 112 and switch 106 commands and grouping. 安全信道204可以以软件实施,如在交换机106内存储的可执行指令。 Secure channel 204 may be implemented in software, such as executable instructions 106 stored in the switch. 用于建立对于OpenFlow和其他协议的实施的协议定义的协议细节可以存储在协议支持205中。 Details of the agreement for establishing the OpenFlow and other implementation of the agreement protocol definitions can be stored in protocol support 205. 协议支持205可以体现在例如闪速存储器的计算机可读存储介质中,该计算机可读存储介质配置为保持用于由交换机逻辑202执行的指令。 Protocol supports 205 may be embodied in a flash memory such as a computer-readable storage medium, the computer-readable storage medium configured to hold instructions for execution by the logic 202 switches. 将协议支持205实施为软件使得能够对于协议的新版本或变体现场更新,并且可以提供OpenFlow作为对于现有传统路由器或交换机的提升。 The protocol supports 205 implemented as software makes it possible for the new version of the protocol or variant field updates, and can provide OpenFlow as a router or switch for the existing traditional lifting.

[0029] 流动表206定义与特定地址、虚拟局域网或交换机端口相关联的支持连接类型。 [0029] The flow table 206 to define a specific address, VLAN support connection type is associated or switch port. 流动可以定义为匹配特定报头格式的所有分组。 Flow can be defined as all packets that match a specific header format. 流动表206中的每个条目211可以包括与特定流动相关联的一个或多个规则212、动作214和统计216。 Flow table 206 in each entry 211 may include one or more rules associated with a particular flow 212 214 actions and statistics 216. 规则212定义每个流动,并且可以由分组报头确定。 Rule 212 defines each flow, and can be determined by the packet header. 动作214定义如何处理分组。 214 defines how to handle packet action. 统计216追踪诸如每个流动的大小(例如,字节的数目)、每个流动的分组的数目、以及自从流动的最后匹配分组或连接时间起的时间的信息。 Statistics such as the track 216 of the size of each flow (e.g., number of bytes), the number of packets per flow, and the flow of packets since the last match or connection time from the time information. 动作的示例包括用于转发流动的分组到一个或多个特定端口210a-210η (例如,单播或多播)、封装并且转发流动的分组到图1的网络控制器112、以及丢弃流动的分组的指令。 Example actions include the flow of packets for forwarding to one or more specific ports 210a-210η (e.g., unicast or multicast), and forwards the encapsulated packet to the flow diagram of a network controller 112, and a packet discard flow instructions. 流动表206中的条目211可以经由安全信道204由图1的网络控制器112添加或移除。 206 entries in the flow table 211 can be removed or added via a secure channel 204 by the network controller 112 of FIG. 图1的网络控制器112可以预先填充流动表206中的条目211。 Network controller 112 of FIG. 1 can flow table entries in the pre-filled 206 211. 此外,交换机106 可以在接收流动时在没有流动表206中的对应条目211的情况下请求从网络控制器112创建条目211。 In addition, the switch 106 may request to receive the next entry in the flow does not flow table 206 is created by the entry of 211 112 211 from the network controller.

[0030] 在分组在端口210a-210n之间发送时,缓冲器208a-208n提供用于流动的队列中的临时存储。 [0030] When the packet transmission between ports 210a-210n, buffers 208a-208n provide temporary storage queue for mobility. 在无损配置中,不是在存在网络拥挤时丢弃分组,缓冲器208a-208n临时存储分组直到图1中的相关联端口210a-210n和链路105可用。 In lossless configuration, not in the presence of dropping packets when network congestion, buffer 208a-208n is temporarily stored until the Figure 1 packet associated port 210a-210n and link 105 are available. 缓冲器208a-208n的每个可以与特定端口、流动或子网络相关联。 Each buffer 208a-208n may be associated with a particular port, or a sub-network flow. 缓冲器208a-208n的每个时逻辑分离的,但是不需要物理上独立。 Each logical buffer 208a-208n when isolated, but do not need to be physically independent. 因此,当缓冲器208a-208n之一满时,不会不利地影响交换机106中其他缓冲器208a-208n 的性能。 Thus, when the buffer is full, one 208a-208n, without adversely affecting the performance of the switch 106 in the other buffers 208a-208n.

[0031] 图3描绘可以在实施例中使用的OpenFlow流动交换定义300的示例。 [0031] Figure 3 depicts OpenFlow flow that can be used in an embodiment example of a custom 300 exchange. OpenFlow 流动交换定义300是定义流动的分组报头,并且包括多个字段。 OpenFlow defined flow exchange flow 300 is defined packet header, and includes multiple fields. 在该示例中,交换定义300 是包括多至11个元组或字段的流动报头;然而,不是所有元组需要依赖于特定流动定义。 In this example, the exchange is defined to include more than 300 to 11 yuan group or field of flow header; however, not all tuples need to rely on a specific flow definition. 在图3的示例中,OpenFlow流动交换定义300包括用于标识进入端口302、以太网目的地地址304、以太网源地址306、以太网类型308、虚拟局域网(VLAN)优先级310、VLAN标识符312、因特网协议(IP)源地址314、IP目的地地址316、IP协议318、传输控制协议(TCP)/ 用户数据报协议(UDP)源端口320以及TCP/UDP目的地端口322的元组。 In the example of FIG. 3, OpenFlow mobile switching defines access port 300 includes an identification 302, a destination Ethernet address 304, a source Ethernet address 306, an Ethernet type 308, Virtual LAN (VLAN) priority 310, VLAN identifier 312, an Internet Protocol (IP) source address 314, IP destination address 316, IP protocol 318, Transmission Control Protocol (TCP) / User Datagram Protocol (UDP) source port 320 and TCP / UDP destination port tuple 322. 以太网目的地地址304可以代表在传统交换和路由中使用的层-2以太网硬件地址或介质存取控制(MAC)地址。 Ethernet destination address 304 may represent a layer used in traditional switching and routing -2 Ethernet hardware address or Media Access Control (MAC) address. IP目的地地址316可以代表在传统交换和路由中使用的层-3IP地址。 IP destination address 316 may represent a layer -3IP address used in traditional switching and routing. 在用作密钥的元组的特定组合的情况下,以对于OpenFlow流动交换定义300中的元组的任何组合定义流动交换。 In the case of a specific combination of tuple used as a key to any combination of defined flow for the definition of mobile switching OpenFlow 300 tuples exchange. 例如,通过对于聚合MAC-子网、IP-子网、端口、VLAN标识符等的精确匹配或通配符匹配,可以在图2的规则212中定义流动。 For example, by the polymerization MAC- subnet, IP- subnet, port, VLAN identifier like an exact match or a wildcard match, the flow can be defined in the rules 212 of FIG.

[0032] 图4描绘网络部分400的框图。 [0032] Figure 4 depicts a block diagram of a portion 400 of the network. 服务器402通过链路404耦合到交换机406。 Server 402 is coupled through a link 404 to a switch 406. 示例性服务器402是图1的服务器102,并且示例性交换机406是图1的交换机106。 An exemplary server 402 is a server 102 of FIG. 1, an exemplary switch 406 and a switch 106 of FIG. 1. 控制器408 (例如,网络控制器)通过例如安全链路410链接到交换机406。 The controller 408 (for example, a network controller) via a secure link such as link 410 to a switch 406. 在一个实施例中,在OpenFlow-capable环境下,控制器是诸如图1的网络控制器112的网络控制器。 In one embodiment, in OpenFlow-capable environment, a network controller, such as controller 112 of FIG. 1 of the network controller. 在其他实施例中,对于非OpenFlow环境,控制器408的功能可以集成到诸如服务器402或服务器102 的其他网络实体中。 In other embodiments, the non OpenFlow environment, functions of the controller 408 may be integrated into a server, such as server 402 or other network entity 102.

[0033] 如图4所示,交换机406连接到服务器402,服务器402包括至少一个端口412和各种逻辑组件,诸如模式选择逻辑414、等待脉冲重复时间416和操作配置的协议和模式418。 [0033] shown in Figure 4, the switch 406 is connected to the server 402, the server 402 includes at least one port 412 and various logic components, such as a mode selection logic 414 waits for the pulse repetition time 416 and the operation mode 418 protocols and configuration. 在此描述的逻辑组件可以以存储在计算机可读存储介质用于由处理电路执行的指令或以硬件电路实施,并且可以配置为发送诸如链路初始化帧和数据分组的帧。 Logic components described herein may be stored in a computer-readable storage medium for executing instructions by a processing circuit, or implemented in hardware circuitry, and may be configured to transmit a frame such as frame and link initialization data packets. 交换机406、 服务器402和控制器408可以支持多种操作模式,包括但不限于、光纤信道、以太网光纤通道(FCoE )、互联网广域远程直接内存访问协议(iWARP )以及聚合以太网远程直接内存访问(RoCE)〇 Switch 406, the server 402 and the controller 408 can support multiple operating modes, including but not limited to, remote Fibre Channel, Fibre Channel over Ethernet (FCoE), Internet WAN Remote Direct Memory Access Protocol (iWARP) and converged Ethernet Direct Memory Access (RoCE) 〇

[0034] 交换机406包括交换机逻辑420、流动表422、协议支持424、端口配置和重置逻辑425和多个端口,诸如用于与服务器402通信的端口426和用于与诸如其他交换机或服务器的其他网络实体通信的端口428。 [0034] The switch 406 includes a switch logic 420, flow meter 422, 424 protocol support, port configuration and reset logic 425 and a plurality of ports, such as communicating with the server ports 426 and 402 for use with such other switches or servers other network entities 428 communications port. 端口可以是物理端口、由交换机定义的虚拟端口和/或由OpenFlow协议定义的虚拟端口。 Port can be a physical port, virtual port by the switch-defined virtual ports and / or by the OpenFlow protocol definition. 当实施为OpenFlow交换机时,交换机406还包括用于在安全链路410上与网络控制器408通信的安全信道430。 When implemented as OpenFlow switches, switch 406 also includes a channel 430 for secure communications over the secure link 410 to the network controller 408.

[0035] 网络控制器408包括动作表432,其保持用于交换机406的端口和协议信息,以及用于通过交换机406和诸如图1的交换机106的其他交换机的流动的规则、动作和统计。 [0035] The network controller 408 includes the operation table 432, it remains for the switch port and protocol information 406, and a flow through the switch 406 and the switch to other switches such as 106 in FIG. 1 rules, action and statistics. 网络控制器408还包括流动控制逻辑434,其可以以存储在计算机可读存储介质用于由处理电路执行的指令或以硬件电路实施。 The network controller 408 further includes a flow control logic 434, which may be stored in a computer-readable medium for storing instructions executed by the processing circuit or a hardware circuit embodiment. 网络控制器408可以管理交换机406中流动表422的更新。 The network controller 408 may manage the flow switch 406 Table 422 updates. 基于流动表422的更新,更新网络控制器408的动作表432中的端口和协议信息以反映变化。 Based on the flow meter 422 update, update network controller action 408 Table 432 port and protocol information to reflect the changes.

[0036] 如上所述,网络控制器408经由使用指定端口(诸如在物理网络控制器112或诸如服务器102或客户端系统104的其他处理器中实施的控制器中的端口)建立的安全链路410 与交换机406通信。 [0036] As described above, the network controller 408 via the specified port (such as the physical network port in the controller such as controller 112 or 102 server or client systems other processors 104 in the embodiment) to establish a secure link 406 Communications 410 with the switch. 网络控制器408与交换机406通信,以配置和管理交换机,从交换机接收事件并且将分组发送出交换机。 Network controller 408 and 406 communications switch to configure and manage the switch from the switch to receive events and sends the packet out switch. 各种消息类型可以在交换机和控制器之间发送,以完成这样的功能,包括控制器到交换机、异步和对称消息。 The various message types can be sent between the switch and the controller in order to accomplish this function, including the controller to switch, asynchronous and symmetrical messages.

[0037] 控制器到交换机消息由控制器408发起,并且可能或可能不要求来自交换机406 的应答。 [0037] message is initiated by the controller to switch controller 408, and may or may not require a response from the switch 406. 特征消息用于请求交换机406的性能(例如,在建立安全链接时),响应于此交换机406应该返回说明交换机406的性能的特征应答。 Feature is used to request performance of the switch 406 (for example, when establishing a secure link), in response to this switch 406 should be returned illustrate the performance characteristics of the switch 406 responses. 由控制器408发送配置消息,以设置并且询问交换机406中的配置参数。 Configuration message sent by the controller 408 to set the switch 406 and ask configuration parameters. 交换机406仅响应于来自控制器408的询问。 406 switch only in response to an inquiry from the controller 408. 修改状态消息由控制器408发送以管理关于交换机的状态,例如,添加/删除和/或修改流动表422中的流动/组,以及设置交换机性能。 Modify the status message is sent by the controller 408 to manage the state on the switch, for example, add / remove and / or modify flow table 422. Flow / group, and set the switch performance. 读取状态消息由控制器用于从交换机收集统计。 Read the status message by the controller is used to collect statistics from the switch. 分组发出消息由控制器用于在交换机上的指定端口发出分组,并且转发经由分组进入消息接收的分组。 Grouping messages issued by the controller for the specified port on the switch to issue packets and forwards packets received via a packet incoming message. 分组发出消息包含整个分组或参照交换机中存储的分组的缓冲器ID。 Packet sent message contains the entire packet switch or reference buffer storing a packet ID. 分组发出消息还包含要以它们指定的顺序施加的动作的列表;空动作列表丢弃该分组。 Packet issue message also contains a list of actions to be applied to their specified order; the empty list of actions to discard the packet.

[0038] 在控制器408没有请求它们的情况下从交换机406发送异步消息。 [0038] send asynchronous messages from the switch 406 when the controller 408 did not request them. 交换机406发送异步消息到控制器408,以便例如表示分组到达、交换机状态改变或错误。 Switch 406 sends an asynchronous message to the controller 408, for example, to indicate that the packet arrives, the switch state changes or errors. 分组进入事件消息可以对于不具有匹配流动条目的分组从交换机406发送到控制器408,并且可以对于转发到控制器408的分组从控制器408发送到交换机406。 Packet enters the event messages may not have a matching flow entry for a packet sent from the switch 406 to the controller 408, and can be forwarded to the packet controller 408 for transmission from the controller 408 to switch 406. 移除流动的消息可以用于指示流动条目已经由于例如流动条目的不活动或过期被移除。 Removes be used to indicate the flow of news flow has been for example inactive flow entries or entries are removed due to expire. 响应于端口配置状态的改变和端口状态事件,发送端口状态消息。 In response to a change in the state port configuration and port status event, send port status messages. 错误消息可以由交换机406用于将问题通知控制器408。 Error messages can be used by the switch 406 will issue notification controller 408.

[0039] 在任一方向在没有请求的情况下发送对称消息。 [0039] In symmetric message sent in either direction in the absence of a request. 在连接开始时,可以在交换机406 和控制器408之间交换Hello消息。 At the beginning of a connection, you can exchange Hello messages between the switch 406 and controller 408. 回送请求/应答消息可以从交换机406或控制器408 发送,并且可以用于测量控制器-交换机连接的延迟或带宽,以及验证其活性。 Echo request / reply message may be sent from the switch 408 or the controller 406, and may be used to measure the controller - connected to the switch delay or bandwidth, and to verify its activity. 实验者消息为交换机406提供一种提供OpenFlow消息类型空间中的额外功能的方式。 Experimenter message to switch 406 to provide a space to provide OpenFlow message type way of extra features.

[0040] 控制器408包括链路层可靠性或链路层重试(LLR)性能,其提供来在控制器480和交换机406之间的链路410 (物理层)处保持数据完整性。 [0040] The controller 408 includes a link layer or data link layer retry reliability (LLR) performance, which provides to maintain data integrity in the controller 480 and the switch 406 between the links 410 (physical layer) at. 该特征通过例如在端口和协议信息432中包括控制分组格式信息来实施,该控制分组格式信息包括用于分配给发送到交换机406的每个控制分组的序列号。 This feature, for example by the port and protocol information 432 included in the control packet format to implement the information, the control information includes a packet format is assigned to each control packet is sent to the serial number of the switch 406. 控制器408包括配置来分配序列号给每个数据分组的LLR逻辑436,并且可以将多个数据分组分组到诸如公共通信量类的组中。 The controller 408 includes a configuration to assign a serial number to each data packet LLR logic 436, and a plurality of data packets can be grouped into common traffic category groups such as. 通信量类可以分配由交换机406识别的优先级。 Traffic class may be assigned by the switch 406 to identify priority. 控制器408还可以配置为提供LLR响应代码或格式。 The controller 408 may also be configured to provide LLR response code or format. LLR 可以以现有硬件结构和链路协议实施。 LLR can link with existing hardware architecture and implementation of the Agreement. 例如,对于CEE实施例,LLR可以经由增强传输选择(ETS)流动控制实施。 For example, for CEE embodiments, LLR can be controlled via the implementation of Enhanced Transmission Selection (ETS) flow.

[0041] 控制器408还包括重放缓冲器438,其存储要传输到交换机406的序列数据分组。 [0041] The controller 408 also includes a playback buffer 438, which stores a sequence of data packets to be transmitted to the switch 406. 控制数据分组组分配序列号,并且还可以分配通信量或优先级类,并且存储在重放缓冲器中。 Control packet group assigned a serial number, and you can also assign traffic or priority class, and stored in the playback buffer. 该组然后以由序列号定义的传输顺序发送到交换机406。 The group then transmit sequence defined by the sequence number is sent to the switch 406.

[0042] 在一个实施例中,重放缓冲器大小配置为包含链路410的长度、在链路410两端的应答(例如,Ack/Nck)处理时间、以及最大传输和接收次数(整个分组由交换机接收以检错并且验证控制分组,并且因此发送Ack/Nck分组可能必须等待控制分组)。 [0042] In one embodiment, the playback buffer size configured to contain the length of the link 410, the link 410 in response (e.g., Ack / Nck) processing time, and the maximum transmission and reception times (across the whole packet by the switch receives a control packet error checking and verification, and therefore transmit Ack / Nck packets may have to wait for the control group). 例如,对于10G 数据链路具有100米长度,估计报头开销要求大约9K字节;对于更长距离,长度可能增加, 例如,可能扩展到32K字节。 For example, for 10G data link having 100 m length, estimated header overhead requires approximately 9K bytes; for longer distances, the length may be increased, for example, could be expanded to 32K bytes.

[0043] 在一个实施例中,重放缓冲器438独立于其他缓冲器实施。 [0043] In one embodiment, the reproduction buffer 438 buffers independently of the other embodiments. 例如,重放缓冲器438 的实施独立于虚拟通道(VL)缓冲,并且避免与VL缓冲相交。 For example, the implementation of the reproduction buffer 438 is independent of the virtual channel (VL) buffer, and avoid VL buffer intersect. VL缓冲典型地在入站路径(从交换机到控制器)中实施,并且唯一地用于流动控制。 VL buffer is typically in the implementation of the inbound path (from the switch to the controller), and the only way for flow control. LLR提供分离的出站重放缓冲器,其能够重新传输丢失的分组,包括那些从未到达VL缓冲器的。 LLR provides an isolated outbound reproducing buffer, which is capable of re-transmission of lost packets, including those never reached VL buffer. 因此,可以不依赖于VL或其他流动缓冲器,确保链路可靠性。 Therefore, it can not rely on the flow of VL or other buffers to ensure link reliability.

[0044] OpenFlow控制通信可以比交换机流动控制更快地运行,如果交换机缓冲器溢出则导致控制分组丢失。 [0044] OpenFlow control communication control can run faster than the flow switch, if the switch packet buffer overflows have resulted in the loss of control. 因此,在一个实施例中,控制器408利用背压流动控制。 Thus, in one embodiment, the controller 408 utilizing back pressure flow control. 该背压流动控制通过在发送数据之前使得网关验证下一个网关具有足够缓冲器空间可用,实现无丢失传输。 The back-pressure flow control before sending the data through the gateway so that verification is a gateway has enough buffer space is available, the loss-free transmission.

[0045] 交换机406配置为检查LLR性能,验证分组和分组序列,并且基于验证返回LLR应答。 [0045] Switch 406 is configured to check LLR performance, verify packet and packet sequence, and returns the LLR-based authentication response. 该配置可以例如在交换机逻辑420中提现。 This configuration may, for example the switch logic 420 in withdrawals. 交换机406可以检查LLR性能,并且验证序列号以确定是否数据分组丢失。 Switch 406 can check LLR performance, and verify the serial number to determine if the data packet loss.

[0046] 例如,当交换机406从控制器406接收一组控制数据分组时。 [0046] For example, when the switch 406 receives a set of control data from the controller 406 when the packet. 交换机406识别通信量类(如果分配一个),并且验证考虑了所有数据分组序列号。 Switch 406 to identify traffic classes (if assigned a), and considering all the data packets to verify the serial number. 如果如此,则交换机406发送确收(Ack)应答,指示成功接收该组分组。 If so, the switch 406 transmits acknowledgment (Ack) response, indicating successful reception of the packet group. 如果确定序列号丢失(例如,序列中的号码丢失),则交换机406发送否确收(Nak)应答,指示没有接收序列号(例如,在超时时段内)。 If it is determined the serial number is missing (for example, the sequence number is missing), then the switch 406 sends no acknowledgment (Nak) response, indicating the serial number is not received (for example, within the timeout period). 控制器408然后可以从指示的序列号确定丢失的数据分组,并且从重放缓冲器438将丢失的数据分组重新发送到交换机406。 The controller 408 may then determine the serial number indicating the missing data from the packet, and from the playback buffer 438 will resend the missing data packet to the switch 406.

[0047] LLR系统在控制分组丢失的情况下,提供迅速的端对端恢复,并且提供一种机制, 交换机可以通过该机制迅速识别丢失分组、发送通知并且发起丢失分组的重试而不请求完全端对端重试。 [0047] LLR system control in the case of packet loss, providing swift end to end recovery, and provides a mechanism to switch quickly identify missing packets through this mechanism, a notification is sent and lost packets launched retried without requesting complete end to end and try again.

[0048] 图5描绘用于在控制器408和交换机406之间发送数据的控制数据帧或控制数据分组500的实施例。 [0048] FIG. 5 depicts the data for sending control frames or control packets embodiment 500 between the controller 408 and switch 406. 控制数据帧可以由控制器408用于与交换机406通信,以便例如配置和管理交换机和流动表,发送包括定制数据的数据分组给交换机,并且管理通过交换机的分组路由。 Control data frame by the controller 408 may be used to communicate with the switch 406, for example, to configure and manage the switch and flow meter, including custom data to send data packets to the switch, and managed through the packet routing switch. 示例性控制帧包括如上所述的控制器到交换机、异步和对称消息。 Exemplary control frame includes a controller as described above, to switch, asynchronous and symmetric messages. 在该实施例中,LLR使能和初始化代码、优先级组ID、Ack/Nak代码和序列号位于控制分组报头中,尽管提供这样信息的格式不限于在此描述的特定实施例。 In this embodiment, LLR is enabled and initialization code, priority group ID, Ack / Nak codes and serial numbers are located on the control packet header, although the format to provide such information is not limited to the specific embodiments described herein.

[0049] 帧500包括前同步码502、帧开始(S0F)定界符、报头506、有效载荷数据508和循环冗余校验(CRC)校验和510。 [0049] frame 500 includes a preamble 502, a frame start (S0F) delimiter, a header 506, payload data 508 and a cyclic redundancy check (CRC) checksum 510. 报头506包括网络地址信息和协议信息,其中可以指定LLR 信息。 Header 506 includes a network address and protocol information, which can be specified LLR information. 例如,帧500包括目的地MAC地址512、源MAC地址514和以太网类型字段516。 For example, the frame 500 includes a destination MAC address 512, source MAC address 514 and the Ethernet type field 516. 以太网类型字段516至少包括标识相对于其他帧发送帧500的顺序的序列号。 Ethernet type field 516 comprises at least relative to other frames transmitted identification frame 500 of the serial number of the sequence. 以太网类型字段516还可以包括LLR组ID,指示巾贞500是否是公共通信量组或优先级组和/或Ack/Nak 代码的一部分。 Ethernet type field 516 may also include LLR group ID, indicating Zhen towel 500 is part of a group or public traffic priority group and / or Ack / Nak code. 在一个实施例中,LLR信息添加到现有帧格式和协议。 In one embodiment, information is added to the existing LLR frame formats and protocols. 新的定界符可以添加以指示标识诸如组和/或序列号的LLR信息的额外字节。 The new delimiter can add extra bytes to indicate the identification information such as LLR group and / or serial number of the.

[0050] 要注意帧500和报头506以及它们各自的字段不限于在此描述的特定实施例。 [0050] Note that the frame 500 and a header 506 and a particular embodiment is not limited to their respective fields, as described herein. 例如,取决于使用的协议,报头506可以包括不同或额外的字段。 For example, depending on the protocol used, the header 506 may include different or additional fields. 在一个不例中,报头506可以包括任何数目的字段,如参照交换定义300描述的。 In an embodiment, the header 506 may include any number of fields, such as 300 described with reference to the exchange defined.

[0051] 参照图6和7描述网络中交换机和交换机控制器之间的通信的方法600的实施例。 [0051] Referring to FIG. 6 and 7, the method described in the communication network between the switch and the switch controller 600 of the embodiment. 图6是图示方法600的示例性实施例的流程图。 Figure 6 is a flow diagram illustrating an exemplary embodiment of a method 600. 方法600结合图4中示出的网络部分400和图7的数据流动图示描述,但是不限于此。 The method 600 in conjunction with FIG. 4 shows a network description data portion 400 and the flow diagram of Figure 7, but is not limited thereto. 在一个实施例中,方法包括以描述的顺序由块601-607代表的步骤。 In one embodiment, the method comprises the steps described in the order represented by the blocks 601-607. 然而,在一些实施例中,不执行所有步骤和/或以与描述的顺序不同的顺序执行步骤。 However, in some embodiments, not all the steps and / or in the order described steps in a different order.

[0052] 在块601,控制器408接收信息或指令,并且配置诸如分组500的一组控制数据分组,其可以配置为OpenFlow控制分组。 [0052] At block 601, the controller 408 receives information or instructions, and the configuration packet 500 as a set of control data packets, which can be configured to OpenFlow control packet. 每个控制数据分组包括链路层重试或包括LLR是否使能的链路层可靠性(LLR)信息。 Each packet includes control data link layer retry or include whether or not the link layer LLR reliability of (LLR) information. 其他LLR信息包括公共通信量类或优先级组ID,其标识分组的组并且如果希望的话则指示优先级级别。 Other LLR traffic information including public class or priority group ID, which identifies the group and the packet indicates if desired priority level. LLR信息还可以提供诸如Ack/Nak代码的额外协议信息。 LLR information may also provide additional information such as protocol Ack / Nak code.

[0053] 在块602,每个控制分组500存储在重放缓冲器438中,准备到交换机406的传输。 [0053] In block 602, each control packet 500 is stored in the playback buffer 438, ready to transfer switch 406.

[0054] 在块603,控制分组从控制器408发送到交换机406。 [0054] In block 603, the control packet sent from the controller 408 to switch 406.

[0055] 在块604,由交换机406接收和验证控制数据分组。 [0055] In block 604, switch 406 is received and verified by the control packet. 交换机406例如通过根据识别的类检查优先级组ID、以及组和控制分组,检查是否每个数据分组已经分配到组或公共通信量类。 Switch 406, for example by identifying the type examination according to priority groups ID, and group and control group, checking whether each data packet has been assigned to a group or class of public traffic. 交换机识别各个类中每个控制分组中的序列号,并且确定是否丢失任何序列号。 Switch to identify each class of each of the control packet sequence number, and determine whether the loss of any serial number. 例如,组中的每个分组包括一组顺序整数号(例如,1-10)之一,并且还可以指示分组的总数。 For example, each group comprises one of a set of sequential packet integer number (e.g., 1-10), and may also indicate the total number of packets. 交换机检查号码,并且确定是否丢失任何。 Switch check the number, and determine whether any loss. 在一个实施例中,如果组与预先定义的优先级相关联,或者报头指示用于该组的优先级,则交换机可以根据该优先级改变流动表中处理数据的顺序。 In one embodiment, if the group with pre-defined priority associated or header indicates the priority for the group, the switch can change the order flows for processing data in accordance with the priority.

[0056] 在块605,如果已经验证所有数据分组和序列号,则交换机406发送诸如Ack应答分组520的LLR应答。 [0056] In block 605, if you have to verify all the data packets and the sequence number, the switch 406 sends information such as Ack response packet 520. LLR response.

[0057] 在块606,如果没有接收和验证(例如,在选择的超时时段内)所有数据分组,则交换机406发送诸如Nak应答分组522的LLR应答。 [0057] At block 606, and if verification is not received (e.g., in a selected timeout period) for all data packets, the switch 406 transmits the response packet 522 such as the LLR Nak response. Nak应答522指示识别的类或分组中的一个或多个数据分组丢失,并且识别丢失控制分组的序列号。 Nak response 522 indicates the identification of a class or group of one or more data packet loss, and loss of control packet identifying serial number.

[0058] 在块607,控制器408可以响应于从交换机406接收Nak应答或超时时段的届满, 重新发送一个或多个数据分组。 [0058] In block 607, the controller 408 in response to the expiration of the response from the switch 406 receives the Nak or timeout period, re-transmit one or more data packets. 例如,如果控制器408接收指定一个或多个序列号的Nak 应答,则控制器408从重放缓冲器438取回具有指定序列号的数据分组,并且重新发送哪些分组。 For example, if the controller 408 receives the specified one or more serial numbers Nak response, the controller 408 retrieves data packets having the specified sequence number from the playback buffer 438, and re-transmitting packets which. 如果没有确收或在超时时段没有确收所有或一些分组,则控制器从重放缓冲器取回未确收分组,并且将它们重新发送到交换机406。 If there is no acknowledgment or no acknowledgment timeout period for all or some of the groups, the controller is not retrieved from the playback buffer acknowledgment packets and send them back to the switch 406.

[0059] 技术效果包括响应于控制器和交换机之间的传输错误,迅速地执行数据控制分组恢复的能力,并且因此改进控制器和交换机之间链路层可靠性。 [0059] Technical effects include response to transmission errors between the controllers and switches quickly perform data control packet recovery, and thus improve the reliability of the link layer between the controller and the switch. 此外,在此描述的实施例避免对于表面比特错误的以太网端到端重试机制的要求,这减少了由于组织结构拥挤的端到端超时间隔以及错误重试。 In addition, the embodiments described herein avoid the need for surface Ethernet bit error requirements of end-retry mechanism, which reduces congestion due to the organizational structure of the end timeout interval, and error and try again.

[0060] 所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。 [0060] Those skilled in the art that various aspects of the present invention may be implemented as a system, method or computer program product. 因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、 完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为"电路"、"模块"或"系统"。 Accordingly, various aspects of the present invention may be embodied in the following forms, namely: an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining hardware and software, here referred to as "circuit", "module" or "system." 此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。 Furthermore, in some embodiments, various aspects of the present invention can also be implemented in one or more computer-readable media in the form of a computer program product, the computer readable medium having computer-readable program code.

[0061] 可以采用一个或多个计算机可读介质的任意组合。 [0061] can use any combination of one or more computer-readable media. 计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。 The computer readable medium may be a computer readable signal medium or a computer readable storage medium. 计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。 For example, a computer-readable storage medium may be a one, but not limited to electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any combination of the above. 计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。 A computer-readable storage medium More specific examples (a non-exhaustive list) comprising: one or more electrical conductors having connection, a portable computer diskette, a hard disk, a random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing. 在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形和非暂时性存储介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。 In this document, a computer-readable storage medium may be any material that contains or stored procedures tangible and non-transitory storage medium, the program may be the instruction execution system, apparatus, or device or its use in combination.

[0062] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号, 其中承载了计算机可读的程序代码。 [0062] Computer readable signal media may be included in baseband or as part of the data carrier signal transmission, wherein the carrying computer-readable program code. 这种传播的数据信号可以采用多种形式,包括--但不限于--电磁信号、光信号或上述的任意合适的组合。 This data signal propagation may take many forms, including - but not limited to - electromagnetic signals, optical signals, or any suitable combination of the above. 计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。 A computer readable signal medium may also be any computer-readable medium a computer-readable storage medium other than the computer readable medium may be transmitted, propagate, or transport instructions for execution by a system, apparatus, or device or in connection with the use of the program used .

[0063] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括--但不限于--无线、有线、光缆、RF等等,或者上述的任意合适的组合。 [0063] program code on a computer-readable medium may include any suitable transmission media, including - but not limited to - wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0064] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++ 等,还包括常规的过程式程序设计语言一诸如"C"语言或类似的程序设计语言。 [0064] may be any combination of one or more programming languages to write computer code for performing the operations of the invention, the programming languages, including object-oriented programming language, such as a Java, Smalltalk, C ++, etc., also includes a conventional procedural programming languages, such as a "C" programming language or similar language. 程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、 部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。 Program code can be completely executed on the user's computer, partly on the user's computer to perform as a stand-alone software package, partly partly on a remote computer on the user's computer or entirely on the remote computer or server. 在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络--包括局域网(LAN) 或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。 In the case involving the remote computer, the remote computer can be any kind of network - including local area network (LAN) or wide area network (WAN) - to connect to the user's computer, or can be connected to an external computer (for example, through use of the Internet service provider Internet connection).

[0065] 下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。 [0065] The following reference method according to an embodiment of the present invention, a flowchart apparatus (systems) and computer program products and / or block diagram of the present invention is described. 应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。 It should be understood, and combinations of the flowchart and / or block diagram block each flowchart and / or block diagrams each block, it can be implemented by computer program instructions. 这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。 These computer program instructions may be provided to a processor general purpose computer, special purpose computer, or other programmable data processing apparatus, thereby producing a machine, such that the computer program instructions executed by a processor in a computer or other programmable data processing apparatus when , resulting in a flow chart and / or block diagram of one or more of the functions specified in box / acts.

[0066] 也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、 其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)〇 [0066] and to be put These computer program instructions stored in a computer-readable medium, the instructions causing a computer, other programmable data processing apparatus, or other devices in a particular manner, whereby the storage medium readable instructions on a computer produce including the realization of the flowchart and / or block diagram of one or more boxes specified function / operation instruction manufactured goods (article of manufacture) 〇

[0067] 计算机程序指令可以加载到计算机、其他可编程数据处理装置、或其他设备上,以便使得在计算机、其他可编程数据处理装置、或其他设备上执行一系列操作步骤,以便产生计算机实施的处理,使得在计算机或其他可编程装置上运行的指令提供用于实施在流程图和/或框图块或多个块中指定的功能/动作。 [0067] The computer program instructions may be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of steps on the computer, other programmable data processing device, or other equipment to produce a computer-implemented treatment, such that the instructions on the computer or other programmable apparatus provide for the implementation of the operation specified in the flowchart and / or block diagram block or blocks Function / action.

[0068] 也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。 [0068] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus or other device, so that the implementation of a series of steps on the computer, other programmable data processing apparatus or other equipment to produce a computer-implemented process, such that the instructions on the computer or other programmable apparatus capable of providing flow chart and / or block diagram block function specified and / or operation of the process.

[0069] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。 [0069] flowcharts and block diagrams in the figures show the system according to a plurality of embodiments of the invention, the architecture may be implemented method and computer program product, functions and operations. 在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。 In this regard, in the flowchart or block diagrams may represent a portion of each block in a module, segment or code, the module, segment, or portion of code that comprises one or more logic for implementing predetermined functions executable instructions. 也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。 It should also be noted that in some alternative implementations, the functions noted in the block may be different from the order noted in the figures occur. 例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。 For example, two consecutive blocks may actually be executed substantially concurrently, they may also be performed in reverse order, depending on the functionality involved it may be. 也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。 It should also be noted that, as well as a combination of diagrams and / or flow chart in each block of the block diagrams and / or flowchart block, you can use a dedicated hardware-based systems to achieve the implementation of the provisions of the function or operation or you can use a dedicated hardware and computer instructions to achieve.

[0070] 在此使用的术语仅仅是为了描述特定实施例的目的,并且不旨在限制本发明。 [0070] The term used solely for the purpose of describing particular embodiments only, and is not intended to limit the invention. 如在此使用的,单数形式"一(a)"、"一(an)"和"该(the)"旨在也包括复数形式,除非另外明确地指定。 As used herein, the singular forms "a (a)", "a (an)" and "the (the)" is intended to include the plural forms unless explicitly specified. 将进一步理解的是当在本说明书中使用时,术语"包含"和/或"包括"指定声称的特征、整体、步骤、操作、元件和/或组件的存在,而不排除一个或多个其他特征、整体、 步骤、操作、元件组件和/或其分组的存在和添加。 Will be further understood that when used in this specification, the term "including" the presence and / or "including" designated stated features, integers, steps, operations, elements, and / or components, but do not preclude one or more other and the presence of added features, integers, steps, operations, elements, components, and / or packet.

[0071] 在所附权利要求中的相应结构、材料、动作以及所有手段或步骤加上功能元件的等价物旨在包括任何结构、材料或动作,用于结合其他要求保护的元件执行功能,如具体要求保护的。 [0071] The corresponding structures in the appended claims, materials, acts, and all means or step plus function elements equivalents are intended to include any structure, material or acts for combination with other claimed elements perform functions, such as concrete It claimed. 已经为了说明和描述的目的呈现本发明的说明书,但是不旨在穷尽或者以公开的形式限制本发明。 Description has been presented for purposes of illustration and description of the invention presented, but not intended to be exhaustive or to limit the invention in the form disclosed. 许多修改和改变对于本领域的普通技术人员是显而易见的,而不背离本发明的精神和范围。 Many modifications and variations to those of ordinary skill in the art will be apparent without departing from the spirit and scope of the invention. 选择和描述实施例,以便最好地说明本发明的原理和实际应用,并且使得本领域的其他技术人员能够对于具有如适于特定的使用构思的各种修改的实施例理解本发明。 Embodiments were chosen and described to best explain the principles and practice of the present invention and enable others skilled in the art to the embodiment with various modifications as are suited to the particular use contemplated understanding of the present invention.

[0072] 在此描述的流程图仅仅是一个示例。 [0072] In the flowchart described herein is merely one example. 可以存在对于在此描述的图和步骤(或操作) 的需要变化而不背离本发明的精神。 It may exist in the map and described the steps (or operations) changes in requirements without departing from the spirit of the invention. 例如,可以以不同顺序执行各步骤,或者可以添加、删除或修改各步骤。 For example, you can perform the steps in a different order, or you can add, delete, or modify each step. 所有这些变化视为要求保护的发明的一部分。 All these changes as part of the claimed invention.

[0073] 尽管已经描述了优选实施例,但是本领域的技术人员要理解的是,现在和未来可以进行各种改进和提高,其落入所附权利要求的范围内。 [0073] Although the preferred embodiments have been described, those skilled in the art will appreciate that the present and future can be variously modified and improved, it falls within the scope of the appended claims. 这些权利要求应该理解为保持对于首先描述的本发明的适当保护。 These claims should be understood for the present invention, in order to maintain the proper protection of the first described.

Classifications
International ClassificationH04L1/00
Cooperative ClassificationH04L49/506, H04L49/555, H04L49/557, H04L43/0835, H04L47/6275, H04L49/9057
Legal Events
DateCodeEventDescription
17 Sep 2014C06Publication
22 Oct 2014C10Entry into substantive examination