ospf的一些事

一.OSPF基础

1.特性

OSPF是目前使用最广泛的IGP路由协议,属于链路状态路由协议,使用Dijkstra算法,也被称为SPF(Short Path First最短路径算法)。

IETF标准:OSPF可以被不同厂商的设备所支持

无环路由协议:执行的是SPF算法,不会产生路由环路

无类路由协议:支持VLSM(可变长子网掩码)和CIDR(无类别域间路由)

拥有不受限的跳计数:可以应用于大型网络

层次型:易拓展,路由器的负担不会随着网络规模的增大而急剧增加

区域化设计:减少路由更新的流量,降低内存、cpu和带宽的使用

快速收敛:使用触发式更新,路由可以快速收敛

支持验证:OSPF支持针对区域和链路的验证

2.OSPF术语

链路(link):当一个接口加入OSPF进程,它就被认为是一个ospf链路

链路状态(Link-State):链路的状态信息,包括接口的IP地址和子网掩码、接口网络类型、链路的花费、链路上的邻居

路由器ID(Router ID,简称RID):用于识别路由器的IP地址,可以手工指定;如果没有指定,则选择所有环回接口中最高的IP地址;若没有环回口使用,选择物理接口中最高的IP地址。

邻居(Neighbor):连接在一个公共的网络上的路由器(≥2)

邻接(Adjacent):2台路由器之间的关系,允许直接交换路由更新数据。OSPF只与建立了邻接关系的邻居共享路由信息。邻居和邻接没有直接关系。

区域(Area):通过划分区域实现分层设计

指定路由器(DR,Designated Router):OSPF路由器在多路访问的网络中需要DR,DR代表该多路访问网络中的所有路由器,每台路由器都把拓扑变化发送给DR和BDR,然后DR通知该多路访问网络中的其他路由器。

备用的指定路由器(BDR,Backup Designated Router):备用DR,DR离线时代替DR工作。

花费(cost):每条链路都有一个花费,OSPF的唯一度量值。根据链路的带宽计算而来,可以人为修改。

ABR(area border router)边界路由器:位于一个或多个OSPF区域边界上、将这些区域连接到主干网络的路由器。ABR被认为同时是OSPF主干和相连区域的成员。

ASBR(自治系统边界路由器,Autonomous System Border Router):一般是位于非OSPF区域和OSPF区域间互联的路由器。ASBR可以运行OSPF和另一路由选择协议(如RIP),把OSPF上的路由发布到其他路由协议上。ASBR必须处于非存根OSPF区域中。 在NSSA区域中,对7类LSA转换为5类LSA的路由器也是ASBR。所以说,ASBR不一定在2个协议之间,对于产生5类LSA的都是ASBR 

当配置了引入外部路由配置的路由器就是ASBR

当引入路由为缺省静态是时候,规定不做引入!!!

3.基本配置

Router ospf 进程号

    network IP子网 反掩码 area area-id

1.报文格式

数据链路层头部+IP包头部+OSPF包头+OSPF数据

OSPF包格式

数据链路层头部:OSPF组播IP地址224.0.0.5(非DR和BDR使用的地址)和224.0.0.6(DR和BDR使用的地址),组播MAC地址对应01-00-5E-00-00-05/06

IP包头部:协议号89,源IP是发送路由器的IP,目的IP是组播地址224.0.0.5/6

OSPF包头:包括RID和区域号以及OSPF包类型

OSPF数据:每种OSPF包的具体内容 2.OSPF报头格式

OSPF用IP报文直接封装协议报文,协议号为89。OSPF分为5种报文:Hello报文、DBD报文、LSR报文、LSU报文和LSAck报文。

OSPF这五种报文具有相同的报文头格式,长度为24字节。

OSPF报文头

Version:OSPF版本号,当前为OSPFv2。OSPFv1实验版本,v3针对IPv6。

Type:包类型,1为Hello报文,2是DBD,3是LSR,4是LSU,5是LSAck

Packet length:报文长度

Router ID:路由器ID,每台路由器的唯一标识

Area ID:区域号,主区域为0

Checksum:校验和

Autype(Authentication Type):验证类型。0:不使用,1:明文,2:MD5

Authentication:验证相关信息,包括密码

重点讲Hello包和LSU的分类

①Hello包

Hello报文被用来建立和维护OSPF的邻接关系。OSPF的Hello报文的作用主要有:发现OSPF邻居,建立和维护邻接关系;在多路访问的网络中选择DR和BDR。

OSPF泛洪链路状态通告给其他路由器之前,需要先建立邻接关系。所有启用OSPF协议的接口上都发送Hello报文,以判断是否有其他ospf路由器运行在相同的链路上,一般以组播方式发送,组播IP:224.0.0.5。

②DBD(Database Description,数据库状态描述包)

DBD是发送路由器链路状态数据库的一个简短描述。

③LSR(Link-State Request,链路状态请求包)

接受路由器可以发送LSR来请求发送路由器DBD中的某些条目详细信息。

④LSU(Link-State Update,链路状态更新包)

用来更新OSPF路由信息,回复LSR请求。LSU被分成多种类型的LSA(Link-State Advertisement)

⑤LSAck(Link-State Acknowledgement,链路状态确认)

当一个LSU被收到时,路由器发送LSAck进行确认

三.LSA类型

共11种类型LSA(链路状态通告),其中6类常用

1、路由器LSA (Router LSA)

由区域内所有路由器产生,并且只能在本个区域内泛洪广播。

这些最基本的LSA通告列出了路由器所有的链路和接口,并指明了它们的状态和沿每条链路方向出站的代价。

2、网络LSA (Network LSA)

由区域内的DR或BDR路由器产生,报文包括DR和BDR连接的路由器的链路信息。

网络LSA也仅仅在产生这条网络LSA的区域内部进行泛洪。

3、网络汇总LSA (Network Summary LSA)

由ABR产生,可以通知本区域内的路由器通往区域外的路由信息。

在一个区域外部但是仍然在一个OSPF自治系统内部的缺省路由也可以通过这种LSA来通告。

如果一台ABR路由器经过骨干区域从其他的ABR路由器收到多条网络汇总LSA,那么这台始发的ABR路由器将会选择这些LSA通告中代价最低的LSA,并且将这个LSA的最低代价通告给与它相连的非骨干区域。

4、ASBR汇总LSA (ASBR summary LSA)

也是由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由。

5、自治系统外部LSA (Autonomous system external LSA)

由ASBR产生,告诉相同自治区的路由器通往外部自治区的路径。

自治系统外部LSA是惟一不和具体的区域相关联的LSA通告,将在整个自治系统中进行泛洪。

6、NSSA外部LSA (NSSA External LSA)

由ASBR产生,几乎和LSA 5通告是相同的,但NSSA外部LSA通告仅仅在始发这个NSSA外部LSA通告的非纯末梢区域内部进行泛洪。

在NSSA区域中,当有一个路由器是ASBR时,不得不产生LSA 5报文,但是NSSA中不能有LSA 5报文,所有ASBR产生LSA 7报文,发给本区域的路由器。

详解:LSA类型详解

四.选路

OSPF的四种路径类型:

1、O 域内路由

2、O IA 域间路由

3、E1的外部路由

4、E2的外部路由

外部路由重分布进OSPF有两种类型

·OE1:  重分布进OSPF的路由默认为E2,Cost=20,且传递过程中不改变COST。

·OE2:  如果改为E1类型,则在传输过程中会累加每个入接口的cost值

OSPF的选路原则:

1、域内路由优于域间路由

2、域间路由优于外部路由

3、OE1的路由优于OE2的路由

如果一台路由器收到两条相同的域间的路由,一条是area 0区域传过来的,一条是普通区域传过来的,则优选area 0区域传过来的。

如果有一台路由器从两个不同的ASBR收到相同的外部路由,OSPF在选择外部路由的时候,遵循的原则是:

[1]O E1优于O E2

[2]在类型相同的情况下,Cost越小越优先

[3]对OE2来说,在cost相同的情况下,选择到达ASBR最优的路径

