CN114221907A - 网络哈希配置方法、装置、电子设备和存储介质 - Google Patents

网络哈希配置方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114221907A
CN114221907A CN202111477494.9A CN202111477494A CN114221907A CN 114221907 A CN114221907 A CN 114221907A CN 202111477494 A CN202111477494 A CN 202111477494A CN 114221907 A CN114221907 A CN 114221907A
Authority
CN
China
Prior art keywords
network device
hash algorithm
hash
layer network
layer
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.)
Granted
Application number
CN202111477494.9A
Other languages
English (en)
Other versions
CN114221907B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202111477494.9A priority Critical patent/CN114221907B/zh
Publication of CN114221907A publication Critical patent/CN114221907A/zh
Application granted granted Critical
Publication of CN114221907B publication Critical patent/CN114221907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种网络哈希配置方法、装置、电子设备和存储介质,涉及计算机与通信技术领域,尤其涉及通信网络优化技术领域。具体实现方案为:基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度;基于所述每个哈希算法的推荐程度,确定所述网络设备配置的哈希算法;其中,所述网络设备配置的哈希算法用于在所述网络设备通过多条链路传输流量的情况下,确定所述多条链路中的每条链路所要传输的流量。利用本公开实施例,可以为网络设备配置合理的哈希算法,减少哈希不均的问题。

Description

网络哈希配置方法、装置、电子设备和存储介质
技术领域
本公开涉及计算机与通信技术领域,尤其涉及通信网络优化技术领域,具体涉及一种网络哈希配置方法、装置、电子设备和存储介质,可应用于构建互联网数据中心、优化网络带宽、均衡负载等场景。
背景技术
一般地,大规模IDC(Internet Data Center,互联网数据中心)在建设初期会尽可能地规避厂商风险。为此,在为数据中心的设备选型时,会同时采购不同厂商的不同型号的设备。同时,随着网络架构逐渐扁平式的发展,服务器侧端到端不再是3-stage(三层或三级)的模式,而是5-stage(五层或五级)甚至更多层级的网络架构模式,例如Clos网络架构。因此,IDC内的网络流量的转发不仅面对厂商技术、设备之间的异构,还需要面对网络架构的演进。
发明内容
本公开提供了一种网络哈希配置方法、装置、电子设备和存储介质。
根据本公开的一方面,提供了一种网络哈希配置方法,包括:
基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度;
基于所述每个哈希算法的推荐程度,确定所述网络设备配置的哈希算法;其中,所述网络设备配置的哈希算法用于在所述网络设备通过多条链路传输流量的情况下,确定所述多条链路中的每条链路所要传输的流量。
根据本公开的另一方面,提供了一种网络哈希配置装置,包括:
推荐程度获取模块,用于基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度;
哈希算法确定模块,用于基于所述每个哈希算法的推荐程度,确定所述网络设备配置的哈希算法;其中,所述网络设备配置的哈希算法用于在所述网络设备通过多条链路传输流量的情况下,确定所述多条链路中的每条链路所要传输的流量。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
根据本公开的另一个方面,提供了一种网络设备,包括本公开任一实施例中的电子设备。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一实施例中的方法。
根据本公开的技术,基于网络设备的设备型号来确定其在多个预设的哈希算法中的每个哈希算法的推荐程度,然后基于每个哈希算法的推荐程度来确定网络设备的哈希算法。网络设备可以在通过多条链路传输流量的情况下,基于其所配置的哈希算法均衡每条链路传输的流量,从而,避免由网络异构带来的哈希不均的问题。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开提供的哈希不均的一种情况的示意图;
图2是根据本公开第一实施例的网络哈希配置方法的流程示意图;
图3是本公开第二实施例的相邻层网络设备均衡流量的示意图;
图4是本公开第三实施例的多平面网络架构的哈希配置的示意图;
图5是本公开第四实施例的用于测试的网络拓扑的结构图;
图6是本公开第五实施例的用于测试的网络拓扑的结构图;
图7是本公开第六实施例的用于测试的网络拓扑的结构图;
图8A-8D是本公开第七实施例的用于测试的网络拓扑的结构图;
图9是本公开第八实施例的网络哈希配置装置的结构框图;
图10是本公开第九实施例的网络哈希配置装置的结构框图;
图11是用来实现本公开实施例的网络哈希配置方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
网络设备在传输流量例如数据包的情况下,其存在有多条路径可以到达目标地址。在选择路径时,需要通过哈希算法来计算每条路径所传输的流量。以传输的流量是数据包为例,对于大多数的网络设备,其哈希计算过程大致分为以下四个步骤:第一步,解析数据包的报文并获取报文头部的相关信息作为哈希因子;第二步,基于网络设备配置的哈希算法和扰动盐值,确定哈希因子的哈希值;第三步,将哈希因子的哈希值进行循环移位;第四步,对移位后的哈希值和网络设备设定的等价链路数进行取模计算,得到哈希偏移值。网络设备可以基于这个哈希计算过程所得到的哈希偏移值对数据包进行转发。其中,对于不同的网络设备,其可配置的哈希算法不同。
如果网络中不同的设备采用同一个哈希算法、或者某一个或某一些设备采用的哈希算法不合理,又或者相邻两层网络设备设置的哈希算法不合理,则在网络传输流量的情况下出现哈希不均的问题。
示例性地,如图1所示,其示出了本公开提供的哈希不均的一种情况的示意图。其中,Switch A、B、C为具有相同芯片的网络交换设备。Switch A的入接口有4条不同的数据流,出接口有两条等价链路。Switch A利用哈希算法a计算得到:Flow 2、Flow 4、Flow 6和Flow 8通过Switch A的链路1传输到Switch B,Flow 1、Flow 3、Flow 5和Flow 7通过Switch A的链路2传输到Switch C。在Switch B的出接口同样为2条等价链路的情况下,如果Switch B采用与Switch A相同或者类似的哈希算法a,其计算得到哈希结果也与SwitchA相同,所以Switch B会将接收到的Flow 2、Flow 4、Flow 6和Flow 8均分配到Switch B的链路1上进行传输,而没有流量分配到Switch B的链路2上。Switch C的情况与Switch B的情况类似。
对于以上这种情况,经过多层流量传输之后,ECMP(Equal Cost Multi-path,等价多路径路由)或者Eth-Trunk(链路聚合)的等价链路之间出现流量极度不均匀的现象,可称为哈希极化。哈希极化是哈希不均中的一种非常极端的情况,但是这种情况还是比较普遍的。例如,在相邻两层网络设备所设置的两个哈希算法中的哈希逻辑相同,且哈希逻辑的参数也相同(例如哈希因子、扰动盐值、移位方式相同)的情况下,如果这两层网络设备的下一跳链路数量为偶数,则极容易发生哈希极化。
因此,为了解决哈希不均的问题,本公开提出了一种网络哈希配置方案。以下将结合多个实施例对本公开提出的方案进行介绍:
图2示出了根据本公开第一实施例的网络哈希配置方法的流程示意图。如图2所示,该方法可以包括:
S210,基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度;
S220,基于每个哈希算法的推荐程度,确定网络设备配置的哈希算法;其中,网络设备配置的哈希算法用于在网络设备通过多条链路传输流量的情况下,确定多条链路中的每条链路所要传输的流量。
其中,网络设备是可以连接到网络中的物理实体。其可以包括计算机(用户终端或服务器)、集线器、交换机、网桥、路由器、网关、网络接口卡、无线接入点、打印机、调制解调器、光纤收发器、中继器等设备。
设备型号可以包括设备的生产厂商、芯片类型、生产批次等。设备型号还可以包括设备所在的网络层和设备所属的类型等。例如,设备所在的网络层为网络接入层或非网络接入层。网络接入层中的设备为接入交换机,通常位于服务器机柜的顶部,也称为ToR(Topof Rack)交换机。服务器的网口都接入到机柜顶部的交换机。此接入交换网机再通过电缆或光纤接入到网络机柜的汇聚或核心交换机上。非网络接入层可以包括核心层和汇聚层。其中,核心层的交换机又称为核心交换机,为进出数据中心的数据包提供高速的转发,为多个汇聚层提供连接性。汇聚层是网络接入层和核心层的中介或中间层,就是在服务器接入核心层之前先做汇聚,以减轻核心层的负荷。汇聚层的交换机又称为汇聚交换机,其连接接入交换机,同时提供相应的服务,例如,防火墙、入侵分析、网络分析等。再如,设备所属的类型也可以为交换机、路由器、调解器等类型。
在上述步骤S210中,预设的多个哈希算法是网络设备可以从中选择为其配置的算法。某一个哈希算法可以是应用于某一个或某一类网络设备,也可以是应用于所有的网络设备。不同的网络设备所对应的预设的多个哈希算法可以是相同的也可以不相同。
对于哈希算法,其可以包括算法逻辑和算法参数,不同算法逻辑的哈希算法是不相同的,即使算法逻辑相同但算法参数不相同的哈希算法也是不相同的。后者也可称为同一种哈希算法的衍生算法。因此,对网络设备的哈希算法的配置可以包括对算法逻辑和算法参数中的至少一者进行配置。在本公开实施例中,所采用的哈希算法主要是用于负载均衡,从多个候选对象中选择一个对象进行通信。
对于哈希算法的推荐程度,在哈希算法的推荐程度低于设定的第一推荐阈值的情况下,此哈希算法可以确定为网络设备不可设置的哈希算法。在哈希算法的推荐程度高于设定的第二推荐阈值的情况下,此哈希算法可以确定为网络设备可配置的哈希算法。第一推荐阈值与第二推荐阈值可以相同也可以不相同。
推荐程度可以采用数值或等级来表示。例如,数值越高,推荐程度越高;等级越高,推荐程度越高。推荐程度还可以采用颜色来表示,以在界面中显示哈希算法的推荐程度,方便用户为网络设备选择哈希算法。可以按照哈希算法的推荐程度来确定颜色,例如,推荐程度位于第一区间,其颜色为深绿色,推荐程度位于第二区间,其颜色为浅绿色,推荐程度位于第三区间,其颜色为黄色,推荐程度位于第四区间,其颜色为红色;其中,第一区间高于第二区间的推荐程度,第二区间高于第三区间的推荐程度,第三区间高于第四区间的推荐程度。显示颜色为红色的哈希算法,可以确定为网络设备不可配置的哈希算法。显示颜色为深绿色和浅绿色的哈希算法,可以确定为网络设备可配置的哈希算法。
本公开实施例提供的方法可以应用于网络设备,也可以应用于网络设备所在的网络或数据中心。基于网络设备的设备型号来获取网络设备在多个哈希算法中的每个哈希算法的推荐程度,进而基于多个哈希算法中的每个哈希算法的推荐程度,可以准确地确定网络设备要配置的哈希算法,从而达到合理设置哈希算法的效果。在实际应用时,网络设备可以基于这样配置好的哈希算法将流量均衡到每条链路上,减少哈希不均的问题。而且,为不同类型的网络设备配置对应的推荐程度高的哈希算法,可以使得,即使网络中的网络设备变化多样,也能配置到合理的哈希算法,避免因网络异构带来的哈希不均。
网络设备可以分为网络接入层和非网络接入层。对于网络接入层中的各网络设备的设备型号可以相同也可以不相同。对于非网络接入层中的各层网络设备,同一层网络设备的设备型号可以相同也可以不相同。在不相同的情况下,可以以这一层网络设备最多的设备型号代表该层网络设备的设备型号。
在一些实施例中,相邻层之间的哈希算法之间的关系也会影响相邻层的网络设备的数据传输。例如,在相邻层的网络设备的设备型号相同的情况下,如果设置相同的哈希算法,则在下一跳传输数据时容易出现哈希极化的现象。为此,可以设置为相邻层的网络设备配置的多个哈希算法组合,基于相邻层网络设备的每个哈希算法组合的推荐程度,从多个哈希算法组合中为相邻层网络设备确定其配置的哈希算法组合。
示例性地,上述步骤S210,基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度,可以包括:
在非网络接入层中,基于相邻层的第一层网络设备和第二层网络设备的设备型号组合,获取由第一层网络设备可配置的哈希算法与第二层网络设备可配置的哈希算法所构成N个哈希算法组合中的每个哈希算法组合的推荐程度;N为大于或等于1的整数;
上述步骤S220,基于每个哈希算法的推荐程度,确定网络设备配置的哈希算法,可以包括:
基于N个哈希算组合中的每个哈希算法组合的推荐程度,确定第一层网络设备和第二层网络设备配置的哈希算法组合。
其中,对于相邻层,第一层网络设备的设备型号可以与第二层网络设备的设备型号相同,也可以不相同。例如,第一层网络设备和第二层网络设备的设备型号均为X1,则他们的设备型号组合可以为(X1,X1),对于组合(X1,X1),可以获取与此型号组合对应的多个哈希算法组合的推荐程度,进而基于多个哈希算法组合的推荐程度,从多个哈希算法组合中选出至少一个组合来为这两层网络设备配置的哈希算法。再如,第一层网络设备的设备型号为X2,第二层网络设备的设备型号为X4,则他们的设备型号组合可以为(X2,X4)。对于设备型号组合(X2,X4)和(X4,X2),他们对应的哈希算法组合可以是相同的。
在获取到多个哈希算法组合的推荐程度的情况下,在多个哈希算法组合中选出推荐程度满足设定的阈值条件的哈希算法组合,并将选出的哈希算法组合作为第一层网络设备和第二层网络设备可配置的哈希算法组合。
在本示例中,对于非网络接入层中的相邻层,基于相邻层的设备型号关系以及他们对应的多个哈希算法组合的推荐程度,为相邻层的网络设备配置相应的哈希算法组合,可以避免相邻层在传输数据时出现哈希极化或哈希不均的情况。
在相邻层的第一层网络设备已确定其所要配置的是第一哈希算法的情况下,从上述N个哈希算法组合中,选取出第一层网络设备配置的哈希算法是第一哈希算法的组合;或者,这N个哈希算法组合中每个哈希算法组合的第一层网络设备配置的哈希算法是第一哈希算法。
在一些实施例中,可以采用矩阵的方式表征设备型号组合对应的多个哈希算法组合的推荐程度。
示例性地,在非网络接入层中,基于相邻层的第一层网络设备和第二层网络设备的设备型号组合,获取由第一层网络设备可配置的哈希算法与第二层网络设备可配置的哈希算法所构成的N个哈希算法组合中每个哈希算法组合的推荐程度,包括:
在非网络接入层中,基于相邻层的第一层网络设备和第二层网络设备的设备型号组合,获取第一层网络设备和第二层网络设备对应的哈希算法推荐矩阵;其中,矩阵中的行表征第一层网络设备可配置的哈希算法,矩阵中的列表征第二层网络设备可配置的哈希算法,矩阵中的每个元素的数值表征由每个元素中的行所表征的哈希算法和列所表征的哈希算法构成的哈希算法组合的推荐程度;
基于第一层网络设备和第二层网络设备对应的哈希算法推荐矩阵,确定第一层网络设备和第二层网络设备可配置的哈希算法组合和可配置的哈希算法组合中的每个哈希算法组合的推荐程度。
其中,矩阵中的元素的数值还可以以级别的形式来表达,例如1至10级,A至E级等。
参见表1,表1为第一层网络设备和第二网络设备对应的哈希算法推荐矩阵。在本示例中,以表格的形式展示矩阵。
表1:第一层网络设备和第二网络设备对应的哈希算法推荐矩阵
X1\X2 0 1 2 3 4 5 6
0 A B B B B C C
1 B B B D C C C
2 B B B D B C C
3 B D D B B C C
4 B C B B B C B
5 C C C C C B B
6 C C C C B B B
X1表征第一层网络设备的设备型号,X2表征第二层网络设备的设备型号,A~D表征哈希算法组合的推荐程度,第0行至第6行表征第一层网络设备可配置的哈希算法,第0列至第6列表征第二层网络设备可配置的哈希算法。以第3行第4列的元素(3,4)为例,哈希算法组合(3,4)的推荐程度为B。其中,A的推荐程度低于B的推荐程度,B的推荐程度低于C的推荐程度,C的推荐程度低于D的推荐程度。
需要说明的是,假设第一层网络设备对应的推荐程度最高的哈希算法是算法X5,第二层网络设备对应的推荐程度最高的哈希算法是算法X6,但,由算法X5和算法X6组合成的算法组合未必是第一层网络设备和第二层网络设备对应的推荐程度最高的哈希算法组合。
在一些实施例中,可以采用设定的条件,从中筛选出第一层网络设备和第二层网络设备可配置的哈希算法组合。例如,选取设定推荐程度为设定等级的组合作为第一层网络设备和第二层网络设备可配置的哈希算法组合,或者选取推荐程度高于设定阈值的组合作为第一层网络设备和第二层网络设备可配置的哈希算法组合。
在一些实施例中,在相邻层的第一层网络设备和第二层网络设备已配置了哈希算法组合的情况下,可以根据矩阵确定其配置的哈希算法组合的推荐程度。在此推荐程度不满足设定的阈值条件的情况下,可以根据本公开实施例提供的方法对相邻层的第一层网络设备和第二层网络设备重新配置相应的哈希算法组合。
在本公开实施例中,采用矩阵的方式记录多个哈希算法组合的推荐程度,可以为相邻层的两层网络设备提供多种合理的哈希算法组合,减少哈希不均的问题。而且,采用矩阵的方式确定推荐程度,有效地提高哈希算法的配置效率。
在一些实施例中,对于相邻层网络设备对哈希算法的选择,除了依据这两层设备可选的算法组成的算法组合的推荐程度之外,还可以依据预设的约束关系来筛选算法组合。
示例性地,上述基于每个哈希算法组合的推荐程序,确定第一层网络设备和第二层网络设备配置的哈希算法组合,包括:
在上述N大于或等于2的情况下,基于预设的约束关系和每个哈希算法组合的推荐程序,确定第一层网络设备和第二层网络设备配置的哈希算法组合。
在本示例中,在基于算法组合的推荐程度来为相邻层选取算法组合的基础上,进一步结合预设的约束关系对算法组合进行筛选,可以使相邻层所配置的哈希算法更合理,进一步减少哈希不均的问题。
示例性地,上述约束条件可以包括:
在第一层网络设备与第二层网络设备为相同厂商生产的且第一层网络设备与第二层网络设备所采用的芯片相同的情况下,第一层网络设备配置的哈希算法与第二层网络设备配置的哈希算法的算法逻辑不相同;
或者,在第一层网络设备与第二层网络设备为相同厂商生产的且第一层网络设备与第二层网络设备所采用的芯片相同的情况下,第一层网络设备配置的哈希算法与第二层网络设备配置的哈希算法的算法逻辑相同但算法参数不相同。
示例性地,上述约束条件可以包括:
在第一层网络设备与第二层网络设备为不同厂商生产的且第一层网络设备与第二层网络设备所采用的芯片相同的情况下,第一层网络设备配置的哈希算法与第二层网络设备配置的哈希算法的算法逻辑不相同。
在本示例中,如果相邻层网络设备为相同厂商生产的且采用相同系列芯片的设备,可以使用相同算法逻辑的算法但算法中所配置的参数不相同;如果相邻层网络设备为不同厂商生产的且采用相同系列芯片的设备,则不可以使用相同算法逻辑的算法。这样,可以避免在相邻两层网络设备相同或过于类似的情况下选择的哈希算法相同,以避免哈希极化。
在一些实施例,在基于多个哈希算法中的每个哈希算法的推荐程度来为网络设备选取其配置的哈希算法的基础上,也可以采用预设的约束条件来进一步选取合理的哈希算法。
示例性地,在网络设备配置ECMP协议或LACP(Link Aggregation ControlProtocol,链路汇聚控制协议)协议的情况下,网络设备所配置的哈希算法中的哈希因子为设定的五元组。其可以包括:端口(srcport)、目的端口(destport)、协议(protocol)、临时凭证(srcip)、目的地址(destip)。
示例性地,在网络设备配置ECMP协议的情况下,ECMP的最大等价路由条目数大于或等于网络设备的实际负载链路条目数。假设ECMP的最大等价路由条目数为8,而实际负载链路条目数为10,则在分配流量时,实际链路中有2条链路是没有流量的,这也是哈希不均的一种现象。因而,在本示例中,按照上述的约束,可以避免实际链路资源浪费,减少哈希不均的问题。
示例性地,在第一网络设备配置ECMP协议、第二网络设备配置LACP协议的情况下,第一网络设备配置的哈希算法中的算法逻辑和算法逻辑所配置的参数均与第二网络设备配置的不相同。
在一些实施例中,对于非网络接入层,可以采用矩阵的方式提供多种算法组合给相邻层网络设备进行哈希算法配置,而对于网络接入层,也可以类似地采用哈希算法推荐表来为网络设备配置哈希算法。
示例性地,上述步骤S210,基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度,可以包括:
基于网络接入层中的网络设备的设备型号,从哈希算法推荐表中,获取预设的多个哈希算法中网络设备可配置的每个哈希算法的推荐程度;其中,哈希算法推荐表包括每个网络设备可配置的哈希算法以及可配置的哈希算法中的每个哈希算法的推荐程度。
在网络接入层中可以为不同的网络设备配置不同的哈希算法。例如,设备型号为X2的网络设备配置哈希算法A,设备型号为X4的网络设备配置哈希算法B。
参见表2,表2示出了本公开实施例提供的网络接入层的哈希算法推荐表。此表仅为示例,包括设备型号X1和设备型号X2对应的多个哈希算法的推荐程度。在实际应用时,该表包括有多个设备型号以及其对应的哈希算法的推荐程度。
表2:网络接入层的哈希算法推荐表
Figure BDA0003394007670000111
A1至A4为设备型号为X1的网络设备对应的四个哈希算法。B1至B4为设备型号为X2的网络设备对应的四个哈希算法。1至4是哈希算法的推荐程度,数值越高,推荐程度越高。
在一些实施例中,基于推荐表中每个哈希算法的推荐程度,可以从表格中的多个哈希算法中选择推荐程度满足设定的阈值条件的至少一个哈希算法,作为网络设备可配置的哈希算法,并基于网络设备可配置的至少一个哈希算法的推荐程度,确定网络设备配置的哈希算法。
在本示例中,在网络接入层中基于不同网络设备可配置的每个哈希算法推荐程度,为不同的网络设备配置合理的哈希算法,减少哈希不均的问题。而且,采用查表的方式获取哈希算法的推荐程度,可以快速地为多个不同的网络设备配置哈希算法,提高配置效率。
图3示出了本公开第二实施例的相邻层网络设备对流量进行均衡的示意图。
如图3所示,对于网络设备Switch A,其依据网络设备Switch A对应的设备型号,在哈希算法推荐表中确定该型号对应的多个哈希算法中的每个哈希算法的推荐程度,然后基于推荐程度,从确定的多个哈希算法中选取出推荐程度满足设定的阈值条件的哈希算法,作为网络设备Switch A可配置的哈希算法。例如,网络设备Switch A配置的哈希算法为哈希算法a。
对于网络设备Switch B和Switch C,其与网络设备Switch A是相邻层,网络设备Switch B和Switch C的设备型号相同。基于此相邻层的设备型号组合,确定该型号组合对应的哈希算法推荐矩阵。在确定的哈希算法推荐矩阵中,确定推荐程度满足设定的阈值条件的相邻层可配置的多个哈希算法组合。然后,基于确定的多个哈希算法组合中的每个哈希算法组合的推荐程度,确定相邻层配置的哈希算法组合。在这种情况下,由于网络设备Switch A的哈希算法已确定,例如,其为哈希算法a,结合网络设备Switch A的哈希算法对哈希算法组合进行筛选。选出组合中的网络设备Switch A配置的哈希算法为哈希算法a的组合,然后,基于选出的组合中的网络设备Switch B和Switch C配置的哈希算法,确定网络设备Switch B和Switch C的哈希算法。例如,选出的组合为(a,b),哈希算法a是网络设备Switch A配置的哈希算法,则哈希算法b是网络设备Switch B和Switch C的哈希算法。
在实际应用时,网络设备Switch A基于哈希算法a对流量Flow 1-8进行计算,得到Flow 2、Flow 4、Flow 6和Flow 8要在Switch A的链路1上传输,并传输到网络设备SwitchB中,以及Flow 1、Flow 3、Flow 5和Flow 7要在Switch A的链路2上传输,并传输到网络设备Switch C中。网络设备Switch B基于哈希算法b对流量Flow 2、Flow 4、Flow 6和Flow 8进行计算。在计算过程中,Flow 2映射为Flow 1,Flow 4映射为Flow 2,Flow 6映射为Flow3,Flow 8映射为Flow 4,利用哈希算法b对映射后的流量进行计算,得到映射后的Flow 2和Flow 4在Switch B的链路1上传输,映射后的Flow 1和Flow 3在Switch B的链路2上传输。从而,Switch B的流量可以均衡到Switch B的每条链上。网络设备Switch C基于哈希算法b对流量Flow 1、Flow 3、Flow 5和Flow 7进行计算。在计算过程中,Flow 1映射为Flow 2,Flow 3映射为Flow 1,Flow 5映射为Flow 4,Flow 7映射为Flow3,利用哈希算法b对映射后的流量进行计算,得到映射后的Flow 2和Flow 4在Switch C的链路1上传输,映射后的Flow1和Flow 3在Switch C的链路2上传输。从而,Switch C的流量可以均衡到Switch C的每条链路上。
因此,从实际应用的示例来看,按照本公开实施例提供的方法为网络设备配置的哈希算法,可以避免哈希极化,实现负载均衡。
本公开实施例通过对多个不同设备型号的网络设备,例如不同厂商不同系列的产品,进行哈希测试,得到哈希算法推荐表和哈希算法推荐矩阵。在为数据中心的网络设备配置哈希算法时,可以按照如下约束条件进行配置:
(1)在网络接入层中,基于哈希算法推荐表,对网络接入层中的网络设备进行哈希算法配置。其中,不可为网络设备配置推荐程度低于设定阈值的哈希算法。在非网络接入层中,基于哈希算法推荐矩阵,对相邻层的网络设备的哈希算法组合进行配置,即确定相邻层的由第一层网络设备配置的哈希算法和第二层网络设备配置的哈希算法构成的哈希算法组合。不可为相邻层配置推荐程度低于设定阈值的哈希算法组合,尽量为相邻层配置推荐程度高于设定阈值的哈希算法组合。在各网络层中不可以设置逐包哈希算法,避免影响TCP(Transmission Control Protocol,传输控制协议)重建。
(2)在相邻层的第一层网络设备和第二层网络设备为相同厂商生产的且第一层网络设备和第二层网络设备采用的芯片也为相同系列的情况下,第一层网络设备配置的哈希算法和第二层网络设备配置的哈希算法的算法逻辑可以相同但算法参数不能相同;在相邻层的第一层网络设备和第二层网络设备为不同厂商生产的网络设备且第一层网络设备和第二层网络设备采用的芯片是相同系列的情况下,第一层网络设备的哈希算法与第二层网络设备配置的哈希算法的算法逻辑不能相同。
(3)对于BGP(Border Gateway Protocol,边界网关协议)构建的Clos网络拓扑,当新建、扩容机房时,如果网络设备配置的是ECMP协议,则其最大等价路由条目数必须大于或等于实际负载链路条目数。
(4)在网络设备配置ECMP协议或LACP协议的情况下,网络设备所配置的哈希算法中的哈希因子为设定的五元组。该五元组可以包括:端口(srcport)、目的端口(destport)、协议(protocol)、临时凭证(srcip)、目的地址(destip)。
(5)在第一网络设备配置ECMP协议且第二网络设备配置LACP协议的情况下,第一网络设备配置的哈希算法的算法逻辑和算法参数均与第二网络设备配置的不相同。
上述约束条件可以应用于任意网络中,而且更适用于网络层级链路条目数为偶数的网络拓扑。
基于上述约束条件对网络中的网络设备进行哈希算法的配置,不仅可以解决不同厂商不同芯片的网络设备的异构性,还可以在网络构建的初期就提前规避了哈希不均所带来的风险。
图4示出了本公开第三实施例的多平面网络架构的哈希配置的示意图。
如图4所示,在为互联网数据中心选配网络设备的情况下,均采用相同芯片生成的网络设备。基于本公开实施例提供的方法为网络设备配置哈希算法。对于同一层的网络设备,均配置相同的哈希算法,且哈希算法的哈希参数相同,例如哈希因子均设置为设定的五元组,其他哈希参数均设为默认值。对于相邻层的网络设备,按照哈希算法组合推荐矩阵进行配置。例如,图4中的第一层网络设备的哈希算法设置为CRC32_LO,第二层网络设备的哈希算法设置为CRC16,第三层网络设备的哈希算法设置为CRC16_CCITT,第四层网络设备的哈希算法设置为CRC32_HI。其中,第一层网络设备和第二层网络设备所在的层为POD(Pointof Delivery,分发点),接入交换机和其对应的服务器组成的集群称为一个POD。第三层网络设备为数据中心的Spine Plane。每个Spine Plane中,由48个spine交换机和N个fabric交换机组成,N是当前数据中心接入的POD数量。第四层网络设备可以是其他任意层。
在确定上述约束条件之前,首先需要对多个不同设备型号的网络设备,例如不同厂商不同系列的产品,进行哈希测试,得到哈希算法推荐表和哈希算法推荐矩阵。
示例性地,哈希测试的过程涉及以下4个测试方案:
测试一:不同的数据流对同一哈希算法是否会影响同一哈希算法的哈希结果。
如图5所示,其为测试一的网络拓扑的示意图。测试仪与网络设备X1的接入端口连接,网络设备X1有四个输出链路。
如表3所示,其为测试一的三个测试流。
表3:测试一的三个测试流
临时凭证 端口 目的地址 目的端口 协议 数据流类型
测试流1 不变 不变 不变 UDP UDP数据流
测试流2 不变 不变 TCP TCP数据流
测试流3 不变 不变 UDP UDP数据流
其中,可以对设定的数据流,改变五元组中其中一个或若干个因子的参数,即可得到相应的数据流。
通过测试仪,将测试流1至3依次输入到网络设备X1中,记录网络设备X1的4个链路的流量大小,并计算流量大小的标准差,得到哈希标准差。通过比较测试流1至3的哈希标准差,可以确定不同的测试流对同一哈希算法的哈希结果是否有影响。然后,在上述测试的基础上,改变网络设备的哈希算法,仍然测试这三个测试流对改变后的哈希算法的哈希结果是否有影响。如果这三个测试流的哈希标准差变化不大,也就是均在设定的范围内,可以确定,不同的测试流对同一哈希算法的哈希结果没有影响。即,数据流的不同不会导致哈希不均。
测试二:网络设备具有不同的链路数量是否会影响同一哈希算法的哈希结果。
如图6所示,其为测试二的网络拓扑的示意图。采用三个测试仪分别与网络设备X1、网络设备X2和网络设备X3的接入端连接。其中,网络设备X1的输出链路的条目数为3,网络设备X2的输出链路的条目数为4,网络设备X3的输出链路的条目数为16。
在测试过程中,测试流可以采用上述表3中的数据流。
通过测试仪,采用表3中的其中一个数据流,分别输入到网络设备X1、网络设备X2和网络设备X3,这三个网络设备采用同一哈希算法。然后,记录这三个网络设备对应的每个输出链路的流量大小,计算每个网络设备的链路之间的流量标准差,得到哈希标准差。通过比较具有不同输出链路数的网络设备的哈希标准差,可以确定不同的输出链路数是否会对哈希算法的哈希结果造成影响。在上述测试的基础上,改变数据流或者改变哈希算法,继续进行相同的测试。如果具有不同输出链路的网络设备的哈希标准差变化较大,即这三个哈希标准差没有落在设备范围内,可以确定,输出链路的条目数的不同会影响哈希算法的哈希结果。
在通过大量的测试,可以确定:当输出链路的条目数为偶数时,网络设备容易出现哈希极化;当输出链路的条目数为奇数时,网络设备不容易出现哈希极化。
测试三:对于网络接入层的网络设备,其对应的哈希算法推荐表
如图7所述,其为测试三的网络拓扑的示意图。采用三个测试仪分别与网络设备X1、网络设备X2和网络设备X3的接入端连接。网络设备X1的输出链路的条目数为4,网络设备X2的输出链路的条目数为8,网络设备X3的输出链路的条目数为16。
在测试过程中,测试流可以采用上述表3中的数据流。
通过测试仪,采用表3中的其中一个数据流,输入到网络设备X1。并依次改变网络设备X1配置的哈希算法,例如算法逻辑、哈希因子、扰动盐值等,记录网络设备X1配置的每个哈希算法的哈希标准差。计算哈希标准差的方式与上述两个测试的计算试相同,不再详述。对于网络设备X3和网络设备X4,也采用上述的相同测试,哈希算法可以与上述测试相同也可以不相同。
对于每一个网络设备,均可以采用上述测试来确定其多个哈希算法中的每个哈希算法的哈希标准差;然后,基于每个哈希算法的哈希标准差,确定每个哈希算法的推荐程度。从而,得到该网络设备对应的哈希算法推荐表。此表可以参考表2。表2中的推荐程度也可以采用颜色来表达。
测试四:对于非网络接入层中的相邻层网络设备,其对应的哈希算法组合推荐矩阵
如图8A-8D所示,其为测试四的网络拓扑的示意图。
在图8A中,采用测试仪与网络设备X1、网络设备X2串联,网络设备X1的其中一条链路与网络设备X2连接,网络设备X2的输出链路的条目数是4。网络设备X1可以视为相邻层的第一层网络设备,网络设备X2可以视为相邻层的第二层网络设备。
在图8B中,采用测试仪与网络设备X1、网络设备X3串联,网络设备X1的其中一条链路与网络设备X3连接,网络设备X3的输出链路的条目数是4。网络设备X1可以视为相邻层的第一层网络设备,网络设备X3可以视为相邻层的第二层网络设备。
在图8C中,测试仪与网络设备X4的输入端口连接,网络设备X4有8条输出链路,其中4条链路与一个网络设备X5连接,另外4条链路与另一个网络设备X5连接,这两个网络设备X5的类型相同,所以均采用X5来示意。网络设备X4可以视为相邻层的第一层网络设备,两个网络设备X5可以视为相邻层的第二层网络设备。
在图8D中,测试仪与网络设备X4的输入端口连接,网络设备X4与网络设备X6连接,网络设备X6有8条输出链路,其中4条链路与一个网络设备X7连接,另外4条链路与另一个网络设备X7连接。其中,这里有两个相邻层。对于第一个相邻层,网络设备X4可以视为第一个相邻层的第一层网络设备,网络设备X6可以视为第一个相邻层的第二层网络设备。对于第二个相邻层,网络设备X6可以视为第二个相邻层的第一层网络设备,两个网络设备X7可以视为第二个相邻层的第二层网络设备。
本测试并不限定是上述四种网终拓扑,对于其他网络拓扑也可以适用的,可以设置同一层的网络设备相同即可。不同层的网络设备不相同或者相同。
在测试过程可以采用上述表3的测试流。例如表3中的测试流3。
以图8A的网络拓扑为例,通过测试仪将测试流输入到网络设备X1中,网络设备X1也传输流量至网络设备X2中,不断改变网络设备X1与网络设备X2配置的哈希算法组合,并记录每个哈希算法组合的哈希标准差。通过统计网络设备X2的四个输出链路的流量标准差,可以确定哈希标准差。然后,可以改变测试流再进行上述测试,基于相邻层的网络设备X1和网络设备X2对应的多个哈希算法组合中的每个哈希算法组合的哈希标准差,确定每个哈希算法组合的推荐程度,进而得到相邻层的网络设备X1和网络设备X2对应的哈希算法组合推荐矩阵。
采用上述对图8A的网络拓扑的类似的测试方法,对图8B、图8C和图8D的网络拓扑进行测试,可以得到相邻层的网络设备X1和网络设备X3对应的哈希算法组合推荐矩阵、相邻层的网络设备X4和网络设备X5对应的哈希算法组合推荐矩阵、相邻层的网络设备X4和网络设备X6对应的哈希算法组合推荐矩阵和相邻层的网络设备X6和网络设备X7对应的哈希算法组合推荐矩阵。
对于其他相邻层的网络设备,也可以参考上述网络拓扑进行网络构建,并进行类似上述的测试,可以得到其他相邻层的网络设备对应哈希算法组合推荐矩阵。
哈希算法组推荐矩阵的示例的可以参考表1。表1中的哈希算法组合的推荐程度也可以采用颜色来表示。例如,红色表示推荐程度较低,其对应的哈希算法组合是不能被其对应的相邻层网络设备配置的;绿色表示推荐程度较高,其对应的哈希算法组合是可以被其对应的相邻层网络设备配置的。
采用本公开实施例,不仅能够解决由于网络厂商的不同而带来的哈希技术异构,而且适配了互联网数据中心运维期间的链路故障处理的场景,达到在不影响业务网络质量的情况下解决网络哈希不均的效果,有效地降低哈希不均的发生频率。
图9示出了本公开第八实施例的网络哈希配置装置的结构框图。如9所示,该网络哈希配置装置,可以包括:
推荐程度获取模块910,用于基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度;
哈希算法确定模块920,用于基于所述每个哈希算法的推荐程度,确定所述网络设备配置的哈希算法;其中,所述网络设备配置的哈希算法用于在所述网络设备通过多条链路传输流量的情况下,确定所述多条链路中的每条链路所要传输的流量。
图10示出了本公开第九实施例的网络哈希配置装置的结构框图。如图10所示,该装置包括推荐程度获取模块1010、哈希算法确定模块1020和算法组合筛选模块1030。其中,推荐程度获取模块1010、哈希算法确定模块1020分别与上述实施例中的推荐程度获取模块910、哈希算法确定模块920功能相同,在此不再详述。
在一些实施例中,如图10所示,推荐程度获取模块1010包括:
第一推荐程度获取单元1011,用于在非网络接入层中,基于相邻层的第一层网络设备和第二层网络设备的设备型号组合,获取由所述第一层网络设备可配置的哈希算法与所述第二层网络设备可配置的哈希算法所构成的N个哈希算法组合中每个哈希算法组合的推荐程度;N为大于或等于1的整数;
哈希算法确定模块1020包括:
算法组合确定单元1021,用于基于N个哈希算法组合中每个哈希算法组合的推荐程度,确定所述第一层网络设备和所述第二层网络设备配置的哈希算法组合。
在一些实施例中,所述第一推荐程度获取单元1011用于:
在非网络接入层中,基于相邻层的第一层网络设备和第二层网络设备的设备型号组合,获取所述第一层网络设备和所述第二层网络设备对应的哈希算法推荐矩阵;其中,所述矩阵中的行表征所述第一层网络设备可配置的哈希算法,所述矩阵中的列表征所述第二层网络设备可配置的哈希算法,所述矩阵中的每个元素的数值表征由所述每个元素中的行所表征的哈希算法和列所表征的哈希算法构成的哈希算法组合的推荐程度;
基于所述第一层网络设备和所述第二层网络设备对应的哈希算法推荐矩阵,确定所述第一层网络设备和所述第二层网络设备可配置的哈希算法组合和所述可配置的哈希算法组合中的每个哈希算法组合的推荐程度。
在一些实施例中,如图10所示,所述算法组合确定单元1021用于:
在N大于或等于2的情况下,基于预设的约束关系和所述每个哈希算法组合的推荐程度,确定所述第一层网络设备和所述第二层网络设备配置的哈希算法组合。
在一些实施例中,所述约束条件包括:
在所述第一层网络设备与所述第二层网络设备为相同厂商生产的且所述第一层网络设备与所述第二层网络设备采用的芯片相同的情况下,所述第一层网络设备的哈希算法与所述第二层网络设备配置的哈希算法的算法逻辑不相同;
或者,在所述第一层网络设备与所述第二层网络设备为相同厂商生产的且所述第一层网络设备与所述第二层网络设备采用的芯片相同的情况下,所述第一层网络设备的哈希算法与所述第二层网络设备配置的哈希算法的算法逻辑相同且算法参数不相同。
在一些实施例中,所述约束条件可以包括:
在所述第一层网络设备与所述第二层网络设备为不同厂商生产的且所述第一层网络设备与所述第二层网络设备采用的芯片相同的情况下,所述第一层网络设备配置的哈希算法与所述第二层网络设备配置的哈希算法的算法逻辑不相同。
在一些实施例中,如图10所示,所述推荐程度获取模块1010包括:
第二推荐程度获取单元1012,用于基于网络接入层中的网络设备的设备型号,从哈希算法推荐表中,获取预设的多个哈希算法中所述网络设备可配置的每个哈希算法的推荐程度;其中,所述哈希算法推荐表包括每个网络设备可配置的哈希算法以及所述可配置的哈希算法中的每个哈希算法的推荐程度。
本公开实施例各装置中的各单元、模块或子模块的功能可以参见上述方法实施例中的对应描述,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,本公开还提供了一种网络设备,可以包括本公开实施例中的电子设备。
图11示出了可以用来实施本公开的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或要求的本公开的实现。
如图11所示,电子设备1100包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序来执行各种适当的动作和处理。在RAM 1103中,还可存储电子设备1100操作所需的各种程序和数据。计算单元1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入输出(I/O)接口1105也连接至总线1104。
电子设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许电子设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如网络哈希配置方法。例如,在一些实施例中,网络哈希配置方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到电子设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的网络哈希配置方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行网络哈希配置方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (18)

