OSPF了(一)---OSPF的状态机,工作原理及网络类型

3 篇文章 0 订阅
2 篇文章 0 订阅

OSPF

  开放式最短路径优先协议 共有协议
  链路状态协议特点:
    1、 自己的lsa—链路状态通告(拓扑或路由)
    2、 Lsa洪范
  无类别链路状态(ls)igp路由协议,组播更新,地址224.0.0.5/6(90%用5,6是他的dr和bdr用的);跨层封装到三层,协议号89;支持等开销负载均衡,默认4条最大6条;iOS版本12.4以上16条;
  基于拓扑工作,故更新量大-----需要结构化部署–区域划分、地址规划(选路佳)
  触发更新(可靠性高、单词更新小)、每30min周期更新
  优点:选路佳
  缺点:更新量大,故30min周期更新,且不支持大型网络
  链路状态协议的距离矢量规则:区域之间传递的是路由,不是拓扑

OSPF的数据包

Hello包 邻居和邻接的发现、建立、保活;
DBD–数据库描述包 携带数据库目录
LSR–链路状态请求 查询目录中本地未知的lsa信息
LSU–链路状态更新 应答查询包,携带各种LSA
LSack–链路状态确认 确认dbd和lsu

Ospf数据包的头部标准
在这里插入图片描述
Type就是五种包
认证类型:1、空2、明文 3、密文

Ospf的状态机

OSPF建立时,存在各个阶段;(过程)
1、down 本地一旦发出hello包进入下一状态
2、Init初始化 本地接收到的hello包存在本地的RID进入下一状态
3、2way双向通信 邻居关系建立标志;
条件匹配:点到点网络直接进入下一状态;MA网络将进行DR/BDR选举(40S),非DR/BDR间不得进入下一状态;
4、exstart 预启动 使用类似hello的DBD进行主从关系选举,RID大为主,主优先进入下
一状态
5、Exchange 准交换 使用真实的DBD包进行数据库目录共享,需要ACK;
6、Loading 加载 使用LSR/LSU/LSack来获取未知的LSA信息;
7、Full转发 邻接关系建立的标志

OSPF工作过程

  启动配置完成后,本地使用hello包建立邻居关系,生成邻居表;
  再与邻居进行条件匹配,匹配失败者间保持为邻居关系,仅hello包周期保活即可;
  匹配成功者间建立邻接关系,这种关系间,将先使用dbd共享数据库目录,再使用DBD/LSR/LSU/LSack来获取未知的LSA信息,当收集其网络中所有LSA后,生成LSDB–数据库表;之后使用最短路径算法,计算本地到达所有未知网段的最佳路由,然后将其加载路由表中,收敛完成后,hello包周期保活;每30min周期再使用dbd进行比对,若不一致将使用LSR/LSU/LSack来同步;

  结构突变—1、新增网段 发送新的DBD 未知设备会使用LSR获取(正常收敛)
        2、断开网段 发送新的DBD 未知设备会使用LSR获取
       3、无法沟通 计时器到时间,断开邻居关系,删除数据库;之后尝试重新建邻

  名词:
   LSA–链路状态通告 —存在多种类别,携带不同环境下产生的拓扑或路由信息;该信息依赖LSU数据包传递;
   LSDB–链路状态数据库 —各种的LSA的集合—数据库表
   OSPF的收敛行为称为------LSA洪泛 LSDB同步

配置:

r1(config)#router ospf 1
   启动OSPF协议,启动时需要配置进程号,进行号仅具有本地意义
r1(config-router)#router-id 1.1.1.1
   全网唯一,手工—若不配,则取环回最大数值或物理接口最大数值
    宣告:1、激活 2、路由或拓扑 3、区域划分
r1(config-router)#network 12.1.1.1 0.0.0.0 area 0
r1(config-router)#network 1.1.1.1 0.0.0.0 area 0
       宣告时必须携带反掩码

  区域划分规则:
   1、星型结构
   2、必须存在ABR-边界路由器

【1】当启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表
Hello包–用于邻居的发现、关系、保活
hello time为10s或30s dead time 为hello time 的4倍;

在这里插入图片描述
Hello包中和邻居必须完全一致的参数:
   hello time和dead time
   区域ID
   认证字段
   末梢区域标记
r2#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           0   FULL/  -        00:00:39    12.1.1.1        Serial1/0
3.3.3.3           0   FULL/  -        00:00:38    23.1.1.2        Serial1/1
                  优先级 状态机

【2】邻居关系建立后,进行条件匹配,匹配失败保持为邻居关系,仅hello包保活
匹配成功成为邻接关系,将使用DBD/LSR/LSU/LSACK来获取未知的LSA信息,生成数据库表:

  DBD:携带MTU值;强制邻居间MTU值必须一致,否则卡在exstart或exchange状态;
  DBD包中的描述字段:I 为1标示该包为本地发出的第一个DBD包
     M为0标示该包为本地发出的最后一个DBD包
     MS为1标示本地为主;
在这里插入图片描述
  隐性确认:从使用主的序列号来对主进行确认;

r1#show ip ospf database 查看数据库简表
OSPF存在各种类别的LSA,简表内仅记录分类的基础信息;
【3】OSPF协议在生成好数据库表后,将基于最短路径规则将最佳路径加载到本地的路由表中

 O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
  

O标示本地区域内的路由–本地基于拓扑计算所得
O IA 标示其他区域的路由通过ABR导入 --域间路由
O E1/2 标示通过其他协议或进程计算所得,之后ASBR重发布导入 域外路由
ON1/2 标示通过其他协议或进程计算所得,之后ASBR重发布导入,同时本地为NSSA或完
全NSSA区域 -----域外路由

管理距离为110;度量为cost=开销值=参考带宽/接口实际带宽
Ospf选路,就是选择cost值之和最小路径;默认参考带宽为100M;若接口带宽大于参考带宽,将可能导致选路不佳,可以修改参考带宽

r1(config)#router ospf 1 
r1(config-router)#default auto-cost reference-bandwidth ?
  <1-4294967>  The reference bandwidth in terms of Mbits per second  单位为m
r1(config-router)#default auto-cost reference-bandwidth 1000 
注:所有设备均需修改;

【4】OSPF建立邻接关系的条件 不能做水平分割,ospf的水平分割指区域间的路由从此区域出不从此区域出。
  网络类型:点到点网络类型 ----必然成为邻接关系
  MA----进行DR/BDR选举,所有非DR/BDR仅与DR/BDR建立邻接关系;非DR/BDR间正常保持为邻居关系(仅hello包保活);
  选择规则:1、比较接口优先级,默认为1,大优;
       2、若优先级相同,比较RID,数值大优;
干涉选举:
1、DR优选级最大,BDR次大;DR选择为非抢占,故修改优先级后,正常需要重启OSPF进程

r1(config)#interface fastEthernet 0/0
r1(config-if)#ip ospf priority 3
r1#clear ip ospf process 
Reset ALL OSPF processes? [no]: yes   (一起重启)

2、DR优选级最大,BDR次大;其他设备优先级修改为0,标示不参选;
切记:不能将所有参选接口优先级修改为0;

【5】OSPF接口网络类型
设备接口网络类型: 环回 点到点 BMA NBMA
所谓的OSPF接口网络类型,是指OSPF协议在设备不同网络类型下的不同工作方式;

设备接口网络类型           OSPF 接口网络类型(工作方式)
环回接口        LOOPBACK        LOOPBACK       无hello包,发送32位主机路由
串口(HDLC/PPP)点到点          POINT_TO_POINT  hello time 10s(dead4倍);不选DR;
以太网接口       BMA           BROADCAST(广播) hello time 10s;选DR;

MGRE           NBMA           

注:在tunnel接口上,OSPF默认的工作方式为点到点;这种工作方式在MGRE环境下,将无法正常建立邻居关系—因为点到点工作方式只能和一个邻居建邻;
可以将接口工作方式修改为BROADCAST;切记BROADCAST和POINT_TO_POINT工作方式均为10s的hello time,故能够建立邻居关系,但由于一个选DR,另一个不选,不能正常收敛路由;

r2(config)#interface tunnel 0
r2(config-if)#ip ospf network broadcast 

注:若BROADCAST的工作环境为星型或部分网状结构都可能出现DR位置错误问题;
必须修改DR的位置到最合适的地方;

星型
部分网状
全连网状

建议:
1、在星型结构中可以定义为broadcast 类型,但注意DR位置;或修改为点到多点工作方式;
2、在部分网状结构中直接定义为点到多点
3、在全连网状建议broadcast ;
r1(config)#interface tunnel 0
r1(config-if)#ip ospf network point-to-multipoint

点到多点工作方式:hello time 为30s;不选DR;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值