阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,书写一篇博客,回答以下两个问题:
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么?网络虚拟化与SDN的关系?
2.网络虚拟化与SDN的关系?
文章链接:https://pan.baidu.com/s/1MOd_vbXTZCYC1BQFoqSEEQ
提取码:yav0
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么?网络虚拟化与SDN的关系?
SDN的历史可以分为三个阶段,每个阶段都有自己的贡献:
① 主动网络(20世纪90年代中期~21世纪初)
② 将控制面与数据面分离(2001~2007年)
③ OpenFlow API和网络操作系统(2007~2010年左右)
1.1主动网络
主动网络有两个含义:一是被称为ANN的网络中间节点(如路由器、交换机),不仅完成存储转发等网络功能,而且可以对包含数据和代码的所谓主动包和普通包进行计算;。二是用户根据网络应用和服务的要求可以对网络进行编程以完成这些计算。
主动网络的基本思想:将程序注入数据包,使程序和数据一起随数据包在网络上传输;网络的中间节点运行数据包中的程序,利用中间节点的计算能力,对数据包中的数据进行一定的处理;从而将传统网络中“存储——转发”的处理模式改变为“存储——计算——转发”的处理模式。
主动网络对SDN的贡献
- 网络可编程性降低了技术创新的障碍
在SDN最初的动机中,经常提到难以在网络中进行创新和提高编程性的概念。而主动网络开创了可编程网络的概念,作为降低网络创新障碍的一种方式。
- 网络虚拟化,以及基于包头对软件程序进行复用的能力
主动网络提出了一个用于描述一个平台组件的框架:该平台的关键组件是:管理共享资源的共享节点操作系统;一组执行环境,每个环境定义一个用于包交换的虚拟机;一组活动应用程序,它们在给定的执行环境中工作,提供端到端的服务。
- 中间件编排统一的架构
这个架构是用来统一众多的中间件函数,虽然在近期的网络虚拟化工作中没有用到,但是随着SDN的控制和中间件编排应用的发展,这些架构都会派上用场。
1.2控制面与数据面分离
控制面与数据面分离对SDN的贡献
- 两项创新:控制和数据平面之间的开放接口以及网络的逻辑集中控制
- 将控制功能转移到了单独的服务器上,这样逻辑上集中的路由控制器降低了标准的实施障碍,服务器技术的进步意味着单一的商品服务器可以存储的所有的路由状态,并为一个大型网络计算所有的路由决策。
- 两个概念:使用数据面的开放接口进行集中逻辑控制和分布式状态管理。
1.3OpenFlow和网络操作系统
OpenFlow API和网络操作系统对SDN的贡献
- 为学生和科研人员实现新协议和新算法提供一个很好的试验平台
- 代表了广泛采用开放接口的第一个实例,并开发了使控制数据平面分离具有可扩展性和实用性的方法。
- 概括网络设备和功能。以前的路由控制工作主要集中在根据目的地IP前缀匹配流量上。相反,OpenFlow规则可以基于13个不同的数据包头的任意一组定义流量上的转发行为。
- 网络操作系统的愿景。与先前提出节点操作系统的主动网络研究不同,OpenFlow的研究引入了网络操作系统的概念。
- 分布式状态管理技术。
2.网络虚拟化和SDN的关系
- SDN是作为一种支持网络虚拟化的技术
云计算使网络虚拟化的作用更加突出,它允许多个用户共享网络基础设施。例如:Ncira的网络虚拟化平台就提供了这种抽象,而不需要任何来自底层网络硬件的支持。
Nicira是一家专注于软件定义网络(SDN)和网络虚拟化的公司。它由Martin Casado,Nick McKeown和Scott Shenker于2007年创立。Nicira创建了自己的OpenFlow,Open vSwitch和OpenStack网络项目的专有版本。
- 网络虚拟化可以用于测试和评估SDN
SDN控制应用程序与底层数据面分离的功能使得在将控制应用程序布置到操作网络上之前,可以在虚拟环境中测试和评估SDN控制应用程序。例如:Mininet是用基于进程的虚拟机来运行多个OpenFlow交换机、终端主机和SDN控制器,每个进程都单独地运行在相同的虚拟机上。
Mininet是由一些虚拟的终端节点(end-hosts)、交换机、路由器连接而成的一个网络仿真器,它采用轻量级的虚拟化技术使得系统可以和真实网络相媲美。
Mininet可以很方便地创建一个支持SDN的网络:host就像真实的电脑一样工作,可以使用ssh登录,启动应用程序,程序可以向以太网端口发送数据包,数据包会被交换机、路由器接收并处理。有了这个网络,就可以灵活地为网络添加新的功能并进行相关测试,然后轻松部署到真实的硬件环境中。
- 对SDN进行虚拟化
在传统网络中,对路由器和交换机的虚拟化比较复杂,因为每个虚拟组分都需要运行自身的控制面软件,而虚拟化一个SDN交换机就容易多了。例如:FlowVisor系统使得大学能够支持在承载流量的相同物理设备上进行网络研究的实验平台,主要思想是:将流量进行分片,其中每个分片共享网络资源,并由不同的SDN控制器管理。
FlowVisor是建立在OpenFlow之上的虚拟化网络平台,它可以将物理网络分成多个逻辑网络,从而实现开放软件定义网络(SDN)。它为管理员提供了普遍的定义规则来管理网络而不是通过调整路由器和交换机来管理网络。