HCIA 第六天 OSPF路由协议 及 一个小案例

Posted GGGGGGGG!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HCIA 第六天 OSPF路由协议 及 一个小案例相关的知识,希望对你有一定的参考价值。

评价一个路由协议的好坏:

  1. 占用资源多少
  2. 收敛速度快慢
  3. 选路是否合理

RIP以跳数作为开销值来选路,就可能存在不合理性


RIP – 距离矢量性协议

  1. 以跳数作为开销值进行选路,本身存在不合理性
  2. 由于RIP本身计时器时间较长,收敛速度较慢
  3. RIP单个数据包占用资源并不算大,但是因为RIP存在30s一次的周期更新,所以整体看来,RIP的资源占用很大

由于RIP三个维度的表现都不算太好,所以只能适用于中小型网络环境


OSPF 动态路由协议 – 开放式最短路径优先协议

传递的是LSA:链路状态信息

  1. OSPF因为是链路状态型协议,所以,计算出的路径不会出现环路,并且,OSPF以带宽作为开销值进行选路,相对于条数更加合理,所以从选路的角度来看,OSPF优于RIP
  2. 由于OSPF的计时器时间短于RIP的计时器,所以从收敛速度来看,OSPF优于RIP
  3. 从单个数据包携带的数据量来看,因为OSPF携带的是拓扑信息(LSA),所以数据量较RIP大很多,但是由于RIP存在30s一次的周期更新,并且OSPF本身存在很多减少更新量的措施,所以从整体的角度看,OSPF小优于RIP

OSPF版本:

  1. OSPFV1(在实现试阶段就夭折了),OSPFV2 — IPV4
  2. OSPFV3 — IPV6

RIPV2 与 OSPFV2:

  • 相同点
  1. OSPFV2 和 RIPV2都是无类别的路由协议,都支持VLSM, CIDR

  2. OSPFV2和RIPV2都以组播的形式发送消息,地址:224.0.0.5和224.0.0.6

  3. OSPFV2和RIPV2都支持等开销负载均衡

  • 不同点

    1. RIP只能适用于中小型网络
    2. OSPF可以适用于大型网络
    3. OSPF为了适应中大型网络,需要进行结构化部署:区域划分

    如果只有一个区域的OSPF网络,我们将这样的网络称为单区域OSPF网络

    如果只有一个区域的OSPF网络,我们将这样的网络称为多区域OSPF网络


    区域划分的主要目的: 区域内部传递拓扑信息,区域之间传递路由信息


  • 区域边界路由器 – ABR: 同时属于多个区域,并且一个接口对应一个区域,至少有一个接口属于骨干区域,区域之间可以存在多个ABR,一个ABR可以属于多个区域


  • 区域划分的要求:

    1. 区域之间必须存在ABR
    2. 区域划分必须按照星型拓扑结构划分,星型拓扑中间区域叫做骨干区域

    OSPF区域存在区域编号: 区域ID(area ID):由32位二进制构成,用点分十进制进行表达,骨干区域的area ID为0

一、 OSPF的数据包

  1. hello包: 可以用来周期发现,建立和保活邻居关系

    周期: 默认为10s为周期进行周期发送,在某些特殊环境会以30s为周期

    死亡时间(dead time): 4倍的hello时间

    RID: 用来标定和区分OSPF网络中不同的路由器

    RID要求:

    1. 整个OSPF网络唯一

    2. 格式统一,RID要求必须符合IP地址格式(有32位二进制构成,并且点分十进制表达)

    RID的获取方式:

    1. 手工配置:仅满足以上两点要求即可

    2. 自动获取:路由器先从环回地址中选取数值最大的IP地址作为RIP,若不存在环回地址,则将从本地的物理接口对应的IP地址中选择数值最大的最为RID

  2. DBD包: 数据库描述报文,LSDB(数据链路状态数据库,存放LSA信息的数据库),像是“数据库的目录”

  3. LSR包: 链路状态请求报文,基于DBD包请求未知的LSA信息

  4. LSU包: 链路状态更新报文, 真正携带LSA信息的数据包

  5. LSAck包: 链路状态确认报文,确认包

二、 OSPF的状态机

two-way:双向通信:标志着邻居关系的建立

条件匹配

主从关系选举:使用未携带数据的DBD包(主要目的是为了和之前的邻居关系进行区分)通过对比RID,RID大的为主,主可以优先进入下一个状态

full state:标志着邻接关系的建立



总结:

down状态: 启动OSPF,发送hello后进入下一个状态

init状态: 当你收到一个hello包中包含本地的RID信息时,进入下一个状态

two-way状态: 标志着邻居关系的建立

↓ 条件匹配:

↓ 条件匹配失败 — 停留在邻居关系,仅10s一次,使用hello包进行保活

↓ 条件匹配成功 — 进入下一个状态

exstart状态: 使用未携带数据的DBD包进行主从关系选举,RID大的为主,主进入下一个状态

exchange状态: 使用携带目录信息的DBD包进行目录信息的共享,需要ACK确认

loading状态: 查看对端的DBD包与本段的LSA信息进行对比,基于未知的LSA信息发送LSR包进行请求,对端使用LSU进行回复,需要ACK确认

full状态: 标志着邻接关系的建立



三、 OSPF的工作过程

  1. 启动配置完成后,OSPF向本地所有运行OSPF协议的接口以组播224.0.05的形式发送hello包。hello包中需携带自身本地的RID寄自身一直邻居的RID,之后,将收集到的邻接关系记录在一张表中 – 邻居表
  2. 邻居表建立完成后需要进行条件匹配,失败则停留在邻居关系,仅适用hello进行周期保活
  3. 匹配成功,则开始建立邻接关系,首先需要使用 未携带数据的DBD包进行主从关系选举 ,之后使用携带数据的DBD包共享数据库目录,之后使用LSR/LSU/LSACK数据包来获取未知网段的LSA信息,完成本地数据库表的建立 – LSDB 链路状态数据库
  4. 最后,基于本地的链路状态数据库,生成 有向图及最短路径树,之后,计算本地到达未知网段的路由信息,生产的路由信息加载到 路由表
  5. 收敛完成后,OSPF需要10s一次使用hello包进行周期保活,OSPF 30min进行一次周期更新,把序列号重新刷新一次

条件匹配: 在一个广播域中,所所有设备均为邻接关系,将出现大量的重复更新,所以需要进行DR/BDR选举,所有非DR/BDR的设备之间仅维持邻居关系

指定路由器:DR

备份指定路由器:BDR

一个广播域中,在DR和BDR都存在的情况下,至少需要四台路由器才能看到邻居关系

DR 和 BDR实际上是接口的概念

DR/BDR选举机制:

  1. 先比较优先级,优先级最大的为DR,第二大的为BDR,优先级的初始默认值为1

    修改优先级:


    优先级的取值范围:0 - 255,若优先值设为0,则表示不参加DR/BDR的选举

  2. 如果优先级相同,则比较RID,若RID大的路由器就位DR,第二大的为BDR

DR/BDR的选举模式为非抢占模式,选举时间的上限为40s

重启可以进行新的选举


结构突变:

  1. 突然增加一个网段:触发更新,立即发送携带LSA信息的LSU包,需要ACK确认
  2. 突然断开一个网段:触发更新,立即发送携带LSA信息的LSU包,需要ACK确认
  3. 无法联系 – 40s死亡时间

四、 OSPF的基本配置

  1. 启动OSPF进程 router-id:配置RID

  2. 创建区域

  3. 宣告
    0.0.0.0 – 反掩码 – 由连续的0和1组成,其中0代表不可变位,1代表可变位

查看OSPF邻居关系表


查看lsdb:

查看lsdb详细的某一条:


查看路由表:

OSPF在华为体系中默认优先级为0

OSPF是以带宽作为开销值的度量标准

COST = 参考带宽 / 真实带宽 华为默认的参考带宽:100Mbps

修改参考带宽:参考宽带一旦修改,必须OSPF网络内所有设备均修改成相同的

五、 OSPF的拓展配置

  1. 手工认证

    邻居关系断了

    去AR2配置,就可以连接上

  2. 手工汇总(其实是区域汇总)

    汇总在ABR上的接口配置:

  3. 沉默接口

  4. 加快收敛(减少计时器时间)

    也是在接口上配置,修改hello时间时,死亡时间会按照4倍自动计算,邻居之间的hello时间(死亡时间)必须相同,否则无法建立邻居关系

  5. 缺省路由

    首先自己要有缺省,不然不能给其他路由器发配缺省

    强制下发缺省路由

以上是关于HCIA 第六天 OSPF路由协议 及 一个小案例的主要内容,如果未能解决你的问题,请参考以下文章

HCIA路由实验-OSPF和静态路由配置

HCIA HUAWEI R&S OSPF 初探

HCIA笔记-----第五天(动态路由RIP和OSPF)

华为防火墙和路由器之间运行OSPF协议配置案例(可跟做)

OSPF路由协议之“路由重分发”及“NSSA区域”

OSPF实训案例配置