1.一种网络哈希配置方法,包括:
基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度;
基于所述每个哈希算法的推荐程度,确定所述网络设备配置的哈希算法;其中,所述网络设备配置的哈希算法用于在所述网络设备通过多条链路传输流量的情况下,确定所述多条链路中的每条链路所要传输的流量。
2.根据权利要求1所述的方法,其中,所述基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度,包括:
在非网络接入层中,基于相邻层的第一层网络设备和第二层网络设备的设备型号组合,获取由所述第一层网络设备可配置的哈希算法与所述第二层网络设备可配置的哈希算法所构成的N个哈希算法组合中每个哈希算法组合的推荐程度;N为大于或等于1的整数;
所述基于所述每个哈希算法的推荐程度,确定所述网络设备配置的哈希算法,包括:
基于所述每个哈希算法组合的推荐程度,确定所述第一层网络设备和所述第二层网络设备配置的哈希算法组合。
3.根据权利要求2所述的方法,其中,所述在非网络接入层中,基于相邻层的第一层网络设备和第二层网络设备的设备型号组合,获取由所述第一层网络设备可配置的哈希算法与所述第二层网络设备可配置的哈希算法所构成的N个哈希算法组合中每个哈希算法组合的推荐程度,包括:
在非网络接入层中,基于相邻层的第一层网络设备和第二层网络设备的设备型号组合,获取所述第一层网络设备和所述第二层网络设备对应的哈希算法推荐矩阵;其中,所述矩阵中的行表征所述第一层网络设备可配置的哈希算法,所述矩阵中的列表征所述第二层网络设备可配置的哈希算法,所述矩阵中的每个元素的数值表征由所述每个元素中的行所表征的哈希算法和列所表征的哈希算法构成的哈希算法组合的推荐程度;
基于所述第一层网络设备和所述第二层网络设备对应的哈希算法推荐矩阵,确定所述第一层网络设备和所述第二层网络设备可配置的哈希算法组合和所述可配置的哈希算法组合中的每个哈希算法组合的推荐程度。
4.根据权利要求2所述的方法,其中,所述基于所述每个哈希算法组合的推荐程度,确定所述第一层网络设备和所述第二层网络设备配置的哈希算法组合,包括:
在N大于或等于2的情况下,基于预设的约束条件以及所述每个哈希算法组合的推荐程度,确定所述第一层网络设备和所述第二层网络设备配置的哈希算法组合。
5.根据权利要求4所述的方法,其特征在于,所述约束条件包括:
在所述第一层网络设备与所述第二层网络设备为相同厂商生产的且所述第一层网络设备与所述第二层网络设备采用的芯片相同的情况下,所述第一层网络设备配置的哈希算法与所述第二层网络设备配置的哈希算法的算法逻辑不相同;
或者,在所述第一层网络设备与所述第二层网络设备为相同厂商生产的且所述第一层网络设备与所述第二层网络设备采用的芯片相同的情况下,所述第一层网络设备配置的哈希算法与所述第二层网络设备配置的哈希算法的算法逻辑相同且算法参数不相同。
6.根据权利要求4或5所述的方法,其特征在于,所述约束条件包括:
在所述第一层网络设备与所述第二层网络设备为不同厂商生产的且所述第一层网络设备与所述第二层网络设备采用的芯片相同的情况下,所述第一层网络设备配置的哈希算法与所述第二层网络设备配置的哈希算法的算法逻辑不相同。
7.根据权利要求1至6任一项所述的方法,其中,所述基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度,包括:
基于网络接入层中的网络设备的设备型号,从哈希算法推荐表中,获取预设的多个哈希算法中所述网络设备可配置的每个哈希算法的推荐程度;其中,所述哈希算法推荐表包括每个网络设备可配置的哈希算法以及所述可配置的哈希算法中的每个哈希算法的推荐程度。
8.一种网络哈希配置装置,包括:
推荐程度获取模块,用于基于网络设备的设备型号,获取预设的多个哈希算法中的每个哈希算法的推荐程度;
哈希算法确定模块,用于基于所述每个哈希算法的推荐程度,确定所述网络设备配置的哈希算法;其中,所述网络设备配置的哈希算法用于在所述网络设备通过多条链路传输流量的情况下,确定所述多条链路中的每条链路所要传输的流量。
9.根据权利要求8所述的装置,其中,所述推荐程度获取模块包括:
第一推荐程度获取单元,用于在非网络接入层中,基于相邻层的第一层网络设备和第二层网络设备的设备型号组合,获取由所述第一层网络设备可配置的哈希算法与所述第二层网络设备可配置的哈希算法所构成的N个哈希算法组合中每个哈希算法组合的推荐程度;N为大于或等于1的整数;
所述哈希算法确定模块包括:
算法组合确定单元,用于基于所述每个哈希算法组合的推荐程度,确定所述第一层网络设备和所述第二层网络设备配置的哈希算法组合。
10.根据权利要求9所述的装置,其中,所述第一推荐程度获取单元用于:
在非网络接入层中,基于相邻层的第一层网络设备和第二层网络设备的设备型号组合,获取所述第一层网络设备和所述第二层网络设备对应的哈希算法推荐矩阵;其中,所述矩阵中的行表征所述第一层网络设备可配置的哈希算法,所述矩阵中的列表征所述第二层网络设备可配置的哈希算法,所述矩阵中的每个元素的数值表征由所述每个元素中的行所表征的哈希算法和列所表征的哈希算法构成的哈希算法组合的推荐程度;
基于所述第一层网络设备和所述第二层网络设备对应的哈希算法推荐矩阵,确定所述第一层网络设备和所述第二层网络设备可配置的哈希算法组合和所述可配置的哈希算法组合中的每个哈希算法组合的推荐程度。
11.根据权利要求9所述的装置,其中,所述算法组合确定单元用于:
在N大于或等于2的情况下,基于预设的约束条件和所述每个哈希算法组合的推荐程度,确定所述第一层网络设备和所述第二层网络设备配置的哈希算法组合。
12.根据权利要求11所述的装置,其特征在于,所述约束条件包括:
在所述第一层网络设备与所述第二层网络设备为相同厂商生产的且所述第一层网络设备与所述第二层网络设备所采用的芯片相同的情况下,所述第一层网络设备配置的哈希算法与所述第二层网络设备配置的哈希算法的算法逻辑不相同;
或者,在所述第一层网络设备与所述第二层网络设备为相同厂商生产的且所述第一层网络设备与所述第二层网络设备所采用的芯片相同的情况下,所述第一层网络设备配置的哈希算法与所述第二层网络设备所配置的哈希算法的算法逻辑相同但算法参数不相同。
13.根据权利要求11或12所述的装置,其特征在于,所述约束条件包括:
在所述第一层网络设备与所述第二层网络设备为不同厂商生产的且所述第一层网络设备与所述第二层网络设备所采用的芯片相同的情况下,所述第一层网络设备配置的哈希算法与所述第二层网络设备配置的哈希算法的算法逻辑不相同。
14.根据权利要求8至13任一项所述的装置,其中,所述推荐程度获取模块包括:
第二推荐程度获取单元,用于基于网络接入层中的网络设备的设备型号,从哈希算法推荐表中,获取预设的多个哈希算法中所述网络设备可配置的每个哈希算法的推荐程度;其中,所述哈希算法推荐表包括每个网络设备可配置的哈希算法以及所述可配置的哈希算法中的每个哈希算法的推荐程度。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种网络设备,包括如权利要求15所述的电子设备。
17.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行权利要求1-7中任一项所述的方法。
18.一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
CN202111477494.9A 2021-12-06 2021-12-06 网络哈希配置方法、装置、电子设备和存储介质 Active CN114221907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111477494.9A CN114221907B (zh) 2021-12-06 2021-12-06 网络哈希配置方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111477494.9A CN114221907B (zh) 2021-12-06 2021-12-06 网络哈希配置方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN114221907A true CN114221907A (zh) 2022-03-22
CN114221907B CN114221907B (zh) 2023-09-01

