EIGRP(增强型内部网关路由协议)是一种距离矢量无类路由协议,它于 1992 年与 IOS 9.21 一起发布。,EIGRP 是 Cisco IGRP(内部网关路由协议)的增强版。Cisco私有协议。
EIGRP 功能包括:
l 可靠传输协议 (RTP)
l 限定更新
l 扩散更新算法 (DUAL)
l 建立邻接关系
l 邻居表和拓扑表
算法:
EIGRP 不使用跳数作为度量,而是使用由带宽、延迟、可靠性和负载组成的综合度量。默认情况下,这两种协议仅使用带宽和延迟。EIGRP的路由表不会过期,他采用触发更新,更新也只是给需要的人更新。EIGRP 使用一种轻巧的 Hello 协议来监控它与邻居的连接状态。
路径确定:
EIGRP 的 DUAL 则在路由表之外另行维护一个拓扑表,该拓扑表不仅包含通向目的网络的最佳路径,还包含被 DUAL 确定为无环路径的所有备用路径。
路径必须满足一个称为可行性条件的要求,才能被 DUAL 确定为有效的无环备用路径。符合此条件的所有备用路径一定是无环路径。由于 EIGRP 是一种距离矢量路由协议,因此可能存在不符合可行性条件的无环备用路径,并且这些路径不会被 DUAL 作为有效无环备用路径存入拓扑表。
如果一条路径变得不可用,DUAL 会在其拓扑表中搜索有效的备用路径。如果存在有效的备用路径,该路径会立即被输入到路由表中。如果不存在,则 DUAL 会执行网络发现过程,看是否存在不符合可行性条件要求的备用路径。
收敛:
EIGRP 不使用抑制计时器,而是使用一种在路由器间协调的路由计算系统(扩散计算)来实现无环路径。
EIGRP消息格式
EIGRP 消息的数据部分封装在数据包内。每个 EIGRP 数据包无论类型如何,都具有 EIGRP 数据包报头。然后,EIGRP 数据包报头和 TLV 被封装到一个 IP 数据包中。在该 IP 数据包报头中,协议字段被设为 88 以代表 EIGRP,目的地址则被设为组播 224.0.0.10。如果 EIGRP 数据包被封装在以太网帧内,则目的 MAC 地址也是一个组播地址:01-00-5E-00-00 -0A。
EIGRP 数据包报头
每条 EIGRP 消息都包含该报头。
“操作码”用于指定 EIGRP 数据包类型:
l 更新
l 查询
l 应答
l Hello
“自治系统 (AS) 编号”用于指定 EIGRP 路由进程。Cisco 路由器可以运行多个 EIGRP 实例。
TLV:EIGRP 参数:
EIGRP 参数消息包含 EIGRP 用于计算其复合度量的权重。默认情况下,仅对带宽和延迟计权。
“保留时间”是收到此消息的 EIGRP 邻居在认为发出通告的路由器发生故障之前应该等待的时长。
TLV:IP 内部
IP 内部消息:用于在自治系统内部通告 EIGRP 路由。
延迟:根据从源设备到目的设备的总延迟来计算,单位为 10 微秒。
带宽:是路由沿途的所有接口的最低配置带宽。
子网掩码:被指定为前缀长度或子网掩码中网络位的数量。
目的地字段:用于存储目的网络的地址。
TLV:IP 外部
当向 EIGRP 路由过程中导入外部路由时,就会使用“IP 外部”消息。请注意,IP 外部 TLV 的下半部分包括 IP 内部 TLV 所用的所有字段。
1) 路由器会检查 1 级路由(包括网络路由和超网路由),查找与 IP 数据包的目的地址最匹配的路由。
a) 如果最佳匹配的路由是 1 级最终路由(有类网络路由、超网路由或默认路由),则会使用该路由 转发数据包。
b) 如果最佳匹配的路由是 1 级父路由,则继续步骤向下。
2) 路由器检查该父路由的子路由(子网路由),以找到最佳匹配的路由。
a) 如果在 2 级路由中存在匹配的路由,则会使用该子网转发数据包。
b) 如果所有的 2 级子路由都不符合匹配条件,则会继续执行步骤 向下
3) 路由器当前执行的是有类路由行为还是无类路由行为?
a) 有类路由行为:如果执行的是有类 路由行为,则会终止查找过程并丢弃数据包。
b) 无类路由行为:如果执行的是无类 路由行为,则继续在路由表中搜索 1 级超网路由以寻找匹配条目,要是存在默认路由,也会对其进行搜索。
4) 如果此时存在匹配位数相对较少的 1 级超网路由或默认路由,那么路由器会使用该路 由转发数据包。
5) 如果路由表中没有匹配的路由,则路由器会丢弃数据包。
最长匹配:
最佳匹配(最长匹配)是指路由表中与数据包的目的 IP 地址从最左侧开始存在最多匹配位数的路由。通常情况下,最左侧有着最多匹配位数(最长匹配)的路由总是首选路由。
有类路由行为:(no ip classless)
在有类路由行为下,路由查找过程不会继续执行步骤 4。也就是说查找过程将不会继续搜索路由表中的 1 级路由。如果数据包与父网络路由的子路由不匹配,则路由器会丢弃数据包。(就算有默认路由,路由器还是会将数据包丢弃)
无类路由行为:(ip classless)
无类路由行为将会把上述的“路由查找过程中的各个步骤”执行一遍。
现实世界中的有类路由行为与无类路由行为的比较
请记住,有类和无类路由行为 与有类和无类路由协议 是相互独立的。可以使用有类路由行为 (no ip classless) 和无类路由协议(如 RIPv2)来配置路由器。也可以使用无类路由行为 (ip classless) 和有类路由协议(如 RIPv1)配置路由器。
您可能会遇到这样的情况:路由表包含所有您认为应该包含的路由,但却没有按照预期的方式来转发数据包。这时,如果您知道如何一步步查看数据包目的 IP 地址的查找过程,您就可以确定数据包是否按预期的方式传送,是否传送到了其它地方,为何会传送到该地方,或者数据包是否已被丢弃。
路由类型:
路由表示例包含以下来源的路由条目:
l 直连网络
l 静态路由
l 动态路由协议
1级路由:
什么是1级路由:1 级路由是指子网掩码等于或小于网络地址有类掩码的路由。
1 级路由可用作:
l 默认路由 - 是指地址为 0.0.0.0/0 的静态路由。
l 超网路由 - 是指掩码小于有类掩码的网络地址。
l 网络路由 - 是指子网掩码等于有类掩码的路由。网络路由也可以是父路由。
(1 级路由的来源可以是直连网络、静态路由或动态路由协议)
最终路由:1 级路由可进一步定义为最终路由。最终路由是指包括以下内容的路由:
l 下一跳 IP 地址(另一路径)
l 和/或送出接口
父路由和子路由:有类网络
1 级父路由是指不包含任何网络的下一跳 IP 地址或送出接口的网络路由。父路由实际上是表示存在 2 级路由的一个标题,2 级路由也称为子路由。2 级路由是指有类网络地址的子网路由。2 级子路由也属于最终路由,因为 2 级路由包含下一跳 IP 地址和/或送出接口。(这里个人做个比喻:父路由就像Windows的目录一样,子路由就像目录里的文件一样。他的作用就是分层,比如说就像工作日志一样,先找到一个时间范围,然后找到具体的事情,就知道了详细的内容了。)
RIPv2 实际是对 RIPv1 的增强和扩充,而不是一种全新的协议。其中一些增强功能包括:
l 路由更新中包含下一跳地址
l 使用组播地址发送更新
l 可选择使用检验功能
与 RIPv1 一样,RIPv2 也是距离矢量路由协议。这两个版本的 RIP 都存在以下特点和局限性:
l 使用抑制计时器和其它计时器来帮助防止路由环路。
l 使用带毒性反转的水平分割来防止路由环路。
l 在拓扑结构发生变化时使用触发更新加速收敛。
l 最大跳数限制为 15 跳,16 跳意味着网络不可达。
RIPv1的局限性:
RIPv1 是有类路由协议,在路由更新中包含子网掩码。因此,RIPv1 不支持不连续网络、VLSM 或 CIDR(无类域间路由)超网
启动和检验RIPv2:
与第 1 版一样,RIPv2 封装在使用 520 端口的 UDP 数据段中,最多可包含 25 条路由。虽然 RIPv2 与 RIPv1 的基本消息格式相同,但 RIPv2 添加了两项重要扩展。
RIPv2 消息格式的第一项扩展是添加了子网掩码字段,这样 RIP 路由条目中就能包含 32 位掩码。因此,接收路由器在确定路由的子网掩码时,不再依赖于入站接口的子网掩码或有类掩码。
RIPv2 消息格式的第二项重要扩展是添加了下一跳地址。下一跳地址用于标识比发送方路由器的地址更佳的下一跳地址(如果存在)。如果此字段被设为全零 ( 0.0.0.0),则发送方路由器的地址便是最佳的下一跳地址。
在启动RIP路由协议后,默认情况下Cisco路由器会运行RIPv1,不过,尽管路由器只发送 RIPv1 消息,但它可以同时解释 RIPv1 和 RIPv2 消息。RIPv1 路由器会忽略路由条目中的 RIPv2 字段。可以使用show ip protocols命令查看发送和接受什么版本,默认是发送RIPv1接受RIPv1、RIPv2。可以在RIP配置模式里使用“version 2”命令来修改RIP版本。
可以使用version 1来降回版本1,也可以使用no version 降回默认的RIPv1。(注意:使用version 1他就只能发送和接收RIPv1,使用no version 他会发送version 1接受version 1、version 2。)
自动总结和RIPv2:默认情况下,RIPv2 与 RIPv1 一样都会在主网边界上自动总结。
在RIPv2中禁用自动总结:
可在路由器配置模式下使用 no auto-summary 命令。此命令对 RIPv1 无效。使用show ip protocols命令进行验证。这时查看路由表show ip route 可以看到没有总结路由了。
(注意:RIPv2的路由更新使用组播地址 224.0.0.9 发送。而 RIPv1 使用广播地址 255.255.255.255 来发送更新。)
RIPv2与VlSM和CIDR:
也就是说路由协议只要携带子网掩码就支持VLSM和CIDR。
检验和故障排除命令:
show ip route 用来检查网络收敛情况的第一条命令。
show ip interface brief 可快速检验所有接口的状态。
Ping 检验链路连通性。
show ip protocols 可检验几项重要情况,其中包括检验 RIP 是否启用、RIP 的版本、自动总结的状态以及 network 语句中包含的网络。
show running-config 用于检查当前配置的所有命令。
debug ip rip 检查路由器发送和接收的路由更新的内容。
常见RIPv2问题:
版本:
对运行 RIP 的网络进行故障排除的一个很好的切入点是检验所有的路由器是否都配置了 RIP 第 2 版。
Network 语句:
network 语句不正确或缺少 network 语句也会造成问题。
自动总结:
如果希望发送具体的子网而不仅是总结路由,那么请务必禁用自动总结功能。
身份验证:
任何路由协议都可能收到无效路由更新,这是一个安全隐患。造成这些无效路由更新的原因可能是恶意攻击者试图中断网络,或者是他们试图通过欺骗路由器将更新发送到错误目的地来截取数据包。另外,如果用户在不知情的情况下将运行着本地网络路由协议的主机接入网络,也会造成这个问题。
通过身份验证的方式,我们便可确保路由器只接受配置了相同密码或身份验证信息的路由器发送的路由信息。注意:身份验证不会加密路由表。
随 RFC 791 一同发布的 RFC 790 确定了地址中网络位和主机位的划分。
如右图所示,A 类网络将第一组二进制八位数用于分配网络,由此形成的有类子网掩码是 255.0.0.0。因为第一组二进制八位数中只剩下了 7 位可以变化(还记得吗?第 1 个位始终为 0),这样就会有 2 的 7 次方个网络(即 128 个网络)。
由于地址中的主机部分有 24 个位,因此每个 A 类网络地址理论上对应有 16,000,000 个以上的主机地址。
RFC 790 规定 B 类地址使用前两组二进制八位数来划分网络。由于前两个位分别规定为 1 和 0,因此,前两组二进制八位数中还剩下 14 个位用于分配网络,这样就会有 16,384 个 B 类网络地址。
不过,更糟的是,C 类地址通常又显得过小。RFC 790 规定 C 类地址使用前三组二进制八位数来划分网络。由于前三个位分别规定为 1、1 和 0,剩下的 21 个位用于分配网络,因而有超过 2,000,000 个 C 类网络可供分配。但是,每个 C 类网络地址的主机部分只有 8 个位,也就是只能有 254 个主机地址。
有类路由协议:
有类 IP 地址意味着网络地址的子网掩码可由第一组二进制八位数的值来确定,或者更准确地说,掩码由地址的前三个位来确定。(比如说:10就是A类掩码就是/8,172就是B类掩码就是/16)
迈向无类寻址:1993 年,IETF 引入了“无类域间路由”这一概念,即 CIDR (RFC 1517)。CIDR 有以下作用:
l 允许更灵活地使用 IPv4 地址空间
l 允许前缀聚合,这样就减小了路由表
对于采用 CIDR 概念的路由表来讲,地址类别就变得没什么意义了。地址的网络部分由网络子网掩码(也称为网络前缀)或者说前缀长度(如 /8、/19)来确定。网络地址不再由地址所属的类来确定。
CIDR 和路由总结:
CIDR 可以根据具体的需要而不是按照地址类,使用 VLSM(可变长子网掩码)为子网分配 IP 地址。例如:,ISP1 有四个客户,每个客户拥有各自容量的 IP 地址空间(A:192.168.0.0/23 B:192.168.2.0/23 C:192.168.4.0/22 D:192.168.8.0/21)。不过,所有客户地址空间可以总结为一条路由信息发送到 ISP2。总结/聚合得出的 192.168.0.0/20 路由信息涵盖了客户 A、B、C 和 D 的所有网络部分。这类路由就是所谓的“超网路由”。
广播 VLSM 和超网路由信息需要使用无类路由协议,因为这里不再由第一组二进制八位数的值来确定子网掩码。这样,网络地址便需要附带子网掩码。无类路由协议的路由信息更新中同时包含网络地址和子网掩码。
无类路由协议:
无类路由协议包括 RIPv2、EIGRP、OSPF、IS-IS 和 BGP 等。这些路由协议的路由信息更新中同时包含网络地址和子网掩码。
例如,网络 172.16.0.0/16、172.17.0.0/16、172.18.0.0/16 和 172.19.0.0/16 可以总结为 172.16.0.0/14。如果使用有类路由协议在路由更新时不发送掩码那么会导致路由协议自己理解为172.16.0.0/16这样的话后面的3个地址段路由器就无法理解。
VLSM的使用:
在对网络地址进行子网划分后,可以对这些子网再进行细分。正如您最可能想到的那样,VLSM 就是指对子网划分子网。VLSM 可以看作子网的子网的划分机制.
路由总结:
您已经知道,路由总结也就是所谓的路由聚合,指使用更笼统、相对更短的子网掩码将一组连续地址作为一个地址来传播。请记住,CIDR 是路由聚合的一种形式,它与术语“超网划分”同义。
计算路由总结:
将多个网络总结为一个地址和掩码的过程可以分为三个步骤:
1. 是以二进制格式列出各个网络;
2. 是计算所有网络地址中从左侧开始的相同位数,以确定总结路由的掩码;
3. 复制这些相同的位,然后添加 0 位,确定总结后的网络地址。
最初发展形成的有类寻址方式在一段时间内解决了 256 个网络的限制问题。而十年之后,IP 地址空间再度面临快速耗尽的危险,而且形势越来越严峻。为此,IETF(Internet 工程工作小组)引入了 CIDR(无类域间路由)技术,使用 VLSM(可变长子网掩码)来节省地址空间。
通过使用 CIDR 和 VLSM,ISP 可以将一个有类网络划分为不同的部分,从而分配给不同的客户使用。随着 ISP 开始采用不连续编址方式,无类路由协议也随之产生。比较而言:有类路由协议总是在有类网络边界处总结,且其路由更新中不包含子网掩码信息。无类路由协议则在路由更新中包含 子网掩码信息,并且不需要执行子网总结。
如果不是先后采用了诸多新技术,如 1993 年的 VLSM 与 CIDR (RFC 1519)、1994 年的 NAT(名称地址转换)(RFC 1631) 以及 1996 年的“私有地址”(RFC 1918),IPv4 的 32 位地址空间现在可能已经耗尽。
有类IP寻址:
在 1981 年发布的最初的 IPv4 (RFC 791) 规范中,制订者建立了类的概念,为大、中、小三种规模的组织提供三种不同规模的网络。使用特定格式的高位将地址分类为 A、B、C 三类。高位是指 32 位地址中靠近左边的位。(在A类里保留:127.0.0.0到127.255.255.255用于循环测试,0.0.0.0用于表示所有地址)
摘要: 背景的概述: RIP 从 Xerox 开发的早期协议 - 网关信息协议 (GWINFO) 演变而来。 RIPv1的特征和消息格式: RIP 主要有以下特征: l RIP 是一种距离矢量路由协议。 l RIP 使用跳数作为路径选择的唯一度量。 l 将跳数超过 15 的路由通告为不可达。 l 每 30 秒广播一次消息。 消息格式: RIP 消息的数据部分...
阅读全文
RIP(路由信息协议)最初在 RFC 1058 中定义。主要有以下特点:
l 使用跳数作为选择路径的度量。
l 如果某网络的跳数超过 15,RIP 便无法提供到达该网络的路由。
l 默认情况下,每 30 秒通过广播或组播发送一次路由更新。
IGRP(内部网关路由协议)是由 Cisco 开发的专有协议。IGRP 的主要设计特点如下:
l 使用基于带宽、延迟、负载和可靠性的复合度量。
l 默认情况下,每 90 秒通过广播发送一次路由更新。
l IGRP 是 EIGRP 的前身,现在已不再使用。
EIGRP(增强型 IGRP)是 Cisco 专用的距离矢量路由协议。EIGRP 主要具有以下特点:
l 能够执行不等价负载均衡。
l 使用扩散更新算法 (DUAL) 计算最短路径。
l 不需要像 RIP 和 IGRP 一样进行定期更新。只有当拓扑结构发生变化时才会发送路由更新。
距离矢量的含义
距离矢量意味着用距离和方向矢量通告路由。距离使用诸如跳数这样的度量确定,而方向则是下一跳路由器或送出接口。使用距离矢量路由协议的路由器并不了解到达目的网络的整条路径。该路由器只知道:
l 应该往哪个方向或使用哪个接口转发数据包
l 自身与目的网络之间的距离
距离矢量路由协议的工作方式:
一些距离矢量路由协议需要路由器定期向各个邻居广播整个路由表。这种方法效率很低,因为这些路由更新不仅消耗带宽,而且处理起来也会消耗路由器的 CPU 资源。
距离矢量路由协议有一些共同特征:定期更新(每隔一个时间就会发送路由更新信息,即使拓扑没有发生变化。)、邻居(是指使用同一链路并配置了相同路由协议的其它路由器)、广播更新(路由更新会发送到255.255.255.255,有一些距离矢量路由协议使用组播地址而不是广播地址。)以及定期向所有邻居发送整个路由表更新
路由协议的算法:
算法的作用:用于计算最佳路径并将该信息发送给邻居。
用于路由协议的算法定义了以下过程:
l 发送和接收路由信息的机制。
l 计算最佳路径并将路由添加到路由表的机制。
l 检测并响应拓扑结构变化的机制。
路由协议特征:
可以根据以下特征来比较路由协议:
l 收敛时间 - 收敛时间是指网络拓扑结构中的路由器共享路由信息并使各台路由器掌握的网络情况达到一致所需的时间。收敛速度越快,协议的性能越好。在发生了改变的网络中,收敛速度缓慢会导致不一致的路由表无法及时得到更新,从而可能造成路由环路。
l 可扩展性 - 可扩展性表示根据一个网络所部署的路由协议,该网络能达到的规模。网络规模越大,路由协议需要具备的可扩展性越强。
l 无类(使用 VLSM)或有类 - 无类路由协议在更新中会提供子网掩码。此功能支持使用可变长子网掩码 (VLSM),总结路由的效果也更好。有类路由协议不包含子网掩码且不支持 VLSM。
l 资源使用率 - 资源使用率包括路由协议的要求(如内存空间)、CPU 利用率和链路带宽利用率。资源要求越高,对硬件的要求越高,如此才能对路由协议工作和数据包转发过程提供有力支持。
l 实现和维护 - 实现和维护体现了对于所部署的路由协议,网络管理员实现和维护网络时必须要具备的知识级别。
网络的发现:
冷启动或通电开机:它完全不了解网络拓扑结构。,它完全不了解网络拓扑结构。它甚至不知道在其链路的另一端是否存在其它设备。如果在NVRAM中配置文件里配置了接口IP地址那么路由器会先将直连网络加到路由表中。
初次路由信息交换:配置路由协议后,路由器就会开始交换路由更新。一开始,这些更新仅包含有关其直连网络的信息。收到更新后,路由器会检查更新,从中找出新信息。任何当前路由表中没有的路由都将被添加到路由表中。此时,路由器已经获知与其直连的网络,以及与其邻居相连的网络。接着路由器开始交换下一轮的定期更新,并继续收敛。每台路由器再次检查更新并从中找出新信息。
收敛:
达到收敛的速度包含两个方面:
l 路由器在路由更新中向其邻居传播拓扑结构变化的速度。
l 使用收集到的新路由信息计算最佳路径路由的速度。
(网络在达到收敛前无法完全正常工作)
路由表维护:
RIP和IGRP是属于定期更新:
定期更新是指路由器以预定义的时间间隔向邻居发送完整的路由表。对于 RIP,无论拓扑结构是否发生变化,这些更新都将每隔 30 秒钟以广播的形式 (255.255.255.255) 发送出去。
拓扑结构发生变化的原因有多种,包括:
l 链路故障
l 增加新链路
l 路由器故障
l 链路参数改变
RIP 计时器,除更新计时器外,IOS 还针对 RIP 设置了另外三种计时器:
l 无效:如果 180 秒(默认值)后还未收到可刷新现有路由的更新,则将该路由的度量设置为 16,从而将其标记为无效路由。
l 清除:默认情况下,清除计时器设置为 240 秒,比无效计时器长 60 秒。当清除计时器超时后,该路由将从路由表中删除。
l 抑制:该计时器用于稳定路由信息,并有助于在拓扑结构根据新信息收敛的过程中防止路由环路。
使用静态路由的优点:
静态路由主要有以下几种用途:
l 在不会显著增长的小型网络中,使用静态路由便于维护路由表。
l 静态路由可以路由到末节网络,或者从末节网络路由到外部(请参阅第 2 章)。
l 使用单一默认路由。如果某个网络在路由表中找不到更匹配的路由条目,则可使用默认路由作为通往该网络的路径。
静态路由的优点:
l 占用的 CPU 处理时间少。
l 便于管理员了解路由。
l 易于配置。
静态路由的缺点:
l 配置和维护耗费时间。
l 配置容易出错,尤其对于大型网络。
l 需要管理员维护变化的路由信息。
l 不能随着网络的增长而扩展;维护会越来越麻烦。
l 需要完全了解整个网络的情况才能进行操作。
动态路由的优点和缺点:
动态路由的优点:
l 增加或删除网络时,管理员维护路由配置的工作量较少。
l 网络拓扑结构发生变化时,协议可以自动做出调整。
l 配置不容易出错。
l 扩展性好,网络增长时不会出现问题。
动态路由的缺点:
l 需要占用路由器资源(CPU 时间、内存和链路带宽)。
l 管理员需要掌握更多的网络知识才能进行配置、验证和故障排除工作。
动态路由协议的分类:
可以按路由协议的特点将其分为不同的类别。以下为常用的一些路由协议:
l RIP - 一种距离矢量内部路由协议
l IGRP - Cisco 开发的距离矢量内部路由协议(12.2 IOS 及后续版本已不再使用)
l OSPF - 一种链路状态内部路由协议
l IS-IS - 一种链路状态内部路由协议
l EIGRP - Cisco 开发的高级距离矢量内部路由协议
l BGP - 一种路径矢量外部路由协议
IGP和EGP
这两类协议如下:
l IGP(内部网关协议),用于在自治系统内部路由
l EGP(外部网关协议),用于在自治系统之间路由
IGP(内部网关协议) 用于在路由域的内部进行路由,此类网络由单个公司或组织管理(比如说学校、政府、公司)。路由协议(更具体地说是路由协议所使用的算法)使用度量来确定到达某个网络的最佳路径。
EGP(外部网关协议)用于不同机构管控下的不同自治系统之间的路由
EIGRP 不发送定期更新,而是触发更新(就是说当有变化的时候)。当出现新路由或现有路由需要删除时,EIGRP 只会发送有关该网络的信息,而不是整个路由表。该信息只会发往确实需要此信息的那些路由器。
EIGRP 使用的更新具有以下特点:
l 不定期,因为此类信息不是按固定时间间隔发送。
l 仅当拓扑结构中发生影响路由信息的改变时才发送相关部分的更新。
l 限定范围,这表示部分更新的传播受到自动限制,只有需要该更新信息的路由器才会收到更新。
触发更新:
当拓扑结构发生改变时,为了加速收敛,RIP 将使用触发更新。检测到拓扑结构变化的路由器会立即向相邻路由器发送更新消息。接收到这一消息的路由器将依次生成触发更新,以通知邻居拓扑结构发生了改变。
当发生以下情况之一时,就会发出触发更新:
l 接口状态改变(开启或关闭)
l 某条路由进入(或退出)“不可达”状态
l 路由表中增加了一条路由
如果能够保证更新能立即到达每台路由器,那么仅使用触发更新就已足够。然而,触发更新存在两个问题:
l 包含更新信息的数据包可能在网络的某些链路上丢失或损坏。
l 触发更新并不能在瞬间完成。尚未收到触发更新的路由器有可能在错误的时间发送常规定期更新,从而导致错误的路由重新插入已经收到触发更新的邻居的路由表中。
同步更新存在的问题:
同时发送更新也被称为同步更新,因为距离矢量路由协议使用定期更新机制,因此对于此类协议,同步可能会造成问题。随着同步的路由器计时器越来越多,网络中出现的更新冲突和延迟也会越来越多。
解决方案:
Cisco IOS 引入了称为 RIP_JITTER 的随机变量,此变量会为网络中每台路由器的更新时间间隔减去一段可变时间量。此随机抖动(即可变时间量)的范围是指定更新时间间隔的 0% 到 15%。在这种方式下,默认 30 秒的更新间隔实际会在 25 到 30 秒之间随机变化。
什么是路由环路:
路由环路是指数据包在一系列路由器之间不断传输却始终无法到达其预期目的网络的一种现象。
造成环路的可能原因有:
l 静态路由配置错误
l 路由重分发配置错误(就是说把2个不同的路由协议进行互通)
l 发生了改变的网络中收敛速度缓慢,不一致的路由表未能得到更新
l 错误配置或添加了丢弃的路由
路由环路会造成什么影响:路由环路会对网络造成严重影响,导致网络性能降低,甚至使网络瘫痪。
路由环路可能造成以下后果:
l 环路内的路由器占用链路带宽来反复收发流量。
l 路由器的 CPU 因不断循环数据包而不堪重负。
l 路由器的 CPU 承担了无用的数据包转发工作,从而影响到网络收敛。
l 路由更新可能会丢失或无法得到及时处理。这些状况可能会导致更多的路由环路,使情况进一步恶化。
l 数据包可能丢失在“黑洞”中。
路由环路一般是由距离矢量路由协议引发的,目前有多种机制可以消除路由环路。这些机制包括:
l 定义最大度量以防止计数至无穷大(就是定一个最大条数等到达这个条数是自动加到不可达)
l 抑制计时器(就是说当有一条路由信息出现变化时将触发更新,到邻居路由器邻居当收到这条信息后将此路由信息加上抑制计时器,当抑制计时器为0的时候就认为此路由信息失效。)
l 水平分割规则规定,路由器不能使用接收更新的同一接口来通告同一网络。
l 路由毒化或毒性反转
l 触发更新
抑制计时器通过以下方式工作:
1. 路由器从邻居处接收到更新,该更新表明以前可以访问的网络现在已不可访问。
2. 路由器将该网络标记为 possibly down 并启动抑制计时器。
3. 如果在抑制期间从任何相邻路由器接收到含有更小度量的有关该网络的更新,则恢复该网络并删除抑制计时器。
4. 如果在抑制期间从相邻路由器收到的更新包含的度量与之前相同或更大,则该更新将被忽略。如此一来,更改信息便可以继续在网络中传播一段时间。
5. 路由器仍然会转发目的网络被标记为 possibly down 的数据包。通过这种方式,路由器便能克服连接断续所带来的问题。如果目的网络确实不可达,但路由器又转发了数据包,黑洞路由就会建立起来并持续到抑制计时器超时。
水平分割规则:
水平分割规则规定,路由器不能使用接收更新的同一接口来通告同一网络。
路由毒化:路由毒化用于在发往其它路由器的路由更新中将路由标记为不可达。(就是说使用标记“不可达”的方法是将度量设置为最大值。对于 RIP,毒化路由的度量为 16。)
带毒性反转的水平分割:“带毒性反转的水平分割”规则规定,从特定接口向外发送更新时,将通过该接口获知的所有网络标示为不可达。
IP和TTL:TTL(生存时间)是 IP 报头中的 8 位字段,它限制了数据包在被丢弃之前能够在网络中传输的跳数。(TTL经过每个路由都会减1,当减到0时则丢弃,并向该 IP 数据包的源地址发送 ICMP错误消息。)
RIP和EIGRP:
RIP:RIP 已经从有类路由协议 (RIPv1) 发展到无类路由协议 (RIPv2)。RIPv1 和 RIPv2 在计算路由度量时都只考虑跳数,有效路由的跳数不能超过 15 跳。
RIP 的功能:
l 支持用于防止路由环路的水平分割和带毒性反转的水平分割。
l 能够在多达六条的等价路径上进行负载均衡。默认为四条等价路径。
RIPv2 对 RIPv1 进行了如下改进:
l 在路由更新中包含子网掩码,从而使协议变为无类路由协议。
l 增加验证机制以确保路由表更新的安全性。
l 支持可变长子网掩码 (VLSM)。
l 使用组播地址代替广播地址。
l 支持手动总结路由。
EIGRP:是另一种距离矢量协议。EIGRP 具备某些链路状态路由协议功能,是一种无类距离矢量路由协议。(Cisco 私有)
EIGRP 的功能包括:
l 触发更新(EIGRP 没有定期更新)。
l 使用拓扑表维护从邻居处收到的所有路由(不仅是最佳路径)。
l 使用 EIGRP hello 协议与相邻路由器建立邻接关系。
l 支持 VLSM 和手动路由总结。这些功能使得 EIGRP 有能力创建具有层次结构的大型网络。
EIGRP 的优点:
l 尽管路由以距离矢量方式传播,但度量是根据最小带宽和路径的累积延迟进行计算,而不是根据跳数得出。
l 采用扩散更新算法 (DUAL) 进行路由计算,收敛速度更快。DUAL 允许向 EIGRP 拓扑表插入备用路由,当主路由失败时备用路由便可派上用场。由于这一过程在本地实现,所以可以立即切换到备用路由,不需要其它路由器进行任何操作。
l 使用限定更新,因此 EIGRP 使用的带宽更少,特别是在包含许多路由的大型网络中这一点更为明显。
l EIGRP 具有协议相关模块,可支持多种网络层协议,包括 IP、IPX 和 AppleTalk。