网络中间设备路在何方

编者按:当今,以交换机和路由器为主建立起来的网络连接和拓扑已经构成相当完善的信息基础设施,差异化提供网络个性服务的呼声更加强烈,智能化提升网络综合品质的要求更加迫切,关于“中间设备”(middlebox)的研究和开发必然成为热点。

长期以来,网络领域研究和产品的主流关注,都集中在网包(packet)的转发(forwarding)上,其中交换(switching)和路由(routing)是核心功能。当今,以交换机和路由器为主建立起来的网络连接和拓扑已经构成相当完善的信息基础设施,安全和隐私方面的挑战更加突显,差异化提供网络个性服务的呼声更加强烈,智能化提升网络综合品质的要求更加迫切,关于“中间设备”(middlebox)的研究和开发必然成为热点。

转发设备 vs 中间设备

伴随着网络虚拟化和动态化的不断增强,传统的转发设备无法满足网络安全和优化的需求,网络中间设备与传统转发设备并驾齐驱,发挥着越来越重要的作用,成为网络技术与系统的核心内容之一。Justine Sherry等人发表于SIGCOMM 2012的文章指出,在实际网络环境中,网络中间设备与网络交换设备在数量上旗鼓相当,如图1所示。

图1、网络转发与中间设备数量对比

以交换机和路由器为代表的网络转发设备,根据包头(header)信息对网包逐个加以处理,主要承担将网包接力送达的简单任务。因其处理功能通常基于网包,只需关注包头中的目的标识(地址、端口等),所以也只要掌握与相邻转发设备相关的转发策略。最初的软件定义网络(SDN,Software Defined Networking)无非是将基于局域拓扑知识生成转发策略的机制,替换为基于广域知识做出转发决策,从而使得智能优化和全局调度成为可能,极大地释放了网络的活力。

图2、网络转发与中间设备特点对比

相对于网络转发设备,网络中间设备的任务繁杂得多,包括了网包转发之外的各种处理,既有对载荷(payload)的关注,如入侵监控和病毒清除,也有对网包的处理,如NAT修改包头、VPN加密网包,还有防火墙、负载均衡和流量控制等。这些中间设备的一个重要特点,即其处理功能无论粒度粗细,大多是基于网流的。

由于各种中间设备发展不均衡,相关研究一直以来也较为分散,长期未能形成统一的技术体系。2013年,ACM CoNEXT首次组织了HotMiddlebox,将中间设备作为一个热门主题专门加以研讨,是全球网络界发起集中攻关的重要里程碑。

中间设备 vs 软件定义

业界普遍认为,目前的中间设备大多为专用硬件产品,成本居高不下,功能更新困难,是造成网络僵化从而难以适应流量需求变化的罪魁祸首之一。将中间设备的高级处理功能迁移到可以通过虚拟化实现共享的通用硬件平台上,使之成为由软件定义的网络服务,实现按照需求在适当时间和位置的部署,也符合网络功能虚拟化(NFV,Network FunctionsVirtualization)的大趋势。

最初由斯坦福的Nick McKeown和伯克利的Scott Shenker等人提出的SDN概念,聚焦于将转发设备的控制平面从数据平面分离出来,以实现标准的数据平面和集中的控制平面,从而打破专用硬件转发设备的垄断,使能统一、智能的网络资源优化。但是,他们当时显然忽视或低估了中间设备的存在和复杂,SDN产业化也因而遇到一个必须面对的难题。Scott Shenker等人在阐释“SDNv2”的设想时,也明确提出整合中间设备是SDN新架构中的三大变革之首。然而,尽管SDNv2的构思将中间设备的功能推向网络边界(edge),而在网络中心(core)只做转发,但网络服务的演进将会面对数据、内容处理越来越强烈的需求,中间设备注定是SDN绕不开的问题。

所以,SDN只有拥抱NFV,才能完善自己。没有NFV,SDN停留在网络拓扑和控制决策层面,没有灵活的资源可供调度,至少中间设备的功能会成为绊脚石;没有SDN,NFV停留在软件化和虚拟化层面,无法灵活地按需提供服务。把软件定义转发与软件定义监控(此处暂且以监控代指中间设备的功能)结合起来,NFV的功能更加丰富,SDN的控制更显强大,网络才能真正“活”了,也才可能变得更有智慧,最终使网络成为服务。

中间设备 vs 网流监控

“中间设备middlebox”是个很特别的专业网络术语,当转发之外的网络处理功能由软件虚拟化实现后,“设备 box”的说法已经词不达意。考虑到中间设备的功能以网流处理和监控(monitoring/inspection& control/management)应用为突出特点,不妨将它们归类为网流监控,以便与网包转发对应,尽管其中会有一些交叠或模糊之处。

中间设备是网流监控的物理载体,而网流监控是提供网络高级处理服务的基础,尤其是保障网络安全的核心技术手段。在网流监控方面,重要的研究包括:在网络架构方面,网络服务功能的灵活组合与便捷控制;网络构件方面,网络功能模块的高效算法与优化配置(包括与硬件平台的适配);网络安全方面,网络安全区域的严密隔离和接口管控。

目前,网流监控的功能的部署只是接近毫秒级别,处理能力也还仅在10Gbps左右。随着网络带宽的不断提升,网流监控的算法性能、负载调度与策略管理将受到极大的挑战。由于中间设备功能的本质是在网流粒度上将策略应用于网络流量,策略的表达、分布和下发成为网流监控研究的核心和难点,迫切需要建立策略表达的标准语言和策略分析的通用方法,根据网络拓扑和流量、服务能力和状态等启发信息,结合流量调度优化策略分布,并利用策略和流量的局部性(locality),综合预取和缓存机制,提升策略下发效率,实现最大处理能力。

总之,中间设备在网络运行和进化中与转发设备同等重要,并将在以数据和内容为中心的网络服务中成为关注的焦点。2015年,HotMiddlebox将移师更为显赫的ACM SIGCOMM殿堂,不禁让人更加期待网流监控技术的突破,特别是在高效的载荷过滤算法和敏捷的策略管理机制等方面。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2015-02-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

编程语言遇上超级英雄,谁才是真的本命?

每一种编程语言都有自己的独特风格和个性,这种个性的张扬往往会吸引一群人,变成一个社区的狂欢。如果把编程语言比作超级英雄,你觉得哪些英雄是你心中的本命呢?笔者根据...

27110
来自专栏Java学习网

成为专业程序员的 6 个技巧

成为专业程序员的 6 个技巧 1.在你责怪别人之前,先检查自己的代码 先想一想自己的假设和其他人的假设。来自不同供应商的工具可能内置不同的假设,即便是相同的供应...

3176
来自专栏北京马哥教育

一个很有借鉴价值的编程故事

这是一个真实的故事,关于我自己的。一个理智的生命个体是怎么一步步走向疯狂? 我穿着西装,坐在办公室里,脑子里有一个模糊的创业想法。然后,我决定学习编程。我曾经无...

3326
来自专栏企鹅号快讯

回顾Linux、Git 之父Linus Torvalds的传奇技术人生

1写在前面 提起 Linus Torvalds 大家的第一反应是怎样的?是严苛刻薄,还是神级伟大,亦或是孤傲清高?二十五年来,Linus Torvalds 一直...

48715
来自专栏灯塔大数据

洞察 | 深圳数据分析师的职业前景如何?爬完拉勾数据给你分析 (附代码和过程)

通过对局部地区某一岗位的总体分析,找出该地区该职位的职业发展前景规律。本文基于拉勾上2016年12月到2017年1月深圳地区数据分析师招聘数据,为这一行业的朋...

3484
来自专栏用户2442861的专栏

JAVA月薪两万的一些讨论

作者:匿名用户 链接:https://www.zhihu.com/question/39890405/answer/83676977 来源:知乎 著作权归...

3501
来自专栏我是攻城师

5个可以教你编程的游戏

4336
来自专栏逸鹏说道

程序员的核心竞争力是什么?为什么?

姚冬回答的非常好,我狗尾续貂的说几句。 我们都知道学习能力很重要,那么学习能力从何而来,除了去看书上课这种,如何在实践工作中学习成长? 我之前微博说了一个笼统...

3246
来自专栏Java学习网

开发者,速度远比你以为的重要

开发者,速度远比你以为的重要 效率高的明显好处是——单位时间内,能完成更多工作。但这只是冰山一角,假如工作速度快,你就会倾向于低估做事的成本,因此乐于完成更多工...

2527
来自专栏Android 开发者

Google AR 交互的开源与幕后

2518

扫码关注云+社区

领取腾讯云代金券