CN102316021B - 一种实现交换机聚合口负载分担的方法和交换机 - Google Patents

一种实现交换机聚合口负载分担的方法和交换机 Download PDF

Info

Publication number
CN102316021B
CN102316021B CN201110185835.5A CN201110185835A CN102316021B CN 102316021 B CN102316021 B CN 102316021B CN 201110185835 A CN201110185835 A CN 201110185835A CN 102316021 B CN102316021 B CN 102316021B
Authority
CN
China
Prior art keywords
aggregation port
load balancing
state
idle condition
water level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110185835.5A
Other languages
English (en)
Other versions
CN102316021A (zh
Inventor
孙策
周迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201110185835.5A priority Critical patent/CN102316021B/zh
Publication of CN102316021A publication Critical patent/CN102316021A/zh
Application granted granted Critical
Publication of CN102316021B publication Critical patent/CN102316021B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种实现交换机聚合口负载分担的方法,该方法包括:检测交换机各聚合口的转发缓存水位,将转发缓存水位小于预设值的聚合口的状态标识为空闲状态,将缓存水位大于预设值的聚合口的状态标识为繁忙状态,并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值;交换机收到新流量转发请求时,通过哈希运算从空闲状态的聚合口中选择一个聚合口作为目的聚合口,并将接收到的新流量从该目的聚合口转发出去。基于同样的发明构思,本发明还提出一种实现交换机聚合口负载分担的交换机,在转发流量时,能够实现各聚合口负载分担且不会发生丢包。

Description

一种实现交换机聚合口负载分担的方法和交换机
技术领域
本发明涉及通信技术领域,特别涉及一种实现交换机聚合口负载分担的方法和交换机。
背景技术
Bonding模式一般采用Balance-XOR聚合模式,其基本原理如下:基于指定的传输HASH策略传输数据包。在二层网络中,报文携带的源MAC地址与目标MAC地址进行异或,将异或所得值与交换机聚合口数进行模运算:在三层网络中,将源IP同目的IP异或的结果与源端口同目的端口异或的结果进行异或,将最终异或所得值与交换机聚合口数进行模运算;若报文为IP分片则只使用源IP同目的IP进行异或。因此,一旦连接建立,通过以上的HASH策略,则Bonding中转发聚合口确定后,不会再发生变化。
在视讯、监控环境中,流量是持续不断的。由于Bonding模式一旦建立连接后,流量只从单一的聚合口转发。当需要转发的各路流量大小不同时,在聚合链路中流量是不均匀分配的,则可能在原本就有大量流量压力的聚合口上叠加大量流量,使得该聚合口的压力进一步加大,因此在转发流量时,没有真正实现各聚合负载分担且严重时会发生丢包。
发明内容
有鉴于此,本发明提供一种实现交换机聚合口负载分担的方法和交换机,在转发流量时,能够实现各聚合口负载分担且不会发生丢包。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种实现交换机聚合口负载分担的方法,该方法包括:
检测交换机各聚合口的转发缓存水位,将转发缓存水位小于预设值的聚合口的状态标识为空闲状态,将缓存水位大于预设值的聚合口的状态标识为繁忙状态,并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值;其中,繁忙状态的聚合口不分配映射值;
交换机收到新流量转发请求时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为聚合口分配的映射值进行匹配,将匹配到的映射值对应的聚合口作为目的聚合口,并将接收到的新流量从所述目的聚合口转发出去。
一种实现交换机聚合口负载分担的交换机,该交换机包括:检测单元、标识分配单元,接收单元和选取转发单元;
所述检测单元,与所述标识分配单元相连,用于检测自身所在的交换机的各聚合口的转发缓存水位;
所述标识分配单元,与所述选取转发单元相连,用于将所述检测单元检测到转发缓存水位小于预设值的聚合口的状态标识为空闲状态,将缓存水位大于预设值的聚合口的状态标识为繁忙状态,并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值;其中,繁忙状态的聚合口不分配映射值;
所述接收单元,与所述选取转发单元相连,用于接收新流量的转发请求;
所述选取转发单元,用于在所述接收单元接收到新流量的转发请求时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,将匹配到的映射值对应的聚合口作为目的聚合口,并将接收到的新流量从所述目的聚合口转发出去。
综上所述,本发明通过检测各聚合口的转发缓存水位,将转发缓存水位未达预设值的聚合口进行标识,当交换机收到新流量的转发请求时,从已标识的转发缓存水位未达预设值的聚合口中通过哈希算法匹配一个聚合口对接收到的新流量进行转发。通过上述方法,本发明在转发流量时,能够实现各聚合口负载分担且不会发生丢包。
附图说明
图1为本发明实现聚合口负载分担流程图;
图2为四网口组网示意图;
图3为本发明实现聚合口负载分担的交换机结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
参见图1,图1为本发明实现聚合口负载分担流程图。具体步骤为:
步骤101,交换机检测各聚合口的转发缓存水位,将转发缓存水位小于预设值的聚合口的状态标识为空闲状态,将缓存水位大于预设值的聚合口的状态标识为繁忙状态,并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值,其中,繁忙状态的聚合口不分配映射值。
步骤102,交换机收到新流量转发请求时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为聚合口分配的映射值进行匹配,将匹配到的映射值对应的聚合口作为目的聚合口,并将接收到的新流量从目的聚合口转发出去。
这里对各聚合口的检测,可以是实时检测,也可以根据实际需要自行设置检测周期进行周期检测。如果当前状态为繁忙状态的聚合口已分配过映射值,将已分配的映射值删除。
交换机在检测各聚合口的转发缓存水位时,将转发缓存水位大于预设告警值的聚合口的状态标识为负载分担繁忙状态,如果当前状态为负载分担繁忙状态的聚合口已分配过映射值,将已分配的映射值删除,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,将匹配到的映射值对应的聚合口作为第一负载分担聚合口,将第一负载分担聚合口的状态标识为负载分担空闲状态,将已为第一负载分担聚合口分配的映射值删除,将当前状态为负载分担繁忙状态的聚合口正在转发的全部流量切换到第一负载分担聚合口转发出去;并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值。
这里在检测到聚合口的状态变化,或从空闲聚合口中选择出聚合口都要重新进行标识就重新标识,并将已分配的映射值删除。并且重新给当前状态为空闲状态的聚合口分配映射值,其它状态的聚合口不分配映射值。
交换机在检测各聚合口的转发缓存水位时,若检测到第一负载分担聚合口的转发缓存水位大于预设告警值时,将第一负载分担聚合口的状态标识为负载分担繁忙状态;且检测到当前状态为负载分担繁忙状态的聚合口的转发缓存水位未达到预设值,将状态为负载分担繁忙状态的聚合口的状态标识为负载分担空闲状态,将当前第一负载分担聚合口正在转发的流量切换回与第一负载分担聚合口负载分担同一流量转发的当前状态为负载分担空闲状态的聚合口转发出去。
这里描述的是该流量由这两个聚合口转发已经足够,检测这两个参与负载分担的聚合口转发缓存水位,总是将流量从状态为负载分担繁忙的聚合口切换到状态为负载分担空闲的聚合口进行轮流转发。
交换机在检测各聚合口的转发缓存水位时,若检测到第一负载分担聚合口的转发缓存水位大于预设告警值时,将第一负载分担聚合口的状态标识为负载分担繁忙状态;且检测到当前状态为负载分担繁忙状态的聚合口的转发缓存水位大于预设值时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,并将匹配到的映射值对应的聚合口作为第二负载分担聚合口,将确定的第二负载分担聚合口的状态标识为负载分担空闲状态,将已为当前确定的目的聚合口分配的映射值删除,将第一负载分担交换机正在转发的全部流量切换到确定第二负载分担聚合口;并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值。
这里描述的是该流量由两个聚合口转发,还是会溢出,这样就需要再选择一个空闲的聚合口继续分担该流量的转发,以此类推,直到可以将该流量完全转发出去,不会发生丢包。
交换机在检测自身各聚合口的转发缓存水位时,如果在预设时间检测到状态为负载分担空闲状态的聚合口的转发缓存水位都未达到预设值时,将状态为负载分担空闲状态的聚合口的状态标识为空闲状态,并分别为当前每个空闲状态的聚合口重新分配唯一的映射值。也就是说参与某一流量负载分担的聚合口在预设时间没有流量切换到该聚合口进行转发,或则未再收到该流量,则把这样的聚合口退出负载分担,并将状态直接标识为空闲状态,分配映射值,以备参与新流量的转发。
下面参见附图,并举具体实施例,来详细描述本发明实现交换机聚合口负载分担过程。
通过检测各聚合口转发缓存水位,判断各聚合口是否还有能力对新流量进行转发。本实施例中分别以01、00、11和10标识聚合口的繁忙、空闲、负载分担繁忙和负载分担空闲四个状态。
如果转发缓存水位大于预设值则表明该聚合口转发能力达到上限,将该聚合口的状态标识为繁忙状态,用01表示,不为该聚合口分配映射值,这里所分配的映射值是哈希运算出的哈希值能够匹配到的值。其中,预设值可以根据经验进行设置,比如80%。
如果转发缓存水位未达到预设值,表明聚合口还有转发能力,将聚合口的状态标识为空闲状态,用00表示,并分配映射值。
当一个聚合口的带宽无法满足流量的转发需要时,会选择多个聚合口轮流进行转发,对该流量进行负载分担。参与负载分担的聚合口检测转发缓存水位大于预设值时,则表明暂时无法转发更多流量,将该聚合口的状态标识为负载分担繁忙状态,用11表示,且不为该聚合口分配映射值。
当一个聚合口的带宽无法满足流量的转发需要时,会选择多个聚合口轮流进行转发,对该转发流量进行负载分担。参与携带相同源MAC和目的MAC的流量的负载分担的聚合口转发缓存水位未达到预设值时,表明该聚合口还有转发能力,将该聚合口的状态标识为负载分担空闲状态,用10表示,且不为该聚合口分配映射值,但负载分担的转发流量可从此聚合口转发。
参见图2,图2为四网口组网示意图。图2中,交换机202和存储设备201通过4口bonding聚合连接,四个聚合口分别为:聚合口Eth 1/0/9、Eth 1/0/13、Eth 1/0/18、Eth 1/0/27,EC203和EC204通过交换机202向存储设备201发送流量,EC203和EC204分别通过聚合口Eth 1/0/13和Eth 1/0/27来转发流量,由于EC203发来的流量较大,检测该聚合口的转发缓存水位大于预设值,但是该聚合口还是可以转发EC203发来的流量,不会发生丢包。将该聚合口的状态标识为繁忙状态。EC204发来的流量较小,检测聚合口Eth 1/0/27的转发缓存水位小于预设值,因此将该聚合口的状态标识为空闲状态,并分配映射值。而其他两个聚合口未有流量转发,将其他两个聚合口的状态均标识为空闲状态,并分配映射值。各聚合口具体状态情况参见表1,表1为交换机聚合口转发状态表。表1用来保存各聚合口的状态以及分配的映射值。
  聚合口名称   聚合口状态   映射值
  Eth 1/0/27   00   0
  Eth 1/0/9   00   1
  Eth 1/0/13   01   128
  Eth 1/0/18   00   2
表1
表1中,聚合口Eth 1/0/13的状态为繁忙状态,映射值填充为128,为了本实施例在实施时方便,为该聚合口分配了128,由于聚合数的限制,一般不会超过128个,在本实施例中为未分配映射值的聚合口赋值128,这样哈希运算出的哈希值不会匹配到该值128。因此达到了除状态为空闲状态的聚合口都不会在进行哈希运算的结果中匹配到。
交换机同时会维护一张流量转发表,用来记录各聚合口及各聚合口转发的对应流量的源MAC地址和目的MAC地址。转发时通过此表获取转发聚合口信息,并查表得知收到的流量是否为新流量。在二层网络中,新流量携带的目的MAC地址和源MAC地址中至少存在一个与流量转发表中保存的不一致。如果都一致,则继续在原转发该流量的聚合口进行转发。参见表2,表2为交换机流量转发表。
  源MAC地址   目的MAC地址   聚合口名称
  01:48:3c:52:00:94   01:48:3c:36:12:36   Eth 1/0/27
  01:61:5c:42:00:5f   01:48:3c:36:12:26   Eth 1/0/13
表2
表2中,可以看到聚合口Eth 1/0/27和Eth 1/0/13有流量在转发,聚合口Eth 1/0/27转发的是EC204发来的流量,EC204的源MAC地址和目的MAC地址分别为01:48:3c:52:00:94和01:48:3c:36:12:36;聚合口Eth 1/0/27转发的是EC203发来的流量,EC203的源MAC地址和目的MAC地址分别为01:61:5c:42:00:5f和01:01:48:3c:36:12:26。
表2中只是举例了在二层网络中判断新流量的参数,在三层网络中,新流量携带的源IP、目的IP、源聚合口和目的聚合口中至少存在一个与流量转发表中保存的不一致。在交换机流量转发表中保存源IP、目的IP、源聚合口和目的聚合口,查表过程等相似,这里不再赘述。
参见图2中,现将EC205接入,并需要向存储设备201发送流量。交换机202收到EC205发来的要发送给存储设备201的流量,查找交换机流量转发表,未查找到目的MAC地址和源MAC地址都一致的流量正在转发,表明该交换机发来的流量为新流量。交换机首先对EC205流量的源MAC地址和存储端目的MAC地址进行XOR运算,并查询交换机Bonding转发状态表项,发现只有三个聚合口处在空闲状态,则将参与哈希运算的聚合口的个数确定为3个,并对XOR所得值进行取余,得到的余数与聚合口状态转发表中的映射值进行匹配,如果得到的结果为0,则将新流量通过聚合口Eth 1/0/27进行转发。同时检测聚合口Eth 1/0/27转发缓存水位是否大于等于预设值,但是小于预设告警值,如果是,则在聚合口状态转发表中将聚合口Eth 1/0/27的状态改为01,同时映射值设置为128,并重新分配映射值。如果未达到预设值,则保持状态转发表中原值不变。
如果此时EC205的流量较大,聚合口Eth 1/0/27的转发缓存水位大于等于预设告警值,在聚合口状态转发表中将Eth 1/0/27的状态标识为11。交换机进行聚合口HASH运算。本例中只有两个聚合口的状态为00,假设通过HASH运算确定的目的聚合口为聚合口Eth 1/0/18,聚合口Eth 1/0/27的数据将通过Eth 1/0/18同时进行转发,以提高带宽,同时在聚合口状态转发表中将Eth1/0/27和Eth 1/0/18的状态将分别被标识为11和10。此时各聚合口的状态参见表3,表3为新流量加入后聚合口转发状态表。参见表4,表4为新流量加入后流量转发表。
  聚合口名称   聚合口状态   映射值
  Eth 1/0/27   11   128
  Eth 1/0/9   00   1
  Eth 1/0/13   01   128
  Eth 1/0/18   10   128
表3
表4
当检测到聚合口Eth 1/0/27的转发缓存水位小于预设值时,而聚合口Eth1/0/18转发缓存水位大于等于预设告警值时,分别对这两个聚合口进行状态标识,并将这两个聚合口负载分担的源MAC为23:bc:41:94:32:08的流量切换回聚合口Eth 1/0/27进行转发。
如果两个聚合口的转发能力还不能满足EC205发来的流量,则用上述同样的方法再确定一个状态为空闲状态的聚合口来负载分担EC205发来的流量。以此类推,直到流量能够在不丢包的情况下全部被转发,或者该交换机不能再提供聚合口来转发该流量。
上文以一个聚合口的状态从空闲状态到繁忙状态,到负载分担繁忙,到负载分担空闲状态,再到空闲状态为例详细说明聚合口负载分担过程。在实际应用中,各聚合口的处理过程同上述的聚合口,这里不再一一赘述。
参见图2,当图2中的EC205退出了组网,无流量发来请求转发时,在聚合口Eth 1/0/27和Eth 1/0/18的转发缓存水位都达不到预设值,预设一个时间值,如果在该预设时间之间内这两个聚合口的转发缓存水位一直未达预设值,则修改这两个聚合口的状态值和映射值,并修改流量转发表。修改后的聚合口状态转发表参见表1;修改后的流量转发表参见表2。
如果EC205并未退出组网,只是流量减小,有一个聚合口转发能力已经可以足够转发,则会检测到至少有一个聚合口的转发缓存水位在预设时间内一直未达预设值。如果两个都未达预设值,则将这两个聚合口的状态都标识为空闲状态,假设聚合口Eth 1/0/18转发缓存水位大于等于预设值,但并未达到预设告警值,则将聚合口Eth 1/0/18的状态标识为繁忙状态。同时聚合口的状态变换后重新为状态为空闲状态的聚合口分配映射值。该种情况下聚合口状态转发表参见表5,聚合口流量转发表参见表6。
  聚合口名称   聚合口状态   映射值
  Eth 1/0/27   00   0
  Eth 1/0/9   00   1
  Eth 1/0/13   01   128
  Eth 1/0/18   01   128
表5
  源MAC地址   目的MAC地址   聚合口名称
  01:48:3c:52:00:94   01:48:3c:36:12:36   Eth 1/0/27
  01:61:5c:42:00:5f   01:48:3c:36:12:26   Eth 1/0/13
  23:bc:41:94:32:08   01:48:3c:36:11:30   Eth 1/0/18
表6
上文只是为了描述方便,以接入一个新的EC转发流量可能遇到的情况来详细描述各聚合口负载分担过程,在实际应用中当多个聚合口状态、流量发生变化时,过程同上,这里不再一一描述。
基于上述同样的发明构思,本发明还提出了一种实现聚合口负载分担的交换机。参见图3,图3为本发明实现聚合口负载分担的交换机结构示意图。该交换机包括:检测单元301、标识分配单元302,接收单元303和选取转发单元304;
检测单元301,与标识分配单元302相连,用于检测自身所在的交换机的各聚合口的转发缓存水位;
标识分配单元302,与选取转发单元304相连,用于将检测单元301检测到转发缓存水位小于预设值的聚合口的状态标识为空闲状态,将缓存水位大于预设值的聚合口的状态标识为繁忙状态,并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值;其中,繁忙状态的聚合口不分配映射值;
接收单元303,与选取转发单元304相连,用于接收新流量的转发请求;
选取转发单元304,用于在接收单元303接收到新流量的转发请求时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,将匹配到的映射值对应的聚合口作为目的聚合口,并将接收到的新流量从目的聚合口转发出去。
较佳地,选取转发单元304,进一步用于若检测单元301检测到转发缓存水位大于预设告警值的聚合口时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,将匹配到的映射值对应的聚合口作为目的聚合口,将状态为负载分担繁忙状态的聚合口的正在转发的全部流量切换到目的聚合口转发出去;
标识分配单元302,进一步用于将检测单元301检测到转发缓存水位大于预设告警值的聚合口的状态标识为负载分担繁忙状态,如果当前状态为繁忙状态的聚合口已分配过映射值,将已分配的映射值删除;将选取转发单元确定的目的聚合口的状态标识为负载分担空闲状态,将已为当前确定的目的聚合口分配的映射值删除;并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值。
较佳地,标识分配单元302,进一步用于若检测单元301检测到第一负载分担聚合口的转发缓存水位大于预设告警值时,将第一负载分担聚合口的状态标识为负载分担繁忙状态;当检测单元301检测到当前状态为负载分担繁忙状态的聚合口的转发缓存水位未达到预设值时,将状态为负载分担繁忙状态的聚合口的状态标识为负载分担空闲状态;
选取转发单元304,进一步用于将第一负载分担聚合口正在转发的流量切换回与所述第一负载分担聚合口负载分担同一流量转发的当前状态为负载分担空闲状态的聚合口转发出去;
或,
选取转发单元304,进一步用于若检测单元301检测到第一负载分担聚合口的转发缓存水位大于等预设告警值,且当前状态为负载分担繁忙状态的聚合口的转发缓存水位大于预设值时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,并将匹配到的映射值对应的聚合口作为第二负载分担聚合口,将第一负载分担聚合口正在转发的全部流量切换到第二聚合口转发出去;
标识分配单元302,进一步用于当检测单元301检测到第一负载分担聚合口的转发缓存水位大于预设告警值时,将第一负载分担聚合口的状态标识为负载分担繁忙状态;将第二负载分担聚合口的状态标识为负载分担空闲状态,将已为第二负载分担聚合口分配的映射值删除,并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值;
较佳地,标识分配单元302,进一步用于在检测单元301在预设时间检测当前状态为负载分担空闲状态的聚合口的转发缓存水位都未达到预设值时,将当前状态为负载分担空闲状态的聚合口的状态标识为空闲状态,并分别为当前每个空闲状态的聚合口分配唯一的映射值。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明,建立聚合口转发状态表,通过实时或周期检测各聚合口的转发缓存水位,判断聚合口的繁忙状态。繁忙状态的聚合口不参加哈希运算,即新流量不会通过繁忙状态的聚合口进行转发,避免了新流量叠加到该聚合口,致使流量过大发生丢包。同时建立流量转发表项,以记录现有转发流量对应的转发聚合口。当需要转发的流量大于单一聚合口的转发能力时,从空闲状态聚合口中通过哈希运算在匹配一个空闲聚合口来负载分担该聚合口的转发流量。两个聚合口轮流转发流量,如果两个聚合口还不够,按相同的方法再确定一个聚合口参与该流量的负载分担转发,直到该流量可以在不丢包情况下能够全部转发。本发明的这种实现负载分担的方法在转发流量时,能够实现各聚合口负载分担且不会发生丢包。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种实现交换机聚合口负载分担的方法,其特征在于,所述方法包括:
交换机检测各聚合口的转发缓存水位,将转发缓存水位小于预设值的聚合口的状态标识为空闲状态,将缓存水位大于预设值的聚合口的状态标识为繁忙状态,并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值,其中,繁忙状态的聚合口不分配映射值;
交换机收到新流量转发请求时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为聚合口分配的映射值进行匹配,将匹配到的映射值对应的聚合口作为目的聚合口,并将接收到的新流量从所述目的聚合口转发出去。
2.根据权利要求1所述的方法,其特征在于,所述检测交换机各聚合口的转发缓存水位之后,所述方法进一步包括:若交换机检测到聚合口的转发缓存水位大于告警值时,将该聚合口的状态标识为负载分担繁忙状态,如果当前状态为负载分担繁忙状态的聚合口已分配过映射值,将所述已分配的映射值删除,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,将匹配到的映射值对应的聚合口作为第一负载分担聚合口,将所述第一负载分担聚合口的状态标识为负载分担空闲状态,将已为所述第一负载分担聚合口分配的映射值删除,将当前所述状态为负载分担繁忙状态的聚合口正在转发的全部流量切换到所述第一负载分担聚合口转发出去;并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值。
3.根据权利要求2所述的方法,其特征在于,所述检测交换机各聚合口的转发缓存水位之后,所述方法进一步包括:
若交换机检测到所述第一负载分担聚合口的转发缓存水位大于预设告警值时,将所述第一负载分担聚合口的状态标识为负载分担繁忙状态;且检测到当前状态为负载分担繁忙状态的聚合口的转发缓存水位未达到预设值,将所述状态为负载分担繁忙状态的聚合口的状态标识为负载分担空闲状态,将当前所述第一负载分担聚合口正在转发的全部流量,切换回与所述第一负载分担聚合口负载分担同一流量转发的当前状态为负载分担空闲状态的聚合口转发出去;
若检测到所述第一负载分担聚合口的转发缓存水位大于预设告警值时,将所述第一负载分担聚合口的状态标识为负载分担繁忙状态;且检测到当前状态为负载分担繁忙状态的聚合口的转发缓存水位大于预设值时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,并将匹配到的映射值对应的聚合口作为第二负载分担聚合口,将所述确定的第二负载分担聚合口的状态标识为负载分担空闲状态,将已为当前确定的目的聚合口分配的映射值删除,将所述第一负载分担聚合口正在转发的全部流量切换到所述确定所述第二负载分担聚合口;并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值。
4.根据权利要求2或3所述的方法,其特征在于,所述检测交换机各聚合口的转发缓存水位之后,该方法进一步包括:
如果在预设时间交换机检测到状态为负载分担空闲状态的聚合口的转发缓存水位都未达到预设值时,将所述状态为负载分担空闲状态的聚合口的状态标识为空闲状态,并分别为当前每个空闲状态的聚合口分配唯一的映射值。
5.一种实现交换机聚合口负载分担的交换机,其特征在于,所述交换机包括:检测单元、标识分配单元,接收单元和选取转发单元;
所述检测单元,与所述标识分配单元相连,用于检测自身所在的交换机的各聚合口的转发缓存水位;
所述标识分配单元,与所述选取转发单元相连,用于将所述检测单元检测到转发缓存水位小于预设值的聚合口的状态标识为空闲状态,将缓存水位大于预设值的聚合口的状态标识为繁忙状态,并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值;其中,繁忙状态的聚合口不分配映射值;
所述接收单元,与所述选取转发单元相连,用于接收新流量的转发请求;
所述选取转发单元,用于在所述接收单元接收到新流量的转发请求时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,将匹配到的映射值对应的聚合口作为目的聚合口,并将接收到的新流量从所述目的聚合口转发出去。
6.根据权利要求5所述的交换机,其特征在于,
所述选取转发单元,进一步用于在若所述检测单元检测到聚合口的转发缓存水位大于预设告警值时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,将匹配到的映射值对应的聚合口作为第一负载分担聚合口,将所述状态为负载分担繁忙状态的聚合口的正在转发的全部流量切换到所述第一负载分担聚合口转发出去;
所述标识分配单元,进一步用于将所述检测单元检测到转发缓存水位大于预设告警值的聚合口的状态标识为负载分担繁忙状态,如果当前状态为负载分担繁忙状态的聚合口已分配过映射值,将所述已分配的映射值删除;将所述选取转发单元确定的第一负载分担聚合口的状态标识为负载分担空闲状态,将已为所述第一负载分担聚合口分配的映射值删除;并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值。
7.根据权利要求6所述的交换机,其特征在于,
所述标识分配单元,进一步用于若所述检测单元检测到所述第一负载分担聚合口的转发缓存水位大于预设告警值时,将所述第一负载分担聚合口的状态标识为负载分担繁忙状态;当所述检测单元检测到当前状态为负载分担繁忙状态的聚合口的转发缓存水位未达到预设值时,将所述状态为负载分担繁忙状态的聚合口的状态标识为负载分担空闲状态;
所述选取转发单元,进一步用于将所述第一负载分担聚合口正在转发的全部流量切换回与所述第一负载分担聚合口负载分担同一流量转发的当前状态为负载分担空闲状态的聚合口转发出去;
或,
所述选取转发单元,进一步用于若所述检测单元检测到所述第一负载分担聚合口的转发缓存水位大于等预设告警值,且当前状态为负载分担繁忙状态的聚合口的转发缓存水位大于预设值时,根据当前状态为空闲状态的聚合口的个数,并采用哈希算法计算出哈希值,将计算出的哈希值与为当前聚合口分配的映射值进行匹配,并将匹配到的映射值对应的聚合口作为第二负载分担聚合口,将所述第一负载分担聚合口正在转发的全部流量切换到所述第二负载分担聚合口转发出去;
所述标识分配单元,进一步用于当所述检测单元检测到所述第一负载分担聚合口的转发缓存水位大于预设告警值时,将所述第一负载分担聚合口的状态标识为负载分担繁忙状态;将所述第二负载分担聚合口的状态标识为负载分担空闲状态,将已为所述第二负载分担聚合口分配的映射值删除,并分别为当前每个状态为空闲状态的聚合口分配唯一的映射值。
8.根据权利要求6或7所述的交换机,其特征在于,
所述标识分配单元,进一步用于在所述检测单元在预设时间检测所述当前状态为负载分担空闲状态的聚合口的转发缓存水位都未达到预设值时,将所述当前状态为负载分担空闲状态的聚合口的状态标识为空闲状态,并分别为当前每个空闲状态的聚合口分配唯一的映射值。
CN201110185835.5A 2011-07-04 2011-07-04 一种实现交换机聚合口负载分担的方法和交换机 Active CN102316021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110185835.5A CN102316021B (zh) 2011-07-04 2011-07-04 一种实现交换机聚合口负载分担的方法和交换机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110185835.5A CN102316021B (zh) 2011-07-04 2011-07-04 一种实现交换机聚合口负载分担的方法和交换机

Publications (2)

Publication Number Publication Date
CN102316021A CN102316021A (zh) 2012-01-11
CN102316021B true CN102316021B (zh) 2014-12-10

Family

ID=45428853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110185835.5A Active CN102316021B (zh) 2011-07-04 2011-07-04 一种实现交换机聚合口负载分担的方法和交换机

Country Status (1)

Country Link
CN (1) CN102316021B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581058B (zh) * 2012-07-31 2017-02-15 杭州华三通信技术有限公司 数据中心网络中的报文转发方法和装置
CN104009956B (zh) * 2013-02-22 2017-05-03 杭州海康威视数字技术股份有限公司 一种基于嵌入式多核协处理网闸系统的通信方法
CN103401801A (zh) * 2013-08-07 2013-11-20 盛科网络(苏州)有限公司 动态负载均衡的实现方法及装置
CN104618234B (zh) * 2015-01-22 2018-12-07 华为技术有限公司 控制网络流量传输路径切换的方法及系统
WO2017000097A1 (zh) * 2015-06-27 2017-01-05 华为技术有限公司 一种数据转发的方法、装置和系统
CN105187236B (zh) * 2015-08-12 2019-01-15 广东睿江云计算股份有限公司 一种网络流量迁移的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051939A (zh) * 2006-06-15 2007-10-10 华为技术有限公司 一种实现网络流量负载分担的方法及装置
KR101014977B1 (ko) * 2005-10-07 2011-02-16 엘지에릭슨 주식회사 링크통합 기능에서 로드밸런싱 방법
CN102082736A (zh) * 2011-03-08 2011-06-01 杭州华三通信技术有限公司 实现非均衡负载分担的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101699789B (zh) * 2009-09-25 2011-11-23 江苏华丽网络工程有限公司 以太网设备堆叠系统的设计方法
CN102045253B (zh) * 2010-12-06 2013-01-09 浙江宇视科技有限公司 链路聚合网络中发送视频监控业务报文的方法及设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101014977B1 (ko) * 2005-10-07 2011-02-16 엘지에릭슨 주식회사 링크통합 기능에서 로드밸런싱 방법
CN101051939A (zh) * 2006-06-15 2007-10-10 华为技术有限公司 一种实现网络流量负载分担的方法及装置
CN102082736A (zh) * 2011-03-08 2011-06-01 杭州华三通信技术有限公司 实现非均衡负载分担的方法及装置

Also Published As

Publication number Publication date
CN102316021A (zh) 2012-01-11

Similar Documents

Publication Publication Date Title
CN102316021B (zh) 一种实现交换机聚合口负载分担的方法和交换机
JP5977383B2 (ja) Dragonflyプロセッサ相互接続ネットワークにおけるテーブル駆動型ルーティング
US9614788B2 (en) All delivered network switch
US6760765B1 (en) Cluster server apparatus
CN104092604B (zh) 报文传输控制方法及装置
CN101399746B (zh) 报文路由方法、系统、设备和选择备份资源的方法、系统
US20130003549A1 (en) Resilient Hashing for Load Balancing of Traffic Flows
CN101217528B (zh) 一种链路聚合方法和装置
CN104243337A (zh) 一种跨集群负载均衡的方法及装置
CN102970242B (zh) 一种实现负载均衡的方法
CN102263697A (zh) 一种聚合链路流量分担方法和装置
JP2012105266A (ja) Dragonflyプロセッサ相互接続ネットワークにおける革新的な適応型ルーティング
JP2005275828A5 (zh)
CN101119313A (zh) 一种负载分担方法和设备
CN103501250A (zh) 分布式链路聚合网络中的数据流处理方法和装置
CN101331739A (zh) 对等网络内容传输方法及装置
CN104579961A (zh) 数据报文的调度方法及装置
CN101645850A (zh) 转发路径确定方法和设备
US20170295088A1 (en) Search for disjoint paths through a network
WO2015058705A1 (zh) 数据分发方法和装置
CN101159573A (zh) 一种利用任播技术实现负载分担的方法、设备及系统
CN103517155A (zh) 一种基于监控业务的流量动态控制的方法及装置
US20150139244A1 (en) Transmitting a Packet from a Distributed Trunk Switch
WO2016177190A1 (zh) 自协商lacp协议参考系统和参考端口的方法及装置
US20150032815A1 (en) Message forwarding in data center network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230614

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.