前言
- 由于静态路由由网络管理员手工配置,因此当网络发生变化时,静态路由需要手动调整,这制约了静态路由在现网大规模的应用。
- 动态路由协议因其灵活性高、可靠性好、易于扩展等特点被广泛应用于现网。在动态路由协议中,OSPF(Open Shortest Path First,开放式最短路径优先)协议是使用场景非常广泛的动态路由协议之一。
- OSPF在RFC2328中定义,是一种基于链路状态算法的路由协议
为什么需要动态路由协议?
- 静态路由是由工程师手动配置和维护的路由条目,命令行简单明确,使用与小型或稳定的网络。
静态路由有以下问题:
- 无法适应规模较大的网络:随着设备数量增加,配置量急剧增加
- 无法动态响应网络变化:网络发生变化,无法自动收敛网络,需要工程师手动修改。
动态路由协议中OSPF是最常见的一个协议。
距离矢量路由协议
- 运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由都从相邻的路由器学习到路由,并且加载进自己的路由表中。
- 对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的的方向在哪里,距离有多远。这即是距离矢量算法的本质。
链路状态路由协议-LSA泛洪
- 与距离矢量路由协议不同,链路状态路由协议通告的是链路状态而不是路由表,运行链路状态路由协议的路由器之间首先会建立一个协议的邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。
- 每台路由器都会产生LSA,路由器将接受到的LSAs放入自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。
SPF计算
- 每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。有了这颗“树”,路由器就已经知道了到达网络各个角落的优选路径。
- 最后,路由器将计算出来的优选路径加载进自己的路由表(Routing table)。
通过LSDB计算好路由之后,就会形成路由表。注意:在路由表中通常会有OSPF的协议路由表,最终是要把协议路由表中的内容通过比较才能加入路由表使用。(先比较优先级,以小为优。OSPF优先级默认为10,RIP优先级默认为100)
- 链路状态路由协议总结
①建立邻居关系;
②交换LSA,同步LSDB数据库的更新;
③以自己为根进行路径计算(计算开销);
④根据计算结果形成路由表项。
OSPF在园区网络中的应用
OSPF基础术语:区域
- OSPF Area用于标识一个OSPF的区域。
- 区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。
- 区域分为:骨干区域和非骨干区域,骨干区域用Area 0来标识。
OSPF基础术语:Route-ID
- Route-ID(Router Identifier,路由器标识符),用于在一个OSPF域中唯一标识一台路由器。
- Router-ID的设定可以通过手工配置的方式,或使用系统自动配置的方式。
OSPF的基础术语:度量值
- OSPF使用Cost(开销)作为路由器的度量值。每一个激活了的OSPF的接口都会维护一个解口Cost值,缺省时接口Cost值=100Mbit/s÷接口带宽。其中100Mbit/s为OSPF指定的缺省参考值,该值时可以配置的。 (Cost值小于1时自动修改为1)
- 一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。
OSPF协议报文类型
- OSPF中由五种类型的协议报文,这些报文在OSPF路由器之间交互中起不同的作用
OSPF三大表项-邻居表
OSPF有三张重要的表项,OSPF邻居表、LSDB邻居表和OSPF路由表。对于OSPF的邻居表,需要了解:
- OSPF在传递链路状态信息之前,需要先建立OSPF邻居关系。
- OSPF的邻居关系通过交互Hello建立。
- OSPF的邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。
OSPF路由器之间的关系
关于OSPF路由器之间的关系有两个重要的概念:邻居关系和邻接关系
- 考虑一种简单的拓扑,两台路由器直连。在双方互联接口上激活OSPF,路由器开始发送及侦听Hello报文。在通过Hello报文发现彼此后,这两台路由器便形成了邻居关系。
- 邻居关系的建立只是一个开始,后续会进行一系列的报文交互,例如前文提到的DD、LLR、LSU、LS ACK等。当两台路由器LSDB同步完成,并开始独立计算路由时,这两台路由器形成了邻接关系。
OSPF邻接关系建立过程
- OSPF完成邻接关系的建立有四个步骤:建立邻居关系、协商主\从(DD),交互LSDB信息(DD),同步LSDB(LSR,LSU,LS ACK)。
1-建立邻居关系
2-协商主\从&3-交互LSDB信息
隐式确认:通过序列号确认,只有主设备才可以变更序列号,因此需要确定主从。
4-同步LSDB
OSPF邻居表
OSPF网络类型
DR和BDR的背景
DR和BDR
OSPF域和单区域
OSPF多区域
OSPF路由类型
- IR:所有路由器都只属于一个区域。
- BR:至少有一个接口属于骨干区域。
- ABR:接口属于两个或两个以上的区域并且至少有一个接口属于骨干区域 。ABR一定是BR,但是BR不一定是ABR。
- ASBR:用来引入其他AS,在ASBR通常会有一个import操作。
OSPF单区域&多区域典型组网
OSPF基础配置命令