网络实战讲堂

1 前言

高新兴公司有一个业界知名的信息系统实施交付团队,本书所收录的文档就是这个交付团队的培训教材。我们认为没有难懂的技术,只有不清楚的表达,所以,所有的文档都不涉及晦涩的技术说教,抽象难懂的技术原理在我们的文档中会变得×××,这些文档最主要的目的是告诉从业者实现某种功能该怎么做,更重视实际的交付成果,其最大的特点就是实战性强,所有的案例都是由实践总结而来,写出来也是为了指导实践活动。

因此本书更适合有一定基础,通过相关的认证考试后,欲进一步提升实际的交付能力技术人员。希望读者在阅读本书时能够多动手实践,打开模拟器做做实验,早日成为独挡一面的技术大牛。

本书分为三个部分。第一部分是基础准备与概览,共计十二篇,是本书的前奏,是餐前开胃小菜。内容主要是数据通信的基础知识和成为一名网络工程师的准备工作,并从全局上对数据通信进行梳理,为第二部分的学习打下基础。如果你已经有了这些储备,可以直接跳过本部分。

第二部分是技术及应用,共计十四篇,是本书的重点部分,是我们这顿技术盛宴里的硬菜。分别从低层到高层介绍了当今网络中普遍使用的技术,它们有哪些重要特性,以及常见应用场景和应用实例。章节之间基本没有依赖关系,读者可以根据需要或兴趣挑选阅读。

第三部分是Linux基础,共计四篇,是本书的附录部分,是餐后的水果拼盘。主要介绍了Linux的基础内容,为工程技术人员赋于Linux系统联网能力。我们现在普遍使用网络协议最早就是在UnixLinux前身,共同遵循POSIX标准)系统上开发出来的,学习Linux系统也有助于更全面理解整个信息系统。

牛海文 20171224

2 目录

第一部分 基础准备与概览

2.1 通信基本概念

概念和术语是我们学习一门专业的基本前提,只有理解了专业术语所代表的含义,才能够看懂专业技术文档的描述,才可以更进一步深入学习。这些关键词不仅在我们的文档中有用到,而且在生产实践中也时常出现,如果不明白这些关键字所代表的含义,不仅看文档感觉吃力,甚至与同行交流都有困难。

1概述 1

2通信基本术语 2

2.1通信 2

2.2信源 2

2.3信宿 2

2.4载体 2

3传输二进制的方式 2

3.1串行传输 2

3.2并行传输 3

4传输字符的方式 3

4.1异步通信 3

4.2同步通信 4

5双工方式 5

5.1单工 5

5.2半双工 5

5.3全双工 5

6信号检测 5

6.1差分信号传输(平衡信号传输) 5

6.2共模信号传输(不平衡信号传输) 6

7输入输出 6

7.1模拟量 6

7.2数字量 7

7.3无源开关 7

7.4有源开关 8

8通信方式 9

8.1数字通信 9

8.2模拟通信 9

2.2 数据网络模型

数据通信网络有两大模型,我们最常见的就是OSI模型,它是一个推荐标准,而TCP/IP模型却是事实上的标准。整个网络系统的大厦都是由这两大模型为基础构建起来的。本文的目的是通过对两大网络模型的介绍,让读者对整个网络系统有个全局的认识,提供一个高屋建瓴地视角,并为掌握网络知识,和分析网络问题打下基础。

本文以OSI模型为基础,详细介绍了各层的功能,数据在本层的表现形式,工作在本层的设备、协议和技术等。文中并没有对某个特定的协议做过多描述或解释,知道这个协议属于哪一层就够了,如果某个协议或技术在生产中使用比较普遍,后面的文档中就会有详细的介绍。

1概述 1

1.1OSI 2

1.2TCP/IP 3

1.3OSITCP/IP对比 3

2OSI各层简介 4

2.1物理层 Physical Layer 4

2.2数据链路层 Data Link Layer 6

2.3网络层 Network layer 7

2.4传输层 Transport Layer 8

2.5会话层 Session Layer 9

2.6表示层 Presentation Layer 10

2.7应用层 Application Layer 10

2.3 常用通信介质

分别介绍了铜介质,光介质和电磁质等三种生产中常用通信介质,以及它们的基本特性,和使用这三种介质时的注意事项和技巧。其中重点介绍了目前主流的双绞线压制水晶头的技巧。你可能不需要亲自压制一个水晶头,但是一定要有能力判断一个水晶头的好好坏。

1 概述 2

2 铜介质 2

2.1 同轴线 2

2.1.1 10Base5 3

2.1.2 10Base2 4

2.1.3 Cable Modem 4

2.2 双绞线 4

2.2.1 10Base-T 6

2.2.2 100Base-TX 6

2.2.3 1000Base-TX 6

2.2.4 10GBase-TX 7

2.2.5 帮我做根线 7

2.2.6 各种线缆 7

2.2.7 水晶头 9

2.2.8 线序标准 11

2.2.9 直连线 12

2.2.10 交叉线 13

2.2.11 反转线 13

2.2.12 UTP Cat-5e双绞线制作技巧 14

2.2.12.1 剪掉外套的长度 14

2.2.12.2 排线序 15

2.2.12.3 剪线长度 15

2.2.12.4 插入到水晶头 15

2.2.12.5 压线 15

2.2.13 Cat-6STP 15

2.2.14 10项测试 16

2.2.15 常见接线图错误 17

2.2.16 常见错误汇总 22

3 光介质 22

3.1 光纤结构 23

3.2 单模与多模 24

3.3 光纤连接器 25

3.4 注意安全 26

3.4.1 人身安全 26

3.4.2 器件的安全 26

4 无线 27

4.1 Wi-Fi802.11 27

4.2 工程实现 28

4.2.1 AP 29

4.2.2 AP 29

4.3 注意安全 29

4.3.1 接入安全 29

4.3.2 设备管理帐号 30

4.3.3 加密数据传输 30

