开放式最短路径优先OSPF(Open Shortest Path First)协议是IETF定义的一种基于链路状态的内部网关路由协议,采用OSFP协议的路由器均知道它所属于的区域内的所有接口和链路的状态信息。OSPF用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),所以运作于自治系统内部
自治系统:autonomous system。在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元(例如一所大学,一个企业或者一个公司个体)
IGP(内部网关协议)是在一个自治网络内网关(主机和路由器)间交换路由信息的协议。路由信息能用于网间协议(IP)或者其它网络协议来说明路由传送是如何进行的。IGP协议包括RIP、OSPF、IS-IS、IGRP、EIGRP
RIP是一种基于距离矢量算法的路由协议,存在着收敛慢、易产生路由环路、可扩展性差等问题,目前已逐渐被OSPF取代
下面就进行简单的介绍下我们应该怎么基于它去做配置OSPF,这次还是基于上次的RIP协议实验的基础上进行了修改
我们先去要把R1、R2、R4路由器的所有的静态路由给undo,对于R1路由器
我们先输入dis cur | in ip route
会列出下面的路由信息
ip route-static 192.168.2.0 255.255.255.0 10.0.12.2
ip route-static 192.168.3.0 255.255.255.0 10.0.12.2
然后我们再去进行undo也就是撤销
undo ip route-static 192.168.2.0 255.255.255.0 10.0.12.2
undo ip route-static 192.168.3.0 255.255.255.0 10.0.12.2
然后输入ospf,然后再输入area 0,到骨干区域当中
OSPF支持将一组网段组合在一起,这样的一个组合称为一个区域。划分OSPF区域可以缩小路由器的LSDB规模,减少网络流量
区域内的详细拓扑信息不向其他区域发送,区域间传递的是抽象的路由信息,而不是详细的描述拓扑结构的链路状态信息。每个区域都有自己的LSDB,不同区域的LSDB是不同的。路由器会为每一个自己所连接到的区域维护一个单独的LSDB。由于详细链路状态信息不会被发布到区域以外,因此LSDB的规模大大缩小了
Area 0为骨干区域,为了避免区域间路由环路,非骨干区域之间不允许直接相互发布路由信息
在规模较小的企业网络中,可以把所有的路由器划分到同一个区域中,同一个OSPF区域中的路由器中的LSDB是完全一致的。OSPF区域号可以手动配置,为了便于将来的网络扩展,推荐将该区域号设置为0,即骨干区域
然后输入下面的命令,命令network用于指定运行OSPF协议的接口,在该命令中需要指定一个反掩码。反掩码中,“0”表示此位必须严格匹配,“1”表示该地址可以为任意值,下面使用了network IP地址 反掩码之后,就会从宣告的接口发送报文
network 192.168.1.0 0.0.0.255
network 10.0.12.0 0.0.0.255
对于R2路由器来说
dis cur | in ip route
列出下面的ip地址
ip route-static 192.168.1.0 255.255.255.0 10.0.12.1
ip route-static 192.168.2.0 255.255.255.0 10.0.24.2
ip route-static 192.168.3.0 255.255.255.0 10.0.24.2
然后我们再进行undo
undo ip route-static 192.168.1.0 255.255.255.0 10.0.12.1
undo ip route-static 192.168.2.0 255.255.255.0 10.0.24.2
undo ip route-static 192.168.3.0 255.255.255.0 10.0.24.2
然后我们再去配置ospf和骨干区域以及去指定运行OSPF协议的接口
对于R4路由器的配置,输入下面的命令
dis cur | in ip route
得到下面的结果
ip route-static 192.168.1.0 255.255.255.0 10.0.24.1
ip route-static 192.168.1.0 255.255.255.0 10.0.12.1
ip route-static 192.168.3.0 255.255.255.0 10.0.45.2
然后我们再进行undo
undo ip route-static 192.168.1.0 255.255.255.0 10.0.24.1
undo ip route-static 192.168.1.0 255.255.255.0 10.0.12.1
undo ip route-static 192.168.3.0 255.255.255.0 10.0.45.2
然后我们再输入net 10.0.24.0 0.0.0.255
再输入退出命令quit,然后我们再导入路由,输入import-route rip命令,是指把本机配置的rip路由发布给OSPF邻居
OSPF当中的邻居的概念:有端口连接到同一个网段的两个路由器就是邻居路由器。邻居关系由OSPF的Hello报文维护,如果路由器发现所接收的合法Hello报文的邻居列表中有自己的Router ID,则认为已经和邻居建立了双向连接,表示邻居关系已经建立
import-route ospf这里的命令就是在RIP进程当中引入OSPF进程内的路由信息,然后再发送RIP报文更新给RIP的其他邻居
我们再去ping 不同网段内的PC机器
从上面我们可以看到我们将静态路由给undo了,然后我们可以通过查看路由表可以查看有些路由信息是自动生成的这其实就是因为OSPF要求每台运行OSPF的路由器都了解整个网络的链路状态信息,这样才能计算出到达目的地的最优路径
链路状态(LSA)就是OSPF接口上的描述信息,例如接口上的IP地址,子网掩码,网络类型,Cost值等等,OSPF路由器之间交换的并不是路由表,而是链路状态(LSA),OSPF通过获得网络中所有的链路状态信息,从而计算出到达每个目标精确的网络路径。OSPF路由器会将自己所有的链路状态毫不保留地全部发给邻居,邻居将收到的链路状态全部放入链路状态数据库(Link-State Database),邻居再发给自己的所有邻居,并且在传递过程中,绝对不会有任何更改。通过这样的过程,最终,网络中所有的OSPF路由器都拥有网络中所有的链路状态,并且所有路由器的链路状态应该能描绘出相同的网络拓朴