Trident: Toward Distributed Reactive SDN Programming With Consistent Updates

Trident: Toward Distributed Reactive SDN Programming With Consistent Updates
复制标题

Trident:迈向具有一致更新的分布式反应式 SDN 编程

DOI:
10.1109/jsac.2020.2999654
复制
发表时间:
2020
影响因子:
16.4
通讯作者:
Yang Yang Richard
Yang Yang Richard
中科院分区:
计算机科学1区
文献类型:
--
作者:
Gao Kai;Nojima Taishi;Yu Haitao;Yang Yang Richard

文献摘要

相似文献

软件定义网络 (SDN) 可实现更加动态和细粒度的网络控制。特别是,网络运营商不仅可以根据数据包标头字段来路由流量,还可以根据DPI、防火墙和身份验证服务器等虚拟化网络功能提取的更高级别的参数(例如用户设置、流量特征以及应用层信息)进行路由。将这些更高级别的参数集成到 SDN 编程框架中可以带来巨大的好处,但在 SDN 社区中仍然缺失。在本文中,我们阐述了面临的挑战,然后提出了 Trident,一种新颖的统一 SDN 编程框架。 Trident 使用名为<斜体>流属性</斜体>的新抽象扩展了算法 SDN 编程,它将元参数集成到匹配动作编程范例中。此外,Trident 采用了函数反应式编程中的反应值的思想,消除了手动处理动态性的复杂性。为了有效且高效地实现这些新颖的想法,Trident 引入了反应表作为基本处理单元,并开发了特定于领域的分布式更新协议以在更新过程中保持一致性。评估表明,Trident 在集成现有网络管理工具和网络功能方面的开销非常小,并且每秒可处理高达 <inline-formula> <tex-math notation="LaTeX">$O(10^{5})$ </tex-math></inline-formula> 个路由请求,<inline-formula> <tex-math notation="LaTeX">$O(100)$ </tex-math></inline-formula>毫秒延迟。
Software-Defined Networking (SDN) enables more dynamic and fine-grained network control. In particular, network operators can route traffic not only based on packet header fields, but also higher-level parameters such as user settings, traffic characteristics, and application-layer information extracted by virtualized network functions such as DPI, firewall and authentication servers. Integrating these higher-level parameters into an SDN programming framework brings substantial benefits but is still missing in the SDN community. In this paper, we articulate the challenges and then propose Trident, a novel unified SDN programming framework. Trident extends algorithmic SDN programming with a new abstraction called <italic>stream attribute</italic>, which integrates meta parameters into the match-action programming paradigm. Further, Trident adopts the idea of <italic>reactive value</italic> from function reactive programming, eliminating the complexity of manually handling dynamicity. To effectively and efficiently realize these novel ideas, Trident introduces <italic>reactive table</italic> as the basic processing unit and develops a domain-specific distributed update protocol to maintain consistency during updates. Evaluations show that Trident puts very little overhead on integrating existing network management tools and network functions, and can handle up to <inline-formula> <tex-math notation="LaTeX">$O(10^{5})$ </tex-math></inline-formula> routing requests per second with <inline-formula> <tex-math notation="LaTeX">$O(100)$ </tex-math></inline-formula> milliseconds latency.