4.3.4 用户安全 30

5 后记 30

2.4 三种串行通信

最早的网络接入就是通过EIA/TIA232实现的,我们用串口管理网络设备用的也是EIA/TIA232。本文详细介绍了EIA/TIA232EIA/TIA422EIA/TIA485三种串行通信标准的技术参数和电气特性,以及在生产中的应用技巧和注意事项。

1背景 1

2EIA/TIA 2

3RS-232协议 3

4RS-422协议 6

5RS-485通讯协议 7

6三种串口比较表 9

7RS485/422网络安装注意事项 10

2.5 初识路由器

路由器就是一台特殊用途的电脑,是网络当中最重要的网络设备。路由器是由哪些部分组成,它的启动过程是怎么样的,有哪些用户的接口形式,它是如何工作的,还有哪些快捷的使用技巧?本文将为你一一解答。交换机的组成和使用技巧与路由器基本一样,你完全可以触类旁通。

1概述 1

2路由器的构成 2

2.1RAM 2

2.2NVRAM 2

2.3Flash 3

2.4ROM 3

2.5Console 3

2.6Interfaces 3

3路由器启动顺序 4

3.1路由器初始化过程 4

3.2确定路由器操作系统的存放位置 5

4路由器的用户接口模式 6

4.1路由器的用户模式 6

4.2在用户模式和特权模式之间切换 7

4.3用户模式一览 7

5操作CISCO IOS软件 8

6路由器命令行键盘帮助 9

7增强编辑命令 9

8路由器命令历史 9

2.6 虚拟终端软件

连接大型机的需求越来越少了,但是这一连接技术却被保存了下来,比如连接路由器或交换机等,还有其它一些需要串口管理的设备。虚拟终端(也叫仿真终端或伪终端)软件有很多,提供的基本功能包括连接设备,上传下载文件,执行脚本,优秀的虚拟终端软件能够提供更加丰富的功能和便捷的使用体验。本文分别介绍了台式机和便携机如何使用串口的,以及常用的几个虚拟终端软件,HyperTerminalXshellminicom使用方法。所有连接串口可能遇到的问题,这个本文全包括了。

1 背景 2

2 概述 3

3 连接串口 3

3.1 台式机 3

3.2 便携机 4

3.2.1 Windows便携机 7

3.2.2 UNIX系便 携机 9

4 接线 10

5 Hyper Terminal 10

5.1 打开“运行”,输入“hypertrm” 10

5.2 给连接起一个名字,比如“niuhai” 10

5.3 设置连接使用的串口号,如“COM9” 11

5.4 或者通过网络连接到要管理的设备 13

5.5 设置串口参数 13

5.6 进入设备管理界面 15

5.7 捕获文本 15

5.8 下载文件 19

5.9 上传文件 20

5.10 执行脚本 21

6 Hyper Terminal常见问题 21

6.1 打开Hyper Terminal失败 21

6.2 安装串口驱动失败 22

6.3 打开串口失败 22

6.4 乱码 23

7 Xshell 23

7.1 新建一个会话 23

7.1.1 Serial会话 23

7.1.2 SSH会话 29

7.1.3 SFTP会话 31

7.1.4 Telnet会话 33

7.2 打开已有会话 35

7.3 使用串口下载文件 36

7.4 使用串口上传文件 38

7.5 执行脚本 40

7.6 记录日志 42

7.6.1 自动档 42

7.6.2 手动档 43

7.7 简洁、优雅、自由 45

7.8 自定义快捷键 49

8 PuTTY 50

9 SecureCRT 51

10 minicom 51

10.1 安装minicom 51

10.2 设置运行参数,并保存到配置文件 52

10.3 调用 52

10.4 获取帮助 52

10.5 使用快捷键 54

11 minicom常见问题 54

11.1 minicom运行不起来 54

11.2 参数正确,但还是乱码 54

12 MacWise 56

13 乱码及处理 56

14 远程Console口权限 57

15 选择合适的终端工具 58

16 后记 58

2.7 路由器密码恢复

路由器忘了登录口令,别急,原则上只要能获取到物理权限,就能绕过登录口令。各大网络设备厂商都提供了这一功能。本文手把手教你如何化解把自己关在门外的尴尬。

1 背景 1

2 概述 2

3 CISCO(思科) 2

3.1 路由器的构成 2

3.2 路由器的初始化 3

3.3 配置寄存器值 3

3.3.1 (2)16 ==>(0010)2 3

3.3.2 (0)16 ==>(0000)2 4

3.3.3 (1)16 ==>(0001)2 4

3.3.4 (2)16 ==>(0010)2 4

3.4 典型配置寄存器值 4

3.4.1 0x2102 4

3.4.2 0x2142 4

3.5 密码恢复操作思路 5

3.6 密码恢复操作 5

3.6.1 RISC处理器(精简指令集) 5

3.6.2 CISC处理器(完整指令集/富指令集) 6

3.7 注意事项 7

4 华为 7

4.1 准备工作 7

4.2 进入Boot Menu 8

4.3 密码恢复可能用到的Boot Menu项解读 9

4.3.1 清除登录密码 9

4.3.2 修改配置启动项 9

4.3.3 串口参数子菜单 12

4.3.4 以太网参数子菜单 13

4.3.5 Boot Menu密码子菜单 13

4.4 Default Boot Menu Password 13

4.5 恢复Boot Menu 密码 13

4.6 极端情况 14

4.7 一次意外 14

2.8 WireShark抓包实战

WireShark是做网络协议分析最常用的工具。如此强大的工具如何驾驭?通过实例,我们来使用工具提供的捕获过滤,显示过滤,统计分析,协议分析等几大功能。学习本文,一定要出于正当目的。

1 引言 1

2 概述 2

3 认识主界面 4

4 抓包方式 5

5 抓包实验 6

5.1 实验拓扑 6

5.2 配置观察端口 7

5.3 配置镜像端口 7

