IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> OSPF协议知识点总结 -> 正文阅读

[网络协议]OSPF协议知识点总结

OSPF:开放式最短路径优先协议

概念:

OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法内部网关协议IGP),在单一自治系统(AS)内部工作。

特点:

使用范围:IGP

协议算法:链路状态路由协议, SPF算法

基于IP协议封装

1.OSPF 是一种典型的链路状态型路由协议

2.传递信息称作LSA,LSA 链路状态通告,包含路由信息和拓扑信息。

路由LSA:描述本路由器上接口的路由信息

拓扑LSA:描述路由器之间的链接状态

3.更新方式: 触发更新+30分钟的链路状态刷新

4.更新地址: 组播和单播更新,组播地址: 224.0.0.5(ALL SPF router) 224.0.0.6(ALL DR router)

5.支持路由认证

6.支持手工汇总

7.支持区域划分

8.OSPF 比较消耗设备资源一个路由器上最多支持31个OSPF 进程

无类别链路状态路由协议--传递网络掩码

公有协议;

跨层封装到IP报头,协议号89;

触发更新、周期更新

一、 OSPF的数据包—5种数据包

跨层封装于3层报头,协议号89;

?

?

Hello 包 :邻居的发现、建立、周期保活 hello time 默认10s或30s

DBD数据库描述包 :

------主从选举DBD: 比较双方的router-id ,router-id大的一方为主(master ),小的一方为从 (slave);主用于控制LSA的交互

LSR 链路状态请求:

------链路状态请求,按照DBD中报文的未知LSA头部进行请求。

LSU 链路状态更新 :

----携带LSA信息

LSack 链路状态确认(30min)

**LSA – 链路状态更新 – 是具体的每一条拓扑或者路由信息;基于LSU包来进行传输;

二、 邻居与邻接关系建立过程

OSPF状态机—两台允许OSPF协议的路由器间的不同关系的阶段

Down 一旦接收到hello,进入下一个状态

Init初始化 一旦接收到的hello包中,存在本地的RID进入下一状态

2way 双向通讯 邻居关系建立的标志

条件:

点到点网络将直接进入下一个状态; MA网络类型将进行DR/BDR选举,非DR/BDR间将无法进入下一状态;

DR选举: 1.比较优先级 (范围:0255,默认优先级为1 ,越大越优)

注意:1.DR抢占是关闭的 2.DR是一个接口概念 3.优先级范围0-255,数字为0代表不参与选举 4.先 选举BDR ,再升级为DR

Exstart 预启动 使用不携带内容的DBD包进行主从关系选举,RID数值大为主;优先进入下一个状态机;

Exchange 准交换:使用携带数据库目录的DBD包进行交换,需要ACK确认;

Loading加载:将本地和邻居发送过来的目标进行比对,针对本地未知的LSA,使用LSR向对端进行请求;对端使用LSU来共享新的LSA信息;本地需要LSack确认;收敛完成后进入下一个状态;

Full转发:邻接关系建立的标志

三、 OSPF的工作过程:

启动配置完成后,ospf的邻居开始组播224.0.0.5收发hello包;hello包中将携带本地的RID;在接收到的hello包中若存在本地的RID,及代表对端已经认识本端,那么邻居关系建立;生成邻居表;

邻居关系建立后,需要关注网络类型;

若条件不允许将卡在邻居关系,仅hello包周期保活即可;

若条件允许将可以建立为邻接关系;

邻接关系的建立需要先使用不携带目录信息的DBD进行主从关系选举,RID数值大为主;可以优先进行携带目标信息的DBD收发;在和邻接间收发完DBD后,将基于DBD中本地未知的LSA信息,使用LSR/LSU/LSack来获取具体的LSA信息;

在收集齐整个网络的LSA后,本地数据库表(LSDB链路状态数据库)完成;

当本地的数据库同步完成后,先将其转换为有向图,再基于图生成最短路径树;最后将本地到达所有未知网段的最短路径加载于本地的路由表中;该计算过程被称为SFP最短路径优先计算;

路由表生成后,邻接关系建立;收敛完成;正常仅hello包周期保活即可;

结构的突变:

1、 新增网段

2、 断开网段

3、 无法沟通 – dead time到时时,断开邻居关系,删除信息,能否重建关系关注hello包;

Hello包:hello time 10s 或者30s dead time 为hello time 4倍

邻居间建立邻居关系时,必须完全一致的参数,否则无法正常建立邻居关系

1、Hello、dead time 2、区域ID 3、认证字段 4、特殊区域标识

5、在华为的设备中,要求邻居间接口配置的子网掩码也必须一致;

四、 OSPF的基础配置

[r1]ospf 1 router-id 1.1.1.1 启动时需要定义进程号;以及RID

进程号仅具有本地意义;不定义进程,默认为进程1;不定义RID,默认将自动生成—先去环回上最大数值的ip地址—》物理接口上最大数值的ip地址

RID必须全网唯一;

进行宣告:1、区域划分 2、选择接口激活 3、宣告接口的信息

[r1-ospf-1]area 0

[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0

[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0

OSPF的区域划分规则:

1、 星型结构拓扑 – 所有非骨干区域必须连接到骨干区域 区域0为骨干,大于0非骨干

2、 区域间必须使用ABR相连 ABR—区域边界路由器

启动和宣告配置完成后,邻居间基于组播224.0.0.5收发hello包,生成邻居表:

[r2]display ospf peer 邻居关系详述表

[r2]display ospf peer brief 查看邻居关系简表

OSPF Process 1 with Router ID 2.2.2.2

Peer Statistic Information

----------------------------------------------------------------------------

Area Id Interface Neighbor id State

0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 Full

0.0.0.1 GigabitEthernet0/0/1 3.3.3.3 Full

区域 本地连接该邻接的接口 邻居的RID 状态机

邻居关系建立后,进行条件匹配,匹配失败将维持邻居关系;匹配成功将可以建立为邻接关系;邻接关系间将使用DBD和LSR/LSU/LSack来获取未知的LSA信息;

最终和邻接间同步数据库-LSDB;

[r2]display ospf lsdb

LSA洪泛、LSDB同步(OSPF收敛的名词)完成后;本地基于数据库转换为—有向图—最短路径树;最终计算本地到达所有未知网段的最短路径,然后将其加载到本地的路由表中;

在华为体系中,OSPF所得路由默认优先级为10,优于静态路由的60;

在cisco体系中,OSPF所得路由优先级为110,不如静态路由的1;

使用cost值作为选路的度量;

Cost值=开销值=参考带宽/接口带宽 默认参考带宽100M;

若接口带宽大于参考带宽,cost值取1;

故在接口带宽大于参考带宽的网络中,可能导致选路不佳;可以通过修改默认的参考度量来干涉:

[r1]ospf 1

INTEGER<1-2147483648> The reference bandwidth (Mbits/s)

[r1-ospf-1]bandwidth-reference 1000 切记:一旦修改,全网需修改的一致;

五、 OSPF邻居建立为邻接关系的条件:

邻居间只有hello包,没有其他数据包,没有LSA;

邻接关系都是在邻居关系之上来建立;

基于网络类型来确定关系:

1、点到点 串线的PPP/HDLC 虚拟的GRE 因为一个网段只能存在两个节点;故必然从邻居关系成为邻接关系

2、 MA多路访问—一个网段中节点的数量不限制

由于节点数量的不限制,故若两两间皆邻接关系,将可能导致大量的重复更新;在距离矢量协议中可以使用接口水平分割来解决该问题;

但OSPF协议需要邻接间比对数据库,故不能使用接口水平分割;最终进行DR/BDR选举;所有非DR/BDR之间为邻居关系,不进行LSA的同步;来避免大量重复更新;

1)DR/BDR选举 -- 先比较参选接口的优先级,大优;默认所有接口为1;0-255;

[r1]interface GigabitEthernet 0/0/1

[r1-GigabitEthernet0/0/1]ospf dr-priority 2修改接口优先级

2)若所有接口优先级相同,将比较参选设备的RID,数值大优;

切记:DR/BDR选举是非抢占的,一旦选定,后加入者无论参数如何只能认可之前的选举结果;

因此在修改完接口优先级后,选举结果将不变化,除非人为重启选举;

所有设备全部重启OSPF进程,之后将重选DR/BDR

<r1>reset ospf process

Warning: The OSPF process will be reset. Continue? [Y/N]:y

或者将非DR/BDR的优先级修改为0,0代表不参选,不用重启设备的进程;万万不能一个网段所有设备优先级为0,否则将导致无法正常收敛。

六、 OSPF接口网络类型

----OSPF协议在不同的网络类型下,其不同的工作方案;

[r1]display ospf interface GigabitEthernet 0/0/1 查看OSPF协议在该接口工作方式

网络类型 OSPF接口网络类型(工作方式)

环回 P2P点到点 没有hello包;默认32位路由传递

点到点(串线PPP/HDLC/GRE)P2P点到点 hello time10s;不选DR/BDR

BMA (以太网) Broadcast广播 hello time10s,选DR/BDR

NBMA(帧中继、MGRE)

在MGRE接口,由于ospf协议默认为点到点的工作方式,只能建立一个邻居关系;

故将无法全网可达;

解决方法:修改接口的工作方式

[r1-Tunnel0/0/0]ospf network-type broadcast 修改为广播型

注:broadcast工作方式的hello time 为10s,但需进行DR/BDR选举;P2P也是10s,不进行DR/BDR选举,两者若相遇可以建立邻居关系,但无法正常收敛LSA;故在一个网段内所有接口的工作方式应该一致;

修改接口网络类型后,必须关注拓扑的结构;

1、 中心到站点(星型、轴辐状)--由于分支站点间不知道其他分支的存在,从而导致整个网段的DR选举错误,最终导致该网络无法正常收敛;中心站点作为DR,无BDR;

2、 全连网状 --在所有接口修改为broadcast后一切正常

3、 部分网状---排除星型结构外的非全连结构—结合拓扑的实际情况来干涉DR的位置;

七、 OSPF的不规则区域

默认OSPF协议要求区域设计基于星型结构;中心为骨干区域,编号0;其他大于0为非骨干区域,所有非骨干必须直接连接骨干;

OSPF的不规则区域

1) 远离了骨干的非骨干区域

2) 不连续骨干

解决方案:

1、 将非法ABR与区域0中的设备进行GRE的建立;然后将该GRE宣告到OSPF协议中;

缺点:1)周期性保活和更新将对中间穿越区域照成很大的影响

2)选路不佳

2、 OSPF虚链路

连接骨干区域的合法ABR对非法ABR进行授权;之后非法ABR可以实施区域间路由共享的能力;

[r2]ospf 1

[r2-ospf-1]area 1 两台ABR同时所在的区域

[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 对端ABR 的RID

优点:没有新增新的物理或逻辑链路,故不存在选路不佳的问题;

缺点:1)cisco 取消两台ABR间的周期保活及更新,避免对中间区域资源占用;但失去可靠性;

2)华为保留了两台ABR间的周期保活及更新,增加了对中间区域的资源占用,导致网络的转发延时大幅上升;

3、(推荐)多进程双向重发布

多进程:在一台设备上若同时启动多个进程,且不同进程宣告到不同的接口;它们将存在各自独立邻居,及独立的数据库;且数据不共享;最终所有计算所得路由加载于同一张路由表中;

若将同一个接口再多个进程同时宣告;仅最先宣告的进程生效;

双向重发布可以将不同路由协议或相同协议的不同进程,计算所得路由进行共享,最终实现全网可达

[r4]ospf 1

[r4-ospf-1]import-route ospf 2

[r4-ospf-1]q

[r4]ospf 2

[r4-ospf-2]import-route ospf 1

八、 关于OSPF的MTU值问题;

Ospf协议要求邻接关系间的接口MTU必须完全相同,否则将卡在exstart或exchange状态机;因为MTU值被携带与DBD包中;

默认cisco将自动检测DBD包中的MTU值;而华为设备默认不携带MTU值;

[r1]interface GigabitEthernet 0/0/1

[r1-GigabitEthernet0/0/1]ospf mtu-enable 在与邻接直连的接口上,开启MTU值检测功能;两端设备均需开启;

九、 OSPF的数据库表

[r1]display ospf lsdb 查看数据库简表

由多种LSA构成;OSPF协议使用不同类型的LSA来携带不同条件下产生的拓扑或路由信息;

无论哪类的LSA均存在以下信息

[r1]display ospf lsdb router 12.1.1.2 详细查看某种类别的LSA信息

类别名 LINK-ID

Type : Router 类别名,此处为1类

Ls id : 12.1.1.2 link-id 在目录中的编号,类似页码

Adv rtr : 12.1.1.2 通告者的RID,该条LSA发出的源头设备的RID

Ls age : 1269 老化时间,周期30min归0;触发更新马上归0;最大老化3609s

Len : 48

Options : ABR E

seq# : 8000000b 序列号,每一条LSA存在不同的序列号,每一次更新序列号+1

(OSPF使用的是棒棒糖序列号机制)

chksum : 0xb43b

LSA类别 传播范围 通告者 携带的内容

LSA1- Router 单区域 该区域内每台设备 本地直连拓扑

LSA2- Network 单区域 该网段的DR 该DR所在网段的拓扑

LSA3- summary 整个OSPF域 ABR 域间路由

LAS4-asbr 除ASBR所在区域 ABR ASBR的位置

以外的整个OSPF域

ASBR所在区域基于1类交代位置

LSA5- ase 整个OSPF域 ASBR 域外路由

LSA类别 link-ID 通告者

LSA1-router 通告者的RID 该区域每台运行OSPF的路由

LSA2-network DR接口的ip地址 该网段的DR

LSA3- summary 域间路由的目标网络号 ABR,在经过下一台ABR时,修改为新的ABR

LSA4-asbr ASBR的RID ABR,在经过下一台ABR时,修改为新的ABR

LSA5- ase 域外路由的目标网络号 ASBR

思维导图

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:37:35  更:2021-10-09 16:39:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:19:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码