第1部分 现代Internet 3
第1章 Internet之演进 3
1.1 Internet起源及其近代史 4
1.1.1 从ARPANET到NSFNET 5
1.1.2 Internet现状 6
1.1.3 NSFNET动议 7
1.2 网络接入点 8
1.2.1 什么是NAP 8
1.2.2 NAP管理者动议 9
1.2.3 联邦Internet交换点(FIX) 9
1.2.4 商业Internet交换点(CIX) 9
1.2.5 NAP目前的物理配置 10
1.2.6 NAP的替代方案:直接互联 11
1.3 路由仲裁者项目 11
1.4 特高速骨干网络服务 14
1.5 从NSFNET迁移地区网络 16
1.6 NSF发起NIS管理者动议 17
1.6.1 网络信息服务 17
1.6.2 创建InterNIC 18
1.6.3 目录和数据库服务 18
1.6.4 注册服务 19
1.6.5 NIC支持服务 19
1.7 其他Internet注册处 19
1.7.1 ARIN 20
1.7.2 RIPE NCC 20
1.7.3 APNIC 20
1.8 Internet路由注册处 20
1.9 永恒的Internet 21
1.9.1 下一代Internet计划 21
1.9.2 Internet2 23
1.9.3 Abilene 23
1.10 展望 24
1.11 常见问题及解答 25
1.12 参考资料 26
第2章 ISP服务及特性 29
2.1 ISP服务 29
2.1.1 专用Internet接入 30
2.1.2 帧中继及ATM Internet接入 30
2.1.3 拨号服务 31
2.1.4 数字用户线 31
2.1.5 线缆调制解调器 32
2.1.6 专用托管服务 32
2.1.7 其他ISP服务 33
2.2 ISP服务定价、服务等级协议及技术特性 33
2.2.1 ISP服务定价 33
2.2.2 服务等级协议 34
2.2.3 ISP骨干网选择标准 34
2.3 分界点 38
2.3.1 用户产权设备 39
2.3.2 路由器托管 40
2.4 展望 40
2.5 常见问题及解答 41
第3章 IP编址及分配技术 43
3.1 Internet编址历史 44
3.1.1 IP编址基础知识 44
3.1.2 IP子网划分基础知识 46
3.1.3 VLSM 47
3.2 IP地址空间耗尽问题 49
3.2.1 IP地址分配 50
3.2.2 无类别域间路由(CIDR) 52
3.2.3 私有地址和网络地址转换 61
3.2.4 IP版本6 64
3.3 展望 67
3.4 常见问题 67
3.5 参考资料 68
第2部分 路由协议基础知识 73
第4章 域间路由基础知识 73
4.1 路由器和路由选择概述 73
4.2 路由选择概念 76
4.2.1 距离矢量路由协议 76
4.2.2 链路状态路由协议 78
4.3 用自治系统分隔互联网 80
4.3.1 静态路由、动态路由和默认路由 80
4.3.2 自治系统 81
4.4 展望 85
4.5 常见问题 85
4.6 参考资料 86
第5章 边界网关协议版本4 89
5.1 BGP的运作方式 90
5.1.1 BGP消息头部格式 92
5.1.2 BGP邻居协商 93
5.1.3 有限状态机全景图 94
5.1.4 NOTIFICATION消息 97
5.1.5 KEEPALIVE消息 98
5.1.6 路由更新消息和路由信息 98
5.2 BGP能力协商 102
5.3 BGP的多协议扩展 103
5.4 TCP MD5签名选项 104
5.5 展望 105
5.6 常见问题 106
5.7 参考资料 106
第3部分 有效的Internet路由设计 111
第6章 BGP能力调优 111
6.1 构建对等体会话 112
6.1.1 物理连接和逻辑连接 113
6.1.2 获取IP地址 114
6.1.3 认证BGP会话 114
6.1.4 AS内的BGP连续性 115
6.1.5 AS内的同步 116
6.2 路由更新的来源 117
6.2.1 将路由信息动态注入BGP 118
6.2.2 以静态方式将路由信息注入BGP 120
6.2.3 路由的起源 121
6.2.4 静态路由Vs.动态路由的示例:移动网络 122
6.3 重叠协议:后门 123
6.4 简化的路由选择过程 124
6.4.1 BGP路由:通告与存储 125
6.4.2 BGP路由信息库 126
6.4.3 接收自对等体的路由 127
6.4.4 输入策略引擎 127
6.4.5 路由器采用的路由 127
6.4.6 输出策略引擎 127
6.4.7 通告给对等体的路由 128
6.4.8 路由选择环境示例 128
6.4.9 总结BGP的决策过程 129
6.5 掌控BGP路由 130
6.5.1 BGP路径属性 131
6.5.2 多路访问介质上的下一跳行为 141
6.5.3 非广播多路访问介质上的下一跳行为 142
6.5.4 使用next-hop-self还是通告DMS子网 143
6.5.5 使用私有AS 144
6.5.6 AS_PATH和路由聚合问题 145
6.5.7 操纵AS_PATH 146
6.6 路由过滤和属性操纵 148
6.6.1 路由的出入站过滤 148
6.6.2 路由过滤和属性操纵过程 149
6.6.3 对等体组 155
6.7 BGP-4路由聚合 156
6.7.1 只通告聚合路由,抑制明细路由 157
6.7.2 通告聚合路由外加明细路由 157
6.7.3 通告带有明细路由子集的聚合路由 158
6.7.4 聚合路由内部的信息丢失 159
6.7.5 改变聚合路由的属性 160
6.7.6 根据明细路由的子集来形成聚合路由 160
6.8 展望 161
6.9 常见问题 161
6.10 参考资料 163
第7章 冗余、对称和负载均衡 165
7.1 冗余 166
7.1.1 地理限制方面的压力 166
7.1.2 设置默认路由 167
7.2 对称 171
7.3 负载均衡 172
7.3.1 具体场景:设计冗余、对称及负载均衡 173
7.3.2 情景1:单宿主 173
7.3.3 情景2:多宿主连接到单提供商 174
7.3.4 情景3:多宿主连接到不同提供商 182
7.3.5 情景4:同一提供商的客户间设有备份链路 186
7.3.6 情景5:不同提供商的客户间设有备份链路 188
7.4 展望 192
7.5 常见问题 192
7.6 参考资料 193
第8章 自治系统内部的路由控制 195
8.1 非BGP路由器与BGP路由器间的交互 196
8.2 与内部默认路由相冲突的BGP策略 198
8.2.1 AS内的默认路由与主备BGP默认路由策略相结合 198
8.2.2 AS内的默认路由:其他BGP路由策略 203
8.3 策略路由 204
8.3.1 基于源地址的策略路由 205
8.3.2 基于源/目的地址的策略路由 205
8.3.3 回归动态路由的策略路由 206
8.3.4 策略路由的其他应用 206
8.4 展望 208
8.5 常见问题 208
第9章 控制大型自治系统 211
9.1 路由反射器 212
9.1.1 不部署路由反射器时的内部对等体 212
9.1.2 部署路由反射器时的内部对等体 213
9.1.3 命名惯例和操作原则 214
9.1.4 AS内的冗余问题和多路由反射器问题 215
9.1.5 路由反射拓扑模型 216
9.2 联盟 221
9.2.1 联盟的不足之处 222
9.2.2 使用联盟时的路由交换和BGP决策 223
9.2.3 联盟的设计建议 224
9.2.4 联盟Vs.路由反射器 224
9.3 控制IGP的扩张 225
9.3.1 通过IBGP将AS划分为多个区域 226
9.3.2 通过EBGP将AS划分为多个区域 228
9.4 展望 231
9.5 常见问题 231
9.6 参考资料 232
第10章 设计稳定的Internet 235
10.1 不稳定的Internet路由 235
10.1.1 IGP不稳定 236
10.1.2 硬件故障 236
10.1.3 软件问题 236
10.1.4 CPU的处理能力不足 237
10.1.5 内存不足 237
10.1.6 网络升级和日常维护 237
10.1.7 人为失误 238
10.1.8 链路拥塞 238
10.2 确保BGP稳定的特性 238
10.2.1 控制路由和缓存失效 239
10.2.2 BGP路由重刷新 239
10.2.3 路由抑制 239
10.3 展望 243
10.4 常见问题 243
第4部分 Internet路由设备配置 249
第11章 配置基本的BGP功能和属性 249
11.1 建立对等会话 250
11.2 路由过滤和属性操纵 255
11.2.1 BGP路由映射 255
11.2.2 前缀列表 257
11.2.3 根据NLRI标识并过滤路由 259
11.2.4 根据AS_PATH标识并过滤路由 261
11.3 对等体组 262
11.4 路由更新的来源 264
11.4.1 以动态方式将路由信息注入BGP 264
11.4.2 以静态方式将路由信息注入BGP 270
11.5 重叠协议:后门 270
11.6 BGP属性 272
11.6.1 NEXT_HOP属性 275
11.6.2 AS_PATH属性 276
11.6.3 LOCAL_PREF属性 279
11.6.4 MULTI_EXIT_DISC属性 281
11.6.5 团体属性 283
11.7 BGP-4聚合 285
11.7.1 只通告聚合路由,抑制明细路由 285
11.7.2 通告聚合路由外加明细路由 288
11.7.3 通告带有明细路由子集的聚合路由 292
11.7.4 聚合路由内部的信息丢失 296
11.7.5 改变聚合路由的属性 299
11.7.6 根据明细路由的子集形成聚合路由 301
11.8 展望 302
第12章 配置有效的Internet路由策略 305
12.1 冗余、对称和负载均衡 306
12.1.1 动态学得的默认路由 306
12.1.2 静态设置的默认路由 307
12.1.3 多宿主连接到单提供商 310
12.1.4 只运行默认路由加主备链路 310
12.1.5 多宿主连接到不同提供商 322
12.1.6 同一提供商的客户间设有备份链路 325
12.1.7 不同提供商的客户间设有备份链路 327
12.2 在AS内遵循默认路由 331
12.3 策略路由 346
12.4 路由反射器 349
12.5 联盟 352
12.6 路由控制和缓存失效 357
12.6.1 BGP软重配 358
12.6.2 路由重刷新 361
12.6.3 BGP出站请求过滤能力 363
12.7 路由抑制 363
12.8 展望 367
第5部分 附录 371
附录A BGP命令参考 371
附录B 进阶学习指南 379
B.1 相关组织 379
B.2 研究和教育机构 379
B.3 杂项 379
B.4 书籍 380
B.4.1 TCP/IP相关书籍 380
B.4.2 路由相关书籍 380
B.4.3 RFC 380
附录C BGP出站路由过滤(ORF) 385
C.1 何时使用BGP ORF 386
C.2 配置 386
C.2.1 以发送模式启用BGP ORF能力 387
C.2.2 以接收模式启用BGP ORF能力 387
C.2.3 确保对旧有ORF的向后兼容 387
C.3 EXEC命令 388
C.3.1 推送前缀列表,并从邻居接收路由重刷新 388
C.3.2 显示从邻居接收的前缀列表 388
C.3.3 显示邻居BGP表的改变 388
C.4 结束语 388
附录D 多协议BGP(MBGP) 391
D.1 新型命令行接口的动机 391
D.2 新配置中命令组的组织形式 392
D.2.1 激活对等体 394
D.2.2 network命令 395
D.2.3 对等体组命令 395
D.2.4 路由映射 396
D.3 重分发 397
D.4 路由反射器 398
D.5 路由聚合 399
D.6 BGP命令列表 400
D.7 升级到AF风格 401
D.8 参考资料 402