CN112600951A - 一种报文转发的方法及装置 - Google Patents

一种报文转发的方法及装置 Download PDF

Info

Publication number
CN112600951A
CN112600951A CN202011447205.6A CN202011447205A CN112600951A CN 112600951 A CN112600951 A CN 112600951A CN 202011447205 A CN202011447205 A CN 202011447205A CN 112600951 A CN112600951 A CN 112600951A
Authority
CN
China
Prior art keywords
chip
mac
entry
message
destination
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
CN202011447205.6A
Other languages
English (en)
Other versions
CN112600951B (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.)
Hangzhou DPtech Information Technology Co Ltd
Original Assignee
Hangzhou DPtech Information Technology 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 Hangzhou DPtech Information Technology Co Ltd filed Critical Hangzhou DPtech Information Technology Co Ltd
Priority to CN202011447205.6A priority Critical patent/CN112600951B/zh
Publication of CN112600951A publication Critical patent/CN112600951A/zh
Application granted granted Critical
Publication of CN112600951B publication Critical patent/CN112600951B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

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

Abstract

本说明书提供一种报文转发的方法及装置,应用于网络设备;所述网络设备的转发芯片维护芯片HOST表和芯片MAC表;所述芯片HOST表中的HOST表项包括IP地址以及与该IP地址对应的指向芯片MAC表中的目的MAC表项的索引值;所述目的MAC表项包括软件ARP表项中的目的MAC地址和出接口;所述方法包括:获取接收到的报文的目的IP;在芯片HOST表中查询与所述目的IP匹配的HOST表项;在所述芯片HOST表中查询到与所述报文目的IP匹配的HOST表项时,根据所述HOST表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。通过复用芯片转发表,充分利用及合理分配有限的资源,减小CPU负荷,提高转发效率,增强CPU稳定性。

Description

