当前位置: 首页 > news >正文

hcip---ospf知识点总结及实验配置

OSPF 核心笔记

一、OSPF 基础
  1. RIP 与 OSPF 对比

    • RIP 存在的问题:最大跳数限制为 15,不适合大规模组网;周期性发送全部路由信息,占用大量带宽;路由收敛速度慢,以跳数作为度量值;存在路由环路可能性,每隔 30 秒更新。
    • OSPF 协议特点:无跳数限制,适合大规模组网;使用组播更新变化的路由和网络信息,路由收敛快,可触发更新;以 COST 作为度量值,采用 SPF 算法有效避免环路;每隔 30 分钟周期性更新 LSA,在互联网上大量使用;传递拓扑信息和路由信息(RIP 仅传递路由表)。
  2. 三张核心表

    • 邻居表:记录邻居状态和关系。
    • 拓扑表:即链路状态数据库(LSDB)。
    • 路由表:记录由 SPF 算法计算的路由,可通过dis ip routing-table pro ospf查看。
  3. 五种数据包(协议号 89)
    五种报文类型分别是 Hello、DBD(数据库描述报文)、LSR、LSU(链路状态更新信息)、LSAck。

    • Hello 报文的作用是周期保活,发现和建立邻居关系,包含网络掩码、Hello 间隔(默认 10s)、路由器优先级、失效时间(默认 40s)等,目标地址为 224.0.0.5。
    • DBD(数据库描述报文)仅包含 LSA 摘要,有接口 MTU、可选项、DD 报文置位符(I、M、MS)、DD 序列号等关键信息。
    • LSR 的作用是请求自己没有或更新的链路状态详细信息,通过 “LSA 三元组”(链路状态类型、链路状态 ID、通告路由器)唯一标识 LSA。
    • LSU(链路状态更新信息)用于发送对方所需 LSA 的详细信息,一个 LSU 可包含多个 LSA,在 MA 网络中 DROTHER 向 224.0.0.6 发送,DR 向 224.0.0.5 发送。
    • LSAck 的作用是对 LSU 进行确认,包含所确认 LSA 的头部(每个 20 字节)。
二、OSPF 工作过程
  1. 邻居与邻接关系

    • 邻居:双方通过 Hello 报文相互认识。
    • 邻接:邻居关系建立后,经报文交互同步 LSDB,开始独立计算路由时形成。
  2. 关键机制

    • Router ID:标明路由器身份,可手工配置(IPv4 格式),自动选举时环回口 IP 大的优先,其次是物理口。
    • DR/BDR 选举:在 2-way 状态前确认,每个网段需选举,优先级(0-255,默认 1)大的优先,其次 Router ID 大的优先,且无抢占性。DRother 与 DR、BDR 建立邻接关系(full),DRother 之间为邻居关系(2-way)。
  3. LSDB 同步流程
    邻接路由器间发送 DBD 通告 LSDB 摘要,对比后通过 LSR 请求所需 LSA,对方用 LSU 发送,最后以 LSAck 确认,建立完全邻接关系,形成 LSDB 表与路由表。

三、OSPF 状态机
  • 邻居建立阶段:包括 Down、Init、Attempt、2-way 状态。Down 是关闭状态,手动指定邻居时发送 Hello 后进入下一状态;Init 是收到对方 Hello 报文,但未收到确认的状态;Attempt 仅在 NBMA 网络出现,是发出 Hello 但收不到对方回应的状态;2-way 是稳定状态,此时双方互相发现,确认 DR/BDR 角色,需满足 Router-id 无冲突、掩码长度一致等前提。
  • 邻接建立阶段:包括 Exstart、Exchange、Loading、Full 状态。Exstart 是交换开始,确定 LSDB 协商主从(Router ID 大的为 master);Exchange 是发送后续 DD 报文,通告 LSDB 摘要;Loading 是进行 LSA 的请求、加入和确认;Full 是稳定状态,此时两端同步 LSDB,需 MTU 一致,网络类型一致才能学习路由。
四、LSA(链路状态通告)
  1. 头部(20 字节):包含链路状态老化时间(指示 LSA 存在时长,单位为秒,1800s 周期归 0,最大老化时间 3600s,到达后 LSA 失效并从 LSDB 中删除)、可选项(8 个比特位,对应 OSPF 支持的特性,与 hello 包中的相同,包含特殊区域标记)、链路状态类型(指示 LSA 类型,每种类型有对应编号,用于描述 OSPF 网络的不同部分)、链路状态 ID(LSA 的标识,不同 LSA 类型定义不同)、通告路由器(产生该 LSA 的路由器的 Router-ID)、链路状态序列号(用于判断 LSA 新旧或是否重复)、链路状态校验和(参与 LSA 新旧比较,当 LSA 三元组和序列号相同时,和大的为新)、长度(一条 LSA 的总长度)。

  2. 6 种核心 LSA

    • Type1-LSA(Router LSA):描述区域内部与路由器直连的链路信息(链路类型、开销值等),仅在区域内部传输,每台路由器都会产生。其 LS ID 和 Adv Rtr 均为发出该 LSA 的路由器的 router-id,链路 ID 和链路数据随链路类型(transnet、P2P、stubnet、Virtual)不同而有不同定义,且包含 VEB 标志位(V 位表示为虚链路端点;E 位表示为 ASBR(Stub 区域不允许 E 位为 1 的该类型 LSA);B 位表示为区域边界路由器),可通过[R1]dis ospf lsdb router查看。
    • Type2-LSA(Network LSA):描述区域内的 MA 网络(广播网络、NBMA 网络)路由器的链路及掩码信息,仅在区域内部传输,只有 DR 才会产生。其 LS ID 为该网段的 DR 的 IP 地址,Adv Rtr 为该网段 DR 的 router-id,包含该网段 DR 的 IP 地址的子网掩码信息,可通过[R1]dis ospf lsdb network查看。
    • Type3-LSA(Summary LSA):在整个 OSPF 域内描述其他区域的链路信息,以子网形式传播,类似直接传递路由,只有 ABR 会产生。其 LS ID 为其他区域某个网段的网络地址,Adv Rtr 为通告该 LSA 的 ABR 的 router-id,包含该网段的子网掩码,且跨区域传递时需转换通告者,通告者变化则为不同 LSA,可通过[R1]dis ospf lsdb summary查看。
    • Type4-LSA(ASBR Summary LSA):描述 ASBR 的信息,整个 OSPF 域内传播,只有 ABR 会产生。其 LS ID 为 ASBR 的 router-id,Adv Rtr 为通告该 ASBR 的 ABR 的 router-id,且 ASBR 本区域的内部路由器不会产生到达该 ASBR 的此类型 LSA,可通过[R1]dis ospf lsdb asbr查看。
    • Type5-LSA(AS External LSA):传递域外路由信息,描述 AS 外部引入的路由信息,传播到所有区域(特殊区域除外),只有 ASBR 会产生。其 LS ID 为外部路由的目的网络地址,Adv Rtr 为引入该网络路由的 ASBR 的 router-id,包含引入的目标网段的子网掩码,可通过[R1]dis ospf lsdb ase查看。
    • Type7-LSA(NSSA External LSA):描述在 NSSA 区域引入的 AS 域外的外部路由信息,仅存在于 NSSA 和 totally NSSA 区域,不能进入 area 0。其 LS ID 为外部某个网段的网络地址,Adv Rtr 为引入该网络路由的 ASBR 的 router-id,生成路由信息的标记位为 O_NSSA,优先级 150。
