当前位置: 首页 > 工具软件 > OpenFlow > 使用案例 >

OpenFlow:简述OpenFlow协议的演进

林涵映
2023-12-01

OpenFlow:简述OpenFlow协议的演进


  1. OpenFlow:简述对OpenFlow协议的认识
  2. OpenFlow:简述OpenFlow协议的演进
  3. OpenFlow:简述对OpenFlow协议1.0的认识
  4. OpenFlow:简述对OpenFlow协议1.3的认识

     本文简单介绍一下OpenFlow协议中1.0到1.4版本的主要演进过程。

一、OpenFlow协议1.0

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

二、OpenFlow协议1.1

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

三、OpenFlow协议1.2

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

四、OpenFlow协议1.3

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

五、OpenFlow协议1.4

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

六、总结

协议版本主要功能
OpenFlow 1.0单表、IPV4
OpenFlow 1.1多级流表、组表、MPLS、VLAN
OpenFlow 1.2多控制器、IPV6
OpenFlow 1.3Meter表、版本协商能力
OpenFlow 1. 4流表同步、协议消息完善
OpenFlow 1.5数据包类型识别流程(以太网数据包、PPP数据包)egress Table

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


参考:

  1. http://www.eeworld.com.cn/wltx/2014/0617/article_12352.html
 类似资料: