网站建设交易平台,购物网站开发问题,网站邮箱代码,口碑营销的经典案例网络监控困难 1、仅仅通过去增加特定的监控功能到交换机是不能满足运营商不断变化的需求的。#xff08;交换机需要支持网络性能问题的表达语言#xff09;2、他们缺乏对网络深处的性能问题进行本地化的可见性#xff0c;间接推断网络问题的原因3、当前的交换机监控并没有提…网络监控困难 1、仅仅通过去增加特定的监控功能到交换机是不能满足运营商不断变化的需求的。交换机需要支持网络性能问题的表达语言2、他们缺乏对网络深处的性能问题进行本地化的可见性间接推断网络问题的原因3、当前的交换机监控并没有提供相关的性能数据没办法直观的查看性能统计信息来诊断问题操作员使用 Marple Marple 的功能结构 数据包性能流作为基础输入流的一部分我们称之为pktstream。Marple为每个队列中的每个分组提供一个元组并且具有以下字段(switch, qid, hdrs, uid, tin, tout, qsize)。switch和qid表示数据包被观察到的交换机和队列常规的数据包头以太网IPTCP等在hdrs字段集合中可用其中唯一确定一个数据包的uidtin和tout表示数据包的入队和出队时间戳qsize表示数据包入队时的队列深度。 pktstream中的元组按照包出队时间tout的顺序进行处理如果丢包tout和qsize是无穷大的。 对应于丢弃的分组的元组可以以任意顺序处理。 filter construct: filter(R, pred) //R是包含性能元数据例如pktstream的一些流并且过滤器谓词pred可能涉及分组头性能元数据。filter的结果是另一个只包含满足pred的元组的流。 example: result filter(pktstream, qid Q and switch S and tout - tin 1ms) map construct: map(R,[exprs],[fields]) //exprs表达式写在元组流上的可用字段产生新的字段fields example: result map(pktstream, [tin/epoch _ size], [epoch]) zip construct: zip(R,S) //将R和S合并输出既满足R又满足S的元组的流 example: result zip(R1,R2) groupby construct: groupby(R,[fields],fun) //根据不同的fields分别执行聚合函数fun example: def new _ flow([fcount], []): if fcount 0: fcount 1 emit() result groupby(pktstream, [5tuple], new_flow) //groupby的输出是包含聚合字段例如5元组和聚集值例如count的流。输出流仅包含执行聚合函数期间遇到的emit语句的元组 Marple 的硬件设计 一个可编程的键值存储其中键表示流的标识值表示由聚合函数计算的状态线性可拓展聚合(TODO) 我们可以将任何聚合函数与S Ap·S Bp的状态更新合并其中S是状态Ap和Bp是最后k个数据包的函数。 我们称这个条件为线性状态条件并且说Ap和Bp是有界包历史的函数。 查询编译TODO 相关资料 paper:http://nms.lcs.mit.edu/papers/marple.pdf marple官网:http://web.mit.edu/marple 视频:https://www.youtube.com/watch?v-mT4KXBFOfst17s 转载于:https://www.cnblogs.com/deepYY/p/7851606.html