【24h】

Frenetic: A Network Programming Language

机译:Frenetic:一种网络编程语言

获取原文
获取原文并翻译 | 示例

摘要

Modern networks provide a variety of interrelated services including routing, traffic monitoring, load balancing, and access control. Unfortunately, the languages used to program today's networks lack modern features-they are usually denned at the low level of abstraction supplied by the underlying hardware and they fail to provide even rudimentary support for modular programming. As a result, network programs tend to be complicated, error-prone, and difficult to maintain. This paper presents Frenetic, a high-level language for programming distributed collections of network switches. Frenetic provides a declarative query language for classifying and aggregating network traffic as well as a functional reactive combinator library for describing high-level packet-forwarding policies. Unlike prior work in this domain, these constructs are-by design-fully compositional, which facilitates modular reasoning and enables code reuse. This important property is enabled by Frenetic's novel runtime system which manages all of the details related to installing, uninstalling, and querying low-level packet-processing rules on physical switches. Overall, this paper makes three main contributions: (1) We analyze the state-of-the art in languages for programming networks and identify the key limitations; (2) We present a language design that addresses these limitations, using a series of examples to motivate and validate our choices; (3) We describe an implementation of the language and evaluate its performance on several benchmarks.
机译:现代网络提供了各种相互关联的服务,包括路由,流量监控,负载平衡和访问控制。不幸的是,用于当今网络编程的语言缺乏现代功能-它们通常被底层硬件提供的低抽象级别所拒绝,并且它们甚至无法为模块化编程提供基本支持。结果,网络程序趋向于复杂,容易出错并且难以维护。本文介绍了Frenetic,这是一种用于对网络交换机的分布式集合进行编程的高级语言。 Frenetic提供了用于对网络流量进行分类和聚合的声明性查询语言,以及用于描述高级数据包转发策略的功能性反应式组合器库。与该领域的先前工作不同,这些结构是通过设计完全组合而成的,这有助于模块化推理并实现代码重用。 Frenetic新颖的运行时系统启用了此重要属性,该系统管理与在物理交换机上安装,卸载和查询低级数据包处理规则有关的所有详细信息。总体而言,本文做出了三个主要贡献:(1)我们分析了用于编程网络的语言的最新技术,并确定了关键的局限性; (2)我们使用一系列示例来激发和验证我们的选择,从而解决这些局限性的语言设计; (3)我们描述一种语言的实现,并在几个基准上评估其性能。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号