一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

检测边缘网络质量的方法、装置、设备和计算机可读存储介质与流程

2022-06-05 08:22:46 来源:中国专利 TAG:


1.本技术涉及计算机通信技术领域,特别是涉及检测边缘网络质量的方法、装置、设备和计算机可读存储介质。


背景技术:

2.全球智能设备的快速发展推动了边缘计算的发展。边缘计算是指在靠近用户的网络边缘,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。边缘计算将部分关键服务下沉到接入网络边缘,以减少网络传输和多级转发带来的带宽和时延损耗。
3.在边缘计算的场景中,网络质量对边缘节点在处理服务过程中的稳定性、可靠性等都会造成较大影响。因此,亟需一种能够高效检测边缘网络质量的方式。


技术实现要素:

4.有鉴于此,本技术提供了一种检测边缘网络质量的方法、装置、设备和计算机可读存储介质,以便于实现边缘网络质量的高效检测。
5.本技术提供了如下方案:
6.根据第一方面,提供了检测边缘网络质量的方法,所述边缘网络服务于边缘节点,所述边缘节点包括第一边缘节点和第二边缘节点;所述方法包括:
7.获取并记录所述第一边缘节点按照预设第一频率发送质量探测报文到所述第二边缘节点所产生的第一探测结果,所述第一探测结果包括丢包信息、生存时间ttl信息和往返时延rtt中的至少一种;
8.利用所述第一探测结果确定滑动窗口,所述滑动窗口包括所述第一探测结果及其之前连续n次的第一探测结果,所述n为预设的正整数;
9.对所述滑动窗口所包含的第一探测结果进行分析,确定是否发生网络质量异常。
10.根据第二方面,提供了一种检测网络质量的方法,包括:
11.获取并记录第一边缘节点按照预设第一频率发送质量探测报文到第二边缘节点所产生的第一探测结果,所述第一探测结果包括丢包信息、生存时间ttl信息和往返时延rtt中的至少一种;
12.利用所述第一探测结果确定滑动窗口,所述滑动窗口包括所述最新的第一探测结果及其之前连续n次的第一探测结果,所述n为预设的正整数;
13.对所述滑动窗口所包含的第一探测结果进行分析,确定是否发生网络质量异常。
14.根据实施例中一种可实现的方式,所述网络服务于边缘节点,所述边缘节点包括所述第一边缘节点和所述第二边缘节点。
15.根据实施例中一种可实现的方式,所述获取并记录第一边缘节点按照预设第一频率发送质量探测报文到第二边缘节点所产生的第一探测结果包括:获取并记录第一边缘节点按照预设第一频率发送质量探测报文到第二边缘节点所产生的每次第一探测结果;
16.所述利用第一探测结果确定滑动窗口包括:利用最新的第一探测结果确定滑动窗口,所述滑动窗口包括最新的第一探测结果及其之前连续n次的第一探测结果。
17.根据实施例中一种可实现的方式,对所述滑动窗口所包含的第一探测结果进行分析,确定是否发生网络质量异常包括:
18.依据所述滑动窗口内发生的丢包状况、所述滑动窗口内rtt的统计值与rtt历史统计值进行比较的状况,以及所述滑动窗口内ttl的统计值与历史路由探测数据进行比较的状况中的至少一种,确定是否发生网络质量异常。
19.根据实施例中一种可实现的方式,该方法还包括:
20.获取并记录第一边缘节点按照预设的第二频率对第二边缘节点进行路由探测所产生的第二探测结果,所述第二探测结果包括所述第一边缘节点以及第二边缘节点之间的路由信息;
21.利用所述第二探测结果生成所述历史路由探测数据,其中,所述第一频率高于所述第二频率。
22.根据实施例中一种可实现的方式,该方法还包括:
23.若所述滑动窗口内ttl的统计值相比较历史路由探测数据的变化导致发生网络质量异常,则触发所述第一边缘节点对所述第二边缘节点进行路由探测,并记录本次探测产生的第二探测结果;
24.若未发生网络质量异常,则将最新的第一探测结果所包括的ttl信息记录于所述历史路由探测数据。
25.根据实施例中一种可实现的方式,在所述记录本次探测产生的第二探测结果之后,还包括:
26.利用本次探测产生的第二探测结果与所述历史路由探测数据进行比较,以定位网络异常位置。
27.根据实施例中一种可实现的方式,所述报文包括:网络层报文和/或传输层报文。
28.根据实施例中一种可实现的方式,若所述报文包括传输层报文,则所述第一边缘节点每次发送的传输层报文的数据流标识在预设标识范围内依次选取。
29.根据实施例中一种可实现的方式,每次发送的传输层报文的数据流标识在预设标识范围内依次选取包括:
30.每次发送的传输层报文的源端口号在预设端口值范围内依次选取,目的端口号采用固定值。
31.根据实施例中一种可实现的方式,该方法还包括:
32.若确定发生网络质量异常,则基于数据流标识对所述第一探测结果进行分组分析,确定发生异常的数据流标识。
33.根据第三方面,提供了一种检测边缘网络质量的装置,包括:
34.第一探测单元,被配置为获取并记录第一边缘节点按照预设第一频率发送质量探测报文到第二边缘节点所产生的第一探测结果,所述第一探测结果包括丢包信息、生存时间ttl信息和往返时延rtt中的至少一种;
35.质量分析单元,被配置为利用所述第一探测结果确定滑动窗口,所述滑动窗口包括所述第一探测结果及其之前连续n次的第一探测结果,所述n为预设的正整数;对所述滑
动窗口所包含的第一探测结果进行分析,确定是否发生网络质量异常。
36.根据第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面和第二方面中任一项所述的方法的步骤。
37.根据第五方面,提供了一种电子设备,其特征在于,包括:
38.一个或多个处理器;以及
39.与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一方面和第二方面中任一项所述的方法的步骤。
40.根据本技术提供的具体实施例,本技术可以具备以下优点:
41.1)通过本技术采用了持续探测结合滑动窗口分析的方式,每次探测都能够利用本次探测所产生的滑动窗口内的探测结果进行网络异常分析,更加高效,对于网络出现的短时间抖动也能够有效地感知。
42.2)通过丢包信息、ttl和rtt三个指标分析网络质量,能够更加敏锐和准确地实现网络质量检测。
43.3)采用高频质量检测和低频路由检测相结合的方式,在保证网络质量检测效果的同时,有效地对历史路由数据进行沉淀,从而更进一步提高网络质量检测的效果。
44.4)质量探测和路由探测可以采用网络层报文实现,有效利用网络设备对网络层报文的友好转发,保证网络质量检测的基本实现。质量探测和路由探测也可以采用传输层报文实现,有效利用传输层报文针对不同数据流标识的多路径传输特性,提高网络质量检测对多路径路由的覆盖状况。质量探测和路由探测也可以同时采用网络层报文和传输层报文来实现,从而兼顾两方面优点。
45.当然,实施本技术的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
46.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1示出了可以应用本技术实施例的示例性系统架构;
48.图2示出了本技术实施例提供的检测网络质量的主要方法流程;
49.图3示出了本技术另一实施例提供的检测网络质量的方法流程;
50.图4示出了本技术一优选实施例提供的检测网络质量的方法流程;
51.图5示出根据一个实施例的检测网络质量的装置的示意性框图;
52.图6示出了本技术实施例提供的电子设备的架构。
具体实施方式
53.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的
范围。
54.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
55.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
56.取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
57.图1示出了可以应用本技术实施例的示例性系统架构。如图1所示,该系统可以包括监测系统和多个边缘节点,在该系统中仅示意性的示出了两个边缘节点:第一边缘节点和第二边缘节点。
58.其中,第一边缘节点和第二边缘节点分别对其所在区域的边缘服务进行处理。边缘节点指的是靠近用户的网络边缘侧构建的服务平台,提供存储、计算、网络等资源,将部分关键服务应用下沉到接入网络边缘,以减少网络传输和多级转发带来的宽度和时延损耗。
59.上述第一边缘节点和第二边缘节点一般必须通过有线或者无线的方式连接到网络,通过网络进行通信。
60.通常一个边缘节点会设置于一个机房,一个边缘节点包含该机房内的边缘服务器、边缘网关等多种形态的设备。该机房内的边缘服务器、边缘网关等作为同一个运营商的一个边缘节点(通常布设为一个虚拟机)为其所在区域提供边缘计算服务。
61.监测系统负责对各边缘节点之间的网络质量进行检测,例如负责对第一边缘节点和第二边缘节点之间的网络质量进行检测,还可以进一步依据检测结果执行相应的控制策略。例如当某网络链路的质量异常,可以将该网络链路的数据流切换至其他网络链路。本技术实施例中设计的检测网络质量的方法由设置于监测系统的检测网络质量的装置来执行。该监测系统可以可以是单个的服务器,也可以是由多个服务器组成的服务器集群,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(vps,ⅵirtual private server)服务中存在的管理难度大,服务扩展性弱的缺陷。
62.在本技术实施例中,监测系统可以通过获取并记录第一边缘节点和第二边缘节点之间发送的探测报文,来检测第一边缘节点和第二边缘节点之间的网络质量。下面结合实施例对本技术提供的方法进行描述。
63.图2示出了本技术实施例提供的检测网络质量的主要方法流程,该方法流程由图1中所示的监测系统执行。如图2中所示,该方法可以包括以下步骤:
64.步骤201:获取并记录第一边缘节点按照预设第一频率发送质量探测报文到第二边缘节点所产生的第一探测结果;第一探测结果包括丢包信息、ttl(time to live,生存时间)信息和rtt(round-trip time,往返时延)中的至少一种。
65.步骤202:利用第一探测结果确定滑动窗口,滑动窗口包括第一探测结果及其之前连续n次的第一探测结果,n为预设的正整数。
66.步骤203:对滑动窗口所包含的第一探测结果进行分析,确定是否发生网络质量异常。
67.由图2所示主要方法流程可以看出,本技术实施例的主要构思之一是采用了持续探测结合滑动窗口分析的方式,每次探测都能够利用本次探测所产生的滑动窗口内的探测结果进行网络异常分析,更加高效,对于网络出现的短时间抖动也能够有效地感知。
68.下面对上述各步骤进行详细描述。在此需要说明的是,本技术实施例中涉及的“第一”、“第二”等限定并不具备大小、顺序和数量等方面的限制,仅仅用以在名称上加以区分,例如“第一边缘节点”和“第二边缘节点”用以区分两个边缘节点,再例如“第一频率”和“第二频率”用以区分两个频率,再例如“第一探测结果”和“第二探测结果”用以区分两种探测结果,等等。
69.首先结合实施例对上述步骤201即“获取并记录第一边缘节点按照预设第一频率发送质量探测报文到第二边缘节点所产生的第一探测结果”进行详细描述。
70.在本技术实施例中,可以预先在各边缘节点中部署网络探针,由网络探针进行探测报文的发送来获取探测结果,并将探测结果发送给监测系统。该网络探针可以是一个位于边缘节点的应用程序,或者还可以为位于边缘节点的应用中的插件或软件开发工具包(software development kit,sdk)等功能单元。
71.监测系统可以根据网络部署状况,确定第一边缘节点的对端边缘节点,然后将对端边缘节点的信息发送给第一边缘节点,以便第一边缘节点的网络探针向对端边缘节点进行探测报文(该探测报文可以是本步骤中涉及的质量探测报文,还可以进一步包括后续实施例中涉及的路由探测报文)的发送。其中,第一边缘节点的对端边缘节点可以是一个或者多个。在本技术实施例中可以将每一个对端边缘节点均作为第二边缘节点分别执行本技术实施例的网络质量检测。
72.在本步骤中,第一边缘节点中的网络探针按照预设的第一频率发送质量探测报文到第二边缘节点,产生每次的第一探测结果。其中,第一频率可以是一个较高的频率,例如每隔100ms发送质量探测报文。
73.上述的质量探测报文可以是网络层探测报文,例如icmp(internet control message protocol,internet控制报文协议)探测报文。也可以是传输层探测报文,例如tcp(transmission control protocol,传输控制协议)探测报文、udp(userdatagram protocol,用户数据报协议)探测报文。还可以是网络层探测报文和传输层探测报文均发送,例如发送icmp探测报文和tcp探测报文。这些具体情形将在后续实施例中详述。
74.上述质量探测报文中可以预先设置ttl字段的初始值为一个较大的值,从而保证质量探测报文能够从第一边缘节点发送到第二边缘节点。该初始值可以根据网络规模灵活设置,可以采用经验值或实验值等。例如,设置ttl字段的初始值为64。网络中的设备在接收到诸如icmp、tcp等质量探测报文后,会将其中包含的ttl字段的值递减,例如减1。由于在本技术实施例中,质量探测报文中ttl字段的初始值设置为一个较大的值64,而通常的网络规模,两个边缘节点之间的设备不会超过30跳,因此可以保证能够从第一边缘节点将质量探测报文传输到第二边缘节点。该质量探测报文的源ip地址为第一边缘节点的ip地址,目的
ip地址为第二边缘节点的ip地址。
75.第二边缘节点在接收到质量探测报文后,会针对该质量探测报文返回响应报文。该响应报文中ttl字段的初始值同样设置为64,通常该响应报文会沿着质量探测报文的原路径返回,因此,第一边缘节点如果能接收到该响应报文,则说明未发生丢包,可以利用发送质量探测报文的时间和接收到响应报文的时间确定出rtt,依据响应报文中的ttl字段的值确定本次探测得到的ttl信息。例如,如果第一边缘节点接收到响应报文时ttl字段的值为30,则说明第一边缘节点和第二边缘节点之间的网络路径经过了23跳。
76.如果第一边缘节点在设定时长内未接收到响应报文,则说明发生丢包,可以记录丢包信息,或者认为路由不可达。可以看出,通过第一边缘节点和第二边缘节点之间质量探测报文的发送可以获取到的第一探测结果包括丢包信息、ttl信息、rtt信息中的至少一种。
77.下面结合实施例对上述步骤202即“利用第一探测结果确定滑动窗口”进行详细描述。
78.在本步骤中,滑动窗口的长度可以依据网络质量检测所需求的敏感度来确定,例如需要将网络质量检测的敏感度达到秒级,则可以设置上述第一频率为100ms,滑动窗口长度为10s。这样,一个滑动窗口内会包含100个探测结果。
79.作为一种可实现的方式,本步骤中可以利用最新的第一探测结果来确定滑动窗口。具例如,第一边缘节点可以利用最新一次的质量探测报文获得的第一探测结果及其之前99个探测结果就构成了最新的滑动窗口。也就是说,该滑动窗口的长度的固定的,每次探测后该滑动窗口都会向后滑动100ms,使得该滑动窗口始终包含100个第一探测结果。
80.下面结合实施例对上述步骤203即“对滑动窗口所包含的第一探测结果进行分析,确定是否发生网络质量异常”进行详细描述。
81.本步骤中可以利用滑动窗口中各第一探测结果中的丢包信息、rtt信息和ttl信息中的至少一种进行分析,得到第一边缘节点和第二边缘节点之间是否发生网络质量异常。
82.作为其中一种可实现的方式,依据滑动窗口内发生的丢包状况,确定是否发生网络质量异常。例如,对滑动窗口内发生的丢包次数进行统计,如果丢包次数大于或等于预设的丢包阈值,则认为发生网络质量异常。
83.作为其中一种可实现的方式,将滑动窗口内rtt的统计值与rtt历史统计值进行比较,确定是否发生网络质量异常。其中,rtt历史统计值可以是当前滑动窗口之前预设第一时长内的rtt统计值。rtt的统计值可以采用rtt的均值、方差等。举个例子,可以统计该滑动窗口内rtt的均值,然后将统计的rtt的均值与该滑动窗口之前120s内的rtt均值进行比较,如果滑动窗口内rtt的均值高于当前滑动窗口之前120s内的rtt均值的程度超过预设的rrt变化阈值,则认为发生网络质量异常。
84.作为其中一种可实现的方式,将滑动窗口内ttl的统计值与历史路由探测数据进行比较,确定是否发生网络质量异常。其中,历史路由探测数据可以是当前滑动窗口之前预设第二时长内的路由探测数据,该路由探测数据包括各时间点(对应第一频率)的ttl值,还可以包括多个时间点(对应后续实施例中涉及的第二频率)的路径信息。ttl的统计值可以采用ttl的均值、方差等。举个例子,可以统计滑动窗口内ttl的均值,然后将统计的ttl的均值与该滑动窗口之前1个小时内的ttl均值进行比较,如果滑动窗口内ttl的均值高于当前滑动窗口之前1个小时内的ttl均值的程度超过预设的ttl变化阈值,则认为发生网络质量
异常。可以看出在本技术中,除了常用的丢包信息和rtt之外,将ttl信息作为另一个重要的分析指标。因为边缘节点通常部署于运营商的机房,正常情况下边缘节点之间的ttl处于稳定状态。ttl的变化原因是中间路由设备的变更、配置变化或者异常,这些都会对网络质量产生一定影响。
85.其中,上述丢包阈值、rtt变化阈值、ttl变化阈值等均可以根据对网络质量变化的敏感程度来设置,可以采用经验值或实验值等。
86.另外,除了上述三种可实现的方式之外,也可以综合丢包状况、ttl和rtt三个因素中年的至少两种来判断是否发生网络质量异常。例如对三个因素赋予一定权值,将三个因素的状况进行加权处理,得到是否发生网络质量异常的判断。再例如,如果其中两个因素都判断出网络质量异常,则最终确定网络质量异常。等等。
87.其中,历史路由探测数据可以是基于历史的质量探测报文收集得到的,例如,之前非网络异常情况下对应的各滑动窗口统计得到的ttl值。
88.但作为一种优选的实施方式,上述历史路由探测数据还可以通过另外一种低频的路由探测机制来维护。这种情况下如图3中所示,在执行图2所示步骤的同时,还会额外执行以下步骤:
89.步骤301:获取并记录第一边缘节点按照预设的第二频率对第二边缘节点进行路由探测所产生的第二探测结果,第二探测结果包括第一边缘节点以及第二边缘节点之间的路由信息,其中,第一频率高于第二频率。
90.在本步骤中所使用的第二频率可以是一个较低的频率,例如每间隔10分钟进行一次路由探测。路由探测也称为路由跟踪(tracert),实际上是第一边缘节点发送从ttl字段的值为1开始的路由探测报文,该路由探测报文的源ip地址为第一边缘节点的ip地址,目的ip地址为第二边缘节点的ip地址。网络中的各设备在接收到路由探测报文后会将其中的ttl字段值减1,如果接收到ttl字段值为0的路由探测报文,则会回复指示已超时的报文。第一边缘节点接收到指示已超时的报文后再次发送路由探测报文并将路由探测报文中ttl字段的值递增例如加1。如此反复,直至接收到第二边缘节点返回的响应报文或者ttl字段达到最大值。通过该路由探测过程,第一边缘节点就能够获知第一边缘节点到第二边缘节点之间的ttl。并且,通过记录所有返回指示已超时的报文的设备信息,第一边缘节点就能够获知到第二边缘节点之间的路径。如果ttl字段的值递增到最大值也未收到响应报文,则可以认为第一边缘节点和第二边缘节点之间的路由不可达。鉴于路由探测为目前已有的技术,本实施例仅对其进行合理利用,因此对其仅做简单描述。
91.例如每间隔10分钟就能够获取到一次第一边缘节点和第二边缘节点之间的路由信息。该路由信息可以包括ttl值,还可以包括第一边缘节点和第二边缘节点之间的路径信息。
92.上述的路由探测报文可以是网络层探测报文,例如icmp探测报文。也可以是传输层探测报文,例如tcp探测报文、udp探测报文。还可以是网络层探测报文和传输层探测报文均发送,例如发送icmp探测报文和tcp探测报文。这些具体情形将在后续实施例中详述。
93.步骤302:利用第二探测结果生成历史路由探测数据。
94.可以将路由探测的时间信息以及得到的第二探测结果记录于历史路由探测数据中。
95.由于在每次进行质量探测时,ttl的统计值是与当前滑动窗口之前预设第二时长的ttl的统计值进行比较,因此,在本实施例中,可以仅保留第二时长加上滑动窗口时长所得到长度内的第二探测结果。
96.在此需要说明的是,在上述路由探测过程中也可以获取rtt信息,也可以将获取的rtt信息记录于历史rtt数据中。
97.另外,在步骤203之后,如果确定出网络异常,则监测系统可以对第一边缘节点和第二边缘节点之间的端对端链路进行网络异常预警。
98.更进一步地,如果ttl的统计值变化导致发生网络质量异常,则可以如图3中所示,执行步骤305;如果未发生网络异常,则可以执行步骤304。
99.步骤304:将最新的第一探测结果中的ttl值记录于历史路由探测数据。
100.在步骤305中,触发第一边缘节点和第二边缘节点之间进行路由探测,并记录本次探测产生的第二探测结果。
101.路由探测的过程可以参见上述步骤301中的相关记载,在此不做赘述。经过本次路由探测后,可以得到第一边缘节点和第二边缘节点之间的路径信息。据此可以进一步执行步骤306,即利用本次探测产生的第二探测结果与历史路由探测数据进行比较,以定位网络异常位置。
102.历史路由探测数据可以理解为第一边缘节点和第二边缘节点之间网络正常时的路径信息,当检测到网络异常且该异常是ttl变化导致的,那么在网络异常情况下触发的路由探测得到的第二探测结果与历史路由探测数据进行比较,就能够确定发生变化的节点是哪个或哪些,这些变化的节点就可以被认为网络异常位置。
103.监测系统在定位出网络异常位置后,可以在预警的同时输出该网络异常位置。例如在预警界面上显示网络异常位置。
104.下面首先采用网络层报文icmp报文为例,对上述方法进行详细描述。如图4中所示,主要包括以下步骤:
105.在步骤4001中,监测系统获取并记录第一边缘节点对第二边缘节点的高频icmp质量探测结果,例如以100ms的时间间隔向第二边缘节点发送icmp质量探测报文所产生的每次第一探测结果。
106.其中icmp质量探测报文实际上是指定了ttl初始值为一个预设较大值的icmp报文,例如ttl字段初始值为60。第一边缘节点和第二边缘节点之间路径上的各设备接收到该icmp报文后,将ttl字段的值减1并转发给下一跳设备,直至转发至第二边缘节点。第二边缘节点接收到该icmp报文后,返回响应报文。第一边缘节点根据是否在设定时长内接收到响应报文、接收到响应报文的时间、接收到响应报文中ttl字段的值等信息,确定出第一探测结果。该第一探测结果包括是否丢包、rtt信息以及ttl信息。
107.也就是说,监测系统每隔100ms就获取并记录一个第一探测结果。每次获取并记录一个第一探测结果都执行步骤4002,利用icmp质量探测报文最新的第一探测结果确定滑动窗口。
108.在本实施例中,滑动窗口以10s为例,一个滑动窗口包含100个第一探测结果。那么本步骤中就确定出最新的第一探测结果及其之前99个第一探测结果。然后执行步骤4003,对滑动窗口所包含的第一探测结果的丢包信息、rtt信息以及ttl信息进行分析,确定是否
发生网络质量异常。
109.具体的分析方式参见图2所示实施例中关于步骤203的记载,在此仅采用其中一种方式为例:
110.判断滑动窗口内的丢包次数是否超过预设的丢包阈值,例如2次,如果超过,则认为第一边缘节点和第二边缘节点之间的网络质量异常。
111.判断滑动窗口内的rtt的均值高于该滑动窗口之前120s内rtt的均值的程度是否超过预设的rtt变化阈值,如果是,则认为第一边缘节点和第二边缘节点之间的网络质量异常。
112.判断滑动窗口内的ttl均值与第一历史路由探测数据中该滑动窗口之前1个小时内ttl的均值相比,是否发生了变化,如果是,则认为第一边缘节点和第二边缘节点之间的网络质量异常。
113.在执行步骤4001~步骤4003的同时,第一边缘节点对第二边缘节点进行低频icmp路由探测,即每隔10分钟对第二边缘节点进行一次icmp路由探测,因此步骤4004中,监测系统获取并记录第一边缘节点每隔10分钟对第二边缘节点进行icmp路由探测所产生的每次第二探测结果。
114.其中,在进行icmp路由探测时,第一边缘节点发送从ttl字段的值为1开始的icmp报文,该icmp报文的源ip地址为第一边缘节点的ip地址,目的ip地址为第二边缘节点的ip地址。网络中的各设备在接收到icmp报文后会将其中的ttl字段值减1,如果接收到ttl字段值为0的icmp报文,则会回复指示已超时的报文。第一边缘节点接收到指示已超时的报文后再次发送icmp报文并将icmp报文中ttl字段的值递增例如加1。如此反复,直至接收到第二边缘节点返回的响应报文或者ttl达到最大值。通过该icmp路由探测过程,第一边缘节点就能够获知第一边缘节点到第二边缘节点之间的ttl。并且,通过记录所有返回指示已超时的报文的设备信息,第一边缘节点就能够获知到第二边缘节点之间的路径。如果ttl字段值递增到最大值也未收到响应报文,则可以认为第一边缘节点和第二边缘节点之间的路由不可达。
115.在步骤4005中,监测系统进行第一历史路由探测数据的沉淀,例如将icmp路由探测所产生的第二探测结果记录于第一历史路由探测数据(为了与后续流程中tcp路由探测产生的历史路由探测数据进行区分,在此称为第一历史路由探测数据)。
116.在上述步骤4003之后,继续执行步骤4006:判断是否发生网络异常,如果否,执行步骤4005进行第一历史路由探测数据的沉淀,即将最新的第一探测结果中的ttl值记录于第一历史路由探测数据;如果是,执行步骤4007。
117.步骤4007:触发第一边缘节点和第二边缘节点之间进行icmp路由探测,并记录本次icmp路由探测产生的第二探测结果。
118.通常情况下,网络中的设备对于icmp报文是比较友好的,比较少发生设备丢弃icmp报文的情况。但对于固定源ip地址和目的ip地址的icmp报文,ip网络通常会将其沿着固定的路径转发。这一特性会导致第一边缘节点和第二边缘节点之间存在多路径路由时,质量检测无法覆盖所有路径。因此,在与上述步骤4001~4007同时执行的另外一个独立分支为以下步骤:
119.在步骤4011中,监测系统获取并记录第一边缘节点对第二边缘节点的高频tcp质
量探测结果,例如以100ms的时间间隔向第二边缘节点发送tcp质量探测报文所产生的每次第一探测结果。
120.其中tcp质量探测报文实际上是指定了ttl初始值为一个预设较大值的tcp报文,例如ttl字段初始值为60。第一边缘节点和第二边缘节点之间路径上的各设备接收到该tcp报文后,将ttl字段的值减1并转发给下一跳设备,直至转发至第二边缘节点。第二边缘节点接收到该tcp报文后,返回响应报文。第一边缘节点根据是否在设定时长内接收到响应报文、接收到响应报文的时间、接收到响应报文中ttl字段的值等信息,确定出第一探测结果。该第一探测结果包括是否丢包、rtt信息以及ttl信息。
121.在网络中大部分路由器采用的负载均衡策略是基于连接的负载均衡。连接通常是基于数据流标识信息来识别的,即根据报文的数据流标识进行转发路径的选择。在第一边缘节点和第二边缘节点之间如果存在多路径路由,则可以通过在预设标识范围内依次选取报文携带的数据流标识来实现质量探测报文的多路径传输。
122.其中数据流标识信息一般可以通过源地址、目的地址、源端口、目的端口等信息来识别。在第一边缘节点和第二边缘节点之间如果存在多路径路由,则可以通过诸如tcp等传输层报文中变换源端口地址的方式来实现质量探测报文的多路径传输。作为其中一种可实现的方式,第一边缘节点每次发送的tcp质量探测报文的源端口号在预设端口值范围内依次选取,目的端口号采用固定值。
123.举个例子,第一边缘节点在间隔100ms后发送一批tcp质量探测报文,这一批tcp质量探测报文的源ip地址和目的ip地址分别为第一边缘节点的ip地址和第二边缘节点的ip地址,目的端口号均为80(运营商网络对目的端口为80的tcp报文相对比较友好),源端口号从50000开始递增,递增范围为128。即一批tcp质量探测报文为128个,每个报文的源端口号均不相同。
124.理论上来说,tcp质量探测报文的源端口号所使用的端口值范围越大,对于在中间各路径路由的覆盖就越好,但探测本身的代价也会线性增加。因此,需要在两者之间取平衡。具体的端口值范围可以根据实验情况或经验情况来进行设置。
125.步骤4012:利用tcp质量探测报文最新的第一探测结果确定滑动窗口。
126.在本实施例中,滑动窗口可以采用一个分钟级别的长度,例如1分钟。确定最近1分钟内的第一探测结果。
127.步骤4013:对滑动窗口所包含的第一探测结果的丢包信息、rtt信息以及ttl信息进行分析,确定是否发生网络质量异常。
128.在本步骤中进行网络质量异常分析时,可以依据数据流标识对第一探测结果进行分组分析,从确定发生异常的数据流标识。
129.其中,具体的分析方式与对icmp质量探测报文的第一探测结果的分析方式基本相同,在此不做赘述。
130.但对于tcp而言,由于对多路径路由进行区分并分别分析,因此可以弱化网络质量异常分析过程中对于rtt信息的利用,主要利用丢包信息和ttl信息进行分析。
131.在执行步骤4011~步骤4013的同时,第一边缘节点对第二边缘节点进行低频tcp路由探测,即每隔10分钟对第二边缘节点进行一次tcp路由探测,因此步骤4014中,监测系统获取并记录第一边缘节点每隔10分钟对第二边缘节点进行tcp路由探测所产生的每次第
二探测结果。
132.同样地,在本步骤中第一边缘节点可以通过在预设标识范围内依次选取报文携带的数据流标识来实现tcp路由探测报文的多路径传输。
133.其中数据流标识信息一般可以通过源地址、目的地址、源端口、目的端口等信息来识别。作为其中一种可实现的方式,第一边缘节点每次发送的tcp路由探测报文的源端口号在预设端口值范围内依次选取,目的端口号采用固定值。
134.举个例子,第一边缘节点在间隔10分钟后发送一批tcp路由探测报文,这一批tcp路由探测报文的源ip地址和目的ip地址分别为第一边缘节点的ip地址和第二边缘节点的ip地址,目的端口号均为80(运营商网络对目的端口为80的tcp报文相对比较友好),源端口号从50000开始递增,递增范围为128。即一批tcp路由探测报文为128个,每个报文的源端口号均不相同。
135.针对每一个源端口号,发送的tcp路由探测报文从ttl字段的值为1开始。网络中的各设备在接收到tcp路由探报文后会将其中的ttl字段值减1,如果接收到ttl字段值为0的tcp路由探报文,则会回复指示已超时的报文。第一边缘节点接收到指示已超时的报文后再次发送tcp路由探报文并将tcp路由探报文中ttl字段的值递增例如加1。如此反复,直至接收到第二边缘节点返回的响应报文或者ttl达到最大值。通过该tcp路由探测过程,第一边缘节点就能够获知第一边缘节点到第二边缘节点之间的ttl。并且,通过记录所有返回指示已超时的报文的设备信息,第一边缘节点就能够获知到第二边缘节点之间的路径。如果ttl字段值递增到最大值也未收到响应报文,则可以认为第一边缘节点和第二边缘节点之间的路由不可达。
136.步骤4015:监测系统进行第二历史路由探测数据的沉淀,将tcp路由探测所产生的第二探测结果记录于第二历史路由探测数据。
137.在本步骤中,可以分别针对各数据流标识(即通过源端口号区分)记录ttl、路由信息等到第二历史路由探测数据。
138.另外,还可以分别针对各数据流标识记录rtt数据到历史rtt数据中。
139.在上述步骤4013之后,继续执行步骤4016:判断是否发生网络异常,如果是,执行步骤4017;否则可以执行步骤4015进行第二历史路由探测数据的沉淀,即将最新的第二探测结果中的ttl值记录于第二历史路由探测数据。
140.步骤4017:针对发生异常的数据流标识,触发第一边缘节点和第二边缘节点之间进行tcp路由探测(携带发生异常的数据流标识,即采用对应的源端口号),并记录本次tcp路由探测产生的第二探测结果。
141.上述采用icmp和tcp的两个分支是否分别独立执行的,兼顾了icmp和tcp的优点。即网络中的设备对于icmp报文比较友好,不容易发生丢弃报文的情况;而tcp虽然可能发生丢弃报文的情况,但能够针对不同数据流标识进行多路径路由的探测。因此,无论通过icmp还是tcp检测出了网络质量异常,均可以认为发生了网络质量异常,提高了检测准确性和全面性。并且在步骤4008中,可以综合利用步骤4007和步骤4017中发生异常情况下进行路由探测所产生的第二探测结果定位网络异常位置并进行预警。
142.上述图4所示实施例中以同时采用icmp质量探测和tcp质量探测为例进行的描述,但本技术实施例中也可以仅采用icmp质量探测和tcp质量探测中的一种,即仅执行图4中所
示的关于icmp的分支或者仅执行图4中所示的关于tcp的分支。
143.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
144.根据另一方面的实施例,提供了一种检测网络质量的装置。图5示出根据一个实施例的检测网络质量的装置的示意性框图,该装置设置于图1所示架构中的监测系统。如图5所示,该装置500包括:第一探测单元501和质量分析单元502,还可以进一步包括第二探测单元503和异常处理单元504。其中各组成单元的主要功能如下:
145.第一探测单元501,被配置为获取并记录第一边缘节点按照预设第一频率发送质量探测报文到第二边缘节点所产生的第一探测结果,第一探测结果包括丢包信息、生存时间ttl信息和往返时延rtt中的至少一种。
146.作为其中一种可实现的方式,第一探测单元501可以获取并记录第一边缘节点按照预设第一频率发送质量探测报文到第二边缘节点所产生的每次第一探测结果。
147.质量分析单元502,被配置为利用第一探测结果确定滑动窗口,滑动窗口包括第一探测结果及其之前连续n次的第一探测结果,n为预设的正整数;对滑动窗口所包含的第一探测结果进行分析,确定是否发生网络质量异常。
148.作为其中一种可实现的方式,质量分析单元502可以利用最新的第一探测结果确定滑动窗口,滑动窗口包括最新的第一探测结果及其之前连续n次的第一探测结果。
149.其中,质量分析单元502可以具体被配置为依据滑动窗口内发生的丢包状况、滑动窗口内rtt的统计值与rtt历史统计值进行比较的状况,以及滑动窗口内ttl的统计值与历史路由探测数据进行比较的状况中的至少一种,确定是否发生网络质量异常。
150.第二探测单元503,被配置为获取并记录第一边缘节点按照预设的第二频率对第二边缘节点进行路由探测所产生的第二探测结果,例如每次的第二探测结果,其中第二探测结果包括第一边缘节点以及第二边缘节点之间的路由信息;利用第二探测结果生成所述历史路由探测数据,其中,所述第一频率高于第二频率。
151.异常处理单元504,被配置为若滑动窗口内ttl的统计值相比较历史路由探测数据的变化导致发生网络质量异常,则触发第一边缘节点对第二边缘节点进行路由探测,并记录本次探测产生的第二探测结果;若未发生网络质量异常,则将最新的第一探测结果所包括的ttl信息记录于历史路由探测数据。
152.更进一步地,异常处理单元504在记录本次探测产生的第二探测结果之后,还可以利用本次探测产生的第二探测结果与所述历史路由探测数据进行比较,以定位网络异常位置。
153.其中,上述报文可以包括网络层报文和/或传输层报文。其中,网络层报文可以采用icmp报文,传输层报文可以采用tcp或udp报文。
154.若上述报文包括传输层报文,则第一边缘节点每次发送的传输层报文的数据流标识可以在预设标识范围内依次选取。例如每次发送的传输层报文的源端口号在预设端口值范围内依次选取,目的端口号采用固定值。
155.这种情况下,若确定发生网络质量异常,则异常分析单元502可以基于数据流标识对第一探测结果进行分组分析,确定发生异常的数据流标识。
156.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
157.需要说明的是,本技术实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
158.另外,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
159.以及一种电子设备,包括:
160.一个或多个处理器;以及
161.与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
162.其中,图6示例性的展示出了电子设备的架构,具体可以包括处理器610,视频显示适配器611,磁盘驱动器612,输入/输出接口613,网络接口614,以及存储器620。上述处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,与存储器620之间可以通过通信总线630进行通信连接。
163.其中,处理器610可以采用通用的cpu、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术所提供的技术方案。
164.存储器620可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器620可以存储用于控制电子设备600运行的操作系统621,用于控制电子设备600的低级别操作的基本输入输出系统(bios)622。另外,还可以存储网页浏览器623,数据存储管理系统624,以及检测网络质量的装置625等等。上述检测网络质量的装置625就可以是本技术实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本技术所提供的技术方案时,相关的程序代码保存在存储器620中,并由处理器610来调用执行。
165.输入/输出接口613用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
166.网络接口614用于连接通信模块(图中未示出),以实现本设备与其他设备的通信
交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
167.总线630包括一通路,在设备的各个组件(例如处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,与存储器620)之间传输信息。
168.需要说明的是,尽管上述设备仅示出了处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,存储器620,总线630等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本技术方案所必需的组件,而不必包含图中所示的全部组件。
169.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
170.以上对本技术所提供的内容进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献