Family

ID=80699893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111477494.9A Active CN114221907B (zh) 2021-12-06 2021-12-06 网络哈希配置方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN114221907B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116192636A (zh) * 2023-04-27 2023-05-30 苏州浪潮智能科技有限公司 网络设备哈希组配置方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026876A (zh) * 2007-02-01 2007-08-29 华为技术有限公司 一种在基站控制器多归属下实现通信的方法及装置
CN102857438A (zh) * 2010-12-17 2013-01-02 微软公司 同步负载平衡器组件间的状态
CN106911584A (zh) * 2015-12-23 2017-06-30 华为技术有限公司 一种基于叶-脊拓扑结构的流量负载分担方法、装置及系统
CN111984415A (zh) * 2020-08-24 2020-11-24 北京亚鸿世纪科技发展有限公司 一种基于流水线转发模型的负载均衡方法及装置
CN113259248A (zh) * 2020-02-07 2021-08-13 华为技术有限公司 用于确定转发业务流的链路的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026876A (zh) * 2007-02-01 2007-08-29 华为技术有限公司 一种在基站控制器多归属下实现通信的方法及装置
CN102857438A (zh) * 2010-12-17 2013-01-02 微软公司 同步负载平衡器组件间的状态
CN106911584A (zh) * 2015-12-23 2017-06-30 华为技术有限公司 一种基于叶-脊拓扑结构的流量负载分担方法、装置及系统
CN113259248A (zh) * 2020-02-07 2021-08-13 华为技术有限公司 用于确定转发业务流的链路的方法及装置
CN111984415A (zh) * 2020-08-24 2020-11-24 北京亚鸿世纪科技发展有限公司 一种基于流水线转发模型的负载均衡方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116192636A (zh) * 2023-04-27 2023-05-30 苏州浪潮智能科技有限公司 网络设备哈希组配置方法、装置、电子设备和存储介质
CN116192636B (zh) * 2023-04-27 2023-08-15 苏州浪潮智能科技有限公司 网络设备哈希组配置方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN114221907B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
CN104753828B (zh) 一种sdn控制器、数据中心系统和路由连接方法
CN107579923B (zh) 一种sdn网络的链路负载均衡方法和sdn控制器
AU2011290494B2 (en) Automated traffic engineering for fat tree networks
US20200366607A1 (en) Slice-based routing
CN107257320B (zh) 具有循环抑制的最短路径桥接(spb)增强弹性的方法和系统
EP2842278B1 (en) Three stage folded clos optimization for 802.1aq
US9160651B2 (en) Metric biasing for bandwidth aware tie breaking
US8605628B2 (en) Utilizing betweenness to determine forwarding state in a routed network
US8284791B2 (en) Systems and methods for load balancing of management traffic over a link aggregation group
US10153964B2 (en) Network routing using dynamic virtual paths in an overlay network
US11411810B2 (en) Fault locating method and network device
US20150295813A1 (en) Method and Apparatus for Determining Traffic Forwarding Path and Communications System
EP2596603B1 (en) Ethernet switch and method for routing ethernet data packets
US20200007435A1 (en) Methods, apparatuses and computer-readable storage mediums for dynamically controlling traffic over peering links
US20160043933A1 (en) Peer-influenced aggregate member selection
CN108337179A (zh) 链路流量控制方法及装置
CN114221907B (zh) 网络哈希配置方法、装置、电子设备和存储介质
US9819575B2 (en) Path selection based on error analysis
US9674094B1 (en) Method and apparatus for controlling transmission of packets over a link aggregation group
US8537671B2 (en) Hierarchical packet policer
US20150156116A1 (en) Routing control method and apparatus
CN105812274B (zh) 一种业务数据的处理方法和相关设备
CN113890855A (zh) 一种报文转发方法、系统、设备以及介质
US9270577B2 (en) Selection of one of first and second links between first and second network devices
CN113572685A (zh) 一种信息上报方法、信息处理方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant