云书斋 -NetDevOps入门与实践
本书资料更新时间:2025-01-20 16:18:55

NetDevOps入门与实践 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线

NetDevOps入门与实践精美图片
》NetDevOps入门与实践电子书籍版权问题 请点击这里查看《

NetDevOps入门与实践书籍详细信息

  • ISBN:9787111599098
  • 作者:暂无作者
  • 出版社:暂无出版社
  • 出版时间:2018-05
  • 页数:325
  • 价格:57.00
  • 纸张:胶版纸
  • 装帧:平装-胶订
  • 开本:16开
  • 语言:未知
  • 丛书:暂无丛书
  • TAG:暂无
  • 豆瓣评分:暂无豆瓣评分
  • 豆瓣短评:点击查看
  • 豆瓣讨论:点击查看
  • 豆瓣目录:点击查看
  • 读书笔记:点击查看
  • 原文摘录:点击查看
  • 更新时间:2025-01-20 16:18:55

寄语:

剖析NetDevOps理念、常用工具、编程基础、网络运维常用Python模块与网络设备的数据处理等


内容简介:

网络运维自动化资深专家撰写,8位专家联袂推荐,网络工程师转型指南。以场景与实践驱动,涵盖NetDevOps理念、常用工具、编程基础、网络运维常用Python模块与网络设备的数据处理等,注重实用性与友好性,全书分为5篇,共计14章内容。

概念篇(第1~2章),阐述NetDevOps是什么、怎么做、技术框架,使读者能清晰了解NetDevOps能给他们带来什么,从何入手,如何开展NetDevOps工作。

基础篇(第3~6章),介绍如何构建NetDevOps的工作环境以及在这些环境中的常用工具,提高读者日常维护工作的效率与准确度。

提高篇(第7~9章),讲解Linux环境编程、Python脚本编程、常用数据结构,学习开发一些在运维或者网络规划中能够使用的关键技能。

实践篇(第10~12章),采用案例的形式,带领读者掌握网络自动化运维、网络设计与规划中应对高频场景的技术与技巧,主要是网络数据的批处理,提高处理效率。

案例篇(第13~14章),通过3个典型案例来巩固提高NetDevOps相关知识和技能,更具体、更实用。


书籍目录:

目录 

Contents

本书赞誉

前言

篇 概念篇

第1章 NetDevOps理念与要义2

1.1 从SDN开始说起2

1.1.1 OpenFlow打开了新的一扇窗3

1.1.2 简单聊聊SDN控制器4

1.1.3 NFV5

1.1.4 云和SDN6

1.1.5 SD-WAN8

1.2 NetDevOps,你需要知道的事8

1.2.1 什么是NetDevOps8

1.2.2 NetDevOps适用环境9

1.2.3 为什么我们需要NetDevOps10

1.2.4 NetDevOps需要什么样的人10

1.3 小结11

第2章 如何开始NetDevOps12

2.1 文档内容与版本管理12

2.1.1 版本管理的重要性13

2.1.2 需要管理哪些文档 13

2.1.3 如何实施版本管理14

2.1.4 版本管理的工具16

2.2 编程语言的选择17

2.2.1 程序语言的选择17

2.2.2 数据描述语言的选择18

2.3 自动化工具的选择22

2.3.1 Ansible22

2.3.2 Puppet23

2.3.3 Chef23

2.3.4 SaltStack24

2.3.5 如何选择24

2.4 网络设备的编程接口25

2.4.1 网络设备接口的分类25

2.4.2 网络设备编程接口的特征27

2.5 小结29

第二篇 基础篇

第3章 认识命令行工具32

3.1 用screen实现终端的会话管理33

3.1.1 安装screen34

3.1.2 screen基本语法34

3.1.3 screen基本操作35

3.1.4 定制你的screen36

3.1.5 用screen连接串口36

3.1.6 管理screen的日志38

3.1.7 多人共享一个会话38

3.2 用Telnet和SSH管理设备39

3.2.1 Telnet39

3.2.2 SSH介绍40

3.2.3 SSH的基本使用40

3.2.4 利用SSH远程执行命令42

3.2.5 SSH客户端常用配置44

3.2.6 使用密钥登录设备45

3.2.7 使用scp进行文件传输47

3.2.8 利用SSH 端口隧道转发功能48

3.2.9 利用SSH做Socket代理50

3.3 小结50

第4章 Linux下的一些常用工具52

