版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SDN涉及协议及标准分析,SDN标准研究,SDN标准,OpenFlow OF-CONFIG,I2RS NVO3 ForCES,SG13 Y.FNsdn SG11 Q.Supplement-SDN,ISG NFV,Contents,OpenFlow,OF-CONFIG,IETF相关协议,2,3,OpenFlow架构,OpenFlow 1.0,OpenFlow 1.1,Flow Table的组成,Match Fields,Actions/Instructions,Counters,基于Table/Flow/Port/Queue的各种报文计数器,Actions: forward/enqueue/dr
2、op/modify-field Instructions: modify action-set or pipeline proc.,Flow Table的matching,PacketIn Start at Table 0,Matched in Table n?,更新计数器 执行Instructions: Update action set Update packet/match set field Update metadata,Yes,No,根据表配置: 1)丢弃; 2)发给Controller; 3)继续下一个流表匹配;,执行Action Set,Goto Table n?,Yes,No
3、,Pipeline的处理,每个openflow switch的pipeline包含多个flowtable,每个flowtable包含多个flowentry; 每个flowentry的处理结果只能交个序号更大的表进一步处理; Output action set和报文关联,可以用instructions来修改已匹配上的报文的action set; 当pipeline处理结束时,开始执行action set中的动作; Action Set执行时要按顺序:copy TTL inwards,pop,push,copy TTL outwards,decrement TTL,set,qos,group,Gr
4、oup Table,Group table赋予了逻辑端口转发流的额外能力,引入group table的动机是为了支持L2/L3多路径转发,另外还可支持LAG (link aggregation )、ECMP、non-ECMP、快速重路由、multi-homing、BGP下一跳汇聚,Group Identifier,Counters,Group Type,组的类型,all(所有bucket执行,多播/广播转发),select (基于switch的bucket选择算法),indirect(执行定义的bucket,聚合),fast failover(直接执行第一个live bucket),报文被一个
5、组处理的计数器,Actions Buckets,32bit,唯一标识一个组,有序的action bucket 列表,Multipath Group Table示例,图1:从源S到目的D有两条路径124和134,交换机1有两个端口port0,port1; 图2:用mp group id表示逻辑接口,先发送group mod消息,配置group为多路径类型,再发送flow mod配置流表,并将最后的forward-action指向group的逻辑端口; 图3:或者在flow mod消息中隐含定义group; 图4:定义hash表将mp group id映射到实际的硬件组。,图1,图4,图3,图2,
6、OpenFlow消息,OpenFlow Protocol由三种类型的消息 controller-to-switch Asynchronous Symmetric controller-to-switch 该消息由controller发送,用于管理和检查switch的状态 Features消息:在SSL/TCP会话建立后,controller给switch发送Features请求switch的相关信息,switch必须应答自己支持的功能,包括datapathid、数据路径接口号、接口名、接口MAC地址、接口支持的速率等等基本信息 Configuration消息:controller可以设置或查询
7、switch的状态 Modify-State消息:controller发送该消息给switch,来管理switch的状态,即增加/删除、更改流表,并设置switch的端口属性 Read-State消息:controller用该消息收集switch上flow-tables、ports、individual flow entries的统计信息 Send-Packet消息:controller发送该消息到switch的特定端口 Barrier消息:Controller用Barrier request/reply消息来确保switch是否完成之前的操作得到应答后才会下发新的消息,用来解决消息依赖关系。
8、,OpenFlow消息,Asynchronous 该消息由switch发起,当switch状态发生改变时,发送该消息告诉controller状态变化 Packet-in消息: 对数据包来说,当Flow Table中没有匹配的表项或者匹配“send to controller”,switch将给controller发送packet-in消息。 Flow-Removed消息: 当给switch增加一条表项时,会设定超时周期,当时间超时后,该条目就会被删除,这时switch就会给controller发送Flow-Removed消息;当流表中有条目要删除时,switch也会给controller发送该
9、消息 Port-status消息: 当数据路径接口被添加、删除、修改的时候,datapath需要使用OFPT_PORT_STATUS消息来通知控制器 Error消息: 当交换机需要通知控制器发生问题或错误时,switch给controller 发送Error消息,OpenFlow消息,Symmetric 该消息由switch或者controller发起 Hello消息: 当一个OpenFlow连接建立时,controller和switch都会立刻向对端发送OFPT_HELLO消息,该消息中的version域填充发送方支持的OpenFlow协议最高的版本号; 接收方收到该消息后,接收方会计算协议
10、版本号,即在发送方和接收方的版本号中选择一个较小的; 如果接收方支持该版本,则继续处理连接,连接成功;否则,接收者回复一个OFPT_ERROR消息,类型域中填充ofp_error_type.OFPET_HELLO_FAILED Echo消息: switch和controller任何一方都可以发起Echo request消息,但收到的一方必须回应Echo reply消息。这个消息可以来测量latency、controller-switch之间的连接性,即心跳消息; Vendor消息: Vendor消息为OpenFlow switches提供标准的额外功能,为未来版本预留, Vendor域为厂家I
11、D信息,由IEEE OUI标示。,OpenFlow支持的动作类型(v1.0),OpenFlow协议发展,1.0 11元组单流表,所有试验系统的基础目标 1.1 多表:转发面多表、pipeline设计; 标签和隧道:支持标签操作,MPLS、VLAN、虚接口; 支持多路径转发:Group表支持多出口操作ECMP、groups; 1.2 TLV描述match filde,动态多表 完善对IPv6的支持 完善Controller可靠性的问题 1.3 Meter Table、支持PBB、table miss、控制通道多连接、多控制器协作 1.3.1 提高了版本协商能力,OpenFlow1.0协议,200
12、9年12月发布 Slicing 支持为出端口配置多个队列 ,每个队列对应的带宽可配置; Flow cookies 作为透明数据携带在修改流表命令中,转发面上报流表信息(例如查询流表状态、流表项超时)时,cookie会作为透明数据带回给控制器 交换机描述信息(OFPST_DESC) 在转发面可配置的交换机描述数据,包括制造商信息、软硬件信息等 流匹配字段增强 支持ARP报文中IP字段的匹配 支持匹配IP Tos/DSCP域 查询端口的统计数据 增强了流表项超时的精度 (毫秒-纳秒),OpenFlow1.1协议变化,2011年2月发布 Multiple tables: controller可在一台
13、交换机上部署多个流表,流表由v1.0扁平式的Match Fieldsactions 改为 灵活的多个流表组成pipeline处理; Group Table: 引入group table支持L2/L3多路径转发,支持组播、负载均衡以及快速倒换等业务; Tag/Tunnels: 支持QinQ和MPLS; 支持虚拟端口 支持逻辑端口/隧道,转发面同时上报逻辑端口以及相应的物理端口 Openflow连接失败 删除了emergency flow cache功能 增加了Fail secure mode 或者 Fail standalone mode,OpenFlow1.2协议变化,2011年12月发布 O
14、XM(Openflow Extensible Match) 采用OXM(类似TLV格式的数据结构)来表示ofp_match,增强了灵活性。OpenFlow1.1是固定的15个匹配项,而OpenFlow1.2采用了TLV格式的匹配模式,可以动态调整匹配项,这样使流表的长度从固定长度变为可变长度,增加流表灵活性的同时也增加转方面处理难度。 增加set_field动作 采用OXM来描述对报文头部的修改 全面支持experimenter: 从消息交互、match、action、队列、统计、错误码等都有所增加; IPv6支持 支持IPv6,匹配字段增加了IPv6源地址、目的地址、协议号、传输类型、ICM
15、Pv6; 多控制器支持 定义了三种控制器角色: Equal, Slave, Master,OpenFlow1.2协议变化(续),Matching变化 匹配思路变化:从以自己定义的匹配项为中心,转移到以报文为中心的匹配。在1.1定义了15个匹配项及整体匹配流程;在1.2只定义匹配的元规则。这个有助于experimenter对报文结构及匹配规则进行创新。 增加了 OXM TLV 类型定义;对match进行重新定义,TLV化;原来是静态定义,现在是动态扩展。 OXM TLV的头部还明确了ONF成员和非成员定义。 用TLV表达匹配项;没有列出来的匹配项相当于1.1的 通配符效果; 去掉了wildcar
16、ds宏定义。 消息变化 Modify/Add消息,如果没有指明清除统计是,不能清除旧表项的统计信息;1.1是直接清除。 Modify消息,1.1,在没有表项时相当于Add;但在1.2不做处理。 修改了Packet_in消息格式,增加了OXM_TLV格式,使携带的端口信息TLV化。,OpenFlow1.3协议变化,2012年4月发布 增强了控制器与交换机之间的能力协商 描述流表支持的能力 增加table-miss流表项 没有匹配上流表的报文被称为table-miss 报文,而table-miss flow entry 专门处理这种报文; V1.3里改为增加一条table-miss flow en
17、try:这条流表条目具有最低的优先级,并且其Match项忽略;table-miss flow entry的action可以是丢弃,送到另一个流表匹配,或者packet_in到控制器; 如果没有table-miss flow entry,缺省动作为丢弃。 IPv6扩展头部的支持 Meter Table的支持 Meter表定义了per-flow meters,可完成简单的QoS操作,例如,速率限制,并且可以和端口队列一起完成复杂的QoS,例如:DifffServ。 Meters作为一种可选指令,直接和流表条目相关(queues是和端口绑定的),Meter指令是在Apply-Actions指令之前执
18、行的。,OpenFlow1.3协议变化(续),交换机上报异步事件过滤器 控制器指定其希望收到的异步事件 增加控制器与交换机之间的辅助连接(慢通道) 之前的版本中OF交换机和控制器之间只有一个OFChannel(TCP或TLS); V1.3中OF交换机可以有多个main connection和多个auxiliary connections, auxiliary connections 可以专门处理packet-in and packet-out报文 每个连接都由交换机Datapath ID和Auxiliary ID标识。主连接的Auxiliary ID=0, Datapath ID!=0。Aux
19、iliary连接必须使用和主连接相同的源IP地址,可以使用不同的传输方式,TLS,TCP,DTLS或UDP。必须使用和主连接相同的目的IP,目的端口号。 支持PBB封装 取消了报文封装标签的顺序限制 所有标签均会被添加到最外层的位置。,OpenFlow未来发展计划,由于Openflow协议新版本更新速度快,ONF Board决定维护一个长期稳定的版本Openflow 1.3.X Openflow 1.3.X不会增加新的功能,目标是澄清现有协议,如有必要进行相关的修正 ONF鼓励其成员通过extension扩展的方式增加新的功能,ONF每隔3个月打包发布一批协议扩展 Extensibility工
20、作组也会继续开发Openflow 1.4&1.5版本 针对Openflow 1.0.X,没有有进一步的工作计划。,Extensibility WG活跃议题,Contents,OpenFlow,OF-CONFIG,IETF相关协议,2,3,OF-CONFIG协议,对OpenFlow数据通路进行远程配置; 完成一些实时要求不高的操作,例如生成转发表、确定转发动作、开启/关闭端口等。 OpenFlow配置点并没有任何预置条件,它可以运行在controller上,也可以在传统网络管理框架内。 YANG/XML用于数据建模。,NETCONF作为传送协议,要求支持OF-CONFIG协议的设备必须应用NET
21、CONF作为传送协议,也可以支持Web Service-Management等其他协议。 OpenFlow capable交换机必须支持OF-CONFIG定义的schema。,OF-CONFIG 1.0协议,发布于Jan. 2012,基于OpenFlow 1.2 Controllers到logical switches的连接配置管理,多控制器的支持 Controller/Logical switch的IP 地址/端口号 传输协议:TLS or TCP,缺省TLS 故障模式的配置 fail secure fail standalone,只适用于Hybrid 端口及其属性配置 current-sp
22、eed, no-recv, no-fwd, no-packet-in, link-down, Blocked, live Rate, duplex, Medium , Negotiation, Pause (a/symmetric) 队列及其属性配置 min-rate, max-rate, experimenter logical switches配置资源的查询等,OF-CONFIG 1.1协议变化,发布于Apr ,2012,基于OpenFlow 1.3(OF v1.2) 加密(针对TLS) Certificate配置 基于OF 1.2 and 1.3 的能力查询 交换相关: max pkt
23、buffers, number of tables, number of supported ports 流表相关: list of matches, list of actions, table instructions, table miss behavior group 类型 group capabilities (select weight, liveness, chaining) action types Instruction types 流表属性查询 max-entries, next-tables, list of matches, list of actions, table
24、 instructions, Metadata, wildcards Tunnel配置 IPinGRE, VxLAN , and NVGRE,OF-CONFIG 1.1协议变化(续),1.1新增,OF-CONFIG 1.1.1协议变化,发布于March,2013,参考OpenFlow 1.3,但支持OF1.0、1.1、1.2。 增加了版本支持; 其他的功能和描述也做了一些改善。,C&M WG活跃议题,Contents,OpenFlow,OF-CONFIG,IETF相关协议,2,3,IETF,IETF NVO3,Network Virtualization Overlays (nvo3) 主要研
25、究数据中心网络,通过提供DCVPN满足多租户的流量隔离、地址独立、支持VM的自由迁移等要求。 Framework for DC Network Virtualization,IETF ForCES,Forwarding and Control Element Separation 主要目标是定义一个框架和机制,标准化控制平面各逻辑功能模块之间交互的信息,包括路由协议、信令、接入控制以及转发平面的包处理动作,包括包转发、队列调度、包头编辑等。 RFC 3549Linux Netlink as an IP Services Protocol (Informational) RFC 3654 Requirements for Separation of IP Control and Forwarding (Informational) RFC 3746Forwarding and Control Element Separation (ForCES) Framework (Informational) RFC 5810Forwarding and Control Element Separation (ForCES) Protocol Specification(Proposed Sta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风电项目工程监理合理化建议
- 2026年治具工程师考试题库及答案
- 异常子宫出血护理个案
- 更衣室管理制度
- 工业冷风机检修规程
- 网络与信息安全管理员模拟考试题及答案
- 2026无人机多选复习测试卷附答案
- 2026年盘锦市双台子区网格员招聘笔试参考试题及答案解析
- 桃岸Homebar加盟体系分析:针对零经验创业者的标准化赋能与支持方案
- 2025年白银市平川区网格员招聘考试试题及答案解析
- 河北石家庄市2026届高三二模语文试题及参考答案
- 电梯事故隐患内部报告奖励制度
- 雨课堂学堂在线学堂云安全科学原理(中南大学)单元测试考核答案
- 锁骨骨折课件文献
- 中风病(脑卒中)中西医康复诊疗方案(试行)
- 工程维修单表格(模板)
- 维修协议劳务合同
- 全国赛课一等奖人教版美术四年级下册《对称的美》课件
- T-CECS120-2021套接紧定式钢导管施工及验收规程
- 2022年江苏省常州市强基计划选拔数学试卷(附答案解析)
- 绿色食品山楂生产技术操作规程
评论
0/150
提交评论