CN111327546A - 一种报文转发的方法及装置 - Google Patents
一种报文转发的方法及装置 Download PDFInfo
- Publication number
- CN111327546A CN111327546A CN202010117679.8A CN202010117679A CN111327546A CN 111327546 A CN111327546 A CN 111327546A CN 202010117679 A CN202010117679 A CN 202010117679A CN 111327546 A CN111327546 A CN 111327546A
- Authority
- CN
- China
- Prior art keywords
- interface
- bit
- bitmap
- slot
- slot position
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提出了一种报文转发的方法及装置。本申请中,主控板将接口对列表中的槽位号修改为位数更少的比特位ID,所以出接口列表中的出接口信息的位数也对应减少了,同时,本申请还使用位图来记录槽位号与比特位ID的对应关系。因此,业务板能使用少于出接口标识的位数来标识出接口,也能根据位图查找到比特位ID对应的槽位号,从而在接收到报文后根据位图和接口对表项进行报文转发。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文转发的方法及装置。
背景技术
常见的网络设备通常包含有多个槽位,其中,每个槽位上可以***一块板卡。为了实现对报文的处理,网络设备需要将接收到的报文在板卡间传输。
业务板可以根据网络设备的主控板下发的接口对列表来控制报文的传输方向。具体的,主控板向业务板下发包括入接口信息与对应的出接口信息的接口对列表。其中,入接口信息为该接口在槽位内的槽内接口号,出接口信息包括该出接口所在槽位的槽位号和在槽位内的槽内接口号,从而使得业务板从入接口接收到报文后,根据接口对表项确定出接口,并从该确定的出接口转发报文。
在业务板中,用于标识接口对列表中的接口的位数是有限的,例如常见的10比特位。这种10比特位的业务板最多可标识1024(即210)个接口,业务板标识出接口时,可以将高5比特位用于标识槽位号,低5比特位用于标识槽内接口号。举例来说,若出接口为第32槽位的第32接口,则出接口标识用二进制表示为1111111111。
然而,随着技术的发展,网络设备的接口数量越来越多,接口对列表中的出接口标识的位数也随之增加,从而导致出接口标识的位数超过业务板可用于表征接口的位数。为了不增加业务板用于标识出接口的位数,亟需一种新的转发报文的方法。
发明内容
针对上述技术问题,本申请提供了一种报文转发的方法及装置,可以使得网络设备的业务板无需增加用于标识出接口信息的位数。
根据本申请的第一方面,提供一种报文转发的方法,该方法应用于网络设备的主控板,所述主控板预设有接口对列表,所述接口对列表中的每个接口对表项包括:入接口信息和出接口信息,所述出接口信息包括该出接口所在槽位的槽位号;
该方法包括:
基于本设备的所有槽位数量生成位图;所述位图中的各比特位与各槽位的槽位号对应;
获取所述接口对列表中所有出接口所在槽位的槽位号,将所述位图中与所述槽位号对应的所有比特位标记为有效位,并为所述位图中标记的各有效位分配比特位ID;所述比特位ID的位数少于槽位号的位数;
针对每个接口对表项,将该接口对表项的出接口所在槽位的槽位号,修改为该槽位号所对应的有效位的比特位ID;
向各业务板下发修改后的位图和修改后的接口对列表,以使所述业务板基于下发的位图和接口对列表进行报文转发。
根据本申请的第二方面,提供一种报文转发的方法,该方法应用于网络设备的业务板,该方法包括:
接收主控板下发的位图和接口对列表;
基于位图和接口对列表进行报文转发;
其中,所述位图由本设备的所有槽位数量生成;所述位图中的各比特位与各槽位的槽位号对应;
所述接口对列表中的每个接口对表项包括:入接口信息和出接口信息;
所述出接口信息包括用于表征该出接口所在槽位槽位号的比特位ID和在槽位内的槽内接口号;所述比特位ID的位数少于槽位号的位数。
根据本申请的第三方面,提供一种报文转发的装置,该装置应用于网络设备的主控板,所述主控板预设有接口对列表,所述接口对列表中的每个接口对表项包括:入接口信息和出接口信息,所述出接口信息包括该出接口所在槽位的槽位号;
该装置包括:
位图生成单元,用于基于本设备的所有槽位数量生成位图;所述位图中的各比特位与各槽位的槽位号对应;
位图标记单元,用于获取所述接口对列表中所有出接口所在槽位的槽位号,将所述位图中与所述槽位号对应的所有比特位标记为有效位,并为所述位图中标记的各有效位分配比特位ID;所述比特位ID的位数少于槽位号的位数;
接口修改单元,用于针对每个接口对表项,将该接口对表项的出接口所在槽位的槽位号,修改为该槽位号所对应的有效位的比特位ID;
信息下发单元,用于向各业务板下发修改后的位图和修改后的接口对列表,以使所述业务板基于下发的位图和接口对列表进行报文转发。
根据本申请的第四方面,提供一种报文转发的装置,该装置应用于网络设备的业务板,该装置包括:
信息接收单元,用于接收主控板下发的位图和接口对列表;
报文转发单元,用于基于位图和接口对列表进行报文转发;
其中,所述位图由本设备的所有槽位数量生成;所述位图中的各比特位与各槽位的槽位号对应;
所述接口对列表中的每个接口对表项包括:入接口信息和出接口信息;
所述出接口信息包括用于表征该出接口所在槽位槽位号的比特位ID和在槽位内的槽内接口号;所述比特位ID的位数少于槽位号的位数。
本申请中,主控板生成位图,该位图上的各比特位与网络设备的各槽位对应,然后从接口对列表中获取所有出接口的槽位号,将位图中与槽位号对应的比特位标记为有效位,再为所有的有效位分配比特位ID。针对每个接口对表项,将接口对表项中的槽位号修改为对应的比特位ID,最后将修改后的位图和接口对列表下发给业务板。从而,业务板在接收到报文后,可以根据接收报文的入接口、接口对列表和位图确定报文的出接口,并基于该出接口转发报文。
主控板将接口对列表中的槽位号修改为位数更少的比特位ID,所以出接口列表中的出接口信息的位数也对应减少了,同时,本申请还使用位图来记录槽位号与比特位ID的对应关系,因此,业务板能使用少于出接口标识的位数来标识出接口,也能根据位图查找到比特位ID对应的槽位号,从而在接收到报文后根据位图和接口对表项进行报文转发。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1-a为本申请一示例性实施例示出的一种网络设备的槽位示意图;
图1-b为本申请一示例性实施例示出的另一种网络设备的槽位示意图;
图2为本申请一示例性实施例示出的一种转发报文的方法框图;
图3-a为本申请一示例性实施例示出的一种位图的示意图;
图3-b为本申请一示例性实施例示出的另一种位图的示意图;
图4为本申请一示例性实施例示出的另一种转发报文的方法框图
图5为本申请一示例性实施例示出的一种网络设备的硬件结构图;
图6为本申请一示例性实施例示出的一种转发报文的装置框图;
图7为本申请一示例性实施例示出的另一种转发报文的装置框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
常见的网络设备通常包含有多个槽位,其中每个槽位上可以***一块板卡。
如图1-a所示的网络设备,包括32个槽位,槽位之间通过内部线缆互相连接(图中未示出),且每个槽位预留有32个接口。假设该网络设备***有至少三块业务板,其中,第1槽位***有业务板A,第2槽位***有业务板B,第32槽位***有业务板C,且每块业务板占用对应槽位的所有接口。当然,其他槽位可以***接口数量不一的其他板卡,也可以闲置,在此不做限定。
为了实现对报文的处理,网络设备需要将接收到的报文在板卡间传输。
业务板根据网络设备的主控板下发的接口对列表来控制报文的传输方向。具体的,主控板向业务板下发包括入接口信息与对应的出接口信息的接口对列表。其中,入接口信息为该接口在槽位内的槽内接口号,出接口信息包括该出接口所在槽位的槽位号和在槽位内的槽内接口号,从而使得业务板从入接口接收到报文后,根据接口对列表确定出接口,并从该确定的出接口转发报文。
仍以图1-a所示的网络设备为例,由于该网络设备包括32个槽位,网络设备的主控板用5比特位来表示每槽位的槽位号,即槽位号的取值范围为00000——11111;基于同样的理由,由于每个槽位内包括32个接口,因此网络设备也将槽位内的槽内接口号表示为5比特位,即槽内接口号的取值范围为00000——11111。
主控板需要将接口对列表下发至各业务板,才能使业务板在接收到报文后根据入接口在接口对表项中查询对应的出接口。然而,业务板中用于表征接口对列表中的接口信息的位数是有限的,例如常见的10比特位。这种10比特位的业务板最多可标识1024(即210)个接口,业务板标识出接口时,需要同时标识出接口所在槽位的槽位号、以及该出接口在槽位内的槽内接口号。仍以图1-a为例,业务板中用于表征接口信息的位数为10比特位,则在标识出接口时,将高5比特位用于标识槽位号,低5比特位用于标识槽内接口号。
举例来说,在图1-a所示的网络设备中,假设该网络设备上的接口对列表包含一条接口对表项,该接口对表项针对第1槽位,如表1所示:
槽位 | 入接口 | 出接口 |
1 | 00000 | 1111111111 |
表1
可以理解的,该接口对列表表示:针对第1槽位,当报文的入接口为第1接口时,报文的出接口为第32槽位的第32接口。其中,出接口标识中的高5位用于表示槽位号32,用二进制表示为111111;低5位用于表示槽内接口号32,用二进制表示为111111。则该出接口的标识为1111111111。
然而,随着技术的发展,网络设备上提供的接口数量越来越多,主控板也使用更多位数的标识来标识槽位号和槽内接口号。
以图1-b为例,该网络设备的槽位数量和槽内接口数量均为64,则主控板至少需要用6比特位来标识每个槽位的槽位号,即槽位号的取值范围为000000——111111;用6比特位来标识槽内接口号,即槽内接口号的取值范围为000000——111111。
然而业务板中用于标识接口对列表中的接口的位数无法拓展,当出接口标识的位数超过业务板中可用于表征接口的位数,则业务板无法区分接口对列表中的接口。
有鉴于此,为了不增加业务板用于标识出接口的位数,本申请提出了一种新的转发报文的方法。
参见图2,图2是本申请一示例性实施例示出的一种转发报文的方法,该方法应用于网络设备中的主控板,该主控板预设有接口对列表,该接口对列表中的每个接口对表项包括:入接口信息和出接口信息,其中出接口信息包括该出接口所在槽位的槽位号。
如图2所示,包括以下步骤:
步骤S201:主控板基于本设备的所有槽位数量生成位图;所述位图中的各比特位与各槽位的槽位号对应。
首先,网络设备的主控板获取本设备的槽位数量,并基于槽位数量确定用于表征本设备槽位号的位数。一般的,网络设备预设的槽位数量为2的N次方(N为大于0的整数),则主控板确定本设备使用N个比特位来表征槽位号。
以图1-b所示的网络设备为例,该网络设备包含64(即26)个槽位,则主控板可以使用6个比特位来表征槽位号。
然后,主控板将所述位数拆分成高位区间和低位区间。
以用于表征槽位号比特位位数为6比特位为例,可以将6个比特位拆分成1个高位区间和5个低位区间,也可以将6个比特位拆分成3个高位区间和3个低位区间,可以按照实际需求将位数拆封成两个整数区间,本实施例只是示例性说明,并不限定具体的拆分方法。
最后,主控板根据上述高位区间和低位区间确定位图,其中,位图的横轴用于表征高位区间,位图的纵轴用于表征低位区间。
具体地,横轴和纵轴包括的比特位位数,为区间长度可表征的不同的数值数量。例如,当低位区间的长度为3比特位时,3比特位可表征8(即23)个不同的数值。则表征该低位区间的纵轴包括8个比特位。
仍以图1-b所示的网络设备为例,将6个比特位拆封成3个高位区间和3个低位区间,则位图的横轴包括标识槽位的高3位的8(即23)个比特位,位图的纵轴标识槽位号低3位的包括8(即23)个比特位。
由此,主控板可以为上述网络设备确定如图3-a所示的位图,该位图中包括64个比特位,与网络设备上的64个槽位号一一对应。为方便表示,将位图中的横、纵坐标比特位都表示成10进制数值。例如,坐标为(7,1)的比特位表示槽位号的高3位为111、低3位为001的槽位,即槽位号为111001的第58槽位。
当然,本申请也可以使用位图的横轴来表征低位区间,用位图的纵轴来表征低位区间,只要主控板与业务板统一表征关系即可,这里只是示例性说明,并不进行限定。
步骤S202:主控板获取所述接口对列表中所有出接口所在槽位的槽位号,将所述位图中与所述槽位号对应的所有比特位标记为有效位,并为所述位图中标记的各有效位分配比特位ID;所述比特位ID的位数少于槽位号的位数。
本申请中,网络设备的主控板预先配置有接口对列表,其中每个接口对表项包括:入接口信息和出接口信息,且出接口信息包括该出接口所在槽位的槽位号。
主控板获取该接口对列表中包含的所有出接口信息,并确定这些出接口信息中的出接口所在槽位的槽位号;然后在位图中逐个查找与出接口所在槽位的槽位号对应的比特位,将查找到的比特位标记为有效位。在完成与接口对列表中所有出接口所在槽位的槽位号对应的比特位标记后,主控板为位图中标记的各有效位分配比特位ID,且该比特位ID的位数少于槽位号的位数。
作为一个可选的实施例,主控板可以首先按照预设顺序对所述位图中的有效位进行排序,然后针对每一有效位,将该有效位在该排序中的序号作为该有效位的比特位ID。
其中,预设顺序可以遵循先从上至下,再从左至右的顺序;也可以遵循先从左至右,再从上至下的顺序,这里不进行具体限定。
可以理解的是,由于网络设备上不仅有需要转发报文的业务板,还包括大量其他不涉及报文转发的板卡,例如主控板、交换板等,因而接口对表项中出接口的槽位号远远小于网络设备上所有槽位的数量。因此,本申请中,有效位的数量远远小于总的比特位数量,当使用有效位的序号作为比特位ID时,比特位ID的位数也可以小于槽位号的位数。
下面通过图3-a所示的位图作为一个实施例,对步骤S202的方法进行具体说明。
假设主控板预设的接口对列表包含两条接口对表项,如表2所示:
槽位 | 入接口 | 出接口 |
1 | 000000 | 000001000000 |
1 | 000001 | 111111000001 |
表2
其中,该两条接口对表项均针对第1槽位,分别可以表示为:当报文的入接口为第1接口时,报文的出接口为第2槽位的第1接口;当报文的入接口为第2接口时,报文的出接口为第64槽位的第2接口。
在本实施例中,包括以下步骤:
首先,主控板获取表2中所有出接口所在槽位的槽位号,包括槽位号000001(即第2槽位的槽位号)、和槽位号111111(即第64槽位的槽位号)。
然后,主控板在位图中查找与上述两个槽位号对应的比特位,并将查找到的比特位标记为有效位。具体地,槽位号000001的高3位为000,低3位为001,则该槽位号对应的比特位在位图中的坐标为(0,1);槽位111111的高3位为111,低3位为111,则该槽位号对应的比特位在位图中的坐标为(7,7)。标记后的位图如图3-b所示。
最后,主控板为完成标记后的位图中的所有有效位分配比特位ID。具体地,将图中的两个有效位按照从上至下,从左至右的顺序排序,并将该有效位在排序中的序号作为其比特位ID。为第1个有效位(即与槽位号000001对应的比特位)分配比特位ID为0000;为第2个有效位(即与槽位号111111对应的比特位)分配比特位ID为0001。
可以理解的是,比特位ID的位数可以根据业务板中可用于标识出接口槽位号的位数来确定。在本实施例中,业务板用于表征出接口的位数为10位,其中6位用于表征出接口在槽位内的接口号,因此,剩余4位可用于表征出接口所在槽位的槽位号。
步骤S203:主控板针对每个接口对表项,将该接口对表项的出接口所在槽位的槽位号,修改为该槽位号所对应的有效位的比特位ID。
本申请中,主控板将接口对表项中出接口所在槽位的槽位号修改为在步骤S202中分配的比特位ID,从而,修改后的接口对表项中,出接口信息包括出接口所在槽位的比特位ID和出接口在槽位内的槽内接口号。
仍以表2为例,修改后的接口对列表入表3所示。
槽位 | 入接口 | 出接口 |
1 | 000000 | 0000000000 |
1 | 000001 | 0001000001 |
表3
其中,第一个出接口信息0000000000表示出接口所在槽位的比特位ID为0000,出接口在槽位内的槽内接口号为000000;第二个出接口也采用类似的方法进行表示,在此不再赘述。
步骤S204:主控板向各业务板下发修改后的位图和修改后的接口对列表,以使所述业务板基于下发的位图和接口对列表进行报文转发。
主控板将经步骤S203修改后的接口对列表、以及经步骤S202标记后的位图下发给各业务板,从而业务板可以根据主控板下发的信息进行报文转发。业务板转发报文的具体方法由下文图4进行说明,在此不再赘述。
可选的,主控板向各业务板下发的接口对列表可以包含所有槽位的接口对表项;也可以包含针对每个业务板,与该业务板所在槽位对应的接口对表项。
至此,完成图2所示的流程。
本申请中,主控板生成位图,该位图上的各比特位与网络设备的各槽位对应,然后从接口对列表中获取所有出接口的槽位号,将位图中与槽位号对应的比特位标记为有效位,再为所有的有效位分配比特位ID。针对每个接口对表项,将接口对表项中的槽位号修改为对应的比特位ID,最后将修改后的位图和接口对列表下发给业务板。从而,业务板在接收到报文后,可以根据接收报文的入接口、接口对列表和位图确定报文的出接口,并基于该出接口转发报文。
主控板将接口对列表中的槽位号修改为位数更少的比特位ID,所以出接口列表中的出接口信息的位数也对应减少了,同时,本申请还使用位图来记录槽位号与比特位ID的对应关系,因此,业务板能使用少于出接口标识的位数来标识出接口,也能根据位图查找到比特位ID对应的槽位号,从而在接收到报文后根据位图和接口对表项进行报文转发。
需要说明的是,除了上述方法外,主控板也可以将出接口标识作为一个整体进行压缩。具体地,主控板基于网络设备中包含的所有接口的数量生成位图,且位图中的每一个比特位与网络设备上的一个接口对应,然后采用与图2类似的方法,将出接口标识作为一个整体,替换为比特位ID。从而,业务板可以根据主控板下发的位图和接口对列表中的比特位ID确定出接口标识。
而本申请仅修改出接口标识中的槽位号部分,较上述方法中将出接口标识作为一个整体来进行压缩,能使得网络设备的工作效率更高,并减少了资源浪费,原因如下:
一方面,网络设备中接口对表项变更比较频繁,若将出接口标识作为一个整体进行修改,则当表项发生任一变更时,都需要全量修改位图和接口对表项;而本申请方法只修改了出接口标识中的槽位号部分,在网络设备没有变更槽位号的情况下,槽内的接口变更时,只需要增量下发或修改接口对表项和位图,而无需进行全量变更,从而使得网络设备的工作效率更高。
另一方面,由于槽位号的位数比接口标识整体的位数更少,显然,本申请中与槽位一一对应的位图,比上述方法中与接口一一对应的位图规格更小,因而,本申请方法能减少位图所占用的存储空间,减少了网络设备中的内存资源浪费。
参见图4,图4是本申请一示例性实施例示出的另一种转发报文的方法,该方法应用于网络设备中的业务板。
如图4所示,包括以下步骤:
步骤S401:业务板接收主控板下发的位图和接口对列表。
本申请中,业务板接收步骤S204中主控板下发的位图和接口对列表。
其中,位图由本设备的所有槽位数量生成;位图中的各比特位与各槽位的槽位号对应;接口对列表中的每个接口对表项包括:入接口信息和出接口信息;其中出接口信息包括用于表征该出接口所在槽位槽位号的比特位ID和在槽位内的槽内接口号,并且比特位ID的位数少于槽位号的位数。
步骤S402:业务板基于位图和接口对列表进行报文转发。
具体地,业务板可以按照以下步骤来转发报文。
第一步:业务板接收报文;
第二步:业务板在所述接口对列表中查找与所述报文的入接口匹配的接口对表项,获取该接口对表项中的比特位ID。
业务板接收报文后,确定本业务板上接收该报文的入接口;然后在接口对列表中查找与该入接口匹配的接口对表项,获取接口对表项中的出接口信息。其中,出接口信息包括用于表征该出接口所在槽位槽位号的比特位ID和在槽位内的槽内接口号。
第三步:业务板在位图中查找与第二步中比特位ID对应的比特位。
作为一个可选的实施例,业务板接收到的位图中包含被标记为有效位的比特位,并且该有效位为与接口对列表中所有出接口所在槽位的槽位号对应的比特位。同时,比特位ID为按照预设顺序对所有有效位进行排序后,各有效位在该排序中的有效位序号。
在本实施例中,业务板首先按照预设顺序对位图中的有效位进行排序,其中,该预设顺序可以是遵循先从上至下,再从左至右的顺序;也可以遵循先从左至右,再从上至下的顺序,这里只是示例性说明,只要与步骤S202中的顺序对应即可,并不进行具体限定。然后,业务板在该排序中,确定该有效位序号对应的有效位,该有效位即为比特位ID对应的比特位。第四步:业务板基于第三步中比特位在位图中的位置坐标,生成报文的出接口所在槽位的槽位号。
作为一个可选的实施例,若位图中的横轴用于表征槽位号的高位区间,纵轴用于表征槽位号的低位区间,则业务板根据比特位在位图中的位置坐标,可分别确定槽位号的高位区间和低位区间,从而组合成该出接口所在槽位的槽位号。
举例来说,在图3-b所示的位图中,位置坐标(0,1)的比特位,其高位区间为000,低位区间为001,因此,该比特位对应的槽位号为000001。
基于同样的方法,若位图中的横轴用于表征槽位号的低位区间,纵轴用于表征槽位号的高位区间,也可以得到于位置坐标对应的槽位号,在此不再赘述。
第五步:业务板基于第四步生成的槽位号和第二步查找到的出接口信息中的槽内接口号,确定该报文的出接口标识,将报文通过该出接口标识所指示的出接口进行转发。
至此,完成图4所示的流程。
下面通过具体的例子对业务板转发报文的方法进行详细地说明。
假设第1槽位上的业务板接收到的主控板下发的位图如图3-b所示,接口对列表如表3所示。当业务板接收到来自第2接口的报文时,根据以下步骤对报文进行转发。
首先,业务板接收报文,并确定接收报文的入接口信息为“000001”。
其次,业务板在如表3所示的接口对列表中查询与入接口对应的接口对表项,并确定出接口信息为“0001000001”。其中,根据预先定义的规则,业务板可以确定“0001”为出接口所在槽位槽位号的比特位ID,“000001”为出接口在槽位中的槽内接口号。
接着,业务板将如图3-b所示的位图中的所有有效位按照预设顺序进行排序,以各有效位在位图中的坐标进行表示,得到排序后的队列为:(0,1)、(7,7)。
然后,业务板在该排序中,确定比特位ID“0001”为该队列中的第2个比特位,即坐标为(7,7)的有效位。
最后,业务板根据坐标(7,7)确定出接口所在槽位的槽位号为“111111”,并与出接口在槽位中的槽内接口号“000001”结合,确定出接口标识为“111111000001”。由此,业务板将上述接收到的报文从第64槽位第2接口转发出去。
至此,业务板完成了报文转发的流程。
与前述转发报文方法的实施例相对应,本申请还提供了转发报文装置的实施例。
本申请转发报文装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请转发报文装置所在网络设备的一种硬件结构图,除了图5所示的主控板和业务板之外,实施例中装置所在的网络设备通常根据该网络设备的实际功能,还可以包括其他硬件,对此不再赘述。
参见图6,图6是本申请一示例性实施例示出的一种转发报文的装置的框图。该装置可以应用在网络设备的主控板上,该主控板预设有接口对列表,该接口对列表中的每个接口对表项包括:入接口信息和出接口信息,该出接口信息包括该出接口所在槽位的槽位号;
该装置包括:
位图生成单元601,用于基于本设备的所有槽位数量生成位图;所述位图中的各比特位与各槽位的槽位号对应;
位图标记单元602,用于获取所述接口对列表中所有出接口所在槽位的槽位号,将所述位图中与所述槽位号对应的所有比特位标记为有效位,并为所述位图中标记的各有效位分配比特位ID;所述比特位ID的位数少于槽位号的位数;
接口修改单元603,用于针对每个接口对表项,将该接口对表项的出接口所在槽位的槽位号,修改为该槽位号所对应的有效位的比特位ID;
信息下发单元604,用于向各业务板下发修改后的位图和修改后的接口对列表,以使所述业务板基于下发的位图和接口对列表进行报文转发。
可选地,为所述位图中标记的各有效位分配比特位ID,包括:
按照预设顺序对所述位图中的有效位进行排序;
针对每一有效位,将该有效位在该排序中的序号作为该有效位的比特位ID。
可选地,基于本设备的所有槽位数量生成位图,包括:
基于所述本设备的所有槽位数量确定用于表征本设备槽位号的位数;
将所述位数拆分成高位区间和低位区间;
基于所述高位区间和低位区间确定位图;所述位图的横轴用于表征高位区间,所述位图的纵轴用于表征低位区间。
至此,完成图6所示装置的框图。
参见图7,图7是本申请一示例性实施例示出的另一种转发报文的装置的框图。该装置可以应用在网络设备的业务板上,该装置可包括:
信息接收单元701,用于接收主控板下发的位图和接口对列表;
报文转发单元702,用于基于位图和接口对列表进行报文转发;
其中,所述位图由本设备的所有槽位数量生成;所述位图中的各比特位与各槽位的槽位号对应;
所述接口对列表中的每个接口对表项包括:入接口信息和出接口信息;
所述出接口信息包括用于表征该出接口所在槽位槽位号的比特位ID和在槽位内的槽内接口号;所述比特位ID的位数少于槽位号的位数。
可选地,所述基于位图和接口对列表进行报文转发,包括:
接收报文;
在所述接口对列表中查找与所述报文的入接口匹配的接口对表项,获取该接口对表项中的比特位ID,并在接收到的位图中查找与该比特位ID对应的比特位,并基于该比特位在该位图中的位置坐标,生成所述报文的出接口所在槽位的槽位号;
基于所述槽位号和所述槽内接口号确定该报文的出接口标识,将报文通过所述出接口标识所指示的出接口进行转发。
可选地,所述位图中包含被标记为有效位的比特位,所述有效位为与所述接口对列表中所有出接口所在槽位的槽位号对应的比特位;
所述比特位ID为按照预设顺序对所有有效位进行排序后,各有效位在该排序中的有效位序号;
所述在接收到的位图中查找与该比特位ID对应的比特位,包括:
按照预设顺序对所述位图中的有效位进行排序;
在该排序中,确定该有效位序号对应的有效位。
至此,完成图7所示装置的框图。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种报文转发的方法,其特征在于,应用于网络设备的主控板,所述主控板预设有接口对列表,所述接口对列表中的每个接口对表项包括:入接口信息和出接口信息,所述出接口信息包括该出接口所在槽位的槽位号;
所述方法包括:
基于本设备的所有槽位数量生成位图;所述位图中的各比特位与各槽位的槽位号对应;
获取所述接口对列表中所有出接口所在槽位的槽位号,将所述位图中与所述槽位号对应的所有比特位标记为有效位,并为所述位图中标记的各有效位分配比特位ID;所述比特位ID的位数少于槽位号的位数;
针对每个接口对表项,将该接口对表项的出接口所在槽位的槽位号,修改为该槽位号所对应的有效位的比特位ID;
向各业务板下发修改后的位图和修改后的接口对列表,以使所述业务板基于下发的位图和接口对列表进行报文转发。
2.根据权利要求1所述的方法,其特征在于,所述为所述位图中标记的各有效位分配比特位ID,包括:
按照预设顺序对所述位图中的有效位进行排序;
针对每一有效位,将该有效位在该排序中的序号作为该有效位的比特位ID。
3.根据权利要求1所述的方法,其特征在于,所述基于本设备的所有槽位数量生成位图,包括:
基于所述本设备的所有槽位数量确定用于表征本设备槽位号的位数;
将所述位数拆分成高位区间和低位区间;
基于所述高位区间和低位区间确定位图;所述位图的横轴用于表征高位区间,所述位图的纵轴用于表征低位区间。
4.一种报文转发方法,其特征在于,应用于网络设备的业务板,所述方法包括:
接收主控板下发的位图和接口对列表;
基于位图和接口对列表进行报文转发;
其中,所述位图由本设备的所有槽位数量生成;所述位图中的各比特位与各槽位的槽位号对应;
所述接口对列表中的每个接口对表项包括:入接口信息和出接口信息;
所述出接口信息包括用于表征该出接口所在槽位槽位号的比特位ID和在槽位内的槽内接口号;所述比特位ID的位数少于槽位号的位数。
5.根据权利要求4所述的方法,其特征在于,所述基于位图和接口对列表进行报文转发,包括:
接收报文;
在所述接口对列表中查找与所述报文的入接口匹配的接口对表项,获取该接口对表项中的比特位ID,并在接收到的位图中查找与该比特位ID对应的比特位,并基于该比特位在该位图中的位置坐标,生成所述报文的出接口所在槽位的槽位号;
基于所述槽位号和所述槽内接口号确定该报文的出接口标识,将报文通过所述出接口标识所指示的出接口进行转发。
6.根据权利要求5所述的方法,其特征在于,所述位图中包含被标记为有效位的比特位,所述有效位为与所述接口对列表中所有出接口所在槽位的槽位号对应的比特位;
所述比特位ID为按照预设顺序对所有有效位进行排序后,各有效位在该排序中的有效位序号;
所述在接收到的位图中查找与该比特位ID对应的比特位,包括:
按照预设顺序对所述位图中的有效位进行排序;
在该排序中,确定该有效位序号对应的有效位。
7.一种报文转发的装置,其特征在于,应用于网络设备的主控板,所述主控板预设有接口对列表,所述接口对列表中的每个接口对表项包括:入接口信息和出接口信息,所述出接口信息包括该出接口所在槽位的槽位号;
所述装置包括:
位图生成单元,用于基于本设备的所有槽位数量生成位图;所述位图中的各比特位与各槽位的槽位号对应;
位图标记单元,用于获取所述接口对列表中所有出接口所在槽位的槽位号,将所述位图中与所述槽位号对应的所有比特位标记为有效位,并为所述位图中标记的各有效位分配比特位ID;所述比特位ID的位数少于槽位号的位数;
接口修改单元,用于针对每个接口对表项,将该接口对表项的出接口所在槽位的槽位号,修改为该槽位号所对应的有效位的比特位ID;
信息下发单元,用于向各业务板下发修改后的位图和修改后的接口对列表,以使所述业务板基于下发的位图和接口对列表进行报文转发。
8.根据权利要求7所述的装置,其特征在于,所述为所述位图中标记的各有效位分配比特位ID,包括:
按照预设顺序对所述位图中的有效位进行排序;
针对每一有效位,将该有效位在该排序中的序号作为该有效位的比特位ID。
9.根据权利要求7所述的装置,其特征在于,所述基于本设备的所有槽位数量生成位图,包括:
基于所述本设备的所有槽位数量确定用于表征本设备槽位号的位数;
将所述位数拆分成高位区间和低位区间;
基于所述高位区间和低位区间确定位图;所述位图的横轴用于表征高位区间,所述位图的纵轴用于表征低位区间。
10.一种报文转发单元,其特征在于,应用于网络设备的业务板,所述装置包括:
信息接收单元,用于接收主控板下发的位图和接口对列表;
报文转发单元,用于基于位图和接口对列表进行报文转发;
其中,所述位图由本设备的所有槽位数量生成;所述位图中的各比特位与各槽位的槽位号对应;
所述接口对列表中的每个接口对表项包括:入接口信息和出接口信息;
所述出接口信息包括用于表征该出接口所在槽位槽位号的比特位ID和在槽位内的槽内接口号;所述比特位ID的位数少于槽位号的位数。
11.根据权利要求10所述的装置,其特征在于,所述基于位图和接口对列表进行报文转发,包括:
接收报文;
在所述接口对列表中查找与所述报文的入接口匹配的接口对表项,获取该接口对表项中的比特位ID,并在接收到的位图中查找与该比特位ID对应的比特位,并基于该比特位在该位图中的位置坐标,生成所述报文的出接口所在槽位的槽位号;
基于所述槽位号和所述槽内接口号确定该报文的出接口标识,将报文通过所述出接口标识所指示的出接口进行转发。
12.根据权利要求11所述的装置,其特征在于,所述位图中包含被标记为有效位的比特位,所述有效位为与所述接口对列表中所有出接口所在槽位的槽位号对应的比特位;
所述比特位ID为按照预设顺序对所有有效位进行排序后,各有效位在该排序中的有效位序号;
所述在接收到的位图中查找与该比特位ID对应的比特位,包括:
按照预设顺序对所述位图中的有效位进行排序;
在该排序中,确定该有效位序号对应的有效位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010117679.8A CN111327546B (zh) | 2020-02-25 | 2020-02-25 | 一种报文转发的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010117679.8A CN111327546B (zh) | 2020-02-25 | 2020-02-25 | 一种报文转发的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111327546A true CN111327546A (zh) | 2020-06-23 |
CN111327546B CN111327546B (zh) | 2022-01-28 |
Family
ID=71169098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010117679.8A Active CN111327546B (zh) | 2020-02-25 | 2020-02-25 | 一种报文转发的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111327546B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112003960A (zh) * | 2020-08-06 | 2020-11-27 | 杭州安恒信息技术股份有限公司 | 工控设备的网络接口管理方法、装置和电子装置 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030002506A1 (en) * | 2001-07-02 | 2003-01-02 | Hitachi, Ltd. | Packet switching apparatus, method of transmitting multicast packet at packet switching apparatus, and setup method of packet switching apparatus |
US20050278400A1 (en) * | 2004-06-15 | 2005-12-15 | Sung-Ho Kang | Test data compression and decompression method using zero-detected run-length code in system-on-chip |
CN1933450A (zh) * | 2006-10-26 | 2007-03-21 | 杭州华为三康技术有限公司 | 板间通信方法及接口板 |
CN101267331A (zh) * | 2008-04-23 | 2008-09-17 | 华为技术有限公司 | 一种组播转发表查找方法和装置 |
CN102136996A (zh) * | 2010-08-10 | 2011-07-27 | 华为技术有限公司 | 用于快速重路由绑定的路由信息更新方法、节点及*** |
CN102148746A (zh) * | 2010-02-05 | 2011-08-10 | 中兴通讯股份有限公司 | 一种报文分类方法和*** |
CN102148751A (zh) * | 2010-12-16 | 2011-08-10 | 福建星网锐捷网络有限公司 | 逻辑接口管理方法、装置及网络设备 |
WO2011118566A1 (ja) * | 2010-03-24 | 2011-09-29 | 日本電気株式会社 | パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム |
CN102780605A (zh) * | 2011-05-13 | 2012-11-14 | 中国科学院声学研究所 | 一种域间出口路径动态选择方法及*** |
WO2014086041A1 (zh) * | 2012-12-07 | 2014-06-12 | 华为技术有限公司 | 一种报文的流转发方法及报文转发设备 |
CN104205742A (zh) * | 2013-01-29 | 2014-12-10 | 华为技术有限公司 | 报文处理方法和转发设备 |
CN105681229A (zh) * | 2014-11-20 | 2016-06-15 | 华为技术有限公司 | 扩展端口编号的方法及交换机 |
CN106131086A (zh) * | 2016-08-31 | 2016-11-16 | 迈普通信技术股份有限公司 | 一种访问控制列表的匹配方法及装置 |
CN106330553A (zh) * | 2016-08-30 | 2017-01-11 | 杭州迪普科技有限公司 | 报文转发方法及装置 |
CN107342958A (zh) * | 2017-06-29 | 2017-11-10 | 迈普通信技术股份有限公司 | 分布式通信设备及板间通信方法 |
CN107846357A (zh) * | 2017-12-22 | 2018-03-27 | 杭州迪普科技股份有限公司 | 一种基于流定义的报文转发方法及装置 |
CN107896169A (zh) * | 2017-12-28 | 2018-04-10 | 杭州迪普科技股份有限公司 | 一种acl的管理方法及装置 |
CN109818861A (zh) * | 2017-11-21 | 2019-05-28 | 迈普通信技术股份有限公司 | 实现报文洪泛的方法及装置 |
-
2020
- 2020-02-25 CN CN202010117679.8A patent/CN111327546B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030002506A1 (en) * | 2001-07-02 | 2003-01-02 | Hitachi, Ltd. | Packet switching apparatus, method of transmitting multicast packet at packet switching apparatus, and setup method of packet switching apparatus |
US20050278400A1 (en) * | 2004-06-15 | 2005-12-15 | Sung-Ho Kang | Test data compression and decompression method using zero-detected run-length code in system-on-chip |
CN1933450A (zh) * | 2006-10-26 | 2007-03-21 | 杭州华为三康技术有限公司 | 板间通信方法及接口板 |
CN101267331A (zh) * | 2008-04-23 | 2008-09-17 | 华为技术有限公司 | 一种组播转发表查找方法和装置 |
CN102148746A (zh) * | 2010-02-05 | 2011-08-10 | 中兴通讯股份有限公司 | 一种报文分类方法和*** |
WO2011118566A1 (ja) * | 2010-03-24 | 2011-09-29 | 日本電気株式会社 | パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム |
CN102136996A (zh) * | 2010-08-10 | 2011-07-27 | 华为技术有限公司 | 用于快速重路由绑定的路由信息更新方法、节点及*** |
CN102148751A (zh) * | 2010-12-16 | 2011-08-10 | 福建星网锐捷网络有限公司 | 逻辑接口管理方法、装置及网络设备 |
CN102780605A (zh) * | 2011-05-13 | 2012-11-14 | 中国科学院声学研究所 | 一种域间出口路径动态选择方法及*** |
WO2014086041A1 (zh) * | 2012-12-07 | 2014-06-12 | 华为技术有限公司 | 一种报文的流转发方法及报文转发设备 |
CN104205742A (zh) * | 2013-01-29 | 2014-12-10 | 华为技术有限公司 | 报文处理方法和转发设备 |
CN105681229A (zh) * | 2014-11-20 | 2016-06-15 | 华为技术有限公司 | 扩展端口编号的方法及交换机 |
CN106330553A (zh) * | 2016-08-30 | 2017-01-11 | 杭州迪普科技有限公司 | 报文转发方法及装置 |
CN106131086A (zh) * | 2016-08-31 | 2016-11-16 | 迈普通信技术股份有限公司 | 一种访问控制列表的匹配方法及装置 |
CN107342958A (zh) * | 2017-06-29 | 2017-11-10 | 迈普通信技术股份有限公司 | 分布式通信设备及板间通信方法 |
CN109818861A (zh) * | 2017-11-21 | 2019-05-28 | 迈普通信技术股份有限公司 | 实现报文洪泛的方法及装置 |
CN107846357A (zh) * | 2017-12-22 | 2018-03-27 | 杭州迪普科技股份有限公司 | 一种基于流定义的报文转发方法及装置 |
CN107896169A (zh) * | 2017-12-28 | 2018-04-10 | 杭州迪普科技股份有限公司 | 一种acl的管理方法及装置 |
Non-Patent Citations (5)
Title |
---|
AHMAD NASEEM ALVI: "《BEST-MAC: Bitmap-Assisted Efficient and Scalable TDMA-Based WSN MAC Protocol for Smart Cities》", 《IEEE ACCESS》 * |
FARIHA BALOCH; RAVI PENDSE: "《A New Transmission Control Protocol for Active RFID Networks》", 《2014 28TH INTERNATIONAL CONFERENCE ON ADVANCED INFORMATION NETWORKING AND APPLICATIONS WORKSHOPS》 * |
刘玉宝,陈文龙: "《分布式组播路由器存储与转发优化模型》", 《计算机应用与软件》 * |
王桐桐: "《一种多维并行报文分类算法》", 《计算机工程》 * |
王燕: "实现IPv6数据包分类的算法研究", 《计算机应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112003960A (zh) * | 2020-08-06 | 2020-11-27 | 杭州安恒信息技术股份有限公司 | 工控设备的网络接口管理方法、装置和电子装置 |
CN112003960B (zh) * | 2020-08-06 | 2022-11-15 | 杭州安恒信息技术股份有限公司 | 工控设备的网络接口管理方法、装置和电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111327546B (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107679684B (zh) | 保单分配方法、装置、存储介质和计算机设备 | |
JP2019517748A (ja) | エージェント割振りの方法、装置、サーバーおよび記録媒体 | |
CN108259346B (zh) | 一种等价路由表项建立方法和装置 | |
CN105183565A (zh) | 计算机、服务质量控制方法及装置 | |
CN107040393B (zh) | 一种路由管理方法和设备 | |
KR101858715B1 (ko) | 서비스자원 관리시스템 및 그 방법 | |
JP2012164333A (ja) | 表検索方法 | |
CN111107173B (zh) | 一种ip承载网的ip地址规划方法及*** | |
CN115361360B (zh) | 一种IPv6地址后64位精细化地址实现方法及*** | |
CN111327546B (zh) | 一种报文转发的方法及装置 | |
CN108733802B (zh) | 识别码生成及解析方法、装置、存储介质和电子设备 | |
CN105872635A (zh) | 视频资源分发的方法和装置 | |
CN111182043A (zh) | 哈希值的分配方法及装置 | |
CN111163186A (zh) | 一种id生成方法、装置、设备和存储介质 | |
CN108965093B (zh) | 一种vlan分配方法及装置 | |
CN101980487A (zh) | 一种路由选择出口的方法和装置 | |
CN108124285B (zh) | 一种报文传输方法和装置 | |
CN113194107B (zh) | 基于互联网的区域特性的寻址方法和装置 | |
CN111679918B (zh) | 一种消息传输方法及装置 | |
CN102870481A (zh) | 时频资源分配消息发送方法、解析方法和装置及*** | |
CN113835862B (zh) | 任务处理方法及装置 | |
CN108173689B (zh) | 负载均衡数据的输出*** | |
JP4671041B2 (ja) | モジュール化物理リソース群特定方法、その装置及びプログラム | |
CN115866579B (zh) | 一种智能卡写卡方法、***、终端及存储介质 | |
KR100264859B1 (ko) | 네트워크단말기의고유코드할당방법 |
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 |