来聊一聊OSPF

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

1.简单介绍一下OSPF协议
OSPF属于无类别链路状态型协议,这里我们要明确无类别是指更新时携带子网掩码,链路状态是指邻居间共享拓扑信息,本地计算路由。OSPF由于它的链路状态的特点,因而更新量较大,在中大型网络中需要结构化的设计,即要进行区域划分,实现良好的地址规划。它的更新方式为触发更新和周期更新(周期为30min)。而正常路由协议进行周期更新是为ACK和保活。OSPF协议存在hello(保活)、LSACK(确认),理论上不需要周期更新,但是该协议更新量较大,为了进行纠错才设计每30min一次周期更新。
2.了解OSPF的五种数据包
(1)Hello包 邻居的发现、建立、周期保活
(2)DBD 数据库描述包
(3)LSR 链路状态请求
(4)LSU 链路状态更新
(5)LSack 链路状态确认

3.OSPF状态机
概念:两台允许OSPF协议的路由器间的不同关系的阶段
(1)Down:一旦接收到hello,进入下一个状态
(2)Init初始化:一旦接收到的hello包中,存在本地的RID进入下一状态
(3)2way双向通讯,邻居关系的建立
条件:
(4)Exstart预启动:使用不携带内容的DBD包进行交换,需要ACK确认。
(5)Loading加载:将本地和邻居发送过来的目标进行比较,针对本地未知的LSA,使用LSR向对端进行请求,对端使用LSU来共享新的LSU来共享新的LSA信息。本地需要LSACK确认,收敛完成后进入下一个状态。
(6)Full转发:邻接关系建立的标志

4.ODPF的工作过程
启动配置完成后,OSPF的邻居开始组播224.0.0.5收发hello包,hello包中将携带本地的RID,在接收到的hello包中若存在本地的RID,及代表对端已经认识本端,那么邻居关系建立,生成邻居表。
邻居关系建立后,需要关注网络类型,若条件不允许将卡在邻居关系,仅hello包周期保活岂可。若条件允许可以建立为邻接关系。
邻接关系的建立需要先使用不携带目录信息的DBD进行主从关系选举,RID和素质大为主。可以优先进行携带目标信息的DBD收发,在和邻接间收发玩DBD后,将基于DBD中本地未知的LSA信息,使用LSR/LSU/LSAack来获取具体的LSA信息。在收集齐整个网络的LSA后,本地数据库表(LSDB链路状态数据库)完成。当本地的数据库同步完成后,陷阱其转换为有向图,在基于图生成最短路径树。最后将本地到达所有未知网段的最短路径加载与本地的路由表中,该计算过程被称为SPF最短路径优先计算。路由表生成后,邻居关系建立,正常仅hello包周期保活即可。结构的突变:1.新增网段2.断开网段3.无法沟通-deadtime倒计时,断开邻居关系,删除信息,能否重建关系关注hello包。我们知道hello包中hellotime为10s或30s,dead time 为hello time 的4倍。
邻居建立关系时,必须完全一致的参数,否则无法正常建立邻居关系:1hello time2.区域ID 3.认证字段
4特殊区域标识5.在华为的设备中,要求邻居间接口配置的子网掩码也必须一致。

4.OSPF的基础配置
1.配置命令
[r1]ospf 1 router-id 1.1.1.1 启动时需要定义进程号;以及RID
进程号仅具有本地意义;不定义进程,默认为进程1;不定义RID,默认将自动生成—先去环回上最大数值的ip地址—》物理接口上最大数值的ip地址RID必须全网唯一;

进行宣告:1、区域划分 2、选择接口激活 3、宣告接口的信息
(2)OSPF的区域划分规则:
1、 星型结构拓扑 – 所有非骨干区域必须连接到骨干区域 区域0为骨干,大于0非骨干
2、 区域间必须使用ABR相连 ABR—区域边界路由器

启动和宣告配置完成后,邻居间基于组播224.0.0.5收发hello包,生成邻居表。
邻居关系建立后,进行条件匹配,匹配失败将维持邻居关系;匹配成功将可以建立为邻接关系;邻接关系间将使用DBD和LSR/LSU/LSack来获取未知的LSA信息;最终和邻接间同步数据库-LSDB。
LSA洪泛、LSDB同步(OSPF收敛的名词)完成后;本地基于数据库转换为—有向图—最短路径树;最终计算本地到达所有未知网段的最短路径,然后将其加载到本地的路由表中;
在华为体系中,OSPF所得路由默认优先级为10,优于静态路由的60。使用cost值作为选路的度量:
Cost值=开销值=参考带宽/接口带宽 默认参考带宽100M;
若接口带宽大于参考带宽,cost值取1;
故在接口带宽大于参考带宽的网络中,可能导致选路不佳;可以通过修改默认的参考度量来干涉

5、 OSPF邻居建立为邻接关系的条件:
邻居间只有hello包,没有其他数据包,没有LSA
邻接关系都是在邻居关系之上来建立
基于网络类型来确定关系:
1、点到点 串线的PPP/HDLC 虚拟的GRE 因为一个网段只能存在两个节点;故必然从邻居关系成为邻接关系
2、 MA多路访问—一个网段中节点的数量不限制
由于节点数量的不限制,故若两两间皆邻接关系,将可能导致大量的重复更新
在距离矢量协议中可以使用接口水平分割来解决该问题;但OSPF协议需要邻接间比对数据库,故不能使用接口水平分割;最终进行DR/BDR选举;所有非DR/BDR之间为邻居关系,不进行LSA的同步;来避免大量重复更新;
1)DR/BDR选举 – 先比较参选接口的优先级,大优;默认所有接口为1;0-255;
[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf dr-priority 2修改接口优先级
2)若所有接口优先级相同,将比较参选设备的RID,数值大优;
切记:DR/BDR选举是非抢占的,一旦选定,后加入者无论参数如何只能认可之前的选举结果;
因此在修改完接口优先级后,选举结果将不变化,除非人为重启选举;
所有设备全部重启OSPF进程,之后将重选DR/BDR。

