OpenFlow v1.3.5 VS v1.5.1差异分析

作者简介:隙中驹,开放网络拥护者及实践者,熟悉传统网络技术及行业解决方案,关注SDN/NFV等ICT融合技术。 email:51283237@qq.com

OpenFlow协议从2009年发布的v1.0到最近版本2015年的v1.5.1,版本在不断演进和迭代中持续对协议进行丰富和完善。

图-1 OF版本演进

目前业界实现和使用较多的是v1.3版本,也有部分厂商已宣称全面支持最近的v1.5版本。本文尝试选取v1.3.5和v1.5.1两个版本进行主要差异点对比分析,以期对希望更进一步了解版本差异的读者有所参考。

1)消息类型
v1.5.1中,Asynchronous中增加了三种消息类型,分别是Role-status、Controller-status和Flow-monitor。v1.3.5中Asynchronous的error消息,在v1.5.1的Symmetric消息中重新进行了定义,允许controller向switch发error消息。

同时在V1.5.1中已经提供了批量处理报文的bundle机制,并新增了schedule bundle。

图-2 schedule bundle procedure

2)Multipart消息格式
v1.5.1中对v1.3.5 multipart的Statistics消息重新进行了定义,如queue statistics响应消息。

3)Packet type field
在v1.3.5中,pipeline仅能处理以太类型报文,在v1.5.1中对packet type进行了扩充。

同时通过带namespace的header定义,可以支持更多的协议类型匹配。

4)Ports
v1.5.1中,OpenFlow对port的分类没有改变,仍是:物理端口,逻辑端口和保留端口。但增加了一个端口操作定义port recirculation。允许发送到逻辑端口的报文经过该端口或其他逻辑口重新返回switch。

5)Table
Table增加egress table处理,用于在出口对报文进行规则控制。

  • v1.3.5 Match处理流程
  • v1.5.1 match处理流程

6)OXS TLV
v1.5.1中,引入OpenFlow eXtensible Statistics(OXS)编码格式,用于flow entry统计消息格式定义。

7)Actions
v1.5.1增加copy filed action用于对packet header或packet register指定长度字段copy,同时将对meter表的操作从instruction类型中移除,增加到action,即 OFPAT_METER。

以上内容仅针对v1.3.5和v1.5.1的主要协议差异点进行对比说明,尚未穷尽所有细节变化,更详尽的版本演进点,读者可参考v1.5.1规范的Release Notes进行对比分析。


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/22385.html
分享到:
相关文章
条评论

登录后才可以评论

隙中驹 发表于18-09-25
0