ospf总结

  • Post author:
  • Post category:其他


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

无类别链路状态型IGP协议;– 局域网,企业网,AS内部

基于链路状态进行工作—拓扑(防环),更新量大 – 理论上不适用于大中型企业网

为了在大中型网络中工作 – 需要结构化的部署(区域划分、地址规划、其他优化行为)

触发更新、周期更新(30min) 更新地址:224.0.0.5 224.0.0.6组播

一、数据包类型:

Hello 用于邻居、邻接(毗邻)的发现,建立、周期保活

DBD 数据库描述 – 本地的数据库的目录

LSR 链路状态请求 – 基于本地未知的LSA信息进行查询

LSU 链路状态更新 – 用于传输各种LSA信息

LSack 链路状态确认 – 确认收到的DBD/LSU;

OSPF数据库扩展封装于3层报头;协议号89 ;

标准报头格式如上图;其中类型号1-5对应OSPF的5种包;不同种类的数据包基础报头一致,在data处不同(各自的信息;)

二、状态机 :

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类



版权声明:本文为qw13087643206原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。