4.1 SNMP53

4.1.1 SNMP简介53

4.1.2 常见设备的SNMP配置54

4.1.3 SNMP工具56

4.2 网络可达性检测工具58

4.2.1 Nmap59

4.2.2 Nping62

4.2.3 iPerf63

4.2.4 Fping64

4.3 MTR65

4.4 其他工具66

4.4.1 watch66

4.4.2 Wget68

4.4.3 CURL68

4.5 小结69

第5章 处理网络设备输出的文本70

5.1 正则表达式基础70

5.1.1 正则表达式到底是什么71

5.1.2 单字符的匹配71

5.1.3 多字符的匹配与次数匹配75

5.1.4 在网络设备上的正则表达式77

5.2 使用grep进行搜索与获取信息78

5.2.1 什么是grep78

5.2.2 命令选项的解释78

5.2.3 匹配控制80

5.2.4 输出结果控制81

5.2.5 输入控制83

5.3 使用awk进行文本处理84

5.3.1 认识一下awk84

5.3.2 awk的执行方式与语法84

5.3.3 截取部分信息85

5.3.4 使用内置变量86

5.3.5 对特定内容进行统计分析86

5.3.6 多文件操作88

5.4 使用sed 进行文本编辑89

5.4.1 什么是sed89

5.4.2 sed语法简介89

5.4.3 删除文件中的指定信息90

5.4.4 在文件中进行查找替换91

5.4.5 在文件中插入内容92

5.5 文本编辑工具vi和vim92

5.5.1 vi和vim简介92

5.5.2 vim编辑器的模式93

5.6 小结97

第6章 常用基础服务搭建99

6.1 Docker基础100

6.1.1 什么是Docker100

6.1.2 Docker的基本概念101

6.1.3 Docker的运行环境104

6.1.4 启动Docker镜像105

6.1.5 构建Docker镜像106

6.2 TFTP服务器110

6.2.1 定制一个TFTP服务镜像111

6.2.2 启动一个TFTP服务器的容器112

6.2.3 服务的检查112

6.3 DNS 服务器113

6.3.1 构建DNS镜像113

6.3.2 启动和配置DNS114

6.3.3 用DNS记录设备的接口与IP的对应关系115

6.4 搭建DHCP服务器118

6.4.1 构建DHCP镜像119

6.4.2 启动和配置DHCP服务120

6.5 小结121

第三篇 提高篇

第7章 Linux编程基础124

7.1 Bash编程基础124

7.2 个Bash程序125

7.3 变量126

7.4 数组128

7.4.1 定义数组128

7.4.2 数组取值129

7.4.3 获取数组的长度129

7.4.4 截取数组的内容130

7.4.5 替换元素中的内容130

7.4.6 删除数组中的元素或者数组130

7.5 运算符131

7.5.1 算术运算符131

7.5.2 位运算符132

7.5.3 自增/自减运算136

7.6 测试136

7.6.1 测试语法的结构136

7.6.2 文件测试136

7.6.3 整数测试138

7.6.4 字符串测试138

7.6.5 逻辑关系139

7.7 判断结构140

7.7.1 if结构140

7.7.2 case结构141

7.8 循环结构141

7.8.1 for结构141

7.8.2 while结构143

7.8.3 until结构144

7.8.4 select结构144

7.9 函数145

7.10 用expect实现与设备的交互式操作147

7.10.1 expect简介147

7.10.2 用expect实现与设备的交互148

7.10.3 用expect实现批量备份设备配置150

7.11 网络设备上的Bash152

7.12 小结154

第8章 Python编程基础155

8.1 Python简介155

8.1.1 Python的版本差异155

8.1.2 主机与网络设备上的Python156

8.1.3 构建Python运行环境158

8.1.4 缩进在Python中的重要性161

8.2 基本数据类型161

8.2.1 数字162

8.2.2 列表163

8.2.3 元组166

8.2.4 字符串167

8.2.5 字典170

8.2.6 集合173

8.3 基本结构175

8.3.1 选择结构175

8.3.2 循环结构177

8.4 函数181

8.4.1 函数的定义181

8.4.2 函数的参数183

8.5 对象186

8.5.1 什么是对象186

8.5.2 对象的属性和方法186

8.5.3 创建对象187

8.5.4 对象的继承188

8.6 模块190

8.6.1 什么是模块190

8.6.2 如何使用模块190

8.7 小结191

第9章 常用数据类型与数据结构定义192

9.1 JSON192

9.1.1 JSON简介193

9.1.2 网络设备上的JSON194

9.1.3 JSON-RPC196

9.1.4 用Python处理JSON196

9.2 XML198

9.2.1 XML简介198

9.2.2 XML Schema200

9.2.3 NETCONF201

9.2.4 用Python处理XML202

9.3 YAML204

9.3.1 YAML简介205

9.3.2 YAML语法206

9.3.3 用Python处理YAML207

9.4 YANG208

9.4.1 YANG简介208

9.4.2 YANG语法211

9.4.3 OpenConfig214

9.4.4 Pyang工具214

9.5 小结216

第四篇 实践篇

第10章 网络设备的连接与登录218

10.1 命令行方式登录218

10.1.1 telnetlib219

10.1.2 paramiko221

10.1.3 netmiko224

10.1.4 pexpect227

10.2 通过NETCONF连接到网络设备231

10.2.1 安装ncclient231

10.2.2 获取配置信息231

10.2.3 获取接口信息233

10.3 REST235

10.3.1 测试REST接口236

10.3.2 安装requests模块237

10.3.3 使用HTTP get方法237

10.3.4 使用HTTP post方法238

10.4 小结239

第11章 命令行文本处理240

11.1 命令行文本输出240

11.1.1 关于TextFSM241

11.1.2 安装TextFSM241

11.1.3 TextFSM模板242

11.1.4 如何编写TextFSM模板243

11.1.5 在Python代码中使用TextFSM248

11.2 Cisco配置类型249

11.2.1 ciscoconfparse模块249

11.2.2 安装模块250

11.2.3 获取配置内容251

11.2.4 修改设备配置252

11.2.5 配置审计253

11.3 JUNOS配置类型254

11.3.1 层次化配置255

11.3.2 set命令行配置256

11.4 小结259

第12章 网络特有数据类型处理260

12.1 Jupyter260

12.1.1 安装Juypter260

12.1.2 启动Juypter261

12.1.3 使用Jupyter263

12.2 使用netaddr处理网络地址264

12.2.1 安装netaddr模块264

12.2.2 IP地址的基本属性264

12.2.3 处理IP地址的基本方法265

12.2.4 IP地址的加减法266

12.2.5 地址的聚合267

12.2.6 IPv6地址268

12.2.7 使用netaddr处理MAC地址268

12.3 使用ipaddr处理网络地址269

12.4 网络拓扑的处理271

12.4.1 描述一个网络拓扑271

12.4.2 短路径的计算273

12.4.3 可用路径的计算276

12.5 小结278

第五篇 案例篇

第13章 网络设备的配置管理280

13.1 环境的准备280

13.1.1 测试拓扑说明280

13.1.2 Linux服务器的准备281

13.2 网络设备的配置获取282

13.2.1 登录网络设备282

13.2.2 处理多厂家问题287

13.2.3 处理并行问题290

13.3 网络设备的配置版本管理295

13.3.1 用git创建一个本地设备配置管理仓库296

13.3.2 保存设备配置文件到本地仓库296

13.3.3 使用git检查版本信息297

13.4 小结299

第14章 网络拓扑的处理与应用300

14.1 环境的准备300

14.1.1 测试拓扑说明300

14.1.2 Linux服务器的准备300

14.2 网络拓扑的获取与分析304

14.2.1 物理拓扑的获取304

14.2.2 ISIS协议拓扑的获取311

14.2.3 网络拓扑的路径分析313

14.3 网络流量工程应用314

14.3.1 基本信息315

14.3.2 路径计算316

14.3.3 BGP服务318

14.3.4 调用BGP HTTP

API324

14.3.5 结果测试324

14.4 小结325


作者介绍:

余欣  思科中国资深系统工程师,近20年网络规划设计与运维经验,曾先后就职于瞻博网络、*、金融以及博科等公司。有丰富的互联网一线公司的实践经验。擅长大规模运营商级网络、大型园区网以及IDC网络的规划设计与实施。拥有CCIE、JNCIE等认证。


出版社信息:

暂无出版社相关信息,正在全力查找中!


书籍摘录:

暂无相关书籍摘录,正在全力查找中!


在线阅读/听书/购买/PDF下载地址:


原文赏析:

暂无原文赏析,正在全力查找中!


其它内容:

编辑推荐

1)网络运维自动化资深专家撰写,8位专家联袂推荐,网络工程师转型指南 

2)以场景与实践驱动,涵盖NetDevOps理念、常用工具、编程基础、网络运维常用Python模块与网络设备的数据处理等


媒体评论

随着通信技术近年来颠覆性的发展和变化,对传统网络技术工程师们的挑战越来越大。作者以传统网工成功转型的亲身经验撰写了本书,它直击传统网络工程师们的痛点,是难得的兼具实用价值和实践意义的"惊艳"之作,令人耳目一新!

--方芳,思科大中华区副总裁兼运营商&媒体广电事业技术部总经理

网络运维和系统运维本不是一个世界。技术栈、操作任务甚至运维价值观都是截然不同的,一直以来泾渭分明,各自精彩。

近年来虚拟网络的发展、SDN的兴起,网络与IT系统逐渐开始跨界融合,而结合部分的故障定位、全局性的问题跟踪和优化成了传统运维的新盲区;云计算规模化的环境下,海量操作变更、复杂的关联定位,对传统人肉运维来说更是不可承受之痛。新的形势下,传统网络运维工程师的自我救赎之路,就是本书所倡导的NetDevOps理念:补齐IT系统技术栈,掌握必要的开发语言,熟悉主流的批量运维工具和基础服务,将自动化运维的理念延伸到网络领域,将研发的思维模式嵌入到传统的网络运维动作中,将网络运维标准化、自动化、智能化。

本书深入浅出展示了NetDevOps的理念、基础知识和*实践,值得有意转型的网络工程师深入研究学习。

--林恩华,中国移动苏州研发中心广州支持中心总经理助理 

网络运维可视化、自动化和智能化的快速发展背后的本质诉求是能同时兼顾大型互联网公司的巨大网络规模增速和高效高质运维要求,具体又体现在人均运维效率和稳定性指标的极致追求上。每一位互联网企业的网络工程师都恰逢其时,有幸在网络运维领域引领技术发展的潮头并对各行各业中网络技术的发展产生一定的影响。网络运维DevOps就是网络工程师发展的方向,已在大型互联网公司深深扎根、蓬勃发展。余欣在阿里巴巴工作期间经历了网络工程师队伍转型的剧痛,并表现出了优秀的DevOps思路和能力。这本书作为网络DevOps入门指南写得深入浅出,非常符合网络DevOps的实际工作,各种细化的小场景、小步骤非常接地气,同时又富含DevOps的深层思想,我相信对传统网络工程师或初入行的网络工程师来说深具价值,推荐给大家研读学习。

--刘洋,阿里巴巴网络系统事业部总经理 

伴随互联网业务的高速发展,网络规模持续快速增长,数量庞大的网络设备产生海量的运营数据,传统的人机交互的运维方式面临巨大的挑战。NetDevOps利用DevOps的理念,推进网络运维的自动化与智能化,给网络运维带来了转机。本书介绍了NetDevOps产生的背景、发展历程,同时系统阐述了NetDevOps的框架体系、工具、软件以及基本的软件编码的知识,是国内难得的一本专业而又全面讲解NetDevOps技术的学习资料和参考手册,相信希望了解NetDevOps的网络同行们,能从本书中找到你们想要的。

--邵华,腾讯网络平台部网络架构中心总监  

在软件工程领域中,DevOps已经由一种文化演变成广泛落地的业务思维,将组织内的各个角色更紧密地联系在一起以提高生产力。但是在网络工程领域,受限于网络工程师技术栈及运维管理定势,如何理解NetDevOps思想进而在实际工作中更好地解决运维管理问题和新技术部署带来的挑战,仍存在不小的困难。

很高兴看到余欣用简明的语言和具体的场景将NetDevOps的方法论和实践进行了系统全面的呈现,是网络工程师、网络平台开发工程师不可错过的参考读物。

--宋磊,百度网络运维部技术经理 

本书作者是网络行业的资深老兵,在Cisco、Juniper这样的网络设备制造商工作多年,也在阿里巴巴、*金融的网络部门从事实际运维工作,拥有丰富的经验,亲身经历了IP网络的爆发式增长时代。面对*的网络自动化运维的趋势,大量的传统运维工作必须转向软件自动化的方式,新的SDN、NFV等理念,也要求网络工程师具备软件编程能力。很多老网工在新的挑战面前,会有些眼花缭乱,不知从何入手。本书分享了作者自身的转型经验及丰富的实际案例,指出了一条切实可行的转型道路,对广大网工有非常好的参考意义。尤其是对没有软件编程基础的网工,由浅入深地介绍了基本的概念和常用的工具,可以让大家少走弯路,节省很多自己去摸索试错的时间和精力。

