OpenFlow协议标准演进过程

发布者:彭勇最新更新时间:2014-06-17 来源: ZDnet关键字:OpenFlow  协议 手机看文章 扫描二维码
随时随地手机看文章

  OpenFlow是一种新型网络协议,起源于斯坦福大学的Clean Slate项目组。OpenFlow提出的出发点是由于研究人员无法改变现有网络设备进行创新网络架构和协议的研究和实验,而这些新的网络创新思想恰恰需要在实际的网络上才能更好地验证。斯坦福大学因此提出了控制转发分离架构,将控制逻辑从网络设备中分离出来,交给中央控制器集中统一控制,实现网络业务的灵活部署,并且他们设计了OpenFlow协议作为控制器与交换机通讯的标准接口。近年OpenFlow已经引起了网络设备商和网络管理员的广泛关注,使用OpenFlow协议实现软件定义网络,可以把网络作为一个整体而不是许多独立分散的设备来集中进行管理,大大提升了网络可用性和网络管理效率。

  OpenFlow的思路很简单,网络设备维护一个或者若干个流表,并且数据流只按照这些流表进行转发。流表本身的生成、维护完全由外置的控制器来管理。流表项并非仅指普通的IP五元组,而是由一些关键字和执行动作组成的灵活规则,并且每个关键字字段都是可以通配的。在实际应用中,网络管理人员可以通过配置流表项中具体的匹配关键字来决定使用何种粒度的流转发规则。例如,如果只需要根据目的IP进行路由,那么下发流表项时,关键字只匹配目的IP字段,其它关键字全通配,而动作中只需要一个出端口即可实现常规的IP路由转发。

  自2009年底发布第一个正式版本v1.0以来,OpenFlow协议已经经历了1.1、1.2、1.3以及最新发布的1.4等版本的演进过程。同时,2012年OpenFlow管理和配置协议也发布了第一个版本(OF-CONFIG1.0&1.1),用于配合OpenFlow协议进行自动化的网络部署。图1给出了OpenFlow协议各个版本的演进过程和主要变化,目前使用和支持最多的是OpenFlow1.0和OpenFlow1.3版本,图2说明了这两个版本的主要变化。

  图1:OpenFlow协议版本演进图

  OpenFlow协议是描述控制器和交换机之间交互信息的南向接口标准。OpenFlow协议支持三类消息类型:Controller-to-Switch,Asynchronous和Symmetric,每一种类型都有多个子类型,控制器和交换机之间通过这三类消息进行连接建立,流表下发和信息交换,实现对网络中所有OpenFlow交换机的控制。

 

  图2:OpenFlow1.0到1.3版本演进的主要结构变化

  下面简单介绍一下OpenFlow协议中1.0到1.4版本的主要变化过程。

  OpenFlow1.0版本的优势是它可以与现有的商业交换芯片兼容,通过在传统交换机上升级固件就可以支持OpenFlow1.0版本,既方便OpenFlow的推广使用也有效保护了用户的投资,因此OpenFlow1.0是目前使用和支持最广泛的协议版本。

  自OpenFlow1.1版本开始支持多级流表,将流表匹配过程分解成多个步骤,形成流水线处理方式,这样可以有效和灵活利用硬件内部固有的多表特性,同时把数据包处理流程分解到不同的流表中也避免了单流表过度膨胀问题。除此之外OpenFlow1.1中还增加了对于VLAN和MPLS标签的处理,并且增加了Group表,通过在不同流表项动作中引用相同的组表实现对数据包执行相同的动作,简化了流表的维护。OpenFlow1.1版本是OpenFlow协议版本发展的一个分水岭,它和OpenFlow1.0版本开始不兼容,但后续版本仍然还是在此基础上发展。

  为了更好支持协议的可扩展性, OpenFlow1.2版本发展为下发规则的匹配字段不再通过固定长度的结构来定义,而是采用了TLV结构定义匹配字段,称为OXM(OpenFlow Extensible Match),这样用户就可以灵活的下发自己的匹配字段,增加了更多关键字匹配字段的同时也节省了流表空间。同时,OpenFlow1.2规定可以使用多台控制器和同一台交换机进行连接增加可靠性,并且多控制器可以通过发送消息来变换自己的角色。还有重要的一点是自OpenFlow1.2版本开始支持IPv6。

  经过1.1和1.2版本的演变积累,2012年4月发布的OpenFlow1.3版本成为长期支持的稳定版本。OpenFlow1.3流表支持的匹配关键字已经增加到40个,足以满足现有网络应用的需要。OpenFlow1.3主要还增加了Meter表,用于控制关联流表的数据包的传送速率,但控制方式目前还相对简单。OpenFlow1.3还改进了版本协商过程,允许交换机和控制器根据自己的能力协商支持的OpenFlow协议版本。同时,连接建立也增加了辅助连接提高交换机的处理效率和实现应用的并行性。其它还有IPv6扩展头和Table-miss表项的支持。

  2013年最新发布的OpenFlow1.4版本仍然是基于1.3版本的特征改进版本,数据转发层面没有太大变化,主要是增加了一种流表同步机制,多个流表可以共享相同的匹配字段,但可以定义不同的动作;另外又增加了Bundle消息,确保控制器下发一组完整消息或同时向多个交换机下发消息的状态一致性。其它还支持光口属性描述,多控制器相关的流表监控等特征。

  OpenFlow协议的发展演进一直都围绕着两个方面,一方面是控制面增强,让系统功能更丰富更灵活;另一方面是转发层面的增强,可以匹配更多的关键字,执行更多的动作。每一个后续版本的OpenFlow协议都在前一版本的基础上进行了或多或少的改进,但自OpenFlow1.1版本开始和之前版本不兼容,OpenFlow协议官方维护组织ONF为了保证产业界有一个稳定发展的平台,把OpenFlow1.0和1.3版本作为长期支持的稳定版本,一段时间内后续版本发展要保持和稳定版本的兼容。

  OpenFlow1.0协议指定每个OpenFlow交换机中都存在一张流表,用于数据包查找、处理和转发,并且只能同一台控制器进行通信,流表的维护也是通过控制器下发相应的OpenFlow消息来实现。流表由多个流表项组成,而每个流表项就是一个转发规则。流表项由匹配字段、计数器和动作组成。其中匹配字段是流表项的标识,OpenFlow1.0支持12个匹配字段;计数器用于流表项的匹配和收发包统计;动作指示对匹配流表项的数据包应该执行的动作,如转发到另一端口,丢弃或送控制器处理,甚至可以修改数据包字段转发。但OpenFlow1.0只支持IPv4。

  图3:OpenFlow1.0测试规范概要

