码迷,mamicode.com
首页 > 其他好文 > 详细

OpenFlow交换机的实现总结

时间:2017-08-31 14:29:55      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:补充   技术分享   就会   通过   部分   数据流   转发   结构   基于   

先粗略介绍,后续会逐渐完善。

OpenFlow交换机通过使用OpenFlow协议的安全通道与控制器进行通信。其具体实现如下示意图所示:

技术分享

对于一个新到达的数据流,交换机通常的做法是,把该数据包发送给控制器,由控制器来决定数据包的下一步操作。至于已存在的,则会直接根据原有的发送路径,发往目的点。

根据上图,在实际中,交换机内部通常由两个表,一个是组表还有一个就是流表,组表目前只是初涉猎,暂不解释,后续补充。流表是由流条目构成,其结构可以抽象为下图:

技术分享

也就是说,每个流表是由多个流条目组成的,而每个流条目对应的就是实际中的一种数据流(目前的理解),当数据流经过OpenFlow交换机的时候,交换机就会根据数据流所带的这些条目进行匹配,来决定对这些数据流的相应操作指示。因此,对于每个流条目,它也具有相应的报文结构,大致分为三个部分,如下所示:
技术分享

一般而言为匹配字段、计数以及指示段三个部分组成。当一个流条目进入一个OpenFlow交换机后,会根据流表自身的优先级顺序决定匹配的先后次序,若匹配成功,则会执行相应的指示字段所对应的指示,对匹配成功的数据包进行下一步的操作;倘若匹配失败,则会基于交换机本身的配置,来处理流条目,比如发送给远程交换机,丢掉该数据包,或者继续发送给下一个流表,或者洪范广播等。

而对于流表之间的传递通道是用于表与表之间的通信,通常是以元数据的形式,将数据包发送给后续表(目前认为是优先级较低的表)来进行进一步处理和允许信息。当与匹配流条目关联的指令集不指定下一个表的时候,传递途径就会被关闭。在这一点上,数据包通常被修改并转发。

 

OpenFlow交换机的实现总结

标签:补充   技术分享   就会   通过   部分   数据流   转发   结构   基于   

原文地址:http://www.cnblogs.com/sgatbl/p/7457762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!