当前位置: 首页 > news >正文

OSPF路由协议(上)

OSPF 概述

OSPF(Open Shortest Path First)是一种基于链路状态的动态路由协议,属于IGP(内部网关协议),采用Dijkstra算法计算最短路径树。它支持VLSM(可变长子网掩码)和快速收敛,适用于中大型网络。

OSPF 工作原理

  • 链路状态通告(LSA):路由器通过LSA广播自身链路状态信息,形成统一的链路状态数据库(LSDB)。
  • 区域划分:通过划分区域(Area)减少路由更新流量,骨干区域(Area 0)必须连通其他非骨干区域。
  • 邻居关系:通过Hello报文建立邻居关系,最终形成邻接关系以同步LSDB。

OSPF 配置示例 

以Cisco设备为例,基本配置如下:

router ospf 1network 192.168.1.0 0.0.0.255 area 0network 10.0.0.0 0.255.255.255 area 1
  • router ospf 1 启用OSPF进程,进程ID为1。
  • network 命令指定参与OSPF的接口及所属区域。

OSPF 路由类型

  1. 区域内路由(Intra-Area):同一区域内的路由。
  2. 区域间路由(Inter-Area):通过ABR(区域边界路由器)在不同区域间传递的路由。
  3. 外部路由(Type 1/Type 2):通过ASBR(自治系统边界路由器)引入的外部路由,Type 1考虑内部开销,Type 2仅考虑外部开销。

OSPF 优化与排错

  • DR/BDR选举:在广播多路访问网络中选举指定路由器(DR)和备份指定路由器(BDR),减少邻接关系数量。
  • 认证配置:启用MD5或明文认证提升安全性:
    interface GigabitEthernet0/0ip ospf authentication message-digestip ospf message-digest-key 1 md5 YOUR_KEY
    
  • 排错命令
    • show ip ospf neighbor 查看邻居状态。
    • show ip ospf database 检查LSDB完整性。

 维持邻居关系(点对点)

• 邻居之间通过交换Hello报文,确认邻居是否工作正常

• 如果在一定的时间间隔内,收不到邻居发来的Hello报文,就认为邻居已经失效,从邻居表中删除。

DR/BDR的选举(广播多路访问) 

• 采用DR/BDR建立邻接关系,可以降低需要维护的邻接关系数量

 • OSPF协议包具备超时重传机制

• OSPF协议包具备序列号,对重复包不做处理

• 在广播和NBMA网络中,链路状态发生变化时,主要是通过DR路由器发送更新报文。

• OSPF LSA老化

– LSA不老化的缺点:当网络长时间中断,故障网络中的设备发起的LSA长时间无效,但仍然存储在LSDB中,浪费设备内存。

– OSPF LSA采用递增老化

• LSA自发起时开始计时,到达最大老化时间后,从LSDB中清除。

• OSPF最大老化时间3600秒,LSA头部的老化时间字段用于计时。

• OSPF LSA老化与全网刷新

– 正常OSPF网络的路由维护

• LSA老化时间到达最大老化时间的一半(30分钟),发起路由器随机等待一段时间后重新发起该LSA,然后洪泛,刷新所有路由器LSDB。

• 新发起的LSA序列号加1,老化时间为0。

– LSA在整个洪泛过程中,除老化时间外,其余各字段都保持不变。

 OSPF区域号

• OSPF路由域:运行OSPF路由协议的网络。

• OSPF区域:OSPF是一种支持划分多区域的协议。

– Area ID:32位,用数字或IP地址表示。

 

http://www.dtcms.com/a/302909.html

相关文章:

  • LangGraph实战:MCP + SSE实现远程调用MCP Server
  • 扩展和插件功能
  • 解决Echarts设置宽度为100%发现宽度变为100px的问题
  • 5 分钟上手 Firecrawl
  • [免费]【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts)【论文+源码+SQL脚本】
  • Android中PID与UID的区别和联系(2)
  • Effective C++ 条款07:为多态基类声明virtual析构函数
  • 《深入理解priority_queue:的使用与模拟实现》
  • 教资科三【信息技术】— 学科知识: 第四章(计算机网络技术)
  • 如何在FastAPI中玩转Schema版本管理和灰度发布?
  • 【深度学习】SOFT Top-k:用最优传输解锁可微的 Top-k 操作
  • (二)Eshop(RabbitMQ手动)
  • 如何 5 分钟给英语视频加上中文字幕?
  • 2025.7.28总结
  • 学术论文写作心得笔记:如何避免“论文像实验报告”
  • 关于sql面试积累
  • [Linux]线程池
  • 【深度学习新浪潮】基于文字生成3D城市景观的算法有哪些?
  • 前端实现PDF在线预览的8种技术方案对比与实战
  • 软件设计师-知识点记录
  • WAIC 2025深度解析:当“养虎”警示遇上机器人拳击赛
  • 构建你的专属区块链:深入了解 Polkadot SDK
  • Java序列化与反序列化
  • 从零开始学习Dify-基于MCP的智能旅行规划助手下(九)
  • 02_FOC学习之-闭环位置控制
  • #Datawhale 组队学习#强化学习Task5
  • C# 基于halcon的视觉工作流-章24-矩形查找
  • SpringBoot数学实例:高等数学实战
  • 学习嵌入式的第三十四天-数据结构-(2025.7.28)数据库
  • Linux选择题2