CN103916314A - 报文转发控制方法和相关装置及物理主机 - Google Patents
报文转发控制方法和相关装置及物理主机 Download PDFInfo
- Publication number
- CN103916314A CN103916314A CN201310733898.9A CN201310733898A CN103916314A CN 103916314 A CN103916314 A CN 103916314A CN 201310733898 A CN201310733898 A CN 201310733898A CN 103916314 A CN103916314 A CN 103916314A
- Authority
- CN
- China
- Prior art keywords
- message
- network card
- host
- forwarding
- physical
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供报文转发控制方法和相关装置及物理主机。一种报文转发控制方法可包括:物理网卡接收来自虚拟机的待转发处理的第一报文,虚拟机部署于包括物理网卡的第一物理主机上;物理网卡在流表中查找是否存在与第一报文匹配的流表项;若未查找到与第一报文匹配的流表项,向第一物理主机中部署的宿主机Host发送包含第一报文的第一开放流协议报文;当接收到Host发送的用于响应第一开放流协议报文的第二开放流协议报文,物理网卡基于第二开放流协议报文中包含的转发处理规则对第一报文进行转发处理。本发明实施例的技术方案有利于实现物理网卡在虚拟架构下较精确的进行报文转发控制。
Description
技术领域
本发明涉及计算机技术领域,具体涉及报文转发控制方法和相关装置及物理主机。
背景技术
虚拟化技术是一种将底层硬件设备与上层操作系统、应用程序分离的去耦合技术,如图1所示,引入虚拟机监控器(VMM,Virtual Machine Monitor)层直接管理底层硬件资源,创建与底层硬件无关的虚拟机(VM,Virtual Machine)供上层操作系统和应用程序使用。
虚拟化技术作为当前流行的云计算(Cloud Computing)平台的底层重要支撑技术之一,可以极大的提高物理设备的资源使用效率。与传统的物理服务器相比,虚拟机具有更好的隔离性和封装性,其可以将整个虚拟机的信息保存到虚拟磁盘镜像(VDI,Virtual Disk Image)中,从而可以方便地对虚拟机进行快照、备份、克隆和分发等操作。
随着x86处理器演进,中央处理器(CPU,Central Processing Unit)、内存的虚拟化技术越来越完善,且开销也变得越来越小。基于最新处理器,大多数应用的CPU、内存虚拟化开销已经小于10%。在输入输出(I/O,Input/Output)虚拟化领域,高性能、低延时的虚拟I/O方案仍是虚拟化领域的一个关键技术挑战。
智能物理网卡大都支持虚拟化能力,这样物理网卡内部就可实现一定的交换功能,物理网卡中的交换机可以为通过网卡虚拟功能(VF,Virtual Functions)实体传输的数据进行选路转发,而这是用户所感知不到的。现在对智能物理网卡的使用都是通过在开启物理网卡的I/O虚拟功能后,将虚拟出的网卡VF设备直通给虚拟机使用。目前在虚拟架构下的物理网卡进行报文转发时难以进行较精确的转发控制。
发明内容
本发明实施例提供报文转发控制方法和相关装置及物理主机,以实现物理网卡在虚拟架构下较精确的进行报文转发控制。
本发明实施例的第一方面提供一种报文转发控制方法,可包括:
物理网卡接收来自虚拟机的待转发处理的第一报文,其中,所述虚拟机部署于包括所述物理网卡的第一物理主机上;
所述物理网卡在流表中查找是否存在与所述第一报文匹配的流表项;若未查找到与所述第一报文匹配的流表项,向所述第一物理主机中部署的宿主机Host发送包含所述第一报文的第一开放流协议报文;
当接收到所述Host发送的用于响应所述第一开放流协议报文的第二开放流协议报文,所述物理网卡基于所述第二开放流协议报文中包含的转发处理规则对所述第一报文进行转发处理。
结合第一方面,在第一种可能的实施方式中,
所述方法还包括:若所述物理网卡在所述流表中查找到与所述第一报文匹配的流表项,基于所述匹配的流表项中记录的转发处理规则对所述第一报文进行转发处理。
结合第一方面或第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述方法还包括:
所述物理网卡通过物理端口接收其他物理主机发来的第二报文;所述物理网卡向所述第二报文携带的目的虚拟机地址所对应的目的虚拟机转发所述第二报文,其中,所述目的虚拟机部署于所述第一物理主机之中;
或者,
所述物理网卡通过物理端口接收其他物理主机发来的第二报文;所述物理网卡在流表中查找是否存在与所述第二报文匹配的流表项;若未查找到与所述第二报文匹配的流表项,则向所述Host发送包含所述第二报文的第五开放流协议报文;当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,所述物理网卡基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
本发明实施例的第二方面提供一种报文转发控制方法,可包括:
包括在本物理主机中的物理网卡通过物理端口接收其他物理主机发来的第二报文;
所述物理网卡在流表中查找是否存在与所述第二报文匹配的流表项;当未查找到与所述第二报文匹配的流表项,则向所述本物理主机中部署的宿主机Host发送包含所述第二报文的第五开放流协议报文;
当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,所述物理网卡基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
结合第二方面,在第一种可能的实施方式中,
所述方法还包括:
若在所述流表中查找到与所述第二报文匹配的流表项,所述物理网卡基于所述匹配的流表项中记录的转发处理规则对所述第二报文进行转发处理。
本发明实施例第三方面提供一种报文转发控制方法,包括:
部署于物理主机中的宿主机Host接收处于所述物理主机中的物理网卡发送的包含第一报文的第一开放流协议报文;
所述Host基于预设策略得到用于转发处理所述第一报文的转发处理规则;
所述Host向所述物理网卡发送包含所述转发处理规则的第二开放流协议报文。
结合第三方面,在第一种可能的实施方式中,所述基于预设策略得到用于转发处理所述第一报文的转发处理规则,包括:
基于模糊匹配表得到用于转发处理所述第一报文的转发处理规则;
或者,
向软件定义网络SDN控制器发送包含所述第一报文的第三开放流协议报文;接收所述SDN控制器返回的包含用于转发处理所述第一报文的转发处理规则的第四开放流协议报文。
结合第三方面的第一种可能的实施方式,在第二种可能的实施方式中,在向所述SDN控制器发送包含有所述第一报文的第三开放流协议报文之前,还包 括:所述Host建立与所述SDN控制器之间的传输层协议连接,将包含所述第一报文的第三开放流协议报文封装到第一传输层协议报文之中;
其中,所述向SDN控制器发送包含有所述第一报文的第三开放流协议报文包括:基于所述传输层协议连接向SDN控制器发送包含有所述第三开放流协议报文所述第一传输层协议报文。
结合第三方面的第二种可能的实施方式,在第三种可能的实施方式中,所述传输层协议为传输控制协议或用户数据报协议。
本发明第四方面提供一种物理网卡,可包括:
网卡队列和开放流交换机;
其中,所述开放流交换机,用于通过所述网卡队列接收所述物理网卡所处的第一物理主机上部署的虚拟机发送的待转发处理的第一报文,在流表中查找是否存在与所述第一报文匹配的流表项;当在所述流表中未查找到与所述第一报文匹配的流表项,则向所述第一物理主机上部署的宿主机Host发送包含所述第一报文的第一开放流协议报文;当接收到所述Host发送的用于响应所述第一开放流协议报文的第二开放流协议报文,基于所述第二开放流协议报文中包含的转发处理规则对所述第一报文进行转发处理。
结合第四方面,在第一种可能的实施方式中,所述开放流交换机还用于当在所述流表中查找到与所述第一报文匹配的流表项,基于所述匹配的流表项中记录的转发处理规则对所述第一报文进行转发处理。
结合第四方面或第四方面的第一种可能的实施方式,在第二种可能的实施方式中,所述物理网卡还包括物理端口;
其中,所述开放流交换机还用于,通过所述物理端口接收其他物理主机发来的第二报文;通过所述网卡队列向所述第二报文携带的目的虚拟机地址所对应的目的虚拟机转发所述第二报文,其中,所述目的虚拟机部署于所述第一物理主机中;
或者,
所述开放流交换机还用于,通过所述物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与所述第二报文匹配的流表项;若未查找到与 所述第二报文匹配的流表项,则向所述Host发送包含所述第二报文的第五开放流协议报文;当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
本发明实施例第五方面提供一种物理网卡,包括:
物理端口和开放流交换机;
所述开放流交换机,用于通过所述物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与所述第二报文匹配的流表项;若未查找到与所述第二报文匹配的流表项,则向所述物理网卡所处的本物理主机中部署的宿主机Host发送包含所述第二报文的第五开放流协议报文;当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
结合第五方面,在第一种可能的实施方式中,所述开放流交换机还用于当在所述流表中查找到与所述第二报文匹配的流表项,基于所述匹配的流表项中记录的转发处理规则对所述第二报文进行转发处理。
本发明实施例第六方面提供一种宿主机,包括:
报文接收单元,用于接收物理网卡发送的包含有第一报文的第一开放流协议报文,所述物理网卡处于所述宿主机所部署的物理主机上;
获得单元,用于基于预设策略得到用于转发处理所述第一报文的转发处理规则;
发送单元,用于向所述物理网卡发送包含所述转发处理规则的第二开放流协议报文。
结合第六方面,在第一种可能的实施方式中,
所述获得单元具体用于,基于模糊匹配表得到用于转发处理所述第一报文的转发处理规则;或者,向软件定义网络SDN控制器发送包含有所述第一报文的第三开放流协议报文;接收所述SDN控制器返回的包含有用于转发处理所述第一报文的转发处理规则的第四开放流协议报文。
结合第六方面的第一种可能的实施方式中,在第二种可能的实施方式中,
所述宿主机还包括:连接建立单元,用于在向所述SDN控制器发送包含有所述第一报文的第三开放流协议报文之前,建立与所述SDN控制器之间的传输层协议连接;
其中,在所述向SDN控制器发送包含有所述第一报文的第三开放流协议报文的方面,所述获得单元具体用于,在将包含所述第一报文的第三开放流协议报文封装到第一传输层协议报文中之后,基于所述传输层协议连接向SDN控制器发送包含有所述第三开放流协议报文所述第一传输层协议报文。
本发明实施例第七方面提供一种物理主机,可包括:硬件层、运行在所述硬件层之上的宿主机Host和运行在所述Host之上的至少一个虚拟机,其中,所述硬件层包括物理网卡;
所述物理网卡,用于接收所述至少一个虚拟机中的一个虚拟机发送的待转发处理的第一报文,在流表中查找是否存在与所述第一报文匹配的流表项;若在所述流表中未查找到与所述第一报文匹配的流表项,则向所述Host发送包含所述第一报文的第一开放流协议报文;
其中,所述Host,用于接收所述物理网卡发送的包含有所述第一报文的所述第一开放流协议报文;基于预设策略得到用于转发处理所述第一报文的转发处理规则;向所述物理网卡发送包含有所述转发处理规则的第二开放流协议报文;
其中,所述物理网卡还用于当接收到所述Host发送的用于响应所述第一开放流协议报文的第二开放流协议报文,基于所述第二开放流协议报文中包含的转发处理规则对所述第一报文进行转发处理。
结合第七方面,在第一种可能的实施方式中,在所述基于预设策略得到用于转发处理所述第一报文的转发处理规则的方面,所述Host具体用于基于模糊匹配表得到用于转发处理所述第一报文的转发处理规则;或者,向软件定义网络SDN控制器发送包含有所述第一报文的第三开放流协议报文;接收所述SDN控制器返回的包含有用于转发处理所述第一报文的转发处理规则的第四开放流协议报文。
结合第七方面或第七方面的第一种可能的实施方式中,在第二种可能的实 施方式中,所述物理网卡还用于,通过物理端口接收其他物理主机发来的第二报文;向所述第二报文所携带目的虚拟机地址所对应的目的虚拟机转发所述第二报文,其中,所述目的虚拟机为所述至少一个虚拟机的其中一个;
或者,所述物理网卡还用于,通过物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与所述第二报文匹配的流表项;若未查找到与所述第二报文匹配的流表项,则向所述Host发送包含所述第二报文的第五开放流协议报文;当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
本发明第八方面提供一种物理主机,可包括:硬件层、运行在所述硬件层之上的宿主机Host和运行在所述Host之上的至少一个虚拟机,其中,所述硬件层包括物理网卡;
其中,所述物理网卡,用于通过物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与所述第二报文匹配的流表项;当未查找到与所述第二报文匹配的流表项,则向所述Host发送包含所述第二报文的第五开放流协议报文;
其中,所述Host,用于接收所述物理网卡发送的包含有所述第二报文的所述第五开放流协议报文;基于预设策略得到用于转发处理所述第二报文的转发处理规则;向所述物理网卡发送包含有所述转发处理规则的第六开放流协议报文;
其中,所述物理网卡还用于当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
结合第八方面,在第一种可能的实施方式中,在所述基于预设策略得到用于转发处理所述第二报文的转发处理规则的方面,所述Host具体用于基于模糊匹配表得到用于转发处理所述第二报文的转发处理规则;或者,向软件定义网络SDN控制器发送包含有所述第二报文的第三开放流协议报文;接收所述SDN控制器返回的包含有用于转发处理所述第二报文的转发处理规则的第四开放 流协议报文。
由上可见,本发明实施例的一些技术方案中,物理网卡接收到部署于该物理网卡所处第一物理主机上的虚拟机发送的待转发处理的第一报文后,先在流表中查找是否存在与上述第一报文匹配的流表项;若未查找到与上述第一报文匹配的流表项,则向部署于第一物理主机上的Host发送包含上述第一报文的第一开放流协议报文;当接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,物理网卡基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制,若执行基于流量控制的转发处理规则进行报文转发处理,则有利于通过较精确的转发控制实现较为精确的流量控制。且当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构,这样就有利于降低物理网卡的成本和复杂度,有利于提高物理网卡的场景通用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的虚拟化架构示意图;
图2是本发明实施例提供的另一种虚拟化架构示意图;
图3是本发明实施例提供的一种报文转发控制方法的流程示意图;
图4是本发明实施例提供的另一种报文转发控制方法的流程示意图;
图5-a是本发明实施例提供的另一种报文转发控制方法的流程示意图;
图5-b是本发明实施例提供的一种通信系统架构示意图;
图5-c是本发明实施例提供的另一种通信系统架构示意图;
图6是本发明实施例提供的另一种报文转发控制方法的流程示意图;
图7是本发明实施例提供的另一种报文转发控制方法的流程示意图;
图8是本发明实施例提供的另一种报文转发控制方法的流程示意图;
图9-a是本发明实施例提供的一种物理网卡的结构示意图;
图9-b是本发明实施例提供的另一种物理网卡的结构示意图;
图10-a是本发明实施例提供的另一种物理网卡的结构示意图;
图10-b是本发明实施例提供的另一种物理网卡的结构示意图;
图11-a是本发明实施例提供的一种宿主机的结构示意图;
图11-b是本发明实施例提供的另一种宿主机的结构示意图;
图12是本发明实施例提供的一种物理主机的结构示意图;
图13是本发明实施例提供的另一种物理主机的结构示意图;
图14是本发明实施例提供的另一种物理主机的结构示意图。
具体实施方式
本发明实施例提供报文转发控制方法和相关装置及物理主机,以实现物理网卡在虚拟架构下较精确的进行报文转发控制。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素;
虚拟机VM:
通过虚拟机软件可以在一台物理计算机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层:
虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某物理主机的硬件层可包括CPU和内存,还可以包括网卡、存储器等等高速/低速输入/输出(I/O,Input/Output)设备,及具有特定处理功能的其它物理主机,如输入输出内存管理单元(IOMMU,Input/Output Memory Management Unit),其中IOMMU可用于虚拟机物理地址和Host物理地址的转换。
I/O虚拟功能:
具有I/O虚拟功能的I/O设备在启动I/O虚拟功能后,可以虚拟出对应的物理功能(PF,Physical Function)设备和若干个虚拟功能(VF,Virtual Function)设备,其中,I/O设备虚拟出的PF设备主要负责管理功能,VF设备主要负责处理功能。
宿主机(Host):
作为管理层,主要用以完成硬件资源的管理和分配;为虚拟机呈现虚拟硬件平台;实现虚拟机的调度和隔离。
其中,Host可能是虚拟机监控器(VMM);此外,有时VMM和1个特权虚拟机配合,两者结合组成Host。其中,虚拟硬件平台对其上运行的各个虚拟机提供各种硬件资源,如提供虚拟CPU、内存、虚拟磁盘、虚拟网卡等等。虚拟磁盘可对应Host的一个文件或者一个逻辑块设备。虚拟机则运行在Host为其准备的虚拟硬件平台上,Host上运行一个或多个虚拟机。
参见图2,图2是本发明实施例提出的一种物理主机的软硬件体系架构的示意图,该体系架构主要包括三个层次:硬件层、Host和VM。其中,硬件层包 括若干个物理网卡等I/O设备。其中,Host运行在硬件层之上的、至少1个VM运行在Host之上。其中,图2中主要以物理网卡为具有I/O虚拟功能的智能物理网卡为例,物理网卡中可虚拟出对应的若干个虚拟功能VF设备。物理网卡虚拟出的每个VF设备可直通给不同的VM使用。其中,物理网卡中还具有开放流交换机(OpenFlow Switch)。
本发明实施例的方案在基于上述架构的物理主机具体实施,或可在类似架构上具体实施。
下面先对开放流机制进行简单介绍。
开放流(OpenFlow)技术最早是由斯坦福大学提出,旨在基于传输控制协议/因特网互联协议(TCP/IP,Transmission Control Protocol/Internet Protocol)技术条件,以创新的网络互联理念,来解决当前网络面对新业务而产生的种种瓶颈问题。其中,OpenFlow技术的核心思想是将原本完全由交换机/路由器控制的数据包转发过程,转化为由OpenFlow交换机(OpenFlow Switch)和软件定义网络(SDN,Software Defined Network)控制器(Controller)分别完成的独立过程。
在SDN架构中,SDN控制器决定所有报文在网络中传输路径。OpenFlow交换机会在本地维护若干个与转发表不同的流表(Flow Table)。如果需要转发的报文在Flow Table中有匹配的流表项,则基于Flow Table中对应的流表项进行转发处理。若Flow Table中报文对应的流表项,则该报文就会被发送到控制器进行传输路径的确认,控制器向交换设备传输新的流表项,OpenFlow交换设备根据下发的新流表项进行报文转发。这就意味着OpenFlow网络中的设备能够分布部署、集中管控,使网络变为软件可定义的形态。OpenFlow提供了1个可编程的接口,让网络使用者可决定如何路由报文、如何实现负载均衡或者如何进行访问控制等。这就使得网络中部署一种新路由协议或安全算法,往往仅需要在SDN控制器上撰写数百行代码,其开放性有利于加快新网络应用的快速开发和部署。
本发明报文转发控制方法的一个实施例,其中,一种报文转发控制方法可以包括:物理网卡接收来自虚拟机待转发处理的第一报文,其中,上述虚拟机 部署于上述物理网卡所处的第一物理主机上;上述物理网卡在流表中查找是否存在与上述第一报文匹配的流表项;若未查找到与上述第一报文匹配的流表项,向上述第一物理主机中部署的宿主机Host发送包含上述第一报文的第一开放流协议报文;当接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,上述物理网卡基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。
参见图3,图3为本发明的一个实施例提供的一种报文转发控制方法的流程示意图。如图3所示,本发明的一个实施例提供的一种报文转发控制方法可包括以下内容:
301、物理网卡接收来自虚拟机待转发处理的第一报文。
其中,上述虚拟机部署于上述物理网卡所处的第一物理主机上。
在本发明的一些实施例中,物理网卡例如可通过网卡队列(如网卡VF设备等)接收来自虚拟机的待转发处理的第一报文(此场景下第一报文的路由路径是由外到内)。
其中,第一报文可以是传输层协议报文、网络层协议报文或以太网协议报文等等。
其中,本发明各实施例中提及的物理主机可以是个人电脑、服务器、移动终端、平板电脑、交换机、路由器或者是可以进行报文收发的其它类型的物理主机。
302、物理网卡在流表中查找是否存在与上述第一报文匹配的流表项。
其中,物理网卡若未查找到与上述第一报文匹配的流表项,则物理网卡可向上述第一物理主机中部署的Host发送包含上述第一报文的第一开放流协议报文。
其中,物理网卡中可保存一个或多个流表。其中,每个流表中可包括一个或多个流表项,每个流表项中可记录有转发处理规则。其中,若在流表中查找到与上述第一报文匹配的流表项,则物理网卡可基于该匹配的流表项中记录的转发处理规则对上述第一报文进行转发处理。物理网卡若在流表中未查找到与上述第一报文匹配的流表项,则可认为物理网卡中当前缺乏第一报文的转发处 理规则,因此,物理网卡需要向Host请求第一报文的转发处理规则。
在本发明的一些实施例中,上述Host接收到物理网卡发送的包含第一报文的第一开放流协议报文之后,可基于预设策略得到用于转发处理上述第一报文的转发处理规则;并可向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文。
举例来说,Host基于预设策略得到用于转发处理上述第一报文的转发处理规则可包括:基于模糊匹配表(模糊匹配表可由SDN控制器下发给Host)得到用于转发处理上述第一报文的转发处理规则;或向SDN控制器发送包含有上述第一报文的第三开放流协议报文;接收上述SDN控制器返回的包含有用于转发处理上述第一报文的转发处理规则的第四开放流协议报文。其中,SDN控制器可基于预设的策略得到用于转发处理上述第一报文的转发处理规则,SDN控制器得到用于转发处理上述第一报文的转发处理规则的方式本实施例中不进行举例和限定。
在本发明的一些实施例中,Host在向上述SDN控制器发送包含有上述第一报文的第三开放流协议报文之前,Host还可先建立与上述SDN控制器之间的传输层协议连接,将包含上述第一报文的第三开放流协议报文封装到第一传输层协议报文之中(其中,Host可调用Host中协议栈将包含上述第一报文的第三开放流协议报文封装到第一传输层协议报文之中)。其中,Host向SDN控制器发送包含有上述第一报文的第三开放流协议报文具体可包括:Host基于上述传输层协议连接向SDN控制器发送包含有上述第三开放流协议报文上述第一传输层协议报文。相应的,Host可接收上述SDN控制器返回包含第四开放流协议报文的第二传输层协议报文,其中,上述第四开放流协议报文包含有用于转发处理上述第一报文的转发处理规则,Host从第四开放流协议报文获得用于转发处理上述第一报文的转发处理规则。可以理解的是,若将与SDN控制器交互的相关功能(例如协议栈等等)集成在Host之中,由Host来负责和SDN控制器进行相关交互。物理网卡直接从Host获得转发处理规则,因此,物理网卡的通信协议架构甚至硬件架构都可以极大简化,这样就有利于降低物理网卡的成本和复杂度,有利于提高物理网卡的场景通用性。
其中,上述传输层协议例如可为传输控制协议或用户数据报协议或其它传输层协议。
303、当接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,物理网卡基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。
其中,基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理可以是,丢弃第一报文或向其它物理主机转发第一报文。
进一步的,若上述第二开放流协议报文中包含的上述用于转发处理上述第一报文的转发处理规则,记录于上述第二开放流协议报文中包含的第一流表项之中,则物理网卡可将第一流表项插入到流表之中。或者,物理网卡亦可根据第二开放流协议报文中包含的上述用于转发处理上述第一报文的转发处理规则生成第二流表项,物理网卡可将第二流表项插入到流表之中,其中,第二流表项中记录有上述用于转发处理上述第一报文的转发处理规则。
在本发明的一些实施例中,上述报文转发控制方法还可包括:物理网卡还可通过物理端口接收其他物理主机发来的第二报文(其中,此场景下第二报文的路由路径是由外到内);上述物理网卡向上述第二报文携带的目的虚拟机地址所对应的目的虚拟机转发上述第二报文,其中,上述目的虚拟机部署于上述第一物理主机之中。
在本发明的另一些实施例中,上述报文转发控制方法还可包括:物理网卡通过物理端口接收其他物理主机发来的第二报文;上述物理网卡在流表中查找是否存在与上述第二报文匹配的流表项;若未查找到与第二报文匹配的流表项,则向上述Host发送包含上述第二报文的第五开放流协议报文;当接收到上述Host发送的用于响应上述第五开放流协议报文的第六开放流协议报文,上述物理网卡基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理。此外,上述物理网卡若在上述流表中查找到与上述第二报文匹配的流表项,上述物理网卡可基于上述匹配的流表项中记录的转发处理规则对上述第二报文进行转发处理。
其中,上述物理网卡基于上述匹配的流表项中记录的转发处理规则对上述 第二报文进行转发处理具体可以是,丢弃第二报文或向物理主机上的某个虚拟机或交换设备转发第二报文。
其中,上述物理网卡基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理具体可以是,丢弃第二报文或向物理主机上的某个虚拟机或交换设备转发第二报文。
在本发明的一些实施例中,上述Host接收到物理网卡发送的包含第二报文的第五开放流协议报文之后,可基于预设策略得到用于转发处理上述第二报文的转发处理规则;并可向上述物理网卡发送包含上述转发处理规则的第六开放流协议报文。其中,Host基于预设策略得到用于转发处理上述第二报文的转发处理规则的过程,类似于上述举例的Host基于预设策略得到用于转发处理上述第一报文的转发处理规则的过程,此处不再详述。
由上可见,本实施例提供的技术方案中,物理网卡接收到部署于该物理网卡所处第一物理主机上的虚拟机发送的待转发处理的第一报文后,先在流表中查找是否存在与上述第一报文匹配的流表项;若未查找到与上述第一报文匹配的流表项,则向部署于第一物理主机上的Host发送包含上述第一报文的第一开放流协议报文;当接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,物理网卡基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制,若执行基于流量控制的转发处理规则进行报文转发处理,则有利于通过较精确的转发控制实现较为精确的流量控制。且当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构(例如若物理网卡需要自行从SND控制器获取转发处理规则,则物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这样就有利于降低物理网卡的成本和复杂度,有利于提高物理网卡的场景通用性。
本发明实施例还提供另一种报文转发控制方法,可包括:
包括在本物理主机中的物理网卡通过物理端口接收其他物理主机发来的第二报文;上述物理网卡在流表中查找是否存在与上述第二报文匹配的流表项;当未查找到与上述第二报文匹配的流表项,则向上述本物理主机中部署的宿主机Host发送包含上述第二报文的第五开放流协议报文;当接收到上述Host发送的用于响应上述第五开放流协议报文的第六开放流协议报文,上述物理网卡基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理。
此外,上述物理网卡若在上述流表中查找到与上述第二报文匹配的流表项,上述物理网卡可基于上述匹配的流表项中记录的转发处理规则对上述第二报文进行转发处理。
其中,上述物理网卡基于上述匹配的流表项中记录的转发处理规则对上述第二报文进行转发处理具体可以是,丢弃第二报文或向物理主机上的某个虚拟机或交换设备转发第二报文。
其中,上述物理网卡基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理具体可以是,丢弃第二报文或向物理主机上的某个虚拟机或交换设备转发第二报文。
在本发明的一些实施例中,上述Host接收到物理网卡发送的包含第二报文的第五开放流协议报文之后,可基于预设策略得到用于转发处理上述第二报文的转发处理规则;并可向上述物理网卡发送包含上述转发处理规则的第六开放流协议报文。其中,Host基于预设策略得到用于转发处理上述第二报文的转发处理规则的过程,类似于上述实施例举例的Host基于预设策略得到用于转发处理上述第一报文的转发处理规则的过程,此处不再详述。
由上可见,本实施例提供的方案中,包括在本物理主机中的物理网卡通过物理端口接收其他物理主机发来的第二报文后,先在流表中查找是否存在与上述第二报文匹配的流表项;若未查找到与第二报文匹配的流表项,向部署于本物理主机上的Host发送包含上述第二报文的第五开放流协议报文;当接收到上述Host发送的用于响应上述第五开放流协议报文的第六开放流协议报文,物理网卡基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进 行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制,若执行基于流量控制的转发处理规则进行报文转发处理,则有利于通过较精确的转发控制实现较为精确的流量控制。且当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构(例如若物理网卡需要自行从SND控制器获取转发处理规则,则物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这样就有利于降低物理网卡的成本和复杂度,有利于提高物理网卡的场景通用性。
本发明报文转发控制方法的另一个实施例,其中,另一种报文转发控制方法可包括:部署于物理主机中的宿主机Host接收处于该物理主机中的物理网卡发送的包含第一报文的第一开放流协议报文;上述Host基于预设策略得到用于转发处理上述第一报文的转发处理规则;上述Host向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文。
参见图4,图4为本发明的另一个实施例提供的另一种报文转发控制方法的流程示意图。如图4所示,本发明的另一个实施例提供的另一种报文转发控制方法可包括以下内容:
401、部署于物理主机中的宿主机Host接收处于上述物理主机中的物理网卡发送的包含第一报文的第一开放流协议报文。
在本发明一些实施例中,物理网卡接收到待转发处理的第一报文,可在流表中查找是否存在与上述第一报文匹配的流表项;若未查找到与上述第一报文匹配的流表项,可向Host发送包含上述第一报文的第一开放流协议报文。Host接收到物理网卡发送的包含第一报文的第一开放流协议报文,就意味着物理网卡请求从Host获得第一报文对应的转发处理规则。
其中,物理网卡接收到待转发处理的第一报文可包括:物理网卡通过物理端口接收其他物理主机发来的第一报文,或者,物理网卡接收部署于上述物理网卡所处的第一物理主机上虚拟机发送的待转发处理的第一报文。
402、Host基于预设策略得到用于转发处理上述第一报文的转发处理规则。
举例来说,Host基于预设策略得到用于转发处理上述第一报文的转发处理规则可包括:基于模糊匹配表(模糊匹配表可由SDN控制器下发给Host)得到用于转发处理上述第一报文的转发处理规则;或向SDN控制器发送包含有上述第一报文的第三开放流协议报文;接收上述SDN控制器返回的包含有用于转发处理上述第一报文的转发处理规则的第四开放流协议报文。其中,SDN控制器可基于预设的策略得到用于转发处理上述第一报文的转发处理规则,SDN控制器得到用于转发处理上述第一报文的转发处理规则的方式本实施例中不进行举例和限定。
在本发明的一些实施例中,Host在向上述SDN控制器发送包含有上述第一报文的第三开放流协议报文之前,Host还可先建立与上述SDN控制器之间的传输层协议连接,将包含上述第一报文的第三开放流协议报文封装到第一传输层协议报文之中(其中,Host可调用Host中协议栈将包含上述第一报文的第三开放流协议报文封装到第一传输层协议报文之中)。其中,Host向SDN控制器发送包含有上述第一报文的第三开放流协议报文具体可包括:Host基于上述传输层协议连接向SDN控制器发送包含有上述第三开放流协议报文上述第一传输层协议报文。相应的,Host可接收上述SDN控制器返回包含第四开放流协议报文的第二传输层协议报文,其中,上述第四开放流协议报文包含有用于转发处理上述第一报文的转发处理规则,Host从第四开放流协议报文获得用于转发处理上述第一报文的转发处理规则。可以理解的是,若将与SDN控制器交互的相关功能(例如协议栈等等)集成在Host之中,由Host来负责和SDN控制器进行相关交互。物理网卡直接从Host获得转发处理规则,因此,物理网卡的通信协议架构甚至硬件架构都可以极大简化,这样就有利于降低物理网卡的成本和复杂度,有利于提高物理网卡的场景通用性。
其中,上述传输层协议例如可为传输控制协议或用户数据报协议或其它传输层协议。
403、Host向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文。
其中,Host获得用于转发处理第一报文的转发处理规则之后,通过用于响应第一开放流协议报文的第二开放流协议报文,向物理网卡发送获得的用于转发处理第一报文的转发处理规则。其中,Host可通过网卡驱动向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文。
进一步的,上述物理网卡若接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,则可基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。其中,物理网卡可通过网卡驱动接收到上述Host发送的包含上述转发处理规则的第二开放流协议报文。
进一步的,若上述第二开放流协议报文中包含的上述用于转发处理上述第一报文的转发处理规则,记录于上述第二开放流协议报文中包含的第一流表项之中,则物理网卡可将第一流表项插入到流表之中。或者,物理网卡亦可根据第二开放流协议报文中包含的上述用于转发处理上述第一报文的转发处理规则生成第二流表项,物理网卡可将第二流表项插入到流表之中,其中,第二流表项中记录有上述用于转发处理上述第一报文的转发处理规则。
由上可见,本实施例提供的技术方案中,Host接收同一物理主机中的物理网卡发送的包含第一报文的第一开放流协议报文;基于预设策略得到用于转发处理上述第一报文的转发处理规则;向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文,这就便于上述物理网卡接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文之后,基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡中引入可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制,若执行基于流量控制的转发处理规则进行报文转发处理,则有利于通过较精确的转发控制实现较为精确的流量控制。且当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构(例如若物理网卡需要自行从SND控制器获取转发处理规则,则物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交 互等功能),这样就有利于降低物理网卡的成本和复杂度,有利于提高物理网卡的场景通用性。
为便于更好的理解和实施本发明实施例的上述方案,下面通过一些具体例子进行举例说明。
参见图5-a和图5-b,其中,图5-a为本发明的另一个实施例提供的另一种报文转发控制方法的流程示意图。图5-b为本发明实施例提供的一种可用于实施如图5-a所示报文转发控制方法的通信系统架构的示意图。图5-c为本发明实施例提供的另一种可用于实施如图5-a所示报文转发控制方法的通信系统架构的示意图。与图5-b的主要区别在于,图5-c中举例Host和物理网卡的一种具体的内部逻辑架构,当然Host和物理网卡亦可具有区别于图5-c举例的其它内部逻辑架构。本实施例中主要以在图5-c所示架构下实施报文转发控制方法为例进行描述。
如图5-a所示,本发明的另一个实施例提供的另一种报文转发控制方法可包括以下内容:
501、物理网卡n1中的OpenFlow Switch,通过网卡VF设备k1接收虚拟机VM-1发送的报文b1(即网卡VF设备k1直通给虚拟机VM-1使用)。
其中,本实施例中的报文b1可相当于上述实施例中第一报文,物理网卡n1可相当于上述实施例中物理网卡。网卡VF设备k1可相当于上述实施例中网卡队列。其中,报文b1可为虚拟机VM-1发送的传输层协议报文、网络层协议报文或以太网协议报文等。
502、物理网卡n1中的OpenFlow Switch在流表中查找是否存在与报文b1匹配的流表项。
若是,则执行步骤503;
若否,则执行步骤504。
503、物理网卡n1中的OpenFlow Switch根据在流表中查找到的与报文b1匹配的流表项中记录的转发处理规则,对报文b1进行转发处理(例如丢弃报文b1或通过物理网卡n1的物理端口向其它物理主机转发报文b1)。
504、物理网卡n1中的OpenFlow Switch若未在流表中查找到与上述第一报 文匹配的流表项,则将报文b1封装到OpenFlow协议报文bo1之中,并向Host发送包含上述报文b1的OpenFlow协议报文bo1。
505、Host中的SDN代理通过网卡驱动(物理网卡n1的网卡驱动),接收包含上述报文b1的上述OpenFlow协议报文bo1。SDN代理调用协议栈将OpenFlow协议报文bo1封装到传输层协议报文boc1之中。SDN代理可通过物理网卡n1或物理网卡n2向SDN控制器发送传输层协议报文boc1。其中,下面主要以SDN代理通过物理网卡n2(其中,物理网卡n2与物理网卡n1为不同物理网卡)向SDN控制器发送上述传输层协议报文boc1为例。
506、SDN控制器接收传输层协议报文boc1,解封装传输层协议报文boc1以得到传输层协议报文boc1包含的OpenFlow协议报文bo1。SDN控制器可基于预设策略得到用于转发处理上述报文b1的转发处理规则。SDN控制器将包含有用于转发处理上述报文b1的转发处理规则的OpenFlow协议报文bo2封装到传输层协议报文boc2之中,向Host发送传输层协议报文boc2。
507、物理网卡n2接收上述传输层协议报文boc2,物理网卡n2向Host转发传输层协议报文boc2。
Host中的SDN代理调用协议栈,解封装上述传输层协议报文boc2以得到传输层协议报文boc2包含的OpenFlow协议报文bo2。
508、Host中的SDN代理通过网卡驱动向物理网卡n1发送OpenFlow协议报文bo2。
509、物理网卡n1中的OpenFlow Switch接收OpenFlow协议报文bo2,并基于上述OpenFlow协议报文bo2中包含的转发处理规则对上述报文b1进行转发处理。
进一步的,若上述OpenFlow协议报文bo2包含的上述用于转发处理上述报文b1的转发处理规则,记录于上述OpenFlow协议报文bo2中包含的第一流表项之中,则物理网卡n1可将第一流表项插入到流表之中。或物理网卡n1亦可根据OpenFlow协议报文bo2中包含的上述用于转发处理上述报文b1的转发处理规则生成第二流表项,物理网卡可将第二流表项插入到流表之中,其中,第二流表项中记录有上述用于转发处理上述报文b1的转发处理规则。
由上可见,本实施例提供的技术方案中,物理网卡接收到待转发处理的来自虚拟机的第一报文后,先在流表中查找是否存在与上述第一报文匹配的流表项;若未查找到与上述第一报文匹配的流表项,则向Host发送包含上述第一报文的第一开放流协议报文;Host接收物理网卡发送的包含第一报文的第一开放流协议报文;Host从SDN控制器得到用于转发处理上述第一报文的转发处理规则;向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文;物理网卡若接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,则可基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制。并且当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构(例如若物理网卡需要自行从SND控制器获取转发处理规则,则物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这就有利于降低物理网卡成本和复杂度,有利于提高物理网卡的场景通用性。
请参见图6,其中,图6为本发明另一个实施例提供的另一种报文转发控制方法的流程示意图。图5-b为本发明实施例提供的一种可用于实施如图6所示报文转发控制方法的通信系统架构的示意图。图5-c为本发明实施例提供的另一种可用于实施如图6所示报文转发控制方法的通信系统架构的示意图。本实施例中主要以在图5-c所示架构下实施报文转发控制方法为例进行描述。
如图6所示,本发明的另一个实施例提供的另一种报文转发控制方法可包括以下内容:
601、物理网卡n1中的OpenFlow Switch,通过物理网卡n1的物理端口接收来自其它物理主机的待转发处理的报文b2(即报文b2来自于其它物理主机)。
其中,本实施例中的报文b2可相当于上述实施例中第二报文,物理网卡n1可相当于上述实施例中物理网卡。
602、物理网卡n1中的OpenFlow Switch在流表中查找是否存在与报文b2匹配的流表项。
若是,则执行步骤603;
若否,则执行步骤604。
603、物理网卡n1中的OpenFlow Switch根据在流表中查找到的与报文b2匹配的流表项中记录的转发处理规则,对报文b2进行转发处理(例如丢弃报文b2或通过网卡VF设备k1向虚拟机VM-1转发报文b2,此处以网卡VF设备k1直通给虚拟机VM-1使用为例)。
604、物理网卡n1中的OpenFlow Switch若未在流表中查找到与上述第一报文匹配的流表项,则将报文b2封装到OpenFlow协议报文bo3之中,并向Host发送包含上述报文b2的OpenFlow协议报文bo3。
605、Host中的SDN代理通过网卡驱动(物理网卡n1的网卡驱动),接收包含上述报文b2的上述OpenFlow协议报文bo3。SDN代理调用协议栈将OpenFlow协议报文bo3封装到传输层协议报文boc3之中。SDN代理可通过物理网卡n1或物理网卡n2向SDN控制器发送传输层协议报文boc3。其中,下面主要以SDN代理通过物理网卡n2(其中,物理网卡n2与物理网卡n1为不同物理网卡)向SDN控制器发送上述传输层协议报文boc3为例。
606、SDN控制器接收传输层协议报文boc3,解封装传输层协议报文boc3以得到传输层协议报文boc3包含的OpenFlow协议报文bo3。SDN控制器可基于预设策略得到用于转发处理上述报文b2的转发处理规则。SDN控制器将包含有用于转发处理上述报文b2的转发处理规则的OpenFlow协议报文bo4封装到传输层协议报文boc4之中,向Host发送传输层协议报文boc4。
607、物理网卡n2接收上述传输层协议报文boc4,物理网卡n2向Host转发传输层协议报文boc4。
Host中的SDN代理调用协议栈,解封装上述传输层协议报文boc4以得到传输层协议报文boc4包含的OpenFlow协议报文bo4。
608、Host中的SDN代理通过网卡驱动向物理网卡n1发送OpenFlow协议报文bo4。
609、物理网卡n1中的OpenFlow Switch接收OpenFlow协议报文bo4,并基于上述OpenFlow协议报文bo4中包含的转发处理规则对上述报文b2进行转发处理。
进一步的,若上述OpenFlow协议报文bo4包含的上述用于转发处理上述报文b2的转发处理规则,记录于上述OpenFlow协议报文bo4中包含的第一流表项之中,则物理网卡n1可将第一流表项插入到流表之中。或物理网卡n1亦可根据OpenFlow协议报文bo4中包含的上述用于转发处理上述报文b2的转发处理规则生成第二流表项,物理网卡可将第二流表项插入到流表之中,其中,第二流表项中记录有上述用于转发处理上述报文b2的转发处理规则。
由上可见,本实施例提供的技术方案中,物理网卡通过物理端口接收到来自其它物理主机的待转发处理的第一报文之后,先在流表中查找是否存在与上述第一报文匹配的流表项;若未查找到与上述第一报文匹配的流表项,则向Host发送包含上述第一报文的第一开放流协议报文;Host接收物理网卡发送的包含第一报文的第一开放流协议报文;Host从SDN控制器得到用于转发处理上述第一报文的转发处理规则;向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文;物理网卡若接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,则可基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制。并且,当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构(例如,若物理网卡需要自行从SND控制器获取转发处理规则,则物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这就有利于降低物理网卡成本和复杂度,有利于提高物理网卡的场景通用性。
参见图7,其中,图7为本发明的另一个实施例提供的另一种报文转发控制方法的流程示意图。图5-b为本发明实施例提供的一种可用于实施如图7所示报 文转发控制方法的通信系统架构的示意图。图5-c为本发明实施例提供的另一种可用于实施如图7所示报文转发控制方法的通信系统架构的示意图。本实施例中主要以在图5-c所示架构下实施报文转发控制方法为例进行描述。
如图7所示,本发明的另一个实施例提供的另一种报文转发控制方法可包括以下内容:
701、物理网卡n1中的OpenFlow Switch,通过网卡VF设备k1接收虚拟机VM-1发送的报文b3(即网卡VF设备k1直通给虚拟机VM-1使用)。
其中,本实施例中的报文b3可相当于上述实施例中第一报文,物理网卡n1可相当于上述实施例中物理网卡。网卡VF设备k1可相当于上述实施例中网卡队列。其中,报文b3可为虚拟机VM-1发送的传输层协议报文、网络层协议报文或以太网协议报文等。
702、物理网卡n1中的OpenFlow Switch在流表中查找是否存在与报文b3匹配的流表项。
若是,则执行步骤703;
若否,则执行步骤704。
703、物理网卡n1中的OpenFlow Switch根据在流表中查找到的与报文b3匹配的流表项中记录的转发处理规则,对报文b3进行转发处理(例如丢弃报文b3或通过物理网卡n1的物理端口向其它物理主机转发报文b3)。
704、物理网卡n1中的OpenFlow Switch若未在流表中查找到与上述第一报文匹配的流表项,则将报文b3封装到OpenFlow协议报文bo5之中,并向Host发送包含上述报文b3的OpenFlow协议报文bo5。
705、Host中的SDN代理通过网卡驱动(物理网卡n1的网卡驱动),接收包含上述报文b3的上述OpenFlow协议报文bo5。
SDN代理判断是否存在Host中是否存在得到用于转发处理上述报文b3的转发处理规则所使用的模糊匹配表。
若是,执行步骤706;
若否,执行步骤707;
706、SDN代理根据模糊匹配表得到用于转发处理上述报文b3的转发处理 规则,跳转至步骤711。
707、SDN代理调用协议栈将OpenFlow协议报文bo5封装到传输层协议报文boc5之中。SDN代理可通过物理网卡n1或物理网卡n2向SDN控制器发送传输层协议报文boc5。其中,下面主要以SDN代理通过物理网卡n2(其中,物理网卡n2与物理网卡n1为不同物理网卡)向SDN控制器发送上述传输层协议报文boc5为例。
708、SDN控制器接收传输层协议报文boc5,解封装传输层协议报文boc5以得到传输层协议报文boc5包含的OpenFlow协议报文bo5。SDN控制器可基于预设策略得到用于转发处理上述报文b3的转发处理规则。SDN控制器将包含有用于转发处理上述报文b3的转发处理规则的OpenFlow协议报文bo6封装到传输层协议报文boc6之中,向Host发送传输层协议报文boc6。
709、物理网卡n2接收上述传输层协议报文boc6,物理网卡n2向Host转发传输层协议报文boc6。
Host中的SDN代理调用协议栈,解封装上述传输层协议报文boc6以得到传输层协议报文boc6包含的OpenFlow协议报文bo6。
710、Host中的SDN代理通过网卡驱动向物理网卡n1发送包含用于转发处理上述报文b3的转发处理规则的OpenFlow协议报文bo6。
711、物理网卡n1中的OpenFlow Switch接收OpenFlow协议报文bo6,并基于上述OpenFlow协议报文bo6中包含的转发处理规则对上述报文b3进行转发处理。
进一步的,若上述OpenFlow协议报文bo6包含的上述用于转发处理上述报文b3的转发处理规则,记录于上述OpenFlow协议报文bo6中包含的第一流表项之中,则物理网卡n1可将第一流表项插入到流表之中。或物理网卡n1亦可根据OpenFlow协议报文bo6中包含的上述用于转发处理上述报文b3的转发处理规则生成第二流表项,物理网卡可将第二流表项插入到流表之中,其中,第二流表项中记录有上述用于转发处理上述报文b3的转发处理规则。
由上可见,本实施例提供的技术方案中,物理网卡接收到待转发处理的来自虚拟机的第一报文后,先在流表中查找是否存在与上述第一报文匹配的流表 项;若未查找到与上述第一报文匹配的流表项,则向Host发送包含上述第一报文的第一开放流协议报文;Host从SDN控制器或基于模糊匹配表得到用于转发处理上述第一报文的转发处理规则;向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文;物理网卡若接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,则可基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制。并且,当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构(例如若物理网卡需要自行从SND控制器获取转发处理规则,则物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这就有利于降低物理网卡成本和复杂度,有利于提高物理网卡的场景通用性。
参见图8,其中,图8为本发明另一个实施例提供的另一种报文转发控制方法的流程示意图。图5-b为本发明实施例提供的一种可用于实施如图8所示报文转发控制方法的通信系统架构的示意图。图5-c为本发明实施例提供的另一种可用于实施如图8所示报文转发控制方法的通信系统架构的示意图。本实施例中主要以在图5-c所示架构下实施报文转发控制方法为例进行描述。
如图8所示,本发明的另一个实施例提供的另一种报文转发控制方法可包括以下内容:
801、物理网卡n1中的OpenFlow Switch,通过物理网卡n1的物理端口接收待转发处理的报文b4(即报文b4来自于其它物理主机)。
其中,本实施例中的报文b4可相当于上述实施例中第二报文,物理网卡n1可相当于上述实施例中物理网卡。
802、物理网卡n1中的OpenFlow Switch在流表中查找是否存在与报文b4匹配的流表项。
若是,则执行步骤803;
若否,则执行步骤804。
803、物理网卡n1中的OpenFlow Switch根据在流表中查找到的与报文b4匹配的流表项中记录的转发处理规则,对报文b4进行转发处理(例如丢弃报文b4或通过网卡VF设备k1向虚拟机VM-1转发报文b4,此处以网卡VF设备k1直通给虚拟机VM-1使用为例)。
804、物理网卡n1中的OpenFlow Switch若未在流表中查找到与上述第一报文匹配的流表项,则将报文b4封装到OpenFlow协议报文bo7之中,并向Host发送包含上述报文b4的OpenFlow协议报文bo7。
805、Host中的SDN代理通过网卡驱动(物理网卡n1的网卡驱动),接收包含上述报文b4的上述OpenFlow协议报文bo7。
SDN代理判断是否存在Host中是否存在得到用于转发处理上述报文b4的转发处理规则所使用的模糊匹配表。
若是,执行步骤806;
若否,执行步骤807;
806、SDN代理根据模糊匹配表得到用于转发处理上述报文b4的转发处理规则,跳转至步骤711。
807、SDN代理调用协议栈将OpenFlow协议报文bo7封装到传输层协议报文boc7之中。SDN代理可通过物理网卡n1或物理网卡n2向SDN控制器发送传输层协议报文boc7。其中,下面主要以SDN代理通过物理网卡n2(其中,物理网卡n2与物理网卡n1为不同物理网卡)向SDN控制器发送上述传输层协议报文boc7为例。
808、SDN控制器接收传输层协议报文boc7,解封装传输层协议报文boc7以得到传输层协议报文boc7包含的OpenFlow协议报文bo7。SDN控制器可基于预设策略得到用于转发处理上述报文b4的转发处理规则。SDN控制器将包含有用于转发处理上述报文b4的转发处理规则的OpenFlow协议报文bo8封装到传输层协议报文boc8之中,向Host发送传输层协议报文boc8。
809、物理网卡n2接收上述传输层协议报文boc8,物理网卡n2向Host转发传输层协议报文boc8。
Host中的SDN代理调用协议栈,解封装上述传输层协议报文boc8以得到传输层协议报文boc8包含的OpenFlow协议报文bo8。
810、Host中的SDN代理通过网卡驱动向物理网卡n1发送包含用于转发处理上述报文b4的转发处理规则的OpenFlow协议报文bo8。
811、物理网卡n1中的OpenFlow Switch接收OpenFlow协议报文bo8,并基于上述OpenFlow协议报文bo8中包含的转发处理规则对上述报文b4进行转发处理。
进一步的,若上述OpenFlow协议报文bo8包含的上述用于转发处理上述报文b4的转发处理规则,记录于上述OpenFlow协议报文bo8中包含的第一流表项之中,则物理网卡n1可将第一流表项插入到流表之中。或物理网卡n1亦可根据OpenFlow协议报文bo8中包含的上述用于转发处理上述报文b4的转发处理规则生成第二流表项,物理网卡可将第二流表项插入到流表之中,其中,第二流表项中记录有上述用于转发处理上述报文b4的转发处理规则。
由上可见,本实施例提供的技术方案中,物理网卡通过物理端口接收到待转发处理的第一报文后,先在流表中查找是否存在与上述第一报文匹配的流表项;若未查找到与上述第一报文匹配的流表项,则向Host发送包含上述第一报文的第一开放流协议报文;Host从SDN控制器或基于模糊匹配表得到用于转发处理上述第一报文的转发处理规则;向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文;物理网卡若接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,则可基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制。并且,当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构(例如若物理网卡需要自行从SND控制器获取转发处理规则,则物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这就有利于降低物理网卡成本和复杂 度,有利于提高物理网卡的场景通用性。
参见图9-a,本发明实施例提供一种物理网卡900,可包括:
网卡队列910和开放流交换机920。
其中,开放流交换机920,用于通过网卡队列910接收上述物理网卡900所处的第一物理主机上部署的虚拟机发送的待转发处理的第一报文,在流表中查找是否存在与上述第一报文匹配的流表项;当在上述流表中未查找到与上述第一报文匹配的流表项,向上述第一物理主机上部署的宿主机Host发送包含上述第一报文的第一开放流协议报文;当接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。
进一步的,开放流交换机920还可用于当在上述流表中查找到与上述第一报文匹配的流表项,基于上述匹配的流表项中记录的转发处理规则对上述第一报文进行转发处理。
参见图9-b,在本发明的一些实施例中,物理网卡900还可以包括物理端口930。其中,开放流交换机920还可用于,通过物理端口930接收其他物理主机发来的第二报文;通过网卡队列910向上述第二报文携带的目的虚拟机地址所对应的目的虚拟机转发上述第二报文,其中,上述目的虚拟机部署于上述第一物理主机中。
或者,
开放流交换机920还可用于,通过物理端口930接收其他物理主机发来的第二报文;在流表中查找是否存在与上述第二报文匹配的流表项;若未查找到与上述第二报文匹配的流表项,则向上述Host发送包含上述第二报文的第五开放流协议报文;当接收到上述Host发送的用于响应上述第五开放流协议报文的第六开放流协议报文,基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理。
进一步的,开放流交换机920还可用于当在上述流表中查找到与上述第二报文匹配的流表项,基于上述匹配的流表项中记录的转发处理规则对上述第二报文进行转发处理。
可以理解的是,本实施例中的物理网卡900各个器件的功能可根据上述方法实施例介绍的方法具体实现,其具体实现过程可以参见上述实施例中的相关描述,在此不再赘述。
由上可见,本实施例提供的技术方案中,物理网卡900通过网卡队列接收物理网卡900所部署的第一物理主机上部署的虚拟机发送的待转发处理的第一报文之后,先在流表中查找是否存在与上述第一报文匹配的流表项;若未查找到与上述第一报文匹配的流表项,则向Host发送携带包含上述第一报文的第一开放流协议报文;若接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文,则可基于上述第二开放流协议报文中携带包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制。并且,当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它设备其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构(例如若物理网卡需要自行从SND控制器获取转发处理规则,则物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这就有利于降低物理网卡成本和复杂度,有利于提高物理网卡的场景通用性。
参见图10-a,本发明实施例提供一种物理网卡1000,可包括:
物理端口1010和开放流交换机1020。
开放流交换机1020,用于通过物理端口1010接收其他物理主机发来的第二报文;在流表中查找是否存在与上述第二报文匹配的流表项;若未查找到与上述第二报文匹配的流表项,则向上述物理网卡所部属的第一物理主机中部署的宿主机Host发送包含上述第二报文的第五开放流协议报文;当接收到上述Host发送的用于响应上述第五开放流协议报文的第六开放流协议报文,基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理。
在本发明的一些实施例中,开放流交换机1020还可用于当在上述流表中查找到与上述第二报文匹配的流表项,基于上述匹配的流表项中记录的转发处理 规则对上述第二报文进行转发处理。
参见图10-b,在本发明的一些实施例中,物理网卡1000还可以包括网卡队列1030。
其中,开放流交换机1020基于上述匹配的流表项中记录的转发处理规则对上述第二报文进行转发处理具体可以是,丢弃第二报文或向其他物理主机或通过网卡队列1030向物理主机上的某个虚拟机转发第二报文。
其中,上述物理网卡基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理具体可以是,丢弃第二报文或向其他物理主机或通过网卡队列1030向物理主机上的某个虚拟机转发第二报文。
可以理解的是,本实施例中的物理网卡1000各个器件的功能可根据上述方法实施例介绍的方法具体实现,其具体实现过程可以参见上述实施例中的相关描述,在此不再赘述。
由上可见,本实施例提供的技术方案中,物理网卡1000通过物理端口接收其他物理主机发来的第二报文后,先在流表中查找是否存在与上述第二报文匹配的流表项;若未查找到与第二报文匹配的流表项,向部署于第一物理主机上的Host发送包含上述第二报文的第五开放流协议报文;当接收到上述Host发送的用于响应上述第五开放流协议报文的第六开放流协议报文,物理网卡基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制,若执行基于流量控制的转发处理规则进行报文转发处理,则有利于通过较精确的转发控制实现较为精确的流量控制。且当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构(例如若物理网卡需要自行从SND控制器获取转发处理规则,则物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这样就有利于降低物理网卡的成本和复杂度,有利于提高物理网卡的场景通用性。
参见图11-a,本发明实施例提供一种宿主机1100,可包括:
报文接收单元1110、获得单元1120和发送单元1130。
其中,报文接收单元1110,用于接收物理网卡发送的包含有第一报文的第一开放流协议报文,其中,上述物理网卡处于上述宿主机所部署的物理主机上;
获得单元1120,用于基于预设策略得到用于转发处理上述第一报文的转发处理规则;
发送单元1130,用于向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文。
在本发明的一些实施例中,获得单元1120可具体用于,基于模糊匹配表得到用于转发处理上述第一报文的转发处理规则;或者,向软件定义网络SDN控制器发送包含有上述第一报文的第三开放流协议报文;接收上述SDN控制器返回的包含有用于转发处理上述第一报文的转发处理规则的第四开放流协议报文。
参见图11-b,在本发明的一些实施例中,宿主机1100还可包括:连接建立单元1140,用于在向上述SDN控制器发送包含有上述第一报文的第三开放流协议报文之前,建立与上述SDN控制器之间的传输层协议连接。
其中,在上述向SDN控制器发送包含有上述第一报文的第三开放流协议报文的方面,获得单元1120可具体用于,在将包含上述第一报文的第三开放流协议报文封装到第一传输层协议报文中之后,基于上述传输层协议连接向SDN控制器发送包含有上述第三开放流协议报文上述第一传输层协议报文。
可以理解的是,本实施例中的宿主机1100各模块的功能可根据上述方法实施例介绍的方法具体实现,其具体实现过程可以参见上述实施例中的相关描述,在此不再赘述。
由上可见,本实施例提供的技术方案中,Host1100接收物理网卡发送的包含第一报文的第一开放流协议报文;基于预设策略得到用于转发处理上述第一报文的转发处理规则;向上述物理网卡发送包含上述转发处理规则的第二开放流协议报文,这就便于上述物理网卡接收到上述Host发送的用于响应上述第一开放流协议报文的第二开放流协议报文之后,基于上述第二开放流协议报文中 包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制。并且当物理网卡中缺失报文的转发处理规则时,物理网卡直接从Host获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡中的通信协议架构甚至硬件架构(例如,若物理网卡需要自行从SND控制器获取转发处理规则,则物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这就有利于降低物理网卡成本和复杂度,有利于提高物理网卡的场景通用性。
参见图12,本发明实施例提供一种物理主机1200,可包括,硬件层1210和运行在上述硬件层1210之上的宿主机1202和运行在上述Host之上的至少一个虚拟机1203,其中,上述硬件层1210包括至少一个物理网卡1211。
物理网卡1211,用于接收上述至少一个虚拟机1203中的其中一个虚拟机1203发送的待转发处理的第一报文,在流表中查找是否存在与上述第一报文匹配的流表项;若在上述流表中未查找到与上述第一报文匹配的流表项,则向宿主机1202发送包含上述第一报文的第一开放流协议报文。
其中,宿主机1202,用于接收物理网卡1211发送的包含有上述第一报文的上述第一开放流协议报文;基于预设策略得到用于转发处理上述第一报文的转发处理规则;向物理网卡1211发送包含有上述转发处理规则的第二开放流协议报文。
其中,物理网卡1211还用于当接收到宿主机1202发送的用于响应上述第一开放流协议报文的第二开放流协议报文,基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。
在本发明的一些实施例中,在上述基于预设策略得到用于转发处理上述第一报文的转发处理规则的方面,宿主机1202具体用于基于模糊匹配表得到用于转发处理上述第一报文的转发处理规则;或者,向SDN控制器发送包含有上述第一报文的第三开放流协议报文;接收上述SDN控制器返回的包含有用于转发处理上述第一报文的转发处理规则的第四开放流协议报文。
在本发明的一些实施例中,宿主机1202在向上述SDN控制器发送包含有上述第一报文的第三开放流协议报文之前,宿主机1202还可用于,建立与上述SDN控制器之间的传输层协议连接。宿主机1202将包含上述第一报文的第三开放流协议报文封装到第一传输层协议报文之中(其中,宿主机1202可调用宿主机1202中协议栈将包含上述第一报文的第三开放流协议报文封装到第一传输层协议报文之中)。其中,宿主机1202向SDN控制器发送包含有上述第一报文的第三开放流协议报文具体可包括:宿主机1202基于上述传输层协议连接向SDN控制器发送包含有上述第三开放流协议报文上述第一传输层协议报文。相应的,宿主机1202可接收上述SDN控制器返回包含第四开放流协议报文的第二传输层协议报文,其中,上述第四开放流协议报文包含有用于转发处理上述第一报文的转发处理规则,宿主机1202从第四开放流协议报文获得用于转发处理上述第一报文的转发处理规则。可以理解的是,若将与SDN控制器交互的相关功能(例如协议栈等等)集成在宿主机1202之中,由宿主机1202来负责和SDN控制器进行相关交互。物理网卡直接从宿主机1202获得转发处理规则,因此,物理网卡的通信协议架构甚至硬件架构都可以极大简化,这样就有利于降低物理网卡的成本和复杂度,有利于提高物理网卡的场景通用性。
在本发明的一些实施例中,物理网卡1211还可用于,通过物理端口接收其他物理主机发来的第二报文;向上述第二报文所携带目的虚拟机地址所对应的目的虚拟机转发上述第二报文,其中,上述目的虚拟机为上述至少一个虚拟机的其中一个。
或者,物理网卡1211还用于,通过物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与上述第二报文匹配的流表项;若未查找到与上述第二报文匹配的流表项,则向宿主机1202发送包含上述第二报文的第五开放流协议报文;当接收到宿主机1202发送的用于响应上述第五开放流协议报文的第六开放流协议报文,基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理。
其中,宿主机1202,用于接收物理网卡1211发送的包含有上述第二报文的上述第五开放流协议报文;基于预设策略得到用于转发处理上述第二报文的转 发处理规则;向物理网卡1211发送包含有上述转发处理规则的第五开放流协议报文。
可以理解的是,本实施例中的物理主机1200各功能器件的功能可根据上述方法实施例介绍的方法具体实现,其具体实现过程可以参见上述实施例中的相关描述,在此不再赘述。
由上可见,本实施例的方案中,物理网卡1211接收到部署于该物理网卡1211所处物理主机1200上的虚拟机发送的待转发处理的第一报文后,先在流表中查找是否存在与上述第一报文匹配的流表项;若未查找到与上述第一报文匹配的流表项,则向部署于物理主机1200上的宿主机1202发送包含上述第一报文的第一开放流协议报文;当接收到上述宿主机1202发送的用于响应上述第一开放流协议报文的第二开放流协议报文,物理网卡1211基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡1211中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡1211在虚拟架构下较精确的进行转发控制,若执行基于流量控制的转发处理规则进行报文转发处理,则有利于通过较精确的转发控制实现较为精确的流量控制。且当物理网卡1211中缺失报文的转发处理规则时,物理网卡1211直接从宿主机1202获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡1211的通信协议架构甚至硬件架构,这样就有利于降低物理网卡1211的成本和复杂度,有利于提高物理网卡1211的场景通用性。
参见图13,本发明实施例提供一种物理主机1300,可包括,硬件层1310和运行在上述硬件层1310之上的宿主机1302和运行在上述Host之上的至少一个虚拟机1303,其中,上述硬件层1310包括至少一个物理网卡1311。
其中,上述物理网卡1311,用于通过物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与上述第二报文匹配的流表项;当未查找到与上述第二报文匹配的流表项,则向上述宿主机1302发送包含上述第二报文的第五开放流协议报文。
其中,上述宿主机1302,用于接收上述物理网卡1311发送的包含有上述第 二报文的上述第五开放流协议报文;基于预设策略得到用于转发处理上述第二报文的转发处理规则;向上述物理网卡1311发送包含有上述转发处理规则的第六开放流协议报文。
其中,上述物理网卡1311还用于当接收到上述宿主机1302发送的用于响应上述第五开放流协议报文的第六开放流协议报文,基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理。
在本发明的一些实施例中,在上述基于预设策略得到用于转发处理上述第二报文的转发处理规则的方面,上述宿主机1302具体用于,基于模糊匹配表得到用于转发处理上述第二报文的转发处理规则;或者,向SDN控制器发送包含有上述第二报文的第三开放流协议报文;接收上述SDN控制器返回的包含有用于转发处理上述第二报文的转发处理规则的第四开放流协议报文。
可以理解的是,本实施例中的物理主机1200各功能器件的功能可根据上述方法实施例介绍的方法具体实现,其具体实现过程可以参见上述实施例中的相关描述,在此不再赘述。
由上可见,本实施例提供的方案中,包括在物理主机1300中的物理网卡1311通过物理端口接收其他物理主机发来的第二报文后,先在流表中查找是否存在与上述第二报文匹配的流表项;若未查找到与第二报文匹配的流表项,向部署于物理主机1300上的宿主机1302发送包含上述第二报文的第五开放流协议报文;当接收到上述宿主机1302发送的用于响应上述第五开放流协议报文的第六开放流协议报文,物理网卡1311基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理。由于在物理网卡1311中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡1311在虚拟架构下较精确的进行转发控制,若执行基于流量控制的转发处理规则进行报文转发处理,则有利于通过较精确的转发控制实现较为精确的流量控制。并且,当物理网卡1311中缺失报文的转发处理规则时,物理网卡1311直接从宿主机1302获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡1311的通信协议架构甚至硬件架构(例如若物理网卡1311需要自行从SND控制器获取转发处理规则,则物理网 卡1311的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这样就有利于降低物理网卡1311的成本和复杂度,有利于提高物理网卡1311的场景通用性。
图14描述了本发明实施例提供的一种物理主机1400的结构,该物理主机1400包括:至少一个处理器1401,例如CPU,至少一个网络接口1404或者其他用户接口1403,存储器1405,至少一个通信总线1402。通信总线1402用于实现这些组件之间的连接通信。该物理主机1400可选的包含用户接口1403,包括显示器,键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触感显示屏)。存储器1405可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1405可选的可以包含至少一个处于远离前述处理器1401的存储装置。其中,网络接口1404包括物理网卡等。
在一些实施方式中,存储器1405存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:宿主机14051和至少一个虚拟机14052。其中,受处理器1401的调用,宿主机14051可具有如上述实施例所描述宿主机的部分或全部功能,受处理器1401的调用,虚拟机14052可以具有如上述实施例所描述虚拟机的部分或全部功能。
受处理器1401的调用,物理网卡用于接收上述至少一个虚拟机中的一个虚拟机发送的待转发处理的第一报文,在流表中查找是否存在与上述第一报文匹配的流表项;若在上述流表中未查找到与上述第一报文匹配的流表项,则向处理器1401发送包含上述第一报文的第一开放流协议报文。
其中,在本发明实施例中,通过调用存储器1405存储的程序或指令,处理器1401用于:接收物理网卡发送的包含有上述第一报文的上述第一开放流协议报文;基于预设策略得到用于转发处理上述第一报文的转发处理规则;向物理网卡发送包含有上述转发处理规则的第二开放流协议报文;
其中,受处理器1401的调用,物理网卡还用于当接收到处理器1401发送的用于响应上述第一开放流协议报文的第二开放流协议报文,基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。
在本发明的一些实施例中,在上述基于预设策略得到用于转发处理上述第一报文的转发处理规则的方面,处理器1401具体用于基于模糊匹配表得到用于转发处理上述第一报文的转发处理规则;或者,向SDN控制器发送包含有上述第一报文的第三开放流协议报文;接收上述SDN控制器返回的包含有用于转发处理上述第一报文的转发处理规则的第四开放流协议报文。
在本发明的一些实施例中,物理网卡还用于通过物理端口接收其他物理主机发来的第二报文;向上述第二报文所携带目的虚拟机地址所对应的目的虚拟机转发上述第二报文,其中,上述目的虚拟机为上述至少一个虚拟机的其中一个。
或者,物理网卡还用于通过对外的物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与上述第二报文匹配的流表项;若未查找到与上述第二报文匹配的流表项,则向处理器1401发送包含上述第二报文的第五开放流协议报文;当接收到处理器1401发送的用于响应上述第五开放流协议报文的第六开放流协议报文,基于上述第六开放流协议报文中包含的转发处理规则对上述第二报文进行转发处理。
可见,采用上述方案后,受处理器1401的调用,物理网卡接收到部署于该物理网卡所处物理主机1400上的虚拟机发送的待转发处理的第一报文后,先在流表中查找是否存在与上述第一报文匹配的流表项;若未查找到与上述第一报文匹配的流表项,则向部署于物理主机上的处理器1401发送包含上述第一报文的第一开放流协议报文;当接收到处理器1401发送的用于响应上述第一开放流协议报文的第二开放流协议报文,物理网卡基于上述第二开放流协议报文中包含的转发处理规则对上述第一报文进行转发处理。由于在物理网卡中引入了可灵活配置的流表和转发处理规则来对待转发处理的报文进行转发处理,这样有利于物理网卡在虚拟架构下较精确的进行转发控制,若执行基于流量控制的转发处理规则进行报文转发处理,则有利于通过较精确的转发控制实现较为精确的流量控制。且当物理网卡中缺失报文的转发处理规则时,物理网卡直接从处理器1401获取转发处理规则而无需从其它物理主机获得转发处理规则,这种机制有利于极大简化物理网卡的通信协议架构甚至硬件架构(如若物理网卡需要 自行从SND控制器获取转发处理规则,物理网卡的通信协议架构甚至硬件架构就必然将设计的相对复杂一些才可完成例如与SND控制器交互等功能),这样就有利于降低物理网卡的成本和复杂度,并且有利于提高物理网卡的场景通用性。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的报文转发控制方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以处于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的 形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上上述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (22)
1.一种报文转发控制方法,其特征在于,包括:
物理网卡接收来自虚拟机的待转发处理的第一报文,其中,所述虚拟机部署于包括所述物理网卡的第一物理主机上;
所述物理网卡在流表中查找是否存在与所述第一报文匹配的流表项;若未查找到与所述第一报文匹配的流表项,向所述第一物理主机中部署的宿主机Host发送包含所述第一报文的第一开放流协议报文;
当接收到所述Host发送的用于响应所述第一开放流协议报文的第二开放流协议报文,所述物理网卡基于所述第二开放流协议报文中包含的转发处理规则对所述第一报文进行转发处理。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括:若所述物理网卡在所述流表中查找到与所述第一报文匹配的流表项,基于所述匹配的流表项中记录的转发处理规则对所述第一报文进行转发处理。
3.根据权利要求1或2所述的方法,其特征在于,
所述方法还包括:
所述物理网卡通过物理端口接收其他物理主机发来的第二报文;所述物理网卡向所述第二报文携带的目的虚拟机地址所对应的目的虚拟机转发所述第二报文,其中,所述目的虚拟机部署于所述第一物理主机之中;
或者,
所述物理网卡通过物理端口接收其他物理主机发来的第二报文;所述物理网卡在流表中查找是否存在与所述第二报文匹配的流表项;若未查找到与所述第二报文匹配的流表项,则向所述Host发送包含所述第二报文的第五开放流协议报文;当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,所述物理网卡基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
4.一种报文转发控制方法,其特征在于,包括:
包括在本物理主机中的物理网卡通过物理端口接收其他物理主机发来的第二报文;
所述物理网卡在流表中查找是否存在与所述第二报文匹配的流表项;当未查找到与所述第二报文匹配的流表项,则向所述本物理主机中部署的宿主机Host发送包含所述第二报文的第五开放流协议报文;
当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,所述物理网卡基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
5.根据权利要求4所述的方法,其特征在于,
所述方法还包括:
若在所述流表中查找到与所述第二报文匹配的流表项,所述物理网卡基于所述匹配的流表项中记录的转发处理规则对所述第二报文进行转发处理。
6.一种报文转发控制方法,其特征在于,包括:
部署于物理主机中的宿主机Host接收处于所述物理主机中的物理网卡发送的包含第一报文的第一开放流协议报文;
所述Host基于预设策略得到用于转发处理所述第一报文的转发处理规则;
所述Host向所述物理网卡发送包含所述转发处理规则的第二开放流协议报文。
7.根据权利要求6所述的方法,其特征在于,所述基于预设策略得到用于转发处理所述第一报文的转发处理规则,包括:
基于模糊匹配表得到用于转发处理所述第一报文的转发处理规则;
或者,
向软件定义网络SDN控制器发送包含所述第一报文的第三开放流协议报文;接收所述SDN控制器返回的包含用于转发处理所述第一报文的转发处理规则的第四开放流协议报文。
8.根据权利要求7所述的方法,其特征在于,在向所述SDN控制器发送包含有所述第一报文的第三开放流协议报文之前,还包括:所述Host建立与所述SDN控制器之间的传输层协议连接,将包含所述第一报文的第三开放流协议报文封装到第一传输层协议报文之中;
其中,所述向SDN控制器发送包含有所述第一报文的第三开放流协议报文包括:基于所述传输层协议连接向SDN控制器发送包含有所述第三开放流协议报文所述第一传输层协议报文。
9.根据权利要求8所述的方法,其特征在于,所述传输层协议为传输控制协议或用户数据报协议。
10.一种物理网卡,其特征在于,包括:
网卡队列和开放流交换机;
其中,所述开放流交换机,用于通过所述网卡队列接收所述物理网卡所处的第一物理主机上部署的虚拟机发送的待转发处理的第一报文,在流表中查找是否存在与所述第一报文匹配的流表项;当在所述流表中未查找到与所述第一报文匹配的流表项,则向所述第一物理主机上部署的宿主机Host发送包含所述第一报文的第一开放流协议报文;当接收到所述Host发送的用于响应所述第一开放流协议报文的第二开放流协议报文,基于所述第二开放流协议报文中包含的转发处理规则对所述第一报文进行转发处理。
11.根据权利要求10所述的物理网卡,其特征在于,所述开放流交换机还用于当在所述流表中查找到与所述第一报文匹配的流表项,基于所述匹配的流表项中记录的转发处理规则对所述第一报文进行转发处理。
12.根据权利要求10或11所述的物理网卡,其特征在于,
所述物理网卡还包括物理端口;
其中,所述开放流交换机还用于,通过所述物理端口接收其他物理主机发来的第二报文;通过所述网卡队列向所述第二报文携带的目的虚拟机地址所对应的目的虚拟机转发所述第二报文,其中,所述目的虚拟机部署于所述第一物理主机中;
或者,
所述开放流交换机还用于,通过所述物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与所述第二报文匹配的流表项;若未查找到与所述第二报文匹配的流表项,则向所述Host发送包含所述第二报文的第五开放流协议报文;当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
13.一种物理网卡,其特征在于,包括:
物理端口和开放流交换机;
所述开放流交换机,用于通过所述物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与所述第二报文匹配的流表项;若未查找到与所述第二报文匹配的流表项,则向所述物理网卡所处的本物理主机中部署的宿主机Host发送包含所述第二报文的第五开放流协议报文;当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
14.根据权利要求13所述的物理网卡,其特征在于,所述开放流交换机还用于当在所述流表中查找到与所述第二报文匹配的流表项,基于所述匹配的流表项中记录的转发处理规则对所述第二报文进行转发处理。
15.一种宿主机,其特征在于,包括:
报文接收单元,用于接收物理网卡发送的包含有第一报文的第一开放流协议报文,所述物理网卡处于所述宿主机所部署的物理主机上;
获得单元,用于基于预设策略得到用于转发处理所述第一报文的转发处理规则;
发送单元,用于向所述物理网卡发送包含所述转发处理规则的第二开放流协议报文。
16.根据权利要求15所述的宿主机,其特征在于,
所述获得单元具体用于,基于模糊匹配表得到用于转发处理所述第一报文的转发处理规则;或者,向软件定义网络SDN控制器发送包含有所述第一报文的第三开放流协议报文;接收所述SDN控制器返回的包含有用于转发处理所述第一报文的转发处理规则的第四开放流协议报文。
17.根据权利要求16所述的宿主机,其特征在于,
所述宿主机还包括:连接建立单元,用于在向所述SDN控制器发送包含有所述第一报文的第三开放流协议报文之前,建立与所述SDN控制器之间的传输层协议连接;
其中,在所述向SDN控制器发送包含有所述第一报文的第三开放流协议报文的方面,所述获得单元具体用于,在将包含所述第一报文的第三开放流协议报文封装到第一传输层协议报文中之后,基于所述传输层协议连接向SDN控制器发送包含有所述第三开放流协议报文所述第一传输层协议报文。
18.一种物理主机,其特征在于,包括:硬件层、运行在所述硬件层之上的宿主机Host和运行在所述Host之上的至少一个虚拟机,其中,所述硬件层包括物理网卡;
所述物理网卡,用于接收所述至少一个虚拟机中的一个虚拟机发送的待转发处理的第一报文,在流表中查找是否存在与所述第一报文匹配的流表项;若在所述流表中未查找到与所述第一报文匹配的流表项,则向所述Host发送包含所述第一报文的第一开放流协议报文;
其中,所述Host,用于接收所述物理网卡发送的包含有所述第一报文的所述第一开放流协议报文;基于预设策略得到用于转发处理所述第一报文的转发处理规则;向所述物理网卡发送包含有所述转发处理规则的第二开放流协议报文;
其中,所述物理网卡还用于当接收到所述Host发送的用于响应所述第一开放流协议报文的第二开放流协议报文,基于所述第二开放流协议报文中包含的转发处理规则对所述第一报文进行转发处理。
19.根据权利要求18所述的物理主机,其特征在于,在所述基于预设策略得到用于转发处理所述第一报文的转发处理规则的方面,所述Host具体用于基于模糊匹配表得到用于转发处理所述第一报文的转发处理规则;或者,向软件定义网络SDN控制器发送包含有所述第一报文的第三开放流协议报文;接收所述SDN控制器返回的包含有用于转发处理所述第一报文的转发处理规则的第四开放流协议报文。
20.根据权利要求18或19所述的物理主机,其特征在于,所述物理网卡还用于,通过物理端口接收其他物理主机发来的第二报文;向所述第二报文所携带目的虚拟机地址所对应的目的虚拟机转发所述第二报文,其中,所述目的虚拟机为所述至少一个虚拟机的其中一个;
或者,所述物理网卡还用于,通过物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与所述第二报文匹配的流表项;若未查找到与所述第二报文匹配的流表项,则向所述Host发送包含所述第二报文的第五开放流协议报文;当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
21.一种物理主机,其特征在于,包括:硬件层、运行在所述硬件层之上的宿主机Host和运行在所述Host之上的至少一个虚拟机,其中,所述硬件层包括物理网卡;
其中,所述物理网卡,用于通过物理端口接收其他物理主机发来的第二报文;在流表中查找是否存在与所述第二报文匹配的流表项;当未查找到与所述第二报文匹配的流表项,则向所述Host发送包含所述第二报文的第五开放流协议报文;
其中,所述Host,用于接收所述物理网卡发送的包含有所述第二报文的所述第五开放流协议报文;基于预设策略得到用于转发处理所述第二报文的转发处理规则;向所述物理网卡发送包含有所述转发处理规则的第六开放流协议报文;
其中,所述物理网卡还用于当接收到所述Host发送的用于响应所述第五开放流协议报文的第六开放流协议报文,基于所述第六开放流协议报文中包含的转发处理规则对所述第二报文进行转发处理。
22.根据权利要求21所述的物理主机,其特征在于,在所述基于预设策略得到用于转发处理所述第二报文的转发处理规则的方面,所述Host具体用于基于模糊匹配表得到用于转发处理所述第二报文的转发处理规则;或者,向软件定义网络SDN控制器发送包含有所述第二报文的第三开放流协议报文;接收所述SDN控制器返回的包含有用于转发处理所述第二报文的转发处理规则的第四开放流协议报文。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310733898.9A CN103916314A (zh) | 2013-12-26 | 2013-12-26 | 报文转发控制方法和相关装置及物理主机 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310733898.9A CN103916314A (zh) | 2013-12-26 | 2013-12-26 | 报文转发控制方法和相关装置及物理主机 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN103916314A true CN103916314A (zh) | 2014-07-09 |
Family
ID=51041729
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310733898.9A Pending CN103916314A (zh) | 2013-12-26 | 2013-12-26 | 报文转发控制方法和相关装置及物理主机 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN103916314A (zh) |
Cited By (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104486234A (zh) * | 2014-11-21 | 2015-04-01 | 华为技术有限公司 | 一种将业务交换机卸载到物理网卡的方法及服务器 |
| CN104506408A (zh) * | 2014-12-31 | 2015-04-08 | 杭州华三通信技术有限公司 | 基于sdn的数据传输的方法及装置 |
| CN105227393A (zh) * | 2015-08-25 | 2016-01-06 | 上海斐讯数据通信技术有限公司 | 一种双向转发检测方法 |
| CN105245456A (zh) * | 2015-10-20 | 2016-01-13 | 浪潮(北京)电子信息产业有限公司 | 一种云服务器内卸载sdn虚拟网络功能的方法和系统 |
| WO2016131422A1 (en) * | 2015-02-17 | 2016-08-25 | Hangzhou H3C Technologies Co., Ltd. | Flow entry generating and packet processing based on flow entry |
| WO2017016162A1 (zh) * | 2015-07-29 | 2017-02-02 | 中国科学院沈阳自动化研究所 | 一种基于sdn架构的工业通信流传输安全控制方法 |
| CN107278359A (zh) * | 2016-11-09 | 2017-10-20 | 华为技术有限公司 | 云计算系统中报文处理的方法、主机和系统 |
| CN107483369A (zh) * | 2017-09-13 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种报文处理方法及虚拟交换机 |
| CN107643938A (zh) * | 2017-08-24 | 2018-01-30 | 中国科学院计算机网络信息中心 | 数据传输方法、装置及存储介质 |
| CN108243118A (zh) * | 2016-12-27 | 2018-07-03 | 华为技术有限公司 | 转发报文的方法和物理主机 |
| CN108650154A (zh) * | 2018-06-29 | 2018-10-12 | 新华三技术有限公司 | 流量控制方法及装置 |
| CN108696434A (zh) * | 2017-04-11 | 2018-10-23 | 华为技术有限公司 | 一种转发数据报文的方法、设备和系统 |
| CN109314724A (zh) * | 2016-08-09 | 2019-02-05 | 华为技术有限公司 | 云计算系统中虚拟机访问物理服务器的方法、装置和系统 |
| CN110050447A (zh) * | 2017-06-30 | 2019-07-23 | 华为技术有限公司 | 一种数据处理方法、网络接口卡及服务器 |
| CN110061897A (zh) * | 2018-01-19 | 2019-07-26 | 思锐科技股份有限公司 | 虚拟网络隧道内流量数据获取方法与系统 |
| US10491517B2 (en) | 2016-11-09 | 2019-11-26 | Huawei Technologies Co., Ltd. | Packet processing method in cloud computing system, host, and system |
| CN110798412A (zh) * | 2019-10-18 | 2020-02-14 | 北京浪潮数据技术有限公司 | 组播业务处理方法、装置、云平台、设备及可读存储介质 |
| US10581729B2 (en) | 2016-08-03 | 2020-03-03 | Huawei Technologies Co., Ltd. | Network interface card, computing device, and data packet processing method |
| US10623310B2 (en) | 2016-08-03 | 2020-04-14 | Huawei Technologies Co., Ltd. | Network interface card, computing device, and data packet processing method |
| CN113383531A (zh) * | 2019-12-25 | 2021-09-10 | 华为技术有限公司 | 转发设备、网卡及报文转发方法 |
| CN113438219A (zh) * | 2020-07-08 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的重放交易识别方法及装置 |
| US20210326887A1 (en) * | 2020-07-08 | 2021-10-21 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transferring transaction based on blockchain integrated station |
| US11665234B2 (en) | 2020-07-08 | 2023-05-30 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for synchronizing data based on blockchain integrated station |
-
2013
- 2013-12-26 CN CN201310733898.9A patent/CN103916314A/zh active Pending
Cited By (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104486234B (zh) * | 2014-11-21 | 2018-10-30 | 华为技术有限公司 | 一种将业务交换机卸载到物理网卡的方法及服务器 |
| CN104486234A (zh) * | 2014-11-21 | 2015-04-01 | 华为技术有限公司 | 一种将业务交换机卸载到物理网卡的方法及服务器 |
| CN104506408A (zh) * | 2014-12-31 | 2015-04-08 | 杭州华三通信技术有限公司 | 基于sdn的数据传输的方法及装置 |
| CN104506408B (zh) * | 2014-12-31 | 2018-02-06 | 新华三技术有限公司 | 基于sdn的数据传输的方法及装置 |
| WO2016131422A1 (en) * | 2015-02-17 | 2016-08-25 | Hangzhou H3C Technologies Co., Ltd. | Flow entry generating and packet processing based on flow entry |
| WO2017016162A1 (zh) * | 2015-07-29 | 2017-02-02 | 中国科学院沈阳自动化研究所 | 一种基于sdn架构的工业通信流传输安全控制方法 |
| US10447655B2 (en) | 2015-07-29 | 2019-10-15 | Shenyang Institute Of Automation, Chinese Academy Of Sciences | Method for controlling transmission security of industrial communications flow based on SDN architecture |
| CN105227393A (zh) * | 2015-08-25 | 2016-01-06 | 上海斐讯数据通信技术有限公司 | 一种双向转发检测方法 |
| CN105245456A (zh) * | 2015-10-20 | 2016-01-13 | 浪潮(北京)电子信息产业有限公司 | 一种云服务器内卸载sdn虚拟网络功能的方法和系统 |
| CN105245456B (zh) * | 2015-10-20 | 2018-12-25 | 浪潮(北京)电子信息产业有限公司 | 一种云服务器内卸载sdn虚拟网络功能的方法和系统 |
| US10623310B2 (en) | 2016-08-03 | 2020-04-14 | Huawei Technologies Co., Ltd. | Network interface card, computing device, and data packet processing method |
| US10581729B2 (en) | 2016-08-03 | 2020-03-03 | Huawei Technologies Co., Ltd. | Network interface card, computing device, and data packet processing method |
| CN109314724A (zh) * | 2016-08-09 | 2019-02-05 | 华为技术有限公司 | 云计算系统中虚拟机访问物理服务器的方法、装置和系统 |
| CN109314724B (zh) * | 2016-08-09 | 2021-02-09 | 华为技术有限公司 | 云计算系统中虚拟机访问物理服务器的方法、装置和系统 |
| US11418512B2 (en) | 2016-08-09 | 2022-08-16 | Huawei Technologies Co., Ltd. | Method for virtual machine to access physical server in cloud computing system, apparatus, and system |
| US11005755B2 (en) | 2016-11-09 | 2021-05-11 | Huawei Technologies Co., Ltd. | Packet processing method in cloud computing system, host, and system |
| CN107278359B (zh) * | 2016-11-09 | 2020-09-18 | 华为技术有限公司 | 云计算系统中报文处理的方法、主机和系统 |
| US10491517B2 (en) | 2016-11-09 | 2019-11-26 | Huawei Technologies Co., Ltd. | Packet processing method in cloud computing system, host, and system |
| CN107278359A (zh) * | 2016-11-09 | 2017-10-20 | 华为技术有限公司 | 云计算系统中报文处理的方法、主机和系统 |
| CN108243118A (zh) * | 2016-12-27 | 2018-07-03 | 华为技术有限公司 | 转发报文的方法和物理主机 |
| CN108696434A (zh) * | 2017-04-11 | 2018-10-23 | 华为技术有限公司 | 一种转发数据报文的方法、设备和系统 |
| CN110050447A (zh) * | 2017-06-30 | 2019-07-23 | 华为技术有限公司 | 一种数据处理方法、网络接口卡及服务器 |
| US11223579B2 (en) | 2017-06-30 | 2022-01-11 | Huawei Technologies Co., Ltd. | Data processing method, network interface card, and server |
| CN107643938A (zh) * | 2017-08-24 | 2018-01-30 | 中国科学院计算机网络信息中心 | 数据传输方法、装置及存储介质 |
| CN107483369B (zh) * | 2017-09-13 | 2020-09-08 | 苏州浪潮智能科技有限公司 | 一种报文处理方法及虚拟交换机 |
| CN107483369A (zh) * | 2017-09-13 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种报文处理方法及虚拟交换机 |
| CN110061897A (zh) * | 2018-01-19 | 2019-07-26 | 思锐科技股份有限公司 | 虚拟网络隧道内流量数据获取方法与系统 |
| CN108650154B (zh) * | 2018-06-29 | 2020-11-27 | 新华三技术有限公司 | 流量控制方法及装置 |
| CN108650154A (zh) * | 2018-06-29 | 2018-10-12 | 新华三技术有限公司 | 流量控制方法及装置 |
| CN110798412A (zh) * | 2019-10-18 | 2020-02-14 | 北京浪潮数据技术有限公司 | 组播业务处理方法、装置、云平台、设备及可读存储介质 |
| CN113383531A (zh) * | 2019-12-25 | 2021-09-10 | 华为技术有限公司 | 转发设备、网卡及报文转发方法 |
| CN113438219A (zh) * | 2020-07-08 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的重放交易识别方法及装置 |
| US20210326887A1 (en) * | 2020-07-08 | 2021-10-21 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transferring transaction based on blockchain integrated station |
| US11665234B2 (en) | 2020-07-08 | 2023-05-30 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for synchronizing data based on blockchain integrated station |
| US11783339B2 (en) | 2020-07-08 | 2023-10-10 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transferring transaction based on blockchain integrated station |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103916314A (zh) | 报文转发控制方法和相关装置及物理主机 | |
| US20210036990A1 (en) | Distributed identity-based firewalls | |
| US9602307B2 (en) | Tagging virtual overlay packets in a virtual networking system | |
| US9413554B2 (en) | Virtual network overlays | |
| US9178828B2 (en) | Architecture for agentless service insertion | |
| EP3241330B1 (en) | Method for providing multi-tenancy support for rdma | |
| CN102648455B (zh) | 服务器和流控制程序 | |
| CN109479028B (zh) | 网络接口卡、计算设备以及数据包处理方法 | |
| EP3883195A1 (en) | Cloud computing data center system, gateway, server, and message processing method | |
| US12010195B2 (en) | Efficient flow management utilizing control packets | |
| US8705514B2 (en) | Apparatus for controlling a transfer destination of a packet originating from a virtual machine | |
| CN104486234B (zh) | 一种将业务交换机卸载到物理网卡的方法及服务器 | |
| US20170026283A1 (en) | Adding multi-tenant awareness to a network packet processing device on a Software Defined Network (SDN) | |
| JP2018033136A (ja) | 仮想ネットワーク環境で仮想スイッチを利用してロードバランシングを処理する方法およびシステム | |
| US9571338B2 (en) | Scalable distributed control plane for network switching systems | |
| JP2018033135A (ja) | 仮想ネットワーク環境でループバックインタフェースを利用してdsrロードバランシングを処理する方法およびシステム | |
| US12015562B2 (en) | Port addressing via packet header modification | |
| US9774532B2 (en) | Information processing system, information processing apparatus and control method of information processing system | |
| CN102334112A (zh) | 用于虚拟机网络的方法和系统 | |
| EP3051415A1 (en) | Method, apparatus, and device for selecting protocol stack | |
| WO2015113410A1 (zh) | 数据包的处理方法与装置 | |
| US10182125B2 (en) | Server, physical switch and communication system | |
| JP5993817B2 (ja) | キャリア網における経路制御システム及び方法 | |
| CN105049464B (zh) | 用于加速网络虚拟化的技术 | |
| US20160254958A1 (en) | Method, apparatus and system for virtualizing a policy and charging rules function |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140709 |
|
| RJ01 | Rejection of invention patent application after publication |