专利名称:虚拟机报文转发方法、网络交换设备及通信系统的制作方法
技术领域:
本发明涉及网络通信技术,尤其涉及一种虚拟机报文转发方法、网络交换设备及通信系统,属于通信技术领域。
背景技术:
虚拟机的出现使数据中心网络接入层出现了虚拟以太桥(Virtual EthernetBridge, VEB)的概念。目前服务器虚拟化环境中最常见的部署在虚拟机监视器(VirtualMachine Monitor, VMM)中的“VSwitch”就是一种软件VEB。图I为VEB的虚拟机报文发送流程的示意图,如图I所示,当报文的目的MAC地址在外部网络时,VSwitch直接将报文从物理网卡发向外部网络以太网交换机;当报文目的MAC地址是连接在相同VSwitch上的虚拟机(VM)时,则VSwitch通过静态MAC表来转发报文。
IEEE数据中心桥接(Data Center Bridging, DCB)任务组正在制定一套新标准-802. IQbg边缘虚拟以太桥(Edge Virtual Bridging, EVB)。EVB标准是将虚拟以太网端口聚合器(Virtual Ethernet Port Aggregator,VEPA)作为基本实现方案。图 2 为 VEPA的虚拟机报文发送流程的示意图,如图2所示,虚拟机产生的网络流量全部交给与服务器相连的物理交换机进行处理,即使同一台服务器的虚拟机间流量,也将发往外部物理交换机进行查表处理,之后再180度掉头返回到服务器上,形成了所谓的“发卡弯”转发模式。另外,EVB标准还定义了 “多通道技术(Multichannel Technology)”,目的是实现传统VSwitch、VEPA和直接输入输出(Director 10)(一种硬件VEB)的混和部署方案。多通道技术将交换机端口或网卡划分为多个逻辑通道,并且各通道间逻辑隔离。每个逻辑通道可由用户根据需要定义成VEB、VEPA或Dircetor 10的任何一种。基于现有的虚拟化的服务器和外部接入网络交换机实现多通道技术时,即使在同一台虚拟化的服务器上同时部署VEB、VEPA和Director 10三种虚拟机输入输出(10)模式,但当虚拟机报文发送至外部接入网络交换机时,由于外部接入网络交换机无法区分不同10模式的虚拟机,未实现不同模式的虚拟机的逻辑通道的隔离,使得任意虚拟机之间通过交换机转发报文,能够相互通信,造成严重的安全隐患。
发明内容
针对现有技术中存在的缺陷,本发明提供一种虚拟机报文转发方法、网络交换设备及通信系统,以使得网络交换设备在实现多通道技术时,对不同逻辑通道进行有效隔离,提高网络安全性。根据本发明的一方面,提供一种虚拟机报文转发方法,包括网络交换设备获取封装有源虚拟机的逻辑通道信息的虚拟机报文;若所述虚拟机报文的目的虚拟机为所述网络交换设备关联的虚拟机,则根据所述目的虚拟机的标识,获取所述目的虚拟机的逻辑通道信息;所述网络交换设备根据所述源虚拟机的逻辑通道信息和所述目的虚拟机的逻辑通道信息,对所述虚拟机报文进行合法性校验,并仅当校验合法时,对所述虚拟机报文进行解封装,并发送至所述目的虚拟机。根据本发明的一方面,提供一种网络 交换设备,包括封装报文获取模块,用于获取封装有源虚拟机的逻辑通道信息的虚拟机报文;逻辑通道信息获取模块,用于若所述虚拟机报文的目的虚拟机为网络交换设备关联的虚拟机,则根据所述目的虚拟机的标识,获取所述目的虚拟机的逻辑通道信息;合法性校验模块,用于根据所述源虚拟机的逻辑通道信息和所述目的虚拟机的逻辑通道信息,对所述虚拟机报文进行合法性校验; 解封装模块,用于仅当校验合法时,对所述虚拟机报文进行解封装,并发送至所述目的虚拟机。根据本发明的一方面,提供一种通信系统,包括本发明提供的网络交换设备,以及与所述网络交换设备关联的虚拟机。根据本发明提供的虚拟机报文转发方法、网络交换设备及通信系统,当存在待转发至网络交换设备所关联的虚拟机的虚拟机报文时,网络交换设备根据虚拟机报文的源虚拟机的逻辑通道信息和目的虚拟机的逻辑通道信息,对虚拟机报文进行合法性校验,并仅当校验合法时,执行对虚拟机报文的转发,实现源虚拟机与目的虚拟机之间的通信,从而使得网络交换设备在实现多通道技术时,能够对不同逻辑通道进行有效隔离,根据虚拟机对应的逻辑通道来限制不同虚拟机之间的通信,避免了由于任意虚拟机之间转发报文所带来的安全隐患,提高了网络安全性。
图I为VEB的虚拟机报文发送流程的示意图。图2为VEPA的虚拟机报文发送流程的示意图。图3为本发明一个实施例的虚拟机报文转发方法的流程示意图。图4为用于实现本发明实施例的通信系统的一个示例的架构图。图5为本发明实施例中实现虚拟机报文转发的通信过程示意图。图6为多通道标签的一个示意图。图7为本发明一个实施例的网络交换设备的结构示意图。
具体实施例方式本发明实施例的虚拟机报文转发方法由网络交换设备来执行,该网络交换设备例如为交换机和路由器等,本发明中不做限制。实施例一图3为本发明一个实施例的虚拟机报文转发方法的流程示意图。如图3所示,该虚拟机报文转发方法包括步骤301,网络交换设备获取封装有源虚拟机的逻辑通道信息的虚拟机报文;步骤302,若所述虚拟机报文的目的虚拟机为所述网络交换设备关联的虚拟机,则根据所述目的虚拟机的标识,获取所述目的虚拟机的逻辑通道信息;步骤303,所述网络交换设备根据所述源虚拟机的逻辑通道信息和所述目的虚拟机的逻辑通道信息,对所述虚拟机报文进行合法性校验,并仅当校验合法时,对所述虚拟机报文进行解封装,并发送至所述目的虚拟机。具体地,网络交换设备为支持多种通信模式的虚拟机的通信,将自身的通信端口划分为多个逻辑通道,并且建立了各逻辑通道对应的逻辑通道模式(例如为VEB、VEPA等)以及各逻辑通道模式的通信规则,例如,VEB模式的逻辑通道,仅允许通信模式为VEB的虚拟机之间进行通信。各虚拟机均具有一个对应的逻辑通道信息,用于标识虚拟机对应的逻辑通道模式,例如,该逻辑通道信息可以是支持虚拟机的通信模式的逻辑通道模式的标识。网络交换设备所获取的封装有源虚拟机的逻辑通道信息的虚拟机报文,既可以是从其它网络交换设备接收到的,也可以是该网络交换设备自身封装的,本实施例中对此不进行限制。网络交换设备对该虚拟机报文进行解析,提取出所封装的源虚拟机的逻辑通道信 息,并且获取该虚拟机报文所携带的目的虚拟机的标识,例如为目的虚拟机的MAC地址。网络交换设备能够获知自身关联的各虚拟机的标识,通过将虚拟机报文的目的虚拟机的标识与自身所关联的各虚拟机的标识进行比较,即可获知该虚拟机报文的目的虚拟机是否为自身关联的虚拟机。其中,网络交换设备所关联的虚拟机,是指部署在与网络交换设备连接的虚拟化的服务器中的虚拟机。若虚拟机报文的目的虚拟机为所述网络交换设备关联的虚拟机,则网络交换设备根据目的虚拟机的标识,获取目的虚拟机的逻辑通道信息。更为具体地,网络交换设备例如预先获取自身关联的各虚拟机的逻辑通道信息,并存储所述各虚拟机的标识与所述逻辑通道信息的映射关系。当需获取目的虚拟机的逻辑通道信息,根据目的虚拟机的标识,从已存储的多个映射关系中,查找对应的逻辑通道信息即可。此外,与网络交换设备关联的各虚拟机的逻辑通道信息也可以存储在独立于网络交换设备的任意其它设备中,当网络交换设备需获取目的虚拟机的逻辑通道信息,根据目的虚拟机的标识,对相应的设备发起查询请求,以获取目的虚拟机的逻辑通道信息。网络交换设备在获取虚拟机报文的目的虚拟机的逻辑通道信息后,将目的虚拟机的逻辑通道信息与源虚拟机的逻辑通道信息进行比较,以对虚拟机报文进行合法性检验,即判断是否允许源虚拟机与目的虚拟机之间进行通信。例如源虚拟机的逻辑通道信息指示源虚拟机对应的逻辑通道模式为VEB模式,且VEB模式仅允许均为VEB模式的虚拟机之间进行通信;目的虚拟机的逻辑通道信息指示目的虚拟机对应的逻辑通道模式为VEPA模式,且VEPA模式仅允许均为VEPA模式的虚拟机之间进行通信。因此,根据目的虚拟机的逻辑通道信息和源虚拟机的逻辑通道信息,即可判定该源虚拟机与该目的虚拟机之间的通信是不合法的,即该虚拟机报文是不合法的,此时网络设备将虚拟机报文丢弃,不进行转发。再例如源虚拟机的逻辑通道信息指示源虚拟机对应的逻辑通道模式为VEB模式,且目的虚拟机的逻辑通道信息也指示目的虚拟机对应的逻辑通道模式为VEB模式,因此可判定该源虚拟机与该目的虚拟机之间的通信是合法的,即该虚拟机报文是合法的,此时网络设备对虚拟机报文所封装的源虚拟机的逻辑通道信息进行解封装,并发送至目的虚拟机。上文中,仅以一个简单示例为例进行说明。此外,虚拟机的逻辑通道信息也可包括其它用于进行合法性校验的信息,例如,网络设备可根据需要对虚拟机进行分组,并将能够进行通信的虚拟机划分为同一组,此种场景下逻辑通道信息可包括虚拟机组标识,相应地,在合法性校验过程中,还需基于虚拟机组标识进行校验。针对此种场景的具体处理流程,在后续实施例中进行说明。根据本实施例的虚拟机报文转发方法,当存在待转发至网络交换设备所关联的虚拟机的虚拟机报文时,网络交换设备根据虚拟机报文的源虚拟机的逻辑通道信息和目的虚拟机的逻辑通道信息,对虚拟机报文进行合法性校验,并仅当校验合法时,执行对虚拟机报文的转发,实现源虚拟机与目的虚拟机之间的通信,从而使得网络交换设备在实现多通道技术时,能够对不同逻辑通道进行有效隔离,根据虚拟机对应的逻辑通道来限制不同虚拟机之间的通信,避免了由于任意虚拟机之间转发报文所带来的安全隐患,提高了网络安全性。实施例二进一步地,在上述实施例的虚拟机报文转发方法中,所述根据所述目的虚拟机的标识,获取所述目的虚拟机的逻辑通道信息,之前还包括所述网络交换设备获取自身关联的各虚拟机的逻辑通道信息,并存储所述各虚拟机的标识与所述逻辑通道信息的映射关系。本实施例中,以一个具体场景为例,对网络交换设备获取自身关联的各虚拟机的逻辑通道信息的过程,进行详细说明。图4为用于实现本发明实施例的通信系统的一个示例的架构图。如图4所示,包括虚拟化服务器、虚拟化管理服务器、网络代理以及外部接入网络交换机。其中,该外部接入网络交换机为执行上述实施例的虚拟机报文转发方法的网络交换设备;虚拟化服务器中部署有VEB模式、VEPA模式和Direct IO模式的多个虚拟机;虚拟化管理服务器与虚拟化服务器连接,用于管理虚拟化服务器的虚拟机资源;网络代理与虚拟化管理服务器和外部接入网络交换机连接。虚拟化管理服务器在虚拟化服务器中创建第一虚拟机VM1、第二虚拟机VM2、第三虚拟机VM3、第四虚拟机VM4和第五虚拟机VM5 ;各虚拟机的MAC地址分别为MAC1、MAC2、MAC3、MAC4和MAC5。虚拟化管理服务器分别为每个虚拟机创建虚拟网卡并设置通信模式,如图4所示,第一虚拟机VMl的虚拟网卡设置为Direct IO模式,第二虚拟机VM2和第三虚拟机VM3的虚拟网卡设置为VEPA模式,第四虚拟机VM4和第五虚拟机VM5的虚拟网卡设置为VEB模式。虚拟化管理服务器中存储第一虚拟机VMl-第五虚拟机VM5的相关信息。网络代理利用虚拟化管理服务器对外提供的管理接口,登录虚拟化管理服务器,并获取虚拟机信息,包括虚拟机标识(例如为VMl)、虚拟机的MAC地址、虚拟机的虚拟网卡、通信模式设置,还可包括虚拟机的状态信息(例如为开启状态或关闭状态等)等。网络代理获取虚拟机的相关信息后,进行虚拟机的通道信息的整合,根据通信需求和预先定义的逻辑通道模式的规则,创建各虚拟机的逻辑通道信息,该逻辑通道信息例如包括逻辑通道模式标识和虚拟机组标识。其中,逻辑通道模式标识用于标识虚拟机所属的逻辑通道模式,不同的逻辑通道模式具有不同的通信规则;虚拟机组标识用于标识虚拟机所属的虚拟机组,只有分组内的成员(即同一虚拟机组内的虚拟机)可以进行相互通信。表I为逻辑通道模式的规则定义表。如表I所示,预先定义四种逻辑通道模式,分别为逻辑通道O (Channel O)、逻辑通道I (Channel I)、逻辑通道2 (Channel 2)和逻辑通道3 (Channel 3)。其中,逻辑通道模式标识为“O”的Channel O,是Direct IO模式,在该模式下,只允许同一分组内成员互访,不允许不同通信模式但同一分组的成员间互访;逻辑通道模式标识为“ I ”的Channel 1,是VEB模式,在该模式下,只允许同一分组内成员互访,不允许不同通信模式但同一分组的成员间互访;逻辑通道模式标识为“2”的Channel 1,是VEPA模式,在该模式下,只允许同一分组内成员互访,不允许不同通信模式但同一分组的成员间互访;逻辑通道模式标识为“3”的Channel 3,是混合(MIX)模式,在该模式下,允许相同模式或不同模式但分组信息一致的成员互访,不允许不同分组成员间互访。网络代理例如根据业务需求,将第一虚拟机VMl和第五虚拟机VM5作为同一分组中的成员,划分在第一虚拟机组Group I中,由于第一虚拟机组Group I中包括了不同模式的虚拟机,所以将第一虚拟机组Group I的逻辑通道模式设置为MIX模式,即Channel 3。表I
权利要求
1.一种虚拟机报文转发方法,其特征在于,包括 网络交换设备获取封装有源虚拟机的逻辑通道信息的虚拟机报文; 若所述虚拟机报文的目的虚拟机为所述网络交换设备关联的虚拟机,则根据所述目的虚拟机的标识,获取所述目的虚拟机的逻辑通道信息; 所述网络交换设备根据所述源虚拟机的逻辑通道信息和所述目的虚拟机的逻辑通道信息,对所述虚拟机报文进行合法性校验,并仅当校验合法时,对所述虚拟机报文进行解封装,并发送至所述目的虚拟机。
2.根据权利要求I所述的虚拟机报文转发方法,其特征在于,所述网络交换设备获取封装有源虚拟机的逻辑通道信息的虚拟机报文,具体包括 所述网络交换设备接收经由所述源虚拟机对应的网络交换设备转发的虚拟机报文,所述虚拟机报文由所述源虚拟机对应的网络交换设备封装所述源虚拟机的逻辑通道信息;或者 所述网络交换设备接收未封装有源虚拟机的逻辑通道信息的虚拟机报文,若所接收的虚拟机报文的源虚拟报文为所述网络交换设备关联的虚拟机,则所述网络交换设备将所述源虚拟机对应的逻辑通道信息,封装至所接收的虚拟机报文。
3.根据权利要求I所述的虚拟机报文转发方法,其特征在于,所述网络交换设备获取封装有源虚拟机的逻辑通道信息的虚拟机报文,之后还包括 若所述虚拟机报文的目的虚拟机不为所述网络交换设备关联的虚拟机,则所述网络交换设备将所述虚拟机报文,发送至所述目的虚拟机关联的网络交换设备。
4.根据权利要求I所述的虚拟机报文转发方法,其特征在于,所述根据所述目的虚拟机的标识,获取所述目的虚拟机的逻辑通道信息,之前还包括 所述网络交换设备获取自身关联的各虚拟机的逻辑通道信息,并存储所述各虚拟机的标识与所述逻辑通道信息的映射关系。
5.根据权利要求1-4任一所述的虚拟机报文转发方法,其特征在于,所述各虚拟机的逻辑通道信息包括逻辑通道模式标识和虚拟机组标识; 相应地,所述网络交换设备根据所述源虚拟机的逻辑通道信息和所述目的虚拟机的逻辑通道信息,对所述虚拟机报文进行合法性校验,具体包括 若判断获知所述源虚拟机的逻辑通道模式标识与所述目的虚拟机的逻辑通道模式标识相同,则判断所述源虚拟机的虚拟机组标识与所述目的虚拟机的虚拟机组标识是否相同,若是,则判定所述虚拟机报文合法,若否,则判定所述虚拟机报文不合法; 若判断获知所述源虚拟机的逻辑通道模式标识与所述目的虚拟机的逻辑通道模式标识不同,则判断所述目的虚拟机的逻辑通道模式标识对应的逻辑通道模式,是否允许具有不同逻辑通道模式的虚拟机之间的通信;若否,则判定所述虚拟机报文不合法,若是,则判断所述源虚拟机的虚拟机组标识与所述目的虚拟机的虚拟机组标识是否相同,并当判断结果为相同时,判定所述虚拟机报文合法,否则,判定所述虚拟机报文不合法。
6.根据权利要求5所述的虚拟机报文转发方法,其特征在于,所述逻辑通道模式包括直接输入输出Director IO模式、虚拟以太桥VEB模式、虚拟以太网端口聚合器VEPA模式和混合模式,其中 所述Director IO模式的逻辑通道,仅允许逻辑通道模式标识为Director IO模式、且具有相同虚拟机组标识的虚拟机之间的通信; 所述VEB模式的逻辑通道,仅允许逻辑通道模式标识为VEB模式、且具有相同虚拟机组标识的虚拟机之间的通信; 所述VEPA模式的逻辑通道,仅允许逻辑通道模式标识为VEPA模式、且具有相同虚拟机组标识的虚拟机之间的通信; 所述混合模式的逻辑通道,仅允许具有相同或不同逻辑通道模式、但具有相同虚拟机组标识的虚拟机之间的通信。
7.—种网络交换设备,其特征在于,包括 封装报文获取模块,用于获取封装有源虚拟机的逻辑通道信息的虚拟机报文; 逻辑通道信息获取模块,用于若所述虚拟机报文的目的虚拟机为网络交换设备关联的虚拟机,则根据所述目的虚拟机的标识,获取所述目的虚拟机的逻辑通道信息; 合法性校验模块,用于根据所述源虚拟机的逻辑通道信息和所述目的虚拟机的逻辑通道信息,对所述虚拟机报文进行合法性校验; 解封装模块,用于仅当校验合法时,对所述虚拟机报文进行解封装,并发送至所述目的虚拟机。
8.根据权利要求7所述的网络交换设备,其特征在于,所述封装报文获取模块具体包括 第一接收单元,用于接收所述网络交换设备接收经由所述源虚拟机对应的网络交换设备转发的虚拟机报文,所述虚拟机报文由所述源虚拟机对应的网络交换设备封装所述源虚拟机的逻辑通道信息; 或者,包括第二接收单元和封装单元,其中 所述第二接收单元,用于接收未封装有源虚拟机的逻辑通道信息的虚拟机报文;所述封装单元用于若所接收的虚拟机报文的源虚拟报文为所述网络交换设备关联的虚拟机,则将所述源虚拟机对应的逻辑通道信息,封装至所接收的虚拟机报文。
9.根据权利要求7所述的网络交换设备,其特征在于,还包括 外部转发模块,用于若所述虚拟机报文的目的虚拟机不为所述网络交换设备关联的虚拟机,则将所述虚拟机报文,发送至所述目的虚拟机关联的网络交换设备。
10.根据权利要求7所述的网络交换设备,其特征在于,所述逻辑通道信息获取模块还用于获取所述网络交换设备关联的各虚拟机的逻辑通道信息,并存储所述各虚拟机的标识与所述逻辑通道信息的映射关系。
11.根据权利要求7-10任一所述的网络交换设备,其特征在于,所述各虚拟机的逻辑通道信息包括逻辑通道模式标识和虚拟机组标识; 相应地,所述合法性校验模块具体用于若判断获知所述源虚拟机的逻辑通道模式标识与所述目的虚拟机的逻辑通道模式标识相同,则判断所述源虚拟机的虚拟机组标识与所述目的虚拟机的虚拟机组标识是否相同,若是,则判定所述虚拟机报文合法,若否,则判定所述虚拟机报文不合法; 若判断获知所述源虚拟机的逻辑通道模式标识与所述目的虚拟机的逻辑通道模式标识不同,则判断所述目的虚拟机的逻辑通道模式标识对应的逻辑通道模式,是否允许具有不同逻辑通道模式的虚拟机之间的通信;若否,则判定所述虚拟机报文不合法,若是,则判断所述源虚拟机的虚拟机组标识与所述目的虚拟机的虚拟机组标识是否相同,并当判断结果为相同时,判定所述虚拟机报文合法,否则,判定所述虚拟机报文不合法。
12.根据权利要求11所述的网络交换设备,其特征在于,所述逻辑通道模式包括直接输入输出Director IO模式、虚拟以太桥VEB模式、虚拟以太网端口聚合器VEPA模式和混合模式,其中 所述Director IO模式,仅允许逻辑通道模式标识为Director IO模式、且具有相同虚拟机组标识的虚拟机之间的通信; 所述VEB模式,仅允许逻辑通道模式标识为VEB模式、且具有相同虚拟机组标识的虚拟机之间的通信; 所述VEPA模式,仅允许逻辑通道模式标识为VEPA模式、且具有相同虚拟机组标识的虚拟机之间的通信; 所述混合模式,仅允许具有相同或不同逻辑通道模式、但具有相同虚拟机组标识的虚拟机之间的通信。
13.—种通信系统,其特征在于,包括权利要求6-12任一所述的网络交换设备,以及与所述网络交换设备关联的虚拟机。
全文摘要
本发明提供一种虚拟机报文转发方法、网络交换设备及通信系统。该方法包括网络交换设备获取封装有源虚拟机的逻辑通道信息的虚拟机报文;若所述虚拟机报文的目的虚拟机为所述网络交换设备关联的虚拟机,则根据所述目的虚拟机的标识,获取所述目的虚拟机的逻辑通道信息;所述网络交换设备根据所述源虚拟机的逻辑通道信息和所述目的虚拟机的逻辑通道信息,对所述虚拟机报文进行合法性校验,并仅当校验合法时,对所述虚拟机报文进行解封装,并发送至所述目的虚拟机。本发明提供的虚拟机报文转发方法、网络交换设备及通信系统,实现了多通道技术中的逻辑通道有效隔离。
文档编号H04L29/06GK102801729SQ20121028704
公开日2012年11月28日 申请日期2012年8月13日 优先权日2012年8月13日
发明者刘璞 申请人:福建星网锐捷网络有限公司