阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,书写一篇博客,回答以下两个问题:
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么?
-
在过去20年中可编程网络的发展可以分为三个阶段,第一个阶段是主动网络(从20世纪90年代中期到21世纪初),它在网络中引入了可编程功能,以实现更大的创新;第二个阶段是控制和数据平面分离(从2001年到2007年左右),开发了控制和数据平面之间的开放接口;以及第三个阶段的OpenFlow API和网络操作系统(2007年至2010年左右),代表了广泛采用开放接口的第一个实例,并开发了使控制数据平面分离可扩展且实用的方法。
-
主动网络阶段
-
对主动网络的研究开创了可编程网络的概念,降低l了网络创新的障碍
SDN的最初动机通常引用了生产网络难以创新和提高可编程性的观点,其早期愿景大多集中在控制平面可编程性上,而主动网络则更多地集中在数据平面可编程性上 -
网络可虚拟化,以及基于数据包头对软件程序进行多路分解的能力
主动网络产生了一个架构框架,描述了这样一个平台的组件。这个平台的关键组件是一个管理共享资源的共享节点操作系统(NodeOS)和一组执行环境(EEs),每个环境定义一个用于数据包操作的虚拟机,以及一组在给定EE内工作以提供端到端服务的活动应用程序(AAs) -
为middlebox编排提供统一架构的构想
尽管这一设想可能没有直接影响到最近关于NFV的工作,但随着我们进一步应用基于SDN的控制和协调中间盒,从主动网络研究中得到的各种教训可能会证明是有用的
-
-
控制面与数据面分离
-
使用数据平面的开放接口进行逻辑集中控制
例如,lIETF工作组提出了一个标准的、开放的数据平面接口,以实现控制平面软件的创新。ForCES API允许单独的控制器在数据平面中安装转发表条目,从而能够从路由器中完全删除控制功能。 -
在逻辑上对网络进行集中控制
例如,路由控制平台(RCP)、软路由架构、路径计算原件(PCE)协议。
-
-
OpenFlow和网络操作系统
-
OpenFlow提供了多种多样的转发规则
以前的路由控制工作主要集中在根据目的地IP前缀匹配流量。相反,OpenFlow规则可以基于13个不同的数据包头的任意一组定义流量上的转发行为 -
OpenFlow的工作衍生出了网络操作系统的概念
网络操作系统的出现将网络操作的概念分解为三层:(1)具有开放接口的数据平面;(2)负责维护网络状态一致视图的状态管理层;(3)根据其自身的特性执行各种操作的控制逻辑网络状态视图 -
分布式状态管理技术
分离控制层和数据层带来了国家管理方面的新挑战。运行多个控制器对于可伸缩性、可靠性和性能至关重要,但是这些副本应该像单个逻辑集中式控制器一样协同工作
-
2.网络虚拟化与SDN的关系?
-
网络虚拟化(从逻辑网络的角度抽象物理网络)显然不需要SDN。同样,SDN(从底层数据平面分离逻辑集中控制平面)并不意味着网络虚拟化。然而,有趣的是,网络虚拟化和SDN之间的共生关系已经出现,这已经开始催化几个新的研究领域。SDN和网络虚拟化主要有三种关系:
-
SDN作为网络虚拟化的一种支持技术
云计算突出了网络虚拟化,因为云提供商需要一种方式,允许多个客户(或“租户”)共享同一网络基础设施。例如,Nicira的网络虚拟化平台(Network Virtualization Platform,NVP)提供了这种抽象,而不需要底层网络硬件的任何支持 -
网络虚拟化可以用于评估和测试SDN
SDN控制应用程序与底层数据平面分离的能力使得在应用程序部署到操作网络之前,能够在虚拟环境中测试和评估SDN控制应用程序。例如,Minine使用基于进程的虚拟化在同一物理(或虚拟)机上运行多个虚拟OpenFlow交换机、终端主机和SDN控制器,每个
控制器都作为单个进程,在一台机器上有数百个主机和交换机。 -
可以对SND进行切片虚拟化
在传统网络中,虚拟化路由器或交换机是很复杂的,因为每个虚拟组件都需要运行自己的控制平面软件实例。相比之下,虚拟化“哑”SDN交换机要简单得多。例如,FlowVisor系统使校园能够支持在承载生产流量的相同物理设备上进行联网研究的试验台。其主
要思想是将业务流空间划分为“片”(PlanetLab的早期工作中引入的概念),其中每个片有一个网络资源共享,由不同的SDN控制器管理。
-