持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情
你好,这里是网络技术联盟站。
OSPF可以说是网络数通技术中最为重要的一部分之一,瑞哥这篇文章尽可能用最简洁、最有条理的梳理OSPF所涉及的内容。
让我们直接开始吧!
一、OSPF关键属性
-
协议类型/类别:IP/链路状态
-
算法:SPF
-
类型:IGP(内部网关协议)
-
度量:成本(带宽)
-
负载均衡开销路由处理:CEF负载均衡
-
数据包类型数量:5
-
管理距离:110
-
组播地址:
224.0.0.5、224.0.0.6 -
协议:IP
-
端口:89
二、OSPF 路由id选择标准
一般情况下会按以下顺序进行选择:
-
手动配置的路由器ID。
-
最大环回地址。
-
最大物理IP地址
三、OSPF路由类型
1、IR
英文全称:Internal Router,意为:内部路由器。
作用域为:同一区域中的所有接口。
2、BR
英文全称:Backbone Router,意为:主干路由器。
作用域为:BB区域/区域0中至少一个接口。
3、ABR
英文全称:Area Border Router,意为:区域边界路由器。
作用域为:连接不同区域的路由器。
4、ASBR
英文全称:Autonomous System Boundary Router,意为:自动区域主干路由器。
作用域为:连接不同AS的路由器。
四、OSPF相关定时器
1、广播 Broadcast
-
默认Hello间隔:10秒
-
默认邻居失效时间:40秒
2、非广播 Non-broadcast
-
默认Hello间隔:30秒
-
默认邻居失效时间:120秒
3、点对点 Point-to-Point
-
默认Hello间隔:10秒
-
默认邻居失效时间:40秒
4、点对多点 Point-to-Multipoint
-
默认Hello间隔:30秒
-
默认邻居失效时间:120秒
5、点对点非广播 Point-to-Multipoint Non-broadcast
-
默认Hello间隔:30秒
-
默认邻居失效时间:120秒
对于其他厂商来说,一般都是:
失效时间 = 4 * hello间隔
五、OSPF DR与BDR
ospf有两个问题:
-
邻接关系网比较多
-
过度的LSA泛洪
那么ospf是如何解决的?
就是通过DR与BDR这两个角色。
DR与BDR选举标准
DR
-
OSPF接口优先级最大的
-
如果OSPF接口优先级相等,则选择路由器ID最大的
BDR
OSPF接口优先级第二大
优先级:
OSPF优先级范围:0到255。
-
默认优先级:1
-
路由器永远不会成为DR/BDR:0
六、OSPF开销
OSPF开销公式:
七、OSPF邻居
要形成OSPF邻居关系,以下条件需要一致:
-
区域ID
-
子网
-
Hello间隔和Dead间隔
-
区域类型
-
身份验证
-
路由器ID唯一
邻居与邻接
邻居和邻接在OSPF中是两个不同的术语。
-
如果OSPF中的两台路由器交换Hello数据包,则它们称为邻居。
-
如果OSPF中的两台路由器交换Hello数据包和数据库,则称为邻接关系。
八、OSPF邻居状态
1、down
没有邻居关系建立
2、init
接收到hello数据包
3、2-way
路由器在接收到的hello数据包中发现了自己的路由id
4、exstart
主备关系建立
5、exchange
DBD包发送
6、loading
LSU和LSU交换
7、full
邻接关系建成
九、OSPF路由类型
-
O:OSPF普通区域
-
O IA OSPF区域间
-
N1 OSPF NSSA外部类型1,增加内部成本
-
N2 OSPF NSSA外部类型2,不增加内部成本
-
E1 OSPF外部类型1,增加内部成本
-
E2 OSPF外部类型2,不增加内部成本
十、OSPF数据包格式
-
版本(Version):8位字段,OSPF 协议版本。
-
类型(Type):8位字段,OSPF 数据包的类型。
-
消息(Message):16位字段,定义消息的总长度。
-
源 IP 地址(Source IP Address):定义发送消息的地址。
-
区域标识(Area identification):定义路由过程发生的区域。
-
校验和(Checksum):用于纠错和检测。
-
身份验证类型(Authentication type):有两种身份验证类型——0 和 1,0表示没有可用的身份验证,1表示基于密码的身份验证。
-
身份验证(Authentication):32位字段,用于存储身份验证数据的实际值。
十一、OSPF数据包类型
-
HELLO
-
DBD(Database Descriptor):数据库描述
-
LSR(Link State Request):链路状态请求
-
LSU(Link State Update):链路状态更新
-
LSAck(Link State Acknow):链路状态确认
十二、OSPF组播地址
224.0.0.5
-
所有OSPF路由器在224.0.0.5上发送Hello。
-
所有OSPF路由器侦听224.0.0.5
这里所有OSPF路由器指的是:DR、BDR、Dothers
224.0.0.6
-
所有Dothers路由器将其LSA发送到224.0.0.6
-
所有DR/BDR侦听224.0.0.6
-
所有DR/BDR在224.0.0.5上发送LSU/LSA
这里的Dothers路由器指的是:非DR和非BDR路由器
十三、OSPF接口类型
1、点对点 Point-to-Point
-
hello时间:10
-
dead时间:40
-
子网中允许的主机数量是否超过2台:否
-
邻居/邻接配置:自动
-
单播/组播:组播
-
是否有DB/BDR模型:否
点对点拓扑
2、广播 Broadcast
-
hello时间:10
-
dead时间:40
-
子网中允许的主机数量是否超过2台:是
-
邻居/邻接配置:自动
-
单播/组播:组播
-
是否有DB/BDR模型:是
广播拓扑
3、非广播 Non-broadcast
-
hello时间:30
-
dead时间:120
-
子网中允许的主机数量是否超过2台:是
-
邻居/邻接配置:自动
-
单播/组播:组播
-
是否有DB/BDR模型:是
非广播拓扑
4、点对多点 Point-to-Multipoint
-
hello时间:30
-
dead时间:120
-
子网中允许的主机数量是否超过2台:是
-
邻居/邻接配置:手动
-
单播/组播:单播
-
是否有DB/BDR模型:否
点对多点拓扑
5、点对点非广播 Point-to-Multipoint Non-broadcast
-
hello时间:30
-
dead时间:120
-
子网中允许的主机数量是否超过2台:是
-
邻居/邻接配置:自动
-
单播/组播:组播
-
是否有DB/BDR模型:否
点对点非广播拓扑
十四、OSPF LSA类型
LSA类型1:路由器LSA(所有路由器)
LSA类型2:网络LSA(按所有DR)
LSA类型3:网络摘要LSA(ABR)
LSA类型4:ASBR摘要LSA(ABR)
LSA类型5:外部LSA(ASBR)
LSA类型6:组播(组成员)LSA
LSA类型7:NSSA外部LSA(ASBR)
LSA类型8:外部属性LSA(用于BGP)
LSA类型9/10/11:未来使用
十五、区域类型
-
BB / Normal
-
Stub
-
NSSA
-
Totally Stub
-
NSSA
以上就是OSPF的全部知识点,每个点都是精要介绍,当然了,肯定还会有其他细节部分没有解释,这个需要大家自己去整理,本文致力于简洁归纳!
ospf还有ospfV3,也就是ipv6部分的我这边没有介绍,后期我会专门开出一篇文章重点介绍。
好文章需要大家的支持,您的点赞、收藏、在看、评论都是对我不断创作的动力!
咱们下期再见!