CN105245456B - 一种云服务器内卸载sdn虚拟网络功能的方法和系统 - Google Patents

一种云服务器内卸载sdn虚拟网络功能的方法和系统 Download PDF

Info

Publication number
CN105245456B
CN105245456B CN201510685009.5A CN201510685009A CN105245456B CN 105245456 B CN105245456 B CN 105245456B CN 201510685009 A CN201510685009 A CN 201510685009A CN 105245456 B CN105245456 B CN 105245456B
Authority
CN
China
Prior art keywords
message
forwarding
data message
network interface
class
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.)
Active
Application number
CN201510685009.5A
Other languages
English (en)
Other versions
CN105245456A (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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510685009.5A priority Critical patent/CN105245456B/zh
Publication of CN105245456A publication Critical patent/CN105245456A/zh
Application granted granted Critical
Publication of CN105245456B publication Critical patent/CN105245456B/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

Landscapes

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

Abstract

本申请提出一种云服务器内卸载SDN虚拟网络功能的方法和系统,涉及计算机云计算SDN领域,包括:接收由虚拟机发送的数据报文,并识别接收到的所述数据报文;当识别所述数据报文为第一类报文时,解析所述数据报文,获得报文特征;依据所述报文特征,匹配所述网卡的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作;当识别所述数据报文为第二类报文时,将所述第二类报文转发至主机,对于一般的数据报文优先使用网卡硬件进行转发,对于硬件支持不了的特殊规则的数据报文依然使用CPU进行转发。

Description

一种云服务器内卸载SDN虚拟网络功能的方法和系统
技术领域
本发明涉及计算机云计算SDN(Software Defined Network,软件定义网络)领域,具体涉及一种云服务器内卸载SDN虚拟网络功能的方法和系统。
背景技术
随着云计算的发展,对于网络虚拟化的性能要求越来越高,由于虚拟化网络在主机侧需要CPU(Central Processing Unit,中央处理器)实现,因此转发的流量越高需要使用的CPU资源也就越多,时延和抖动也就越大。如何在提高虚拟网络带宽同时降低CPU资源的使用、降低时延和抖动成为急需解决的技术问题。
发明内容
针对相关技术中提高虚拟网络带宽时无法同时降低CPU资源的使用、降低时延和抖动的问题,本发明提供一种云服务器内卸载SDN虚拟网络功能的方法和系统。
为了实现上述发明目的,本发明采取的技术方案如下:
一种云服务器内卸载SDN虚拟网络功能的方法,应用于网卡,包括:
接收由虚拟机发送的数据报文,并识别接收到的所述数据报文;
当识别所述数据报文为第一类报文时,解析所述数据报文,获得报文特征;依据所述报文特征,匹配所述网卡的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作;
当识别所述数据报文为第二类报文时,将所述第二类报文转发至主机。
优选地,接收由虚拟机发送的数据报文包括:通过网卡硬件虚拟化技术接收由虚拟机发送的数据报文。
优选地,执行所述转发信息对应的操作包括:
当获得的转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述数据报文从查找到的所述端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述数据报文从查找到的所述端口发送出去。
优选地,当识别所述数据报文为第二类报文时,所述方法还包括:
接收主机返回的处理报文,并将接收到的所述处理报文从上行端口转发出去,所述处理报文为所述网卡确定为外部转发并通过网卡连接端口发送的报文。
为解决上述技术问题,本发明还提供一种云服务器内卸载SDN虚拟网络功能的方法,应用于主机,包括:
接收网卡发送的第二类报文,解析所述第二类报文,获得报文特征;依据所述报文特征,匹配所述主机的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作。
优选地,执行所述转发信息对应的操作包括:
当获得的转发动作信息为内部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为外部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去。
优选地,依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去包括:
判断所述内部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述虚拟机连接端口发送出去。
优选地,依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去包括:
判断所述外部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述网卡连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述网卡连接端口发送出去。
优选地,修改所述数据报文的特征包括:将匹配源端口信息修改匹配项为所述主机识别的报文特征替代源端口号信息。
为解决上述技术问题,本发明还提供一种云服务器内卸载SDN虚拟网络功能的系统,设置于网卡侧,包括:
接收模块,用于接收由虚拟机发送的数据报文,并识别接收到的所述数据报文;
转发模块,用于当识别所述数据报文为第一类报文时,解析所述数据报文,获得报文特征;依据所述报文特征,匹配所述网卡的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作;
返回模块,用于当识别所述数据报文为第二类报文时,将所述第二类报文转发至主机。
优选地,所述接收模块接收由虚拟机发送的数据报文包括:通过网卡硬件虚拟化技术接收由虚拟机发送的数据报文。
优选地,所述转发模块执行所述转发信息对应的操作包括:
当获得的转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述数据报文从查找到的所述端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述数据报文从查找到的所述端口发送出去。
优选地,所述返回模块还用于接收主机返回的处理报文,并将接收到的所述处理报文从上行端口转发出去,所述处理报文为所述网卡确定为外部转发并通过网卡连接端口发送的报文。
为解决上述技术问题,本发明还提供一种云服务器内卸载SDN虚拟网络功能的系统,设置于主机侧,包括:
处理模块,用于接收网卡发送的第二类报文,解析所述第二类报文,获得报文特征;依据所述报文特征,匹配所述主机的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作。
优选地,所述处理模块执行所述转发信息对应的操作包括:
当获得的转发动作信息为内部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为外部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去。
优选地,所述处理模块依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去包括:
判断所述内部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述虚拟机连接端口发送出去。
优选地,所述处理模块依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去包括:
判断所述外部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述网卡连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述网卡连接端口发送出去。
优选地,所述处理模块修改所述数据报文的特征包括:将匹配源端口信息修改匹配项为所述主机识别的报文特征替代源端口号信息。
本发明和现有技术相比,具有如下有益效果:
本发明提供的云服务器内卸载SDN虚拟网络功能的方法和系统,极大的平衡了软件灵活性和硬件高效性的特点,对于一般的数据报文优先使用网卡硬件进行转发,对于硬件支持不了的特殊规则的数据报文依然使用CPU进行转发。
附图说明
图1是相关技术的系统连接示意图;
图2是本发明实施例的一种云服务器内卸载SDN虚拟网络功能的方法的流程图;
图3是本发明实施例的一种云服务器内卸载SDN虚拟网络功能的系统的结构示意图;
图4是本发明实施例一的初始化流程图;
图5是本发明实施例一的表项处理流程图;
图6是本发明实施例一的报文转发流程图。
具体实施方式
为使本发明的发明目的、技术方案和有益效果更加清楚明了,下面结合附图对本发明的实施例进行说明,需要说明的是,在不冲突的情况下,本申请中的实施例和实施例中的特征可以相互任意组合。
如图1和2所示,本发明实施例提供一种云服务器内卸载SDN虚拟网络功能的方法,应用于网卡,包括:
接收由虚拟机发送的数据报文,并识别接收到的所述数据报文;
当识别所述数据报文为第一类报文时,解析所述数据报文,获得报文特征;依据所述报文特征,匹配所述网卡的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作;
当识别所述数据报文为第二类报文时,将所述第二类报文转发至主机。
接收由虚拟机发送的数据报文包括:通过网卡硬件虚拟化技术接收由虚拟机发送的数据报文。
其中,执行所述转发信息对应的操作包括:
当获得的转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述数据报文从查找到的所述端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述数据报文从查找到的所述端口发送出去。
当识别所述数据报文为第二类报文时,所述方法还包括:
接收主机返回的处理报文,并将接收到的所述处理报文从上行端口转发出去,所述处理报文为所述网卡确定为外部转发并通过网卡连接端口发送的报文。
本发明实施例还提供一种云服务器内卸载SDN虚拟网络功能的方法,应用于主机,包括:
接收网卡发送的第二类报文,解析所述第二类报文,获得报文特征;依据所述报文特征,匹配所述主机的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作。
其中,执行所述转发信息对应的操作包括:
当获得的转发动作信息为内部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为外部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去。
依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去包括:
判断所述内部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述虚拟机连接端口发送出去。
依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去包括:
判断所述外部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述网卡连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述网卡连接端口发送出去。
修改所述数据报文的特征包括:将匹配源端口信息修改匹配项为所述主机识别的报文特征替代源端口号信息。
本发明实施例提出的方法可以使用SR-IOV(single-root I/O virtualization,单根I/O虚拟化)等技术首先把数据报文从HOST(主机)直接发到网卡芯片上,对于网卡芯片可以识别并处理的数据报文直接处理转发出去,对于不能处理的个别数据报文发回给HOST,在Host内依然使用vswitch(虚拟交换)进行处理并转发,网卡芯片上需要下缺省规则,对于不能处理的报文返回给vswitch处理,对于vswitch处理后发给网卡芯片的报文直接从上行口发出去。
对于网卡芯片转发表项的配置需要拦截vswitch下发的转发表,把vswitch的转发表映射成网卡芯片的转发表下发给网卡芯片,对于vswitch转发表规则需要匹配源端口的转发表需要更改转发表规则,使用流特征(如vid或mac地址)替换源端口。
对于网卡从上行口收到的报文处理方法类似于从HOST侧收到的报文,网卡可以处理的报文处理后直接通过SR-IOV发给VM(Virtual Machine,虚拟机),不能处理的发给vswitch继续处理。
如图3所示,本发明实施例还提供一种云服务器内卸载SDN虚拟网络功能的系统,设置于网卡侧,包括:
接收模块,用于接收由虚拟机发送的数据报文,并识别接收到的所述数据报文;
转发模块,用于当识别所述数据报文为第一类报文时,解析所述数据报文,获得报文特征;依据所述报文特征,匹配所述网卡的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作;
返回模块,用于当识别所述数据报文为第二类报文时,将所述第二类报文转发至主机。
所述接收模块接收由虚拟机发送的数据报文包括:通过网卡硬件虚拟化技术接收由虚拟机发送的数据报文。
所述转发模块执行所述转发信息对应的操作包括:
当获得的转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述数据报文从查找到的所述端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述数据报文从查找到的所述端口发送出去。
所述返回模块还用于接收主机返回的处理报文,并将接收到的所述处理报文从上行端口转发出去,所述处理报文为所述网卡确定为外部转发并通过网卡连接端口发送的报文。
本发明实施例还提供一种云服务器内卸载SDN虚拟网络功能的系统,设置于主机侧,包括:
处理模块,用于接收网卡发送的第二类报文,解析所述第二类报文,获得报文特征;依据所述报文特征,匹配所述主机的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作。
所述处理模块执行所述转发信息对应的操作包括:
当获得的转发动作信息为内部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为外部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去。
所述处理模块依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去包括:
判断所述内部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述虚拟机连接端口发送出去。
所述处理模块依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去包括:
判断所述外部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述网卡连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述网卡连接端口发送出去。
所述处理模块修改所述数据报文的特征包括:将匹配源端口信息修改匹配项为所述主机识别的报文特征替代源端口号信息。
实施例1
本实施例涉及的几个组件及其关系见图1,其中vswitch是在HOST内的一个软件模块,其功能就是负责VM间或VM和网卡间的报文转发,NIC(Network Interface Card,网络适配器)就是通过PCIE(Peripheral Component Interconnect Express,外设部件互连标准接口)和HOST连接的网卡,本实施例把VM和VM之间或者VM到网卡之间的所有报文都优先通过网卡的硬件实现,对于网卡不能支持的复杂转发规则返回给vswitch进行灵活处理。
下面以HOST发给NIC为例分别介绍一下初始化流程、下发表项处理流程和报文的转发流程。
如图4所示,初始化流程里首先启动SR-IOV功能,这样VM发送的报文不经过vswitch处理由硬件直接发到网卡进行处理,接下来需要在网卡里创建一个端口用来把需要较为复杂规则处理网卡不能直接处理的报文发给vswitch使用,然后在vswitch表项下发处安装钩子函数,最后需要在网卡里设置缺省规则:第一条是对于收到的不能匹配网卡里任何规则的报文发给vswitch进行处理,第二条是收到的从vswitch发过来的报文直接发往上行口。
如图5所示,下发表项处理流程为当SDN控制器下发表项给vswitch时,安装在vswitch的钩子函数拦截下发的表项并分析表项规则,如果下发的表项规则经分析认为网卡硬件转发表可以支持则下发转发规则到网卡上,如果分析认为规则比较复杂网卡硬件转发表不能支持则把规则下发到vswitch上,如果规则里有匹配源端口信息则需要修改匹配项为vswitch可以识别的报文特征替代源端口号信息。
如图6所示,经过上述流程处理后报文的转发流程为:当VM发出一个报文后这个报文通过SR-IOV技术直接交给网卡硬件处理,如果这个报文符合网卡已经下发的转发规则则由网卡硬件处理转发,如果网卡不能处理这个报文则这个报文会使用网卡默认规则返回给vswitch处理,如果vswitch处理后报文需要通过网卡上行口发出去则vswitch把报文再次交给网卡处理,网卡发现报文是由vswitch连接口发上来则直接从上行口转发出去。
对于从网卡上行口收到的需要发给HOST的报文处理流程和上述流程类似,区别在于网卡从上行口接收报文查找网卡转发规则如能匹配则通过SR-IOV直接发给VM,如果不能匹配则使用默认规则发给vswitch处理,vswitch处理后再发给VM。
虽然本发明所揭示的实施方式如上,但其内容只是为了便于理解本发明的技术方案而采用的实施方式,并非用于限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭示的核心技术方案的前提下,可以在实施的形式和细节上做任何修改与变化,但本发明所限定的保护范围,仍须以所附的权利要求书限定的范围为准。

Claims (18)

1.一种云服务器内卸载SDN虚拟网络功能的方法,其特征在于,应用于网卡,包括:
接收由虚拟机发送的数据报文,使用单根输入/输出I/O虚拟化功能优先由网卡识别接收到的所述数据报文;
当识别所述数据报文为第一类报文时,解析所述数据报文,获得报文特征;依据所述报文特征,匹配所述网卡的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作,其中,第一类报文为所述网卡可处理的数据报文,所述网卡的转发表项是由下发给虚拟交换机的表项规则经分析得到的支持网卡硬件转发的表项;当识别所述数据报文为第二类报文时,将所述第二类报文转发至主机,所述第二类报文为网卡不能直接处理的数据报文。
2.如权利要求1所述的方法,其特征在于,接收由虚拟机发送的数据报文包括:通过网卡硬件虚拟化技术接收由虚拟机发送的数据报文。
3.如权利要求1所述的方法,其特征在于,执行所述转发信息对应的操作包括:
当获得的转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述数据报文从查找到的所述端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述数据报文从查找到的所述端口发送出去。
4.如权利要求1所述的方法,其特征在于,当识别所述数据报文为第二类报文时,所述方法还包括:
接收主机返回的处理报文,并将接收到的所述处理报文从上行端口转发出去,所述处理报文为所述网卡确定为外部转发并通过网卡连接端口发送的报文。
5.一种云服务器内卸载SDN虚拟网络功能的方法,其特征在于,应用于主机,包括:
接收网卡发送的第二类报文,解析所述第二类报文,获得报文特征;依据所述报文特征,匹配所述主机的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作;
其中,所述第二类报文为网卡不可处理的数据报文;
所述主机的转发表项是由下发给虚拟交换机的表项规则经分析得到的规则复杂网卡的转发表不能支持的表项。
6.如权利要求5所述的方法,其特征在于:执行所述转发信息对应的操作包括:
当获得的转发动作信息为内部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为外部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去。
7.如权利要求6所述的方法,其特征在于:依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去包括:
判断所述内部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述虚拟机连接端口发送出去。
8.如权利要求6所述的方法,其特征在于:依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去包括:
判断所述外部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述网卡连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述网卡连接端口发送出去。
9.如权利要求7或8所述的方法,其特征在于:修改所述数据报文的特征包括:将匹配源端口信息修改匹配项为所述主机识别的报文特征替代源端口号信息。
10.一种云服务器内卸载SDN虚拟网络功能的系统,其特征在于,设置于网卡侧,包括:
接收模块,用于接收由虚拟机发送的数据报文,并使用单根输入/输出I/O虚拟化功能优先识别接收到的所述数据报文;
转发模块,用于当识别所述数据报文为第一类报文时,解析所述数据报文,获得报文特征;依据所述报文特征,匹配所述网卡的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作,其中,所述第一类报文为网卡可处理的数据报文,所述网卡的转发表项是由下发给虚拟交换机的表项规则经分析得到的支持网卡硬件转发的表项;
返回模块,用于当识别所述数据报文为第二类报文时,将所述第二类报文转发至主机,所述第二类报文为网卡不能直接处理的数据报文。
11.如权利要求10所述的系统,其特征在于,所述接收模块接收由虚拟机发送的数据报文包括:通过网卡硬件虚拟化技术接收由虚拟机发送的数据报文。
12.如权利要求10所述的系统,其特征在于,所述转发模块执行所述转发信息对应的操作包括:
当获得的转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述数据报文从查找到的所述端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述数据报文从查找到的所述端口发送出去。
13.如权利要求10所述的系统,其特征在于,所述返回模块还用于接收主机返回的处理报文,并将接收到的所述处理报文从上行端口转发出去,所述处理报文为所述网卡确定为外部转发并通过网卡连接端口发送的报文。
14.一种云服务器内卸载SDN虚拟网络功能的系统,其特征在于,设置于主机侧,包括:
处理模块,用于接收网卡发送的第二类报文,解析所述第二类报文,获得报文特征;依据所述报文特征,匹配所述主机的转发表项,获得转发动作信息;执行所述转发动作信息对应的操作;
其中,所述第二类报文为网卡不可处理的数据报文,所述主机的转发表项是由下发给虚拟交换机的表项规则经分析得到的规则复杂网卡的转发表不能支持的表项。
15.如权利要求14所述的系统,其特征在于:所述处理模块执行所述转发信息对应的操作包括:
当获得的转发动作信息为内部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为外部转发时,依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去。
16.如权利要求15所述的系统,其特征在于:所述处理模块依据所述第二类报文的特征查找到的所述第二类报文对应的虚拟机连接端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去包括:
判断所述内部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述虚拟机连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述虚拟机连接端口发送出去。
17.如权利要求15所述的系统,其特征在于:所述处理模块依据所述第二类报文的特征查找到的所述第二类报文对应的网卡连接端口,将所述第二类报文从查找到的所述网卡连接端口发送出去包括:
判断所述外部转发的第二类报文的转发动作信息;
当所述转发动作信息为直接转发时,依据所述数据报文的特征查找到所述数据报文对应的端口,将所述第二类报文从查找到的所述网卡连接端口发送出去;
当获得的转发动作信息为修改转发时,依据所述数据报文的特征查找到所述数据报文对应的端口并修改所述数据报文的特征,将修改后的所述第二类报文从查找到的所述网卡连接端口发送出去。
18.如权利要求16或17所述的系统,其特征在于:所述处理模块修改所述数据报文的特征包括:将匹配源端口信息修改匹配项为所述主机识别的报文特征替代源端口号信息。
CN201510685009.5A 2015-10-20 2015-10-20 一种云服务器内卸载sdn虚拟网络功能的方法和系统 Active CN105245456B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510685009.5A CN105245456B (zh) 2015-10-20 2015-10-20 一种云服务器内卸载sdn虚拟网络功能的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510685009.5A CN105245456B (zh) 2015-10-20 2015-10-20 一种云服务器内卸载sdn虚拟网络功能的方法和系统

Publications (2)

Publication Number Publication Date
CN105245456A CN105245456A (zh) 2016-01-13
CN105245456B true CN105245456B (zh) 2018-12-25

Family

ID=55042961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510685009.5A Active CN105245456B (zh) 2015-10-20 2015-10-20 一种云服务器内卸载sdn虚拟网络功能的方法和系统

Country Status (1)

Country Link
CN (1) CN105245456B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106998347A (zh) * 2016-01-26 2017-08-01 中兴通讯股份有限公司 服务器虚拟化网络共享的装置和方法
WO2019000434A1 (zh) * 2017-06-30 2019-01-03 华为技术有限公司 一种数据处理方法、网络接口卡及服务器
CN109698845B (zh) * 2017-10-20 2020-10-09 华为技术有限公司 数据传输的方法、服务器、卸载卡及存储介质
CN108199982B (zh) * 2018-01-03 2021-10-15 腾讯科技(深圳)有限公司 报文处理方法、装置、存储介质和计算机设备
CN110912825B (zh) * 2018-09-18 2022-08-02 阿里巴巴集团控股有限公司 一种报文的转发方法、装置、设备及系统
CN111224898A (zh) * 2018-11-23 2020-06-02 北京金山云网络技术有限公司 一种报文转发方法、装置、交换机设备及智能网卡
CN111224897A (zh) * 2018-11-23 2020-06-02 北京金山云网络技术有限公司 一种流量转发方法、装置、交换机设备及智能网卡
CN109936513A (zh) * 2019-02-18 2019-06-25 网宿科技股份有限公司 基于fpga的数据报文处理方法、智能网卡和cdn服务器
CN111698167B (zh) * 2020-04-01 2023-04-07 新华三大数据技术有限公司 一种报文处理方法及装置
CN113438219B (zh) * 2020-07-08 2023-06-02 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的重放交易识别方法及装置
CN112492002B (zh) * 2020-07-08 2023-01-20 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的交易转发方法及装置
CN111541789A (zh) 2020-07-08 2020-08-14 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的数据同步方法及装置
CN114157684B (zh) * 2020-08-18 2024-01-02 华为终端有限公司 一种报文处理的方法、设备以及存储介质
CN116866283A (zh) * 2020-10-31 2023-10-10 华为技术有限公司 一种流表处理方法及相关设备
CN114979028B (zh) * 2021-02-26 2024-02-23 中移(苏州)软件技术有限公司 一种数据包处理方法、装置以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102480420A (zh) * 2010-11-29 2012-05-30 北京系统工程研究所 报文发送方法以及报文接收方法、装置及系统
CN103401797A (zh) * 2013-07-24 2013-11-20 杭州华三通信技术有限公司 一种报文处理方法和设备
CN103873374A (zh) * 2014-03-27 2014-06-18 杭州华三通信技术有限公司 虚拟化系统中的报文处理方法及装置
CN103916314A (zh) * 2013-12-26 2014-07-09 杭州华为数字技术有限公司 报文转发控制方法和相关装置及物理主机

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102480420A (zh) * 2010-11-29 2012-05-30 北京系统工程研究所 报文发送方法以及报文接收方法、装置及系统
CN103401797A (zh) * 2013-07-24 2013-11-20 杭州华三通信技术有限公司 一种报文处理方法和设备
CN103916314A (zh) * 2013-12-26 2014-07-09 杭州华为数字技术有限公司 报文转发控制方法和相关装置及物理主机
CN103873374A (zh) * 2014-03-27 2014-06-18 杭州华三通信技术有限公司 虚拟化系统中的报文处理方法及装置

Also Published As

Publication number Publication date
CN105245456A (zh) 2016-01-13

Similar Documents

Publication Publication Date Title
CN105245456B (zh) 一种云服务器内卸载sdn虚拟网络功能的方法和系统
US10095645B2 (en) Presenting multiple endpoints from an enhanced PCI express endpoint device
US11706151B2 (en) Application-level network queueing
US10210120B2 (en) Method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch
KR101219910B1 (ko) 통합형 다중 전송 매체 커넥터 아키텍쳐 구현 디바이스, 방법 및 시스템
US11372787B2 (en) Unified address space for multiple links
US11586575B2 (en) System decoder for training accelerators
CN112929299B (zh) 基于fpga加速卡的sdn云网络实现方法、装置及设备
US9898435B2 (en) Aggregate baseboard management controller (BMC) controller
CN105049464B (zh) 用于加速网络虚拟化的技术
CN110557311B (zh) 用于系统级封装管芯间访问等待时间的处理器间通信方法
CN106557444A (zh) 实现sr-iov网卡的方法和装置、实现动态迁移的方法和装置
US9563581B1 (en) Remote-session keyboard and mouse input via generic device redirection
CN107391419A (zh) 支持多主机的通用序列汇流排集线设备及车用主机
CN102880587A (zh) 基于嵌入式加速核心的独立显卡架构
CN114742000B (zh) 基于FPGA集群的SoC芯片验证系统、验证方法、装置
US20220114132A1 (en) Data Switch Chip and Server
US9864718B2 (en) Physical layer network interface module (PHY-NIM) adaptation system
US10877920B2 (en) Communications device for routing signals on communications networks
CN111752705A (zh) 一种mcu云平台资源池化系统
Li et al. Implementation of gigabit ethernet controller with fault tolerance and prevention mechanism
CN112835837B (zh) 建立数据连接的方法、相关装置及计算机程序产品
CN210666746U (zh) 一种基于标准卡形态的虚拟化微服务器
Wang et al. High Performance Network Virtualization Architecture on FPGA SmartNIC
CN116737403A (zh) 数据处理方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant