Ravel: A Database-Defined Network

Ravel: A Database-Defined Network
复制标题

DOI:
10.1145/2890955.2890970
复制
发表时间:
2016-03
期刊:
Proceedings of the Symposium on SDN Research
影响因子:
--
通讯作者:
Anduo Wang;Xueyuan Mei;Jason Croft;M. Caesar;Brighten Godfrey
Anduo Wang;Xueyuan Mei;Jason Croft;M. Caesar;Brighten Godfrey
中科院分区:
其他
文献类型:
--
作者:
Anduo Wang;Xueyuan Mei;Jason Croft;M. Caesar;Brighten Godfrey

文献摘要

被引文献

相似文献

SDN的逻辑集中控制为网络编程提供了一个插入点。虽然人们普遍认为需要更高级别的抽象来简化编程,但对于什么是“正确的”抽象却没有什么共识。事实上,随着SDN从最初的专业部署转向更广泛的用例,网络控制应用可能需要随着时间的推移而发展的各种抽象。为此,我们支持SDN控制从根本上围绕数据表示的观点。我们丢弃任何可能会因新需求而过时的特定于应用程序的结构。相反,我们采用了一个普通的数据表示整个网络-网络拓扑结构,转发和控制应用程序-并寻求一个通用的数据语言,使应用程序员转换成任何高层次的表示提交给应用程序或网络运营商的原始表示。在这种洞察力的驱动下,我们提出了一个系统Ravel,它在标准SQL数据库中实现了整个SDN网络控制基础设施。在Ravel中,网络抽象采用用户定义的SQL视图的形式,这些视图由可以动态添加的SQL查询表示。实现这种方法的一个关键挑战是协调多个同时发生的抽象,这些抽象共同影响相同的底层数据。为了实现这一点,Ravel用新的数据集成机制增强了数据库,该机制将多个视图合并为一致的转发行为。此外,Ravel通过一个简单,熟悉和高度互操作的SQL接口暴露给应用程序。虽然这是一个雄心勃勃的长期目标,但我们在PostgreSQL数据库上构建的原型即使在大规模网络上也表现出良好的性能。
SDN's logically centralized control provides an insertion point for programming the network. While it is generally agreed that higher-level abstractions are needed to make that programming easy, there is little consensus on what are the "right" abstractions. Indeed, as SDN moves beyond its initial specialized deployments to broader use cases, it is likely that network control applications will require diverse abstractions that evolve over time. To this end, we champion a perspective that SDN control fundamentally revolves around data representation. We discard any application-specific structure that might be outgrown by new demands. Instead, we adopt a plain data representation of the entire network --- network topology, forwarding, and control applications --- and seek a universal data language that allows application programmers to transform the primitive representation into any high-level representations presented to applications or network operators. Driven by this insight, we present a system, Ravel, that implements an entire SDN network control infrastructure within a standard SQL database. In Ravel, network abstractions take the form of user-defined SQL views expressed by SQL queries that can be added on the fly. A key challenge in realizing this approach is to orchestrate multiple simultaneous abstractions that collectively affect the same underlying data. To achieve this, Ravel enhances the database with novel data integration mechanisms that merge the multiple views into a coherent forwarding behavior. Moreover, Ravel is exposed to applications through the one simple, familiar and highly interoperable SQL interface. While this is an ambitious long-term goal, our prototype built on the PostgreSQL database exhibits promising performance even for large scale networks.