sdn书稿-第2章SDN核心技术剖析和实战指南_第1页
sdn书稿-第2章SDN核心技术剖析和实战指南_第2页
sdn书稿-第2章SDN核心技术剖析和实战指南_第3页
sdn书稿-第2章SDN核心技术剖析和实战指南_第4页
sdn书稿-第2章SDN核心技术剖析和实战指南_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、SDN 核心技术剖析和实战指SDN 技术概SDN 核心技术剖析和实战指SDN 技术概SDN交换机及南向接口技OpenFlow协OpenFlow概OpenFlow架OpenFlow规范特流安全通OF 协OpenFlow规范版本演OF交换机结构改多流组计数器变指OpenFlow通OF 协议扩OpenFlow端IPv6 支多控制其他改OpenFlow存在的问OF-config协OF-config协议架OF-config协议特配置需数据模绑定到 OVS交换机实现分OVS交换机实现原OVS交换机基本功本章小SDN控制器及北向接口技SDN应用编排和资源管理技SDN 网络系统实SDNSDN应用编排和资源管理

2、技SDN 网络系统实SDN 产业分流表的变1SDN 技术2SDN交换机及南向接口技2.1.1. 2.1.2. 2.2OpenFlowopenflow 起源、发展历程(这部分如果在第一章已涉及到,则简略) openflow基本架构(openflow1.0SDN的架构图) openflow1.0 介绍 2.2.1. OpenFlow 斯坦福大学的NickMcKeown20084月ACMCommunicationsReview上发表的一篇论文OpenFlowenablinginnovationincampusnetworksOpenFlow OpenFlow 由美国科学基金会(NSF)GlobalE

3、nvironment for Network Investigations (GENI)计OpenFlow 进行了资金支持并已开始实施“GENI Enterprise”计划。OpenFlow从提出到现在,已经在硬件和软件支持方面取得了长足的发展。2009 12 1.2版、1.3 版、.2 10由美国科学基金会(NSF)GlobalEnvironment for Network Investigations (GENI)计OpenFlow 进行了资金支持并已开始实施“GENI Enterprise”计划。OpenFlow从提出到现在,已经在硬件和软件支持方面取得了长足的发展。2009 12 1.

