思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

今天课程的主题是RIP,即路由信息协议。 我们将讨论它的使用、配置和限制的各个方面。 正如我所说,RIP 不是 Cisco 200-125 CCNA 课程的一部分,但我决定为该协议专门开设一课,因为 RIP 是主要路由协议之一。

今天我们将从三个方面来看:了解RIP在路由器中的操作和设置、RIP定时器、RIP限制。 该协议创建于 3 年,因此是最古老的网络协议之一。 它的优势在于其非凡的简单性。 如今,包括 Cisco 在内的许多网络设备继续支持 RIP,因为它不是像 EIGRP 那样的专有协议,而是公共协议。

RIP 有 2 个版本。 第一个经典版本不支持 VLSM(无类别 IP 寻址所基于的可变长度子网掩码),因此我们只能使用一个网络。 我稍后会讨论这个问题。 该版本也不支持身份验证。

假设您有 2 个路由器相互连接。 在这种情况下,第一个路由器会告诉其邻居它所知道的一切。 假设网络10连接到第一个路由器,网络20位于第一个和第二个路由器之间,网络30位于第二个路由器后面。然后第一个路由器告诉第二个路由器它知道网络10和20,路由器2告诉第二个路由器路由器 1 知道网络 30 和网络 20。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

路由协议指示这两个网络应添加到路由表中。 一般来说,事实证明,一台路由器会告诉相邻路由器有关与其连接的网络的信息,而相邻路由器又会告诉其邻居,等等。 简单地说,RIP 是一种八卦协议,它允许相邻路由器彼此共享信息,每个邻居无条件地相信他们被告知的信息。 每个路由器都会“监听”网络中的变化并与邻居共享这些变化。

缺乏身份验证支持意味着连接到网络的任何路由器都会立即成为完整的参与者。 如果我想关闭网络,我将连接我的黑客路由器并对其进行恶意更新,并且由于所有其他路由器都信任它,因此它们将按照我想要的方式更新其路由表。 RIP 的第一个版本不提供任何针对此类黑客攻击的保护。

在 RIPv2 中,您可以通过相应配置路由器来提供身份验证。 在这种情况下,只有输入密码通过网络认证后,才能在路由器之间更新信息。

RIPv1 使用广播,即所有更新都使用广播消息发送,以便所有网络参与者都能接收到。 假设有一台计算机连接到第一个路由器,它对这些更新一无所知,因为只有路由设备需要它们。 然而,路由器1会将这些消息发送到所有具有广播ID的设备,即,甚至那些不需要它的设备。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

在RIP的第二个版本中,这个问题得到了解决——它使用多播ID,或多播流量传输。 在这种情况下,只有协议设置中指定的设备才会收到更新。 除了身份验证之外,此版本的 RIP 还支持 VLSM 无类别 IP 寻址。 这意味着,如果 10.1.1.1/24 网络连接到第一台路由器,则 IP 地址在此子网地址范围内的所有网络设备也会收到更新。 该协议的第二个版本支持CIDR方法,即当第二个路由器收到更新时,它知道它涉及哪个特定网络或路由。 在第一个版本的情况下,如果网络 10.1.1.0 连接到路由器,则网络 10.0.0.0 和属于同一类别的其他网络上的设备也将收到更新。 在这种情况下,路由器 2 还将收到有关这些网络更新的完整信息,但如果没有 CIDR,它将不知道该信息涉及具有 A 类 IP 地址的子网。

这就是 RIP 的一般含义。 现在让我们看看如何配置它。 您需要进入路由器设置的全局配置模式并使用 Router RIP 命令。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

之后,您将看到命令行标头已更改为 R1(config-router)#,因为我们已移至路由器子命令级别。 第二个命令将是版本 2,也就是说,我们向路由器指示它应该使用协议的版本 2。 接下来,我们必须使用network XXXX命令输入所通告的有类网络的地址,通过该地址传输更新。该命令有2个功能:首先,它指定需要通告哪个网络,其次,需要使用哪个接口为了这。 当您查看网络配置时,您就会明白我的意思。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

这里我们有 4 个路由器和一台计算机通过标识符为 192.168.1.0/26 的网络连接到交换机,该网络分为 4 个子网。 我们仅使用 3 个子网:192.168.1.0/26、192.168.1.64/26 和 192.168.1.128/26。 我们仍然有子网 192.168.1.192/26,但没有使用它,因为不需要它。

设备端口具有以下 IP 地址:计算机 192.168.1.10、第一路由器的第一端口 192.168.1.1、第二端口 192.168.1.65、第二路由器的第一端口 192.168.1.66、第二路由器的第二端口 192.168.1.129、第三个路由器的第一个端口 192.168.1.130 。 上次我们谈到了约定,所以我不能按照约定将地址.1分配给路由器的第二个端口,因为.1不是这个网络的一部分。

接下来,我使用其他地址,因为我们启动另一个网络 - 10.1.1.0/16,因此连接该网络的第二个路由器的第二个端口的 IP 地址为 10.1.1.1,第四个路由器的端口交换机所连接的路由器 - 地址 10.1.1.2。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

为了配置我创建的网络,我必须为设备分配 IP 地址。 让我们从第一个路由器的第一个端口开始。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

首先,我们将创建主机名 R1,将地址 0 分配给端口 f0/192.168.1.1,并指定子网掩码 255.255.255.192,因为我们有 /26 网络。 让我们使用 no shutdown 命令完成 R1 的配置。 第一个路由器 f0/1 的第二个端口将接收 IP 地址 192.168.1.65 和子网掩码 255.255.255.192。
第二个路由器将收到名称 R2,我们将地址 0 和子网掩码 0 分配给第一个端口 f192.168.1.66/255.255.255.192,将地址 0 和子网掩码 1 分配给第二个端口 f192.168.1.129/ 255.255.255.192.

继续第三个路由器,我们将为其分配主机名 R3,端口 f0/0 将接收地址 192.168.1.130 和掩码 255.255.255.192,端口 f0/1 将接收地址 10.1.1.1 和掩码 255.255.0.0。 16,因为该网络是/XNUMX。

最后,我将转到最后一个路由器,将其命名为 R4,并为端口 f0/0 分配地址 10.1.1.2 和掩码 255.255.0.0。 这样,我们就配置好了所有的网络设备。

最后,让我们看看计算机的网络设置 - 它的静态 IP 地址为 192.168.1.10,半网掩码为 255.255.255.192,默认网关地址为 192.168.1.1。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

至此,您已经了解了如何为不同子网上的设备配置子网掩码,非常简单。 现在让我们启用路由。 我进入 R1 设置,设置全局配置模式并键入路由器命令。 此后,系统会为该命令提供可能的路由协议的提示:bgp、eigrp、ospf 和 rip。 由于我们的教程是关于 RIP 的,因此我使用 router rip 命令。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

如果您键入问号,系统将为以下命令发出新提示,其中包含该协议功能的可能选项:auto-summary - 自动汇总路由、default-information - 控制默认信息的显示、网络- 网络、时间安排等。 您可以在此处选择我们将与相邻设备交换的信息。 最重要的功能是版本,所以我们首先输入版本2命令,接下来我们需要使用network key命令,该命令为指定的IP网络创建路由。

稍后我们将继续配置 Router1,但现在我想继续配置 Router 3。在对其使用网络命令之前,让我们先看看网络拓扑的右侧。 路由器的第二个端口的地址为 10.1.1.1。 RIP 是如何工作的? 即使在第二个版本中,RIP 作为一个相当古老的协议,仍然使用自己的网络类。 因此,即使我们的网络 10.1.1.0/16 属于 A 类,我们也必须使用 network 10.0.0.0 命令指定该 IP 地址的完整类版本。

但即使我输入命令 network 10.1.1.1 然后查看当前配置,我也会看到系统已将 10.1.1.1 更正为 10.0.0.0,自动使用全类寻址格式。 因此,如果您在 CCNA 考试中遇到有关 RIP 的问题,则必须使用全类寻址。 如果您输入 10.0.0.0 或 10.1.1.1 而不是 10.1.0.0,则会出错。 尽管事实上到全类寻址形式的转换是自动发生的,但我建议您最初使用正确的地址,以免等到系统更正错误。 请记住 - RIP 始终使用全类网络寻址。

使用network 10.0.0.0命令后,第三个路由器会将这第十个网络插入路由协议中,并沿R3-R4路由发送更新。 现在您需要配置第四个路由器的路由协议。 我进入其设置并依次输入命令 router rip、版本 2 和网络 10.0.0.0。 通过此命令,我要求 R4 开始使用 RIP 路由协议通告网络 10.。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