--王卫,原瞻博网络大中国区总裁

由浅入深,有料清晰!作者结合自身在多家国际网络设备制造商和互联网公司的丰富经验,为读者指明了一条从网工向Net-Dev-Ops结合的转型之路。纯干货!值得一读!

--徐志骏,思科大中国华东区运营商事业部技术总监 

本人与作者在Brocade共事期间,我们就意识到让老网工们快速转型SDN工程师是不现实的,因为机器对机器的软件接口(API)不是网工们熟知的。找到一条有实战价值,门槛相对合理,容易启动的"工农结合"的路径就显得格外有吸引力。当前,作为一名新一代云网融合服务商的CTO,团队建设的一个重要挑战和机会就是赋能老网工们,把建设运维实战经验与智慧总结形成清晰套路(算法),与专业码农们紧密配合,迅速实现运维排障经验软件化、自动化。与此同时,给网工们提供现实的发展演进路径,在实战项目中以商业价值目标为导向培养编程思维,接触机器接口,在一个个自动化的小任务中一步步实现自己的想法,获得真实成就感,成为新一代高度软件化的网络工程师、架构师和产品经理。针对这一目标,本书对NetDevOps相关的各个基础技术领域的功能、结构和过程维度的阐述简单直观而又高度实战。实验代码完整,注解清晰,实操容易上手,结果可以立竿见影。对数字化转型大潮中的网工们和相关技术团队的管理者们来说,本书不可不察。

--张宇峰,互联港湾CTO


前言

前 言  Preface

为什么要写这本书

清晨,我们做的件事是什么?睁开眼。睁开眼看手机里的朋友圈是否有更新,昨晚下的单是否已经安排送货,今天的天气是否依旧晴朗。而这些信息的更新都是通过互联网传递到你的手机上。在很多人眼里,手机有电而没有网络是一件非常痛苦的事情。互联网在中国的发展也就是20来年的事,但它已经渗透到了我们工作、学习和生活的方方面面。网络是新时代的基础设施,无论上面有多么丰富多彩的应用软件,它们都离不开网络。这些年,应用软件的迭代速度非常快。而网络在这几十年中却没有发生多大的变化(虽然网络带宽一直在指数级增长)。特别是网络工程师们日常的工作似乎还是和10年前甚至20年前一样。虽然,这几年SDN(Software Defined Networks)在快速发展,但是物理网络仍然没有发生多大的变化。大量的网络工程师还是通过Telnet或SSH登录到网络设备上,然后一条一条地敲击各种各样的命令。应用软件越来越多,应用软件生命周期越来越短。这对网络提出了很多的挑战,网络工程师的工作压力也是直线上升。这几年随着上层应用DevOps思想的发展,网络自动化的需求也在不断提升。那些安分守己的传统网络工程师面临着转型的痛苦。

我是一个和网络打交道20来年的传统网络工程师,但我一直是一个不安分守己且会偷懒的人。早在我大学期间,为了和同寝室的同学一起玩一款叫“红色警戒”的游戏而接触了网络。从两台电脑之间使用串口互联进行对战,到使用同轴电缆后8个同学可以在一个地图中互相厮杀,再到1999年通过双绞线接入互联网。那个时候,几个寝室的双绞线都汇聚到了我们寝室,我不知不觉也成了96级化学系的网络管理员。日常的“工作”就是帮同学看看网络怎么不通了;谁的IP地址又和谁冲突了;如何从其他同学的电脑里复制一些电脑游戏等。活脱脱就是一个小型网吧的工作人员。随着1999年学校寝室接入了互联网,出于对“工作”的热情,我开始用Linux自己搭建一些服务,比如DHCP、DNS、FTP、BBS等。慢慢又干起了系统管理员的“工作”。

在千禧年(2000年)的毕业季,我的份工作是在一家大型的纺织公司做系统管理员和DBA。这份工作和化学没有任何的关系。而日常的工作就是帮助新员工开账号,每天备份那些数据库的数据到磁带中。为了减少自己日常的工作就开始写一些自动化的脚本。其实,当时就是为了每天能偷点懒。开一个账号,懒得去点那么多次的鼠标。每天的备份任务,懒得去一个个地核对和比较,而是让脚本自己去核对,自己去比较,然后把检查后的结果发送E-mail给我。

2003年考完CCIE后到一家为中国电信服务的系统集成公司。在这家公司有幸参与了中国电信CN2(ChinaNet2)的建设工作。在网络建设的初期有大量的设备配置需要增加和修改。纯手工的操作让我觉得痛苦不堪,此时又萌生了“偷懒”的思想。我开始用Python、Perl等语言写了一些脚本用于设备配置的生成和修改。当时设备并没有丰富的API接口,大部分都是用Telnet模拟登录来操作设备。

2007年我进入了Juniper工作,在这里接触了更多的网络自动化的内容,也写了很多自动化脚本来操作网络设备。比如,2008年考完JNCIE后,有幸做了一年多的中国区JNCIE考官。JNCIE的考官除了要发卷子外,还需要负责给考生判卷。也是为了“偷点懒”写了一些自己用的脚本提高判卷的效率。2009年开始学习JUNOScript(一种可以运行在JUNOS上的脚本语言),用JUNOScript来实现一些特殊的功能或者对命令进行重新格式化的输出。2010年后由于需要经常参加设备的测试,开始使用Python等语言对JUNOS设备基于NETCONF协议进行操作。

2014年到2016年,我先后在两家互联网公司做网络工程师,负责网络的规划与运维工作。由于互联网公司自身的产品迭代速度很快,对网络的适配性也提出了更多的需求。虽然在互联网公司有很多的程序员,但大部分的程序员对网络和网络设备的理解远逊于网络工程师。这就导致了网络自动化的开发工作比较难推进。因此,我结合自己的编程能力和对网络的理解开始用代码去实现网络自动化的任务。

