一种基于云网融合的主机丢包自动检测方法与流程

文档序号:31669907发布日期:2022-09-28 00:42阅读:60来源:国知局
一种基于云网融合的主机丢包自动检测方法与流程

1.本技术涉及丢包检测技术领域,具体涉及一种基于云网融合的主机丢包自动检测方法。


背景技术:

2.云网融合,是云计算中引入网络的技术,通信网中引入云计算的技术。业务需求和技术创新并行驱动加速网络架构发生深刻变革,云和网高度协同,不再各自独立。云网融合已经成为云计算领域的发展趋势。云计算业务的开展需要强大的网络能力支撑,网络资源的优化同样要借鉴云计算的理念,云网融合的概念应运而生。云网融合是基于业务需求和技术创新并行驱动带来的网络架构深刻变革,使得云和网高度协同,互为支撑,互为借鉴的一种概念模式,同时要求承载网络可根据各类云服务需求按需开放网络能力,实现网络与云的敏捷打通、按需互联,并体现出智能化、自服务、高速、灵活等特性。云网融合的服务能力是基于云专网提供云接入与基础连接能力,通过与云服务商的云平台结合对外提供覆盖不同场景的云网产品,并与其他类型的云服务(如计算、存储、安全类云服务)深度结合,最终延伸至具体的行业应用场景,并形成复合型的云网融合解决方案。
3.云网融合不仅能应用于数据中心,也可以应用于5g核心网,移动边缘计算(mobile edge computing,mec),从而创造出一个具备高性能、低延迟与高带宽的电信级服务环境,加速网络中各项内容、服务及应用的快速下载,让消费者享有不间断的高质量网络体验。
4.现有技术中存在以下问题:云网融合服务器既包含的传统的操作系统,又要支持虚拟化技术,包括网络虚拟化,计算虚拟化等。在如此复杂的服务器上经常发生网络丢包的现象,传统的人工使用不同工具排查问题的方式非常困难,非常耗时。


技术实现要素:

