SDN课程阅读作业(2)
过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么?
可编程网络的早期工作可以分为三个阶段 :
每个阶段对历史都有自己的贡献:
- 主动网络(Active Networking,从20世纪90年代中期到21世纪初):
- 它在网络中引入了可编程功能,以实现更大的创新
- 网络虚拟化,以及基于数据包头对软件程序进行多路分解的能力。
- 为MiddleBox编排提供统一架构的构想。
- 控制和数据平面分离( Separating Control and Data Planes,从2001年到2007年左右):
- 开发了控制和数据平面之间的开放接口
- 催生了两项创新:控制和数据平面之间的开放接口以及网络的逻辑集中控制
- 产生了新的概念:使用数据平面的开放接口进行逻辑集中控制, 分布式状态管理
- OpenFlow API和网络操作系统(OpenFlow and Network OSes,2007年至2010年左右):
- 代表了广泛采用开放接口的第一个实例,并开发了使控制数据平面分离具有可扩展性和实用性的方法。
- 概括网络设备和功能。以前的路由控制工作主要集中在根据目的地IP前缀匹配流量上。相反,OpenFlow规则可以基于13个不同的数据包头的任意一组定义流量上的转发行为。
- 网络操作系统的构想。与先前提出节点操作系统的主动网络研究不同,OpenFlow的研究引入了网络操作系统的概念
- 分布式状态管理技术。分离控制平面和数据平面带来了有关状态管理的新挑战。运行多个控制器对于可伸缩性、可靠性和性能至关重要,但是这些副本应该像单个逻辑集中式控制器一样协同工作。
网络虚拟化与SDN的关系?
- SDN作为网络虚拟化的一种支持技术
云计算使网络虚拟化变得突出,因为云提供商需要一种方式,允许多个客户(或“租户”)共享同一网络基础设施。Nicira的网络虚拟化平台(Network Virtualization Platform,NVP)提供了这种抽象,而不需要底层网络硬件的任何支持。
- 网络虚拟化用于评估和测试SDN
将SDN控制应用程序与底层数据平面分离的能力,使得在将SDN控制应用程序部署到操作网络之前,可以在虚拟环境中测试和评估SDN控制应用程序。Mininet使用基于进程的虚拟化在同一物理(或虚拟)机上运行多个虚拟OpenFlow交换机、终端主机和SDN控制器,每个控制器都作为单个进程。使用基于进程的虚拟化允许Mininet模拟一个网络,在一台机器上有数百个主机和交换机。
- 虚拟化(切片)SDN
在传统网络中,虚拟化路由器或交换机是很复杂的,因为每个虚拟组件都需要运行自己的Controlplane软件实例,相比之下 虚拟化一个SDN交换机就容易多了 。FlowVisor系统使校园能够支持在承载生产流量的相同物理设备上进行联网研究的试验台,其主要思想是将业务流空间划分为“片”(Planetlab的早期工作中引入的概念),其中每个片有一个网络资源共享,由不同的SDN控制器管理。FlowVisor作为Hypervisor运行,向每个SDN控制器和底层交换机传递OpenFlow。