一种报文转发的方法及装置
技术领域
本说明书涉及通信技术领域,尤其涉及一种报文转发的方法及装置。
背景技术
当前,为了适应不同的组网需求以及性价比方面的需求,主流的交换机通常分为盒式交换机和框式交换机两类。盒式交换机相对便宜,在预算较少且组网并不复杂的环境下采用。而框式交换机反之,因其能够插入多块板卡,并在单个主控板的操控下,对接口数量进行扩展,而且插入的板卡可选不同的类型,因此,具有良好的可扩展性能,可以支持用户所需的各种组网环境。
其中,为了加快二三层数据转发的性能,无论是盒式交换机还是框式交换机中的接口或者板卡,通常会内置数据交换芯片,并在数据交换芯片维护诸如HOST表、ARP表、路由表、MAC表等二三层转发表项。当交换机接收到数据报文时,可以根据接收到数据报文的接口或者该接收所在的板卡内置的数据交换芯片维护的上述二三层转发表项,对数据报文进行查表转发。
发明内容
本说明书提出一种报文转发的方法,该方法应用于网络设备;所述网络设备的转发芯片维护芯片HOST表和芯片MAC表;所述芯片HOST表中的HOST表项包括IP地址,以及与所述IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;所述目的MAC表项包括软件ARP表项中的目的MAC地址和出接口;所述方法包括:
获取接收到的报文中的目的IP;
在芯片HOST表中查询与所述目的IP匹配的HOST表项;
当在所述芯片HOST表中查询到与所述报文目的IP匹配的HOST表项时,根据所述HOST表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
可选的,还包括:
在所述芯片HOST表中未查询到与所述报文目的IP匹配的HOST表项时,则查询芯片ROUTE表;其中,所述ROUTE表中的ROUTE表项包括IP网段,以及与路由下一跳IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;
当在所述芯片ROUTE表中查询到与所述报文目的IP匹配的ROUTE表项时,根据所述芯片ROUTE表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
可选的,还包括:
当在所述芯片ROUTE表中未查询到与所述报文目的IP匹配的ROUTE表项时,则丢弃所述报文。
可选的,所述芯片MAC表,还包括:与上送CPU的报文处理动作对应的第一策略表项;
当在所述芯片HOST表中未查询到与所述报文目的IP匹配的HOST表项时,根据所述第一策略表项上送所述报文到CPU;
可选的,所述芯片MAC表,还包括:与丢弃报文的报文处理动作对应的第二策略表项;
当在所述芯片MAC表中未查询到对应的目的MAC地址时,根据所述第二策略表项丢弃所述报文。
本说明书还提出一种报文转发的装置,该装置应用于网络设备;所述网络设备的转发芯片维护芯片HOST表和芯片MAC表;所述芯片HOST表中的HOST表项包括IP地址,以及与所述IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;所述目的MAC表项包括软件ARP表项中的目的MAC地址和出接口;所述装置包括:
接收单元,用于获取接收到的报文中的目的IP;
查询单元,用于在芯片HOST表中查询与所述目的IP匹配的HOST表项;
转发单元,用于当在所述芯片HOST表中查询到与所述报文目的IP匹配的HOST表项时,根据所述HOST表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
可选的,还包括:
查询子单元,用于在所述芯片HOST表中未查询到与所述报文目的IP匹配的HOST表项时,则查询芯片ROUTE表;其中,所述ROUTE表中的ROUTE表项包括IP网段,以及与路由下一跳IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;
转发子单元,用于当在所述芯片ROUTE表中查询到与所述报文目的IP匹配的ROUTE表项时,根据所述芯片ROUTE表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
可选的,还包括:
丢弃单元,用于在所述芯片ROUTE表中未查找到与所述报文目的IP匹配的表项时,丢弃所述报文。
可选的,还包括:
第一策略执行单元,用于执行上送CPU的报文处理动作,当在所述芯片HOST表中未查询到与所述报文目的IP匹配的HOST表项时,根据所述第一策略表项上送所述报文到CPU。
可选的,还包括:
第二策略执行单元,用于执行丢弃报文的处理动作,当在所述芯片MAC表中未查询到对应的目的MAC地址时,根据所述第二策略表项丢弃所述报文。
通过以上技术方案,通过取消转发芯片中维护的原有的芯片ARP表,并在芯片HOST表项中添加指向芯片MAC表中,包含原有的芯片ARP表项中的目的MAC地址和出接口的目的MAC表项的索引值,就可以复用芯片MAC表来替代原有的芯片ARP表,将原有的芯片ARP表项占用的存储资源,重新分配给转发芯片中维护的芯片HOST表,从而可以充分利用转发芯片有限的存储资源,提高转发芯片的转发效率。
而且,将原有的芯片ARP表项占用的存储资源,重新分配给转发芯片中维护的芯片HOST表,可以增加芯片HOST表的规格。而芯片HOST表的规格的增加,可以降低由于芯片HOST表中的表项达到上限后上送CPU进行处理的数据报文的数量,从而,可以有效的降低CPU的负荷,增强CPU稳定性。
附图说明
图1是一示例性实施例提供的一种报文转发方法的流程图;
图2是一示例性实施例提供的另一种报文转发方法的流程图;
图3是一示例性实施例提供的一种报文转发方法的示意图;
图4是一示例性实施例提供的另一种报文转发方法的示意图;
图5是一示例性实施例提供的一种报文转发装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书中和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书中可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
在相关技术中,由于业务扩展或者业务规划,使得一台交换机对三层转发流量具有较高的转发要求是一种普遍现象。因此,为加快三层数据转发的性能,交换机的接口或者板卡上内置的转发芯片,都会维护诸如ROUTE表、HOST表和ARP表等三层转发表。而这些三层转发表,通常是由CPU统一控制进行增加、删除以及修改等操作。
在实现时,CPU可以通过接收ARP协议或三层及以上转发的流量,来触发ARP学习。当学到软件ARP表项后,CPU可以将学习到的软件ARP表项依次下发到交换机的各个接口或者板卡内置的转发芯片进行存储。
其中,为了使学到目的IP与目的MAC地址对应关系的流量和未学到该对应关系的流量,都能够进行查表转发,在将学习到的软件ARP表在转发芯片中进行存储时,通常采用的是将目的IP与目的MAC地址及出接口分离的方式,将软件ARP表拆分为芯片HOST表和芯片ARP表在转发芯片中进行存储。
其中,软件ARP表包含了目的IP、目的MAC地址及出接口的对应关系,而芯片HOST表包含了软件ARP表中的目的IP和指向芯片ARP表中的芯片ARP表项的下一跳,芯片ARP表则包含了软件ARP表中的目的MAC地址和出接口。另外,转发芯片中存储的芯片ROUTE表项的下一跳,通常指向芯片ARP表中的芯片ARP表项。
当收到三层及以上的IP数据报文时,获取该报文中的目的IP,可以先查询转发芯片中维护的HOST表,在该HOST表中查询与该数据报文的目标IP匹配的HOST表项。如果查询到与该数据报文的目标IP匹配的HOST表项,则查询的该HOST表项中的下一跳指向的芯片ARP表项,根据该芯片ARP表项中的目的MAC地址和出接口转发该数据报文。
然而,在实际应用中,交换机的接口或者板卡上内置的转发芯片,其搭载的存储资源都有限,其能维护的诸如芯片HOST表和芯片ARP表等三层转发表的规格,通常是也有限的,比如,对于上述的三层转发表中的任一转发表中能够容纳的表项的数量都有一定的上限。
CPU向转发芯片下发学习到的软件ARP表项下发到转发芯片时,当转发芯片中的芯片HOST表和芯片ARP表达到最大的规格时,CPU通常就不再向转发芯片下发学习到的软件ARP表。因此,这就导致了由于转发芯片维护的诸如芯片HOST表和芯片ARP表的规格有限,CPU无法将学习到的所有ARP表项全部下发到转发芯片进行维护。而交换机在按照以上描述的查表转发方法,转发IP数据报文时,一旦在诸如芯片HOST表中未查询到匹配的HOST表项,通常会将该数据报文上送给CPU进行处理。
而上送CPU进行处理的数据报文数量过多时,会增加CPU的负担。CPU主要作用是处理用户其他配置任务以及保证本设备功能正常运行,当大量数据报文进入CPU后会使得其他任务处理产生延迟,甚至导致设备卡住,影响设备稳定性。
而且,有时为了提升CPU的稳定性,对于上送给CPU进行处理的数据报文,通常会进行限速处理,这显然会降低了设备的转发性能。
可见,当交换机的接口或者板卡上内置的转发芯片搭载的存储资源有限时,会直接影响到CPU的稳定性和交换机的转发效率。
有鉴于此,本说明书提出一种通过复用转发芯片中维护的芯片MAC表来替代原有的芯片ARP表,来增加芯片HOST表的规格,提升CPU的稳定性和交换机的转发效率的技术方案。
在实现时,可以利用软件ARP表拆分出的芯片ARP表所存储的MAC地址和出接口信息,同样存储于芯片MAC表内的特点,交换机在对CPU下发的软件ARP表拆分成芯片HOST表和芯片ARP表时,可以取消芯片ARP表,并在芯片HOST表中的HOST表项中,添加指向芯片MAC表中,包含原有的芯片ARP表项中的目的MAC地址和出接口的目的MAC表项的索引值。
当接收到报文时,可以获取接收到的报文中的目的IP,并在芯片HOST表中查询与该目的IP匹配的HOST表项。当在所述芯片HOST表中查询到与该报文目的IP匹配的HOST表项时,可以根据该HOST表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于该目的MAC表项中的目的MAC地址和出接口转发该报文。
在以上技术方案中,通过取消转发芯片中维护的原有的芯片ARP表,并在芯片HOST表项中添加指向芯片.MAC表中,包含原有的芯片ARP表项中的目的MAC地址和出接口的目的MAC表项的索引值,可以复用芯片MAC表来替代原有的芯片ARP表,将原有的芯片ARP表项占用的存储资源,重新分配给转发芯片中维护的芯片HOST表,从而可以充分利用转发芯片有限的存储资源,提高存储资源有限的转发芯片的转发效率。
而且,将原有的芯片ARP表项占用的存储资源,重新分配给转发芯片中维护的芯片HOST表,可以增加芯片HOST表的规格。而芯片HOST表的规格的增加,可以降低由于芯片HOST表中的表项达到上限后上送CPU进行处理的数据报文的数量,从而,可以有效的降低CPU的负荷,增强CPU稳定性。
接下来对本说明书实施例进行详细说明。
如图1所示,图1是本说明书根据一示例性实施例示出的一种方法的流程图,本方法应用于网络设备,所述网络设备的转发芯片维护维护芯片HOST表和芯片MAC表;所述芯片HOST表中的HOST表项包括IP地址,以及与所述IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;所述目的MAC表项包括软件ARP表项中的目的MAC地址和出接口;所述方法包括:
步骤101,获取接收到的报文中的目的IP;
步骤102,在芯片HOST表中查询与所述目的IP匹配的HOST表项;
步骤103,当在所述芯片HOST表中查询到与所述报文目的IP匹配的HOST表项时,根据所述HOST表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
在本实施例中,取消了原有的芯片ARP表,将原有的芯片ARP表占用的存储资源分配给芯片HOST表,以此增加芯片HOST表的规格。而原有的芯片ARP表项中的目的MAC地址与出接口,与芯片MAC表本身包含的目的MAC地址和出接口相同,故而可以修改芯片MAC表以实现芯片MAC表的复用。除修改芯片MAC表外,还需修改芯片HOST表和芯片ROUTE表,使原本指向芯片ARP表的索引的HOST表项和ROUTE表项指向修改后的芯片MAC表的索引。
在本实施例中,CPU下发的软件ARP表包含了目的IP与目的MAC地址与出接口的对应关系,芯片HOST表存储有与软件ARP表中相同的IP地址,以及与IP地址对应的指向芯片MAC表中的目的MAC表项的索引值,芯片MAC表本身包含了与软件ARP表中相同的目的MAC地址和出接口,因而可以通过修改芯片MAC表实现与原本要拆分出的芯片ARP表相同的功能,在芯片MAC表上增加索引值,对应芯片HOST表的下一跳以及芯片ROUTE表的路由下一跳。转发芯片无需再维护芯片ARP表,取消的芯片ARP表的资源可以与原本要拆分出的芯片HOST表整合为新的一张HOST表,新的HOST表与原本要拆分出的芯片HOST表存储内容一致,但增加了一张原本要拆分出的芯片ARP表的规格,通过芯片转发表的资源整合复用,提升了HOST表的规格,提升了转发能力。
当CPU通过接收ARP协议报文或三层及以上转发流量触发ARP学习,学到对端ARP表项后,将包含目的IP、出接口与MAC地址对应关系的软件ARP表下发到芯片,当表项达到芯片的规格后则不再下发。网络设备的转发芯片维护芯片HOST表和芯片MAC表,其中芯片HOST表项包括包括IP地址,以及与IP地址对应的指向芯片MAC表中的目的MAC表项的索引值,芯片MAC表中的目的MAC表项包括软件ARP表项中的目的MAC地址和出接口。
在示出的一种实施方式中,当网络设备获取接收到的报文中的目的IP之后,先查询芯片HOST表,找到与报文目的IP匹配的HOST表项时,根据HOST表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于目的MAC表项中的目的MAC地址和出接口将该报文转发至正确的目的地。
在示出的一种实施方式中,为使新的芯片MAC地址表能够替代原芯片ARP表的同时还能保证转发流量不受影响,在芯片MAC地址表中存储有两条策略表项代替原芯片ARP表的上CPU和丢包策略。其中,第一策略表项对应上送CPU的报文处理动作,当在芯片HOST表中未查询到与报文目的IP匹配的HOST表项时,根据第一策略表项上送所述报文到CPU,例如,转发芯片没有学到所述软件ARP表时,采用上送CPU的策略;第二策略表项对应丢弃报文的报文处理动作,当在芯片MAC表中没有查询到对应的目的MAC地址时,根据芯片MAC表中指向黑洞的表项丢弃所述报文,例如,目的MAC地址未知或发生错误时,采用丢包的策略。
进一步的,上送CPU和丢包的策略表项可以放在芯片MAC表的开头,便于提高在执行该策略时的查找效率,本申请对此不做限定。
在示出的一种实施方式中,为了使芯片HOST表和芯片ROUTE表在取消了ARP表的情况下,仍能找到正确的下一跳,在复用的芯片MAC地址表中新增芯片MAC表项索引,可以通过在MAC表里扩展一个字段作为这个表项索引,该字段可以是序号的形式,也可以是字母的形式,本领域技术人员可以根据需要自行更换。当上述两张表查询到与报文目的IP匹配的表项时,通过HOST表项的下一跳和ROUTE表项的路由下一跳对应的芯片MAC表项索引值,从而正确跳转至芯片MAC地址表,进而查询目的MAC地址和出接口信息,进行相应的跳转动作将报文转发至正确的目的地。
在本实施例中,通过修改芯片MAC地址表,将原芯片ARP表内两条特殊功能的策略表项添加至芯片MAC地址表,实现原芯片ARP表的上CPU和丢包策略,还通过新增一个字段作为芯片MAC表项索引,与芯片HOST表项的下一跳和芯片ROUTE表项的路由下一跳对应,从而达到复用的效果,充分利用了有限的资源,实现了原芯片ARP表的功能。通过利用现有芯片MAC地址表与芯片ARP表数据的一致性复用两张表,将原芯片ARP表的资源重新分配给芯片HOST表,提升了HOST表的规格,提高了设备的转发效率,减小了CPU的负荷,增强了CPU的稳定性。
如图2所示,在本说明书实施例的另一种具体实施方式中,当在所述芯片HOST表中未查找到与所述报文目的IP匹配的表项时,包括以下步骤:
步骤201,查询芯片ROUTE表;其中,所述ROUTE表中的ROUTE表项包括IP网段,以及与路由下一跳IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;
步骤202,当在所述芯片ROUTE表中查询到与所述报文目的IP匹配的ROUTE表项时,根据所述芯片ROUTE表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
在本实施例中,芯片转发表在资源复用后为芯片HOST表、芯片ROUTE表、芯片MAC地址表,当报文在芯片HOST表中未查询到符合报文转发的表项,则转而查询芯片ROUTE表。如果在芯片ROUTE表项中查到与报文目的IP一致的表项后,根据所述芯片ROUTE表项的目的MAC表项的索引值,跳转至芯片MAC地址表中查询出接口以及目的MAC地址,进行将该报文转发至正确的目的地。
在示出的一种实施方式中,如果在芯片ROUTE表项中未查找到与所述报文目的IP匹配的表项时,则丢弃该报文,并返回不可达的信息。
为了更好的理解本说明书中转发芯片维护的各表项之间的关系,如图3所示,图3为一示例性实施例提供的一种报文转发方法的示意图。转发芯片维护了芯片HOST表、芯片ROUTE表和芯片MAC表。其中,芯片HOST表项的下一跳和芯片ROUTE表项的路由下一跳指向芯片MAC表项索引,芯片MAC表中包括目的MAC地址和出接口以及两条策略表项,一条对应上送CPU的报文处理动作,一条对应丢弃报文的报文处理动作。
在本实施例中,当转发芯片接收报文时,先获取报文中的目的IP,查询芯片HOST表中是否有匹配的HOST表项,若命中HOST表项,则根据所述HOST表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于目的MAC表项中的目的MAC地址和出接口转发所述报文。
在示出的一种实施方式中,若未命中HOST表项,则查询ROUTE表项,若命中ROUTE表项,则根据所述芯片ROUTE表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于目的MAC表项中的目的MAC地址和出接口转发所述报文。
在示出的一种实施方式中,若未命中ROUTE表项,则丢弃报文。
在示出的一种实施方式中,在跳转到芯片MAC表时,若命中第一策略表项,则执行对应的将报文上送CPU的报文处理动作;若命中第二策略表项,则执行对应的丢弃报文的报文处理动作。
为更好的理解本说明书,如图4所示,图4为一示例性实施例提供的另一种报文转发方法的示意图。主机1和主机2与交换机1连接,主机3与交换机2连接。交换机1学到软件ARP表项,包括目的IP、目的MAC地址和出接口的对应关系,在现有技术中,软件ARP表拆分为芯片HOST表和芯片ARP表,如表1所示,芯片HOST表项的下一跳指向芯片ARP表。在本说明书中,利用芯片ARP表中存储的目的MAC地址和出接口同样存在于芯片MAC表中,在CPU下发软件ARP表时,取消了芯片ARP表,转发芯片维护了芯片HOST表,该芯片HOST表的存储内容与原HOST表内容一致,但多了一张芯片ARP表的规格,芯片HOST表项的下一跳改为指向转发芯片维护的芯片MAC表中的目的MAC表项,即芯片HOST表项的下一跳为与该IP地址对应的指向芯片MAC表中的目的MAC表项的索引值,如表2所示。
Figure BDA0002824749520000121
表1
Figure BDA0002824749520000122
表2
在本实施例中,当交换机1收到来自交换机2的请求报文,假设交换机1获取到报文中的目的IP为192.168.1.1,查询芯片HOST表中是否有与目的IP匹配的HOST表项,如果有,则根据HOST表项的目的MAC表项的索引值为1,跳转至目的MAC表项,查找到目的MAC表项中对应的目的MAC地址为00:00:00:aa:aa:aa,出接口为f0/1,交换机1根据该目的MAC地址将报文从f0/1出接口转发至pc1。
当目的IP为192.168.1.3时,在芯片HOST表无法查询到匹配的表项时,则查询芯片ROUTE表,如果芯片ROUTE表中可以查询到与目的IP匹配的路由表项,说明目的IP在自己的直连网段,则根据ROUTE表项的路由下一跳对应的指向芯片MAC表中的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,转发报文到相应接口。如果在芯片ROUTE表中没查询到匹配的表项,则丢弃该报文。
在示出的一种实施方式中,为使芯片MAC表代替原芯片ARP表的同时,不影响原有的功能,在芯片MAC表中新增一个字段作为芯片MAC表项索引,这个字段对应芯片HOST表项的下一跳及芯片ROUTE表项的路由下一跳,使这两张表从原来跳转至芯片ARP表变为指向芯片MAC表,从而找到对应的表项并进行相应的跳转动作。此外,该字段可以是序号,如表2所示,也可以根据本领域技术人员的需要自定义修改,本说明书对此不做限定。
在示出的一种实施方式中,为实现原芯片ARP表的上CPU和丢包策略,在芯片MAC表中新增两条原ARP表内特殊功能的策略表项,一条对应上送CPU的报文处理动作,一条对应丢弃报文的报文处理动作。例如,当交换机1中的pc1请求的目的IP为192.168.2.1时,若交换机1还没学到pc3的MAC地址时,需要上送CPU进行广播。当目的MAC超时或发生未知错误时,则送到黑洞进行丢包处理。此外,这两条表项如果添加在芯片MAC表的开头,可以提高查找效率,本说明书对此不做限定。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其他顺序或者同时进行。
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本说明书所必须的。
与前述报文转发方法的实施例相对应,本说明书还提供了报文转发装置的实施例。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
如图5示,图5是本说明书根据一示例性实施例示出的一种报文转发装置的框图,该装置应用于网络设备;所述网络设备的转发芯片维护芯片HOST表和芯片MAC表;所述芯片HOST表中的HOST表项包括IP地址,以及与所述IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;所述目的MAC表项包括软件ARP表项中的目的MAC地址和出接口;所述装置包括:
接收单元501,用于获取接收到的报文中的目的IP;
查询单元502,用于在芯片HOST表中查询与所述目的IP匹配的HOST表项;
转发单元503,用于当在所述芯片HOST表中查询到与所述报文目的IP匹配的HOST表项时,根据所述HOST表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
在本说明书中,所述装置还包括:
查询子单元,用于在所述芯片HOST表中未查询到与所述报文目的IP匹配的HOST表项时,则查询芯片ROUTE表;其中,所述ROUTE表中的ROUTE表项包括IP网段,以及与路由下一跳IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;
转发子单元,用于当在所述芯片ROUTE表中查询到与所述报文目的IP匹配的ROUTE表项时,根据所述芯片ROUTE表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
进一步的,所述装置还包括:
丢弃单元,用于在所述芯片ROUTE表中未查找到与所述报文目的IP匹配的表项时,丢弃所述报文。
在本说明书中,所述装置还包括:
第一策略执行单元,用于执行上送CPU的报文处理动作,当在所述芯片HOST表中未查询到与所述报文目的IP匹配的HOST表项时,根据所述第一策略表项上送所述报文到CPU。
第二策略执行单元,用于执行丢弃报文的处理动作,当在所述芯片MAC表中未查询到对应的目的MAC地址时,根据所述第二策略表项丢弃所述报文。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (10)