5.为了解决上述技术问题,本技术提供了一种基于云网融合的主机丢包自动检测方法,该方法包括数据包特征设置,主机数据包采集,虚拟网络数据包采集,虚拟机数据包采集,数据包采集数据分析,展示丢包分析结果这几部分。
6.本技术所采用的技术方案如下:
7.一种基于云网融合的主机丢包自动检测方法,该方法包括如下步骤:
8.步骤1、进行数据包特征值设置,并设置采集数据包的关键节点;
9.步骤2、在云网融合主机的网卡上采集数据包,并存储采集的所述数据包;
10.步骤3、对所述数据包进行分析,如果没有采集到所述数据包,则标记所述数据包为丢包,分析原因并进行记录,可视化丢包结果展示。
11.进一步的,所述采集数据包的关键节点包括主机采集关键节点、虚拟网络采集关键节点以及虚拟机采集关键节点。
12.进一步的,通过如下方式中的任意一种来实现主机采集关键节点的数据采集:使用linux操作系统自带的抓包工具tcpdump在物理网卡或物理网卡捆绑上抓包,或者自定义
其他抓包工具;或者,通过netstat观察丢包计数;或者,使用dropwatch工具进行抓包。
13.进一步的,所述在物理网卡或物理网卡捆绑上抓包,包括:
14.分析数据包的结构,并对各层的数据进行解析;
15.将各层数据包的内容与所设置的所述数据包特征值进行匹配,根据匹配的结果来判断采集的数据包是否满足所设置的所述数据包特征值;
16.如果满足所设置的所述数据包特征值,则使用hash方法对该数据包进行唯一编号;或者使用其他唯一值算法对该数据包进行唯一编号;对唯一编号的数据包进行保存,保存的内容包括采集位置、唯一编号、数据包内容、采集时间以及关联特征;同时,根据解析的各层数据包的内容,使用hash方法对各层数据包的内容进行唯一编号,并将各层数据包的内容、唯一编号以及各层数据包的内容进行关联存储;
17.如果不满足所设置的所述数据包特征值,则丢弃该数据包。
18.进一步的,所述虚拟网络采集关键节点包括虚拟交换机网桥、虚拟交换机端口、虚拟交换机端口捆绑、虚拟交换机流表、ovs-dpdk网桥、ovs-dpdk端口、ovs-dpdk端口捆绑、ovs-dpdk流表。
19.进一步的,所述虚拟网络采集关键节点的数据采集,包括:
20.使用hash方法对所述虚拟网络采集关键节点所采集到的数据包进行唯一编号;
21.所述虚拟网络采集关键节点所采集到的数据包的唯一编号与所述主机采集关键节点所采集到的数据包的唯一编号进行比较;
22.如果比较结果为相同,则所述主机采集关键节点已经采集到此数据包,将该虚拟网络采集关键节点的信息保存,所保存的信息包括采集时间和采集位置;
23.如果比较结果为不相同,则所述主机采集关键节点没有采集到此数据包,则没有采集到的此数据包为待确定数据包,需要后期进行人工分析。
24.进一步的,所述虚拟机采集关键节点包括虚拟网卡、虚拟网卡捆绑、虚拟机操作系统协议栈、以及虚拟机内应用程序,其中所述虚拟机操作系统协议栈包括tcp协议栈和udp协议栈。
25.进一步的,对于虚拟机采集关键节点采集到的数据,进行如下处理:
26.使用hash方法对所述虚拟机采集关键节点所采集到的数据包进行唯一编号;
27.所述虚拟机采集关键节点所采集到的数据包的唯一编号与所述虚拟网络采集关键节点所采集到的数据包的唯一编号进行比较;
28.如果比较结果为相同,则所述虚拟机采集关键节点已经采集到此数据包,将该虚拟机采集关键节点的信息保存,所保存的信息包括采集时间和采集位置;
29.如果比较结果为不相同,则所述虚拟网络采集关键节点没有采集到此数据包,则没有采集到的此数据包为待确定数据包,需要后期进行人工分析。
30.进一步的,在步骤3,根据数据包的唯一编号,通过数据包的采集位置对比定位出丢包位置。
31.进一步的,在通过数据包的采集位置对比定位出丢包位置之后,还包括结合各个丢包位置采集点的代码逻辑、日志文件以及缓存错误信息确定丢包原因;所述不同的维度包括以下任意一种:预设时间段内各个采集点的数据包采集数量;预设时间段内各个采集点的丢包数量;预设时间段内不同丢包原因的丢包数量;预设时间段内符合数据包特征的
采集数量、丢包位置、丢包数量以及丢包原因。
32.通过本技术实施例,可以获得如下技术效果:
33.与现有技术相比,本技术根据云网融合服务器的特性,设计出适合在这中复杂环境中自动检测丢包的方法。在云网融合服务器上,根据服务器上安装的网卡,网卡驱动,部署的操作系统,运用的虚拟化技术,虚拟网络技术,以及虚拟机中部署的操作系统,虚拟机中的应用这些信息,通过在合理的位置采集数据包数据,统一分析,使丢包位置快速定位,丢包原因快速明晰。使用本技术的方案和装置还支持用户自定义定义包的特性。本技术涉及方法具有自动化程序高,简洁易用的特点。
附图说明
34.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
35.图1为本技术的方法的流程图;
36.图2为本技术中数据包的数据结构图;
37.图3为本技术中可视化丢包结果展示的示意图。
具体实施方式
38.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本技术保护的范围。
39.传统的系统中,网络与主机是分离的。网络中常用的丢包分析方式需要专用的设备进行,如网络测试仪。在主机上,操作系统会提供一定的工具进行数据包抓包和解析,比如tcpdump可以捕捉网卡上的数据包,并具有一些分析能力,但是这种分析能力只能分析出某些书报的格式。操作系统协议栈方面,并没有很好的工具来分析,只能通过命令行查看一些计数器,比如丢包计数器,缓存错误计数器等;在应用层面,只能查看日志文件来发现其中的错误,对于数据包丢包是不能感知到的。
40.虽然理论上可以按照上述方法对每个关键点,逐次进行抓包分析,似乎可以对数据包的丢失进行定位,但是在实际应用中,主要靠人工操作,不能同时对多个关键点同时进行抓包,更不能精确匹配多个关键点之间数据包的关系,比如是否为同一个数据包,数据包的时序关系等。因此,靠人工的排查数据包的丢包原因非常不准确,并且需要的时间非常长。
41.随着云网融合的发展,服务器上承载了虚拟网络,虚拟机等多种多样的功能,数据包传输路径比传统服务器要复杂很多,问题定位更是难上加难。在加上云网融合服务器上,包括网络,虚拟机等资源都是动态分配的,这就要求定位的时间必须非常短,必须在下次变化之前找到问题的原因;否则可能由于资源的变化,导致问题的无法重现。在这种情况下,使用传统人工定位的方式,已经变得力不从心。往往由于问题没有及时解决,导致更多的问
题出现,随着时间的流逝,累积的问题会严重影响系统的整体的稳定性。
42.在云网融合的趋势下,在服务器上需要有高效的、自动化的丢包检测方法和工具。在云网融合服务器上,根据服务器上安装的网卡,网卡驱动,部署的操作系统,运用的虚拟化技术,虚拟网络技术,以及虚拟机中部署的操作系统,虚拟机中的应用这些信息,通过在合理的位置采集数据包数据,统一分析,使丢包位置快速定位,丢包原因快速明晰,使用本技术的方案和装置还支持用户自定义定义包的特性,本技术涉及方法具有自动化程序高,简洁易用的特点。
43.图1为本技术的方法的流程图。该方法包括如下步骤:
44.步骤1、进行数据包特征值设置,并设置采集数据包的关键节点;
45.步骤2、在云网融合主机的网卡上采集数据包,并存储采集的所述数据包;
46.步骤3、对所述数据包进行分析,如果没有采集到所述数据包,则标记所述数据包为丢包,分析原因并进行记录,可视化丢包结果展示;
47.云网融合服务器包含物理网卡,操作系统,虚拟交换机,以及运行的虚拟机,其中虚拟机又包含了虚拟网卡,虚机操作系统,虚机应用程序。
48.所述采集数据包的关键节点包括(1)主机采集关键节点、(2)虚拟网络采集关键节点以及(3)虚拟机采集关键节点。
49.通过数据包特征设置,主机数据包采集,虚拟网络数据包采集,虚拟机数据包采集,数据包采集数据分析,展示丢包分析结果。通过同时采集多个关键节点的数据包,并保存下来,能够很好的解决数据包匹配和时序问题,同时自动分析丢包的位置,能够迅速定位出数据包丢包的原因。
50.图2为本技术中数据包的数据结构图。在步骤1中,该数据包在网络上传输,需要在各个网络层封装相应的额外数据。根据数据包这种结构特点,在不同的网络层设置采集符合特定条件的数据包,条件包括但不限于源mac地址,目标mac地址,vlanid号,arp协议,icmp协议,源ipv4地址,目标ipv4地址,源ipv6地址,目标ipv6地址,源udp端口号,目标udp端口号,源tcp端口号,目标tcp端口号,tcp序列号,应用层协议类型,snmp,tipc,http,https,ftp;支持自定义协议,如在tcp上自定义协议。
51.(1)主机采集关键节点
52.根据云网融合服务器的承载业务特点,选择多个主机上的关键位置进行采集。
53.所述主机采集关键节点包括物理网卡或物理网卡捆绑(bond),操作系统网络协议栈(tcp协议栈和udp协议栈)。
54.通过如下方式中的任意一种来实现主机采集关键节点的数据采集:
55.1)使用linux操作系统自带的抓包工具tcpdump在物理网卡或物理网卡捆绑(bond)上抓包,或者自定义其他抓包工具;
56.2)通过netstat观察丢包计数;
57.3)使用dropwatch工具进行抓包。
58.由于物理网卡,或物理网卡捆绑(bond)是进入主机的必经之路,在物理网卡,或物理网卡捆绑(bond)上采集的数据包,需要进行特别处理。所述在物理网卡或物理网卡捆绑(bond)上抓包,包括:
59.1)分析数据包的结构,并对各层的数据进行解析;
60.2)将各层数据包的内容与所设置的所述数据包特征值进行匹配,根据匹配的结果来判断采集的数据包是否满足所设置的所述数据包特征值;
61.3)如果满足所设置的所述数据包特征值,则使用hash方法对该数据包进行唯一编号;或者使用其他唯一值算法对该数据包进行唯一编号;对唯一编号的数据包进行保存,保存的内容包括采集位置、唯一编号、数据包内容、采集时间以及关联特征;同时,根据解析的各层数据包的内容,使用hash方法对各层数据包的内容进行唯一编号,并将各层数据包的内容、唯一编号以及各层数据包的内容进行关联存储;
62.4)如果不满足所设置的所述数据包特征值,则丢弃该数据包。
63.(2)虚拟网络采集关键节点
64.云网融合服务器包含物理网卡、操作系统、虚拟交换机以及运行的虚拟机。云网融合主机都会运行虚拟网络的功能,如虚拟交换机。
65.对虚拟网络进行采集,选择多个虚拟网络的关键位置进行采集。
66.所述虚拟网络采集关键节点包括虚拟交换机网桥、虚拟交换机端口、虚拟交换机端口捆绑(bond)、虚拟交换机流表、ovs-dpdk网桥、ovs-dpdk端口、ovs-dpdk端口捆绑(bond)、ovs-dpdk流表;
67.所述选择多个虚拟网络的关键位置进行采集,包括:
68.1)使用hash方法对所述虚拟网络采集关键节点所采集到的数据包进行唯一编号;
69.2)所述虚拟网络采集关键节点所采集到的数据包的唯一编号与所述主机采集关键节点所采集到的数据包的唯一编号进行比较。
70.如果比较结果为相同,则所述主机采集关键节点已经采集到此数据包,将该虚拟网络采集关键节点的信息保存,所保存的信息包括采集时间和采集位置;
71.如果比较结果为不相同,则所述主机采集关键节点没有采集到此数据包,则没有采集到的此数据包为待确定数据包,需要后期进行人工分析。
72.(3)虚拟机采集关键节点
73.云网融合主机上主要以运行虚拟机,向用户提供服务;通过采集虚拟机内部的数据包,可以帮助用户快速解决问题。
74.所述虚拟机采集关键节点包括虚拟网卡、虚拟网卡捆绑(bond)、虚拟机操作系统协议栈(包括tcp协议栈和udp协议栈)、以及虚拟机内应用程序。
75.通过如下方式中的任意一种来实现虚拟机采集关键节点的数据采集:1)使用tcpdump在虚拟网卡、虚拟网卡捆绑(bond)上抓包,或者自定义其他抓包工具;
76.2)通过netstat观察丢包计数;
77.3)使用dropwatch工具进行抓包。
78.对于虚拟机应用程序,可以开发模拟接收程序,将数据包采集并存储,也可以分析应用的日志,得到数据包的信息,并存储。
79.对于虚拟机采集关键节点采集到的数据,进行如下处理:
80.1)使用hash方法对所述虚拟机采集关键节点所采集到的数据包进行唯一编号;
81.2)所述虚拟机采集关键节点所采集到的数据包的唯一编号与所述虚拟网络采集关键节点所采集到的数据包的唯一编号进行比较。
82.如果比较结果为相同,则所述虚拟机采集关键节点已经采集到此数据包,将该虚
拟机采集关键节点的信息保存,所保存的信息包括采集时间和采集位置;
83.如果比较结果为不相同,则所述虚拟网络采集关键节点没有采集到此数据包,则没有采集到的此数据包为待确定数据包,需要后期进行人工分析;
84.在步骤2中,将采集数据包进行存储,需要持久化数据包信息,包括数据包编码、采集位置、采集时间以及数据包内容,可以使用关系型数据库(比如mysql),半关系型数据库(比如mongodb)以及其他的存储技术。
85.在步骤3,根据数据包的唯一编号,通过数据包的采集位置对比定位出丢包位置;
86.所述通过数据包的采集位置对比定位出丢包位置,例如:
87.1)设采集的数据包的传输顺序为,采集点1,采集点2,采集点3;
88.2)采集点1,采集到数据包1;
89.3)采集点2,如果没有采集到数据包1,则数据包1的丢包位置为采集点2;
90.4)采集点2,采集到数据包1;
91.5)采集点3,如果没有采集到数据包1,则数据包1的丢包位置为采集点3。
92.在通过数据包的采集位置对比定位出丢包位置之后,还包括结合各个丢包位置采集点的代码逻辑、日志文件以及缓存错误信息确定丢包原因。此外,还可以通过不同的维度统计出重要的丢包信息及其相应的丢包原因,所述不同的维度包括:
93.1)预设时间段内各个采集点的数据包采集数量;
94.2)预设时间段内各个采集点的丢包数量;
95.3)预设时间段内不同丢包原因的丢包数量;
96.4)预设时间段内符合数据包特征的采集数量、丢包位置、丢包数量以及丢包原因。
97.图3为本技术中可视化丢包结果展示的示意图。可视化丢包结果展示,包括与命令行展示等多种展示形式。通过可视化展示,能够直观的显示丢包数据分析结果。可以根据多种条件对结果进行过滤,包括时间段,丢包位置,丢包原因,vxlanvni,vlanid,源ipv4地址,目的ipv4地址,源ipv6地址,目的ipv6地址,tcp端口号,tcp序列号,udp端口号,应用层协议类型,如snmp,tipc;特征字符串。
98.与传统方法相比较,本技术根据云网融合服务器的特性,设计出适合在这中复杂环境中自动检测丢包的方法。在云网融合服务器上,根据服务器上安装的网卡,网卡驱动,部署的操作系统,运用的虚拟化技术,虚拟网络技术,以及虚拟机中部署的操作系统,虚拟机中的应用这些信息,通过在合理的位置采集数据包数据,统一分析,使丢包位置快速定位,丢包原因快速明晰。使用本专利的方案和装置还支持用户自定义定义包的特性。本技术涉及方法具有自动化程序高,简洁易用的特点。本技术的主要特点是:
99.1)本技术是基于云网融合服务器的数据包丢包自动化检测的方法;
100.2)本技术同时采集云网融合服务器关键数据包流经节点,能够高效稳定的覆盖数据包的丢包可能性。
101.3)本技术可对数据包单独定制,每一种类数据包支持不同的参数,应用场景广。
102.本技术的技术方案,在云网融合服务器上,根据服务器上安装的网卡,网卡驱动,部署的操作系统,运用的虚拟化技术,虚拟网络技术,以及虚拟机中部署的操作系统,虚拟机中的应用这些信息,通过在合理的位置采集数据包数据,统一分析,使丢包位置快速定位,丢包原因快速明晰,本涉及方法具有自动化程序高,简洁易用的特点。
103.本技术中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
104.此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
105.尽管已经采用特定于结构特征和/或装置逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1