14 OSPF(开放最短路径优先)概念和多区域实施

  1. 概述
  • 基于链路状态的路由协议,设计上就保证了无环路
  • 支持区域划分,区域内部的路由器使用SPF最短路径算法保证区域内部无环路,利用区域间的连接规则保证区域之间无路由环路
  • 支持触发更新,快速检测和通告自治系统内的拓扑变化
  • 解决网络扩容带来的问题。可将每个自治系统划分多个区域,并限制每个区域的范围,适合大中型网络
  • 可以提供认证
  • ospf最重要的区域称为backbone骨干区域area0,可以划分多个区域,支持大型网络
  1. 标识和区域
  • RouterID,32位,唯一标识自治系统内的路由器,强烈建议为每台运行的OSPF的路由器手动配置一个RouterID
  • ospf支持将一组网段组合在一起,这样的一个组合称为一个区域,分为骨干区域和普通区域。划分区域可以缩小路由器的LSDB规模,减少网络流量。
  • ospf的进程号仅对本机有意义,routerid同区域必须唯一,否则无法建立邻居关系
  • ABR:区域边界路由器,将普通区域与骨干区域连接在一起。ASBR:自治系统边界路由器,位于OSPF自主系统和非OSPF网络之间
  1. 网络类型和DR、BDR
  • ospf中的以太网的网络类型是广播类型
  • DR和BDR,详情请见【19】实施动态路由协议OSPF协议
  • DR和BDR选举:当OSPF中选举DR和BDR时首先查看路由器的优先级,优先级大者当选DR,其次是BDR;如果优先级相同则根据RouterID的大小来选举,RouterID大者当选。RouterID在不指定的情况下会由loopback接口数值最高的IP地址来做,当没有loopback接口时则由物理接口数值最高的IP来做
  • DR和BDR选举只是在接口类型为广播或NBMA时会产生(就是说非广播类的点对点和点对多点的接口类型是不选举DR和BDR的)选举时间默认为40秒,过了选举期,不支持抢占
  1. 状态机
    ospf-状态机
    所有设备都需要和DR、BDR构建邻接关系,只和DR、BDR交互LSDB,剩下的其他路由器俩俩都是邻居(2-way)状态,不交换路由表 。
    EVE思科模拟器配置成功之后,测试不成功,但是配置无问题,此时需要关闭cef,命令为no ip cef(关闭快速交换,使用进程交换)
    两台路由器,一个接口区域0,一个接口区域1,不能正常建立OSPF邻居关系
 # .............................OSPF 
# >>>>华为
# R1
# 设置环回口地址,作为一台连接到R1的主机使用
int loopback 0
ip address 11.11.11.11 32
q
# 此时pc1无法ping通11.11.11.11,原因是sw1上无到11.11.11.11的路由,同时默认静态路由也没有配置
# 开始配置ospf
ospf 10  router-id 11.11.11.11  # 创建ospf进程,10为进程号,可自定义
area 0  # 创建area0,然后在area0中创建area1
area 1
q
int loopback 0  # 将之前配置的回环接口宣告进ospf进程10的area0中
ospf enable 10 area 0
int g0/0/1  # 将接口g0/0/1和g0/0/2宣告进ospf进程10的area0中
ospf enable 10 area 1
int g0/0/2
ospf enable 10 area 1

# sw1,开启ospf进程并创建area1(sw1和sw2需要在vlan下面宣告地址)
ospf 10 router-id 10.11.11.11
area 1
int vlan 8 
ospf enable 10 area 1
int vlan 9
ospf enable 10 area 1
int vlan 10
ospf enable 10 area 1
int vlan 11
ospf enable 10 area 1
# sw2,开启ospf进程并创建area1
ospf 10 router-id 10.22.22.22
area 1
int vlan 8 
ospf enable 10 area 1
int vlan 9
ospf enable 10 area 1
int vlan 10
ospf enable 10 area 1
int vlan 12
ospf enable 10 area 1

# 验证
# R1
ping 10.1.11.2
ping 10.1.12.2
dis ospf int    #  查看ospf宣告的接口
# sw1和sw2
dis ospf int 
ping 11.11.11.11
# R1\sw1\sw2,查看邻居关系
dis ospf peer brief
# sw1/sw2,验证路由表
dis ip rou pro ospf
# pc1\pc2\server1访问11.11.11.11
ping 11.11.11.11
# <<<<<如果ospf的routerid配置错误导致不生效,先ctrl+z,然后执行reset ospf process重启ospf进程>>>>>


# >>>>思科
# 配置ospf
# R1
int lo0
ip addr 11.11.11.11 32
router ospf 110 
route-id 11.11.11.11
int lo0 
ip ospf 110 area0
int range ethernet 0/1-2
ip ospf 110 area1
# sw1
route ospf 110 
route-id 10.11.11.11
int vlan 8-11
ip ospf 110 area 1
# sw2
route ospf 110 
route-id 10.22.22.22
int vlan 8-12
ip ospf 110 area 1

# 验证ospf
# R1/SW1/SW2
show ip ospf int bri  # 查看ospf的宣告的接口
show ip ospf neighbor  # 查看ospf的邻居关系
# sw1/sw2
show ip route ospf   # 查看路由表
# pc1/pc2/server1
ping 11.11.11.11
# <<<<<如果ospf的routerid配置错误导致不生效,先ctrl+z,然后执行clear ip ospf process重启ospf进程>>>>>