5.4 开始抓捕 8

6 生产中的捕获 8

7 捕获过滤 10

7.1 打开监捕获滤选项对话框 10

7.2 捕获过滤示例 11

7.3 捕获过滤表达式 12

7.3.1 数据链路层捕获过滤表达式 12

7.3.2 网络层捕获过滤表达式 13

7.3.3 传输层捕获过滤表达式 13

7.3.4 组合使用捕获过滤表达式 13

8 显示过滤 14

8.1 只显示特定协议 16

8.2 只显示协议及包含的内容 17

8.3 显示过滤运算符 18

8.4 显示过滤表达式 19

8.5 常用显示过滤表达式 21

8.6 表达式子序列 27

9 自动化 28

9.1 文件自动保存 28

9.2 自动停止捕获 31

10 统计分析 32

11 各种导出 34

12 应用示例 35

12.1 ARP*** 35

12.2 RTP 39

12.3 RTP流分析 40

2.9 数据在网络中的传输

我发给你的消息你为什么就能收到?它在网络不如是经常了哪些处理?数据在网络的不同层次,其表现形式是什么?数据在网络当中是如何封闭的?各层之间又是如何协调的?本文一一为你解答。

1 背景 1

2 数据的传输 1

3 TCP 2

3.1 TCP报头格式 3

3.2 滑动窗口 4

3.3 TCP三次握手过程 5

3.4 TCP三次握手协议分析实验 5

4 UDP 8

5 IP 10

6 以太帧 14

7 MAC地址 16

8 ARP 17

9 数据传递实例 20

10 饭后思考题 22

2.10 常用网络排障工具

君子性非异也,善假于物也。”熟练地掌握其中的几个最常用工具,就可以帮你解决绝大部分的网络问题,同时也可以用来验证和检查网络功能。

1 背景 1

2 概述 2

3 Windows平台工具 2

3.1 ipconfig 2

3.2 arp 3

3.3 netstat 3

3.4 tasklist 4

3.5 ntsd/taskkill 5

3.6 ping 5

3.7 tracert 6

3.8 route 8

3.9 nslookup 8

3.10  telnet 8

3.11  ftp 9

3.12 nbtstat 9

4 Linux平台工具 9

4.1 ifconfig 9

4.2 ip addr show 10

4.3 ip link show 10

4.4 arp 10

4.5 netstat 10

4.6 ss 11

4.7 ps 11

4.8 pstree 11

4.9 top 12

4.10 kill 12

4.11 pkill 12

4.12 ping 12

4.13 traceroute 12

4.14 ip route show 13

4.15 ip route add 13

4.16 nslookup 13

4.17 host 13

4.18 dig 13

4.19 telnet 14

4.20 ssh 14

4.21 lftp 14

2.11 日志的收集与分析

你可以什么都不会,但是一定要会收集日志,否则远程的同事想帮你都帮不上。作为远程的同事,你不会分析日志,怎么能帮得了前线的他呢?

1概述 1

2日志收集 1

3查找的艺术——关键字 2

4检查配置文件 2

5检查接口运行状态 3

6查看系统运行状态 3

7查看系统日志 4

8列出你看到的问题 4

2.12 网络规划与设计

个人认为这是本书最值得一看的文档,抛开技术讲技术,一文看懂整个网络工程建设。规划设计工作不像实施工作,它更加复杂繁琐,通过长期的实践总结,我们把复杂繁琐的工作设计出一个目前看来是最可行的一套章法,学会了这个套路,工作和学习都会少走很多弯路。

1 背景 2

2 概述 2

3 需求调研 3

3.1 充分沟通,了解真相 3

3.2 去伪存真 4

3.3 抓住关键点 5

3.4 实用性,理想与现实 5

3.5 与相关方确认 6

4 设计原则 6

4.1 先进性和成熟性 6

4.2 安全性和易用性 7

4.3 可靠性和灵活性 8

4.4 可管理性和可维护性 8

4.5 经济性和实用性 8

5  物理层常用技术 9

5.1 前端接入 10

5.1.1 PON 10

5.1.2 光纤收发器 10

5.1.3 双绞线 11

5.1.4 4G/LTE 11

5.1.5 其它接入形式 11

5.2 传输技术 12

5.2.1 光纤专线 12

5.2.2 PTN 12

5.3 常用组网拓扑 13

6 数据链路层常用技术 13

6.1 链路聚合 13

6.2 VLAN(Virtual Local Area Network) 14

6.3 Private VLAN / Super  VLAN 15

6.4 端口隔离 15

6.5 QinQ 15

6.6 Access / Trunk / Hybird  16

7 网络层常用技术 16

7.1 静态路由技术 16

7.2 OSPF(Open Shortest Path First) 17

7.3 EIGRP(Enhanced Interior Gateway Routing Protocol) 17

7.4 多种路由选择协议混合使用 17

7.5 其它路由选择技术 18

7.6 VRRP(Virtual Router Redundancy Protocol) 19

8 网络带宽的计算 19

9 IP地址规划 20

10 VLAN ID规划 21

11 典型组网 21

11.1 小型组网 21

11.2 一般组网 23

11.3 大型组网 24

12 过程文档 25

12.1 方案评审 25

12.2 机房建设 25

12.3 指挥中心建设 26

12.4 系统建设文档 27

第二部分 技术及应用

2.13 VLAN及其在生产中的应用

虚拟本地网是目前为止最好的分组管理实现。VLAN应用在什么场景,两大主流厂家对于VLAN是如何实现的,怎么处理VLAN Tag?如何在生产中使用VLAN?本文都有详细的介绍。

1 背景 1

2 LAN 简介 2

3 VLAN 简介 2

4 VLAN 定义 3

5 VLAN 作用 3

6 以太网帧格式 3

7 VLAN ID 3

8 中继链路上的帧 4

8.1 Dot1Q 4

8.2 ISL 5

9 划分VLAN 5

9.1 基于端口 6

9.2 基于MAC地址 6

9.3 基于策略 6

9.4 基于IP子网 6

9.5 基于协议 7

10 端口模式 7

10.1 接入模式 7

10.2 混合模式 7

10.3 中继模式 8

11 VlAN Tag 9

12 VLAN 应用示例 11

12.1 CISCO设备上创建vlan 11

12.1.1 VLAN 数据库模式 12

12.1.2 全局配置模式 13

12.2 将端口加入到VLAN 13

12.2.1 单挑 13

12.2.2 群殴 14

12.3 华为设备上创建VLAN 16

12.3.1 单挑 16

12.3.2 群殴 16

12.4 将端口加及到VLAN 19

12.4.1 单挑 19

12.4.2 群殴 21

13 总结 23

2.14 QinQ及其在生产中的应用

4KVLAN ID在某些场合可能已经不够用了,目前比较好的解决办法是在原VLAN Tag外面再打一层VLAN Tag。打上Tag很关键,剥离也同样重要。到底是剥离一层,还是剥离两层呢?主流厂家对于这个技术是如何实现的?

1 背景 2

2 概述 2

3 QinQ缺省封装 3

3.1 华为实现 3

3.1.1 实验介绍 3

3.1.2 配置实现 4

3.1.3 相关配置 5

3.1.4 验证 8

3.2 CISCO实现 11

3.2.1 实验介绍 11

3.2.2 配置实现 12

4 QinQ VLAN封装 13

4.1 华为实现 13

4.1.1 实验介绍 13

4.1.2 配置实现 14

4.1.3 相关配置 14

4.1.4 验证 19

4.2 CISCO实现 25

5 VLAN Mapping 25

6 QinQ终结 26

6.1 华为实现 27

6.1.1 实验介绍 27

6.1.2 配置实现 28

6.1.3 相关配置 29

6.1.4 验证 32

6.2 CISCO实现 35

6.3 总结 36

2.15 STP及其在生产中的应用

交换机工作的基本原理是洪泛,它的这种工作方式其实是有问题的,它会在增加链路可靠性的同时引起网络环路。STP的出现就是为解决这一问题的。可是STP也不是完美的,于是就有了RSTPMSTP等。它们又是如何解决问题的?它们解决得好吗?

1 背景 3

2 概述 3

3 交换机的工作原理 3

3.1 好问题一 4

3.2 好问题二 6

3.3 好问题三 7

4 STP 8

5 STPBonding 8

6 STP术语 9

6.1 STA 9

6.2 BPDU 9

6.3 Bridge ID 网桥ID 12

6.4 Bridge Priority 网桥优先级 12

6.5 网桥MAC地址 14

6.6 Port ID 端口ID 14

6.7 Port Priority 端口优先级 14

6.8 Root Bridge 根网桥 15

6.9 Nonroot Bridge 非根网桥 15

6.10 Path Cost 路径开销 15

6.11 Root Path Cost 根路径开销 17

6.12 指定桥 17

7 生成树端口角色 17

7.1 Designated Port 指定端口 17

7.2 Root Port 根端口 18

7.3 Nondesignated Port 非指定端口 18

7.4 Forwarding Port 转发端口 18

7.5 Blocked  Port 阻塞端口 19

8 生成树端口状态 19

8.1 Disabled/Down,禁用 19

8.2 blocking,阻塞 19

8.3 Listening,侦听 19

8.4 Learning,学习 19

8.5 Forwarding,转发 20

9 STP端口转化图 20

10 STP瑕疵 21

11 影响STP网络收敛的三个时间 21

11.1 Hello Time 21

11.2 Forward Delay Time 21

11.3 Max Age 22

12 STP存在的问题 22

13 RSTP 22

14 RSTP端口角色 22

14.1 Alternate 端口 23

14.2 Backup 端口 23

15 RSTP端口状态 23

15.1 Discarding 23

15.2 Learning 24

15.3 Forwarding 24

16 RSTP如何处理BPDU 24

17 STP/RSTP配置 25

17.1 实验说明 26

17.2 配置实现 26

17.3 验证配置 28

17.4 业务相关的配置文件 29

18 RSTP仍然没有解决的问题 33

19 MSTP 34

20 MSTP术语 34

20.1 多生成树实例 34

20.2 多生成树域 34

20.3 映射表 35

20.4 公共生成树 35

20.5 内部生成树 35

20.6 单生成树 35

20.7 公共和内部生成树 35

20.8 总根 36

20.9 域根 36

20.10 主桥 36

21 MSTP端口角色 36

21.1 Master端口 37

21.2 域边缘端口 37

22 MSTP端口状态 37

23 配置实例 37

23.1 CISCO 37

23.2 华为 37

23.2.1 实验拓扑 39

23.2.2 实验要求 39

23.2.3 配置实现 40

23.2.4 验证配置 43

23.2.5 业务实现相关配置 46

24 多进程 52

24.1 创建并STP进程 52

24.2 把接口绑定到进程 53

25 MCheck 53

26 PVST&VBST 54

26.1 PVST 54

26.2 VBST 55

27 文档总结 55

28 一声叹息 57

2.16 Bonding及其在各种设备上的实现

链路聚合可以让多条链路变成一条链路,链路带宽随之加倍,如果设计得当,还可以起到负载均衡的目的。但是如果使用不当的话,不仅会导致接口无法开启或达不到预期目的,更甚至导致网络环路和网络不稳定。有网络接入需求和提供网络接入功能的设备,通常都会提供这项技术。但是在不同的设备上又有不同的叫法和实现方式。链路聚合的各种模式应该如何选择,如何实现?关于链路聚合,看这一篇就够了。

1 背景 2

2 概述 2

3 应用场景 4

4 CISCO 4

4.1 配置实现 4

4.1.1 创建链路聚合端口 5

4.1.2 添加成员端口到聚合组 5

4.1.3 操作聚合口 5

