虚拟端口监控方法和设备.pdf

上传人:小** 文档编号:4722070 上传时间:2018-10-31 格式:PDF 页数:16 大小:4.86MB
返回 下载 相关 举报
摘要
申请专利号:

CN201280000784.7

申请日:

2012.06.30

公开号:

CN102870377A

公开日:

2013.01.09

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):H04L 12/26申请公布日:20130109|||实质审查的生效IPC(主分类):H04L 12/26申请日:20120630|||公开

IPC分类号:

H04L12/26

主分类号:

H04L12/26

申请人:

华为技术有限公司

发明人:

蔡世顺

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京同立钧成知识产权代理有限公司 11205

代理人:

刘芳

PDF下载: PDF下载
内容摘要

本发明实施例提供的虚拟端口监控方法和设备,该虚拟端口监控方法包括:对至少一个镜像源虚拟端口接收和/或发送的报文进行监听;在监听到所述至少一个镜像源虚拟端口接收和/或发送报文时,将所述报文镜像到镜像目的虚拟端口,以使监控虚拟机根据从所述镜像目的虚拟端口接收到的镜像后的报文,对所述至少一个镜像源虚拟端口进行监控。本发明实施例提供的虚拟端口监控方法和设备,实现了对同一物理服务器的多个虚拟机之间的报文的监控,提高了系统的可靠性和安全性。

权利要求书

权利要求书一种虚拟端口监控方法,其特征在于,包括:对至少一个镜像源虚拟端口接收和/或发送的报文进行监听;在监听到所述至少一个镜像源虚拟端口接收和/或发送报文时,将所述报文镜像到镜像目的虚拟端口,以使监控虚拟机根据从所述镜像目的虚拟端口接收到的镜像后的报文,对所述至少一个镜像源虚拟端口进行监控。根据权利要求1所述的虚拟端口监控方法,其特征在于:所述至少一个镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器,与所述监控虚拟机所在的物理服务器是同一个物理服务器。根据权利要求1或2所述的虚拟端口监控方法,其特征在于,所述对至少一个镜像源虚拟端口接收和/或发送的报文进行监听之前,还包括:根据接收到的配置参数,将至少一个虚拟端口配置为所述镜像源虚拟端口,将所述至少一个虚拟端口之外的虚拟端口配置为所述镜像目的虚拟端口,设置所述至少一个镜像源虚拟端口与所述镜像目的虚拟端口的镜像关系,以及每个镜像源虚拟端口的镜像方式,其中,所述镜像方式包括下列方式之一:接收和发送镜像、接收镜像或发送镜像。根据权利要求1‑3任一所述的虚拟端口监控方法,其特征在于,还包括:对从物理端口接收到的第一报文的报文头信息进行解析,获取第一目的地址,将所述第一报文发送给所述第一目的地址对应的虚拟端口。根据权利要求1‑3任一所述的虚拟端口监控方法,其特征在于,还包括:对从一个虚拟端口接收到的第二报文的报文头信息进行解析,获取第二目的地址,若所述第二目的地址对应一个虚拟端口,则将所述第二报文发送给所述第二目的地址对应的虚拟端口,若所述第二目的地址不对应任何虚拟端口,则将所述第二报文发送给所述物理端口。一种虚拟端口监控方法,其特征在于,包括:从镜像目的虚拟端口接收镜像后的报文;根据所述镜像后的报文,对至少一个镜像源虚拟端口进行监控,其中,所述镜像后的报文为所述至少一个镜像源虚拟端口接收和/或发送的报文的镜像报文。根据权利要求6所述的虚拟端口监控方法,其特征在于:所述方法由监控虚拟机执行;所述至少一个镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器,与所述监控虚拟机所在的物理服务器是同一个物理服务器。根据权利要求6或7所述的虚拟端口监控方法,其特征在于,所述根据所述镜像后的报文,对至少一个镜像源虚拟端口进行监控,包括:对所述镜像后的报文的报文头信息进行解析,获取源地址,根据所述源地址确定发送所述镜像后的报文的镜像源虚拟端口,对所述发送所述镜像后的报文的镜像源虚拟端口进行监控。一种虚拟端口监控装置,其特征在于,包括:监听单元,用于对至少一个镜像源虚拟端口接收和/或发送的报文进行监听;镜像单元,用于在监听到所述至少一个镜像源虚拟端口接收和/或发送报文时,将所述报文镜像到镜像目的虚拟端口,以使监控虚拟机根据从所述镜像目的虚拟端口接收到的镜像后的报文,对所述至少一个镜像源虚拟端口进行监控。根据权利要求9所述的虚拟端口监控装置,其特征在于:所述至少一个镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器,与所述监控虚拟机所在的物理服务器是同一个物理服务器。根据权利要求9或10所述的虚拟端口监控装置,其特征在于,还包括:配置单元,用于根据接收到的配置参数,将至少一个虚拟端口配置为所述镜像源虚拟端口,将所述至少一个虚拟端口之外的虚拟端口配置为所述镜像目的虚拟端口,设置所述至少一个镜像源虚拟端口与所述镜像目的虚拟端口的镜像关系,以及每个镜像源虚拟端口的镜像方式,其中,所述镜像方式包括下列方式之一:接收和发送镜像、接收镜像或发送镜像。根据权利要求9‑11任一所述的虚拟端口监控装置,其特征在于,还包括:第一转发单元,用于对从物理端口接收到的第一报文的报文头信息进行解析,获取第一目的地址,将所述第一报文发送给所述第一目的地址对应的虚拟端口。根据权利要求9‑11任一所述的虚拟端口监控装置,其特征在于,还包括:第二转发单元,用于对从一个虚拟端口接收到的第二报文的报文头信息进行解析,获取第二目的地址,若所述第二目的地址对应一个虚拟端口,则将所述第二报文发送给所述第二目的地址对应的虚拟端口,若所述第二目的地址不对应任何虚拟端口,则将所述第二报文发送给所述物理端口。一种网卡,包括物理端口、多个虚拟网卡和每个虚拟网卡对应的虚拟端口,其特征在于,还包括:如权利要求9‑13任一所述的虚拟端口监控装置;其中,多个虚拟端口包括至少一个镜像源虚拟端口和镜像目的虚拟端口。一种服务器,包括多个虚拟机,其特征在于:还包括如权利要求14所述的网卡;其中,每个虚拟机分配有所述网卡中的一个虚拟网卡,所述多个虚拟机中至少有一个监控虚拟机,所述监控虚拟机所分配的虚拟网卡将从所述网卡的镜像目的虚拟端口接收到的镜像后的报文提供给所述监控虚拟机。

说明书

