思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

今天我们将开始学习OSPF路由。 这个主题和EIGRP协议一样,是整个CCNA课程中最重要的主题。 如您所见,第 2.4 节的标题是“针对 IPv2 的 OSPFv4 单区域和多区域的配置、测试和故障排除(不包括身份验证、过滤、手动路由汇总、重新分配、存根区域、VNet 和 LSA)”。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

OSPF 的主题相当广泛,因此需要 2 到 3 节视频课程。 今天的课程将专注于该问题的理论方面;我将告诉您该协议的一般含义及其工作原理。 在下一个视频中,我们将继续使用 Packet Tracer 进行 OSPF 配置模式。

因此,在本课中,我们将介绍三件事:OSPF 是什么、它如何工作以及 OSPF 区域是什么。 在上一课中,我们说过 OSPF 是一种链路状态路由协议,它检查路由器之间的通信链路并根据这些链路的速度做出决策。 具有较高速度(即具有较高吞吐量)的长通道将优先于具有较低吞吐量的短通道。

RIP 协议是距离矢量协议,即使该链路的速度较低,也会选择单跳路径;而 OSPF 协议如果该路由上的总速度高于该路由的总速度,则会选择几跳的长路由。短途路线上的交通速度。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

稍后我们将讨论决策算法,但现在您应该记住 OSPF 是一种链路状态协议。 这个开放标准创建于 1988 年,以便每个网络设备制造商和任何网络提供商都可以使用它。 因此 OSPF 比 EIGRP 更受欢迎。

OSPF 版本 2 仅支持 IPv4,一年后,即 1989 年,开发人员发布了支持 IPv3 的版本 6。 然而,用于 IPv6 的全功能 OSPF 第三版直到 2008 年才出现。 为什么选择OSPF? 在上一课中,我们了解到该内部网关协议的路由收敛速度比 RIP 快得多。 这是一个无类协议。

如果您还记得的话,RIP 是一个有类协议,这意味着它不发送子网掩码信息,如果遇到 A/24 类 IP 地址,它不会接受它。 例如,如果您向其提供类似 10.1.1.0/24 的 IP 地址,它会将其视为网络 10.0.0.0,因为它无法理解何时使用多个子网掩码对网络进行子网划分。
OSPF 是一种安全协议。 例如,如果两个路由器正在交换 OSPF 信息,您可以配置身份验证,以便在输入密码后只能与相邻路由器共享信息。 正如我们已经说过的,它是一个开放标准,因此 OSPF 被许多网络设备制造商使用。

从全球意义上来说,OSPF 是一种交换链路状态通告 (LSA) 的机制。 LSA 消息由路由器生成,包含大量信息:路由器的唯一标识符 router-id、有关路由器已知网络的数据、有关其成本的数据等。 路由器需要所有这些信息来做出路由决策。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

路由器 R3 将其 LSA 信息发送给路由器 R5,路由器 R5 与 R3 共享其 LSA 信息。 这些 LSA 代表形成链路状态数据库 (LSDB) 的数据结构。 路由器收集所有收到的LSA并将它们放入其LSDB中。 两台路由器创建数据库后,它们交换 Hello 消息,用于发现邻居,并开始比较其 LSDB 的过程。

路由器 R3 向路由器 R5 发送 DBD(即“数据库描述”消息),R5 将其 DBD 发送到路由器 R3。 这些消息包含每个路由器的数据库中可用的 LSA 索引。 收到 DBD 后,R3 向 R5 发送 LSR 网络状态请求,表示“我已经有消息 3,4 和 9,所以只向我发送 5 和 7”。

R5 也做同样的事情,告诉第三个路由器:“我有信息 3,4 和 9,所以请向我发送 1 和 2。” 路由器收到LSR请求后,发回LSU网络状态更新报文,即,第三路由器响应其LSR,从路由器R5接收LSU。 路由器更新数据库后,即使有 100 台路由器,所有路由器都将具有相同的 LSDB。 一旦路由器中创建了 LSDB 数据库,每个路由器都会了解整个网络的整体情况。 OSPF协议采用最短路径优先算法创建路由表,因此其正确运行最重要的条件是网络中所有设备的LSDB同步。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

上图中,有9台路由器,每台路由器都与邻居交换LSR、LSU等消息。 所有这些都通过 p2p 或“点对点”接口相互连接,支持通过 OSPF 协议进行操作,并相互交互以创建相同的 LSDB。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

一旦基站同步,每个路由器就会使用最短路径算法形成自己的路由表。 对于不同的路由器,这些表会有所不同。 即所有路由器都使用相同的LSDB,但根据自己对最短路由的考虑来创建路由表。 为了使用该算法,OSPF需要定期更新LSDB。

因此,OSPF要发挥作用,首先必须提供3个条件:找到邻居、创建和更新LSDB、形成路由表。 为了满足第一个条件,网络管理员可能需要手动配置路由器 ID、计时或通配符掩码。 在下一个视频中,我们将了解如何设置设备以与 OSPF 一起使用,现在您应该知道该协议使用反向掩码,如果它不匹配,如果您的子网不匹配,或者身份验证不匹配,邻居路由器将无法形成。 因此,在排除OSPF故障时,必须找出该邻居未形成的原因,即检查上述参数是否匹配。

作为网络管理员,您不参与LSDB的创建过程。 创建路由器邻居后,数据库会自动更新,路由表的构建也是如此。 所有这些都是由设备本身执行的,配置为与 OSPF 协议一起工作。
让我们看一个例子。 我们有 2 个路由器,为简单起见,我为其分配了 RID 1.1.1.1 和 2.2.2.2。 一旦我们连接它们,链路通道将立即进入 up 状态,因为我首先将这些路由器配置为与 OSPF 一起工作。 一旦通信通道形成,路由器A就会立即向路由器A发送Hello报文。 该数据包将包含该路由器尚未“看到”此通道上任何人的信息,因为它是第一次发送 Hello,以及它自己的标识符、有关与其连接的网络的数据以及它可以获取的其他信息。与邻居分享。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

收到此数据包后,路由器 B 会说:“我发现此通信通道上有一个潜在的 OSPF 邻居候选者”,并将进入 Init 状态。 Hello 数据包不是单播或广播消息,它是发送到多播 OSPF IP 地址 224.0.0.5 的多播数据包。 有人问组播的子网掩码是多少。 事实上,多播没有子网掩码;它以无线电信号的形式传播,所有调谐到其频率的设备都能听到该信号。 例如,如果您想收听频率为 91,0 的 FM 广播,您可以将收音机调至该频率。

以同样的方式,路由器 B 配置为接收组播地址 224.0.0.5 的消息。 在侦听该通道时,它接收路由器 A 发送的 Hello 数据包并用自己的消息进行响应。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

在这种情况下,只有当答案 B 满足一组标准时才能建立邻域。 第一个标准是两台路由器发送Hello消息的频率和等待响应该消息的间隔Dead Interval必须相同。 通常,失效间隔等于几个 Hello 计时器值。 这样,如果路由器A的Hello Timer为10秒,路由器B在30秒后向其发送消息,而Dead Interval为20秒,则不会建立邻接关系。

第二个标准是两个路由器必须使用相同类型的身份验证。 因此,身份验证密码也必须匹配。

第三个标准是 Arial ID 区域标识符的匹配,第四个标准是网络前缀长度的匹配。 如果路由器 A 报告 /24 前缀,则路由器 B 也必须有 /24 网络前缀。 在下一个视频中,我们将更详细地了解这一点,现在我会注意到这不是子网掩码,这里路由器使用反向通配符掩码。 当然,如果路由器位于该区域中,则存根区域标志也必须匹配。

检查这些条件后,如果它们匹配,则路由器 B 将其 Hello 数据包发送到路由器 A。 与 A 的消息相反,路由器 B 报告它看到了路由器 A 并介绍了自己。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

作为对该消息的响应,路由器 A 再次向路由器 B 发送 Hello,确认它也看到了路由器 B,它们之间的通信通道由设备 1.1.1.1 和 2.2.2.2 组成,并且它本身就是设备 1.1.1.1 。 这是建立邻里关系的一个非常重要的阶段。 在本例中,使用了双向 2-WAY 连接,但如果我们有一台交换机,其分布式网络包含 4 个路由器,会发生什么情况? 在这种“共享”环境中,其中一台路由器应扮演指定路由器 DR 的角色,第二台路由器应扮演备份指定路由器 BDR 的角色

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

这些设备中的每一个都会形成一个Full连接,或者说完全连续的状态,稍后我们会看看这是什么,但是,这种类型的连接只会与DR和BDR建立;两个较低的路由器D和B将仍然使用“点对点”的双向连接方案相互通信。

也就是说,通过 DR 和 BDR,所有路由器建立完整的邻居关系,并且相互之间建立点对点连接。 这一点非常重要,因为在相邻设备之间的双向连接过程中,所有 Hello 数据包参数都必须匹配。 在我们的例子中,一切都匹配,因此设备形成一个邻居,没有任何问题。

一旦建立了双向通信,路由器A就向路由器B发送数据库描述数据包,或“数据库描述”,并进入ExStart状态——交换的开始,或等待加载。 数据库描述符是类似于书籍目录的信息 - 它是路由数据库中所有内容的列表。 作为响应,路由器 B 将其数据库描述发送给路由器 A,并进入 Exchange 通道通信状态。 如果在 Exchange 状态下路由器检测到其数据库中缺少某些信息,它将进入 LOADING 加载状态并开始与邻居交换 LSR、LSU 和 LSA 消息。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

因此,路由器 A 将向其邻居发送 LSR,邻居将用 LSU 数据包进行响应,路由器 A 将用 LSA 消息向路由器 B 做出响应。 设备想要交换 LSA 消息时,这种交换就会发生多次。 LOADING 状态意味着 LSA 数据库的完整更新尚未发生。 下载完所有数据后,两个设备将进入完全邻接状态。

请注意,在双向连接中,设备只是处于邻接状态,并且完全邻接状态仅可能在路由器、DR 和 BDR 之间。这意味着每个路由器都会向 DR 通知网络中的变化,并且所有路由器都会向 DR 通报网络中的变化。从 DR 了解这些变化

DR和BDR的选择是一个重要的问题。 我们看一下一般环境下DR是如何选择的。 假设我们的方案有三个路由器和一个交换机。 OSPF设备首先比较Hello消息中的优先级,然后比较Router ID。

优先级最高的设备成为 DR 如果两台设备的优先级一致,则从两台设备中选择 Router ID 最高的设备成为 DR

优先级第二高或者Router ID第二高的设备成为备份专用路由器BDR,如果DR失效,会立即被BDR取代,开始扮演DR的角色,系统会选择另一个北德罗

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

我希望您已经弄清楚 DR 和 BDR 的选择,如果没有,我将在以下视频之一中返回这个问题并解释此过程。

到目前为止,我们已经了解了 Hello 是什么、数据库描述符以及 LSR、LSU 和 LSA 消息。 在进入下一个主题之前,我们先来谈谈 OSPF 的成本。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

在思科,路由的成本是使用参考带宽(默认设置为 100 Mbit/s)与通道成本之比的公式计算的。 例如,当通过串口连接设备时,速度为 1.544 Mbps,成本将为 64。当使用速度为 10 Mbps 的以太网连接时,成本将为 10,而使用快速以太网连接的成本为 100 Mbps。 1 Mbps 的速度将为 XNUMX。

当使用千兆位以太网时,我们的速度为 1000 Mbps,但在这种情况下,速度始终假定为 1。因此,如果您的网络上有千兆位以太网,则必须更改 Ref 的默认值。 BW乘1000。这种情况下,cost值为1,整个表都会重新计算,cost值增加10倍。 一旦我们形成了邻接关系并构建了 LSDB,我们就开始构建路由表。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

每台路由器收到LSDB后,开始独立地使用SPF算法生成路由列表。 在我们的方案中,路由器A将为自己创建这样一个表。 例如,它计算出路由A-R1的成本,并将其确定为10。为了使图更容易理解,假设路由器A确定了到路由器B的最佳路由。链路A-R1的成本为10 ,链路A-R2为100,路由A-R3的开销等于11,即路由A-R1(10)和R1-R3(1)之和。

如果路由器 A 想要到达路由器 R4,它可以沿着路由 A-R1-R4 或沿着路由 A-R2-R4 执行此操作,并且在这两种情况下,路由的成本将相同:10+100 =100+10=110。 路线A-R6花费100+1=101,已经比较好了。 接下来,我们考虑沿 A-R5-R1-R3 路由到路由器 R5 的路径,其成本为 10+1+100 = 111。

到路由器 R7 的路径可以沿着两条路由铺设:A-R1-R4-R7 或 A-R2-R6-R7。 第一个的成本是 210,第二个是 201,这意味着您应该选择 201。因此,要到达路由器 B,路由器 A 可以使用 4 条路由。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

路线 A-R1-R3-R5-B 的成本为 121。路线 A-R1-R4-R7-B 的成本为 220。路线 A-R2-R4-R7-B 的成本为 210,A-R2- R6-R7-B 的成本为 211。基于此,路由器 A 将选择成本最低的路由(等于 121),并将其放入路由表中。 这是 SPF 算法工作原理的非常简化的图表。 事实上,该表不仅包含最佳路由所经过的路由器的名称,还包含连接它们的端口的名称以及所有其他必要信息。

让我们看看另一个与路由区域有关的主题。 通常,在设置公司的 OSPF 设备时,它们都位于一个公共区域中。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

如果连接到 R3 路由器的设备突然出现故障怎么办? 路由器 R3 将立即开始向路由器 R5 和 R1 发送一条消息,告知该设备的通道不再工作,并且所有路由器将开始交换有关此事件的更新。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

如果您有 100 个路由器,它们都会更新链路状态信息,因为它们位于同一个公共区域中。 如果其中一台相邻路由器发生故障,也会发生同样的情况 - 该区域中的所有设备都将交换 LSA 更新。 交换此类消息后,网络拓扑本身将发生变化。 一旦发生这种情况,SPF就会根据变化的情况重新计算路由表。 这是一个非常大的过程,如果一个区域中有一千台设备,则需要控制路由器的内存大小,使其足以存储所有的LSA和庞大的LSDB链路状态数据库。 一旦区域中的某些部分发生变化,SPF算法立即重新计算路由。 缺省情况下,LSA每30分钟更新一次。 此过程不会同时在所有设备上发生,但无论如何,每个路由器每 30 分钟执行一次更新。 网络设备越多。 更新 LSDB 所需的内存和时间越多。

这一问题可以通过将一个公共区域划分为多个独立区域(即使用多分区)来解决。 为此,您必须拥有您管理的整个网络的计划或图表。 AREA 0 是您的主要区域。 这是与外部网络连接的地方,例如访问互联网。 创建新的区域时,必须遵循以下规则:每个区域必须有一个ABR(区域边界路由器)。 边缘路由器在一个区域中具有一个接口,在另一个区域中具有第二个接口。 例如,R5 路由器在区域 1 和区域 0 中都有接口。正如我所说,每个区域都必须连接到区域 0,即有一个边缘路由器,其接口之一连接到 AREA XNUMX。

思科培训 200-125 CCNA v3.0。 第 44 天:OSPF 简介

假设 R6-R7 连接失败。 在这种情况下,LSA 更新将仅通过 AREA 1 传播,并且仅影响该区域。 区域 2 和区域 0 中的设备甚至不会知道这一点。 边缘路由器 R5 汇总有关其区域中发生的情况的信息,并将有关网络状态的汇总信息发送到主区域 AREA 0。 一个区域中的设备不需要知道其他区域内的所有 LSA 更改,因为 ABR 路由器会将汇总路由信息从一个区域转发到另一个区域。

如果您不完全清楚区域的概念,您可以在接下来的课程中了解更多信息,当我们开始配置 OSPF 路由并查看一些示例时。


感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的内容? 通过下订单或推荐给朋友来支持我们, 在我们为您发明的独特的入门级服务器模拟上,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

添加评论