1.一种报文转发的方法,其特征在于,应用于网络设备;所述网络设备的转发芯片维护了芯片HOST表和芯片MAC表;所述芯片HOST表中的HOST表项包括IP地址,以及与所述IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;所述目的MAC表项包括软件ARP表项中的目的MAC地址和出接口;所述方法包括:
获取接收到的报文中的目的IP;
在芯片HOST表中查询与所述目的IP匹配的HOST表项;
当在所述芯片HOST表中查询到与所述报文目的IP匹配的HOST表项时,根据所述HOST表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述芯片HOST表中未查询到与所述报文目的IP匹配的HOST表项时,则查询芯片ROUTE表;其中,所述ROUTE表中的ROUTE表项包括IP网段,以及与路由下一跳IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;
当在所述芯片ROUTE表中查询到与所述报文目的IP匹配的ROUTE表项时,根据所述芯片ROUTE表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当在所述芯片ROUTE表中未查询到与所述报文目的IP匹配的ROUTE表项时,则丢弃所述报文。
4.根据权利要求1所述的方法,其特征在于,所述芯片MAC表,还包括:与上送CPU的报文处理动作对应的第一策略表项;
所述方法还包括:
当在所述芯片HOST表中未查询到与所述报文目的IP匹配的HOST表项时,根据所述第一策略表项上送所述报文到CPU。
5.根据权利要求1所述的方法,其特征在于,所述芯片MAC表,还包括:与丢弃报文的报文处理动作对应的第二策略表项;
所述方法还包括:
当在所述芯片MAC表中未查询到对应的目的MAC地址时,根据所述第二策略表项丢弃所述报文。
6.一种报文转发的装置,其特征在于,应用于网络设备;所述网络设备的转发芯片维护芯片HOST表和芯片MAC表;所述芯片HOST表中的HOST表项包括IP地址,以及与所述IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;所述目的MAC表项包括软件ARP表项中的目的MAC地址和出接口;所述装置包括:
接收单元,用于获取接收到的报文中的目的IP;
查询单元,用于在芯片HOST表中查询与所述目的IP匹配的HOST表项;
转发单元,用于当在所述芯片HOST表中查询到与所述报文目的IP匹配的HOST表项时,根据所述HOST表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
查询子单元,用于在所述芯片HOST表中未查询到与所述报文目的IP匹配的HOST表项时,则查询芯片ROUTE表;其中,所述ROUTE表中的ROUTE表项包括IP网段,以及与路由下一跳IP地址对应的指向所述芯片MAC表中的目的MAC表项的索引值;
转发子单元,用于当在所述芯片ROUTE表中查询到与所述报文目的IP匹配的ROUTE表项时,根据所述芯片ROUTE表项的目的MAC表项的索引值,跳转至芯片MAC表中对应的目的MAC表项,并基于所述目的MAC表项中的目的MAC地址和出接口转发所述报文。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
丢弃单元,用于在所述芯片ROUTE表中未查找到与所述报文目的IP匹配的表项时,丢弃所述报文。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一策略执行单元,用于执行上送CPU的报文处理动作,当在所述芯片HOST表中未查询到与所述报文目的IP匹配的HOST表项时,根据所述第一策略表项上送所述报文到CPU。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二策略执行单元,用于执行丢弃报文的处理动作,当在所述芯片MAC表中未查询到对应的目的MAC地址时,根据所述第二策略表项丢弃所述报文。
CN202011447205.6A 2020-12-08 2020-12-08 一种报文转发的方法及装置 Active CN112600951B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011447205.6A CN112600951B (zh) 2020-12-08 2020-12-08 一种报文转发的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011447205.6A CN112600951B (zh) 2020-12-08 2020-12-08 一种报文转发的方法及装置

