在广播型访问环境中配置OSPF
P1和P2区域可以作为一个典型的广播型多路访问环境
配置[P1R1-P1R4]
router ospf 100
net 192.168.x.x 0.255.255.255 a 0
我们在P1R1上设置Lo0为200.200.200.200
int lo0
ip add 200.200.200.200 255.255.255.255
这里是/32掩码,cisco强烈建议当配置回环接口的时候采用32位掩码,这里代表的是一个主机而不是一个网络或者子网
因为我们在P1R1上面指定了一个lo0为200.200.200.200,所以sh ip ospf data summary可以看到
P1R1#sh ip ospf data summ
OSPF Router with ID (200.200.200.200) (Process ID 100)
因为所有路由器的默认优先级为1,在pri相同的情况下则比较router id,最高的Ip地址为router id[200.200.200.200]
DR/BDR选举
[Copy to clipboard]
CODE:
P1R1#sh ip ospf nei
Neighbor ID Pri State Dead Time Address Interface
192.168.4.2 1 FULL/ - 00:00:39 192.168.1.2 Serial1/1
192.168.3.1 1 FULL/DR 00:00:39 192.168.2.2 FastEthernet0/0
通过这个命令查看路由器和邻居的关系[很多初学者搞不清楚的]
我们看到,P1R1和P2R2通过S1/1连接,他们的状态为Full,但是DR/BDR那栏是空的
这说明一个概念,我曾经在ciscohuawei论坛上看到有人问到过,问题的意思大体上是这样,e0/0-e0/0之间只有一条链路,那么点到点的链路不是不需要选举DR/BDR的吗,点到点的OSPF协议,会始终保持两端的邻居成为邻接关系,在这种链路上没有DR或BDR的概念,但是这个点到点,说得是在点到点串行链路上还可以看到P1R1和P1R3通过F0/0连接,对方Router-ID为192.168.3.1,状态为Full,关系为DR,这里要明白一个概念就是,DR/BDR是针对网段的,并不是针对区域的所以说,某个网段中存在DR并不代表着它对于整个ospf Area有什么意义,只是针对该网段上面所说的我们采用了设置lo0地址的方式来影响DR/BDR选举,如果有人问为什么非要去干涉DR/BDR的选举呢,他自己选定不是挺好的吗,我这样回答你,你可以回想一下switch的根桥的选举,如果恰巧一台性能最弱的交换机被选举为根桥,而恰巧他的负载又是十分繁重的,那么他将给整个网络带来性能上的下降,而OSPF的DR/BDR的职能就是对LSA/LSU的洪泛工作,在不同的环境中,负载也是不同的,所以,根据实际情况来影响DR/BDR的选择是有必要的,那么对于OSPF的DR/BDR的选举,遵循以下规则:
1.优先级>RouterID
2.所有激活端口中IP地址最大的指定为Route ID
3.但是,如果存在Lookback地址,则将Lookback指定为Route ID,而不管这个地址是否是最大
4.如果存在多个Lookback,则使用其中最大的
5.以上所指的是OSPF进程启动之时的所有端口,无论此端口是否运行OSPF
6.Route ID一旦选出,即使所用端口DOWN掉,Route ID也不会变,除非更新启动OSPF进程
7.建议用Lookback接口作为Route ID
RouterID我们上面通过配置lo0已经确认过了
下面我们去掉P1R1的lo0的设置,使用
router-idi xxx命令来验证
int lo0
no ip add
然后 sh ip route发现200.200.200.0/24已经从路由表中被删除 然后在P1R3上查看sh ip ospf nei
| [Copy to clipboard] CODE: Neighbor ID Pri State Dead Time Address Interface 192.168.4.1 1 FULL/ - 00:00:38 192.168.3.2 Serial1/0 192.168.2.1 1 FULL/DR 00:00:36 192.168.2.1 FastEthernet0/0 |
Router id已经变为192.168.2.1
那么我们在P1R1的ospf进程中
router ospf 100
router-id 200.200.200.200
然后clear ip ospf process
再在P1R3上sh ip ospf nei
验证结果
| [Copy to clipboard] CODE: P1R3#sh ip ospf nei Neighbor ID Pri State Dead Time Address Interface 192.168.4.1 1 FULL/ - 00:00:39 192.168.3.2 Serial1/0 200.200.200.200 1 FULL/DR 00:00:38 192.168.2.1 FastEthernet0/0 |
ok,我们接着上面的,在P1R1和P1R3的连接中,因为P1R1具有高Router-ID而被选举为DR,我们现在想让P1R3成为DR,验证命令ip ospf pri 10
因为P1R1的优先级还是默认的1,而P1R3被更改为10,虽然他拥有更高的Router-ID
在P1R1和P1R3上运行clear ip ospf process,然后分别在两个路由器上查看邻接路由器
验证结果
| [Copy to clipboard] CODE: P1R1#sh ip ospf nei Neighbor ID Pri State Dead Time Address Interface 192.168.4.2 1 FULL/ - 00:00:36 192.168.1.2 Serial1/1 192.168.3.1 10 FULL/DR 00:00:39 192.168.2.2 FastEthernet0/0 P1R3#sh ip ospf nei Neighbor ID Pri State Dead Time Address Interface 192.168.4.1 1 FULL/ - 00:00:38 192.168.3.2 Serial1/0 200.200.200.200 1 FULL/BDR 00:00:33 192.168.2.1 FastEthernet0/0 |
上面所说的我们采用了设置lo0地址的方式来影响DR/BDR选举,如果有人问为什么非要去干涉DR/BDR的选举呢,他自己选定不是挺好的吗,我这样回答你,你可以回想一下switch的根桥的选举,如果恰巧一台性能最弱的交换机被选举为根桥,而恰巧他的负载又是十分繁重的,那么他将给整个网络带来性能上的下降,而OSPF的DR/BDR的职能就是对LSA/LSU的洪泛工作,在不同的环境中,负载也是不同的,所以,根据实际情况来影响DR/BDR的选择是有必要的,那么对于OSPF的DR/BDR的选举,遵循以下规则
1.优先级>RouterID
2.所有激活端口中IP地址最大的指定为Route ID
3.但是,如果存在Lookback地址,则将Lookback指定为Route ID,而不管这个地址是否是最大
4.如果存在多个Lookback,则使用其中最大的
5.以上所指的是OSPF进程启动之时的所有端口,无论此端口是否运行OSPF
6.Route ID一旦选出,即使所用端口DOWN掉,Route ID也不会变,除非更新启动OSPF进程
7.建议用Lookback接口作为Route ID
RouterID我们上面通过配置lo0已经确认过了
下面我们去掉P1R1的lo0的设置,使用
router-idi xxx命令来验证
int lo0
no ip add
然后 sh ip route发现200.200.200.0/24已经从路由表中被删除 然后在P1R3上查看sh ip ospf nei
结果很明显,拥有高Router-ID的P1R1变为了BDR,优先级更高的P1R3成为了DR
知识点:
OSPF协议采用层次化路由,把一个大的网络划分为多个区域有助于减少每个区域的通信量。同样是基于这个原因,我们同样引入了DR和BDR两个概念。在OSPF的某个区域中,如果很多台OSPF路由器它们两两建立FULL ADJACENCY关系,那会是一个开销非常大的过程,为了减少对带宽的占用,提高使用效率,我们用DR作为一个“代言人”的角色,每个区域中的每个IP段选举出一个DR,然后其他的非DR直接与DR建立FULL? ADJACENCY关系,可以提交运行效率。所以DR的任务比较大,为了防止意外情况发生,我们还要选举出BDR,当在DR突然失效后接替DR的工作,实现平滑交移,对外界实现透明。
选举DR和BDR的标准是“优先级”,我们可以手动的为每个路由器设定优先级,0为最低,255为最高。如果优先级相同的情况下,则比较ID值。还。选举完成之后,一旦网络中某台路由器有更新的链路,它直接通过组播地址224。0。0。6(RFC将它定义为所有
运行OSPF的DR和BDR)将LSU发送给DR和BDR。然后再由DR将这个LSU包FLOODING到整个IP段中。
DR:所有LSA和LSU的集中点,作用是洪泛LSA
BDR:防止DR单点故障
ospf的三个表
邻居表
拓扑表
路由表
组播
OSPF-----224.0.0.5(DR)和224.0.0.6
RIPv2-----224.0.0.9
EIGRP----224.0.0.10
LSA类型
类型1:router LSA 由每个路由器产生,用来描述产生它的路由器,该路由器的直连链路和状态,以及该路由器的邻居。
类型2:network LSA 由多点接入链路上的指定路由器(DR)产生,描述了该链路以及所由相连的邻居。
类型3:network summary LSA 由区域边界路由器(ABR)产生,描述了区域间的目标网络。
类型4:ASBR Summary LSA 由区域边界路由器(ABR)产生,描述了区域外的自主系统边界路由器(Autonomous System
Boundary Router)。
类型5:AS External LSA 由自主系统边界路由器(ASBR)产生,描述OSPF域之外的目标网络。
类型7:NSSA External LSA由末梢区域内的自主系统边界路由器(autonomous Router)产生。