拓扑图
设置好端口ip和环回地址
(R1-R5都要设置)
测试各个路由器 连通性
在R1上配置GigabitEthernet 0/0/0属于区域0,Loopback 0属于区域2。 对所有OSPF区域的Loopback接口,修改其OSPF网络类型为Broadcast类型, 以便于OSPF发布Loopback口的真实掩码信息。
配置多区域ospf
在R1配置g0/0/0属于area0,lo0属于area2,对所有ospf区域lo接口,修改ospf网络类型为broadcast类型,以便于ospf发布lo口的真实信息。
配置R2,R4的接口均位于area0中
在R3配置lo0和g0/0/0属于area0,s3/0/0属于area2
配置R5
配置完成,查看R1路由表,已经学习全部的路由
除了没有发布进OSPF的网络10.0.5.5/24,在R1上已拥有全网的路由表。·
在R1查看ospf运行基本信息,使用dis ospf brief,可以看到 由于R1的lo0接口位于区域2中,所以R1称为了ABR,R1的g0/0/0接口所连接的网络为广播型网络,且R1为这个网段的DR。
使用display ospf peer brief命令查看路由器的OSPF邻居关系建立情况。 由于R1是DR,所以它与该网段的所有路由器形成邻接关系。在R3上查看邻居就 可以发现R3和R4之间仅存在邻居关系,而没有邻接关系。
在R5使用dis ospf lsdb命令查看路由器的ospf数据库信息
可以看到由于在区域1中仅存在2台路由器,所以在R5的LSDB总,仅存2条第一类LSA,剩余的5条第三类LSA是由R3向R5通告的区域间路由。
在R2上使用dis ospf lsdb 命令查看路由器ospf数据库信息
在R2上除了4条第一类LSA以外,还有一条第二类的LSA。R2的G0/0/0所连接的是一个广播型网络,该网络上的DR会产生一条第二类LSA来描述所有的邻居,在这里可以从AdvRouter字段得知生成这条LSA 的路由器是R1,符合R1是该网段DR的结果。
在R1上使用display ospf lsdb命令查看路由器的OSPF数据库信息
由于R1的Loopback 0接口位于区域2中,所以R1上有2个区域的LSDB,分 别是区域0和区域2的。
在R4上使用display ospf lsdb命令查看路由器的OSPF数据库信息。
注意由于OSPF路由器的角色差异,OSPF链路状态数据库内容也会有所差异。 对比分析R5、R2、R1与R4链路状态数据库的差异。
步骤三、修改ospf的接口优先级,影响dr选举
配置R3的g0/0/0接口优先级为255,确保R3称为10.1.234.0/24网段的DR。R2接口优先级为254,确保它为BDR,R4接口优先级为0,确保R4不参加DR/BDR选举,成为DROther
由于DR/BDR之前已经选举,并且DR/BDR不能抢占的,所以必须先关闭R1234的g0/0/0接口,再打开
查看该网段的DR/BDR选举情况
在重启接口后R3称为了该网段的DR,R2称为了BDR
当邻居关系稳定以后,由于R1和R4均为DROther路由器,所以他们之间仅 形成邻居关系,保持在2-way状态。
步骤四、配置将直连路由汇总并引入到ospf区域
在R1和R3查看引入的外部路由
在R1和R3上均看到2条外部路由,分别是10.0.5.0/24和10.0.35.3/32。 10.0.5.0/24为R5的Loopback接口,但为什么还有一条10.0.35.3/32呢?
查看R5的路由表,由于R3和R5之间是以PPP的形式封装的,R3的Serial 3/0/0的接口地址会以直连路由的形式出现在R5的路由表里,所以在R5上运行 import-route direct以后该路由条目也被发布出去了(下面的输出略去了其他 路由条目)。
最后测试R1到R5的连通性
在R1上查看ospf外部路由在链路状态数据库中的情况,R1的LSDB中一共有3条外部路由,10.0.5.0/24、10.0.35.0/24、10.0.35.3/32,在R1的路由表中看见的外部路由只有2条,另一条不见了。
经过比较后,可以发现10.0.35.0/24这条路由是以内部路由的形式出现在路 由表中的。 检查R1的LSDB中得第三类LSA就可以看到这个条目:10.0.35.0/24。
可以看出,当第三类和第五类LSA通告路由的网络位和掩码相同的情况下, OSPF优选第三类LSA通告的路由加到路由表里。
步骤五、查看各种类型的LSA
在R1上查看 一类LSA 10.0.1.0在Area0和Area2的详细内容
对于一类LSA来说,Ls id字段表示生成这条LSA的路由器的Router ID。 R1共生成了两条第一类LSA,一条在区域0中泛洪。R1在区域0中与一个 Transit网段相连,所以Link Type字段为TransNet。对于TransNet,Link ID字 段为该网段上DR的接口IP地址,Data字段为本地接口的IP地址。 第二条一类LSA是R1向区域2中泛洪的,R1与区域2通过Loopback接口相连。 对于Loopback接口,Link Type为StubNet,此时Link ID表示该Stub网段的IP 网络地址,Data表示该Stub网段的网络掩码。
步骤六、观察LSR,LSU,LSAck
我们首先观察OSPF的Update数据包及ACK数据包发送的过程。在R1上打开 debugging ospf packet update、debugging ospf packet ack。
默认情况下,网络稳定运行时,ospf路由器每30分钟更新一次,为触发查询和更新信息,我们将R3的lo0接口删除。
我们可以观察到首先在R1上接收到10.1.234.3发来的update消息,消息的目的地址为224.0.0.0(即所有ospf路由器),描述了一个网段(# Links: 1), 后面有该网段的LinkID和LinkData。
最后是R1自己发送的ACK报文,报文源地址为R1的g0/0/0的接口地址,目的地址为224.0.0.6,该报文是发送给DR和BDR的,该报文序列号也是800000020
为啥不是80000020我也不知道了
接下来恢复R3删除的lo0接口
但是我的R1收不到R3的update报文,跳过
在下面一个步骤中我们看Request报文。正常情况下,路由器不会主动发送 该报文,为观察该报文的发送,我们将R1的OSPF进程重启。在路由器上观察到 的是R1向R2发起了LS Request。
消息更新了一整面,前面的消息找不到了...,,,但是 基本OK