一、路由协议基础:
1. 静态路由协议缺点:
1)路由不能随着拓扑的变化而自动变化(网络中接口关闭或者故障是不可知的,有无汇总都会有黑洞的——接口故障关闭断电或者网段不存在之后,此时如果有缺省就会出现环回);
2) 在中大型网络中配置量很大,比较复杂,更新量大,人为操作困难,容易出问题;
3)用于相对很小,结构很简单的网络中
2. 动态路由协议优点:
1)随拓扑变化而变化(最大优势);
2)在中大型网络中配置量较少
3. 动态路由协议缺点(=静态优点):
1)对资源有占用(设备的CPU/内存/带宽——更新路由通信协商);
2)存在安全隐患——电脑运行模拟仿真器假冒路由器运行OSPF路由协议引导路由流量去向发生变化;
3)算法计算错误,算出环路——任何算法都可能存在该问题。
4. 比较一个动态路由协议的优劣的依据(相辅相成):
1)防环(最重要思想) 2)占用资源少 3)选择路径佳 4)收敛速度快(否则信息不同步将导致环路)
5. 动态路由协议分类:
1)基于AS进行分类
* IGP(内部网关路由协议—AS内部)-- RIP/OSPF/EIGRP(思科专有)/ISIS;
* IGP分类方式:
* 更新时是否携带子网掩码 – 有类别(更新时不带掩码)/ 无类别(更新时带掩码);无类别好,RIPv1 用的有类别不好,RIPv2、OSPF、ISIS、EIGRP、BGP
* 工作特征:
1) DV距离矢量-RIP/EIGRP : 邻居间直接共享路由表,属于传闻型协议。优点——更新量少;缺点——选路没有基于拓扑严谨
2) LS 链路状态-OSPF/ISIS :邻居间共享拓扑,属于本地计算型协议。缺点——更新量大,占用资源多,收敛速度受更新量影响;优点——防环,选路相对较好
* EGP(外部网关路由协议—AS之间)–EGP(有两个版本V1/2,已淘汰)/BGP(有五个版本V1-4+,主流)
* 为什么OSPF要基于LSA(拓扑信息)收敛?——防环(OSPF有特殊防环机制,不依赖于更新量大小导致的收敛速度快慢)
二、OSPF(开放式最短路径优先协议)简介
1. 版本:
V1/V2/V3 ;主讲V2 ,V3为IPV6环境使用。
2. 属性:
无类别链路状态路由协议(更新带掩码),基于拓扑信息进行收敛,基于组播更新(地址为:224.0.0.5/6
3. 选路依据:
使用cost作为度量
4. 更新方式:
支持触发更新(相对周期更新节约资源,提高工作效率。一个好的协议最好只有触发更新如EIGRP),每30min周期更新(可靠性更高)—因为更新量过大,为保证可靠性
5. OSPF为了在中大型网络中工作(解决关键问题——更新量大)需要结构化的部署:
1、区域划分(=链路状态协议(传拓扑)的距离矢量特征(传路由)——区域间)
2、良好的IP地址规划
6. 若一个协议希望实现增量更新即仅触发无周期(EIGRP/BGP)需要:
hello机制(周期保活)& ACK确认机制
三、OSPF报头
OSPF属于跨层封装的协议
标准OPSF协议报头内容:
全部封装填充在三层IPv4包头之后——跨层封装于IP v4报头。
扩展:IP包头正常字节是20可填充最大达到60,每填充40个字节为一片。
协议号为89——三层报头里边会有一个协议号,类似于端口号作用(ACL拦截89相当于干掉了OSPF协议[r1-acl-adv-3000]rule deny 89 source 192.168.1.1 0.0.0.0 destination 192.168.1.2 0.0.0.0
)。
报头标签 | 含义 | 备注 |
---|---|---|
Version Number | 版本号 | 现学v2版,IP v6 用v3版本 |
Type | 类型号 | 共5种类型,1-hello包,2-DBD包;3-LSR包;4-LSU包;5-LSack包 |
Packet Length | 数据包长度 | |
Router ID | 相当于路由器编号 | 每个编号唯一,采用了IP地址规则 |
Area ID | 区域ID | OSPF有区域划分规则 |
Checksum | 校验和 | 用于检测数据包完整性 |
Authentication Type | 认证类型 | 有3种,不做认证即为空;明文认证;密文认证 |
Authentication | 认证密码 | 明文密码或者密文密码 |
Data | 数据 | 以上是5个包都共有的,是OSPF的标准包头结构,只有这一部分的内容是每个OSPF数据包所不同的 |
四、OSPF的数据包类型
OSPF存在5种不同类型的数据包:
包名 | 用途 | 备注 |
---|---|---|
Hello包 | 邻居、邻接的发现、建立,周期保活 | hello time 10s或30s ;dead time为hello time 4倍;防止单向链路故障——只能收或只能发 |
DBD 包(Database Description) | 数据库描述包 ——相当于数据库目录 | 因为OSPF更新量过大,这个包的存在可以减少更新量,排查重复的信息 |
LSR 包 (Link-State Request) | 链路状态请求 | 询问本地没有的拓扑信息 |
LSU 包(Link-State Update) | 链路状态更新,真正传递路由拓扑信息的包,内部携带具体的LSA信息 | 最核心的包 |
LSack 包(Link-State Acknowlegment) | 链路状态确认包 | 保证可靠性 |
补充!!!:LSU内包含的是LSA(即链路状态通告 — 路由或者拓扑信息 ;在不同条件下产生不同类型的拓扑或路由信息,区域之内传拓扑,区域之间传路由信息)
五、OSPF的状态机
OSPF状态机标准7个,还存在第八个(扩展)。
每一个关系阶段就是一种状态
状态 | 描述 | 备注 |
---|---|---|
(Down) | 最开始相互不认识的状态, 一旦本地发出hello包,进入下一状态机 | |
(Init) 初始化状态 | 接收到的hello包中,若存在本地的RID,那么进入下一状态 | |
(2way) 双向通讯状态 | 邻居关系建立的标志 | 进入下一个状态的条件:1、点到点网络类型直接进入下一状态 2、MA网络,将进行DR/BDR选举(40s),非DR/BDR间不得进入下一状态 |
(Exstart)预启动状态 | 使用未携带目录信息的DBD包,进行主从关系选举,Router ID大优先进入下一状态 | RID数值大为主,也是为了避免更新量大带来的问题,有主从关系之后能够有收发先后顺序,从而避免同时发送流量造成链路拥塞等问题;需要ack包确认 |
(Exchange)准交换状态 | 使用真正的DBD包进行数据库目录的交互 | 需要ack确认 |
(Loading) 加载状态 | 通过本地与对端的数据库目录比对,就本地未知的LSA信息,使用LSR来进行请求,对端使用LSU进行应答, | 最终需要ack进行确认;目的是获取未知的LSA |
(Full)转发状态 | 邻接关系建立的标志 |
扩展:第八个状态机——
六、OSPF的工作过程
阶段 | 状态 | 备注 |
---|---|---|
第一阶段 | 启动OSPF协议后,本地基于所有激活接口使用组播224.0.0.5进行周期的hello包收发 | |
第二阶段 | 若接收到的hello包若存在本地的RID,那么建立邻居关系,生成邻居表 | |
第三阶段 | 表中所有邻居存在条件,条件匹配失败将停留于邻居关系,仅hello包周期保活即可,条件匹配成功,需要进一步建立为邻接关系 | |
第四阶段 | 邻接关系间,需要使用DBD包来进行数据库目录共享 | |
第五阶段 | 使用LSR/LSU/LSACK来获取本地未知的LSA信息,补全本地的LSDB(链路状态数据库—所有LSA的集合)–生成数据表 | |
第六阶段 | 数据库同步完成后,本地其余SFP算法,基于数据库生成有向图,合成最短路径树,最终将所有未知网段的路由加载于本地的路由表中 | |
第七阶段 | –收敛完成,hello包周期保活,每30min再周期比对一次数据库目录; |
网络结构突变:
类型 | OSPF中的处理方式 |
---|---|
新增网段 | 直连新增网段的设备,使用更新包告知本地所有邻接,之后扩散到全网,需要ACK确认 |
断开网段 | 直连断开网段的设备,使用更新包告知本地所有邻接,之后扩散到全网,需要ACK确认 |
无法沟通 | dead time到时间时,断开邻居,删除邻居;且通过该邻接获取的LSA将不再被使用 |
七、OSPF的基础配置
配置指令 | 注释 |
---|---|
第一阶段 | 启动配置 |
[r1]ospf 1 router-id 1.1.1.1 | 启动时需要定义进程号,仅具有本地意义;同时建议配置RID(依据IPv4地址编写规则——必须全网唯一); Router ID选择规则:手工>环回最大数值>物理接口最大数值 |
宣告:1、激活—被选中接口可以收发ospf 的数据包 2、传递接口信息—被选中接口的信息将被共享给本地的其他邻接 3、区域划分 。区域划分规则:1、 星型结构拓扑 – 区域0 为骨干,大于0为非骨干;非骨干必须连接骨干区域;2、 区域间必须存在ARB—区域边界路由器 | |
第二阶段 | 邻居关系建立 |
[r2]display ospf peer | 查看邻居关系 |
[r2]display ospf peer brief | 邻居表摘要表格 |
开启华为MTU检测 | |
<r2>display ospf lsdb | 查看数据库表 |
<r1>display ospf routing | |
修改参考带宽干预选路的配置指令 | |
干预DR选举的配置指令 | |
NBMA修改接口方式全网建立邻接关系 | |
配置OSPF虚链路(用于不同区域路由共享) | |
OPSF的重发布配置指令(不同区域间路由共享) | |
[r1]display ospf lsdb | 查看OSPF协议的数据库表 --目录 |
[r1]display ospf lsdb router 1.1.1.1 | 查看具体的LSA条目信息 |
OSPF域间路由汇总指令,汇总3类路由;华为配置需要手共添加空接口防环路由 | |
OSPF域外路由汇总指令,汇总5/7类路由指令;华为设备需要手工添加空接口防环路由 | |
1. 启动配置完成阶段:
1)内容:邻居间收发hello包建立邻居关系,生成邻居表:
2)Hello包中的内容:
3)hello包要求:邻居间hello包中以下表格内参数必须完全一致的,否则无法建立邻居关系
hello包中参数 | 含义 |
---|---|
hello and dead time | |
Area ID | 区域ID (该参数一致可以逼出ABR) |
Authentication password | 认证 |
Stub area flag | 末梢区域标记(特殊区域) |
邻居间接口的子网掩码 | 在华为设备的hello包中,还存在本地接口ip地址的的子网掩码,邻居间接口掩码不一致将无法建立邻居关系 |
2. 邻居关系建立
1)前提:邻居间满足条件——建立邻接关系;
2)沟通方式:邻接关系间将使用DBD包来沟通;
3)邻接关系建立后,邻居间使用真正DBD来获取对端邻接的LSDB目录,之后使用LSR/LSU/LSack来获取本地未知的LSA信息,生成LSDB(数据库表);
4)关于DBD的一些问题:
DBD包参数 | 注释 |
---|---|
接口MTU | 在cisco体系中,邻居间接口的MTU值默认被检测,华为默认不检测;OSPF协议要求直连接口上邻居间的MTU值必须完成一致; |
关于DBD的标记位 | I 为1标识本地发出的第一个DBD包 M 为1标识不是本地的最后一个DBD包 MS 为1代表主 为0 代表从 |
使用序列号进行隐性确认 | DBD的隐性确认,基于序号进行的,从使用主的序号来对主进行确认 |
3. 数据库同步完成
1)本地基于LSDB生成有向图,再转换为最短路径树;之后计算本地到达所有未知网段的路径,将其加载于本地的路由表中;
2)在cisco系统中,使用不同的字母来代表不同条件下产生的路由;
字母 | 不同条件下产生的路由 |
---|---|
O | 本地所在区域计算所得路由 |
O IA | 其他区域产生计算所得路由,通过ABR共享进入本区域 |
O E1/2 | 其他协议或进程计算所得路由,通过ASBR重发布进入 |
O N1/2 | 其他协议或进程计算所得路由,通过ASBR重发布进入,同时本地为NSSA区域 |
查看指令:<r1>display ospf routing
- 1
4. OSPF选路依据
1)优先级为10;cost的参考带宽为100M; COST=参考带宽/接口带宽
2)OSPF选择cost值之和最小的路径为最短路径;若接口带宽大于参考带宽,cost值为1,将可能导致选路不佳,建议修改参考带宽,修改时全网设备必须修改为一致;
3)修改参考带宽的指令:
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000
- 1
- 2
- 3
- 4
八、OSPF的DR选举
1、邻居关系成为邻接关系的条件
2、问题前景:
在MA网络中,由于节点数量不限制,故两两间均为邻居,若不加管制将出现大量的重复更新;
3、解决对策:
1)距离矢量协议(RIP/EIGRP)均存在水平分割机制来解决;
2)OSPF协议无法使用接口水平分割(从此口进不从此口出),因此ospf选择了DR/BDR选举方式来解决,在MA网段中存在一个DR和一个DBR,其他设备非DR/BDR,非DR/BDR之间不建立邻接关系,仅维持邻居关系,避免重复更新
4、DR/BDR选举规则:
1、比较接口优先级,0-255默认为1;数值大优 为0标识不参选
2、若接口优先级一致,比较参选设备的RID,数值大优
5、干预DR选举的配置指令
[r1]interface GigabitEthernet 0/0/0
[r1-GigabitEthernet0/0/0]ospf dr-priority ?INTEGER<0-255> Router priority value
- 1
- 2
- 3
九、OSPF的接口网络类型—ospf协议在不同网络类型的接口的不同工作方式
1、OSPF的接口网络类型 = ospf接口工作方式
网络类型 | ospf工作方式 |
---|---|
Loopback | 华为虽然标记为点到点,实际为环回的特殊工作;无hello包收发,直接学习32位主机路由 |
点到点 | 点到点 ; 10s hello time ; 直接邻接关系,不进行DR选举(串线上的PPP/HDLC;普通GRE) |
BMA (以太网) | Broadcast ; 10s hello time 进行DR/BDR选举,最终建立邻接关系 |
NBMA (MGRE) | 默认为点到点的工作方式,该方式只能建立一个邻居;故在NMBA环境下将无法和所有节点建立关系 |
2、NBMA网络问题解决方法:
修改接口的工作方式
3、配置指令
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ospf network-type broadcast 该网段所有接口修改为broadcast;
- 1
- 2
4、切记:
若一端为点到点,另一端为broadcast,由于hello time均为10s,将建立邻居关系,但无法正常工作;因此一旦修改任何一个的ospf类型,就必须保障该网段所有节点类型一致
5、NBMA拓扑结构:
1、星型—中心到站点
2、部分网状结构,除去星型
3、全连网状结构
4、注意:在星型和部分网状结构中,若使用broadcast工作方式,必须考虑dr的位置;建议直接固定放置于中心站点; 若为全连网状结构,可以不用考虑dr位置
十、OSPF的不规则区域
1、不规则区域的分类
1) 远离了骨干的非骨干区域
2) 不连续骨干区域
注:一台ABR设备若未连接到骨干区域,将被定义为非法ABR,不得进行区域间信息共享
2、非法ABR解决方案(不规则区域路由共享解决方案):
方案 | 处理方法 | 原理 | 推荐程度 | 缺点 |
---|---|---|---|---|
1、Tunnel 法 | 在非法ABR与合法ABR间建立一条隧道,之后将该隧道链路宣告于OSPF协议中 | 在OSPF协议,若接收到去往相同目标的多条路由;先优选从骨干区域传递过来的路由;若所有路由器均基于骨干区域,或均基于非骨干区域传递,进行cost值对比; | ** | 缺点:1) 选路不佳;2) 周期性的信息对中间穿越的区域存在资源占用。 |
2、 OSPF的虚链路 | 合法的ABR对非法ABR进行授权,使得非法ABR可以进行区域间路由信息共享; | ** | 优点:由于没有新增链路,故不存在选路的问题;正常选路;缺点:cisco为了避免周期信息对中间区域的影响,在虚链路上关闭了周期行为—失去可靠性;华为选择保持周期行为 —继续对中间区域资源占用 | |
3、多进程双向重发布(推荐) | 一台设备运行所有路由协议进程,不同进程存在独立的数据库,相互间不进行共享;仅将计算所得路由加载于同一张路由表中;将不规则部分的区域宣告到其他的ospf进程中,之后使用重发布机制进行路由共享; | 最推荐 | 优点:避免了周期信息和选路问题 |
3、OSPF中虚链路配置指令:
[r2]ospf 1
[r2-ospf-1]area 1 两台ABR共同存在的区域
[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 对端ABR设备的RID;
[r2-ospf-1]display ospf vlink
- 1
- 2
- 3
- 4
4、OSPF重发布配置指令:
[r2]ospf 1
[r2-ospf-1]import-route ospf 2
[r2-ospf-1]q
[r2]ospf 2
[r2-ospf-2]import-route ospf 1
- 1
- 2
- 3
- 4
- 5
十一、OSPF的数据库表
[r1]display ospf lsdb 查看OSPF协议的数据库表 --目录
OSPF协议使用的LSA—链路状态通告来作为更新信息;
1、在不同的条件下将产生不同类别的LSA信息
1)看看指令:[r1]display ospf lsdb router 1.1.1.1
类别名 LINK-ID
2)所有的LSA中均存在以下信息:
Type : | Router | 类别名 |
Ls id : | 1.1.1.1 | link id 在目录的页码号 |
Adv rtr : | 1.1.1.1 | 通告者的RID,源头设备的RID |
Ls age : | 1553 | 老化时间,1800s周期归0,触发更新马上归0,最大老化3609 |
Len : | 48 | |
Options : | E | |
seq# : | 80000006 | 序列号 – 棒棒糖序列号 |
chksum : | 0xa36f | 校验码 |
LSA类型 | 传播范围 | 通告者(源头) | 携带的信息 |
---|---|---|---|
LSA1router | 源所在区域(单区域) | 本区域内的每台ospf路由器 | 本地直连拓扑 |
LSA2 Network | 源所在区域 | 每个网段中的DR | 该MA网段的拓扑 |
LSA3summary | 整个OSPF域 | ABR设备 | 域间路由(其他区域) |
LSA4 asbr | 除ASBR所在区域 | ABR | ASBR的位置外的整个OSPF域和ASBR在一个区域的ABR,通过1类LSA获知ASBR的位置 |
LSA5 ase | 整个OSPF域 | ASBR | 域外路由(其他协议、进程) |
LSA类型 | link-ID | 通告者(源头) |
---|---|---|
LSA1router | 通告者的RID | 本区域内的每台ospf路由器 |
LSA2 Network | DR接口的ip地址 | 每个网段中的DR |
LSA3 summary | 目标网段号 | ABR,在经过下一个ABR时修改为本地 |
LSA4 asbr | ASBR的RID | ABR在经过下一个ABR时修改为本地 |
LSA5 ase | 目标网络号 | ASBR(在整个网络中传递时不变化) |
十二、 减少OSPF协议的LSA更新量
1、 汇总—前提需要良好的地址规划 – 减少骨干区域的LSA数量
[r5]ospf 1 [r5-ospf-1]area 2 只能将本地通过该区域内的1/2类LSA计算所得路由进行汇总 [r5-ospf-1-area-0.0.0.2]abr-summary 6.6.4.0 255.255.252.0
注:在华为设备上,汇总配置完成后,协议不会自动产生空接口防环路由,需要管理员手工添加
[r1]ospf 1 [r1-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
注:在华为设备上,汇总配置完成后,协议不会自动产生空接口防环路由,需要管理员手工添加
2、 特殊区域 – 减少非骨干区域的LSA数量
不能是骨干区域,不能存在虚链路
1) 末梢区域 — 该区域拒绝4/5的LSA进入;由该区域连接骨干区域的ABR,向该区域发布一条3类的缺省
- 配置:
[r5]ospf 1
[r5-ospf-1]area 2
[r5-ospf-1-area-0.0.0.2]stub 将该区域定义为末梢区域
- 1
- 2
- 3
切记:该区域内的所有设备均需配置,否则无法建立邻居关系
2)完全末梢区域 — 在普通的末梢区域基础上,进一步拒绝3类的LSA,仅保留一条3类缺省; 先将该区域配置为末梢区域,然后仅在ABR上配置完成动作即可
- 配置
[r5]ospf 1 [r5-ospf-1]area 2 [r5-ospf-1-area-0.0.0.2]stub no-summary
1) NSSA – 非完全末梢区域
该区域拒绝4/5的LSA;本区域内的ASBR通过7类来传递域外路由,当这些路由需要基于ABR进入骨干区域时,被转换为5类(同时该ABR成为另一台ASBR);
NSSA区域存在的意义是为了拒绝网络中其他部分的ASBR产生的5/4类LSA;
同时NSSA区域中连接骨干区域的ABR向该区域发布一条7类的缺省;
[r1]ospf 1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]nssa 该区域每台设备均需配置
- 1
- 2
- 3
2)完全NSSA –完全的非完全末梢区域
在NSSA的基础上,进一步拒绝3类LSA;同时NSSA区域中连接骨干区域的ABR向该区域发布一条3类的缺省;
先将该区域配置为NSSA,然后仅在ABR上定义完全即可;
[r3-ospf-1-area-0.0.0.1]nssa no-summary
- 1
LSA类别 | 传播范围 | 通告者 | 内容 | linkid |
---|---|---|---|---|
7类 nssa | 单个NSSA区域 | ASBR | 域外路由 | 目标网络号 |
十三、OSPF协议的扩展配置
1、 认证 ——邻居间进行身份核实的行为,保障更新的安全性
[r2-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher cisco123
邻居间的编号和秘钥必须完全一致
[r2]ospf 1
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher cisco123
- 1
- 2
- 3
本地所有处于区域0的接口上实施认证配置
[r2-ospf-1-area-0.0.0.0]vlink-peer 3.3.3.3 md5 1 cipher cisco123
- 1
2、 沉默接口(被动接口)
[r2]ospf 1
[r2-ospf-1]silent-interface GigabitEthernet 0/0/0
- 1
- 2
注:沉默接口将不发送任何路由协议的信息,用于路由器连接用户终端接口,不能用于连接路由协议邻居的接口,否则可能导致邻居间无法收敛;
3、 加快收敛
接口的hello time 10 ; dead time40s; 维持即可
若接口hello time 为30s,可以酌情修改,修改本端的hello time,本端的dead time将自动4倍关系匹配;切记邻居间hello、dead time必须完全一次,否则无法正常建立邻居关系
[r2-GigabitEthernet0/0/1]ospf timer hello ?INTEGER<1-65535> Second(s)
[r2-GigabitEthernet0/0/1]ospf timer hello 10
- 1
- 2
- 3
4、 缺省路由
协议自动产生 末梢、完全末梢、完全NSSA区域会由连接区域0的
ABR向该区域发布一条3类的缺省;
边界路由器,将本地路由表中通过其他方式(静态、其他动态协议)获取到的缺省路由给重发布进入OSPF的工作域
[r2]ospf 1
[r2-ospf-1]default-route-advertise 向ospf域内发布5类缺省
- 1
- 2
向域内重发布一条5类的类型2缺省路由,前提本地路由表中存在其他方式产生的缺省路由;
[r2-ospf-1]default-route-advertise type 1 重发布类型1 路由
- 1
若本地路由表中不存在任何缺省路由,也可以强制向内部发布一条缺省
[r2-ospf-1]default-route-advertise always 默认为类型2 的缺省
[r2-ospf-1]default-route-advertise always type 1 修改为类型1
- 1
- 2
配置区域为普通的NSSA区域时,连接区域0的ABR将向该NSSA发布一条7类的缺省;
[r2-ospf-1-area-0.0.0.1]nssa default-route-advertise 向NSSA区域发布一条7类缺省;强制产生
- 1
最基本的选路规则:内部优于外部 5、7相遇先比优先级和cost,若一致,5优于7
切记:在ospf协议中使用特殊区域和缺省配置时,需要关注ISP的位置,ISP在连接在哪个非骨干区域,那么该区域将不得设定为任何的特殊区域,否则可能由于自动产生的缺省与手工的缺省方向相反,照成环路;
十四、OSPF的扩展知识点
「1」附录E — link-id相同的问题
若一台ABR将两条3类LSA导入其他区域;同时这两条LSA的link-id会相同;
假设:短掩码网段先进入,link-id正常显示;长掩码进入时link-id加反掩码
20.1.0.0/16--link-id 20.1.0.0
20.1.0.0/24--link-id 20.1.0.255
- 1
- 2
若长掩码先进入,再短掩码进入时,长掩码的信息被刷新为反掩码
「2」OSPF选路规则
r2(config)#router ospf 1
r2(config-router)#distance 109 1.1.1.1 0.0.0.0
- 1
- 2
本地从RID为1.1.1.1的设备处学习到路由条目,管理距离修改109;
一台路由器从两个OSPF邻居处学习到了两条相同的路由时,仅比较度量值,不关注管理距离;因为仅针对一台邻居进行管理距离修改的结果是要么两台都被改,要么修改失败;-关注IOS版本—有时修改RID大路由器管理距离生效,有时需要修改RID小的设备;
O IA 与 O IA路由相遇,到达相同目标的两条3类路由,这两条路由均通过非骨干传递,仅关注cost值,不关注管理距离;
若一条通过骨干区域传递,另一条同过非骨干区域传递–非骨干传递的路由无效
OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;
先比类型- 区域-cost
默认所有重发布进入路由条目均为类型2,类型2在路由表中cost值不会显示沿途的累加,仅显示起始度量
两条均为OE2或者均为N2,起始度量相同; 关注沿途的累加度量 (OE2路由在表中度量默认不显示内部度量,仅显示起始度量)
两条均为OE2或者均为N2,起始度量不同;优先起始度量小的路径;
注:以上设计是便于管理员快速干涉选路;
OE1路由仅比较总度量(起始度量+沿途累加),仅修改起始度量不一定能干涉选路,必须在修改后使得总度量产生区别才能干涉选路;
拓扑优于路由
1/2LSA计算所得路由优于3/4/5/7类计算所得
内部优于外部 3类优于4/5/7类
类型1优于类型2 E1优于E2,N1优于N2,E1优于N2,N1优于E2;
E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类
【4】FA-转发地址
正常OSPF区域收到的5类LSA不存在FA值;
产生FA的条件:
1、5类LSA ---- 假设R2为ASBR,g0/0口工作的OSPF中,g0/1口工作在非ospf协议或不同ospf进程中;若g0/1也同时宣告在和g0/0相同的OSPF进程中,同时该接口的工作方式为广播型;
将在5类LSA中出现FA地址,地址为R2连接R3网段中R3的接口ip;
假设R9为ASBR,S0/0口工作的OSPF中,S0/1口工作在非ospf协议或不同进程中;
S0/1未运行OSPF–FA地址为R9上最后宣告的环回地址(个别IOS也可能是最大环回接口ip地址),若R9没有环回接口;FA地址为R9上最后宣告的物理接口地址(个别IOS也可能是最大的物理接口ip地址)
R9的S0/1也工作OSPF协议中,S0/1接口工作方式为广播,那么FA地址为R10接口ip;
S0/1的工作方式为点到点,那么FA地址为R9的s0/1口ip
切记:在FA地址出现后,4类LSA无效;人为过滤掉4类LSA,依然可达域外;
当4类LSA存在,却人为过滤了到达FA地址的路由,那么将无法访问域外;
一旦出现FA地址,所有的选路计算均基于FA地址进行;
1、针对存在FA的5/7类路由,4类LSA无意义,仅递归到FA地址;若FA地址被策略过滤导致不可达;
2、路由表中的度量是到FA地址的度量,不是到ASBR的度量;
【5】NP位+E位 P位被加密,故抓包时看不见P位;
正常NSSA区域内的1类LSA中,N=1 E=0 标识该区域转发7类LSA,不转发5类
非NSSA区域E=1 N=0 标识可以转发5类,不能转发7类
P位为1,标识该区域将执行7类转5类; P为0,不能7转5;
区域0连接到两个非骨干区域,这两个非骨干假设为区域1和区域2;区域1/2同时连接同一个外部协议,且同时进行了重发布配置;区域1为NSSA区域,区域2为非NSSA区域;那么此时的区域1,P位=0不能进行7转5;故骨干区域只能收到从区域2来的外部路由;
若NSSA和非NSSA均将同一条域外路由向内部传递,仅非NSSA区域可以实现;
若区域1和区域2均为NSSA区域,那么ABR的RID大区域进行7转5,另一个区域不转,
故同一条域外路由,骨干区域只能收到从一个区域传递的外部路由;若以上条件中,两个区域均为非NSSA区域,那么P位无效,故两个区域的路由均回进入骨干区域;
【6】SPF算法 –OSPF防环机制
1、在同一个区域每台路由具有一致的LSDB
2、每台路由器以自己为根计算到达每个目标的最短路径(最小cost值)
3、必须区域划分–
优势-1)域间汇总减少路由条目数量
2)汇总路由是在所有明细路由均消失后才删除,网络更稳定
3)区域划分后不同类别的LSA传播范围不同,控制更新量
总结:观看OSPF防环文档
过程–基于本地LSDB(1/2类LSA)生成–生成有向图–基于有向图来进行最短路径树生成
最短路径树,关注本地LINK-ID的LSA开始–》基于该LSA内提及到点到点或传输网络信息再查看link-id递归到下一条信息;基于所有点到点和传输网络信息生成最短路径树主干;
然后用树中每台设备的末梢网络信息补充路由表,完成收敛