OSPF一些基础概念

 本篇仅介绍一些基础概念,像SPF算法、邻居建立过程、LSA作用等会在后续文章中陆续更新

OSPF的工作过程主要经过3步

 1-邻居建立

 2-同步链路状态数据库

 3-计算最优路径

 OSPF交互过程中主要用到这几个报文

Type报文名称报文功能1Hello发现和维护邻居关系2Database Description(DD)交互数据链路状态数据库摘要3Link State Request(LSR)请求特定的链路状态信息4Link State Update(LSU)发送详细的链路状态信息5Link State Ack(LSAck)发送确认报文

DR与BDR

 DR(Designated Router)即指定路由器,其负责在MA网络建立和维护邻接关系并负责LSA的同步。DR与其他所有路由器形成邻接关系并交换链路状态信息,其他路由器之间不直接交换链路状态信息。这样就大大减少了MA网络中的邻接关系数量及交换链路状态信息消耗的资源。

DR一旦出现故障,其与其他路由器之间的邻接关系将全部失效,链路状态数据库也无法同步。此时就需要重新选举DR,再与非DR路由器建立邻接关系,完成LSA的同步。为了规避单点故障风险,通过选举备份指定路由器BDR,在DR失效时快速接管DR的工作。

选举规则:DR/BDR的选举是基于接口的。但因为存在不抢占原则,更多也要看启动时间

接口的DR优先级越大越优先。

接口的DR优先级相等时,RouterID越大越优先。

邻居与邻接

邻居(Neighbor)关系与邻接(Adjacency)关系是两个不同的概念。OSPF路由器之间建立邻居关系后,进行LSDB同步,最终形成邻接关系。

在广播型网络网络上,DRother之间只能建立邻居关系,不能建立邻接关系,DRother与DR/BDR路由器之间会建立邻接关系,DR与BDR之间也会建立邻接关系。

区域划分

 主要分为骨干区域和常规区域,所有区域都要和骨干区域相连且骨干区域只能有1个,为了避免路由环路,如果不能直接相连可以采用虚链路的方式,能不用最好不用虚链路

 区域内出了DR和BDR还有↓

  ABR:边界路由器,一边连着常规区域,一边连着骨干区域

  ASBR:自治系统边界路由器,一边连着ospf区域,一变连着其他协议的区域

 还有一些特殊区域 (后续文章详细介绍)

  Stub区域:4、5类LSA,由ABR下发一条缺省路由,能够减少LSDB,降低性能压力,拓扑变化对此区域影响小

  totally-stub:不接受3、4、5类LSA,和stub差不多

  NSSA区域:不接收4、5类LSA能够产生7类LSA,允许引入外部路由

  totally-nssa:不接受3、4、5类LSA能够产生7类LSA,和NSSA差不多

相关推荐
Canmag 兴隆磁性8 小时前
中大型钕铁硼产品的磁通测量与自动分选:一条产线自动化的工程实现思路
运维·学习·自动化·永磁材料
小黄人软件10 小时前
桌面需要整理吗?有工具自动分类
学习
老衲不用@飘柔11 小时前
SFP与SFP+学习知识整理
学习
X54先生(人文科技)11 小时前
社会嵌入式终身学习机器与修复时代-ELR架构和技术演化探讨
人工智能·深度学习·学习·架构·开源协议
g3voip11 小时前
工业防水电话到底怎么选?隧道、管廊与码头的需求差异
服务器·网络·信息与通信·ip
电子云与长程纠缠12 小时前
UE5魂系游戏开发教程05
开发语言·学习·游戏·ui·ue5
珠海西格电力12 小时前
零碳园区管理系统的性能评估体系的行业标准
大数据·网络·人工智能·物联网·机器学习·架构·能源
syagain_zsx12 小时前
BRpc 二次封装:Channel 管理、服务管理与回调工厂
c++·学习·程序人生·rpc·谷歌
其实防守也摸鱼12 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
我命由我1234512 小时前
Python 开发 - Python 的 pathlib
java·开发语言·后端·python·学习·java-ee·学习方法