4.1.4 检查配置 5

5 华为 7

5.1 配置实现 7

5.1.1 创建链路聚合端口 7

5.1.2 操作聚合口 7

5.1.3 添加成员端口到聚合口 8

5.1.4 检查验证 8

6 华三 9

6.1 Bridge-Aggregation 10

6.1.1 创建链路聚合组 10

6.1.2 添加成员接口到聚合口 11

6.1.3 对聚合口的操作 12

6.1.4 检查配置 13

6.2 Route-Aggregation 15

6.2.1 建立链路聚合组 15

6.2.2 添加成员接口到聚合组 16

6.2.3 对聚合口的操作 17

6.2.4 查看验证 17

7 Windows server 英特尔网卡 18

7.1 安装网卡驱动 19

7.2 打开设备管理器 19

7.3 创建分组 23

7.3.1 命名 24

7.3.2 为新组添加成员 25

7.3.3 动态链路聚合 26

7.3.4 选择描述文件 28

7.3.5 完成设置 29

7.4 查看效果 30

8 Windows server Broadcom网卡 31

8.1 安装网卡驱动 31

8.2 打开安装的管理套件 31

8.3 创建绑定组 32

8.3.1 创建分组使用的模式 34

8.3.2 命名 35

8.3.3 动态链路聚合 37

8.3.4 为新组添加成员 38

8.3.5 设置VLAN 43

8.3.6 提交配置 45

8.3.7 提交前确认 46

8.3.8 应用中 47

8.4 专家模式下查看和创建绑定组 48

9 Linux 48

9.1 查看本机网卡配置 49

9.2 新建网卡bond0 49

9.2.1 使用系统网络配置工具 49

9.2.2 新建设备 50

9.2.3 设备类型 52

9.2.4 对,bond0 53

9.2.5 保存这个设备 55

9.2.6 回到起点 55

9.3 编辑网卡bond0     56

9.4 为绑定组添加成员网卡 58

9.5 为系统安装bonding模块 59

9.6 启用绑定口 60

9.7 验证 60

9.8 脚本化 60

10 其它 64

11 关于模式 65

12 关于BONDING_OPTS 65

12.1 mode 65

12.2 miimon 67

2.17 ARP及其在生产中的应用

我们说网络通信是基于广播的,其实很大程度说的是ARP请求是以广播的形式发送。ARP协议在设计时存在漏洞,没有验证机制。***容易利用这一漏洞进行网络***。常见的***有两个:一个是模拟ARP请求的ARP miss***,它是DoSDenial of Service)***的一种;另外一个是模拟ARP应答的ARP Spoofing***,就是我们经常说的ARP欺骗,它会将主机上正确的ARP表刷新成***者指定的表项,会影响到正常的通信或导致泄密。熟悉了ARP协议的原理,就可以对它进行有效防范。

1 背景 1

2 概述 2

3 ARP 2

4 ARP表建立的过程 6

5 在协议分析器上的ARP交互 8

6 ARP Miss 10

7 ARP Spoofing 11

8 问题的解决 12

8.1 Windows电脑 12

8.2 Linux电脑 21

8.3 要写很多条啊 21

8.3.1 Windows 21

8.3.2 Linux 27

8.4 开机启动 34

8.4.1 Windows 34

8.4.2 Linux 35

9 找出真凶 37

9.1 MAC地址 37

9.2 锁定真凶 38

10 RARP 38

11 Gratuitous ARP 38

12 ARP Proxy  40

13 其它ARP问题 40

14 饭后思考题 41

2.18 ARP Proxy及其在生产中的应用

经常遇到因为网络规划不合理,从而导致网络中广播流量过高,甚至导致网络不可用等。如何最小成本地改善它,如何在规划设计的初期就规避它?限制广播域是我们最常用的方法,限制了广播也就限制了网络通信,可否在限制广播的前提下还能实现网络通信?这就需要ARP Proxy来帮忙。

1 背景 1

2 可能的解决办法 1

2.1 重新规划广播域 1

2.2 子接口形式实现 2

2.3 隔离广播域 2

3 ARP Proxy 2

4 Super VLAN 3

4.1 案例1 4

4.2 解决思路 4

4.3 优化实现 5

5 端口隔离 9

5.1 案例1 10

5.2 解决思路 11

5.3 优化实现 12

6 总结 13

2.19 IP地址及IP编址

二进制和十进制互换也能心算?是的,每一个掌握本文方法的人都可以。二进制和十进制的互换心算计算法是IP地址规划的基础,我们甚至要求能够用心算法做IP地址的规划。IP地址有哪两部分的构成,是如何分类的?通过介绍IP地址规划的指导原则和方法,目的是让阅读此书的读者都能够使用心算法轻松地做出IP地址的划分类和汇聚。

1 背景 1

2 概述 2

3 计算机中数的表示 2

4 网络数学 2

4.1 二进制转换成十进制 3

4.2 十进制转换成二进制 3

5 IPv4 4

6 Private IP 6

7 网络掩码 6

7.1 示例 7

8 子网划分 7

8.1 两个公式 7

8.2 计算举例 7

8.2.1 示例1 7

8.2.2 示例2 9

8.2.3 示例3 9

9 超网汇聚 10

9.1 汇聚方法 10

9.2 计算示例 10

10 IP地址分配规划 11

10.1 原则 11

10.2 总体规划1 12

10.3 总体规划2 16

11 饭后思考题1 17

12 饭后思考题2 17

2.20 DHCP及其在生产中的应用

不管网络规模大小,使用自动分配主机配置信息的方法都是最明智的选择,它可以方便地网络管理,节省大量的人力物力,DHCP开发出来就是为解决这些问题的。DHCP是怎么实现主机信息自动配置的?如何在我的网络中使用它?通过本文的实例,你就可以轻松掌握。

1 背景 1

2 概述 2

3 四个基本过程 2

3.1 DHCP Discover 4

3.2 DHCP Offer 6

3.3 DHCP Request 8

3.4 DHCP Acknowledge 10

3.5 一个好问题 11

4 华为DHCP配置 12

4.1 实验说明 12

4.2 配置思路 12

4.3 配置实现 13

4.3.1 AR1配置实现 13

4.3.2 LSW1配置实现 14

4.4 检查验证 15

5 CISCO DHCP配置 17

5.1 实验说明 17

5.2 配置思路 18

5.3 配置实现 18

5.3.1 Router0配置实现 18

5.3.2 Router1配置实现 19

5.4 检查验证 21

6 饭后思考题 22

2.21 VRRP及其在生产中的应用

网关很重要的啊,是呀,要不怎么叫关呢?可是万一网关出问题了怎么办?VRRP就来解决这个问题。但是VRRP只提供主备网关的功能,这会导致流量过于集中,负载不均衡。通过文章中提供的小技巧,还能够使你部署的VRRP同时具有负载均衡的效果。

1 背景 1

2 概述 2

3 实现原理 2

4 VRRP关键概念 2

4.1 优先级 2

4.1.1 华为设备配置优先级 3

4.1.2 CISCO设备配置优先级 3

4.2 抢占 3

4.2.1 华为设备配置抢占 3

4.2.2 CISCO设备配置抢占 4

4.3 验证 4

4.3.1 华为设备配置验证 4

4.3.2 CISCO设备配置验证 5

5 华为实现 5

5.1 实验说明 5

5.2 实现思路 6

5.3 配置实现 6

5.4 检查验证 8

6 CISCO实现 10

6.1 实验说明 10

6.2 实现思路 10

6.3 配置实现 11

6.4 检查验证 12

7 生产中的应用技巧 13

2.22 路由选择

不同的路由选择协议计算出来的路径,路由器该相信谁?同一路由选择协议学习到的有关同一个目的网络的路由,路由器会使用哪一条?同一路由选择协议学习到的有关同一个目的网络的路由,掩码位数也相同,Metric也相同,哪条会被选择?本文按问题顺序一一为你拆解。

1 概述 1

2 路由设备 2

3 路由表 2

4 路由与被路由 2

4.1 Routing Protocol 2

4.2 Routed Protocol 3

5 管理距离 3

6 优先级 4

7 最大匹配原则 5

7.1 主机路由 5

7.2 默认路由 6

8 Metric 6

9 等价负载均衡 7

10 应用案例 7

10.1 解题思路 8

11 处理操作 12

11.1 添加路由示例 12

11.2 删除路由示例 12

11.3 添加永久路由1 13

11.4 添加永久路由2 13

12 路由选择协议分类比较 13

12.1 静态路由选择协议与动态路由选择协议 13

12.2 内部路由选择协议与外部路由选择协议 14

12.3 距离矢量与链路状态路由选择协议 14

12.4 扁平结构与等级结构路由选择协议 14

12.5 无类和有类路由选择协议 15

2.23 静态路由及其在生产中的应用

静态路由不仅在生产中也时常会用到,也是我们学习路由的基础。什么是单向路由?什么是路由黑洞?如何避免这些问题?文中都有详细的讲解。

1 背景 1

2 概述 1

3 静态路由的特点 2

3.1 缺点 2

3.2 优点 2

4 直连网络 3

4.1 典型直连网络 3

4.2 三层交换机 3

5 静态路由命令格式 4

5.1 CISCO 4

5.2 华为 4

6 静态路由示例 5

6.1 CISCO实现 5

6.2 验证配置 7

6.3 华为实现 8

6.4 验证配置 10

7 默认路由 12

8 常见错误 14

8.1 单向路由 14

8.2 路由环路 14

8.3 路由不一致 15

8.4 非直接可达的下一跳 15

9 注意事项 16

10 课后作业 16

2.24 OSPF及其在生产中的应用

OSPF是一个开放标准的路由选择协议,在网络中应用得最为广泛。它收敛速度快,扩展性好。支持无类域间路由,适用于各种网络类型,支持负载均衡和加密。OSPF特性比较多,每一个特性在生产中都有其独特的用途。如何理解并使用这些特性?每一个特性在生产中的应用我们都做了实验,并记录了全部实验过程,保证读者在阅读本文后能够大幅提升战斗力这也是我在本书中写得最辛苦的一篇文档,查阅大量包括协议原本在内的文献资料,经历了无数个漫长的黑夜才完成。阅读本文,一定要记得多动手做实验。

1 背景知识 3

2 概述 3

3 重要特性 4

4 SPF 4

5 链路状态 4

6 OSPF路由器类型 4

7 OSPF Packets 6

8 LSA类型 7

9 OSPF网络类型 8

9.1 CISCO设备上配置网络类型 10

9.2 华为设备上配置网络类型 10

10 OSPF接口状态 10

11 Router ID 11

11.1 CISCO路由器上的Router ID实现 12

11.2 华为路由器上的Router ID实现 20

12 DRBDR的选举 33

13 Priority 34

13.1 CISCO设备上操纵Priority 35

13.2 在华为设备上操纵Priority 36

14 Timers 42

15 邻居状态与邻接关系 45

15.1 CISCO设备上的邻居状态机 46

15.2 华为设备上的邻居状态机 64

16 Cost 66

16.1 Cost计算参考值 66

16.1.1 CISCO设备上更改cost计算参考值 66

16.1.2 华为设备上更改cost计算参考值 67

16.2 操纵Cost 67

16.2.1 CISCO设备上操纵cost 68

16.2.2 在华为设备上操纵cost 72

17 area 77

17.1 单区域OSPF 78

17.2 多区域OSPF 79

17.3 Backbone 79

17.4 Standard 79

17.5 Stub 80

17.5.1 Cisco Stub area 81

17.5.2 华为Stub area 89

17.6 Totally Stub 97

17.6.1 CISCO Totally Stub 97

17.6.2 华为Totally Stub 105

17.7 NSSA 114

17.7.1 Cisco NSSA 115

17.7.2 华为NSSA 115

18 Authentication 116

18.1 CISCO实现 120

18.1.1 配置认证方式 120

18.1.2 配置认证密钥 122

18.1.3 认证排障 123

18.1.4 实现实例 124

18.2 华为实现 128

18.2.1 基于接口的实现 129

18.2.2 基于区域的实现 129

18.2.3 认证排障 129

18.2.4 实现实例 131

19 Virtual-link 134

19.1 CISCO实现 134

19.1.1 不能与主干区域直接相连 135

19.1.2 被分隔开的主干区域 137

19.2 华为实现 139

19.2.1 不能与主干区域直接相连 139

19.2.2 被分隔开的主干区域 141

20 Redistribution 143

20.1 CISCO实现 145

20.1.1 重发布1型外部路由 147

20.1.2 重发布2型外部路由 150

20.2 华为实现 153

20.2.1 重发布1型外部路由 154

20.2.2 重发布2型外部路由 157

21 Summary 160

21.1 汇总区域间路由 161

21.1.1 CISCO实现 162

21.1.2 华为实现 175

21.2 汇总外部路由 188

21.2.1 CISCO实现 188

21.2.2 华为实现 200

22 多进程应用案例 220

22.1 CISCO多进程实例 221

22.2 华为多进程实例 228

23 ~~~~~~ 232

24 一个项目案例 233

25 饭后练习题 234

2.25 ACL及其在生产中的应用

ACL可应用于网络安全,阻止网络***和未授权访问,还可以用于流量分类和服务质量,更重要的是路由过滤和路由策略的前置条件。前段时间疯狂的WannaCry,就可以通过ACL进行控制。

1 背景 2

2 概述 2

3 常见应用场景 2

4 ACL基本知识 3

5 访问控制列表号 3

6 隐含规则 4

7 匹配顺序 4

8 实现思路 4

9 CISCO实现 5

9.1 标准访问控制列表 5

9.2 扩展访问控制列表 5

9.3 应用访问控制列表 6

9.4 案例 7

9.4.1 拓扑介绍 7

9.4.2 业主诉求 7

9.4.3 业务实现 7

9.4.4 ACL应用思想 9

10 华为实现 13

10.1 基本访问控制列表 13

10.2 高级访问控制列表 13

10.3 应用访问控制列表 14

10.4 案例 14

10.4.1 拓扑介绍 14

10.4.2 业主诉求 15

10.4.3 业务实现 15

10.4.4 其它实现思路 16

11 ACL应用于流策略 18

11.1 企业应用案例 19

11.1.1 创建访问控制列表及规则; 21

11.1.2 创建一个流分类,并把ACL应用这个流分类。 22

11.1.3 定义流行为,并配置流动作; 22

11.1.4 定义流策略,并关联流分类和流行为; 22

11.1.5 应用流策略。 22

11.1.6 验证 23

11.1.7 相关配置 23

11.2  WannaCry案例 25

12 有关访问控制列表的注意事项 27

2.26 NAT及其在生产中的应用

通过网络地址转换,私网地址的主机可以访问公网内容,它还可以让私网地址的服务器为公网用户提供服务,甚至负载均衡、重定向、网络合并等等,都不在话下。NAT不仅可以对IP报头内容进行修改,通过启用ALG功能,还可以对数据包里的IP地址等内容,这在生产中都非常有用。

1 背景 2

2 概述 3

3 基本概念 3

4 使用私网地址访问互联网 4

4.1 CISCO实现 4

4.1.1 实验说明 4

4.1.2 Router1配置 5

4.1.3 Router0配置 5

4.1.4 验证 7

4.2 华为实现 9

4.2.1 实验说明 9

4.2.2 AR2配置 9

4.2.3 AR1配置 10

4.2.4 验证 11

5 实现负载均衡 13

5.1 CISCO实现 13

5.1.1 实验说明 13

5.1.2 配置实现 14

5.1.3 验证 18

5.2 华为实现 24

5.2.1 实验说明 24

5.2.2 配置实现 25

6 外部用户访问内部的私网地址主机 27

6.1 CISCO实现 28

6.1.1 实验说明 28

6.1.2 配置实现 28

6.1.3 验证 30

6.2 华为实现 31

6.2.1 实验说明 31

6.2.2 配置实现 32

6.2.3 验证 33

7 TCP/UDP重定向 34

7.1 CISCO实现 34

7.1.1 实验说明 34

7.1.2 配置实现 35

7.1.3 验证 37

7.2 华为实现 38

7.2.1 实验说明 38

7.2.2 配置实现 38

7.2.3 验证 39

8 两个相同网络地址的网络合并 40

8.1 CISCO实现 40

8.1.1 实验说明 40

8.1.2 配置实现 42

8.1.3 验证 49

8.2 华为实现 53

8.2.1 实验说明 53

8.2.2 配置实现 53

8.2.3 验证 55

8.3 小结 57

9 头部转换总结 57

10 ALG 58

10.1 CISCO实现 63

10.2 华为实现 63

10.2.1 实验说明 63

10.2.2 配置实现 64

10.2.3 验证 66

11 不存在的问题 67


第三部分,Linux基础

Windows赢得了桌面争夺战的胜利,但是Linux却赢得了整个世界。越来越多服务器上部署了Linux系统,因此我们遇到的Linux系统联网需求也越来越多,为满足Linux系统的联网需要,我们也需要对它有一个基本的了解。本书介绍链路聚合文档中所用到的Linux知识都可以在这里找到。

这一部分的内容相当于本书的附录部分。

2.27 Linux上使用VIM

VI的增强版,Linux下面最常用的文本编辑器,功能非常强大,而且还可以通过安装插件的方式扩展功能。本文主要介绍vim几种模式下的常用操作,已经可以让我们应对复杂操作了。

1 概述 1

2 安装vim 1

3 使用vim 2

