CN101588299B - 分布式设备的报文转发方法及分布式设备和该设备的单板 - Google Patents
分布式设备的报文转发方法及分布式设备和该设备的单板 Download PDFInfo
- Publication number
- CN101588299B CN101588299B CN2009100886740A CN200910088674A CN101588299B CN 101588299 B CN101588299 B CN 101588299B CN 2009100886740 A CN2009100886740 A CN 2009100886740A CN 200910088674 A CN200910088674 A CN 200910088674A CN 101588299 B CN101588299 B CN 101588299B
- Authority
- CN
- China
- Prior art keywords
- forwarding
- table items
- neighbor entry
- list item
- route table
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种分布式设备的报文转发方法及分布式设备和该设备的单板。在本发明中,单板在不足以为本板下发所有转发表项时,为本板下发代理表项,并依据代理表项将未下发的转发表项所对应的报文代理至已下发该转发表项的其他单板转发。这样,即便单板由于规格限制而无法下发所有转发表项,但由于未下发的转发表项所对应的报文能够代理至已下发该转发表项的其他单板转发,因而能够降低出现报文转发的最长匹配原则失效的可能,从而能够减少报文转发错误。可选地,本发明还可利用两个软件表分别记录已下发和未下发的转发表项,用以实现对单板转发表项的维护。
Description
技术领域
本发明涉及报文转发技术,特别涉及一种分布式设备的报文转发方法、一种分布式设备、一种分布式设备中的单板、以及一种分布式设备的转发表项维护方法。
背景技术
例如交换机、路由器等分布式设备中,通常包含主控板、业务板、接口板等若干单板。每块单板都会为本板下发转发表项,然后依据转发表项、并基于三层交换原理实现报文的转发。其中,转发表项包括路由表项和邻居表项,对于第4版本的IP协议(IPv4),邻居表项为地址解析协议(ARP)表项;对于第6版本的IP协议,邻居表项为邻居发现(ND)表项。
具体说,以分布式设备为交换机、邻居表项为ARP表项为例,基于三层交换原理实现报文的转发过程包括:
交换机中的各单板首先对报文的转发过程进行三层学习,并保存报文的目的IP所对应的网段地址前缀(Prefix)、下一跳主机地址(NextHop)、以及ARP信息的对应关系,即学习并保存ARP表项;
此后,各单板向本板下发保存的ARP表项、以及分别指向各ARP表项的路由表项;
当收到报文时,单板在本板下发的各ARP表项中,按照最长匹配原则查找与该报文目的IP地址匹配的ARP表项;
如果查找到匹配的ARP表项,则以该ARP表项中的ARP信息所包含的MAC地址替换报文的目的MAC地址、以交换机的出接口MAC地址替换报文的源MAC地址,最后将该报文从与该报文的目的MAC地址对应的端口发送出去;
如果未查找到匹配的ARP表项,则按照最长匹配原则查找与该报文目的IP地址匹配的路由表项,然后确定查找到的路由表项所指向的ARP表项,再以该ARP表项中的ARP信息所包含的MAC地址替换报文的目的MAC地址、以交换机的出接口MAC地址替换报文的源MAC地址,最后将该报文从与该报文的目的MAC地址对应的端口发送出去。
由上述过程可见,邻居表项和路由表项是报文转发的关键所在,各单板只有将所有邻居表项和所有路由表项都下发至本板,才能够确保所有报文的正确转发。
然而在实际应用中,同一分布式设备中的各单板的规格可能会不一致,存在部分单板的规格较小、不足以下发所有ARP表项和路由表项和/或所有路由表项,这就会使得按照最长匹配原则的报文转发过程出现最长匹配原则失效的问题。
假设,有匹配IP地址1.1.1.1的ARP表项1.1.1.1、匹配IP地址2.2.2.2的ARP表项2.2.2.2,还有下一跳为1.1.1.1、即指向ARP表项1.1.1.1的路由表项3.3.3.0/24,以及下一跳为2.2.2.2、即指向ARP表项2.2.2.2的路由表项3.3.0.0/16;单板将ARP表项2.2.2.2、以及路由表项3.3.0.0/16成功下发至本板,但ARP表项1.1.1.1由于单板规格不足而未能下发至本板、且指向ARP表项1.1.1.1的路由表项3.3.3.0/24也不会下发至本板。
此时,按照最长匹配原则,目的IP处于网段3.3.3.0的所有报文流量本应与路由表项3.3.3.0/24匹配、并通过ARP表项1.1.1.1转发,但由于ARP表项1.1.1.1和路由表项3.3.3.0/24未能下发,因而目的IP处于网段3.3.3.0的所有报文流量就只能与路由表项3.3.0.0/16匹配、并通过ARP表项2.2.2.2下发。然而,由于ARP表项2.2.2.2的ARP信息中包含的MAC地址与正确的ARP表项1.1.1.1不同,因而使得目的IP处于网段3.3.3.0的所有报文流量从错误的MAC地址所对应的错误出端口转发,即路由表项没有按照最长匹配进行转发而导致报文转发出错。
再假设,有匹配IP地址1.1.1.1的ARP表项1.1.1.1、匹配IP地址2.2.2.2的ARP表项2.2.2.2,还有下一跳为1.1.1.1、即指向ARP表项1.1.1.1的路由表项2.2.2.0/24;单板将ARP表项1.1.1.1、以及路由表项2.2.2.0/24成功下发至本板,但ARP表项2.2.2.2由于单板规格不足而未能下发至本板。
此时,按照最长匹配原则,目的IP处于网段2.2.2.2的所有报文流量本应优先与ARP表项2.2.2.2匹配、并通过ARP表项2.2.2.2转发,但由于ARP表项2.2.2.2未能下发,因而目的IP处于网段2.2.2.2的所有报文流量就只能与路由表项2.2.2.0/24匹配、并通过ARP表项1.1.1.1下发,从而由于邻居表项和路由表项之间没有按照最长匹配进行转发而导致报文转发出错。
可见,现有技术在单板由于规格限制而无法下发所有邻居表项和/或路由表项时,会出现报文转发的最长匹配原则失效,从而导致报文出错。
发明内容
有鉴于此,本发明提供了一种分布式设备的报文转发方法、一种分布式设备、一种分布式设备中的单板、以及一种分布式设备的转发表项维护方法,能够减少报文转发错误。
本发明提供的一种分布式设备的报文转发方法,该方法包括:
分布式设备中的各单板分别为本板的硬件层转发表下发转发表项、并分别依据为本板的硬件层转发表下发的转发表项转发对应的报文;其中,转发表项包括邻居表项和路由表项;
且,该方法在有单板不足以为本板下发所有转发表项时,由该单板向本板的硬件层转发表下发代理表项,并依据下发的代理表项将未下发的转发表项所对应的报文代理至分布式设备中已下发该转发表项的其他单板转发。
该方法进一步在单板的第一软件表中记录该单板已下发的转发表项和代理表项,并进一步在预设的第二软件表中记录该单板未下发的转发表项。
该方法进一步将硬件层转发表和第一软件表中满足如下任一条件的路由表项删除、并记录于第二软件表中,或将硬件层转发表和第一软件表中满足如下任一条件的路由表项改为指向代理表项:
与未下发的邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度;
与指向未下发的邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发的邻居表项的路由表项的掩码长度。
邻居表项为地址解析协议ARP表项、其掩码长度为32位;
或者,邻居表项为邻居发现ND表项、其掩码长度为128位。
该方法在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除时,进一步将硬件层转发表、第一软件表、第二软件表中的该邻居表项以及指向该邻居表项的路由表项删除。
该方法在分布式设备有邻居表项、以及指向该邻居表项的路由表项被整机删除后,进一步将第二软件表中记录的任意邻居表项、指向该邻居表项的路由表项、以及与该邻居表项匹配同一IP地址的路由表项下发至硬件层转发表中,同时更新第一软件表和第二软件表。
本发明提供的一种分布式设备,包括若干数量的单板,各单板分别为本板的硬件层转发表下发转发表项、并分别依据为本板的硬件层转发表下发的转发表项转发对应的报文;其中,转发表项包括邻居表项和路由表项;
不足以为本板的硬件层转发表下发所有转发表项的单板为本板下发代理表项,并依据下发的代理表项将未下发的转发表项所对应的报文代理至分布式设备中已下发该转发表项的其他单板转发。
不足以为本板的硬件层转发表下发所有转发表项的单板中,进一步设有表示已下发的第一软件表、以及表示未下发的第二软件表;
足以为本板的硬件层转发表下发所有转发表项的单板中,进一步设有表示已下发的第一软件表;
其中,第一软件表中记录有已下发的转发表项和代理表项,第二软件表中记录有未下发的转发表项。
不足以为本板的硬件层转发表下发所有转发表项的单板,进一步将硬件层转发表和第一软件表中满足如下任一条件的路由表项删除、并记录于第二软件表中,或将硬件层转发表和第一软件表中满足如下任一条件的路由表项改为指向代理表项:
与未下发的邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度;
与指向未下发的邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发的邻居表项的路由表项的掩码长度。
不足以为本板的硬件层转发表下发所有转发表项的单板,在其所在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除时,进一步将硬件层转发表、第一软件表、第二软件表中的该邻居表项以及指向该邻居表项的路由表项删除;
足以为本板的硬件层转发表下发所有转发表项的单板,在其所在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除时,进一步将硬件层转发表、第一软件表中的该邻居表项以及指向该邻居表项的路由表项删除。
不足以为本板的硬件层转发表下发所有转发表项的单板,在其所在分布式设备有邻居表项、以及指向该邻居表项的路由表项被整机删除后,进一步将第二软件表中记录的任意邻居表项、指向该邻居表项的路由表项、以及与该邻居表项匹配同一IP地址的路由表项下发至硬件层转发表中,同时更新第一软件表和第二软件表。
本发明提供的一种分布式设备中的单板,包括:
可将转发表项下发至硬件层转发表的主控单元;
以及,可依据硬件层转发表中的转发表项转发对应报文的转发单元;
其中,硬件层转发表的容量不足以主控单元下发所有转发表项;转发表项包括邻居表项和路由表项;
主控单元进一步向硬件层转发表下发代理表项;
转发单元依据代理表项,将未下发至硬件层转发表的转发表项所对应的报文代理至分布式设备中已下发该转发表项的其他单板转发。
主控单元中设有表示已下发的第一软件表、以及表示未下发的第二软件表,第一软件表中记录有已下发的转发表项和代理表项,第二软件表中记录有未下发的转发表项。
主控单元进一步将硬件层转发表和第一软件表中满足如下任一条件的路由表项删除、并记录于第二软件表中,或将硬件层转发表和第一软件表中满足如下任一条件的路由表项改为指向代理表项:
与未下发的邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度;
与指向未下发的邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发的邻居表项的路由表项的掩码长度。
主控单元在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除时,进一步将硬件层转发表、第一软件表、以及第二软件表中的该邻居表项、以及指向该邻居表项的路由表项删除。
主控单元在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除后,进一步将第二软件表中记录的任意邻居表项、指向该邻居表项的路由表项、以及与该邻居表项匹配同一IP地址的路由表项下发至硬件层转发表中,同时更新第一软件表和第二软件表。
本发明提供的一种分布式设备的转发表项维护方法,该方法包括:
分布式设备中的各单板分别为本板下发转发表项;其中,转发表项包括邻居表项和路由表项;
且,该方法在有单板不足以为本板下发所有转发表项时,由该单板向本板的硬件层转发表下发代理表项,该代理表项用于将未下发的转发表项所对应的报文代理至已下发该转发表项的其他单板。
该方法进一步在单板的第一软件表中记录该单板已下发的转发表项和代理表项,并进一步在预设的第二软件表中记录该单板未下发的转发表项。
该方法进一步将硬件层转发表和第一软件表中满足如下任一条件的路由表项删除、并记录于第二软件表中,或将硬件层转发表和第一软件表中满足如下任一条件的路由表项改为指向代理表项:
与未下发的邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度;
与指向未下发的邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发的邻居表项的路由表项的掩码长度。
邻居表项为地址解析协议ARP表项、其掩码长度为32位;
或者,邻居表项为邻居发现ND表项、其掩码长度为128位。
该方法在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除时,进一步将硬件层转发表、第一软件表、以及第二软件表中的该邻居表项、以及指向该邻居表项的路由表项删除。
该方法在分布式设备有邻居表项、以及指向该邻居表项的路由表项被整机删除后,进一步将第二软件表中记录的任意邻居表项、指向该邻居表项的路由表项、以及与该邻居表项匹配同一IP地址的路由表项下发至硬件层转发表中,同时更新第一软件表和第二软件表。
由上述技术方案可见,在本发明中,单板在不足以为本板下发所有转发表项时,为本板下发代理表项,并依据代理表项将未下发的转发表项所对应的报文代理至已下发该转发表项的其他单板转发。这样,即便单板由于规格限制而无法下发所有转发表项,但由于未下发的转发表项所对应的报文能够代理至已下发该转发表项的其他单板转发,因而能够降低出现报文转发的最长匹配原则失效的可能,从而能够减少报文转发错误。
而且,本发明可以将已下发的转发表项和代理表项下发至单板的硬件层转发表中,可选地还进一步在单板的第一软件表中记录该单板已下发的转发表项和代理表项、并进一步在预设的第二软件表中记录该单板未下发的转发表项。这样,单板即可将硬件层转发表和第一软件表中与未下发邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度的所有路由表项删除或改为指向代理表项,还将硬件层转发表和第一软件表中与指向未下发邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发邻居表项的路由表项的掩码长度的所有路由表项删除或改为指向代理表项,因而能够避免出现报文转发的最长匹配原则失效,从而避免报文转发错误。
此外,在分布式设备中有邻居表项、及指向该邻居表项的路由表项被整机删除后,还可将第二软件表中记录的任意邻居表项、指向该任意邻居表项的路由表项、以及与该任意邻居表项匹配同一IP地址的路由表项下发至硬件层转发表中,从而实现转发表项的维护、并尽可能利用不足以下发所有代理表项的单板资源。
附图说明
图1为本发明实施例中分布式设备的报文转发方法的流程示意图;
图2为本发明实施例中分布式设备的单板逻辑结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
在本实施例中,分布式设备中的各单板分别为本板下发转发表项、并分别依据为本板下发的转发表项转发对应的报文。
但对于单板在不足以为本板下发所有转发表项的情况,为了降低在转发未下发的转发表项所对应的报文时出现最长匹配原则失效的可能,该单板为本板下发代理表项、并依据代理表项将未下发的转发表项所对应的报文代理至足以下发所有转发表项的其他单板转发;当然,也可将未下发的转发表项所对应的报文代理至虽不足以下发所有转发表项、但已下发该转发表项的其他单板转发、而非一定是足以下发所有转发表项的其他单板。
也就是说,对于每块不足以下发所有路由表项的单板来说,只要有其他单板已下发了本板未能下发的转发表项,则对于本板未能下发的转发表项所对应的报文,无论该其他单板是否足以下发所有转发表项,均可代理至该其他单板转发。
图1为本发明实施例中分布式设备的报文转发方法的流程示意图。参见图1,以分布式设备中所有不足以下发所有转发表项的单板均代理至足以下发所有转发表项的单板为例,本实施例在各单板分别为本板下发转发表项的过程中,具体包括如下步骤:
步骤101,单板在不足以为本板下发所有转发表项、即邻居表项和/或路由表项时,启动三层代理转发功能、并为本板下发代理表项。该代理表项中的下一跳地址,可以为足以下发所有转发表项的其他任一单板的代理口地址。
本步骤中,主要是在单板在不足以为本板下发邻居表项时启动三层代理转发功能、并为本板下发代理表项;而在单板在不足以为本板下发路由表项时,可以依实际情况可选地下发代理表项、而非必需。
实际应用中,交换机中的单板可由该单板的CPU将转发表项下发至本板的交换芯片内的转发表中,而路由器中的单板中则是由该单板的CPU将转发表项下发至本板承载于的内存的转发表中,但无论是位于交换芯片还是内存,该转发表均可看作是硬件层转发表。
此外,为了CPU可知晓以下发和未下发的转发表项状况,本步骤之前还可进一步设置两个三层软件表、即表示已下发的第一软件表和表示未下发的第二软件表,并将第一软件表和第二软件表承载于内存中。需要说明的是,足以下发所有转发表项的单板可看作是代理板,其内部可不设置第二软件表。
这样,在本步骤中,即可在第一软件表中记录该单板已下发的转发表项和代理表项、并在第二软件表中记录该单板未下发的转发表项。其中,第一软件表中的记录与硬件层转发表是一致的;邻居表项可看作是全掩码的路由表项,而路由表项的掩码长度则均小于邻居表项的掩码长度、即小于最大掩码长度。
对于单板不足以为本板下发所有邻居表项的情况,只要有邻居表项未能下发、则指向该邻居表项的所有路由表项也不会被下发,但仍有可能存在指向其他已下发邻居表项、但与未下发邻居表项匹配相同IP地址且掩码长度小于未下发邻居的路由表项已被下发,还有可能存在与指向未下发邻居表项匹配相同IP地址且掩码长度小于该路由表项的其他路由表项已被下发。
此时,为了避免如背景技术所举实例中报文通过错误的邻居表项转发的情况,本步骤中进一步将硬件层转发表和第一软件表中满足如下任一条件的路由表项删除、并记录于第二软件表中,或进一步将硬件层转发表和第一软件表中满足如下任一条件的路由表项改为指向代理表项:
条件一、与未下发邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度;
条件二、与指向未下发邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发邻居表项的路由表项的掩码长度。
对于单板不足以下发所有路由表项的情况,则直接将未下发的路由表项记录于第二软件表中即可。
当分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除时,进一步将硬件层转发表、第一软件表、以及第二软件表中的该邻居表项、以及指向该邻居表项的路由表项删除。
当分布式设备中有邻居表项被整机删除后,还可将第二软件表中记录的任意邻居表项、指向该邻居表项的路由表项下发至硬件层转发表中,同时更新第一软件表和第二软件表。且,由于与该邻居表项匹配同一IP地址的路由表项在该邻居表项未能下发时,已从硬件层转发表和第一软件表中被删除,因此,还可将第二软件表中与该邻居表项匹配同一IP地址的路由表项也一同下发,并同时更新第一软件表和第二软件表。
较佳地,指向该邻居表项的路由表项、以及与该邻居表项匹配同一IP地址的路由表项的下法,可依据最长匹配原则。
步骤102,单板依据代理表项,将未下发的转发表项所对应的报文代理至足以下发所有转发表项的其他单板转发。
本步骤中,转发表项中的邻居表项可看作最大掩码的路由表项,但邻居表项的优先级可高于路由表项,即如果有匹配同一IP地址、且掩码长度相同的邻居表项和路由表项,则优先通过邻居表项转发。
至此,本流程结束。
可见,在上述流程中,单板在不足以为本板下发所有转发表项时,为本板下发代理表项,并依据代理表项将未下发的转发表项所对应的报文代理至足以下发所有转发表项的其他单板转发。这样,即便单板由于规格限制而无法下发所有邻居表项和/或路由表项,但由于未下发的转发表项所对应的报文能够代理至足以下发所有转发表项的其他单板转发,因而能够降低出现报文转发的最长匹配原则失效的可能,从而能够减少报文转发错误。
而且,上述流程可以将已下发的转发表项和代理表项下发至单板的硬件层转发表中、在单板的第一软件表中记录该单板已下发的转发表项和代理表项、并进一步在预设的第二软件表中记录该单板未下发的转发表项。
这样,为了实现转发表项的维护,单板为本板下发代理表项之前,即可将硬件层转发表和第一软件表中与未下发邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度的所有路由表项删除,或改为指向代理表项,以避免利用错误的邻居表项转发报文。
此外,单板在分布式设备中有邻居表项、及指向该邻居表项的路由表项被删除后,还可将第二软件表中记录的任意邻居表项、指向该任意邻居表项的路由表项、以及与该任意邻居表项匹配同一IP地址的路由表项下发至硬件层转发表中,以保证有尽可能多的转发表项下发。
以分布式设备为交换机、邻居表项为ARP表项、交换机向单板A和单板B整机下发ARP表项和邻居表项、并由单板A和单板B分别下发至本板为例,举如下实例进行说明:
实例一:假设,有ARP表项1.1.1.1、ARP表项2.2.2.2,还有下一跳为1.1.1.1、即指向ARP表项1.1.1.1的路由表项3.3.3.0/24,以及下一跳为2.2.2.2、即指向ARP表项2.2.2.2的路由表项3.3.0.0/16。
单板A的邻居表项容量未满,则单板A顺利将ARP表项1.1.1.1、ARP表项2.2.2.2、路由表项3.3.3.0/24、路由表项3.3.0.0/16下发至本板、并记录于第一软件表中;
单板B的邻居表项容量足以下发ARP表项2.2.2.2、以及指向ARP表项2.2.2.2的路由表项3.3.0.0/16至本板,并记录于第一软件表中;此后,单板B的邻居表项容量已满、不足以再下发ARP表项1.1.1.1,相应地,指向ARP表项1.1.1.1的路由表项3.3.3.0/24也不会下发,因而为本板下发指向单板A的代理表项,并将ARP表项1.1.1.1、指向ARP表项1.1.1.1的路由表项3.3.3.0/24记录于第二软件表中。此外,由于已下发的路由表项3.3.0.0/16,与指向未下发ARP表项1.1.1.1的路由表项3.3.3.0/24匹配同一IP地址、且掩码长度小于路由表项3.3.3.0/24的掩码长度,因而还需要将路由表项3.3.0.0/16从硬件层转发表和第一软件表中删除、并记录于第二软件表中,以防止最长匹配失效。
单板A和单板B此时的第一软件表状态分别参见表1a和表1b,单板B此时的第二软件表参见表1c。
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项2.2.2.2 | 2.2.2.2 | 32 | |
路由表项3.3.0.0/16 | 3.3.0.0 | 16 | 2.2.2.2 |
ARP表项1.1.1.1 | 1.1.1.1 | 32 | |
路由表项3.3.3.0/24 | 3.3.3.0 | 24 | 1.1.1.1 |
…… |
表1a单板A的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项2.2.2.2 | 2.2.2.2 | 32 | |
代理表项 | 0.0.0.0 | 0 | 单板A的代理口 |
…… |
表1b单板B的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项1.1.1.1 | 1.1.1.1 | 32 | |
路由表项3.3.3.0/24 | 3.3.3.0 | 24 | 1.1.1.1 |
路由表项3.3.0.0/16 | 3.3.0.0 | 16 | 2.2.2.2 |
…… |
表1c单板B的第二软件表
此时,按照最长匹配原则,目的IP处于网段3.3.3.0的所有报文流量本应与路由表项3.3.3.0/24匹配、并通过ARP表项1.1.1.1转发。
但对于单板B来说,在与如表1b所示第一软件表相同的硬件层转发表中,ARP表项1.1.1.1和路由表项3.3.3.0/24未能下发、且路由表项3.3.0.0/16也已被删除,因而目的IP处于网段3.3.3.0的所有报文流量会通过代理表项代理至单板A转发,并由单板A通过正确的路由表项3.3.3.0/24、并利用ARP表项1.1.1.1转发。
这样,就避免了如现有方式那样错误地与路由表项3.3.0.0/16匹配、并错误地通过ARP表项2.2.2.2下发,从而保证路由表项按照最长匹配进行转发、以避免报文转发出错。
此后,如果交换机先将指向ARP表项2.2.2.2的路由表项3.3.0.0/16整机删除、再将ARP表项2.2.2.2整机删除,则单板A将硬件层转发表和第一软件表中的路由表项3.3.0.0/16和ARP表项2.2.2.2删除,单板B将硬件层转发表和第一软件表的ARP表项2.2.2.2、以及第二软件表中指向ARP表项2.2.2.2的路由表项3.3.0.0/16删除。
单板A和单板B此时的第一软件表状态分别参见表2a和表2b,单板B此时的第二软件表参见表2c。
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项1.1.1.1 | 1.1.1.1 | 32 | |
路由表项3.3.3.0/24 | 3.3.3.0 | 24 | 1.1.1.1 |
…… |
表2a单板A的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
代理表项 | 0.0.0.0 | 0 | 单板A的代理口 |
…… |
表2b单板B的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项1.1.1.1 | 1.1.1.1 | 32 | |
路由表项3.3.3.0/24 | 3.3.3.0 | 24 | 1.1.1.1 |
…… |
表2c单板B的第二软件表
由于ARP表项2.2.2.2已删除,单板B的邻居表项容量足以再下发ARP表项1.1.1.1,即邻居表项容量较小的单板具备了足够的邻居表项容量,在这种情况下,单板B将第二软件表中记录的ARP表项1.1.1.1下发至本板硬件层转发表、并记录于第一软件表中,同时,可选地,假设此时不再有未下发的邻居表项,则单板B即使将其无法匹配的报文转发至单板A进行匹配,但单板A也是无法匹配该报文的,因此可以将单板B中的代理表项删除。单板B还将指向ARP表项1.1.1.1的路由表项3.3.3.0/24也下发至本板硬件层转发表、并记录于第一软件表中。
单板A和单板B此时的第一软件表状态分别参见表3a和表3b,单板B此时的第二软件表参见表3c。
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项1.1.1.1 | 1.1.1.1 | 32 | |
路由表项3.3.3.0/24 | 3.3.3.0 | 24 | 1.1.1.1 |
…… |
表3a单板A的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项1.1.1.1 | 1.1.1.1 | 32 | |
路由表项3.3.3.0/24 | 3.3.3.0 | 24 | 1.1.1.1 |
…… |
表3b单板B的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
…… |
表3c单板B的第二软件表
实例二:假设,有ARP表项1.1.1.1、ARP表项2.2.2.2,还有下一跳为1.1.1.1、即指向ARP表项1.1.1.1的路由表项2.2.2.0/24。
单板A的邻居表项容量未满,则单板A顺利将ARP表项1.1.1.1、ARP表项2.2.2.2、路由表项2.2.2.0/24下发至本板、并记录于第一软件表中;
单板B将ARP表项1.1.1.1、以及路由表项2.2.2.0/24成功下发至本板,并记录于第一软件表中;此后,单板B的邻居表项容量已满、不足以再下发ARP表项2.2.2.2,因而将硬件层转发表和第一软件表中与未下发的ARP表项2.2.2.2匹配同一IP地址、且掩码长度小于ARP表项2.2.2.2的路由表项2.2.2.0/24删除,再为本板下发指向单板A的代理表项,并将ARP表项2.2.2.2以及被删除的路由表项2.2.2.0/24记录于第二软件表中。
单板A和单板B此时的第一软件表状态分别参见表4a和表4b、单板B此时的第二软件表状态参见表4c。
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项1.1.1.1 | 1.1.1.1 | 32 | |
路由表项2.2.2.0/24 | 2.2.2.0 | 24 | 1.1.1.1 |
ARP表项2.2.2.2 | 2.2.2.2 | 32 | |
…… |
表4a单板A的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项1.1.1.1 | 1.1.1.1 | 32 | |
代理表项 | 0.0.0.0 | 0 | 单板A的代理口 |
…… |
表4b单板B的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项2.2.2.2 | 2.2.2.2 | 32 | |
路由表项2.2.2.0/24 | 2.2.2.0 | 24 | 1.1.1.1 |
…… |
表4c单板B的第二软件表
此时,按照最长匹配原则,目的IP处于网段2.2.2.2的所有报文流量本应优先与ARP表项2.2.2.2匹配、并通过ARP表项2.2.2.2转发。
但对于单板B来说,在与如表2b所示第一软件表相同的硬件层转发表中,由于ARP表项2.2.2.2未能下发、且能够与2.2.2.2匹配的路由表项2.2.2.0/24也被删除,因而目的IP处于网段2.2.2.2的所有报文流量就会通过代理表项代理至单板A转发,并由单板A利用正确的ARP表项2.2.2.2转发。
这样,就避免了如现有方式那样错误地与路由表项2.2.2.0/24匹配,从而保证邻居表项和路由表项之间也按照最长匹配进行转发、以避免报文转发出错。
此后,假设交换机先将指向ARP表项1.1.1.1的路由表项2.2.2.0/24整机删除、再将ARP表项1.1.1.1整机删除,则单板A将硬件层转发表、第一软件表中的路由表项2.2.2.0/24、ARP表项1.1.1.1删除,单板B将第二软件表中的路由表项2.2.2.0/24、ARP表项1.1.1.1删除。
单板A和单板B此时的第一软件表状态分别参见表5a和表5b,单板B此时的第二软件表参见表5c。
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项2.2.2.2 | 2.2.2.2 | 32 | |
…… |
表5a单板A的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
代理表项 | 0.0.0.0 | 0 | 缺省代理口 |
…… |
表5b单板B的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项2.2.2.2 | 2.2.2.2 | 32 | |
…… |
表5c单板B的第二软件表
实例三:仍假设,有ARP表项1.1.1.1、ARP表项2.2.2.2,还有下一跳为1.1.1.1、即指向ARP表项1.1.1.1的路由表项3.3.3.0/24,以及下一跳为2.2.2.2、即指向ARP表项2.2.2.2的路由表项3.3.0.0/16。
单板A的邻居表项容量未满,则单板A顺利将ARP表项1.1.1.1、ARP表项2.2.2.2、路由表项3.3.3.0/24、路由表项3.3.0.0/16下发至本板、并记录于第一软件表中;
单板B的邻居表项容量足以下发ARP表项2.2.2.2、以及指向ARP表项2.2.2.2的路由表项3.3.0.0/16至本板,并记录于第一软件表中;此后,单板B的邻居表项容量已满、不足以再下发ARP表项1.1.1.1,相应地,指向ARP表项1.1.1.1的路由表项3.3.3.0/24也不会下发,因而为本板下发指向单板A的代理表项,并将ARP表项1.1.1.1、指向ARP表项1.1.1.1的路由表项3.3.3.0/24记录于第二软件表中。此外,由于已下发的路由表项3.3.0.0/16,与指向未下发ARP表项1.1.1.1的路由表项3.3.3.0/24匹配同一IP地址、且掩码长度小于路由表项3.3.3.0/24的掩码长度,因而将路由表项3.3.0.0/16的下一跳改为指向代理表项。
单板A和单板B此时的第一软件表状态分别参见表6a和表6b,单板B此时的第二软件表参见表6c。
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项2.2.2.2 | 2.2.2.2 | 32 | |
路由表项3.3.0.0/16 | 3.3.0.0 | 16 | 2.2.2.2 |
ARP表项1.1.1.1 | 1.1.1.1 | 32 | |
路由表项3.3.3.0/24 | 3.3.3.0 | 24 | 1.1.1.1 |
…… |
表6a单板A的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项2.2.2.2 | 2.2.2.2 | 32 | |
路由表项3.3.0.0/16 | 3.3.0.0 | 16 | 单板A的代理口 |
代理表项 | 0.0.0.0 | 0 | 单板A的代理口 |
…… |
表6b单板B的第一软件表
表项类型 | IP地址 | 掩码长度 | 下一跳 |
ARP表项1.1.1.1 | 1.1.1.1 | 32 | |
路由表项3.3.3.0/24 | 3.3.3.0 | 24 | 1.1.1.1 |
…… |
表6c单板B的第二软件表
此时,按照最长匹配原则,目的IP处于网段3.3.3.0的所有报文流量本应与路由表项3.3.3.0/24匹配、并通过ARP表项1.1.1.1转发。
但对于单板B来说,在与如表6b所示第一软件表相同的硬件层转发表中,ARP表项1.1.1.1和路由表项3.3.3.0/24未能下发,因而会匹配到路由表项3.3.0.0/16,但由于路由表项3.3.0.0/16的下一跳已改为指向代理表项的缺省路由0.0.0.0/0,因而目的IP处于网段3.3.3.0的所有报文流量会通过代理表项代理至单板A转发,并由单板A通过正确的路由表项3.3.3.0/24、并利用ARP表项1.1.1.1转发。
这样,就避免了如现有方式那样错误地与路由表项3.3.0.0/16匹配、并错误地通过ARP表项2.2.2.2下发,从而保证路由表项按照最长匹配进行转发、以避免报文转发出错。
由上述实例可以看出,本实施例能够在各种情况下减少报文转发错误。且上述实例仅仅是以最大掩码长度为32位的ARP表项为例,如若邻居表项为ND表项,则最大掩码长度可为128位。
以上是对本实施例中分布式设备的报文转发方法和转发表项维护方法的详细说明。下面再对本实施例中的分布式设备及单板进行说明。
总体来说,本实施例中的分布式设备可包括控制板、业务板、接口板等各种单板,但无论是哪一种单板,均可按照上述报文转发方法实现报文转发。
图2为本发明实施例中分布式设备的单板逻辑结构示意图。如图2所示,本实施例中的单板包括:
可将转发表项下发至硬件层转发表221的主控单元201;
以及,可依据硬件层转发表221中的转发表项转发对应报文的转发单元202;
其中,硬件层转发表221可承载于转发单元202中、也可承载于单板的其他硬件中,且硬件层转发表221的容量不足以主控单元201下发所有转发表项;转发表项包括邻居表项和路由表项。
主控单元201下发转发表项时,还进一步向硬件层转发表221下发代理表项;转发单元202依据代理表项,将未下发至硬件层转发表221的转发表项所对应的报文,代理至分布式设备中已下发该转发表项的其他单板(与如图2所示单板位于同一分布式设备、但未在图2中示出)转发。
优选地,主控单元201中设有表示已下发的第一软件表211、以及表示未下发的第二软件表212,第一软件表211中记录有已下发的转发表项和代理表项,第二软件表212中记录有未下发的转发表项。
当有邻居表项不足以下发时,主控单元201进一步将硬件层转发表221和第一软件表211中满足如下任一条件的路由表项删除、并记录于第二软件表212中,或进一步将硬件层转发表221和第一软件表211中满足如下任一条件的路由表项改为指向代理表项:
与未下发邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度;
与指向未下发邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发邻居表项的路由表项的掩码长度。
当有路由表项不足以下发时,主控单元201直接将未下发的路由表项记录于第二软件表中即可。
当单板所在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除时,主控单元201可硬件层转发表、第一软件表、以及第二软件表中的该邻居表项、以及指向该邻居表项的路由表项删除。
当单板所在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除后,主控单元201还可进一步将第二软件表212中记录的任意邻居表项、指向该任意邻居表项的路由表项、以及与该任意邻居表项匹配同一IP地址的路由表项下发至硬件层转发表中,同时更新第一软件表211和第二软件表212。
假设:有ARP表项1.1.1.1、ARP表项2.2.2.2,还有下一跳为1.1.1.1、即指向ARP表项1.1.1.1的路由表项3.3.3.0/24,以及下一跳为2.2.2.2、即指向ARP表项2.2.2.2的路由表项3.3.0.0/16。
如图2所示单板中,硬件层转发表221的容量足以下发ARP表项2.2.2.2、以及指向ARP表项2.2.2.2的路由表项3.3.0.0/16至本板,则主控单元201将ARP表项2.2.2.2、以及指向ARP表项2.2.2.2的路由表项3.3.0.0/16下发至硬件层转发表221、记录于第一软件表211中;
在下发ARP表项2.2.2.2后,硬件层转发表221的容量已满、不足以再下发ARP表项1.1.1.1,相应地,指向ARP表项1.1.1.1的路由表项3.3.3.0/24也不会下发,因而主控单元201为硬件层转发表221下发指向已下发ARP表项1.1.1.1的其他单板、或指向已下发ARP表项1.1.1.1和路由表项3.3.3.0/24的其他单板的代理表项,并将ARP表项1.1.1.1、指向ARP表项1.1.1.1的路由表项3.3.3.0/24记录于第二软件表212中。
此外,由于已下发的路由表项3.3.0.0/16,与指向未下发ARP表项1.1.1.1的路由表项3.3.3.0/24匹配同一IP地址、且掩码长度小于路由表项3.3.3.0/24的掩码长度,因而主控单元201还需要将路由表项3.3.0.0/16从硬件层转发表221和第一软件表211中删除、并记录于第二软件212表中,以防止最长匹配失效。
这样,按照最长匹配原则,目的IP处于网段3.3.3.0的所有报文流量本应与路由表项3.3.3.0/24匹配、并通过ARP表项1.1.1.1转发。但对于如图2所示的单板来说,ARP表项1.1.1.1和路由表项3.3.3.0/24未能下发、且路由表项3.3.0.0/16也已被删除,因而目的IP处于网段3.3.3.0的所有报文流量会通过代理表项代理至已下发ARP表项1.1.1.1的其他单板、或指向已下发ARP表项1.1.1.1和路由表项3.3.3.0/24的其他单板,通过正确的路由表项3.3.3.0/24、并利用ARP表项1.1.1.1转发,从而避免了如现有方式那样错误地与路由表项3.3.0.0/16匹配、并错误地通过ARP表项2.2.2.2下发,从而保证路由表项按照最长匹配进行转发、以避免报文转发出错。
此后,如果如图2所示单板所在的分布式交换设备先将指向ARP表项2.2.2.2的路由表项3.3.0.0/16整机删除、再将ARP表项2.2.2.2整机删除,则如图2所示的单板中,由主控单元201将硬件层转发表221和第一软件表211中的ARP表项2.2.2.2、以及第二软件表中指向ARP表项2.2.2.2的路由表项3.3.0.0/16删除。
这样,由于ARP表项2.2.2.2已删除,如图2所示单板中硬件层转发表221的邻居表项容量足以再下发ARP表项1.1.1.1,即邻居表项容量较小的单板具备了足够的邻居表项容量,在这种情况下,主控单元201将第二软件表212中记录的ARP表项1.1.1.1、指向ARP表项1.1.1.1的路由表项3.3.3.0/24下发至本板硬件层转发表221、并记录于第一软件表211中。
再假设:有ARP表项1.1.1.1、ARP表项2.2.2.2,还有下一跳为1.1.1.1、即指向ARP表项1.1.1.1的路由表项2.2.2.0/24。
如图2所示单板的主控单元201将ARP表项1.1.1.1、以及路由表项2.2.2.0/24成功下发至本板的硬件层转发表221,并记录于第一软件表211中;
此后,如图2所示单板中硬件层转发表221的邻居表项容量已满、不足以再下发ARP表项2.2.2.2,因而主控单元201将硬件层转发表221和第一软件表211中与未下发的ARP表项2.2.2.2匹配同一IP地址、且掩码长度小于ARP表项2.2.2.2的路由表项2.2.2.0/24删除,然后主控单元201再为本板硬件层转发表221下发指向已下发ARP表项2.2.2.2的其他单板的代理表项、并记录于第一软件表211中,主控单元201还将ARP表项2.2.2.2以及被删除的路由表项2.2.2.0/24记录于第二软件表212中。
这样,按照最长匹配原则,目的IP处于网段2.2.2.2的所有报文流量本应优先与ARP表项2.2.2.2匹配、并通过ARP表项2.2.2.2转发。但对于如图2所示单板来说,ARP表项2.2.2.2未能下发至硬件层转发表211、且能够与2.2.2.2匹配的路由表项2.2.2.0/24也从硬件层转发表211删除,因而目的IP处于网段2.2.2.2的所有报文流量就会通过代理表项代理至已下发ARP表项2.2.2.2的其他单板,利用正确的ARP表项2.2.2.2转发,从而避免了如现有方式那样错误地与路由表项2.2.2.0/24匹配,从而保证邻居表项和路由表项之间也按照最长匹配进行转发、以避免报文转发出错。
此后,如果如图2所示单板所在的分布式交换设备先将指向ARP表项1.1.1.1的路由表项2.2.2.0/24、再将ARP表项1.1.1.1整机删除,则如图2所示单板的主控单元201将第二软件表212中的路由表项2.2.2.0/24、ARP表项1.1.1.1删除。
又假设:有ARP表项1.1.1.1、ARP表项2.2.2.2,还有下一跳为1.1.1.1、即指向ARP表项1.1.1.1的路由表项3.3.3.0/24,以及下一跳为2.2.2.2、即指向ARP表项2.2.2.2的路由表项3.3.0.0/16。
如图2所示单板中硬件层转发表221的邻居表项容量足以下发ARP表项2.2.2.2、以及指向ARP表项2.2.2.2的路由表项3.3.0.0/16,因而主控单元201将ARP表项2.2.2.2、以及指向ARP表项2.2.2.2的路由表项3.3.0.0/16下发至硬件层转发表221、并记录于第一软件表211中;
此后,如图2所示单板硬件层转发表221中的邻居表项容量已满、不足以再下发ARP表项1.1.1.1,相应地,指向ARP表项1.1.1.1的路由表项3.3.3.0/24也不会下发,因而主控单元201为硬件层转发表221下发指向已下发ARP表项1.1.1.1和路由表项3.3.3.0/24的其他单板的代理表项,并将ARP表项1.1.1.1、指向ARP表项1.1.1.1的路由表项3.3.3.0/24记录于第二软件表212中。
此外,由于已下发的路由表项3.3.0.0/16,与指向未下发ARP表项1.1.1.1的路由表项3.3.3.0/24匹配同一IP地址、且掩码长度小于路由表项3.3.3.0/24的掩码长度,因而主控单元201还将硬件层转发表221和第一软件表211中的路由表项3.3.0.0/16下一跳改为指向代理表项。
这样,按照最长匹配原则,目的IP处于网段3.3.3.0的所有报文流量本应与路由表项3.3.3.0/24匹配、并通过ARP表项1.1.1.1转发。但对于如图2所示的单板来说,ARP表项1.1.1.1和路由表项3.3.3.0/24未能下发至硬件层转发表221,因而IP处于网段3.3.3.0的所有报文流量会匹配到路由表项3.3.0.0/16,但由于路由表项3.3.0.0/16的下一跳已改为指向代理表项的缺省路由0.0.0.0/0,因而目的IP处于网段3.3.3.0的所有报文流量会通过代理表项代理至已下发ARP表项1.1.1.1和路由表项3.3.3.0/24的其他单板,通过正确的路由表项3.3.3.0/24、并利用ARP表项1.1.1.1转发,从而避免了如现有方式那样错误地与路由表项3.3.0.0/16匹配、并错误地通过ARP表项2.2.2.2下发,从而保证路由表项按照最长匹配进行转发、以避免报文转发出错。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种分布式设备的报文转发方法,该方法包括:
分布式设备中的各单板分别为本板的硬件层转发表下发转发表项、并分别依据为本板的硬件层转发表下发的转发表项转发对应的报文;其中,转发表项包括邻居表项和路由表项;
其特征在于,
该方法在有单板不足以为本板下发所有转发表项时,由该单板向本板的硬件层转发表下发代理表项,并依据下发的代理表项将未下发的转发表项所对应的报文代理至分布式设备中已下发该转发表项的其他单板转发。
2.如权利要求1所述的报文转发方法,其特征在于,该方法进一步在单板的第一软件表中记录该单板已下发的转发表项和代理表项,并进一步在预设的第二软件表中记录该单板未下发的转发表项。
3.如权利要求2所述的报文转发方法,其特征在于,该方法进一步将硬件层转发表和第一软件表中满足如下任一条件的路由表项删除、并记录于第二软件表中,或将硬件层转发表和第一软件表中满足如下任一条件的路由表项改为指向代理表项:
与未下发的邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度;
与指向未下发的邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发的邻居表项的路由表项的掩码长度。
4.如权利要求3所述的报文转发方法,其特征在于,
邻居表项为地址解析协议ARP表项、其掩码长度为32位;
或者,邻居表项为邻居发现ND表项、其掩码长度为128位。
5.如权利要求3或4所述的报文转发方法,其特征在于,该方法在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除时,进一步将硬件层转发表、第一软件表、第二软件表中的该邻居表项以及指向该邻居表项的路由表项删除。
6.如权利要求5所述的报文转发方法,其特征在于,该方法在分布式设备有邻居表项、以及指向该邻居表项的路由表项被整机删除后,进一步将第二软件表中记录的任意邻居表项、指向该邻居表项的路由表项、以及与该邻居表项匹配同一IP地址的路由表项下发至硬件层转发表中,同时更新第一软件表和第二软件表。
7.一种分布式设备,包括若干数量的单板,各单板分别为本板的硬件层转发表下发转发表项、并分别依据为本板的硬件层转发表下发的转发表项转发对应的报文;其中,转发表项包括邻居表项和路由表项;
其特征在于,不足以为本板的硬件层转发表下发所有转发表项的单板为本板下发代理表项,并依据下发的代理表项将未下发的转发表项所对应的报文代理至分布式设备中已下发该转发表项的其他单板转发。
8.如权利要求7所述的分布式设备,其特征在于,
不足以为本板的硬件层转发表下发所有转发表项的单板中,进一步设有表示已下发的第一软件表、以及表示未下发的第二软件表;
足以为本板的硬件层转发表下发所有转发表项的单板中,进一步设有表示已下发的第一软件表;
其中,第一软件表中记录有已下发的转发表项和代理表项,第二软件表中记录有未下发的转发表项。
9.如权利要求8所述的分布式设备,其特征在于,不足以为本板的硬件层转发表下发所有转发表项的单板,进一步将硬件层转发表和第一软件表中满足如下任一条件的路由表项删除、并记录于第二软件表中,或将硬件层转发表和第一软件表中满足如下任一条件的路由表项改为指向代理表项:
与未下发的邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度;
与指向未下发的邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发的邻居表项的路由表项的掩码长度。
10.如权利要求9所述的分布式设备,其特征在于,
不足以为本板的硬件层转发表下发所有转发表项的单板,在其所在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除时,进一步将硬件层转发表、第一软件表、第二软件表中的该邻居表项以及指向该邻居表项的路由表项删除;
足以为本板的硬件层转发表下发所有转发表项的单板,在其所在分布式设备中有邻居表项、以及指向该邻居表项的路由表项被整机删除时,进一步将硬件层转发表、第一软件表中的该邻居表项以及指向该邻居表项的路由表项删除。
11.如权利要求10所述的分布式设备,其特征在于,不足以为本板的硬件层转发表下发所有转发表项的单板,在其所在分布式设备有邻居表项、以及指向该邻居表项的路由表项被整机删除后,进一步将第二软件表中记录的任意邻居表项、指向该邻居表项的路由表项、以及与该邻居表项匹配同一IP地址的路由表项下发至硬件层转发表中,同时更新第一软件表和第二软件表。
12.一种分布式设备中的单板,包括:
可将转发表项下发至硬件层转发表的主控单元;
以及,可依据硬件层转发表中的转发表项转发对应报文的转发单元;
其中,硬件层转发表的容量不足以主控单元下发所有转发表项;转发表项包括邻居表项和路由表项;
其特征在于,
主控单元进一步向硬件层转发表下发代理表项;
转发单元依据代理表项,将未下发至硬件层转发表的转发表项所对应的报文代理至分布式设备中已下发该转发表项的其他单板转发。
13.如权利要求12所述的单板,其特征在于,
主控单元中设有表示已下发的第一软件表、以及表示未下发的第二软件表,第一软件表中记录有已下发的转发表项和代理表项,第二软件表中记录有未下发的转发表项。
14.如权利要求13所述的单板,其特征在于,主控单元进一步将硬件层转发表和第一软件表中满足如下任一条件的路由表项删除、并记录于第二软件表中,或将硬件层转发表和第一软件表中满足如下任一条件的路由表项改为指向代理表项:
与未下发的邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度;
与指向未下发的邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发的邻居表项的路由表项的掩码长度。
15.一种分布式设备的转发表项维护方法,该方法包括:
分布式设备中的各单板分别为本板下发转发表项;其中,转发表项包括邻居表项和路由表项;
其特征在于,该方法在有单板不足以为本板下发所有转发表项时,由该单板向本板的硬件层转发表下发代理表项,该代理表项用于将未下发的转发表项所对应的报文代理至已下发该转发表项的其他单板。
16.如权利要求15所述的转发表项维护方法,其特征在于,该方法进一步在单板的第一软件表中记录该单板已下发的转发表项和代理表项,并进一步在预设的第二软件表中记录该单板未下发的转发表项。
17.如权利要求16所述的转发表项维护方法,其特征在于,该方法进一步将硬件层转发表和第一软件表中满足如下任一条件的路由表项删除、并记录于第二软件表中,或将硬件层转发表和第一软件表中满足如下任一条件的路由表项改为指向代理表项:
与未下发的邻居表项匹配同一IP地址、且掩码长度小于邻居表项掩码长度;
与指向未下发的邻居表项的路由表项匹配同一IP地址、且掩码长度小于指向未下发的邻居表项的路由表项的掩码长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100886740A CN101588299B (zh) | 2009-07-07 | 2009-07-07 | 分布式设备的报文转发方法及分布式设备和该设备的单板 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100886740A CN101588299B (zh) | 2009-07-07 | 2009-07-07 | 分布式设备的报文转发方法及分布式设备和该设备的单板 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101588299A CN101588299A (zh) | 2009-11-25 |
CN101588299B true CN101588299B (zh) | 2012-01-04 |
Family
ID=41372370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100886740A Active CN101588299B (zh) | 2009-07-07 | 2009-07-07 | 分布式设备的报文转发方法及分布式设备和该设备的单板 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101588299B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729416B (zh) * | 2009-11-30 | 2012-11-28 | 中兴通讯股份有限公司 | 处理地址查找失败报文的方法和板卡 |
CN102014071A (zh) * | 2010-12-17 | 2011-04-13 | 天津曙光计算机产业有限公司 | 一种实现软硬件中报文分类规则同步删除的方法 |
CN103560961A (zh) * | 2013-11-04 | 2014-02-05 | 神州数码网络(北京)有限公司 | 以太网交换机主机路由表项动态更新方法及交换机 |
CN107196776A (zh) * | 2016-03-14 | 2017-09-22 | 中兴通讯股份有限公司 | 一种报文转发的方法和装置 |
CN107347035B (zh) | 2016-05-06 | 2020-05-08 | 华为技术有限公司 | 路由查找方法、装置、分配节点、查找节点及入口节点 |
CN108173753A (zh) * | 2017-12-28 | 2018-06-15 | 迈普通信技术股份有限公司 | 报文转发方法、交换卡、业务卡及分布式交换机 |
CN111064815B (zh) * | 2019-11-06 | 2022-02-18 | 深圳震有科技股份有限公司 | 多单板共用一个ip的方法及装置、计算机设备、介质 |
CN111865655B (zh) * | 2020-06-04 | 2022-03-08 | 烽火通信科技股份有限公司 | 业务板卡的arp表配置方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035089A (zh) * | 2007-04-24 | 2007-09-12 | 中兴通讯股份有限公司 | 一种提高分布式系统性能的方法及装置 |
CN101047650A (zh) * | 2007-04-19 | 2007-10-03 | 杭州华为三康技术有限公司 | 转发表关联方法及设备 |
CN101119208A (zh) * | 2007-08-28 | 2008-02-06 | 福建星网锐捷网络有限公司 | 交换机、业务处理单板及交换单板 |
CN101364949A (zh) * | 2008-09-18 | 2009-02-11 | 中兴通讯股份有限公司 | 一种分布式网络系统的报文流重定向处理方法 |
-
2009
- 2009-07-07 CN CN2009100886740A patent/CN101588299B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047650A (zh) * | 2007-04-19 | 2007-10-03 | 杭州华为三康技术有限公司 | 转发表关联方法及设备 |
CN101035089A (zh) * | 2007-04-24 | 2007-09-12 | 中兴通讯股份有限公司 | 一种提高分布式系统性能的方法及装置 |
CN101119208A (zh) * | 2007-08-28 | 2008-02-06 | 福建星网锐捷网络有限公司 | 交换机、业务处理单板及交换单板 |
CN101364949A (zh) * | 2008-09-18 | 2009-02-11 | 中兴通讯股份有限公司 | 一种分布式网络系统的报文流重定向处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101588299A (zh) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101588299B (zh) | 分布式设备的报文转发方法及分布式设备和该设备的单板 | |
US8285875B2 (en) | Synchronizing resource bindings within computer network | |
EP2214383B1 (en) | Automatically releasing resources reserved for subscriber devices within a broadband access network | |
US8521884B2 (en) | Network system and method of address resolution | |
EP2477428B1 (en) | Method for anonymous communication, method for registration, method and system for transmitting and receiving information | |
US8014409B1 (en) | Virtual router identifier that spans multiple interfaces in a routing device | |
CN110798403B (zh) | 通信方法、通信设备和通信系统 | |
US7715376B2 (en) | Routing system and method for managing forwarding information therein | |
RU2574812C9 (ru) | Способ и узел детектирования маршрута в сети передачи данных | |
US9634887B2 (en) | System, method and computer-readable medium for using a plurality of virtual machines | |
EP2469766B1 (en) | Method, system and apparatus for transmitting data | |
US8452893B2 (en) | Method and member device for traffic forwarding in a stacking apparatus | |
CN102769529A (zh) | Dnssec签名服务器 | |
CN101325554B (zh) | 一种路由创建方法、转发芯片及三层交换机 | |
CN109587286B (zh) | 一种设备接入控制方法及装置 | |
KR20120102756A (ko) | Ip 주소 전달 시스템 및 ip 주소 전달 방법 | |
CN110505621B (zh) | 一种终端迁移的处理方法及装置 | |
EP3327993A1 (en) | Route management | |
CN109728972B (zh) | 网络连接检测方法和装置 | |
CN102916897A (zh) | 一种实现vrrp负载分担的方法和设备 | |
CN101692654B (zh) | 一种HUB-Spoken组网的方法、系统及设备 | |
JP6299745B2 (ja) | 通信システム、制御装置、通信方法及びプログラム | |
CN101132374A (zh) | 一种发送报文的方法及装置 | |
CN101572668B (zh) | 一种删除mac地址的方法及装置 | |
CN104811377A (zh) | 生成媒体接入控制表的方法及网络设备 |
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 |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology 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: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |