ospf笔记
一、OSPF 协议简介OSPFOpen Shortest Path First开放式最短路径优先是目前互联网应用最广泛的公有链路状态型动态路由协议由IETF组织定义通用性极强。核心基础特性协议类型链路状态型公有协议核心算法SPF最短路径优先算法协议版本OSPFv2IPv4、OSPFv3IPv6封装特点跨层封装无传输层协议IP协议号为89自带可靠性机制更新机制无周期路由更新仅触发更新存在30分钟周期链路刷新机制二、OSPF 基础概念1. 静态路由与动态路由对比路由器依靠路由表转发数据路由表来源分为手工配置静态路由和动态路由协议生成动态路由。静态路由占用带宽、CPU资源少适用于简单网络拓扑变化、链路故障时无法自动更新需手动维护扩展性差。动态路由可自动感知拓扑变化、自动收敛扩展性强适配中大型复杂网络。OSPF凭借收敛速度快、扩展性强、无路由环路的优势成为主流动态路由协议。2. OSPFv2 与 RIPv2 对比相同点均为无类别路由协议支持CIDR均采用组播发送协议报文OSPF224.0.0.5/6RIP224.0.0.9均支持等开销负载均衡等价路由不同点适用场景OSPF适配中大型网络RIP仅适配小型网络开销机制RIP以跳数为开销最大有效跳数1516跳判定为不可达OSPF以链路带宽计算开销无硬性限制3. OSPF 结构化区域部署1区域划分目的分割大型网络减少拓扑信息泛洪降低设备CPU、内存资源消耗区域内传递拓扑信息区域间传递路由信息。2区域基础参数区域IDArea ID32位支持IP格式表示如0.0.0.0对应Area 0、0.0.1.0对应Area 256骨干区域Area 0是整个OSPF网络的核心3区域划分核心规则所有非骨干区域必须直连骨干区域Area 0骨干区域唯一且不可分割全网仅存在一个Area 0非骨干区域之间禁止直接传递路由信息4核心路由器角色ABR 区域边界路由器同时连接骨干区域和非骨干区域、存在活跃邻居的设备负责跨区域路由传递自动执行路由转发遵循区域水平分割规则从非骨干区域学习的路由只接收、不使用、不转发防止域间环路。ASBR 自治系统边界路由器负责将OSPF域外路由引入域内需手动配置路由重发布不自动传递路由。三、OSPF 五种协议报文OSPF所有报文均为24字节统一头部IP协议号89包含5种报文类型每种报文功能独立。邻居建立参数区域ID、认证信息、Hello时间、死亡时间、掩码等不匹配无法建立邻居。1. Hello报文Type 1核心作用发现、建立、周期性保活OSPF邻居关系组播224.0.0.5发送。默认计时器Hello间隔10s死亡时间40s死亡时间4×Hello时间核心参数Router ID全网唯一路由器标识、接口掩码、邻居列表、可选项华为设备MA网络中接口掩码不一致无法建立邻居2. DD报文Type 2数据库描述报文核心作用传递LSDB链路状态摘要减少重复信息更新实现邻居数据库同步。华为AR设备默认不检测MTU开启MTU检测后两端MTU不一致会停滞在Exstart状态核心标识位I位主从选举、M位后续是否有报文、MS位主从身份序列号主设备控制递增依靠序列号实现隐式确认保证传输有序可靠报文分类空报文主从选举、带LSA摘要报文数据同步、空确认报文隐式确认3. LSR报文Type 3链路状态请求报文邻居收到DD摘要后针对未知的LSA通过LSR向邻居申请完整LSA信息。依靠LSA三元组链路状态类型链路状态ID通告路由器精准定位唯一LSA。4. LSU报文Type 4链路状态更新报文核心作用携带完整LSA信息响应邻居的LSR请求完成拓扑信息同步。包含LSA数量、可变长度LSA内容。5. LSAck报文Type 5链路状态确认报文用于确认LSU报文保证LSA传输可靠性避免重复更新。四、OSPF 状态机全网9种状态OSPF邻居、邻接关系建立全程遵循状态机流转其中Down、2-way、Full为稳定状态。Down协议未启动/邻居失效无报文交互启动OSPF后自动进入下一状态。Attempt仅NBMA网络特有协议启动但未手动指定邻居未发送Hello报文。Init初始化收到邻居Hello报文但报文中无本地Router ID仅感知邻居存在。2-way双向通信收到的Hello报文中包含本地RID邻居关系正式建立稳定态。MA网络在此阶段进行DR/BDR条件匹配匹配失败则永久停留在2-way。Exstart预启动通过空DD报文选举主从设备RID大的设备为Master掌控DD序列号。Exchange准交换主从设备交互带LSA摘要的DD报文同步全网拓扑目录。Loading加载通过LSR/LSU/LSAck交互获取完整未知LSA存入本地LSDB。Full完全邻接LSA同步完成邻接关系正式建立稳定态设备运行SPF算法生成无环路由树计算路由并加载至路由表。DR/BDR 选举机制仅MA网络1. 选举目的减少MA网络中邻接关系数量避免大量LSA重复泛洪节约设备资源。2. 选举规则优先比较接口优先级默认1越大越优0代表放弃选举优先级一致比较Router ID越大越优3. 核心规则一个广播域必须有DRBDR可选选举耗时最大40sDR/BDR非抢占式选举完成后新接入高优先级设备不会替换现有DR/BDR关系判定两台DRother设备仅为邻居2-way任意一方为DR/BDR建立邻接关系FullP2P网络无需DR/BDR选举直接建立Full邻接关系五、OSPF 工作全过程1. 邻居关系建立设备启动OSPF后周期性发送Hello报文发现直连邻居双方Hello参数匹配掩码、计时器、认证、区域等后进入2-way状态邻居关系建立。2. 邻接关系建立数据库同步两端进入Exstart状态发送空DD报文选举主从设备主从身份确定后交互带LSA摘要的DD报文同步拓扑目录设备对比本地LSDB针对缺失LSA发送LSR请求对端通过LSU推送完整LSA本地接收后回复LSAck确认所有LSA同步完成进入Full状态邻接关系建立本地运行SPF算法计算无环路由生成OSPF路由表优选后加入全局路由表六、OSPF 接口网络类型OSPF网络类型是接口的协议工作模式与数据链路层类型无关邻居双方网络类型必须一致否则无法正常建立邻接关系。各类网络类型核心参数对比网络类型邻居数量DR/BDR选举Hello/Dead时间报文发送方式特性说明BMA广播型多邻居需要10s/40sHello组播DD/LSR单播LSU/LSAck组播以太网默认类型P2P点到点单邻居不需要10s/40s全部组播串口、隧道默认类型环回接口华为默认为P2PP2MP点到多点多邻居不需要30s/120sHello组播其余单播自动学习邻居主机路由手工部署NBMA非广播多路访问多邻居需要30s/120s全部单播需手动指定邻居peer无法自动建邻Vlink虚链路单邻居不需要10s/40s全部单播逻辑链路永久属于Area 0特殊接口说明环回接口华为默认P2P类型Cost固定为0不可修改OSPF默认学习32位主机路由防止路由黑洞与环路。MGRE场景Hub-Spoke架构需开启Hub伪广播、全网统一修改OSPF网络类型、手工干涉DR选举Hub为DR。常用配置命令查看OSPF接口状态display ospf interface 接口名修改接口网络类型ospf network-type 网络类型接口视图七、OSPF 不规则区域与解决方案1. 不规则区域类型远离骨干的非骨干区域非骨干区域未直连Area 0不连续骨干区域Area 0被分割无法逻辑互通2. 三种解决方案1Tunnel隧道仅了解在断层设备间建立VPN隧道将隧道接口宣告进Area 0实现区域连通不推荐商用。2Vlink虚链路临时方案通过非骨干区域建立逻辑链路延伸骨干区域使骨干区域逻辑连续。配置规则在穿越的非骨干区域配置指定对端Router ID而非IP地址限制仅能穿越一个区域报文均为单播发送永久属于Area 0缺陷打破OSPF区域防环规则易产生路由环路仅用于临时修复核心命令vlink-peer 对端RID区域视图3多进程双向重发布商用主流在ASBR设备上将两个OSPF进程的路由互相引入实现全网路由互通无环路风险。配置位置仅ASBR设备核心命令import-route ospf 进程号域外路由标识O_ASE优先级150低于域内路由八、OSPF LSA 链路状态通告核心OSPF为链路状态协议不传递路由表仅传递LSA链路状态信息所有LSA存入LSDB链路状态数据库同一区域设备LSDB完全一致设备独立运行SPF算法计算路由。1. LSA 头部通用字段20字节LSA三元组唯一标识单条LSA链路状态类型链路状态ID通告路由器LSA新旧判断优先级序列号 校验和 老化时间LS Age老化时间0s新生~3600s失效删除30分钟周期刷新LS Sequence序列号0x80000001起始越大越新溢出后重置再生LS Checksum校验和校验数据完整性数值越大越新2. 六大核心LSA类型详解LSA类型LS ID通告者传播范围核心作用Type-1Router本设备RID所有OSPF路由器本区域描述设备直连拓扑、接口状态域内路由计算核心Type-2NetworkDR接口IPMA网络DR设备本区域补充MA网络网段掩码、邻接路由器信息Type-3Sum-Net目标网段IPABR设备相邻区域传递域间路由跨区域传递时ABR重新生成Type-4ASBR-SumASBR的RID与ASBR同区域的ABR全网除ASBR区域告知全网ASBR位置辅助5类LSA路由递归计算Type-5ASE域外目标网段ASBR设备全网除Stub/NSSA传递域外路由含Type1/Type2两种开销类型Type-7NSSA域外目标网段NSSA区域ASBR仅NSSA区域替代5类LSA传递域外路由出区域后7转53. 域外路由开销类型Type-1E0总开销本地到ASBR开销种子度量值路径更精准Type-2E1默认总开销仅种子度量值忽略域内传输开销优先级Type-1 永远优于 Type-24. LSA撤销机制1/2类LSA序列号1、老化时间置0更新新LSA覆盖旧条目3/5/7类LSA直接将老化时间置3600s全网自动删除九、OSPF 特殊区域网络优化核心特殊区域核心作用过滤多余LSA精简LSDB和路由表降低设备压力适用于末梢、无需中转流量的非骨干区域。1. Stub 末梢区域准入条件非骨干区域、无虚链路、无ASBR设备。核心特性过滤4、5类域外LSAABR自动下放3类缺省路由保障区域外网访问配置要求区域内所有设备统一配置2. Totally Stub 完全末梢区域在Stub基础上优化过滤3、4、5类LSA仅保留3类缺省路由最大程度精简路由表仅需在ABR设备配置。3. NSSA 非完全末梢区域准入条件非骨干区域、无虚链路、存在ASBR设备可引入域外路由。核心特性过滤外部传入的4、5类LSA本地域外路由以7类LSA传递出区域后由RID最大的ABR完成7转5ABR下放7类缺省路由保障外网访问4. Totally NSSA 完全非完全末梢区域在NSSA基础上过滤3、4、5类LSA仅保留缺省路由华为设备会同时存在3类、7类缺省路由优选3类彻底杜绝环路。十、OSPF 选路原则优先级从高到低域内路由 域间路由 域外路由1/2类LSA 3类LSA 5/7类LSA1. 域内路由1/2类多条路由对比开销值越小越优开销一致则负载均衡。2. 域间路由3类多条路由对比总开销值越小越优开销一致则负载均衡。3. 域外路由5/7类优先匹配路由类型Type-1 优于 Type-2同Type-1对比总开销本地到ASBR种子开销越小越优同Type-2先对比种子开销再对比本地到ASBR开销越小越优所有参数一致执行负载均衡十一、OSPF 防环机制1. 域内防环依靠SPF算法计算树形无环路径从根源避免域内环路。2. 域间防环非骨干区域禁止直接互传路由所有流量必须经过骨干区域中转ABR区域水平分割非骨干学习的路由不转发、不回传虚链路区域禁止传递聚合路由NSSA区域多ABR场景设备不学习对端缺省路由3. 域外防环依靠5/7类LSA的FA转发地址优化路径、规避环路与次优路径。十二、OSPF 扩展配置1. OSPF认证保障邻居合法性接口认证接口视图配置同广播域所有接口需一致Key ID、密码区域认证区域视图配置本质为批量接口认证区域内所有设备需一致虚链路认证仅针对Vlink链路单独配置2. 收敛加速修改计时器可修改Hello、死亡、重传、传输延迟计时器链路两端参数必须一致缩短故障感知时间。3. 静默接口命令silent-interface 接口名接口禁止收发OSPF报文适用于连接终端、禁止建邻场景。4. 缺省路由下发3类缺省特殊区域ABR自动下发优先级105类缺省default-route-advertise按需、default-route-advertise always强制优先级1507类缺省NSSA区域专属配置优先级1505. 路由过滤与汇总区域间汇总ABR设备配置汇总1/2类LSA生成的域间路由域外汇总ASBR设备配置汇总引入的外部路由路由过滤通过abr-summary/asbr-summary not-advertise源头过滤LSA全网不可见6. 选路干涉修改路由优先级preference域内/域间、preference ase域外修改接口Costospf cost 数值最常用两端同步修改避免往返路径不一致修改参考带宽bandwidth-reference 数值十三、OSPF 常见问题总结结构突变网段增减触发LSU触发更新邻居同步LSA无需全局刷新邻居中断40s未收到Hello报文判定邻居失效删除对应LSA与路由MGRE建邻异常核心原因是全网OSPF网络类型不一致、未开启伪广播、DR角色未固定NSSA次优路径/环路由7转5机制、FA地址为空、多ABR缺省路由冲突导致华为通过优化7类缺省路由优先级规避环路