首页 OpenFlow网络技术原理介绍

OpenFlow网络技术原理介绍

举报
开通vip

OpenFlow网络技术原理介绍OpenFlow技术原理介绍OpenFlow的工作机制2010203OpenFlow发展的背景OpenFlow的基本概念OpenFlow的基本配置及方案介绍04目录OpenFlow背景厂商主要研发目标:厂商依赖性网络规模和设备功能复杂:管控能力减弱各厂商的命令不一样:网络维护不方便设备只能通过命令行接口:低扩展性各自的控制逻辑:网络架构复杂控制与转发分离架构RCP架构RCP(routingcontrolplatform)逻辑中央平台路由控制服务器IBGP逻辑中央平台路由控制服务器仅实现BGP路由决策集中管理IBGP...

OpenFlow网络技术原理介绍
OpenFlow技术原理介绍OpenFlow的工作机制2010203OpenFlow发展的背景OpenFlow的基本概念OpenFlow的基本配置及方案介绍04目录OpenFlow背景厂商主要研发目标:厂商依赖性网络规模和设备功能复杂:管控能力减弱各厂商的命令不一样:网络维护不方便设备只能通过命令行接口:低扩展性各自的控制逻辑:网络架构复杂控制与转发分离架构RCP架构RCP(routingcontrolplatform)逻辑中央平台路由控制服务器IBGP逻辑中央平台路由控制服务器仅实现BGP路由决策集中管理IBGP24D架构Decision仅仅是理论和功能建模DataDisseminationDiscovery直接控制2网络视图分发平面发现平面4D(decision,dissemination,discovery,data)决策平面数据平面Ethane架构Ethane交换机奠定OpenFlow技术基础中央控制器?Ethane中央控制器Ethane交换机2SDN架构控制层应用层基础设施层应用程序SDN控制软件网络服务网络设备网络设备APIAPIAPIopenflowopenflow网络设备网络设备OpenFlow诞生2SDN应用层控制层基础设施层OpenFlow的工作机制2010203OpenFlow发展的背景OpenFlow的基本概念OpenFlow的基本配置及方案介绍04目录OpenFLow组件OpenFlow主要组件OpenFlow控制器OpenFlow交换机OpenFlow交换机组成一个或多个流表&组表&meter表到控制器的OpenFlow的信道(安全通道)OpenFlow 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 安全通道使用TCP进行连接默认TCP目的端口号6633OpenFlowSwitchSecureChannelFlowTableController2OpenFlowProtocalSSLScopeofOpenFlowSwitchSpecificationOpenFlow交换机OpenFlow交换机类别:OpenFlow-Only交换机OpenFlow-Hybrid交换机OpenFlow实例类型:全局实例VLAN实例接口实例Controller1Controller2OpenFlowprotocolOpenFlowprotocol10OpenFlowSwitchSecureChannelInstance1FlowTableSecureChannelInstance2FlowTableFlowTableOpenFlow流表由流表项构成。流表项的结构随着OpenFlow版本的演进不断丰富,不同协议版本的流表项结构如下:V1.0V1.1&V1.2V1.310MatchFieldsPriorityCountersInstructionsTimeoutsCookieMatchFieldsCountersInstructionsHeaderFiledCountersActionsFlowRemoval流表删除10某个流表表项长时间不匹配报文则idle_timeout字段设置为非0某个流表表项一定时间过后,无论是否匹配报文则hard_timeout字段设置为非0当任意一个timeouts字段超时后,交换机会移除该流表表项控制器可以发送删除流表表项修改报文来移除交换机的流表表项可以设置交换机在移除表项后发送流移除报文到控制器13Instructions1313指令:指导报文如何处理必选的Write-Actions写入动作Goto-Table指示处理管道中的下个表可选的Meter指示报文到指定的meterApply-Actions不改变动作集,立即执行动作Clear-Actions立即清空动作集Write-Metadata写入隐藏的元数据Action&ActionSet14每个报文均分配一个动作集,动作集里面包含多个动作必选的Output转发到指定的OpenFlow端口Drop无直接动作,指令集中无output动作则丢弃该报文Group处理报文到指定Group可选的Set-Queue设置报文的队列idPush-Tag/Pop-Tag写入/弹出标签例如VLAN,MPLS等Set-Field修改报文的头字段Change-TTL修改TTL,HopLimit等字段OpenFlow端口14物理端口(以太网接口等)逻辑端口(环回接口,聚合接口等)保留端口(使用支持的行动来定义)ALL代表交换机所有可以用来转发特定报文的端口CONTROLLER代表OpenFlow控制器的控制信道TABLE代表OpenFlow管道的起点IN_PORT代表报文的进入端口ANY用于某些命令的特殊值,出入端口不能设为anyLOCAL代表交换机本地网络的堆栈和管理堆栈NORMAL代表传统的非OpenFlow交换机管道FLOOD代表传统的非OpenFlow交换机泛洪OpenFlowProcessingPipelineNote:管道处理只会向前不会倒退报文无匹配表项则为Table-MissPacketinOpenFlow管道Table0TablenTable1ExecuteActionSetIngressport14ActionSet=0Packet+Ingressport+metadataActionsetPacketActionsetPacketOutOpenFlow管道处理流程TableMiss14每一个流表都需要支持一个匹配流表失败的表项来处理匹配失败Table-Miss表项会定义如何处理匹配失败的报文。比如送到控制器处理,丢弃报文或直接送往下一个流表Table-Miss表项的优先级为0如果Table-Miss表项不存在,默认行为是丢弃报文OpenFlow组表组表(Group)使OpenFlow可以支持额外的转发行为。组表含有以下组件:Openflow定义的GroupType:ALL、Indirect、Select、Fastfailover14All执行所有动作桶。这个Group通常用于组播或者广播。Indirect执行Group中定义的一个桶。Select选取一个动作桶来执行。Fastfailover执行第一个有效的动作桶。GroupIdentierGroupTypeCountersActionBucketsMeterTableMeterIdentifier:用于识别meter的32bits长的唯一整数MeterBands:指定速率范围和处理报文的方式Counters:当报文被meter处理时更新计数器14Meter用于测量分配给它的报文的速率,以达到启用QoS的目的Meter直接和流表项相关联MeterIdentifierMeterBandsCountersCounters14OpenFlow交换机必须支持上表的计数器类型循环指的是该组件出现在OpenFlow交换机上的时间计数器Bits流表参考统计(启用的表项)32流表项循环(秒)32接口接收到报文数64传输的报文数64循环(秒)32队列传输的报文数64循环(秒)32组循环(秒)32流量循环(秒)32OpenFlow的工作机制14010203OpenFlow发展的背景OpenFlow的基本概念OpenFlow的基本配置及方案介绍04目录22OpenFlow信道2222OpenFlow信道是连接控制器和每一个OpenFlow交换机的接口,控制器通过该信道设置,管理交换机通过OpenFlow信道的报文都是根据OpenFlow协议定义的。通常采用TLS加密,但也支持简单的TCP直接传输OpenFlow协议目前支持三种报文类型:controller-to-switchAsynchronoussymmetricOpenFlow消息23Controller-to-switch消息Feature,控制器向交换机请求交换机openflow能力Modify-state,控制器管理交换机流表项和端口状态Packet-out,控制器通过交换机指定端口发送报文同步symmetric消息Hello,用于控制器与交换机建立连接Echo,交换机和控制器均可以向对方发送echo消息,接受者需要回复reply来测量延迟和保活异步asynchronous消息Packet-in,交换机发送数据报文给控制器Port-status,交换机端口状态发生变化时,触发该消息,通知控制器Flow-removed,交换机中流表项被删除时,触发该消息Error,交换机发送错误时触发该消息OpenFlow信道连接协商版本OpenFlow连接建立成功终止连接根据交换机设置Failsecuremode交换机Failstandalonemode交换机Echo超时互相发送hello报文成功失败是功能请求(FeatureRequest)功能响应(Featurereply)controller OFswitchhelloFeaturerequestFeaturereplyecho否OpenFlow信道连接正常运行SYNon6633SYN,ACK23报文上送控制器的处理过程有无匹配流表项Receive报文按照匹配的流表项转发下发packetout报文,动作为out到tablePacketin上送控制器noyes提取报文的特征信息(mac、ip等)下发Flow-mode消息到交换机,添加流表项25报文上送控制器的处理过程25单播报文流表转发更新计数器:执行指令更新动作集更新报文/匹配集字段更新元数据报文从表0开始丢弃yes前往表M执行动作集yes2727yes匹配表Nno未匹配nono单播报文流表转发7.7.7.1 OFSW1 OFSW2 9.9.9.12828组播报文转发终端发出组播报文后,控制器为网络下发指导查询组表的流表流表与组表关联29OpenFlow的工作机制29010203OpenFlow发展的背景OpenFlow的基本概念OpenFlow的基本配置及方案介绍04目录OpenFlow基本配置29创建OpenFlow实例,并进入OpenFlow实例视图[Switch]openflowinstanceinstance-id配置OpenFlow实例的类型为全局类型[Switch-of-inst-instance-id]classificationglobal配置OpenFlow实例对应的VLAN[Switch-of-inst-instance-id]classificationvlanvlan-id[maskvlan-mask][loosen]配置带内管理VLAN[Switch-of-inst-instance-id]in-bandmanagementvlanvlan-listOpenFlow基本配置29配置TableMiss表项的缺省动作Switch-of-inst-instance-id]defaulttable-misspermit配置连接中断模式[Switch-of-inst-instance-id]fail-openmode{secure|standalone}配置连接控制器[Switch-of-inst-instance-id]controlleridaddressipip-addresslocaladdressiplocal-ip-address}激活OpenFlow实例[Switch-of-inst-instance-id]activeinstanceOpenFlow基本配置查看OpenFlow连接是否建立[H3C]disopenflowinstance1controllerInstance1controllerinformation:Reconnectinterval:60(s)Echointerval :5(s)ControllerID :1ControllerIPaddress :99.1.1.22Controllerport :6633LocalIPaddress :99.1.1.9Localport :8661Controllerrole :MasterConnecttype :TCPConnectstate :EstablishedPacketssent :49509Packetsreceived :50312SSLpolicy :--VRFname :--29SDN实现场景HypervisorVMVMVMvSwitch接入交换机VMVMVMvSwitchVCFControllerClusterServiceNFVKVMSR-IOVAdptvSwitch虚拟化管理平台第三方云平台/Openstack/iMCNFVManager接入交换机接入交换机VxLANGWHypervisor HypervisorOpenFlow+NetconfVMVMVMvSwitchServerWANVxLANVTEPVxLANGWVxLANIPGWOpenFlow+OVSDBVxLANIPGWOpenFlow+NetconfNFVKVMSR-IOVAdptvSwitchVxLANNetworkServiceService29初始流表的下发OVS和Controller建立连接后,Controller需要给OVS下发初始流表,否则进入OVS的报文查找不到流表项,做丢弃处理。控制器上初始的流表如下:29初始流表的下发OVS上的下发的初始流表:<H3C>displayopenflowinstance1flow-table……Flowentry5information:cookie:0x2c324757415057,priority:61000,hardtime:0,idletime:0,flags:flow_send_rem,bytecount:0,packetcount:0Matchinformation:Ethernettype:0x0800IPprotocol:17UDPsourceport:67,mask:0xffffUDPdestinationport:68,mask:0xffffInstructioninformation:Writeactions:Outputinterface:Controller,sendlength:65509bytes……29初始流表的下发S6800交换机上的下发的初始流表:<H3C>displayopenflowinstance1flow-tableTable1information:Tabletype:Extensibility,flowentrycount:5,totalflowentrycount:5Flowentry4information:cookie:0x2c324757415057,priority:61000,hardtime:0,idletime:0,flags:flow_send_rem,bytecount:12392,packetcount:17701Matchinformation:Ethernettype:0x0806Instructioninformation:Writeactions:Outputinterface:Controller,sendlength:65509bytes……29VXLANGW流表下发29VM上线时,虚拟端口将相关VM信息上报VCFCVCFC通过OpenFlow协议给硬件网关或VSR下发相应的流表匹配字段是目的IP为虚拟端口所连VM的IPoutput端口为硬件网关(例如125x)或者VSR与虚拟端口所在OVS之间的tunnel口打上VXLAN的VNI,即流表中的tunnelid报文目的MAC地址改为虚拟的三层网关地址0016-3faa-aaaaVXLANGW流表下发在VCFC上通过流表查看:Output:8960对应的出口是tunnel257:29VXLANGW流表下发<H3C>displayopenflowinstance1flow-tableInstance1flowtableinformation:Table0information:Tabletype:MAC-IP,flowentrycount:1,totalflowentrycount:1Flowentry1information:cookie:0x4c324757415057,priority:30000,hardtime:0,idletime:0,flags:check_overlap,bytecount:--,packetcount:--Matchinformation:Ethernettype:0x0800IPv4destinationaddress:173.0.0.2,mask:255.255.255.255Experimenter:AddressID:2 //匹配VLANInstructioninformation:Writeactions:Outputinterface:Tun8960Setfield:EthernetdestinationMACaddress:0016-3faa-aaaaTunnelID:0x1Table1information:Tabletype:Extensibility,flowentrycount:0,totalflowentrycount:029谢谢聆听!
本文档为【OpenFlow网络技术原理介绍】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
IT人
暂无简介~
格式:ppt
大小:910KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2019-11-09
浏览量:35