其他分享
首页 > 其他分享> > ospf总结

ospf总结

作者:互联网

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

协议算法特点:链路状态型协议
协议是否传递网络掩码:传递网络掩码
协议封装:基于IP协议封装,协议号89
IP协议是否可靠?----不可靠(不确认,重传)
协议号:用来描述上层协议的类型
TCP-----6 UDP-----17

OSPF特点:
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进程

OSPF区域:
基于接口(链路)的划分
区域划分意义:
1.减少LSA的数量
2.减少LSA的传播范围
区域的标记:使用了32个二进制1.十进制 2.类似于IP地址(AB类)
区域的分类:
1.骨干区域:区域标记位0或0.0.0.0
2.非骨干区域:区域标记不等于0或0.0.0.0
区域设计原则:向日葵型网络结构
1.OSPF网络中必须存在唯一的骨干区域
2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连
OSPF中路由器的角色:
骨干路由器:一个路由器的所有接口都属于Area0的区域中
非骨干路由器:一个路由器的所有接口都是属于非骨干区域中
ABR:区域边界路由器,处于Area0和非Area0之间的区域的路由器,能产生3类LSA的路由器
ASBR:自治系统边界路由器,一个路由器处于OSPF网络和非OSPF的网络的边界,将非OSPF网络引入到OSPF网络中,能 够产生5类或7类

数据包类型

1.Hello包
周期性发送,周期时间10s或30s
目的:建立并维持OSPF邻居关系(邻居关系建立之后重当保活包功能)

2.DBD包

Interface MTU:此接口最大可发出的IP报文长度为1500。
options:可选项(见下面)

I:当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0。
M:当连续发送多个DD报文时,如果这是最后一个DD报文,则置为0。否则置为1,表示后面还有其他的DD报文。
O:表明始发路由器是支持Opaque LSA
DC:当始发路由器支持按需电路上的OSPF能力时,该位被设置
L:包含链路本地
MC :当路由器具有转发IP组播能力时,该位被设置
E:E=1,接收5类LSA,=0不接收5类LSA
MT:设置了该位表示始发路由器支持多拓扑OSPF

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

LS type:LS类型
Link State ID:LSA header里面包含的Link State ID字段内容
Advertising Router:通告被请求的LSA的Router
4.LSU包
链路状态更新,携带LSA信息

Number of LSAs:该报文包含LSA 的数量
5.LSACK包
链路状态确认

LSA header :该报文包含LSA 的头部

状态机 :
Down 一旦本地启动OSPF协议,并发出hello包及可以进入下一个状态机;
Init 初始化 本地接收到的hello包中,若邻居字段出现本地的router-id,进入下一个
状态;
2way 双向通讯 邻居关系建立的标志,双方互相认识,拥有对端的router-id;
条件:1)点到点网络直接进入下一个状态
2)MA网络将进行DR/BDR选举;非DR/BDR之间不能进入下一个状态;

Exstart 预启动 邻居间使用不携带数据库目录信息的DBD包进行主从关系的选举;RID数值大为主;主优先进入下一个状态机;避免同一时间的收发导致网络拥塞;
Exchange 准交换 邻居间使用DBD共享数据库目录;需要ACK确认;
Loading 加载 查看邻居发送过来的DBD,比对出本地未知的LSA,之后使用LSR询问对端,对端使用LSU来共享这些LSA信息,本地再LSACK确认;
Full 转发 邻接关系建立的标志 邻居间LSBD一致;

工作过程
OSPF启动配置完成后,邻居间使用组播224.0.0.5开始收发hello包,建立邻居关系;生成邻居表;邻居关系建立,基于网络类型来决定是否可以尽力为邻接关系;
点到点网络间,因为一个网段只能存在两个节点,正常必然建立为邻接关系;
MA网络中,因为网段内节点的数量不确认,导致所有两两间均建立为邻接关系的话,可能出现大量重复更新,需要进行DR/BDR选举,默认非DR/BDR间只能保存为邻居关系,仅hello包周期保活即可; 其他情况均建立为邻接关系;
确定两台设备可以建立邻接关系后;
先DBD主从关系,RID数值大为主,可以优先共享数据库目录,避免同一时间的更新导致网络拥塞;之后使用携带目录的DBD来同步LSDB;过程中需要使用LSR/LSU/LSack来获取未知的LSA信息;
当数据库(LSDB)同步完成后(收敛完成);邻接间默认仅hello包保活即可;
数据库的同步将生成数据库表;
收敛完成后,每台OSPF设备将,其他SPF规则;基于本地的数据库生成有向图,再基于有向图转换为最短路径树;再通过树形结构计算本地到达所有未知网段的最短路径,然后将其加载到路由表中;

名词注解:
LSA – 链路状态通告,具有的拓扑或路由信息;在不同环境下将产生不同类别的LSA;
在共享时基于LSU来传输;
LSDB – 链路状态数据 该网络所有LSA的集合 通过DBD/LSR/LSU/LSack来收集
LSDB同步、LSA洪泛—这两个名词都是只OSPF收敛的行为;

结构突变:
1、新增网段
2、断开网段
3、无法沟通 – dead time 到时时,断开邻居关系,删除信息;

基础配置
[r1]ospf 1 router-id 1.1.1.1 启动OSPF协议,可以定义进程号,默认为1,RID;
进程号仅具有本地意义;RID全网唯一,格式IPV4地址
地址生成权限—手写—环回最大数值—物理接口最大数值
宣告:激活协议 宣告内容 区域划分
[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.0 0.0.0.255
OSPF必须使用反掩码
反掩码(OSPF)和通配符(ACL)的区别:两者均为0关注,1不关注可变;
但反掩码只能前0后1、全0、全1; 通配符还可以0、1穿插;

区域划分规则
1、星型拓扑 – 中心为骨干区域-0;非骨干区域大于0;所有非骨干区域必须连接到骨干区域;
2、必须存在ABR –区域边界路由器 默认合规的ABR,应该在连接非骨干区域的同时必须连接骨干区域;

1)当启动配置完成后,邻居间收发hello包,建立邻居关系,生成邻居表:
[r2]display ospf peer
[r2]display ospf peer brief
Hello包 用于邻居、邻接关系的发现、建立、周期保活;

4个携带*号的参数,为邻居hello包中必须完全一致的参数,否则无法建立邻居关系;
Hello 和dead time,区域ID,认证参数,末梢区域标识 华为设备还要求邻居间接口配置的ip地址中子网掩码必须一致;
Hello time 10s或者30s; dead time为hello time 4倍

2)当邻居关系建立后,邻居间使用DBD来进行主从选举,以及数据库目录的共享

关于DBD包的扩展:
1、隐性确认 – 不适用确认机制的ACK包,而是在数据交互的过程中利用其他的参数来进行接收确认;OSPF协议的DBD包利用了序列号来完成隐性确认;
从使用主的序列号来确认接收到主的DBD;
2、关注DBD包中的描述字段
I 为1代表本地发出的第一个DBD M 为1代表不是本地最后一个DBD;
MS 为1代表主,0代表从;
3、MTU值 OSPF协议要求邻接的接口MTU值必须完全一致,否则将无法建立邻接关系;
若不一致,正常卡在exstart或者exchange状态机下;部分厂商默认不关注该参数,若需要关注得管理员开启 –华为默认不关注
[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf mtu-enable 开启关注

OSFP协议的邻接关系建立过程中,邻接间将使用DBD/LSR/LSU/LSack来获取本地未知的LSA,最终完成LSDB同步;完善数据库表:
[r1]display ospf lsdb

之后,每台运行OSPF协议的路由器,将基于本地的数据库,计算生成所有到达未知网段的路由,然后将其加载到路由表中:
默认在华为路由表中,优先级为10;度量使用cost值;
Cost值=参考带宽/接口带宽 所参考带宽小于接口带宽,cost值为1;
Osfp默认选择cost值之和最小为最短路径;
默认参考带宽为100M,所参考带宽小于接口带宽,cost值为1;可能导致选路不佳;
可以人为修改参考带宽
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000
注:所修改参考带宽,那么该网络中所有的设备均需修改;

3)关于DB/BDR选举 只有在MA网络中才需要进行DR/BDR选举,所有的非DR/BDR间不能建立邻接关系,避免重复更新;–切记在每一个MA网段中均需要选举DR/BDR;

规则:
1、比较参选接口的优先级,默认为1;0-255 大优; 为0代表不参选
2、所有优先级相同,比较参选设备的RID,数值大优;
另:在修改接口优先级后,由于选举非抢占,故不会马上产生效果;
通过重启所有参选设备的ospf进程,才能重新选举;
[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf dr-priority 3
reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y

OSPF的接口网络类型 –OSPF协议在不同网络类型的接口上其不同的工作方式
[r1]display ospf interface LoopBack 0 查看OSPF协议在某种接口上的工作方式

网络类型 OSPF接口网络类型
环回 p2p—无hello收发,主机32位路由共享
点到点—串线HDLC/PPP tunnel-GRE p2p—自动建邻,不选DR,hello time10s
BMA – 以太网 Broadcast–自动建邻,选DR,hello time10s
NBMA –帧中继、MGRE

由于MGRE为虚拟的NBMA环境,故ospf协议不能自动识别到;正常在NBMA网络中OSPF的接口工作方式应该为nbma方式;但在MGRE的接口上,ospf协议理解为普通的tunnel接口,使用了p2p的工作,该工作方式只能建立一个邻居关系;
故在华为设备中,在能够接收到伪广播的所有邻居中定义建议第一个邻居,忽略其他的邻居建立;在cisco的环境中,将实时与最新收到的伪广播hello包建立邻居关系;
处理方案:
1、该网段所有接口的ospf工作方式修改为Broadcast;
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ospf network-type broadcast
在修改的过程中,由于Broadcast 与 p2p的hello time设计为一致10s,故当该网段多台设备中部分设备以及修改为Broadcast,但还剩余一些设备为p2p,将出现可以建立,但由于DR选举(Broadcast选DR/p2p不选DR),导致无法正常收敛,需求该网段所有接口均修改为Broadcast;

在修改所有接口的工作方式为broadcast后,还需要关注当前MGRE环境的拓扑情况;
若为全连网状结构—正常 若为部分网状结构或星型结构,将由于部分设备间没有邻居关系,导致对整个网络的认真不同,从而出现DR/BDR选举位置不统一(将中心点定为DR,不要BDR)
2、该网段所有接口的ospf工作方式修改为P2MP
P2MP为手工方案,不是默认的类型;hello time30s;不选DR/BDR;自动建邻;
在物理的NBMA网络,比如帧中继可以解决下一跳问题,故为帧中继非全网结构拓扑最好的方案;但由于MGRE不是物理NBMA,而是逻辑NBMA,故不建议使用该方案

远离OSPF的不规则区域
1、远离了骨干的非骨干区域
2、不连续骨干 — 受到区域水平分割限制—例:从区域A进入区域B后,不能再回到A编号的区域
解决方案:
1、tunnel ,在合法与非法ABR间建立隧道,然后将其宣告到OSPF协议中
缺点:
1)周期的hello和更新信息,会对中间穿越区域造成影响
2)选路不佳 – 若一台OSPF协议路由器,学习到两条到达同一目标的路由时,先比对来源区域,若一条通过骨干导入,另一台通过非骨干导入,优选骨干导入;
若来源区域均为骨干,或均为非骨干,比较优先级后再比较cost值;

2、OSPF的虚链路
由合法的ABR向非法ABR进行授权,使得非ABR可以区域间共享路由
合法ABR与非法ABR在同一区域
[r2]ospf 1
[r2-ospf-1]area 1 中间穿越区域

[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 对端ABR设备的RID值;
[r2]display ospf vlink
优点:没有建立逻辑上的通道,故不存在选路不佳的问题;
缺点:1)cisco为代表的部分厂商取消两台ABR上的所有周期信息—不对中间区域占用资源,但失去可靠性
3)华为为代表的部分厂商,依然两台ABR间保持周期信息—对中间区域占用资源

3、多进程双向重发布(推荐)
多进程—在一台设备上同时启动多个OSPF进程,每个进程拥有独立的数据包,独立的数据库;数据库间不共享,仅将计算所得的路由加载于同一张路由表中;
若将同一个接口,在多个进程中均需要,仅最新宣告的进程生效;
重发布—在一个网络中若运行多种路由协议,或者同一协议的不同进程;可以使用该技术来实现路由共享,最终全网可达;
[r4]ospf 1
[r4-ospf-1]import-route ospf 2
[r4]ospf 2
[r4-ospf-2]import-route ospf 1
重发布进入的路由条目,在OSPF协议中优先级150;使用O-ASE标识

OSPF数据库表
OSPF的数据库—LSDB – 链路状态数据库—整个网络的LSA集合
LSA – 链路状态通告 – 路由信息或者拓扑信息
在不同的网络环境下产生不同的LSA信息;
display ospf lsdb router 2.2.2.2 具体查看某条LSA信息
类别名 link-id(番号,类似页码号)
以下为所有类别的LSA均存在的参数:
Type : Router 类别名,此处为1类
Ls id : 2.2.2.2 link-id 相当于页码号,也可以用具体查看时查找
Adv rtr : 2.2.2.2 通告者的RID,该LSA的源头
Ls age : 1607 老化时间,正常1800周期归0,触发更新当下归0;最大老化3609
Len : 48 数据长度
Options : ABR E
seq# : 80000016 序列号 棒棒糖序列号规则
chksum : 0x6095

LSA类别 传播范围 通告者(源头) 携带信息
1类Router 本区域 本区域每台设备 本地直连拓扑
2类network 本区域 DR’RID 单个MA网段拓扑
3类summary 整个OSPF域 ABR’RID 域间路由(其他区域产生)
4类 asbr 除ASBR所在区域 ABR’RID ASBR的位置
外的整个ospf域,ASBR所在区域基于1类告知位置
5类External(ase) 整个OSPF域 ASBR(协议边界路由器) 域外路由器(其他协议或进程产生)
7类LSA NSSA 本区域 ASBR 域外路由 域外路由目标网络号

LSA类别 link-id 通告者(源头)
1类Router 通告者的RID 本区域每台设备(RID)
2类network DR的接口ip地址 DR’RID
3类summary IA (域间)路由的目标网络号 ABR’RID ,经过下一个ABR时修改为新的ABR
4类 asbr ASBR’RID ABR’RID ,经过下一个ABR时修改为新的ABR
5类External(ase) (域外)路由的目标网络号 ASBR (不变,靠4类

标签:总结,LSA,ospf,ABR,区域,OSPF,路由器
来源: https://blog.csdn.net/qq_47409343/article/details/122567702