CN107770085A - Network load balancing method, equipment and system - Google Patents

Network load balancing method, equipment and system Download PDF

Info

Publication number
CN107770085A
CN107770085A CN201610710518.3A CN201610710518A CN107770085A CN 107770085 A CN107770085 A CN 107770085A CN 201610710518 A CN201610710518 A CN 201610710518A CN 107770085 A CN107770085 A CN 107770085A
Authority
CN
China
Prior art keywords
network
stream
sub
load balancing
data
Prior art date
Application number
CN201610710518.3A
Other languages
Chinese (zh)
Inventor
龚志波
高静
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201610710518.3A priority Critical patent/CN107770085A/en
Publication of CN107770085A publication Critical patent/CN107770085A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/12Congestion avoidance or recovery
    • H04L47/125Load balancing, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/24Flow control or congestion control depending on the type of traffic, e.g. priority or quality of service [QoS]
    • H04L47/2441Flow classification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/24Flow control or congestion control depending on the type of traffic, e.g. priority or quality of service [QoS]
    • H04L47/2483Flow identification

Abstract

The embodiment of the invention provides a network load balancing method, including the following steps: terminal equipment provides P logical channels, wherein P represents the network maximum load balancing path number, and P is an integer greater than or equal to 2; the terminal equipment partitions a data stream to be sent in a unit of stream segments to form multiple sub-data streams; and theterminal equipment maps the multiple sub-data streams to the P logical channels and sends the sub-data streams to network equipment. According to the scheme of the invention, the data stream to be sent is partitioned in the unit of stream segments and mapped to the multiple logical channels, a fine-grained and more-balanced load sharing technical scheme can be implemented in the network, the network utilization can be effectively improved, and the load balancing effect can be optimized; and meanwhile, the phenomenon that the network equipment records the state and path information of a singledata stream can be avoided.

Description

一种网络负载均衡方法、设备及系统 A network load balancing method, apparatus and system for

技术领域 FIELD

[0001]本发明涉及网络通信技术领域,尤其涉及一种网络负载均衡方法、设备及系统。 [0001] The present invention relates to network communication technologies, and in particular, to a network load balancing method, device and system.

背景技术 Background technique

[0002]在数据通讯网络中,通常存在多条不同链路可以到达同一目的地址。 [0002] In data communication networks, there are typically multiple links to reach the same destination address. 如果使用传统的路由技术,发往该目的地址的报文只能利用其中的一条链路,不能有效利用网络资源。 If conventional routing techniques, sent to the destination address of the packet in which only one link, the inefficient use of network resources. 米用负载均衡技术,按一定的规则将流量分担到多条链路上,可以提升链路利用率,还可以备份失效链路的数据传输。 M with load balancing, according to certain rules to share traffic on these links, may improve link utilization, may also backup data of the failed link. 当前现有技术中,比较常见的负载均衡技术是等价多路径(Equal Cost Multi-Path,ECMP)技术,来实现多路径负载均衡和链路备份的目的。 The current prior art, the more common load balancing techniques ECMP (Equal Cost Multi-Path, ECMP) techniques to achieve the object of the multi-path load balancing and link backup.

[0003]米用负载均衡技术,需要将前往同一目的地址的报文调度到多个路径。 [0003] m using a load balancing technique, it is necessary to schedule the packets to the same destination address to a plurality of paths. 调度的单位目前有多种选择。 Scheduling unit currently has a variety of options. 当前提出一种采用流分段(Flowcell)的概念,含义是在传输控制协议(Transport Control Protocol,TCP)发送端发出数据流时,按照一定的数据量为单位将数据流切分为多个分段,每个分段具有唯一编号,记为流分段标识Flowcell ID。 The current concept provides a use stream segments (Flowcell), the meaning of the data stream is sent in the sending end of the transmission control protocol (Transport Control Protocol, TCP), in accordance with a certain amount of data units of the data stream into a plurality of cutting points segments, each segment having a unique number, referred to as a stream segment identifier Flowcell ID. 流分段方法的优点是每个分段的数据量有明确的上限,那么基于流分段的负载均衡调度可以取得很好的均衡性。 The method of the advantages of segmented flow amount of data per segment is a clear upper limit, it can get a good balance of load balancing based on scheduled flow segment. 例如以64K字节为单位划分流分段,则单个数据流的负载均衡流量精度误差不超过64K字节。 For example, 64K bytes divided stream segments, the traffic load balancing accuracy error of a single data stream does not exceed 64K bytes. 大量数据流同时进行负载均衡时,产生显著的累积误差(例如达到千兆链路带宽的1 %,g卩10Mbps)的概率极其微小。 When the number of data streams simultaneously load balancing, a significant accumulation of errors (e.g., 1% gigabit link bandwidth, g Jie 10Mbps) extremely small probability.

[0004] 巧有技术中,以流(Flow)为单位进行ECMP是最常见的负载均衡的方法。 [0004] clever art to flow (Flow) as a unit ECMP is the most common method of load balancing. 这种方法的原理是采用五元组(源IP地址、目的IP地址、源端口号、目的端口号、协议号)进行散列计算,把每个流映射到多个可用链路上的一个。 The principle of this method is the use of five-tuple (source IP address, destination IP address, source port number, destination port number, protocol number) in the hash calculation, the maps each stream to a plurality of the available links. 但是基于流的负载均衡,存在负载分担不均匀的问题,网络中可能有一部分路径未能得到有效利用。 However, load balancing based on flow, the problem of uneven load sharing exists, the network might be part of the path has not been effectively utilized.

发明内容 SUMMARY

[0005] 有鉴于此,实有必要提供一种网络负载均衡的方法、设备及系统,用于提升链路利用率。 [0005] In view of this, there is a need to provide a network load balancing method, apparatus and system for lifting link utilization. 本发明是基概念,提出一种网络负载均衡方法、设备及系统。 The present invention is a group concept, to provide a network load balancing method, device and system.

[0006] 第一方面,一种网络负载均衡的方法,包括:所述终端设备提供P条逻辑通道,所述P为网络最大负载均衡路径数p,p为大于等于2的整数;所述终端设备将待发送的数据流以流分段为^单位进行分割,生成多个子数据流;所述终端设备将所述多个子数据流映射到所述P个逻辑通道,发送至所述网络设备。 [0006] In a first aspect, a network load balancing method, comprising: providing the terminal device of logical channel P, P is the maximum network load balancing path number p, p is an integer of 2; said terminal device data to be transmitted is segmented into a flow stream ^ divided units to generate a plurality of sub-data streams; the terminal device, the plurality of sub-data stream is mapped to the logical channels P, sent to the network device. 本发明通过将待发送数据流以流分段为单位进行分害1J,并过映射到多个逻辑通道上,可以在网络中实现细粒度的、负载分担更均衡的技术方案,有效提升网络利用率,优化负载均衡效果,同时避免网络设备记录单个数据流的状态和路径信息。 By the present invention, data streams to be transmitted in units of sub-stream segments harm 1J, and passed through a plurality of logical channels mapped to, may be implemented in a network of fine-grained, more balanced load sharing aspect, effectively improve the network utilization rate, optimize load balancing effect, while avoiding the recording state of the network device and a single data stream path information.

[00!7]、应理解,流分段的含义是在传输控制协议(Transport Control Protocol,TCP)发送端$出数据流时,按照一定的数据量为单位将数据流切分为多个分段,每个分段具有唯一,号,记为流分段标识HowceH ID。 [00! 7], it should be understood that the meaning of the stream segment is a transmission control protocol (Transport Control Protocol, TCP) $ a transmitting side data streams, in accordance with a certain amount of data units of the data stream into a plurality of cutting points segments, each segment having a unique number, referred to as a stream segment identifier HowceH ID. 对流分段的说明,适用于本发明所有实施例,后续不再赘述。 DESCRIPTION convection segmented, applicable to all embodiments of the invention, subsequent omitted.

[0008] 在一种可能的设计中,所述方法还包括当第X个子数据流与下一个数据流累加的长度超过所述流分段的最大值,将所述下一个数据流作为第X+1个待发送的数据流,X为非负整数。 [0008] In one possible design, the method further comprising when the first data stream X th data stream with the next accumulated length exceeds the maximum value of the stream segments of the data stream as the next X +1 data stream to be transmitted, X is a non-negative integer.

[0009] 在一种可能的设计中,所述子数据流还包括:流分段标识;根据所述流分段标识, 对P取余,获取与流分段标识对应的逻辑通道;将所述流分段标识的子数据流分别映射到所述对应的逻辑通道。 [0009] In one possible design, the sub-data stream further comprises: stream segment identifier; segment identifier from said flow of modulo P, obtaining stream segments corresponding to logical channel identifier; The said sub-data stream segments identified streams are mapped to the corresponding logical channel. 本发明实施例将子数据流根据流分段标识对P取余映射到多个逻辑通道上,可以在网络中实现负载分担更均衡的技术方案。 Embodiments of the present invention, the sub-data stream modulo P mapped to the plurality of logical channels according to the stream segment identifier, a more balanced load balancing can be achieved technical solutions in the network.

[0010] 在一种可能的设计中,通过读取所述终端设备的存储器确定所述最大负载均衡路径数P。 [0010] In one possible design, the memory of the terminal device determines the maximum number of load balancing path by reading P.

[0011] 在一种可能的设计中,通过控制台或者命令行设置所述终端设备的最大负载均衡路径数P。 [0011] In one possible design, the command line provided by the console or the terminal device number maximum load equalization path P.

[0012] 第二方面,本发明实施例还提供一种网络负载均衡的方法,包括:接收来自上游节点的多个子数据流,根据所述子数据流的五元组和所述流分段标识对P取余进行散列运算, 映射到多个物理链路发送至下一跳节点,其中,P为网络最大负载均衡路径数,P为大于等于2的整数。 [0012] In a second aspect, embodiments of the present invention further provides a network load balancing method, comprising: receiving a plurality of data sub-streams from an upstream node, quintuple flow stream and the segment identifier based on said sub-data remainder of P hashed mapped to the next hop node to transmit a plurality of physical links, wherein, P is the maximum number of network load balancing path, P is an integer of 2. 本发明通过将待发送数据流以流分段为单位进行分割,并通过映射到多个逻辑通道上,可以在网络中实现细粒度的、负载分担更均衡的技术方案,有效提升网络利用率, 优化负载均衡效果,同时避免网络设备记录单个数据流的状态和路径信息。 By the present invention, data streams to be transmitted in units of divided stream segment, and by mapping to a plurality of logical channels may be implemented in a network of fine-grained, more balanced load sharing aspect, effectively improve network utilization, optimize load balancing effect, while avoiding the recording state of the network device and a single data stream path information.

[0013] 在一种可能的设计中,所述P值是通过读取存储器获取。 [0013] In one possible design, the P value is obtained by reading the memory.

[0014] 在一种可能的设计中,所述P值是通过命令行或者网管设备来获取。 [0014] In one possible design, the P-value is the command line or network management device to acquire.

[0015] 第三方面,本发明实施例还提供一种终端设备,包括处理器,用于提供P个逻辑通道,所述P为网络最大负载均衡路径数P,P为大于等于2的整数;将待发送的数据流以流分段为单位进行分割,生成多个子数据流;收发器,将所述多个子数据流映射到所述P个逻辑通道,发送至网络设备。 [0015] In a third aspect, embodiments of the present invention further provides a terminal device, comprising a processor for providing a logical channel P, P is the maximum number of network load balancing path P, P is an integer equal to 2; the data stream to be transmitted in units of divided stream segments, generating a plurality of sub-data streams; transceiver, the plurality of sub-data stream is mapped to the logical channels of said P, to the network device. 本发明通过将待发送数据流以流分段为单位进行分割,并通过映射到多个逻辑通道上,可以在网络中实现细粒度的、负载分担更均衡的技术方案,有效提升网络利用率,优化负载均衡效果,同时避免网络设备记录单个数据流的状态和路径信息。 By the present invention, data streams to be transmitted in units of divided stream segment, and by mapping to a plurality of logical channels may be implemented in a network of fine-grained, more balanced load sharing aspect, effectively improve network utilization, optimize load balancing effect, while avoiding the recording state of the network device and a single data stream path information.

[0016] 在一种可能的设计中,所述子数据流还包括:流分段标识;所述处理器,还用于根据所述流分段标识,对P取余,获取与流分段标识对应的逻辑通道;将所述流分段标识的子数据流分别映射到所述对应的逻辑通道。 [0016] In one possible design, the sub-data stream further comprises: stream segment identifier; the processor further stream segments according to said identification, for modulo P, obtaining stream segments corresponding logical channel identifier; the identifier of the stream segments are mapped to sub-data stream corresponding to the logical channel. 本发明实施例将子数据流根据流分段标识对P取余映射到多个逻辑通道上,可以在网络中实现负载分担更均衡的技术方案。 Embodiments of the present invention, the sub-data stream modulo P mapped to the plurality of logical channels according to the stream segment identifier, a more balanced load balancing can be achieved technical solutions in the network.

[0017] 在一种可能的设计中,所述处理器用于读取所述终端设备的存储单元确定所述最大负载均衡路径数P。 [0017] In one possible design, the processor of the terminal device for reading a memory cell determines the maximum number of load balancing path P.

[0018] 在一种可能的设计中,所述收发器还用于发送第一消息至所述网络设备,用于请求所述网络设备反馈P值。 [0018] In one possible design, the transceiver is further configured to send a first message to the network device, the network device for requesting feedback P value.

[0019] 第四方面,本发明实施例还提供一种网络设备,包括处理器,接收来自上游节点的多个子数据流,其中,每个子数据流携带流分段标识;收发器,用于根据所述子数据流的五元组和所述流分段标识对P取余进行散列运算,映射到多个物理链路发送至下一跳节点,其中,P为网络最大负载均衡路径数,P为大于等于2的整数。 [0019] In a fourth aspect, embodiments of the present invention further provides a network device, including a processor, a plurality of sub-data streams received from an upstream node, wherein each sub-stream carries the data stream segment identifier; transceiver, according to the sub-data stream quintuple segment identifier and the flow of the hashed modulo P mapped to the next hop node to transmit a plurality of physical links, wherein, P is the maximum network load balancing the number of paths, P is an integer of 2. 本发明通过将待发送数据流以流分段为单位进行分割,并通过映射到多个逻辑通道上,可以在网络中实现细粒度的、负载分担更均衡的技术方案,有效提升网络利用率,优化负载均衡效果,同时避免网络设备记录单个数据流的状态和路径信息。 By the present invention, data streams to be transmitted in units of divided stream segment, and by mapping to a plurality of logical channels may be implemented in a network of fine-grained, more balanced load sharing aspect, effectively improve network utilization, optimize load balancing effect, while avoiding the recording state of the network device and a single data stream path information.

[0020] 在一种可能的设计中,所述P值是通过读取存储器获取。 [0020] In one possible design, the P value is obtained by reading the memory.

[0021] 在一种可能的设计中,所述P值是通过命令行或者网管设备来获取。 [0021] In one possible design, the P-value is the command line or network management device to acquire.

[0022] 第五方面,一种通信系统,包括如第三方面所述的终端设备和如第四方面所述的网络设备。 [0022] In a fifth aspect, a communication system comprising a terminal device according to the third aspect and a network device as the fourth aspect.

[0023] 本发明通过将待发送数据流以流分段为单位进行分割,并通过映射到多个逻辑通道上,可以在网络中实现细粒度的、负载分担更均衡的技术方案,有效提升网络利用率,优化负载均衡效果,同时避免网络设备记录单个数据流的状态和路径信息。 [0023] The present invention, by sending the data stream to be segmented in units of divided stream, and by mapping to a plurality of logical channels may be implemented in a network of fine-grained, more balanced load sharing aspect, effectively improve the network utilization, optimize load balancing effect, while avoiding the device status and network path information recorded single data stream.

附图说明 BRIEF DESCRIPTION

[0024] 图1A是本发明实施例提供的一种通信网络的示意性架构图; [0024] FIG 1A is a schematic diagram of a communication network architecture according to an embodiment of the present invention;

[0025] 图1B是本发明实施例提供的另一种通信网络的示意性架构图; [0025] FIG. 1B is a schematic architecture diagram of another communication network according to an embodiment of the present invention;

[0026] 图2A是本发明实施例提供的不同粒度的数据的示意性图; [0026] FIG. 2A is a different size according to an embodiment of the present invention is schematically data;

[0027] 图2B是本发明实施例提供的一种新型TCP报文的结构性示意图; [0027] FIG. 2B is a schematic structural diagram of a novel TCP packet according to an embodiment of the present invention;

[0028] 图3是本发明实施例提供的一种网络负载均衡的方法流程示意图; [0028] FIG. 3 is a schematic diagram of a network load balancing provides a method embodiment of the process of the present invention;

[0029] 图4是本发明实施例提供的一种子数据流映射到逻辑通道的示意图; t〇〇3〇] 图5是本发明实施例提供的一种网络负载均衡的方法流程示意图; [0029] FIG. 4 is a schematic diagram of an embodiment provided by the sub-data stream is mapped to the logical channel embodiment of the present invention; t〇〇3〇] FIG. 5 is a schematic diagram of a network load balancing process flow according to an embodiment of the present invention;

[0031]图6是本发明实施例提供的一种将多个子数据流映射到多条物理通道的示意图; [0032]图7是本发明实施例提供的一种将多个子数据流映射到多条物理通道的示意图; [0033]图8是本发明实施例提供的一种网络设备的结构示意图; [0031] FIG. 6 is a plurality of sub-data streams to a schematic view of one kind of a plurality of physical channels according to an embodiment of the present invention; [0032] FIG. 7 is an embodiment of the present invention is provided a plurality of sub-data streams mapped to the plurality a schematic diagram of physical channels; [0033] FIG. 8 is a schematic structural diagram of a network device according to an embodiment of the present invention;

[0034]图9是本发明实施例提供的一种网络设备的结构示意图; [0034] FIG. 9 is a schematic structural diagram of a network device according to an embodiment of the present invention;

[0035]图10是本发明实施例提供的一种网络设备的结构示意图。 [0035] FIG. 10 is a schematic structural diagram of a network device according to an embodiment of the present invention.

具体实施方式 Detailed ways

[0036] 为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。 [0036] The object of the present invention such that the invention, features, and advantages more comprehensible, the present invention in conjunction with the accompanying drawings in the following embodiments, the technical solutions in the embodiments of the present invention will be clearly and completely described, clearly , embodiments described below are merely part of embodiments of the present invention, but not all embodiments. 基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。 All other embodiments based on the embodiments of the present invention, those skilled in the art obtained, are within the scope of protection of the present invention.

[0037]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。 [0037] in the specification and claims of the invention and said claims figures the terms "first," "second," and the like are used for distinguishing between similar objects, and not necessarily for describing a particular sequential or priorities. 应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分方式。 It should be understood that such terms may be used interchangeable under appropriate circumstances, this is merely to distinguish embodiment described embodiments of the present invention, the object of the same attributes used in the description. 此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。 Furthermore, the terms "including" and "having," as well as any of their deformation, intended to cover non-exclusive inclusion, so as to contain a series of unit process, method, system, or apparatus not necessarily limited to those elements, but may include no clear or to such process, method, article, or apparatus other inherent to the units listed.

[0038]本发明终端设备可以经网络与一个或多个网络设备进行通信,用户设备可以指用户终端、计算机、服务器、电话、电脑、手持设备、打印机、掌上电脑、传真机、多功能设备、投影仪、绘图仪等设备。 [0038] The terminal device according to the present invention may communicate over a network with one or more network devices, the user device may refer to a user terminal, computer, server, telephone, computers, handheld devices, printers, handheld computers, facsimile machine, multifunction device, projector, plotter devices.

[0039]本发明网络设备可以是用于与终端设备进行通信的网络侧设备,例如,可以是路由器、交换机、网桥、集线器、调制解调器、或者其他具有转发报文功能的设备。 [0039] The present invention may be a network device with a terminal device for network-side communication apparatus, for example, routers, switches, bridges, hubs, modems, or other devices having a function to forward packets.

[0040]示例性地,图1A为本发明实施例提供的一种通信网络100的示意性架构图。 [0040] Illustratively, FIG. 1A present a schematic diagram of a communication network architecture 100 is provided in the embodiment of the invention. 终端设备110通过网络设备12〇、13〇连接到终端设备140上。 Terminal equipment 110, connected to the 13〇 terminal apparatus 140 via network device 12〇. 示例性地,图1B是本发明实施例提供的另一种通信网络100的示意性架构图。 Illustratively, FIG. 1B is another embodiment of a communication network according to the present invention, a schematic of the architecture 100 of FIG. 终端设备110通过网络设备120、130、132连接到终端设备140上。 Terminal equipment 110 is connected to the terminal device 140 via the network devices 120,130,132. 应理解,图1A和图1B仅为示例,实际中的组网架构可能复杂得多,从网络设备120至终端设备140之间可能存在多个网络节点,图1A和图1B仅仅以存在网络设备130和/或132为例。 It should be understood, FIGS. 1A and 1B are merely examples, network architecture might actually much more complex, may exist between a plurality of network nodes from the network device 140 to the terminal device 120, FIGS. 1A and 1B only in the presence of the network device 130 and / or 132 for example. 假设源节点设备110欲发送数据流至目的节点140,途径网络设备120以及130、 132,其中,网络设备120至目的节点140中存在三条物理路径,本发明的实施例提供一种网络负载均衡方法使得数据流可以均衡在上述三条物理路径上传输。 Device 110 is assumed to be the source node to the destination node transmits the data stream 140, device 120 and network routes 130, 132, wherein the three physical paths exist in the network 140 to the destination node device 120, embodiments of the present invention to provide a network load balancing method so that the transmitted data stream may be equalized on the three physical paths.

[0041]需要说明的是,如图2A所示,图2A示出了不同粒度的数据的示意性图。 [0041] Incidentally, as shown in FIG. 2A, FIG. 2A shows a schematic map data different particle sizes. 图2A以流分段上限为64KB为例,说明了从TCP数据流到流分段、再到报文的划分示意图。 FIG 2A is divided in sections a schematic flow limit is 64KB to illustrate the flow of data flowing from the TCP segment, then packets. 一般地,将TCp 数据流按固定的长度上限划分为多个流分段,如果某个TCP数据流与前面的数据流所累加的长度超过了上限,则该数据流被划分到下一个流分段中。 Generally, the TCp data stream into fixed maximum length of a plurality of stream segments, if a TCP data stream with the data stream preceding the accumulated length exceeds the upper limit, then the next data stream is divided into a fraction segment. 在划分流分段的同时,为流分段分配流分段标识。 While dividing the stream segment, segment identifier for the segment distribution flow stream. 在流分段进一步切分为报文(packet)的环节,将流分段标识封装到每个报文的报文头(packet header)中。 In further aspects of the stream segment segmented into packets (Packet) will flow into each segment identifier encapsulated packet header (packet header). 如此,划分到同一流分段中的多个TCP数据流,在网络链路上传输的报文中,携带相同的流分段标识。 Thus, the data stream is divided into a plurality of TCP segments in the same class, the packets transmitted on the network link, the stream carrying the same segment identifier.

[0042] 如图2B所示,提供一种新型TCP报文,包括: [0042] As shown in FIG. 2B, to provide a novel TCP packet, comprising:

[0043] 源端口和目的端口:各占2个字节,是运输层与应用层的服务接口。 [0043] The source and destination ports: occupies 2 bytes, a transport service interface layer and the application layer.

[0044] 序号:占4个字节。 [0044] Reference: 4 bytes. TCP连接传输的数据流中的每一个字节都被编上一个序号。 TCP connection transmitting data streams in each byte is encoded on a number. 首部中序号字段的值指的是本报文段所发送的数据的第一个字节的序号。 Value header sequence number field refers to the first sequence number of a byte of data transmitted with this segment.

[0045] 确认号:占4个字节,是期望收到对方下一个报文段的数据的第一个字节的序号。 [0045] Confirmation Number: 4 bytes, is desirable interface receives the next data segment in the first byte of the packet sequence number.

[0046] 数据偏移:占4比特,它指出报文段的数据起始处距离TCP报文段的起始处有多远。 [0046] Data Offset: 4 bits representing, indicating that the data at the beginning of the segment at the beginning of how close the segments TCP. 实际上就是TCP报文段首部的长度。 In fact, the length of the header of a TCP segment.

[0047] 保留字段,占6比特。 [0047] Reserved field, accounting for 6 bits. 本发明实施例中的Flowcell ID可以扩展在该保留字段中,也可以通过定义一个名为Flowcell ID的字段来承载流分段标识。 The embodiments of the present invention can be extended Flowcell ID in this reserved field, the field may be defined by Flowcell ID called a segment identifier to the carrier stream.

[0048] 紧急比特URG:当URG取值1时,表明紧急指针有效。 [0048] Emergency bits URG: URG when the value 1, it indicates that the urgent pointer valid. 它告诉系统报文段中有紧急数据,应尽快传送。 It tells the system to segment the data in an emergency, should be transferred as soon as possible.

[0049] 确认比特ACK:当ACK取值为1时,确认号字段才有效,当ACK取值为0时,确认号字段无效。 [0049] The acknowledgment bit ACK: ACK when the value is 1, the acknowledgment number field is valid when the ACK value is 0, the acknowledgment number field is invalid.

[0050] 推送比特PUSH:接收方接收到TOSH值为1的报文段时,会尽快的将其交付给接收应用进程,而不再等到整个接收缓存都填满后再向上交付。 [0050] Push bit PUSH: When the recipient receives a segment TOSH value of 1, will be delivered as soon as possible to the receiving application process, rather than wait until after the delivery of the entire receive buffer are filled up.

[0051] 复位比特RST:当RST取值为1时,表明TCP连接中出现严重差错,必须释放连接。 [0051] Reset bit RST: when the RST value is 1, indicating a serious error occurs in the TCP connection, the connection must be released. 复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接。 A reset bit is also used to reject illegal segment or refuse to open a connection.

[0052] 同步比特SYN:在连接建立时用来同步序号。 [0052] The synchronization bit SYN: used to synchronize the sequence number during connection establishment. 当SYN取值为1时而ACK取值为0时,表明这是一个连接请求报文段。 When the value is 1 sometimes SYN ACK value is 0, indicating that this is a connection request packet segments. 对方若同意建立连接,应在响应的报文段中使SYN取值为1和ACK取值为1。 If the other party agrees to establish a connection, should the value of the segment manipulation SYN and ACK response to a value of 1. 因此,SYN取值为1就表示这是一个连接请求或连接接收报文。 Accordingly, SYN value of 1 to indicate a connection or connection request packets received.

[0053] 终止比特FIN:当FIN取值为1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。 [0053] FIN stop bit: FIN when the value of 1, this indicates that the data transmission terminal segment has been transmitted, and for the release of the transport connection.

[0054] 窗口:占2个字节,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。 [0054] Window: 2 bytes, the other to control the amount of data transmitted, in bytes, indicating the upper limit of the other transmission window.

[0055]校验和:占2个字节,校验的范围包括首部和数据两个部分,计算校验和时需要在报文段前加上12字节的伪首部。 [0055] Checksum: 2 bytes, the range check comprises two header portions and data, and a pseudo header checksum is calculated as needed before adding 12 bytes of segments.

[0056]紧急指针:占2个字节,指出本报文段中紧急数据中最后一个字口紧急比特URG取值为1时,才有效。 [0056] The urgent pointer: 2 bytes indicating the newspaper urgent data segment in the last word in an emergency opening, URG bit value is valid. . Eight

[0057]选项:长度可变。 [0057] Options: variable length. TCP只规定了一种选项,即最大报文段长度(Maximum化柳的七Size,MSS)。 TCP provides only an option, the maximum segment size (Maximum of seven willow Size, MSS).

[0058]以下发明实施例可应用于具有多条物理链路的数据通讯网络中,例如但不限于, 广域网、企业网、数据中心网等。 Embodiment [0058] The following invention may be applied to a data communication network having a plurality of physical links such as, but not limited to, a wide area network, enterprise network, the data center network. 具体方案请参考以下实施例: 一' Make reference to the following specific embodiments: a '

[0059] 实施例一 [0059] Example a

[0060]如图3所不,本发明实例一提供一种网络负载均衡的方法300,包括: [0060] FIG. 3 is not, one example of the present invention to provide a network load balancing method 300, comprising:

[0061]步骤310、终端设备提供P条逻辑通道,所述p为网络最大负载均衡路径数p,p为大于等于2的整数; [0061] Step 310, the terminal device provides P of logical channels, and p is the maximum network load balancing path number p, p is an integer of 2;

[0062]步骤320、所述终端设备将待发送的数据流以流分段为单位分割,生成多个子数据流; [0062] Step 320, the terminal device data stream to be transmitted in units of divided stream segments, generating a plurality of sub-data streams;

[0063]步骤33〇、所述终端设备将所述多个子数据流映射到所述P条逻辑通道,发送至网络设备。 [0063] Step 33〇, the terminal device of the plurality of sub-data streams to the P of logical channels, transmits to the network device.

[00M]具体地,网络最大负载均衡路径数P是指整个网络中从某一个节点到另一个节点之间最大的路径数量。 [00M] Specifically, the network load balancing maximum number of paths P is the maximum number of paths between from one node to another node across the network.

[0065] 终端设备获取网络最大负载均衡路径数p值,有多种实现方式: [0065] The network terminal device acquires the maximum number of load balancing path p value, there are a variety of ways:

[0066]比如,第一种实现方式为:将网络最大负载均衡路径数P设置为网络协议的一部分,网络中的终端设备和网络设备均遵循该网络协议指定的P值,即设备出厂前,已经将P值写入设备的存储器,后续不再改变。 [0066] For example, a first embodiment is implemented: the network number of the maximum load equalization path P is provided as part of the network protocol, the network terminal and network devices that are to follow the P value specified network protocol, i.e., device before delivery, P values ​​have been written to the memory device, no subsequent change. 比如,协议规定P为6,终端设备和网络设备P值默认为6。 For example, the agreement P 6, P terminal and network equipment for the default value of 6. 在此实现方式中,步骤310可以理解为,通过读取终端设备或者网络设备的存储器,确定p 值。 In this implementation, step 310 can be understood by reading the terminal device or a network storage device, the p-value is determined.

[0067]第二种实现方式为:由网络管理者通过控制台或者命令行来设置网络设备的p值, 然后终端设备通过信令或者消息从网络设备处获取P值。 [0067] The second implementation way: p value is set by the network device, or the console command line by a network administrator, and P values ​​acquired from the terminal device at a network device, or through a signaling message. 比如,具体的实现步骤为: For example, specific implementation steps of:

[0068]步骤A:终端设备发送第一消息至网络设备,第一消息用于请求网络设备反馈网络最大负载均衡路径数P; [0068] Step A: the terminal apparatus transmits a first message to the network device, a first message to the maximum number of paths P load balancing network device requesting feedback network;

[0069]步骤B;网络设备发送第二消息至终端设备,所述第二消息携带所述P值。 [0069] Step B; the network device transmitting the second message to the terminal device, the second message carrying the P value.

[0070]其中,网络设备的P值,是由网络管理者通过控制台或者命令行人为设置的。 [0070] wherein, P value of the network device, by the network manager console or by a command to set a pedestrian. 这个p 值后续可以更改。 The p-value follow-up can be changed. 其中,第一消息、第二消息的格式可以参考现有技术TCP协议的帧格式,这里不再赘述。 Wherein the first message, the second message format may refer to the prior art frame format of the TCP protocol will not be repeated here. 可以通过扩展现有TCP协议的保留字段来承载所述p值。 The p-value can be carried by reserved field extends existing TCP protocol.

[0071]所述方法还包括:每个子数据流携带流分段标识。 [0071] The method further comprises: for each sub-stream carries the data stream segment identifier. 流分段标识的含义是在传输控制协议(Transport Control Pr〇t〇C〇l,TCP)发送端发出数据流时,按照一定的数据量为单位将数据流切分为多个分段,每个分段具有唯一编号,记为流分段标识Flowcell ID。 Meaning stream segment identifier of the data stream is sent at the sending end of the transmission control protocol (Transport Control Pr〇t〇C〇l, the TCP), in accordance with a certain amount of data units of the data stream into a plurality of cut segments, each of segments having a unique number, referred to as a stream segment identifier Flowcell ID.

[OO72] 具体地,步骤320中的逻辑通道,可以表示一个子连接,每个逻辑通道类似一个TCP 连接,具有独立的发送窗口和控制参数。 [OO72] Specifically, in step 320 a logical channel, it may represent a sub-connection, similar to a logical channel for each TCP connection, and transmitting window having an independent control parameters.

[0073] 终端设备对每个逻辑通道的报文进行并行发送,每个逻辑通道各自采用一个TCP 发送窗口控制发送速率。 [0073] The terminal device transmits packets in parallel each logical channel, each logical channel each use a transmission rate control TCP transmission window.

[0074] 在本发明实施例中,终端设备可以对每个逻辑通道进行准确的路径拥塞状态测量,并进行相应的流量控制。 [0074] In an embodiment of the present invention, the terminal device may be accurately route congestion status for each logical channel, and the corresponding flow rate control. 举例说明: for example:

[0075] 步骤a、逻辑通道#1将当前发送窗口允许发送的报文发出; [0075] Step a, logical channel # 1 the current transmission window allows the transmission of packets to be sent;

[0076] 步骤b、等候接收端(网络设备)反馈逻辑通道#1的接收确认报文; [0076] Step b, waiting for the receiving side (network device) logical channels # 1 receives a feedback acknowledgment packet;

[0077] 当接收端发现同一个流分段中接收的报文的数据序号不连续时,说明出现了丢包; [0077] Upon receiving peer discovery packet data stream segments in the same number of discontinuous reception, it indicates that there is a packet loss;

[0078] 步骤c、接收端反馈接收确认报文,要求重新传输丢失的报文; [0078] Step C, receiving feedback from the receiver acknowledgment packet requiring retransmission of lost packets;

[0079]步骤d、发送端接收到要求重新传输丢失的报文时,除了重新传输丢失的报文,还会认为此逻辑通道发生了拥塞; [0079] Step d, the sender receives the time required retransmission of lost packets, except retransmission of lost packets, this will be considered a logical channel congestion occurs;

[0080] 步骤e、发送端将发送窗口尺寸减半,即降低发送报文的速率。 [0080] Step E, the transmitting end transmits the window size is halved, i.e. to reduce the rate of sending packets.

[0081]由于每个逻辑通道有各自独立的窗口,逻辑通道#1发生拥塞,只需要降低逻辑通道#1的报文发送速率,其他逻辑通道不受影响,正常发送报文。 [0081] Because each logical channel has its own separate window, the logical channel # 1 is congested, only necessary to reduce the logical channel # 1 of the packet transmission rate, other logical channels are not affected, the normal packets sent.

[0082]具体地,步骤330中“将分割后的各个流分段,映射到所述P个逻辑通道”,具体包括: [0082] Specifically, step 330 'to each of the divided stream segments, P mapped to the logical channel ", comprises:

[0083] 以流分段标识值对P取余,来获得各个流分段具体对应哪个逻辑通道。 [0083] In the stream segment identifier value P I taken to obtain respective stream segments which correspond to specific logical channels.

[0084] 示例性地,如图4所示,P取值为3,将待发送的数据流以64K字节为单位(即每个流分段的大小为64k字节),分割为5个Flowcell,编号分别记为Flowcell ID#0〜Flowcell ID#4。 [0084] Illustratively, as shown in FIG, P value of 3 to 4, the data stream to be transmitted to 64K bytes (i.e., each flow segment 64k bytes in size), is divided into five Flowcell, referred to as numbered Flowcell ID # 0~Flowcell ID # 4. 其中,Flowcell ID#0对应逻辑通道0、Flowcell ID#1对应逻辑通道1、依次类推, Flowcell ID#4对应逻辑通道1。 Wherein, Flowcell ID # 0 corresponds to logical channel 0, Flowcell ID # 1 corresponding to the logical channel 1, and so on, Flowcell ID # 4 corresponds to a logical channel.

[0085] 应理解,以流分段标识值对P取余只是一种具体的将流分段与P个逻辑通道对应的实现方式。 [0085] It should be understood, of a flow segment identifier value P I will take only a particular stream segments corresponding to logical channels with the P implementations. 还可以采用其他实现方式,比如,随机分配等。 Other implementations may also be used, for example, a random distribution. 本发明实施例对此不进行限定。 Embodiments of the invention which is not limited. [0086] 本发明通过将待发送数据流以流分段为单位进行分割,并通过映射到多个逻辑通道上,可以在网络中实现细粒度的、负载分担更均衡的技术方案,有效提升网络利用率,优化负载均衡效果,同时避免网络设备记录单个数据流的状态和路径信息。 [0086] The present invention, by sending the data stream to be segmented in units of divided stream, and by mapping to a plurality of logical channels may be implemented in a network of fine-grained, more balanced load sharing aspect, effectively improve the network utilization, optimize load balancing effect, while avoiding the device status and network path information recorded single data stream.

[0087] 实施例二 [0087] Second Embodiment

[0088] 如图5所示,本发明实施例二提供一种网络负载均衡的方法500,包括: [0088] As shown in FIG 5, the second embodiment provides a network load balancing method 500 of the present invention, comprising:

[0089]步骤510、网络设备接收来自上游节点的多个子数据流,其中,每个子数据流携带流分段标识; [0089] Step 510, the network device receives a plurality of sub-streams from an upstream node, wherein each sub-stream carries the data stream segment identifier;

[0090]步骤52〇、根据所述子数据流的五元组和所述流分段标识对P取余进行散列运算, 映射到多个物理链路发送至下一跳节点,其中,P为网络最大负载均衡路径数,P为大于等于2的整数。 [0090] Step 52〇 quintuple flow stream and the segment identifier of the hashed modulo P according to the sub data is mapped to the next hop node to transmit a plurality of physical links, wherein, P the maximum number of load balancing path network, P is an integer of 2.

[0091]所述下一跳节点可以是中间节点(网络设备),也可以是目的节点,是所述多个子数据流最终到达的终端设备。 [0091] The next hop node can be an intermediate node (network device), may be the destination node, said sub-plurality of terminal devices in a final data stream.

[0092]具体地,网络设备识别属于一个逻辑通道的报文是通过六元组信息,所谓六元组包括传统的五元组以及流分段标识对P值取余,即六元组包括:源IP、源端口、目的IP、目的端口、协议号以及流分段标识% P,其中,%表示取余运算。 [0092] Specifically, the network device belongs to a logical channel identifying packets by sextuple information, including the so-called conventional sextuple pentad segment identifier and a stream of modulo P values, i.e., sextuple comprising: the IP source, source port, destination IP, destination port, protocol number and the stream segment identifier% P, wherein% denotes a remainder operation.

[0093]其中,六元组相同的报文,来自一个逻辑通道。 [0093] wherein, six- same packet group, from a logical channel.

[0094]当接收报文时,网络设备首先按照常规的IP路由转发流程,根据报文目的IP地址查询路由表,得到的路由中包括M个下一跳,即代表相邻下游物理链路有!^条。 [0094] Upon receiving the message, the network device forwards the first process according to a conventional IP routing, routing table packets according to destination IP address, routing the obtained next hop includes M, which represents the adjacent downstream physical links have ! ^ bar. M大于等于丄。 Shang M or greater.

