软件定义网络——网络新范式
来源:电脑与电信杂志 更新时间:2014-03-09
 
传统网络架构并不能满足当代企业、运营商、终端客户的要求。在开放网络基金会(ONF)的带领及整个行业共同努力下,软件定义网络(SDN)正在改造网络架构。
  移动设备和内容的激增、服务器的虚拟化、云服务的出现等等形成了驱使整个网络产业重新审视传统网络架构的潮流。很多传统的网络是等级体系的,用以树结构排序的多层以太网交换机建造而成。这个设计在客户服务器计算流行时是有意义的,但这样一个静止的结构不适合当今企业数据中心、校园和运营商环境的动态计算和存储需求。
  当今网络的局限性主要表现在:网络复杂性:迄今,网络技术大都由一套套离散的、旨在稳定地以任意距离、链接速度和拓扑结构连接主机的协议构成。网络协议通常会被分离地定义,每个定义解决一个特定问题,这导致一个主要限制:复杂性。例如,要是想增加或者移除任一设备,IT就必须操作多个交换机、路由器、防火墙、网络身份验证门户等,同时要用设备水平的管理工具来升级ACL、VLAN、QoS 以及其他基于协议的机制。鉴于这一复杂性,IT 又想要将服务中断的风险降至最低,导致当代的网络发展相对比较停滞。这一静止的性质跟当代服务器环境的动态性质对比鲜明。不能够灵活地适应不断变化的通信量、应用程序和用户的要求。
  不一致的策略:为了实施全网范围的策略,IT 有可能要配置成千上万的设备和机制。例如,每设计一个新的虚拟机器,IT 可能要花数小时甚至几天重新配置整个网络的ACLS。当代网络的复杂性使得IT 难以把一套一贯的访问、安全、QoS 等策略应用在移动性日渐提高的用户身上,因而企业总是面临安全漏洞和不合规等消极后果的威胁。
  无法规模化:随着对数据中心需求的急剧上升,网络理应也随之成长。然而,因为成百上千的设备的加入,对其进行配置和管理的需要使网络变得加倍复杂。同时,基于可预测的通信模式,IT 依赖对链接的超额认购来使网络规模化,然而,在现代虚拟化的数据中心里,通信模式非常易变,因而难以预测,将面临着艰巨的可拓展性挑战。
  对供应商的依赖性:为了快速应对不断变化的业务需要或者用户需求,运营商和企业努力地配置新功能和服务。然而,他们的应对能力被通常为期三年甚至更久的供应商设备产品周期所限制。缺乏标准的、程序开放性的接口使得网络使用者难以根据它们个人环境来定制网络。
  这种市场需求和网络能力之间的不匹配把整个行业带到了一个临界点。行业对此作出的反应是———创造出软件定义网络(SDN)结构,并且正在开发相关标准。
  软件定义网络
  软件定义网络(SDN)是一种正在兴起的网络架构,在这一架构里,网络控制被从转发中分离开来,并且具有可编程性。原本紧紧绑定在个人网络设备里的控制迁移到可供访问的计算设备里,使得底层设施可以从应用程序和网络设备里被抽离出来,从而把网络看成一个逻辑上的或虚拟的实体。
 
 
  图1 描绘了SDN 结构的逻辑视图。网络信息在逻辑上集中在基于软件的SDN 控制器里,这一控制器保持对网络的全局视图。因而,网络成为应用程序和策略引擎的单一逻辑“开关”。有了SDN,企业和运营商在单一逻辑点上获得独立于供应商的对整个网络的控制权,简化了网络设计和操作。同时,由于网络设备不需再理解和加工成千上万的协议标准而只需接受SDN 控制器的命令,SDN 也极大地简化了网络设备本身。更加重要的是,网络运营商和管理员可以从编程的角度去配置这个简化了的抽象网络,不再需要为成千上万的设备手工编写成千上万行配置代码。除此之外,利用SDN 控制器的集中式信息,IT 可以实时改变网络行为并且在几小时或几天内配置新的应用程序和网络设备,而不必花几周甚至几个月。通过把网络状态集中在控制层,网络管理员可以通过动态且自动化的SDN 程序灵活地配置、管理、保障、优化网络资源。此外,管理员还可以自己编写这些程序,而不用等供应商把功能嵌入专有的封闭的软件环境里。
  除了抽象网络,SDN 架构支持一组API,可实现常见的网络服务,包括路由、组播、安全、访问控制、带宽管理、流量工程、服务质量、处理器和存储优化、能源使用,以及各种形式的策略管理,量身定制以满足业务目标。如SDN 架构可轻易地在校园的有线和无线连接里定义和执行一致的策略。同样,SDN 可以通过智能编排和配置系统管理整个网络。ONF(一个非盈利行业协会,引领SDN 的进步,标准化SDN 的关键元素,如Openflow协议,构建着支持网络设备的控制平面和数据平面之间的交流)正在研究开放的API 以促进多供应商管理,从而给按需的资源分配、自我服务的配置、真正意义上的虚拟化网络、安全的云服务打开大门。
  因此,有了SDN 控制层和应用层之间开放的API,业务应用程序可以操作抽象的网络、利用网络服务和能力,同时实施细节不会受绑定。SDN 让网络不像定制应用程序时对应用那么敏感,同时使应用程序不再像在之前的网络那样对网络容量那么敏感。因此计算、存储和网络资源都能得到优化。
  OpenFlow
  OpenFlow 是在SDN 体系结构的控制和转发层之间定义的第一个标准的通信接口。OpenFlow允许直接访问和对网络设备转发平面的操作,如交换机和路由器,实际的和虚拟的(基于管理程序的)都可以。转发平面开放接口的缺失, 导致当今网络设备单一、封闭、类似主机的表征。没有其他的标准协议可以做到OpenFlow 协议那样,能够把网络控制从网络交换机移动到逻辑集中的控制软件上。
 
 
  OpenFlow 就像一个CPU 的指令集。如图2, 协议定义了基本原语,就像CPU 指令集用于计算机系统编程一样,可被外部软件用于实现对网络转发平面的编程。
  OpenFlow协议应用于网络基础设备和SDN 控制软件之间的两端接口。基于定义好的匹配规则,OpenFlow 用流量的概念来辨认网络通信量,而SDN 控制软件仍可以静态或动态地编写匹配规则。它也允许IT 定义流量如何流经基于参数(如使用模式、应用程序和云资源)的网络设备。由于Open-Flow允许在网络上每一个流的基础上进行编程,基于OpenFlow 的SDN 架构提供了极其精细的控制,使网络能够在应用程序、用户和会话水平适应实时变化。目前基于IP 的路由不提供这种级别的控制,因为尽管需求多么不同,两个端点之间的所有流通过网络时都必须遵循同样的路径。
  OpenFlow协议是软件定义网络的关键推动者,是目前唯一的标准化SDN 协议,允许直接操纵网络设备的转发平面。虽然最初被应用到基于以太网的网络,但OpenFlow 的交换可以延伸到更广泛的情况。基于OpenFlow的SDN 可以配置在现有的网络上(实际的和虚拟的)。网络设备可以支持基于OpenFlow 的转发以及传统的转发,即使在多供应商的网络环境下,企业和运营商逐步引入基于OpenFlow 的SDN技术也是不难的。
  目前OpenFlow 已被基础设备供应商广泛采用,通常通过一个简单的固件或软件升级就可以完成。基于OpenFlow 的SDN 架构可以与企业或运营商现有的基础设备无缝集成,并为最需要SDN 功能的网络领域提供简单的迁移路径。
  基于OpenFlow 的软件定义网络的优势
  对于同质性高的企业和运营商,SDN 使得网络具有差异性竞争优势,而不只是一个不可避免的成本要素。基于OpenFlow 的SDN 技术使IT 能够迎合当今应用程序高带宽的、动态的特性,使网络能够适应不断变化的业务需求,并大幅降低运营和管理的复杂性。
  企业和运营商可以通过基于OpenFlow 的SDN架构实现以下功能:
  集中控制多厂商环境:SDN 的控制软件可以控制任何供应商提供的任何支持OpenFlow 的网络设备,包括交换机、路由器和虚拟交换机。IT 部门可以使用基于SDN 的编排和管理工具来在整个网络中快速部署,配置和更新设备,而不用分组控制单个厂商的设备。
  通过自动化降低复杂性:基于OpenFlow 的SDN 提供了灵活的网络自动化和管理框架,从而人们可以开发自动化的管理工具,很多管理任务不再需要手动完成。这些自动化工具将降低运营开销,减少操作失误造成的网络不稳定,并支持新兴“IT 即服务”的理念和自助服务配置模型。
  此外,有了SDN,基于云的应用程序可以通过智能编排和配置系统来管理,进一步降低运营开销,同时提高业务灵活性。
  更高度的创新:SDN 可以加快业务创新,因为它允许IT 网络运营商实时编程以满足特定的业务和用户需求。SDN 和OpenFlow通过虚拟化网络基础设备并把它从个人网络服务中抽象出来,让IT 甚至是用户有了定制网络行为的能力,以及在数小时内推出新服务和新功能的能力。
  提高网络可靠性和安全性:
  SDN 使IT 可以定义高层次的配置和策略,并且通过OpenFlow 下传到基础设备。基于OpenFlow 的SDN 架构减少了添加或移除终点、服务或应用程序时单独配置网络设备的需要,从而降低了因配置或策略不一致而导致网络故障的可能性。
  SDN 控制器提供对网络的完整可见性和控制,可以确保访问控制、流量工程、服务质量、安全和其他策略始终在有线和无线网络基础设备(包括分支机构,校园和数据中心)中执行。更精细的网络控制:OpenFlow基于流的控制模式,使IT 能够高度抽象地、自动化地运用策略,并且在会话、用户、设备和应用层面达到非常精细的水平。这种控制使云运营商可以支持多个客户,同时在客户共享相同的基础设施时保持流量隔离、安全性和弹性资源管理。
  更好的用户体验:通过集中网络控制和把状态信息提供给更高级别的应用程序,SDN 基础设备能够更好地适应动态的用户需求。例如,运营商可以推出一个视频服务, 以自动和透明的方式为付费用户提供可能的最高分辨率。用户必须明确地选择一个分辨率设置,但网络却可能无法支持,导致的延误和中断降低了用户体验效果。有了基于OpenFlow 的SDN,视频应用程序能够实时探测到网络中可用的带宽然后自动相应调整视频分辨率。
  结语
  用户移动性、服务器虚拟化、IT 即服务的网络趋势以及快速响应不断变化的业务情况的需要,催生了对网络的巨大需求,这样的需求是现在的传统网络架构无法满足的。软件定义网络提供了一个新的动态的网络架构,把传统的网络主干变成多业务供应平台。
  通过分离网络控制和数据平面,基于OpenFlow 的SDN 架构从应用程序中抽象出底层设备,从而使网络大规模地可编程和可管理。开放网络基础在SDN 周围造就了充满活力的生态系统,这一系统囊括了大大小小的基础设备供应商,包括应用开发商、软件公司、系统和半导体制造商、电脑公司,再加上各种终端用户。
  未来的网络将越来越依赖于软件,这将加速网络创新的步伐,正如计算和存储领域的情况一样。SDN 承诺把今天的静态网络改造成灵活的可编程平台,有动态分配资源的智能,有可支持巨大的数据中心的规模,有所需的虚拟化来支持动态、高度自动化、安全的云环境。SDN 凭借其众多的优势和惊人的行业发展势头,正在成为网络新范式。