Blog index > 聊一聊Software Defined Network,软件定义的网络 - iTLS Asia Pacific Blog
avatar

聊一聊Software Defined Network,软件定义的网络

September 7, 2016

软件定义的网络这个词汇,其实已经热门了好长一段时间,也许,我应该跟大家分享,聊一聊我对于SDN的看法。

我这里所提到的”Network”,所指的是一个完整的网络系统,包含所有的软件、硬件、和线路。

20140209_094114

SDN还没有热门之前的网络

原本网络系统的行为,全部都是靠网络管理人员纯手工,来安装、连接、做完设定、测试。之后,网络系统就开始做交换和处理所有穿越的封包。

传统的网络设定,我们只能做以下的安排:当线路故障被协议侦测到,网络系统自动切换到备援路径;当软硬件故障,被协议侦测到,网络系统自动切换到备援软硬件。故障的侦测,和自动修复的机制,都是透过一些自动的动态协议,例如,OSPF,或是Spanning Tree Protocol。

如果网络上面的网段地址都是固定的,VLAN总数和号码都是固定的,网络用户的流量型态是固定的,那么以上这些协议,其实已经非常足够解决所有网络的问题了。

需要SDN可能的动机

随着应用系统的改良、改变,数据中心 (Data Center),也跟着开始有了完全不同的使用情境。例如,以下这三种可能的新场景。

  1. 服务器经常被格式化以后重新安装。例如原本扮演Solaris数据库的服务器,稍后可能变成Windows文件服务器,数天后,又变成Linux Apache服务器。
  2. 服务器肚子里面,有很多很多的虚拟机,运行在里面,而且,虚拟机经常地被产生、复制、搬迁、删除。
  3. 您的网络系统,里面有非常多的租用房客,每一个房客控制着超过一套的虚拟机、或实体机器。每一个房客的流量必须被隔离,都有不同的安全存取政策,而且,很多房客的IP地址都是重复的。

如果是以上这三种情况的任何一种,网络管理人员将必须不断地修改网络系统的VLAN、IP网段地址、访问控制、质量服务 (Quality of Service, QoS) 等等设定,来配合快速变动的需求。

如果一切都还是全部依赖网络管理人员的手工设定,当需求改变,网络管理人员必须跟着做设定调整。结果是,网络管理人员,将不停地重复几乎相同的设定工作,每做一次改变,就需要花上好几天的检查、设定,还要花上好几天重新做测试,还有,我也几乎可以预测,手工的设定,一定也是错误百出。整个工作的流程,不只是辛苦,而且一定是充满挫折感。

因此,如果您的工作环境,刚好是以上三种的任何一种,您将会需要更好的工具,来协助您做好日常的管理。也就是说,透过软件来帮您「自动地」做网络行为的设定,而不是,只靠纯手工的设定。

Software Defined = Programmable

如果全部都是一些重复的设定,例如,整段的设定只修改了VLAN号码、IP网段地址,其他不改变,那么,最省力的方式,就是我们编排一个测试过的剧本(Script),每一次套用设定,我们只需要指明VLAN号码、或是IP网段地址就可以了。

当然,我们的剧本,不能只是一昧地覆写设定。剧本最好包含现有设定的检查,确认哪些设定需要修改,可以修改,对象的名称等等,然后,再决定接下来要套用哪一种设定块。

如果网络系统,可以提供剧本的接口(Interface),可以透过任何一种程序语言,从外部做复杂的检查、逻辑判断、代换字段、设定写入,那么,这样的网络,就可以被称为SDN。

其实所谓的Software Defined,从另外一个角度来看,就是 Programmable,可程序化。或者更精准地说,Programmable by network users,可以被网络系统的用户,编写出各种的逻辑判断,决定网络设定的内容,就称为Software Defined.


Photo of Li-Ji Hong (洪李吉)我是文章作者洪李吉。欢迎大家在下方留言,也欢迎大家分享本网站的内容!

(Visited 191 times, 1 visits today)
Leave a Reply

You must be logged in to post a comment.