OSPF协议基础

中大型网络,用动态路由

  1. 自动学习路由
  2. 自动检测线路故障

浮动静态路由

两条一样的路由,但优先级不一样。一条出现故障后会走另一条

rip在大型网络中的问题

  • 收敛速度慢
  • 最多跳数15跳
  • 缺少对全局网络拓扑的了解
  • 存在选择次优路径的风险
  • 不看实际带宽,只看跳数

OSPF简介

  • 开放式最短路径优先
  • 链路状态路由协议
  • OSPF没使用TCP,本身不可靠
  • 自己解决可靠性
    1、hello包,丢包?10s一个周期法
    2、dbd包,丢包?有序列号,用序号确认
    3、lsr包,丢包?lsr是请求的,请求完没收到回复,重发
    4、lsu包,丢包?用lsack确认,没收到lsack,再发一次lsu
    一直没确认,40s,邻居失效
  • 协议号:89

工作过程:

  1. 建立邻居
  2. 同步链路状态数据库,建立邻接关系:交换LSA(链路状态),双方的LSA同步完成。同步LSDB(LSA的数据库)
  3. 计算最优路由

OSPF工作原理

邻居建立过程

router id:只是一个名字,用来区别每台路由器

  • 建议手动配置OSPF路由器的的router id
  • 如果不手动配置,会自动进行配置,优先选择loopback口
  • 启动OSPF后
    1、routerA从接口发出一个hello包,包含自己的id以及有哪些邻居。用组播:224.0.0.5
    2、对面routerB收到,知道有人运行了ospf,查看这个hello包中的邻居列表,没有自己
    3、router B检查hello包中各项参数,是否符合建立邻居的条件,给routerA回包,回去的hello包的邻居列表有routerA
    4、routerA收到回包,发现对方已经把邻居列表标记上我routerA,说明我们三观一致,连通性正常,成功建立了邻居
  • hello包协商参数(必须一致):版本(V1 V2)、区域ID、 认证类型(明文、不需要认证、加密)、认证信息、掩码、Hello间隔(10s)、路由器无效时间间隔(40s)、可选项(Option可选字段中的E-bit必须和接收端口的配置一致-存根标记)

邻接建立过程

同步LSDB,同步链路状态数据库
首先交换dbd,
再交换lsa
所有交换完成,达到full,邻接状态

OSPF的七种状态

  1. down:没邻居
  2. init:代表我收到了hello包,我知道谁发来的,看router id,但是他的邻居列表里没我,说明他不知道我存在。这时我和他的关系就是init
  3. 2-way:收到了hello包,而且这个hello包邻居表,有我。我们是邻居
  4. Ex-start:已经是邻居,该交换dbd了。选举主从来决定,route id大的为主,小的是从。Ex-start在发送一个空的dbd,选举主从。
  5. Ex-change:选出主从后,真正交换dbd,包含了链路状态描述的dbd
  6. Loading:我们正在同步lsdb,没同步完成
  7. Full:lsdb同步完成,形成邻接状态
  • 2way:邻居
  • full:邻接

OSPF的五种包

  1. hello包
  2. dbd,数据库描述包。描述我总共有哪些lsa
  • 有100本书,只发给你书的名字,不直接发书给你,数据库描述包,先发描述信息。原因:100本书,你都有,发。浪费时间,浪费带宽
  • 通过dbd,能知道对方有哪些我没有的lsa
  1. lsr包,链路状态请求包。用来请求自己缺少的lsa
  2. lsu包,链路状态更新包,包含了我所请求的lsa,我就收到了我缺少的
  3. lsack包,链路状态确认包,收到lsa,给对方一个确认

度量值

动态路由经过计算,来评价1条路由优劣的参考值

  1. 算出来的cost,默认的10的8次方除以接口带宽,带宽越大,cost越小
  • 10M带宽,cost=10
  • 100M带宽,cost=1
  • 1000M带宽,cost=1
  • ..... cost=1
  1. 区分的方法:
  • 修改默认的10的8次方,区分出更大带宽
  • 手动修改,直接设置接口的cost
  1. 所有路由器出接口的cost值累加

DR选举

  • DR:指定路由器,所有人都和dr交换lsa,并且只和dr交换。只用和一个设备交换lsa,学习到所有设备的lsa。只需要和DR交换lsa,学习到所有设备的lsa
  • BDR:备份的dr,当dr宕机,bdr立即变成dr
  • 选dr,比较大家的优先级,可以手动设置
  • 如果优先级相同,比较router id大小
  • 一旦选举出dr,bdr,不会再被抢占,就算网络中出现优先级更大的设备
  • 当dr坏了,bdr变成dr,优先级更高的新设备变成bdr
  • 一般先接入网络或先启用ospf进程的路由器,会先成为DR,后面加入的即成为BDR或DRother

真实项目情况

  • 如果路由器数量较少的情况,不会配置选择dr,因为选举会消耗40s
  • 路由器数量较多,可以选择dr
  • 接口是以太网,默认广播型,默认选dr,话40s时间
  • 接口是s口,传统广域网接口,封装ppp,默认点到点,不选择dr,速度快
    NBMA非广播多路访问,帧中继,已淘汰技术
  • OSPF的四种网络类型:广播型、点到点、MBMA、P2mp
    MBMA和P2mp都已经淘汰,区别就是选不选dr
  • 路由汇总一定要做,减少路由条目。一般在ABR或ASBR上做

其他

  • 当一个接口被设置为Silent-interface时,将不会发送hello包,不会建立邻居
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、OSPF特点 1.无环路(SPF算法) 2.收敛快(自动收敛) 3.扩展性(多区域设计) 4.支持认证(安全性...
    csdragon阅读 453评论 0 0
  • 一、什么是OSPF? OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关...
    Jzyue阅读 782评论 0 4
  • 版权声明:原创作品,谢绝转载!否则将追究法律责任。 OSPF路由协议 楔子 为了加强自己我打算好好玩玩网络。 OS...
    李伟铭MIng阅读 4,626评论 0 25
  • 0×1.链路状态路由协议概述 链路状态路由协议使用Dijkstra算法,也称SPF(Shortest Path F...
    杀破魂阅读 10,156评论 0 5
  • 0×1.链路状态路由协议概述链路状态路由协议使用Dijkstra算法,也称SPF(Shortest Path Fi...
    Zero___阅读 3,521评论 0 16