Publications (2)

Publication Number Publication Date
CN112600951A true CN112600951A (zh) 2021-04-02
CN112600951B CN112600951B (zh) 2022-07-29

Family

ID=75191920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011447205.6A Active CN112600951B (zh) 2020-12-08 2020-12-08 一种报文转发的方法及装置

Country Status (1)

Country Link
CN (1) CN112600951B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438301A (zh) * 2021-06-22 2021-09-24 北京百度网讯科技有限公司 网络负载均衡器、请求消息分配方法、程序产品及系统
CN113630345A (zh) * 2021-09-07 2021-11-09 天津津航计算技术研究所 一种国产化24端口6u_vpx三层千兆网络交换模块

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013020501A1 (zh) * 2011-08-08 2013-02-14 华为技术有限公司 一种arp请求报文验证方法及装置
CN103107934A (zh) * 2013-01-25 2013-05-15 杭州华三通信技术有限公司 一种报文处理控制方法及装置
CN104079478A (zh) * 2013-03-25 2014-10-01 杭州华三通信技术有限公司 报文转发方法和装置
CN104219340A (zh) * 2014-09-25 2014-12-17 杭州华三通信技术有限公司 一种arp应答代理方法以及装置
CN108206782A (zh) * 2017-11-22 2018-06-26 盛科网络(苏州)有限公司 报文转发方法、装置、芯片及服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013020501A1 (zh) * 2011-08-08 2013-02-14 华为技术有限公司 一种arp请求报文验证方法及装置
CN103107934A (zh) * 2013-01-25 2013-05-15 杭州华三通信技术有限公司 一种报文处理控制方法及装置
CN104079478A (zh) * 2013-03-25 2014-10-01 杭州华三通信技术有限公司 报文转发方法和装置
CN104219340A (zh) * 2014-09-25 2014-12-17 杭州华三通信技术有限公司 一种arp应答代理方法以及装置
CN108206782A (zh) * 2017-11-22 2018-06-26 盛科网络(苏州)有限公司 报文转发方法、装置、芯片及服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438301A (zh) * 2021-06-22 2021-09-24 北京百度网讯科技有限公司 网络负载均衡器、请求消息分配方法、程序产品及系统
CN113630345A (zh) * 2021-09-07 2021-11-09 天津津航计算技术研究所 一种国产化24端口6u_vpx三层千兆网络交换模块