关键字:OpenFlow  协议 引用地址:OpenFlow协议标准演进过程

上一篇:迈克菲:大数据处理能力是SIEM的核心
下一篇:IEEE 25GE标准制定提上日程

推荐阅读最新更新时间:2024-05-07 17:09

中国电信与威盛集团续签战略合作协议
昨日,中国电信与威盛集团正式续签战略合作协议,双方宣布进一步推进在技术合作、产品研发、产业促进等领域的全方位合作,延续和发展双方的战略合作伙伴关系,携手共进,共同促进中国CDMA产业发展。 中国电信天翼终端有限公司总经理马道杰和威盛集 团威睿电通CEO张可交换战略合作协议文本 中国电信集团公司总经理王晓初、威盛集团董事长王雪红出席签约仪式并致辞。中国电信天翼终端有限公司总经理马道杰、威盛集团威睿电通CEO张可代表双方签署战略合作协议。出席本次签约仪式的还有中国电信相关领导、威盛集团相关领导。 中国电信天翼终端有限公司总经理马道杰和威盛集团威睿电通CEO张可代表双方签署战略合作协议 中国电信与威盛集团战
[网络通信]
X-FAB与莱布尼茨IHP研究所达成许可协议
推出创新的130纳米SiGe BiCMOS平台 中国北京,2022年9月13日—— 全球公认的卓越的模拟/混合信号晶圆代工厂X-FAB Silicon Foundries(“X-FAB”)与莱布尼茨IHP研究所今日共同宣布,将推出创新的130纳米SiGe BiCMOS平台,进一步扩大与莱布尼茨高性能微电子研究所(IHP)的长期合作关系。 作为新协议的一部分,X-FAB将获得IHP的尖端SiGe技术授权,将这一技术的性能优势带给大批量市场的客户群体。 130纳米SiGe BiCMOS平台 新创建的130纳米平台显著加强了X-FAB的技术组合,提供了独特的解决方案,达到满足下一代通信要求所需的更高性能参数。受益于这项技
[工业控制]
X-FAB与莱布尼茨IHP研究所达成许可<font color='red'>协议</font>
贸泽电子与Yazaki Corporation 签订全球分销协议
贸泽电子与Yazaki Corporation 签订全球分销协议 向用户提供高品质车用元器件 2023年2月9日 – 专注于引入新品的全球半导体和电子元器件授权分销商贸泽电子 (Mouser Electronics) 宣布与Yazaki Corporation签订了全球分销协议。 Yazaki Corporation是全球知名制造商,主要致力于连接器、线束、仪表以及其他高品质车用产品。 贸泽现在库存有Yazaki的各种新款电气连接器,包括1.5系列连接器 。1.5 系列有密封和非密封两种版本,垂直端子间距为6.50 mm,公端子的插片宽度为1.5 mm, 覆盖从0.3 mm²到1.25 mm²的导线尺寸。该系列连
[物联网]
贸泽电子与Yazaki Corporation 签订全球分销<font color='red'>协议</font>
SPI UART TWI 三种串行总线协议的区别
1.SPI(Serial Peripheral Interface:串行外设接口)   管脚:SS/SCK/MOSI(SDO)/MISO(SDI)   结构:一个始终发生器、两个移位寄存器(主从各一个);     使用:初始化(完成对两器件器件SPI使能、主从设置、SCK设置、IO方向、采样沿);              编写数据读/写函数(只要发生一次数据传送,两器件的SPIF位就会置位,从而读写);               必要时加入中断程序;   注意:两个寄存器是互通的,其工作过程见网硬盘,从百度文库搜集。因此主机读从机数据必须发送两个字节,第一个是命令字节,告诉从机要准备数据于从机SPD
[嵌入式]
阳光电源与韩国三星C&T签署卡塔尔814MW项目供货协议
近日,阳光电源与韩国三星C&T公司签署了卡塔尔814MWac光伏项目供货协议,将为其提供组串式逆变器SG320HX及中压箱变MVS8850-LV整体解决方案。该电站并网后将成为卡塔尔最大光伏电站,大幅提升当地绿色能源比例,有效抵消油气资源的碳排放,助力当地低碳转型。 卡塔尔作为全球重要能源出口国,工业城市众多、油气设施碳排放量大,在碳中和背景下,能源转型迫在眉睫。此次签约的814MWac光伏项目是当地建设的第二座光伏电站,可为Ras Laffan和Masaieed两座工业城市提供绿电。据统计,该电站每年约可产生18亿度清洁电力,相当于减排二氧化碳90万吨,可以满足14万卡塔尔居民的全年用电*,将成为卡塔尔迈向碳中和的主引擎。 “
[新能源]
基于stm8的IIC协议---DS3231时钟模块读取
一、综述 上一篇协议已经详细解说了iic协议的各个函数,通过上一篇协议,相信大家已经对iic有了一定的认识。这一篇博客,我是利用了IIC协议来实现DS3231传感。刚学习的朋友可以买一块来试手,上手较为简单。 二、具体任务实现步骤 1.硬件上: 接线较为简单,保证传感接地与接上电源,由数据手册可以知道,电源要接3.3v,过大电流会烧坏传感。SDA 与 SCL两个引脚分别接自己定义的 2.软件上: (1)官方手册 这里给出的数据手册是英文版的,可以自行提取,需要中文版的可以自己去淘宝搜索一下,看一些相关的介绍和去百度找中文资料手册。 链接:https://pan.baidu.com/s/1Oo6o68SoVr
[单片机]
基于stm8的IIC<font color='red'>协议</font>---DS3231时钟模块读取
蜂巢能源霍伊斯韦勒模组PACK工厂在德国萨尔州正式签署租赁协议
  德国当地时间12月9日下午,蜂巢能源欧洲公司就其位于萨尔州的霍伊斯韦勒模组PACK工厂项目,与工厂项目组(PBH)正式签署了长期租赁协议(项目采取政府代建,企业长期租赁模式)。协议的正式签署不仅意味着蜂巢能源德国第一工厂的建设进度进入新的里程碑,也代表着蜂巢能源在欧洲的业务拓展又迈出坚实的一步。   萨尔州州长安克·雷林格和经济事务部部长于尔根·巴克、蜂巢能源联席首席运营官张锋、欧洲业务总裁武凯威(Kai-Uwe Wollenhaupt)、霍伊斯韦勒电池工厂项目组(PBH)执行董事会成员丽塔·珍多夫·瓦格纳(Rita Gindorf-Wagner)和托马斯·舒克(Thomas Schuck)等各方代表出席
[新能源]
N76E003红外编码程序及NEC协议分析
N76E003是一款带有flash的增强型8位8051内核单片机,指令集与标准的80C51完全兼容,并且内置16M晶振,故在51上使用的红外发射程序,修改一下定时器数据(晶振不同),就可在N76E003上运行,本文重点说一下NEC红外协议,电路等。完整工程文件可以看此处 由于 NEC协议需要工作在38kHZ载波上,在N76E003中我们使用定时器0来产生,由下图可得知相关寄存器设置方法 定时器0配置代码如下 //总中断开 EA=1; //设置定时器0位16位模式 TMOD=0x01; //定时器0中断允许 ET0=1; //设定定时大小 38K 等于 26us中断一次
[单片机]
N76E003红外编码程序及NEC<font color='red'>协议</font>分析
小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved