第1章 路由和数据包转发介绍 1
1.1 目标 1
1.2 关键术语 1
1.3 路由器内部构造 2
1.3.1 路由器是计算机 2
1.3.2 互联网操作系统(IOS) 7
1.3.3 路由器启动过程 7
1.3.4 路由器端口和接口 12
1.3.5 路由器和网络层 14
1.4 CLI配置和编址 15
1.4.1 实施基本编址方案 15
1.4.2 基本路由器配置 16
1.5 构建路由表 23
1.5.1 路由表简介 23
1.5.2 直连网络 24
1.5.3 动态路由 26
1.5.4 路由表原理 28
1.6 路由决定和交换功能 29
1.6.1 数据包字段和帧字段 29
1.6.2 最佳路径和度量 30
1.6.3 等价负载均衡 32
1.6.4 路径决定 32
1.6.5 交换功能 33
1.7 总结 38
1.8 实验 38
1.9 检查你的理解 39
1.10 挑战的问题和实践 41
1.11 知识拓展 41
1.12 结束注释 41
第2章 静态路由 42
2.1 目标 42
2.2 关键术语 42
2.3 路由器和网络 43
2.3.1 路由器的角色 43
2.3.2 拓扑简介 43
2.3.3 检查路由器连接 44
2.4 路由器配置回顾 46
2.4.1 检查路由器接口 46
2.4.2 配置以太网接口 50
2.4.3 检验以太网地址 52
2.4.4 配置串行接口 53
2.4.5 检验串行接口 54
2.5 探索直连网络 57
2.5.1 检验路由表变化 57
2.5.2 直连网络上的设备 61
2.5.3 思科发现协议(CDP) 64
2.5.4 使用CDP发现网络 67
2.6 带下一跳地址的静态路由 68
2.6.1 iproute的用途和命令语法 68
2.6.2 配置静态路由 69
2.6.3 路由表原理与静态路由 72
2.6.4 通过递归路由查找解析送出接口 74
2.7 带送出接口的静态路由 75
2.7.1 配置带送出接口的静态路由 75
2.7.2 静态路由和点对点网络 76
2.7.3 修改静态路由 77
2.7.4 检验静态路由配置 77
2.7.5 带以太网接口的静态路由 79
2.8 汇总静态路由和默认静态路由 81
2.8.1 汇总静态路由 81
2.8.2 默认静态路由 83
2.9 对静态路由进行管理和排错 85
2.9.1 静态路由和数据包转发 85
2.9.2 路由缺失故障排除 86
2.9.3 解决路由缺失问题 87
2.10 总结 88
2.11 实验 88
2.12 检查你的理解 89
2.13 挑战的问题和实践 92
2.14 知识拓展 94
2.15 结束注释 94
第3章 动态路由协议介绍 95
3.1 目标 95
3.2 关键术语 95
3.3 动态路由协议简介 96
3.3.1 前景和背景知识 96
3.3.2 网络发现和路由表维护 98
3.3.3 动态路由协议的优点 98
3.4 动态路由协议的分类 99
3.4.1 IGP和EGP 100
3.4.2 距离矢量和链路状态路由协议 101
3.4.3 有类和无类路由协议 102
3.4.4 动态路由协议和收敛 103
3.5 度量 104
3.5.1 度量的作用 104
3.5.2 度量和路由协议 104
3.5.3 负载均衡 106
3.6 管理距离 107
3.6.1 管理距离的作用 107
3.6.2 动态路由协议和管理距离 109
3.6.3 静态路由和管理距离 110
3.6.4 直连网络和管理距离 112
3.7 总结 112
3.8 检查你的理解 113
3.9 挑战的问题和实践 115
3.10 知识拓展 115
第4章 距离矢量路由协议 116
4.1 目标 116
4.2 关键术语 116
4.3 距离矢量路由协议简介 117
4.3.1 距离矢量技术 118
4.3.2 路由协议算法 119
4.3.3 路由协议特性 120
4.4 网络发现 122
4.4.1 冷启动 122
4.4.2 初次路由信息交换 122
4.4.3 路由信息交换 124
4.4.4 收敛 125
4.5 路由表维护 125
4.5.1 周期更新 126
4.5.2 限定更新 127
4.5.3 触发更新 127
4.5.4 随机抖动 128
4.6 路由环路 128
4.6.1 什么是路由环路 129
4.6.2 路由环路的影响 129
4.6.3 计数至无穷大 130
4.6.4 通过设置最大值避免环路 130
4.6.5 通过抑制计时器避免环路 130
4.6.6 通过水平分割规则来避免环路 132
4.6.7 通过IP的TTL避免环路 135
4.7 距离矢量路由协议现状 135
4.8 总结 137
4.9 检查你的理解 138
4.10 挑战的问题和实践 140
4.11 知识拓展 140
第5章 RIPv1 141
5.1 目标 141
5.2 关键术语 141
5.3 RIPv1:距离矢量,有类路由协议 142
5.3.1 背景和概述 142
5.3.2 RIPv1的特征和消息格式 143
5.3.3 RIP运行 145
5.3.4 管理距离 146
5.4 基本RIPv1配置 147
5.4.1 RIPv1场景A 147
5.4.2 启用RIP:routerrip命令 148
5.4.3 指定网络 149
5.5 检验和排错 150
5.5.1 检验RIP:showiproute命令 150
5.5.2 检验RIP:showipprotocols命令 151
5.5.3 检验RIP:debugiprip命令 152
5.5.4 被动接口 154
5.6 自动汇总 155
5.6.1 修改后的拓扑:场景B 155
5.6.2 边界路由器和自动汇总 158
5.6.3 处理RIP更新 158
5.6.4 发送RIP更新:使用debug查看自动汇总 159
5.6.5 自动汇总的优缺点 160
5.7 默认路由和RIPv1 163
5.7.1 修改后的拓扑:场景C 164
5.7.2 在RIPv1中传播默认路由 165
5.8 总结 166
5.9 检查你的理解 167
5.10 挑战的问题和实践 169
5.11 知识拓展 171
第6章 VLSM和CIDR 172
6.1 目标 172
6.2 关键术语 172
6.3 有类和无类寻址 173
6.3.1 有类IP寻址 173
6.3.2 有类路由协议 175
6.3.3 无类IP寻址 176
6.3.4 无类路由协议 177
6.4 VLSM 178
6.4.1 VLSM的使用 178
6.4.2 VLSM和IP编址 179
6.5 CIDR 182
6.5.1 路由汇总 182
6.5.2 计算路由汇总 183
6.6 总结 184
6.7 检查你的理解 184
6.8 挑战的问题和实践 187
6.9 知识拓展 187
第7章 RIPv2 189
7.1 目标 189
7.2 关键术语 189
7.3 RIPv1的限制 190
7.3.1 汇总路由 193
7.3.2 VLSM 193
7.3.3 RFC1918私有地址 194
7.3.4 思科示例中采用的IP地址 194
7.3.5 环回接口 194
7.3.6 RIPv1拓扑限制 194
7.3.7 RIPv1:不连续网络 197
7.3.8 RIPv1:不支持VLSM 200
7.3.9 RIPv1:不支持CIDR 200
7.4 配置RIPv2 202
7.4.1 启用和检验RIPv2 202
7.4.2 自动汇总和RIPv2 205
7.4.3 禁用RIPv2中的自动汇总 206
7.4.4 检验RIPv2更新 207
7.5 VLSM和CIDR 209
7.5.1 RIPv2和VLSM 210
7.5.2 RIPv2和CIDR 210
7.6 检验RIPv2和对RIPv2排错 212
7.6.1 检验和排错命令 212
7.6.2 常见RIPv2问题 215
7.6.3 验证 216
7.7 总结 216
7.8 检查你的理解 217
7.9 挑战的问题和实践 218
7.10 知识拓展 219
第8章 深入讨论路由表 220
8.1 目标 220
8.2 关键术语 220
8.3 路由表结构 221
8.3.1 实验拓扑 221
8.3.2 路由表条目 222
8.3.3 第1级路由 223
8.3.4 父路由和子路由:有类路由 224
8.4 路由表查找过程 229
8.4.1 路由表查找过程的步骤 229
8.4.2 最长匹配:第1级网络路由 234
8.4.3 最长匹配:第1级父路由和第2级子路由 237
8.5 路由行为 241
8.5.1 有类和无类路由行为 241
8.5.2 有类路由行为:noipclassless 243
8.5.3 有类路由行为:搜索过程 244
8.5.4 无类路由行为:ipclassless 246
8.5.5 路由查找过程 246
8.5.6 无类路由行为:搜索过程 247
8.6 总结 250
8.7 检查你的理解 251
8.8 挑战的问题和实践 253
8.9 知识拓展 254
8.10 结束注释 254
第9章 EIGRP 255
9.1 学习目标 255
9.2 关键术语 255
9.3 EIGRP简介 256
9.3.1 EIGRP:增强型距离矢量路由协议 257
9.3.2 EIGRP的消息格式 258
9.3.3 协议相关模块 260
9.3.4 RTP和EIGRP数据包类型 262
9.3.5 Hello协议 264
9.3.6 EIGRP限定更新 264
9.3.7 DUAL:简介 264
9.3.8 管理距离 266
9.3.9 验证 266
9.4 基本EIGRP配置 267
9.4.1 EIGRP网络拓扑 267
9.4.2 自治系统和进程ID 269
9.4.3 routereigrp命令 270
9.4.4 network命令 271
9.4.5 校验EIGRP 272
9.4.6 检查路由表 274
9.5 EIGRP度量计算 276
9.5.1 EIGRP复合度量及K值 276
9.5.2 EIGRP度量 277
9.5.3 使用bandwidth命令 279
9.5.4 计算EIGRP度量 280
9.6 DUAL 282
9.6.1 DUAL概念 282
9.6.2 后继路由器和可行距离 283
9.6.3 可行后继路由器和可行条件及报告距离 283
9.6.4 拓扑表:后继路由器和可行后继路由器 284
9.6.5 拓扑表:没有可行后继路由器 286
9.6.6 有限状态机 288
9.7 更多的EIGRP配置 292
9.7.1 Null0汇总路由 292
9.7.2 禁用自动汇总 293
9.7.3 手工汇总 296
9.7.4 EIGRP默认路由 299
9.7.5 微调EIGRP 301
9.8 总结 302
9.9 检查你的理解 303
9.10 挑战的问题和实践 305
9.11 知识拓展 305
第10章 链路状态路由协议 307
10.1 学习目标 307
10.2 关键术语 307
10.3 链路状态路由 308
10.3.1 链路状态路由协议 308
10.3.2 SPF算法简介 309
10.3.3 链路状态过程 310
10.3.4 最短路径优先(SPF)树 316
10.4 链路状态路由协议实施 320
10.4.1 链路状态路由协议的优点 320
10.4.2 链路状态路由协议的要求 321
10.4.3 链路状态路由协议比较 323
10.5 总结 323
10.6 检查你的理解 324
10.7 挑战的问题和实践 326
10.8 知识拓展 326
第11章 OSPF 327
11.1 学习目标 327
11.2 关键术语 327
11.3 OSPF简介 328
11.3.1 OSPF背景 328
11.3.2 OSPF消息封装 329
11.3.3 OSPF数据包类型 329
11.3.4 Hello协议 329
11.4 基本OSPF配置 334
11.4.1 实验拓扑 334
11.4.2 routerospf命令 336
11.4.3 network命令 336
11.4.4 OSPF路由器ID 337
11.4.5 校验OSPF 340
11.4.6 检查路由表 343
11.5 OSPF度量 344
11.5.1 OSPF度量 344
11.5.2 修改链路开销 346
11.6 OSPF和多路访问网络 348
11.6.1 多路访问网络中的挑战 349
11.6.2 DR/BDR选择过程 353
11.6.3 OSPF接口优先级 357
11.7 更多OSPF配置 359
11.7.1 重分布OSPF默认路由 359
11.7.2 微调OSPF 361
11.8 总结 365
11.9 检查你的理解 366
11.10 挑战的问题和实践 368
11.11 知识拓展 368
附录 检查你的理解和挑战性问题的答案 369