配置管理

配过防火墙,或者见过大型网络下防火墙在生产环境下实际配置的同学都知道,这玩意儿不是一个好配置的主。动辄成百上千的address book, policy, VPN等无论是CLI还是WebUI配置都是一种折磨。虽然大型的企业会顺带购买网管系统来统一配置旗下的各台设备,但那玩意还是一个局部的,纯静态的配置。

配置麻烦是传统网络设备的一大问题。

另一个问题是服务器动态迁移带来的网络管理问题。这个问题是服务器虚拟化革命带来的,现在的网络设备对此基本无解。为了便于说明,我们看下图: 

配置管理

一个典型的企业intranet会将不同部门间的访问权限分隔开,比如说engineering team只能访问engineering server,finance team只能访问finance server。传统防火墙对此表示毫无压力。

from eng-clients-zone to eng-server-zone any-source any-dest permit

from finance-clients-zone to finance-server-zone any-source any-dest permit

但是有一天,机房里的服务器全部都被虚拟化了,物理上已经没有了zone的概念。所以配置需要变成:

from eng-clients-zone to intranet-server-zone eng-client-ips eng-server-ips permit

from finance-clients-zone to intranet-server-zone finance-client-ips finance-server-ips permit

在同一台防火墙的管理下,这可以运行地很好,即使virtualized server在physical server间跑来跑去,只要IP不变,policy就不用发生改变。

但是,当网络变大,支撑业务运作的服务器和网络设备都增加时,会发生问题。想像一下,上述网络由两台防火墙保护,virtual server从一台防火墙后面迁移到另一台防火墙后会发生什么情况?

已有的配置将无法适应这种变化。管理员需要手工去调整配置。但是,virtual server的灵活性和physical server不可同日而语:一周甚至一个月内,physical server可能都不会有太多的变化(迁移,部署),但virtual server可能朝生暮死(想像一下aws)。

SDN的优势

同样地,有了全网的实时拓扑信息后,SDN可以动态调整网络的配置,甚至都不需要人工干预。不用细谈,想想看:

1、policy auto push

2、traffic shaping

3、load balancing

顿时觉得无限可能,尽在SDN。

Debug

没做过网络设备的人可能不知道网络软件的Debug有多么辛苦。一般软件Debug步骤:

1、信息搜集

2、缩小问题空间,直至找到root cause

3、goto 1

对于网络软件而言,信息搜集是一道坎,你要能拿到topology下面各个相关网络设备的配置和问题出现时的log。这绝对不是一件容易的事儿。不信你问customer escalation engineer。他们每天要死要活地抓log,一次很难成功,两次,三次成功都算苍天有眼。

就算成功抓到了需要的log,想想AT&T给你个路由震荡的issue,一个大topology下数十台设备,数兆的configuration,数十兆的log。相关的,不相关的,反正都抛给你,你死的心都有了。

SDN的优势

SDN太有优势了,因为集中控制,所以可以:

● 指定相关的网络设备同时打开需要的debug开关(这个相当关键)

● 将log(甚至packets)收集到central cloud上

● 运行一组predefined analysis tool分析问题的所在(这个可以根据平时的case不断积累)

● 建立一个virtualized environment,replay packets

最后,可能有80%的case都能找到一个前例;剩下那20%,到engineer手上,也是narrow down的有价值的数据,甚至分析报告。

后记

瞎扯了一些SDN的也许不着边际的应用场景,立此存照,来年再看。我对SDN商业上的看法是:

● CISCO/Juniper推动的决心和力度不会太大,除非壮士断腕;反而是大型互联网公司,如google, amazon才是这场革命的主角。据说google在其intranet上已经将SDN/openflow的优势发挥地淋漓尽致。

● SDN的核心,central control plane很可能是个开源的标准化的system,很难为某家硬件厂商掌控。这也是我不看好CISCO/Juniper做为的原因。唯有开源和标准化,才能吸引小的硬件玩家进入并颠覆这一市场。

● 如果前一点成立,那么第三方的应用市场将有极大的想像空间,也许能催生一批又一批网络领域的Borland,Adobe,etc.


相关内容