CN107786450A - 一种数据报文传输方法、装置及机器可读存储介质 - Google Patents

一种数据报文传输方法、装置及机器可读存储介质 Download PDF

Info

Publication number
CN107786450A
CN107786450A CN201710966081.4A CN201710966081A CN107786450A CN 107786450 A CN107786450 A CN 107786450A CN 201710966081 A CN201710966081 A CN 201710966081A CN 107786450 A CN107786450 A CN 107786450A
Authority
CN
China
Prior art keywords
forwarding table
fib
forwarding
entry
message
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
Application number
CN201710966081.4A
Other languages
English (en)
Other versions
CN107786450B (zh
Inventor
陈岩
余清炎
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201710966081.4A priority Critical patent/CN107786450B/zh
Publication of CN107786450A publication Critical patent/CN107786450A/zh
Application granted granted Critical
Publication of CN107786450B publication Critical patent/CN107786450B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供一种数据报文传输方法、装置及机器可读存储介质,该方法包括:在接收到数据报文后,通过数据报文的目的地址查询第一FIB表;若第一FIB表不存在所述目的地址对应的转发表项,向计算设备发送携带所述目的地址的请求消息;所述请求消息用于使计算设备从计算设备的第二FIB表中查询所述目的地址对应的转发表项,并返回查询到的转发表项;接收所述计算设备发送的所述目的地址对应的转发表项,将接收到的转发表项存储到所述第一FIB表,并利用接收到的转发表项发送所述数据报文。通过本公开的技术方案,可以减轻网络设备的处理压力,并节省网络设备的CPU资源,避免CPU使用率高的问题,提高网络设备的稳定性。提高表项资源的利用率,提高用户业务体验。

Description

一种数据报文传输方法、装置及机器可读存储介质
技术领域
本发明涉及通信技术领域,尤其是涉及一种数据报文传输方法、装置及机器可读存储介质。
背景技术
网络设备(如路由器)通常维护路由表和FIB(Forwarding Information Base,转发信息库)表,该路由表用于存储所有路由,网络设备能够对该路由表中的路由进行优选,并将优选路由下发到FIB表,以通过FIB表来指导报文的转发。其中,FIB表的每个转发表项可以包括:目的IP地址与出接口的对应关系,这样,在接收到与该目的IP地址匹配的报文时,就可以通过该出接口进行转发。
由于网络设备的FIB表的资源有限,即只能存储一定数量的转发表项,因此,当转发表项数量超过资源限制时,无法将路由表的优选路由下发到FIB表,导致优选路由对应的业务中断。当路由的数量很多时,对路由表中的路由进行优选的过程、将优选路由下发到FIB表的过程,导致网络设备的处理压力很大,CPU(Central Processing Unit,中央处理器)使用率高,影响网络设备稳定性。
发明内容
本公开提供一种数据报文传输方法,应用于网络设备,所述方法包括:
在接收到数据报文后,通过所述数据报文的目的地址查询第一FIB表;
若所述第一FIB表不存在所述目的地址对应的转发表项,向计算设备发送携带所述目的地址的请求消息;所述请求消息用于使所述计算设备从计算设备的第二FIB表中查询所述目的地址对应的转发表项,并返回查询到的转发表项;
接收所述计算设备发送的所述目的地址对应的转发表项,将接收到的转发表项存储到所述第一FIB表,并利用接收到的转发表项发送所述数据报文。
本公开提供一种数据报文传输装置,应用于网络设备,所述装置包括:
接收模块,用于接收数据报文;
查询模块,用于通过所述数据报文的目的地址查询第一FIB表;
发送模块,用于当第一FIB表不存在所述目的地址对应的转发表项时,向计算设备发送携带所述目的地址的请求消息;所述请求消息用于使计算设备从第二FIB表中查询所述目的地址对应的转发表项,并返回查询到的转发表项;
所述接收模块,还用于接收计算设备发送的所述目的地址对应的转发表项;
存储模块,用于将接收到的转发表项存储到所述第一FIB表;
所述发送模块,还用于利用接收到的转发表项发送所述数据报文。
本公开提供一种机器可读存储介质,应用于网络设备,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
在接收到数据报文后,通过所述数据报文的目的地址查询第一FIB表;
若所述第一FIB表不存在所述目的地址对应的转发表项,向计算设备发送携带所述目的地址的请求消息;所述请求消息用于使所述计算设备从计算设备的第二FIB表中查询所述目的地址对应的转发表项,并返回查询到的转发表项;
接收所述计算设备发送的所述目的地址对应的转发表项,将接收到的转发表项存储到所述第一FIB表,并利用接收到的转发表项发送所述数据报文。
基于上述技术方案,本公开实施例中,对路由表中的路由进行优选的过程、将优选路由下发到FIB表的过程,由计算设备执行,而不是网络设备执行,这样,可以减轻网络设备的处理压力,并节省网络设备的CPU资源,避免CPU使用率高的问题,提高网络设备的稳定性。而且,当网络设备接收到数据报文时,才向计算设备请求与该数据报文的目的地址匹配的转发表项,并将该转发表项下发到网络设备的第一FIB表,从而可以避免将所有转发表项均下发到网络设备的第一FIB表,可以节省第一FIB表的表项资源,并提高表项资源的利用率,避免无法将优选路由下发到FIB表导致的业务中断问题,提高用户的业务体验。
附图说明
为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。
图1是本公开一种实施方式中的应用场景示意图;
图2是本公开一种实施方式中的数据报文传输方法的流程图;
图3是本公开一种实施方式中的数据报文传输装置的结构图;
图4是本公开一种实施方式中的网络设备的硬件结构图。
具体实施方式
在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本公开实施例中提出一种数据报文传输方法,该方法可以应用于包括网络设备(如路由器、三层交换机等)和计算设备的系统。本公开实施例中,对路由表中的路由进行优选的过程、以及将优选路由下发到FIB表的过程,均由计算设备执行,而不是由网络设备执行,从而可以减轻网络设备的处理压力。
参见图1所示,为本公开实施例的应用场景示意图。在图1中,以三个网络设备为例进行说明,实际应用中,网络设备的数量可以更多,对此不做限制。在图1中,以一个计算设备为例进行说明,实际应用中,计算设备的数量可以更多,对此不做限制。当存在多个计算设备时,网络设备可以只对应一个计算设备,由该计算设备代替该网络设备执行路由优选过程、优选路由下发过程。
参见图1所示,网络设备可以与计算设备建立连接,对此连接的建立方式不做限制,只要该网络设备与计算设备之间,能够通过所述连接传输信息即可。
在图1中,计算设备是为“路由优选过程、优选路由下发过程”单独部署的设备,计算设备具有较高的计算能力和路由下发能力,例如,计算设备可以包括但不限于服务器等。综上所述,计算设备可以为各网络设备执行“路由优选过程、优选路由下发过程”,从而不用网络设备执行上述操作。
其中,路由优选过程是指:计算设备可以维护路由表和FIB表,路由表用于存储所有路由,计算设备对路由表中的路由进行优选,得到优选路由,这个优选路由是需要下发到FIB表的路由。例如,路由表包括路由A和路由B,路由A和路由B均是针对目的地址192.168.1.100的路由,则计算设备从路由A和路由B中优选一个路由,如路由A的开销值小于路由B的开销值时,则优选路由可以是路由A,且路由A需要下发到FIB表,而路由B不需要下发到FIB表。
此外,优选路由下发过程是指:计算设备将优选路由下发到FIB表,以通过FIB表来指导报文转发。例如,计算设备将路由A下发到FIB表,这样,针对目的地址为192.168.1.100的报文,可以匹配路由A,以通过路由A指导转发。
为了使计算设备代替网络设备执行“路由优选过程、优选路由下发过程”等,则本申请实施例中,网络设备在接收到路由协议报文后,不是在本地路由表中学习路由,而是向计算设备发送路由信息报文,所述路由信息报文可以包括该路由协议报文、该路由协议报文的接收接口;其中,路由信息报文用于使计算设备在计算设备的第二FIB表中生成与该路由信息报文对应的转发表项。
在一个例子中,网络设备可以维护FIB表,而计算设备可以为该网络设备维护路由表和FIB表,为了区分方便,可以将网络设备维护的FIB表称为第一FIB表,并可以将计算设备为该网络设备维护的FIB表称为第二FIB表。
其中,计算设备可以为每个网络设备单独维护路由表和第二FIB表,不同网络设备对应的路由表互不干扰,且不同网络设备对应的第二FIB表互不干扰。
例如,针对网络设备101,计算设备维护路由表101和第二FIB表101,针对网络设备102,计算设备维护路由表102和第二FIB表102,针对网络设备103,计算设备维护路由表103和第二FIB表103。在路由表101中,每个表项是一个路由表项,该路由表项用于存储针对网络设备101的路由信息;在第二FIB表101中,每个表项是一个转发表项,该转发表项用于存储针对网络设备101的转发信息。同理,在路由表102中,路由表项用于存储针对网络设备102的路由信息,在第二FIB表102中,转发表项用于存储针对网络设备102的转发信息;此外,在路由表103中,路由表项用于存储针对网络设备103的路由信息,在第二FIB表103中,转发表项用于存储针对网络设备103的转发信息。
参见图1所示,以网络设备101的处理过程为例,网络设备101在接收到路由协议报文后,不是在本地路由表中生成新的路由表项,也不是在本地FIB表中生成新的转发表项,而是向计算设备111发送路由信息报文,所述路由信息报文可以包括但不限于该路由协议报文、该路由协议报文的接收接口等。
其中,网络设备101可以支持RIP(Routing Information Protocol,路由信息协议)、ISIS(Intermediate System to Intermediate System,中间系统到中间系统)、BGP(Border Gateway Protocol,边界网关协议)、OSPF(Open Shortest Path First,开放式最短路径优先)等路由协议,因此,上述路由协议报文可以是基于RIP的路由协议报文、基于ISIS的路由协议报文、基于BGP的路由协议报文、基于OSPF的路由协议报文等。当然,网络设备101还可以支持其它类型的路由协议,上述路由协议报文也可以是其它路由类型的报文,对此不做限制。例如,上述路由协议报文还可以是携带静态路由的报文、携带直连路由的报文等。
其中,上述路由协议报文携带的内容可以包括但不限于:目的IP地址(如10.2.0.0等)、网络掩码(如16等)、下一跳地址(如10.2.1.1等)、路由优先级、路由开销值等。此外,上述路由信息报文携带的内容可以包括但不限于:该路由协议报文(如目的IP地址、网络掩码、下一跳地址、路由优先级、路由开销值等)、该路由协议报文的接收接口(如接口1011、接口1012等)。
计算设备111在接收到网络设备101发送的路由信息报文后,从路由信息报文中解析出目的IP地址、网络掩码、下一跳地址、路由优先级、路由开销值、路由协议报文的接收接口等内容,假设从路由信息报文中解析出如下内容:目的IP地址10.2.0.0、网络掩码16、下一跳地址10.2.1.1、路由优先级255、路由开销值3、接口1011。然后,计算设备111从本地的所有路由表中查询网络设备101对应的路由表,即路由表101。计算设备111在路由表101中添加一条路由表项,该路由表项用于记录目的IP地址10.2.0.0、网络掩码16、下一跳地址10.2.1.1、路由优先级255、路由开销值3、接口1011的对应关系。如表1所示,为网络设备101对应的路由表101的示例,对此路由表101的内容不做限制。
表1
目的IP地址/网络掩码 下一跳地址 路由优先级 路由开销值 出接口
2.2.2.0/24 192.168.47.4 255 2 接口1011
10.2.0.0/16 10.3.1.1 100 6 接口1012
10.2.0.0/16 10.2.1.1 255 3 接口1011
计算设备111在接收到路由信息报文后,还可以从本地的所有第二FIB表中查询网络设备101对应的第二FIB表,即第二FIB表101。基于路由表101的内容,计算设备111可以在第二FIB表101中生成与该路由信息报文对应的转发表项,该转发表项用于记录目的IP地址、网络掩码、下一跳地址、出接口的对应关系。如表2所示,为网络设备101对应的第二FIB表101的示例,对此第二FIB表101的内容不做限制,第二FIB表101还可以包括其它内容。
表2
目的IP地址/网络掩码 下一跳地址 出接口
2.2.2.0/24 192.168.47.4 接口1011
10.2.0.0/16 10.2.1.1 接口1011
其中,计算设备111在第二FIB表101中生成转发表项时,涉及路由优选过程和优选路由下发过程。在表1中,由于针对同一个目的IP地址10.2.0.0/16存在两条路由表项,因此,需要对这两条路由表项进行优选,得到一个优选路由,这个优选路由是需要下发到FIB表的路由。在对这两条路由表项进行优选时,可以根据路由优先级,选择路由优先级大的路由表项,即将路由优先级为255的路由表项作为优选路由;或者,在对这两条路由表项进行优选时,可以根据路由开销值,选择路由开销值小的路由表项,即将路由开销值为3的路由表项作为优选路由;当然,还可以采用其它方式进行优选,对此不做限制。计算设备111将优选路由下发到第二FIB表101中,得到表2所示的第二FIB表101。
此外,针对目的IP地址2.2.2.0/24存在一条路由表项,可以直接将目的IP地址2.2.2.0/24对应的路由表项下发到第二FIB表101中,如表2所示。
由于路由优先级和路由开销值用于优选路由,而不用于指导报文转发,因此,计算设备111在生成转发表项时,转发表项可以不包括路由优先级和路由开销值,当然,转发表项也可以包括路由优先级和路由开销值,对此不做限制。
在实际应用中,路由表项和转发表项也可以包括其它内容,如路由的标志、LSP(Label Switch Path,标签交换路径)索引号、内层标签值,对此不做限制。
在上述应用场景下,参见图2所示,为本申请实施例的数据报文传输方法的流程图,该方法可以应用于网络设备,该方法可以包括以下步骤:
步骤201,网络设备在接收到数据报文后,通过该数据报文的目的地址(如目的IP地址)查询第一FIB表(即网络设备本地存储的FIB表)。
其中,若该第一FIB表不存在该目的地址对应的转发表项,则执行步骤202;若该第一FIB表存在该目的地址对应的转发表项,则执行步骤204。
步骤202,网络设备向计算设备发送携带该目的地址的请求消息。
其中,该请求消息用于使计算设备从计算设备的第二FIB表中查询该目的地址对应的转发表项,并返回查询到的转发表项。具体的,计算设备在接收到该请求消息后,从本地的所有第二FIB表中查询该网络设备对应的第二FIB表。然后,计算设备从该网络设备对应的第二FIB表中,查询出该目的地址对应的转发表项。然后,计算设备将查询到的该转发表项返回给该网络设备。
步骤203,网络设备接收计算设备发送的该目的地址对应的转发表项,将接收到的转发表项存储到第一FIB表,并利用接收到的转发表项发送该数据报文。
步骤204,网络设备利用第一FIB表中的该目的地址对应的转发表项发送该数据报文,此时,网络设备不用从计算设备请求该目的地址对应的转发表项。
参见图1所示,网络设备101在接收到数据报文后,假设数据报文的目的IP地址为10.2.0.100,则通过数据报文的目的IP地址10.2.0.100查询本地的第一FIB表。由于第一FIB表不存在目的IP地址10.2.0.100对应的转发表项,因此,网络设备101向计算设备111发送携带目的IP地址10.2.0.100的请求消息。
计算设备111在接收到网络设备101发送的请求消息后,可以从本地的所有第二FIB表中查询网络设备101对应的第二FIB表,即第二FIB表101。然后,计算设备111可以从第二FIB表101(可以如表2所示)中查询出目的IP地址10.2.0.100对应的转发表项,该转发表项是10.2.0.0/16、10.2.1.1、接口1011的对应关系。然后,计算设备111将查询到的该转发表项返回给网络设备101。
网络设备101接收计算设备111发送的目的IP地址10.2.0.100对应的转发表项,并将接收到的转发表项存储到本地的第一FIB表,如表3所示,为第一FIB表的一个示例。此外,网络设备101还可以利用接收到的该转发表项发送该数据报文,也就是说,网络设备101可以通过接口1011发送该数据报文。
表3
目的IP地址/网络掩码 下一跳地址 出接口
10.2.0.0/16 10.2.1.1 接口1011
参见图1所示,网络设备101再次接收到数据报文时,假设数据报文的目的IP地址为10.2.0.100,则通过数据报文的目的IP地址10.2.0.100查询本地的第一FIB表(可以如表3所示)。由于第一FIB表存在目的IP地址10.2.0.100对应的转发表项,因此,网络设备101直接通过接口1011发送该数据报文。
基于上述技术方案,本公开实施例中,对路由表中的路由进行优选的过程、将优选路由下发到FIB表的过程,由计算设备执行,而不是网络设备执行,这样,可以减轻网络设备的处理压力,并节省网络设备的CPU资源,避免CPU使用率高的问题,提高网络设备的稳定性。而且,当网络设备接收到数据报文时,才向计算设备请求与该数据报文的目的地址匹配的转发表项,并将该转发表项下发到网络设备的第一FIB表,从而可以避免将所有转发表项均下发到网络设备的第一FIB表,可以节省第一FIB表的表项资源,并提高表项资源的利用率,避免无法将优选路由下发到FIB表导致的业务中断问题,提高用户的业务体验。
在一个例子中,由于网络设备的第一FIB表的资源有限,即只能存储一定数量的转发表项,因此,当第一FIB表中的转发表项数量大于预设阈值(可以根据经验配置,如第一FIB表的最大数量、或该最大数量*95%等)时,还可以采用如下方式进行处理:方式一、网络设备可以检测第一FIB表中的每个转发表项的最后命中时间,并根据每个转发表项的最后命中时间删除第一FIB表中的一个或者多个转发表项。方式二、网络设备可以向计算设备发送表项超出消息,该表项超出消息用于表示转发表项数量大于预设阈值;若接收到计算设备发送的删除消息,则检测第一FIB表中的每个转发表项的最后命中时间,并根据每个转发表项的最后命中时间删除第一FIB表中的一个或者多个转发表项。
其中,转发表项的最后命中时间是指:网络设备最后一次接收到与该转发表项匹配的数据报文的时间。为了统计出转发表项的最后命中时间,网络设备每次接收到数据报文时,就在该数据报文对应的转发表项中记录最后命中时间,这样,网络设备可以从转发表项中查询到最后命中时间。或者,为了统计出转发表项的最后命中时间,网络设备可以为每个转发表项记录定时器,这个定时器用于记录最后命中时间与当前时间之间的时间间隔,网络设备每次接收到数据报文时,就将该数据报文对应的转发表项的定时器清零,重新开始计时。
其中,根据每个转发表项的最后命中时间删除第一FIB表中的一个或者多个转发表项是指:根据每个转发表项的最后命中时间,从第一FIB表中删除距离当前时间长的一个或者多个转发表项。例如,假设只从第一FIB表中删除一个转发表项,若转发表项1的最后命中时间与当前时间的差值,大于其它转发表项的最后命中时间与当前时间的差值,则从第一FIB表中删除转发表项1。
其中,若网络设备在转发表项中记录最后命中时间,则基于转发表项记录的最后命中时间,网络设备可以计算出转发表项的最后命中时间与当前时间的差值。若网络设备为每个转发表项设置一个定时器,则所述转发表项对应的这个定时器的数值,也就是所述转发表项的最后命中时间与当前时间的差值。
上述方式一和方式二的区别在于:在方式一中,网络设备检测到第一FIB表中的转发表项数量大于预设阈值时,直接删除转发表项。在方式二中,网络设备检测到第一FIB表中的转发表项数量大于预设阈值时,不是直接删除转发表项,而是向计算设备发送表项超出消息;若计算设备允许网络设备删除转发表项,网络设备可以接收到删除消息,并删除转发表项;若计算设备不允许网络设备删除转发表项,网络设备不会接收到删除消息,也不会删除转发表项。
在一个例子中,由于网络设备的第一FIB表的资源有限,即只能存储一定数量的转发表项,因此,网络设备在第一FIB表中添加转发表项后,还可以为该转发表项设置老化定时器,其老化时间可以根据经验进行配置。网络设备每次接收到与该转发表项匹配的数据报文时,就更新该老化定时器的老化时间。此外,当该转发表项的老化定时器超时时,则网络设备可以删除该转发表项。
在一个例子中,根据实际需要,还可以控制网络设备的第一FIB表中的转发表项不被删除,基于此,计算设备可以向网络设备发送管理消息,该管理消息可以携带表项存储策略。其中,这个表项存储策略可以包括一个或者多个目的IP地址,表示针对所述目的IP地址的转发表项不被删除。此外,这个表项存储策略可以包括一个或者多个出接口,表示针对所述出接口的转发表项不被删除。此外,这个表项存储策略可以包括一个或者多个下一跳地址,表示针对所述下一跳地址的转发表项不被删除。对此表项存储策略的内容不做限制。
网络设备在接收到计算设备发送的管理消息后,可以从该管理消息中解析出表项存储策略。然后,网络设备从第一FIB表中确定与该表项存储策略匹配的转发表项(例如,若表项存储策略包括目的IP地址,则确定与所述目的IP地址匹配的转发表项,若表项存储策略包括出接口,则确定与所述出接口匹配的转发表项,若表项存储策略包括下一跳地址,则确定与所述下一跳地址匹配的转发表项),并为确定的转发表项设置保留标记,且具有保留标记的转发表项需要存储在第一FIB表中,即具有保留标记的转发表项不会被网络设备删除。
基于此,网络设备在从第一FIB表中删除转发表项时,不会删除具有保留标记的转发表项,从而达到控制第一FIB表中某些转发表项不被删除的目的。
基于与上述方法同样的构思,本公开实施例中还提出一种数据报文传输装置,所述数据报文传输装置应用于网络设备,如图3所示,为本公开实施例中提出的数据报文传输装置的结构图,所述数据报文传输装置具体可以包括:
接收模块301,用于接收数据报文;
查询模块302,用于通过所述数据报文的目的地址查询第一FIB表;
发送模块303,用于当第一FIB表不存在所述目的地址对应的转发表项时,向计算设备发送携带所述目的地址的请求消息;所述请求消息用于使计算设备从第二FIB表中查询所述目的地址对应的转发表项,并返回查询到的转发表项;
接收模块301,还用于接收计算设备发送的所述目的地址对应的转发表项;
存储模块304,用于将接收到的转发表项存储到所述第一FIB表;
所述发送模块303,还用于利用接收到的转发表项发送所述数据报文。
在一个例子中,所述发送模块303,还用于当所述第一FIB表存在所述目的地址对应的转发表项时,则利用所述转发表项发送所述数据报文。
所述接收模块301,还用于接收路由协议报文;
所述发送模块303,还用于向计算设备发送路由信息报文,所述路由信息报文包括所述路由协议报文、所述路由协议报文的接收接口;所述路由信息报文用于使计算设备在第二FIB表中生成与所述路由信息报文对应的转发表项。
在一个例子中,当所述第一FIB表中的转发表项数量大于预设阈值时,所述数据报文传输装置还可以包括(在图中未示出):
处理模块,用于检测所述第一FIB表中的每个转发表项的最后命中时间,并根据每个转发表项的最后命中时间删除所述第一FIB表中的一个或者多个转发表项;或者,向所述计算设备发送表项超出消息,其中,所述表项超出消息用于表示转发表项数量大于预设阈值;若接收到所述计算设备发送的删除消息,则检测所述第一FIB表中的每个转发表项的最后命中时间,并根据每个转发表项的最后命中时间删除所述第一FIB表中的一个或者多个转发表项。
在一个例子中,所述接收模块301,还用于接收所述计算设备发送的管理消息,所述管理消息携带表项存储策略;从所述第一FIB表中确定与所述表项存储策略匹配的转发表项,为确定的转发表项设置保留标记,其中,具有所述保留标记的转发表项需要存储在所述第一FIB表中。
本公开实施例提供的网络设备,从硬件层面而言,其硬件架构示意图具体可以参见图4所示。可以包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本公开上述示例公开的数据报文传输操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
基于与上述方法同样的构思,本公开实施例中还提出一种一种机器可读存储介质,所述机器可读存储介质可以应用于网络设备,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
在接收到数据报文后,通过所述数据报文的目的地址查询第一FIB表;
若所述第一FIB表不存在所述目的地址对应的转发表项,向计算设备发送携带所述目的地址的请求消息;所述请求消息用于使所述计算设备从计算设备的第二FIB表中查询所述目的地址对应的转发表项,并返回查询到的转发表项;
接收所述计算设备发送的所述目的地址对应的转发表项,将接收到的转发表项存储到所述第一FIB表,并利用接收到的转发表项发送所述数据报文。
在一个例子中,所述计算机指令被执行时还可以进行如下处理:
在接收到路由协议报文后,向计算设备发送路由信息报文,所述路由信息报文包括所述路由协议报文、所述路由协议报文的接收接口;所述路由信息报文用于使计算设备在第二FIB表中生成与所述路由信息报文对应的转发表项。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。

Claims (11)

1.一种数据报文传输方法,其特征在于,应用于网络设备,所述方法包括:
在接收到数据报文后,通过所述数据报文的目的地址查询第一FIB表;
若所述第一FIB表不存在所述目的地址对应的转发表项,向计算设备发送携带所述目的地址的请求消息;所述请求消息用于使所述计算设备从计算设备的第二FIB表中查询所述目的地址对应的转发表项,并返回查询到的转发表项;
接收所述计算设备发送的所述目的地址对应的转发表项,将接收到的转发表项存储到所述第一FIB表,并利用接收到的转发表项发送所述数据报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在通过所述数据报文的目的地址查询第一FIB表后,若所述第一FIB表存在所述目的地址对应的转发表项,则利用所述转发表项发送所述数据报文。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到路由协议报文后,向计算设备发送路由信息报文,所述路由信息报文包括所述路由协议报文、所述路由协议报文的接收接口;所述路由信息报文用于使计算设备在第二FIB表中生成与所述路由信息报文对应的转发表项。
4.根据权利要求1所述的方法,其特征在于,
当所述第一FIB表中的转发表项数量大于预设阈值时,所述方法还包括:
检测所述第一FIB表中的每个转发表项的最后命中时间,并根据每个转发表项的最后命中时间删除所述第一FIB表中的一个或者多个转发表项;或者,
向所述计算设备发送表项超出消息,其中,所述表项超出消息用于表示转发表项数量大于预设阈值;若接收到所述计算设备发送的删除消息,则检测所述第一FIB表中的每个转发表项的最后命中时间,并根据每个转发表项的最后命中时间删除所述第一FIB表中的一个或者多个转发表项。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述计算设备发送的管理消息,所述管理消息携带表项存储策略;
从第一FIB表中确定与所述表项存储策略匹配的转发表项,为确定的转发表项设置保留标记,具有保留标记的转发表项需要存储在所述第一FIB表中。
6.一种数据报文传输装置,其特征在于,应用于网络设备,所述装置包括:
接收模块,用于接收数据报文;
查询模块,用于通过所述数据报文的目的地址查询第一FIB表;
发送模块,用于当第一FIB表不存在所述目的地址对应的转发表项时,向计算设备发送携带所述目的地址的请求消息;所述请求消息用于使计算设备从第二FIB表中查询所述目的地址对应的转发表项,并返回查询到的转发表项;
所述接收模块,还用于接收计算设备发送的所述目的地址对应的转发表项;
存储模块,用于将接收到的转发表项存储到所述第一FIB表;
所述发送模块,还用于利用接收到的转发表项发送所述数据报文。
7.根据权利要求6所述的装置,其特征在于,
所述发送模块,还用于当所述第一FIB表存在所述目的地址对应的转发表项时,则利用所述转发表项发送所述数据报文。
8.根据权利要求6所述的装置,其特征在于,
所述接收模块,还用于接收路由协议报文;
所述发送模块,还用于向计算设备发送路由信息报文,所述路由信息报文包括所述路由协议报文、所述路由协议报文的接收接口;其中,所述路由信息报文用于使计算设备在第二FIB表中生成与所述路由信息报文对应的转发表项。
9.根据权利要求6所述的装置,其特征在于,
当所述第一FIB表中的转发表项数量大于预设阈值时,所述装置还包括:
处理模块,用于检测所述第一FIB表中的每个转发表项的最后命中时间,并根据每个转发表项的最后命中时间删除所述第一FIB表中的一个或者多个转发表项;或者,向所述计算设备发送表项超出消息,其中,所述表项超出消息用于表示转发表项数量大于预设阈值;若接收到所述计算设备发送的删除消息,则检测所述第一FIB表中的每个转发表项的最后命中时间,并根据每个转发表项的最后命中时间删除所述第一FIB表中的一个或者多个转发表项。
10.根据权利要求6所述的装置,其特征在于,所述接收模块,还用于接收所述计算设备发送的管理消息,所述管理消息携带表项存储策略;从所述第一FIB表中确定与所述表项存储策略匹配的转发表项,为确定的转发表项设置保留标记,其中,具有所述保留标记的转发表项需要存储在所述第一FIB表中。
11.一种机器可读存储介质,其特征在于,应用于网络设备,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
在接收到数据报文后,通过所述数据报文的目的地址查询第一FIB表;
若所述第一FIB表不存在所述目的地址对应的转发表项,向计算设备发送携带所述目的地址的请求消息;所述请求消息用于使所述计算设备从计算设备的第二FIB表中查询所述目的地址对应的转发表项,并返回查询到的转发表项;
接收所述计算设备发送的所述目的地址对应的转发表项,将接收到的转发表项存储到所述第一FIB表,并利用接收到的转发表项发送所述数据报文。
CN201710966081.4A 2017-10-17 2017-10-17 一种数据报文传输方法、装置及机器可读存储介质 Active CN107786450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710966081.4A CN107786450B (zh) 2017-10-17 2017-10-17 一种数据报文传输方法、装置及机器可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710966081.4A CN107786450B (zh) 2017-10-17 2017-10-17 一种数据报文传输方法、装置及机器可读存储介质

Publications (2)

Publication Number Publication Date
CN107786450A true CN107786450A (zh) 2018-03-09
CN107786450B CN107786450B (zh) 2020-09-08

Family

ID=61434502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710966081.4A Active CN107786450B (zh) 2017-10-17 2017-10-17 一种数据报文传输方法、装置及机器可读存储介质

Country Status (1)

Country Link
CN (1) CN107786450B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110278152A (zh) * 2018-08-31 2019-09-24 新华三信息安全技术有限公司 一种建立快速转发表的方法及装置
CN110932975A (zh) * 2019-11-29 2020-03-27 迈普通信技术股份有限公司 流表下发方法、数据转发方法、装置及电子设备
CN111262786A (zh) * 2020-01-13 2020-06-09 北京奇艺世纪科技有限公司 一种网关控制方法、网关设备、电子设备及存储介质
CN111600947A (zh) * 2020-05-13 2020-08-28 北京天融信网络安全技术有限公司 一种资源管理方法、装置、存储介质和电子设备
CN111934969A (zh) * 2020-07-28 2020-11-13 锐捷网络股份有限公司 Mac转发表的维护方法及装置
CN114143089A (zh) * 2021-11-30 2022-03-04 迈普通信技术股份有限公司 报文处理方法、装置、网络设备及计算机可读存储介质
CN114374637A (zh) * 2021-12-23 2022-04-19 新华三技术有限公司合肥分公司 一种路由处理方法及装置
CN116016432A (zh) * 2022-12-30 2023-04-25 迈普通信技术股份有限公司 报文转发方法、装置、网络设备和计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459619A (zh) * 2009-01-05 2009-06-17 杭州华三通信技术有限公司 一种在网络中对报文传输的处理方法和装置
CN102142982A (zh) * 2010-11-23 2011-08-03 华为数字技术有限公司 一种转发平面故障修复方法和装置
CN102694684A (zh) * 2012-05-30 2012-09-26 华为技术有限公司 基于多网关的控制表项配置方法、设备及网络系统
CN103152271A (zh) * 2013-04-03 2013-06-12 清华大学 一种基于内容的数据中心网络路由转发方法
CN103825826A (zh) * 2014-02-28 2014-05-28 杭州华三通信技术有限公司 一种动态路由的实现方法和装置
US20150281079A1 (en) * 2012-12-12 2015-10-01 Huawei Technologies Co.,Ltd. Methods and apparatuses for routing and forwarding, establishing routing table, and acquiring content

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459619A (zh) * 2009-01-05 2009-06-17 杭州华三通信技术有限公司 一种在网络中对报文传输的处理方法和装置
CN102142982A (zh) * 2010-11-23 2011-08-03 华为数字技术有限公司 一种转发平面故障修复方法和装置
CN102694684A (zh) * 2012-05-30 2012-09-26 华为技术有限公司 基于多网关的控制表项配置方法、设备及网络系统
US20150281079A1 (en) * 2012-12-12 2015-10-01 Huawei Technologies Co.,Ltd. Methods and apparatuses for routing and forwarding, establishing routing table, and acquiring content
CN103152271A (zh) * 2013-04-03 2013-06-12 清华大学 一种基于内容的数据中心网络路由转发方法
CN103825826A (zh) * 2014-02-28 2014-05-28 杭州华三通信技术有限公司 一种动态路由的实现方法和装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11646976B2 (en) 2018-08-31 2023-05-09 New H3C Security Technologies Co., Ltd. Establishment of fast forwarding table
CN110278152B (zh) * 2018-08-31 2020-05-29 新华三信息安全技术有限公司 一种建立快速转发表的方法及装置
CN110278152A (zh) * 2018-08-31 2019-09-24 新华三信息安全技术有限公司 一种建立快速转发表的方法及装置
CN110932975A (zh) * 2019-11-29 2020-03-27 迈普通信技术股份有限公司 流表下发方法、数据转发方法、装置及电子设备
CN111262786A (zh) * 2020-01-13 2020-06-09 北京奇艺世纪科技有限公司 一种网关控制方法、网关设备、电子设备及存储介质
CN111600947A (zh) * 2020-05-13 2020-08-28 北京天融信网络安全技术有限公司 一种资源管理方法、装置、存储介质和电子设备
CN111934969A (zh) * 2020-07-28 2020-11-13 锐捷网络股份有限公司 Mac转发表的维护方法及装置
CN111934969B (zh) * 2020-07-28 2022-03-18 锐捷网络股份有限公司 Mac转发表的维护方法及装置
CN114143089A (zh) * 2021-11-30 2022-03-04 迈普通信技术股份有限公司 报文处理方法、装置、网络设备及计算机可读存储介质
CN114143089B (zh) * 2021-11-30 2024-02-09 迈普通信技术股份有限公司 报文处理方法、装置、网络设备及计算机可读存储介质
CN114374637A (zh) * 2021-12-23 2022-04-19 新华三技术有限公司合肥分公司 一种路由处理方法及装置
CN114374637B (zh) * 2021-12-23 2023-12-26 新华三技术有限公司合肥分公司 一种路由处理方法及装置
CN116016432A (zh) * 2022-12-30 2023-04-25 迈普通信技术股份有限公司 报文转发方法、装置、网络设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN107786450B (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
CN107786450B (zh) 一种数据报文传输方法、装置及机器可读存储介质
EP2727318B1 (en) Data routing
CN107547391B (zh) 一种报文传输方法和装置
US10305801B2 (en) Forwarding data packets
EP3101850B1 (en) Packet processing method, device and system
CN106911588B (zh) 用于实现深度包检测优化的方法、装置和系统
CN108259218B (zh) 一种ip地址分配方法和装置
CN108259346A (zh) 一种等价路由表项建立方法和装置
US9590890B2 (en) Transfer apparatus, server, and route changing method
CN106302179B (zh) 一种管理索引表的方法及装置
US8516152B2 (en) Lookahead computation of routing information
CN103201987A (zh) 区分路由信息更新的优先级
CN109067585A (zh) 一种查询acl表项下发方法及装置
CN110233801B (zh) 路由更新方法及装置
CN110768917A (zh) 一种报文传输方法及装置
CN108809849B (zh) 一种流量限速方法、装置及控制器
CN107070797B (zh) 一种报文转发的方法及系统
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
CN108632125B (zh) 一种组播表项管理方法、装置、设备及机器可读存储介质
CN101577660B (zh) 一种标签转发表项获取、报文转发方法和装置
EP3131240B1 (en) Search apparatus and method
US20180102974A1 (en) Flow entry delivering method, flow entry storage method, related apparatus, and related system
EP3104562B1 (en) Method of aggregation of flows in ict networks
CN106059810B (zh) 一种消息通知方法及系统
CN108777654A (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
GR01 Patent grant
GR01 Patent grant