说明书虚拟端口监控方法和设备
技术领域
本发明实施例涉及信息技术,尤其涉及一种虚拟端口监控方法和设备。
背景技术
在当前云计算热潮中,虚拟化技术的发展也日新月异。虚拟交换技术是近年来快速发展起来的一种网络交换技术,所谓虚拟交换,就是实现虚拟化环境中各虚拟机之间、虚拟机与物理机之间的网络交换功能。现有技术的网卡中通常都集成了虚拟交换功能,进一步增强了网卡的虚拟化特性。
网卡虚拟交换的工作原理简述如下:对于接收进来的报文,网卡根据报文头信息,判断出报文要发送给哪个虚拟机,然后将报文转发到目的虚拟机。对于虚拟机发送的报文,网卡根据报文头信息,判断出该报文是要发送给同一物理服务器的其他虚拟机还是发送给外部设备,再进行相应地处理。
现有技术中,外部设备例如交换机可以对发给网卡或者由网卡发出的报文进行监控,但是却无法实现同一物理服务器的多个虚拟机之间的报文监控,一旦发生网络异常,无法实现准确定位。
发明内容
本发明实施例提供一种虚拟端口监控方法和设备,以实现对同一物理服务器的多个虚拟机之间的报文的监控,提高系统的可靠性和安全性。
第一方面,本发明实施例提供一种虚拟端口监控方法,包括:
对至少一个镜像源虚拟端口接收和/或发送的报文进行监听;
在监听到所述至少一个镜像源虚拟端口接收和/或发送报文时,将所述报文镜像到镜像目的虚拟端口,以使监控虚拟机根据从所述镜像目的虚拟端口接收到的镜像后的报文,对所述至少一个镜像源虚拟端口进行监控。
在第一种可能的实现方式中,所述至少一个镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器,与所述监控虚拟机所在的物理服务器是同一个物理服务器。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述对至少一个镜像源虚拟端口接收和/或发送的报文进行监听之前,还包括:
根据接收到的配置参数,将至少一个虚拟端口配置为所述镜像源虚拟端口,将所述至少一个虚拟端口之外的虚拟端口配置为所述镜像目的虚拟端口,设置所述至少一个镜像源虚拟端口与所述镜像目的虚拟端口的镜像关系,以及每个镜像源虚拟端口的镜像方式,其中,所述镜像方式包括下列方式之一:接收和发送镜像、接收镜像或发送镜像。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述虚拟端口监控方法还包括:
对从物理端口接收到的第一报文的报文头信息进行解析,获取第一目的地址,将所述第一报文发送给所述第一目的地址对应的虚拟端口。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第四种可能的实现方式中,所述虚拟端口监控方法,还包括:
对从一个虚拟端口接收到的第二报文的报文头信息进行解析,获取第二目的地址,若所述第二目的地址对应一个虚拟端口,则将所述第二报文发送给所述第二目的地址对应的虚拟端口,若所述第二目的地址不对应任何虚拟端口,则将所述第二报文发送给所述物理端口。
第二方面,本发明实施例提供一种虚拟端口监控方法,包括:
从镜像目的虚拟端口接收镜像后的报文;
根据所述镜像后的报文,对至少一个镜像源虚拟端口进行监控,其中,所述镜像后的报文为所述至少一个镜像源虚拟端口接收和/或发送的报文的镜像报文。
在第一种可能的实现方式中,所述方法由监控虚拟机执行;
所述至少一个镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器,与所述监控虚拟机所在的物理服务器是同一个物理服务器。
第三方面,本发明实施例提供一种虚拟端口监控装置,包括:
监听单元,用于对至少一个镜像源虚拟端口接收和/或发送的报文进行监听;
镜像单元,用于在监听到所述至少一个镜像源虚拟端口接收和/或发送报文时,将所述报文镜像到镜像目的虚拟端口,以使监控虚拟机根据从所述镜像目的虚拟端口接收到的镜像后的报文,对所述至少一个镜像源虚拟端口进行监控。
在第一种可能的实现方式中,所述至少一个镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器,与所述监控虚拟机所在的物理服务器是同一个物理服务器。
结合第三方面或第三方面的第一种可能的实现方式中,在第二种可能的实现方式中,所述虚拟端口监控装置,还包括:
配置单元,用于根据接收到的配置参数,将至少一个虚拟端口配置为所述镜像源虚拟端口,将所述至少一个虚拟端口之外的虚拟端口配置为所述镜像目的虚拟端口,设置所述至少一个镜像源虚拟端口与所述镜像目的虚拟端口的镜像关系,以及每个镜像源虚拟端口的镜像方式,其中,所述镜像方式包括下列方式之一:接收和发送镜像、接收镜像或发送镜像。
结合第三方面或第三方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述虚拟端口监控装置,还包括:
第一转发单元,用于对从物理端口接收到的第一报文的报文头信息进行解析,获取第一目的地址,将所述第一报文发送给所述第一目的地址对应的虚拟端口。
结合第三方面或第三方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述虚拟端口监控装置,还包括:
第二转发单元,用于对从一个虚拟端口接收到的第二报文的报文头信息进行解析,获取第二目的地址,若所述第二目的地址对应一个虚拟端口,则将所述第二报文发送给所述第二目的地址对应的虚拟端口,若所述第二目的地址不对应任何虚拟端口,则将所述第二报文发送给所述物理端口。
第四方面,本发明实施例提供一种网卡,包括物理端口、多个虚拟网卡和每个虚拟网卡对应的虚拟端口,还包括:如本发明实施例提供的虚拟端口监控装置;
其中,多个虚拟端口包括至少一个镜像源虚拟端口和镜像目的虚拟端口。
第五方面,本发明实施例提供一种服务器,包括多个虚拟机,还包括本发明实施例提供的网卡;
其中,每个虚拟机分配有所述网卡中的一个虚拟网卡,所述多个虚拟机中至少有一个监控虚拟机,所述监控虚拟机所分配的虚拟网卡将从所述网卡的镜像目的虚拟端口接收到的镜像后的报文提供给所述监控虚拟机。
由上述技术方案可知,本发明实施例提供的虚拟端口监控方法和设备,虚拟端口监控装置将从至少一个镜像源虚拟端口接收和/或发送的报文镜像到镜像目的虚拟端口,以使监控虚拟机根据从镜像目的虚拟端口接收到的镜像后的报文,对至少一个镜像源虚拟端口进行监控。通过对至少一个镜像源虚拟端口的监控,实现了对镜像源虚拟端口对应的虚拟机的监控,进而实现了对同一物理服务器的多个虚拟机之间的报文的监控,当发生网络异常时,容易实现问题定位,提高了系统的可靠性和安全性。
附图说明
图1为本发明实施例提供的一种虚拟端口监控方法流程图;
图2为本发明实施例提供的另一种虚拟端口监控方法流程图;
图3为本发明实施例提供的再一种虚拟端口监控方法流程图;
图4为本发明实施例提供的一种虚拟端口监控装置结构示意图;
图5a为本发明实施例提供的另一种虚拟端口监控装置结构示意图;
图5b为本发明实施例提供的又一种虚拟端口监控装置结构示意图
图6为本发明实施例提供的网卡结构示意图;
图7为本发明实施例提供的服务器结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种虚拟端口监控方法流程图。如图1所示,本实施例提供的虚拟端口监控方法具体可以应用于对服务器的虚拟机的流量监控过程。该服务器上具体安装有物理网卡,该物理网卡支持虚拟交换功能,可以虚拟出多个虚拟网卡,服务器上可以创建有多个虚拟机,每个虚拟机分配一个虚拟网卡,以使得虚拟机可以通过分配到的虚拟网卡接收/发送报文,为虚拟机分配虚拟网卡具体可以通过虚拟机管理平台来实现,虚拟机管理例如可以为citrix的XenCenter或VMware的vCenter等。该物理网卡上还设置有多个虚拟端口和一个物理端口,每个虚拟端口对应一个虚拟网卡,即与一个虚拟机相对应,发送给该虚拟机的报文可以发送到该虚拟端口上,该虚拟机发送的报文可以通过该虚拟端口发出,对虚拟端口进行监控即可实现对与该虚拟端口对应的虚拟机的监控。物理端口与外部设备(如交换机)相连,以实现服务器与外部设备的通信。一组虚拟机、虚拟网卡和虚拟端口绑定在一起,可以实现服务器内部的虚拟机之间的通信,也可以实现服务器内部的虚拟机与服务器外部的其他物理设备或虚拟设备的通信。
本实施例提供的虚拟端口监控方法可以通过虚拟端口监控装置来执行,该虚拟端口监控装置可以集成在物理网卡中。该虚拟端口监控装置可以采用嵌入式的控制器来实现,也可以采用现场可编程门阵列(Field‑Programmable Gate Array,简称FPGA)或专用集成电路(Application Specific Integrated Circuit,简称ASIC)来实现。
本实施例提供的虚拟端口监控方法具体包括:
步骤A20、对至少一个镜像源虚拟端口接收和/或发送的报文进行监听;
步骤A30、在监听到所述至少一个镜像源虚拟端口接收和/或发送报文时,将所述报文镜像到镜像目的虚拟端口,以使监控虚拟机根据从所述镜像目的虚拟端口接收到的报文,对所述至少一个镜像源虚拟端口进行监控。
具体地,可以预先配置虚拟端口之间的镜像关系,将一个虚拟端口配置为镜像目的虚拟端口,将另外一个虚拟端口配置为镜像源虚拟端口,并设置上述两个虚拟端口的镜像关系,则通过该镜像源虚拟端口接收和/或发送的报文就被镜像到该镜像目的虚拟端口。镜像过程具体可以通过对报文的复制来实现。还可以根据监控需要来设置镜像方式,例如,可以只将从镜像源虚拟端口发送的报文镜像到镜像目的虚拟端口,也可以只将从镜像源虚拟端口接收的报文镜像到镜像目的虚拟端口,还可以将从镜像源虚拟端口发送和接收的报文都镜像到镜像目的虚拟端口。一个镜像目的虚拟端口可以对应多个镜像源虚拟端口,以实现对多个镜像源虚拟端口的集中监控。例如,物理网卡中设置有五个虚拟端口,分别为vNIC1、vNIC2、vNIC3、vNIC4和vNIC5。可以将vNIC1设置为镜像目的虚拟端口,将vNIC2、vNIC3、vNIC4和vNIC5均设置为与vNIC1对应的镜像源虚拟端口,则从vNIC2、vNIC3、vNIC4和vNIC5接收和/或发送的报文被镜像到vNIC1。
在实际应用过程中,服务器中任意一个虚拟机可以被设置为监控虚拟机,所述虚拟端口监控装置将该监控虚拟机对应的虚拟端口配置为镜像目的虚拟端口,所述虚拟机对应的虚拟端口与分配给所述虚拟机的虚拟网卡对应;当存在多个需要监控的虚拟机时,对于每个虚拟机,所述虚拟端口监控装置将该虚拟机分配的虚拟网卡所对应的虚拟端口配置为镜像源虚拟端口,并设置镜像目的虚拟端口与多个镜像源虚拟端口之间的镜像关系和镜像方式。以镜像方式为发送和接收的报文全部镜像为例对本实施例所提供的虚拟端口监控方法进行描述:监控虚拟机所分配的虚拟网卡通过镜像目的虚拟端口接收和发送报文,被监控的虚拟机所分配的虚拟网卡通过各自对应的镜像源虚拟端口接收和发送报文。虚拟端口监控装置将从镜像源虚拟端口接收和发送的报文全部镜像到镜像目的虚拟端口,监控虚拟机所分配的虚拟网卡从该镜像目的虚拟端口接收镜像后的报文,由于该镜像后的报文的报文头信息中包括源地址和目的地址,因此,监控虚拟机可以根据报文头信息中的源地址获知该报文是由哪个虚拟机发出的,监控虚拟机还可以利用报文分析工具对报文进行分析以获取报文的来源,以实现对报文流量和报文内容的监控。当发生网络异常时,可以根据被监控的虚拟机收发的报文的情况进行准确定位。例如,一个被监控的虚拟机通过网络攻击另一个被监控的虚拟机而导致网络异常,由于这两个虚拟机都被监控虚拟机所监控,所以很容易进行问题定位。
本实施例提供的虚拟端口监控方法,虚拟端口监控装置对至少一个镜像源虚拟端口接收和/或发送报文的情况进行监听,在监听到至少一个镜像源虚拟端口接收和/或发送报文时,将所述报文镜像到镜像目的虚拟端口,以使监控虚拟机根据监控虚拟机所分配的虚拟网卡从镜像目的虚拟端口接收到的镜像后的报文,对至少一个镜像源虚拟端口进行监控。通过对至少一个镜像源虚拟端口的监控,实现了对镜像源虚拟端口对应的虚拟机的监控,进而实现了对同一物理服务器的多个虚拟机之间的报文的监控,当发生网络异常时,很容易实现问题定位,提高了系统的可靠性和安全性。
图2为本发明实施例提供的另一种虚拟端口监控方法流程图。如图2所示,作为一种具体实现方式,所述镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器,与所述监控虚拟机所在的物理服务器是同一个物理服务器。
在本实施例中,在步骤A20,对至少一个镜像源虚拟端口接收和/或发送报文的情况进行监听之前,还可以包括如下步骤:
步骤A10、根据接收到的配置参数,将至少一个虚拟端口配置为镜像源虚拟端口,将所述至少一个虚拟端口之外的虚拟端口配置为镜像目的虚拟端口,设置所述至少一个镜像源虚拟端口与所述镜像目的虚拟端口的镜像关系,以及每个镜像源虚拟端口的镜像方式,其中,所述镜像方式包括下列方式之一:接收和发送镜像、接收镜像或发送镜像。
具体地,配置参数可以为管理员输入的用以对虚拟端口进行镜像配置的参数,也可以为从其他管理设备获取到的。物理网卡通常都具有管理平面的驱动程序,该驱动程序提供用以配置物理网卡的应用程序编程(Application Programming Interface,简称API接口),可以调用该API接口传入配置参数。当配置了多个镜像源虚拟端口时,每个镜像源虚拟端口的镜像方式可以不同。
配置具体实现过程可以为:在物理网卡中设置配置表,如表1所示,该配置表中记录的配置参数包括了镜像源虚拟端口、镜像目的虚拟端口、镜像方式。其中,SrcPort表示源镜像端口的端口号;DestPort表示目的镜像端口的端口号;Mode表示镜像方式,1代表接收镜像,2代表发送镜像,3代表接收和发送镜像。当管理员进行参数配置时,物理网卡将接收到的配置参数记录到配置表中,表1的示例表示管理员配置了两条镜像规则,第一条是将虚拟端口1接收的报文镜像到虚拟端口20,第二条是将虚拟端口2、3、4、5接收和发送的报文都镜像到虚拟端口21。物理网卡进行报文收发时,查询配置表的记录,根据配置表中的镜像规则,进行报文的镜像操作。
表1
  SrcPort  DestPort  Mode  1  20  1  2,3,4,5  21  3
