WHY
一切来自于不同需求
l 网络设计人员及对网络不熟悉IT人员的烦恼,已经有太多的网络协议,5400多篇RFC和成千上万的代码,复杂,非网络的业内人士无从下手。
l 提升企业网的网络安全性,降低网络管理的复杂度。目前网络设备只能通过CLI、SNMP方式做有限管理(很多MIB还是厂商私有,而且功能有限)。
l 高校研究者的网络创新可以在校园网上实验而不必求助于设备提供商。目前各个网络设备厂商提供的系统封闭,网络系统不可扩展。
l 大型网络如数据中心对网络需求日新月异。比如传统网络是南北走向,不适应于东西走向。又比如TRILL协议标准化用了7年。用户希望能网络特性增加能和自己修改软件特性一样快捷。
总之,现有网络不灵活,没有弹性。Yahoo的CTO RaymieStata曾把复杂的电脑网路比喻为类似华容道的游戏,玩家必须在一个只容16片板子的方形框架内将15片能够滑动的板子移动到定位。Stata表示,当使用者变更网路时,经常会遇到一定要把硬件设备本身重新配置部署的情况。
SDN
SDN(SoftwareDefined Network)软件定义网络是指控制面和转发面解耦合的并可编程的网络架构。动态,可扩展,不改变现有硬件。另外一种说法是,SDN是网络设备与控制他们软件之间关系的一种重构,相当于把模块化应用到网络上。
l 应用层:指用控制器实现安全、管理和其他特殊功能的程序。例如,负责建设软件定义网络的网络架构师可以在控制器上部署虚拟负载均衡、虚拟入侵防御系统(IDS)或虚拟防火墙等应用程序。
l 控制层:通过转发流量的网络设备了解容量和需求等企业信息,它们启动和中止流量。类似于智能手机的操作系统。目前控制器有BigSwitch的Floodlight,这是开源的控制器;还有就是 Nicira,使用OpenFlow协议,但基本上属于封闭的。尚不清楚未来这两家谁会一统江湖,或者不是会有新的竞争者脱颖而出。
l 基础设施层:指物理网络设备,包括以太网交换机和路由器。
通过SDN
l 网络管理员和用户可以实现对“控制面”的远程访问,特别是为了在网络控制面上提供安全访问可以使用“基于角色的访问系统”(RBAC)。
l 研究者可以将网络设备的转发行为原语化,全部交由外部的计算机控制,研究者可以在基于通用操作系统的计算机上编程实现新的网络协议和转发行为,而不必修改转发面设备本身。
l 工程师可以自己编程实现任何想要的网络特性,而不必去走提需求、标准化、测试、入网的冗长流程。完成了网络从“可配置”到“可编程”的转变。
l 可以对整个网络进行编程,将储存及应用等新业务紧密绑定到网络设备上。
l