6.、 OSPF接口网络类型 --OSPF协议在不同的网络类型下,其不同的工作方案;
[r1]display ospf interface GigabitEthernet 0/0/1 查看OSPF协议在该接口工作方式

网络类型 :OSPF接口网络类型(工作方式)
环回 : P2P点到点 没有hello包;默认32位路由传递
点到点:(串线PPP/HDLC/GRE)P2P点到点 hello time10s;不选DR/BDR
BMA (以太网):Broadcast广播 hello time10s,选DR/BDR
NBMA(帧中继、MGRE)
在MGRE接口,由于ospf协议默认为点到点的工作方式,只能建立一个邻居关系;故将无法全网可达。
解决方法:修改接口的工作方式
[r1-Tunnel0/0/0]ospf network-type broadcast 修改为广播型
注:broadcast工作方式的hello time 为10s,但需进行DR/BDR选举;P2P也是10s,不进行DR/BDR选举,两者若相遇可以建立邻居关系,但无法正常收敛LSA;故在一个网段内所有接口的工作方式应该一致。
修改接口网络类型后,必须关注拓扑的结构:
1、 中心到站点(星型、轴辐状)–由于分支站点间不知道其他分支的存在,从而导致真个网段的DR选举错误,最终导致该网络无法正常收敛;中心站点作为DR,无BDR;
2、 全连网状 --在所有接口修改为broadcast后一切正常
3、 部分网状—排除星型结构外的非全连结构—结合拓扑的实际情况来干涉DR的位置;

7.OSPF的不规则区域
默认OSPF协议要求区域设计基于星型节后,中心为骨干区域,编号0;其他大于0位非骨干区域,所有非骨干必须直接连接骨干。
OSPF的不规则区域
1)原理的骨干的非骨干区域
2)不连续骨干
解决方案
1)将非法ABR与区域0中的设备进行GRE的建立,然后将该GRE宣告到OSPF协议中
缺点:1.周期性保活和更新将对中间穿越区域造成很大的影响
2.选路不佳
2) OSPF虚链路
连接骨干区域的合法ABR对非法ABR进行授权;之后非法ABR可以实施区域间路由共享的能力;优点:没有新增新的物理或逻辑链路,故不存在选路不佳的问题;缺点:1)cisco 取消两台ABR间的周期保活及更新,避免对中间区域资源占用;但失去可靠性;
3)华为保留了两台ABR间的周期保活及更新,增加了对中间区域的资源占用,导致网络的转发延时大幅上升;

8、(推荐)多进程双向重发布
多进程:在一台设备上若同时启动多个进程,且不同进程宣告到不同的接口;它们将存在各自独立邻居,及独立的数据库;且数据不共享;最终所有计算所得路由加载于同一张路由表中;
若将同一个接口再多个进程同时宣告;仅最先宣告的进程生效;
双向重发布可以将不同路由协议或相同协议的不同进程,计算所得路由进行共享,最终实现全网可达

9、 关于OSPF的MTU值问题;
Ospf协议要求邻接关系间的接口MTU必须完全相同,否则将卡在exstart或exchange状态机;因为MTU值被携带与DBD包中;
默认cisco将自动检测DBD包中的MTU值;而华为设备默认不携带MTU值;
[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf mtu-enable 在与邻接直连的接口上,开启MTU值检测功能;两端设备均需开启;

10、 OSPF的数据库表
[r1]display ospf lsdb 查看数据库简表
由多种LSA构成;OSPF协议使用不同类型的LSA来携带不同条件下产生的拓扑或路由信息;
无论哪类的LSA均存在以下信息
[r1]display ospf lsdb router 12.1.1.2 详细查看某种类别的LSA信息
类别名 LINK-ID
Type : Router 类别名,此处为1类
Ls id : 12.1.1.2 link-id 在目录中的编号,类似页码
Adv rtr : 12.1.1.2 通告者的RID,该条LSA发出的源头设备的RID
Ls age : 1269 老化时间,周期30min归0;触发更新马上归0;最大老化3609s
Len : 48
Options : ABR E
seq# : 8000000b 序列号,每一条LSA存在不同的序列号,每一次更新序列号+1(OSPF使用的是棒棒糖序列号机制)
chksum : 0xb43b
LSA类别 传播范围 通告者 携带的内容
LSA1- Router 单区域 该区域内每台设备 本地直连拓扑
LSA2- Network 单区域 该网段的DR 该DR所在网段的拓扑
LSA3- summary 整个OSPF域 ABR 域间路由
LAS4-asbr 除ASBR所在区域 ABR ASBR的位置
以外的整个OSPF域
ASBR所在区域基于1类交代位置
LSA5- ase 整个OSPF域 ASBR 域外路由

LSA类别 link-ID 通告者
LSA1-router 通告者的RID 该区域每台运行OSPF的路由
LSA2-network DR接口的ip地址 该网段的DR
LSA3- summary 域间路由的目标网络号 ABR,在经过下一台ABR时,修改为新的ABR
LSA4-asbr ASBR的RID ABR,在经过下一台ABR时,修改为新的ABR
LSA5- ase 域外路由的目标网络号 ASBR

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值