OSPF

OSPF:Open Shortest Path First,最短路径优先
1)基本概念:
标准的LS型协议–共享拓扑
组播更新:224.0.0.5/6
触发更新,存在周期更新 30min
OSPF是跨层封装协议,协议号89

OSPF需要结构化部署:1、区域划分 2、IP地址规划
链路状态型路由协议的距离矢量特征:在OSPF中,区域之内传拓扑,区域之间传路由
管理距离110,使用COST值作为度量值,有计算公式

2)OSPF数据包
hello:用于发现、建立和保活(10s)邻居关系。存在全网唯一的Router-ID,表示路由器建立邻居关系所用的身份标识,使用
IP地址的方式表示
DbD:Database Description,携带着链路状态的目录
LSR:链路状态请求
LSU:链路状态更新–携带了真正的LSA
LSAck:确认

LSA:链路状态通告,就是OSPF中不同的拓扑或者路由信息
LSDB:链路状态数据库,是所有LSA的集合

3)OSPF状态机:
down:未开启OSPF协议。一旦启动协议并宣告之后,接口发出hello包,立即切换到下一状态
Init:初始化状态,若接收到的hello包中存在自己的Router-ID,则和对方一起进入下一状态
2-way:此状态表明邻居关系建立完成。
条件匹配:关注网络类型,点到点网络类型直接将进入邻接关系的建立,MA网络类型需要DR/BDR的选举,选举时间40s
Exstart:预启动,双方使用类hello的DBD包,进行主从关系选举-比较RID,大者优先进入下一状态
Exchange:准交换,交互真正的DBD报文,需要使用ACK确认
Loading:加载,使用LSR/LSU/LSAck获取未知的LSA信息
Full:邻接关系建立完成

4)OSPF的工作过程
启动配置完成后,本地基于224.0.0.5组播收发hello包,建立邻居关系,生成邻居表;
再进行条件的匹配,匹配失败将停留于邻居关系,仅hello包周期保活即可;
匹配成功者间可以建立邻接(毗邻)关系,需要DBD共享数据库目录,LSR/LSU/LSack来获取未知的LSA信息,当收集完网络中所有的LSA后,生成数据表–LSDB
LSDB建立完成后,本地基于SPF选路规则,计算本地到达所有未知网段的最短路径,然后将其加载到路由表中;完成收敛
收敛完成后–hello包周期保活
– 30min周期的DBD比对,若不一致将使用LSR/LSU/LSack重新获取

网络结构发生变化:
1、新增
2、断开
3、设备无法通信:hello 10s保活 dead time 40s,dead time 计时到后,邻居关系断开,删除所有从该邻接处学习到的所有LSA信息;

OSPF配置:
R1(config)#router ospf 1 //启动协议时需要配置进程号,进程号仅具有本地意义
R1(config-router)#router-id 1.1.1.1 //手工配置RID。不配置时,环回最大>物理接口最大
宣告:1、激活接口 2、发布拓扑或路由 3、区域划分
R1(config-router)#network 12.1.1.0 0.0.0.255 area 0
反掩码
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0

区域划分规则:
1、必须拥有骨干区域0,所有非骨干区域必须直连骨干区域
2、必须拥有ABR–区域边界路由器

反掩码:32位二进制,使用点分十进制的形式表示,由连续的0和连续的1构成;0表示固定位,1表示可变位

使用ACK数据包直接确认称为显式确认
R1#show ip route ospf
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/2] via 12.1.1.2, 00:08:20, FastEthernet1/0
3.0.0.0/32 is subnetted, 1 subnets
O IA 3.3.3.3 [110/66] via 12.1.1.2, 00:08:20, FastEthernet1/0
23.0.0.0/24 is subnetted, 1 subnets
O IA 23.1.1.0 [110/65] via 12.1.1.2, 00:08:20, FastEthernet1/0

字母问题:
O 本区域内通过LS计算所得的路径
O IA 区域之间通过ABR引入的
O E1/2 从其他路由协议或者其他OSPF进程通过重发布技术引入的路由
O N1/2 从其他路由协议或者其他OSPF进程通过重发布技术引入的路由同时本地是NSSA区域

管理距离110,使用COST值作为度量值,有计算公式
COST=参考带宽÷接口带宽 默认参考带宽位100M
当接口带宽大于参考带宽时,COST取1,会导致选路不佳
可以修改参考带宽–必须全网一致

5)成为邻接关系的条件–关注网络类型
基于网络类型------点到点 MA多路访问
在点到点网络中,邻居关系必须成为邻接关系,否则无法正常收敛
在MA网络若全网均为邻接关系,那么将可能出现大量重复性的LSA洪泛;
为避免该现象,将进行DR/BDR的选举;所有的非DR/BDR间不得建立成为邻接关系;
选举规则:1、先比较接口优先级----- 默认1;大优;0标识不参选,点到点接口默认为0;
2、优先级相同,比较设备的RID,数值大优;

角色关系:
DR与DROTHER之间是邻接关系
DR与BDR之间是邻接关系
DROTHER与DROTHER邻居关系(2WAY)
BDR与DROTHER之间是邻接关系

干涉选举的方法:
1、修改DR最大优先级,BDR次大
r1(config)#interface fastEthernet 0/0
r1(config-if)#ip ospf priority 3
注:DR选举非抢占,故修改优先级后必须重启设备的OSPF进程
r1#clear ip ospf process
Reset ALL OSPF processes? [no]: yes

2、修改DR最大优先级,BDR次大;剩余所有设备优先级修改为0;
不需要重启设备的进程;切记不得将所有设备优先级修改为0,至少必须存在DR;

OSPF的接口网络类型----OSPF协议在不同网络类型下的接口上,不同的工作方式;

r1#show ip ospf interface lo0 查看OSPF协议在某个接口上的工作方式

OSPF接口工作方式:
网络类型 OSPF接口工作方式
环回接口 LOOPBACK 无hello,使用主机路由发送
点到点(HDLC/PPP) POINT_TO_POINT hello time 10s 不选DR
BMA (以太网) BROADCAST hello time 10s 选DR
NBMA (MGRE) POINT_TO_POINT hello time 10s 不选DR

注:点到点的工作方式,仅适用于一个网段两个节点的网络;
故在MGRE环境下若适用tunnel口默认的工作方式,那么一个网段内若存在两个以上节点将出现邻居关系翻滚;

解决:
1、所有节点修改 BROADCAST
r1(config)#interface tunnel 0
r1(config-if)#ip ospf network broadcast
注:若MGRE环境下,不同接口处于不同的网络类型;若hello time一致将建立邻居关系,当工作机制的不同导致LSA更新出现问题;必须所有节点处于相同的工作方式

注2:MGRE环境下,若构建的OSPF工作环境不是一个全连结构(网段内所有设备间均建立邻居关系),那么一旦使用broadcast工作方式,就必须将DR固定在中心站点位置,否则将出现DR位置混乱,导致网络无法正常收敛;
2、所有节点修改为点到多点模式;
点到多点为cisco为OSPF协议额外设置的工作方式
r1(config)#interface tunnel 0
r1(config-if)#ip ospf network point-to-multipoint

点到多点的工作:hello time30;无DR选举;生成访问各个节点的精确路由;

一、OSPF的不规则区域
【1】远离骨干的非骨干区域 ----ABR必须同时工作于区域0,才能进行区域间的路由共享
【2】不连续骨干—从X区域获取到的路由信息不得发往编号为X的区域;即便X区域连接
了本区域不同的ABR;—水平分割

解决方案:
1、普通tunnel—在两台ABR上建立隧道,然后将其宣告于OSPF协议中
缺点:周期的保活和更新,触发的信息均需要通过中间的穿越区域,对中间区域影响较大;
选路不佳;
OSPF协议若通过不同的区域学习到的相同的路由,优选区域0;若均为非骨干,比较度量值;

2、OSPF虚链路—非骨干区域间的ABR到骨干区域的ABR处授权–建立一条虚链路
r2(config)#router ospf 1
r2(config-router)#area 1 virtual-link 4.4.4.4
中间的穿越区域 对端的ABR的RID
因为没有新的网段出现,故选路正常;为了避免周期的信息对中间区域的影响,故停止虚链路间的所有周期行为-----不可靠

3、多进程双向重发布
一台设备上若同时运行多个进程,那么不同进程拥有不同的RID,生成各自的数据库,当数据库不共享;仅将各自计算所得路由加载于同一张路由表内;若多个进程工作于同一个接口上,仅最新启动的进程生效;

在解决不规则区域时,让连接两个非骨干区域的ABR设备,将不同区域宣告到本地的不同进程下,之后使用重发布技术,进行路由共享即可;
r4(config)#router ospf 1
r4(config-router)#redistribute ospf 2 subnets
r4(config-router)#exit
r4(config)#router ospf 2
r4(config-router)#redistribute ospf 1 subnets

一、OSPF的数据库表
OSPF协议基于LSU来共享LSA信息;
LSA–链路状态通告----拓扑或者路由信息
在不同的条件下发出不同类别的LSA;
详细查看某条LSA:
r1#show ip ospf database router 1.1.1.1
类别名 link-id/番号
无论哪种类别的LSA均存在以下参数:
LS age: 142 老化时间,周期1800归0,也可触发归0;最大老化3609s
Options: (No TOS-capability, DC)
LS Type: Router Links 类别名,此处为1类
Link State ID: 1.1.1.1 link-ID,在目录中的编号
Advertising Router: 1.1.1.1 通告者的RID
LS Seq Number: 80000004
Checksum: 0x65F9
Length: 60
Number of Links: 3

                传播范围            通告者               携带信息

LSA1 router 本区域 本地区域所有设备 本地的直连拓扑
LSA2 network 本区域 DR MA网段部分的拓扑
LSA3 Summary 整个OSPF域 ABR O IA 域间路由
LSA4 asbr-summary 除ASBR所在区域外 ABR ASBR位置
的整个OSPF域
LSA5 External 整个OSPF域 ASBR O E 域外路由
LSA7 nssa-external NSSA区域内 ASBR O N 域外路由
离开该区域后转换回5类

                  Link-ID                       通告者

LSA1 router 通告者的RID 本地区域所有设备
LSA2 network DR的接口IP地址 DR
LSA3 Summary O IA路由,目标网络号 ABR,在经过下一跳ABR时,修改为本地
LAS4 asbr-summary ASBR的RID ABR,在经过下一跳ABR时,修改为本地
LSA5 External O E 路由,目标网络号 ASBR(不修改)
LSA7 nssa-external O N路由,目标网络号 ASBR(不修改)

二、减少LSA的更新量
【1】手工汇总 ----减少骨干区域LSA量
【2】特殊区域 ----针对非骨干区域

【1】手工汇总
1)域间路由汇总—只能在ABR上配置
r1(config)#router ospf 1
r1(config-router)#area 2 range 5.5.4.0 255.255.252.0
通过该区域的1/2类LSA计算所得路由才能汇总成功

2)域外路由汇总—ASBR上配置
r4(config)#router ospf 1
r4(config-router)#summary-address 99.1.0.0 255.255.252.0

注:以上汇总均会自动生成空接口防环路由;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值