初识OpenFlow协议:工作原理

日期: 2012-03-01 作者:David B. Jacobs翻译:曾少宁 来源:TechTarget中国 英文

OpenFlow是一种交换技术,刚开始它是2008年斯坦福大学的一个研究项目,但现在它已经引起了网络设备供应商和大型交换网络管理员的广泛关注。使用OpenFlow协议建立软件定义网络,可以将网络作为一个整体而不是无数的独立设备进行管理。   传统交换机使用生成树协议或其他一些新标准(如多链路透明互连,TRILL)来确定数据包转发路径。而OpenFlow将转发决策从各个交换机转移到控制器上,这一般是服务器或工作站。

  管理应用程序执行控制器,负责与所有网络交换机进行交互,配置数据转发路径,从而提高带宽利用率。这个应用程序与云管理软件进行交互,保证有足够的带宽支持负载的创建和变化。   Open……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

OpenFlow是一种交换技术,刚开始它是2008年斯坦福大学的一个研究项目,但现在它已经引起了网络设备供应商和大型交换网络管理员的广泛关注。使用OpenFlow协议建立软件定义网络,可以将网络作为一个整体而不是无数的独立设备进行管理。

  传统交换机使用生成树协议或其他一些新标准(如多链路透明互连,TRILL)来确定数据包转发路径。而OpenFlow将转发决策从各个交换机转移到控制器上,这一般是服务器或工作站。

  管理应用程序执行控制器,负责与所有网络交换机进行交互,配置数据转发路径,从而提高带宽利用率。这个应用程序与云管理软件进行交互,保证有足够的带宽支持负载的创建和变化。

  OpenFlow协议操作

  OpenFlow标准定义了控制器与交换机之间的交互协议,以及一组交换机操作。这个控制器—交换机协议运行在安全传输层协议(TLS)或无保护TCP连接之上。控制器向交换机发送指令,控制数据包的转发方式,以及配置参数,如VLAN优先级。交换机会在链路中断或出现未指定转发指令的数据包时,发送消息通知控制器。

  转发指令基于流,这个流由所有数据包共享的通用特性组成。定义流需要指定许多参数,其中可能包括:数据包到达的交换机端口、来源以太网端口、来源IP端口、VLAN标签、目标以太网或IP端口及许多其他数据包特性。控制器会在交换机上设置一组参数,用于定义各个流,以及匹配流的数据包处理方式。

  每一个交换机都维护着许多路由表,而每一个表又包含多个路由记录。每一条路由记录包含一个匹配域,它定义了流、计数器和指令集。匹配域中记录的项目可能包含一个与到达数据包相对应的比较参数值,或者一个表示流的参数集中不存在此记录的指示值。

  路由表的编号从0开始,到达的数据包对表0的记录进行比较。如果匹配,路由计数会增加,然后执行指定的指令集。如果到达的数据包不匹配任何路由表记录,那么必须创建一个新流。有的交换机可能直接丢弃未定义的流,但是大多数情况下,数据包都会转发到控制器上。然后,控制器为该数据包定义一个新流,并且创建一个或多个路由表记录。然后,它会将记录发送到交换机上,并增加路由表。最后,数据包会被送回交换机,使用新创建的路由记录进行处理。

  路由表指令会修改每一个数据包所设置的操作。一开始,数据包会使用空操作集进行处理。这些操作可能要求数据包通过指定的端口进行转发,或者需要修改数据包TTL、VLAN、MPLS标签或数据包QoS。

  第一个路由表的指令可能会对数据包执行操作,或者增加一些将来执行的操作。这些指令会将数据包与其他路由表记录进行比较,控制数据包的后续处理。后续路由表的记录的指令可能会进一步增加操作,删除或修改之前添加的操作,或者执行其他一些操作。

  在将数据包发送到下一路由表之前,指令也可能会给数据包增加一个元素数据值。这个值就成为额外参数,它会与下一个路由表的记录的元数据值进行匹配。数据包会逐个表地进行处理,直到所有指令都处理完,并且数据包成功转发。

  指令可能会指定一个组标识符。组是一种为数据包指定在多个流中执行相同操作集的高效方法。组操作定义在交换机的组表记录。每一个记录都包括标识符值、组类型、计数器和操作集。组类型规定是否所有操作集都会执行,这很适合用于实现广播或多播,或者规定只执行某些特定的操作集。

    本文阐释了OpenFlow的工作原理,《初识OpenFlow协议:三种消息》将介绍组成OpenFlow的三种消息和OpenFlow的前景。

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