网络通信 频道

SDN的核心构建模块有哪些?

        【IT168 评论】为了了解软件定义网络(SDN),你可能会碰到很多跟此项技术相关的术语。其中有些术语是SDN独有的,而其他一些术语则并非SDN专有,但经常会用来描述SDN设计。

  了解这些术语及其语义环境是很有帮助的。下面我们重点来了解一下和SDN相关的三个基本技术范畴:控制器、交换网络和叠加网络。

  控制器

  SDN的一个重要概念就是被称为控制器的设备,该设备与某个域中所有的网络设备会话,获悉网络拓扑结构,并从一个无所不知的中心点上对网络进行编程。可以说,SDN控制器是把网络编程模式从分布模式(相互通信的网络设备决定转发路径)转变成了集中模式。

  网络的集中编程是控制器给业务带来的重大价值。从概念上看,控制器可用于给某个网络全面部署业务策略,而与网络中的设备无关。控制器的行为很像是一个网络中间件层,它将底层的物理网络组件如交换机、路由器、防火墙和负载均衡设备等都做了抽象。

  用一台SDN控制器对网络进行编程,网络运营者就不必再用传统方法(比如说命令行界面)对个别的网络设备进行编程了。此外,还可根据成本或者安全策略需求创建专有的网络转发范式。

  控制器是通过软件完成网络编程的,也正因此,SDN才具有了极大的灵活性。控制器既是该软件的运行平台,也是该软件的一个通信网关。大多数控制器架构都是模块化的,允许控制器利用多种不同的方法与各种不同的网络设备进行通信。

  将SDN控制器视为中间件,也就意味着其通信有两个方向。迄今为止大多数的讨论都是围绕南向通信的。也就是说,控制器对网络设备进行编程,并从这些设备接收数据,这就是南向通信。南向通信的一个例子就是控制器利用OpenFlow对网络交换机的转发表进行编程。另一个方向则是北向通信。希望对网络进行编程的各个应用与控制器之间的通信称之为北向的。北向通信的一个例子就是类似VMware的vCloud Director之类的应用通过控制器发出网络配置服务请求。

  交换机

  说到SDN时,可能很多人谈到的设备就是交换机,尤其是以太网交换机。以太网交换机的速度和密度一直在增加,可以为数据中心的主机、刀片中心和以太网存储提供上行链路。服务器虚拟化的到来,hypervisor软件交换机的地位越来越重要,它能够探测到虚拟服务器和虚拟网卡,并可将出入hypervisor的流量汇聚起来,发送给物理网络。

  无论是硬件还是软件交换机在SDN中都发挥着重要作用,首先是交换机的转发表可以由控制器进行编程控制。再考虑到软交换机一般驻留在网络边缘,所以“智能的软边缘”概念已经出现。

  支持智能软边缘的网络设计者们感觉,软件交换机在hypervisor上运行是个很理想的场所,因为这里可以安装丰富的网络功能,而让物理硬件交换机在一个相对简单的配置环境中运行。在智能软边缘的SDN设计中,控制器可通过软交换机进行转发、QoS和安全策略。

  例如软交换机可以有接入列表、受速率限制的QoS参数和流量优先级,以及应用于虚拟端口的智能转发。当网络数据离开hypervisor之时,已经经过了安全合规检测、速率整形和封装。将所有这些功能放置在网络边缘,可以让核心硬件交换机只去做快速的流量传输。

  并非所有的网络都允许智能的软边缘设计,也并非所有可行的SDN用例会用上软交换机。对SDN来说,硬件交换机依然会在一些诸如端到端业务策略的部署、流量控制和安全执法等任务上发挥作用。此外,仍然有一定量的基本配置会在硬件交换机上完成,而无论边缘网络有多么智能。

  控制器对硬件和软件交换机转发行为进行编程控制所使用的主要的南向协议就是OpenFlow。OpenFlow(OF)协议的标准正在由开放网络基金会(ONF)快速地推进之中。

  ONF是一个主要由网络厂商和服务提供商会员组成的机构,关起门来运作。该基金会的OpenFlow规范目前已发布了PF 1.0,在生产环境中经常会看到;下一步要发布的OF 1.3,将主要面向大多数交换机厂商。OF 1.4目前正在制定当中。

  要记住,虽然OpenFlow可以像Open vSwitch那样完全在软件交换机上实施,但是要翻译成硬件交换机的网络芯片(ASIC)可以执行的代码,OF已被证明是要面对挑战的。虽然有报道说,可更好处理OF的新的芯片很快就会出来,但是用户们在评估OF的有用性时,肯定会结合其已有网络进行测试,以便确保所需的OF功能能够尽可能地扩展,可以支持他们的应用。

  对于北向通信来说,控制器常常会提供API。一个REST(表述性状态转移)API可能是最常用到的。REST API很像HTTP服务器,会利用一些熟悉的方法如GET和POST来交换数据和指令。API提供了应用到控制器的一种方法,可以告诉控制器网络上将会发生什么。

  值得注意的是,除了OF之外,有些厂商已经有一些专门的南向API推出。这部分是因为OF的指令集有限,有时候很难在传统的芯片上实现。例如思科,虽然支持OpenFlow,但还是强调其API须借助其ONE架构来实现,思科的主张是说,它的API允许网络程序员能够充分发挥其思科硬件的能力。

0
相关文章