现在这两个路由器可以交换信息,但不会改变任何东西。 使用 show ip route 命令显示 FastEthernrt 端口 0/0 直接连接到网络 10.1.0.0。 第四个路由器收到第三个路由器的网络通告后,会说:“太好了,伙计,我收到了你的第十个网络的通告,但我已经知道了,因为我直接连接到这个网络。”

因此,我们将返回到R3设置并使用network 192.168.1.0命令插入另一个网络。 我再次使用全类寻址格式。 此后,第三个路由器将能够沿着 R192.168.1.128-R3 路由通告 4 网络。 正如我已经说过的,RIP 是一个“八卦”,它向所有邻居通报新网络的情况,并将其路由表中的信息传递给它们。 如果您现在查看第三个路由器的表,您可以看到与其连接的两个网络的数据。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

它将将此数据传输到第二个和第四个路由器的路由两端。 让我们继续进行 R2 设置。 我输入相同的命令 router rip,版本 2 和网络 192.168.1.0,这就是事情开始变得有趣的地方。 我指定网络 1.0,但它既是网络 192.168.1.64/26,又是网络 192.168.1.128/26。 因此,当我指定网络 192.168.1.0 时,我在技术上为该路由器的两个接口提供路由。 方便之处在于,只需一条命令即可为设备的所有端口设置路由。

我为路由器 R1 指定完全相同的参数,并以相同的方式为两个接口提供路由。 如果您现在查看 R1 的路由表,您可以看到所有网络。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

该路由器知道网络 1.0 和网络 1.64。 它还知道网络 1.128 和 10.1.1.0,因为它使用 RIP。 这由路由表相应行中的 R 标头指示。
请注意信息[120/2]——这是管理距离,即路由信息来源的可靠性。 该值可以更大或更小,但 RIP 的默认值为 120。例如,静态路由的管理距离为 1。管理距离越小,协议越可靠。 如果路由器有机会在两种协议之间进行选择,例如在静态路由和 RIP 之间进行选择,那么它将选择通过静态路由转发流量。 括号中的第二个值 /2 是度量。 在RIP协议中,度量表示跳数。 在这种情况下,网络 10.0.0.0/8 可以通过 2 跳到达,也就是说,路由器 R1 必须通过网络 192.168.1.64/26 发送流量,这是第一跳,并且通过网络 192.168.1.128/26 发送流量,这是第二跳,通过具有 FastEthernet 10.0.0.0/8 接口且 IP 地址为 0 的设备到达网络 1/192.168.1.66。

作为比较,路由器 R1 可以通过接口 192.168.1.128 以 120 的管理距离到达网络 1。

现在,如果您尝试从计算机 PC0 ping 路由器 R4 的 IP 地址为 10.1.1.2 的接口,它将成功返回。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

第一次尝试失败,并出现请求超时消息,因为使用 ARP 时第一个数据包丢失,但其他三个数据包已成功返回给接收者。 这使用 RIP 路由协议在网络上提供点对点通信。

因此,为了激活路由器对 RIP 协议的使用,您需要依次键入命令 router rip, version 2 和 network <网络号/全类形式的网络标识符>。

让我们进入 R4 设置并输入 show ip route 命令。 您可以看到网络 10. 直接连接到路由器,并且可以通过 RIP 通过 IP 地址 192.168.1.0 的端口 f24/0 访问网络 0/10.1.1.1。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

如果您注意192.168.1.0/24网络的出现,您会发现路由自动汇总存在问题。 如果启用自动汇总,RIP 将汇总 192.168.1.0/24 之前的所有网络。 让我们看看什么是定时器。 RIP协议有4个主要定时器。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

更新定时器负责发送更新的频率,每 30 秒向所有参与 RIP 路由的接口发送协议更新。 这意味着它获取路由表并将其分发到以 RIP 模式运行的所有端口。
假设我们有路由器 1,它通过网络 N2 连接到路由器 2。 在第一路由器之前和第二路由器之后有网络N1和N3。 路由器 1 告诉路由器 2 它知道网络 N1 和 N2 并向其发送更新。 路由器 2 告诉路由器 1 它知道网络 N2 和 N3。 在这种情况下,路由器端口每 30 秒交换一次路由表。

让我们想象一下,由于某种原因,N1-R1 连接中断,路由器 1 无法再与 N1 网络通信。 此后,第一路由器将仅向第二路由器发送有关 N2 网络的更新。 路由器 2 在收到第一个此类更新后,会想:“太好了,现在我必须将网络 N1 放入无效计时器中”,然后它将启动无效计时器。 在 180 秒内,它不会与任何人交换 N1 网络更新,但在这段时间之后,它将停止无效计时器并再次启动更新计时器。 如果在这180秒内它没有收到任何N1网络状态的更新,它就会将其放入一个持续180秒的Hold Down定时器中,即Hold Down定时器在Invalid定时器结束后立即启动。

与此同时,另一个第四个刷新计时器正在运行,它与无效计时器同时启动。 该计时器确定从接收有关网络 N1 的最后一次正常更新到该网络从路由表中删除之间的时间间隔。 这样,当该定时器的持续时间达到240秒时,网络N1将自动从第二路由器的路由表中排除。

因此,更新计时器每 30 秒发送一次更新。 无效计时器每 180 秒运行一次,等待新的更新到达路由器。 如果它没有到达,就会将该网络置于保持状态,保持计时器每 180 秒运行一次。 但 Invalid 和 Flush 定时器同时启动,这样在 Flush 启动后 240 秒,更新中未提及的网络就会被排除在路由表之外。 这些计时器的持续时间是默认设置的并且可以更改。 这就是 RIP 计时器。

现在让我们继续考虑 RIP 协议的局限性,其中有不少。 主要限制之一是自动求和。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

让我们回到我们的网络 192.168.1.0/24。 路由器 3 向路由器 4 告知整个 1.0 网络的信息,由 /24 表示。 这意味着该网络上的所有 256 个 IP 地址(包括网络 ID 和广播地址)均可用,这意味着来自具有此范围内任何 IP 地址的设备的消息都将通过 10.1.1.1 网络发送。 让我们看一下路由表R3。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

我们看到网络192.168.1.0/26,分为3个子网。 这意味着路由器只知道三个指定的 IP 地址:192.168.1.0、192.168.1.64 和 192.168.1.128,它们属于 /26 网络。 但它不知道任何信息,例如 IP 地址在 192.168.1.192 到 192.168.1.225 范围内的设备。

然而,由于某种原因,R4 认为它知道 R3 发送给它的流量的所有信息,即 192.168.1.0/24 网络上的所有 IP 地址,这是完全错误的。 与此同时,路由器可能会开始丢弃流量,因为它们互相“欺骗”——毕竟,路由器 3 无权告诉第四个路由器它知道有关该网络子网的所有信息。 出现这种情况是由于“自动求和”的问题造成的。 当流量跨不同的大型网络移动时,就会发生这种情况。 例如,在我们的示例中,具有 C 类地址的网络通过 R3 路由器连接到具有 A 类地址的网络。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

R3 路由器认为这些网络是相同的,并自动将所有路由汇总到单个网络地址 192.168.1.0。 让我们记住我们在之前的视频中讨论过的总结超网路由的内容。 求和的原因很简单 - 路由器认为路由表中的一个条目(对我们来说是通过 192.168.1.0 的条目 24/120 [1/10.1.1.1])优于 3 个条目。 如果网络由数百个小子网组成,那么当禁用汇总时,路由表将包含大量路由条目。 因此,为了防止路由表中积累大量信息,采用自动路由聚合的方式。

然而,在我们的例子中,自动总结路由会产生一个问题,因为它迫使路由器交换错误信息。 因此,我们需要进入R3路由器的设置,输入一条禁止自动汇总路由的命令。

为此,我依次键入命令 router rip 和 no auto-summary。 此后,您需要等待更新在整个网络中传播,然后您可以在 R4 路由器的设置中使用 show ip route 命令。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

您可以看到路由表如何变化。 通过 192.168.1.0 的条目 24/120 [1/10.1.1.1] 是从表的先前版本中保留的,并且由于更新计时器,每 30 秒更新一次三个条目。 Flush定时器确保更新后的240秒加上30秒,即270秒后,这个网络将从路由表中删除。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

网络 192.168.1.0/26、192.168.1.64/26 和 192.168.1.128/26 已正确列出,因此现在如果流量发往设备 192.168.1.225,该设备将丢弃该流量,因为路由器不知道该设备位于何处那个地址。 但在前一种情况下,当我们为 R3 启用自动汇总路由时,此流量将被定向到 10.1.1.1 网络,这是完全错误的,因为 R3 应该立即丢弃这些数据包,而不进一步发送它们。

作为网络管理员,您应该创建具有最少不必要流量的网络。 例如,在这种情况下,无需通过 R3 转发此流量。 您的工作是尽可能增加网络吞吐量,防止流量发送到不需要的设备。

RIP 的下一个限制是环路或路由环路。 我们已经讨论了当路由表正确更新时的网络收敛。 在我们的例子中,如果路由器对 192.168.1.0/24 网络一无所知,则不应接收该网络的更新。 从技术上讲,收敛意味着路由表仅使用正确的信息进行更新。 当路由器关闭、重新启动、重新连接到网络等时,应该会发生这种情况。 收敛是一种状态,其中所有必要的路由表更新均已完成并且所有必要的计算均已执行。
RIP 的收敛性很差,是一种非常非常慢的路由协议。 由于速度缓慢,就会出现路由环路或“无限计数器”问题。

我将画一个与前面的示例类似的网络图 - 路由器 1 通过网络 N2 连接到路由器 2,网络 N1 连接到路由器 1,网络 N2 连接到路由器 3。 我们假设由于某种原因 N1-R1 连接断开。

思科培训 200-125 CCNA v3.0。 第 21 天:距离矢量路由 RIP

路由器2知道网络N1可以通过路由器1一跳可达,但该网络目前不工作。 网络出现故障后,定时器进程启动,路由器1将其置于Hold Down状态,依此类推。 然而,路由器 2 有一个正在运行的更新计时器,并且在设定的时间它向路由器 1 发送更新,这表明网络 N1 可以通过它在两跳中访问。 在路由器 1 有时间向路由器 2 发送有关网络 N1 故障的更新之前,该更新已到达路由器 XNUMX。

收到此更新后,路由器 1 认为:“我知道连接到我的 N1 网络由于​​某种原因无法工作,但路由器 2 告诉我可以通过它在两跳中使用它。 我相信他,所以我将添加一跳,更新路由表并向路由器 2 发送更新,说明网络 N1 可以通过路由器 2 在三跳中访问!”
从第一个路由器收到此更新后,路由器 2 说:“好吧,早些时候我收到了来自 R1 的更新,其中表示 N1 网络可通过它在一跳中使用。 现在他告诉我3跳就可以了。 也许网络发生了一些变化,我忍不住相信这一点,所以我会通过添加一跳来更新我的路由表。” 此后,R2 向第一台路由器发送更新,表明网络 N1 现在在 4 跳中可用。
你看出问题所在了吗? 两台路由器互相发送更新,每次增加一跳,最终跳数达到很大。 在RIP协议中,最大跳数是16,一旦达到这个值,路由器就会意识到出现了问题,只需从路由表中删除这条路由即可。 这就是 RIP 中路由环路的问题。 这是因为RIP是距离矢量协议,它只监视距离,而不关注网络各段的状态。 1969 年,当计算机网络比现在慢得多时,距离向量方法是合理的,因此 RIP 开发人员选择跳数作为主要指标。 然而,如今这种方法会产生许多问题,因此现代网络已广泛改用更先进的路由协议,例如 OSPF。 事实上,该协议已成为大多数全球公司网络的标准。 我们将在以下视频之一中详细介绍该协议。

我们将不再回到 RIP,因为通过使用这个最古老的网络协议的示例,我已经向您介绍了有关路由的基础知识以及他们尝试不再在大型网络中使用该协议的问题。 在接下来的视频课程中,我们将了解现代路由协议 - OSPF 和 EIGRP。


感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的内容? 通过下订单或推荐给朋友来支持我们, 在我们为您发明的独特的入门级服务器模拟上,Habr 用户可享受 30% 的折扣: VPS (KVM) E5-2650 v4(6 核)10​​4GB DDR240 1GB SSD 20Gbps XNUMX 美元或如何共享服务器的全部真相? (适用于 RAID1 和 RAID10,最多 24 个内核和最多 40GB DDR4)。

戴尔R730xd便宜2倍? 只有这里 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 电视低至 199 美元 在荷兰! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - 99 美元起! 阅读 如何建设基础设施公司同级使用价值730欧元的Dell R5xd E2650-4 v9000服务器一分钱?

来源: habr.com

添加评论