从2016年到现在,我一直在Cisco工作。在这里我接触到了DevNet(https://developer.cisco.com)。在DevNet的网站上我看到和学习了很多关于基础网络设备的编程知识。在2016年,Cisco发布了思科全数字化网络架构(思科DNA),这个平台不仅提供了实现全数字化的路线图,而且为网络工程师提供了网络自动化和网络安全的途径。这个平台的很多理念和架构为我写这本书提供了很多的帮助。

在这20来年的时间里,我积累了一些使用程序来操作网络设备的经验。一方面是想把这些经验分享给大家;另一方面也是想帮助那些想转型的传统网络工程师。这就是我写这本书的初衷。另外,我还想告诉广大的网络工程师们开发一个小工具用来管理设备其实并没有那么难。对于我这样一个非软件专业的人而言并没有觉得吃力,反而在开发中获得了更多的自信,也偷了“懒”。

后,希望这本书能给广大的网络工程师在转型过程中带来一些帮助,也希望大家能少走弯路。

本书特色

首先,本书是专门针对网络工程师而写的。书中关于Bash和Python的基本语法部分使用了网络工程师更加熟悉的内容,并且提供了一些网络设备上的运行情况。

其次,本书的重点是如何编写和网络设备相关的代码。因此,在书中提供了很多关于如何处理网络设备输出的文本的例子,以及处理网络相关的数据。

后,本书并不是一本纯粹讲解编程的书,而是一本从理论到实践的综合书籍。

读者对象

网络架构师

网络运维工程师

网络运维开发人员

网络与系统管理人员

网络规划与设计人员

网络专业在校学生

如何阅读本书

本书分为五篇,共计14章内容。

篇为概念篇,这一篇主要讲述什么是NetDevOps,以及如何开始NetDevOps实践之路,包括如下2章内容。

第1章 从SDN开始谈起,讲解在SDN的大背景下,传统的网络都发生了什么变化,而这些变化给传统网络工程师带来了哪些影响。后介绍了什么是NetDevOps,NetDevOps需要我们学习什么样的技能才能胜任。

第2章 在业务快速迭代的推动下,传统IP网络的自动化需求在不断增强。大量的网络工程师面临着新的挑战。这章介绍如何从零开始逐步过渡到NetDevOps。这章将重点讲解4个话题:首先,在NetDevOps开始之前需要做什么;其次,在进行NetDevOps开发时,如何选择开发语言;再次,一些常见的NetDevOps开源工具或平台如何选择;后,在进行NetDevOps时,对网络设备有哪些要求。

第二篇为基础篇,这一篇主要介绍了如何构建NetDevOps的工作环境以及在这些环境中的常用工具,包括如下4章内容。

第3章 介绍在Linux环境下,如何使用Linux下的工具登录网络设备,以及使用SSH工具建立一些SSH的隧道。

第4章 介绍在Linux环境下,如何使用一些工具获取网络设备的信息,以及获取网络的可达信息,涵盖SNMP、traceroute、ping等工具。

第5章 使用Linux中三大文本处理利器(grep、awk和sed)来处理网络设备输出的文本内容。这些文本内容包括命令行的输出、设备的配置以及设备的日志信息等。这些工具可以帮助网络工程师快速地获取相关的数据和信息。

第6章 在NetDevOps的实践过程中,我们需要搭建一些基础的服务。这些服务包括TFTP、DNS和DHCP等。在微模块流行的时代,网络工程师使用Docker可以快速地构建起这些基础服务。

第三篇为提高篇,这一篇将开始介绍编程相关的内容。这一篇都是编程的一些基础知识,包括如下3章内容。

第7章 这一章主要介绍Linux环境或网络设备上的Bash编程基础知识。通过Bash基本语法并结合一些工具,我们可以和设备进行简单的交互或处理一些数据。

第8章 这一章主要介绍Python的编程知识。本书的大部分编程内容都是基于Python语言的。因此,这一章是后续章节的基础。这一章关于Python的基本语法是专门为网络工程师重新编写的。使用的例子将是网络工程师比较熟悉的内容。

第9章 我们在和网络设备进行交互或者进行网络相关的编程时,经常需要处理一些常用的数据类型,这些数据类型包括JSON、XML、YAML和YANG。熟练掌握这些数据类型的处理是编程的基础。在这章,我们将介绍上述这四种数据类型的常用处理方法。

第四篇为实践篇,这一篇将通过一些实际的例子来介绍,包括如下3章内容。

第10章 NetDevOps必然需要和网络设备进行交互,从而获得我们需要的数据。本章将介绍三种常见的连接网络设备的方法,它们分别是:命令行登录、NETCONF以及REST。

第11章 连接到网络设备后就可以获取很多的信息,其中通过命令行获取的数据大部分是半结构化的数据。这些半结构化的数据需要进行结构化处理。这一章将通过几个Python的模块来处理这些数据。

第12章 我们在处理网络相关数据时,有两种常见且特殊的数据需要处理,它们分别是网络地址和网络拓扑数据。同样,我们将通过几个Python的模块来处理这些数据。

第五部分为案例篇,这一篇将介绍3个常见的案例来帮助大家更好地了解和掌握NetDevOps的相关内容,包括如下两章内容。

第13章 众所周知,绝大多数的网络设备都会有配置文件,获取和管理这些配置文件是NetDevOps工作的基础。通过程序化的方式自动地获取这些配置就打通了程序和网络设备之间的通道,这是后续获取更多信息的基础。另外,网络设备的配置文件也是需要且被优先管理的内容,这些内容的版本管理也是非常重要的。本章将通过网络设备的配置管理案例来描述如何多厂家、并发地与网络设备进行数据交互。

第14章 网络运维与管理的独特之处是,该工作是基于网络拓扑的。获取和处理网络拓扑是基本功能。该章通过两个小的案例来介绍,它们分别是:基于ISIS协议来获取网络拓扑并进行简单的网络拓扑分析;使用BGP协议进行简单的网络流量调度。

其中,本书的第2章、第8章、第9章、第10章、第11章是重点。如果你有一定的Python编程基础,那么可以参考第9章及之后的章节,这些章节提供了Python用于网络管理与维护常用的一些模块,这些模块可以提高你的工作效率。如果你是一位传统的网络工程师且对编程和Linux环境不是十分了解,请从本书的开头读起。笔者希望通过本书的内容能循序渐进地带领大家走上NetDevOps之路。 

勘误和支持

由于笔者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果读者朋友有更多的宝贵意见,欢迎你发送邮件到netdevops@hotmail.com联系我。本书的大部分代码示例都放在GitHub上,其地址为https://github.com/netdevops-engineer/newbie_book。期待能够得到大家的真挚反馈,在技术之路上互勉共进。

特别致谢

这里要特别感谢毛厚君先生,他是这本书的位读者,不但给了我很多的宝贵建议,而且帮我润色了全书的文字。如果没有他的帮助我想是很难完成这本书的。

致谢

在本书的写作过程中得到了很多同事和朋友的支持与帮助。没有你们的支持与帮助,本书将难以如期完成。

在本书的写作过程中需要实验环境,感谢徐晓东先生为我提供了便利。

感谢思科同事们的支持和鼓励,他们是方芳女士、徐志骏先生、杨骏先生、刘佳女士等。

感谢身在美国的朋友杨文嘉先生提供了关于Arista产品和技术的相关信息。

后,我要特别感谢我的家人,我为写作这本书,牺牲了很多陪伴他们的时间,但也正因为有了他们的付出与支持,我才能坚持写下去。

谨以此书献给我亲爱的人,以及众多的网络工程师朋友们!

余 欣


书籍介绍

网络运维自动化资深专家撰写,8位专家联袂推荐,网络工程师转型必备指南。以场景与实践驱动,涵盖NetDevOps理念、常用工具、编程基础、网络运维常用Python模块与网络设备的数据处理等,注重实用性与友好性,全书分为5篇,共计14章内容。

概念篇(第1~2章),阐述Ne tDevOps是什么、怎么做、技术框架,使读者能清晰了解NetDevOps能给他们带来什么,从何入手,如何开展NetDevOps工作。

基础篇(第3~6章),介绍如何构建NetDevOps的工作环境以及在这些环境中的常用工具,提高读者日常维护工作的效率与准确度。

提高篇(第7~9章),讲解Linux环境编程、Python脚本编程、常用数据结构,学习开发一些在运维或者网络规划中能够使用的关键技能。

实践篇(第10~12章),采用案例的形式,带领读者掌握网络自动化运维、网络设计与规划中应对高频场景的技术与技巧,主要是网络数据的批处理,提高处理效率。

案例篇(第13~14章),通过3个典型案例来巩固提高NetDevOps相关知识和技能,更具体、更实用。


书籍真实打分

  • 故事情节:3分

  • 人物塑造:8分

  • 主题深度:6分

  • 文字风格:3分

  • 语言运用:3分

  • 文笔流畅:6分

  • 思想传递:4分

  • 知识深度:5分

  • 知识广度:4分

  • 实用性:8分

  • 章节划分:3分

  • 结构布局:7分

  • 新颖与独特:6分

  • 情感共鸣:4分

  • 引人入胜:8分

  • 现实相关:6分

  • 沉浸感:7分

  • 事实准确性:3分

  • 文化贡献:8分


网站评分

  • 书籍多样性:7分

  • 书籍信息完全性:8分

  • 网站更新速度:5分

  • 使用便利性:5分

  • 书籍清晰度:5分

  • 书籍格式兼容性:7分

  • 是否包含广告:5分

  • 加载速度:4分

  • 安全性:7分

  • 稳定性:4分

  • 搜索功能:4分

  • 下载便捷性:5分


下载点评

  • 无广告(562+)
  • 盗版少(670+)
  • 无多页(565+)
  • 差评少(413+)
  • 格式多(170+)
  • 下载速度快(441+)
  • 值得下载(583+)
  • 体验差(387+)
  • 排版满分(282+)
  • 情节曲折(450+)
  • 图文清晰(113+)
  • 藏书馆(364+)
  • 体验满分(159+)

下载评价

  • 网友 居***南: ( 2025-01-13 19:20:19 )

    请问,能在线转换格式吗?

  • 网友 冯***丽: ( 2025-01-07 20:25:44 )

    卡的不行啊

  • 网友 游***钰: ( 2025-01-16 23:08:07 )

    用了才知道好用,推荐!太好用了

  • 网友 石***烟: ( 2024-12-24 03:57:01 )

    还可以吧,毕竟也是要成本的,付费应该的,更何况下载速度还挺快的

  • 网友 冷***洁: ( 2024-12-23 14:19:35 )

    不错,用着很方便

  • 网友 习***蓉: ( 2024-12-21 10:08:29 )

    品相完美

  • 网友 常***翠: ( 2025-01-03 07:56:51 )

    哈哈哈哈哈哈

  • 网友 晏***媛: ( 2025-01-05 16:04:10 )

    够人性化!

  • 网友 仰***兰: ( 2024-12-31 21:20:27 )

    喜欢!很棒!!超级推荐!

  • 网友 瞿***香: ( 2025-01-02 21:29:14 )

    非常好就是加载有点儿慢。


随机推荐