软件定义网络(SDN)基础教程(第2版)(微课版) 课件 第6章 SDN基础应用开发v1.1_第1页
软件定义网络(SDN)基础教程(第2版)(微课版) 课件 第6章 SDN基础应用开发v1.1_第2页
软件定义网络(SDN)基础教程(第2版)(微课版) 课件 第6章 SDN基础应用开发v1.1_第3页
软件定义网络(SDN)基础教程(第2版)(微课版) 课件 第6章 SDN基础应用开发v1.1_第4页
软件定义网络(SDN)基础教程(第2版)(微课版) 课件 第6章 SDN基础应用开发v1.1_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

SDN基础应用开发01SDN应用开发简介02防DDoS攻击SDN应用开发03

服务器灾备SDN应用开发04

简易负载均衡SDN应用开发SDN应用开发场景SDN的应用场景非常广泛,常见的SDN应用开发场景按照功能可划分为以下3种:基于SDN的流量调度、流量可视化应用开发流量采集模块--数据分析模块--前端展示模块--控制模块基于SDN的网络安全应用开发防火墙模块--网络策略分析模块--前端展示模块基于SDN的上层业务应用开发。

上层应用模块--上层应用管理模块--策略转化模块01SDN应用开发简介02防DDoS攻击SDN应用开发03

服务器灾备SDN应用开发04

简易负载均衡SDN应用开发DDoS攻击简介DoS(DenialofService,即拒绝服务)攻击是一种很简单但又很有效的进攻方式。它的目的是拒绝服务访问,破坏组织的正常运行。DoS攻击的基本过程如右图所示首先攻击者向服务器发送众多的带有虚假地址的请求服务器发送回复信息后等待回传信息,由于地址是伪造的,所以服务器一直等不到回传的消息,分配给这次请求的资源就始终没有被释放当服务器等待一定的时间后,连接会因超时而被切断,在这种反复发送伪地址请求的情况下,服务器资源最终会被耗尽DDoS攻击典型场景DDoS攻击场景现象流量型(直接)SYN\ACK\ICMP\UDP\ConnectionFLOOD等DDoS告警流量型(反射)NTP\DNS\SSDP\ICMPFLOOD等DDoS告警CC流量变化可能不明显,业务访问缓慢,超时严重,大量访问请求指向同一个或少数几个页面HTTP慢速流量变化可能不明显,业务访问缓慢,超时严重,大量不完整的HTTPGET请求,出现有规律大小(通常很小)的HTTPPOST请求的报文URL反射流量变化明显,业务访问缓慢,超时严重,大量请求的Referer字段相同,表明均来自同一跳转页面各种DoS效果漏洞利用入侵检测防御设备可能出现告警,DDoS攻击检测设备告警不明显针对典型DDoS攻击通过攻击特征进行分类,转换为攻击场景:SDN应用开发示例:防DDoS攻击核心技术——sFlowsFlow技术是一种以设备端口为基本单元的数据流随机采样的流量监控技术,不仅可以提供完整的第二层到第四层甚至全网范围内的实时流量信息,而且可以适应超大网络流量环境下的流量分析。sFlow监控工具由sFlowAgent和sFlowCollector两部分组成。Agent作为客户端,一般内嵌于网络转发设备,通过获取设备上的接口统计信息和数据信息,将信息封装成sFlow报文,当sFlow报文缓冲区满或是在sFlow报文缓存时间超时后,sFlowAgent会将sFlow报文发送到指定的Collector。Collector作为远端服务器SDN应用开发示例:防DDoS攻击本示例中,Collector作为远端服务器,部署在OpenDayLight控制器中,负责对sFlow报文分析、汇总、生成流量报告。Agent部署在OpenFlow交换机中,负责流量数据的收集。核心技术——sFlowSDN应用开发示例:防DDoS攻击本示例采用的sFlow软件为sFlow-RT,sFlow-RT可统计到每个接口的流量信息,实验通过sFlow-RT的RESTAPI获取JSON数据并对JSON数据进行解析,对解析到的数据进行分析判断后即可实施策略。通过对sFlow-RT进行配置,设定metric=ddos,并设定它的阈值,当监测到的流量超过这个阈值时即判断为DDoS。sFlow-RT调用预制的OpenDaylight脚本:odl.js来调用OpenDaylightRESTfulAPI下发匹配DDoS攻击包流表,并进行丢弃操作,完成模拟DDOS攻击防御。控制器:主机1:主机2:0SDN应用开发示例:防DDoS攻击控制器安装sFlow执行解压命令,命令如下。#tar-xvzfsflow-rt.tar.gz执行如下命令拷贝脚本。#cp/home/openlab/openlab/ddos/json2.js/home/sflow-rt/extras#cp/home/openlab/openlab/ddos/odl.js/home/sflow-rt3.进入控制器主机的/home/sflow-rt目录,编辑脚本odl.js。用上述获取的主机IP信息以及连接到OpenDaylight的node信息进行替换,如下所示。修改start.sh脚本,将execjava${JVM_OPTS}${RT_OPTS}${RTPROP}-jar${JAR}替换成如下内容:SCRIPTS="-Dscript.file=odl.js"execjava${JVM_OPTS}${RT_OPTS}${RTPROP}${SCRIPTS}-jar${JAR}SDN应用开发示例:防DDoS攻击交换机部署sFlow使用root用户登录交换机,执行以下命令,部署sFlowAgent。#ovs-vsctl----id=@sflowcreatesflowagent=s1target=\":6343\"header=128sampling=10polling=1--setbridgebr-swsflow=@sflow2.执行以下命令查看已经配置的sFlowAgent信息。#ovs-vsctllistsflow查看结果如下:登录控制器,进入/home/sflow-rt,执行命令./start.sh启动sFlow。SDN应用开发示例:防DDoS攻击odl.js主控函数,接收sFlow事件,调用流表处理函数构造并发送流表SDN应用开发示例:防DDoS攻击成果验证登录主机1执行sudoping0-f命令模拟DDoS攻击主机2,如下所示。执行如下命令,查看交换机上的对DDoS处理的流表,如下所示。#ovs-ofctldump-flowsbr-sw-OOpenFlow13|grepdrop登录控制器,打开浏览器,输入:8008/agents/html,单击,进入该虚拟机所监控的端口列表页面,搜索DDoS,单击进入流量视图页面,具体如图所示。01SDN应用开发简介02防DDoS攻击SDN应用开发03

服务器灾备SDN应用开发04

简易负载均衡SDN应用开发灾备原理灾备是指建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换,当一处系统因意外(如火灾、地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。容灾技术是系统的高可用性技术的一个组成部分,容灾系统更加强调处理外界环境对系统的影响,特别是灾难性事件对整个IT节点的影响,提供节点级别的系统恢复功能。灾备技术分类在传统网络下,通过硬组网方式实现数据中心内部、跨数据中心、跨地域的不同容灾方案SDN技术使容灾网络配置更加灵活,配合传统容灾技术,使容灾切换更加平滑,对网络的冲击更加可控。数据中心整体灾备技术可以分为四种:冷备、暖备、热备和双活。冷备:冷备技术就是在整个数据中心故障无法提供服务时,数据中心会临时找到空闲设备或者租用外界企业的数据中心临时恢复,当自己数据中心恢复时,再将业务切回。暖备:暖备技术是在主备数据中心的基础上实现的,备用数据中心为暖备部署,应用业务由主用数据中心响应,当主用数据中心出现故障造成该业务不可用时,需要在规定的RTO(RecoverTimeObjective,即灾难发生后,信息系统从停顿到恢复正常的时间要求)时间以内,实现数据中心的整体切换。热备:相比暖备,热备最重要的特点是实现了整体自动切换,其它和暖备实现基本一致双活:通过双活技术可以实现主备数据中心均对外提供服务,正常工作时两个数据中心的业务可根据权重做负载分担,没有主备之分,分别响应一部分用户,权重可以是按地域划分,或数据中心服务能力或对外带宽。当其中一个数据中心出现故障时,另一数据中心将承担所有业务。SDN应用开发示例:服务器灾备通过流表实现多台服务器对外使用同一个虚拟IP提供相关的服务,如下图中服务器为、两个机器,对外统一暴露的服务虚拟IP为00。其中机器为正常使用的服务器,为备用服务器。当机器发生故障时,自动切换使用机器。SDN应用开发示例:服务器灾备mkdir~/.m2cp-n~/.m2/settings.xml{,.orig};\wget-q-O-/opendaylight/odlparent/master/settings.xml>~/.m2/settings.xml如果在windows系统下,下载/opendaylight/odlparent/master/settings.xml在maven的.m2目录下直接拷入settings.xmlmavensettings.xml配置SDN应用开发示例:服务器灾备生成项目骨架(Archetype)mvnarchetype:generate\-DarchetypeGroupId=org.opendaylight.controller\-DarchetypeArtifactId=opendaylight-startup-archetype\-DarchetypeVersion=1.3.0-Carbon\-DarchetypeRepository=/content/repositories/public/\-DarchetypeCatalog=/content/repositories/public/archetype-catalog.xmldplb-v3-aggregator是父工程包含了api,artifacts,features,impl,it,karaf六个子工程SDN应用开发示例:服务器灾备YANG的定义:SDN应用开发示例:服务器灾备核心代码实现:Dplb配置数据库监听作用:监听用户关于灾备实验配置数据的

新增、修改、删除。根据用于灾备

配置数据的下发。实现:通过实现DataTreeChangerListener<DplbConfig>接口

重构OnDataChanged(Collection<DataTreeModification<DplbConfig>>changes)方法SDN应用开发示例:服务器灾备核心代码实现:拓扑链路监听作用:监听灾备实验网络拓扑链路变化,当

主服务器相关链路出现故障时,能够

自动的切换到备用服务器上。实现:实现方法较多,此处我们通过实现OpendaylightInventoryListener接口

重构OnDataChanged(Collection<DataTreeModification<DplbConfig>>changes)方法重构onNodeConnectorRemoved(Collection<DataTreeModification<DplbConfig>>changes)方法

SDN应用开发示例:服务器灾备impl-blueprint.xml的定义:SDN应用开发示例:服务器灾备下发灾备应用初始配置字段解释:switch_id为多个物理服务器挂在的SDN

交换机id virtual-ip为虚拟服务器ippractical-ip为客户端ip port-number为客户端挂在的portgroup-list为物理服务器列表信息作用:下发灾备实验初始配置配置下发后就可以进行访问测试,使用客户端去访问虚拟ipSDN应用开发示例:服务器灾备灾备实现和测试作用:当链路故障时,删除虚拟ip对主

服务器的映射流量。获取备用服

务器相关配置信息,下发虚拟ip和备用服务器的映射流表。测试:继续使用客户端访问虚拟ip。在备用

服务器上抓包。

SDN应用开发示例:服务器灾备流表:SDN应用开发示例:服务器灾备构建安装:

执行mvncleaninstall测试验证

01SDN应用开发简介02防DDoS攻击SDN应用开发03

服务器灾备SDN应用开发04

简易负载均衡SDN应用开发什么是负载均衡负载均衡包括服务器负载均衡和网络负载均衡。服务器负载均衡是指采用一定策略将并发的访问分摊到不同的服务器上完成;网络负载均衡是指通过一定的路由策略将流量负荷分摊到不同的路径上从而达到路径和节点负荷的最优配置。服务器负载均衡网络负载均衡网络负载均衡SDN技术的出现,为网络负载均衡系统提出了一种新的技术实现思路指定路由:指定路由可配合协议绑定,先分别指定哪个应用服务、哪个IP网段、哪个目的网址,走哪个WAN端口。策略路由:基于策略的路由允许应用一个策略控制数据包应如何走而非基于路由表选路。IP路由基于目标地,而PBR允许基于源的路由,即来自何处而应到哪去,从而根据需要走一条特殊的路径。缺点:不灵活,配置维护复杂SDN应用开发实验:简易负载均衡在本实验中,主要的工作是对链路负载的计算,最优路径的规划。对于链路负载的计算,我们简单通过一定时间内链路上传输的数据包的数量(假设包大小差不多),将传输包的数量作为该链路的权值,通过迪杰斯特拉算法计算出最优路径。通过OpenDaylightREST接口,将规划好的路径转换成流表。下发给各个交换机节点,最终达到路径最优规划的效果。SDN应用开发实验:简易负载均衡topology.py拓扑定义SDN应用开发实验:简易负载均衡odl_loadblance.py获取拓扑节点和路径信息SDN应用开发实验:简易负载均衡odl_loadblance.py获取路径信

温馨提示

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

评论

0/150

提交评论