OpenFlow网络技术原理介绍_第1页
OpenFlow网络技术原理介绍_第2页
OpenFlow网络技术原理介绍_第3页
OpenFlow网络技术原理介绍_第4页
OpenFlow网络技术原理介绍_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、isseminationDiscovery直接控制25网络视图分发平面发现平面4D(decision,dissemination,discovery,data)决策平面数据平面Ethane架构Ethane交换机奠定OpenFlow 技术基础中央控制器?Ethane中央控制器Ethane交换机26SDN架构控制层应用层基础设施层应用程序SDN控制软件网络服务网络设备网络设备APIAPIAPIopenflowopenflow网络设备 网络设备OpenFlow诞生27SDN应用层控制层基础设施层OpenFlow的工作机制28010203OpenFlow发展的背景OpenFlow的基本概念OpenFl

3、ow的基本配置及方案介绍04目录OpenFLow组件OpenFlow主要组件OpenFlow控制器OpenFlow交换机OpenFlow交换机组成一个或多个流表&组表&meter表到控制器的OpenFlow的信道(安全通道)OpenFlow协议安全通道使用TCP进行连接默认TCP目的端口号6633OpenFlow SwitchSecure ChannelFlow TableController29OpenFlow ProtocalSSLScope of OpenFlow Switch SpecificationOpenFlow交换机OpenFlow交换机类别:OpenFlow-Only交换机O

4、penFlow-Hybrid交换机OpenFlow实例类型:全局实例VLAN实例接口实例Controller1Controller2OpenFlow protocol OpenFlow protocol1010OpenFlow SwitchSecureChannelInstance 1Flow TableSecureChannelInstance 2Flow TableFlow TableMatch FieldsPriorityCountersInstructionsTimeoutsCookieOpenFlow流表由流表项构成。流表项的结构随着OpenFlow版本的演进不断丰富,不同协议版本的

5、流表项结构如下:V1.0V1.1&V1.2V1.3Match FieldsCountersInstructi onsHeader FiledCountersActions1011Flow Removal流表删除1012某个流表表项长时间不匹配报文则idle_timeout字段设置为非0某个流表表项一定时间过后,无论是否匹配报文则hard_timeout字段设置为非0当任意一个timeouts字段超时后,交换机会移除该流表表项控制器可以发送删除流表表项修改报文来移除交换机的流表表项可以设置交换机在移除表项后发送流移除报文到控制器13Instructions1313指令:指导报文如何处理必选的Wr

6、ite-Actions写入动作Goto-Table指示处理管道中的下个表可选的Meter指示报文到指定的meterApply-Actions不改变动作集,立即执行动作Clear-Actions立即清空动作集Write-Metadata写入隐藏的元数据Action & Action Set1414每个报文均分配一个动作集,动作集里面包含多个动作必选 的Output转发到指定的OpenFlow端口Drop无直接动作,指令集中无output动作则丢 弃该报文Group处理报文到指定Group可选 的Set-Queue设置报文的队列idPush-Tag/Pop-Tag写入/弹出标签 例如VLAN, M

7、PLS等Set-Field修改报文的头字段Change-TTL修改TTL,Hop Limit等字段OpenFlow 端口1415物理端口 (以太网接口等)逻辑端口 (环回接口,聚合接口等)保留端口 (使用支持的行动来定义)ALL代表交换机所有可以用来转发特定报文的端口CONTROLLER代表OpenFlow控制器的控制信道TABLE代表OpenFlow管道的起点IN_PORT代表报文的进入端口ANY用于某些命令的特殊值, 出入端口不能设为anyLOCAL代表交换机本地网络的堆栈和管理堆栈NORMAL代表传统的非OpenFlow交换机管道FLOOD代表传统的非OpenFlow交换机泛洪OpenF

8、low Processing PipelineNote:管道处理只会向前不会倒退报文无匹配表项则为Table-MissPacket inOpenFlow管道Table 0Table nTable 1Execute Action SetIngressport1416Action Set=0Packet+ Ingress port+ metadataActionsetPacket ActionsetPacket OutOpenFlow管道处理流程Table Miss1417每一个流表都需要支持一个匹配流表失败的表项来处理匹配失败Table-Miss表项会定义如何处理匹配失败的报文。比如送到控制器处

9、理,丢弃报文或直接送往下一个流表Table-Miss表项的优先级为0如果Table-Miss表项不存在,默认行为是丢弃报文OpenFlow组表组表(Group)使OpenFlow可以支持额外的转发行为。组表含有以下组件:Openflow定义的Group Type:ALL、Indirect、Select、Fast failoverAll执行所有动作桶。这个Group通常用于组播或者广播。Indirect执行Group中定义的一个桶。Select选取一个动作桶来执行。Fast failover执行第一个有效的动作桶。Group IdentierGroup TypeCountersAction Bu

10、ckets1418Meter TableMeter Identifier:用于识别meter的32bits长的唯一整数Meter Bands: 指定速率范围和处理报文的方式Counters: 当报文被meter处理时更新计数器Meter IdentifierMeter BandsCounters1419Meter 用于测量分配给它的报文的速率,以达到启用QoS的目的Meter 直接和流表项相关联Counters1420OpenFlow交换机必须支持上表的计数器类型循环指的是该组件出现在OpenFlow交换机上的时间计数器Bits流表参考统计(启用的表项)32流表项循环(秒)32接口接收到报文数

11、64传输的报文数64循环(秒)32队列传输的报文数64循环(秒)32组循环(秒)32流量循环(秒)32OpenFlow的工作机制1421010203OpenFlow发展的背景OpenFlow的基本概念OpenFlow的基本配置及方案介绍04目录22OpenFlow信道2222OpenFlow 信道是连接控制器和每一个OpenFlow交换机的接口, 控制器通过该信道设置,管理交换机通过OpenFlow信道的报文都是根据OpenFlow协议定义的。通 常采用TLS加密,但也支持简单的TCP直接传输OpenFlow协议目前支持三种报文类型:controller-to-switchAsynchrono

12、ussymmetricOpenFlow消息2323Controller-to-switch消息Feature,控制器向交换机请求交换机openflow能力Modify-state,控制器管理交换机流表项和端口状态Packet-out,控制器通过交换机指定端口发送报文同步symmetric消息Hello,用于控制器与交换机建立连接Echo,交换机和控制器均可以向对方发送echo消息,接受者需要回复reply来测量延迟和保活异步asynchronous消息Packet-in,交换机发送数据报文给控制器Port-status,交换机端口状态发生变化时,触发该消息,通知控制器Flow-removed,

13、交换机中流表项被删除时,触发该消息Error,交换机发送错误时触发该消息OpenFlow 信道连接协商 版本OpenFlow连 接建立成功终止连接根据交 换机设 置Fail secure mode 交换机Failstandalonemode 交换 机Echo超时互相发送hello报文成功失败是功能请求(Feature Request)功能响应(Feature reply)controllerOF switchhelloFeature requestFeature replyecho否OpenFlow信 道连接正常运 行SYN on 6633SYN,ACK2324报文上送控制器的处理过程有无匹配

14、流 表项Receive 报文按照匹配的 流表项转发下发packet out报文,动作为out到tablePacket in上 送控制器noyes提取报文的 特征信息(mac、ip等)下发Flow-mode 消息到交换机, 添加流表项2525报文上送控制器的处理过程2526单播报文流表转发更新计数器:执行指 令更新动作集更新报文/匹配集 字段更新元数据报文从 表0开始丢弃yes前往 表M执行动作集yes272727yes匹配 表Nno未匹 配nono单播报文流表转发7.7.7.1 OF SW1OF SW2 9.9.9.1282828组播报文转发终端发出组播报文后,控制器为网络下发指导查询组表的流

