路由表项的维护方法和装置与流程

文档序号:11234555阅读:684来源:国知局
路由表项的维护方法和装置与流程

本申请涉及通信技术领域,尤其涉及一种路由表项的维护方法和装置。



背景技术:

路由是网络设备的基础功能,路由表项可以包括直连路由表项以及非直连路由表项。其中,非直连路由表项中通常保存有网段信息、出接口信息以及下一跳ip地址,而直连路由表项中通常仅保存有网段信息和出接口信息。

网络设备在接收到发往目标设备的报文时,首先可以根据该报文的目的ip地址在本地路由表中查找命中的路由表项。如果该报文的目的ip地址命中直连路由表项,则网络设备可以继续根据该报文的目的ip地址在本地mac地址表中查找下一跳mac地址。后续网络设备可以将该报文的目的mac地址修改为查找到的下一跳mac地址,并根据直连路由表项中的出接口信息将该报文发送至目标设备。由此可见,对于目的ip地址命中直连路由表项的报文而言,网络设备需要多次查找这类报文的下一跳mac地址等转发信息,因此网络设备对这类报文的处理效率较低,这类报文的传输速率也会受到影响。



技术实现要素:

有鉴于此,本申请提供一种路由表项的维护方法和装置。具体地,本申请是通过如下技术方案实现的:

第一方面,本申请提供一种路由表项的维护方法,所述方法包括:

针对发往目标设备的报文,基于最长匹配原则在本地路由表中查找所述报文的目的ip地址命中的路由表项,并判断所述路由表项是否为直连路由表项;

如果所述路由表项为直连路由表项,则根据所述目的ip地址判断本地mac地址表中是否保存有所述目标设备的mac地址;

如果未保存有所述mac地址,则基于arp请求获取所述目标设备的mac地址;

基于所述mac地址为所述目的ip地址配置明细路由表项;

其中,所述明细路由表项中包括所述目标设备的明细信息,所述明细路由表项中网段信息的子网掩码长度为32位。

第二方面,本申请提供一种路由表项的维护装置,所述装置包括:

查找单元,用于针对发往目标设备的报文,基于最长匹配原则在本地路由表中查找所述报文的目的ip地址命中的路由表项,并判断所述路由表项是否为直连路由表项;

第一判断单元,用于在所述路由表项为直连路由表项时,根据所述目的ip地址判断本地mac地址表中是否保存有所述目标设备的mac地址;

获取单元,用于在未保存有所述mac地址时,基于arp请求获取所述目标设备的mac地址;

第一配置单元,用于基于所述mac地址为所述目的ip地址配置明细路由表项;

其中,所述明细路由表项中包括所述目标设备的明细信息,所述明细路由表项中网段信息的子网掩码长度为32位。

分析上述技术方案可知,网络设备通过判断报文的目的ip地址是否符合配置明细路由表项的要求,并为符合要求的目的ip地址配置明细路由表项,以快速获取该报文的下一跳mac地址等转发信息,而不为不符合要求的目标ip地址配置明细路由表项,可以在提高网络设备的报文处理效率,加快报文传输速率的同时,保证网络设备的报文传输不会出现差错。

附图说明

图1是本申请一示例性实施例示出的一种路由表项的维护方法的流程图;

图2是本申请一示例性实施例示出的另一种路由表项的维护方法的流程图;

图3是本申请一示例性实施例示出的另一种路由表项的维护方法的流程图;

图4是本申请一示例性实施例示出的另一种路由表项的维护方法的流程图;

图5是本申请一示例性实施例示出的一种路由表项的维护装置所在设备的硬件结构图;

图6是本申请一示例性实施例示出的一种路由表项的维护装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了提高网络设备的报文处理效率,相关技术中,可以对网络设备中保存的路由表项进行优化,例如:可以为网络设备的直连网段内的某些ip地址配置明细路由表项。明细路由表项中通常保存有网段信息、出接口信息和目标设备的明细信息。其中,网段信息的子网掩码的长度为32位,而目标设备的明细信息除了包括下一跳ip地址(即该目标设备的ip地址)之外,还可以包括该明细路由表项与下一跳ip地址对应的mac地址表项的关联关系,该关联关系可以是该mac地址表项在本地mac地址表中的索引值;或者,也可以是该mac地址表项在内存中的存储地址。实际应用中,目标设备的明细信息也可以包括下一跳ip地址和下一跳mac地址(即该目标设备的mac地址)。

