下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

OpenFlow的概念及应用

作者:课课家教育     来源: http://www.kokojia.com点击数:2504发布时间: 2019-02-20 09:59:44

标签: OpenFlowSDN交换机

  通过学习了SDN的知识可以知道,OpenFlow是它的一个控制转发面的协议,本文就针对OpenFlow来写一下它的知识,认识了解一下它的概念和应用。

  OpenFlow是使用类似于API进程配置网络交换机的协议。OpenFlow的思路很简单,网络设备维护一个FlowTable并且只按照FlowTable进行转发,FlowTable本身的生成、维护、下发完全由外置的Controller来实现,注意这里的FlowTable并非是指IP五元组,事实上OpenFlow 1.0定义了包括端口号、VLAN、L2/L3/L4信息的10个关键字,但是每个字段都是可以通配的,网络的运营商可以决定使用何种粒度的流,比如运营商只需要根据目的IP进行路由,那么流表中就可以只有目的IP字段是有效的,其它全为通配。

  如下图所示为支持OpenFlow协议设备的网络结构:

支持OpenFlow协议设备的网络结构 

  这种控制和转发分离的架构对于L2交换设备而言,意味着MAC地址的学习由Controller来实现,V-LAN和基本的L3路由配置也由Controller下发给交换机。对于L3设备,各类IGP/EGP路由运行在Controller之上,Controller根据需要下发给相应的路由器。流表的下发可以是主动的,也可以是被动的,主动模式下,Controller将自己收集的流表信息主动下发给网络设备,随后网络设备可以直接根据流表进行转发;被动模式是指网络设备收到一个报文没有匹配的FlowTable记录时,将该报文转发给Controller,由后者进行决策该如何转发,并下发相应的流表。

  被动模式的好处是网络设备无需维护全部的流表,只有当实际的流量产生时才向Controller获取流表记录并存储,当老化定时器超时后可以删除相应的流表,故可以大大节省TCAM空间。当一个Controller同时控制多个交换机/路由器设备时,它们看起来就像一个大的逻辑交换机,各个交换机/路由器硬件就如同这个逻辑网络设备的远程线卡。

  OpenFlow的特点

  开发者自行制造设备的方法一般是使用PC服务器或专用硬件搭建自己的交换路由设备,受限于主机能装备的网卡数量, 这种方法不能获得足够大密度的端口(一般交换机很容易达到48或者更多的端口,而主机即使插上多块网卡也很难有这么多的端口),而且研究设备的交换性能一般也远不如同价格的商用设备。在这种情况下,OpenFlow论坛提出新的交换设备解决方案必须具有以下四点性质:

  1.设备必须具有商用设备的高性能和低价格的特点;

  2.设备必须能支持各种不同的研究范围;

  3.设备必须能隔绝实验流量和运行流量;

  4.设备必须满足设备制造商封闭平台的要求。

  OpenFlow交换机组成

      OpenFlow交换机由流表、安全通道和OpenFlow协议三部分组成:

OpenFlow交换机组成 

  OpenFlow交换机是整个OpenFlow网络的核心部件,主要管理数据层的转发。OpenFlow交换机接收到数据包后,首先在本地的流表上查找转发目标端口,如果没有匹配,则把数据包转发给Controller,由控制层决定转发端口。

  流表由很多个流表项组成,每个流表项就是一个转发规则。进入交换机的数据包通过查询流表来获得转发的目的端口。流表项由头域、计数器和操作组成;其中头域是个十元组,是流表项的标识;计数器用来计数流表项的统计数据;操作标明了与该流表项匹配的数据包应该执行的操作。

  安全通道是连接OpenFlow交换机到控制器的接口。控制器通过这个接口控制和管理交换机,同时控制器接收来自交换机的事件并向交换机发送数据包。交换机和控制器通过安全通道进行通信,而且所有的信息必须按照OpenFlow协议规定的格式来执行。

  OpenFlow协议用来描述控制器和交换机之间交互所用信息的标准,以及控制器和交换机的接口标准。协议的核心部分是用于OpenFlow协议信息结构的集合。

  OpenFlow协议支持三种信息类型:Controller-to-Switch,Asynchronous和Symmetric,每一个类型都有多个子类型。Controller-to-Switch信息由控制器发起并且直接用于检测交换机的状态。Asynchronous信息由交换机发起并通常用于更新控制器的网络事件和改变交换机的状态。Symmetric信息可以在没有请求的情况下由控制器或交换机发起。

  OpenFlow的应用

  OpenFlow的应用是很广泛的,在这里我们列举五个比较典型的应用来学习认识。

  1.OpenFlow在校园网络中的应用。

  如果我们可以让校园网具有OpenFlow特征,则可以为学生和科研人员实现新协议和新算法提供一个试验平台。OpenFlow网络试验平台不仅更接近真实网络的复杂度,实验效果更好,而且可以节约实验费用。现在已经有包括斯坦福大学在内的几所高校部署了OpenFlow交换机,取得了很好的实验效果。

  2.OpenFlow在广域网和移动网络中的应用。

  在广域网和移动网络中添加具有OpenFlow特征的节点,将带来众多的好处。例如,可以使得固网和移动网络实现无缝控制、使得VPN的管理更加灵活等。NEC 已经利用OpenFlow控制技术对快速、宽带的移动网络进行高效、灵活的网络管理,并解决了两个课题。首先,在多个移动通信方式实现动态切换。在移动通信混杂时以及通信环境恶化时,动态切换通信方式,将满足通信服务所需的服务品质,提供给终端用户。其次,移动回环网络的节能。在一天当中通信量相对较少的夜晚时段,可以汇集网络路径,关闭多余的中转基站的电源,从而节省能源。

  3.OpenFlow在数据中心网络中的应用。

  在数据中心网络中使用OpenFlow交换机,可以使得网络和计算资源更加紧密的联系起来并实现有效的控制。数据中心的数据流量很大,如果不能合理分配传输路径很容易造成数据拥塞,从而影响数据中心的高效运行。若在数据中心网络中添加OpenFlow交换机,则可以实现路径优化以及负载均衡,从而使得数据交换更加迅速。

  4.OpenFlow在网络管理和安全控制中的应用。

  如果网络是基于OpenFlow技术实现的,则经过OpenFlow交换机的每个新的数据流都必须由控制器来做出转发决定。在控制器中可以对这些流按照预先制定的规则进行检查,然后由控制器指定数据流的传输路径以及流的处理策略,从而更好的控制网络。更为重要的是,在内部网络和外网的连接处应用OpenFlow交换机可以通过更改数据流的路径以及拒绝某些数据流来增强企业内网的安全性。

  5.基于OpenFlow实现SDN(Software Defined Network)。

  在SDN中,交换设备的数据转发层和控制层是分离的,因此网络协议和交换策略的升级只需要改动控制层。OpenFlow在OpenFlow交换机上实现数据转发,而在控制器上实现数据的转发控制,从而实现了数据转发层和控制层的分离。基于OpenFlow实现SDN,则在网络中实现了软硬件的分离以及底层硬件的虚拟化,从而为网络的发展提供了一个良好的发展平台。

  讲到OpenFlow想必大家也都想到了SDN,之前小编就有讲过SDN这个知识点了,大家可以把这两篇文章连在一起来阅读一下,相信学习的效果会更好一点哦。如果大家有什么不同的见解或者有什么建议的话可以留言给小编哦,小编以及课课家的大家都期待与大家的互动。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程