15、表流表与组表关联2929OpenFlow的工作机制2930010203OpenFlow发展的背景OpenFlow的基本概念OpenFlow的基本配置及方案介绍04目录OpenFlow基本配置2931创建OpenFlow实例,并进入OpenFlow实例视图Switch openflow instance instance-id配置OpenFlow实例的类型为全局类型Switch-of-inst-instance-id classification global配置OpenFlow实例对应的VLANSwitch-of-inst-instance-id classification vlan vla

16、n-id mask vlan-mask loosen 配置带内管理VLANSwitch-of-inst-instance-id in-band management vlan vlan-listOpenFlow基本配置2932配置Table Miss表项的缺省动作Switch-of-inst-instance-id default table-miss permit配置连接中断模式Switch-of-inst-instance-id fail-open mode secure | standalone 配置连接控制器Switch-of-inst-instance-id controller i

17、d address ip ip-address localaddress ip local-ip-address 激活OpenFlow实例Switch-of-inst-instance-id active instanceOpenFlow基本配置查看OpenFlow连接是否建立H3Cdis openflow instance 1 controller Instance 1 controller information: Reconnect interval: 60 (s)Echo interval: 5 (s)Controller ID: 1Controller IP address: 99.

18、1.1.22Controller port: 6633 Local IP address: 99.1.1.9 Local port: 8661 Controller role: Master Connect type: TCPConnect state: EstablishedPackets sent: 49509 Packets received: 50312 SSL policy: -VRF name: -2933SDN实现场景HypervisorVMVM VMvSwitch接入交换 机VMVM VMvSwitchVCF Controller ClusterServiceNFVKVMSR-

19、IOVAdptvSwitch虚拟化管理平台第三方云平台/Openstack/iMCNFVManager接入交换 机接入交换 机VxLAN GWHypervisorHypervisorOpenFlow + NetconfVMVM VMvSwitchServerWANVxLAN VTEPVxLAN GWVxLAN IP GWOpenFlow + OVSDBVxLAN IP GWOpenFlow + NetconfNFVKVMSR-IOVAdptvSwitchVxLAN NetworkServiceService2934初始流表的下发OVS和Controller建立连接后,Controller需要给

20、OVS下发初始流表,否则进入OVS的 报文查找不到流表项,做丢弃处理。控制器上初始的流表如下:2935初始流表的下发OVS上的下发的初始流表:display openflow instance 1 flow-tableFlow entry 5 information:cookie: 0 x2c324757415057, priority: 61000, hard time: 0, idle time: 0, flags:flow_send_rem, byte count: 0, packet count: 0 Match information:Ethernet type: 0 x0800IP

21、 protocol: 17UDP source port: 67, mask: 0 xffff UDP destination port: 68, mask: 0 xffff Instruction information:Write actions:Output interface: Controller, send length: 65509 bytes2936初始流表的下发S6800交换机上的下发的初始流表:display openflow instance 1 flow-tableTable 1 information:Table type: Extensibility, flow e

22、ntry count: 5, total flow entry count: 5Flow entry 4 information:cookie: 0 x2c324757415057, priority: 61000, hard time: 0, idle time: 0, flags: flow_send_rem, byte count: 12392, packet count: 17701Match information: Ethernet type: 0 x0806 Instruction information: Write actions:Output interface: Controller, send length: 65509 bytes2937VXLAN GW流表下发2938VM上线时,虚拟端口将相关VM信息上报VCFCVCFC通过OpenFlow协议给硬件网关或VSR下发相应的流表匹配字段是目的IP为虚拟端口所连VM的IPoutput端口为硬件网关(例如125x)或者VSR与虚拟端口所在OVS之间的tunnel口打上VXLAN的VNI,即流表中的tunnel id报文目的MAC地址改为虚拟的三层网关地址0016-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论