OPENFLOW协议通信流程,openflow协议工作原理与流程
本作品内容为OPENFLOW协议通信流程,格式为 docx ,大小 15807 KB ,页数为 9页
('OPENFLOW协议通信流程篇一:Openflow协议通信流程解读Openflow协议通信流程解读前言接触了这么久的SDN,Openflow协议前前后后也读过好多遍,但是一直没有时间总结一下自己的一些见解。现在有时间了,就写一写自己对Openflow协议通信流程的一些理解。SDN中Switch和controller在SDN中很重要的两个实体是Switch跟Controller。Controller在网络中相当于上帝,可以知道网络中所有的消息,可以给交换机下发指令。Switch就是一个实现Controller指令的实体,只不过这个交换机跟传统的交换机不一样,他的转发规则由流表指定,而流表由控制器发送。switch组成与传统交换机的差异switch组成switch由一个SecureChannel和一个flowtable组成,of1.3之后table变成多级流表,有256级。而of1.0中table只在table0中。?SecureChannel是与控制器通信的模块,switch和controller之间的连接时通过socket连接实现。?Flowtable里面存放这数据的转发规则,是switch的交换转发模块。数据进入switch之后,在table中寻找对应的flow进行匹配,并执行相应的action,若无匹配的flow则产生packet_in(后面有讲)of中sw与传统交换机的差异?匹配层次高达4层,可以匹配到端口,而传统交换机只是2层的设备。运行of协议,实现许多路由器的功能,比如组播。求补充!!(如果你知道,请告诉我,非常感谢!)??openflow的switch可以从以下方式获得?实体of交换机,目前市场上有一些厂商已经制造出of交换机,但是普遍反映价格较贵!性能最好。?在实体机上安装OVS,OVS可以使计算机变成一个openflow交换机。性能相对稳定。?使用mininet模拟环境。可以搭建许多交换机,任意拓扑,搭建拓扑具体教程本博客有一篇。性能依赖虚拟机的性能。controller组成控制器有许多种,不同的语言,如python写的pox,ryu,如java写的floodlight等等。从功能层面controller分为以下几个模块:?底层通信模块:openflow中目前controller与switch之间使用的是socket连接,所以控制器底层的通信是socket。?openflow协议。socket收到的数据的处理规则需按照openflow协议去处理。上层应用:根据openflow协议处理后的数据,开发上层应用,比如pox中就l2_learning,l3_learning等应用。更多的应用需要用户自己去开发。?Openflow通信流程以下教程环境为:mininet+自编简单控制器建立连接首先启动mininet,mininet会自行启动一个default拓扑,你也可以自己建立你的拓扑。sw建立完成之后,会像controllerIP:controllerport发送数据。controller启动之后,监听指定端口,默认6633,但是好像以后的都改了,因为该端口被其他协议占用。3次握手之后,建立连接,这个是底层的通信,是整一套系统的基础设施。OFPT_HELLO创建socket之后,sw跟controller会彼此发送hello数据包。?目的:协议协商。内容:本方支持的最高版本的协议成果:使用双方都支持的最低版本协议。成功:建立连接失败:OFPT_ERROR(TYPE:OFPT_HELLO_FAILED,CODE=0),终止连接。????OFPT_ERROR说到OFPT_ERROR,我们不妨先了解一下。错误类型如上所示。对应的type还会有对应的code.所以报错的格式为:如TYPE:0CODE:0为:OFPHFC_INCOMPATIBLE具体对应的关系,请自行查看OF协议。OFPT_ECHO?分类:对称信息OFPT_ECHO_REQUEST,OFPT_ECHO_REPLY作用:查询连接状态,确保通信通畅。?当没有其他的数据包进行交换时,controller会定期循环给sw发送OFPT_ECHO_REQUEST。OFPT_FEATURES当sw跟controller完成连接之后,控制器会向交换机下发OFPT_FEATYRES_REQUEST的数据包,目的是请求交换机的信息。?发送时间:连接建立完成之后发送数据:OFPT_FEATURES_REQUEST对称数据:OFPT_FEATURES_REPLY目的:获取交换机的信息???OFPT_FEATURES_REQUEST?TYPE=5Withoutdata?OFPT_FEATURES_REPLY?TYPE=6篇二:Openflow协议通信流程解读Openflow协议通信流程解读分类:openflow协议分析2013-12-3019:01887人阅读评论(1)收藏举报目录(?)[-]???????controller组成????????OFPT_FEATURES_REPLY??????篇三:OpenFlow协议标准演进过程OpenFlow协议标准演进过程OpenFlow是一种新型网络协议,起源于斯坦福大学的CleanSlate项目组。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说明了这两个版本的主要变化。···多表MPLSGroup··IPv6多Controller····重构能力协商IPv6扩展头Meter辅助连接··流表同步机制Bundling消息功能:··单表IPv4图1:OpenFlow协议版本演进图OpenFlow协议是描述控制器和交换机之间交互信息的南向接口标准。OpenFlow协议支持三类消息类型:Controller-to-Switch,Asynchronous和Symmetric,每一种类型都有多个子类型,控制器和交换机之间通过这三类消息进行连接建立,流表下发和信息交换,实现对网络中所有OpenFlow交换机的控制。图2:OpenFlow1.0到1.3版本演进的主要结构变化下面简单介绍一下OpenFlow协议中1.0到1.4版本的主要变化过程。OpenFlow1.0协议指定每个OpenFlow交换机中都存在一张流表,用于数据包查找、处理和转发,并且只能同一台控制器进行通信,流表的维护也是通过控制器下发相应的OpenFlow消息来实现。流表由多个流表项组成,而每个流表项就是一个转发规则。流表项由匹配字段、计数器和动作组成。其中匹配字段是流表项的标识,OpenFlow1.0支持12个匹配字段;计数器用于流表项的匹配和收发包统计;动作指示对匹配流表项的数据包应该执行的动作,如转发到另一端口,丢弃或送控制器处理,甚至可以修改数据包字段转发。但OpenFlow1.0只支持IPv4。OpenFlow1.0版本的优势是它可以与现有的商业交换芯片兼容,通过在传统交换机上升级固件就可以支持OpenFlow1.0版本,既方便OpenFlow的推广使用也有效保护了用户的投资,因此OpenFlow1.0是目前使用和支持最广泛的协议版本。自OpenFlow1.1版本开始支持多级流表,将流表匹配过程分解成多个步骤,形成流水线处理方式,这样可以有效和灵活利用硬件内部固有的多表特性,同时把数据包处理流程分解到不同的流表中也避免了单流表过度膨胀问题。除此之外OpenFlow1.1中还增加了对于VLAN和MPLS标签的处理,并且增加了Group表,通过在不同流表项动作中引用相同的组表实现对数据包执行相同的动作,简化了流表的维护。OpenFlow1.1版本是OpenFlow协议版本发展的一个分水岭,它和OpenFlow1.0版本开始不兼容,但后续版本仍然还是在此基础上发展。为了更好支持协议的可扩展性,OpenFlow1.2版本发展为下发规则的匹配字段不再通过固定长度的结构来定义,而是采用了TLV结构定义匹配字段,称为OXM(OpenFlowExtensibleMatch),这样用户就可以灵活的下发自己的匹配字段,增加了更多关键字匹配字段的同时也节省了流表空间。同时,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版本作为长期支持的稳定版本,一段时间内后续版本发展要保持和稳定版本的兼容。图3:OpenFlow1.0测试规范概要',)
提供OPENFLOW协议通信流程,openflow协议工作原理与流程会员下载,编号:1700665619,格式为 docx,文件大小为9页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。