在探寻现代数据中心网络的同时,今天开通了另一项专题,也是一直炒作很久的SDN。它的兴起与虚拟化有很大关系,与敏捷、自动化也紧密相连,涉及太多,我们干脆叫SDN in the Cloud。
现代网络挑战是什么?
传统的计算机网络是用静态方式和一组服务进行设计和优化。网络是一堆单独管理的硬件设备,无论你去比较服务提供商,企业,或数据中心等,情况都相似。具体表现在使用CLI手动配置连接。实现新的网络服务,需要安装新设备或新的连接以及再次手动配置。这导致当今大多数网络仍然缺乏现代应用程序所需的灵活性和扩展性,管理员需要手动配置许多单独的网元以及根据需要扩展网络。随着新应用程序的上线以及网络的不断扩展,这带来一种负担。 传统网络假定每个网络设备都必须单独配置,并且通常需要手动管理,所以这些网络不能与现代应用程序所要求的动态适应保持一致。为了及时更改网络配置,需要一定程度的自动化,采用DevOps是一种可行的方法。在虚拟环境中运行的应用程序,例如私有云,公有云和混合云,网络也必须进行虚拟化。如今,在应用程序端代替硬件设备的虚拟交换机,虚拟路由器和虚拟防火墙已有许多用例。
您心目中理想的网络是怎样
企业和服务提供商正在寻找针对网络挑战的解决方案,希望在遵守业务策略的同时进行动态调整和响应,希望这些策略实现自动化,从而减少网络运行的手动工作和人工成本;希望在网络上快速部署和运行新的应用程序,以便交付业务;希望通过在不中断业务的情况下引入这些新功能。完美的网络存在吗?那它需要具备的条件是什么?
- 扩展性:容易新增设备、链接、服务
- 低成本:购买设备和运营成本
- 多租户:隔离多个客户的流量
- 集中性:不需要通过CLI或Web方式单独管理设备
- 敏捷性:容易新增网络服务
- 自动化:执行变更不需要手动配置每台设备
- 高可用:容忍单点故障
- 安全性:阻止未经授权的访问和其他威胁
- 标准协议:使用标准协议,防止厂商锁定
- 分析/遥测:允许查看当前或过去的操作状态
SDN时代的到来
开放网络基金会(ONF)声明,SDN的关键原理之一是控制平面与网络设备分离。控制平面移至网络中的逻辑集中位置并保留分布式转发平面,从高层次的角度来看,这个集中式设备就是SDN控制器。控制器能够做出控制平面决策,它告诉每个网络设备如何转发流量。 然后,每个网络设备都可以专注于转发流量。最终结果是有效的流量转发和网络带宽利用率。 四个主要平面:
- 控制平面:决定数据包如何转发
- 转发平面:执行数据包的转发
- 管理平面:在每个设备上响应配置
- 服务平面:放置安全、负载均衡等服务
传统网络在分布式控制平面的概念下挣扎了数十年。由于集中式控制平面,在SDN环境中实现集中管理要简单得多,如果集中可以更好,那么可以集中在SDN解决方案中。网络具有集中式控制器,可为外部应用程序(例如运维支持系统OSS/业务支持系统BSS)提供应用程序编程接口(APIs)。应用程序现在可以表达其意图,而不是传统命令方式,这对实现高效的业务至关重要。可编程性允许基于不断变化的业务需求建立自动化网络。由于可以在SDN环境中使用开放的北向API,网络应用程序可以使用Java,Python或Ruby等任何语言编写,并与这些API进行交互。 没有人会因SDN而选择被单个供应商捆绑,因此,标准协议是重要原则。遵循此原则,您可以在总体上降低SDN部署成本。节省资本支出(CapEx),这通常是购买硬件和软件的前期成本,支持SDN网络所需的硬件可以简化得多,因此更便宜 。节省运营支出(OpEx),这是管理和维护服务的持续成本,这归根于网络的集中式,编程性。使用标准工具和编程语言实现网络自动化的能力意味着更少的错误发生。部署和维护所需的人力更少。 SDN使企业和服务提供商可以更快地交付服务,这可以显着减少新应用程序,服务和体系结构的上市时间。使用SNMP等传统方法监视网络无法提供对设备当前状态的足够深入分析。SDN提供Analytics(分析)进行深入故障排除和监视实时流量,允许应用程序通过API轻松地分析数据。
当前SDN状态
与术语“云”非常相似,SDN的定义含糊不清,构成许多不同观点,使得在厂商和客户的角度都产生了很大的延伸和偏差。现在,许多厂商都在提供他们的“ SDN解决方案”,该解决方案可能符合SDN的经典定义,也可能会借鉴SDN的某些方面,或者可能会扩展为不该称SDN。主流的几种SDN解决方案可分为:
- 基于Openflow的SDN
- 基于overlay网络的SDN
- 基于API接口的SDN
- 运用范围从企业到骨干网以及数据中心等。