OE2的路由传递时带有一个参数---forward metric,这个参数记录了OE2的路由所穿越链路的总COST值,如果一个路由器收到两条COST相同的OE2路由,将比较它们的forward metric来选出最优路由。

OSPF路由协议:全称(开放式最大路由优先)

作用范围:IGP

工作原理:链路状态

OSPF支持:无类(CIDR)

IP——协议号(89)

组播——224.0.0.5/6

优先级:10或者150

度量方式——路由

OSPF协议特点:1.支持无类域间路由(CIDR:汇总/汇聚)

2.无路由自环

3.收敛速度快:邻居---10----hello---4次(rip:---180s老化---120s彻底删除)

4.使用IP组播收发协议数据

5.支持多条等值路由

6.支持协议报文的认证:分类(区域认证:在这个区域下的路由器必须开区域认证,不然无法创建关系。和接口认证:所在线路接口配就行了(其余可以不配)

链路状态算法的路由计算过程

LSA——链路状态通告信息

LSDB——存放LSA信息的数据库

(每一个运行了OSPF的路由器,都会泛洪自己的LSA,生成统一的LSBR数据库——每个路由器都以自己为根,计算机去往每一个分布接点的最短路径———生成IP路由;(使用SPF算法)

Router ID:

1.唯一标识一台运行了OSPF的路由器

2.不是IP地址

3必须存在——1.手工配置的最优先;2.环回口地址大的;3.接口IP地址大的

划分AS为多区域:维护区域内LSBR(区域间传递的不是链路状态信息)

区域:1.骨干和2.非骨干

OSPF报文类型:

1.类型字段取值位1:Hello消息——Hello报文

2.类型字段取值位2:数据库描述报文——DD报文

3.类型字段取值位3:链路状态请求报文——LSR报文

4.类型字段取值位4:链路状态更新报文——LSU报文(LSA:链路状态通告信息)

5.类型字段取值位5:链路状态确认报文——LSAck报文

DR和BDR的选举要点概括:

1.身份不抢占

2.在位不选举

3.先比优先级

4.再比路由器ID

开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。

工作方式:发现路由->生成路由表->指导转发

优点:无环路,收敛快,扩展性好,支持认证

报文:

hello:建立邻居,维持邻居关系(周期10s,离开时间40s)

DD报文:LSA数据交互,LSDB数据同步

LSR报文:请求LSA(空,说明LSDB同步完成)

LSU报文:响应LSR请求

LSACK报文:确认报文

ospf ip 组播地址(224.0.0.5 224.0.0.6)

router-id(唯一标识ospf设备)

ospf 1 router-id 1.1.1.1 ----手工配置

自动配置:

loopback 0最大

物理地址接口最大

邻居状态机

down:没有配置ospf,没有收到hello

init:收到hello,但是邻居参数没有自身router-id

2-way:收到hello,邻居参数有自身router-id

exstart:交互DD(空),选举主从交换机

exchange:交互DD,发送是否缺少LSA

loading:LSR:请求lsa

LSU:发送缺少lsa

FULL:LSDB数据库同步

DR作用:减少MA网络邻接建立,减轻设备负担

选举规则

1、DR优先级(越大越优)默认1(max:255)

2、DR优先级一致则比较router-id(越大越优)

修改DR优先级

int g0/0/0

ospf dr-priority 0-255

type类型

1.OSPF引入外部路由有type1和type2两种类型,默认是type2类型的。

引入type1类型的外部路由,计算Cost时需要用LSA的Cost加上外部路由的Cost。

引入type2类型的外部路由,认为外部路由的Cost远大于OSPF内部Cost,计算时只考虑LSA的Cost。

2.四类LSA:也称为ASBR汇总LSA(ASBR Summary LSA),

由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。

链路状态ID为ASBR路由器ID。

3.只有ABR才会去转换、生成4类LSA,作为介绍信,让区域内的路由器——找到ASBR

当区域中的路由器具有5类LSA和4类LSA、同时又具有ABR的角色时。它就会再生成一条四类LSA,发送给自己的另一个区域

4.如何去生成?

答:以四类LSA,转变一下通告者去生成,再转发下去。目的:为了让另一个区域中的路由器能够知道怎么去往ASBR

当身为ASBR区域的路由器时,就通过自己区域内部的SPF路径树过去

5.如何计算COST?

答:type1:本身路由器达到ABR的COST+ABR自己收到的四类LSA的COST

type2:

6.FA地址:就是引入路由的下一跳地址,

什么情况会产生FA地址?

1.ASBR去往外部路由的出接口被宣告ospf进程中

2.ASBR去往外部路由的出接口没有被设置为静默接口

3.ASBR去往外部路由的的出接口不是P2P

作用:是五类LSA中的一个参数,用来做ospf链路优化的

1.当五类LSA中的FA地址是0.0.0.0 时,代表没有FA地址

,那么路由器在计算这条五类LSA是是要找通告者来计算

2.当五类lSA中的FA地址非0时,代表存在FA地址,那么

路由器在计算这条五类LSA时,不再找ASBR计算了,

而是找FA地址。

ospf快速收敛的方法:

1.开启ospf的 i-ospf,这个缺省开启的,增量的SPF计算,只计算受到影响的一部分,不会去计算一个完整的SPF计算,因此加快了收敛时间。

2.PRC(部分路由计算)场景:仅仅路由发生变化,拓扑没有发生变化,PRC收敛速度>i-ospf收敛。

3.配置智能定时器:通过配置智能定时器可以让他的SPF计算和LSA的产生,当网络出现振荡的时候,减少它的运行数量,保持它的本身的稳定性

3.1.LSP产生的一个间隔的定时器

3.2.SPF计算的间隔定时器

4.配置优先级收敛:保证重要的网段,当ospf发生变化的时候,打到快速收敛的目的

5.配置ospf的hello包:将hello包的hold time 的时间减小,可以让其快速的检测到邻居出现问题,然后快速收敛

6.ospf和BFD进行联动,快速检测故障,快速收敛

https://view.inews.qq.com/a/20220507A0913N00

OSPF的路由控制包括:

  1. 调整OSPF接口开销
  2. 设置等价路由:

OSPF选路时优先比较路由来源(区域内>区域间>第一外部路由>第二类外部路由),来源相同时再比较cost,cost相同形成等价路由。

在OSPF视图下:maximum load-balancing +最大值。

  1. 引入外部路由
  2. 路由聚合:

在ABR执行路由聚合:对区域间的路由执行路由汇总。

在ASBR执行路由聚合:对引入的外部路由执行路由汇总。

  1. 缺省路由通告
  2. Filter-policy:

概念:对接收、发送、引入的路由进行过滤。

但是Filter-policy只能过滤路由信息,无法过滤LSA。

Filter-policy是对OSPF计算出来的路由(加载到路由表之前)进行过滤,而不会对LSA进行过滤。

  1. 对发送的LSA进行过滤:

概念:当两台路由之间存在多条链路时,可以在某些链路上通过对发送的LSA进行过滤,减少不必要的重传,节省宽带资源。

通过对OSPF接口出方向的LSA进行过滤可以不向邻居发送无用LSA,从而减少邻居LSDB的大小,提高网络收敛速度。

  1. 对ABR Type3 LSA进行过滤:

概念:对区域内出、入方向ABR Type3 LSA (Summary LSA)设置过滤条件,只有通过过滤的LSA才能被发布和接收。

通过对区域内的LSA进行过滤可以不向邻居发送无用的LSA,从而减少LSDB的大小,提高网络收敛速度。

  1. 设置LSDB中External LSA的最大数量:

概念:OSPF要求同一个区域中的路由器保存相同的LSDB。随着网络上路由数量不断增加,一些路由器由于系统资源有限,不能再承载如此多的路由信息,这种状态就被称为数据库超限(OSPF Database Overflow)。

对于路由信息不断增加导致路由器系统资源耗尽而失效的问题,可以通过配置特殊区域来解决,但特殊区域不能解决动态路由增长导致的数据库超限问题。为了解决数据库超限引发的问题,通过设置LSDB中External LSA 的最大条目数,可以动态限制链路数据库的规模。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值