SDN课程阅读作业(2)

1. 过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么?

过去20年中可编程网络的发展可以分为三个阶段,如下图:

其中各个阶段的贡献:

  • Active Networks(主动网络,从20世纪90年代到21世纪初)
    1. 向网络引入了可编程的方法,可编程在网络中降低了创新的障碍。
    2. 网络虚拟化,以及基于包头对软件程序进行多路复用的能力。
    3. 一个统一的中间件架构的设想。
  • Separating Control and Data Planes(控制平面与数据平面分离,从2001到2007年)
    1. 使用数据平面的开放接口进行逻辑集中控制。一个标准的、开放的数据平面接口,以支持控制平面软件的创新。
    2. 对网络的逻辑集中控制
  • OpenFlow and Network OSes(OpenFlow API和网络操作系统,从2007到2010年)
    1. 泛化网络设备和功能。以往的路由控制工作主要是通过目标IP前缀来匹配流量。相反,OpenFlow规则可以基于任意13个不同的包头定义流量流上的转发行为。
    2. 网络操作系统提出了一种将网络操作分解为三层的概念:
      (1)具有开放的数据平面接口;
      (2)负责维护网络状态一致性视图的状态管理层;
      (3)控制逻辑,根据其网络状态视图执行各种操作。
    3. 分布式状态管理技术。以前的分布式路由控制器的工作只在狭窄的路由环境中解决这些问题计算。为了支持任意的控制器应用,引入了控制器的工作网络信息基础的概念——网络拓扑和其他控制状态的表示,由所有控制器副本共享。

2. 网络虚拟化与SDN的关系?

  • SDN是网络虚拟化的一种实现技术。云计算突出了网络虚拟化,因为云提供商需要一种低层次的多客户(或“租户”)共享相同网络基础设施的方法。Nicira的网络虚拟化平台(NVP)提供了这种抽象,不需要任何底层网络硬件的支持。解决方案是使用覆盖网络为每个租户提供抽象的单个交换机连接其所有的虚拟机。然而,与之前在覆盖网络上的工作相比,每个覆盖节点实际上是物理网络的一个扩展——一个软件交换机(像Open vSwitch),它将流量分配给运行在其他服务器上的虚拟机。逻辑上集中的控制器将这些规则安装到这些虚拟交换机中,以控制包的封装方式,并在虚拟机移动到新位置时更新这些规则。
  • 用于评估和测试sdn的网络虚拟化。将SDN控制应用程序与底层数据平面解耦的能力使得在将SDN控制应用程序部署到网络之前,可以在虚拟环境中测试和评估SDN控制应用程序。
  • 对SDN进行虚拟化(“切片”)。是将流量空间划分为“片”(PlanetLab的早期工作中引入的概念),其中每个片共享网络资源,并由不同的SDN控制器管理。FlowVisor作为一个hypervisor运行,与每个SDN控制器和底层交换机使用OpenFlow。
posted @ 2019-12-02 17:05  Jamwong  阅读(136)  评论(0编辑  收藏  举报