笔者撰写这篇文章的目的并不在于排斥新技术,作为身在网路行业的我只是想通过一种善意的提醒,为近年来被业界炒作坏了的名词降降温。最关键的一点在于:我不希望新技术成为技术的掘墓者,更不希望新技术毁掉我们已经构建好的技术体系。

------题记


当下,在网路和it领域,最火爆的名词莫过于:云计算、大数据、虚拟化、软体定义网路、网路功能虚拟化、人工智慧......数不胜数,但是在这些新技术呱呱坠地之时,我们是否冷静思考了它们在各个方面的影响。我想,我们更多的关注了它们的优势,对于劣势甚至危害,并没有清醒的认识。笔者在此将列举一二浅显的认识。

1.SDN在数据灾难前的脆弱性

我现在从网路的历史说起:

Internet的雏形阶段

1969年,美国国防部高级研究计划局(Advance Research Projects Agency,ARPA)开始建立一个命名为ARPANET的网路。当时建立这个网路的目的是出于军事需要,计划建立一个计算机网路,当网路中的一部分被破坏时,其余网路部分会很快建立起新的联系。人们普遍认为这就是Internet的雏形。(来源:百度百科)

可以见到,网路最开始的目的更多的是为了通信灾备和数据容灾,正是在这种指导思想下,路由技术诞生了,路由简言之就是将信息从本端传输到对端的路径。在不可靠的物理链路上,信息的丢失损坏,信道的中断和杂讯,随时威胁网路整体的安全,于是出现了这种拓扑:

图片来源网路

在这种拓扑结构的保证下,当单一物理信道出现网路不可达到的情况下,动态路由协议(dynamic routing protocol)将会在其他可达路由中选取网路开销最小的一条,通过这种容错机制进而保证网路整体的健壮性。

但是当SDN(软体定义网路,以下简称SDN)技术出现在现网当中,整体的情况发生了巨大的改变,架构上大体类似此图:

图片来源网路

在整体网路转发面通过北向介面与SDN Controller通信,进而完成数据的转发,虽然保证了网路的高拓展性、伸缩性和自动化运维,但是因此也带来了巨大的安全隐患与业务中断风险。当SDN Controller本身出现不可恢复的故障,网路整体的容错能力将会瞬间崩溃;当北向介面的数据链路出现无法到达的情况,所有转发层设备都会宕机。尽管SDN确实有多控制器冗余互备和转发层StandAlone模式负隅顽抗,但是不可否认SDN在数据灾难面前,远远没有传统路由交换坚固。请试想,当千年虫事件爆发时,为什么没有造成全球生产网路中断,正是不同设备间的互补和架构容错保证了部分网路结点故障仍可运作。

2.技术集成化带来的风险集中

众所周知,任何事物的复杂性都与故障率存在不可割断的联系,如果各位有现网设备的调试经验,你会明白,如果一台设备(网路设备或者伺服器)上运行了多种协议或服务,那么故障出现的频率和平均故障恢复时间会大大增加,平均无故障时间大大减少。这种情况是系统中多个组件之间的冲突与兼容性问题。

现在有很多国内数通厂商都在生产UTM设备,但是这种看似高度集成的设备仅仅在SMB市场得以取得成功,在大型企业网中没有得到广泛应用,某大型企业中设备选型如图:

你可以看到,没有任何一台设备身兼数职,同时进行安全审计、数据转发、流量过滤、安全策略等各种工作,这里就在很有力的说明高度集成化的设备并不适合规模化组网以及对业务敏感的环境。

但是,UTM仅仅是对网路部分功能的集成,对于SDN Controller而言,集成了网路整体流量的路由与交换,还要与北向的Application进行交互,大大增加了复杂度。我想,可能这比UTM设备面临更严峻的挑战。

3.高层级应用的低可靠性

即使不是网路行业的从业者,对这一点都会有深刻的体会:主板的BIOS程序只要你不去乱改,没事不要去刷新,那么不会出现任何问题。但是,Windows在使用中,即使你不去做任何调整和更改,随著使用时间的增加,系统运行会逐步暴露出各种未知的,可复现或者不可复现的错误和中断。对于个人而言,也许这并不会造成灾难的后果,但是对于一个企业、一个数据中心、一个ISPICP而言,这一点是不可忍受的。他们没有任何理由去接受突然发生业务中断,也许某些ICT厂商鼓吹云技术能降低客户TCO,但是长久以来,一次业务中断,绝对不是网路部署时期所节约的成本所能够弥补的。

允许我举一个很不恰当的例子:功能丰富的安卓手机和老旧的功能机相比,安卓机拥有很高的定制特性和迁移性,但是在可靠性这一硬指标面前,功能机可以用十多年零故障秒杀掉市面上所有的智能手机。这并不是因为功能机多么黑科技,相反,功能机厂商在技术上被智能手机厂商甩了八条街都不止,仅仅是因为功能机工作在稳定的底层,而安卓机将更多的底层业务放置在与用户的直接交互层完成。笔者不是开发人员,如果此段内容存在技术错误,还请广大同仁批评指正。

4.防范非法入侵的复杂性

在网路安全日益受到重视的今天,SDN技术其实并不能满足这一需求。对于传统路由器交换机防火墙而言,操作系统是高度嵌入式的Unix系统,已经经过了厂商的各种测试和考验,确保其安全性。尽管如此,设备仍然不够安全,如果你关心网路安全方面,很多数通厂商都会定期对网路设备发布安全补丁或者风险警示,但是当SDN真正到来后,更多的安全依赖于应用层面的防范,如果作为网路核心的SDN控制器为了网路的定制化而极大丰富对外开放的介面时,也等于为非法访问和恶意攻击打开了更多的大门。目前为止,SDN控制器的存在无疑让网路受到更多安全风险的威胁。


归根结底,我并不是说SDN一无是处,我只是想说SDN有它自己固有的市场,但是一切认为SDN颠覆传统路由交换市场的观点都有待商榷。在未来的30年内,传统网路仍然会是网路不可或缺的一部分。过早取代传统网路,只会让技术为自己掘墓,那时候可能会有一场信息灾难。但是SDN确实能提高网路效率,这一点我从来不否认,传统网路应当在一定程度上借鉴SDN的优点。

(未完待续)

--------2018年10月2日


推荐阅读:
相关文章