1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么?
在过去20年中,可编程网络的发展可以分为三个阶段,具体第一阶段为从200世纪90年代中期到21世纪初的Active Networking(主动网络)阶段,第二为从2001年到2007年左右的Separating Control and Data Planes(控制和数据平面分离)阶段,第三为2007年至2010年左右的OpenFlow API和网络操作系统(OpenFlow and Network OSes)阶段。
以下为各个阶段的贡献:
(1)主动网络阶段
1.引入了网络可编程功能,降低了创新的障碍。
2.主动网络是第一批干净的网络架构方法
3.提供了平台的可移植性和一些代码安全
4.基于包头的网络数据化及其解复用能力
5.为MiddleBox编排提供统一架构的构想
(2)控制和数据平面分离阶段
1.提出控制面和数据面之间的开放接口
2.在逻辑上对网络进行集中控制
3.提出了两个概念:使用数据面的开放接口进行集中逻辑控制和分布式状态管理
4.为Openflow的创建奠定了基础,尤其是乙烷的简单开关设计成为最初OpenFlow API的基础。
(3)OpenFlow API和网络操作系统阶段
1.为学生和科研人员实现新协议和新算法提供一个很好的试验平台
2.代表了广泛采用开放接口的第一个实例,并开发了使控制数据平面分离具有可扩展性和实用性的方法。
3.概括网络设备和功能
4.网络操作系统的愿景。与先前提出节点操作系统的主动网络研究不同,OpenFlow的研究引入了网络操作系统的概念
5.分布式技术管理。
2.网络虚拟化与SDN的关系
网络虚拟化是指从底层物理设备中分离出来的网络的抽象。网络虚拟化允许多个虚拟网络运行在虚拟基础设施之上,每个虚拟网络都可以具有比底层物理网络更简单(更抽象)的拓扑结构,虽然网络激活在概念上独立于SDN,但近年来这两种技术之间的联系变得更加紧密。SDN出现之前网络设备以虚拟局域网和虚拟专用网的形式支持虚拟网络的创建。但是,只有网络管理员才能创建这些虚拟网络,并且这些虚拟网络被排除在运行现有网络协议之外。因此,逐步部署新技术证明是困难的。SDN和网络虚拟化有三种主要方式:
-
SDN作为一种支持网络虚拟化的技术.云计算使网络虚拟化变得突出起来。
云计算使网络虚拟化变得突出,因为云提供商需要一种方法来降低多个客户(或租户)共享网络基础设施的能力。Nicira的网络虚拟化平台(Network Virtualization Platform,NVP)提供了这种抽象,而不需要底层网络硬件的任何支持。Ncira的网络虚拟化平台就提供了这种抽象,而不需要任何来自底层网络硬件的支持。 -
网络虚拟化用于测试和评估SDN
将SDN控制应用程序与底层数据平面分离的能力使得在应用程序部署到操作网络之前能够在虚拟环境中测试和评估SDN控制应用程序。Mininer使用基于进程的虚拟来运行多个虚拟OpenFlow交换机、终端主机和SDN控制器--每个控制器都是同一台物理(或虚拟机)机器上的单个进程。基于进程的虚拟化的使用使Mininer能够延迟数百台主机的网络,并在单机上切换。。 -
可以网络虚拟化(切割)SDN
在传统网络中,对路由器或交换机进行虚拟化是很复杂的,因为每个虚拟组件都需要运行自己的控制平面软件。相比之下,虚拟化一个sdn交换机要简单得多,FlowVi-SOR系统使校园能够在承载生产流量的同一设备的基础上支持网络研究的试验床,它的主要思想是将业务流空间划分为“片”,其中每个片有一个网络资源共享,由不同的SDN控制器管理