您当前的位置:首页 > 指南 > 正文

编程语言加上简单的电路设计可以让路由器报告自己的操作

导读: 在今天的数据网络中,流量分析 - 确定哪些链路变得拥挤以及为什么 - 通常由网络边缘的计算机完成,这些计算机试图从不同数据包到达其目...

在今天的数据网络中,流量分析 - 确定哪些链路变得拥挤以及为什么 - 通常由网络边缘的计算机完成,这些计算机试图从不同数据包到达其目的地的时间推断网络的状态。

如果网络内的路由器可以根据自己的情况报告,网络分析将更加精确和高效,使网络运营商能够更快地解决问题。为此,路由器制造商已开始为其路由器配备计数器,该计数器可报告路由器在给定时间间隔内处理的数据包数量。

但原始数量只是非常有用,并且为路由器提供专用监控电路,用于操作员可能想要进行的每个新测量都是不切实际的。另一种方法是路由器将数据包发送到外部服务器以进行更复杂的分析,但该技术不能很好地扩展。例如,一个拥有100,000台服务器的数据中心可能需要另外40,000到50,000台服务器才能跟上大量路由器数据。

麻省理工学院,思科系统公司和Barefoot网络公司的研究人员提出了一种新的网络监控方法,可以在数据收集方面提供极大的灵活性,同时保持路由器的电路复杂性和外部分析服务器的数量较少。他们在本周在计算机协会数据通信特别兴趣小组年会上发表的论文中描述了这项工作。

该系统被称为Marple,它由一种编程语言组成,该语言使网络运营商能够指定各种网络监控任务,以及一小组可以执行该语言中指定任务的简单电路元件。使用实际数据中心流量统计数据的模拟表明,在数据中心设置中,Marple应该每40或50个应用程序服务器只需要一个流量分析服务器。

面向未来

麻省理工学院电子工程和计算机科学的TIBCO职业发展助理教授,该论文的资深作者Mohammad Alizadeh表示:“这是让路由器可编程并使硬件本身可编程的重大举措。” “因此,我们非常有动力去思考这对网络性能监控和测量意味着什么。我希望能够编程到路由器中以使网络运营商的任务变得更容易吗?

“我们意识到通过选择我们所知道的一些测量原语或算法来解决这个问题非常困难,这里有一个允许你这样做的模块,这里有一个模块可以让你这样做。很难得到一些具有前瞻性和通用性的东西。“

相反,Alizadeh和他的合作者共同设计了Marple语言和实现Marple查询所需的电路,一方面关注语言的表达灵活性,另一方面关注实现灵活性所需的电路复杂性。该团队包括第一作者Srinivas Narayana,麻省理工学院计算机科学与人工智能实验室的博士后; Anirudh Sivaraman,Vikram Nathan和Prateesh Goyal,麻省理工学院的所有电气工程和计算机科学研究生; Venkat Arun是印度理工学院古瓦哈提大学的一名本科生,他在夏天访问麻省理工学院; Cisco Tetration Analytics的Vimalkumar Jeyakumar; 和Barefoot Networks的Changhoon Kim。

Marple背后的想法是尽可能多地对路由器本身进行分析而不会导致网络延迟,然后发送外部服务器摘要统计信息而不是原始数据包数据,从而大大节省带宽和处理时间。

Marple旨在单独监控通过路由器发送数据的每台计算机的传输,这个数字可以轻松超过100万。问题是典型的路由器有足够的内存来存储仅64,000个连接的统计数据。

单向缓存

Marple通过对高速缓存的通用计算机科学技术的变化来解决这个问题,其中经常使用的数据存储在处理单元附近以便有效访问。每个路由器都有一个缓存,在其中维护从一些固定数量的发送器(例如64,000)中看到的数据包的统计信息。如果它的缓存已满,并且它从另一个发送者 - 64,001st收到一个数据包 - 它只是将与之前的64,000个发送者之一相关联的数据踢出,然后将其发送到支持服务器进行存储。如果它稍后从它引导的发送方接收到另一个数据包,它将为该发送方启动一个新的缓存条目。

仅当新引导的数据可以与已存储在服务器上的数据合并时,此方法才有效。在数据包计数的情况下,这很简单。如果服务器记录给定路由器看到来自发送方A的1,000个数据包,并且路由器自上次清空A的缓存以来已经看到来自发送方A的另外100个数据包,那么在下次更新时,服务器只需将新的100个数据包添加到1,000它已经被记录下来了。

但是,如果感兴趣的统计数据是每分钟处理的数据包数量或网络丢弃数据包的速率的加权平均值,则合并过程并不那么简单。然而,研究人员的论文包括一个理论分析,表明合并对于“状态线性”的统计数据总是可行的。

“线性”表示对统计信息的任何更新都涉及将其当前值乘以一个数字,然后向该产品添加另一个数字。“在状态”部分意味着乘数和加数可以是对某些先前分组测量执行的数学运算的结果。

“我们发现,对于那些不能立即清楚如何用这种形式编写的操作,总有一种方法可以将它们重写为这种形式,”Narayana说。“事实证明,这实际上是一种非常有用的操作。”

“虽然已经在用于测量性能的低级可编程基元上做了很多工作,但是这些功能在没有更简单的网络编程环境的情况下是无能为力的,因此运营商可以在不在多个路由器上编写低级查询的情况下询问网络级查询,”George Varghese说。 ,加州大学洛杉矶分校的校长计算机科学教授。“从网络编程抽象开始,本文代表了向网络编程语言方法迈出的重要一步。这与当今最先进的技术形成鲜明对比,后者是个体路由器编程,容易出错并且几乎没有可见性整个网络。此外,网络编程语言是直观的,使用熟悉的功能语言原语,


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 平野美宇身高体重 平野美宇身高

下一篇: 乌鲁木齐市人事考试网



推荐阅读