版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、修订记录本页不打印课程编码适用产品产品版本课程版本ISSUE1.00开发/优化者时间审核人开发类型(新开发/优化)林巧妙2016.6林杰新开发SDN接口协议与特性培训目标学完本课程后,您应该能:描述SDN Openflow 协议描述SDN NETCONF协议描述SDN SNMP协议描述SDN RESTful协议描述SDN NETSTREAM协议目录Open-flow协议介绍NETCONF协议介绍SNMP协议介绍RESTful协议介绍Netstream协议介绍目录Open-Flow协议介绍NETCONF协议介绍SNMP协议介绍RESTful协议介绍Netstream协议介绍目录OpenFlow协
2、议介绍1.1 OpenFlow发展历史和版本演进1.2 OpenFlow 架构1.3 OpenFlow 转发表项1.4 OpenFlow 工作原理1.5 OpenFlow 在SDN中的应用 OpenFlow发展历史SDN框架中的OpenFlow开放网络基金会应用层控制层基础架构层OpenFlow版本演进2010.012011.122013.102014.12版本1.0多表流水线处理支持VLAN和MPLS支持group支持虚端口版本1.1添加Bundle消息支持表同步机制版本1.4出端口流表数据包感知管道扩展表条目统计版本1.5支持IPv6 支持TLV扩展版本1.2支持流条目统计支持不匹配流表条
3、目做后续处理支持IPv6扩展报文头版本1.3单表单控制器支持IPv42011.022012.06目录OpenFlow协议介绍1.1 OpenFlow发展历史和版本演进1.2 OpenFlow 架构1.3 OpenFlow 转发表项1.4 OpenFlow 工作原理1.5 OpenFlow 在SDN中的应用 OpenFlow架构两个角色:OpenFlow Controller,控制OpenFlow Switch,计算路径,维护状态和流规则下发给交换机OpenFlow Switch,从OF控制器接受命令或者流信息,返回状态信息OpenFlow 交换机组件OpenFlow交换机组成部分:流表组表Op
4、enFlow 安全通道控制器OpenFlow协议安全通道流表流表管道组表OpenFlow 端口OpenFlow规范将SDN交换机上的端口分为3种类别:物理端口设备上物理可见的端口逻辑端口在物理端口基础上由Switch设备抽象出来的逻辑端口,如为tunnel或者聚合等功能而实现的逻辑端口OpenFlow保留端口OpenFlow目前总共定义了ALL、CONTROLLER、TABLE、IN_PORT、ANY、LOCAL、NORMAL和FLOOD等8种端口,其中后3种为非必需的端口,只在混合型的OpenFlow Switch(OpenFlow-hybrid Switch,即同时支持传统网络协议栈和Op
5、enFlow协议的Switch设备,相对于OpenFlow-only Switch而言)中存在。 目录OpenFlow协议介绍1.1 OpenFlow发展历史和版本演进1.2 OpenFlow 架构1.3 OpenFlow 转发表项1.4 OpenFlow 工作原理1.5 OpenFlow 在SDN中的应用 OpenFlow流水线处理匹配流表中最高优先级的条目应用指令:修改&更新匹配字段(适用于动作指令)更新动作集(擦/写动作指令)为下一个流水线更新元数据如果存在下一张流表,将匹配的数据和动作集到下一张流表。流表匹配字段:入接口+元数据+报文头动作集匹配字段:入接口+元数据+报文头动作集入接口
6、出接口OpenFlow交换机流表 0流表 1流表 n入接口动作集= 数据包+入接口+元数据动作集数据包动作集执行动作集多级表数据包处理过程单表数据包处理过程OpenFlow 查表流程接收到报文从流表0开始匹配匹配到流表n不匹配流表项存在?1.更新计数器2.执行指令:-更新动作集-更新数据包/匹配域-更新元数据是是是否否否下一张流表n执行动作集丢弃数据包OpenFlow流表格式Match FieldsPriority Counters InstructionsTimeoutsCookieIngress PortDest MACSrc MACEtherTypeVLAN IDVLAN PRIMPLS
7、 Label/EXPIPv4/IPv6 Dest IP IPv4/IPv6 Source IPIPv4/IPv6 ProtocolIP DSCPTCP/UDP Src PortTCP/UDP Dest Port2层 3层 2.5 层用来识别独特流表条目转发到端口转发到控制器添加/修改/删除 VLAN tag添加/修改/删除 MPLS标签丢弃数据包元数据报文计数器字节计数器期间OpenFlow通过用户定义的或者预设的规则来匹配和处理网络包。一条OpenFlow的规则由匹配域(Match Fields)、优先级(Priority)、处理指令(Instructions)和统计数据(如Counters
8、)等字段组成,动作集&动作动作集(Action Set)是一系列匹配域和相应动作的集合。动作集是与每个数据包相关联的,初始时是一个空集合。一个流条目可以通过写动作(Write-Actions)或者擦动作(Clear-Actions)指令来修改Action Set。一系列动作的优先级如下所示:Copy TTL inwards - pop - push MPLS - push-PBB - push VLAN - copy TTL outwards - decrement TTL -set -qos -group - outputTable-miss表项Table-miss表项指定在流表中如何处理与
9、其他表项未匹配的数据包。每流表中支持一张Table-miss表项。Table-miss的流表项也有它的匹配字段和优先级,它通配所有匹配字段,并具有最低的优先级0。默认情况下,在流表中不存在table-miss表项,流表项无法匹配的数据包将被丢弃。Table-miss流表项支持一系列的动作:将数据包发送到控制器,丢弃数据包或直接扔到后续的表等。流表项删除(Flow Removal)流表项可以通过三种方式在流表中删除:控制器的请求 交换机流超时机制 OpenFlow交换机的逐出机制组表(Group Table)Group IdentifierGroup Type CountersAction Bu
10、ckets组表主要包含以下几个字段:组标识符:一个32位的无符号整数唯一标识组类型: 指示不同定义的组类型计数器:被该组条目处理过的数据包的统计量动作桶: 一系列动作的集合及其参数每个数据流可以被划分到相应的组中,动作指令的执行可以针对属于同一组标识符的所有数据包。计量表(Meter Table)Meter IdentifierMeter BandsCounters计量表的构成:计量的标识符:一个32位的无符号整数唯一识别计量带: 计量带的无序列表,其中每个计量带定义带的速度混合处理数据包的方式。每个计量表中有多个计量带,每个计量带指定了带宽速率和报文通过的方式。计量带的构成:计数器: 报文被
11、计量表项处理时,更新计数Band TypeRateCounterArguments目录OpenFlow协议介绍1.1 OpenFlow发展历史和版本演进1.2 OpenFlow 架构1.3 OpenFlow 转发表项1.4 OpenFlow 工作原理1.5 OpenFlow 在SDN中的应用 OpenFlow消息类型Openflow协议有三种类型的消息:Controller-to-switch 由控制器发送,用于管理和检查交换机的状态Asynchronous由交换机发起,当交换机状态发生改变时,发送该消息告诉控制器状态变化Symmetric由交换机或者控制器发起OpenFlow通道建立Open
12、Flow 交换机端口信息上报OpenFlow 流表下发OpenFlow流表下发模式OpenFlow流表支持两种下发模式:主动模式控制器将自己收集的流表信息主动下发给交换机,随后交换机可以直接根据流表进行转发如果收到的流不能与现有的流表项匹配,则有两种选择,丢弃或者使用PACKET_IN选项,即被动模式来创建适应这些数据分组的流表项被动模式交换机收到一个报文没有匹配的流表记录时,将该报文转发给Controller,由后者进行决策该如何转发,并下发相应的流表。目录OpenFlow协议介绍1.1 OpenFlow发展历史和版本演进1.2 OpenFlow 架构1.3 OpenFlow 转发表项1.4
13、 OpenFlow 工作原理1.5 OpenFlow 在SDN中的应用 OpenFlow 在SDN中的应用在SDN VXLAN解决方案中,OpenFlow 被当做是SNC到设备之间的南向接口的协议。目录Open-Flow协议介绍NETCONF协议介绍SNMP协议介绍RESTful协议介绍Netstream协议介绍目录2. NETCONF协议介绍2.1 NETCONF 协议介绍2.2 NETCONF 协议框架2.3 NETCONF 协议能力2.4 NETCONF 在SDN中的应用NETCONF 概念网络配置协议(NETCONF)是基于可扩展标记语言XML(Extensible Markup La
14、nguage)的网络配置和管理协议。NETCONF协议提供了按照、操作和删除网络设备的机制;它是常用来远程管理和监控网络设备的网管协议。提供了一套标准的操作以及RPC调用来对网络设备进行管理 使用SSH传输协议NETCONF工作框架NETCONFManagerNETCONFYangModelsYANG 模型YANG 模型YANG 模型YANG 模型管理应用NETCONF 网络架构IP 网络NETCONF 管理EMS/NMSNETCONF 代理SSH协议NETCONF 网络架构有3个部件组成包括NETCONF管理, NETCONF 代理和Schema目录2. NETCONF协议介绍2.1 NET
15、CONF 协议介绍2.2 NETCONF 协议框架2.3 NETCONF 协议能力2.4 NETCONF 在SDN中的应用NETCONF协议框架层面描述举例第四层:内容层内容层描述了网络管理所涉及的配置数据,而这些数据依赖于各制造商设备。配置数据通告数据第三层:操作层操作层定义了一系列在RPC中应用的基本操作,这些操作组成了NETCONF基本能力。, , 第二层:RPC层RPC层提供了一种简单的、不依赖于传输协议的RPC请求和响应机制。, 第一层:传输层传输层为NETCONF Manager和NETCONF Agent之间交互提供通信路径。SSH, SSL, BEEP远程过程调用 (RPC)N
16、ETCONF协议使用RPC通信模式,采用XML编码的和元素提供独立于传输层协议的请求和回应消息框架。元素说明元素用来封装NETCONF Manager发送给NETCONF Agent端的请求。元素用来封装请求的应答消息,NETCONF Agent给每个操作回应一个使用元素封装的应答消息。在处理请求过程中,如果发生任何错误,则在元素内只封装元素返回给NETCONF Manager。在处理请求过程中,如果没有发生任何错误,则在元素内封装一个元素返回给NETCONF Manager。目录2. NETCONF协议介绍2.1 NETCONF 协议介绍2.2 NETCONF 协议框架2.3 NETCONF
17、 协议能力2.4 NETCONF 在SDN中的应用NETCONF 协议能力(1/2)NETCONF协议提供一组基本操作,管理设备的配置数据,以及查询设备的配置和状态信息。 NETCONF协议还可以根据设备支持的能力集支持附加的操作。NETCONF 管理(SSH 客户端)NETCONF 代理(SSH 服务器)Hello messageHello messageRPCRPC reply能力交互能力交互NETCONF协议能力(2/2)NETCONF Manager发送Hello消息宣告自己支持的能力。 NETCONF管理支持列表中的能力NETCONF协议定义的基本能力及操作操作描述查询部分或全部运行
18、的配置数据和设备的状态数据。查询全部或指定的一部分配置数据。用来修改、创建、删除配置数据。用源配置数据库替换目标配置数据库。用来删除一个配置数据库。用来锁定设备的配置数据库。用来取消用户自己之前执行的操作。用来正常关闭当前NETCONF会话。用来强制关闭另一个NETCONF会话。NETCONF协议定义的标准能力及操作 操作描述Writable-running此能力指明设备支持对配置数据库的写能力。Candidate configuration此能力指明设备支持配置数据库。Confirmed commit此能力指明设备支持协议操作携带参数和Rollback on error此能力指明设备具备错误
19、回滚能力。Distinct startup此能力指明设备具备独立启动的能力。NotificationNETCONF Notification机制是一种基于TCP连接主动通知机制,支持将设备的告警或事件通过notification消息有序的通知网管,解决了网管通过NETCONF协议对设备的告警或事件管理。InterleaveInterleave能力支持NETCONF会话多功能重用。华为公司定义的私有能力集及操作操作描述Synchronization此能力指明设备具备数据同步能力。Active notification此能力指明设备具备激活的能力。Action此能力指明设备具备行为的能力。Exec
20、ute CLI此能力指明设备在处理请求过程中,能与发送端进行交互。Update此能力指明设备具备更新能力。Exchange此能力指明设备具备交换能力。目录2. NETCONF协议介绍2.1 NETCONF 协议介绍2.2 NETCONF 协议框架2.3 NETCONF 协议能力2.4 NETCONF 在SDN中的应用NETCONF应用目录Open-Flow协议介绍NETCONF协议介绍SNMP协议介绍RESTful协议介绍Netstream协议介绍目录3. SNMP协议介绍3.1 SNMP 基本概念 3.2 SNMP 版本和报文结构SNMP 概述简单网络管理协议(SNMP)是广泛用于TCP/I
21、P网络的网络管理标准协议,用来收集、管理、修改设备信息。作为TCP/ IP协议族的一部分, SNMP消息被封装为UDP报文在Internet中传输。应用层(SNMP)传输层(UDP)网络层 (IP)物理层SNMP 架构网管通过SNMP协议管理设备过程中存在三种角色:网管站(NMS),代理(Agent)和被管理设备。管理站被管理对象对管理设备SNMP执行操作通知MIB代理112226511SNMP 基本概念基本概念描述MIB虚拟数据库收集有关被管理设备的状态信息。ASN.1抽象语法定义,用于定义语法的正式语言,在SNMP中定义SNMP的协议数据单元PDU和管理对象MIB的格式。BER基本编码规则
22、,描述如何将ASN.1类型的值编码为字符串的方法。SMISMI定义了SNMP中使用到的ASN.1类型、语法,并定义了SNMP中使用到的类型、宏、符号等。TrapTrap是被管理设备主动向NMS发送的不经请求的信息,用于报告一些紧急的重要事件。MIB 树结构OID是由一些系列非负整数组成,用于唯一标识管理对象在MIB树中的位置。由SMI来保证OID不会冲突。在树形结构中,mgmt对象可以标识为: iso(1) org(3) dod(6) internet(1) mgmt(2) ,简单标记为:.2,这种标识就叫做OID。SNMP协议框架GetNextRequestSNMP 应用UDPIP物理层SN
23、MP 代理物理层IPUDPSNMP 管理GetRequestGetNextRequestSetRequestGetResponseTrapSNMP 应用GetRequestSetRequestGetResponseTrapMIB 库SNMP 实现过程RequestResponseUDP 端口161NMSAgentTrapUDP 端口162NMSAgent代理通过UDP端口161接收到NMS SNMP请求数据包,解码并检查版本号团体名验证,读取并处理相关的PDU,并用相应消息返回给NMS如果某些模块的值超时定义的阀值时,代理通过UDP端口162发送trap消息给NMSSNMP南向接口通信过程接收
24、到SNMP报文解码错误完成获取SNMP版本获取团体属性信息匹配匹配不匹配发送Trap获取PDU完成产生SNMP报文发送给NMS不匹配不匹配丢弃报文SNMP工作流错误目录3. SNMP协议介绍3.1 SNMP 基本概念 3.2 SNMP 版本和报文结构SNMP 版本鉴于SNMPv2c在安全性方面没有得到改善IETF颁布了SNMPv3的版本,提供了基于USM(User Security Module)的认证加密和基于VACM(View-based Access Control Model)的访问控制 。沿用SNMPv1中的团体名进行安全认证。SNMPv2基于团体名认证,安全性较差。SNMPv2c中
25、引入了getbulk操作,并且提供更多的错误码信息.1990年5月,RFC 1157定义了SNMP的第一个版本SNMPv1。RFC 1157提供了一种监控和管理计算机网络的系统方法。SNMPv1基于团体名认证,安全性较差,且返回报文的错误码也较少。SNMP v2c SNMPv1 SNMPv3SNMPv1报文结构GET-REQUESTGET-NEXT REQUESTSET-REQUESTGET-RESPONSETRAPPDU typeRequest IDError statusError indexVariable bindingsnoSuchNametooBigbadValuegenErrVe
26、rsionCommunitySNMP PDUSNMPv2c 报文结构GET-REQUESTGET-NEXT REQUESTGETBULKSET-REQUESTGET-RESPONSETRAPPDU typeRequest IDError statusError indexVariable bindingswrongValuenoAccesswrongEncodingnoWritablewrongTypenoCreationwrongLengthinconsistentNameinconsistentValueresourceUnavailablenoAccessCommitFailedundo
27、FailedgenErrVersionCommunitySNMP PDUSNMPv3报文结构VersionHeader Data Sec ParaPDU DataMsg IDMsg Max SizeMsg FlagMsg Sec ModelContext Engine IDContext NameDataAuth Engine IDAuth EngBootsAuth Engine TimeUser NameAuth ParaPrivate Para目录Open-Flow协议介绍NETCONF协议介绍SNMP协议介绍RESTful协议介绍Netstream协议介绍目录4. RESTful协议介绍
28、4.1 REST和RESTful 基本概念4.2 REST 架构元素4.3 RESTful 在SDN中的应用Web 服务演进 传统的网站 (1992)基于SOAP的网页服务 (2000)基于RESTful 的网页服务(2006)REST 和 RESTful 服务什么是REST?REST 是一种为WWW服务的软件架构风格不是一种具体的标准或架构基于REST 架构的服务成为RESTful服务REST(Representational State Transfer):表述性状态转移,分布式超媒体软件的一种架构风格。(源自2000年Roy Thomas Fielding的博士论文。)REST 约束统一
29、接口客户端服务器分层系统按需代码无状态缓存REST 架构约束目录4. RESTful协议介绍4.1 REST和RESTful 基本概念4.2 REST 架构元素4.3 RESTful 在SDN中的应用REST 架构元素(1/5)REST架构的关键元素有:资源资源的表述状态转移资源(2/5) 资源的定义是一种类型的对象,对应的相关数据,与其他资源的关系,和一组操作它的方法。RESTful API资源模型资源模型资源集合资源集合资源子集合子资源集合资源单资源子集合和子资源统一资源标识符(URI) (3/5)在RESTful web服务中,统一资源标识符( URI)被用于识别的特定资源。URI=统一
30、资源标识符URL=统一资源定位符URN=统一资源名称URLURNURIURI = URL + URNhttp /wiki/Main_PageSchemeURLURN资源的表述 (4/5)表述表述表述HTMLXML Flash Text 资源表述标识符(URI)REST状态转移(5/5)GET获取资源POST更新资源DELETE删除资源RESTful API HTTP 操作方法PUT新建或更新资源目录4. RESTful协议介绍4.1 REST和RESTful 基本概念4.2 REST 架构元素4.3 RESTful 在SDN中的应用SDN中基于RESTful的应用应用APP应用层控制层转发层S
31、DN控制器SDN网络转发设备转发设备转发设备转发设备转发设备北向接口RESTful:开放的API、设备私有接口南向接口:OpenFlow、OF-Config目录Open-Flow协议介绍NETCONF协议介绍SNMP协议介绍RESTful协议介绍Netstream协议介绍目录5. Netstream协议介绍5.1 NetStream 概述5.2 NetStream 实现原理NetStream概述NetStream是一种基于通过对网络中的通信流量和资源使用情况进行分类统计的网络流量信息的统计技术NetStream主要有如下应用:基于时间或流量的计费和对帐网络规划和分析网络监控应用监控和分析用户监
32、控和分析目录5. Netstream协议介绍5.1 NetStream 概述5.2 NetStream 实现原理NetStream 数据采集的实现NetStream 包含三个组件:流量输出器(NDE)流量收集器(NSC)流量分析器(NDA)flowV5 / V8 / V9NDENSCNDA NSC主要完成 流量收集并存储来自NDE流量状态NDA分析从 NSC中提取统计的数据,进行后续处理,为各种业务提供依据(比如网络规划,攻击监测等等)NDE 主要完成流量收集和传输Netstream报文格式Netstream DataUDPIPHeaderNetStream报文由报文头和负载组成。报文头中的V
33、ersion字段代表着负载中的报文格式。当前支持三种格式,V5、V8和V9。 TCP/SCTP 也可以用来传输Netstream数据,但是当前还不支持。 Flow recordsNetStream实现原理- 报文格式对比报文格式固定,不易扩展。系统开销小。 优点:流量占用少。所携带的内容比较简单。格式适用于具体的分析。可以添加新的聚合模式。缺点:格式是固定的,不可扩展。只有聚合流记录可以输出到NSC。设备完成聚合,导致设备工作负荷高。添加新的聚合模式之前,NDE和NSC的软件版本需要升级NetStream 报文格式 报文格式基于模板,易扩展,是一种灵活的输出格式。但是相对来说系统开销较大。可输
34、出两种数据类型,一种是统计数据,第二种是选项数据。优点:灵活的输出格式, 聚合之前或聚合之后的消息可以被输出报文格式固定,不易扩展。能够将原始流的详细信息输出给NSC。优点:输出字段可以是多种多样的。集合之前流记录的所有字段可以输出到NSC。系统开销小。缺点:格式是固定和扩展困难。 NSC不能长时间存储大量数据。NSC和NDA工作负荷高。V5V8V9NetStream实现原理NDE可以通过3种方式输出流:逐流(Stream-by Stream):逐个流输出给NSC设备。采样: 按比例输出流状态信息给NSC,NSC将会基于采样比率恢复出原始统计信息。聚合: 组合具有相同属性的数据流统计信息,比如两个AS间具有相同目的地的数据包。NetStream实现原理 采样方式采样固定报文采样随机报文采样固定时间采样随机时间采样报文采样时间采样NetStream实现原理聚合方式(1/2)聚合方式聚合关键项as自治系统聚合,源自治系统号、目的自治系统号、输入接口索引、输出接口索引as-tos自治系统-ToS聚合,源自治系统号、目的自治系统号、输入接口索引、输出接口索引、ToSprotocol-port协议-端口聚合,协议号、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论