网站文章不收录,做网站的一般多少钱,网站建设与规划方案书,苏州街网站建设前言
在本章的第一部分和第二部分中#xff0c;我们探讨了OSPF的基本配置#xff0c;并进一步学习了更多OSPF的概念#xff0c;例如静态路由的重分发及其度量值。在第三部分中#xff0c;我们讨论了多区域OSPF。在第四部分中#xff0c;我们将关注OSPF与多访问网络#…前言
在本章的第一部分和第二部分中我们探讨了OSPF的基本配置并进一步学习了更多OSPF的概念例如静态路由的重分发及其度量值。在第三部分中我们讨论了多区域OSPF。在第四部分中我们将关注OSPF与多访问网络最后会通过一个更复杂的OSPF实验来结束。
【网络协议】开放式最短路径优先协议OSPF详解一
【网络协议】开放式最短路径优先协议OSPF详解二
【网络协议】开放式最短路径优先协议OSPF详解三
多访问网络
多访问网络是由两个以上的设备共享相同介质的网络。在下图所示的例子中三台路由器和三台PC通过拓扑中心的两台交换机互连。这意味着路由器上连接到交换机的接口以及PC的接口都在同一个子网中。 另一方面在点对点网络Point-to-point networks中一个子网中只有两个设备。下图所示的两台路由器通过广域网链接WAN link互连这就是点对点网络的一个例子。 在OSPF中我们可以划分出以下五种网络类型
点对点网络Point-to-point点到多点网络Point-to-multipoint广播多访问网络Broadcast Multiaccess虚拟链路Virtual links非广播多访问网络Nonbroadcast Multiaccess, NBMA
OSPF广播多访问网络中的问题
在广播多访问网络中OSPF环境面临以下两个主要问题
多重邻接关系Multiple AdjacenciesLSA泛洪Flooding of LSAs
多重邻接关系
如前所述在OSPF中相邻的路由器通常会彼此建立邻接关系。在广播多访问网络中这会成为一个主要问题。
举个例子 在点对点网络中邻居通常是直接相连的路由器。但在广播多访问网络中例如下图所示四台路由器通过同一子网直接相连。
这意味着在此场景中路由器将彼此泛洪LSA并相互建立邻接关系。
可以使用以下公式计算邻接关系数量
n*(n-1)/2其中n表示路由器的数量。
示例 在下图中有 4 台路由器。根据公式 n*(n-1)/2 4*(4-1)/2 6 结果为6蓝色箭头表示这些邻接关系。 在这个场景中邻接关系的数量相对较少。但如果网络规模扩大比如有100台路由器可以想象会出现什么情况。这种情况会成为一个严重的问题并对路由器的资源造成巨大负担。
LSA的泛洪Flooding of LSAs
如我们之前所学OSPF使用触发更新Triggered Updates并将这些更新泛洪到所有相关路由器。
以上述场景为例如果R1丢失了与其LAN接口的路由信息该信息将被广播到R2、R3和R4。这些路由器又会将该信息泛洪到网络中的每一台路由器除了信息的来源路由器R1以避免引发路由循环Routing Loop。
下图展示了这一过程。 绿色箭头表示R1上失效的网络。可以看到这一信息被多次传播到R2、R3和R4。这种重复传播可能导致路由循环Routing Loop。
解决OSPF广播多访问问题的方案
在OSPF中通过选举指定路由器Designated Router, DR和备份指定路由器Backup Designated Router, BDR来解决这些问题。 在第一次实例中我们看到当R1上的一个网络故障时所有路由器都会接收到关于丢失路由的更新。然而通过选举指定路由器DR如上所示R1只会通知DR路由器——R2告知R2关于丢失的路由。然后DR会更新多访问网络中的其他路由器。
注意 在我们上面的场景中我们没有包括备份指定路由器BDR然而BDR也会收到丢失路由的通知但它不会更新其他路由器除非DR出现故障在这种情况下BDR会被提升为DR角色。
在OSPF中DR和BDR的选举是一个非常重要的因素它解决了我们看到的问题。当DR和BDR被选举出来后网络中的所有其他路由器将成为DROther这意味着它们既不是DR也不是BDR。DROther路由器永远不会更新网络中的其他路由器。
DR和BDR的选举
DR和BDR是如何选举出来的以下是适用的标准
首先选举具有最高OSPF优先级的路由器为DR。其次选举具有第二高OSPF优先级的路由器为BDR。如果优先级相同则根据最高路由器ID选举DR。
在上一节中我们讨论了路由器ID的选取标准
使用router-id命令配置的路由器ID最高的回环接口OSPF域中最高的活动接口
根据上述信息我们可以确定以下拓扑中的DR和BDR。 根据上述拓扑R2和R3是DR的候选路由器因为它们在网络中具有最高的路由器优先级。然而由于R2的路由器ID更高因此它将成为DRR3将成为BDR仅在R2失败时才会使用R3。
提升BDR为DR
DR通常不会改变除非发生以下情况之一
DR故障。连接到多访问网络的DR接口故障。DR上的OSPF进程故障。
如果发生其中之一BDR路由器会自动被提升为DR角色。然后路由器会进行选举来确定新的BDR。如果之前失败的DR重新上线它不会恢复为DR角色而是会变为DROther角色。
路由器优先级
在大多数情况下我们希望通过优先级选择DR路由器。在这种情况下仅依赖路由器ID可能不足够。OSPF中的路由器优先级用于确定哪个路由器成为以太网段中的DR和BDR如前所述。
更改路由器的OSPF优先级是确保选择正确路由器作为DR的关键。
要配置路由器的优先级我们在参与OSPF的路由器接口上使用命令“ip ospf priority 0-255”。
注意 优先级为0意味着该路由器永远不会成为DR。
现在我们已经了解了OSPF和多访问网络中的概念接下来我们将进行一个实验看看这些概念是如何工作的。
OSPF拓扑
下图显示了我们将要配置的拓扑。正如我们所看到的我们有6个路由器它们都连接到1个交换机并且都位于192.168.1.0/24网络中的一个以太网段。
该拓扑中的每个路由器使用的IP地址与其路由器编号相对应。 在这个场景中我们需要在所有路由器上配置OSPF并且我们应该确定哪些路由器将被选举为DR和BDR。
R1、R3、R4和R6都具有回环接口IP地址如图所示。
注意 配置连接到交换机的快速以太网接口后保持它们处于关闭状态shutdown。
以下表格显示了正在使用的路由器ID和OSPF优先级。 在我们的场景中路由器的基本配置已经完成我们的任务是配置OSPF并确定谁将被选举为DR和BDR。
配置OSPF
在这个场景中我们需要做的第一件事是配置所有路由器上的OSPF。这意味着要使用network命令。
在我们的例子中我们使用的OSPF进程ID为1并且使用区域0。
以下表格显示了6台路由器上OSPF配置的命令。 如上所示所有网络命令已配置但由于连接路由器和交换机的接口处于关闭模式因此不会广告任何路由。
配置OSPF优先级
下一步是配置OSPF优先级这需要在连接到多访问设备的特定接口上进行配置使用以下命令 在我们的场景中所有路由器都有连接到交换机的相同接口即FastEthernet 0/0。
因此在这些接口上我们将配置OSPF优先级如上所示
下面显示的是R1和R4的配置。 在所有路由器上配置完OSPF优先级后使用“no shutdown”命令启用连接到交换机的接口这将使OSPF能够学习到网络中的路由。
下面显示的是在R1上执行“show ip route”命令的输出。 如上图R1已经从邻居路由器学习到所有的路由。
为了确认哪个路由器充当DR角色我们在每个路由器上使用“show ip ospf neighbor”命令。下面显示的是在R4上执行该命令的输出。 从输出中可以看到R4已经与网络中的所有路由器建立了完整的邻居关系。此外由于邻居1.1.1.1被标记为BDR所有其他路由器被标记为DROTHER因此路由器R4是该网络的DR。
在R3上执行“show ip ospf neighbor”命令的输出应该显示谁是DR路由器。 注意邻居4.4.4.4的状态为“FULL/DR”邻居1.1.1.1的状态为“FULL/BDR”其他路由器的状态为“2WAY/DROTHER”。
在像我们这样的多访问网络中路由器只有在与DR和BDR建立完全邻居关系FULL邻居关系时才能进行完整的通信。DROTHER路由器只会与其他路由器建立2WAY关系。
DR重新选举
现在我们将尝试看看如果DR和BDR路由器下线并且无法正常工作会发生什么情况。
1、DR宕机
如前所述如果DR宕机BDR会自动成为新的DR。我们可以通过关闭R4的FastEthernet0/0接口来测试这一点因为R4是当前的DR。 正如我们从R6上运行的“show ip ospf neighbor”命令的输出中看到的上图邻居1.1.1.1成为新的DR而它之前是网络中的BDR。
BDR的选举在邻居3.3.3.3和邻居5.5.5.5之间进行这两个路由器的OSPF优先级相同。邻居5.5.5.5被选为新的BDR因为它的路由器ID更高。
2、如果DR重新上线会发生什么
当我们通过在FastEthernet0/0接口上输入“no shutdown”命令启用R4的接口时它会恢复作为DR的责任吗R6上运行的“show ip ospf neighbor”命令的输出如下。 正如我们从上述输出中看到的R1仍然会保持作为DR而R4即使具有更高的优先级仍将保持作为BDR。这是一个保护功能以防路由器再次失败。
注意当DR失败时它只能在新的DR和新的BDR失败的情况下恢复其作为DR的角色即使它具有最高优先级。
注意在多访问网络中优先级为0的路由器将永远不会成为DR或BDR。