IFIT 的架构与功能
随路网络测量需要在网络设备上指定被监控的流对象,并分配对应的监控资源,用于在报文中插入数据收集指令、收集数据、剥离指令和数据等。受限于处理能力,网络设备只能监控有限规模的流对象,这为随路网络测量的大规模部署提出了挑战。
随路网络测量会在设备转发平面引入额外的处理工作,可能影响正常的转发性能。随之产生的“观测者效应”(指“观测”行为对被观测对象造成一定影响的效应),使得网络测量的结果不能够真正反映被测量对象的状态。
逐包的监控会产生大量的 OAM 数据,全部上送这些数据会占用大量的网络传输带宽。考虑到数据的分析器可能需要处理网络中成百上千的转发设备,海量的数据接收、存储和分析将给服务器造成极大的冲击。
基于意图的自动化是网络运维的演进方向,网络虚拟化、网络融合、“IP + 光”的融合将会产生更多数据获取的需求。这些数据会交互式地按需提供给数据分析应用。预定义的数据集仅能提供有限的数据,不能满足未来的数据需求。因此,需要有一种方式,能够实现灵活可扩展的数据定义,并将所需的数据交付给数据分析的应用。
IFIT 提供了随路网络测量的架构和方案,支持多种数据平面,通过智能选流、高效数据上送、动态网络探针等技术,融合隧道封装,使得在实际网络中部署随路网络测量成为可能 。
IFIT 应用给网络设备下发监控和测量任务,包括但不限于指定测量的流对象和收集的数据,并且选择随路网络测量的数据平面封装。数据报文在进入 IFIT 域的时候,入节点为指定的流对象加入相应的指令头。沿途节点根据 IFIT 中的指令收集和上送数据。在数据报文流出 IFIT 域的时候,出节点将测量过程中报文添加的所有指令和数据去除。
智能选流
在很多情况下,硬件的资源是有限的,不可能对网络中的所有流量进行逐包监控和数据收集,这不仅会影响设备的正常转发,还会消耗大量的网络带宽。因此,一种可行的方式是对一部分流量进行重点监控。
智能选流技术采用一种从粗到细、以时间换空间的模式,辅助用户选出感兴趣的流量。用户可以根据自己的意图,在网络中部署智能选流的策略。这些策略或基于采样技术或许存在一定的错误概率,但通常只需较小的资源开销。例如,如果用户的意图是重点监控前 100 个大流量,就可以采用一种典型的智能选流策略 Count-Min Sketch 技术,该技术使用多次哈希算法,避免了存储流 ID,只存储计数值,从而可以利用非常小的内存空间,获得很高的识别准确率。控制器根据智能选流的结果生成 ACL,下发到设备上,从而实现对大流量的重点监控。
高效数据上送
逐包的随路网络测量可以捕获网络中细微的动态变化。然而,不可避免的是这些报文包含了大量的冗余信息。直接全量上送这些信息会消耗大量的网络带宽,同时给数据的分析造成极大的负担,特别是当一个分析器需要管理上万个网络节点的时候。实现高效数据上送的一个方法是使用二进制的数据传输编码。
当前基于 NETCONF 的网管信息通常使用 XML(eXtensible Markup Language,可扩展标记语言)格式的文本编码,然而,文本编码会占用大量网络带宽,不适合上送基于流的随路网络测量信息。采用二进制的编码,如 GPB(Google Protocol Buffer,谷歌协议缓冲区),可极大地减少数据传输量。
数据过滤机制也是减少数据传输量的重要方法。网络设备利用自身的处理能力,将数据按照条件进行过滤,并转化为事件通知上层的应用。以对流路径的跟踪为例,在实际网络中,通常使用基于流的负载均衡,流路径不会轻易改变,因而路径的改变可以被认为是一种异常信号。大量重复的路径数据(包括每一跳的节点和出入接口等)是正常的数据,无须进行冗余上报,可以被网络设备直接过滤,而仅上送新发现的流路径或者发生变更的流路径,从而减少数据传输量。
对于实时性要求不高的数据,网络设备还可以对一段时间内的数据进行缓存,应用算法压缩后再批量上送。这样不仅可以减少数据传输量,还可以减少数据上送的频率,从而减轻对数据采集设备的压力。
动态网络探针
数据平面的资源(如数据存储空间和指令空间)比较有限,很难持续进行绝对全量的数据监控和上送。此外,应用对于数据的需求量是会变化的。例如,长期平稳运行时,只需要执行少量的巡检;而当发现潜在风险的时候,需要精确地实时监控。如果将所有的网络测量功能都安装和运行在数据平面,会消耗很多资源,影响数据转发,而且这样做也不会带来更多的收益。因此需要提供一种动态加载的机制,按需加载网络测量功能,从而利用有限的资源来满足多种业务需求。
动态网络探针是一种动态可加载的网络测量技术,支持按需地在设备上加载或卸载网络测量功能,从而在满足业务需求的情况下尽量减少数据平面的资源消耗。例如,用户希望对某一条流的性能进行测量时,通过配置或动态编程的方式,使设备加载对应的测量应用,执行检测。而不需要此功能时,可以将其从设备上卸载,释放所占用的指令空间和数据存储空间。动态网络探针技术为 IFIT 提供了足够的灵活性和可扩展性,丰富的智能选流和数据上送过滤功能都可以作为策略动态地加载到设备上。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/a82538419f10806b38a2ff3ce】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论