CN111698167A - 一种报文处理方法及装置 - Google Patents

一种报文处理方法及装置 Download PDF

Info

Publication number
CN111698167A
CN111698167A CN202010247821.0A CN202010247821A CN111698167A CN 111698167 A CN111698167 A CN 111698167A CN 202010247821 A CN202010247821 A CN 202010247821A CN 111698167 A CN111698167 A CN 111698167A
Authority
CN
China
Prior art keywords
virtual machine
message
switch
interface corresponding
interface
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
CN202010247821.0A
Other languages
English (en)
Other versions
CN111698167B (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 Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data 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 Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202010247821.0A priority Critical patent/CN111698167B/zh
Publication of CN111698167A publication Critical patent/CN111698167A/zh
Application granted granted Critical
Publication of CN111698167B publication Critical patent/CN111698167B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

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

Abstract

本申请涉及网络通信技术领域,特别涉及一种报文处理方法及装置。该方法应用于智能网卡,与上述智能网卡相连的交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,上述方法包括:接收第一虚拟机发送的第一报文;判断本地是否存在与上述第一报文相匹配的转发表项;在判定本地不存在与上述第一报文相匹配的转发表项时,将上述第一报文发送至交换机,以使得交换机在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口,并将上述报文通过上述目标VF接口发送至对应的第二虚拟机。

Description

一种报文处理方法及装置
技术领域
本申请涉及网络通信技术领域,特别涉及一种报文处理方法及装置。
背景技术
Smart NIC即智能网卡,将虚拟交换机功能完全从服务器CPU转移到网卡,释放昂贵的服务器CPU的计算能力以返回给应用程序,从而更好地扩展网卡功能并提供更高的性能。
智能网卡的核心是通过FPGA(现场可编程门阵列)协助CPU处理网络负载,编程网络接口功能,其具有以下特征:通过FPGA本地化编程支持数据面和控制面功能定制,协助CPU处理网络负载;通常包含多个端口和内部交换机,快速转发数据并基于网络数据包、应用程序套接字等智能映射到到相关应用程序;检测和管理网络流量。
智能网卡能够提升应用程序和虚拟化性能,实现软件定义网络(SDN)和网络功能虚拟化(NFV)的诸多优势,将网络虚拟化、负载均衡和其他低级功能从服务器CPU中移除,确保为应用提供最大的处理能力。与此同时,智能网卡还能够提供分布式计算资源,使得用户可以开发自己的软件或提供接入服务,从而加速特定应用程序。
目前,市面上的智能网卡,将网络和存储offload到智能网卡中,从而释放服务器主CPU的计算能力,这样主CPU有更多的能力用于处理虚拟机业务。但是,智能网卡需要有专门的FPGA或者ASIC芯片来处理网络流量,而且FPGA或者ASIC芯片上的MAC表等转发表项也不会很大,相应的,智能网卡的报文处理能力有限。
发明内容
本申请实施例提供一种报文处理方法及装置,用以解决现有技术中存在的智能网卡报文处理能力有限的问题。
本申请实施例提供的具体技术方案如下:
第一方面,本申请提供了一种报文处理方法,应用于智能网卡,与上述智能网卡相连的交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,上述方法包括:
接收第一虚拟机发送的第一报文;
判断本地是否存在与上述第一报文相匹配的转发表项;
在判定本地不存在与上述第一报文相匹配的转发表项时,将上述第一报文发送至交换机,以使得交换机在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口,并将上述报文通过上述目标VF接口发送至对应的第二虚拟机。
可选地,将上述目标报文发送至交换机的步骤包括:
获取上述第一虚拟机对应的VF接口的标识,并将上述第一虚拟机对应的VF接口的标识添加至上述第一报文,得到第二报文;
将上述第二报文发送至交换机。
可选地,上述方法还包括:
在确定本地启动时,向上述交换机发送握手报文;
若接收到上述交换机基于上述握手报文返回的响应报文,则将本地各VF接口信息上报给上述交换机,以使得上述交换机分别为上述各VF接口分配用于唯一标识该VF接口的标识。
第二方面,本申请提供了另一种报文处理方法,应用于交换机,上述交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,上述方法包括:
接收智能网卡发送的第一报文,其中,上述第一报文为第一虚拟机发送的报文;
在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口;
将上述报文通过上述目标VF接口发送至对应的第二虚拟机。
可选地,上述第一报文携带有上述第一虚拟机对应的VF接口的标识;上述方法还包括:
判断本地维护的各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,是否存在上述第一虚拟机的通信地址与上述第一虚拟机对应的VF接口的标识之间的映射关系;
若不存在,则在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中添加上述第一虚拟机的通信地址与上述第一虚拟机对应的VF接口的标识之间的映射关系。
第三方面,本申请提供了一种报文处理装置,应用于智能网卡,与上述智能网卡相连的交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,上述装置包括:
接收单元,用于接收第一虚拟机发送的第一报文;
判断单元,用于判断本地是否存在与上述第一报文相匹配的转发表项;
发送单元,用于在判定本地不存在与上述第一报文相匹配的转发表项时,将上述第一报文发送至交换机,以使得交换机在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口,并将上述报文通过上述目标VF接口发送至对应的第二虚拟机。
可选地,在将上述目标报文发送至交换机时,上述发送单元具体用于:
获取上述第一虚拟机对应的VF接口的标识,并将上述第一虚拟机对应的VF接口的标识添加至上述第一报文,得到第二报文;
将上述第二报文发送至交换机。
可选地,上述发送单元还用于:
在确定本地启动时,向上述交换机发送握手报文;
若接收到上述交换机基于上述握手报文返回的响应报文,则将本地各VF接口信息上报给上述交换机,以使得上述交换机分别为上述各VF接口分配用于唯一标识该VF接口的标识。
第四方面,本申请提供了另一种报文处理装置,应用于交换机,上述交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,上述装置包括:
接收单元,用于接收智能网卡发送的第一报文,其中,上述第一报文为第一虚拟机发送的报文;
确定单元,用于在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口;
发送单元,用于将上述报文通过上述目标VF接口发送至对应的第二虚拟机。
可选地,上述第一报文携带有上述第一虚拟机对应的VF接口的标识;上述装置还包括判断单元和添加单元:
上述判断单元,用于判断本地维护的各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,是否存在上述第一虚拟机的通信地址与上述第一虚拟机对应的VF接口的标识之间的映射关系;
若不存在,则上述添加单元在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中添加上述第一虚拟机的通信地址与上述第一虚拟机对应的VF接口的标识之间的映射关系。
第五方面,本申请提供了一种智能网卡,该智能网卡包括:
存储器,用于存储程序指令;
处理器,用于调用上述存储器中存储的程序指令,按照获得的程序执行上述第一方面中任一项方法。
第六方面,本申请提供一种计算机存储介质,该计算机可读存储介质存储有计算机可执行指令,上述计算机可执行指令用于使上述计算机执行上述第一方面中任一项方法。
第七方面,本申请提供了一种交换机,该交换机包括:
存储器,用于存储程序指令;
处理器,用于调用上述存储器中存储的程序指令,按照获得的程序执行上述第二方面中任一项方法。
第八方面,本申请提供一种计算机存储介质,该计算机可读存储介质存储有计算机可执行指令,上述计算机可执行指令用于使上述计算机执行上述第二方面中任一项方法。
本申请有益效果如下:
综上所述,本申请提供的报文处理方法及装置,智能网卡在接收第一虚拟机发送的第一报文时;判断本地是否存在与上述第一报文相匹配的转发表项;在判定本地不存在与上述第一报文相匹配的转发表项时,将上述第一报文发送至交换机,以使得交换机在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口,并将上述报文通过上述目标VF接口发送至对应的第二虚拟机。
采用本申请提供的报文处理方法及装置,智能网卡将发往其它服务器上的虚拟机的报文由交换机进行查表转发操作,不再受限于智能网卡本地转发表大小的限制,在不增加成本的基础上,大大提升了智能网卡的转发能力。
附图说明
图1为本申请实施例提供的一种网络组网示意图;
图2为本申请实施例提供的一种报文处理方法的流程示意图;
图3为本申请实施例提供的另一种报文处理方法的流程示意图;
图4为本申请实施例提供的一种报文处理装置的结构示意图;
图5为本申请实施例提供的另一种报文处理装置的结构示意图;
图6为本申请实施例提供的一种智能网卡的结构示意图;
图7为本申请实施例提供的一种交换机的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,本申请实施例中术语“和”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
当本申请提及“第一”、“第二”、“第三”或者“第四”等序数词时,除非根据上下文其确实表达顺序之意,否则应当理解为仅仅是起区分之用。
下面将通过具体实施例对本申请的方案进行详细描述,当然,本申请并不限于以下实施例。
示例性的,参阅图1所示,本申请提供了一种网络组网示意图,该网络组网包括分别与交换机相连的服务器1和服务器2,服务器1上部署有虚拟机1(VM 1)和虚拟机2(VM 2),服务器1上的智能网卡1上配置有与VM 1一一对应的虚拟功能接口1(VF 1),与VM 2一一对应的虚拟功能接口2(VF 2);服务器2上部署有虚拟机3(VM 3),服务器2上的智能网卡2上配置与与VM 3一一对应的虚拟功能接口3(VF 3)。本申请实施例中,交换机中维护有各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系。
下面将通过具体实施例对本申请的方法实施例进行详细描述,示例性的,参阅图2所示,本申请提供的报文处理方法,应用于智能网卡,与上述智能网卡相连的交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,该报文处理方法的详细流程如下:
步骤200:接收第一虚拟机发送的第一报文。
本申请实施例中,在执行步骤200之前,该报文处理方法还可以包括:智能网卡在确定本地启动时,向上述交换机发送握手报文。若接收到上述交换机基于上述握手报文返回的响应报文,则将本地各VF接口信息上报给上述交换机,以使得上述交换机分别为上述各VF接口分配用于唯一标识该VF接口的标识。
实际应用中,智能网卡可以包括多个物理端口,每个物理端口上可以配置出至少一个虚拟功能接口,本申请实施例中,在服务器上创建一个VM时,即可在智能网络的任一物理端口上位该一个虚拟机配置一个虚拟功能接口(VF)。智能网卡在启动后,可以从每个物理端口分别向交换机发送802.1BR的HELLOW报文,如果收到交换机的应答报文,则智能网卡将本地的各VF接口作为交换机的远程端口。智能网卡可以将本地所有的VF接口信息上报为交换机,以使得交换机分别为各VF接口分配扩展端口编号(标识),其中,一个VF接口的扩展端口编号可用于唯一标识该一个VF接口。
步骤210:判断本地是否存在与上述第一报文相匹配的转发表项。
本申请实施例中,智能网卡本地维护有本地转发表,即服务器内各VM之间的报文转发,无需经过交换机处理,智能网卡在接收到本地一个虚拟机发送的报文时,即可根据该报文的目的通信地址,确定该报文的目的虚拟机是否在本地,若是,则直接根据本地转发表进行转发即可,若不是,则需要发送至交换机,以进行后续转发处理。
例如,结合图1所示,VM 1向VM 2发送报文1,那么,智能网卡在接收到报文1时,确定报文1的目的MAC地址为VM 2的MAC地址,且本地MAC转发表中存在与VM 2的MAC地址相匹配的转发表项,那么,智能网卡直接根据该转发表项转发报文1即可,无需上送至交换机。
步骤220:在判定本地不存在与上述第一报文相匹配的转发表项时,将上述第一报文发送至交换机,以使得交换机在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口,并将上述报文通过上述目标VF接口发送至对应的第二虚拟机。
本申请实施例中,智能网卡在接收到一个报文时,确定本地转发表中不存在与该一个报文的目的通信地址相匹配的本地转发表项时,则需要将该一个报文上送至交换机进行处理,具体地,交换机可以根据该一个报文的目的通信地址,以及维护在本地的各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定该一个报文的目的通信地址对应的VF接口,并将该一个报文发送至该VF接口,以使得智能网卡将该报文发送至该VF接口对应的虚拟机。
例如,结合图1所示,VM 1向VM 3发送报文2,那么,智能网卡在接收到报文2时,确定报文2的目的MAC地址为VM 3的MAC地址,且本地MAC转发表中不存在与VM 3的MAC地址相匹配的转发表项,那么,智能网卡将报文2上送至交换机,交换机根据VM 3的MAC地址,以及本地维护的MAC地址与VF接口之间的映射关系,确定VM 3的MAC地址对应的VF接口(VF 3),并将报文2发送至VF 3,以使得智能网卡将报文2发送至VF 3对应的VM 3。
本申请实施例中,在将上述第一报文发送至交换机时,一种较佳的实现方式为,获取第一虚拟机对应的VF接口的标识,并将上述第一虚拟机对应的VF接口的标识添加至上述第一报文,得到第二报文;将上述第二报文发送至交换机。
也就是说,交换机接收到智能网卡上报的报文携带有源虚拟机对应的VF的标识信息,相应的,若交换机既可以进行虚拟机的通信地址与虚拟机对应的VF接口标识的自学习。具体的虚拟机的通信地址与虚拟机对应的VF接口标识的自学习过程,详见下文表述,在此不再赘述。
那么,本申请实施例中,若接收到的报文为广播报文或组播报文,由于广播组地址或组播组地址也会有对应的至少一个扩展端口编号(至少一个VF接口标识),且广播报文或组播报文携带有源虚拟机对应的VF接口标识,那么,智能网卡也可以根据源虚拟机对应的VF接口标识进行源端口过滤,避免源虚拟机收到自己发出的报文。
示例性的,参阅图3所示,本申请提供的另一种报文处理方法,应用于交换机,上述交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,报文处理方法的详细流程如下:
步骤300:接收智能网卡发送的第一报文,其中,上述第一报文为第一虚拟机发送的报文。
本申请实施例中,智能网卡在接收到一个报文,并在确定该一个报文的目的虚拟机不在本地时,将该一个报文发送至交换机,以使得交换机对该一个报文进行后续转发处理。
本申请实施例中,智能网卡在接收到一个报文(如,第一报文)时,并在确定该一个报文是发往其它服务器上的虚拟机的报文时,可以对该一个报文进行封装处理,具体地,可以将发送该一个报文的源虚拟机对应的VF接口的标识添加至该一个报文中,得到携带有发送该一个报文的源虚拟机对应的VF接口的标识的第二报文。
那么,交换机接收到的报文即为携带有发送该一个报文的源虚拟机对应的VF接口标识的报文。
进一步地,交换机可以进行源虚拟机的通信地址与该源虚拟机对应的VF接口标识的映射关系的学习(转发表项自学习过程)。
具体地,本申请实施例中,上述第一报文携带有上述第一虚拟机对应的VF接口的标识;上述方法还包括:判断本地维护的各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,是否存在上述第一虚拟机的通信地址与上述第一虚拟机对应的VF接口的标识之间的映射关系;若不存在,则在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中添加上述第一虚拟机的通信地址与上述第一虚拟机对应的VF接口的标识之间的映射关系。
步骤310:在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口。
由上可知,交换机可以进行源虚拟机的通信地址与该源虚拟机对应的VF接口标识的映射关系的学习,从而交换机本地维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,那么,交换机即可根据接收到的报文的目的通信地址,确定该目的通信地址对应的出接口(VF接口标识),可选地,交换机在转发该报文时,可以将该VF接口标识添加至该报文中,那么,智能网卡在接收到该报文时,即可根据该VF接口标识确定出目的虚拟机,并将该报文发送至该目的虚拟机。
步骤320:将上述报文通过上述目标VF接口发送至对应的第二虚拟机。
由上可知,智能网卡本地只需维护有VF接口标识与VF之间的映射关系即可,即VF接口标识与虚拟机之间的映射关系,智能网卡在接收到交换机发送的一个报文时,即可根据该一个报文携带的VF接口标识,确定出VF接口(或确定出目的虚拟机),从而完成该报文的转发。
基于上述实施例,参阅图4所示,本申请实施例提供的一种报文处理装置的结构示意图,该报文处理装置应用于智能网卡,与上述智能网卡相连的交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,上述装置包括:
接收单元40,用于接收第一虚拟机发送的第一报文;
判断单元41,用于判断本地是否存在与上述第一报文相匹配的转发表项;
发送单元42,用于在判定本地不存在与上述第一报文相匹配的转发表项时,将上述第一报文发送至交换机,以使得交换机在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口,并将上述报文通过上述目标VF接口发送至对应的第二虚拟机。
可选地,在将上述目标报文发送至交换机时,发送单元42具体用于:
获取上述第一虚拟机对应的VF接口的标识,并将上述第一虚拟机对应的VF接口的标识添加至上述第一报文,得到第二报文;
将上述第二报文发送至交换机。
可选地,发送单元42还用于:
在确定本地启动时,向上述交换机发送握手报文;
若接收到上述交换机基于上述握手报文返回的响应报文,则将本地各VF接口信息上报给上述交换机,以使得上述交换机分别为上述各VF接口分配用于唯一标识该VF接口的标识。
基于上述实施例,参阅图5所示,本申请实施例提供的另一种报文处理装置的结构示意图,该报文处理装置应用于交换机,上述交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,上述装置包括:
接收单元50,用于接收智能网卡发送的第一报文,其中,上述第一报文为第一虚拟机发送的报文;
确定单元51,用于在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口;
发送单元52,用于将上述报文通过上述目标VF接口发送至对应的第二虚拟机。
可选地,上述第一报文携带有上述第一虚拟机对应的VF接口的标识;上述装置还包括判断单元和添加单元:
上述判断单元,用于判断本地维护的各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,是否存在上述第一虚拟机的通信地址与上述第一虚拟机对应的VF接口的标识之间的映射关系;
若不存在,则上述添加单元在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中添加上述第一虚拟机的通信地址与上述第一虚拟机对应的VF接口的标识之间的映射关系。
进一步地,参阅图6所示,本申请还提供了一种智能网卡,该智能网卡包括存储器60和处理器61,其中,
存储器60,用于存储程序指令;
处理器61,用于调用上述存储器60中存储的程序指令,按照获得的程序执行上述任一应用于智能网卡的方法实施例。
更进一步地,本申请提供一种计算机存储介质,该计算机可读存储介质存储有计算机可执行指令,上述计算机可执行指令用于使上述计算机执行上述任一应用于智能网卡的方法实施例。
参阅图7所示,本申请还提供了一种交换机,该交换机包括存储器70和处理器71,其中,
存储器70,用于存储程序指令;
处理器71,用于调用上述存储器70中存储的程序指令,按照获得的程序执行上述任一应用于交换机的方法实施例。
更进一步地,本申请提供一种计算机存储介质,该计算机可读存储介质存储有计算机可执行指令,上述计算机可执行指令用于使上述计算机执行上述任一应用于交换机的方法实施例。
综上所述,本申请提供的报文处理方法及装置,智能网卡在接收第一虚拟机发送的第一报文时;判断本地是否存在与上述第一报文相匹配的转发表项;在判定本地不存在与上述第一报文相匹配的转发表项时,将上述第一报文发送至交换机,以使得交换机在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与上述第一报文的目的通信地址对应的目标VF接口,并将上述报文通过上述目标VF接口发送至对应的第二虚拟机。
采用本申请提供的报文处理方法及装置,智能网卡将发往其它服务器上的虚拟机的报文由交换机进行查表转发操作,不再受限于智能网卡本地转发表大小的限制,在不增加成本的基础上,大大提升了智能网卡的转发能力。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种报文处理方法,其特征在于,应用于智能网卡,与所述智能网卡相连的交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,所述方法包括:
接收第一虚拟机发送的第一报文;
判断本地是否存在与所述第一报文相匹配的转发表项;
在判定本地不存在与所述第一报文相匹配的转发表项时,将所述第一报文发送至交换机,以使得交换机在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与所述第一报文的目的通信地址对应的目标VF接口,并将所述报文通过所述目标VF接口发送至对应的第二虚拟机。
2.如权利要求1所述的方法,其特征在于,将所述目标报文发送至交换机的步骤包括:
获取所述第一虚拟机对应的VF接口的标识,并将所述第一虚拟机对应的VF接口的标识添加至所述第一报文,得到第二报文;
将所述第二报文发送至交换机。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
在确定本地启动时,向所述交换机发送握手报文;
若接收到所述交换机基于所述握手报文返回的响应报文,则将本地各VF接口信息上报给所述交换机,以使得所述交换机分别为所述各VF接口分配用于唯一标识该VF接口的标识。
4.一种报文处理方法,其特征在于,应用于交换机,所述交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,所述方法包括:
接收智能网卡发送的第一报文,其中,所述第一报文为第一虚拟机发送的报文;
在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与所述第一报文的目的通信地址对应的目标VF接口;
将所述报文通过所述目标VF接口发送至对应的第二虚拟机。
5.如权利要求4所述的方法,其特征在于,所述第一报文携带有所述第一虚拟机对应的VF接口的标识;所述方法还包括:
判断本地维护的各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,是否存在所述第一虚拟机的通信地址与所述第一虚拟机对应的VF接口的标识之间的映射关系;
若不存在,则在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中添加所述第一虚拟机的通信地址与所述第一虚拟机对应的VF接口的标识之间的映射关系。
6.一种报文处理装置,其特征在于,应用于智能网卡,与所述智能网卡相连的交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,所述装置包括:
接收单元,用于接收第一虚拟机发送的第一报文;
判断单元,用于判断本地是否存在与所述第一报文相匹配的转发表项;
发送单元,用于在判定本地不存在与所述第一报文相匹配的转发表项时,将所述第一报文发送至交换机,以使得交换机在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与所述第一报文的目的通信地址对应的目标VF接口,并将所述报文通过所述目标VF接口发送至对应的第二虚拟机。
7.如权利要求6所述的装置,其特征在于,在将所述目标报文发送至交换机时,所述发送单元具体用于:
获取所述第一虚拟机对应的VF接口的标识,并将所述第一虚拟机对应的VF接口的标识添加至所述第一报文,得到第二报文;
将所述第二报文发送至交换机。
8.如权利要求6所述的装置,其特征在于,所述发送单元还用于:
在确定本地启动时,向所述交换机发送握手报文;
若接收到所述交换机基于所述握手报文返回的响应报文,则将本地各VF接口信息上报给所述交换机,以使得所述交换机分别为所述各VF接口分配用于唯一标识该VF接口的标识。
9.一种报文处理装置,其特征在于,应用于交换机,所述交换机中维护有各虚拟机的通信地址与各虚拟机对应的虚拟功能VF接口之间的映射关系,所述装置包括:
接收单元,用于接收智能网卡发送的第一报文,其中,所述第一报文为第一虚拟机发送的报文;
确定单元,用于在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,确定与所述第一报文的目的通信地址对应的目标VF接口;
发送单元,用于将所述报文通过所述目标VF接口发送至对应的第二虚拟机。
10.如权利要求9所述的装置,其特征在于,所述第一报文携带有所述第一虚拟机对应的VF接口的标识;所述装置还包括判断单元和添加单元:
所述判断单元,用于判断本地维护的各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中,是否存在所述第一虚拟机的通信地址与所述第一虚拟机对应的VF接口的标识之间的映射关系;
若不存在,则所述添加单元在各虚拟机的通信地址与各虚拟机对应的VF接口之间的映射关系中添加所述第一虚拟机的通信地址与所述第一虚拟机对应的VF接口的标识之间的映射关系。
CN202010247821.0A 2020-04-01 2020-04-01 一种报文处理方法及装置 Active CN111698167B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010247821.0A CN111698167B (zh) 2020-04-01 2020-04-01 一种报文处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010247821.0A CN111698167B (zh) 2020-04-01 2020-04-01 一种报文处理方法及装置

Publications (2)

Publication Number Publication Date
CN111698167A true CN111698167A (zh) 2020-09-22
CN111698167B CN111698167B (zh) 2023-04-07

Family

ID=72476315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010247821.0A Active CN111698167B (zh) 2020-04-01 2020-04-01 一种报文处理方法及装置

Country Status (1)

Country Link
CN (1) CN111698167B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367267A (zh) * 2020-09-30 2021-02-12 新华三大数据技术有限公司 一种虚拟机管理方法及装置
CN112910802A (zh) * 2021-01-13 2021-06-04 新华三大数据技术有限公司 一种报文处理方法及装置
CN114327262A (zh) * 2021-12-10 2022-04-12 山东云海国创云计算装备产业创新中心有限公司 一种用于智能网卡的维护端口映射的方法和装置
CN114363256A (zh) * 2020-09-28 2022-04-15 华为云计算技术有限公司 基于网卡的报文解析方法以及相关装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468462A (zh) * 2013-09-12 2015-03-25 杭州华三通信技术有限公司 分布式虚拟交换机***的报文转发方法及设备
CN105207873A (zh) * 2015-08-31 2015-12-30 华为技术有限公司 一种报文处理方法和装置
CN105245456A (zh) * 2015-10-20 2016-01-13 浪潮(北京)电子信息产业有限公司 一种云服务器内卸载sdn虚拟网络功能的方法和***
WO2016008394A1 (en) * 2014-07-14 2016-01-21 Hangzhou H3C Technologies Co., Ltd. Packets processing
WO2016106718A1 (zh) * 2014-12-31 2016-07-07 华为技术有限公司 一种网络控制方法与虚拟交换机
CN107395508A (zh) * 2016-05-17 2017-11-24 华为技术有限公司 转发报文的方法和装置
CN107995129A (zh) * 2017-11-30 2018-05-04 锐捷网络股份有限公司 一种nfv报文转发方法和装置
CN108092923A (zh) * 2016-11-23 2018-05-29 阿里巴巴集团控股有限公司 基于sr-iov的报文处理方法以及装置
CN110554977A (zh) * 2018-05-30 2019-12-10 阿里巴巴集团控股有限公司 数据缓存方法、数据处理方法、计算机设备、存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468462A (zh) * 2013-09-12 2015-03-25 杭州华三通信技术有限公司 分布式虚拟交换机***的报文转发方法及设备
WO2016008394A1 (en) * 2014-07-14 2016-01-21 Hangzhou H3C Technologies Co., Ltd. Packets processing
WO2016106718A1 (zh) * 2014-12-31 2016-07-07 华为技术有限公司 一种网络控制方法与虚拟交换机
CN105207873A (zh) * 2015-08-31 2015-12-30 华为技术有限公司 一种报文处理方法和装置
CN105245456A (zh) * 2015-10-20 2016-01-13 浪潮(北京)电子信息产业有限公司 一种云服务器内卸载sdn虚拟网络功能的方法和***
CN107395508A (zh) * 2016-05-17 2017-11-24 华为技术有限公司 转发报文的方法和装置
CN108092923A (zh) * 2016-11-23 2018-05-29 阿里巴巴集团控股有限公司 基于sr-iov的报文处理方法以及装置
CN107995129A (zh) * 2017-11-30 2018-05-04 锐捷网络股份有限公司 一种nfv报文转发方法和装置
CN110554977A (zh) * 2018-05-30 2019-12-10 阿里巴巴集团控股有限公司 数据缓存方法、数据处理方法、计算机设备、存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363256A (zh) * 2020-09-28 2022-04-15 华为云计算技术有限公司 基于网卡的报文解析方法以及相关装置
CN112367267A (zh) * 2020-09-30 2021-02-12 新华三大数据技术有限公司 一种虚拟机管理方法及装置
CN112367267B (zh) * 2020-09-30 2022-03-29 新华三大数据技术有限公司 一种虚拟机管理方法及装置
CN112910802A (zh) * 2021-01-13 2021-06-04 新华三大数据技术有限公司 一种报文处理方法及装置
CN112910802B (zh) * 2021-01-13 2022-05-24 新华三大数据技术有限公司 一种报文处理方法及装置
CN114327262A (zh) * 2021-12-10 2022-04-12 山东云海国创云计算装备产业创新中心有限公司 一种用于智能网卡的维护端口映射的方法和装置
CN114327262B (zh) * 2021-12-10 2024-03-08 山东云海国创云计算装备产业创新中心有限公司 一种用于智能网卡的维护端口映射的方法和装置

Also Published As

Publication number Publication date
CN111698167B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN111698167B (zh) 一种报文处理方法及装置
US9141420B2 (en) Overload control in a cloud computing environment
US10698741B2 (en) Resource allocation method for VNF and apparatus
CN107707622B (zh) 一种访问桌面云虚拟机的方法、装置及桌面云控制器
US10693785B2 (en) Method and system for forwarding data, virtual load balancer, and readable storage medium
CN109561054B (zh) 一种数据传输方法、控制器及接入设备
US11032186B2 (en) First hop router identification in distributed virtualized networks
CN107534577B (zh) 一种网络业务实例化的方法及设备
US10129148B2 (en) Table-based load balancing for bonded network interfaces
CN110928637A (zh) 负载均衡方法和***
CN109194589B (zh) 一种mdc实现方法及装置
CN111092828B (zh) 网络操作方法、装置、设备和存储介质
CN112583655B (zh) 数据传输方法、装置、电子设备及可读存储介质
CN109150720B (zh) 业务链报文转发方法、装置、设备及计算机可读存储介质
CN104426816A (zh) 一种虚拟机通信方法及装置
CN109618015B (zh) 基于数据中心的去堆叠实现方法及装置
CN111294316B (zh) 基于用户态协议栈虚拟路由器的网络隔离方法和装置
CN111262771B (zh) 虚拟私有云通信***、***配置方法及控制器
CN109525479B (zh) 一种报文处理方法及设备
CN114629744B (zh) 基于macvlan主机网络的数据访问方法、***及相关装置
CN114679370B (zh) 一种服务器托管方法、装置、***及存储介质
CN112422457B (zh) 报文处理方法、装置和计算机存储介质
CN111294221B (zh) 一种基于haproxy的网络隔离配置方法及其装置
CN113535402A (zh) 基于5g mec的负载均衡处理方法、装置及电子设备
CN110677496B (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