diff --git "a/32 \351\202\271\346\260\270\346\266\233/20250421 \345\212\250\346\200\201\350\267\257\347\224\261\347\232\204ospf.md" "b/32 \351\202\271\346\260\270\346\266\233/20250421 \345\212\250\346\200\201\350\267\257\347\224\261\347\232\204ospf.md" new file mode 100644 index 0000000000000000000000000000000000000000..70f6be0153b0f115c7803bf1ce92f528ffd24488 --- /dev/null +++ "b/32 \351\202\271\346\260\270\346\266\233/20250421 \345\212\250\346\200\201\350\267\257\347\224\261\347\232\204ospf.md" @@ -0,0 +1,17 @@ +- **建立邻居关系**:使用组播地址在所有开启 OSPF 的接口发送 Hello 包,建立邻居关系,形成邻居表。OSPF 组播地址包括 [224.0.0.5](http://224.0.0.5/)(所有 OSPF 路由器都会加入)和 [224.0.0.6](http://224.0.0.6/)(只有 DR/BDR 会加入) 。当双方彼此收到对方的 Hello 报文,且知道对方存在,就达到 2 - way(双向通信)状态,此时形成邻居关系。 + +- **链路状态信息交互**:邻居建立后,开始交互链路状态信息。起初交互的是简要信息,使用 DBD(Database Description)数据包。之后,从设备会主动向主设备发送 DBD 信息,进入 exstart(预启动)状态,该状态会进行主从关系选举。然后通过 LSR(Link State Request,链路状态请求)对 DBD 的答复,请求详细的链路状态信息。当达到 full(完全邻接)状态时,会形成邻接关系。此时,同一个网络中的路由器所知道的链路状态信息达成一致。 + +- **形成 LSDB 和路由表**:路由器互相发送 LSA(链路状态信息)相互通告路由,形成 LSDB(链路状态数据库)。再通过 SPF 算法(无环算法),计算出最佳路径后放入路由表。路由表保存着本台路由器已知的所有路由信息,是由链路状态数据库运行 SPF 算法得到的,即把链路状态数据库中最优先的路径加入到路由表。可使用 Router#show ip route ospf 命令只查看与 OSPF 相关的路由信息。 + +1. **DR 和 BDR** + +- **作用**:在多路访问网络中,选举 DR(指定路由器)和 BDR(备份指定路由器)可以减少邻接关系和 LSA(链路状态通告)的泛洪。如果设备之间建立全互联的邻接关系,LSA 泛洪和处理会占用大量系统资源和链路资源。选举 DR/BDR 后,所有设备都和 DR/BDR 建立 full 的邻接关系,DRothers 之间停留在 Two - way 状态,DRothers 和 DR/BDR 之间交互 LSA 即可,从而减少邻接关系和 LSA 的泛洪。 + +- **选举规则**:只在以太网链路上有效,串行链路无 DR/BDR 概念。首先看接口优先级,默认以太网接口优先级为 1,串行接口优先级为 0,优先级高的为 BDR。如果优先级相同,则比较 Router ID,Router ID 大的为 DR。DR/BDR 的选举是非抢占的,网络环境稳定后,DR/BDR 不会改变,除非 DR 故障,此时 BDR 成为新的 DR。可使用 Router#clear ip ospf process 命令重置 OSPF 进程。 + + + +# 作业 + +![](https://gitee.com/zou-yongtao/image/raw/master/img/2025-04-21_173842.png) \ No newline at end of file