在本实施例中,该虚拟端口监控方法还可以包括如下步骤:
对从物理端口接收到的第一报文的报文头信息进行解析,获取第一目的地址,将所述第一报文发送给所述第一目的地址对应的虚拟端口。
具体地,报文的报文头信息中包括源地址和目的地址,源地址和目的地址具体可以为源介质访问控制(Medium Access Control,简称MAC)地址和目的MAC地址。每个虚拟网卡具有一个MAC地址,可以通过该MAC地址标识分配有该虚拟网卡的虚拟机。
虚拟端口监控装置从物理端口接收第一报文,该第一报文为与该物理端口连接的外部设备发送的报文。虚拟端口监控装置对该第一报文的报文头信息进行解析,获取到第一目的地址,由于虚拟机、虚拟网卡和虚拟端口绑定在一起,则根据该第一目的地址,可以确定一个虚拟端口,将第一报文发送给该虚拟端口。该虚拟端口可以为镜像源虚拟端口,也可以为镜像目的虚拟端口。
在本实施例中,该虚拟端口监控方法还可以包括如下步骤:
对从一个虚拟端口接收到的第二报文的报文头信息进行解析,获取第二目的地址,若所述第二目的地址对应一个虚拟端口,则将所述第二报文发送给所述第二目的地址对应的虚拟端口,若所述第二目的地址不对应任何虚拟端口,则将所述第二报文发送给所述物理端口。
虚拟端口监控装置从一个虚拟端口接收到第二报文,该虚拟端口可以为镜像源虚拟端口,也可以为镜像目的虚拟端口。该第二报文为与该虚拟端口对应的虚拟机发送的报文。虚拟端口监控装置对该第二报文的报文头信息进行解析,获取到第二目的地址,若该第二目的地址对应一个虚拟端口,则说明该第二报文是发给服务器内部另一个虚拟机的,则将该第二报文发送给该虚拟端口。该第二目的地址不对应任何虚拟端口,则说明该第二报文是发给外部设备的,则将该第二报文发送给物理端口。
图3为本发明实施例提供的再一种虚拟端口监控方法流程图。如图3所示,本实施例提供的虚拟端口监控方法具体可以应用于对服务器的虚拟机的流量监控过程,可以与本发明任意实施例提供的应用于虚拟端口监控装置的虚拟端口监控方法配合实现,其具体实现过程在此不再赘述。本实施例提供的虚拟端口监控方法可以通过服务器上的虚拟机来执行,将用于监控的虚拟机设置为监控虚拟机。本实施例提供的虚拟端口监控方法具体包括:
步骤B10、从镜像目的虚拟端口接收镜像后的报文;
步骤B20、根据所述镜像后的报文,对至少一个镜像源虚拟端口进行监控,其中,所述镜像后的报文为所述至少一个镜像源虚拟端口接收和/或发送的报文的镜像报文。
监控虚拟机可以对镜像得到的报文进行分析,对报文的分析过程中具体可以采用报文捕获分析工具来实现,报文捕获分析工具例如可以为Windows操作系统下的Wireshark(Ethreal),或者Linux操作系统下的tcpdump,或者其他分析软件。
本实施例提供的虚拟端口监控方法,监控虚拟机根据从镜像目的虚拟端口接收到的镜像后的报文对镜像源虚拟端口进行监控,由于镜像后的报文为将从至少一个镜像源虚拟端口接收和/或发送的报文镜像到镜像目的虚拟端口的报文,实现了对服务器上其他虚拟机的监控,进而实现了对同一服务器的多个虚拟机之间的报文的监控,当发生网络异常时,很容易实现问题定位,提高了系统的可靠性和安全性。
作为一种具体实现方式,所述镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器,与所述监控虚拟机所在的物理服务器是同一个物理服务器。
在本实施例中,步骤B20,所述根据所述镜像后的报文,对至少一个镜像源虚拟端口进行监控,具体可以包括:
对所述镜像后的报文的报文头信息进行解析,获取源地址,根据所述源地址确定发送所述镜像后的报文的镜像源虚拟端口,对所述发送所述镜像后的报文的镜像源虚拟端口进行监控。
具体地,报文的报文头信息中包括源地址和目的地址,源地址和目的地址具体可以为源介质访问控制(Medium Access Control,简称MAC)地址和目的MAC地址。每个虚拟网卡具有一个MAC地址,可以通过该MAC地址标识分配有该虚拟网卡的虚拟机。监控虚拟机从镜像目的虚拟端口接收镜像后的报文,镜像后的报文的内容与原始报文相同,因此镜像后的报文的报文头中也包含源地址,监控虚拟机根据该源地址可以确定发送该报文的虚拟网卡,以及与该虚拟网卡对应的镜像源虚拟端口,对该镜像源虚拟端口进行监控,实现了对该镜像源虚拟端口对应的虚拟机的监控。
图4为本发明实施例提供的一种虚拟端口监控装置结构示意图。如图4所示,本实施例提供的虚拟端口监控装置81具体可以实现如图1所示实施例的各个步骤,其详细实现过程在此不再赘述。
本实施例提供的虚拟端口监控装置81具体包括监听单元11和镜像单元12,监听单元11用于对至少一个镜像源虚拟端口82接收和/或发送的报文进行监听。镜像单元12用于在监听到所述至少一个镜像源虚拟端口82接收和/或发送报文时,将所述报文镜像到镜像目的虚拟端口83,以使监控虚拟机841根据从所述镜像目的虚拟端口83接收到的镜像后的报文,对所述至少一个镜像源虚拟端口82进行监控,其中,所述监控虚拟机841分配有一个虚拟网卡85,所述虚拟网卡85将从所述镜像目的虚拟端口83接收到的所述镜像后的报文提供给所述监控虚拟机841。
本实施例提供的虚拟端口监控装置81,监听单元11对至少一个镜像源虚拟端口82接收和/或发送的报文进行监听。镜像单元12在监听到至少一个镜像源虚拟端口82接收和/或发送报文时,将报文镜像到镜像目的虚拟端口83,以使监控虚拟机841根据监控虚拟机841所分配的虚拟网卡85从镜像目的虚拟端口83接收到的镜像后的报文,对至少一个镜像源虚拟端口82进行监控。通过对至少一个镜像源虚拟端口82的监控,实现了对镜像源虚拟端口82对应的虚拟机的监控,进而实现了对同一物理服务器的多个虚拟机之间的报文的监控,当发生网络异常时,很容易实现问题定位,提高了系统的可靠性和安全性。
图5a为本发明实施例提供的另一种虚拟端口监控装置结构示意图。如图5所示,作为一种具体实现方式,所述镜像源虚拟端口82和所述镜像目的虚拟端口83所在物理服务器,与所述监控虚拟机841所在的物理服务器是同一个物理服务器。
进一步地,在本实施例中,该虚拟端口监控装置81还可以包括配置单元13,配置单元13用于根据接收到的配置参数,将至少一个虚拟端口配置为所述镜像源虚拟端口82,将所述至少一个虚拟端口之外的虚拟端口配置为所述镜像目的虚拟端口83,设置所述至少一个镜像源虚拟端口82与所述镜像目的虚拟端口83的镜像关系,以及每个镜像源虚拟端口82的镜像方式,其中,所述镜像方式包括下列方式之一:接收和发送镜像、接收镜像或发送镜像。
进一步地,在本实施例中,该虚拟端口监控装置81还可以包括第一转发单元14,第一转发单元14用于对从物理端口86接收到的第一报文的报文头信息进行解析,获取第一目的地址,将所述第一报文发送给所述第一目的地址对应的虚拟端口。该虚拟端口可以为镜像源虚拟端口82,也可以为镜像目的虚拟端口83。
进一步地,在本实施例中,该虚拟端口监控装置81还可以包括第二转发单元15,第二转发单元15用于对从一个虚拟端口接收到的第二报文的报文头信息进行解析,获取第二目的地址,若所述第二目的地址对应一个虚拟端口,则将所述第二报文发送给所述第二目的地址对应的虚拟端口,若所述第二目的地址不对应任何虚拟端口,则将所述第二报文发送给所述物理端口86。该虚拟端口可以为镜像源虚拟端口82,也可以为镜像目的虚拟端口83。
图5b为本发明实施例提供的又一种虚拟端口监控装置结构示意图。如图5b所示,包括存储器703,和处理器603。其中存储器703用于存储用以实现图5a所述的各单元的指令,处理器603与存储器703连接,执行存储器703中存储的指令,以实现相应功能。图5b中存储器703中各单元的功能与图5a中的各单元的功能相同,本发明实施例在此不再详述。
图6为本发明实施例提供的网卡结构示意图。如图6所示,本实施例提供的网卡87包括物理端口86、多个虚拟网卡85和每个虚拟网卡85对应的虚拟端口,还包括:本发明任意实施例提供的虚拟端口监控装置81;其中,多个虚拟端口包括至少一个镜像源虚拟端口82(图中示出两个)和镜像目的虚拟端口83。
图7为本发明实施例提供的服务器结构示意图。如图7所示,在本实施例中,该服务器88包括多个虚拟机84,还包括本发明任意实施例提供的网卡87;其中,每个虚拟机84分配有所述网卡87中的一个虚拟网卡85,所述多个虚拟机84中至少有一个监控虚拟机841(图中示出一个),所述监控虚拟机841所分配的虚拟网卡85将从所述网卡87的镜像目的虚拟端口83接收到的镜像后的报文提供给所述监控虚拟机841。所述网卡87中的虚拟端口监控装置81将从至少一个镜像源虚拟端口82接收和/或发送的报文镜像到镜像目的虚拟端口83。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

虚拟端口监控方法和设备.pdf_第1页
第1页 / 共16页
虚拟端口监控方法和设备.pdf_第2页
第2页 / 共16页
虚拟端口监控方法和设备.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《虚拟端口监控方法和设备.pdf》由会员分享,可在线阅读,更多相关《虚拟端口监控方法和设备.pdf(16页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102870377 A (43)申请公布日 2013.01.09 CN 102870377 A *CN102870377A* (21)申请号 201280000784.7 (22)申请日 2012.06.30 H04L 12/26(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 蔡世顺 (74)专利代理机构 北京同立钧成知识产权代理 有限公司 11205 代理人 刘芳 (54) 发明名称 虚拟端口监控方法和设备 (57) 摘要 本发明实施例提供的虚拟端口监控方法和设 备, 该虚拟端口监控方。

2、法包括 : 对至少一个镜像 源虚拟端口接收和 / 或发送的报文进行监听 ; 在 监听到所述至少一个镜像源虚拟端口接收和 / 或 发送报文时, 将所述报文镜像到镜像目的虚拟端 口, 以使监控虚拟机根据从所述镜像目的虚拟端 口接收到的镜像后的报文, 对所述至少一个镜像 源虚拟端口进行监控。本发明实施例提供的虚拟 端口监控方法和设备, 实现了对同一物理服务器 的多个虚拟机之间的报文的监控, 提高了系统的 可靠性和安全性。 (85)PCT申请进入国家阶段日 2012.09.10 (86)PCT申请的申请数据 PCT/CN2012/077988 2012.06.30 (51)Int.Cl. 权利要求书 。

3、2 页 说明书 8 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 5 页 1/2 页 2 1. 一种虚拟端口监控方法, 其特征在于, 包括 : 对至少一个镜像源虚拟端口接收和 / 或发送的报文进行监听 ; 在监听到所述至少一个镜像源虚拟端口接收和 / 或发送报文时, 将所述报文镜像到镜 像目的虚拟端口, 以使监控虚拟机根据从所述镜像目的虚拟端口接收到的镜像后的报文, 对所述至少一个镜像源虚拟端口进行监控。 2. 根据权利要求 1 所述的虚拟端口监控方法, 其特征在于 : 所述至少一个镜像源虚拟 端口和所述镜像目的虚拟端口。

4、所在物理服务器, 与所述监控虚拟机所在的物理服务器是同 一个物理服务器。 3.根据权利要求1或2所述的虚拟端口监控方法, 其特征在于, 所述对至少一个镜像源 虚拟端口接收和 / 或发送的报文进行监听之前, 还包括 : 根据接收到的配置参数, 将至少一个虚拟端口配置为所述镜像源虚拟端口, 将所述至 少一个虚拟端口之外的虚拟端口配置为所述镜像目的虚拟端口, 设置所述至少一个镜像源 虚拟端口与所述镜像目的虚拟端口的镜像关系, 以及每个镜像源虚拟端口的镜像方式, 其 中, 所述镜像方式包括下列方式之一 : 接收和发送镜像、 接收镜像或发送镜像。 4. 根据权利要求 1-3 任一所述的虚拟端口监控方法,。

5、 其特征在于, 还包括 : 对从物理端口接收到的第一报文的报文头信息进行解析, 获取第一目的地址, 将所述 第一报文发送给所述第一目的地址对应的虚拟端口。 5. 根据权利要求 1-3 任一所述的虚拟端口监控方法, 其特征在于, 还包括 : 对从一个虚拟端口接收到的第二报文的报文头信息进行解析, 获取第二目的地址, 若 所述第二目的地址对应一个虚拟端口, 则将所述第二报文发送给所述第二目的地址对应的 虚拟端口, 若所述第二目的地址不对应任何虚拟端口, 则将所述第二报文发送给所述物理 端口。 6. 一种虚拟端口监控方法, 其特征在于, 包括 : 从镜像目的虚拟端口接收镜像后的报文 ; 根据所述镜像。

6、后的报文, 对至少一个镜像源虚拟端口进行监控, 其中, 所述镜像后的报 文为所述至少一个镜像源虚拟端口接收和 / 或发送的报文的镜像报文。 7. 根据权利要求 6 所述的虚拟端口监控方法, 其特征在于 : 所述方法由监控虚拟机执行 ; 所述至少一个镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器, 与所述监控 虚拟机所在的物理服务器是同一个物理服务器。 8.根据权利要求6或7所述的虚拟端口监控方法, 其特征在于, 所述根据所述镜像后的 报文, 对至少一个镜像源虚拟端口进行监控, 包括 : 对所述镜像后的报文的报文头信息进行解析, 获取源地址, 根据所述源地址确定发送 所述镜像后的报文的镜像源。

7、虚拟端口, 对所述发送所述镜像后的报文的镜像源虚拟端口进 行监控。 9. 一种虚拟端口监控装置, 其特征在于, 包括 : 监听单元, 用于对至少一个镜像源虚拟端口接收和 / 或发送的报文进行监听 ; 镜像单元, 用于在监听到所述至少一个镜像源虚拟端口接收和 / 或发送报文时, 将所 述报文镜像到镜像目的虚拟端口, 以使监控虚拟机根据从所述镜像目的虚拟端口接收到的 权 利 要 求 书 CN 102870377 A 2 2/2 页 3 镜像后的报文, 对所述至少一个镜像源虚拟端口进行监控。 10. 根据权利要求 9 所述的虚拟端口监控装置, 其特征在于 : 所述至少一个镜像源虚拟 端口和所述镜像目。

8、的虚拟端口所在物理服务器, 与所述监控虚拟机所在的物理服务器是同 一个物理服务器。 11. 根据权利要求 9 或 10 所述的虚拟端口监控装置, 其特征在于, 还包括 : 配置单元, 用于根据接收到的配置参数, 将至少一个虚拟端口配置为所述镜像源虚拟 端口, 将所述至少一个虚拟端口之外的虚拟端口配置为所述镜像目的虚拟端口, 设置所述 至少一个镜像源虚拟端口与所述镜像目的虚拟端口的镜像关系, 以及每个镜像源虚拟端口 的镜像方式, 其中, 所述镜像方式包括下列方式之一 : 接收和发送镜像、 接收镜像或发送镜 像。 12. 根据权利要求 9-11 任一所述的虚拟端口监控装置, 其特征在于, 还包括 。

9、: 第一转发单元, 用于对从物理端口接收到的第一报文的报文头信息进行解析, 获取第 一目的地址, 将所述第一报文发送给所述第一目的地址对应的虚拟端口。 13. 根据权利要求 9-11 任一所述的虚拟端口监控装置, 其特征在于, 还包括 : 第二转发单元, 用于对从一个虚拟端口接收到的第二报文的报文头信息进行解析, 获 取第二目的地址, 若所述第二目的地址对应一个虚拟端口, 则将所述第二报文发送给所述 第二目的地址对应的虚拟端口, 若所述第二目的地址不对应任何虚拟端口, 则将所述第二 报文发送给所述物理端口。 14. 一种网卡, 包括物理端口、 多个虚拟网卡和每个虚拟网卡对应的虚拟端口, 其特征。

10、 在于, 还包括 : 如权利要求 9-13 任一所述的虚拟端口监控装置 ; 其中, 多个虚拟端口包括至少一个镜像源虚拟端口和镜像目的虚拟端口。 15. 一种服务器, 包括多个虚拟机, 其特征在于 : 还包括如权利要求 14 所述的网卡 ; 其中, 每个虚拟机分配有所述网卡中的一个虚拟网卡, 所述多个虚拟机中至少有一个 监控虚拟机, 所述监控虚拟机所分配的虚拟网卡将从所述网卡的镜像目的虚拟端口接收到 的镜像后的报文提供给所述监控虚拟机。 权 利 要 求 书 CN 102870377 A 3 1/8 页 4 虚拟端口监控方法和设备 技术领域 0001 本发明实施例涉及信息技术, 尤其涉及一种虚拟端。

11、口监控方法和设备。 背景技术 0002 在当前云计算热潮中, 虚拟化技术的发展也日新月异。虚拟交换技术是近年来快 速发展起来的一种网络交换技术, 所谓虚拟交换, 就是实现虚拟化环境中各虚拟机之间、 虚 拟机与物理机之间的网络交换功能。现有技术的网卡中通常都集成了虚拟交换功能, 进一 步增强了网卡的虚拟化特性。 0003 网卡虚拟交换的工作原理简述如下 : 对于接收进来的报文, 网卡根据报文头信息, 判断出报文要发送给哪个虚拟机, 然后将报文转发到目的虚拟机。 对于虚拟机发送的报文, 网卡根据报文头信息, 判断出该报文是要发送给同一物理服务器的其他虚拟机还是发送给 外部设备, 再进行相应地处理。。

12、 0004 现有技术中, 外部设备例如交换机可以对发给网卡或者由网卡发出的报文进行监 控, 但是却无法实现同一物理服务器的多个虚拟机之间的报文监控, 一旦发生网络异常, 无 法实现准确定位。 发明内容 0005 本发明实施例提供一种虚拟端口监控方法和设备, 以实现对同一物理服务器的多 个虚拟机之间的报文的监控, 提高系统的可靠性和安全性。 0006 第一方面, 本发明实施例提供一种虚拟端口监控方法, 包括 : 0007 对至少一个镜像源虚拟端口接收和 / 或发送的报文进行监听 ; 0008 在监听到所述至少一个镜像源虚拟端口接收和 / 或发送报文时, 将所述报文镜像 到镜像目的虚拟端口, 以使。

13、监控虚拟机根据从所述镜像目的虚拟端口接收到的镜像后的报 文, 对所述至少一个镜像源虚拟端口进行监控。 0009 在第一种可能的实现方式中, 所述至少一个镜像源虚拟端口和所述镜像目的虚拟 端口所在物理服务器, 与所述监控虚拟机所在的物理服务器是同一个物理服务器。 0010 结合第一方面或第一方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述对至少一个镜像源虚拟端口接收和 / 或发送的报文进行监听之前, 还包括 : 0011 根据接收到的配置参数, 将至少一个虚拟端口配置为所述镜像源虚拟端口, 将所 述至少一个虚拟端口之外的虚拟端口配置为所述镜像目的虚拟端口, 设置所述至少一个 镜像。

14、源虚拟端口与所述镜像目的虚拟端口的镜像关系, 以及每个镜像源虚拟端口的镜像方 式, 其中, 所述镜像方式包括下列方式之一 : 接收和发送镜像、 接收镜像或发送镜像。 0012 结合第一方面或第一方面的第一种或第二种可能的实现方式, 在第三种可能的实 现方式中, 所述虚拟端口监控方法还包括 : 0013 对从物理端口接收到的第一报文的报文头信息进行解析, 获取第一目的地址, 将 所述第一报文发送给所述第一目的地址对应的虚拟端口。 说 明 书 CN 102870377 A 4 2/8 页 5 0014 结合第一方面或第一方面的第一种或第二种可能的实现方式, 在第四种可能的实 现方式中, 所述虚拟端。

15、口监控方法, 还包括 : 0015 对从一个虚拟端口接收到的第二报文的报文头信息进行解析, 获取第二目的地 址, 若所述第二目的地址对应一个虚拟端口, 则将所述第二报文发送给所述第二目的地址 对应的虚拟端口, 若所述第二目的地址不对应任何虚拟端口, 则将所述第二报文发送给所 述物理端口。 0016 第二方面, 本发明实施例提供一种虚拟端口监控方法, 包括 : 0017 从镜像目的虚拟端口接收镜像后的报文 ; 0018 根据所述镜像后的报文, 对至少一个镜像源虚拟端口进行监控, 其中, 所述镜像后 的报文为所述至少一个镜像源虚拟端口接收和 / 或发送的报文的镜像报文。 0019 在第一种可能的实。

16、现方式中, 所述方法由监控虚拟机执行 ; 0020 所述至少一个镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器, 与所述 监控虚拟机所在的物理服务器是同一个物理服务器。 0021 第三方面, 本发明实施例提供一种虚拟端口监控装置, 包括 : 0022 监听单元, 用于对至少一个镜像源虚拟端口接收和 / 或发送的报文进行监听 ; 0023 镜像单元, 用于在监听到所述至少一个镜像源虚拟端口接收和 / 或发送报文时, 将所述报文镜像到镜像目的虚拟端口, 以使监控虚拟机根据从所述镜像目的虚拟端口接收 到的镜像后的报文, 对所述至少一个镜像源虚拟端口进行监控。 0024 在第一种可能的实现方式中,。

17、 所述至少一个镜像源虚拟端口和所述镜像目的虚拟 端口所在物理服务器, 与所述监控虚拟机所在的物理服务器是同一个物理服务器。 0025 结合第三方面或第三方面的第一种可能的实现方式中, 在第二种可能的实现方式 中, 所述虚拟端口监控装置, 还包括 : 0026 配置单元, 用于根据接收到的配置参数, 将至少一个虚拟端口配置为所述镜像源 虚拟端口, 将所述至少一个虚拟端口之外的虚拟端口配置为所述镜像目的虚拟端口, 设置 所述至少一个镜像源虚拟端口与所述镜像目的虚拟端口的镜像关系, 以及每个镜像源虚拟 端口的镜像方式, 其中, 所述镜像方式包括下列方式之一 : 接收和发送镜像、 接收镜像或发 送镜像。

18、。 0027 结合第三方面或第三方面的第一种或第二种可能的实现方式, 在第三种可能的实 现方式中, 所述虚拟端口监控装置, 还包括 : 0028 第一转发单元, 用于对从物理端口接收到的第一报文的报文头信息进行解析, 获 取第一目的地址, 将所述第一报文发送给所述第一目的地址对应的虚拟端口。 0029 结合第三方面或第三方面的第一种或第二种可能的实现方式, 在第三种可能的实 现方式中, 所述虚拟端口监控装置, 还包括 : 0030 第二转发单元, 用于对从一个虚拟端口接收到的第二报文的报文头信息进行解 析, 获取第二目的地址, 若所述第二目的地址对应一个虚拟端口, 则将所述第二报文发送给 所述。

19、第二目的地址对应的虚拟端口, 若所述第二目的地址不对应任何虚拟端口, 则将所述 第二报文发送给所述物理端口。 0031 第四方面, 本发明实施例提供一种网卡, 包括物理端口、 多个虚拟网卡和每个虚拟 网卡对应的虚拟端口, 还包括 : 如本发明实施例提供的虚拟端口监控装置 ; 说 明 书 CN 102870377 A 5 3/8 页 6 0032 其中, 多个虚拟端口包括至少一个镜像源虚拟端口和镜像目的虚拟端口。 0033 第五方面, 本发明实施例提供一种服务器, 包括多个虚拟机, 还包括本发明实施例 提供的网卡 ; 0034 其中, 每个虚拟机分配有所述网卡中的一个虚拟网卡, 所述多个虚拟机中。

20、至少有 一个监控虚拟机, 所述监控虚拟机所分配的虚拟网卡将从所述网卡的镜像目的虚拟端口接 收到的镜像后的报文提供给所述监控虚拟机。 0035 由上述技术方案可知, 本发明实施例提供的虚拟端口监控方法和设备, 虚拟端口 监控装置将从至少一个镜像源虚拟端口接收和 / 或发送的报文镜像到镜像目的虚拟端口, 以使监控虚拟机根据从镜像目的虚拟端口接收到的镜像后的报文, 对至少一个镜像源虚拟 端口进行监控。通过对至少一个镜像源虚拟端口的监控, 实现了对镜像源虚拟端口对应的 虚拟机的监控, 进而实现了对同一物理服务器的多个虚拟机之间的报文的监控, 当发生网 络异常时, 容易实现问题定位, 提高了系统的可靠性。

21、和安全性。 附图说明 0036 图 1 为本发明实施例提供的一种虚拟端口监控方法流程图 ; 0037 图 2 为本发明实施例提供的另一种虚拟端口监控方法流程图 ; 0038 图 3 为本发明实施例提供的再一种虚拟端口监控方法流程图 ; 0039 图 4 为本发明实施例提供的一种虚拟端口监控装置结构示意图 ; 0040 图 5a 为本发明实施例提供的另一种虚拟端口监控装置结构示意图 ; 0041 图 5b 为本发明实施例提供的又一种虚拟端口监控装置结构示意图 0042 图 6 为本发明实施例提供的网卡结构示意图 ; 0043 图 7 为本发明实施例提供的服务器结构示意图。 具体实施方式 0044。

22、 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发明实施例 中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是 本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。 0045 图1为本发明实施例提供的一种虚拟端口监控方法流程图。 如图1所示, 本实施例 提供的虚拟端口监控方法具体可以应用于对服务器的虚拟机的流量监控过程。 该服务器上 具体安装有物理网卡, 该物理网卡支持虚拟交换功能, 可以虚拟出多个虚拟网卡, 服务器上 可以创建。

23、有多个虚拟机, 每个虚拟机分配一个虚拟网卡, 以使得虚拟机可以通过分配到的 虚拟网卡接收 / 发送报文, 为虚拟机分配虚拟网卡具体可以通过虚拟机管理平台来实现, 虚拟机管理例如可以为 citrix 的 XenCenter 或 VMware 的 vCenter 等。该物理网卡上还设 置有多个虚拟端口和一个物理端口, 每个虚拟端口对应一个虚拟网卡, 即与一个虚拟机相 对应, 发送给该虚拟机的报文可以发送到该虚拟端口上, 该虚拟机发送的报文可以通过该 虚拟端口发出, 对虚拟端口进行监控即可实现对与该虚拟端口对应的虚拟机的监控。物理 端口与外部设备 ( 如交换机 ) 相连, 以实现服务器与外部设备的通。

24、信。一组虚拟机、 虚拟网 卡和虚拟端口绑定在一起, 可以实现服务器内部的虚拟机之间的通信, 也可以实现服务器 说 明 书 CN 102870377 A 6 4/8 页 7 内部的虚拟机与服务器外部的其他物理设备或虚拟设备的通信。 0046 本实施例提供的虚拟端口监控方法可以通过虚拟端口监控装置来执行, 该虚拟端 口监控装置可以集成在物理网卡中。该虚拟端口监控装置可以采用嵌入式的控制器来实 现, 也可以采用现场可编程门阵列(Field-Programmable Gate Array, 简称FPGA)或专用集 成电路 (Application Specific Integrated Circuit。

25、, 简称 ASIC) 来实现。 0047 本实施例提供的虚拟端口监控方法具体包括 : 0048 步骤 A20、 对至少一个镜像源虚拟端口接收和 / 或发送的报文进行监听 ; 0049 步骤 A30、 在监听到所述至少一个镜像源虚拟端口接收和 / 或发送报文时, 将所述 报文镜像到镜像目的虚拟端口, 以使监控虚拟机根据从所述镜像目的虚拟端口接收到的报 文, 对所述至少一个镜像源虚拟端口进行监控。 0050 具体地, 可以预先配置虚拟端口之间的镜像关系, 将一个虚拟端口配置为镜像目 的虚拟端口, 将另外一个虚拟端口配置为镜像源虚拟端口, 并设置上述两个虚拟端口的镜 像关系, 则通过该镜像源虚拟端口。

26、接收和 / 或发送的报文就被镜像到该镜像目的虚拟端 口。镜像过程具体可以通过对报文的复制来实现。还可以根据监控需要来设置镜像方式, 例如, 可以只将从镜像源虚拟端口发送的报文镜像到镜像目的虚拟端口, 也可以只将从镜 像源虚拟端口接收的报文镜像到镜像目的虚拟端口, 还可以将从镜像源虚拟端口发送和接 收的报文都镜像到镜像目的虚拟端口。一个镜像目的虚拟端口可以对应多个镜像源虚拟 端口, 以实现对多个镜像源虚拟端口的集中监控。例如, 物理网卡中设置有五个虚拟端口, 分别为 vNIC1、 vNIC2、 vNIC3、 vNIC4 和 vNIC5。可以将 vNIC1 设置为镜像目的虚拟端口, 将 vNIC2。

27、、 vNIC3、 vNIC4 和 vNIC5 均设置为与 vNIC1 对应的镜像源虚拟端口, 则从 vNIC2、 vNIC3、 vNIC4 和 vNIC5 接收和 / 或发送的报文被镜像到 vNIC1。 0051 在实际应用过程中, 服务器中任意一个虚拟机可以被设置为监控虚拟机, 所述虚 拟端口监控装置将该监控虚拟机对应的虚拟端口配置为镜像目的虚拟端口, 所述虚拟机对 应的虚拟端口与分配给所述虚拟机的虚拟网卡对应 ; 当存在多个需要监控的虚拟机时, 对 于每个虚拟机, 所述虚拟端口监控装置将该虚拟机分配的虚拟网卡所对应的虚拟端口配置 为镜像源虚拟端口, 并设置镜像目的虚拟端口与多个镜像源虚拟端。

28、口之间的镜像关系和镜 像方式。 以镜像方式为发送和接收的报文全部镜像为例对本实施例所提供的虚拟端口监控 方法进行描述 : 监控虚拟机所分配的虚拟网卡通过镜像目的虚拟端口接收和发送报文, 被 监控的虚拟机所分配的虚拟网卡通过各自对应的镜像源虚拟端口接收和发送报文。 虚拟端 口监控装置将从镜像源虚拟端口接收和发送的报文全部镜像到镜像目的虚拟端口, 监控虚 拟机所分配的虚拟网卡从该镜像目的虚拟端口接收镜像后的报文, 由于该镜像后的报文的 报文头信息中包括源地址和目的地址, 因此, 监控虚拟机可以根据报文头信息中的源地址 获知该报文是由哪个虚拟机发出的, 监控虚拟机还可以利用报文分析工具对报文进行分析。

29、 以获取报文的来源, 以实现对报文流量和报文内容的监控。 当发生网络异常时, 可以根据被 监控的虚拟机收发的报文的情况进行准确定位。例如, 一个被监控的虚拟机通过网络攻击 另一个被监控的虚拟机而导致网络异常, 由于这两个虚拟机都被监控虚拟机所监控, 所以 很容易进行问题定位。 0052 本实施例提供的虚拟端口监控方法, 虚拟端口监控装置对至少一个镜像源虚拟端 口接收和 / 或发送报文的情况进行监听, 在监听到至少一个镜像源虚拟端口接收和 / 或发 说 明 书 CN 102870377 A 7 5/8 页 8 送报文时, 将所述报文镜像到镜像目的虚拟端口, 以使监控虚拟机根据监控虚拟机所分配 的。

30、虚拟网卡从镜像目的虚拟端口接收到的镜像后的报文, 对至少一个镜像源虚拟端口进行 监控。通过对至少一个镜像源虚拟端口的监控, 实现了对镜像源虚拟端口对应的虚拟机的 监控, 进而实现了对同一物理服务器的多个虚拟机之间的报文的监控, 当发生网络异常时, 很容易实现问题定位, 提高了系统的可靠性和安全性。 0053 图 2 为本发明实施例提供的另一种虚拟端口监控方法流程图。如图 2 所示, 作为 一种具体实现方式, 所述镜像源虚拟端口和所述镜像目的虚拟端口所在物理服务器, 与所 述监控虚拟机所在的物理服务器是同一个物理服务器。 0054 在本实施例中, 在步骤 A20, 对至少一个镜像源虚拟端口接收和。

31、 / 或发送报文的情 况进行监听之前, 还可以包括如下步骤 : 0055 步骤 A10、 根据接收到的配置参数, 将至少一个虚拟端口配置为镜像源虚拟端口, 将所述至少一个虚拟端口之外的虚拟端口配置为镜像目的虚拟端口, 设置所述至少一个镜 像源虚拟端口与所述镜像目的虚拟端口的镜像关系, 以及每个镜像源虚拟端口的镜像方 式, 其中, 所述镜像方式包括下列方式之一 : 接收和发送镜像、 接收镜像或发送镜像。 0056 具体地, 配置参数可以为管理员输入的用以对虚拟端口进行镜像配置的参数, 也 可以为从其他管理设备获取到的。物理网卡通常都具有管理平面的驱动程序, 该驱动程序 提供用以配置物理网卡的应用。

32、程序编程 (Application Programming Interface, 简称 API 接口 ), 可以调用该 API 接口传入配置参数。当配置了多个镜像源虚拟端口时, 每个镜像源 虚拟端口的镜像方式可以不同。 0057 配置具体实现过程可以为 : 在物理网卡中设置配置表, 如表 1 所示, 该配置表中记 录的配置参数包括了镜像源虚拟端口、 镜像目的虚拟端口、 镜像方式。其中, SrcPort 表示 源镜像端口的端口号 ; DestPort表示目的镜像端口的端口号 ; Mode表示镜像方式, 1代表接 收镜像, 2 代表发送镜像, 3 代表接收和发送镜像。当管理员进行参数配置时, 物理。

33、网卡将接 收到的配置参数记录到配置表中, 表 1 的示例表示管理员配置了两条镜像规则, 第一条是 将虚拟端口 1 接收的报文镜像到虚拟端口 20, 第二条是将虚拟端口 2、 3、 4、 5 接收和发送的 报文都镜像到虚拟端口21。 物理网卡进行报文收发时, 查询配置表的记录, 根据配置表中的 镜像规则, 进行报文的镜像操作。 0058 表 1 0059 SrcPort DestPort Mode 1 20 1 2, 3, 4, 5 21 3 0060 在本实施例中, 该虚拟端口监控方法还可以包括如下步骤 : 0061 对从物理端口接收到的第一报文的报文头信息进行解析, 获取第一目的地址, 将 。

34、所述第一报文发送给所述第一目的地址对应的虚拟端口。 说 明 书 CN 102870377 A 8 6/8 页 9 0062 具体地, 报文的报文头信息中包括源地址和目的地址, 源地址和目的地址具体可 以为源介质访问控制(Medium Access Control, 简称MAC)地址和目的MAC地址。 每个虚拟 网卡具有一个 MAC 地址, 可以通过该 MAC 地址标识分配有该虚拟网卡的虚拟机。 0063 虚拟端口监控装置从物理端口接收第一报文, 该第一报文为与该物理端口连接的 外部设备发送的报文。虚拟端口监控装置对该第一报文的报文头信息进行解析, 获取到第 一目的地址, 由于虚拟机、 虚拟网卡。

35、和虚拟端口绑定在一起, 则根据该第一目的地址, 可以 确定一个虚拟端口, 将第一报文发送给该虚拟端口。 该虚拟端口可以为镜像源虚拟端口, 也 可以为镜像目的虚拟端口。 0064 在本实施例中, 该虚拟端口监控方法还可以包括如下步骤 : 0065 对从一个虚拟端口接收到的第二报文的报文头信息进行解析, 获取第二目的地 址, 若所述第二目的地址对应一个虚拟端口, 则将所述第二报文发送给所述第二目的地址 对应的虚拟端口, 若所述第二目的地址不对应任何虚拟端口, 则将所述第二报文发送给所 述物理端口。 0066 虚拟端口监控装置从一个虚拟端口接收到第二报文, 该虚拟端口可以为镜像源虚 拟端口, 也可以。

36、为镜像目的虚拟端口。该第二报文为与该虚拟端口对应的虚拟机发送的报 文。 虚拟端口监控装置对该第二报文的报文头信息进行解析, 获取到第二目的地址, 若该第 二目的地址对应一个虚拟端口, 则说明该第二报文是发给服务器内部另一个虚拟机的, 则 将该第二报文发送给该虚拟端口。该第二目的地址不对应任何虚拟端口, 则说明该第二报 文是发给外部设备的, 则将该第二报文发送给物理端口。 0067 图 3 为本发明实施例提供的再一种虚拟端口监控方法流程图。如图 3 所示, 本实 施例提供的虚拟端口监控方法具体可以应用于对服务器的虚拟机的流量监控过程, 可以与 本发明任意实施例提供的应用于虚拟端口监控装置的虚拟端。

37、口监控方法配合实现, 其具体 实现过程在此不再赘述。 本实施例提供的虚拟端口监控方法可以通过服务器上的虚拟机来 执行, 将用于监控的虚拟机设置为监控虚拟机。本实施例提供的虚拟端口监控方法具体包 括 : 0068 步骤 B10、 从镜像目的虚拟端口接收镜像后的报文 ; 0069 步骤 B20、 根据所述镜像后的报文, 对至少一个镜像源虚拟端口进行监控, 其中, 所 述镜像后的报文为所述至少一个镜像源虚拟端口接收和 / 或发送的报文的镜像报文。 0070 监控虚拟机可以对镜像得到的报文进行分析, 对报文的分析过程中具体可以 采用报文捕获分析工具来实现, 报文捕获分析工具例如可以为 Windows 。

38、操作系统下的 Wireshark(Ethreal), 或者 Linux 操作系统下的 tcpdump, 或者其他分析软件。 0071 本实施例提供的虚拟端口监控方法, 监控虚拟机根据从镜像目的虚拟端口接收到 的镜像后的报文对镜像源虚拟端口进行监控, 由于镜像后的报文为将从至少一个镜像源虚 拟端口接收和 / 或发送的报文镜像到镜像目的虚拟端口的报文, 实现了对服务器上其他虚 拟机的监控, 进而实现了对同一服务器的多个虚拟机之间的报文的监控, 当发生网络异常 时, 很容易实现问题定位, 提高了系统的可靠性和安全性。 0072 作为一种具体实现方式, 所述镜像源虚拟端口和所述镜像目的虚拟端口所在物理。

39、 服务器, 与所述监控虚拟机所在的物理服务器是同一个物理服务器。 0073 在本实施例中, 步骤 B20, 所述根据所述镜像后的报文, 对至少一个镜像源虚拟端 说 明 书 CN 102870377 A 9 7/8 页 10 口进行监控, 具体可以包括 : 0074 对所述镜像后的报文的报文头信息进行解析, 获取源地址, 根据所述源地址确定 发送所述镜像后的报文的镜像源虚拟端口, 对所述发送所述镜像后的报文的镜像源虚拟端 口进行监控。 0075 具体地, 报文的报文头信息中包括源地址和目的地址, 源地址和目的地址具体可 以为源介质访问控制(Medium Access Control, 简称MAC。

40、)地址和目的MAC地址。 每个虚拟 网卡具有一个 MAC 地址, 可以通过该 MAC 地址标识分配有该虚拟网卡的虚拟机。监控虚拟 机从镜像目的虚拟端口接收镜像后的报文, 镜像后的报文的内容与原始报文相同, 因此镜 像后的报文的报文头中也包含源地址, 监控虚拟机根据该源地址可以确定发送该报文的虚 拟网卡, 以及与该虚拟网卡对应的镜像源虚拟端口, 对该镜像源虚拟端口进行监控, 实现了 对该镜像源虚拟端口对应的虚拟机的监控。 0076 图 4 为本发明实施例提供的一种虚拟端口监控装置结构示意图。如图 4 所示, 本 实施例提供的虚拟端口监控装置81具体可以实现如图1所示实施例的各个步骤, 其详细实 。

41、现过程在此不再赘述。 0077 本实施例提供的虚拟端口监控装置 81 具体包括监听单元 11 和镜像单元 12, 监听 单元 11 用于对至少一个镜像源虚拟端口 82 接收和 / 或发送的报文进行监听。镜像单元 12 用于在监听到所述至少一个镜像源虚拟端口82接收和/或发送报文时, 将所述报文镜像到 镜像目的虚拟端口83, 以使监控虚拟机841根据从所述镜像目的虚拟端口83接收到的镜像 后的报文, 对所述至少一个镜像源虚拟端口82进行监控, 其中, 所述监控虚拟机841分配有 一个虚拟网卡 85, 所述虚拟网卡 85 将从所述镜像目的虚拟端口 83 接收到的所述镜像后的 报文提供给所述监控虚拟。

42、机 841。 0078 本实施例提供的虚拟端口监控装置 81, 监听单元 11 对至少一个镜像源虚拟端口 82 接收和 / 或发送的报文进行监听。镜像单元 12 在监听到至少一个镜像源虚拟端口 82 接 收和/或发送报文时, 将报文镜像到镜像目的虚拟端口83, 以使监控虚拟机841根据监控虚 拟机 841 所分配的虚拟网卡 85 从镜像目的虚拟端口 83 接收到的镜像后的报文, 对至少一 个镜像源虚拟端口 82 进行监控。通过对至少一个镜像源虚拟端口 82 的监控, 实现了对镜 像源虚拟端口 82 对应的虚拟机的监控, 进而实现了对同一物理服务器的多个虚拟机之间 的报文的监控, 当发生网络异常。

43、时, 很容易实现问题定位, 提高了系统的可靠性和安全性。 0079 图 5a 为本发明实施例提供的另一种虚拟端口监控装置结构示意图。如图 5 所示, 作为一种具体实现方式, 所述镜像源虚拟端口 82 和所述镜像目的虚拟端口 83 所在物理服 务器, 与所述监控虚拟机 841 所在的物理服务器是同一个物理服务器。 0080 进一步地, 在本实施例中, 该虚拟端口监控装置 81 还可以包括配置单元 13, 配置 单元 13 用于根据接收到的配置参数, 将至少一个虚拟端口配置为所述镜像源虚拟端口 82, 将所述至少一个虚拟端口之外的虚拟端口配置为所述镜像目的虚拟端口 83, 设置所述至少 一个镜像源。

44、虚拟端口 82 与所述镜像目的虚拟端口 83 的镜像关系, 以及每个镜像源虚拟端 口 82 的镜像方式, 其中, 所述镜像方式包括下列方式之一 : 接收和发送镜像、 接收镜像或发 送镜像。 0081 进一步地, 在本实施例中, 该虚拟端口监控装置 81 还可以包括第一转发单元 14, 第一转发单元 14 用于对从物理端口 86 接收到的第一报文的报文头信息进行解析, 获取第 说 明 书 CN 102870377 A 10 8/8 页 11 一目的地址, 将所述第一报文发送给所述第一目的地址对应的虚拟端口。该虚拟端口可以 为镜像源虚拟端口 82, 也可以为镜像目的虚拟端口 83。 0082 进一。

45、步地, 在本实施例中, 该虚拟端口监控装置 81 还可以包括第二转发单元 15, 第二转发单元 15 用于对从一个虚拟端口接收到的第二报文的报文头信息进行解析, 获取 第二目的地址, 若所述第二目的地址对应一个虚拟端口, 则将所述第二报文发送给所述第 二目的地址对应的虚拟端口, 若所述第二目的地址不对应任何虚拟端口, 则将所述第二报 文发送给所述物理端口 86。该虚拟端口可以为镜像源虚拟端口 82, 也可以为镜像目的虚拟 端口 83。 0083 图5b为本发明实施例提供的又一种虚拟端口监控装置结构示意图。 如图5b所示, 包括存储器 703, 和处理器 603。其中存储器 703 用于存储用以。

46、实现图 5a 所述的各单元的 指令, 处理器 603 与存储器 703 连接, 执行存储器 703 中存储的指令, 以实现相应功能。图 5b中存储器703中各单元的功能与图5a中的各单元的功能相同, 本发明实施例在此不再详 述。 0084 图 6 为本发明实施例提供的网卡结构示意图。如图 6 所示, 本实施例提供的网卡 87包括物理端口86、 多个虚拟网卡85和每个虚拟网卡85对应的虚拟端口, 还包括 : 本发明 任意实施例提供的虚拟端口监控装置 81 ; 其中, 多个虚拟端口包括至少一个镜像源虚拟端 口 82( 图中示出两个 ) 和镜像目的虚拟端口 83。 0085 图 7 为本发明实施例提。

47、供的服务器结构示意图。如图 7 所示, 在本实施例中, 该 服务器 88 包括多个虚拟机 84, 还包括本发明任意实施例提供的网卡 87 ; 其中, 每个虚拟机 84 分配有所述网卡 87 中的一个虚拟网卡 85, 所述多个虚拟机 84 中至少有一个监控虚拟机 841( 图中示出一个 ), 所述监控虚拟机 841 所分配的虚拟网卡 85 将从所述网卡 87 的镜像 目的虚拟端口 83 接收到的镜像后的报文提供给所述监控虚拟机 841。所述网卡 87 中的虚 拟端口监控装置 81 将从至少一个镜像源虚拟端口 82 接收和 / 或发送的报文镜像到镜像目 的虚拟端口 83。 0086 本领域普通技术。

48、人员可以理解 : 实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读取存储介质中, 该程序 在执行时, 执行包括上述方法实施例的步骤 ; 而前述的存储介质包括 : ROM、 RAM、 磁碟或者 光盘等各种可以存储程序代码的介质。 0087 最后应说明的是 : 以上各实施例仅用以说明本发明的技术方案, 而非对其限制 ; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通技术人员应当理解 : 其 依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征 进行等同替换 ; 而这些修改或者替换, 并不使相应技术方案的本质脱离本发明各实施例技 术方案的范围。 说 明 书 CN 102870377 A 11 1/5 页 12 图 1 图 2 图 3 说 明 书 附 图 CN 102870377 A 12 2/5 页 13 图 4 说 明 书 附 图 CN 102870377 A 13 3/5 页 14 图 5a 说 明 书 附 图 CN 102870377 A 14 4/5 页 15 图 5b 图 6 说 明 书 附 图 CN 102870377 A 15 5/5 页 16 图 7 说 明 书 附 图 CN 102870377 A 16 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1