使转发设备转发数据的方法、控制设备、存储介质和系统技术方案

技术编号:23561903 阅读:32 留言:0更新日期:2020-03-25 06:37
本发明专利技术提供种使转发设备转发数据的方法、控制设备、存储介质和系统,转发设备包括智能网卡,方法包括:在转发设备中设置虚拟机,虚拟机具备与智能网卡的物理功能相对应的第一虚拟功能网口和第二虚拟功能网口;当智能网卡接收到数据时,使智能网卡对数据进行解封装,得到解封装数据,并将解封装数据发送给第一虚拟功能网口;利用数据转发程序,使解封装数据在虚拟机之内从第一虚拟功能网口传送到第二虚拟功能网口;使第二虚拟功能网口对解封装数据进行重新封装,得到新封装数据,将新封装数据转发到智能网卡,并使智能网卡将新封装数据转发给目的云主机。通过本发明专利技术,智能网卡的转发性能不会受到CPU处理能力的限制,因此能够提高数据转发性能。

Methods, control devices, storage media and systems for enabling forwarding devices to forward data

【技术实现步骤摘要】
使转发设备转发数据的方法、控制设备、存储介质和系统
本专利技术涉及使转发设备转发数据的方法、控制设备、存储介质和系统。
技术介绍
在云计算的环境下,基于多租户的外网隧道网关转发设备用于租户的云主机与外部网络之间转发。多租户的隧道网关转发设备通过一个物理网口进行外层隧道封装转发,物理网口接收到隧道报文,在协议栈中解掉外层隧道,保存隧道信息,通过虚拟隧道端口传递给虚拟交换机OpenVswitch。OpenVswitch根据租户隧道信息和NAT转发逻辑修改报文,设置转发送隧道信息。然后发送给虚拟隧道端口,后者根据发送隧道信息加上隧道头,通过协议栈路由找到物理网口进行发送。当前的多租户的隧道网关转发设备,通过纯软件的方式去实现,受CPU处理能力的限制,性能比较差。在租户流量增加的情况,设备的处理能力受到了极大的挑战。当前智能网卡的出现能将流量卸载到硬件上,避免CPU处理能力的限制。但是智能网卡的出现解决的是云主机测的性能问题,它能卸载物理网卡的隧道报文和云主机上的虚拟功能(VF)之间的流量。而多租户的隧道网关转发设备的隧道流量的转发只在物理网卡上,并且收发的隧道信息并不一样,所以难以直接进行智能网卡卸载。
技术实现思路
为了解决上述问题,本专利技术提供了一种使转发设备转发数据的方法,所述转发设备包括智能网卡,所述方法包括:在所述转发设备中设置虚拟机,其中,所述虚拟机具备与所述智能网卡的物理功能相对应的第一虚拟功能网口和第二虚拟功能网口;当所述智能网卡接收到所述数据时,使所述智能网卡对所述数据进行解封装,得到解封装数据,并将所述解封装数据发送给所述第一虚拟功能网口;利用数据转发程序,使所述解封装数据在所述虚拟机之内从所述第一虚拟功能网口传送到所述第二虚拟功能网口;使所述第二虚拟功能网口对所述解封装数据进行重新封装,得到新封装数据,将所述新封装数据转发到所述智能网卡,并使所述智能网卡将所述新封装数据转发给目的云主机。其中,所述数据包括所述目的地云主机的外网地址。其中,使所述第二虚拟功能网口对所述解封装数据进行重新封装包括:将所述目的地云主机的外网地址转换为所述目的地云主机的内网地址和隧道信息。其中,所述新封装数据包括所述内网地址和所述隧道信息,其中,使所述智能网卡将所述新封装数据转发给目的云主机包括:使所述智能网卡根据所述内网地址和所述隧道信息将所述新封装数据转发到所述目的地云主机。本专利技术还提供一种使转发设备转发数据的控制设备,所述转发设备包括智能网卡,控制设备包括:设置单元,在所述转发设备中设置虚拟机,其中,所述虚拟机具备与所述智能网卡的物理功能相对应的第一虚拟功能网口和第二虚拟功能网口;第一转发单元,当所述智能网卡接收到所述数据时,所述第一转发单元使所述智能网卡对所述数据进行解封装,得到解封装数据,并将所述解封装数据发送给所述第一虚拟功能网口;第二转发单元,所述第二转发单元利用数据转发程序,使所述解封装数据在所述虚拟机之内从所述第一虚拟功能网口传送到所述第二虚拟功能网口;第三转发单元,所述第三转发单元使所述第二虚拟功能网口对所述解封装数据进行重新封装,得到新封装数据,将所述新封装数据转发到所述智能网卡,并使所述智能网卡将所述新封装数据转发给目的云主机。本专利技术还提供一种计算机可读的存储介质,所述存储介质具有存储在其中的指令,当所述指令被执行时,使得所述计算机执行使转发设备转发数据的方法,所述转发设备包括智能网卡,所述指令包括:设置指令,在所述转发设备中设置虚拟机,其中,所述虚拟机具备与所述智能网卡的物理功能相对应的第一虚拟功能网口和第二虚拟功能网口;第一转发指令,当所述智能网卡接收到所述数据时,使所述智能网卡对所述数据进行解封装,得到解封装数据,并将所述解封装数据发送给所述第一虚拟功能网口;第二转发指令,利用数据转发程序,使所述解封装数据在所述虚拟机之内从所述第一虚拟功能网口传送到所述第二虚拟功能网口;第三转发指令,使所述第二虚拟功能网口对所述解封装数据进行重新封装,得到新封装数据,将所述新封装数据转发到所述智能网卡,并使所述智能网卡将所述新封装数据转发给目的云主机。本专利技术还提供一种系统,包括:存储器,用于存储由系统的一个或多个处理器执行的指令,以及处理器,是所述系统的处理器之一,用于执行使转发设备转发数据的方法。通过本专利技术,智能网卡的转发性能不会受到CPU处理能力的限制,因此能够提高数据转发性能。附图说明图1示出了根据本专利技术实施例的用于使转发设备转发数据的系统的框图;图2示出了根据本专利技术实施例的转发设备的示意图;图3示出了根据本专利技术实施例的用于使转发设备转发数据的控制设备的结构图;图4示出了根据本专利技术实施例的用于使转发设备转发数据的方法的流程图。具体实施方式以下由特定的具体实施例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本专利技术的其他优点及功效。虽然本专利技术的描述将结合较佳实施例一起介绍,但这并不代表此专利技术的特征仅限于该实施方式。恰恰相反,结合实施方式作专利技术介绍的目的是为了覆盖基于本专利技术的权利要求而有可能延伸出的其它选择或改造。为了提供对本专利技术的深度了解,以下描述中将包含许多具体的细节。本专利技术也可以不使用这些细节实施。此外,为了避免混乱或模糊本专利技术的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“第一”、“第二”等仅用于区分描述,不表示任何顺序,不能理解为指示或暗示相对重要性。为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的实施方式作进一步地详细描述。本专利技术所提供的实施方式可以在移动终端、计算机终端、或者类似的运算装置(如ECU(ElectronicControlUnit,电子控制单元))、系统中执行。以运行在系统为例,图1是根据本专利技术实施例的用于使转发设备转发数据的系统的硬件结构框图。如图1所示,系统100可以包括一个或多个(图中仅示出一个)处理器101(处理器101可以包括但不限于中央处理器CPU、图像处理器GPU、数字信号处理器DSP、微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于与用户交互的输入输出接口102、用于存储数据的存储器103、以及用于通信功能的传输装置104。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,系统100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。输入输出接口102可以连接一个或多个显示器、触控屏等,用于显示从系统100传送的数据,还可以连接键盘、触控笔、触控板和/或鼠标等,用于本文档来自技高网...

【技术保护点】
1.一种使转发设备转发数据的方法,所述转发设备包括智能网卡,其特征在于,所述方法包括:/n在所述转发设备中设置虚拟机,其中,所述虚拟机具备与所述智能网卡的物理功能相对应的第一虚拟功能网口和第二虚拟功能网口;/n当所述智能网卡接收到所述数据时,使所述智能网卡对所述数据进行解封装,得到解封装数据,并将所述解封装数据发送给所述第一虚拟功能网口;/n利用数据转发程序,使所述解封装数据在所述虚拟机之内从所述第一虚拟功能网口传送到所述第二虚拟功能网口;/n使所述第二虚拟功能网口对所述解封装数据进行重新封装,得到新封装数据,将所述新封装数据转发到所述智能网卡,并使所述智能网卡将所述新封装数据转发给目的云主机。/n

【技术特征摘要】
1.一种使转发设备转发数据的方法,所述转发设备包括智能网卡,其特征在于,所述方法包括:
在所述转发设备中设置虚拟机,其中,所述虚拟机具备与所述智能网卡的物理功能相对应的第一虚拟功能网口和第二虚拟功能网口;
当所述智能网卡接收到所述数据时,使所述智能网卡对所述数据进行解封装,得到解封装数据,并将所述解封装数据发送给所述第一虚拟功能网口;
利用数据转发程序,使所述解封装数据在所述虚拟机之内从所述第一虚拟功能网口传送到所述第二虚拟功能网口;
使所述第二虚拟功能网口对所述解封装数据进行重新封装,得到新封装数据,将所述新封装数据转发到所述智能网卡,并使所述智能网卡将所述新封装数据转发给目的云主机。


2.根据权利要求1所述的方法,其特征在于,所述数据包括所述目的地云主机的外网地址。


3.根据权利要求2所述的方法,其特征在于,使所述第二虚拟功能网口对所述解封装数据进行重新封装包括:将所述目的地云主机的外网地址转换为所述目的地云主机的内网地址和隧道信息。


4.根据权利要求3所述的方法,其特征在于,所述新封装数据包括所述内网地址和所述隧道信息,
其中,使所述智能网卡将所述新封装数据转发给目的云主机包括:使所述智能网卡根据所述内网地址和所述隧道信息将所述新封装数据转发到所述目的地云主机。


5.一种使转发设备转发数据的控制设备,所述转发设备包括智能网卡,其特征在于,控制设备包括:
设置单元,在所述转发设备中设置虚拟机,其中,所述虚拟机具备与所述智能网卡的物理功能相对应的第一虚拟功能网口和第二虚拟功能网口;
第一转发单元,当所述智能网卡接收到所述数据时,所述第一转发单元使所述智能网卡对所述数据进行解封装,得到解封装数据,并将所述解封装数据发送给所述第一虚拟功能网口;
第二转发单元,所述第二转发单元利用数据转发程序,使所述解封装数据在所述虚拟机之内从所述第一虚拟功能网口传送到所述第二虚拟功能网口;
第三转发单元,所述...

【专利技术属性】
技术研发人员:文旭
申请(专利权)人:优刻得科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1