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)

相关推荐
星哥说事17 分钟前
SSL/TLS 证书管理,文件与数据库加密技术
数据库·网络协议·ssl
不知道累,只知道类21 分钟前
[故障复盘] 生产环境 HTTP 连接池耗尽导致的“服务假死”分析
网络·网络协议·http
自由生长20241 小时前
计算机网络-从CGI 到 Unix Domain Socket:理解 Web 服务背后的进程通信演进
网络协议
lkbhua莱克瓦242 小时前
TCP通信练习4-上传文件名重复问题
java·网络·网络协议·tcp/ip·tcp
网安INF2 小时前
电子邮件的系统架构和核心协议详解
网络·网络协议·安全·网络安全·密码学·电子邮件
络合白泽2 小时前
【效率提升】告别繁琐密码与难记 IP:如何优雅地使用 SSH 进行开发部署
网络协议·tcp/ip·ssh
老蒋新思维2 小时前
创客匠人分享:从“个人品牌”到“智能系统”,创始人IP如何穿越变现周期?
网络·人工智能·网络协议·tcp/ip·重构·创始人ip·创客匠人
松涛和鸣3 小时前
DAY38 TCP Network Programming
linux·网络·数据库·网络协议·tcp/ip·算法
就不掉头发3 小时前
HTTP基本知识
网络·网络协议·http
qq_254617774 小时前
Linux创建VLAN虚拟网卡的命令
linux·网络协议