ospf笔记

一、OSPF基础

  1. 技术背景(RIP的问题)

最大跳数限制(15跳),不适应大规模组网

周期性发送全部路由信息,占用带宽

路由收敛速度慢

以跳数为度量值,可能导致非最优路径

存在路由环路风险

每30秒更新一次

  1. OSPF协议特点

无跳数限制,适合大规模组网

组播更新变化的路由信息,减少带宽占用

收敛快,支持触发更新

以COST为度量值

采用SPF算法避免环路

每30分钟周期性更新(LSA)

应用广泛,传递拓扑信息+路由信息(RIP仅传递路由表)

  1. OSPF三张表

表类型作用查看命令示例邻居表记录邻居状态和关系-拓扑表链路状态数据库(LSDB),存储全网拓扑[R1]dis ospf 1 lsdb路由表由SPF算法计算的最优路由dis ip routing-table pro ospf

  1. OSPF数据包(封装在IP中,协议号89)

头部字段

版本(OSPFv2为2)、类型(1-5对应Hello/DD/LSR/LSU/LSAck)

报文长度、路由器ID、区域ID、校验和、认证类型及数据

5种报文类型

报文类型作用关键字段/特性Hello发现、建立、保活邻居关系网络掩码、Hello间隔(默认10s)、Dead间隔(默认40s)、DR/BDR、邻居Router-IDDBD交换LSDB中LSA的摘要信息接口MTU、I(Init位)、M(More位)、MS(主从位)、DD序列号LSR请求缺少或更新的LSA详细信息LSA三元组(链路状态类型、ID、通告路由器)LSU发送LSA详细信息(可包含多个LSA)组播地址:224.0.0.6(DR/BDR监听)、224.0.0.5(所有OSPF路由器监听)LSAck确认收到LSU包含需确认的LSA头部

  1. OSPF工作过程

建立邻居:通过Hello报文发现并确认邻居(2-way状态),选举DR/BDR(广播网络)

同步LSDB:邻居间通过DBD交换LSA摘要,用LSR请求缺失LSA,LSU发送详细信息,LSAck确认

计算路由:LSDB同步后,用SPF算法计算最优路由,形成路由表

  1. 关键概念

Router ID:路由器唯一标识,手工配置或自动选举(环回口IP>物理口IP,选大的)

DR/BDR:广播网络中选举,减少邻接关系数量。规则:优先级(0-255,默认1)高优先,否则Router ID大优先;无抢占性

状态机:从Down→Init→2-way(邻居稳定)→Exstart(协商主从)→Exchange(交换LSA摘要)→Loading(请求LSA)→Full(邻接稳定)

  1. LSDB更新

收到LSA时,若本地无则加入;若有则比较序列号(大的更新),序列号相同则比较校验和(大的更新)

广播网络中,拓扑变化时,DROTHER向224.0.0.6发送LSU,DR转发至224.0.0.5

  1. 开销(COST)计算

参考带宽:默认100M,建议设为网络中最高链路带宽

公式:链路带宽≥参考带宽时,COST=1;否则COST=参考带宽/链路带宽(Mb)

缺省值:千兆以太网=1,百兆以太网=1,十兆以太网=10

  1. 区域划分

目的:减少LSA泛洪范围,提高扩展性

类型:骨干区域(Area 0)、非骨干区域、特殊区域

原则:非骨干区域必须与骨干区域相连,非骨干区域间不能直接相连(防环)

  1. 路由器类型

类型定义区域内路由器(IR)所有接口在同一区域骨干路由器(BR)至少一个接口在骨干区域(Area 0)区域边界路由器(ABR)连接骨干区域和非骨干区域自治系统边界路由器(ASBR)连接外部自治系统,引入外部路由

二、LSA类型

  1. LSA头部(20字节)

包含:链路状态老化时间(最大3600s)、可选项、类型、ID、通告路由器、序列号(判断新旧)、校验和、长度

  1. 6种主要LSA

1、type1-LSA:----重要且复杂

(1)定义:router LSA

  • Type1 LSA

R1\]dis ospf lsdb router 查看Type1 LSA的具体信息 (2)LS ID:发出该LSA的路由器的router-id (3)Adv Rtr:始发路由器,产生该LSA的路由器的router-id (4)链路ID:不同的链路类型,对链路ID值的定义是不同的。 (5)链路数据(Link Data):不同的链路类型对链路数据的定义是不同的。 (6)link-type:链路类型,描述该接口的二层类型 1. **:在广播网络中出现,连接了多个运行ospf协议的路由器,承载过路流量** 类型:广播网络或者NBMA link-id:本网段的DR的IP地址 Date:本路由器在该网段的IP地址 1. :适用于网络 类型:ppp link-id:该网段对端路由器的router-id Date:本路由器在该网段的与对端路由器相连的接口的IP地址 1. (末梢网络):运行OSPF协议的路由器连接一个直连网段,(比如连接PC的接口,这个接口被宣告进OSPF。),这个直连网络不承载任何过路流量 类型:p2p\\环回口 link-id:该网段的网络地址 data:该网段的子网掩码 * Virtual(虚链路): 类型:虚链路 link-id:虚链路邻居的router id data:去往该虚连接邻居的本地接口的IP地址 (7)VEB标志位: 1. 位(irtual Link Endpoint Bit):如果该比特位被设置为1,则表示该路由器为irtual Link的端点。 1. 位(xternal Bit):如果比特位被设置为1,则表示该路由器为ASBR。在Stub区域中,不允许出现E比特位被设置为1的Type-1 LSA,因此Stub区域内不允许出现ASBR。 1. 位(order Bit):如果比特位被设置为1,则表示该路由器为两个区域的边界路由器,字母B意为Border(边界)。 **2、type2-LSA:** (1)定义: network LSA 描述区域内的MA网络(广播网络、NBMA网络)路由器的链路及掩码信息 仅在区域内部传输 只有DR才会产生type2_LSA \[R1\]dis ospf lsdb network 查看Type2 LSA的具体信息 (2)内容: LS ID:该网段的DR的IP地址 Adv Rtr:该网段DR的router-id network mask:该网段DR的IP地址的子网掩码信息 **3、type3-LSA:** (1)定义: Summary LSA(聚合LSA) 在整个OSPF域内,描述其他区域的链路信息 以子网形式传播,类似直接传递路由 只有ABR会产生type3_LSA \[R1\]dis ospf lsdb summary 查看Type3 LSA的具体信息 (2)内容: LS ID:其他区域某个网段的网络地址 Adv Rtv:通告该LSA的ABR的router-id net mask:该网段的子网掩码 注:3类LSA的传递范围在ABR相邻的单区域中进行,跨区域传递时,需要进行通告者的转换,通告者变了,则将不是同一条LSA **4、type4-LSA:---整个ospf的域** (1)定义: Asbr-summary LSA 描述ASBR的信息 只有ABR才会产生TYPE4 LSA (2)内容: LS ID:ASBR的router-id Adv Rtv:通告描述该ASBR的ABR的router-id \[R1\]dis ospf lsdb asbr 查看Type4 LSA的具体信息 注:在ASBR本区域的内部路由器,不会产生到达该ASBR的4类LSA **5、type5-LSA:----整个ospf域** (1)定义: AS_extenal LSA,传递域外 路由信息 描述AS外部引入的路由信息,会传播到所有区域(特殊区域除外) 只有ASBR才会产生type5_LSA (2)内容: LS ID:外部路由的目的网络地址 Adv Rtv:引入该网络路由的ASBR的router-id net mask:引入的该目标网段的子网掩码 \[R1\]dis ospf lsdb ase 查看Type5 LSA的具体信息 **6、type7-LSA:---** **不能进入area 0,只存在于NSSA区域和totally NSSA区域** (1)定义: NSSA LSA 描述在NSSA区域引入的AS域外的外部路由信息 只会出现在NSSA和totally NASS区域,不能进入area 0 7类LSA生成路由信息的标记位,O_NSSA,优先级150 (2)内容: LS ID:外部某个网段的网络地址 Adv Rtv:引入该网络路由的ASBR的router-id **区域内传拓扑,区域间传路由** 三、OSPF网络类型 网络类型默认链路类型报文发送方式DR/BDR选举Hello间隔Dead间隔NBMA帧中继单播(需手动指定邻居)是30s120sP2MP手动配置模拟组播(需手动指定邻居)否30s120sBroadcast以太网组播是10s40sP2PPPP组播否10s40s MGRE实验问题及解决: 问题1:Tunnel接口为P2P类型,无法建立邻接→解决:改为广播或P2MP类型(\[R2-Tunnel0/0/0\]ospf network-type broadcast) 问题2:DR/BDR选举混乱→解决:分支站点DR优先级设为0(确保中心为DR) 四、特殊区域 共性条件: 不能是骨干区域(Area 0),不能存在虚链路 1. STUB区域(末梢区域) 特征:不接受4类、5类LSA;无ASBR;ABR自动下发3类缺省路由(0.0.0.0/0) 命令:\[r5-ospf-1-area-0.0.0.2\]stub 2. Totally STUB区域(完全末梢区域) 特征:不接受3类、4类、5类LSA;无ASBR;ABR自动下发3类缺省路由 命令:\[r5-ospf-1-area-0.0.0.2\]stub no-summary 3. NSSA区域(非纯末梢区域) 特征:不接受4类、5类LSA;可存在ASBR(引入外部路由以7类LSA存在);ABR将7类转为5类LSA;华为设备自动下发7类缺省 命令:\[r5-ospf-1-area-0.0.0.2\]nssa 4. Totally NSSA区域(完全非纯末梢区域) 特征:不接受3类、4类、5类LSA;可存在ASBR;ABR下发3类缺省路由 命令:\[r5-ospf-1-area-0.0.0.2\]nssa no-summary 五、路由聚合 定义: 手动将相同前缀的路由聚合后发布,减少LSA数量,适用于3类、5类、7类LSA 1. ABR聚合(3类LSA) 作用:将一个区域的LSA聚合后发布到相邻区域 命令:\[r1-ospf-1-area-0.0.0.0\]abr-summary 192.168.0.0 255.255.252.0 特性:不影响ABR自身路由,下游路由器仅见聚合路由;ABR自动生成黑洞路由防环 2. ASBR聚合(5类、7类LSA) 作用:将引入的外部路由聚合后发布到OSPF内部 命令:\[r4-ospf-1\]asbr-summary 172.16.0.0 255.255.252.0 特性:不影响ASBR自身路由,OSPF内部仅见聚合路由;ASBR自动生成黑洞路由防环 六、不规则区域解决方案 问题场景: 非骨干区域无法与骨干区域连通 骨干区域被分割 解决方案 虚连接:在两个ABR间建立,穿越中间区域(不能是特殊区域) 命令:\[RTB-ospf-1-area-0.0.0.1\]vlink-peer 3.3.3.3(对方Router ID) 路由引入:在ASBR上运行多OSPF进程,互相引入路由 命令:\[R4-ospf-1\]import-route ospf 2 七、高级特性 1. 安全特性 报文验证:区域验证(\[r3-ospf-1-area-0.0.0.0\]authentication-mode md5 1 cipher 123456)、接口验证(\[r5-GigabitEthernet0/0/0\]ospf authentication-mode md5 1 cipher 123456),接口验证优先级更高 静默接口:禁止端口发送OSPF报文(\[r5-ospf-1\]silent-interface GigabitEthernet 0/0/2) 路由过滤:用ACL+filter-policy(入方向,影响本机及下游)或filter(出方向,仅影响下游) 2. 加快收敛 调整计时器:Hello时间(ospf timer hello 5)、Dead时间(ospf timer dead 20)、重传时间(默认5s) 修改网络类型(需两端一致) 3. 缺省路由 3类缺省:特殊区域ABR自动下发(优先级10) 5类缺省:手工配置(\[r2-ospf-1\]default-route-advertise,优先级150) 7类缺省:NSSA区域自动/手工下发(优先级150) 4. 防环与选路 防环:区域内用SPF算法,区域间靠区域划分原则 选路优先级:1.区域内路由(1/2类LSA)→2.区域间路由(3类)→3.一类外部路由(计算内部Cost)→4.二类外部路由(不计算内部Cost)