五、网络类型与 MGRE
  1. 4 种主流网络类型

    • NBMA(非广播多点可达网络):是帧中继默认网络类型,需手动指定邻居(命令:[r2-ospf-1]peer 邻居IP地址),Hello 时间 30 秒,Dead 时间 120 秒,需要进行 DR/BDR 选举,报文发送形式为单播。
    • P2MP(点到多点网络):由其他网络类型手动更改(如ospf network-type 网络类型),需手动指定邻居,Hello 时间 30 秒,Dead 时间 120 秒,不需要进行 DR/BDR 选举,报文发送形式为模拟组播。
    • Broadcast(广播网络):是以太网默认网络类型([R1]dis ospf int g0/0/0可查看相关信息),Hello 时间 10 秒,Dead 时间 40 秒,需要进行 DR/BDR 选举,报文发送形式为组播。
    • P2P(点到点网络):是 PPP 默认网络类型,华为设备环回接口定义为该类型(无实际数据收发,默认学习 32 位主机路由),Hello 时间 10 秒,Dead 时间 40 秒,不需要进行 DR/BDR 选举,报文发送形式为组播。
  2. MGRE 实验要点

    • 问题 1:Tunnel 接口类型为 P2P 类型,不选举 DR/BDR,导致设备无法正常建立邻接关系。解决方法:更改网络中 tunnel 接口类型为广播或者 P2MP,命令如[R2]interface Tunnel 0/0/0[R2-Tunnel0/0/0]ospf network-type broadcast
    • 问题 2:更改网络类型后,广播网络中 DR 和 BDR 选举混乱,无法正常建邻。解决方法:将分支站点的 DR 选举优先级设为 0,保证中心站点是整个广播网络中唯一的 DR。
六、不规则区域与解决方案
  • 问题:包括非骨干区域无法和骨干区域保持连通(由于区域划分问题,非骨干区域未能与骨干区域正常连接,导致 ABR 不会转发区域间的路由信息)和骨干区域被分割(骨干区域被分成多个部分,破坏了骨干区域的完整性,影响路由信息正常传递)。
  • 虚连接:适用场景为非骨干区域无法与骨干区域保持连通、骨干区域被分割等情况。配置示例(以非骨干区域无法和骨干区域保持连通为例):[RTB] ospf 1 router-id 2.2.2.2[RTC] ospf 1 router-id 3.3.3.3[RTB-ospf-1]area 1[RTC-ospf-1]area 1[RTB-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3[RTC-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2。其特征为只能在两个区域的边界路由器上配置;需在中间区域的区域视图下配置;只能穿越一个区域;不能穿越 stub 区域、NSSA 区域。可通过[R2]dis ospf vlink命令查看虚连接信息,会显示邻居 ID、邻居状态、接口、开销、传输区域、定时器等信息。
  • 路由引入(重发布):定义是在运行不同协议或不同进程的边界设备(ASBR)上,将一种协议按照另一种协议的规则发布出去。适用场景为非骨干区域无法与骨干区域保持连通等情况。配置示例:让 R4 充当 ASBR,运行两个 OSPF 协议,然后进行共享,即[R4-ospf-1]import-route ospf 2[R4-ospf-2]import-route ospf 1
七、特殊区域与路由聚合
  1. 4 种特殊区域
    特殊区域是人为定义的位于 OSPF 区域边缘、仅与骨干区域相连的区域,其条件为不能是骨干区域,不能存在虚链路。

    • STUB 区域(末梢区域):适用于区域中路由器性能较低,旨在减少路由表规模和路由信息传递数量。其特征为不接受 4 类、5 类 LSA;不允许出现 ASBR;区域 0 不能配置为该类型;ABR 自动下发指向骨干区域的 3 类缺省 LSA。配置命令为[r5-ospf-1-area-0.0.0.2]stub
    • totally stub 区域(完全末梢区域):拒绝学习域外和其他区域的路由信息。其特征为不接受 3 类、4 类、5 类 LSA;不允许出现 ASBR;区域 0 不能配置为该类型;ABR 自动下发指向骨干区域的 3 类缺省 LSA。配置命令为[r5-ospf-1-area-0.0.0.2]stub no-summary
    • NSSA 区域(非纯末梢区域):是 STUB 区域的变形,拒绝学习域外主要是 5 类的路由信息,但需引入域外路由信息。其特征为不接受 4 类、5 类 LSA;本区域引入的外部路由以 7 类 LSA 存在;ABR 会将 7 类 LSA 转换为 5 类 LSA 通告给其他区域;区域 0 不能配置为该类型;存在 ASBR 设备;华为中自动生成指向骨干区域的 7 类缺省 LSA。配置命令为[r5-ospf-1-area-0.0.0.2]nssa
    • totally NSSA 区域(完全非纯末梢区域):不接受 3 类、4 类、5 类 LSA;本区域引入的外部路由以 7 类 LSA 存在;ABR 会将 7 类 LSA 转换为 5 类 LSA 通告给其他区域;默认路由由 ABR 发送 3 类 LSA 产生;区域 0 不能配置为该类型。配置命令为[r5-ospf-1-area-0.0.0.2]nssa no-summary
  2. 路由聚合
    路由聚合是指 OSPF 路由需手动聚合(LSA),将具有相同前缀的路由信息聚合后发布到其他区域,聚合条件为针对 3 类、5 类、7 类 LSA。

    • ABR 聚合(3 类):将一个区域的 LSA 聚合后发布到相邻区域,命令为[r1-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0,其特点为不影响 ABR 本机路由,仅影响相邻区域下游路由器路由;ABR 会产生聚合的黑洞路由防环。
    • ASBR 聚合(5 类、7 类):将引入的 AS 外部路由聚合后发布到 OSPF 内部,命令为[r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0,其特点为只对 5 类、7 类 LSA 聚合;不影响 ASBR 本机路由,仅影响 OSPF 内部其他路由器;ASBR 会产生聚合的黑洞路由防环;加 not-advertise 参数可实现路由过滤。
八、重发布、路由过滤与策略
  1. 重发布(路由引入)

    • 背景:当网络中存在多种不同路由协议时,为实现相互通信而进行路由引入。
    • 情形:在同时运行多种路由协议的边界设备(ASBR 设备)上,将一种路由协议引入到另一种路由协议,或在同种协议不同进程间引入。
    • 规则:将 A 协议发布到 B 协议,需在 ASBR 的 B 协议上配置;B 协议可学习到通过 A 协议学到的所有路由及 A 的直连路由。
    • 举例:将 OSPF 路由引入 RIP,在 rip 进程视图下配置,缺省 cost 为 0,每跳加 1,最大 15;将 RIP 路由引入 OSPF,在 OSPF 进程视图下配置,缺省 cost 为 1,type 类型为 E2,可指定 type 1 计算域内链路 cost;可将静态路由、直连路由导入动态路由协议。
    • 修改起始度量值命令:进程中全局修改,如[r2-rip-1]default-cost 2[R1-ospf-1]default cost 5;针对本次重发布修改,如[r2-rip-1]import-route ospf 1 cost 3[R1-ospf-1]import-route rip cost 10
    • 多协议网络规划:建议跑单协议;规则为从边缘引入核心,因边缘设备性能低,核心设备性能强,可在边界路由器下发缺省路由供边缘访问核心;从 IGP 引入到 BGP,因公网路由多,避免将 BGP 路由引入 IGP 导致内网路由器过载,可通过默认路由或路由聚合让 IGP 学习 BGP 路由。
    • 引入方式:单向路由引入,如在 OSPF 进程视图下配置import-route rip 1;双向路由引入,可让双方知道具体路由,但需注意单一路由器故障导致网络瘫痪,多路由器引入可能产生环路。
    • 产生问题及解决:路由环路因规划不当导致,可使用 Tag 标记路由,通过路由策略选择性引入来解决;次优路径可通过合理规划引入路由的初始度量值和优先级来避免。
  2. 路由过滤

    • 定义:路由器在发布或接收消息时,对路由信息进行过滤。
    • 作用:控制路由传播与接收,节省设备和链路资源,保护网络安全。
    • 常用匹配工具:ACL 通过抓取流量匹配,只能匹配数字特征,不精确;地址前缀列表匹配 IP 地址前缀(目的网络地址和掩码长度),可精确匹配。
    • 常用过滤工具:静默接口在 RIP 和 OSPF 中,不发送对应协议报文;filter-policy(过滤策略)与 ACL、地址前缀列表结合使用,可过滤路由。对 RIP 而言,过滤接收路由影响本机和下游路由器的 RIP 表;过滤发送路由不影响本机 RIP 表,但影响下游。对 OSPF 而言,在协议视图下配置进方向,影响本机及下游的 OSPF 表和 LSDB 表;在传入区域的区域视图下配置出方向,不影响本机 OSPF 表,但影响下游。
    • 总结:路由过滤可控制路由传播;ACL 和地址前缀列表用于识别、筛选路由信息,地址前缀列表更灵活;filter-policy 可在多种协议内过滤路由。
  3. 路由策略

    • 相关概念:控制层流量是路由协议传递路由信息产生的流量(如 ARP、路由表、MAC 地址表);数据层流量是设备访问目标地址时产生的流量。
    • 定义:通过修改路由信息改变网络流量途径的技术,用于控制层流量。
    • 作用:路由过滤;修改路由属性。
    • 思路:抓取流量(通过 ACL 或前缀列表);做策略(修改流量或不转发)。
    • 匹配规则:路由信息到达时,检查是否有路由策略,有则进入节点匹配,无则放行;按节点顺序匹配 if-match 条件,匹配后根据节点动作(permit/deny)处理,不匹配则检查下一个节点;最后一个节点仍不匹配,拒绝通过。
    • 基本配置:创建 route-policy 节点,命令为route-policy route-policy-name { permit | deny } node 节点编号,节点间为 “或” 关系;配置 if-match 语句定义匹配条件,匹配路由信息属性,语句间为 “与” 关系;配置 apply 语句指定对匹配路由的动作,修改路由属性,多个 apply 语句对不同属性为叠加关系,对同一属性为覆盖关系(最后一个生效)。
    • 注意事项:用于路由过滤时,不用配置空节点;仅用于属性修改时,需要配置空节点;可配置的位置为 IGP 路由引入时、BGP 宣告时、BGP 路由引入时、BGP 邻接关系上。
    • 应用:控制路由接收和发布时的属性;控制路由的引入。

核心总结:OSPF 通过 LSA 同步拓扑、SPF 计算最优路由,支持大规模组网;特殊区域、聚合、过滤等特性优化性能,需关注邻居建立、DR 选举、LSA 传播等关键机制。

二、实验要求

1、R4为ISP,其上只能配置IP地址;R4与其他所有直连设备间均使用公有IP。 
2、R3、R5、R6、R7为MGRE环境,R3为中心站点。 
3、整个OSPF环境IP地址基于172.16.0.0/16划分,除R12有两个环回,其他路由器均有一个环回IP
4、所有设备均可访问R4的环回,减少LSA的更新量,加快收敛,保证更新安全。 
5、全网可达。

实验步骤
子网划分与OSPF配置
子网划分
——对五个区域基于IP地址172.16.0.0进行划分,再对各个区域内进行详细的IP地址划分。
具体划分如下所示:

172.16.0.0/16172.16.0.0/19 ----area0172.16.0.0/24----骨干172.16.0.0/30----R3-R4172.16.0.4/30----R4-R6172.16.0.8/30----R4-R745.0.0.0/30----R4-R5100.1.1.0/24----R5环回172.16.32.0/19----area1172.16.32.0/24----R1172.16.33.0/24----R2172.16.34.0/24----R3172.16.35.0/24----骨干172.16.35.0/29172.16.64.0/19----area2172.16.64.0/24----R6环回172.16.66.0/30----R6-R11172.16.65.0/24----R11环回172.16.66.4/30----R11-R12172.16.96.0/19----area3172.16.96.0/24----R7环回172.16.98.0/30----R7-R8172.16.97.0/24----R8环回172.16.98.4/30----R8-R9172.16.128.0/19----area4172.16.128.0/24----R9环回172.16.130.0/30----R9-R10172.16.129.0/24----R10环回rip10.1.1.0/2410.1.2.0/24

配置IP地址同时进行OSPF宣告

PS:R4的S接口是连接公网的,不可宣告

R1

R2

R3

R4

ISP

R6

R7

R8

R9

R10

R11

R12

OSPF 配置要点:

各路由器需配置 OSPF,其中 area 4 为远离骨干的特殊区域,不直接宣告。

area 3 需优化,故设 R9 为 ASBR 设备,进行双向重发布(不采用 Vink,因可能引发换路问题,且需配合 area 3 优化)。

配置 R12 时,同步完成 RIP 的配置与宣告。

r1

r2

r3

r4

R6

R7

R8

r9

[r9]ospf 2 router-id 9.9.9.9[r9-ospf-2]area 4[r9-ospf-2-area-0.0.0.4]network 172.16.128.1 0.0.0.0[r9-ospf-2-area-0.0.0.4]network 172.16.130.1 0.0.0.0

R10

[r10]ospf 1 router-id 10.10.10.10[r10-ospf-1]a 4[r10-ospf-1-area-0.0.0.4]network 172.16.129.1 0.0.0.0[r10-ospf-1-area-0.0.0.4]network 172.16.130.2 0.0.0.0

r11

[r11]ospf 1 router-id 11.11.11.11[r11-ospf-1]a 2[r11-ospf-1-area-0.0.0.2]network 172.16.65.1 0.0.0.0[r11-ospf-1-area-0.0.0.2]network 172.16.66.5 0.0.0.0

r21

[r12]ospf 1 router-id 12.12.12.12[r12-ospf-1]a 2[r12-ospf-1-area-0.0.0.2]network 172.16.66.6 0.0.0.0[r12-rip-1]ver 2[r12-rip-1]network 10.0.0.0

http://www.dtcms.com/a/310867.html

相关文章:

  • 学习嵌入式第十八天
  • rag学习-以项目为基础快速启动掌握rag
  • 深入 Go 底层原理(十):defer 的实现与性能开销
  • Vue3+ts自定义指令
  • 深入 Go 底层原理(二):Channel 的实现剖析
  • 基于结构熵权-云模型的铸铁浴缸生产工艺安全评价
  • 打靶日记-RCE-labs(续)
  • linux eval命令的使用方法介绍
  • php完整处理word中表单数据的方法
  • 【软考中级网络工程师】知识点之级联
  • PHP面向对象编程与数据库操作完全指南-上
  • ctfshow_源码压缩包泄露
  • Arduino IDE离线安装ESP8266板管理工具
  • 网络安全基础知识【6】
  • Linux初步认识与指令与权限
  • 机器学习sklearn:聚类
  • 读书:李光耀回忆录-我一生的挑战-新加坡双语之路
  • 【物联网】基于树莓派的物联网开发【21】——MQTT获取树莓派传感器数据广播实战
  • Python So Easy 大虫小呓三部曲 - 高阶篇
  • html5+css3+canvas长文转长图工具支持换行
  • 国产嵌入式调试器之光? RT-Trace 初体验!
  • C++之vector类的代码及其逻辑详解 (中)
  • 电力系统分析学习笔记
  • 谷歌Chrome浏览器安装插件
  • 论文笔记:Bundle Recommendation and Generation with Graph Neural Networks
  • 设计Mock华为昇腾GPU的MindSpore和CANN的库的流程与实现
  • STM32——启动过程浅析
  • 个人电脑部署私有化大语言模型LLM
  • python+pyside6的简易画板
  • 损失函数和调度器相关类代码回顾理解 |nn.CrossEntropyLoss\CosineAnnealingLR