浅谈SDN—软件定义网络与OpenFlow技术
作者:王明昊
来源:《数字技术与应用》2013年第03期
摘要:多年来,网络技术一直在发生变化,但这些变化幅度不大,且具有可预期性。但就在去年,由于SDN“软件定义网络”的出现,所有一切都发生了改变。这项新技术的核心内容是OpenFlow ,这是一种协议,能够让中央处理器和操作系统上的软件对整个网络和流量模式进行控制。
关键词:软件定义网络 OpenFlow技术 OpenFlow的应用
中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2013)03-0245-01 1 软件定义网络
2008年美国斯坦福大学提了一种新型网络架构--软件定义网络(Software Defined Network),它的核心技术是OpenFlow技术。它将网络设备控制面与数据面分离,灵活实现对网络流量的控制。
SDN网络能够以抽象化的方式解决网络的复杂性问题,正在逐步改变着存储系统的部署方式和管理方式。开放性是软件定义网络的关键所在,开放的软件定义网络有如下优点: (1)任何一名开发人员都可编写软件,在网络的使用方式、操作方式上实现灵活性; (2)用户能够以更快的速度获得想要的功能;
(3)可以降低操作费用和减少错误的数量,从而减少了网络的故障时间; (4)能实现网络的虚拟化,可以把网络、计算和存储融为一体; (5)可容易地与计算功能整合,便于开展资源管理和维护;
(6)是一种把流量表信息传递至网络的标准方式,可促进形成一个容纳各种供应商的开放式市场。
2 OpenFlow技术
龙源期刊网 http://www.qikan.com.cn
OpenFlow技术核心是用OpenFlow交换机和控制服务器分别独立完成数据包转发,替代了传统交换机/路由器控制的数据包转发过程。
这种转变际上是控制权的变化:传统网络是人为指数据包流向,交换机、路由器没有数据流的概念,只进行数据包级别的交换;而在OpenFlow网络中,传统路由被统一的控制服务器所取代,统一的控制服务器决定数据包在网络如何传输。 3 如何对路由器中的OpenFlow标准协议进行操作
OpenFlow是一种交换技术,使用OpenFlow协议建立软件定义网络,可以将网络作为一个整体而不是无数的独立设备进行管理。
(1)传统网络中由生成树协议或其他一些新标准来决定数据包转发路径。而OpenFlow及时将使用控制器来替代路由器实施转发决策,控制器可以是服务器或工作站或者管理应用程序执行控制器。控制器同所有网络路由器进行交互,配置数据转发路径,从而提高带宽利用率。这个应用程序与云管理软件进行交互,保证有足够的带宽支持负载的创建和变化。 (2)OpenFlow标准定义了控制器与路由器之间的交互协议,以及一组路由器操作。这个控制器--路由器协议运行在安全传输层协议或无保护TCP连接之上。控制器向路由器发送指令,控制数据包的转发方式,以及配置参数,如VLAN优先级。路由器会在链路中断或出现未指定转发指令的数据包时,发送消息通知控制器。
(3)转发指令基于流,这个流包含所有数据包共享的通用特性。定义流需要指定许多参数,其中可能包括:数据包到达的路由器端口、来源IP端口、VLAN标签、来源以太网端口、目标以太网或IP端口及许多其他数据包特性。各个流的定义是由控制器会在路由器上设置一组参数实现的,控制器还匹配流的数据包处理方式。
(4)路由器维护着很多路由表,而每一个表又包含多条路由记录。每一条路由记录又包含一个匹配域,它定义了指令集、计数器和流。匹配域中记录的项目可能包含一个与到达数据包相对应的比较参数值,或者一个表示流的参数集中不存在此记录的指示值。 (5)路由表的编号从0开始,数据包到达后对表0的记录进行比较: 若匹配,路由计数增加,然后执行指定的指令集。
若到达的数据包不匹配任何路由表记录,那么要创建一个新流。
未定义的流可能被一些路由器直接丢弃,但是大多数情况下,数据包都会被转发到控制器上。然后,控制器为这个未定义的数据包定义一个新流,并且创建一个或多个路由记录。控制器会将创建的记录发送到路由器上增加路由表。最后,路由器接收被送回的数据包并使用新创建的路由记录进行处理。
龙源期刊网 http://www.qikan.com.cn
(6)路由表指令会修改每一个数据包所设置的操作。开始,数据包会使用空操作集进行处理。这些操作可能要求数据包通过指定的端口进行转发,或者需要修改数据包的TTL、VLAN、MPLS标签或数据包的QoS。
(7)第一个路由表的指令可能会对数据包执行操作,或者增加一些将来执行的操作。这些指令会将数据包与其他路由表记录进行比较,控制数据包的后续处理。后续路由表的记录的指令可能会进一步增加操作,删除或修改之前添加的操作,或者执行其他一些操作。 (8)指令可能会给数据包增加一个元数据值,在这个数据包被发送到下一路由表之前。这个值会会与下一个路由表记录的元数据值进行匹配。数据包会逐个表地进行处理,直到所有指令都处理完,并且数据包成功转发。 4 结语
OpenFlow是一个巧妙的折中。它使得在多样的交换机和路由器上进行试验成为了可能,而且不需要生产商公布设备的内部工作原理,同时又不需要研究人员按照开发商的指定的规范去写控制软件。它提供一个网络创新的平台。在这个平台上,研究人员可以在商业网络上更真实的验证新协议和新算法来达到网络创新的目的。
OpenFlow开启了一条网络创新的新思路。OpenFlow实现了数据转发和路由控制的分离,并且定义了底层数据通路对外开放的一个操作集合。研究人员的编程可以通过控制器上自由的调用底层操作来实现,从而实现网络的创新与改革。 参考文献
[1]郭春梅,张如辉,毕学尧.SDN网络技术及其安全性研究[J].信息网络安全,2012(08). [2]王丽君,刘永强,张健.基于OpenFlow的未来互联网试验技术研究[J].电信网技术,2011(06).
[3]黄宝座,赵喜求.OpenFlow技术及应用优势分析[J].电脑知识与技术,2012(09). [4]韦兴军.OpenFlow交换机模型及关键技术研究与实现[D].国防科学技术大学,2008.
因篇幅问题不能全部显示,请点此查看更多更全内容