OSPF ---开放式最短路径优先协议
OSPF存在三个版本--- OSPFV1 (在实验室阶段天折),
OSPFV2 ---IPV4
OSPFV3 --- IPV6
RIPV2和OSPFV2的相同点:
1,RIPV2和OSPFV2- -样,都是无类别的路由协议。
无类别---传递路由信息时携带子网掩码
2,OSPFV2 (224.0.0.5和224.0.0.6) 和RIPV2 (224.0.0.9) 都是以组播的形式发送信息。
3,OSPFV2和RIPV2都支持等开销负载均衡
RIPV2和OSPFV2的不同点
1,rip为距离矢量型协议,ospf为链路状态型协议
2,OSPF协议可以应用在中大型网络当中,但是RIP只能应用在小型网络当中。--- 主要是因为OSPF可以进行结构化部署---区域划分(区域划分的主要目的---区域内部传递拓扑信息,区域之间传递的是路由信息)
区域划分的要求:
1,区域之间必须存在ABR
2,区域之间必须按照星型拓扑结构划分---中间区域被称为骨干区域。
为了方便对每个区域进行管理,我们给OSPF的每个区域设定一个区域ID,称为area ID ---- 32位二进制构成----骨干区域的区域ID必须为0。
ABR -区域边界路由器---同时属于多个区域,并且-个接口属于一个区域,且有一个接口在区域0。
区域之间可以存在多个ABR设备,一个ABR也可以对应多个区域
如果一个网络规模较小, 不需要进行区域划分,则这样的OSPF网络我们称为单区域OSPF网络(在华为的官方文档中要求,如果是单区域OSPF网络,则必须设置为区域0) ;如果一个网络存在多个OSPF区域,则将被称为多区域OSPF网络。
OSPF的包类型 描述
Hello包 用于发现和维持邻居关系,选举DR和BDR
hello包的发送周期--- 10S (30S)
死亡时间--- 4倍的hello时间
数据库描述包(DBD) 用于向邻居发送路径信息的摘要以同步链路状态数据库
相当于是本地存放 LSA数据库(LSDB链路状态数据库)的目录
链路状态请求包(LSR) 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息
链路状态更新包(LsU) 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA
链路状态确认包(LSAck) 确认已经收到DBD/LSU,每个LSA需要被分别确认
OSPF每三十分钟进行周期更新
Router ID
RID的生成方法: 1,手工配置
2,自动生成---如果路由器存在环回接口,则将取环回接口的IP地址中最大的作为RID;如果,路由器不存在环回接口,则将在路由器的物理接口中取最大的IP地址作为RID。
-
OSPF启动的第一个阶段是使用Hello报文建立双向通信的过程【邻居关系】
- OSPF启动的第二个阶段是建立完全邻接关系
Down状态---启动ospf,发送hello包之后进入下一个状态
Init (初始化)状态---收到hello包中包含本地的RID,则进入下一个状
态
2-way (双向通讯)状态---标志者邻居关系的建立。
(条件匹配)
Exstart(预启动)状态---使用未携带数据的DBD包进行主从关系的选举,为主的可以优先进入下一个状态。
Exchange (准交换)状态---使用携带摘要信息的DBD包进行目录共享
Loading (加载)状态---给予DBD包比对自己本地数据库,使用LSR包请求未知的L SA信息,对端通过LSU包回复LSA信息,需要ACK确认。
FULL状态---标着着邻接关系的建立。
OSPF的工作过程
启动配置完成后,OSPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包; hello包中会携带本地的RID及 本地一致的邻居的RID。之后,将收集到的邻居关系记录在一张表中---邻居表。
邻居表建立后进行条件匹配,失败则将停留在邻居状态,仅通过hello包进行周期保活。
如果匹配成功,则开始建立邻接关系。首先,先使用未携带数据的DBD包进行主从关系选举。之后,使用携带数据的DBD包来共享本地目录信息。之后本地使用LSR/LSU/LSACK获取未知的.SA信息。完成本地数据库的建立--- LSDB ---生成数据库表。
最后,基于本地L SDB去通过SPF算法计算到达未知网段的路由信息,将路由信息加载到路由表中。
收敛完成后,OSPF需要通过Hello包进行周期保活,每30MIN进行一次周期更新。
结构突变的场景:
1,突然断开一个网段---触发更新,将变更信息通过LSU包发送出去。
2,突然增加一个网段---触发更新,将变更信息通过L SU包发送出去。
3,无法沟通--- dead time
OSPF的基本配置
1,启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]
2,创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
3,宣告---作用1,激活接口; 2,发布路由
[r1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0 ---反掩码( 由连续的0和1组成,0所对应位不可变,1对应位可变)
[r1]display ospf peer --- 查看OSPF邻居表
[r1]display ospf peer brief --- 查看邻居关系简表
[r1]display ospf lsdb --- 查看数据库表
[r1]display ospf Isdb router 2.2.2.2 ---展开一条LSA信息
OSPF在华为体系中默认的优先级为10.
COST=参考带宽/真实带宽---华为设备OSPF参考带宽的默认值为100bps. ---在计算开销值时,如果开销值是一个小于1的小数, 则直接按1来算;如果是大于1的小数,则直接取整数部分
[r1-ospf-1]bandwidth-reference 10000 --- 一旦修改参考带宽,则网络内的所有设备都需要进行修改。
条件匹配
指定路由器--- DR --- DR就是和同一个MA网络中其他设备建立邻接关系
备份指定路由器--- BDR --- BDR也需要和同一一个MA网络中其他设备建立邻接关系
DR和BDR都是在一个人MA网络中选举的,而我们路由器的一个接口对应1个MA网络,所以,这个DR和BDR实际上是接口的概念。
条件匹配---在MA网络中,若所有设备均为邻接关系,将出现重复更新的现象,所以,需要进行DR/BDR的选举,让所有DROther之间维持邻居关系即可。
DR/BDR的选举规则:
1,先比较优先级,优先级最大的为DR,优先级次大的为BDR
优先级初始默认值为1。
[r1-GigabitEthernet0/0/0]ospf dr-priority? --- 修改接口优先级的命令
INTEGER<0-255> Router priority value
如果将一个接口的优先级设置为0,则代表该接口放弃DR和BDR的选举。
2,如果优先级相同,则比较RID, RID大的路由器所对应的接口为DR,次大的为BDR
DR/BDR的选举是非抢占模式的---即- -旦DR/BDR选举成功,不会因为后来新加入的设备而重新选举。---- 选举时间和死亡时间相同
<r1>reset ospf 1 process --- 重启OSPF进程,可以触发DR/BDR重新选举
OSPF协议的数据包
OSPF协议是一个跨四层封装的协议,三层协议号为--- 89.
OSPF的头部内容
版本--- OSPF的版本---在IPV4网络环境下,-般使用OSPFV2,所.以,对应的版本字段为2。
类型--- OSPF数据包的类型
Hello --- 1
DBD--- 2
LSR--- 3
LSU ---4
LSACK --- 5
Rid ---发送数据包的路由器的RID
区域ID ---代表数据包从哪个区域发出来的
认证类型--- null ---不认证---- 0
simple ---明文认证---- 1
MD5认证---通过比对摘要值进行认证---- 2
--- OSPF在进行认证比对时需要同时比对认证类型和认证数据,都相同则通过认证。
hello包---周期发现,建立,保活邻居关系。DR/BDR选举。
网络掩码---发出hello包接[配置的IP地址的子网掩码
在华为设备中,要求邻居设备接口的子网掩码必须相同,否则将无法正常建立邻居关系。--- 这个限制只针对以太网。
hello时间以及后面的死亡时间----在建立邻居关系的时候也必须相同,
如果不同则将无法正常建立邻居关系。
8位可选项---每- -位都代表路由器的某个OSPF特性
8位中存在特殊区域的标记位,如果邻居间特殊区域标记位不同,则也无法正常建立邻居关系。
路由器的优先级---进行DR/BDR选举时使用,代表发出这个数据包的接口的优先级。
指定路由器/备份指定路由器--- DR/BDR,一旦DR和BDR选举完成,则将会把DR/BDR对应接C的IP地址携带上。在DR和BDR没选出来或不需要选举时,对应字段使用0.0.0.0来填充。
邻居关系建立的限制因素
1,网络掩码---只针对以太网
2,hello时间
3,死亡时间
4,特殊区域的标记
5,认证信息
DBD包----数据库描述报文---主从关系选举以及携带数据库摘要信息进行目录共享
注意---在exstart状态下需要使用DBD包进行主从关系选举,其目的一方面是为主的可以优先开始 LSA信息的交换,另一个目的是为了实现隐形确认。
接口的最大传输单元--- MTU ---华为设备默认不进行MTU值的检测,所以,-般携带值为0。可以通过命令开启MTU值的检测,但注意, MTU值要求邻居双方必须相同,不同可能导致邻居关系停留在EXSTART状态。
I --- init ---该位置1,则代表这个数据包是用来进行主从关系选举的,主从关系选举的数据包将不携带LSA头部信息(LSDB摘要信息)
M --- More ---该位置1,则代表该DBD包后面还有更多的DBD包。置0则代表该数据包为最后一个DBD包。
MS --- Master ---该位置1,则代表这个DBD包由主发送,置0则代表由从发送。
序列号 --- 在DBD包交互过程中,会逐次加1,用来确保DBD报文传输的有序性,同时还可以进行隐形确认,保证DBD包传输的可靠性。
隐形确认 --- 主从关系确认后,由主主导定义序列号,从只能使用主发送的序列号进行回复,起到确认的效果。(在交互完数据库摘要信息后,从会额发送一个DBD包, 这个DBD包使用主最后发送的序号,但并不携带摘要信息,其主要目的是进行确认。)
LSR包---链路状态请求报文
链路状态类型,链路状态ID,通告路由器---可以唯- -的标定出一 条LSA信息,为我们将他们称为LSA的“三元组”
LSU包---链路状态更新报文
LSACK包---链路状态确认报文
ospf的接口网络类型
P2P
MA
BMA
NBMA
OSPF的接口网路类型---实际指的是OSPF接C在不同的网络类型下默认的不同工作方式。
[r2]display ospf interface GigabitEthernet 0/0/0 ---查看接口OSPF的网络类型
华为设备中将环回接口在OSPF中的开销值定义为0,这个值不受外界因素
的影响(修改参考带宽不会影响他的数值)
[r2-LopBack0]ospf network-type broadcast ---- 修改接口的网路类型
环回接口默认工作模式下学习32位的主机路由,如果需要还原配置的掩码信息,则可以将网络类型改为Broadcast。
华为设备将tunnel隧道接口的传输速率定义为64K,这样隧道接口的开销值将变的非常大,其目的是为了在有选择的情况下尽量不走隧道接口,应为走隧道需要进行复杂的封装,浪费资源。
在一个网络中所有的接口工作方式都需要改成-致的。
MGRE环境中除了hub-spke架构外还存在一种全连网状拓扑 --- mesh ---这种接口所有分支同时也是中心,都可以开启伪广播,则将接口都改为Broadcast后,DR/BDR选举将同时进行。文章来源:https://www.toymoban.com/news/detail-430723.html
Attempt ---尝试状态---只有在不能自动建邻的环境下出现,相当于一个过度状态,等待单播邻居的指定。
文章来源地址https://www.toymoban.com/news/detail-430723.html
到了这里,关于ospf基本配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!