它的核心思想很简单,就是将原本完全由交换机/路由器控制的数据包转发过程,转化为由OpenFlow交换机(OpenFlow Switch)和控制服务器(Controller)分别完成的独立过程。
转变背后进行的实际上是控制权的更迭:传统网络中数据包的流向是人为指定的,虽然交换机、路由器拥有控制权,却没有数据流的概念,只进行数据包级别的交换;而在OpenFlow网络中,统一的控制服务器取代路由,决定了所有数据包在网络中传输路径。
OpenFlow交换机会在本地维护一个与转发表不同的流表(Flow Table),如果要转发的数据包在流表中有对应项,则直接进行快速转发;若流表中没有此项,数据包就会被发送到控制服务器进行传输路径的确认,再根据下发结果进行转发。
OpenFlow的应用
OpenFlow的应用是很广泛的,这里我们只是列举五个比较典型的应用。
OpenFlow在校园网络中的应用。如果我们可以让校园网具有OpenFlow特征,则可以为学生和科研人员实现新协议和新算法提供一个试验平台。OpenFlow网络试验平台不仅更接近真实网络的复杂度,实验效果更好,而且可以节约实验费用。现在已经有包括斯坦福大学在内的几所高校部署了OpenFlow交换机,取得了很好的实验效果。
OpenFlow在广域网和移动网络中的应用。在广域网和移动网络中添加具有OpenFlow特征的节点,将带来众多的好处。例如,可以使得固网和移动网络实现无缝控制、使得VPN的管理更加灵活等。NEC 已经利用OpenFlow控制技术对快速、宽带的移动网络进行高效、灵活的网络管理,并解决了两个课题。首先,在多个移动通信方式实现动态切换。在移动通信混杂时以及通信环境恶化时,动态切换通信方式,将满足通信服务所需的服务品质,提供给终端用户。其次,移动回环网络的节能。在一天当中通信量相对较少的夜晚时段,可以汇集网络路径,关闭多余的中转基站的电源,从而节省能源。
OpenFlow在数据中心网络中的应用。在数据中心网络中使用OpenFlow交换机,可以使得网络和计算资源更加紧密的联系起来并实现有效的控制。数据中心的数据流量很大,如果不能合理分配传输路径很容易造成数据拥塞,从而影响数据中心的高效运行。若在数据中心网络中添加OpenFlow交换机,则可以实现路径优化以及负载均衡,从而使得数据交换更加迅速。
OpenFlow在网络管理和安全控制中的应用。如果网络是基于OpenFlow技术实现的,则经过OpenFlow交换机的每个新的数据流都必须由控制器来做出转发决定。在控制器中可以对这些流按照预先制定的规则进行检查,然后由控制器指定数据流的传输路径以及流的处理策略,从而更好的控制网络。更为重要的是,在内部网络和外网的连接处应用OpenFlow交换机可以通过更改数据流的路径以及拒绝某些数据流来增强企业内网的安全性。
基于OpenFlow实现SDN(Software Defined Network)。在SDN中,交换设备的数据转发层和控制层是分离的,因此网络协议和交换策略的升级只需要改动控制层。OpenFlow在OpenFlow交换机上实现数据转发,而在控制器上实现数据的转发控制,从而实现了数据转发层和控制层的分离。基于OpenFlow实现SDN,则在网络中实现了软硬件的分离以及底层硬件的虚拟化,从而为网络的发展提供了一个良好的发展平台。