一种数据传输质量检测方法及装置与流程

文档序号:11878204阅读:297来源:国知局
一种数据传输质量检测方法及装置与流程
本发明涉及通信
技术领域
,尤其涉及一种数据传输质量检测方法及装置。
背景技术
:传统的电信系统通过各种专用的硬件设备组成,不同的应用采用不同的硬件设备。随着网络规模的增长,系统越来越复杂,带来了诸多的挑战,包括新增业务的开发上线、系统的运维、资源利用率等。为了应对这些挑战及利用信息技术(英文全称:InformationTechnology,简称:IT)业界的虚拟化技术及云计算技术,2012年电信运营商联合发布了网络功能虚拟化(英文全称:NetworkFunctionVirtualization,简称:NFV)白皮书,宣布在欧洲电信标准协会(英文全称:EuropeanTelecommunicationsStandardsInstitute,简称:ETSI)成立NFV行业标准组织(英文全称:IndustryStandardGroup,简称:ISG),制定NFV的需求及技术框架,推动NFV的发展。电信设备NFV后,大量的虚拟机通过云平台因特网协议(英文全称:InternetProtocol,简称:IP)网络互联,共同配合提供电信业务。与传统电信设备不同的是,电信设备NFV后,网络变得复杂,NFV中虚拟网络功能(英文全称:VirtualNetworkFunction,简称:VNF)内部虚拟机(英文全称:VirtualMachine,简称:VM)间的通讯流量与外部的业务流量通道合并,IP类丢包、抖动、时延等影响网络通信质量的问题发生概率增加。由于VM之间的网络通信质量对业务能否正常运行影响巨大,当两个虚拟机之间发生上述问题而影响业务正常运行时,则需要对VM之间的数据传输质量进行检测,快速定界问题发生位置,以便采取相应措施(如虚拟机的迁移、重建等手段)快速恢复业务。然而,目前并没有很好的检测方案对NFV下VM间的数据传输质量进行检测。技术实现要素:本发明的实施例提供一种数据传输质量检测方法及装置,以实现对NFV系统下不同VM之间的数据传输质量进行检测。为达到上述目的,本发明的实施例采用如下技术方案:第一方面,本发明实施例提供一种数据传输质量检测方法,应用于网络功能虚拟化NFV系统,该方法可以包括:对第一虚拟机VM发送的多个具有相同传输路径的数据包进行染色,在该传输路径上的不同节点检测并统计染色数据包的数量,比较不同节点检测到的染色数据包的数量的差异,根据该差异判断不同节点间的网络质量。具体的,若第一节点检测到的染色数据包的数量大于第二节点检测到的染色数据包的数量,则确定所述第一节点与所述第二节点之间存在丢包问题其中,第一节点可以为第一VM,第二节点可以为传输路径上的其他任一节点。如此,可以通过对数据包的染色、识别、统计,比较不同节点上染色数据包数量的差异,根据该差异确定网络间是否出现丢包问题。其中,上述数据包可以为IP数据包、或者是以太网数据包。可选的,在第一方面的一种可实现方式中,当数据包为IP数据包时,对IP数据包染色可以包括:在IP数据包包头的生存时间TTL字段内填充染色标识。当数据包为以太网数据包时,对以太网数据包染色,可以包括:在以太网数据包包头的预设偏移字段内填充染色标识。其中,染色标识可以为预先设置的一个数值,且该数值可以用于识别出染色数据包;预设偏移字段可以根据需要进行设置。可选的,在第一方面的又一种可实现方式中,上述传输路径可以为:从第一VM经过第一虚拟交换机到第二VM的路径,第二VM、第一虚拟交换机、以及第一VM处于同一主机;或者,从第一VM经过第一虚拟交换机到第二虚拟交换机、从第二虚拟交换机到第二VM的路径,第一VM与第一虚拟交换机位于第一主机,第二VM与第二虚拟交换机位于第二主机。其中,第一VM、第二VM位于NFV系统中的虚拟网络功能VNF实体中;第一虚拟交换机、第二虚拟交换机位于NFV系统中网络功能虚拟化基础设施NFVI的虚拟网络中。由于在实际应用中,VM发出的数据包是时序不断的,各节点难以定界数据包的起始发生时间和最终发生时间,易出现染色数据包统计出错的问题,因此,为了避免传输路径上各节点统计出错,在第一方面的再一种可实现方式中,所述对第一虚拟机VM发送的多个数据包进行染色具体可以包括:第一VM在多个连续时间段发送数据包,其中,同一时间段发送的数据包的染色标识相同,相邻时间段发送的数据包的染色标识不同。其中,时间段可以根据需要进行划分,本发明实施例对此不进行限定。可选的,在对第一虚拟机VM发送的多个数据包进行染色之前,接收用于指示对所述第一VM发送的多个数据包进行染色的检测任务,该检测任务可以包含时间段,进而可以根据接收到的检测任务中的时间段可以将第一VM发送数据包的时间划分为多个连续时间段,对每个时间段内的数据包进行染色,使得传输路径上的各节点可以统计每个时间段内发送的染色数据包数量,通过比较每个时间段不同节点间的染色数据包数量,确定时间段内不同节点间的网络质量情况。第二方面,本发明实施例还一种数据传输质量检测方法,应用于网络功能虚拟化NFV系统,该方法可以包括:对第一虚拟机VM发送的具有相同传输路径的多个数据包中第一数据包进行染色,在该传输路径上的不同节点检测并统计第一染色数据包的时戳,比较不同节点检测到的第一染色数据包的时戳的差异,根据差异判断不同节点间的网络质量。具体的,若第一节点与第二节点间检测到的第一染色数据包的时戳的差值大于第三节点与第四节点间检测到的第一染色数据包的时戳的差值,则确定第一节点与第二节点间的传输时延大于第三节点与第四节点间的传输时延。如此,可以通过对数据包的染色、识别、统计,比较不同节点上第一染色数据包时戳的差异,根据该差异确定网络间是否出现时延问题。其中,上述数据包可以为IP数据包、或者是以太网数据包。可选的,在第二方面的一种可实现方式中,当数据包为IP数据包时,对IP数据包染色可以包括:在IP数据包包头的生存时间TTL字段内填充染色标识。当数据包为以太网数据包时,对以太网数据包染色,可以包括:在以太网数据包包头的预设偏移字段内填充染色标识。其中,第一染色标识可以为预先设置的一个数值,且该数值可以用于识别出第一染色数据包;预设偏移字段可以根据需要进行设置。可选的,在第二方面的又一种可实现方式中,上述传输路径可以为:从第一VM经过第一虚拟交换机到第二VM的路径,第二VM、第一虚拟交换机、以及第一VM处于同一主机;或者,从第一VM经过第一虚拟交换机到第二虚拟交换机、从第二虚拟交换机到第二VM的路径,第一VM与第一虚拟交换机位于第一主机,第二VM与第二虚拟交换机位于第二主机。其中,第一VM、第二VM位于NFV系统中的虚拟网络功能VNF实体中;第一虚拟交换机、第二虚拟交换机位于NFV系统中网络功能虚拟化基础设施NFVI的虚拟网络中。由于在实际应用中,VM发出的数据包是时序不断的,各节点难以定界数据包的起始发生时间和最终发生时间,易出现染色数据包统计出错的问题,因此,为了避免传输路径上各节点统计出错,在第二方面的再一种可实现方式中,对第一虚拟机VM发送的多个数据包中的第一数据包进行染色具体可以包括:对第一VM在多个连续时间段发送的数据包进行染色,其中,同一时间段发送的第一数据包用第一染色标识染色,同一时间段发送的除所述第一数据包之外的其他所有数据包用第二染色标识染色,相邻时间段发送的第一数据包的染色标识不同。需要说明的是,上述时间段可以根据需要进行划分,本发明实施例对此不进行限定。可选的,在对第一虚拟机VM发送的多个数据包中的第一数据包进行染色之前,接收用于指示对所述第一VM发送的多个数据包进行染色的检测任务,该检测任务可以包含时间段,进而可以根据接收到的检测任务中的时间段可以将第一VM发送数据包的时间划分为多个连续时间段,对每个时间段内的数据包进行染色,使传输路径上的各节点可以统计每个时间段内发送的第一染色数据包的时戳,通过比较每个时间段不同节点间的第一染色数据包的时戳,确定时间段内不同节点间的传输时延问题。第三方面,本发明实施例还提供一种数据传输质量检测装置,用于执行上述方法,该装置可以包括:染色模块、统计模块、比较判断模块。其中,染色模块位于网络功能虚拟化NFV系统中的第一虚拟机VM中,染色模块,用于对第一VM发送的具有相同传输路径的多个数据包进行染色;统计模块位于传输路径上的不同节点内,统计模块,用于检测并统计自身所处节点接收到的染色数据包的数量;比较判断模块,用于比较不同节点内的统计模块检测到的染色数据包的数量的差异,根据差异判断不同节点间的网络质量。其中,上述染色模块、统计模块、以及比较判断模块的具体执行过程可以参照第一方面所述方法中的相应过程,在此不再详细赘述。如此,可以通过对数据包的染色、识别、统计,比较不同节点上染色数据包数量的差异,根据该差异确定网络间是否出现丢包问题。进一步可选的,为了实现对数据传输过程中时延问题的检测,染色模块,还用于对第一虚拟机VM发送的具有传输路径的多个数据包中第一数据包进行染色;统计模块,还用于检测并统计自身所处节点接收到的第一染色数据包的时戳;比较判断模块,还用于比较不同节点内统计模块检测到的第一染色数据包的时戳的差异,根据差异判断不同节点间的网络质量。其中,上述染色模块、统计模块、以及比较判断模块的具体执行过程可以参照第二方面所述方法中的相应过程,在此不再详细赘述。如此,可以通过对数据包的染色、识别、统计,比较不同节点上第一染色数据包时戳的差异,根据该差异确定网络间是否出现时延问题。可理解的是,上述数据传输质量检测装置可以单独执行对数据传输过程中丢包问题的检测,单独执行对数据传输过程中的时延问题的检测,也可以将上述方案结合起来,同时采用上述方式实现丢包和时延问题的检测。此外,需要说明的是,第三方面所述的数据传输质量检测装置也可以作为独立装置,部署在NFV系统中,当数据传输质量检测装置作为单独装置时,该装置中的染色模块、统计模块、以及比较判断模块可以为单独设立的处理器,也可以集成在数据传输质量检测装置的某一个处理器中实现,此外,也可以以程序代码的形式存储于数据传输质量检测装置的存储器中,由数据传输质量检测装置的某一个处理器调用并执行以上染色模块、统计模块、以及比较判断模块的功能。这里所述的处理器可以是一个中央处理器(英文全称:CentralProcessingUnit,简称:CPU),或者是特定集成电路(英文全称:ApplicationSpecificIntegratedCircuit,简称:ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。由上可知,本发明实施例提供一种数据传输质量检测方法及装置,对第一虚拟机VM发送的具有相同传输路径的多个数据包进行染色,在传输路径上的不同节点检测并统计染色数据包的数量,比较不同节点检测到的染色数据包的数量的差异,根据差异判断不同节点间的网络质量。如此,可以通过对数据包的染色、识别和统计,比较不同节点间发送的数据包数量的差异,进而可以根据该差异确定出节点间的丢包问题,以便采取相应措施恢复整个业务。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为一种NFV系统架构示意图;图2为本发明实施例提供的一种数据传输质量检测方法的流程图;图3为本发明实施例提供的几种数据传输示意图;图4为本发明实施例提供的一种数据传输质量检测方法的流程图;图5为本发明实施例提供的一种数据传输质量检测装置的结构图;图5A为本发明实施例提供的一种包含数据传输质量检测装置的NFV系统的结构图;图6为本发明实施例提供的一种数据传输质量检测方法的流程图。具体实施方式下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。运营商为了应对未来的竞争和挑战,避免被管道化,在顺应当前虚拟化、云计算等技术的发展趋势下,提出了NFV系统。图1为一种NFV系统架构示意图如图1所示,该NFV系统10可以包括:NFV管理和编排装置(英文全称:NFVManagementandOrchestration,简称:NFVMANO)101、NFV基础设施层(英文全称:NFVInfrastructure,简称:NFVI)102、多个虚拟网络功能(英文全称:VirtualNetworkFunction,简称:VNF)103、多个网元管理(英文全称:ElementManagement,简称:EM)104、网络服务、VNF和基础设施描述(NetworkService,VNFandInfrastructureDescription)105、以及业务支持管理装置(英文全称:Operation-SupportSystem/BusinessSupportSystem,简称:OSS/BSS)106。其中,NFV-MANO101可以包括:NFV编排器(英文全称:NFVOrchestrator,简称:NFVO)1011、一个或多个VNF管理器(英文全称:VNFManager,简称:VNFM)1012、以及虚拟化基础设施管理器(英文全称:VirtualizedInfrastructureManager,简称:VIM)1013;NFVMANO101主要用于对VNF103和NFVI102进行监视和管理;NFVMANO101中的NFVO1011主要用于接收来自一个或多个VNFM1012的资源相关请求,并发送配置信息到VNFM1012,收集VNF103的状态信息,另外,NFVO1011还用于与VIM1013通信,以实现资源的分配和/或预留以及交换虚拟化硬件资源的配置和状态信息;VNFM1012主要用于管理一个或多个VNF103,如:实例化、更新、查询、缩放和/或终止VNF103等;VIM1013主要执行资源管理的功能,例如管理基础设施资源的分配(例如增加资源到虚拟容器)和操作功能(如收集NFVI故障信息)。NFVI102可以包括计算硬件1021、存储硬件1022、网络硬件1023、虚拟化层(VirtualizationLayer)、虚拟计算1024、虚拟存储1025和虚拟网络1026。NFVI102里面的虚拟化层可以从物理层抽象硬件资源和解耦VNF103,以便向VNF103提供虚拟化资源,虚拟计算1024和虚拟存储1025可以以虚拟机、和/或其他虚拟容器的形式提供给VNF103,例如,一个或一个以上的VNF103可以部署在一个虚拟机(英文全称:VirtualMachine,简称:VM)上。虚拟化层抽象网络硬件1023从而形成虚拟网络1026,虚拟网络1026可以包括虚拟交换机(VirtualSwitch),虚拟交换机可以用来提供VNF103上的VM和其他VM之间的连接通信。如图1所示,在NFV系统下,VM之间的通讯流量与外部的业务流量通道合并,硬件资源层流量为所有虚拟机共享,网络硬件(如网卡等硬件)也为共享方式,当VM数量比较多时,IP类丢包、抖动、时延等影响数据传输质量的问题发生概率加大,此时,为了不影响数据的正常传输,需要对VM之间的数据传输进行质量检测,以快速定界问题发生位置,以便采取相应措施(如:VM迁移、重建等手段)快速恢复业务。为此,本发明实施例基于如图1所示的NFV系统,在业务流的始发节点对该业务流中的数据包进行染色,当业务流按照传输路径流经各个节点时,各个节点对染色数据包进行识别、统计,获取自身接收到染色数据包的数据和时戳,进而可以根据染色数据包数量及时戳在传输路径各节点的变化情况,判断出不同节点之间的丢包情况、以及传输时延,根据判断结果定界问题发生位置。为了便于描述,以下实施例一以步骤的形式示出并详细描述了本发明提供的数据传输质量检测方法,其中,示出的步骤也可以在除NFV系统之外的诸如一组可执行指令的计算机装置中执行。此外,虽然在图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。实施例一图2为本发明实施例提供的一种数据传输质量检测方法的流程图,该方法适用于如图1所示的NFV系统,用于对NFV系统下不同VM之间的数据传输质量进行检测;如图2所示,该方法可以包括以下步骤:S101:对第一虚拟机VM发送的多个数据包进行染色,所述多个数据包具有相同传输路径。其中,所述第一VM可以为NFV系统下VNF中的任一VM,为发送多个数据包的始发节点。所述数据包可以为IP数据包,也可以为私有的二层数据包,如:以太网数据包,本发明实施例对此不进行限定。其中,多个数据包可以包含在同一业务流内,且该业务流为出现质量问题、待进行质量检测的业务流,或者为用户指定检测的业务流。如:在步骤S101之前,可以对第一VM发送的多个业务流的质量情况进行检测,若发现第一业务流出现质量问题,则对第一VM发送的第一业务流中的多个数据包进行染色;或者,在步骤S101之前,接收用户下发的第一业务流的五元组信息,根据接收到的五元组信息对第一VM发送的第一业务流中的多个数据包进行染色,其中,五元组信息可以包含:业务流的源IP地址、目的IP地址、协议类型、源端口号、以及目的端口号。通常情况下,一个业务流具有一个特定的传输路径,该业务流中的数据包均沿着该传输路径进行传输。在NFV系统下,该传输路径可以为:从第一VM经过第一虚拟交换机到第二VM的路径,其中,第二VM、第一虚拟交换机、以及第一VM可以处于同一主机;也可以为从第一VM经过第一虚拟交换机到第二虚拟交换机、再从第二虚拟交换机到第二VM的路径,该第一VM与第一虚拟交换机位于第一主机,第二VM与第二虚拟交换机可以位于第二主机,第一主机和第二主机可以处于同一VNF内,也可以处于不同的VNF内;其中,上述第二VM也可以位于NFV系统的VNF中;第一虚拟交换机、第二虚拟交换机可以位于NFV系统的NFVI中的虚拟网络内。例如,图3为本发明实施例提供的几种数据传输示意图,如图3(a)所示,主机1内的VM1可以经过该主机内的虚拟交换机,将多个数据包传输至主机1内的VM2;如图3(b)所示,主机1和主机2处于同一VNF网络内,此时,主机1内的VM1可以通过主机1内的虚拟交换机1将数据包传输至主机2内的虚拟交换机2,虚拟交换机2再将数据包传输至主机2内的VM2;如图3(c)所示,主机1和主机2处于不同VNF网络内,此时,主机1内的VM1可以通过主机1内的虚拟交换机1将数据包传输至主机2内的虚拟交换机2,虚拟交换机2再将数据包传输至主机2内的VM2。可理解的是,虽然上述仅列举了两个VM之间的传输路径,但对于两个以上VM之间的传输路径也可以参考上述方式进行设置,即同一主机内VM间经过该主机内的虚拟交换机传输数据包,不同主机内VM间经过各自主机内的虚拟交换机传输数据包,在此不再详细赘述。其中,在对数据包的染色过程中,针对于不同类型的数据包,其染色位也是不同的。可选的,当数据包为IP数据包,根据IP数据包的特殊格式,可以在IP数据包包头的生存时间(英文全称:TimeToLive,简称:TTL)字段内填充染色标识,该染色标识用于识别出被染色的IP数据包。当数据包为以太网数据包,根据以太网数据包的特殊格式,可以在以太网数据包包头的预设偏移字段内填充染色标识,该染色标识用于识别出被染色的以太网数据包。其中,染色标识可以为预先设置的一个数值,该数值可用于识别出染色数据包;本发明实施例对此不进行限定。通常情况下,对于IP数据包而言,由于该IP数据包中的TTL字段是协议定义的标准字段,在IP数据包发送时会给该字段赋予一个较大的值(如255),之后IP数据包每经过一个虚拟交换机,TTL数值减1,当TTL数值减少到0时,IP数据包将被丢弃,所以,在不染色的情况下,始发节点IP数据包的TTL数值为255,假设传输路径中间经过了N次虚拟交换机后,则目的节点收到IP数据包时TTL数值为255-N,即在该传输路径上,TTL数值取值为从255到255-N,所以,当启动检测任务后,可以在始发节点将IP数据包的TTL数值设置为小于255-N,即将染色标识设置为(255-N)的数值,则可以区分出该IP数据包是染色数据包。预设偏移字段可以根据需要进行设置,本发明实施例对此不进行限定。可选的,可以在步骤S101之前,预先制定该偏移字段,以便在步骤S101中根据该偏移字段对以太网数据包进行染色。例如,若预先指定8个bit的偏移字段,则在对以太网数据包染色时,在以太网数据包包头偏移8个bit的位置处填充染色标识。S102:在传输路径上的不同节点检测并统计染色数据包的数量,所述染色数据包为所述多个数据包中被染色的数据包。其中,传输路径上的不同节点可以包括:传输路径上的VM、虚拟交换机等设备。可选的,可以预先将填充染色标识的染色位通知给该传输路径上的各个节点,染色位可以为如步骤S101所述的TTL字段或者是预设偏移字段;各个节点可以根据该通知,对接收到的每个数据包的染色位进行识别,若染色位处填充有染色标识,则确定该数据包为染色数据包,并统计染色数据包的数量,否则,则确定该数据包未被染色。例如:若传输路径上的某个节点接收到数据包后,经检测发现90个数据包的染色位内填充有染色标识,则确定接收到的染色数据包为90个。S103:比较不同节点检测到的染色数据包的数量的差异,根据所述差异判断不同节点间的网络质量。可选的,将第一VM作为第一节点,传输路径上的其他任一节点作为第二节点,此时,若第一节点检测到的染色数据包的数量大于第二节点检测到的染色数据包的数量,则确定第一节点与第二节点之间存在丢包问题。例如,在图3(b)所示的传输路径下,各节点检测到的染色数据包如下表1所示,P1点检测到染色IP数据包数量为100,P2点检测到染色IP数据包数量为100,P3、P4点检测到染色IP数据包数量为90,这样说明在P2和P3点之间有10个IP数据包的数据被丢失,说明P2和P3之间的网络存在IP丢包问题,并排除了P1与P2,P3与P4之间的IP丢包可能性,根据该判断结果,维护人员可以快速进行问题的定位,采取必要措施,防止业务受损。表1统计点染色IP数据包数量P1100P2100P390P490如此,可以通过对数据包的染色,VM间传输路径上各节点间统计的染色数据包数量的差异,来确定出节点间网络出现丢包问题,快速定界问题发生位置,防止业务受损。由于在实际应用中,VM发出的数据包是时序不断的,各节点难以定界数据包的起始发生时间和最终发生时间,易出现染色数据包统计出错的问题,因此,在本发明实施例中,为了避免传输路径上各节点统计出错,在本发明的一种可行性方案中,还可以将VM发出的数据包按照预设的时间段进行划分,对每个时间段内的数据包进行染色、检测和统计,其具体实现方式如下:步骤S101对第一虚拟机VM发送的多个数据包进行染色具体可以包括:对第一VM在多个连续时间段发送的数据包进行染色,同一时间段发送的数据包的染色标识相同,相邻时间段发送的数据包的染色标识不同。其中,时间段可以根据需要进行划分,本发明实施例对此不进行限定。可选的,在对第一虚拟机VM发送的多个数据包进行染色之前,可以接收用于指示对所述第一VM发送的多个数据包进行染色的检测任务,该检测任务可以包含时间段,进而根据接收到的检测任务中的时间段可以将第一VM发送数据包的时间划分为多个连续时间段,对每个时间段内的数据包进行染色,使传输路径上的各节点统计每个时间段内染色数据包的数量,并比较同一时间段内不同节点间的染色数据包数量的差异,根据该差异判断该时间段内不同节点间的网络质量。例如,若以10秒为一个时间段,则可以将VM1在第一个时间段的10秒内发出的IP数据包包头的TTL字段填充为249,在第二个时间段的10秒内,将发出的IP数据包包头的TTL字段填充为248,在第三个时间段的10秒内,将发出的IP数据包包头的TTL字段填充为249,在第四个周期的10秒内,将发出的IP数据包包头的TTL字段填充为248,后面时间段按照这种方式循环设置。如此,可以将VM发送的数据包以时间段为间隔进行划分,对VM在每个时间段内发送的数据包进行染色,使传输路径上的各节点统计每个时间段内染色数据包的数量,并比较同一时间段内不同节点间的染色数据包数量的差异,根据该时间段内不同节点间的染色数据包数量的差异来判断节点间网络出现的质量问题。由上可知,本发明实施例提供一种数据传输质量检测方法,对第一虚拟机VM发送的具有相同传输路径的多个数据包进行染色,在传输路径上的不同节点检测并统计染色数据包的数量,比较不同节点检测到的染色数据包的数量的差异,根据差异判断不同节点间的网络质量。如此,可以通过对数据包的染色、识别和统计,比较不同节点间发送的数据包数量的差异,进而可以根据该差异确定出节点间的丢包问题,以便采取相应措施恢复整个业务。实施例一仅实现了VM间数据传输时丢包问题的检测,下面通过实施例二对VM间数据传输时时延问题的检测方案进行了描述。实施例二图4为本发明实施例提供的一种数据传输质量检测方法的流程图,该方法适用于如图1所示的NFV系统,用于对NFV系统下不同VM之间的数据传输质量进行检测;如图4所示,该方法可以包括以下步骤:S201:对第一虚拟机VM发送的多个数据包中的第一数据包进行染色,该多个数据包具有相同传输路径。其中,所述第一VM可以为NFV系统下VNF中的任一VM,为发送第一数据包的始发节点。第一数据包可以为IP数据包,也可以为私有的二层数据包,如:以太网数据包,本发明实施例对此不进行限定。其中,第一数据包可以为一业务流中的任一数据包,且该业务流为出现时延问题、待进行质量检测的业务流,或者为用户指定检测的业务流,可以包含大量的数据包。如:在步骤S201之前,可以对第一VM发送的多个业务流的质量情况进行检测,若发现第一业务流出现质量问题,则对第一VM发送的第一业务流中的第一数据包进行染色检测;或者,在步骤S201之前,接收用户下发的五元组信息,根据接收到的五元组信息对第一VM发送的第一业务流中的第一数据包进行染色,其中,五元组信息用于指示第一业务流,该五元组信息可以包含:业务流的源IP地址、目的IP地址、协议类型、源端口号、以及目的端口号。通常情况下,一个业务流具有一个特定的传输路径,该业务流中的数据包均沿着该传输路径进行传输。在NFV系统下,该传输路径可以为:从第一VM经过第一虚拟交换机到第二VM的路径,其中,第二VM、第一虚拟交换机、以及第一VM可以处于同一主机;也可以为从第一VM经过第一虚拟交换机到第二虚拟交换机、再从第二虚拟交换机到第二VM的路径,该第一VM与第一虚拟交换机位于第一主机,第二VM与第二虚拟交换机可以位于第二主机,第一主机和第二主机可以处于同一VNF内,也可以处于不同的VNF内;其中,上述第二VM也可以位于NFV系统的VNF中;第一虚拟交换机、第二虚拟交换机可以位于NFV系统的NFVI中的虚拟网络内。可理解的是,虽然上述仅列举了两个VM之间的传输路径,但对于两个以上VM之间的传输路径也可以参考上述方式进行设置,即同一主机内VM间经过该主机内的虚拟交换机传输数据包,不同主机内VM间经过各自主机内的虚拟交换机传输数据包,在此不再详细赘述。其中,在对第一数据包的染色过程中,针对于不同类型的数据包,其染色位也是不同的。可选的,当第一数据包为IP数据包,根据IP数据包的特殊格式,可以在IP数据包包头的生存时间(英文全称:TimeToLive,简称:TTL)字段内填充第一染色标识,该第一染色标识用于识别出第一数据包。当第一数据包为以太网数据包,根据以太网数据包的特殊格式,可以在以太网数据包包头的预设偏移字段内填充第一染色标识,该染色标识用于识别出第一数据包。其中,染色标识可以为预先设置的一个数值,该数值可以识别出第一染色数据包,本发明实施例对此不进行限定。通常情况下,对于IP数据包而言,由于该IP数据包中的TTL字段是协议定义的标准字段,在IP数据包发送时会给该字段赋予一个较大的值(如255),之后IP数据包每经过一个虚拟交换机,TTL数值减1,当TTL数值减少到0时,IP数据包将被丢弃,所以,在不染色的情况下,始发节点IP数据包的TTL数值为255,假设传输路径中间经过了N次虚拟交换机后,则目的节点收到IP数据包时TTL数值为255-N,即在该传输路径上,TTL数值取值为从255到255-N,所以,当启动检测任务后,可以在始发节点将IP数据包的TTL数值设置为小于255-N,即将染色标识设置为(255-N)的数值,则可以区分出该IP数据包是染色数据包。预设偏移字段可以根据需要进行设置,本发明实施例对此不进行限定。可选的,可以在步骤S201之前,预先制定该偏移字段,以便在步骤S201中根据该偏移字段对以太网数据包进行染色。需要说明的是,为了便于后续节点从大量数据包中区分出被染色的第一数据包,在本发明实施例中,可以仅对第一VM发出的第一数据包进行染色,而其他数据包不进行染色处理,也可以对包含第一数据包的多个数据包均进行染色处理,只不过需要第一数据包的染色标识与其他数据包的染色标识不同,而第一数据包之外的数据包的染色标识可以完全相同。S202:在传输路径上的不同节点检测并统计第一染色数据包的时戳,所述第一染色数据包为被染色的所述第一数据包。其中,传输路径上的不同节点可以包括:传输路径上的VM、虚拟交换机等设备。可选的,可以预先将填充染色标识的染色位通知给该传输路径上的各个节点,染色位可以为如步骤S201所述的TTL字段或者是预设偏移字段;各个节点可以根据该通知,对接收到的每个数据包的染色位进行识别,若某一数据包的染色位处填充有用于识别出第一数据包的染色标识,则确定该数据包为第一染色数据包,并统计第一染色数据包的时戳。S203:比较不同节点检测到的第一染色数据包的时戳的差异,根据所述差异判断不同节点间的网络质量。可选的,若第一节点与第二节点间检测到的第一染色数据包的时戳的差值大于第三节点与第四节点间检测到的第一染色数据包的时戳的差值,则确定所述第一节点与所述第二节点间的传输时延大于所述第三节点与所述第四节点间的传输时延。例如,在图3(b)所示的传输路径下,各节点检测到的第一染色数据包的时戳如下表2所示,P1点检测到第一染色数据包的时戳为T1,P2点检测到第一染色数据包的时戳为T2,P3点检测到第一染色数据包的时戳为T3,P4点检测到第一染色数据包的时戳为T4,此时,若T3-T2的时间差大于T2-T1的时间差,则确定P2点和P3之间存在传输时延问题,根据该判断结果,维护人员可以快速进行问题的定位,采取必要措施,防止业务受损。表2统计点第一染色数据包的时戳P1T1P2T2P3T3P4T4如此,可以通过对数据包的染色,VM间传输路径上各节点间统计的染色数据包时戳的差异,来确定出节点间网络出现时延问题,快速定界问题发生位置,防止业务受损。由于在实际应用中,VM发出的数据包是时序不断的,各节点难以定界数据包的起始发生时间和最终发生时间,易出现染色数据包统计出错的问题,因此,在本发明实施例中,为了避免传输路径上各节点统计出错,在本发明的一种可行性方案中,对第一虚拟机VM发送的多个数据包中的第一数据包进行染色具体可以包括:对第一VM在多个连续时间段发送的数据包进行染色,其中,同一时间段发送的第一数据包用第一染色标识染色,同一时间段发送的除所述第一数据包之外的其他所有数据包用第二染色标识染色,相邻时间段发送的第一数据包的染色标识不同。其中,第一数据包可以为每个时间段内第一个发出的数据包。此外,需要说明的是,上述时间段可以根据需要进行划分,本发明实施例对此不进行限定;并且,相邻时间段采用的第二染色标识可以相同也可以不同,本发明实施例对此也不进行限定。可选的,在对第一虚拟机VM发送的多个数据包中的第一数据包进行染色之前,可以接收用于指示对所述第一VM发送的多个数据包进行染色的检测任务,该检测任务可以包含时间段,进而可以根据接收到的检测任务中的时间段可以将第一VM发送数据包的时间划分为多个连续时间段,对每个时间段内的数据包进行染色,使传输路径上的各节点统计每个时间段内第一染色数据包的时戳,比较同一时间段内不同节点间的第一染色数据包时戳的差异,根据该差异判断该时间段内不同节点间的网络质量。例如,若以10秒为一个时间段,则可以将VM1在第一个时间段的10秒内发出的第一个IP数据包包头的TTL字段填充为247,在第二个时间段的10秒内,将发出的第一个IP数据包包头的TTL字段填充为246,在第三个时间段的10秒内,将发出的第一个IP数据包包头的TTL字段填充为247,在第四个周期的10秒内,将发出的第一个IP数据包包头的TTL字段填充为246,后面时间段按照这种方式循环设置。如此,可以对VM发送的数据包以时间段为间隔进行划分,对VM在每个时间段内发送的第一数据包进行染色,传输路径上的各节点统计每个时间段内第一染色数据包的时戳,并比较同一时间段内不同节点间的第一染色数据包时戳的差异之后,根据任一时间段内不同节点间的第一染色数据包时戳的差异来判断节点间网络出现时延问题。由上可知,本发明实施例提供一种数据传输质量检测方法,对第一虚拟机VM发送的具有相同传输路径的多个数据包中第一数据包进行染色,在传输路径上的不同节点检测并统计第一染色数据包的数量,比较不同节点检测到的第一染色数据包的时戳的差异,根据差异判断不同节点间的网络质量。如此,可以通过对数据包的染色、识别和统计,比较不同节点间发送的数据包时戳的差异,进而可以根据该差异确定出节点间的时延问题,以便采取相应措施恢复整个业务。上述实施例一、实施例二分别实现了对网络中丢包、时延问题的检测,可理解的是,在本发明实施例的又一可行性方案中,可以将实施例一和实施例二结合在一起,共同实现对网络丢包、时延两个问题的检测,本发明在此不再详细描述。如:可以对第一VM发送的多个数据包中的第一个数据包进行第一染色,对其他数据包进行第二染色,传输路径上的各个节点可以检测并统计所有染色数据包的数量、以及第一个被染色的数据包的时戳,比较不同节点间染色数据包数量的差异、以及第一个被染色的数据包时戳的差异,根据这两个差异来判断出不同节点间的丢包和时延问题。或者,为了避免在实际应用中VM发出的数据包是时序不断的,各节点难以定界数据包的起始发生时间和最终发生时间,易出现染色数据包统计出错的问题,可以将第一VM发送的数据包进行按照预设时段划分,对第一VM在多个连续时间段发送的数据包进行染色,其中,同一时间段发送的第一数据包用第一染色标识染色,同一时间段发送的除所述第一数据包之外的其他所有数据包用第二染色标识染色,并且,相邻时间段采用的第一染色标识不同,相邻时段采用的第二染色标识可以相同也可以不同。其中,第一染色标识不同于第二染色标识,如此,可以识别出每个时段内的第一染色数据包、以及所有染色数据包,根据第一染色数据包的时戳、以及染色数据包的数量同时对网络时延、丢包两个问题进行检测。例如,若以10秒为一个时间段,则可以将VM1在第一个时间段的10秒内发出的第一个IP数据包包头的TTL字段填充为247,剩余IP数据包包头的TTL字段填充为249,在第二个时间段的10秒内,将发出的第一个IP数据包包头的TTL字段填充为246,剩余IP数据包包头的TTL字段填充为248,在第三个时间段的10秒内,将发出的第一个IP数据包包头的TTL字段填充为247,剩余IP数据包包头的TTL字段填充为249,在第四个周期的10秒内,将发出的第一个IP数据包包头的TTL字段填充为246,剩余IP数据包包头的TTL字段填充为248,后面时间段按照这种方式循环设置。根据本发明实施例,下述实施例还提供了一种数据传输质量检测装置30,优选的用于执行实施例一、实施例二所述的数据传输质量检测方法。实施例三图5为本发明实施例提供的一种数据传输质量检测装置30的结构图,如图5所示,该装置30可以包括:染色模块301、统计模块302、比较判断模块303。其中,图5所示的数据传输质量检测装置30可以单独部署在NFV系统中,也可以将数据传输质量检测装置的各个模块分散在NFV系统的各个功能部件中,如图5A为包含数据传输质量检测装置30的NFV系统架构示意图,如图5所示:染色模块301部署在NFV系统VNF实体内的每个VM中,统计模块302部署在数据传输路径上的每个节点内(如:VNF实体内的每个VM中、位于虚拟网络的虚拟交换机内),比较判断模块303可以作为独立虚拟机VM部署在NFV系统中,可以作为功能部件部署在NFV系统的VNFM或EM中,需要说明的是,图5A为了便于描述,以比较判断模块303部署在VNFM内为例进行说明。通常情况下,染色模块301在数据始发的VM内执行染色功能。具体的,染色模块301,用于对所述第一VM发送的多个数据包进行染色,所述多个数据包具有相同传输路径。统计模块302用于检测并统计自身所处节点上染色数据包的数量,染色数据包为多个数据包中被染色的数据包。比较判断模块303,用于比较不同节点内的统计模块302检测到的染色数据包的数量的差异,根据差异判断不同节点间的网络质量。可选的,当数据包为IP数据包时,染色模块301,具体可以用于:在IP数据包包头的生存时间TTL字段内填充染色标识,染色标识用于识别出被染色的IP数据包。当数据包为以太网数据包时,染色模块301,具体用于:在以太网数据包包头的预设偏移字段内填充染色标识,染色标识用于识别出被染色的以太网数据包。可选的,比较判断模块303,具体用于:主动收集各个节点统计的染色数据包数量,或者,接收由各个节点上报的自身统计的染色数据包数量;若第一节点检测到的染色数据包的数量小于第二节点检测到的染色数据包的数量,则确定第一节点与第二节点之间存在丢包问题;其中,第一节点可以为第一VM,第二节点可以为传输路径上的其他任一节点。可理解的是,当节点为虚拟交换机,由于虚拟交换机位于NFV系统的虚拟网络中,不能直接与比较判断模块303进行通信,因此,虚拟交换机需要通过NFV系统中的VIM将自身统计的染色数据包数量转发至比较判断模块303。可选的,如图5所示,该数据传输质量检测装置还可以包含数据转发模块304。其中,数据转发模块304可以部署在如图5A所示的VIM中。该数据转发模块304,用于接收虚拟交换机统计的染色数据包数量,并将接收到的染色数据包数量转发至比较判断模块303。由于在实际应用中,VM发出的数据包是时序不断的,各节点难以定界数据包的起始发生时间和最终发生时间,易出现染色数据包统计出错的问题,因此,在本发明实施例中,为了避免传输路径上各节点统计出错,在本发明的一种可行性方案中,染色模块301具体可以用于:对第一VM在多个连续时间段发送的数据包进行染色,其中,同一时间段发送的数据包的染色标识相同,相邻时间段发送的数据包的染色标识不同。如此,可以通过对数据包的染色、识别和统计,比较不同节点间发送的数据包数量的差异,进而可以根据该差异确定出节点间的丢包问题,以便采取相应措施恢复整个业务。除此之外,在本发明实施例的又一可行性方案中,图5提供的装置还可以用于实现对节点间传输时延问题的检测,具体实现如下:染色模块301,还用于对第一虚拟机VM发送的多个数据包中第一数据包进行染色,多个数据包具有相同传输路径。统计模块302,还用于检测并统计自身所处节点接收到的第一染色数据包的时戳,第一染色数据包为被染色第一数据包。比较判断模块303,还用于比较不同节点内统计模块302检测到的第一染色数据包的时戳的差异,根据差异判断不同节点间的网络质量。其中,与上述实现方式相同,当第一数据包为IP数据包时,染色模块301,具体可以用于:在IP数据包包头的生存时间TTL字段内填充第一染色标识,第一染色标识用于识别出第一数据包。当第一数据包为以太网数据包时,染色模块301,具体可以用于:在第一以太网数据包包头的预设偏移字段内填充第一染色标识,第一染色标识用于识别出第一数据包。可选的,比较判断模块303,具体还可以用于:若第一节点与第二节点间检测到的第一染色数据包的时戳的差值大于第三节点与第四节点间检测到的第一染色数据包的时戳的差值,则确定第一节点与第二节点间的传输时延大于第三节点与第四节点间的传输时延。可选的,染色模块301具体可以用于:对第一VM在多个连续时间段发送的数据包进行染色,其中,同一时间段发送的第一数据包用第一染色标识染色,同一时间段发送的除所述第一数据包之外的其他所有数据包用第二染色标识染色,相邻时间段发送的第一数据包的染色标识不同,相邻时间段发送的除所述第一数据包之外的其他所有数据包的染色标识不同。如此,可以通过对数据包的染色、识别和统计,比较不同节点间发送的数据包时戳的差异,进而可以根据该差异确定出节点间的时延问题,以便采取相应措施恢复整个业务。下面结合图5所示的检测装置,以检测从VM1经过虚拟交换机1向VM2的第一业务流的传输质量为例,对上述各个模块的执行过程(如图6所示)进行具体描述。S1:比较判断模块303启动检测任务,并将检测任务下发给VM1、虚拟交换机、以及VM2。其中,检测任务用于指示各节点设备进行数据传输质量检测,且检测任务包含:第一业务流的五元组信息、以及时间段。可选的,当节点为VM时,比较判断模块303之间将检测任务发送至节点,当节点为虚拟交换机时,如图6中的步骤S1.1所示,比较判断模块303将检测任务发送至数据转发模块304,数据转发模块304将检测任务转发至虚拟交换机。S2:VM1中的染色模块301接收到检测任务后,根据时间段,对其发送的第一业务流中的数据包进行周期性染色。如:当数据包为IP数据包时,在其TTL字段填充染色标识;当数据包为以太网数据包时,在其预设偏移字段填充染色标识。可选的,可以对每个周期内的第一个数据包进行第一染色,其他数据包进行第二染色,且第一个数据包的染色标识与该时间段内的其他染色标识不同,相邻时间段间的第一个数据包的染色标识是不同的,且相邻时间段间的其他数据包的染色周期也是不同的。S3:VM1中的统计模块302检测并统计每个时间段内VM1发送的染色数据包数量、以及第一染色数据包的时戳。其中,第一染色数据包为每个周期内第一个被染色的数据包。S4:VM2中的统计模块302接收到检测任务后,检测并统计每个时间段内虚拟交换机发送的染色数据包数量、以及第一染色数据包的时戳。S5:虚拟交换机中的统计模块302接收到检测任务后,检测并统计每个时间段内VM1发送的染色数据包数量、以及第一个染色数据包的时戳。S6:比较判断模块303向各个节点下获取统计数据的请求消息。其中,请求消息用于请求各个节点获取到的染色数据包数量和第一染色数据包时戳。可选的,当节点为虚拟交换机时,如图6中的步骤S6.1所示,比较判断模块303将请求消息发送至数据转发模块304,数据转发模块304将请求消息转发至虚拟交换机。S7:VM1的统计模块302接收到请求消息后,向比较判断模块303发送自身统计的染色数据包数量和第一染色数据包时戳。S8:虚拟交换机中的统计模块302接收到请求消息后,向数据转发模块304发送自身统计的染色数据包数量和第一染色数据包时戳,数据转发模块304向比较判断模块303发送染色数据包数量和第一染色数据包时戳。需要说明的是,由于虚拟交换机处于NFV系统中的虚拟网络中,与比较判断模块303之间不能直接通信,因此,在本发明实施例中,虚拟交换机中的统计模块302需要通过NFV系统中的VIM与比较判断模块303进行通信。可选的,虚拟交换机中的统计模块302可以通过VIM中的数据转发模块304向比较判断模块303发送自身统计的染色数据包数量和第一染色数据包时戳。S9:VM2中的统计模块302接收到请求消息后,向比较判断模块303发送自身统计的染色数据包数量和第一染色数据包时戳。S10:比较判断模块303比较不同节点间统计的染色数据包数量和第一染色数据包的时戳的差异,确定节点间网络的丢包和时延问题。可选的,比较判断模块303可以比较不同节点间统计的染色数据包数量的差异,根据该差异确定出节点间网络出现丢包问题;比较不同节点间统计的第一染色数据包的时戳的差异,根据该差异确定出节点间网络出现时延问题。S11:比较判断模块303向各个节点发送停止检测的通知消息。可选的,当节点为虚拟交换机时,如图6中的步骤S11.1所示,比较判断模块303将停止检测的通知消息发送至数据转发模块304,数据转发模块304将该通知消息发至虚拟交换机。其中,该通知消息用于通知各个节点停止数据传输质量的检测。可理解的是,上述图6所示的过程仅描述了VM1经过一个虚拟交换机与VM2之间传输数据的检测,在实际应用环境中,传输路径会存在经过两个以上VM、以及多个虚拟交换机的情况,在这种情况下,数据传输检测装置中个各个模块具体处理过程和图6所示的过程类似,在此不再详细赘述。由上可知,本发明实施例提供一种数据传输质量检测装置,对第一虚拟机VM发送的具有相同传输路径的多个数据包、以及第一数据包进行不同染色,在传输路径上的不同节点检测并统计所有染色数据包数量、以及第一染色数据包的时戳,比较不同节点检测到的染色数据包数量、以及第一染色数据包时戳的差异,根据差异判断不同节点间的丢包和时延问题。如此,可以通过对数据包的染色、识别和统计,比较不同节点间发送的数据包数量和时戳的差异,进而可以根据该差异确定出节点间的丢包时延问题,以便采取相应措施恢复整个业务。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的单元和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的装置,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(RandomAccessMemory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件(例如处理器)来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1