CN116192730A - 针对网络负载分担应用的灵活产生hash值的方法和系统 - Google Patents
针对网络负载分担应用的灵活产生hash值的方法和系统 Download PDFInfo
- Publication number
- CN116192730A CN116192730A CN202111423833.5A CN202111423833A CN116192730A CN 116192730 A CN116192730 A CN 116192730A CN 202111423833 A CN202111423833 A CN 202111423833A CN 116192730 A CN116192730 A CN 116192730A
- Authority
- CN
- China
- Prior art keywords
- hash
- information
- layer
- message
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 53
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000013461 design Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种针对网络负载分担应用的灵活产生hash值的方法,所述方法包括:获取报文数据中的各层头中的信息和报文处理信息;基于所述各层头中的信息和报文处理信息,对输入的报文数据进行分类处理,形成Hashdata信息;基于所述Hashdata信息进行Hash计算,得到最终的hash值,以供芯片ECMP处理逻辑选转发路径使用。本发明提出一种灵活计算ECMPhash值的硬件设计方法,将灵活性充分交给上层用户,形成差异化设计,更好的满足ECMPhash的需求。
Description
技术领域
本发明涉及网络技术领域,具体涉及一种针对网络负载分担应用的灵活产生hash值的方法和系统。
背景技术
随着网络规模变大,用户的带宽需求剧增,负载分担应用越来越普遍,成为网络的必选,比如ECMP(等价多路径路由,Equal Cost Multi-path Routing) 技术。ECMP技术是基本并常用的负载分担方式,将多条路由路径绑定成ECMP组,基于收到的报文,计算Hash值来决策转发到该ECMP组走哪条具体的路径。
ECMP技术的关键点之一在于Hash如何产生,这决定了整个网络的负载负担效率。现在很多厂商更多的采用固定Hash数据的模板方式,而且各厂商的模板也不同。固定模板方式存在较大的局限性,无法满足复杂众多的网络应用数据类型,同时各系统厂商针对这里有自己特殊的应用需求,而且各不相同,对芯片这里的设计带来挑战。
发明内容
有鉴于此,本发明的目的在于提供针对网络负载分担应用的灵活产生 hash值的方法和系统。
为了实现上述目的,本发明一实施例提供的技术方案如下:
一种针对网络负载分担应用的灵活产生hash值的方法,所述方法包括:
获取报文数据中的各层头中的信息和报文处理信息;
基于所述各层头中的信息和报文处理信息,对输入的报文数据进行分类处理,形成Hash data信息;
基于所述Hash data信息进行Hash计算,得到最终的hash值,以供芯片 ECMP处理逻辑选转发路径使用。
在本发明的一实施例中,获取报文数据中的各层头中的信息和报文处理信息,具体包括:
经过芯片的解析器Parser得到报文数据中的各层头中的信息;
经过芯片的转发和处理逻辑得到报文处理信息。
在本发明的一实施例中,通过TCAM对输入的报文数据进行分类处理,形成Hashdata信息。
在本发明的一实施例中,所述TCAM对输入的报文数据进行分类处理时的可匹配信息包括:
三层头类型,所述三层头类型包括IPv4、IPv6、MPLS;和/或,
报文四层头类型,所述四层头类型包括UDP、TCP;和/或,
转发类型,所述转发类型包括二层FDB转发、三层IP/MPLS转发;和/ 或,
报文Tunnel类型,所述报文Tunnel类型包括VxLAN、IPinIP;以及,
TCAM的动态记忆输出字段选择的配置fieldSelectProfileID,字段Hash MASK配置fieldMaskProfileID;以及Hash多项式polyProfileID。
在本发明的一实施例中,所述polyProfileID包括XOR、CRC8、CRC16 以及CRC32中的一种或多种。
在本发明的一实施例中,对输入的报文数据进行分类处理,形成Hash data 信息,具体包括:
根据fieldSelectProfileID读取字段选择的内存,输出选取计算hash需要的字段信息,组成Hash模板和对应的Hash data;
根据fieldMaskProfileID读取字段的掩码内存,输出字段的掩码mask;
对所述Hash data和mask做“与”操作,形成Hash data信息;和/或,
基于所述Hash data信息进行Hash计算,得到最终的hash值,以供芯片 ECMP处理逻辑选转发路径使用,具体包括:
用polyProfileID选取Hash算法对Hash data信息进行计算,得到最终的 hash值,以供芯片ECMP处理逻辑选转发路径使用。
本发明还提供一种针对网络负载分担应用的灵活产生hash值的系统,包括:
获取模块,获取报文数据中的各层头中的信息和报文处理信息;
处理模块,基于所述各层头中的信息和报文处理信息,对输入的报文数据进行分类处理,形成Hash data信息;
输出模块,基于所述Hash data信息进行Hash计算,得到最终的hash值,以供芯片ECMP处理逻辑选转发路径使用。
在本发明的一实施例中,所述获取模块包括:
第一获取模块,所述第一获取模块经过芯片的解析器Parser得到报文数据中的各层头中的信息;
第二获取模块,所述第二获取模块经过芯片的转发和处理逻辑得到报文处理信息。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,,所述计算机程序被处理器执行时实现如上所述方法的步骤。
本发明通过获取报文数据中各层头中的信息和报文处理信息,通过对这些数据分类处理,从而可以灵活地根据hash需求进行hash计算,从而得到最终的hash值,将灵活性充分交给上层用户,形成差异化设计,更好的满足ECMP hash的需求。
附图说明
图1为本发明一实施方式针对网络负载分担应用的灵活产生hash值的方法的流程示意图;
图2为本发明一实施方式针对网络负载分担应用的灵活产生hash值的方法的场景流程图;
图3为本发明一实施方式针对网络负载分担应用的灵活产生hash值的方法的hash表项关系示意图;
图4为本发明一实施方式针对网络负载分担应用的灵活产生hash值的系统的模块图;
图5为本发明一实施方式针对网络负载分担应用的灵活产生hash值的计算设备的硬件结构图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
针对不同报文类型,通常的硬编码设计对应一个固定的Hash数据模板。如针对IP报文,固定用五元组信息作为模板,通过配置字段掩码来计算Hash。这样的方式可能存在一些场景的不适用情况,例如:
(1)对于某个报文类型,无法灵活选字段计算Hash。比如IP报文,无法用二层头中的Mac地址字段和三层头中的IP地址字段共同计算Hash。
(2)对于Tunnel格式的报文,无法灵活结合内层头和外层头中的信息计算Hash。比如VxLAN报文,无法用内层二层头中Mac地址字段和外层三层头中的IP地址字段共同计算Hash。
(3)无法应对各系统厂商客户对不同报文格式和Hash字段对应的复杂需求。
参考图1-2,介绍本发明的针对网络负载分担应用的灵活产生hash值的方法的一个实施例。在本实施例中,该方法包括:
S11、获取报文数据中的各层头中的信息和报文处理信息。
本发明的针对网络负载分担应用的灵活产生hash值的方法通常应用于网络芯片中。一实施例中,这里可以是经过芯片的解析器Parser得到报文数据中的各层头中的信息、以及经过芯片的转发和处理逻辑得到报文处理信息。
当然,本发明是基于可编程角度出发,试图提出一种灵活的机制,从网络芯片设计上,可以针对不同应用类型,灵活映射配置,选取需要参与Hash 的报文信息和转发信息的方式,因此这里可以是获取报文数据中的全部的各层头中的信息和报文处理信息。而在一些实施例中,还可以是根据应用场景的需要不同,只获取报文数据中指定范围的各层头中的信息和报文处理信息。
S12、基于所述各层头中的信息和报文处理信息,对输入的报文数据进行分类处理,形成Hash data信息。
在芯片的设计上,可以通过设置TCAM(ternary content addressable memory,三态内容寻址存储器)对输入的报文数据进行分类处理,从而形成这里的Hash data信息。TCAM可以用于快速查找ACL、路由等表项。
一实施例中,TCAM对输入的报文数据进行分类处理时的可匹配信息包括:
三层头类型,所述三层头类型包括IPv4、IPv6、MPLS;和/或,
报文四层头类型,所述四层头类型包括UDP、TCP;和/或,
转发类型,所述转发类型包括二层FDB转发、三层IP/MPLS转发;和/ 或,
报文Tunnel类型,所述报文Tunnel类型包括VxLAN、IPinIP;以及,
TCAM的动态记忆输出字段选择的配置fieldSelectProfileID,字段Hash MASK配置fieldMaskProfileID;以及Hash多项式polyProfileID。
示范性地,这里的polyProfileID可以包括XOR、CRC8、CRC16以及 CRC32中的一种或多种。
一实施例中,在对输入的报文数据进行分类处理,形成Hash data信息的具体过程可以是包括:根据fieldSelectProfileID读取字段选择的内存memory,输出选取计算hash需要的字段信息,组成Hash模板和对应的Hash data;以及根据fieldMaskProfileID读取字段的掩码内存Mask memory,输出字段的掩码mask。在获得了Hash data和mask的基础上,再对Hash data和mask做“与 (&)”操作,形成Hash data信息。
这里通过fieldSelectProfileID选取计算hash需要的字段信息、以及通过fieldMaskProfileID输出字段的mask可以是根据具体的需求进行灵活设定。并且,在一些替换的实施例中对Hash data和mask还可以是根据需求采用其它形式的逻辑操作,从而形成Hash data信息。
S13、基于所述Hash data信息进行Hash计算,得到最终的hash值,以供芯片ECMP处理逻辑选转发路径使用。
一实施例中,可以是用polyProfileID选取Hash算法对Hash data信息进行计算,得到最终的hash值,以供芯片ECMP处理逻辑选转发路径使用。这里的Hash算法可以是上述的XOR、CRC8、CRC16以及CRC32中的一种或几种的组合。
参考图3,从表项串联关系角度对本申请的针对网络负载分担应用的灵活产生hash值的方法进行具体说明。
首先,通过TCAM匹配将对应类型的报文分类出来,配置操作表(Action 表)中对应匹配的输入entry。
随后,出fieldSelectProfileID索引DsFieldSelectProfile表,进而输出字段选择配置,并根据配置在预先准备的字段集合中挑选需要作为hashData0的字段。这里字段集合是固定长度的Bus、信息来源与报文解析的结果、以及部分报文处理的信息。字段集合中字段是16bits固定长度,而对于一些超过16bits 的字段比如MacDa[47:0],可以将其分成3个16bits字段;又或者一些字段不够16bits,比如VLANID[11:0],可以通过补0来补足16bits、或者增加VLANTag 中Cos,CFI信息来达到16bits。
需要说明的是,这里如果是增加VLANTag中Cos,CFI信息来达到16bits,在Mask设计时,需要区分字段来出mask。
Action表还会同时会出fieldMaskProfileID,索引DsFieldMaskProfile表,该表会per-field的出mask,根据per-field mask配置形成和hashData0相同bit 宽度的hashDataMask。并将hashData0和hashDataMask做按位“与”操作,形成送给hash算法的输入hashData1。
Action表同时还会出polyProfileID,索引DsHashPoly表,这里可预先设计一些备选hash算法供选择,取到hashpoly配置,根据输入的hashData1计算,最终得到hash值(hashValue),给芯片ECMP处理模块选路使用。
本实施例主要针对系统厂商复杂、灵活、差异的hash需求,提出一种灵活计算ECMPhash值的硬件设计方法,将灵活性充分交给上层用户,形成差异化设计,更好的满足ECMPhash的需求。整个灵活hash的机制,包括通过 TCAM解决灵活的流分类,基于流采用profile方式挑选hashData需要的字段,同时灵活字段的Mask和hashpoly。
参图4,本申请的另一个实施例提供一种针对网络负载分担应用的灵活产生hash值的系统,包括:
获取模块,获取报文数据中的各层头中的信息和报文处理信息;
处理模块,基于所述各层头中的信息和报文处理信息,对输入的报文数据进行分类处理,形成Hash data信息;
输出模块,基于所述Hash data信息进行Hash计算,得到最终的hash值,以供芯片ECMP处理逻辑选转发路径使用。
一实施例中,所述获取模块包括:
第一获取模块,所述第一获取模块经过芯片的解析器Parser得到报文数据中的各层头中的信息;
第二获取模块,所述第二获取模块经过芯片的转发和处理逻辑得到报文处理信息。
一实施例中,处理模块通过TCAM对输入的报文数据进行分类处理,形成Hash data信息。
一实施例中,所述TCAM对输入的报文数据进行分类处理时的可匹配信息包括:
三层头类型,所述三层头类型包括IPv4、IPv6、MPLS;和/或,
报文四层头类型,所述四层头类型包括UDP、TCP;和/或,
转发类型,所述转发类型包括二层FDB转发、三层IP/MPLS转发;和/ 或,
报文Tunnel类型,所述报文Tunnel类型包括VxLAN、IPinIP;以及,
TCAM的动态记忆输出字段选择的配置fieldSelectProfileID,字段Hash MASK配置fieldMaskProfileID;以及Hash多项式polyProfileID。
一实施例中,所述polyProfileID包括XOR、CRC8、CRC16以及CRC32 中的一种或多种。
一实施例中,处理模块具体用于:
根据fieldSelectProfileID读取字段选择的内存,输出选取计算hash需要的字段信息,组成Hash模板和对应的Hash data;
根据fieldMaskProfileID读取字段的掩码内存,输出字段的掩码mask;
对所述Hash data和mask做“与”操作,形成Hash data信息;
输出模块具体用于:
用polyProfileID选取Hash算法对Hash data信息进行计算,得到最终的 hash值,以供芯片ECMP处理逻辑选转发路径使用。
图5示出了根据本说明书的实施例的针对网络负载分担应用的灵活产生 hash值的计算设备30的硬件结构图。如图5所示,计算设备30可以包括至少一个处理器301、存储器302(例如非易失性存储器)、内存303和通信接口 304,并且至少一个处理器301、存储器302、内存303和通信接口304经由总线305连接在一起。至少一个处理器301执行在存储器302中存储或编码的至少一个计算机可读指令。
应该理解,在存储器302中存储的计算机可执行指令当执行时使得至少一个处理器301进行本说明书的各个实施例中以上结合图1-3描述的各种操作和功能。
在本说明书的实施例中,计算设备30可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-3描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本说明书的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、 CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本说明书的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理客户实现,或者,有些单元可能分由多个物理客户实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所对应的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (10)
1.一种针对网络负载分担应用的灵活产生hash值的方法,其特征在于,所述方法包括:
获取报文数据中的各层头中的信息和报文处理信息;
基于所述各层头中的信息和报文处理信息,对输入的报文数据进行分类处理,形成Hash data信息;
基于所述Hash data信息进行Hash计算,得到最终的hash值,以供芯片ECMP处理逻辑选转发路径使用。
2.根据权利要求1所述的针对网络负载分担应用的灵活产生hash值的方法,其特征在于,获取报文数据中的各层头中的信息和报文处理信息,具体包括:
经过芯片的解析器Parser得到报文数据中的各层头中的信息;
经过芯片的转发和处理逻辑得到报文处理信息。
3.根据权利要求2所述的针对网络负载分担应用的灵活产生hash值的方法,其特征在于,通过TCAM对输入的报文数据进行分类处理,形成Hash data信息。
4.根据权利要求3所述的针对网络负载分担应用的灵活产生hash值的方法,其特征在于,所述TCAM对输入的报文数据进行分类处理时的可匹配信息包括:
三层头类型,所述三层头类型包括IPv4、IPv6、MPLS;和/或,
报文四层头类型,所述四层头类型包括UDP、TCP;和/或,
转发类型,所述转发类型包括二层FDB转发、三层IP/MPLS转发;和/或,
报文Tunnel类型,所述报文Tunnel类型包括VxLAN、IPinIP;以及,
TCAM的动态记忆输出字段选择的配置fieldSelectProfileID,字段Hash MASK配置fieldMaskProfileID;以及Hash多项式polyProfileID。
5.根据权利要求4所述的针对网络负载分担应用的灵活产生hash值的方法,其特征在于,所述polyProfileID包括XOR、CRC8、CRC16以及CRC32中的一种或多种。
6.根据权利要求4所述的针对网络负载分担应用的灵活产生hash值的方法,其特征在于,对输入的报文数据进行分类处理,形成Hash data信息,具体包括:
根据fieldSelectProfileID读取字段选择的内存,输出选取计算hash需要的字段信息,组成Hash模板和对应的Hash data;
根据fieldMaskProfileID读取字段的掩码内存,输出字段的掩码mask;
对所述Hash data和mask做“与”操作,形成Hash data信息;和/或,
基于所述Hash data信息进行Hash计算,得到最终的hash值,以供芯片ECMP处理逻辑选转发路径使用,具体包括:
用polyProfileID选取Hash算法对Hash data信息进行计算,得到最终的hash值,以供芯片ECMP处理逻辑选转发路径使用。
7.一种针对网络负载分担应用的灵活产生hash值的系统,其特征在于,包括:
获取模块,获取报文数据中的各层头中的信息和报文处理信息;
处理模块,基于所述各层头中的信息和报文处理信息,对输入的报文数据进行分类处理,形成Hash data信息;
输出模块,基于所述Hash data信息进行Hash计算,得到最终的hash值,以供芯片ECMP处理逻辑选转发路径使用。
8.根据权利要求7所述的针对网络负载分担应用的灵活产生hash值的系统,其特征在于,所述获取模块包括:
第一获取模块,所述第一获取模块经过芯片的解析器Parser得到报文数据中的各层头中的信息;
第二获取模块,所述第二获取模块经过芯片的转发和处理逻辑得到报文处理信息。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111423833.5A CN116192730A (zh) | 2021-11-26 | 2021-11-26 | 针对网络负载分担应用的灵活产生hash值的方法和系统 |
PCT/CN2022/133542 WO2023093726A1 (zh) | 2021-11-26 | 2022-11-22 | 针对网络负载分担应用的灵活产生hash值的方法和系统、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111423833.5A CN116192730A (zh) | 2021-11-26 | 2021-11-26 | 针对网络负载分担应用的灵活产生hash值的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116192730A true CN116192730A (zh) | 2023-05-30 |
Family
ID=86442787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111423833.5A Pending CN116192730A (zh) | 2021-11-26 | 2021-11-26 | 针对网络负载分担应用的灵活产生hash值的方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116192730A (zh) |
WO (1) | WO2023093726A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143074A (zh) * | 2011-03-25 | 2011-08-03 | 中兴通讯股份有限公司 | 网络负荷的分担方法、系统及网络处理器 |
CN102868631A (zh) * | 2012-09-28 | 2013-01-09 | 华为技术有限公司 | 负载分担方法和装置 |
CN104184676A (zh) * | 2013-05-27 | 2014-12-03 | 华为技术有限公司 | 一种数据中心网络及其流量均衡方法和控制器 |
US20200120191A1 (en) * | 2018-10-15 | 2020-04-16 | Fungible, Inc. | Realization of a programmable forwarding pipeline through packet header summaries in a data processing unit |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9237100B1 (en) * | 2008-08-06 | 2016-01-12 | Marvell Israel (M.I.S.L.) Ltd. | Hash computation for network switches |
US9438703B2 (en) * | 2014-06-19 | 2016-09-06 | Cavium, Inc. | Method of forming a hash input from packet contents and an apparatus thereof |
CN108418765B (zh) * | 2018-04-08 | 2021-09-17 | 苏州盛科通信股份有限公司 | 远程流量监控负载分担的芯片实现方法和装置 |
-
2021
- 2021-11-26 CN CN202111423833.5A patent/CN116192730A/zh active Pending
-
2022
- 2022-11-22 WO PCT/CN2022/133542 patent/WO2023093726A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143074A (zh) * | 2011-03-25 | 2011-08-03 | 中兴通讯股份有限公司 | 网络负荷的分担方法、系统及网络处理器 |
CN102868631A (zh) * | 2012-09-28 | 2013-01-09 | 华为技术有限公司 | 负载分担方法和装置 |
CN104184676A (zh) * | 2013-05-27 | 2014-12-03 | 华为技术有限公司 | 一种数据中心网络及其流量均衡方法和控制器 |
US20200120191A1 (en) * | 2018-10-15 | 2020-04-16 | Fungible, Inc. | Realization of a programmable forwarding pipeline through packet header summaries in a data processing unit |
Also Published As
Publication number | Publication date |
---|---|
WO2023093726A1 (zh) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10749794B2 (en) | Enhanced error signaling and error handling in a network environment with segment routing | |
US9246810B2 (en) | Hash-based load balancing with per-hop seeding | |
CN106878194B (zh) | 一种报文处理方法和装置 | |
CN108600109B (zh) | 一种报文转发方法和装置 | |
US8938579B2 (en) | Method and system for using range bitmaps in TCAM access | |
CN109104364B (zh) | 一种指定转发者选举方法和装置 | |
CN105337881A (zh) | 一种数据报文的处理方法、业务节点以及引流点 | |
US20140237623A1 (en) | Computing system with protocol protection mechanism and method of operation thereof | |
EP2880550B1 (en) | Connection mesh in mirroring asymmetric clustered multiprocessor systems | |
CN106411924B (zh) | 一种创建会话转发表项的方法、转发报文的方法及装置 | |
CN109873766B (zh) | 报文传输方法和装置 | |
CN110808924B (zh) | 芯片环回报文处理方法、装置及存储介质 | |
CN116192730A (zh) | 针对网络负载分担应用的灵活产生hash值的方法和系统 | |
CN111130978B (zh) | 网络流量转发方法、装置、电子设备及机器可读存储介质 | |
CN103503386B (zh) | 网络设备以及处理报文方法 | |
Baek et al. | Order dependency-aware service function placement in service function chaining | |
JP2019004398A (ja) | パケット識別装置およびパケット識別方法 | |
CN113992565B (zh) | 一种组播报文处理方法及装置 | |
CN115514702A (zh) | 快速切换链路的方法、装置、电子设备及存储介质 | |
CN116527608A (zh) | 前后级处理方法和装置、计算设备和存储介质 | |
CN114285907A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN116319535A (zh) | 路径切换方法、装置、网络设备、以及网络系统 | |
CN102870382B (zh) | 转发方法、接收方法、第一路由器以及第二路由器 | |
CN111010344A (zh) | 报文转发方法、装置、电子设备及机器可读存储介质 | |
CN110505138A (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 |