OSPF协议总结

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

一、 OSPF协议特点

1.无类别链路状态路由协议,是一种地图式协议,现使用OSPFV2 (有v1、v2、v3)

2.跨层封装到3层,协议号为89

3.OSPF更新地址:使用组播或单播更新,组播地址为224.0.0.5、224.0.0.6(DR/BDR专用)

4.OSPF更新方式:使用周期更新加触发更新,周期时间为30分钟(LSA状态刷新)---存在ACK和hello机制,但依然每30min周期一次,作用在于核查;

5.仅支持等开销负载均衡

6.需要结构化的部署---区域划分、地址规划

7.OSPF支持路由汇总(仅仅在某些特殊的路由器支持汇总)---链路状态协议,不会自动汇总

8.OSPF支持区域的划分---划分区域的优势:1.减少LSA的传输范围  2.减少LSA的数量

9.OSPF非常消耗路由器资源,一个cisco设备上最大支持31个OSPF路由进程

10.OSPF使用 cost(相当于带宽)来计算metric;管理距离为110

二、OSPF的数据包:

Hello:用于邻居的发现、建立、保活

DBD:数据库描述包---主要用于携带数据库目录

LSR :链路状态请求包---获取未知LSA

LSU :链路状态更新包 ---携带各种LSA,用于应答LSR

LSACK:链路状态确认包--- 可靠性使用

三、OSPF的状态机---邻居间关系的各个阶段

Down:关闭状态。  一旦本地发出hello包便进行下一状态

Init :初始化状态。接收到的Hello包中若存在本地的Router-ID,那么进入下一状态

Two-way:双向通信状态。邻居关系建立的标志。之后进行条件匹配

1、点到点网络直接进入下一状态   2、MA网络将进行DR/BDR选举(40S),非DR/BDR间不能进入下一状态

Exstart: 预启动状态。使用类似Hello包的DBD包来进行主从关系选举。Router-ID数值大为主;主优先进入下一状态

Exchange: 准交换状态。使用真实的DBD包来共享数据库目录,需要ACK确认---该状态已经开始发送LSR,但是没有LSU的发送

Loading:加载状态。使用LSR/LSU/LSack来获取未知的LSA信息

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

四、OSPF的工作过程:

启动协议后,本地向所有邻居使用224.0.0.5组播发出hello包,在收集到其他邻居的hello包后,若邻居的包中存在本地Router-ID,那么邻居关系建立,生成邻居表;之后进行条件匹配,匹配失败将停留于邻居关系,仅hello包周期保活即可;匹配成功可以建立邻接关系;

邻接关系间先使用DBD包来共享拓扑目录,之后使用LSR/LSU/LSack来获取未知的LSA信息,生成LSDB---数据库表

数据库建立完成后,本地基于SPF最短路径选路规则,计算本地到达所有未知网段的最短路径,然后将其加载到路由表中;

收敛完成后,hello包周期保活;每30min周期使用DBD包进行比对;若比对结果一致,继续保活即可;若不一致将使用LSR/LSU/LSack来获取未知的信息。

五、OSPF的配置:

1. 启动时需要配置进程号,进程号仅具有本地意义;

R1(config)#router ospf 1   

2. 配置Router-ID(建议)

R1(config-router)#router-id 1.1.1.1  

3.宣告 

R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
R1(config-router)#network 12.1.1.0 0.0.0.255 area 0   

启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表


4.查看邻居表

R2#show ip ospf neighbor  

 

当邻居关系建立后,邻居间进行条件匹配;匹配失败将停留于邻居关系,仅hello包周期保活;若条件匹配成功,将建立邻接关系,邻接关系的重要标志---1、使用DBD包     2、共享了LSA 

当邻居间收发完DBD包后,会使用LSR/LSU/LSack来获取未知的LSA信息,生成LSDB--数据库表

5. 查看数据库表

R2#show ip ospf database  

 

再之后,本地基于数据库表,启用最短路径选路规则,计算本地达到所有未知网段的最短路径,然后将其加载路由表中:

6.查看路由表

R2#show ip route     

路由表中部分简写字母表示:

O表示本地区域内的路由,本地通过拓扑计算所得

O IA 表示域间路由---其他区域的路由,通过ABR导入

O E1/2 表示其他路由协议计算后,通过ASBR重发布进入

O N1/2 表示其他路由协议计算后,通过ASBR重发布进入,同时本地处于NSSA区域;

 

六、邻接关系建立的条件

建立邻接或邻居关系与网络类型相关:

1.点到点网络:因为一个网段只能存在两个节点,故邻居关系必然建立为邻接关系

2.MA网络:由于距离矢量协议存在水平分割机制,故在MA网络不会出现重复更新;

