2022年OSPF的各种网络类型 .pdf
OSPFOSPF 在帧中继网络里的几种网络类型在帧中继网络里的几种网络类型今天和大家讨论一下OSPF在帧中继中的几种网络类型,以下是今天实验的拓扑:以上拓扑是实验室的实际拓扑,在二层使用帧中继全互联网状结构,IP段为192.168.0.0/24网段,为了达到我们的实验目的,我们需要手工将拓扑更改为Hub&Spoke, 具体做法是不要使用Inverse-arp来自动映射 DLCI号,而改为手动映射,以达到只使用红色PVC 的目的,下面是实验拓扑:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 首先我们把实验环境(帧中继配置)搭建好:选择IP段,建立 LOOPBACK接口模拟用户网段命令:R1:interfaceLoopback0ipaddress1.1.1.1interfaceSerial0ipaddress192.168.0.1255.255.255.0encapsulationframe-relayframe-relaymap ip192.168.0.2102frame-relaymap ip192.168.0.3103frame-relaymap ip192.168.0.4104no frame-relayinverse-arpR2:interfaceLoopback0ipaddress2.2.2.2interfaceSerial0ipaddress192.168.0.2255.255.255.0encapsulationframe-relay名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - frame-relaymap ip192.168.0.1201frame-relaymap ip192.168.0.3201frame-relaymap ip192.168.0.4201no frame-relayinverse-arpR3:interfaceLoopback0ipaddress3.3.3.3interfaceSerial0ipaddress192.168.0.3255.255.255.0encapsulationframe-relayframe-relaymap ip192.168.0.1301frame-relaymap ip192.168.0.2301frame-relaymap ip192.168.0.4301no frame-relayinverse-arpR4:interfaceLoopback0ipaddress4.4.4.4interfaceSerial0ipaddress192.168.0.4255.255.255.0encapsulationframe-relayframe-relaymap ip192.168.0.1401frame-relaymap ip192.168.0.2401frame-relaymap ip192.168.0.3401no frame-relayinverse-arp以下每部分做完都用 clearipospfprocess 命令重启一下OSPF 进程一:默认模式( NBMA)由于OSPF 在FRAME-RELAY里运行的默认模式是 NBMA, 所以,在该模式下 OSPF 是不会以组播方式来建立邻居的,所有邻居都要通过手工指定。在FRAME-RELAY里默认也是不支持转发广播和组播包的。1、OSPF 基本配置宣告网络R1#routerospf110net 1.1.1.00.0.0.255a 0net 192.168.0.00.0.0.255a 0R2#routerospf110net 2.2.2.00.0.0.255a 0名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - net 192.168.0.00.0.0.255a 0R3#routerospf110net 3.3.3.00.0.0.255a 0net 192.168.0.00.0.0.255a 0R4#routerospf110net 4.4.4.00.0.0.255a 0net 192.168.0.00.0.0.255a 0现在,我们把所有网络都宣告到了OSPF 进程中,如果是在 BMA 网络中,这样做后 OSPF 就应该可以正常运行了,检查:R1#show ipospfneighbor我们发现没有任何邻居信息。由于FRAME-RELAY默认是不能转发广播的,所以我们让FRAME-RELAY 支持广播:R1(config-if)#frame map ip192.168.0.2102 broadcastframe map ip192.168.0.3103 broadcastframe map ip192.168.0.4104 broadcastR2(config-if)#frame map ip192.168.0.1201 broadcastframe map ip192.168.0.3201 broadcastframe map ip192.168.0.4201 broadcastR3(config-if)#frame map ip192.168.0.1301 broadcastframe map ip192.168.0.2301 broadcastframe map ip192.168.0.4301 broadcastR4(config-if)#frame map ip192.168.0.1401 broadcastframe map ip192.168.0.2401 broadcastframe map ip192.168.0.3401 broadcast然后我们再看 OSPF 的邻居:R1#show ipospfneighbor邻居依然没有建立,因为 OSPF 默认在帧中继中是以 NBMA 运行模式来运行的,在这种模式下它是不会主动发组播 HELLO 来建立邻居的,要建立邻居,必须用neighbor 命令以单播方式来手工建立:R1(config-router)#neighbor192.168.0.2R1(config-router)#neighbor192.168.0.3R1(config-router)#neighbor192.168.0.4名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - 再检查:R1#show ipospf neighborNeighborIDPriStateDead TimeAddressInterfaceN/A0ATTEMPT/DROTHER00:01:40192.168.0.2Serial0N/A0ATTEMPT/DROTHER00:01:41192.168.0.3Serial0N/A0ATTEMPT/DROTHER00:01:41192.168.0.4Serial0现在我们看到所有邻居还没有收敛,在NBMA 网络中,有一种特殊的状态,叫ATTEMPT状态,当一台路由器以 neighbor 手工指定邻居后,它不会立即向邻居发出单播HELLO ,而是默认等待一个选举周期(默认120秒)后再向邻居发出 HELLO ,如果收到对方的回应,则进入2WAY 状态,并用 HELLO 同期来代替选举周期。在 NBMA 网络中, HELLO 周期默认为 30秒,死亡间隔默认为 120秒,可以通过下面的命令看到:R1#show ipospfinterfaceserial0R1#show ipospf neighborNeighborIDPriStateDead TimeAddressInterface2.2.2.21FULL/DROTHER00:01:41192.168.0.2Serial03.3.3.31FULL/DROTHER00:01:41192.168.0.3Serial04.4.4.41FULL/DR00:01:41192.168.0.4Serial0现在邻居可以建立起来了,但是还是会有问题,由于Spoke 位置的路由器只能和 Hub 位置的路由器直接通信,由于路由器不转发Hello 包, 这样导致 R2 、R3 、R4 无法交流 Hello (R1不转发它们),所以它们相互是不能知晓对方的存在的,它们只能看到R1,由于每个路由器才R-ID都比R1 大,所以它们都认为自己为DR ,而R1 则认为R4 是DR ,因为它的 R-ID最大。我们可以通过下面的命令证明这个事实:R1/R2/R3/R4#show ipospf neighborR1/R2/R3/R4#show ipospf interfaceserial0现在网络中出现了多个 DR ,造成了 OSPF 运行混乱,为了解决该问题,我们要把DR 手工固定在Hub 位置,这样,所有 DR-Other都能和DR 建立邻居了,在这种网络中,必须避免BDR的选举,因为如果网络中存在BDR 的话,一旦 DR 失效,则存在于非 Hub 位置的BDR 接管了DR ,即使DR 恢复正常,也无法从之前的BDR 手中抢回 DR 的地位,所以又会造成其它DR-Other一直停留在2WAY 状态。所以,要把所有 Spoke 位置的路由器的接口优先级改为0, 让Hub 位置的路由器的接口优先级大于 0.R1(config-if)#ipospfpriority10R2(config-if)#ipospfpriority0R3(config-if)#ipospfpriority0R4(config-if)#ipospfpriority0名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - 做完后我们可以看到所有路由器都把R1 当做自己的 DR 了,网络中只存在一个共同的 DR ,并且没有 BDR 。我们看看 OSPF 的路由表:R4#sh iprouteospf1.0.0.0/32issubnetted,1 subnetsO1.1.1.1110/65via192.168.0.1,00:01:05,Serial02.0.0.0/32issubnetted,1 subnetsO2.2.2.2110/65via192.168.0.2,00:01:05,Serial03.0.0.0/32issubnetted,1 subnetsO3.3.3.3110/65via192.168.0.3,00:01:05,Serial0它们的下一跳都是自己非直连邻居,也就是说它们在互相访问时忽略了R1 的中转。二:点到多点( Point-to-multipoint)在这种模式下, OSPF 以组播发送 Hello 包来主动发起邻居的建立,并且它们不需要选举DR 和BDR ,路由器把点到多点链路看成是多条点到点链路的集合,但是和点到点链路不同,它们的Hello 间隔是30秒, 死亡间隔是 120秒。更改运行模式:R1/R2/R3/R4#(config-if)#ipospfnetworkpoint-to-multipoint除了注意一定要在二层开启广播外,其它配置和上面实验一样。检查:R1#show ipospf neighborNeighborIDPriStateDead TimeAddressInterface2.2.2.20FULL/-00:01:45192.168.0.2Serial03.3.3.30FULL/-00:01:36192.168.0.3Serial04.4.4.40FULL/-00:01:46192.168.0.4Serial0能够看到邻居的状态,但是不能看到邻居的角色,因为它们不选举DR 和BDR 。再看路由表:R4#show iprouteospf1.0.0.0/32issubnetted,1 subnetsO1.1.1.1110/65via192.168.0.1,00:15:34,Serial02.0.0.0/32issubnetted,1 subnets名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - O2.2.2.2110/129via192.168.0.1,00:15:34,Serial03.0.0.0/32issubnetted,1 subnetsO3.3.3.3110/129via192.168.0.1,00:15:34,Serial0192.168.0.0/24isvariablysubnetted,4 subnets,2 masksO192.168.0.1/32110/64via192.168.0.1,00:15:34,Serial0O192.168.0.2/32110/128via192.168.0.1,00:15:34,Serial0O192.168.0.3/32110/128via192.168.0.1,00:15:34,Serial0在点到多点模式下,在 Spoke 上看到的所有非直连网段的下一跳都是Hub 和自己相连的接口地址,而且每个节点会产生一条32位的主机路由。三:点到多点非广播( Poing-to-pointNo-Broadcast)在这种模式下, OSPF 不主动发起组播 Hello 来建立邻居,如果不用 neighbor 命令来指定邻居,即使开启二层广播转发功能,邻居也无法建立。1、更改运行模式:R1/R2/R3/R4#(config-if)#ipospfnetworkpoint-to-multipointnon-broadcast2、手工指定邻居:R1(config-router)#neighbor192.168.0.2R1(config-router)#neighbor192.168.0.3R1(config-router)#neighbor192.168.0.4R2(config-router)#neighbor192.168.0.1R3(config-router)#neighbor192.168.0.1R4(config-router)#neighbor192.168.0.1检查:R1#show ipospf neighborNeighborIDPriStateDead TimeAddressInterface2.2.2.20FULL/-00:01:45192.168.0.2Serial03.3.3.30FULL/-00:01:36192.168.0.3Serial04.4.4.40FULL/-00:01:46192.168.0.4Serial0能够看到邻居的状态,但是不能看到邻居的角色,因为它们不选举DR 和BDR 。再看路由表:R4#show iprouteospf1.0.0.0/32issubnetted,1 subnetsO1.1.1.1110/65via192.168.0.1,00:15:34,Serial02.0.0.0/32issubnetted,1 subnetsO2.2.2.2110/129via192.168.0.1,00:15:34,Serial0名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10 页 - - - - - - - - - 3.0.0.0/32issubnetted,1 subnetsO3.3.3.3110/129via192.168.0.1,00:15:34,Serial0192.168.0.0/24isvariablysubnetted,4 subnets,2 masksO192.168.0.1/32110/64via192.168.0.1,00:15:34,Serial0O192.168.0.2/32110/128via192.168.0.1,00:15:34,Serial0O192.168.0.3/32110/128via192.168.0.1,00:15:34,Serial0在点到多点模式下,在 Spoke 上看到的所有非直连网段的下一跳都是Hub 和自己相连的接口地址, 而且每个节点会产生一条 32位的主机路由。四:广播模式( BoardcastNBMA)在这种模式下, OSPF 会以组播 Hello 来主动发起邻居的建立,它把帧中继当作一种BMA网络来运行,所以它的 Hello 间隔和死亡间隔和以太网是一样的,都是10/40秒。可以通过下面的命令来证明:R1/R2/R3/R4(config-if)#ipospfnetworkbroadcastR1/R2/R3/R4Show ipospfinterfaceserial0由于之前的实验里我们已经把Frame-Realy的广播转发能力开启了,所以现在我们只要把每个路由器的单播邻居删除掉,度把OSPF 接口运行模式更改为 Broadcast 就可以了 , 命令略过。我们看看 OSPF 的路由表:R4#sh iprouteospf1.0.0.0/32issubnetted,1 subnetsO1.1.1.1110/65via192.168.0.1,00:01:05,Serial02.0.0.0/32issubnetted,1 subnetsO2.2.2.2110/65via192.168.0.2,00:01:05,Serial03.0.0.0/32issubnetted,1 subnetsO3.3.3.3110/65via192.168.0.3,00:01:05,Serial0它们的下一跳都是自己非直连邻居,也就是说它们在互相访问时忽略了R1 的中转。五:点到点模式( Pointto point )在这种模式下, OSPF 会向224.0.0.5 组播Hello 包,Hello 间隔为10秒,死亡间隔为 40秒,但是它们不会选举 DR 和BDR 。在Hub 位置的路由器为了连接多个点到点链路,必须配置子接口,每个子接口为一个独立IP网络的成员,实现子接口间的路由。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - 1、把所有路由器之前的主接口IP地址删除,并把帧中继映射删除。2、建立子接口,指定接口模式,配置IP地址,并指定 DLCI号:R1(config)#interfaceserial0.2point-to-pointR1(config-subif)#ipaddress12.12.12.1255.255.255.252R1(config-subif)#frame-relayinterface-dlci102R1(config)#interfaceserial0.3point-to-pointR1(config-subif)#ipaddress13.13.13.1255.255.255.252R1(config-subif)#frame-relayinterface-dlci103R1(config)#interfaceserial0.4point-to-pointR1(config-subif)#ipaddress14.14.14.1255.255.255.252R1(config-subif)#frame-relayinterface-dlci104Spoke 路由器不需要建立子接口,如果不配置子接口,就要把主接口配置为点到点模式, 并要建立一条到达 Hub 路由器的帧中继映射。R2(config)#interfaceserial0R2(config-if)#ipospfnetworkpoint-to-pointR2(config-if)#ipaddress 12.12.12.2255.255.255.252R2(config-if)#frame-relay12.12.12.1201R3(config)#interfaceserial0R3(config-if)#ipospfnetworkpoint-to-pointR3(config-if)#ipaddress 13.13.13.2255.255.255.252R3(config-if)#frame-relayinterface-dlci301R4(config)#interfaceserial0R4(config-if)#ipospfnetworkpoint-to-pointR4(config-if)#ipaddress 14.14.14.2255.255.255.252R4(config-if)#frame-relayinterface-dlci401再把所有网段宣告到 OSPF 中。现在我们发现邻居根本没有自动建立起来,因为我们在二层(帧中继)没有开启组播/ 广播转发功能,现在我们开启它:R1# 由于帧中继在点到点链路由默认是开启,所以它不需要其它额外命令。R2(config-if)#frame-relaymap ip12.12.12.1201 broadcastR3(config-if)#frame-relaymap ip13.13.13.1301 broadcastR4(config-if)#frame-relaymap ip14.14.14.1401 broadcast10秒后我们可以看到邻居正常建立,但是在这种网络中不须要DR 和BDR, 所以我们检查邻居表是看不到邻居角色的:R1#show ipospf neighbor名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - NeighborIDPriStateDead TimeAddressInterface4.4.4.40FULL/-00:00:3114.14.14.2Serial0.43.3.3.30FULL/-00:00:3313.13.13.2Serial0.32.2.2.20FULL/-00:00:3112.12.12.2Serial0.2用show ipospfinterfaceserial0.2看到帧中继的点到点子接口在OSPF 中默认就被置为了点到点运行模式,而且它的Hello 间隔为10秒,死亡间隔为 40秒。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -