阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,书写一篇博客,回答以下两个问题:
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么?
主动网络阶段
引入了网络可编程功能,降低了创新的障碍.
主动网络是第一批干净的网络架构方法.
提供了平台的可移植性和一些代码安全.
网络虚拟化,基于包头的网络数据化及其解复用能力.
为MiddleBox编排提供统一架构的构想.
将控制面与数据面分离
提出两项创新,分别为控制面和数据面之间的开放接口与在逻辑上对网络进行集中控制.
将控制功能转移到了单独的服务器上,这样逻辑上集中的路由控制器降低了标准的实施障碍,服务器技术的进步意味着单一的商品服务器可以存储的所有的路由状态,并为一个大型网络计算所有的路由决策.
提出了两个概念,分别为使用数据面的开放接口进行集中逻辑控制和分布式状态管理.
OpenFlow API和网络操作系统
为学生和科研人员实现新协议和新算法提供一个很好的试验平台
代表了广泛采用开放接口的第一个实例,并开发了使控制数据平面分离具有可扩展性和实用性的方法.
概括网络设备和功能。以前的路由控制工作主要集中在根据目的地IP前缀匹配流量上。相反,OpenFlow规则可以基于13个不同的数据包头的任意一组定义流量上的转发行为.
网络操作系统的愿景。与先前提出节点操作系统的主动网络研究不同,OpenFlow的研究引入了网络操作系统的概念.
分布式状态管理技术。分离控制平面和数据平面带来了有关状态管理的新挑战。运行多个控制器对于可伸缩性、可靠性和性能至关重要,但是这些副本应该像单个逻辑集中式控制器一样协同工作.
2.网络虚拟化与SDN的关系?
SDN作为一种支持网络虚拟化的技术.云计算使网络虚拟化变得突出起来.
云计算使网络虚拟化变得突出,因为云提供商需要一种方法来降低多个客户(或租户)共享网络基础设施的能力.Nicira的网络虚拟化平台(Network Virtualization Platform,NVP)提供了这种抽象,而不需要底层网络硬件的任何支持.Ncira的网络虚拟化平台就提供了这种抽象,而不需要任何来自底层网络硬件的支持.
网络虚拟化用于测试和评估SDN
将SDN控制应用程序与底层数据平面分离的能力使得在应用程序部署到操作网络之前能够在虚拟环境中测试和评估SDN控制应用程序.Mininer使用基于进程的虚拟来运行多个虚拟OpenFlow交换机、终端主机和SDN控制器-每个控制器都是同一台物理(或虚拟机)机器上的单个进程.基于进程的虚拟化的使用使Mininer能够延迟数百台主机的网络,并在单机上切换.
可以网络虚拟化(切割)SDN
在传统网络中,对路由器或交换机进行虚拟化是很复杂的,因为每个虚拟组件都需要运行自己的控制平面软件.相比之下,虚拟化一个sdn交换机要简单得多,FlowVi-SOR系统使校园能够在承载生产流量的同一设备的基础上支持网络研究的试验床,它的主要思想是将业务流空间划分为“片”,其中每个片有一个网络资源共享,由不同的SDN控制器管理.