软件定义网络(SDN)基础教程-习题答案(刘江).docx
《软件定义网络(SDN)基础教程-习题答案(刘江).docx》由会员分享,可在线阅读,更多相关《软件定义网络(SDN)基础教程-习题答案(刘江).docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件定义网络(SDN)基础教程课后习题答案第一章SDN基础知识1. SDN相比于传统网络的优势在哪里?会带来哪些问题?参考答案:SDN与传统网络的最大区别就在于它可以通过编写软件的方式来灵活定义网络设备的转发 功能。在传统网络中,控制平面功能是分布式地运行在各个网络节点中的,如集线器(Hub)、 交换机(Switch),路由器(Router)等。因此新型网络功能的部署需要所有相应网络设备 的升级,这导致网络创新往往难以落地。而SDN将网络设备的控制平面与转发平面别离, 并将控制平面集中实现,这样新型网络功能的部署只需要在控制节点进行集中的软件升级, 就能实现快速、灵活地定制网络功能。另外,SD
2、N架构还具有很强的开放性,它通过对整个 网络进行抽象,为用户提供完备的编程接口,使用户可以根据上层应用个性化地定制网络资 源来满足其特有的需求。由于其具有开放可编程的特性,SDN有可能打破某些厂商对设备、 协议以及软件等方面的垄断,从而使更多的人可以参与网络技术的研发工作。SDN数据控制别离目前面临的问题包括以下几种。 可扩展性问题:这是SDN面临的最大问题之一。数据控制别离后,原来分布式的控制平 面集中化了,即随着网络规模扩大,单个控制节点的服务能力极有可能会成为网络性能的瓶 颈。因此控制架构的可扩展性是数据控制别离后的主要研究方向之一。一致性问题:在传统网络中,网络状态一致性是由分布式协议
3、保证的。在SDN数据控制 别离后,集中控制器需要承当这个责任。如何快速侦测到分布式网络节点的状态不一致性, 并快速解决这类问题,也是数据控制别离后的主要研究方向之一。 可用性问题:可用性是指网络无故障的时间占总时间的比例。传统网络设备是高可用的, 即发向控制平面的请求会实时得到响应,因此网络比拟稳定,但是在SDN数据控制别离后, 控制平面网络的延迟可能会导致数据平面可用性问题。2. SDN架构包含哪些模块?参考答案:ONF定义的架构共由4个平面组成,各平面之间使用不同的接口协议进行交互,各平面的 主要功能如下:(1)数据平面:数据平面由假设干网元构成,每个网元可以包含一个或多个SDN数据路径,
4、 是一个被管理的资源在逻辑上的抽象集合。每个SDN数据路径是一个逻辑上的网络设备, 没有控制能力,只是单纯用来转发和处理数据的。一个SDN数据路径包含控制-数据平面接 口代理、转发引擎表和处理功能模块3个局部。(2)控制平面:控制平面为SDN控制器,一个SDN控制器包含北向接口代理、SDN控制 逻辑以及控制-数据平面接口驱动3个局部。SDN控制器只要求逻辑上完整,因此它可以由 多个控制器实例协同组成,也可以是层级式的控制器集群。(3)应用平面:应用平面由假设干用户需要的SDN应用构成,它可以通过北向接口与SDN 控制器进行交互,即这些应用能够通过可编程方式把需要请求的网络行为提交给控制器。一
5、个SDN应用可以包含多个北向接口驱动(使用多种不同的北向API),同时SDN应用也可 以对本身的功能进行抽象、封装来对外提供北向代理接口,封装后的接口就形成了更高级的 北向接口。(4)管理平面:管理平面主要负责一系列静态的工作,这些工作比拟适合在应用、控制、 数据平面外实现,例如进行网元设置,指定SDN控制器,定义SDN控制器以及设定SDN(3)多级流表的处理过程:每个OpenFlow交换机包含多个流表,每个流表包含多个流表项,采用流水线方式处理。OpenFlow交换机的流表是从0开始按顺序编号的。流水线处理总是从第一个流表开始。数据包首先与流表0中的流表项进行匹配。如果某流表项匹配成功,那么
6、执行该流表项里的指 令。 流表项的指令可以明确指定将数据包转至另一个流表处理(GOTO指令)。一个流表项 只能将数据包转到大于自己流表号的流表,也就是说流水线处理是单向的,只能前进而不准 后退。流水线的最后一个流表项不包括GOTO指令。 如果匹配的流表项中不包含GOTO指令,那么流水线处理将在该流表中停止。数据包会 被与之相关的行动集处理,这里的处理通常是指转发。第五章SDN协议接口1 .简述OpenFlow协议中流表的结构和功能,比拟流表与传统网络中交换机、 路由器中转发表的相似点和不同点。参考答案:OpenFlow的流表项主要包括3个局部:用于数据分组匹配的分组头域(HeadField)、
7、用于 保存与条目相关的统计信息的计数器(Counter)、匹配表项后需要对数据分组执行的动作 表。 分组头域:分组头域是数据分组匹配流表项时的参考依据,作用类似于传统交换机进行 二层交换时匹配数据分组的MAC地址,也类似于路由器进行三层路由时匹配的IP地址。 计数器:流表项中的计数器被用来统计流的一些信息,例如查找次数、收发分组数、生 存时间等。 动作表:流表项可以根据指定动作字段来指导OF交换机如何处理流,动作表那么指定了 OF交换机处理相应流的行为。动作表可以包含0个或多个动作,交换机会按照这些动作的 先后顺序依次执行。流表的功能与传统交换机中的二层MAC地址表、路由器中的三层IP路由表类
8、似,但又和 传统设备不同,流表可以同时包含更多层次的网络特征,而且是由网络管理者通过控制器编 程定义的,不再受限于随设备出厂的操作系统。通过部署面向各种网络服务的流表,一台OF 交换机可集交换、路由、防火墙、网关等功能于一身,极大地提高了网络部署的灵活性。2 .简述OpenFlow协议中平安通道的建立过程。参考答案:OpenFlow控制器开启TCP的6633端口等待交换机的连接,当交换机启动时,会连接到指 定控制器的6633端口。为了保证平安性,双方需要交换证书完成身份认证。因此,每个交 换机至少需配置两个证书,一个用来认证控制器,另一个用来向控制器发出认证。当认证通过后,双方会给对方发送握手
9、消息,该消息携带各自支持的最高的协议版本号,接 收方将采用二者中较低版本协议进行通信。一旦发现两者拥有共同支持的协议版本,那么建立 平安通道,否那么发送错误消息,描述失败原因,并终止连接。3 .创立一个小型拓扑,抓包分析OpenFlow交换机和控制器的交互过程。参考答案:OpenFlow交换机和控制器的交互过程: 控制器与OpenFlow交换机通过TCP “3次握手”建立连接。其中,控制器的端口号为 6633o ACK (Acknowledge character)是确认字符。 控制器与OpenFlow交换机之间相互发送Hello消息,协商双方的OpenFlow版本号。如 果双方协商不一致,那
10、么会产生Error (错误)消息。 控制器向OpenFlow交换机发送Features Request (功能请求)消息,请求交换机上传自 己的详细参数。OpenFlow交换机收到请求后,向控制器发送Features Reply (功能反应)消 息,详细汇报自身参数,包括支持的buffer (缓存)数目、流表数以及动作等。 控制器通过Set Config消息下发配置参数,然后通过Get Config Request消息请求 OpenFlow交换机上传修改后的配置信息。OpenFlow交换机通过Get Config Reply消息向控 制器发送当前的配置信息。如果要进行状态的修改、控制器通过Mo
11、dify State Messages消息 修改包括 Table/Flow/Port/Meter Mod 参数。 控制器与OpenFlow交换机发送Packet_out Packet_in消息,通过Packet_out中内置的 LLDP包,进行网络拓扑的探测。 控制器与OpenFlow交换机通过发送Multipart Request (多局部请求)、Mutipart Reply (多 局部反应)消息,可以获取OpenFlow交换机的状态信息,包括流的信息、端口信息等。 控制器与OpenFlow交换机通过发送Echo Request (回应请求)、Echo Reply (回应反应) 消息,保证两
12、者之间存在有效连接,防止失联。4 . NETCONF协议作为一个网络管理协议,与之前的SNMP以及CLI的管理方 式相比有什么优点? 参考答案:随着网络规模的增大、复杂度的增加,网络管理的工作量也呈现出指数型的增长,传统的命 令行界面CLL简单网络管理协议SNMP已经不能适应如今复杂的网络管理工作,特别是 不能满足配置管理的要求。NETCONF网络配置协议定义了一种简单的管理网络设备的机制, 通过该机制可以在设备中检索配置数据信息,使用相应的软件向设备上传新的配置数据。通 过NETCONF协议,网络设备可以提供规范的应用程序接口 APL应用程序可以使用这个简 单的API来发送和接收完整或局部的
13、配置数据。NETCONF使用远程过程调用RPC方式促 进客户端和服务器之间的通信。NETCONF允许客户端发现服务器支持的协议扩展集。 NETCONF可与基于XML的转换技术配合使用,如可扩展样式表转换语言XSLT,构建一 个能够自动进行完整的和局部配置的系统。5 . NETCONF协议分成了几层,每层对应实现了什么功能?参考答案:NETCONF协议分成4层:内容层、操作层、消息层、传输层:(1)传输层:底层传输协议的3个要求包括: 面向连接:NETCONF协议是面向连接的,要求在对等方之间建立稳定的连接,这种连 接必须提供可靠的、有序的数据传输。NETCONF的连接是长期存在的,在进行协议操
14、作的 时候需要保持不变。 身份认证、完整性和机密性:NETCONF连接必须提供身份认证、数据完整性、机密性 和重传保护机制。例如,可以使用TLS或SSH对连接进行加密,具体取决于底层协议。 强制性运输协议:NETCONF协议必须支持SSH传输协议。(2)消息层:NETCONF协议采用基于RPC的通信模式。NETCONF协议使用vrpc和rpc- reply元素来提供与传输协议相独立的NETCONF请求和响应,来完成对网络设备的配置管 理工作。(3)操作层:NETCONF协议在操作层中提供了一系列低级别操作来管理设备配置和检索 设备状态信息,而设备状态信息一般存放在数据库中,这些操作提供了检索、
15、配置、复制和 删除配置数据存储的功能。(4)内容层:内容层由配置数据和通知数据组成。NETCONF的内容层未指定具体的模型 结构,而是指定了一套数据建模语言YANG。使用YANG模型定义的数据模型,均可以作 为NETCONF的内容层。NETCONF协议可以通过不断增加和修改对应的YANG文件来实 现对协议的扩展。NETCONF可以支持用户自定义的操作。6 .查阅资料,思考NETCONF主要有哪些应用场景?参考答案:通过NETCONF用户可以增加、修改、删除网络设备的配置,获取网络设备的配置和状态信 息。NETCONF支持的操作和能力包括:(1)基本操作:NETCONF协议定义了基本能力,基本能
16、力定义了一系列操作,用于修改 数据库配置、从数据库获取信息等。(2)标准能力集:NETCONF协议定义了一系列标准能力集。这些标准能力定义了一些新 的操作,使NETCONF功能更加强大,并使其在容错性、可扩展性等方面得到加强,最终将 有利于实现基于NETCONF的开放式网络管理体系结构,为设备厂商扩展功能提供有效的 途径。(3)扩展能力集:设备制造商也可以定义自己的能力集,以实现NETCONF定义以外的特 色功能。7 .登录控制器,翻开Postman,在URL地址栏中输入如下内容,提交方式为GET, 来获取交换机ID信息。 :/127.0.0.1:8080/restconf/operation
17、al/opendaylight-inventory:nodes参考答案:第六章SDN基础应用开发1 .请简要谈谈使用SDN的仿真工具进行实验的优点与缺乏。参考答案:优点:(1)节省资源,便于在有限的资源上进行复杂拓扑的实验。(2)操作简单,通过简单的脚本就可以完成一个拓扑的创立。(3)速度快,实验拓扑秒级启动。缺点:(1)仿真工具UI易用性较差。(2)仿真终端不支持复杂应用的部署。2 .请尝试对实验内容进行修改并增添自己的想法,定制一个自己的实验。第七章SDN综合应用开发1 .请简要谈谈SDN北向API的作用。参考答案:控制器北向API由控制器提供,可通过调用所述接口对控制器连接的交换机进行管
18、理,管 理操作包括流表的增、册k改、查,拓扑获取,交换机配置更改等。2 .请回答SDN防火墙的特点。参考答案:SDN作为新的网络架构理念,其基本特性包括转控别离、控制平面可编程和集中控制。借 助SDN中心化的控制机制,企业用户可以从全局网络设备采集流量信息,建立起基于流量 的实时和历史信息库,精准识别、阻断异常流量,实现基于流的类防火墙功能。此外,借助 SDN开放的北向接口,用户可以按需定制北向应用,通过快速有效地将平安策略下发到安 全设备,实现平安措施的快速部署以及平安事件的及时响应。SDN架构的引入为网络平安 领域的创新提供了巨大的想象空间。3 .请结合实际生活中的例子,谈一谈SDN的网络
19、平安的需求和挑战。参考答案:近年来,为了满足不断增长的业务需求,金融机构逐渐开始进行数据中心的云化建设。基于 软件定义网络(SDN)的金融云平台需求包括:(1)互联网化的业务日益增加,云网自动化协同的需求愈发迫切,而SDN数据平面接口开 放,自动化可编程,对外开放了网络的能力,可以快速对接业务的组网需求;基于流(flow) 的转发控制,使得网络行为能够更加多样化、精细化。(2)面向外部金融机构提供金融云托管服务,在服务形态多样化的同时,对于网络服务的 质量与平安也提出了更高的要求。而SDN具有中心化的控制平面,提供了全网的视角与全 局的网络信息。SDN本质是网络架构上的革新,在组网方面可以提升
20、网络的利用效率与灵 活性,在平安方面对网络进行精细化细粒度的管控成为可能。在数据层面理论上SDN增强了平安可控性与隔离粒度,而不会造成额外的平安风险。但是 在策略转换与指令下发的过程中,由于是SDN全自动化地进行,因此在管理与控制层面有 可能会引入新的风险。SDN的信息风险点主要存在于控制平面及其相关联的南北向链路上。 控制器作为网络大脑,需要更高强度的保护措施。应用的控制范围等。3. SDN是如何实现控制平面与数据平面别离的?参考答案:SDN以网络设备的FIB表为界分割数据平面和控制平面,其中交换设备只是一个轻量级的、 “哑”的数据平面,仅保存FIB和高速交换转发能力,而上层的控制决策全部由
21、远端的统一控 制器节点完成,在这个节点上,网络管理员可以看到网络的全局信息,并根据该信息做出优 化的决策,数据平面和控制平面之间采用SDN南向接口协议连接,这个协议将提供数据平 面可编程性。4. SDN是如何实现网络可编程的?参考答案:对上层应用的开发者来说,SDN的编程接口主要表达在北向接口上,北向接口提供了一系 列丰富的APL开发者可以在此基础上设计自己的应用而不必关心底层的硬件细节,就像目 前在x86体系的计算机上编程一样,不用关心底层寄存器、驱动等具体的细节。北向接口的 设计是否完善会直接影响整个SDN的可编程能力。第二章SDN仿真环境1 .简单举例说明Mininet在SDN仿真中的作
22、用。参考答案:Mininet是一个可以在有限资源的普通计算机上快速建立大规模SDN原型系统的网络仿真 工具。该系统由虚拟的终端节点(End-Host) OpenFlow交换机、控制器(也支持远程控制 器)组成,这使得它可以模拟真实网络,可对各种想法或网络协议等进行开发验证。目前 Mininet已经作为官方的演示平台对各个版本的OpenFlow协议进行演示和测试。2 .不使用Mininet的可视化应用,写一份拓扑文件,并且在Mininet中使用这份 拓扑文件来生成对应的拓扑。参考答案:拓扑文件内容如下:#!/usr/bin/python from import Mininetfrom minin
23、et.node import Controller; RemoteController, OVSControllerfrom mininet.node import CPULimitedHost, Host, Nodefrom mininet.node import OVSKernelSwitch, UserSwitchfrom mininet.node import IVSSwitchfrom mininet.cli import CLIfrom mininet.log import setLogLevel, infofrom mininet.link import TCLink; Intf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 定义 网络 SDN 基础教程 习题 答案 刘江
限制150内