【ospf】

ospf

OSPF是Open Shortest Path First(开放最短路径优先) 的缩写

ospf协议的特点

没有路由跳数的限制
使用组播更新变化的路由和网络信息
路由收敛速度更快
以cost作为度量值
采用的spf算法可以避免环路

ospf计算过程

1.每台设备根据周围生成LSA,并通过更新报文将LSA发送给网络中的其他设备
2.设备侧收集相关的LSA 组成了LSDB ,LSDB代表了设备对整个网络拓扑结构的描述
3.ospf路由器将LSDB转换成一张带权的有向图
4.然后使用spf算法计算出一颗以自己为跟的最短路径树

ospf的表项信息

邻居表:邻居表建立邻居关系的表项
LSDB:包含了所有的链路状态信息 并需要实时同步
路由表:经过spf的计算出来的路由存放在ospf的路由表中

ospf的ID号

一台设备如果要运行ospf协议 则必须要有相应的RID(在整个网络中是唯一的标识)

如果当前设备配置了Loopback接口,将选取所有Loopback接口上数值最大的IP地址作为RID;

如果当前设备没有配置Loopback接口,将选取它所有已经配置IP地址且链路有效的接口上数值最大的IP地址作为RID

ospf的协议报文

hello报文:周期性发送 发现和维持 ospf的邻居关系
DD报文:描述了本地LSDB中lsa的摘要信息 用于两台设备进行同步LSDB
LSR:向对方请求所需的LSA。两台路由器互相交换DD报文之后,得知对端的路由器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向对方请求所需的LSA。内容包括所需要的LSA的摘要。
LSU:向对方发送其所需要的LSA
LSAck:用来对收到的LSA进行确认
封装为ip报文中 协议号为89

在设备侧启动ospf后 就会往ospf接口向外发送hellow报文 收到Hello报文的OSPF路由器会检查报文中所定义的参数,如果双方一致就会形成邻居关系
只有当双方都成功交换DD报文 交换LSA并送到到了LSDB中才会形成邻接状态

a发送给b hellow报文 从down attempt 到 init-2-way 状态 进行dd报文的交互 2-way到exstart状态到exchange状态
发送LSA LSAULSAck exchange-loading状态 -full 这时候才建立了邻接状态

那是不是所有的设备都得建立为邻接状态呢?

肯定不是 一般来说只和DR/BDR设备建立邻接关系

选举原则是比较hello报文携带的优先级 优先级最高的就是DR

然后比较route ID

LSA类型

LSA(type1):由每个设备都会产生 记录路由器的链路状态和开销值 在其始发的区域内进行传播。
LSA(type2):由DR产生,描述本网段所有路由器的链路状态。
LSA(3):由ABR产生,描述区域内某个网段的路由,通告给其他的区域
LSA(4):由ABR产生 描述ASBR的路由
LSA(5):由ASBR产生 描述到AS外部的路由 通告到所有的区域(除了stub和nssa)
LSA(7):由NSSA区域内的ASBR产生 描述到AS外部的路由,仅在NSSA区域内传播。

ospf的选路原则

按照路由类型的优先级选择
区域内路由
区域间路由
第一类外部路由
第二类外部路由
按照路由开销走

ospf的特殊区域

stub区域 是为了减少相应的路由信息

stub区域内不能存在ASBR 只能由type 123 一条缺省的三类信息的信息

所有在stub区域里面的都必须配置stub的属性

totally stub区域

只要一类二类的type 一条缺省的三类信息的信息

NSSA

过滤4、5类LSA

ABR会产生3类的默认路由知道数据转发

支持引入外部路由,以7类LSA的形式发布

ospf的路由聚合

ABR和ASBR将具有相同前缀的路由信息聚合后发布到其他区域

ospf的安全特性

接口验证模式

静默端口(禁止端口发送ospf报文)

ospf的网络类型

broadcast:当链路层是Ethernet FDDI时,默认就是broadcast,在该网络中默认是以组播(224.0.0.5和224.0.0.6)的形式发送相应的报文头

NBMA:当链路层是帧中继 ATM X.25时 OSPF缺省认为网络类型是NBMA。在该类型的网络中,以单播形式发送协议报文。

p2mp:没有一种链路层协议会被缺省的认为是P2MP类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将NBMA改为点到多点的网络。在该类型的网络中,以组播形式(224.0.0.5)发送协议报文

p2p:当链路层是PPP、HDLC时,OSPF缺省认为网络类型是P2P。在该类型的网络中,以组播形式(224.0.0.5)发送协议报文。

NBMA网络必须是全连通的,即网络中任意两台路由器之间都必须有一条虚电路直接可达。如果部分路由器之间没有直接可达的链路时,应将接口配置成P2MP类型。如果路由器在NBMA网络中只有一个对端,也可将接口类型配置为P2P类型。

NBMA与P2MP网络之间的区别如下:

l NBMA网络是指那些全连通的、非广播、多点可达网络。而P2MP网络,则并不需要一定是全连通的。

l 在NBMA网络中需要选举DR与BDR,而在P2MP网络中没有DR与BDR。

l NBMA是一种缺省的网络类型,而P2MP网络必须是由其它的网络强制更改的。最常见的做法是将NBMA网络改为P2MP网络。

l NBMA网络采用单播发送报文,需要手工配置邻居。P2MP网络采用组播方式发送报文。

ospf排错

无法形成邻居

1.先看接口是否开启了ospf 2.是否两端配置了静默端口 3.是否acl拒绝了hellow报文 4.两端的掩码是否一致 5.ospf计时器是否匹配 6.ospf的验证配置是否匹配 7.区域 8.ospf不能使用从地址建立邻居

邻居关系卡在attempt

1.就只在NMBMA网络下有 一般来说是邻居配置问题

邻居关系卡在exchange exstart

卡在了dd报文 1.接口MTU设置不匹配 dd报文携带MTU 2.邻居RID冲突 3.路径MTU小于接口MTU

ospf无法通告从地址的路由
1.主从地址必须属于相同区域

spf重复计算故障

1.链路抖动引起的spf重复计算
2.router ID 重复

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值