4、2版、1.3 版、.2 1012VLANpriorityIPToS bits 2 entriesSSL TLS 隧道。2.2.2. OpenFlow 1.1版、1.2版、1.3版、.2版,而且专家们还在继续对 1.0 的内容,并在后面专门一节里说明其后版本对规范的改进。OpenFlow1.0OpenFlow(OF交换机OpenFlowSwitchSpecificationDec.31,OpenFlowSwitchSpecificationFeb.28,OpenFlowSwitchSpecificationDec.OpenFlowSwitchSpecificationJune25,OpenFlo

5、wSwitchSpecificationSept.6,OpenFlowSwitchSpecificationApril25,OpenFlowConfigurationandManagement Protocol 1.0 (OF-Config 1.0)Dec.23,OpenFlowConfigurationandManagement Protocol 1.1 (OF-Config 1.1)Jan.25,OpenFlowConfigurationandManagement Protocol 1.1.1 (OF-Config 1.1.1)March23,March2012Interoperabili

6、tyEventTechnical Paper, v1.0April19,March2012InteroperabilityEventWhite Paper, v1.0April18,October2012InteroperabilityEventTechnical Paper, v0.4Feb.7,2-1OpenFlow 2-1所示,OF 2-1OpenFlow 2-1所示,OF 3 2.2.3. OpenFlow 正如第一章提到的,OpenFlow ONF 定义的 SDN 架构中的南向接口标准之一,所谓 SDN 的一个重要特征就是控制与转发的分离,控制功能都集中到控制器上完成,OF 交换机只

7、做 OF 交换机间流表的查询与传送就是 APIAPI TCP 连接。 OpenFlowOF交换机之间建立了一条安全通道,OF 1.0 规定了流表的格式和内容, OF 协议。控制平面与转发平面分离后,OF 交换机只要做简单的数据转发工作,但数据转发的依据不 (flowtable fields(coutes(actions 2-1 (1)Header 1.012VLANpriority1.012VLANpriorityIPToSbits2entries2-2 IPIP地址、IP协议号、IPToS 位、TCP/UDP源端口、TCP/UDP 目的(any2-2 2-3 2-4 2-4 2-4 级顺序依

8、次进行, 但对包的发送不保证顺序。另外交换机可以对不支持的行动返回错误(unspportedflowerror) (ForwardALL CONTROLLER: 封装并转发给控制器 LOCAL: 转发给本地网络栈TABLEIN_PORTTABLEIN_PORT1.03 种,转发、入队和修改域。OF NORMAL: 按照传统交换机的 2 OpenFlow-enabled 交换机支持。层、VLAN 或 3 层进行转发处理,仅(Enqueue可选行动-修改域(Modify-field。修改包头内容。具体的行为见表格 2-5。2-(42-(4)2OpenFlow (OpenFlo-only(OpenF

9、lo- hybridOpenFlowOF 交换机与传统交换机混合组网时可能遇到的协议 选行动-NORMAL2 层、VLAN 3 层进行转发处理。OpenFlowOpenFlow而设计的。它不支持现有的商用交换机上的正常处理流程,所有经过该交换机的数据都按照 OpenFlow OpenFlowOpenFlowOpenFlowOpenFlow交换机是用来在端口间转发数OpenFlow OpenFlow 协议来 OpenFlow OF OpenFlow OFOF 2 种模式:主动模式和被动模式。 OpenFlow 将整个网络的控制平面工作都集中到控制器上完成,这在提高架构灵活性的同时OF 交换机自身

10、无法解析路由,当收到一个全新的数据包时,流表中没有对应的流表项,因此其转发引擎会将数据包交给 CPU 处理,CPU 将数据包封装完成后通过安全隧道(TLS 隧道)转发给控制器,控制器解封装后检查数据包头的内容,计这个过程就会反复出现,就会降低数据的传输效率,进而影响到业务的性能。控制器的 2OF 控制器将所有转发信息一次性写入流表中,OF 交换机在数据包到达之前就已经有了全部的 OF 交换机从控制器申请的模式。二者各OF 交换机的流表的容量提出了较高的要求,特别是在浏览比较复杂的环OF 交换OpenFlow 规范提供 2-2OF802.1D2-3描述了流表项2-2OF 2-2OF 2-3 2-

11、22-3。 IPICMP IPICMP ICMP Type Code。对于分段数0 后继续查询。OFOpenFlow 协议。控制OFOF 交换机的事件并向交换机OFOpenFlow TCPNick McKeown 等人写的“OpenFlowEnabling Innovation in TSL。SSL(SecureSocketLayer)Netscape web的安全传输协3.0。IETF()SSL RFC2246 SecuritySSL3.0TLS1.0SSL3.1 6633TCP 端口。双方通过交换证书进行认证。因此,每个交换OF OpenFlow 协议用来描述控制器和交换机之间交互所用的信

12、息的标准,以及控制器和交换机OpenFlow 协议信息结构的集合。OpenFlowOF输通道上交互发送协议消息实现的。OF TLS 隧道。本OF 协议中的消息及其消息的交换过程。1OF ,每一类消息又有多个子消息类型。其中controller-to-switch消息由控制器发起,用来管理或OF交换机的状态;asynchronous OF 交换机发起,用来将网络事件或交换机状态变化更新到控制器;symmetric 消息可由交换机或控制器发起。各类消息描述如下: Features、Configuration、Modify-state、Read-state、Send-packet、Barrier 等

13、。这些消息主要由控(2)asynchronous 送到控制器”,则发送Packet-in 消息给控制器。如果交换机缓存足够多,数据包被临时放在缓Flow-removed (3)symmetric Vendor 等消息。 2OFOF隧道建立起来后,双方必须首先发送OFPT_HELLO 消息给对方,该消息携带本方支持的 OF交换机可以选择支持802.1D 生成树协议。如果支持,所有相关包在查找流表之前应该先在本地进行传统生成树处理。支持生成树协议的交换机在OFPT_FEATURES_REPLY 消息的 compabilities 域需要设置OFPC_STP 位,并且需要在所有的物理端口均支持生成树

14、协议,但生成树协议会设置端口状态,来限制发到OFP_FLOOD 的数据包仅被转发到生成树指定的端口。需要注意指定出口的转发或OFP_ALL 的数据包会忽略生成树指定的端口状态,按照规生成树协议会设置端口状态,来限制发到OFP_FLOOD 的数据包仅被转发到生成树指定的端口。需要注意指定出口的转发或OFP_ALL 的数据包会忽略生成树指定的端口状态,按照规 velyely标记P_CCK_ELP (包头范围velofp_eror_msg,并且指明E_FM_LE类型和PMCERL代码。对于有效(无冲突)的ADD消息,或不带OFPFF_CHECK_OVERLAP 标志的ADD消息,新表项如果ADD消息

15、添加的表项使用了交换机不合法的端口,则交换机返回ofp_error_msg 消息,同时带有OFPET_BAD_ACTION 类型和OFPBAC_BAD_OUT_PORT代码。(ELET或LEE_SRIC2.2.4. OpenFlow OpenFlow2.2.4. OpenFlow OpenFlow2009126个版1.0 版、1.1 版、1.2 版、1.3 版、1.3.1 1.3.2 版。 版本不兼容。除多流表之外,1.1版本主要的变化还有增加组表,增加了匹配域的数目,并且增加了MPLS VLAN 标记。 1.3PBB1.3.1 认证只有1.0 1.3 2 个版本。本节主要介1.0 之后到1.

16、3 版本OpenFlow 协议中OF OpenFlow1.1版本之后,OF2.42-4 最新OpenFlow OpenFlow 1.12-1 一是流表的变化,由单一的流表变为由流水线串联而成的多流表;二是增加了组表。这 OpenFlow1.1 3OpenFlow1.1 3 部分组成,但是名称发生了变化:原先的头域(HeaderFields)变为匹配域(MatchFields,计数器域没变,原先的行动(actions)(Instructions2-6 所示。2-61.1 级、超时定时器和cookie2-7 所示。2-7 1.3 OpenFlow1.0在实际应用中还面临着一些技术的难点。其中之一就

17、是路由器/交换机中TCAM TCAM 的表包括 FIB、MAC、MPLS Lable ACL 表,每个表的匹配字段长度不一,分开设计,并且设计了最 Flow TCAM 体系下流表记录的动态插入算法将更为复杂。OpenFlow1.1 设计了多级流表来减少流表的开销,将流表进行特征提取,分解成多个步骤,10000条,分解成先VLAN+MACIP10002000 条。但流水线式架构使得匹配时延增加,而且流量的生成、维 Switch0开始依次匹配; 数据包等。OpenFlowInstructions Actions 进行了完整详细的说明0 0 (actions 2-5 2-6 2-8 在规范1.12-

18、8 在规范1.14 种:所有(a)elct)et): 元数(MetadataMPLS 标签MPLS 业务类3 另一个变化就是IP proto、 TCP/UDP 2-9。2-9 1.1中匹配域的组成151.2361.1版本中复用的域全部分开,并且增加IPv62-10 13 OF 交换机必须支持的,2- 1.3.2 39 PBBtunnel-IDIPv6 2-12 1.2 版本相同,见表格 2-10 1.22-10 1.2中匹配域组成-36 2-11OF 2-11OF 2-121.3之后匹配域组成-392-1.1 2-1.32-1.3 1.151.36可选指令:Meter可选指令:Metermet

19、erid(1.3版本以后支持): 可选指令:Apply-Actionsaction(s): 立即进行指定的行动,而不改变行动集。这个指 可选指令:Clear-Actions: 在行动集中立即清除所有的行动。必选指令:Write-Actionsaction(s): 将指定的行动添加到正在运行的行动集中。可选指令:Write-Metadata metadata / mask : 在元数据区域记录元数据。必选指令:Goto-Tablenext-table-id: IDApply-Actions (这里没有贴顺序列表)1.1必选行动:Output.1.1中可选行动-Output中增加了LOCAL端规范

20、1.1版本改名为Set-Queue必选行动:Drop.1.0可选行动:Push-Tag/Pop-Tag。用于VLAN、MPLATag的入栈和出栈。规范1.1版本增加。可选行动:Set-Field. 设置报文包头的类型和修改包头的值。 规范1.0中称为Modify-field,规范1.1版本改名为Set-FieldChange-TTL.TTL 1.2中的匹配流程也有扩充,主要是增加了MPLS 2-8 所示。2-7 2-7 1.1 2-8 2-8 1.1 中表N 1.3table-miss项。如果数据包在流表中没有匹配到流表项,称为一个流表失02-9 所示。2-9 1.3 OpenFlow2-9

21、1.3 OpenFlow1.0TLS1.1版本 TCP 6633 端口。0.OF OpenFlow1.1OF协议消息数量没有变化,只是1.0版本中controller-to-Send-packet改名为Packet-out,Vendor 改名为ExperimenterOpenFlow 1.3 2 controller-to-switch Role-Request Role-Request:用于控制器向其OpenFlow通道设置或查询role1.OpenFlow OpenFlow1.2OpenFlow端口。OpenFlowOpenFlow 进程和网络之间传递数据包的网络接口。OF 交换机之间通过

22、 OpenFlow 端口在逻辑上相互连接。 在此还有一个标准端口的定义,OpenFlow 的标准端口为物理端口,逻辑端口,本地保留端在此还有一个标准端口的定义,OpenFlow 的标准端口为物理端口,逻辑端口,本地保留端 OpenFlow 的逻辑端口为交换机定义的端口,但并不直接对应一个交换机的硬件接口。逻辑openflowopenflow对于逻辑端口的处理像硬件接口的处理的元数据字段即隧道 ID,而当一个逻辑端口上接收到的报文被发送到控制器时,其逻辑端Required:ALL:Required:TABLE:openflow流水线的开始。这个端口仅在输出行为的时候有效,此Required:AN

23、Y:OpenFlow中的一个特定值,用在没有指定端口的OpenFlow指令(端口通Optional:LOCAL:Optional:FLOOD:通过数据包的VLANID 2.IPv6 IPv4IPv6OpenFlow 协IPv6 扩展头的支持。IPv6TOS, 1.3 IPv6 2-13。2-15 1.2 IPv6 2-161.3中增加的IPv6 3. 1.2 中引入了多控制器,由多个控制器协同工作提高全网的可靠性。多个控制器之间的主备倒换是由控制器之间协商完成的,OF1 到多个控制器建立OF 交换机在初始化时,就与所有配置好的控制器进行连接,为保证多控制器协同工作,增 MASTER状态下类似,

24、唯一不同的就是系统中只能有一台 MASTER,如果有一台控制器的角色转变为 4.单流计量-OpenFlow4.单流计量-OpenFlow实现各种简单的QoS业务,QoS DiffServ。2-17 2-18 DiffServ 策略。PBB 1.3.1 2.2.5. OpenFlow 2.2.5. OpenFlow 12 元组,如果用软件实现匹配的话,转发性能必然受到影响。后来有了基于 NetFPGA OF 交换,使转发性能有了很大的提升。TCAM限制。TCAM容量解决,一方面TCAM会加大设备的成本,另一方面流表加大会降低查找流表的速度。流表大Proactive+Reactive 的双重流表建

25、F F (OF1.3 支持)OpenFlow1.0OF1.1OF1.2、 OF1.3、OF1.3.1OF1.3.2 版本,后续还将继续有新版本出现。但这些版本是不能OF 1.0,定义的是单流表,而后续版本都是多流表。?控制器的 OpenFlowSDN OF 交换机发送流表以控制数据 了一个工作组,即由 Microsoft OpenFlow OpenFlow OpenFlowOF-Config 1.0 2012 1 12 日经董事会批 1.3 1.3.1 版本的配置。OF-CONFIG NETCONF XML 定义的数据格式。2.3.1. OF-configONF与网络设备的设计、制造,OF-c

26、onfig 正是这样一个设备级别的同样管理标准。OF-configOpenFlowOpenFlow Configuration 2.3.1. OF-configONF与网络设备的设计、制造,OF-config 正是这样一个设备级别的同样管理标准。OF-configOpenFlowOpenFlow Configuration Point。2-10 所示。2-10OF-config与OpenFlow 2.3.2. OF-configOF-configOFOpenFlow Datapath( OpenFlowOpenFlowConfigurationandManagement Protocol 1.

27、0 (OF-Config 1.0)Jan.6,OpenFlowOpenFlowConfigurationandManagement Protocol 1.1 (OF-Config 1.1)June.25,OpenFlowOpenFlowConfigurationandManagement Protocol 1.1.1 (OF-Config 1.1.1)March23,OpenFlowOF交换机一词。OF-config 提供了一个开发接口,通过这个接口可以远程 OF交换机一词。OF-config 提供了一个开发接口,通过这个接口可以远程 OPenFlowOF 交换机上配IP 地址,对其上各端口做

28、enalbe/disable OF-config 协议完成。 OFOpenFlow实例,OF-config可以OpenFlow 2-112-11OF-config与OpenFlow OF-config1.0 OpenFlow1.2IP地址OpenFlow1.2 IP TLS(3)OpenFlowOpenFlowOpenFlowOF交换机上的一个实例,可由控制器直 ID 64bits48 位是交换机的MAC 16 位由各设备生产厂家定义。 OpenFlow1.2版本所需的功能配置需求外,OF-config1.0还需要支持运维需求和管理协议OF配置点(OpenFlowConfigurationPo

29、int)进行配置操作。OF OF 交换机。OF交换机建立连接数据模型由XMLUML2-12OF-configUML2-12UML OpenFlow OF交换OFOF-CONFIG 1.02类资源:OpenFlow OFOpenFlow控制器。XMLOFOpenFlow控制器。XMLID ID 都是一个字符串URN(Universal Resource Names)作为标识,(1)OF OFOpenFlow2-133OpenFlowOFOFOFOpenFlowOF2-13OF (2)OpenFlow OF OF OF 逻辑交换机。传输映射的BEEP 2-14 是配置点的数据模型图。OF-CONF

30、IGNETCONF 协议。NETCONF 4 种不同的传输协议:SSH, BEEP, TLSOF OF SSH2-14OpenFlow (3)OF2-14OpenFlow (3)OFOF OF OpenFlow datapthOpenFlowOFOpenFlowOF交换机上的资源集合能力,2-15 2 个元素相关:OpenFlowOFOpenFlowOF2-15OF (4)OpenFlowOpenFlowOpenFlow IPTCPIPTCP2-16OF (5)OpenFlowOpenFlowOFOF队列的一个超类(superclass基类。超类没有实例。该超类2-17 所示。2-17OF (

31、62-17OF (6)OpenFlow (objectOFOF2-182-18OpenFlow (7)OpenFlow 2-19 (2-19 (8)OpenFlowOpenFlowOpenFlowOF队列也是逻辑定义的。2-10。2-20OpenFlow 2-20OpenFlow OF-CONFIG1.0OF必须支持 NETCONF 协议作为传输协议。 隐含要支持 SSH。 此外还要支持 Web 在消息层顶端(RPC)2-21 NETCONF 协议中的各个层次。2-21NETCONF2-21NETCONF OF-CONFIG 将来新的需求。可满足的需求如下:TLS作为传输协议(SOAPBEEP 协议同时使用),以提供完整性、NETCONFTLSTCP 作为底层传输协议以提高可靠的传输。NETCONF OF OF 交换机间的通信的一般方法BEEP作为传输协议时,NETCONF标准支持反向配置建立RFC5277定义的

温馨提示

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

最新文档

评论

0/150

提交评论