但OSPF协议不适用于水平分割,就只能进行DR/BDR选举,所有的非DR/BDR间建立邻居关系,来避免大量的重复更新;

DR/BDR选举规则:

1. 比较参选接口优先级,优先级越大越优,默认参选接口为1,不参选接口为0,为0表示放弃选举(点到点网络接口为0),优先级取值范围 :0-255

2. 若接口优先级相同,比较参选接口所在设备的Router-ID,数值越大越优

干涉DR/BDR选举的原因:

1、DR位置错误可能导致网络无法沟通(NBMA)

2、选择性能最佳的设备来担任DR

干涉DR/BDR选举的方法:

1. 修改接口优先级

R1(config)#interface fastEthernet 0/0
R1(config-if)#ip ospf priority 3     

2.重启所有设备的OSPF进程,因为选举是非抢占的,以保障网络的稳定性;

R1#clear ip ospf process
Reset ALL OSPF processes? [no]: yes  重启进程

七 、OSPF接口网络类型----OSPF协议在各种网络类型下其接口的工作方法

查看OSPF网络接口类型:

R1#show ip ospf interface loopback 0    

通过在不同接口上查看相关信息,整理得下表:

   网络类型(接口)         OSPF工作方式(OSPF接口网络类型)特点
Loopback  LOOPBACK     没有hello发出;32位主机路由发出
点到点(串行HDLC/PPP)POINT_TO_POINT  hello time 10s,不选DR/BDR
BMA(以太网)BROADCAST       hello time 10s,选DR/BDR
NBMA(MGRE)POINT_TO_POINT  hello time 10s,不选DR/BDR

         

               

    

         

         

注:默认情况下OSPF协议在MGRE接口上依然使用POINT_TO_POINT工作方式;这种工作方式除不选举DR/BDR外,还要求邻居只能是一个,故在中心站点将出现邻居关系翻滚问题;

解决方案:

1. 修改OSPF在tunnel接口上的工作方式为BROADCAST

R1(config)#interface tunnel 0

R1(config-if)#ip ospf network broadcast

注:

1)若仅一台设备修改接口工作方式,那么由于方式中一种进行DR/BDR选举,另一种不选,故不能正常建立邻接关系;必须所有接口工作方式一致;

2)即便所有接口均工作在 broadcast 模式,但NBMA若构建的是中心到站点结构;当中分子站点由于不知道其他分支的存在,将出现DR位置问题;只能将DR放置于中心站点,不要BDR来解决;

2. 修改OSPF在tunnel接口上的工作方式为点到多点

R1(config)#interface tunnel 0
R1(config-if)#ip ospf network point-to-multipoint

点到多点工作方式最适合在NBMA构建为中心到站点(星型结构),或部分网状结构拓扑;

帮助路由器正常学习到所有的节点路由,不进行DR/BDR选举;并且hello time 为30s;

 

八、 补充

名词注解:

LSA:链路状态通告---在不同条件下产生不同类别的拓扑或路由信息,被LSU携带传输;

LSDB:链路状态数据库---网络中所有LSA的集合;

OSPF收敛:LSA洪泛    LSDB同步

结构突变及应对措施:

1. 新增 ---直连新增网段设备使用DBD告知邻居

2. 断开 ---直连断开网段设备使用DBD告知邻居

3. 断电,无响应---dead time到时删除邻居信息;

OSPF的区域划分规则:

1. 默认为星型拓扑

2. 必须存在ASBR---区域边界路由器

邻居间在hello包中存在4个必须完全一致的参数,否则无法建立邻居关系

1. Hello time和dead time(hello time 10s 或 30s;dead time 为hello time 的4倍)

2. 区域ID

3. 认证参数

4. 末梢区域标记

关于DBD包的三个知识点

1. MTU 

 DBD包中携带各自接口的MTU值,邻居间必须完全一致,否则将卡在exstart或者exchange状态;

2. 隐性确认 

在exstart状态因为发送的是类hello 的DBD,故仅进行的隐性确认;

在exchange状态发送的是真实的DBD,故进行了正常的确认,也进行隐性确认 

3. 标记位-DBD包中的标记位   

I ---为1表示该包为本地发出的第一个DBD

A---为0表示该包为本地的最后一个DBD包

MS---为1代表主,为0代表从;

COST

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

OSPF选路=整段路径cost值之和最小为最佳

当接口带宽大于参考带宽时,度量为1;可能导致选路不佳;

修改参考带宽:

R1(config)#router ospf 1
R1(config-router)#auto-cost reference-bandwidth ?
  <1-4294967>  The reference bandwidth in terms of Mbits per second

切记所有设备的参考带宽需要一致。

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值