SDN 软件定义网络
SDN的主导,是ONF开放网络基金会。
发展简介:(详情咨询百度)
- 2007年,斯坦福大学的学生Martin Casado 领导了一个关于网络安全与管理的项目Ethane,该项目试图通过一个集中式的控制器,让网络管理员可以方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通讯的安全控制。
- 2008年,基于Ethane 及其前续项目Sane的启发, Nick McKeown 教授等人提出了OpenFlow 的概念,并于当年在ACM SIGCOMM 发表了题为《OpenFlow: Enabling Innovation in Campus Networks》的论文,首次详细地介绍了OpenFlow 的概念。该篇论文除了阐述OpenFlow 的工作原理外,还列举了OpenFlow 几大应用场景。
- 基于OpenFlow 为网络带来的可编程的特性,Nick McKeown教授和他的团队进一步提出了SDN(Software Defined Network,软件定义网络)的概念。2009年,SDN 概念入围Technology Review年度十大前沿技术,自此获得了学术界和工业界的广泛认可和大力支持。
···
注:全球第一台路由器 是由斯坦福大学的 莱昂纳德·波萨克 夫妇创造的,用于斯坦福校内网络,全球网络行业的领头羊思科Cisco就是这对夫妇创建的;无独有偶,20年后,仍然是斯坦福大学,开创了SDN/Openflow的基础:实现跨世纪的接力棒,为互联网络注入未来!
SDN三层模型:应用层,控制层,转发层
在上图中,交换机没有“大脑”,即区别传统网络的交换机/路由器需查找MAC表/路由表,仅具备转发功能;所有的路径计算,安全策略等等全部在 控制器 上面计算;然后通过 Openflow 协议下放给交换机;交换机 根据流表(Flow Table) 进行转发。
Ethane 与传统网络最大的不同是 控制平面 和 转发平面 分离;控制层实施集中式控制,可编程化,可视化,自动化等策略,转发层通过流表和硬件进行快速转发。
对于商业界来说,SDN是什么?一马当先的Google B4网络 考虑链路带宽的利用率
Google是第一个实现SDN商业化的网络厂商;每天用Google搜索的量是非常大的,Google有非常多的数据中心,每个数据中心之间通过租用的线路和BGP外部网关协议进行信息交互;由于流量十分巨大,而且负载均衡不到位,带宽资源有的管道接近崩溃,有的闲的没事情干:这造成了非常巨大的开销。
Google采用控制器来控制底层的交换机,这些控制器是采用OpenFlow协议的,能够实时监控每一个交换机的每一个接口上跑的流量,这对他们是一个非常大的好消息。
每一个数据中心,用一个控制器来管理,然后这些控制器连接到一个集中的服务器:Gateway/Te server。这样的话,当运维人员坐在电脑前,就能够清楚的知道各个数据中心的分布以及流量。
SDN有多强?在使用传统网络的时候,Google架设的管道带宽利用率是20%-30%,架设了SDN网络架构之后,直接提升到99%!这反应了SDN 控制与转发平面分离的分布式架构 强大的控制流量能力。
对于运营商来说,SDN是什么?NFV/ETSI 考虑运营成本
NFV:Network Function Virtualization 网络功能虚拟化。
运营商也在不断的寻求解决方案来提高利用率,降低运营成本;在遇到SDN之前,他们的解决方案是,将所有的网络设备,集中于一个大盒子里面,这样的话,就很容易达到 虚拟化,省成本,易迁移,易拓展,易部署的目标。
于是乎,运营商提出了NFV,刚好这个思路和SDN很类似,因为在SDN中,也希望将这些流量控制的网络设备,网络安全的设备虚拟化;应用了SDN同时也就应用了NFV。
NFV和SDN虽然是不同的组织来引导和研发,但是基本诉求是一致的:将 传统网络架构 虚拟化/软件化,统一部署,节省大量成本。
因此,SDN并不是突然出现的,而是学术界,网络运营商,互联网公司一起摸索,逐渐形成的一个概念。
SDN到底是什么?Software Defined Network
SDN vs 传统网络
控制转发分离 <-----> 控制转发隅合
集中式控制 <-----> 分布式控制
可编程 <-----> 不可编程
开放接口 <-----> 不开放
虚拟化 <-----> 硬件化
SDN概念图
图解:
SDN Software Defined Network 软件定义网络,是一种网络设计理念
或者是一种推倒重来的理念:网络设备可以集中式软件管理,可编程化,控制转发层面分开。
所以说,SDN并不是一项网络技术,也不是一个协议,而是一种思想,一种框架。
举个例子:你在PC上写了一个python的脚本,通过北向接口API在控制器上面执行该脚本;控制器执行OpenFlow协议,通过南向接口应用到转发层的交换机上面;交换机傻傻的通过 流表 来进行转发。
狭义上的SDN:软件定义网络。广义上的SDN:软件定义安全,软件定义存储,软件定义数据中心等等。可以说SDN是一个浪潮,席卷了整个的IT行业。
其他
- 对网络的操作,从不同的命令行操作转移到了编写脚本语言,可编程化。
- 哪些组织在推动SDN:ONF,ODL,ONOS ···