[0095]在一种实现方式中,如图6所示。 [0095] In one implementation, as shown in Fig. 逻辑通道P取值为3,即将3个逻辑通道上接收到的报文,通过三条物理链路发送,其中,第一逻辑通道上的报文通过第一物理链路发送;第二逻辑通道上的报文通过第二物理链路发送;第三逻辑通道上的报文通过第三物理链路发送。 3 P value of the logical channel, the received logical channels is about 3 packets, by three physical link, wherein a first packet on a first logical channel transmitted via the physical link; the second logical channel packets transmitted over a second physical link; packet on a third logical channel by transmitting a third physical links. 即在该种实现方式中,物理链路的编号与逻辑通道的编号一一对应。 I.e. such implementation, the logical channel number and the number of physical links correspond.

[0096]比如,在另一种实现方式中,如图7所示,逻辑通道P取值为3,物理路径物理链路取值为2,即将3个逻辑通道上接收到的报文,通过两条物理路径物理链路发送,其中,第一逻辑通道上的报文通过第一物理路径物理链路发送;第二逻辑通道和第三逻辑通道上的报文通过第二物理路径物理链路发送。 [0096] For example, in another implementation, shown in Figure 7, the logic value of P channel 3, the physical path to receive a physical link to the value 2, i.e. 3 packets logical channels, by two physical paths to physical link, wherein a first packet on a first logical channel transmitted via the physical path to the physical link; packets on a second logical channel and the third logical channel via a second physical link physical path send. 假如第二物理路径物理链路连接的下一跳节点下具有2 条物理路径物理链路,那么通过第二物理路径物理链路发送的报文可以通过二次分流。 If the physical path has two physical links next hop node physical link connected to a second physical path, then the packet transmitted through the second physical path through the physical link can be a secondary shunt. [0097]本发明通过将待发送数据流以流分段为单位进行分割,并通过映射到多个逻辑通道上,可以在网络中实现细粒度的、负载分担更均衡的技术方案,有效提升网络利用率, 优化负载均衡效果,同时避免网络设备记录单个数据流的状态和路径信息。 [0097] The present invention, by sending the data stream to be segmented in units of divided stream, and by mapping to a plurality of logical channels may be implemented in a network of fine-grained, more balanced load sharing aspect, effectively improve the network utilization, optimize load balancing effect, while avoiding the device status and network path information recorded single data stream.

[0098] 实施例三 [0098] Example three

[0099]如图8所示,本发明又一实施例提供一种终端设备800,该终端设备800包括处理器810和收发器820,其中: [0099] As shown in FIG. 8, yet another embodiment of the present invention provides a terminal apparatus 800, the terminal device 800 includes a processor 810 and a transceiver 820, wherein:

[0100] 处理器810,用于提供P个逻辑通道,所述P为网络最大负载均衡路径数,P为大于等于2的整数;将待发送的数据流以流分段为单元进行分割,生成多个子数据流; 收发器820,用于将所述多个子数据流映射到所述P个逻辑通道,发送至所述网络设备。 [0100] processor 810, for providing a logical channel P, P is the maximum network load balancing path number, P is an integer of 2; the stream data to be transmitted is divided as a unit stream segments to produce a plurality of sub-data streams; transceiver 820, for mapping the plurality of sub-data streams to the logical channels P, sent to the network device.

[0102] 其中,每个子数据流携带流分段标识。 [0102] wherein, each sub-stream carries the data stream segment identifier.

[0103] 具体地,获得网络最大负载均衡路径数P,有多种实现方式: [0103] Specifically, the maximum number of network load balancing path P, there are a variety of ways:

[0104] 比如,第一种实现方式为:将网络最大负载均衡路径数P设置为网络协议的一部分,网络中的终端设备和网络设备均遵循该网络协议指定的P值,即设备出厂前,已经将P值写入设备的存储器,后续不再改变。 [0104] For example, a first embodiment is implemented: the network number of the maximum load equalization path P is provided as part of the network protocol, the network terminal and network devices that are to follow the P value specified network protocol, i.e., device before delivery, P values ​​have been written to the memory device, no subsequent change. 处理单元810通过读取所述终端设备的存储单元确定所述最大负载均衡路径数P。 The processing unit 810 of the storage unit of the terminal device determines the maximum number of load balancing path by reading P.

[0105] 第二种实现方式为:由网络管理者通过控制台或者命令行来设置网络设备的P值, 然后终端设备通过信令或者消息从网络设备处获取P值。 [0105] The second embodiment is implemented: the P value to the network device through the console command line or by a network administrator, and P values ​​acquired from the terminal device at a network device, or through a signaling message. 比如,具体的实现方案为: For example, the specific implementation plan is:

[0106] 收发器820,用于发送第一消息至所述网络设备,用于请求所述网络设备反馈最大网络负载均衡路径数P值; [0106] Transceiver 820 is configured to send a first message to the network device, the network device for requesting the maximum network load balancing feedback path number P value;

[0107] 收发器820,还用于接收来自所述网络设备的、携带所述P值的第二消息。 [0107] The transceiver 820 is further configured to receive a second message carrying the value of P from the network device.

[0108] 其中,第一消息、第二消息的格式可以参考现有技术TCP协议的帧格式,这里不再赘述。 [0108] wherein the first message, the second message format of the prior art, reference may be the TCP protocol frame format is omitted here. 可以通过扩展现有TCP协议的保留字段来承载所述P值。 P may be a value obtained by carrying the reserved fields extend the existing TCP protocol.

[0109] 可选地,所属处理器还用于根据所述多个子数据流的流分段标识对P取余,来选择P个逻辑通道,具体可以参考实施例二中的方案,这里不再赘述。 [0109] Alternatively, the processor is further configured to belong to the modulo P according to the stream identifier of the plurality of segmented sub-data streams, selecting P logical channels, specifically with reference to two embodiments of implementation of the program, there is no longer repeat.

[0110] 应理解,本发明实施例三是对应于方法实施例一的装置实施例,对方法实施例一的描述,也应适用于本发明实施例三。 [0110] It should be understood, embodiments of the present invention according to a third embodiment of an apparatus corresponding to an embodiment of a method embodiment, a description of a method embodiment, the present invention also apply to the third embodiment.

[0111] 本发明通过将待发送数据流以流分段为单位进行分割,并通过映射到多个逻辑通道上,可以在网络中实现细粒度的、负载分担更均衡的技术方案,有效提升网络利用率,优化负载均衡效果,同时避免网络设备记录单个数据流的状态和路径信息。 [0111] The present invention, by sending the data stream to be segmented in units of divided stream, and by mapping to a plurality of logical channels may be implemented in a network of fine-grained, more balanced load sharing aspect, effectively improve the network utilization, optimize load balancing effect, while avoiding the device status and network path information recorded single data stream.

[0112] 实施例四 [0112] Fourth Embodiment

[0113] 如图9所示,本发明实施例提供一种网络设备900,包括: [0113] 9, the embodiment of the present invention provides a network device 900, comprising:

[0114]处理器910,接收来自上游节点的多个子数据流,其中,每个子数据流携带流分段标识。 [0114] processor 910, a plurality of sub-data streams received from an upstream node, wherein each sub-stream carries the data stream segment identifier.

[0115]收发器犯0,用于根据所述子数据流的五元组和所述流分段标识对P取余进行散列运算,映射到多个物理链路发送至下一跳节点,其中,P为网络最大负载均衡路径数,P为大于等于2的整数。 [0115] Transceiver made 0, according to the quintuple sub-data stream on the segment identifier and the flow hashed modulo P mapped to the next hop node to transmit a plurality of physical links, wherein, P is the maximum number of network load balancing path, P is an integer of 2.

[0116] 应理解,本发明实施例四是对应于方法实施例二的装置实施例,对方法实施例二的描述,也应适用于本发明实施例四。 [0116] It should be understood, according to a fourth embodiment of the present invention corresponding to the embodiment of the device according to the second embodiment of the method, described according to the second embodiment of the method, also apply to the fourth embodiment of the present invention.

