ospf 实验和协议分析

协议介绍

ospf 协议是非常常见的内部网关协议, 属于链路状态路由协议. 就是路由器之间相互学习路由信息, 并共享所有的拓扑关系, 然后自动计算出自己跟不同节点之间的最佳路径.

ospf 的节点经过沟通, 最终会形成三个表

  1. OSPF 邻居表, 存储相邻的节点
  2. LSDB 表, 存储整个网络的拓扑结构
  3. OSPF 路由表, 存储经过计算的最佳路由

ospf 机制的分为5个阶段

  1. 发现并建立邻居关系
  2. 协商主从. 为了减少相互的同步, 会从路由器节点中选取一个主节点, 其他节点只要和这个主节点同步数据即可.
  3. 相互发送各自的LSDB摘要信息. LSDB 存储的是网络的拓扑结构, 两两节点会进行交互, 并根据对方的拓扑结构更新自己的 LSDB. 为了减少数据交换量, 会先发送摘要信息, 相互匹配不同的值, 然后再由第四步更新 LSA (链路状态通告, 也就是拓扑结构).
  4. 根据 3 的差异值相互发送 LSA 请求, 并根据请求信息返回 LSA 完整信息, 并更新 LSDB.
  5. 节点自己计算路由规则.

拓扑结构

基于 eNSP 模拟器进行模拟, 拓扑结构如下

目标是配置 AR1 和 AR2 使用 ospf 协议进行动态路由的配置, 使得 PC1 能 ping 通 PC2.

配置很简单:

AR1 :

  1. ospf 1 router-id 1.1.1.1 (1是进程号的意思, 1.1.1.1 是路由id, 仅作为名称, 和路由没什么关系)
  2. area 0 (进入 area 0 进行设置)
  3. network 192.168.1.0 0.0.0.255 (把 192.168.1.0 网络加入 area0)
  4. network 192.168.2.0 0.0.0.255

AR2 :

  1. ospf 1 router-id 2.2.2.2
  2. area 0
  3. network 192.168.2.0 0.0.0.255
  4. network 192.168.3.0 0.0.0.255

这时候 AR1 和 AR2 已经在交换拓扑结构了

AR1:dis ospf peer (OSPF邻居表)

AR1 已经识别到 AR2 了

AR1:dis ospf lsdb (LSDB 表)

AR1:dis ip routing-table protocol ospf (OSPF 路由表)

已经生成了 192.168.3.0/24 -> 192.168.2.2 的路由, 使得和 AR1 直连的 PC1 能 ping 得通 PC3.

PC1: ping 192.168.3.1 (PC3)

ospf 通讯协议

从 AR1 抓包可以看到 AR1 和 AR2 通讯的情况

前面提到 ospf 的机制, 其实就是对应这些具体的协议

  1. (23-25) 因为我先配置的 AR1 , 所以 19-23 号帧 AR1 会10s 广播一次自己. 224.0.0.0 是四类地址, 叫做组播地址. 24 的时候, AR2 配置好了, 会回复 Hello Packet, 并在路由表添加R1, 并把状态设置为 Init. 25 的时候, AR1 会继续广播已知了 AR2. 后面流程结束后, AR1, AR2 会继续广播自己的信息.
  1. (26-27) 协商主从, 两个节点相互发消息, 都说自己是主节点, 但最后收到了对方的 DD Sequence 就知道谁才是主节点了 (谁大谁是 Master)

主节点叫 DR, 一个广播域有一个 DR, 为了防止在一个广播域里面同步过多次 LSA , 因此需要选 DR, 让其他的节点和 DR 同步就可以了.

  1. 28 28: .1->.2 发送 LSA 摘要信息 29: .1 广播了自己的 LSA (不清楚为什么要广播) 30: .2 知道了 .1 的 LSA 的摘要信息, 知道自己缺了什么路由, 于是发送 LS Request 请求给 .1 请求详细的信息 31: .2 接收到 .1 的 LSA 详细信息, 并更新自己的路由信息.

32-35: 和上面同理.

38-40 发送确认信息

总结

ospf 协议还是很复杂的, 还支持区域级别的通讯, 但范围一大要同步的 LSA 就会非常多, 所以需要划分区域, 区域之间只需要和边界路由器同步一次 LSA 即可. ospf 还有非常多的设置, 这里就不展开了, 后面如果遇到相关问题再细看.

OSPF配置 - 华为 (huawei.com)

相关推荐
岸边的风1 小时前
无需公网IP的文件交互:FileCodeBox容器化部署技术解析
网络·网络协议·tcp/ip
2501_915374352 小时前
UDP vs TCP:核心差异与应用场景全解析
网络协议·tcp/ip·udp
Edingbrugh.南空2 小时前
操作系统级TCP性能优化:高并发场景下的内核参数调优实践
网络协议·tcp/ip·性能优化
yqcoder2 小时前
1. http 有哪些版本,你是用的哪个版本,怎么查看
网络·网络协议·http
2501_915918417 小时前
接口漏洞怎么抓?Fiddler 中文版 + Postman + Wireshark 实战指南
websocket·网络协议·tcp/ip·http·网络安全·https·udp
en-route8 小时前
HTTP cookie
网络·网络协议·http
yqcoder8 小时前
2. 你可以说一下 http 版本的发展过程吗
网络·网络协议·http
诗句藏于尽头17 小时前
完成ssl不安全警告
网络协议·安全·ssl
会飞的鱼先生20 小时前
Node.js-http模块
网络协议·http·node.js
-qOVOp-1 天前
408第三季part2 - 计算机网络 - ip分布首部格式与分片
网络协议·tcp/ip·计算机网络