采用这种方式,网络设备在接收到发往目标设备的报文时,如果基于最长匹配原则,在本地路由表中查找到该报文的目的ip地址命中明细路由表项,则网络设备可以通过该明细路由表项直接确定该报文的下一跳ip地址,并快速获取该报文的下一跳mac地址,而无需根据该报文的目的ip地址在本地mac地址表中查找对应的mac地址表项,以获取该报文的下一跳mac地址,由此可以提高网络设备对这类报文的处理效率,加快这类报文的传输速率。

举例来说,如果网络设备在接收到发往ip地址为1.2.3.5的目标设备的报文时,基于最长匹配原则,在本地路由表中查找到ip地址1.2.3.5命中网段信息为1.2.3.0/24,出接口信息为接口1的直连路由表项,则网络设备可以继续在本地mac地址表中根据ip地址1.2.3.5查找该目标设备的mac地址。假设查找到该目标设备的mac地址为mac地址1,则网络设备可以在将该报文的目的mac地址修改为mac地址1后,通过接口1将修改后的报文发送至该目标设备。

假设为ip地址1.2.3.5配置明细路由表项,该明细路由表项的网段信息为1.2.3.5/32,出接口信息为接口1,目标设备的明细信息包括下一跳ip地址1.2.3.5以及该明细路由表项与ip地址1.2.3.5对应的mac地址表项的关联关系。如下表1所示,是为ip地址1.2.3.5配置的明细路由表的一种示例:

表1

其中,目标设备的明细信息中包括索引值50,表示与该明细路由表项关联的mac地址表项,在本地mac地址表中的索引值为50(即该mac地址表项为本地mac地址表中的第50条表项)。或者,目标设备的明细信息中也可以包括存储地址1,表示与该明细路由表项关联的mac地址表项,在内存中的存储地址为存储地址1。

在为ip地址1.2.3.5配置明细路由表项后,网络设备在接收到发往ip地址为1.2.3.5的目标设备的报文时,基于最长匹配原则,可以在本地路由表中查找到ip地址1.2.3.5命中表1所示的明细路由表项。通过该明细路由表项,网络设备除了可以直接确定该报文的下一跳ip地址为ip地址1.2.3.5之外,还可以根据目标设备的明细信息中的索引值50,快速确定ip地址1.2.3.5对应本地mac地址表中的第50条mac地址表项。假设该mac地址表项中保存的mac地址为mac地址1,则网络设备可以快速获取该目标设备的mac地址为mac地址1,而无需在本地mac地址表项中根据ip地址1.2.3.5查找该目标设备的mac地址。后续,网络设备可以在将该报文的目的mac地址修改为mac地址1后,通过接口1将修改后的报文发送至该目标设备。

然而,在某些特殊情况下,基于业务需要,可能需要为某些直连网段配置静态路由表项以指导转发。该静态路由表项中网段信息的子网掩码长度,大于该直连网段命中的直连路由表项中网段信息的子网掩码长度,则网络设备在接收到目的ip地址属于该直连网段的报文时,基于最长匹配原则,会命中该静态路由表项,从而会根据该静态路由表项对报文进行转发。

继续以上述举例为例,假设为直连网段1.2.3.0/24配置静态路由表项,该静态路由表项的网段信息为1.2.3.0/28,出接口信息为接口3,下一跳ip地址为5.6.7.8,并假设ip地址为5.6.7.8的目标设备的mac地址为mac地址2。在为直连网段1.2.3.0/24配置静态路由表项后,网络设备在接收到发往ip地址1.2.3.5的报文时,基于最长匹配原则,可以在本地路由表中查找到ip地址1.2.3.5命中该静态路由表项。后续,网络设备可以在将该报文的目的mac地址修改为mac地址2后,将修改后的报文发往ip地址为5.6.7.8的目标设备。

在上述情况下,如果为ip地址1.2.3.5配置明细路由表项,则由于网络设备在进行路由表项查找时始终遵循最长匹配原则,会导致网络设备在接收到目的ip地址为1.2.3.5的报文时,在本地路由表中查找到ip地址1.2.3.5命中的路由表项为该明细路由表项,并在将该报文的目的mac地址修改为mac地址1后,将修改后的报文发往ip地址为1.2.3.5的目标设备。也就是说,此时不会按照配置的静态路由转发,从而导致报文传输出现差错的问题。

为了避免上述问题,本申请提供一种路由表项的维护方法,先由网络设备判断某一ip地址是否符合配置明细路由表项的要求,再为判断出符合要求的ip地址配置明细路由表项。请参考图1,为本申请一示例性实施例示出的一种路由表项的维护方法的流程图,该方法可以应用在网络设备上,包括以下步骤:

步骤101:针对发往目标设备的报文,基于最长匹配原则在本地路由表中查找所述报文的目的ip地址命中的路由表项,并判断所述路由表项是否为直连路由表项。

步骤102:如果所述路由表项为直连路由表项,则根据所述目的ip地址判断本地mac地址表中是否保存有所述目标设备的mac地址。

步骤103:如果未保存有所述mac地址,则基于arp请求获取所述目标设备的mac地址。

步骤104:基于所述mac地址为所述目的ip地址配置明细路由表项。

网络设备在接收到发往目标设备的报文时,可以基于最长匹配原则,在本地路由表中查找该报文的目的ip地址命中的路由表项,即查找该报文的目的ip地址命中的子网掩码长度最长的路由表项。在查找到该ip地址命中的子网掩码长度最长的路由表项后,网络设备可以判断该路由表项是否为直连路由表项。例如,网络设备可以根据该路由表项中是否包括下一跳ip地址,判断该路由表项是否为直连路由表项。

如果网络设备判断出上述路由表项为直连路由表项,则网络设备可以进一步判断上述ip地址是否符合配置明细路由表项的要求。具体地,网络设备可以根据本地mac地址表中是否保存有该ip地址对应的mac地址表项,即是否保存有该目标设备的mac地址,来判断该ip地址是否符合配置明细路由表项的要求。

通常,网络设备在进行报文传输时,都需要确定报文的下一跳mac地址,以将报文的目的mac地址修改为其下一跳mac地址。这样,如果网络设备在接收到发往某一目标设备的报文时,根据该报文的目的ip地址在本地mac地址表中未查找到该目标设备的mac地址,则说明该目标设备可能为新加入组网的主机或路由器等网络设备,此前未为该目标设备的ip地址配置明细路由表项。在这种情况下,网络设备可以确定该ip地址符合配置明细路由表项的要求。

或者,如果网络设备需要向某一目标设备发送报文,而根据该目标设备的ip地址在本地mac地址表中未查找到该目标设备的mac地址时,则也说明该目标设备可能为新加入组网的主机或路由器等网络设备,此前也未为该目标设备的ip地址配置明细路由表项。在这种情况下,网络设备也可以确定该ip地址符合配置明细路由表项的要求。

明细路由表项中通常保存有网段信息、出接口信息和目标设备的明细信息。其中,网段信息的子网掩码的长度为32位,而目标设备的明细信息除了包括下一跳ip地址之外,还可以包括该明细路由表项与下一跳ip地址对应的mac地址表项的关联关系或该目标设备的mac地址。

由于此时在本地mac地址表中尚未保存有上述目标设备的mac地址,因此网络设备可以向该目标设备发送arp(addressresolutionprotocol,地址解析协议)请求报文,以请求该目标设备mac地址。该目标设备在接收到该arp请求报文时,可以向网络设备返回arp应答报文,以应答其mac地址。网络设备在接收到该arp应答报文时,即可获取该目标设备的mac地址,并生成包括该目标设备的ip地址和mac地址的对应关系的mac地址表项保存在本地mac地址表中。

网络设备在获取到上述目标设备的mac地址后,即可基于该目标设备的mac地址,为该目标设备的ip地址配置明细路由表项。明细路由表项可以由网络设备自行生成并保存在本地路由表中,以ip地址1.2.3.5为例,假设原先该ip地址命中网段信息为1.2.3.0/24,出接口信息为接口1的直连路由表项,并假设ip地址为1.2.3.5的目标设备的mac地址为mac地址1,则网络设备可以生成如下表2所示的明细路由表项:

表2

与相关技术类似,在明细路由表项中,目标设备的明细信息可以直接包括下一跳mac地址,或者也可以包括该明细路由表项与下一跳ip地址对应的mac地址表项的关联关系。其中,该关联关系可以是该mac地址表项在本地mac地址表中的索引值;或者,也可以是该mac地址表项在内存中的存储地址。

通过为目标设备的ip地址配置的明细路由表项中,该明细路由表项与该ip地址对应的mac地址表项的关联关系,或直接保存的该目标设备的mac地址,网络设备在接收到发往该目标设备的报文时,可以快速获取该报文的下一跳mac地址等转发信息,从而可以提高网络设备对这类报文的处理效率,加快这类报文的传输速率。

另一方面,如果网络设备判断出报文的目的ip地址命中的路由表项不为直连路由表项,比如:命中静态路由表项,那么若为该目的ip地址配置明细路由表项,就会导致报文转发出错。因此,网络设备不能为该ip地址配置明细路由表项,即该ip地址不符合配置明细路由表项的要求。

由上述实施例可见,网络设备通过判断报文的目的ip地址是否符合配置明细路由表项的要求,并为符合要求的目的ip地址配置明细路由表项,以快速获取该报文的下一跳mac地址等转发信息,而不为不符合要求的目标ip地址配置明细路由表项,可以在提高网络设备的报文处理效率,加快报文传输速率的同时,保证网络设备的报文传输不会出现差错。

与图1所示的实施例相应地,请参考图2,为本申请一示例性实施例示出的另一种路由表项的维护方法的流程图,该方法也可以应用在网络设备上,包括以下步骤:

步骤201:在所述目的ip地址对应的mac地址表项老化后,判断所述目的ip地址是否命中明细路由表项。

步骤202:如果所述目的ip地址命中明细路由表项,则删除所述明细路由表项。

通常,本地mac地址表中保存的mac地址表项都有老化时间,如果网络设备在一段时间内未接收到目的ip地址为某一ip地址的报文,也未发送目的ip地址为该ip地址的报文,则网络设备可以在该ip地址对应的mac地址表项到达老化时间后,删除该mac地址表项。实际应用中,在该mac地址表项老化后,针对该ip地址的转发策略可能发生变化,例如:在该mac地址表项老化后,目标设备的mac地址可能发生变化。

结合图1所示的实施例,在上述目的ip地址对应的mac地址表项老化后,网络设备可以判断该ip地址是否命中明细路由表项,即此前是否为该目标ip地址配置了明细路由表项。例如,网络设备可以基于最长匹配原则,在本地路由表中查找该ip地址命中的路由表项,并检测命中的路由表项是否为明细路由表项。如果此前为该ip地址配置了明细路由表项,则为了避免报文传输出现差错,网络设备可以删除该ip地址命中的明细路由表项。后续,网络设备在再次接收到目的ip地址为该ip地址的报文时,可以重新判断该ip地址是否符合配置明细路由表项的要求;或者,网络设备也可以在需要发送目的ip地址为该ip地址的报文时,重新判断该ip地址是否符合配置明细路由表项的要求。

请参考图3,为本申请一示例性实施例示出的另一种路由表项的维护方法的流程图,该方法也可以应用在网络设备上,包括以下步骤:

步骤301:在新增路由表项时,判断新增路由表项关联的ip地址是否命中明细路由表项。

步骤302:如果所述ip地址命中明细路由表项,则删除所述明细路由表项。

当本地路由表中新增了一条路由表项时,说明针对新增路由表项关联的ip地址的转发策略可能发生变化,例如:在新增该路由表项前,这类ip地址命中的路由表项为直连路由表项,但在新增该路由表项后,这类ip地址命中的路由表项变为新增路由表项。在这种情况下,网络设备可以判断该新增路由表项关联的ip地址是否命中明细路由表项,即该新增路由表项中的网段信息所包含的各个ip地址是否命中明细路由表项。

如果新增路由表项关联的某一ip地址命中明细路由表项,则说明此前为该ip地址配置了明细路由表项,为了避免报文传输出现差错,网络设备可以删除该明细路由表项。

请参考图4,为本申请一示例性实施例示出的另一种路由表项的维护方法的流程图,该方法也可以应用在网络设备上,包括以下步骤:

步骤401:在删除路由表项时,判断删除路由表项关联的ip地址是否命中直连路由表项。

步骤402:如果所述ip地址命中直连路由表项,则为所述ip地址配置明细路由表项。

当本地路由表中删除了一条路由表项时,也说明针对删除路由表项关联的ip地址的转发策略可能发生变化,例如:在删除该路由表项前,这类ip地址命中的路由表项为删除路由表项,但在删除该路由表项后,这类ip地址命中的路由表项变为直连路由表项。在这种情况下,网络设备可以判断该删除路由表项关联的ip地址是否命中直连路由表项。

如果删除路由表项关联的某一ip地址命中直连路由表项,则结合图1所示的实施例,说明此时该ip地址符合配置明细路由表项的要求。即网络设备可以为该ip地址配置明细路由表项,以提高网络设备的报文处理效率,加快报文传输速率。

结合图1、图2、图3和图4的实施例可见,在不同的情况下,网络设备通过判断报文的目的ip地址是否符合配置明细路由表项的要求,并为符合要求的目的ip地址配置明细路由表项,以快速获取该报文的下一跳mac地址等转发信息,而不为不符合要求的目标ip地址配置明细路由表项,可以在提高网络设备的报文处理效率,加快报文传输速率的同时,保证网络设备的报文传输不会出现差错。

与前述路由表项的维护方法的实施例相对应,本申请还提供了路由表项的维护装置的实施例。

本申请路由表项的维护装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请路由表项的维护装置所在网络设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络设备通常根据该路由表项的维护的实际功能,还可以包括其他硬件,对此不再赘述。

请参考图6,为本申请一示例性实施例示出的一种路由表项的维护装置,该装置可以应用在图5所示的网络设备中,包括:

查找单元601,用于针对发往目标设备的报文,基于最长匹配原则在本地路由表中查找所述报文的目的ip地址命中的路由表项,并判断所述路由表项是否为直连路由表项;

第一判断单元602,用于在所述路由表项为直连路由表项时,根据所述目的ip地址判断本地mac地址表中是否保存有所述目标设备的mac地址;

获取单元603,用于在未保存有所述mac地址时,基于arp请求获取所述目标设备的mac地址;

第一配置单元604,用于基于所述mac地址为所述目的ip地址配置明细路由表项;

其中,所述明细路由表项中包括所述目标设备的明细信息,所述明细路由表项中网段信息的子网掩码长度为32位。

在一个可选的实施例中,所述装置600还可以包括:

生成单元605,用于在获取到目标设备的mac地址后生成对应的mac地址表项;

所述目标设备的明细信息包括所述目标设备的mac地址,或者所述明细路由表项与所述mac地址表项的关联关系。

在另一个可选的实施例中,所述装置600还可以包括:

第二判断单元606,用于在所述目的ip地址对应的mac地址表项老化后,判断所述目的ip地址是否命中明细路由表项;

第一删除单元607,用于在所述目的ip地址命中明细路由表项时,删除所述明细路由表项。

在另一个可选的实施例中,所述装置600还可以包括:

第三判断单元608,用于在新增路由表项时,判断新增路由表项关联的ip地址是否命中明细路由表项;

第二删除单元609,用于在所述新增路由表项关联的ip地址命中明细路由表项时,删除所述明细路由表项。

在另一个可选的实施例中,所述装置600还可以包括:

第四判断单元610,用于在删除路由表项时,判断删除路由表项关联的ip地址是否命中直连路由表项;

第二配置单元611,用于在所述删除路由表项关联的ip地址命中直连路由表项时,为所述ip地址配置明细路由表项。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1