[0117]本发明通过将待发送数据流以流分段为单位进行分割,并通过映射到多个逻辑通道上,可以在网络中实现细粒度的、负载分担更均衡的技术方案,有效提升网络利用率,优化负载均衡效果,同时避免网络设备记录单个数据流的状态和路径信息。 [0117] The present invention, by sending the data stream to be segmented in units of divided stream, and by mapping to a plurality of logical channels may be implemented in a network of fine-grained, more balanced load sharing aspect, effectively improve the network utilization, optimize load balancing effect, while avoiding the device status and network path information recorded single data stream.

[0118] 实施例五 [0118] Embodiment V

[0119]图10为本发明又一实施例提供的一种网络设备的示意性框图。 [0119] FIG 10 a schematic block diagram of a network device according to still another embodiment of the present invention provides. 该网络设备1000包括处理器1010、存储器1020、总线1030和用户接口1040、网络接口1050。 The network apparatus 1000 includes a processor 1010, memory 1020, a bus 1030, and a user interface 1040, network interface 1050.

[0120] 具体地,处理器1010控制网络设备1000的操作,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件。 [0120] Specifically, network device 1010 controls the operation of the processor 1000, the processor may be a general purpose processor, a digital signal processor, application specific integrated circuits, field programmable gate arrays or other programmable logic device.

[0121] 用户接口1060,用于连接下层终端设备; [0121] The user interface 1060 for connecting the lower terminal device;

[0122] 网络接口1050用于连接上层网络设备; [0122] The network interface 1050 for connecting the upper network devices;

[0123]网络设备1000的各个组件通过总线1〇5〇耦合在一起,其中总线系统1〇5〇除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。 [0123] The various components of network device 1000 1〇5〇 coupled together by a bus, wherein the bus system 1〇5〇 addition to a data bus, further comprising a power bus, a control bus, and a status signal bus. 但是为了清楚说明起见,在图中将各种总线都标为总线系统1050。 However, for clarity, the various buses are labeled in FIG bus system 1050. 需要说明的是,上述对于网元结构的描述,可应用于本发明的实施例。 Incidentally, the above description of the structure of the network element, applicable to embodiments of the present invention.

[0124] 存储器1020可以包括只读存储器(Read Only Memory,ROM)和随机存取存储器(Random Access Memory,RAM),或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。 [0124] The memory 1020 may include read only memory (Read Only Memory, ROM) and random access memory (Random Access Memory, RAM), or may store other types of information and instructions dynamic storage device, or may be a disk memory. 存储器1〇2〇可用于保存实现本发明实施例提供的相关方法的指令。 A memory for storing 1〇2〇 may implement instructions related to a method according to an embodiment of the present invention. 可以理解,通过编程或装载可执行指令到网元1〇〇〇的处理器1010,缓存和长期存储中的至少一个。 It will be appreciated, by loading or programming executable instructions to processor 1010 1〇〇〇 NE, the cache and at least one long-term storage. 在一种具体的实施例中,所述存储器,用于存储计算机可执行程序代码,其中,当所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述网元执行以下操作: In one particular embodiment, the memory for storing computer executable program code, wherein, when the program code comprising instructions which, when executed by the processor instructions cause the web yuan do the following:

[0125]提供P个逻辑通道,所述P为网络最大负载均衡路径数P,P为大于等于2的整数; [0125] P provides logical channels, P is the maximum number of network load balancing path P, P is an integer equal to 2;

[0126] 将待发送的数据流以流分段为单位分割,生成多个子数据流; [0126] The data stream to be transmitted in units of divided stream segments, generating a plurality of sub-data streams;

[0127] 将所述多个子数据流映射到所述P个逻辑通道,发送至所述网络设备。 [0127] The plurality of sub streams are mapped to the logical channels P, sent to the network device.

[0128] 或者,所述指令使所述网元执行以下操作: [0128] Alternatively, the instructions cause the network element to perform the following operations:

[0129]接收来自上游节点的多个子数据流,其中,每个子数据流携带流分段标识; [0129] plurality of sub-data streams received from an upstream node, wherein each sub-stream carries the data stream segment identifier;

[0130] 根据所述子数据流的五元组和所述流分段标识对P取余进行散列运算,映射到多个物理链路发送至下一跳节点,其中,P为网络最大负载均衡路径数,P为大于等于2的整数。 [0130] carried out according to the flow quintuple segment identifier and the sub-data stream of P modulo hashing, mapped to the next hop node to transmit a plurality of physical links, wherein, P is the maximum load network equilibrium path number, P is an integer of 2.

[0131] 以上作为设备的网元包含的处理器所执行操作的具体实现方式可以参照实施例一至二中的由设备执行的对应步骤,本发明实施例不再赘述。 DETAILED implementation [0131] or more processors included in the network element as the device performs an operation may refer to the corresponding steps performed by the embodiment of the apparatus according to one or two, not repeated embodiment embodiment of the present invention.

[0132] 本发明通过将待发送数据流以流分段为单位进行分割,并通过映射到多个逻辑通道上,可以在网络中实现细粒度的、负载分担更均衡的技术方案,有效提升网络矛化负载均衡效果。 [0132] The present invention, by sending the data stream to be segmented in units of divided stream, and by mapping to a plurality of logical channels may be implemented in a network of fine-grained, more balanced load sharing aspect, effectively improve the network spear of load balancing effect. 7 7

[0133] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。 [0133] Those of ordinary skill in the art may understand that the above embodiments all or part of the steps may be implemented by hardware, by a program instruction may be relevant hardware, the program may be stored in a computer-readable storage medium in the above-mentioned storage medium may be a read-only memory, magnetic or optical disk.

[0134] 本领域普通技术人员可知,上述方法中的全部或部分步骤可以通过程序指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质如ROM、 RAM和光盘等。 [0134] apparent to those of ordinary skill in the art, the above method steps may be all or part by a program instructing relevant hardware, the program may be stored in a computer-readable storage medium, the computer-readable storage medium such as ROM, RAM and CD-ROM.

[0135] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 [0135] In summary, the foregoing is only preferred embodiments of the present invention but are not intended to limit the scope of the present invention. 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 Any modification within the spirit and principle of the present invention, made, equivalent substitutions, improvements, etc., should be included within the scope of the present invention.

Claims (15)

1.一种网络负载均衡的方法,其特征在于,包括: 所述终端设备提供P条逻辑通道,所述P为网络最大负载均衡路径数P,P为大于等于2的整数; 所述终端设备将待发送的数据流以流分段为单位分割,生成多个子数据流; 所述终端设备将所述多个子数据流映射到所述P条逻辑通道,发送至网络设备。 A network load balancing method comprising: providing the terminal device of logical channel P, P is the maximum number of network load balancing path P, P is an integer of 2; the terminal device the data stream to be transmitted in units of divided stream segments, generating a plurality of sub-data streams; the terminal device, the plurality of sub-data streams to the P of logical channels, transmits to the network device.
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 当第X个子数据流与下一个数据流累加的长度超过所述流分段的最大值,将所述下一个数据流作为第X+1个待发送的数据流,X为非负整数。 2. The method according to claim 1, wherein said method further comprises: when the first sub-streams X data stream with the next accumulated length exceeds the maximum value of the stream segment, the next as the first data stream X + 1 data streams ready for transmission, X non-negative integer.
3.根据权利要求1或2所述的方法,其特征在于,所述子数据流还包括:流分段标识; 根据所述流分段标识,对P取余,获取与流分段标识对应的逻辑通道; 将所述流分段标识的子数据流分别映射到所述对应的逻辑通道。 3. The method of claim 1 or claim 2, wherein said sub-data stream further comprises: stream segment identifier; segment identifier from said flow of modulo P, the stream segment corresponding to the identifier obtaining the logical channel; the stream segments identified sub-stream are mapped to the corresponding logical channel.
4. 根据权利要求1〜3任意一项所述的方法,其特征在于,通过读取所述终端设备的存储器确定所述最大负载均衡路径数P。 The method according to claim 1 ~ 3 according to any one, wherein determining the maximum number of load balancing path by reading the memory of the terminal equipment P.
5. 根据权利要求1〜3任意一项所述的方法,其特征在于,确定网络最大负载均衡路径数P,具体包括: 发送第一请求消息至所述网络设备,所述第一请求消息用于请求所述网络设备反馈所述P值; 接收来自所述网络设备的第二消息,所述第二消息携带所述P值。 The method according to claim 1 ~ 3 according to any one, wherein determining the network load balancing maximum number of paths P, comprises: sending a first request message to the network device, the first request message with request feedback to the P value of the network device; receiving a second message from the network device, the second message carrying the P value.
6. —种网络负载均衡的方法,其特征在于,包括: 接收来自上游节点的多个子数据流,其中,每个子数据流携带流分段标识; 根据所述子数据流的五元组和所述流分段标识对P取余进行散列运算,映射到多个物理链路发送至下一跳节点,其中,P为网络最大负载均衡路径数,P为大于等于2的整数。 6. - kind of network load balancing method comprising: receiving a plurality of data sub-streams from an upstream node, wherein each sub-stream carries the data stream segment identifier; according to the quintuple sub-data stream and the an identification of said stream segments hashed modulo P mapped to the next hop node to transmit a plurality of physical links, wherein, P is the maximum number of network load balancing path, P is an integer equal to 2.
7.根据权利要求6所述的方法,所述P值是通过读取存储器来获取。 The method according to claim 6, the P value is acquired by reading the memory.
8. 根据权利要求6所述的方法,所述P值是通过命令行或者网管设备来获取。 8. The method according to claim 6, the P-value is the command line or network management device to acquire.
9. 一种终端设备,其特征在于,包括: 处理器,用于提供P个逻辑通道,所述P为网络最大负载均衡路径数P,P为大于等于2的整数;将待发送的数据流以流分段为单位进行分割,生成多个子数据流; 收发器,将所述多个子数据流映射到所述P个逻辑通道,发送至网络设备。 A terminal device, comprising: a processor for providing a logical channel P, P is the maximum number of network load balancing path P, P is an integer of 2; a flow of data to be transmitted in units of divided stream segments, generating a plurality of sub-data streams; transceiver, the plurality of sub-data stream is mapped to the logical channels of said P, to the network device.
10. 根据权利要求9所述的终端设备,其特征在于,所述子数据流还包括:流分段标识; 所述处理器,还用于根据所述流分段标识,对P取余,获取与流分段标识对应的逻辑通道;将所述流分段标识的子数据流分别映射到所述对应的逻辑通道。 The terminal apparatus according to claim 9, wherein said sub-data stream further comprises: stream segment identifier; the processor further stream segments according to said identification, for modulo P, obtaining stream segments corresponding to logical channel identifier; the identifier of the stream segments are mapped to sub-data stream corresponding to the logical channel.
11. 根据权利要求9或10所述的终端设备,其特征在于,所述处理器用于读取所述终端设备的存储单元确定所述最大负载均衡路径数P。 11. The terminal apparatus according to claim 9 or claim 10, wherein the storage unit of the terminal device for reading the processor determines the maximum number of load balancing path P.
12. 根据权利要求9或10所述的终端设备,其特征在于,所述收发器还用于发送第一消息至所述网络设备,用于请求所述网络设备反馈P值。 The terminal apparatus of claim 9 or claim 10, wherein the transceiver is further configured to send a first message to the network device, the network device for requesting feedback P value.
13. 一种网络设备,包括: 处理器,接收来自上游节点的多个子数据流,其中,每个子数据流携带流分段标识; 收发器,用于根据所述子数据流的五元组和所述流分段标识对P取余进行散列运算,映射到多个物理链路发送至下一跳节点,其中,P为网络最大负载均衡路径数,P为大于等于2 的整数。 13. A network device, comprising: a processor, a plurality of sub-data streams received from an upstream node, wherein each sub-stream carries the data stream segment identifier; transceiver, according to the quintuple sub-data stream and the identification of the stream segments hashed modulo P mapped to the next hop node to transmit a plurality of physical links, wherein, P is the maximum number of network load balancing path, P is an integer of 2.
14. 根据权利要求13所述的网络设备,其特征在于,所述P值是通过读取存储器获取。 14. The network device according to claim 13, wherein the P value is obtained by reading the memory.
15. 根据权利要求13所述的网络设备,其特征在于,所述P值是通过命令行或者网管设备来获取。 15. The network device according to claim 13, wherein the P value is determined by the command line or network management device to acquire. ie •—种通信系统,包括终端设备和网络设备,其中,所述终端设备包括如权利要求9〜 I2任意一项所述的终端设备;所述网络设备包括如权利要求13〜15任意一项所述的网络设备。 ie • - kind of communication system includes a terminal device and a network device, wherein the terminal device includes a terminal device 9~ I2 according to any one of claim 1; the network device comprising as claimed in any one of claims 13~15 the network device.
CN201610710518.3A 2016-08-23 2016-08-23 Network load balancing method, equipment and system CN107770085A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610710518.3A CN107770085A (en) 2016-08-23 2016-08-23 Network load balancing method, equipment and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610710518.3A CN107770085A (en) 2016-08-23 2016-08-23 Network load balancing method, equipment and system
PCT/CN2017/080586 WO2018036173A1 (en) 2016-08-23 2017-04-14 Network load balancing method, device and system

Publications (1)

Publication Number Publication Date
CN107770085A true CN107770085A (en) 2018-03-06

Family

ID=61246377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610710518.3A CN107770085A (en) 2016-08-23 2016-08-23 Network load balancing method, equipment and system

Country Status (2)

Country Link
CN (1) CN107770085A (en)
WO (1) WO2018036173A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778495B1 (en) * 2000-05-17 2004-08-17 Cisco Technology, Inc. Combining multilink and IP per-destination load balancing over a multilink bundle
US6993050B2 (en) * 2001-03-14 2006-01-31 At&T Corp. Transmit and receive system for cable data service
EP2466811B1 (en) * 2010-12-20 2016-06-22 Alcatel Lucent System and method for multi-channel packet transmission

Also Published As

Publication number Publication date
WO2018036173A1 (en) 2018-03-01

Similar Documents

Publication Publication Date Title
JP3811057B2 (en) Relay connection management program and the relay connection management method
CN1254940C (en) Method and apparatus to perform network routing selection
US7599360B2 (en) Methods and apparatus for encapsulating a frame for transmission in a storage area network
CN102415065B (en) Method and apparatus redundant routing network connected to the host
CN102334112B (en) Method and system for virtual machine networking
CN1225874C (en) Method and apparatus for packet delay reduction using scheduling and header compression
US9985911B2 (en) Methods and apparatus related to a flexible data center security architecture
US7206288B2 (en) Methods and apparatus for characterizing a route in fibre channel fabric
JP5760083B2 (en) Method and apparatus for switching from the primary multicast tree faster standby multicast tree
US8705551B2 (en) Method and system for management of flood traffic over multiple 0:N link aggregation groups
US7653056B1 (en) Virtual switching using a provisional identifier to conceal a user identifier
US9270598B1 (en) Congestion control using congestion prefix information in a named data networking environment
CN104205942B (en) Multi-hop error recovery
AU2004311714B2 (en) Apparatus and method for improved Fibre Channel oversubscription over transport
JP4769896B2 (en) System and method for quality of service with Sar function
EP1011227A2 (en) Apparatus and method for flow-level demultiplexing
US7103045B2 (en) System and method for forwarding packets
CN100481810C (en) Network system having a plurality of switches capable of improving transmission efficiency and method thereof
US7640364B2 (en) Port aggregation for network connections that are offloaded to network interface devices
US10334059B2 (en) Network for transporting ethernet and time sensitive data
CN101803316B (en) Method, system, and computer program product for adaptive congestion control on virtual lanes for data center Ethernet architecture
US6018530A (en) Method for transmitting using a modified transport control protocol
EP1309131B1 (en) Method for implementation of a full-duplex switched Ethernet redundant communication network
CN100490420C (en) Packet transfer apparatus
US7447233B2 (en) Packet aggregation protocol for advanced switching

Legal Events

Date Code Title Description
PB01
SE01