Also Published As

Publication number Publication date
CN112600951B (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
CN102763380B (zh) 用于路由分组的系统和方法
CN102771094B (zh) 分布式路由架构
CN102792649B (zh) 链路状态控制的二层网络的服务优先级排序
CN112600951B (zh) 一种报文转发的方法及装置
CN107547391B (zh) 一种报文传输方法和装置
CN102035735A (zh) 用于提供转发信息和服务质量信息的设备和方法
US9929954B2 (en) Hash-based overlay routing architecture for information centric networks
CN108259293B (zh) 一种报文转发方法及装置
US7417969B2 (en) Path control device and path control method
CN110784407B (zh) 接口配置方法、数据传输方法、装置及电子设备
CN102845033B (zh) 用于在分组转发装置中针对每个模块在因特网协议切换模式之间进行自动选择的方法、系统以及计算机可读介质
US20150146525A1 (en) Transfer apparatus, server, and route changing method
CN107070790B (zh) 一种路由学习方法及路由设备
CN108494619B (zh) 流量统计方法、装置及提供商路由器
CN103546375B (zh) 内容路由方法及装置
CN110518958B (zh) 一种适用于卫星通信系统跳波束的交换和分组调度方法
CN101710864A (zh) 一种多网口Linux服务器的配置方法及装置
US20130166775A1 (en) Load balancing apparatus and load balancing method
CN106685821B (zh) 一种多路径选择方法及设备
CN107070797B (zh) 一种报文转发的方法及系统
CN106209634B (zh) 地址映射关系的学习方法及装置
CN105812495A (zh) 报文转发方法及设备
CN109510766B (zh) 一种智能终端多网络连接环境下的动态路由方法及系统
CN111464443A (zh) 基于服务功能链的报文转发方法、装置、设备及存储介质
CN101577660B (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