本发明实施例涉及网络时延测量领域,尤其涉及一种网络时延带内遥测方法、装置、电子设备及存储介质。
背景技术:
1、随着互联网的飞速发展,全球互联网用户的不断增加,随着用户的迅速增加和用户需求的日益提升,互联网的数据流量迅速增长。巨型的体量、繁杂的设备和多样的协议使得互联网变得臃肿庞大,分布式架构下传统互联网的控制逻辑和数据平面紧密耦合,为互联网的网络开发管理人员带来了巨大挑战,使得网络传输与网络配置优化变得更加困难。网络传输管理与网络状态的及时感知和精准测量息息相关,随着流量的激增和网络结构配置的复杂化,碍于传统互联网络的分布式架构以及传统交换机硬件和控制逻辑的紧密耦合,使用传统网络测量方法来获取网络状态变得愈加困难。因此,开发一种高效、准确的网络遥测技术具有重大意义。
2、近年来,软件定义网络(software defined networking,sdn)和数据平面可编程技术(programmable data plane,pdp)发展迅速,成为网络遥测技术新的技术支撑。sdn架构将传统网络中紧密耦合在网络设备上的控制平面和数据平面分离,将控制平面提升到网络控制器中,网络中的交换设备只保留数据平面,控制平面通过openflow协议向数据平面交换机下发流表规则来完成对数据平面的控制。数据平面可编程技术为用户提供了数据平面的可编程能力,可编程交换机允许通过编程,在数据包传输的过程中对网络数据包进行处理。软件定义网络架构克服了传统网络控制和转发紧密耦合带来的僵化,通过集中控制提供网络的全局视图和集中管理,而数据平面可编程技术解放了数据平面的硬件设备,提供协议无关的转发体系,在数据平面释放出强大的处理能力。软件定义网络架构和数据平面可编程技术的结合,为大规模网络状态遥测技术带来了更多的灵活性。
3、带内网络遥测(in-band network telemetry,int)技术充分利用了软件定义网络技术和数据平面可编程技术,在数据包的转发流程中,在转发路径的每一跳使数据包携带相应网络设备参数,并在接收终端处提取数据包携带的参数,计算转发路径上的网络状态信息向网络控制器提交。其中网络时延作为网络状态信息中最重要的一个指标需要实现精准的int测量。如何部署带内网络遥测来完成对全局网络时延的精准测量成为亟待解决的问题。
技术实现思路
1、鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种网络时延带内遥测方法、装置、电子设备及存储介质。
2、第一方面,本发明实施例提供一种网络时延带内遥测方法,包括:
3、通过链路层发现协议获取全网拓扑信息,建立全网拓扑视图,并基于所述全网拓扑试图针对全网时延测量问题建立数学模型;
4、基于最小顶点覆盖算法对所述数学模型进行简化,基于简化后的数学模型估计所述全网拓扑视图的最小顶点覆盖集;
5、基于所述最小顶点覆盖集构造满足预设条件的探测路径集合,并基于所述最小顶点覆盖集部署探针设备集;
6、在所述探针设备集中的每个设备上挂载一个探针主机,沿探测路径集合中以探针设备为起点的探测路径发送探针包;
7、控制全部网络转发设备在发送和/或转发探针包的过程中向探针包中添加多个信息字段;
8、获取每个探针设备收到以自身为目的地的探针包时,提取探针包中的多个信息字段,并基于所述多个信息字段计算探针包路径上的链路时延信息;
9、基于每个探针设备的链路时延信息,更新全网链路时延信息。
10、在一个可能的实施方式中,所述方法还包括:
11、将全网的拓扑建模为全网拓扑视图,网络交换设备和终端为图中的顶点,网络链路为图中的无向边;
12、基于所述全网拓扑视图,采用带内网络遥测方法探测全部路径,并获取探测所述全部路径的时效和开销;
13、基于所述全部路径、探测所述全部路径的时效和开销建立针对全网时延测量问题的数学模型。
14、在一个可能的实施方式中,所述方法还包括:
15、基于所述全网拓扑视图计算每个顶点对边的关联程度,并基于最小顶点覆盖算法选择关联程度大于预设阈值的顶点对边进行覆盖;
16、重新计算每个顶点未覆盖的对边的关联程度,重复所述基于最小顶点覆盖算法选择关联程度大于预设阈值的顶点对边进行覆盖的步骤,直到图中所有边都被覆盖后,得到所述全网拓扑视图的最小顶点覆盖集。
17、在一个可能的实施方式中,所述方法还包括:
18、所述探针主机采用源路由的方式沿所述最小顶点覆盖集中以探针设备为起点的探测路径发送探针包;
19、获取以每个探针设备为目的地的探针包并转发到每个探针设备下挂的探测终端。
20、在一个可能的实施方式中,所述方法还包括:
21、将某一跳的第一探针设备处标记的探针包到达时间与上一跳的第二探针设备处标记的探针包到达时间的差值作为所述第一探针设备与所述第二探针设备的链路时延;
22、将某一跳的第一探针设备处标记的探针包到达时间与上一跳的第二探针设备处标记的探针包发送时间的差值作为所述第一探针设备与所述第二探针设备链路的传播时延。
23、在一个可能的实施方式中,所述方法还包括:
24、定期获取每个探针设备上报的链路时延信息,并基于上报的链路时延信息更新全网链路时延信息。
25、在一个可能的实施方式中,所述方法还包括:
26、通过可编程交换机向探针包中添加多个信息字段,其中,所述多个信息字段至少包括包到达时间、接收端口、包发出时间、发送端口、自身设备号。
27、第二方面,本发明实施例提供一种网络时延带内遥测装置,包括:
28、建立模块,用于通过链路层发现协议获取全网拓扑信息,建立全网拓扑视图,并基于所述全网拓扑试图针对全网时延测量问题建立数学模型;
29、简化模块,用于基于最小顶点覆盖算法对所述数学模型进行简化,基于简化后的数学模型估计所述全网拓扑视图的最小顶点覆盖集;
30、部署模块,用于基于所述最小顶点覆盖集构造满足预设条件的探测路径集合,并基于所述最小顶点覆盖集部署探针设备集;
31、探测模块,用于在所述探针设备集中的每个设备上挂载一个探针主机,沿探测路径集合中以探针设备为起点的探测路径发送探针包;
32、添加模块,用于控制全部网络转发设备在发送和/或转发探针包的过程中向探针包中添加多个信息字段;
33、获取模块,用于获取每个探针设备收到以自身为目的地的探针包时,提取探针包中的多个信息字段,并基于所述多个信息字段计算探针包路径上的链路时延信息;
34、更新模块,用于基于每个探针设备的链路时延信息,更新全网链路时延信息。
35、第三方面,本发明实施例提供一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的网络时延带内遥测程序,以实现上述第一方面中所述的网络时延带内遥测方法。
36、第四方面,本发明实施例提供一种存储介质,包括:所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面中所述的网络时延带内遥测方法。
37、本发明实施例提供的网络时延带内遥测方案,通过链路层发现协议获取全网拓扑信息,建立全网拓扑视图,并基于所述全网拓扑试图针对全网时延测量问题建立数学模型;基于最小顶点覆盖算法对所述数学模型进行简化,基于简化后的数学模型估计所述全网拓扑视图的最小顶点覆盖集;基于所述最小顶点覆盖集构造满足预设条件的探测路径集合,并基于所述最小顶点覆盖集部署探针设备集;在所述探针设备集中的每个设备上挂载一个探针主机,沿探测路径集合中以探针设备为起点的探测路径发送探针包;控制全部网络转发设备在发送和/或转发探针包的过程中向探针包中添加多个信息字段;获取每个探针设备收到以自身为目的地的探针包时,提取探针包中的多个信息字段,并基于所述多个信息字段计算探针包路径上的链路时延信息;基于每个探针设备的链路时延信息,更新全网链路时延信息。本方案使用最小顶点覆盖算法来优化网络中测量终端的部署位置并重构网络中的探测路径集合,从而对带内遥测的网络测量方案进行规划,增强网络时延测量的实时性和准确性。