网络路由是网络通信的重要组成部分,通过互联网将信息从源地址移动到目的地的过程。路由发生在 OSI 模型的第 3 层(网络层)。实际网络中通常会将静态和动态路由结合使用。静态路由适用于小型网络,而动态路由适用于大型网络。
什么是路由协议?
路由协议是在路由器之间交换路由信息以做出路由决策的机制。路由协议可以促进计算机网络之间有效且高效的通信。无论网络规模如何,这些协议都有助于将数据安全地传送到目的地。
根据它们的属性,路由协议可以分为不同的类别:
行为:有类或无类协议。
用途:内部网关协议 (IGP) 或外部网关协议 (EGP)。
操作:路径矢量协议、距离矢量协议和链路状态协议。
| 路由协议的类型
路由协议指定路由器如何交换信息,使它们能够在网络节点之间选择路由。路由器引导 Internet 流量,以便数据包通过 Internet 网络从一个路由器发送到另一个路由器,直到它们到达目的地机器。管理路由的算法决定了所选择的精确路由。每个路由器只知道与其物理连接的网络。路由协议最初将此信息分发给它的近邻,然后分发给网络的其余部分。因此,路由器会获得有关网络拓扑的信息。路由协议使网络能够动态适应不断变化的条件,没有它,所有路由决策都必须提前静态做出。得益于路由协议动态适应不断变化的条件的能力,互联网提供了容错和高可用性。
路由协议使路由器能够动态共享外部网络信息并将其添加到它们的路由表中,并通过路由表的信息转发数据包。路由器可以通过两种方式发现到远程网络的路由:静态路由和动态路由。
在由多个网络和子网组成的大型网络中,设计和维护这些网络之间的静态路由需要大量的管理和操作开销。当网络发生变化时,这种操作负担尤其沉重。动态路由协议可以减轻配置和维护的负担,并为网络提供可扩展性。
动态路由协议的基本优点是,只要网络拓扑发生变化,路由器就会共享路由信息。这种交换使路由器能够在网络链路丢失时自动发现新网络并找到备用路由。动态路由协议比静态路由需要更少的管理工作。不过动态路由协议需要占用路由器的一部分资源,包括 CPU 时间和网络链路带宽,用于协议执行。因此在静态路由和动态路由在不同的情况下各有优势。
本文介绍了七种动态路由协议。
图片
路由信息协议(RIP)
路由信息系统 (RIP,Routing Information System) 在RFC 1058中首次定义,是 IPv4 的第一代路由协议。RIP 是一种使用度量跳数的距离矢量路由协议。RIP 配置简单,是小型网络的绝佳选择。
RIPv1 具有以下特性:
跳数被用作路径选择度量。
每 30 秒发送一次路由更新 (255.255.255.255)。
超过 15 跳就会被认为是无限的(太远了)。此第 15 跳路由器不会将路由更新发送到后续路由器。
1993 年,RIPv1 演化为 RIPv2,即无类路由协议。RIPv2 增加了:
安全性:它包括一种身份验证机制,用于保护邻居之间的路由表更新通信。
无类路由协议支持:它支持 VLSM 和 CIDR,因为路由更新包括子网掩码。
提高效率:它将更新转发到组播地址 224.0.0.9,而不是广播地址 255.255.255.255。
减少路由条目:支持在任意接口上手工路由聚合。
RIP 更新包含在 UDP 段中,源端口和目标端口都设置为 UDP 端口 520。
支持 IPv6 的 RIP 版本于 1997 年推出。RIPng 是 RIPv2 的扩展,限制为 15 跳,管理距离为 120。这种跳数限制使 RIP 不适用于较大的网络。
图片
开放最短路径优先(OSPF)
开放最短路径优先 (OSPF,Open Shortest Path First) 是最流行的链路状态路由协议。OSPF是Internet工程任务组(IETF)的工作组设计的,最早的开发始于 1987 年,目前有两个活跃版本:
OSPFv2:用于 IPv4 网络(RFC 1247 和 RFC 2328)
OSPFv3:用于IPv6 网络 (RFC 2740),由于地址族功能,OSPFv3 现在同时支持 IPv4 和 IPv6。
OSPF 是一种链路状态路由算法,主要应用于大中型网络。OSPF 是一种域内路由协议,只在特定的路由域内运行。OSPF 也是一种分层路由协议,可用于单个自治系统。OSPF 是在OSI参考模型的IS-IS(intermediate-system-to-system)路由协议上发展起来的。OSPF 支持多路径路由,并使用一个或多个路由指标,包括可靠性、带宽、延迟、负载和最大传输单元 (MTU),它还允许服务类型 (TOS) 请求来区分流量。
OSPF使用最短路径优先 (SPF,shortest path first) 算法来确保高效的数据传输,数据通常来自各个路由器传输的链路状态通告。当拓扑发生变化时,OSPF 利用 Dijkstra 算法重新计算路径。它还采用身份验证程序在整个网络修改和入侵过程中维护其数据的安全性。由于其可扩展性,OSPF 对于小型和大型网络企业来说都适用。
图片
内部网关路由协议(IGRP)
1984 年,Cisco 创建了内部网关路由协议 (IGRP,Interior Gateway Routing Protocol) 来解决大型网络中 RIP 的问题。IGRP 是一种距离矢量协议,它使用多种路由指标(不仅仅是跳数)来计算目的地的距离。Hold-downs、split horizons 和 poison-reverse updates 是旨在提高网络稳定性的 IGRP 功能。只有在当前环境仅由 IGRP 组成并且不希望添加其他路由协议的情况下,才应使用 IGRP。
IGRP 协议提供:
用一组数据管理多种“服务类型”的能力;
防止路由环路;
即使在极其庞大或复杂的网络中也能保持路由稳定性;
低开销,IGRP消耗的带宽不超过其自身运行所需宽;
对不同网络结构的快速反应;
当需求相等时,沿平行路线拆分流量;
考虑不同路径上的错误率和流量水平。
IGRP 是一种距离矢量协议,其中路由器(通常称为网关)仅与相邻路由器交换路由信息。IGRP 在指标方面优于 RIP。它利用了 RIP 的许多基本功能,并将支持的最大跳数增加到 100。因此,它在大型网络上运行得更好。IGRP 还有助于防止路由环路。新的 IGRP 包括以下内容:
带宽最小的路径段的带宽。以比特每秒为单位的传输速率。
拓扑延迟时间。在网络不拥挤的情况下,数据包到达目的地所需的时间。如果网络上有网络流量,可能会遇到额外的延迟。
路由的可靠性。根据实际到达目的地的报文数与总传输报文数的比值,反映路径的可靠性。
通道的路径占用。显示当前使用的带宽百分比。这个值会随着网络流量的波动而频繁波动。
IGRP 使用复杂的算法评估这些参数并确定最佳路由。
Hold-downs:用于防止定期更新消息重新建立以前可能无效的路由。当网络链路发生故障时,周围的路由器将检测到没有定期更新,并确定该链路不再运行。网络随后将开始传播消息,通知用户该路由器未运行。如果这种收敛时间过长,则网络中的另一台路由器可能会指示该路由器仍在正常运行。
Split horizons:用于防止两台路由器之间出现路由环路。
Poison-reverse updates:用于减少多个路由器之间的环路。
使用定时器和包含时间间隔的变量是 IGRP 稳定性的另一个特点:
更新定时器(Update Timer):更新定时器指定传输更新消息的频率。IGRP 默认更新周期为 90 秒。
无效定时器(Invalid Timer):无效定时器指定路由器在未收到路由更新消息的情况下在宣布路由无效之前将等待多长时间。IGRP 无效计时器的默认值是更新定时器的3倍。
保持时间段(Hold-time Period):保持时间段(也称为hold-down Period)表示保持时间的长短。IGRP 的默认保持时间是更新间隔的3倍加上10秒。
刷新定时器(Flush Timer):刷新定时器指定从路由数据库中删除路由之前必须经过的时间量。IGRP 刷新定时器的默认值是更新间隔的7倍。
休眠定时器(Sleep Timer):休眠定时器指定更新消息将被延迟多长时间。休眠值应小于更新定时器;否则,路由表永远不会同步。
图片
增强型内部网关路由协议 (EIGRP)
增强型内部网关路由协议(EIGRP,Enhanced Interior Gateway Routing Protocol)是一种用于 IP、AppleTalk 和 NetWare 网络的距离矢量路由协议。EIGRP是Cisco在1992年开发的一项专有协议,以接替早期的IGRP协议。与 RIPv2 类似,EIGRP 添加了对 VLSM 和 CIDR 的支持。EIGRP 提高了工作效率、减少了路由更改,并促进了安全的消息交换。
EIGRP 具有以下特点:
快速收敛:在大多数情况下,它是最快收敛的 IGP,它允许瞬时收敛。如果主路由失败,路由器可能会使用备用路由。切换到备用路由的过程是即时的,不需要与其他路由器交互。
有界触发更新:这种类型的更新不会传输频繁的更新。每当发生更改时,只会传播对路由表的更新。这减少了路由协议带来的网络负载。绑定触发的更新允许 EIGRP 只向需要更新的邻居发送更新。它使用更少的带宽,尤其是在具有多条路由的大型网络中。
拓扑表的管理:在拓扑表中维护从邻居接收到的所有路由,而不仅仅是最优路由。DUAL 可以将备份路由注入 EIGRP 拓扑表。
Hello keepalive 机制:通过定期交换一个简短的 Hello 报文来维持路由器之间的邻接关系。这样可以在常规操作期间将网络资源的利用率降至最低,而不需要频繁更新。
多网络层协议支持:EIGRP 是唯一一个支持除 IPv4 和 IPv6 以外的协议,包括传统 IPX 和 AppleTalk,因为它采用了协议相关模块 (PDM)。
EIGRP 具有多种特性,如可靠传输协议(RTP)、扩散更新算法(DUAL)等,使其成为一种有效、智能且强大的路由协议。为了加速收敛过程,需要调整路由,提高数据包传输的效率。EIGRP 的缺点是它是思科专有的协议,不具备通用性,如果你的网络中有来自多个供应商的路由器,则只有思科路由器能够通过 EIGRP 进行交互,非思科路由器将无法使用EIGRP。
图片
外部网关协议(EGP)
外部网关协议 (EGP,Exterior Gateway Protocol ) 是20世纪80年代中期至90年代中期用于连接互联网上自治系统的路由协议,后来被边界网关协议(BGP)取代。EGP 由 Bolt、Beranek 和 Newman 在 1980 年代初期创建。它首先在 RFC 827 中提到,并在 RFC 904 中正式说明。RFC 1772 概述了 EGP 到 BGP 的迁移路径。EGP 仅跟踪当前可通过给定路由器访问的网络。
EGP 协议的路由表包括:
附近设备的网络地址;
确定路由器。
目前EGP 协议已经不太受欢迎了,因为它不能在多路径网络情况下运行。EGP协议的功能是维护相邻网络的数据库和可能到达它们的路由路径。这些路由细节被传送到连接的路由器。一旦到来,设备可以更新它们的路由表,并根据更准确的信息选择网络路径。
边界网关协议(BGP)
边界网关协议(BGP,Border Gateway Protocol)是为替代 EGP 而创建的外部网关协议。BGP采用最优路径选择技术进行数据包传输,是一种距离矢量协议。为了自动找到最佳路由,BGP 参考以下变量:
相邻的 IP 地址
路由器名称
BGP 最佳路径选择算法用于确定数据包传输的最佳路径。在没有配置特殊参数的情况下,BGP 将选择到目的地的路径最短的路由。
图片
通过BGP 管理员可以根据自己的要求修改传输路由,并提供广泛的安全措施,确保只有授权的路由器才能交换数据和信息。通过修改BGP开销团体属性,可以修改选择最优路由路径的算法。BGP 能够根据权重、本地优先级、本地生成、AS 路径长度、来源类型、多出口标识符、eBGP over iBGP、IGP 度量、路由器 ID、集群列表和邻居 IP 地址等因素做出路由决策。
BGP只在路由表发生变化时传输更新后的路由表数据,因此不会自动发现拓扑变化,用户必须手动建立BGP。在安全性方面,可以对BGP协议进行验证,只有经过授权的路由器才能进行数据交换。
相比于OSPF,BGP具有更大的灵活性和控制力。BGP 进程包括应广播哪些路由以及设备将接受哪些警报。它为路线选择提供了额外的选项,灵活性更强。
中间系统到中间系统(IS-IS)
中间系统到中间系统(IS-IS,Intermediate System-to-Intermediate System)路由协议最初是ISO(the International Organization for Standardization,国际标准化组织)为CLNP(Connection Less Network Protocol,无连接网络协议)设计的一种动态路由协议,记录在 ISO 10589 中,原始版本称为 DECnet Phase V,由数字设备公司 (DEC) 创建。Radia Perlman 是 IS-IS 路由协议的主要设计者。
IS-IS 最初是为 OSI 协议套件而不是 TCP/IP 构建的。后来,Integrated IS-IS/Dual IS-IS 增加了 IP 网络能力。IS-IS 以前被称为 ISP 和运营商主要使用的路由协议,后来企业网络越来越多地采用它。
IS-IS 协议采用了一种改进的Dijkstra算法。通常,该协议将路由器组合在一起以构建更大的域并连接路由器以进行数据传输。IS-IS 经常使用这两种网络类型:
网络服务访问点 (NSAP,Network Service Access Point):与 IP 地址类似,NSAP采用OSI系统中的服务访问点。
网络实体名称 (NET,Network Entity Title):有助于在较大的计算机网络中识别特定的网络路由器。
图片
有关路由协议的其他问题
VPN 是一种路由协议吗?
不。VPN是Virtual Private Network(虚拟专用网络)的缩写,它使用户能够通过 Internet 安全、私密地连接到专用网络。VPN创建了一个被称为 VPN 隧道的加密连接,所有 Internet 流量和对话都通过该隧道进行路由。部分VPN协议如下:
IPsec
OpenVPN
WireGuard
VPN 会改善路由吗?
不会。在路由器上部署VPN会带来新的网络管理任务,例如内存密集型和CPU密集型操作的流量加密/解密。此外,路由器还需要定期连接到某个VPN服务器,这需要一定的处理能力。
NGFW 是否支持路由协议
是的,下一代防火墙 ( NGFW ) 解决方案支持 IPv4 和 IPv6 路由协议。例如,带有Zenarmor下一代防火墙插件的 OPNsense 提供动态路由协议,如 RIP v1 和 v2、OSPFv2 和 v3 以及 BGPv4。为了使用其中的一种或多种动态路由协议,OPNsense 防火墙管理员必须安装os-frrFRRouting Protocol Suite 插件。
1. 静态
路由
和有类别查找
当
路由
选择表进程检查一条使用中间地址(
路由
选择表中作为下一跳引用的IP地址)的可解析的静态
路由
时,这个检查总是在有类别方式下完成的,无论是否使用ip classless命令如果在
路由
选择表中有类别方式下的中间地址不能解析,则删除该静态
路由
。
使用show ip route查看
路由
选择表。
使用debug 可以显示某个
网络
宕掉了。
如果使用无类别方式并有一条默认
路由
存在,那么具有高管理距离的备份表态
路由
将永远不会在主静态
路由
失效时装入到
路由
选择表中。这是因为任何静态
路由
,即便是指向不存在的中间地址的静态
路由
,都会使用默认
路由
进行解析。
CISCO
路由
选择表进程每60S调用一个检查
路由
选择表的静态
路由
功能来根据动态变化的
路由
选择表安装或删除静态
路由
。
2.静态
路由
和中间地址
静态
路由
可以使用中间
网络
地址或出接口来创建。大多数情况下,使用出接口在
路由
选择表进程中解析静态
路由
更加有效。
只要中间IP地址可以在
路由
选择表中解析,它不必是真实的下一跳
路由器
的接口。静态
网络
路由
(如中间地址)必须最终被解析为
路由
选择表中一条具有出接口的
路由
。
每当
路由
选择表进程需要为x.x.x.0/24
网络
使用静态
路由
表项时,它还需要解析中间地址y.y.y.y,称为递归查找。一次额外的
路由
查找或许对
路由
选择进程的性能没有多少影响。但是,采取多次递归查找来获得解析的静态
路由
可能会影响性能。
3.静态
路由
优化
为避免递归查找: 串行
网络
:使用出接口
以太
网络
:同时使用中间地址和出接口
4.反复的静态
路由
安装和删除
尽可能地使用出接口而不是中间地址来配置静态
路由
。
5.使用丢弃
路由
有时
网络
中有环路的产生。通过周期性的查看
路由器
接口上的计数器可以看到
路由
选择环路的结果。
clear counters serial0/0
show interface serial0/0
路由
环路的问题在
网络
中产生了一个黑洞。一旦IP头中的生存期(TTL)减到0就丢弃分组。
解决1:有类别模式的
路由
选择(no ip classless)——在用户
网络
路由器
上使用no ip classless.
路由器
在至少一个已知子网存在时不会使用任何超网或默认
路由
。但不是首选。因为它改变了所有分组的
路由
选择表查找行为。
解决2:使用一条丢弃
路由
——当
路由
选择表中没有特定的匹配,而且使用一条超网或默认
路由
来转发那些分组并不合适时,一条丢弃
路由
把分组送给了null0,即比特桶。
ip route x.x.0.0 255.255.0.0 null0
ip route x.x.0.0 255.255.0.0 null0 200
后一个命令行配置仅在主
路由
失效时使用的另一条丢弃
路由
。通过将静态
路由
的默认管理距离改为比所使用的动态
路由
选择
协议
的管理距离更高的一个值来实现。
二 排除RIP故障
1.不兼容的版本类型
debug ip rip
show ip protocols 对检查接口上发送和接收的RIP分组版本十分有用。
如果R1不支持V2的版本,只能接收RIPv1分组,那么R2配置成RIPv1和RIPv2.
可在接口级指定发送和接收RIP分组的特定版本
interface e0
ip rip send version 1 2
ip rip receive version 1 2
2.不匹配的认证密钥
RIPv2的一个选项是可以认证的RIPv2更新,为了增强安全性,当使用认证时,必须在双方配置口令。这个口令被称为认证密钥。如果这一密钥与另一方的密钥不匹配,双方都将忽略RIPv2更新。
在接口上配置ip rip authentication key-chain cisco
用debug ip rip调试。
3.达到RIP的路数限制
RIP度量标准的最大值是15跳。
无法克服这个问题。可以使用非15跳限制的
路由
选择
协议
。IGRP最大跳数是255,EIGRP最大跳数是224,二者默认都是100.
4.不连续
网络
当主
网络
被另一个主
网络
分隔开时,被称为不连续
网络
。
解决1:使用静态
路由
解决2:在
路由器
之间的链路地址改为左右不连续
网络
中的一部分。
解决3:在两台
路由器
上用no auto-summary配置启用RIPv2的无类别
路由
选择版本。
router rip
version 2
network x.x.x.0
no auto-summary
解决4:使用无类别
路由
选择
协议
。如OSPF,EIGRP,IS-IS替代RIPv1
路由
选择
协议
。
5.不合法的源地址
当RIP告诉
路由
选择表安装
路由
时,它执行源合法性检查。如果源所在子网与本地接口不同,RIP则忽略更新并且不在
路由
选择表中安装从这个源来的
路由
。
当一方是有编号而另一方是无编号时,必须关闭这个检查。
router rip
no validate-update-source
6.翻动(flapping)
路由
路由
翻动是指
路由
选择表中一条
路由
的不断删除和再插入。为了检查
路由
是否真的翻动,检查
路由
选择表并查看
路由
的寿命(age)。如果寿命被不断的重置为00:00:00,这就意味这
路由
正在翻动。
RIP有180S没有收到一条
路由
,那么该
路由
将保持240S,然后被清除。
使用show interface来检查接口统计值。
最
常见
帧中继环境分组丢失。
使用show ip route rip可以检查RIP多久没有更新。
使用show interface serial 0可查看到接口上有大量的广播分组是否被丢弃。帧中继情况下,可能需要调整帧中继广播队列。在非帧中继的环境中,可能需要增加输入或输出保留队列。
7.大型
路由
选择表
接口上使用ip summary-address汇总
路由
。
三 排除EIGRP故障
1.不匹配的K值
EIGRP为了建立它的邻居关系,计算EIGRP度量标准的K常数值必须相同。
K1-带宽 K2-负载 K3-延迟 K4,K5-可靠性
router eigrp 1
network x.x.x.x
metric weights 0 1 1 1 1 0
2.不匹配的AS编号
EIGRP不会与具有不同自治系统编号的
路由器
形成任何邻居关系。
3.活动粘滞
(1)确定问题
可能的原因有:
。 坏的或拥塞的链路;
。 低的
路由器
资源,如
路由器
上的低内存和高CPU处理。
。 长的查询范围
。 过多的冗余
默认活动粘滞定时器只有180S.
使用show ip eigrp topology active 命令帮助故障排除EIGRP活动粘滞错误,仅在问题发生时有用,用户一次只有180S的时间来确定。邻居有一个r跟在后面表示它没有应答查询。
(2)故障排除方法
追踪查询,一跳接一跳,在每一跳找出活动
路由
的状态。
(3)最终解决方案
尽可能手工汇总
路由
并有一个分层次的
网络
设计。EIGRP汇总的
网络
越多,主收敛发生时需要做的事情越少。
4.重复的
路由
ID
EIGRP只是为了外部
路由
而使用
路由器
ID的概念来防止环路。EIGRP基于
路由器
上回环接口的最大IP地址来选择
路由器
ID.如果
路由器
没有回环接口,则选择所有接口中最大的激活IP地址作为EIGRP的
路由器
ID.
debug ip eigrp可以看到接口上通告某个
网络
。
经验法则:永远不要在
网络
的两个地方配置相同的IP地址。
四 排除OSPF故障
1.不匹配的参数
使用debug ip ospf adj命令能够看到大多数的不匹配问题。
(1)hello/dead间隔不匹配——匹配才可以形成邻居。
(2)不匹配的认证类型——OSPF下有MD5和纯文本认证。
router ospf 1
area 0 authentication message-digest
network x.x.0.0 0.0.255.255 area 0
(3)不匹配的区域ID——区域信息在OSPF的HELLO分组中发送。不同,不会形成邻接。
(4)不匹配的短截/传输/NSSA区域选项——当OSPF与一个邻居交换HELLO分组时,它所交换的一项内容是由8比特表示的可选能力。选项字段之一是E比特,即OSPF短截标志。当E比特置0时,该
路由
关联的区域是一个短截区域,外部LSA不允许进入这个区域。
2.OSPF状态问题
成为邻居的
路由器
不保证交换链路状态更新。一旦
路由器
决定与一个邻居形成邻接,它就开始交换其链路状态数据库的一份完整拷贝。
(1)OSPF陷入ATTEMPT——仅对neighbor语句的NBMA
网络
有效。陷入ATTEMPT是指一台
路由器
试图通过发送它的HELLO来联系邻居但是它没有收到响应。
show ip ospf neighbor查看。
原因:错误配置neighbor;NBMA上的单播连通性断了,这可能是由错误的DLCI,访问列表或转换单播的NAT引起的。
(2)OSPF陷入INIT——INIT状态表示
路由器
收到来自邻居的HELLO分组,但是双向通信并没有建立 .
。 一方访问列表阻止了HELLO;
。 一方的多播能力失效(一个交换机故障);
。 仅在一方启用了认证;
。 一方的frame-relay map/dialer map语句缺少了broadcast关键字。
。 一方的HELLO在第2层丢失了。
(3)OSPF陷入2-WAY——双向状态是指
路由器
在HELLO分组的邻居字段中见到了自己的
路由器
ID.类似于所有
路由器
的优先级都为0,则不会发生选举,所有
路由器
停留在双向状态中。
解决:确保至少一台
路由器
具有一个至少为1的IP OSPF优先级。
(4)OSPF陷入EXSTART/EXCHANGE——在EXSTART或EXCHANGE状态的OSPF邻居正处于尝试交换DBD(数据库描述)分组的过程中。
。 不匹配的接口MTU
。 邻居上重复的
路由器
ID
。 无法用超过特定MTU 长度进行PING
。 断掉的单播连通性,它可能是因为错误的DLCI,访问列表或转换单播的NAT
(5)OSPF陷入LOADING——邻居没有应答或邻居的应答从未到达本地
路由器
,
路由器
也会陷入LOADING状态。常有"%OSPF-4-BADLSA"控制台信息。
。 不匹配的MTU
。 错误的链路状态请求分组
3.点到点链路的一方是无编号的
interface s0
ip unnumbered loopback0
解决:双方都需要成为一个有编号点到点链路或一个无编号点到点链路。
4.ABR没有产生一个类型4的汇总LSA
类型4的汇总LSA的一个功能是宣告到其他区域的ASBR的可达性。如果同一个区域中存在ASBR则不需要类型4的LSA.
show ip ospf database external 命令的输出显示在
路由器
的外部OSPF数据库中是否存在
路由
。
show ip ospf database asbr-summary 命令的输出显示
路由
是否有类型4的LSA.
检查R是否真是ABR.如果是,则产生类型3或类型4的汇总LSA.show ip ospf
5.转发地址不能通过区域内或区域间
路由
获知
当OSPF获得一条外部LSA时,它在将该
路由
装入
路由
选择表之前要确定转发地址可通过一条OSPF区域内或区域间
路由
获知。如果转发地址不能通过区域内或区域间
路由
获知,OSPF不会将
路由
装入
路由
选择表中。
有可能的解决:
。 不在ABR上进行汇总
。 在ASBR上过滤再分布入OSPF中的直接子网
router ospf 1
redistribute rip subnets
6.
路由
汇总问题
两
种
类型汇总:
。 可执行在ABR上的区域间
路由
汇总
。 可执行在ASBR上的外部
路由
汇总
(1)区域间汇总
router ospf 1
area 3 range x.x.x.0 255.255.255.0
通过show ip ospf可以查看
(2)外部汇总
router ospf 1
summary-address x.0.0.0 255.0.0.0
7.CPUHOG问题
产生在:。 邻居形成过程
。 LSA刷新过程
8.SPF计算和
路由
翻动
只要拓扑有变化,OSPF就运行SPF算法再次计算最短路径优先树。,可能引起链路的不稳定。
原因:。 区域内的接口翻动
。 区域内的邻居接口翻动
。 重复的
路由器
ID
使用show ip ospf命令可查看在一个给定区域中SPF算法运行的次数;
使用debug ip ospf monitor来隔离一个翻动的LSA;
使用show log命令显示由接口引起的翻动。
。 修复正在翻动的链路
。 重新定义区域边界
五 排除IS-IS故障
1.IS-IS邻接问题
通常由链路故障和配置错误引起。
show clns neighbors 显示所有希望与被调查的
路由器
成为邻接的邻居
debug isis adj-packets 命令来调试
2.部分或所有邻接没有形成
步骤1——检查链路故障。show ip interface brief
步骤2——检查配置错误。show run
步骤3——检查不匹配的1级和2级接口。
步骤4——检查区域的错误配置。
步骤5——检查错误配置的子网
步骤6——检查重复的系统ID
3.邻接陷入INIT状态
常见
原因:不匹配的接口MTU和认证参数。show clns neighbors可看到
步骤1——检查认证 debug isis adj-packets
步骤2——检查不匹配的MTU debug isis adj-packets
步骤3——检查IS-IS的HELLO填充禁止 (命令同上)
使用show clns interface查看接口上的HELLO填充状态
4.ES-IS邻接形成代替了IS-IS邻接形成
在IP环境中运行IS-IS的CISCO
路由器
仍然监听ES-IS
协议
所产生的ISH.当物理层和数据链路层工作时,即使没有建立IS-IS邻接的适当条件,仍能形成ES-IS邻接。
show clns neighbors
5.
路由
通告问题
大多数
路由
通告问题都可被限制为源端的配置问题或链路状态分组(LSP)的传播问题。
Dijkstra算法运行在LS数据库上来获得每个被通告
路由
的最佳路径。
debug isis update-packets
debug isis snp-packets
以上两个调试帮助故障排除LSP洪泛问题和链路状态数据库同步。
路由
没有到达
网络
远端的问题可能有许多潜在原因,包括邻接问题,第1/2层问题,IS-IS错误配置以及其他问题。
6.
路由
翻动问题
网络
中SPF进程的高CPU利用率(SHOW PROCESS CPU命令)也应标记为不稳定。
不稳定链路。
翻动还有可能是由LSP的错误风暴或一个
路由
选择环路引起。
show isis spf-log命令显示哪个LSP变化最频繁以及哪个LSP角发了SPF计算。
show isis update-packets
六 排除BGP故障
1.故障排除BGP邻居关系问题
遵循:首先,应检查第1/2层,然后是IP连通性(第3层),TCP连接(第4层),最后是BGP配置。
(1)直接的外部BGP邻居没有初始化
自治系统(AS)不会向AS发送或从AS接收任何IP前缀更新,除非邻居关系达到established状态,该状态是BGP邻居建立的最后阶段。当AS有一条单一的EBGP连接时,直到BGP完成了它的收发IP前缀操作后IP连通性
才能发生。
原因:。 第2层宕掉了,阻止了与直接的EBGP邻居通信
。 在BGP配置中有错误的邻居IP地址
命令:show ip bgp summary和 show ip bgp neighbors检查BGP邻居关系
active状态表示邻居间没有发生成功的通信,并且邻居未形成。用PING测试其连通性,失败则表示要修复第1/2层问题。
debug ip bgp能够帮助诊断问题
(2)非直接的外部BGP邻居没有初始化
有些情况下,EBGP邻居不是直连的。BGP邻居关系能够建立在试图形成由一台或多台
路由器
分隔开的EBGP邻居关系的
路由器
之间。这
种
邻居在IOS中被称为EBGP多跳。
当
路由器
之间存在多个接口并且需要在那些接口之间IP流量负载均衡时,通常在回环接口之间建立EBGP对等实体。
可能的原因:
。 到非直连对等实体地址的
路由
从
路由
选择表中丢失了
。 BGP配置中缺少ebgp-multihop命令
。 缺少update-source interface命令
命令:show ip bgp summary 和show bgp neighbors
router bgp 109
neighbor x.x.x.x remote-as 110
neighbor x.x.x.x ebgp-multihop 2
neighbor x.x.x.x update-source loopback0
(3)内部BGP邻居没有初始化
。 到非直接IBGP邻居的
路由
丢失了
。 BGP配置中缺少update-source interface命令
(4)BGP邻居(外部和内部)没有初始化
接口访问列表/过滤是BGP邻居活动问题的一个
常见
原因。
2.故障排除BGP
路由
通告
发生在BGP
路由
通告的产生和接收中。
(1)没有产生BGP
路由
。 IP
路由
选择表中没有匹配的
路由
。 发生了配置错误
。 BGP自动汇总到有类别/
网络
边界
(2)向IBGP/EBGP邻居传播/产生一条BGP
路由
的问题
配置的分布列表过滤可能是该问题的起因,或者是策略
路由
选择有问题。
(3)向EBGP邻居但没有向IBGP邻居传播一条BGP
路由
的问题
show run
show ip bgp
show ip bgp summary
。 使用IBGP全互联
。 设计一个
路由
反射器模型。
router bgp 109
neighbor x.x.x.x route-reflector-client
。 设计一个聪明模型
(4)向IBGP/EBGP邻接传播一条IBGP
路由
的问题
一条BGP
路由
只有首先通过IGP或静态
路由
获得后才是同步的。
show ip bgp命令的输出显示了BGP表中的不同步
路由
。
3.排除
路由
没有装入IP
路由
选择表中的故障
(1)IBGP原因
。 IBGP
路由
不同步
。 BGP下一跳不可达
(2)EBGP原因
。 在多跳EBGP情况下BGP下一跳不可达
。 BGP
路由
被抑制
。 多出口鉴别器(MED)值为无穷
4.BGP下一跳不可达
。 使用静态
路由
或再分布经由IGP宣告EBGP下一跳
router ospf 1
network x.x.x.0 0.0.0.255 area 0
。 使用next-hop-self命令将下一跳改变为一个内部对等实体地址
router bgp 109
router ospf x.x.x.x next-hop-self
4.BGP
路由
被抑制
抑制(dampening)是减小本地BGP
网络
中来自EBGP邻居的不稳定BGP
路由
所引起的不稳定性的方法。
抑制是一
种
为一条翻动的BGP
路由
指派一个罚点的方法。
router bgp 109
bgp dampening
七 排除再分布故障
1.RIP再分布问题
router rip
version 2
redistribute ospf 1 metric 1
network x.x.0.0
因为RIP有跳数限制。为改正到达16跳时会出现
路由
无法再分布的问题,需要在再分布时指派有效的度量标准。其实现可以使用redistribute命令中的metric或default-metric命令。
使用show ip route查看
路由
传播情况。
2.IGRP/EIGRP的再分布问题
复合度量标准:宽带,延迟,可靠性,负载
CISCO使用100000000/带宽来得到该代价。
router igrp 1
redistribute ospf 1 metric 1 10000 255 1 1500
network x.x.0.0
router igrp 1
redistribute ospf 1
redistribute static
default-metric 1 10000 255 1 1500
network x.x.0. 0
使用show ip route查看
路由
传播情况。
3.OSPF的再分布问题
当OSPF再分布时,它成为ASBR.
(1)OSPF没有将外部
路由
装入
路由
选择表中
原因:。 不能通过区域内或区域间
路由
获知转发地址
。 ABR滑产生类型4的汇总LSA
(2)ASBR没有通告被再分布的
路由
原因:。 ASBR的配置中缺少subnets关键字
。 distribute-list out命令阻塞了这些
路由
router ospf 1
redistribute rip subnets
network x.x.x.0 0.0.0.255 area 0
使用show ip ospf database external IP来查看
4.IS-IS再分布问题
(1)将静态
路由
再分布入IS-IS
router isis
redistribute static ip
使用show run和show isis database查看
(2)将外部静态
路由
加入为一个LS的IS-IS LSP
router isis
redistribute static ip metric-type external
5.BGP的再分布问题
在AS边界
路由器
上,外出
路由
通告影响进入的流量,而进入
路由
通告则影响外出流量。因此,外出和进入的通告应分开考虑。
(1)BGP发布进eigrp中
router eigrp 200
redistribute bgp 200 metric 10000 100 255 1 1500 passive-interface s0
network x.x.x.0
router bgp 200
network x.x.x.0
neighbor x.x.x.x remote-as 100
可以使用 show ip route和PING来检测
决对不要在一个面向internet的
路由器
上使用BGP到IGP的再分布。一个完整的internet
路由
选择表由 100000个前缀组成,一个IGP进程将会因处理这么多的
路由
而阻塞再分布一个完整的internet表乃至大部分的表都会不可避免的引起主
网络
崩溃。
(2)为了更多地控制被通告进入BGP邻居,可以使用静态
路由
。
向BGP邻居通告一条默认
路由
不会抑制更具体的
路由
。
如果只发送默认
路由
,
路由器
必须使用过滤器来抑制所有更具体的
路由
。
router bgp 100
network 0.0.0.0
neighbor x.x.x.x remote-as 300
neighbor x.x.x.x remote-as 200
neighbor x.x.x.x remote-as 100
neighbor x.x.x.x default-originate
neighbor x.x.x.x redistribute-list 1 out (这一句只是BGP
路由
的一
种
方法)
access-list 1 permit 0.0.0.0
access-list 1 deny an
路由器
要转发数据必须先配置
路由
数据,通常根据
网络
规模的大小可设置静态
路由
或设置动态
路由
。静态
路由
配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型
网络
。缺点是不能自动适应
网络
拓扑的变化,需要人工干预。动态
路由
协议
有自己的
路由
算法,能够自动适应
网络
拓扑的变化,适用于具有一定数量三层设备的
网络
。缺点是配置对用户要求比较高,对系统的要求高于静态
路由
,并将占用一定的
网络
资源。
常见
的动态
1、RIP
协议
-
路由
信息
协议
,属于最早的动态
路由
协议
优点:节约成本,对资源消耗较低,配置简单,对硬件要求低,占用CPU、内存低,所以在小型
网络
中还有使用到。缺点:计算
路由
慢,链路变化了收敛慢,能够保存的
路由
表相对较小,最多只能支持15台设备的
网络
,只适用于小型
网络
2、OSPF
协议
-开放最短路径优先
协议
,企业网主要使用的
协议
优点:技术成熟,碰到的问题基本上在资料上都能够查到,收敛快,由于cisco的力推,会使用的人多缺点:收敛速度,安全性较ISIS差
3、ISIS
协议
-中间系统到中间系统
协议
,传输网/运营商
想必我们大家都鼓捣过
路由器
,
路由器
可以说是我们日常生活中必不可少的一个装备了,就算你不是程序员,想必你隔壁的七大姑八大姨估计也让你配置过
路由器
。但是大家有没有想过一个问题,这个
路由器
是干啥用的?你可能知道这是为终端设备提供 WI-FI 连接上网的一
种
设备,当我们终端设备连接 WI-FI 后,就可以通过
路由器
把数据从我的设备传到我想要的地方(其他终端设备),然后实现我想要的东西和内容。
这个回答整体上是能说通的,但是这里我就要问你一个问题了。
路由器
是如何把数据发送给其他
路由器
的呢?
这个问题要回答上来,
常见
的
路由
协议
可以分为两
种
类型
一、内部网关
协议
内部网关
协议
(IGP:Interior Gateway Protocol),适用于单个ISP的统一
路由
协议
的运行,一般由一个ISP运营的
网络
位于一个AS(自治系统)内,有统一的AS number(自治系统号),用来处理内部
路由
。
RIP、IGRP(Cisco私有
协议
)、EIGRP(Cisco私有
协议
)、OSPF、IS-IS等都是内部网关
协议
。
1、...
路由
协议
路由
协议
(Routing protocol)是一
种
指定数据包转送方式的网上
协议
。Internet
网络
的主要节点设备是
路由器
,
路由器
通过
路由
表来转发接收到的数据。转发策略可以是人工指定的(通过静态
路由
、策略
路由
等方法)。在具有较小规模的
网络
中,人工指定转发策略没有任何问题。但是在具有较大规模的
网络
中(如跨国企业
网络
、ISP
网络
),如果通过人工指定转发策略,将会给
网络
管理员带来巨大的工作量,并且在管理、维护
路由
表上也变得十分困难。为了解决这个问题,动态
路由
协议
应运而生。动态
路由
协议
可以让
路由器
1、定义:
(1)
路由
协议
:
路由器
用来计算、维护
网络
路由
信息的
协议
,工作在传输层或者应用层——RIP、OSPF、BGP
(2)可
路由
协议
:可被
路由器
转发的
协议
,工作在
网络
层——IP
2、
路由
协议
的功能:
邻居发现:
路由器
通过发送广播报文或发送给指定的
路由器
邻居以主动把自己介绍给网段内的其它
路由器
路由
交换:每台
路由器
将自己已知的
路由
相关信息发给相邻
路由器
。
路由
计算:每台
路由器
运行某
种
算法,计算出最终的
路由
来。
路由
维护:
路由器
之间通过周期性地发送
协议
报文来维护邻居信息。
3、
路由
协议
的分类:
路由器
(Router)是连接两个或多个
网络
的硬件设备,在
网络
间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用
智能
性的
网络
设备。它能够理解不同的
协议
,例如某个局域网使用的以太网
协议
,因特网使用的TCP/IP
协议
。这样,
路由器
可以分析各
种
不同类型
网络
传来的数据包的目的地址,把非TCP/IP
网络
的地址转换成TCP/IP地址,或者反之;再根据选定的
路由
算法把各数据包按最佳路线传送到指定位置。所以
路由器
可以把非TCP/IP
网络
连接到因特网上。
2.
路由器
的工作原理
路由器
是一
种
三层设备,是使
自治系统(AS):单一技术管理下的一组
路由器
,这些
路由器
使用一
种
AS内部的
路由
选择
协议
和共同的度量来确定分组在该AS内的
路由
,同时还使用一
种
AS之间的
路由
选择
协议
来确定分组之间的
路由
。外部网关
协议
EGP:不同自治系统中,当数据报传到另一个自治系统边界时,需要一
种
协议
将
路由
1选择信息传递到另一个自治系统中,这样的
协议
就称为EGP。对地址为x的相邻
路由器
发来的RIP报文,修改此报文中的所有项目:把"下一跳"字段中的地址改为x,并把所有的"距离"字段+1。特别的,从一
路由器
到直接连接的
网络
距离为1。