CN105577562A - 业务数据流的发送、转发方法及装置 - Google Patents
业务数据流的发送、转发方法及装置 Download PDFInfo
- Publication number
- CN105577562A CN105577562A CN201410555240.8A CN201410555240A CN105577562A CN 105577562 A CN105577562 A CN 105577562A CN 201410555240 A CN201410555240 A CN 201410555240A CN 105577562 A CN105577562 A CN 105577562A
- Authority
- CN
- China
- Prior art keywords
- computational methods
- data node
- chip
- source data
- data flow
- 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
Links
Classifications
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种业务数据流的发送、转发方法及装置,在上述方法中,源数据节点根据多个交换芯片预置的计算方法和业务需求确定待使用的计算方法,其中,待使用的计算方法用于选择向多个交换芯片中的其中一个交换芯片发送业务数据流需要使用的网卡,源数据节点中的至少一个端口分别与多个交换芯片中的每个交换芯片相连接;源数据节点通过待使用的计算方法选取网卡,并经由网卡进行业务数据流的发送。根据本发明提供的技术方案,使得交换板在转发数据时优选在本板进行转发,可以显著地降低堆叠通道流量带宽。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种业务数据流的发送、转发方法及装置。
背景技术
目前,万兆交换平台通常会采用交换芯片堆叠聚合转发的方式进行工作,各个堆叠芯片分别采用一个或多个万兆端口,将这些端口聚合在一起便可以形成一个大的跨板聚合组。
由于交换芯片软件开发工具包(SDK)是按照端口加入聚合组的先后顺序来设置聚合组转发表的,而端口加入聚合组的顺序则是随机的,因此,交换板的交换芯片在选择聚合组具体的转发端口时便会具有较大的随机性。在理论情况下,至少存在一半的流量需要进行跨芯片转发,因此,堆叠通道带宽必须足够大才能够确保堆叠体无阻塞交换。
为了减少堆叠通道流量,相关技术中通常采用访问控制列表(ACL)规则对数据进行重定向,以实现异构芯片的跨芯片转发,进而降低堆叠流量带宽。但是,该解决方案的缺陷在于:其针对的是异构芯片的使用方式,要求使用ACL规则,而且异构的芯片端口不能加入端口汇聚(TRUNK)组。
由此可见,相关技术中对于减少堆叠通道流量的解决方案具有一定的局限性,其使用范围较小。
发明内容
本发明实施例提供了一种业务数据流的发送、转发方法及装置,以至少解决相关技术中对于减少堆叠通道流量的解决方案具有一定的局限性的问题。
根据本发明的一个方面,提供了一种业务数据流的发送方法。
根据本发明实施例的业务数据流的发送方法包括:源数据节点根据多个交换芯片预置的计算方法和业务需求确定待使用的计算方法,其中,待使用的计算方法用于选择向多个交换芯片中的其中一个交换芯片发送业务数据流需要使用的网卡,源数据节点中的至少一个端口分别与多个交换芯片中的每个交换芯片相连接;源数据节点通过待使用的计算方法选取网卡,并经由网卡进行业务数据流的发送。
优选地,源数据节点通过待使用的计算方法选取网卡包括:源数据节点通过待使用的计算方法获取端口汇聚(TRUNK)表,其中,TRUNK表中的各个索引位置分别存储有源数据节点的端口与源数据节点的网卡标识的对应关系;源数据节点按照TRUNK表查找发送业务数据流的网卡标识。
优选地,源数据节点通过待使用的计算方法获取端口汇聚TRUNK表包括:源数据节点通过待使用的计算方法确定参与计算的字段;源数据节点根据参与计算的字段选择待修改的字段范围;源数据节点采用待修改的字段范围获取TRUNK表。
优选地,TRUNK表中的成员数量为多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与多个芯片的数量的乘积。
根据本发明的另一方面,提供了一种业务数据流的转发方法。
根据本发明实施例的业务数据流的转发方法包括:交换芯片接收来自于源数据节点的业务数据流;交换芯片利用与源数据节点相同的计算方法确定转发业务数据流的端口,其中,源数据节点采用的计算方法是根据多个交换芯片预置的计算方法和业务需求确定的;交换芯片经由计算出的端口将业务数据流转发至目的数据节点。
优选地,交换芯片利用与源数据节点相同的计算方法计算转发业务数据流的端口包括:交换芯片通过待使用的计算方法获取TRUNK表,其中,TRUNK表中的各个索引位置分别存储有交换芯片的端口与交换芯片标识的对应关系,与源数据节点相连接的多个交换芯片在TRUNK表中占用的索引位置的个数相同,交换芯片标识与源数据节点发送业务数据流的网卡标识相对应;交换芯片从TRUNK表中查找转发业务数据流的端口。
优选地,TRUNK表中的成员数量为多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与多个芯片的数量的乘积。
根据本发明的又一方面,提供了一种业务数据流的发送装置。
根据本发明实施例的业务数据流的发送装置包括:确定模块,用于根据多个交换芯片预置的计算方法和业务需求确定待使用的计算方法,其中,待使用的计算方法用于选择向多个交换芯片中的其中一个交换芯片发送业务数据流需要使用的网卡,源数据节点中的至少一个端口分别与多个交换芯片中的每个交换芯片相连接;选取模块,用于通过待使用的计算方法选取网卡;发送模块,用于经由网卡进行业务数据流的发送。
优选地,选取模块包括:计算单元,用于通过待使用的计算方法获取TRUNK表,其中,TRUNK表中的各个索引位置分别存储有源数据节点的端口与源数据节点的网卡标识的对应关系;查找单元,用于按照TRUNK表查找发送业务数据流的网卡标识。
优选地,计算单元包括:确定子单元,用于通过待使用的计算方法确定参与计算的字段;选择子单元,用于根据参与计算的字段选择待修改的字段范围;获取子单元,用于采用待修改的字段范围获取TRUNK表。
优选地,TRUNK表中的成员数量为多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与多个芯片的数量的乘积。
根据本发明的再一方面,提供了一种业务数据流的转发装置。
根据本发明实施例的业务数据流的转发装置包括:接收模块,用于接收来自于源数据节点的业务数据流;确定模块,用于利用与源数据节点相同的计算方法确定转发业务数据流的端口,其中,源数据节点采用的计算方法是根据多个交换芯片预置的计算方法和业务需求确定的;转发模块,用于经由计算出的端口将业务数据流转发至目的数据节点。
优选地,确定模块包括:获取单元,用于通过待使用的计算方法获取TRUNK表,其中,TRUNK表中的各个索引位置分别存储有交换芯片的端口与交换芯片标识的对应关系,与源数据节点相连接的多个交换芯片在TRUNK表中占用的索引位置的个数相同,交换芯片标识与源数据节点发送业务数据流的网卡标识相对应;查找单元,用于从TRUNK表中查找转发业务数据流的端口。
优选地,TRUNK表中的成员数量为多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与多个芯片的数量的乘积。
通过本发明实施例,采用源数据节点根据多个交换芯片预置的计算方法和业务需求确定待使用的计算方法,其中,待使用的计算方法用于选择向多个交换芯片中的其中一个交换芯片发送业务数据流需要使用的网卡,源数据节点中的至少一个端口分别与多个交换芯片中的每个交换芯片相连接;源数据节点通过待使用的计算方法选取网卡,并经由网卡进行业务数据流的发送,解决了相关技术中对于减少堆叠通道流量的解决方案具有一定的局限性的问题,进而使得交换板在转发数据时优选在本板进行转发,可以显著地降低堆叠通道流量带宽。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的业务数据流的发送方法的流程图;
图2是根据本发明实施例的业务数据流的转发方法的流程图;
图3是根据本发明优选实施例的堆叠聚合示意图;
图4是根据本发明实施例的业务数据流的发送装置的结构框图;
图5是根据本发明优选实施例的业务数据流的发送装置的结构框图;
图6是根据本发明实施例的业务数据流的转发装置的结构框图;
图7是根据本发明优选实施例的业务数据流的转发装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是根据本发明实施例的业务数据流的发送方法的流程图。如图1所示,该方法可以包括以下处理步骤:
步骤S102:源数据节点根据多个交换芯片预置的计算方法和业务需求确定待使用的计算方法,其中,待使用的计算方法用于选择向多个交换芯片中的其中一个交换芯片发送业务数据流需要使用的网卡,源数据节点中的至少一个端口分别与多个交换芯片中的每个交换芯片相连接;
步骤S104:源数据节点通过待使用的计算方法选取网卡,并经由网卡进行业务数据流的发送。
相关技术中对于减少堆叠通道流量的解决方案具有一定的局限性。采用如图1所示的方法,根据业务需求以及由芯片厂商提供的交换芯片TRUNKHASH计算方法确定源数据节点的计算方法,进而构造业务数据流并在根据确定后的计算方法选定网卡后,在该网卡上进行业务数据流的发送,由此解决了相关技术中对于减少堆叠通道流量的解决方案具有一定的局限性的问题,进而使得交换板在转发数据时优选在本板进行转发,可以显著地降低堆叠通道流量带宽。
需要说明的是,硬件布线要求在各堆叠的交换芯片与数据节点进行连接时,各个数据节点至少分别采用一个端口与各个交换芯片进行连接,这是交换芯片优选本板进行业务数据流转发的先决条件。
优选地,在步骤S104中,源数据节点通过待使用的计算方法选取网卡可以包括以下操作:
步骤S1:源数据节点通过待使用的计算方法获取端口汇聚(TRUNK)表,其中,TRUNK表中的各个索引位置分别存储有源数据节点的端口与源数据节点的网卡标识的对应关系;
步骤S2:源数据节点按照TRUNK表查找发送业务数据流的网卡标识。
对于数据节点而言,TRUNK表排序方法与交换芯片排序方法一致,其不同之处在于:各个索引位置存放的端口是与交换芯片计算的芯片号相对应的数据节点的网卡号。
优选地,在步骤S1中,源数据节点通过待使用的计算方法获取端口汇聚TRUNK表可以包括以下步骤:
步骤S11:源数据节点通过待使用的计算方法确定参与计算的字段;
步骤S12:源数据节点根据参与计算的字段选择待修改的字段范围;源数据节点采用待修改的字段范围获取TRUNK表。
在通常情况下,交换芯片TRUNKHASH计算方法是由芯片厂商提供的,用户一般无法进行修改,而与交换芯片互连的数据源节点在选择转发端口的方式时是可以根据用户需要进行修改的。因此,在系统设计时可以先选择无法修改的交换芯片TRUNKHASH计算方法,然后根据该计算方法确定数据源参与计算的核心字段。在数据节点构造数据源时可以根据这些核心字段选择需要修改的字段范围,使之参与TRUNKHASH计算时能够均衡流量。
数据节点的TRUNKHASH计算方法由于可以修改,因此,可以将其设计为与交换芯片的TRUNKHASH计算方法完全一样,这样可以确保数据节点的TRUNK表与交换芯片TRUNK表是完全一致的。对于同一数据流而言,数据节点计算出来的TRUNKHASH索引即为交换芯片计算的HASH索引,而上述TRUNK表的排序方法要求同一索引位置下的芯片号一样,这样数据节点选择的转发端口对应的交换芯片的芯片号实际上即为交换芯片目的转发端口的芯片号,而不再需要经过堆叠处理,因此,极大地节省了交换芯片的堆叠通道带宽。
在优选实施过程中,TRUNK表中的成员数量为多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与多个芯片的数量的乘积。即TRUNK软件表/硬件表中成员个数可以选取各个芯片设计的连接单个数据节点的最大端口个数的最小公倍数与堆叠芯片个数的乘积作为其成员的端口数目。
图2是根据本发明实施例的业务数据流的转发方法的流程图。如图2所示,该方法可以包括以下处理步骤:
步骤S202:交换芯片接收来自于源数据节点的业务数据流;
步骤S204:交换芯片利用与源数据节点相同的计算方法确定转发业务数据流的端口,其中,源数据节点采用的计算方法是根据多个交换芯片预置的计算方法和业务需求确定的;
步骤S206:交换芯片经由计算出的端口将业务数据流转发至目的数据节点。
基于端到端的数据流指定偏移字段修改控制(例如:媒体接入控制(MAC)/互联网协议(IP)/传输控制协议(TCP)/用户数据报协议(UDP)/虚拟局域网(VLAN)/端口(PORT)/MODHASH选择控制),然后通过交换板构造TRUNK成员排序,使交换板在转发数据时优先选用本板进行转发,从而降低堆叠通道流量带宽。由此可以仅通过2个10G带宽的堆叠通道提供高达数百G的跨板聚合转发流量带宽,而不需要在堆叠通道上部署一半的芯片流量带宽,其表现为多块芯片或多块单板堆叠工作,对外提供较大的交换带宽而本身用于堆叠带宽则较小。
优选地,在步骤S204中,交换芯片利用与源数据节点相同的计算方法计算转发业务数据流的端口可以包括以下操作:
步骤S3:交换芯片通过待使用的计算方法获取TRUNK表,其中,TRUNK表中的各个索引位置分别存储有交换芯片的端口与交换芯片标识的对应关系,与源数据节点相连接的多个交换芯片在TRUNK表中占用的索引位置的个数相同,交换芯片标识与源数据节点发送业务数据流的网卡标识相对应;
步骤S4:交换芯片从TRUNK表中查找转发业务数据流的端口。
对于交换板而言,需要对交换板上的交换芯片先进行编号然后再进行排序,其排序方法需要确保各个交换芯片在硬件TRUNK表中占用的索引位置的个数相同;各个交换芯片在同一TRUNK组的硬件表内容完全相同,即同一TRUNK表的同一索引位置存放的芯片号与端口号完全一致;各个交换芯片在不同TRUNK组同一索引位置存放的芯片号相同。
在优选实施过程中,TRUNK表中的成员数量为多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与多个芯片的数量的乘积。
下面将结合图3所示的优选实施方式对上述优选实施过程作进一步的描述。
图3是根据本发明优选实施例的堆叠聚合示意图。如图3所示,交换板1和交换板2分别为左交换板与右交换板,交换板1的MODID与交换板2的MODID分别是1和2,聚合成员表在初始状态下为空,则交换板设置端口加入聚合组的顺序如下:
第一步、聚合组TRUNK1加入左交换板端口P11,在其加入后,左交换板与右交换板TRUNK成员表如表1所示,此时由于仅存在1个端口,因此,所有8个索引都指向该端口。
表1
索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
PORT | P11 | P11 | P11 | P11 | P11 | P11 | P11 | P11 |
MOD ID | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
第二步、聚合组TRUNK1加入左交换板端口P12,在其加入后,左交换板与右交换板TRUNK成员表如表2所示,此时左交换板上的端口全部加入,对P11和P12进行端口排序,较小的端口号占用偶数索引位置,而较大的端口号占用奇数索引位置,在该优选实施例中,假设P11<P12。
表2
索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
PORT | P11 | P12 | P11 | P12 | P11 | P12 | P11 | P12 |
MOD ID | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
第三步、聚合组TRUNK1加入右交换板端口P21,在其加入后,左交换板与右交换板TRUNK成员表如表3所示,此时右交换板端口加入第一个端口,所有奇数索引均需要指向P21。
表3
索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
PORT | P11 | P21 | P12 | P21 | P11 | P21 | P12 | P21 |
MOD ID | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 |
第四步、聚合组TRUNK1加入右交换板端口P22,在其加入后,左交换板与右交换板TRUNK成员表如表4所示,此时右交换板所有端口全部加入,对右交换板端口进行端口排序,按从小到大轮流占用左槽奇数索引位置,假设P21<P22。
表4
索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
PORT | P11 | P21 | P12 | P22 | P11 | P21 | P12 | P22 |
MOD ID | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 |
左、右交换板端口退出聚合组的原理类似,数据节点的TRUNK组加入P1、P2、P3、P4的顺序与一个交换板类似,这里P1、P2连接左交换板,使用偶索引,P3、P4连接右交换板,使用奇索引,此处不再赘述。
需要说明是,本发明实施例在优选实施过程中注意遵循以下原则:
对于堆叠交换板,只有当某个堆叠交换板上的端口全部退出聚合组时,才可以改变奇偶索引使用其它堆叠交换板的端口(其相当于该堆叠交换板的端口数为0)。当堆叠交换板的端口数为1时,该端口占用该堆叠交换板对应的奇数/偶数索引位置全部端口;当堆叠交换板的端口数大于1时,按照端口排序结果轮流占用该堆叠交换板对应的奇数/偶数索引位置。
对于数据节点,只有在连接左交换板或者右交换板的所有端口均退出聚合组的情况下,才可以改变奇偶索引。例如:P1和P2都退出聚合组,才可以使得偶索引指向P3或者P4。
第五步、在数据节点构造报文后,可以按照HASH计算方法选择出端口,例如:HASH索引值为1,选择与MOD号为1的交换板连接的端口;当报文到达该交换板后,因为HASH计算方法与数据节点的计算方法完全一致,所以交换板计算的HASH索引值也为1,转发的目的TRUNK对应1号索引的目的单板MOD号为1,其表示MOD号为1的单板在接收到上述报文后将从本板进行转发,转发端口号为TRUNK索引1的端口号。
图4是根据本发明实施例的业务数据流的发送装置的结构框图。如图4所示,该业务数据流的发送装置可以包括:确定模块10,用于根据多个交换芯片预置的计算方法和业务需求确定待使用的计算方法,其中,待使用的计算方法用于选择向多个交换芯片中的其中一个交换芯片发送业务数据流需要使用的网卡,源数据节点中的至少一个端口分别与多个交换芯片中的每个交换芯片相连接;选取模块20,用于通过待使用的计算方法选取网卡;发送模块30,用于经由网卡进行业务数据流的发送。
采用如图4所示的装置,解决了相关技术中对于减少堆叠通道流量的解决方案具有一定的局限性的问题,进而使得交换板在转发数据时优选在本板进行转发,可以显著地降低堆叠通道流量带宽。
优选地,如图5所示,选取模块20可以包括:计算单元200,用于通过待使用的计算方法获取TRUNK表,其中,TRUNK表中的各个索引位置分别存储有源数据节点的端口与源数据节点的网卡标识的对应关系;查找单元202,用于按照TRUNK表查找发送业务数据流的网卡标识。
优选地,计算单元200可以包括:确定子单元(图中未示出),用于通过待使用的计算方法确定参与计算的字段;选择子单元(图中未示出),用于根据参与计算的字段选择待修改的字段范围;获取子单元(图中未示出),用于采用待修改的字段范围获取TRUNK表。
在优选实施过程中,TRUNK表中的成员数量为多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与多个芯片的数量的乘积。
图6是根据本发明实施例的业务数据流的转发装置的结构框图。如图6所示,该业务数据流的转发装置可以包括:接收模块40,用于接收来自于源数据节点的业务数据流;确定模块50,用于利用与源数据节点相同的计算方法确定转发业务数据流的端口,其中,源数据节点采用的计算方法是根据多个交换芯片预置的计算方法和业务需求确定的;转发模块60,用于经由计算出的端口将业务数据流转发至目的数据节点。
优选地,确定模块50可以包括:获取单元500,用于通过待使用的计算方法获取TRUNK表,其中,TRUNK表中的各个索引位置分别存储有交换芯片的端口与交换芯片标识的对应关系,与源数据节点相连接的多个交换芯片在TRUNK表中占用的索引位置的个数相同,交换芯片标识与源数据节点发送业务数据流的网卡标识相对应;查找单元502,用于从TRUNK表中查找转发业务数据流的端口。
在优选实施过程中,TRUNK表中的成员数量为多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与多个芯片的数量的乘积。
从以上的描述中,可以看出,上述实施例实现了如下技术效果(需要说明的是这些效果是某些优选实施例可以达到的效果):采用本发明实施例所提供的技术方案,物理芯片既可以是同构的也可以是异构的,即使各个物理芯片是不同厂家不同系列的芯片,只需保证各物理芯片可以识别MOD和PORT且速率兼容,即可将该芯片相互堆叠起来;此外,本发明实施例所提供的技术方案可以确保各个物理芯片的TRUNK成员排序是一致的,所有成员端口均在各个物理芯片的硬件TRUNK表中占有表项;当某个芯片上的物理端口出现故障退出TRUNK时,可以通过堆叠端口向其他芯片的物理端口转发,以充分利用各个芯片物理带宽。与现有技术相比,无需使用ACL规则,而且无论芯片采用同构或异构方式,均可以在构建TRUNK组的过程中将所有芯片的端口均加入各个芯片的TRUNK硬件表,其使用范围更加广泛。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种业务数据流的发送方法,其特征在于,包括:
源数据节点根据多个交换芯片预置的计算方法和业务需求确定待使用的计算方法,其中,所述待使用的计算方法用于选择向所述多个交换芯片中的其中一个交换芯片发送业务数据流需要使用的网卡,所述源数据节点中的至少一个端口分别与所述多个交换芯片中的每个交换芯片相连接;
所述源数据节点通过所述待使用的计算方法选取网卡,并经由所述网卡进行所述业务数据流的发送。
2.根据权利要求1所述的方法,其特征在于,所述源数据节点通过所述待使用的计算方法选取所述网卡包括:
所述源数据节点通过所述待使用的计算方法获取端口汇聚TRUNK表,其中,所述TRUNK表中的各个索引位置分别存储有所述源数据节点的端口与所述源数据节点的网卡标识的对应关系;
所述源数据节点按照所述TRUNK表查找发送所述业务数据流的网卡标识。
3.根据权利要求2所述的方法,其特征在于,所述源数据节点通过所述待使用的计算方法获取端口汇聚TRUNK表包括:
所述源数据节点通过所述待使用的计算方法确定参与计算的字段;
所述源数据节点根据所述参与计算的字段选择待修改的字段范围;
所述源数据节点采用所述待修改的字段范围获取所述TRUNK表。
4.根据权利要求2或3所述的方法,其特征在于,所述TRUNK表中的成员数量为所述多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与所述多个芯片的数量的乘积。
5.一种业务数据流的转发方法,其特征在于,包括:
交换芯片接收来自于源数据节点的业务数据流;
所述交换芯片利用与所述源数据节点相同的计算方法确定转发所述业务数据流的端口,其中,所述源数据节点采用的计算方法是根据多个交换芯片预置的计算方法和业务需求确定的;
所述交换芯片经由计算出的端口将所述业务数据流转发至目的数据节点。
6.根据权利要求5所述的方法,其特征在于,所述交换芯片利用与所述源数据节点相同的计算方法计算转发所述业务数据流的端口包括:
所述交换芯片通过所述待使用的计算方法获取端口汇聚TRUNK表,其中,所述TRUNK表中的各个索引位置分别存储有所述交换芯片的端口与交换芯片标识的对应关系,与所述源数据节点相连接的多个交换芯片在所述TRUNK表中占用的索引位置的个数相同,所述交换芯片标识与所述源数据节点发送所述业务数据流的网卡标识相对应;
所述交换芯片从所述TRUNK表中查找转发所述业务数据流的端口。
7.根据权利要求6所述的方法,其特征在于,所述TRUNK表中的成员数量为所述多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与所述多个芯片的数量的乘积。
8.一种业务数据流的发送装置,其特征在于,包括:
确定模块,用于根据多个交换芯片预置的计算方法和业务需求确定待使用的计算方法,其中,所述待使用的计算方法用于选择向所述多个交换芯片中的其中一个交换芯片发送业务数据流需要使用的网卡,所述源数据节点中的至少一个端口分别与所述多个交换芯片中的每个交换芯片相连接;
选取模块,用于通过所述待使用的计算方法选取网卡;
发送模块,用于经由所述网卡进行所述业务数据流的发送。
9.根据权利要求8所述的装置,其特征在于,所述选取模块包括:
计算单元,用于通过所述待使用的计算方法获取端口汇聚TRUNK表,其中,所述TRUNK表中的各个索引位置分别存储有所述源数据节点的端口与所述源数据节点的网卡标识的对应关系;
查找单元,用于按照所述TRUNK表查找发送所述业务数据流的网卡标识。
10.根据权利要求9所述的装置,其特征在于,所述计算单元包括:
确定子单元,用于通过所述待使用的计算方法确定参与计算的字段;
选择子单元,用于根据所述参与计算的字段选择待修改的字段范围;
获取子单元,用于采用所述待修改的字段范围获取所述TRUNK表。
11.根据权利要求9或10所述的装置,其特征在于,所述TRUNK表中的成员数量为所述多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与所述多个芯片的数量的乘积。
12.一种业务数据流的转发装置,其特征在于,包括:
接收模块,用于接收来自于源数据节点的业务数据流;
确定模块,用于利用与所述源数据节点相同的计算方法确定转发所述业务数据流的端口,其中,所述源数据节点采用的计算方法是根据多个交换芯片预置的计算方法和业务需求确定的;
转发模块,用于经由计算出的端口将所述业务数据流转发至目的数据节点。
13.根据权利要求12所述的装置,其特征在于,所述确定模块包括:
获取单元,用于通过所述待使用的计算方法获取端口汇聚TRUNK表,其中,所述TRUNK表中各个索引位置分别存储有所述交换芯片的端口与交换芯片标识的对应关系,与所述源数据节点相连接的多个交换芯片在所述TRUNK表中占用的索引位置的个数相同,所述交换芯片标识与所述源数据节点发送所述业务数据流的网卡标识相对应;
查找单元,用于从所述TRUNK表中查找转发所述业务数据流的端口。
14.根据权利要求13所述的装置,其特征在于,所述TRUNK表中的成员数量为所述多个芯片中的每个芯片所连接的数据节点的最大端口数量的最小公倍数与所述多个芯片的数量的乘积。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410555240.8A CN105577562B (zh) | 2014-10-17 | 2014-10-17 | 业务数据流的发送、转发方法及装置 |
PCT/CN2015/071454 WO2016058292A1 (zh) | 2014-10-17 | 2015-01-23 | 业务数据流的发送、转发方法及装置 |
EP15851359.8A EP3208980A4 (en) | 2014-10-17 | 2015-01-23 | Service data flow sending and forwarding method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410555240.8A CN105577562B (zh) | 2014-10-17 | 2014-10-17 | 业务数据流的发送、转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105577562A true CN105577562A (zh) | 2016-05-11 |
CN105577562B CN105577562B (zh) | 2020-02-14 |
Family
ID=55746034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410555240.8A Active CN105577562B (zh) | 2014-10-17 | 2014-10-17 | 业务数据流的发送、转发方法及装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3208980A4 (zh) |
CN (1) | CN105577562B (zh) |
WO (1) | WO2016058292A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579925A (zh) * | 2017-09-29 | 2018-01-12 | 迈普通信技术股份有限公司 | 报文转发方法及装置 |
CN109194585A (zh) * | 2018-10-26 | 2019-01-11 | 新华三技术有限公司合肥分公司 | 报文转发方法及网络设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491705B (zh) * | 2018-04-23 | 2021-12-21 | 华为技术有限公司 | 一种网络设备堆叠方法、网络设备及存储介质 |
CN113114579B (zh) * | 2021-03-30 | 2022-03-25 | 杭州迪普信息技术有限公司 | Acl下发方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496502B1 (en) * | 1998-06-29 | 2002-12-17 | Nortel Networks Limited | Distributed multi-link trunking method and apparatus |
CN101309135A (zh) * | 2008-03-07 | 2008-11-19 | 华中科技大学 | 一种提高工业无线传感器网络可靠性的方法 |
CN102171976A (zh) * | 2011-04-14 | 2011-08-31 | 华为技术有限公司 | 交换设备上的数据传输方法和装置 |
CN102307141A (zh) * | 2011-08-18 | 2012-01-04 | 大唐移动通信设备有限公司 | 报文转发方法和设备 |
CN103026666A (zh) * | 2010-07-19 | 2013-04-03 | 格诺多有限公司 | 用于路由以太数据包的以太交换机和方法 |
CN104079424A (zh) * | 2013-03-29 | 2014-10-01 | 国际商业机器公司 | 用于非对称链路聚合的装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4923908B2 (ja) * | 2006-09-21 | 2012-04-25 | 富士通株式会社 | パケット転送装置およびパケット転送方法 |
-
2014
- 2014-10-17 CN CN201410555240.8A patent/CN105577562B/zh active Active
-
2015
- 2015-01-23 EP EP15851359.8A patent/EP3208980A4/en not_active Withdrawn
- 2015-01-23 WO PCT/CN2015/071454 patent/WO2016058292A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496502B1 (en) * | 1998-06-29 | 2002-12-17 | Nortel Networks Limited | Distributed multi-link trunking method and apparatus |
CN101309135A (zh) * | 2008-03-07 | 2008-11-19 | 华中科技大学 | 一种提高工业无线传感器网络可靠性的方法 |
CN103026666A (zh) * | 2010-07-19 | 2013-04-03 | 格诺多有限公司 | 用于路由以太数据包的以太交换机和方法 |
CN102171976A (zh) * | 2011-04-14 | 2011-08-31 | 华为技术有限公司 | 交换设备上的数据传输方法和装置 |
CN102307141A (zh) * | 2011-08-18 | 2012-01-04 | 大唐移动通信设备有限公司 | 报文转发方法和设备 |
CN104079424A (zh) * | 2013-03-29 | 2014-10-01 | 国际商业机器公司 | 用于非对称链路聚合的装置和方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579925A (zh) * | 2017-09-29 | 2018-01-12 | 迈普通信技术股份有限公司 | 报文转发方法及装置 |
CN107579925B (zh) * | 2017-09-29 | 2021-02-12 | 迈普通信技术股份有限公司 | 报文转发方法及装置 |
CN109194585A (zh) * | 2018-10-26 | 2019-01-11 | 新华三技术有限公司合肥分公司 | 报文转发方法及网络设备 |
CN109194585B (zh) * | 2018-10-26 | 2022-05-10 | 新华三技术有限公司合肥分公司 | 报文转发方法及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2016058292A1 (zh) | 2016-04-21 |
EP3208980A1 (en) | 2017-08-23 |
CN105577562B (zh) | 2020-02-14 |
EP3208980A4 (en) | 2017-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103338161B (zh) | 一种实现跨设备聚合的方法和设备 | |
CN107580769B (zh) | 用于网络交换机中的负载均衡的方法与装置 | |
CN101217528B (zh) | 一种链路聚合方法和装置 | |
CN105577562A (zh) | 业务数据流的发送、转发方法及装置 | |
CN108306824B (zh) | 报文发送方法及装置 | |
CN101753455B (zh) | 转发方法及装置 | |
CN103401774A (zh) | 一种基于堆叠系统的报文转发方法和设备 | |
CN104144120A (zh) | 转发信息配置方法及装置 | |
CN107819682A (zh) | 防止与指定的转发器选择相关联的数据业务回路 | |
CN105743801A (zh) | 一种堆叠系统的流量转发的方法及装置 | |
CN102447638A (zh) | 负载均衡的方法及转发设备 | |
CN104798350A (zh) | 跨多个架构交换机的虚拟链路聚合 | |
CN106143532A (zh) | 列车动态重联的方法及节点 | |
CN102098740A (zh) | 链路聚合选路方法及装置 | |
WO2017000677A1 (zh) | 组播控制方法和装置 | |
CN103338152A (zh) | 一种组播报文转发方法和主控板 | |
CN107872385B (zh) | 一种sdn网络路由计算与控制方法 | |
CN102158422B (zh) | 一种用于二层环网中的报文转发的方法和设备 | |
CN104539538B (zh) | 路由器的ip地址匹配方法和路由器的数据包转发方法 | |
CN104378426B (zh) | 一种用于实时信息分发系统的负载均衡方法 | |
CN106254282B (zh) | 链路聚合的实现方法及装置 | |
CN103929365B (zh) | 一种适用于udp服务的负载均衡系统及方法 | |
CN106231007A (zh) | 一种防止mac地址漂移的方法及装置 | |
CN103354567B (zh) | 一种同步媒体访问控制地址的方法和设备 | |
CN107528711B (zh) | 一种数据传输方法、装置以及网元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |