网络故障诊断与排除(H3C)(第2版)(微课版) 课件 第13章 网络自动化运维_第1页
网络故障诊断与排除(H3C)(第2版)(微课版) 课件 第13章 网络自动化运维_第2页
网络故障诊断与排除(H3C)(第2版)(微课版) 课件 第13章 网络自动化运维_第3页
网络故障诊断与排除(H3C)(第2版)(微课版) 课件 第13章 网络自动化运维_第4页
网络故障诊断与排除(H3C)(第2版)(微课版) 课件 第13章 网络自动化运维_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第13章网络自动化运维13.1新网络运维技术基础13.1.1SDN概述13.1.2网络管理协议简介13.2Python自动化运维13.2.1Python基础13.2.2Paramiko模块

13.1新网络运维技术基础SNMP、CLI等传统的网络运维技术已不能适应当前复杂网络(如SDN)管理和配置管理的需求,管理效率也越来越低;NETCONF、RESTCONF、Telemetry等新的技术应运而生,解决了传统网络运维技术的短板,满足了新网络管理的需求。13.1.1SDN概述众所周知,传统网络是分布式的网络架构,每个网络设备拥有独立的控制面,网络中没有集中的控制点,网络业务的开通要由管理员通过命令行或网管一一配置每个网络设备。很显然,传统的网络架构已经无法满足当前高速发展的互联网和云计算等新型业务的需求,也无法跟上企业和运营商未来发展的脚步,无论是企业还是运营商,未来都需要一张敏捷、智能和开放的网络。为了满足敏捷、智能和开放的诉求,需要一种新的网络架构,而SDN网络体系架构是目前业界认可的最佳选择。13.1.1SDN概述SDN起源SDN(SoftwareDefinedNetworking)即软件定义网络,是由斯坦福大学CleanSlate研究组提出的一种新型网络创新架构。其核心理念通过将网络设备控制平面与数据平面分离,从而实现了网络控制平面的集中控制,为网络应用的创新提供了良好的支撑。SDN起源提出了三个特征:“转控分离”“集中控制”“开放可编程接口”。13.1.1SDN概述SDN的价值集中管理,简化网络管理与运维;屏蔽技术细节,降低网络复杂度,降低运维成本;自动化调优,提高网络利用率;快速业务部署,缩短业务上线时间;网络开放,支撑开放可编程的第三方应用。13.1.1SDN概述SDN的架构SDN是对传统网络架构的一次重构,从原来的分布式控制的网络架构重构为集中控制的网络架构。SDN最重要的变化是在网络中增加了SDN控制器,由SDN控制器对网络实行集中控制。SDN控制器是一个集中的网络控制系统,是一个软件,正是因为SDN控制器的软件属性,才使得SDN能够把网络软件化,使得网络能够像软件一样易于修改,提高网络的敏捷性。13.1.1SDN概述SDN的架构(续)SDN网络架构分为应用层、控制层、设备层三层,不同层次之间通过开放接口连接。13.1.1SDN概述SDN的架构(续)协同应用层协同应用层主要完成用户意图的各种上层应用,典型如OpenStack等。OpenStack云平台一般用于数据中心负责网络、计算、存储的业务协同。控制层控制层是系统的控制中心,负责网络的内部交换路径和边界业务路由的生成,并负责处理网络状态变化事件。当网络发生状态变化时,如链路故障、网络拥塞等,控制层会根据这些网络状态变化调整网络交换路径和业务路由,使得网络始终能够处于一个正常服务的状态,避免用户数据在穿过网络过程中受到损失(如丢包、时延增大等)。控制层的实现实体就是SDN控制器,是SDN系统的大脑,核心功能是实现网络业务编排。13.1.1SDN概述SDN的架构(续)设备层这一层负责执行用户数据的转发,转发过程中所需要的转发表项是由控制层生成的。设备层是系统的执行单元,本身通常不做决策,其核心部件是系统的转发引擎,由转发引擎负责根据控制层下发的转发数据进行报文转发。该层和控制层之间通过控制接口交互,设备层一方面上报网络资源信息和状态,另一方面接收控制层下发的转发信息。NBI北向接口北向接口为控制器对接协同应用层的接口,主要为RESTful。SBI南向接口南向接口为控制器与设备交互的协议,包括NETCONF、SNMP、OpenFlow等。13.1.2网络管理协议简介NETCONF协议NETCONF简介NETCONF网络架构NETCONF协议框架13.1.2网络管理协议简介NETCONF简介NETCONF(NetworkConfigurationProtocol,网络配置协议)提供了一种网管和网络设备之间通信的机制,网络管理员可以利用这套机制增加、修改、删除网络设备的配置,获取网络设备的配置和状态信息。网络设备提供了规范的应用程序编程接口(ApplicationProgrammingInterface,API),网管可以通过NETCONF使用这些API管理网络设备。NETCONF是SDN网络南向接口协议之一。13.1.2网络管理协议简介NETCONF网络架构NETCONF整套系统必须包含至少一个NMS(NetworkManagementSystem)作为整个网络的网管中心,NMS运行在NMS服务器上,对设备进行管理。网络管理系统中的主要元素:NETCONFClientNETCONFServer13.1.2网络管理协议简介NETCONFClientClient利用NETCONF协议对网络设备进行系统管理。Client向Server发送<rpc>请求,查询或修改一个或多个具体的参数值。Client可以接收Server发送的告警和事件,以获知被管理设备的当前状态。13.1.2网络管理协议简介OpenFlow协议OpenFlow简介OpenFlow体系结构OpenFlow工作原理13.1.2网络管理协议简介OpenFlow简介OpenFlow是SDN架构中控制器与交换机之间的一种南向接口协议。OpenFlow允许控制器直接访问和操作网络设备的转发平面,这些网络设备可能是物理上的交换机,也可能是虚拟的交换机。OpenFlow工作原理控制器对交换机的控制和管理可以通过OpenFlow协议实现。首先,控制器和交换机之间通过建立OpenFlow通道,实现控制器与交换机之间的信息交互;如果交换机与多个控制器建立OpenFlow多连接,那么此时控制器会将自己的角色通过OpenFlow通道告知交换机。随后,控制器将转发信息数据库或用户策略表通过OpenFlow通道下发到交换机;交换机根据转发信息数据库进行协议计算生成ARP表项,从而完成数据的转发;或者根据用户策略表信息,完成数据转发。13.1.2网络管理协议简介OpenFlow工作原理(续)通道建立与维护实现控制器和交换机之间的信息交互之前,需要建立OpenFlow通道,OpenFlow通道建立之后需要进行维护,保证OpenFlow通道的稳定性。13.2Python自动化运维Python语言作为当下最热门的语言之一,简单、易学、接近自然思维、可移植性高等特点,使之成为自动化运维的必备工具。运用Python编程语言,可以让程序代替人力去自动化运维,解决网络运维中实际问题,告别枯燥的重复工作,提升运维效率和满意度。目前,Python是一种广泛使用的高级编程语言,它有Python2和Python3两个版本,两者区别不大,但Pyhton3相比于Python2有更多的优化。13.2.1Python基础Python开发环境Windows系统下配置Python开发环境软件下载。在Python官方网站下载Windows安装包,下载完成后,双击安装即可。注意在高级选项中,要选中“AddPythontoenvironmentvariable”选项,其他步骤保存默认设置即可。安装完成后,在系统命令行窗口输入【Python】命令即可进入Python命令行界面。13.2.1Python基础Python开发环境(续)Linux系统下配置Python开发环境目前,大多数Linux系统已经预装了Python,在终端窗口直接输入【Python】命令即可使用。例如,Centos7.4中已经预装了Python2.7.5版本。[root@CentOS7~]#cat/etc/redhat-releaseCentOSLinuxrelease7.4.1708(Core)[root@CentOS7~]#PythonPython2.7.5(default,Aug42017,00:39:18)[GCC4.8.520150623(RedHat4.8.5-16)]onlinux2Type"help","copyright","credits"or"license"formoreinformation.13.2.1Python基础Python开发环境(续)Linux系统下配置Python开发环境(续)[root@CentOS7~]#wgethttps://www.P/ftp/Python/3.8.1/Python-3.8.1.tgz//下载Python3.8.1安装包[root@CentOS7~]#tar-zxvfPython-3.8.1.tgz//解压Python3.8.1源码包[root@CentOS7~]#cdPython-3.8.1/[root@CentOS7Python-3.8.1]#./configure--prefix=/usr/lib/Python3.8.1//指定安装目录[root@CentOS7~]#cdPython-3.8.1/[root@CentOS7Python-3.8.1]#make&makeinstall//安装Python3.8.1[root@CentOS7~]ln-s/usr/lib/Python3.8.1/bin/Python3.8/usr/bin/Python3.8[root@CentOS7~]ln-s/usr/lib/Python3.8.1/bin/pip3.8/usr/bin/pip3.8//为Python3.8.1创建软连接[root@CentOS7~]#Python3.8Python3.8.1(default,Feb292020,19:17:35)[GCC4.8.520150623(RedHat4.8.5-39)]onlinuxType"help","copyright","credits"or"license"formoreinformation.//验证安装13.2.1Python基础Python函数内置函数内置函数,就是加载Python解释器后,可以直接使用的函数。例如:常用print()、input()、dir()等。Python模块import语句如果希望引入某个模块,可以使用import加上模块的名称,这样会导入指定模块中的所有成员(包括变量、函数、类等)。不仅如此,当需要使用模块中的成员时,需用该模块名(或别名)作为前缀,否则Python解释器会报错。>>>importmath>>>math.sin(90)0.893996663600557913.2.2Paramiko模块Paramiko简介Paramiko是Python语言编写的支持以加密和认证方式,进行远程控制模块;它遵循SSH2协议,使用Paramiko可以方便地通过SSH协议执行远程主机的程序或脚本。Paramiko有两个重要的基础类:Channel类和Transport类。Channel类:是对SSH2Channel的抽象类,作用类似于套接字(Socket),是SSH传输的安全通道。常用的方法有:execcommand()、exit_status_ready()、recv_exit_status()、close()等。Transport类:是核心协议的实现类,是一种加密的流隧道。常用的方法有:send()、recv()、close()等密的会话,使用时会同步创建。13.2.2Paramiko模块Paramiko模块安装在使用Python编程的过程中,我们会经常用到第三方库包,而pip作为Python最优秀的包管理工具之一,可以方便Python库包的安装管理。Python2.7.9以上或Python3.4以上版本自带pip工具,在命令行中输入【pip--version】命令,如果有相关的版本信息,则说明pip工具已经安装,可以直接使用。安装完成后,进入Python解释器,导入Paramiko模块,如果没有报错,就说明Paramiko模块安装成功。pipinstallparamikoPythonimportparamiko13.2.2Paramiko模块Paramiko应用举例使用SFTPClinent上传和下载文件#-*-coding:UTF-8-*-importparamiko\\导入paramiko模块tran=paramiko.Transport("0",22)\\获取Transport实例tran.connect(username="root",password="H3C@123")\\连接远程服务器print("连接成功")sftp=paramiko.SFTPClient.from_transport(tran)\\获取SFTPClient实例put_localpath="D:/Python/upload/upload.py"put_remotepath="/home/upload“\\设置上传的本地/远程文件路径变量13.2.2Paramiko模块Paramiko应用举例(续)使用SSHClient连接并配置交换机#-*-coding:UTF-8-*-importparamikoimporttimeip="1"username="admin"password="H3C@123"\\创建交换机登陆信息变量ssh=paramiko.SSHClient()\\创建SSH对象ssh.set_missing_host_key_

温馨提示

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

评论

0/150

提交评论