4 四种模式 3

4.1 Normal Mode 3

4.2 Insert Mode 5

4.3 Ex Mode 6

4.4 Visual Mode 7

5 获取帮助 7

5.1 vimtutor 命令 7

5.2 内置帮助 7

6 后记 9

2.28 Linux用户管理

Linux系统装好后,在进入系统前,会提示我们创建一个普通用户,但是普通用户的权限有限,但是root用户的权限至高无上得可怕。一直使用root用户是很不安全,但是普通用户权限有限,有很多操作又无法进行。我们需要一个相对安全的普通用户,但是在必要时不需要切换用户也可以使用root权限。

1 概述 1

2 添加用户 1

3 验证用户的存在 3

3.1 查看用户账户信息 3

3.2 查看用户家目录 3

3.3 查看用户所属的组 3

4 设置登录口令 4

5 用户间切换 4

6 临时管理员权限 4

7 验证临时root用户权限 5

8 删除用户 6

2.29 Linux软件管理

各个Linux发行版安装文件中,往往并不包含全部我们想要的软件,他们往往只附带了基本的常用软件,因为发行方并不知道我们使用系统的目的。既然系统自带的软件无法满足我们生产环境中的业务需要,那么接下来要做的第一件事就是装软件了。

1 概述 1

2 获取root权限 2

3 已经有了吗 3

4 使用rpm安装二进制软件 3

4.1 结果分析 3

5 使用yum安装二进制软件 3

5.1 结果再分析 3

6 建个本地安装源仓库吧 3

6.1 编辑repo仓库文件 4

6.2 挂载光盘 5

6.3 挂载光盘镜像 5

6.4 挂载闪盘 6

6.5 获取.rpm文件 6

6.6 安装createrepo 7

6.7 创建源 7

6.8 导入gpgkey 7

6.9 清除yum缓存 7

6.10 重建yum缓存 7

6.11 测试 7

7 安装源码软件 8

7.1 安装编译器GCC 8

7.2 解压下载的源文件 8

7.3 配置安装参数 8

7.4 编译 9

7.5 安装 9

7.6 检查安装 9

8 软件卸载 9

8.1 卸载之前的查看 9

8.2 rpm卸载 9

8.3 yum卸载 9

8.4 卸载源码安装的软件 9

8.5 手工删除 10

2.30 Linux文件管理

Linux系统中一个很基本的概念就是“一切皆文件”,系统中的文件类型有:普通文件(或叫常规文件,包括二进制文件、文本文件等)、目录文件、符号链接文件(如软连接、硬连接)、特殊字符文件(如键盘、鼠标、打印机、显示器)、特殊块文件(如硬盘、闪盘、光盘)等。“文件”是Linux系统中最重要的一个概念,对文件的操作是我们学习Linux系统必须要掌握的基础技能。

1 概述 2

2 Linux目录结构 2

2.1 / 2

2.2 /boot 2

2.3 /root,/home/username 2

2.4 /bin, /usr/bin, /usr/local/bin 2

2.5 /sbin, /usr/sbin, /usr/local/sbin 3

2.6 /lib, /usr/lib, /usr/ local/lib 3

2.7 /etc 3

2.8 /dev 3

2.9 /media, /mnt 3

2.10 /var, /srv 3

2.11 /proc 3

2.12 /sys 3

2.13 /run 3

2.14 /tmp 4

2.15 /opt 4

3 Linux文件权限 4

3.1 权限关系 4

3.2 操作权限 4

3.3 特殊权限 4

3.4 FACL 5

3.5 查看文件权限关系和操作权限 5

4 文件操作命令 7

4.1 pwd 7

4.2 cd 7

4.3 ls 7

4.4 cp 7

4.5 scp 8

4.6 rcp 8

4.7 mkdir 9

4.8 rmdir 9

4.9 touch 9

4.10 vim 10

4.11 rm 10

4.12 mv 10

4.13 cat 11

4.14 more 11

4.15 less 11

4.16 head 11

4.17 tail 12

4.18 grep 12

4.19 locate 12

4.20 whereis 13

4.21 which 13

4.22 find 13

4.23 test 14

4.24 chmod 14

4.25 ln 15

4.26 lsattr 16

4.27 chattr 16

4.28 getfacl 16

4.29 setfacl 17

4.30 chown 17

4.31 chgrp 17


3 致谢

高新兴公司(http://www.gosuncn.com)是一家民营高科技企业,公司董事长刘双广先生是一位极富远见的企业家,他带领着集团公司正在稳步前进。企业朝气蓬勃,务实进取,我非常荣幸能够服务于这家公司。本书出版,得到了公司很多领导和同事的帮助,尤其是大师孙新斌,小猫卢鑫茂,小狗邵染寰,果岭罗国灵,BB戚斌斌,小波黄小波,兰博兰博海,在此一并表示感谢!

我们的团队基本上都是九零后小清新,拥有青春的面庞和老练的技能。当别人在赞叹我群外行带成技术大牛的时候,我在暗地里偷着乐——是他们在推着我向更高处攀登,我才是那个占最大便宜的人。他们从刚入职时的一脸茫然,到现在能够手到擒来地解决技术问题,最后发展到不上亿的项目都不想接最开心的除了他们自己就是我。这一群欢乐的时代青年,他们是我最好的兄弟!原本是枯燥的工作,在他们的影响下也会变得生动有趣。

如今团队已经壮大到几十人了,三年前青涩的脸庞已经变得坚毅,很多人已经成为技术骨干,甚至部分人已经成为主管或经理,回头再看刚入职时的情景,感谢昨天努力的自己。他们跟网络流传的负面评价完全相反,他们终将超越我这样的老骨头!

他们都在不同适度上为我写书提供了帮助。

我们行走在路上,

更加精彩路上。

我们一直在成长,

成长为自己想要的那样。

我们还没有成功,

还在不断成长。

未来的故事更精彩,

敬请期待。