CN112511440A - 报文转发方法、系统、存储介质和电子设备 - Google Patents

报文转发方法、系统、存储介质和电子设备 Download PDF

Info

Publication number
CN112511440A
CN112511440A CN202011378878.0A CN202011378878A CN112511440A CN 112511440 A CN112511440 A CN 112511440A CN 202011378878 A CN202011378878 A CN 202011378878A CN 112511440 A CN112511440 A CN 112511440A
Authority
CN
China
Prior art keywords
message
arp
forwarding
forwarded
cam 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.)
Granted
Application number
CN202011378878.0A
Other languages
English (en)
Other versions
CN112511440B (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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN202011378878.0A priority Critical patent/CN112511440B/zh
Publication of CN112511440A publication Critical patent/CN112511440A/zh
Application granted granted Critical
Publication of CN112511440B publication Critical patent/CN112511440B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本公开涉及一种报文转发方法、系统、存储介质和电子设备,方法应用于报文转发系统,报文转发系统包括多个转发核,方法包括:配置核在接收到ARP报文的情况下,根据ARP报文在CAM表中配置与ARP报文对应的CAM表项,ARP报文包括ARP请求报文和ARP应答报文,配置核为多个转发核中的一者转发核在接收到非ARP的待转发报文的情况下,根据待转发报文的MAC地址查询所述CAM表;在查询到与所述MAC地址对应的目标CAM表项的情况下,基于所述目标CAM表项对所述待转发报文进行转发。由此在配置CAM表项时,只需要根据ARP报文进行配置即可,可以在提高CAM表学习的效率的同时,保证CAM表的准确性。

Description

报文转发方法、系统、存储介质和电子设备
技术领域
本公开涉及互联网技术领域,具体地,涉及一种报文转发方法、系统、存储介质和电子设备。
背景技术
CAM表是由MAC(Media Access Control)地址、Vlan、二层设备组成的地址表,其中记录了MAC地址、出口端口号和出口端口所属Vlan的对应关系,是一个全局的表格。在进行报文转发时,需要查询该CAM表以确定二层出口设备。因此,在报文转发的过程中,通常需要针对接收到的每一报文或者是配置消息确定是否需要更新CAM表,以对CAM表及时更新,保证该CAM表的实时准确性。然而通过上述方式,在报文转发过程中的对CAM表的操作会严重影响报文转发的效率。
发明内容
本公开的目的是提供一种高效率的报文转发方法、系统、存储介质和电子设备。
为了实现上述目的,根据本公开的第一方面,提供一种报文转发方法,应用于报文转发系统,所述报文转发系统包括多个转发核,所述方法包括:
配置核在接收到ARP报文的情况下,根据所述ARP报文在CAM表中配置与所述ARP报文对应的CAM表项,其中,所述ARP报文包括ARP请求报文和ARP应答报文,所述配置核为所述多个转发核中的一者;
所述转发核在接收到非ARP的待转发报文的情况下,根据所述待转发报文的MAC地址查询所述CAM表;
在查询到与所述MAC地址对应的目标CAM表项的情况下,基于所述目标CAM表项对所述待转发报文进行转发。
可选地,所述方法还包括:
在未查询到与所述MAC地址对应的目标CAM表项的情况下,向所述待转发报文的IP地址对应的交互端发送ARP请求,以由所述交互端响应于所述ARP请求回复ARP应答报文。
可选地,所述向所述待转发报文的IP地址对应的交互端发送ARP请求,包括:
查询IP表中是否存在所述待转发报文的IP地址;
在所述IP表中不存在所述待转发报文的IP地址的情况下,将所述待转发报文的IP地址添加至所述IP表,并向所述待转发报文的IP地址对应的交互端发送所述ARP请求。
可选地,在所述配置核根据所述ARP报文在CAM表中配置与所述ARP报文对应的CAM表项之后,所述方法还包括:
在所述ARP报文为ARP应答报文的情况下,确定所述IP表中是否存在所述ARP应答报文的IP地址;
在所述IP表中存在所述ARP应答报文的IP地址的情况下,从所述IP表中删除所述ARP应答报文的IP地址。
可选地,所述方法还包括:
网卡根据接收到的报文的首部确定所述报文的类型;
在所述报文的类型为ARP的情况下,将所述报文分发至所述配置核;
在所述报文的类型不是ARP的情况下,将所述报文分发至所述转发核。
可选地,在转发核基于所述目标CAM表项对所述待转发报文进行转发之后,所述方法还包括:
所述转发核根据所述待转发报文的时间信息对所述目标CAM表项对应的使用时间信息进行更新。
可选地,所述方法还包括:
在所述CAM表项对应的未使用时长达到所述CAM表项对应的超时时长的情况下,所述配置核从所述CAM表中删除该CAM表项,其中,基于所述ARP报文配置的CAM表项的超时时长大于基于所述ARP报文配置的ARP表项的超时时长。
根据本公开的第二方面,提供一种报文转发系统,所述报文转发系统包括多个转发核,所述多个转发核中的一者为配置核;
所述配置核用于在接收到ARP报文的情况下,根据所述ARP报文在CAM表中配置与所述ARP报文对应的CAM表项,其中,所述ARP报文包括ARP请求报文和ARP应答报文,所述配置核为所述多个转发核中的一者;
所述转发核用于在接收到非ARP的待转发报文的情况下,根据所述待转发报文的MAC地址查询所述CAM表;
所述转发核用于在查询到与所述MAC地址对应的目标CAM表项的情况下,基于所述目标CAM表项对所述待转发报文进行转发。
可选地,所述转发核还用于:
在未查询到与所述MAC地址对应的目标CAM表项的情况下,向所述待转发报文的IP地址对应的交互端发送ARP请求,以由所述交互端响应于所述ARP请求回复ARP应答报文。
可选地,所述转发核还用于:
查询IP表中是否存在所述待转发报文的IP地址;
在所述IP表中不存在所述待转发报文的IP地址的情况下,将所述待转发报文的IP地址添加至所述IP表,并向所述待转发报文的IP地址对应的交互端发送所述ARP请求。
可选地,所述配置核还用于:
在所述ARP报文为ARP应答报文的情况下,确定所述IP表中是否存在所述ARP应答报文的IP地址;
在所述IP表中存在所述ARP应答报文的IP地址的情况下,从所述IP表中删除所述ARP应答报文的IP地址。
可选地,所述系统还包括网卡,
所述网卡用于根据接收到的报文的首部确定所述报文的类型;在所述报文的类型为ARP的情况下,将所述报文分发至所述配置核;在所述报文的类型不是ARP的情况下,将所述报文分发至所述转发核。
可选地,所述转发核还用于根据所述待转发报文的时间信息对所述目标CAM表项对应的使用时间信息进行更新。
可选地,所述配置核还用于在所述CAM表项对应的未使用时长达到所述CAM表项对应的超时时长的情况下,从所述CAM表中删除该CAM表项,其中,基于所述ARP报文配置的CAM表项的超时时长大于基于所述ARP报文配置的ARP表项的超时时长。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面任一项所述方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。
在上述技术方案中,将多个转发核中的一者作为配置核,配置核在接收到ARP报文的情况下,根据所述ARP报文在CAM表中配置与所述ARP报文对应的CAM表项,之后转发核在进行报文转发时,在接收到非ARP的待转发报文的情况下,可以根据待转发报文的MAC地址查询所述CAM表,并在查询到与所述MAC地址对应的目标CAM表项的情况下,基于所述目标CAM表项对所述待转发报文进行转发。由此,通过上述技术方案,CAM表中新建CAM表项时,可以只由配置核进行处理,而除该配置核之外的转发核只需要对该CAM表进行读操作,从而可以有效提高转发核进行报文转发的并发性,从而提高报文转发的效率。同时,在本公开实施例中,在配置CAM表项时,无需针对接收到的每一报文进行学习,只需要根据ARP报文进行配置即可,从而可以有效降低配置CAM表项对应的报文数据处理量,提高CAM表学习的效率的同时,保证CAM表的准确性,保证报文转发的准确性和安全性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开的一种实施方式提供的报文转发方法的流程图。
图2是根据一示例性实施例示出的一种电子设备的框图。
图3是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1所示,为根据本公开的一种实施方式提供的报文转发方法的流程图,该方法可以应用于报文转发系统,该报文转发系统可以基于异构平台实现,所述报文转发系统可以包括多个转发核,其中,该转发核运行于用户态。图1所示,所述方法包括:
在步骤11中,配置核在接收到ARP报文的情况下,根据ARP报文在CAM表中配置与ARP报文对应的CAM表项,其中,所述ARP(Address Resolution Protocol,地址解析协议)报文包括ARP请求报文和ARP应答报文,所述配置核为所述多个转发核中的一者。
其中,在通信双方主机A和B进行IP报文交互之前,其需要通过ARP报文学习ARP表,以确定通信对方的MAC地址。示例地,主机A向主机B发送数据,若主机A没有主机B的MAC地址,主机A可以发送一个ARP请求报文,该ARP请求报文对应的目标IP地址即为主机B的IP地址,通过对该ARP请求报文进行广播,在主机B接收到该ARP请求报文时确定对应的IP地址为其自身的IP地址,可以将主机A的IP地址和MAC地址的对应关系记录到主机B的ARP表中,同时会发送一个ARP应答报文,其中包括主机B的MAC地址。
基于此,在本公开中,可以基于该ARP报文进行CAM表的学习,即在接收到ARP报文时,可以根据该ARP报文在CAM表中配置与所述ARP报文对应的CAM表项。CAM表中可以配置有多个CAM表项,每一条CAM表项中可以记录MAC地址、出口端口号和出口端口所属Vlan之间的对应关系,例如CAM表项1{MAC1,port1,Vlan1},CAM表项2{MAC2,port2,Vlan2}。示例地,可以根据ARP报文对应的MAC地址和接收该ARP报文的端口号以及该端口所属Vlan配置对应的CAM表项。如上文所述,接收ARP应答报文的端口为portB,其对应的MAC地址为MAC B,端口portB所属的Vlan为VlanB,则可以根据该ARP应答报文配置CAM表项{MAC B,portB,VlanB}。通常情况下,通信双方通过ARP报文交互同步通信双方的MAC地址,并在后续IP报文交互的过程中可以直接在IP报文的首部字段中使用对应的MAC地址,以实现IP报文的交互。因此,在本公开中,可以只根据ARP报文配置CAM表项,而针对于交互过程中的其他IP报文,无需进行CAM表的配置,即无需针对每一报文进行CAM表的学习,提高CAM表的学习效率。
在步骤12中,转发核在接收到非ARP的待转发报文的情况下,根据待转发报文的MAC地址查询CAM表。其中,所述CAM表可以由任一转发核进行读操作,从而可以使得多个转发核可以基于该CAM表并发进行报文转发,同时在该步骤中,在报文转发的过程中,针对于接收到的非ARP报文,无需针对此类报文进行CAM表的学习,提高转发核进行报文转发的效率。
在步骤13中,在查询到与MAC地址对应的目标CAM表项的情况下,基于目标CAM表项对待转发报文进行转发。
在该实施例中,在查询到与待转发报文的MAC地址对应的目标CAM表项时,则可以基于该目标CAM表项确定与该MAC地址对应的出口端口,则可以将该待转发报文通过该出口端口进行发出,以到达该MAC地址对应的设备,实现报文的转发。
在上述技术方案中,将多个转发核中的一者作为配置核,配置核在接收到ARP报文的情况下,根据所述ARP报文在CAM表中配置与所述ARP报文对应的CAM表项,之后转发核在进行报文转发时,在接收到非ARP的待转发报文的情况下,可以根据待转发报文的MAC地址查询所述CAM表,并在查询到与所述MAC地址对应的目标CAM表项的情况下,基于所述目标CAM表项对所述待转发报文进行转发。由此,通过上述技术方案,CAM表中新建CAM表项时,可以只由配置核进行处理,而除该配置核之外的转发核只需要对该CAM表进行读操作,从而可以有效提高转发核进行报文转发的并发性,从而提高报文转发的效率。同时,在本公开实施例中,在配置CAM表项时,无需针对接收到的每一报文进行学习,只需要根据ARP报文进行配置即可,从而可以有效降低配置CAM表项对应的报文数据处理量,提高CAM表学习的效率的同时,保证CAM表的准确性,保证报文转发的准确性和安全性。
在一种可能的实施例中,所述方法还可以包括:
网卡根据接收到的报文的首部确定所述报文的类型。
其中,可以根据接收的报文对应的数据帧的首部字段确定该报文的类型,示例地,可以根据数据帧首部中的EtherType字段的值确定该报文的类型,EtherType用来指明应用于帧数据字段的协议,当该字段的值为0x0806时,即表示协议为地址解析协议(ARP,Address Resolution Protocol),该报文的类型即为ARP,其他取值时,报文的类型则不是ARP。
在所述报文的类型为ARP的情况下,将所述报文分发至所述配置核;
在所述报文的类型不是ARP的情况下,将所述报文分发至所述转发核。
示例地,网卡在进行报文分发时,在确定该报文的类型是ARP时,可以将该报文送入配置核对应的队列中,从而将该报文分发至配置核;在确定该报文的类型不是ARP时,可以基于资源均衡的原则以及预设的报文与转发核的对应关系等将该报文送入转发核的队列中,从而将该报文分发至转发核。在该过程中,配置核也可能接收到报文类型不是ARP的报文,其处理方式与其他转发核的处理方式相同,在此不再赘述。
为了提高CAM表的准确性和操作效率,在本公开中只能由配置核基于ARP报文在CAM表中配置对应的CAM表项。因此,通过上述技术方案,网卡可以在接收到报文时根据该报文的首部确定该报文的类型,从而可以在网卡进行报文分发时就直接将ARP报文分发至配置核,而避免出现其他转发核在接收到ARP报文时需要将该ARP报文转发至该配置核的倒核处理开销,提高报文转发的效率。
在实际使用场景中,通常在配置CAM表项时会设置该CAM表项对应的生存时间,示例地,生存时间可以设置为300s,即该CAM表项在配置后达到300s时将会被删除,从而避免系统中维护大量的CAM表项造成的资源占用。基于此,本公开还提供以下实施例,以进一步提高CAM表的使用性能。
在一种可能的实施例中,在转发核基于所述目标CAM表项对所述待转发报文进行转发之后,所述方法还包括:
所述转发核根据所述待转发报文的时间信息对所述目标CAM表项对应的使用时间信息进行更新。
其中,待转发报文的时间信息可以是该待转发报文对应的发送时间信息或者该转发核接收到该待转发报文时对应的接收时间信息。在该实施例中,在该待转发报文转发之后,表示该CAM表项当前被使用,即可以通过该待转发报文的时间信息对该CAM表的使用时间信息进行更新,如将该待转发报文的时间信息作为该CAM表对应的使用时间信息的更新值,从而可以实时记录该CAM表项的使用时间,对于维护该CAM表项的生存时间提供有效的数据支持。
在一种可能的实施例中,所述方法还可以包括:
在所述CAM表项对应的未使用时长达到所述CAM表项对应的超时时长的情况下,所述配置核从所述CAM表中删除该CAM表项。
其中,CAM表项对应的未使用时长可以是当前时间和该CAM表对应的使用时间信息之间的差值,在该差值达到CAM表项对应的超时时长时,表示该CAM表项已经较长时间没有使用了,此时配置核可以从所述CAM表中删除该CAM表项,从而既可以降低需要维护的CAM表项的数量,又可以避免针对使用较多的CAM表项的重复配置,从而可以降低CAM表操作对应的数据处理量,在一定程度上提升报文转发的效率。
可选地,基于所述ARP报文配置的CAM表项的超时时长大于基于所述ARP报文配置的ARP表项的超时时长。示例地,基于所述ARP报文配置的CAM表项的超时时长可以设置为基于所述ARP报文配置的ARP表项的超时时长的2倍。其中,在ARP表项超时删除后,需要重新根据ARP报文配置ARP表项,由此,通过上述技术方案,设置基于ARP报文配置的CAM表项的超时时长大于基于ARP报文配置的ARP表项的超时时长,可以在一定程度上避免由于需要配置CAM表项而向交互端发送ARP请求以获得ARP应答报文的场景,降低报文转发过程中的额外操作,提升报文转发的效率。
如上文所述,在报文转发的过程中,部分CAM表项会由于生存超时而被删除,此时与该CAM表项对应的待转发报文在转发时,则在CAM表中无法查询到对应的目标CAM表项。基于此,本公开还提供以下实施例。
在一种可能的实施例中,所述方法还可以包括:
在未查询到与所述MAC地址对应的目标CAM表项的情况下,向所述待转发报文的IP地址对应的交互端发送ARP请求,以由所述交互端响应于所述ARP请求回复ARP应答报文。
其中,待转发报文的对应的IP地址,即该报文首部中的目的IP地址,也即接收该待转发报文的设备的IP地址。在该实施例中,在未查询到与所述MAC地址对应的目标CAM表项的情况下,则表示此时需要配置与该MAC地址对应的CAM表项,因此,可以向所述待转发报文的IP地址对应的交互端发送ARP请求,以由所述交互端响应于所述ARP请求回复ARP应答报文。由此,在该交互端响应于该ARP请求发送ARP应答报文的情况下,配置核可以接收到该ARP应答报文,从而可以基于该ARP应答报文配置该MAC地址对应的CAM表项,之后则可以基于该CAM表项实现该报文的转发。
因此,通过上述技术方案,在未查询到与所述MAC地址对应的目标CAM表项,需要配置对应的CAM表项时,并非由当前转发核对CAM表进行操作,而是由当前转发核所在端向所述待转发报文的IP地址对应的交互端发送ARP请求,以由所述交互端响应于所述ARP请求回复ARP应答报文,从而使得配置核基于该ARP应答报文配置CAM表项,保证配置CAM表项的安全性和有效性。另外,在配置CAM表项时,只需要关注ARP报文即可配置全面的CAM表项,可以保证配置的CAM表的准确性。
在一种可能的实施例中,配置核为多个转发核中的一者,在未查询到与所述MAC地址对应的目标CAM表项的情况下,若当前转发核不是该配置核,则向所述待转发报文的IP地址对应的交互端发送ARP请求,以由所述交互端响应于所述ARP请求回复ARP应答报文。若当前转发核为该配置核,此时该配置核可以直接基于该待转发报文中的MAC地址和接收该待转发报文的端口配置对应的CAM表项,从而可以进一步提高CAM表的学习效率。在一种可能的实施例中,所述向所述待转发报文的IP地址对应的交互端发送ARP请求的示例性实现方式如下,该步骤可以包括:
查询IP表中是否存在所述待转发报文的IP地址,其中,该IP表中可以存储未从CAM表中查询到目标CAM表项的待转发报文的IP地址。
在所述IP表中不存在所述待转发报文的IP地址的情况下,将所述待转发报文的IP地址添加至所述IP表,并向所述待转发报文的IP地址对应的交互端发送所述ARP请求。
在所述IP表中不存在所述待转发报文的IP地址的情况下,表示未向该待转发报文的IP地址对应的交互端发送ARP请求,此时,可以将该待转发报文的IP地址添加到IP表中,并向该交互端发送ARP请求,以便于在接收到ARP应答报文时配置对应的CAM表项。在所述IP表中存在所述待转发报文的IP地址的情况下,表示已经向该待转发报文的IP地址对应的交互端发送过ARP请求,为了避免转发核向同一交互端多次发送ARP请求,此时则无需发送ARP请求,从而可以保证交互端的使用体验,同时避免多次交互造成的资源和带宽的浪费。作为示例,此时也可以增加该待转发报文的IP地址的次数,便于后续基于该次数对报文转发过程进行的数据分析。
由此,基于IP表可以对发送过ARP请求的IP地址进行记录,从而可以避免在CAM表项的配置过程中转发核向同一IP地址重复发送多次ARP请求,既可以节省数据传输,同时可以保证与交互端的通信效率。
在一种可能的实施例中,在配置核根据ARP报文在CAM表中配置与ARP报文对应的CAM表项之后,所述方法还可以包括:
在所述ARP报文为ARP应答报文的情况下,确定所述IP表中是否存在所述ARP应答报文的IP地址;
在所述IP表中存在所述ARP应答报文的IP地址的情况下,从所述IP表中删除所述ARP应答报文的IP地址。
其中,该ARP应答报文是交互端响应于当前端向交互端发送的ARP请求所回复的报文,如上文所述,该ARP请求可以是当前端和交互端进行IP报文交互之前发送的,也可能是在当前端中不存在交互端发送的报文对应的CAM表项时发送的。因此,在本公开实施例中,在配置核根据ARP报文在CAM表中配置与ARP报文对应的CAM表项之后,在所述ARP报文为ARP应答报文的情况下,可以确定IP表中是否存在该ARP应答报文的IP地址,若不存在则表示该ARP应答报文是基于交互双方发送IP报文之前的ARP请求回复的,若存在则表示该ARP应答报文是基于交互双方进行IP报文交互的过程中发送的ARP请求回复的,而且此时已经根据该ARP应答报文配置了对应的CAM表项,则可以将该ARP应答报文的IP地址从所述IP表中删除,以避免影响后续的ARP报文交互。
由此,通过上述技术方案,可以保证IP表中的IP地址的实时性和准确性,既可以有效避免转发核对同一IP地址进行多次重复的ARP请求,又可以保证向交互端发送ARP请求的准确性,为保证报文转发的准确性和效率提供准确的数据支持。
根据本公开的第二方面,提供一种报文转发系统,所述报文转发系统包括多个转发核,所述多个转发核中的一者为配置核;
所述配置核用于在接收到ARP报文的情况下,根据所述ARP报文在CAM表中配置与所述ARP报文对应的CAM表项,其中,所述ARP报文包括ARP请求报文和ARP应答报文,所述配置核为所述多个转发核中的一者;
所述转发核用于在接收到非ARP的待转发报文的情况下,根据所述待转发报文的MAC地址查询所述CAM表;
所述转发核用于在查询到与所述MAC地址对应的目标CAM表项的情况下,基于所述目标CAM表项对所述待转发报文进行转发。
可选地,所述转发核还用于:
在未查询到与所述MAC地址对应的目标CAM表项的情况下,向所述待转发报文的IP地址对应的交互端发送ARP请求,以由所述交互端响应于所述ARP请求回复ARP应答报文。
可选地,所述转发核还用于:
查询IP表中是否存在所述待转发报文的IP地址;
在所述IP表中不存在所述待转发报文的IP地址的情况下,将所述待转发报文的IP地址添加至所述IP表,并向所述待转发报文的IP地址对应的交互端发送所述ARP请求。
可选地,所述配置核还用于:
在所述ARP报文为ARP应答报文的情况下,确定所述IP表中是否存在所述ARP应答报文的IP地址;
在所述IP表中存在所述ARP应答报文的IP地址的情况下,从所述IP表中删除所述ARP应答报文的IP地址。
可选地,所述系统还包括网卡,
所述网卡用于根据接收到的报文的首部确定所述报文的类型;在所述报文的类型为ARP的情况下,将所述报文分发至所述配置核;在所述报文的类型不是ARP的情况下,将所述报文分发至所述转发核。
可选地,所述转发核还用于根据所述待转发报文的时间信息对所述目标CAM表项对应的使用时间信息进行更新。
可选地,所述配置核还用于在所述CAM表项对应的未使用时长达到所述CAM表项对应的超时时长的情况下,从所述CAM表中删除该CAM表项,其中,基于所述ARP报文配置的CAM表项的超时时长大于基于所述ARP报文配置的ARP表项的超时时长。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图2是根据一示例性实施例示出的一种电子设备700的框图。如图2所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的报文转发方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的报文转发方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的报文转发方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的报文转发方法。
图3是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图3,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的报文转发方法。
另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的报文转发方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的报文转发方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的报文转发方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种报文转发方法,其特征在于,应用于报文转发系统,所述报文转发系统包括多个转发核,所述方法包括:
配置核在接收到ARP报文的情况下,根据所述ARP报文在CAM表中配置与所述ARP报文对应的CAM表项,其中,所述ARP报文包括ARP请求报文和ARP应答报文,所述配置核为所述多个转发核中的一者;
所述转发核在接收到非ARP的待转发报文的情况下,根据所述待转发报文的MAC地址查询所述CAM表;
在查询到与所述MAC地址对应的目标CAM表项的情况下,基于所述目标CAM表项对所述待转发报文进行转发。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在未查询到与所述MAC地址对应的目标CAM表项的情况下,向所述待转发报文的IP地址对应的交互端发送ARP请求,以由所述交互端响应于所述ARP请求回复ARP应答报文。
3.根据权利要求2所述的方法,其特征在于,所述向所述待转发报文的IP地址对应的交互端发送ARP请求,包括:
查询IP表中是否存在所述待转发报文的IP地址;
在所述IP表中不存在所述待转发报文的IP地址的情况下,将所述待转发报文的IP地址添加至所述IP表,并向所述待转发报文的IP地址对应的交互端发送所述ARP请求。
4.根据权利要求3所述的方法,其特征在于,在所述配置核根据所述ARP报文在CAM表中配置与所述ARP报文对应的CAM表项之后,所述方法还包括:
在所述ARP报文为ARP应答报文的情况下,确定所述IP表中是否存在所述ARP应答报文的IP地址;
在所述IP表中存在所述ARP应答报文的IP地址的情况下,从所述IP表中删除所述ARP应答报文的IP地址。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
网卡根据接收到的报文的首部确定所述报文的类型;
在所述报文的类型为ARP的情况下,将所述报文分发至所述配置核;
在所述报文的类型不是ARP的情况下,将所述报文分发至所述转发核。
6.根据权利要求1所述的方法,其特征在于,在转发核基于所述目标CAM表项对所述待转发报文进行转发之后,所述方法还包括:
所述转发核根据所述待转发报文的时间信息对所述目标CAM表项对应的使用时间信息进行更新。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述CAM表项对应的未使用时长达到所述CAM表项对应的超时时长的情况下,所述配置核从所述CAM表中删除该CAM表项,其中,基于所述ARP报文配置的CAM表项的超时时长大于基于所述ARP报文配置的ARP表项的超时时长。
8.一种报文转发系统,其特征在于,所述报文转发系统包括多个转发核,所述多个转发核中的一者为配置核;
所述配置核用于在接收到ARP报文的情况下,根据所述ARP报文在CAM表中配置与所述ARP报文对应的CAM表项,其中,所述ARP报文包括ARP请求报文和ARP应答报文,所述配置核为所述多个转发核中的一者;
所述转发核用于在接收到非ARP的待转发报文的情况下,根据所述待转发报文的MAC地址查询所述CAM表;
所述转发核用于在查询到与所述MAC地址对应的目标CAM表项的情况下,基于所述目标CAM表项对所述待转发报文进行转发。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
CN202011378878.0A 2020-11-30 2020-11-30 报文转发方法、系统、存储介质和电子设备 Active CN112511440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011378878.0A CN112511440B (zh) 2020-11-30 2020-11-30 报文转发方法、系统、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011378878.0A CN112511440B (zh) 2020-11-30 2020-11-30 报文转发方法、系统、存储介质和电子设备

Publications (2)

Publication Number Publication Date
CN112511440A true CN112511440A (zh) 2021-03-16
CN112511440B CN112511440B (zh) 2023-04-18

Family

ID=74968725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011378878.0A Active CN112511440B (zh) 2020-11-30 2020-11-30 报文转发方法、系统、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN112511440B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347272A (zh) * 2021-06-29 2021-09-03 潍柴动力股份有限公司 一种报文处理方法、装置、存储介质和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143068A (zh) * 2011-03-01 2011-08-03 华为技术有限公司 一种mac地址学习的方法,装置和系统
CN102291320A (zh) * 2011-09-29 2011-12-21 杭州华三通信技术有限公司 Mac地址学习方法和边缘设备
CN104348726A (zh) * 2013-08-02 2015-02-11 杭州华三通信技术有限公司 报文转发方法和装置
WO2017215466A1 (zh) * 2016-06-15 2017-12-21 中兴通讯股份有限公司 一种网络处理器查表方法、网络处理器、查表系统及存储介质
JP2020137006A (ja) * 2019-02-22 2020-08-31 日本電気株式会社 アドレス解決制御方法、ネットワークシステム、サーバ装置、端末及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143068A (zh) * 2011-03-01 2011-08-03 华为技术有限公司 一种mac地址学习的方法,装置和系统
CN102291320A (zh) * 2011-09-29 2011-12-21 杭州华三通信技术有限公司 Mac地址学习方法和边缘设备
CN104348726A (zh) * 2013-08-02 2015-02-11 杭州华三通信技术有限公司 报文转发方法和装置
WO2017215466A1 (zh) * 2016-06-15 2017-12-21 中兴通讯股份有限公司 一种网络处理器查表方法、网络处理器、查表系统及存储介质
JP2020137006A (ja) * 2019-02-22 2020-08-31 日本電気株式会社 アドレス解決制御方法、ネットワークシステム、サーバ装置、端末及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347272A (zh) * 2021-06-29 2021-09-03 潍柴动力股份有限公司 一种报文处理方法、装置、存储介质和设备
CN113347272B (zh) * 2021-06-29 2022-04-26 潍柴动力股份有限公司 一种报文处理方法、装置、存储介质和设备

Also Published As

Publication number Publication date
CN112511440B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
US11895154B2 (en) Method and system for virtual machine aware policy management
CN102938794B (zh) 地址解析协议arp消息转发方法、交换机和控制器
EP3070887B1 (en) Communication method, device and system for virtual extensible local area network
US9264362B2 (en) Proxy address resolution protocol on a controller device
EP2843906B1 (en) Method, apparatus, and system for data transmission
CN109194559B (zh) 组播方法及vtep设备
CN108965092B (zh) 一种数据报文传输方法和装置
CN111193773B (zh) 负载均衡方法、装置、设备及存储介质
US10652142B2 (en) SDN-based ARP implementation method and apparatus
KR20150113597A (ko) Arp 패킷 처리 방법 및 장치
CN109040243B (zh) 一种报文处理方法及装置
CN106921578B (zh) 一种转发表项的生成方法和装置
CN114095430B (zh) 一种访问报文的处理方法、系统及工作节点
CN107547346B (zh) 一种报文传输方法和装置
CN114070723A (zh) 裸金属服务器的虚拟网络配置方法、系统及智能网卡
CN112887229B (zh) 一种会话信息同步方法及装置
CN110958124B (zh) 多播组管理方法、装置、可读存储介质、及计算机
CN104426816B (zh) 一种虚拟机通信方法及装置
CN109120556B (zh) 一种云主机访问对象存储服务器的方法及系统
CN112511440B (zh) 报文转发方法、系统、存储介质和电子设备
CN107070719A (zh) 一种设备管理方法和装置
WO2017219777A1 (zh) 一种报文处理方法及装置
EP3503484A1 (en) Message transmission method, device and network system
US20190379633A1 (en) Outer Multicast IP Address Assignment Method and Apparatus
JP2009253578A (ja) ネットワーク負荷分散装置、ネットワーク負荷分散方法及びプログラム

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