标题：IP路由协议疑难解析
编辑推荐
随着Internet的飞速发展，网络工程师对网络构建、维护以及解析各种网络组件疑难问题的需求也大大增加。IP路由技术是Internet技术的核心，成功解决IP路由故障是减少网络不可用时间和维持Internet上承载的关键任务可靠性的关键。虽然疑难解析技巧的需求大大增长，但是只有极少的网络专业人员具备快速、高效地定位和解决各种网络问题的能力。本书为那些需要快速获取专业级技巧的网络工程师提供了成功的解决方案。本书也是备考CCIE认证的辅助参考书。
本书由Cisco技术支持中心（TAC）和Internet支持工程组的工程师编写，他们常年负责解决各种IP路由问题。本书提供了一种逐步解决现实世界中各种网络问题的方法。在作者多年经验的基础上，本书全面介绍了各种常用路由协议的关键内容，着重介绍网络工程师在实际网络管理工作中最常见的各种协议的路由疑难问题的解决方法。本书内容涵盖了运行在Cisco IOS的网络设备上的各种路由协议，包括BGP、IGRP、EIGRP、OSPF、IS-IS、组播以及RIP等协议。
理解和解决与BGP、IGRP、EIGRP、OSPF、IS-IS、组播和RIP相关的常见路由问题，例如：路由安装、路由公布、路由重发布、路由汇总、路由抖动以及邻居关系等。
通过系统的、容易理解的流程图和排除故障的逐步深入的命令方式解决复杂的IP路由问题。
通过学习由经验丰富的CiscoTAC团队成员创建的详细案例掌握基本的疑难解析技巧。
学习多种特定协议的调试技巧以加快问题的解决。
洞悉CCIE工程师的思想，备考CCIE的宝典。
内容简介
本书通过逐步介绍一个特定路由失败现象的解决方式，提供了IP路由疑难问题的独特解决方法。全书共分15章，首先给出关于路由的概述，随后重点介绍工程师在解决网络中出现的各种路由协议问题时所应采取的步骤，提供了解决BGP、OSPF、IGRP、EIGRP、IS-IS、RIP和PIM等各种路由协议相关问题的方法和解决方案。
本书提供了关于疑难解析技巧的完整介绍和各种实例，适合各类网络管理员、网络运行工程师，以及想成功通过CCIE认证考试的读者阅读。
作者简介
Faraz Shamim，CCIE#4131，是Cisco公司服务提供商高级网络服务部（ANS-SP）的网络咨询工程师。他为所负责的多个Internet服务提供商提供咨询服务。Faraz在CCO（思科在线连接）（www.cisco.com）上编写了有关ODR、OSPF、RIP、IGRP、EIGRP和BGP等协议的文档、白皮书和技术短文。Faraz还参与Cisco新招聘的工程师的培训工作，负责改进和讲解“Cisco互联网络基础”和“高级Bootcamp培训”等课程。他还为Boulder的科罗拉多大学和巴基斯坦Karachi的Sir Syed工程与技术大学（SSUET）的硕士研究生讲授过“Cisco互联网络Bootcamp”课程。Faraz曾经是SSUET大学的一名访问学者，在巴基斯坦Lahore的Lahore管理与科学大学（LUMS）做过关于OSPF的报告。Faraz曾经参与过CCIE实验室测试的开发工作并指导。CCIE实验室的建设。Faraz还在Networker会议上做OSPF主题方面的演讲。像本书的其他作者一样，他也是从在Cisco技术支持中心为客户提供IP路由协议方面的技术支持开始了他的Cisco工作生涯，现在已经在Cisco公司工作了5年。
目录
第1章　理解IP路由　
1.1　IP编址的概念　
1.1.1　IPv4地址分类　
1.1.2　IPv4私有地址空间　
1.1.3　子网化和可变长子网掩码　
1.1.4　无类域间路由　
1.2　静态和动态路由　
1.3　动态路由　
1.3.1　单播IP路由与多播IP路由　
1.3.2　无类IP路由协议与有类IP路由协议　
1.3.3　内部网关协议和外部网关协议　
1.3.4　距离向量协议和链路状态协议　
1.4　路由协议的管理距离　
1.5　路由器的快速转发　
1.6　小结　
1.7　复习题　
1.8　参考文献　
第2章　理解RIP协议　
2.1　度量　
2.2　计时器　
2.3　水平分割　
2.4　带毒性逆转的水平分割　
2.5　RIP-1分组格式　
2.6　RIP行为　
2.6.1　发送更新的RIP规则　
2.6.2　接收更新的RIP规则　
2.6.3　发送更新举例　
2.6.4　接收更新举例　
2.7　为什么RIP不支持非连续网络　
2.8　为什么RIP不支持可变长子网掩码　
2.9　默认路由和RIP　
2.10　RIP协议扩展　
2.10.1　路由标记　
2.10.2　子网掩码　
2.10.3　下一跳　
2.10.4　多播能力　
2.10.5　认证　
2.11　兼容问题　
2.12　小结　
2.13　复习题　
2.14　深入阅读　
第3章　RIP协议疑难解析　
3.1　解决RIP常见问题的流程图　
3.2　RIP路由安装疑难解析　
3.2.1　问题：RIP路由不在路由表中　
3.2.2　问题：RIP没有安装所有可能的等价路径——原因：命令maximum-path限制RIP安装多条路径　
3.3　RIP路由公布疑难解析　
3.3.1　问题：发送方没有公布RIP路由　
3.3.2　问题：R2的路由表中缺少子网路由——原因：使用了自动汇总功能　
3.4　RIP路由汇总疑难解析　
3.4.1　问题：RIP-2路由表过大——原因：关闭了自动汇总　
3.4.2　问题：RIP-2路由表过大——原因：没有使用ip汇总地址　
3.5　RIP重发布问题疑难解析　
3.6　按需拨号路由问题疑难解析　
3.6.1　问题：RIP广播占用ISDN链接——原因：在关注流量定义中没有拒绝RIP广播　
3.6.2　问题：RIP更新没有通过拨号接口——原因：在dialer map语句中缺少关键字broadcast　
3.7　RIP中路由抖动问题疑难解析　
第4章　理解IGRP协议　
4.1　度量　
4.2　计时器　
4.3　水平分割　
4.4　使用带有抑制逆转的水平分割　
4.5　IGRP分组格式　
4.6　IGRP行为　
4.7　默认路由与IGRP　
4.8　IGRP中的非等价负载平衡　
4.9　小结　
4.10　复习题　
第5章　IGRP协议疑难解析　
5.1　解决IGRP常见问题的流程图　
5.2　IGRP路由安装疑难解析　
5.2.1　问题：IGRP路由不在路由表中　
5.2.2　问题：IGRP没有安装所有可能的等价路径——原因：默认的最大路径把IGRP限制在四条路径内　
5.3　IGRP路由公布疑难解析　
5.3.1　问题：发送方没有公布IGRP路由　
5.3.2　问题：候选的默认路由未被公布——原因：ip default-network命令丢失　
5.4　IGRP路由重发布问题疑难解析　
5.5　IGRP中按需拨号路由问题疑难解析　
5.5.1　问题：IGRP广播使ISDN链路保持不断——原因：关注流量的定义中没有拒绝IGRP广播　
5.5.2　问题：IGRP更新不通过拨号接口——原因：在dailer map语句中丢失了broadcast关键字　
5.6　IGRP路由抖动问题疑难解析　
5.7　变化量问题疑难解析　
第6章　理解EIGRP协议　
6.1　度量　
6.2　EIGRP的邻居关系　
6.3　扩散更新算法　
6.4　DUAL有限状态机　
6.5　EIGRP的可靠传输协议　
6.6　EIGRP分组格式　
6.7　EIGRP行为　
6.8　EIGRP汇总　
6.9　EIGRP查询过程　
6.10　默认路由和EIGRP　
6.11　EIGRP中的非等价负载平衡　
6.12　小结　
6.13　复习题　
第7章　EIGRP协议疑难解析　
7.1　EIGRP邻居关系疑难解析　
7.1.1　查阅EIGRP日志获悉邻居改变　
7.1.2　EIGRP邻居问题——原因：单向链路　
7.1.3　EIGRP邻居问题——原因：非公共子网　
7.1.4　EIGRP邻居问题——原因：不匹配的掩码　
7.1.5　EIGRP邻居问题——原因：不匹配的K值　
7.1.6　EIGRP邻居问题——原因：不匹配的AS号　
7.1.7　EIGRP邻居问题——原因：被粘滞于活动状态　
7.2　EIGRP路由公布疑难解析　
7.2.1　当网络管理员认为EIGRP应该向邻居公布路由时，EIGRP没有这样做　
7.2.2　当网络管理员认为EIGRP不应该向邻居公布路由时，EIGRP公布了　
7.2.3　EIGRP使用了不期望的度量公布路由　
7.3　EIGRP路由安装疑难解析　
7.3.1　EIGRP没有安装路由——原因：自动汇总或者手动汇总　
7.3.2　EIGRP没有安装路由——原因：更高的管理距离　
7.3.3　EIGRP没有安装路由——原因：重复的路由器ID　
7.4　EIGRP路由抖动疑难解析　
7.5　EIGRP路由汇总疑难解析　
7.5.1　EIGRP汇总路由问题——原因：汇总路由的子网在路由表中不存在　
7.5.2　EIGRP汇总路由问题——原因：太多的汇总　
7.6　EIGRP重发布问题疑难解析　
7.7　EIGRP拨号备份问题疑难解析　
7.8　EIGRP错误消息　
7.9　小结　
第8章　理解OSPF协议　
8.1　OSPF分组细节　
8.1.1　Hello分组　
8.1.2　数据库描述分组　
8.1.3　链路状态请求分组　
8.1.4　链路状态更新分组　
8.1.5　链路状态确认分组　
8.2　OSPF LSA细节　
8.2.1　路由器LSA　
8.2.2　网络LSA　
8.2.3　汇总LSA　
8.2.4　外部LSA　
8.3　OSPF区域　
8.3.1　普通区域　
8.3.2　端区域　
8.3.3　完全端区域　
8.3.4　非完全端区域　
8.4　OSPF介质类型　
8.4.1　多点接入介质　
8.4.2　点到点介质　
8.4.3　非广播多点接入介质　
8.4.4　请求线路　
8.4.5　OSPF介质类型汇总　
8.5　OSPF邻接体　
8.5.1　OSPF关闭状态　
8.5.2　OSPF尝试状态　
8.5.3　OSPF初始状态　
8.5.4　OSPF 2-way状态　
8.5.5　OSPF Exstart状态　
8.5.6　OSPF交换状态　
8.5.7　OSPF装入状态　
8.5.8　OSPF Full状态　
8.6　小结　
8.7　复习题　
第9章　OSPF协议疑难解析　
9.1　解决OSPF常见问题的流程图　
9.1.1　OSPF邻居关系疑难解析　
9.1.2　OSPF路由通告疑难解析　
9.1.3　OSPF路由安装疑难解析　
9.1.4　OSPF中路由重发布疑难解析　
9.1.5　OSPF中路由汇总疑难解析　
9.1.6　“CPUHOG”问题疑难解析　
9.1.7　OSPF中按需拨号路由（DDR）问题疑难解析　
9.1.8　SPF计算问题和路由抖动问题疑难解析　
9.2　OSPF邻居关系疑难解析　
9.2.1　问题：OSPF邻居表为空　
9.2.2　问题：OSPF邻居停滞于ATTEMPT状态　
9.2.3　问题：OSPF邻居停滞于INIT状态　
9.2.4　问题：OSPF邻居停滞于2-way状态——原因：在所有路由器上都配置了优先级0　
9.2.5　问题：OSPF邻居停滞于EXSTART/EXCHANGE状态　
9.2.6　问题：OSPF邻居停滞于LOADING状态　
9.3　OSPF路由通告疑难解析　
9.3.1　问题：OSPF邻居不通告路由　
9.3.2　问题：OSPF邻居(ABR)不通告汇总路由　
9.3.3　问题：OSPF邻居不通告外部路由　
9.3.4　问题：OSPF邻居不通告默认路由　
9.4　OSPF路由安装疑难解析　
9.4.1　问题：OSPF不在路由表中安装任何路由　
9.4.2　问题：OSPF不在路由表中安装外部路由　
9.5　OSPF重发布问题疑难解析　
9.6　OSPF中路由汇总疑难解析　
9.6.1　问题：路由器不汇总区域间路由——原因：没有在ABR上配置area range命令　
9.6.2　问题：路由器不汇总外部路由——原因：没有在ASBR上配置summary-address命令　
9.7　CPUHOG问题疑难解析　
9.7.1　问题：CPUHOG消息出现在邻接体关系形成过程中——原因：路由器没有运行分组调速代码　
9.7.2　问题：CPUHOG消息出现在LSA刷新阶段——原因：路由器没有运行LSA组调速代码　
9.8　OSPF中按需拨号路由(DDR)问题疑难解析　
9.8.1　问题：OSPF Hello分组启动链路——原因：OSPF Hello分组被允许作为关注流量　
9.8.2　问题：请求线路持续启动链路　
9.9　SPF计算和路由抖动疑难解析　
9.9.1　SPF经常运行——原因：在网络中存在接口抖动　
9.9.2　SPF经常运行——原因：在网络中存在邻居抖动　
9.9.3　SPF经常运行——原因：路由器ID重复了　
9.9.4　常见OSPF出错消息　
9.9.5　“Unknown routing Protocol”出错消息　
9.9.6　“OSPF：Could not allocate routerid”出错消息　
9.9.7　“%OSPF-4-BADLSATYPE：Invalid Isa：Bad LSA type”类型6出错消息　
9.9.8　 "OSPF-4-ERRRCV”出错消息　
第10章　理解IS-IS协议　
10.1　IS-IS协议概述　
10.2　IS-IS协议的概念　
10.2.1　IS-IS节点、链路和区域　
10.2.2　邻接体　
10.2.3　分层路由　
10.2.4　IS-IS分组　
10.2.5　IS-IS 度量　
10.2.6　IS-IS认证　
10.2.7　ISO CLNP编址　
10.3　IS-IS链路状态数据库　
10.3.1　IS-IS链路状态数据库概述　
10.3.2　泛洪和数据库同步　
10.3.3　最短路径优先(SPF)算法和IS-IS路由计算　
10.4　配置IS-IS实现IP路由　
10.4.1　点到点串行链路上的IS-IS配置　
10.4.2　ATM配置举例　
10.4.3　IP默认路由公布　
10.4.4　路由重发布　
10.4.5　IP路由汇总　
10.5　小结　
10.6　IS-IS分组的附加信息　
10.6.1　IS-IS分组字段　
10.6.2　Hello分组　
10.6.3　链路状态分组　
10.6.4　序列号分组　
10.7　复习题　
第11章　IS-IS协议疑难解析　
11.1　IS-IS邻接体问题疑难解析　
11.1.1　问题1：部分或者所有邻接体没有启动　
11.1.2　问题2：INIT状态的邻接体　
11.1.3　问题3：没有形成IS-IS邻接体，只形成了ES-IS邻接体　
11.2　IS-IS路由更新问题疑难解析　
11.2.1　路由公布问题　
11.2.2　路由重发布和二级到一级的路由泄漏问题　
11.2.3　路由抖动问题　
11.3　IS-IS错误　
11.4　CLNS ping和traceroute　
11.5　案例研究：ISDN配置问题　
11.6　IS-IS疑难解析命令总结　
11.7　小结　
第12章　理解PIM协议　
12.1　IGMP版本1、IGMP版本2和逆向路径转发的基本原理　
12.1.1　IGMP版本1　
12.1.2　IGMP版本2　
12.1.3　多播转发(RPF)　
12.2　PIM密集模式　
12.3　PIM稀疏模式　
12.4　IGMP分组格式和PIM分组格式　
12.4.1　IGMP分组格式　
12.4.2　PIM分组/消息格式　
12.5　小结　
12.6　复习题　
第13章　PIM协议疑难解析　
13.1　IGMP加入问题疑难解析　
13.2　PIM密集模式疑难解析　
13.3　PIM稀疏模式疑难解析　
13.4　小结　
第14章　理解BGP-4协议　
14.1　BGP-4协议规范和功能　
14.2　邻居关系　
14.2.1　EBGP邻居关系　
14.2.2　IBGP邻居关系　
14.3　公布路由　
14.4　接收路由　
14.5　策略控制　
14.5.1　使用BGP属性进行策略控制　
14.5.2　路由映射图在策略控制中的使用　
14.5.3　使用过滤表、分发列表、前缀列表、团体以及出站路由过滤(ORF)进行策略控制　
14.5.4　路由衰减　
14.6　缩放大规模网络中的IBGP ——路由反射器和联盟　
14.6.1　路由反射　
14.6.2　AS联盟　
14.7　最优路径计算　
14.8　小结　
14.9　复习题　
第15章　BGP协议疑难解析　
15.1　解决BGP常见问题的流程图　
15.2　用于解决BGP相关问题的show命令和debug命令　
15.3　BGP邻居关系疑难解析　
15.3.1　问题：没有初始化的直接连接的EBGP邻居　
15.3.2　问题：非直接连接的EBGP邻居关系不能建立　
15.3.3　问题：IBGP邻居关系不能建立　
15.3.4　问题：BGP邻居(外部的和内部的)不能建立——原因：接口访问列表阻塞了BGP分组　
15.4　BGP路由公布/产生以及接收疑难解析　
15.4.1　问题：BGP路由没有被产生　
15.4.2　向IBGP/EBGP邻居传播/产生BGP路由时的问题——原因：错误配置了过滤器　
15.4.3　只向IBGP邻居而不向EBGP邻居传播BGP路由时的问题——原因：BGP路由来自另一个IBGP发言人　
15.4.4　向IBGP/EBGP邻居传播IBGP路由时的问题——原因：IBGP路由没有同步　
15.5　BGP路由未被装入路由表疑难解析　
15.5.1　问题：IBGP学习的路由没有被装入IP路由表　
15.5.2　问题：EBGP学习的路由未被装入IP路由表　
15.6　BGP路由反射问题疑难解析　
15.6.1　问题：配置错误——原因：把IBGP邻居配置为路由反射器客户失败　
15.6.2　问题：路由反射器客户存储了一个多余的BGP更新——原因：客户到客户的反射　
15.6.3　问题：路由反射器和客户的收敛时间变长——原因：使用了对等体组　
15.6.4　问题：路由反射器和路由反射器客户之间的冗余丢失——原因：RR中的簇列表检查丢掉了来自其他RR的冗余路由　
15.7　BGP策略引起的出口IP流量问题疑难解析　
15.7.1　问题：存在多个出口点，但是流量只使用一个或者几个出口路由器——原因：BGP策略定义导致流量只从一个地方出去　
15.7.2　问题：流量通过的接口与路由表显示的不同——原因：路由的下一跳可以通过另一个路径到达　
15.7.3　问题：存在通往同一BGP邻居AS的多重BGP连接，而流量却只使用一个连接流出——原因：BGP邻居通过发送MED或者预先附加AS_PATH来影响出口流量　
15.7.4　问题：出现不对称路由并导致一些问题，尤其在使用NAT和对时间敏感的应用时——原因：发出公布并接收公布　
15.8　小型BGP网络中负载平衡问题疑难解析　
15.8.1　问题：当单个路由器对于同一ISP是双宿主时的负载平衡和出口流量管理——原因：BGP在路由表中只安装了一个最优路径　
15.8.2　问题：IBGP网络中的负载平衡和出口流量管理——原因：默认情况下，即使存在多条等价的BGP路径，Cisco IOS的IBGP也只允许安装一条路径到路由表中　
15.9　BGP策略引起的入口IP流量问题疑难解析　
15.9.1　问题：虽然存在通往某个AS的多个连接，但是，同一个AS中的所有流量都通过一个BGP邻居X进入——原因：BGP邻居X有一个BGP策略配置，使它自己优先于其他的对等体而被选择，或者网络被公布为只吸引来自X的流量　
15.9.2　问题：AS 110中的BGP邻居本来有多个连接，但是，一些来自Internet的流量总是通过AS 110进入100.100.100.0/24——原因：AS 109中100.100.100.0/24的路由公布吸引了通过AS 110的BGP邻居的Internet流量　
15.10　BGP最优路径计算问题疑难解析　
15.10.1　问题：具有最低RID的路径没有被选为最佳路径　
15.10.2　问题：具有最低MED的路径没有被选择为最优路径　
15.11　BGP过滤疑难解析　
15.11.1　问题：标准访问列表捕获子网失败　
15.11.2　问题：扩展访问列表捕获正确的掩码路由失败　
15.11.3　问题：用正规表达式进行AS_PATH过滤　
15.12　总结　
附录　复习题答案