hcia第六天ospf路由协议及一个小案例(代码片段)

GGGGGGGG! GGGGGGGG!     2023-01-02     614

关键词:

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

  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. 缺省路由

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

    强制下发缺省路由

ospf路由协议之“路由重分发”及“nssa区域”(代码片段)

一个单一的IP路由协议是管理网络中IP路由的首选方案。CiscoIOS能执行多个路由协议,每一个路由协议和该路由协议所服务的网络属于同一个自治系统。CiscoIOS使用路由重分发特性以交换由不同协议创建的路由信息。一台路由器上... 查看详情

ospf路由协议之“地址汇总”及“虚链路”(代码片段)

在大型网络中地址汇总可以减少路由条目,减小路由表的大小,减少对路由器CPU和内存资源的占用。在OSPF中虽然末梢区域可以通过防止某些LSA进入该区域,从而达到在一个非骨干的区域里节省资源的目的,但相对于骨干区域,... 查看详情

ospf基本概述及配置

...议(OpenShortestPathFirst,OSPF)是基于开放标准的链路状态路由选择协议,它完成各路由协议算法的两大主要功能:路径交换和路径选择。1.1OSPF的基本概念1.OSPF路由协议与RIP相比,OSPF适合更大型网络环境。1.1OSPF是一种链路状态型... 查看详情

ospf路由协议的多区域原理及配置(代码片段)

...的容量:划分多区域后,每个OSPF区域中的容量所支持的路由器数量范围是30~200。但是在一个区域内实际加入的路由器数量要小于单个区域所能容纳路由器的最大数量,这是因为还有更重要的因素影响着这个数量,如一个区域内... 查看详情

ospf路由重分发(代码片段)

在现实环境中,一个单一的IP路由协议是管理网络中IP路由的首选方案,但是,在企业环境中,网络中是存在多种路由协议的,如果想要这些网络都互连互通,就要至少有一台路由器运行多种路由协议来实现不同网络之间的通信... 查看详情

ospf路由协议

...程开放式最短路径优先协议,是基于开放标准的链路状态路由选择协议,它完成各路由选择协议算法的两个主要功能:路径选择和路径交换OSPF路由协议概述OSPF是内部网关路由协议在共同管理域下的一组运行相同路由选择协议的... 查看详情

ospf路由协议虚链路及地址汇总(代码片段)

在实际环境中,路由器的性能决定可网络的稳定性,当然我们可以通过减少使用路由器的内部资源来达到要求,这就需要使用我们今天介绍的地址汇总。我们先来介绍一下什么是地址汇总,顾名思义就是尽可能的减少路由器中的... 查看详情

python3-flask框架初体验(第六天)(代码片段)

文章目录1.Flask安装2.项目架构3.路由及重定向4.实例用法1.Flask安装pipinstallflask---写项目的框架pipinstallflask-script---扩展插件,以指令的形式启动醒目或者操作数据库2.项目架构MTV架构模式M-模型Model​数据层–跟数据库相关联T-模板Tem... 查看详情

路由器ospf的基本概念与工作过程(代码片段)

OSPF是基于开放标准的链路状态路由选择协议,它完成各路由选择协议算法的两大主要功能:路径选择和路径交换。在共同管理域下的一组运行相同路由选择协议的路由器的集合为一个自治系统(autonomoussystem,AS)。在网络中,... 查看详情

ospf路由协议(代码片段)

今天我们简单介绍一下OSPF路由协议。比我们之前介绍的RIP(动态路由协议)功能更强大。OSPF(开放式最短路径优先协议)是居于开放标准的链路状态路由选择协议,它完成各路由选择协议算法的两大主要功能:路径选择和路径... 查看详情

路由器ospf协议的高级配置之“路由重分发”(代码片段)

路由重分发通常在那些负责从一个AS学习路由,然后向另一个AS广播的路由器上进行配置,例如,一台路由器即运行OSPF又运行RIP,如果OSPF进程被配置为通告由RIP学习到的路由到OSPFAS中,那么这种做法就可以成为“重分发RIP”。一... 查看详情

第六天

第六天今日任务引入面向对象(了解)面向过程(了解)面向对象(了解面向对象的初步概念) 面向对象举例(了解使用面向对象和面向过程有什么不同)对象在需求中的使用和练习(掌握一种小技巧:名词提炼法)对象在代码中的体现(掌... 查看详情

暑期集训第六天(6-27)自由复习的题目练习及总结(代码片段)

今天时间本来是很充裕的,毕竟不考试留出了一天的时间进行整理,直到我发现我打完替罪羊树编译报错一大堆(往上滑都要十多秒的那种),还没有调试就已经10点多快十一点的那一刻......郭大佬还是你郭大佬,后来我问他他说这道... 查看详情

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

防火墙的动态路由?防火墙和一台路由器之间配置OSPF过程如下:FW1:ospf1router-id10.10.10.10----------RID不能相同area0.0.0.0network202.100.1.00.0.0.255---------采用通配符方法network10.10.10.100.0.0.0放行OSPF安全策略?默认情况防火墙只放行组播的报文... 查看详情

ospf实训案例配置

任务要求:配置OSPF发布聚合路由1、SwitchA和SwitchB位于AS200内,AS200内使用OSPF作为IGP协议。2、SwitchC、SwitchD和SwitchE位于AS100内,AS100内使用OSPF作为IGP协议。3、SwitchB和SwitchC之间建立EBGP连接,配置BGP引入OSPF和直连路由,配置OSPF进程... 查看详情

华为datacom-hcia学习之路

...2​1.1.1.displayipinterfacebrief2​1.1.2.displayiprouting-table3​1.2.路由器默认将直连路由加入路由表3​1.3.如何让路由器获取到非直连网络的路由3​1.3.1.静态路由3​1.3.2.动态路由4​1.4.静态路由协议优先级60越小越优先4​1.5.缺省路由/默认... 查看详情

pyhon学习第六天代码块,小数据池(缓存机制,驻留机制),is==id=,字符编码(代码片段)

1.代码块  能够实现某项功能的:模块,函数,类,文件  ##在python的交互模式下,一行代码就是一个代码块分别储存在不同文件中2.  idis==和=  =是赋值  ==比较两边数据内容是否相等  is比较内存地址是否一致(内存里的id... 查看详情

ospf基础实验及概念(代码片段)

...存在RouterID。RouterID是一个32比特无符号整数,是一台路由器在自治系统中的唯一标识。RouterID的设定有两种方式:通过命令行手动配置,在实际网络部署中,建议手工配置OSPF的RouterID,因为这关系到协议的稳定... 查看详情