OSPF笔记

第四章,OSPF

AS---自治系统(一系列由统一组织管理的设备的集合)

动态路由分类:
IGP---内部网关协议
	按照协议类型分类:
		DV---距离矢量型协议---RIP、EIGRP
		LS---链路状态型协议---OSPF、ISIS
	按照传输时是否携带掩码分类:
		有类别路由协议---RIPv1(不携带掩码)
		无类别路由协议(剩下所有都是)

EGP---外部网关协议

动态路由协议的评判标准:收敛速度、选路、占用资源

OSPF---开放式最短路径优先协议---典型的链路状态型协议(传递TOPO信息);IETF(国际互联网工程任务组)

OSPF是跨层封装协议,取消了传输层封装,直接使用网络层进行封装。网络层协议号为89
使用组播保证报文不被其他人接收,组播IP地址:224.0.0.5和224.0.0.6
删除周期更新,仅保留触发更新机制。---周期链路刷新(30min)
OSPF结构化部署—区域划分

​ 区域划分目的:为了限制拓扑信息的传递,从而减少资源消耗。

区域内部传递拓扑信息,区域间传递路由信息

区域划分要求:

  1. OSPF要求域中的所有非骨干区域(区域ID不为0的区域)都必须与Area 0直接相连
  2. 骨干区域不能被分割。有且只有一个

OSPF规定,只允许ABR设备进行区域间路由的传递。(ABR:区域边界路由器)

成为ABR设备的条件:
1、至少连接两个区域
2、连接的区域当中至少有一个区域是骨干区域
3、在骨干区域中存在至少一个活跃的邻居

Area3孤岛
在这里插入图片描述

非骨干区域之间不允许直接相互发布区域间的路由信息

从非骨干区域收到的路由信息,ABR设备能接收,但不会使用这条路由信息。----OSPF的区域水平分割机制。从一个区域学习到的路由信息,不能再传回该区域。

1、伪ABR设备不允许转发区域间路由信息。
2、对于真是ABR设备
	可以将非骨干区域的域内路由信息传递给骨干
	可以将骨干区域的域内路由信息传递给非骨干
	可以将从骨干区域学习到的域间路由信息传递给非骨干
(唯一不能把非骨干学到的路由信息传递给其他区域)

OSPF路由器称呼

IR---内部路由器---所有接口均接入相同区域
BR---骨干路由器---存在一个或所有接口处理骨干区域
ABR---区域边界路由器
ASBR--自治系统边界路由器---连接在多个动态路由域间的设备;负责将域外的路由引入到OSPF域中。(eg.RIP->OSPF)

	并不是同时运行多种路由协议的OSPF路由器就一定是ASBR设备,ASBR设备一定是将外部路由重发布到OSPF,或者是执行了路由重分发操作的路由器。

OSPF五种数据包、七种状态机、两种设备关系、三种接口角色。

OSPF数据包

在这里插入图片描述

  • hello包

    • 用来发现、建立、周期保活OSPF的邻居关系。每10S发送一次hello报文,用来告知对方自己的存在。

    • 如果一个hold-time时间没有收到邻居发送给自己的hello报文,则认为邻居不存在,断开邻居关系。hold-time时间一般为hello时间的4倍

    • Router-ID

      • 全域唯一,用来标识路由器的身份。

      • 使用IP地址形式表示。-------点分十进制方式。

      • 配置方法:

        • 手工配置,只需要满足上述两点

        • 自动配置

          • 华为标准:在第一次时,选取状态最先UP的接口的IP地址作为RID。
          • FRC标准:选取loopback接口IP地址最大的作为RID,若没有loopback接口,则选择最大物理接口IP地址中的最大值。
        • 修改RID
          <Huawei>reset ospf process  ---重置OSPF进程
          
  • DBD包

    • 数据库描述报文
    • 该报文中携带了路径信息的摘要信息。在OSPF中,拓扑信息是由LSA(链路状态通告)进行通告。
    • 避免重复更新和减少更新量。
  • LSR—链路状态请求报文

    • 根据DBD报文中的未知信息,从而向邻居请求获取未知信息。
  • LSU—链路状态更新报文

    • 携带完整的LSA信息。(LSA包含拓扑或路由)
  • LSAck

    • 链路状态确认报文
OSPF状态机
  • down—关闭状态
  • init------初始化状态,收到的hello报文中必须存在本地的RID值,进入下一个状态
  • 2-way----双向通讯状态-----标志邻居关系建立。(和邻接的区别:不会进行LSA共享

条件匹配:匹配成功会进入下一个状态,匹配失败则停留在邻居关系

  • exstart—预启动状态----主从关系选举(未携带数据的DBD报文),选择RID值大的设备为主。
  • exchange----准交换状态—用携带数据的DBD报文进行LSA摘要信息共享。
  • loading----加载状态----邻居之间使用LSR/LSU/LSAck三种报文来获取未知的LSA信息。
  • full----转发状态----LSA交换完成进入的状态。标识邻接关系的建立。路由器通过LSA计算出路由信息,此时可以进行数据发送。

在这里插入图片描述

条件匹配:决定了每台设备给谁传递TOPO信息

真实目的:是为了减少TOPO的重复,也就是TOPO信息的更新,减少资源消耗。

设备接口角色

  • 指定路由器—DR
  • 备份指定路由器—BDR
  • 其他路由器—DRother

选举规则

  1. 比较接口优先级,越大越优先。默认优先级1。取值范围0-255。0代表设备接口不具备DR和BDR的选举资格优先级为0时代表放弃选举
  2. RID指,越大越优先。

选举的范围以广播域为单位,任何一台接入多个广播域的设备,都有可能存在不同的接口角色

对于每一台启动了OSPF的设备而言,都可以接收并处理目的IP地址为224.0.0.5的组播地址。而224.0.0.6的地址只有DR和BDR设备可以接收并处理。

条件匹配中LSA的传播:
1、所有的DRother设备发送目标地址为224.0.0.6的数据报文,该报文只有DR/BDR可以正确处理。
2、当DR存在时,BDR不进行操作。此时,DR设备会将所有LSA信息通过224.0.0.5发送给所有路由器。
(DRother发.6 收.5  DR/BDR发.5 收.6)

该选举模式为非抢占性模式,即一旦选举成功,不因为新加入的设备而重新进行选举。班长确定,加入新人也不变—原因:减少路由器资源消耗,降低网络中断风险。

在这里插入图片描述

OSPF工作过程

在这里插入图片描述

1、启动OSPF协议,设备会向本地所有运行OSPF协议的接口以组播224.0.0.5的方式发送出hello报文;该报文中携带本地的Router-ID参数以及本地已知的邻居的Router-ID。
	通过接收其他邻居的hello包来获取本地邻居信息,建立邻居关系,并生成邻居表。
2、邻居关系建立后,进行条件匹配;匹配成功开始建立邻接关系,匹配失败,则停留在邻居关系,并使用hello报文保活。
3、匹配成功的邻居使用未携带数据的DBD报文进行主从关系选举,其中从设备先发送下一个携带数据的DBD报文。而主设备先进入loading状态,发送LSR进行LSA请求。
	通过LSR/LSU/LSAck三种报文,完成LSA收敛工作,建立LSDB链路状态数据库,生成数据库表单。
4、之后本地基于数据库中的LSA信息,通过SPF算法,计算有向图和最短路径树,之后根据计算结果,获取到达所有未知网段的最佳路由,并将其添加到OSPF路由表中。
5、通过多种路由共同对比,选择最佳路由加入到全局路由表中。此时收敛完成,仅使用hello报文保活。并每30min进行一次周期更新。(30min周期更新只有邻接关系有)
OSPF基础配置复习

在这里插入图片描述

192.168.1.0/24--->4
192.168.1.0/26----链路地址
	192.168.1.0/29---Area 0
	192.168.1.8/29
		192.168.1.8/30
		192.168.1.12/30
	192.168.1.16/29
	192.168.1.24/29
	...
	192.168.1.56/29
192.168.1.64/26---R1
192.168.1.128/26--R2
192.168.1.192/26--R5
1、启动OSPF进程,并规定RID值
[r1]ospf 1 router-id 1.1.1.1
2、创建区域
[r1-ospf-1]area 0
3、宣告
	精准宣告
	[r1-ospf-1-area-0.0.0.0]network 192.168.1.1 0.0.0.0
	[r1-ospf-1-area-0.0.0.0]network 192.168.1.65 0.0.0.0 ---最常用的方式
	范围宣告
	[r2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
	
	
	
[r1]display ospf peer   ---查看OSPF邻居表单
[r1]display ospf peer brief   ---查看OSPF邻居简表
[r3]display ospf lsdb   ---查看OSPF数据库信息
	每一台路由器为接入的每一个区域维护一张LSDB表单,而同区域的设备的相同表单完成一致。
[r3]display ospf routing  ---查看OSPF路由表


[r1-GigabitEthernet0/0/0]ospf dr-priority 2  ---修改接口优先级


[r5-ospf-1]default-route-advertise  ---下发缺省路由,非强制性下发,要求本地必须存在缺省路由
[r5-ospf-1]default-route-advertise always   ---强制性下发

[r1-ospf-1]silent-interface GigabitEthernet 0/0/1  ---设置GE0/0/1接口为静默接口,该接口不发送也不接收OSPF报文。应用在连接用户的接口。


接口认证:
[r3-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456  
区域认证:
[r4-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123456

修改参考带宽---不建议修改,如果需要修改,则全网均进行修改
[r4-ospf-1]bandwidth-reference ?
  INTEGER<1-2147483648>  The reference bandwidth (Mbits/s)

​ OSPF开销值算法:COST=参考带宽/实际带宽;参考带宽默认为100Mbps

一条OSPF域内或域间路径的COST值等于从目的地到本地路由器沿途的所有路由器入接口COST的累计

OSPF报文格式

OSPF报文头部

在这里插入图片描述

头部长度总共24字节。

认证类型:
0---不认证
1---简单认证
2---MD5认证

接收方收到报文后,先对比认证类型字段,如果该类型字段相同,则在去对比认证数据字段。如果认证类型为0,则认证数据字段使用全0填充。
Hello包

在这里插入图片描述

  • 网络掩码
    • 该报文由哪一个接口发送,则该字段填充该接口的掩码信息。
    • 两台OSPF路由器如果通过以太网接口直连(MA网络),那么双方的直连接口必须配置相同的网络掩码信息,如果一方在收到的hello报文中“网络掩码”字段与本接口不同,则忽略该hello报文,此时邻居关系无法正确建立。----在P2P网络中,不需要对比该字段。
    • 注意:OSPF建立邻居关系时对比网络掩码信息是华为独有。
  • Hello间隔
    • 两台路由器需要保证接口的hello时间相同,否则邻居关系无法正常建立
  • 可选项
    • 8个标志位,每一个标志置为1,则代表其符合OSPF的某种特性。
    • 可选项字段中的某些比特位会被检查,因为其会影响到OSPF邻居关系建立。—特殊区域标记
  • 路由器优先级
    • 也叫DR优先级或者接口优先级,该字段用于进行DR/BDR选举。
  • 路由器失效时间
    • 在邻居路由器被视为无效之前,需等待收到对端hello报文的事件。
    • 该字段,直连路由器双方需要相同,否则无法建立邻居关系

所有224.0.0.X格式的组播地址被称为本地链路组播,目标IP地址是本地链路组播的数据包中的TTL值被设定为1。组播MAC地址,01-00-5e-0后23位为组播IP地址的后23位

限制邻居关系建立的参数
网络掩码:
1、两台设备在首次建立邻居关系时,该字段不同则无法建立。
2、若已经建立成功,在去修改该字段,则修改方会立即断开邻居关系,而对端需要等待死亡时间超时。

hello时间:
[r1-GigabitEthernet0/0/0]ospf timer hello 20  ---修改该接口的hello时间
建立邻居关系以后,在修改hello时间,则会导致双方均在死亡时间超时后断开连接。

死亡时间:
[r1-GigabitEthernet0/0/0]ospf timer dead 80  ---修改死亡时间时,不能小于当前接口的hello时间
建立邻居关系以后,在修改时间,则会导致双方均在死亡时间超时后断开连接。

特殊区域标记:与网络掩码效果相同


认证:双方均等待死亡时间超时,进行状态切换。

当修改hello时间后,死亡时间会随之改变。如果修改死亡时间,hello时间不变。直连邻居之间都需要修改。

DBD包
  • 使用未携带数据的DBD报文进行主从关系选举

  • 使用携带数据的DBD报文进行LSA摘要信息共享

  • 使用未携带数据的DBD报文进行确认
    在这里插入图片描述

  • 接口最大传输单元----MTU

    • 默认情况下,无论接口的MTU实际等于多少,该字段数值为0。
    • 华为默认不开启MTU检测机制
    • [r1-GigabitEthernet0/0/0]ospf mtu-enable ----开启MTU检测机制,必须双方均开启。
    • 在进行检测时,如果两边MTU数值不同,则状态卡在exstart状态。—会影响邻接关系建立
  • 标记位

    • I位----代表主从关系选举
      • 如果该标记位置为1,则代表该报文不会携带LSA头部信息,当主从关系选举完成后,该位置为0。
    • M位----代表后续是否还存在DBD报文。
      • 如果置为1,则代表后续还有报文。如果为0,则代表该报文为最后一个DBD报文。
    • MS位—代表主设备
      • 当该标记位置为1时,则代表发送该报文的设备为主设备。反之为从设备。
      • 在主从关系选择完成前,各个设备均会认为自己是主设备
  • DD序列号

    • 作用:用以确保DBD报文传输的有序性和可靠性
    • DD报文序列号在报文交互过程中,逐次加一。DD序列号必须由Master路由器来决定,而从而设备只能使用Master设备发送的DD序列号来发送自己的DD报文-------隐性确认机制
    • 特殊情况
      • 当主设备数据发送完毕,从设备没有发送完毕。主设备也需要发送DD报文来向从设备提供序列号使用。如果从设备没有收到主设备的DD报文,则无法主动发送自己的DD报文。
      • 当从设备数据发生完毕,主设备没有发送完毕。从设备在收到主设备发送来的数据后,也需要使用一个空的DD报文进行回复确认。
LSR包

在这里插入图片描述

链路状态类型、链路状态ID、通告路由器----LSA三元组信息。—通过这三个参数可以唯一的标识出一条LSA信息

LSU包

在这里插入图片描述

LSAck包

完成显性确认机制
在这里插入图片描述

OSPF的接口网络类型

OSPF的接口网络类型指的是OSPF的接口在某种网络类型下的工作方式

网络类型OSPF接口的工作方式
BMABroadcast;可以建立多个邻居关系。需要进行DR选举,hello 10S,dead 40S。
P2P(PPP、HDLC)P2P;只能建立一个邻居关系;不需要进行DR选举,hello 10S;dead 40S。
环回接口(虚拟接口)P2P;华为设备定义为P2P类型,思科设备定义为loopback类型;但是该接口实际上无数据收发能力。环回接口默认学习32位主机路由。
P2MP,可以建立多个邻居关系,不需要进行DR选举,hello 30S,dead 120S。会主动学习邻居设备接口的主机路由信息。
NBMA(帧中继)NBMA;可以建立多个邻居关系,需要进行DR选举,hello 30S,dead 120S。无法自动建立邻居关系,需要在OSPF进程中使用peer IP命令手工指定邻居关系。
Vlink;hello 10S,dead 40S。不需要进行DR选举;以单播形式发送数据报文

在这里插入图片描述

[r2]display ospf interface GigabitEthernet 0/0/0 —查看OSPF的接口网络类型

在这里插入图片描述

Poll--->轮询时间间隔
	在NBMA网络上,当邻居失效后,路由器将按照轮询时间间隔定期发送hello报文。
	修改时间时,范围为1-3600S,注意,时间最少是hello时间的四倍。
	
Retransmit--->重传LSA的时间间隔
	当一台路由器向他的邻居发送一条LSA后,需要等待对方确认报文。如果在重传间隔内没有收到对方的确认报文,就会向邻居重传这条LSA信息。
	当链路震荡时,给于设备一定的修复时间。
	
Transmit Delay--->LSA的延迟时间
	因为OSPF网络需要保证全网的LDSB数据库相同,而LSDB数据库中的每一条LSA是具备一个老化时间的,这个老化时间需要统一。
	而LSA在链路上传播时,该时间不会增加。可能会导致全网设备对该条LSA的老化时间认知不同,故使用LSA的延迟时间减少认知不同。
	当设备收到一条LSA后,会在该条LSA中原始老化时间的基础上,加上LSA的延迟时间。
	[r2-GigabitEthernet0/0/0]ospf trans-delay ?
  INTEGER<1-500>  Second(s)

[r2-GigabitEthernet0/0/0]ospf timer ?
dead Interval after which a neighbor is declared dead
hello Time between HELLO packets
ldp-sync Specify LDP-OSPF synchronization timer interval
poll Interval for sending Poll Hello packet in the NBMA network
retransmit Retransmit interval

在BMA网络中,OSPF的接口通常以组播的方式发送hello报文、LSU报文以及LSAck报文,以单播的形式发送DD报文和LSR报文

在这里插入图片描述

开销值:48
	因为华为设备默认使用E1标准,实际带宽为2.048M。

在P2P网络中,所有数据报均以组播的方式进行发送

[r3-LoopBack0]ospf network-type broadcast —修改接口的OSPF网络类型

在这里插入图片描述

​ 在MGRE环境中,或者是VPN虚拟环境中,需要将网络看成两部分,一部分为携带公网的环境,一部分为不携带公网的环境。

在这里插入图片描述

华为将tunnel接口的传输速率定义为64Kbps。华为想要认为将tunnel接口的开销值增大,从而让OSPF的选路尽量不选择tunnel接口,而选择物理接口。因为隧道接口会进行多次封装和解封装操作,占用设备资源,降低转发效率

​ 在运行OSPF协议后,R7的视角里只有一个邻居,而spoke节点的视角里没有OSPF邻居,原因是因为hub节点不能发送出数据报文,需要开启伪广播功能

​ 该接口类型为P2P类型,只能存在一个邻居关系,在spoke节点的视角里没有任何错误,但是在hub节点中,就会导致hub节点只能正常接收第一个到底本地的hello报文,而之后其他设备发送来的hello报文将会被丢弃,导致邻居关系无法正常建立。—>修改tunnel接口的网络类型

​ 此时hub节点因为需要进行DR和BDR选举,而spoke节点不需要,此时节点之间的认知会出现错误,导致部分设备关系停留在邻居关系。---->所有设备均需要修改tunnel接口的网络类型

​ 如果hub节点接口的身份不是DR设备,那么网络中路由的学习会缺少,原因在于spoke节点充当DR设备时,其nhrp映射表不全,导致无法收到其他spoke节点的LSA信息,最终导致数据缺少。---->将DR设定在hub节点,让所有分支节点放弃选举

P2MP环境下,接口以组播形式发送hello报文,以单播形式发送其他报文

NBMA环境下,所有报文以单播形式发送数据

OSPF的不规则区域划分

区域划分要求:

  • 所有非骨干区域都必须与骨干区域直接相连
  • 骨干区域不能被分割

不规则区域主要有两种:

  • 远离骨干区域的非骨干区域
  • 不连续的骨干区域
解决方案

在这里插入图片描述

第一种解决方案,使用tunnel隧道方式

​ 在R2和R3之间构造一条虚拟隧道,将这条虚拟隧道宣告到OSPF骨干区域中,相当于将R3设备从伪ABR设备合法化,之后R3既可以正常传递路由信息。—>选择伪ABR设备做为隧道一端节点

interface Tunnel0/0/0
 ip address 10.0.0.2 255.255.255.0 
 tunnel-protocol gre
 source 25.0.0.2
 destination 35.0.0.3

[r3-ospf-1-area-0.0.0.0]network 10.0.0.3 0.0.0.0  ----将隧道宣告进OSPF

​ 在上述环境中,没有配置隧道之前,R3通过R2转发的路由信息学习到到达区域0的路由,而存在隧道后,R3可以直接通过隧道直接学习区域0的拓扑信息。该操作会导致R3选择域内路由信息,开销值变大,增大封装与解封装过程,增大资源消耗,减小传输效率。

​ 使用VPN隧道解决不规则区域的问题:

  • 可能产生选路不佳
  • 可能造成重复更新
  • 因为虚链路的存在,R2和R3之间需要建立邻居关系,导致他们之间维护的周期性数据将穿越中间的非骨干区域,导致中间区域资源消耗过多。

第二种方案,虚链路–Vlink

​ 为了解决不规则区域而诞生的技术。

[r2-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3 ----Vlink需要穿越某一个区域,则进入该区域进行Vlink-peer配置

[r3-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2

vlink的配置使用的时RID,而非IP地址

虚链路的配置条件:虚链路的两端必须处于相同区域,因为处于相同区域才可以获取到对应拓扑信息,从而根据RID值查找IP地址实现数据通讯。---->vlink仅能穿越一个区域

Vlink一般被看做是骨干区域的延伸,所以Vlink不允许在骨干区域中配置

在这里插入图片描述

Vlink接口的Cost值参数是根据Vlink选择的路径不同而随之改变。该路径是本地设备根据拓扑信息选择的最优路径

​ Vlink的问题:

  • 链路两端建立Vlink邻居时,会进行数据报文的周期性发送,并穿越所在区域,导致该区域设备及链路资源消耗增加。
  • Vlink只能穿越一个区域
  • 当Vlink设计不当时,可能会有产生环路的隐患。

Vlink不仅可以解决不规则区域问题,还可以修复一些次优路径或者骨干区域不健壮问题

Vlink还可以解决没有骨干区域的场景

在这里插入图片描述

Vlink环路问题
在这里插入图片描述

在这里插入图片描述

OSPF规定:Vlink所在的非骨干区域,不能传递聚合路由(汇总路由);也就是说,ABR设备哪怕配置了汇总,也不能向存在vlink的区域发布该汇总路由信息

多进程双向重发布

在这里插入图片描述

重发布就是在运行不同协议或不同进程的边界设备(ASBR)上,将一种协议按照另一种协议的规则重新发布出去。并不是同时运行多种路由协议的OSPF路由器就一定是ASBR,ASBR一定是将外部路由重发布到OSPF或者是执行了路由重分发操作的路由器设备。

[r3-ospf-1-area-0.0.0.2]undo network 34.0.0.3 0.0.0.0

[r3-ospf-1]undo area 2

[r3]ospf 100 router-id 3.3.3.3 ----创建新的OSPF进程

[r3-ospf-100]area 2
[r3-ospf-100-area-0.0.0.2]network 34.0.0.3 0.0.0.0

​ 此时R3还不能被称为是ASBR,还需要进行重发布操作。

[r3-ospf-1]import-route ospf 100 —将本地通过OSPF 100学习到的路由以及本地属于OSPF 100的路由全部导入到OSPF 1中。

[r3-ospf-100]import-route ospf 1

该方式是现今网络中使用最广泛的解决方案,且不存在选路不佳的情况

​ 通过该方式引入的路由信息,其协议标志位为O_ASE,代表为域外的路由信息,优先级为150。

在这里插入图片描述

OSPF的LSA详解

运行OSPF的逻辑:所有的路由器都会产生用于描述自己直连接口状况的链路状态信息并且将其通告出去。每一个路由器将网络中所洪泛的链路状态信息全部收集并存储在LSDB中,LSDB可以被视为对整个网络拓扑结构及网段信息的描绘,当LSDB同步后,所有路由器拥有对网络的一致认知。(LSDB包含两部分内容1.收集的2.本地产生的)

[r1]display ospf lsdb —打开LSDB数据库

LSA分为11类,在OSPFv2当中,只学习6类

LSA信息只有始发路由器可以修改,其他路由器无法修改LSA内容

LSA头部

在这里插入图片描述
在这里插入图片描述

LSA头部总长度20字节

  • 链路状态老化时间

    • 指该条LSA存在了多长时间,单位为秒。
    • 当该条LSA被始发路由器产生时,该参数值被设定为0,之后随着该LSA在网络中被洪泛,老化时间逐渐累加。—>同一条LSA在全网设备的老化时间相同。---->周期链路刷新只能由始发路由器进行。(OSPF周期链路刷新的就是LSA)
    • 当始发路由器发现自己始发的LSA的老化时间为1800S时,则会进行周期链路刷新。而其他路由器的对应LSA老化时间继续增长。最大为3600S当老化时间为3600S时,则认为该条LSA失效,从本地LSDB中删除。---->该方式是路由器唯一一种主动删除其他通告者发送的LSA的方式。
      • 在OSPF网络中只有始发路由器能够提前使LSA老化,即有意识的清除LSA信息。—>具体动作时将LSA的老化时间设定为最大值并通告给其他路由器。
  • 链路状态类型

    • 指示本条LSA的类型。
  • 链路状态ID

    • LSA的标识;不同的LSA类型,链路状态ID的定义意义不同。
  • 通告路由器

    • 产生该LSA的路由器的Router-ID
  • 检验和

    • 除了用于标明该LSA的完整性,还用于进行LSA新旧关系的对比。
  • 序列号

    • 一台路由器,每发送一次相同的LSA(根据三元组信息判断),序列号加一。32位二进制构成,由8位十六进制表示。---->用于判断LSA的新旧关系
      • 序列号初始为0x80000001

      • 序列号截止为0x7FFFFFFF

      • 8代表负数,8–>F的过程是负数,序列号的增加是由负数转为正数的过程,数值越大越优。

        (序列号增加:80000001—>FFFFFFF—>00001)

    • 序列号空间
      • 线性序列号空间
      • 循环序列号空间
      • 棒棒糖型序列号空间(最大值7FFFFFFE)----OSPF
    • OSPF不允许序列号进入循环部分,因为无法判断序列号大小。---->OSPF刷新序列号空间机制
      • 当一条LSA序列号为0x7FFFFFFE时,始发路由器在进行新LSA通告时,序列号使用0x7FFFFFFF,并且将其老化时间设定为3600S,其他设备接收到该LSA,因为其序列号最大,故无条件接收,又因为老化时间为3600S,故删除该LSA,此时全网设备没有该条LSA的相应内容。
      • 此时始发路由器重发该条LSA,且该LSA的序列号为0x00000001。

判断LSA的新旧关系

  1. 首先,拥有更高序列号的LSA被认为为最新的LSA。
  2. 如果序列号相同,则拥有更大校验和的LSA被认为更新。---->仅仅为了选择出一条LSA
  3. 如果序列号与检验和均相同,则对比老化时间
    1. 如果某条LSA的老化时间为3600S,则认为该条LSA最新。
    2. 如果没有LSA的老化时间为3600S,则对比两条LSA老化时间的差值,若差值大于15分钟,则认为老化时间小的为更新的,否则两者相同。
链路状态类型链路状态ID通告者洪泛范围携带信息
Router(Type-1)通告者的RID区域内所有运行OSPF协议的路由器的RID单区域本地接口的直连拓扑信息
Network(Type-2)DR接口的IP地址每一个MA网络中DR所在的路由器的RID单区域单个MA网络拓扑信息的补充信息
summary(Type-3 Sum-Net)路由信息的网络地址ABR设备,在通过下一个ABR设备时,会被修改为新的ABR设备ABR相邻的单区域域间路由信息
ase(Type-5)域外路由信息的网络地址ASBR整个OSPF网络域外路由信息
Asbr(Type-4,Sum-Asbr)ASBR的RID与ASBR同区域的ABR设备,在通过下一个ABR设备时,会被修改为新的ABR设备除了ASBR所在区域的单区域ASBR的位置信息

[r1]display ospf lsdb router 1.1.1.1-----查看OSPF具体LSA内容,后跟链路状态类型以及链路状态ID

在这里插入图片描述

对于一类LSA而言,每一个设备都会发送,并且只发送一条一类LSA。---->一类LSA在每个区域都会存在,且一类LSA的传播范围为单区域。(每个区域三元组信息相同)

在这里插入图片描述

  • 标记位
    • V-----代表发送该LSA的路由器为Vlink的一端端点
    • E-----代表该设备为ASBR设备
    • B-----代表该设备为区域边界设备(只要连接多个区域)
  • 链路类型(Link Type)
    • 在这里插入图片描述

    • 链路类型不同,链路ID以及链路数据的参数含义不同

在这里插入图片描述

​ 在MA网络中,仅通过一类LSA进行拓扑描述会缺少部分信息,例如该MA网络的掩码信息以及有多少个运行了OSPF协议的节点连接在该网络。这些信息需要通过二类LSA进行描述,故二类LSA实际上是对一类LSA信息的补充内容。

​ 因为二类LSA中需要包含本MA网络的节点信息,故判断又DR所在节点发送二类LSA信息

在这里插入图片描述

在这里插入图片描述

在OSPF中,拓扑信息是由一类以及二类LSA共同来描述,而之后的其余LSA内容均在描述路由信息

在这里插入图片描述

每一个三类LSA的通告者都是ABR设备,并且每一条三类LSA都只能描述一条路由信息

三类LSA的数据部分会携带路由的掩码信息以及开销值。而LS ID则为网络地址信息

三类LSA中的开销值指的是通告路由器到达目标网段的开销值,而接收者需要再该开销值的基础上增加自己到达该LSA通告者的开销,即为该条路由信息的总开销值

三类LSA的接收者在收到该LSA时,需要进行一次验算过程,用以验算本地是否可以到达该LSA的通告者,如果可以到达,则认为该LSA有意义,如果无法到达,则该LSA丢弃。---->验算:通过本区域的1、2类LSA验算,因为三类LSA的通告者均为ABR设备

三类LSA看似传播范围为除了初始设备所在区域的其他区域,但是其本质上传播范围为单区域,只不过因为通告者为ABR设备,所以看起来好像是多区域之间传播。------>三类LSA不能跨区域传播的原因:因为接收者需要根据通告路由器进行验算,跨区域传递时,无法通过拓扑信息验算出结果

在这里插入图片描述

External为五类LSA信息,用来描述域外路由信息。其任务就是将域外的路由信息传递到OSPF网络中该类型LSA会由ASBR设备产生,并且洪泛到整个OSPF网络

在这里插入图片描述

  • 开销值—度量值

    • RIP的开销值对OSPF而言是无用的,但是LSA中还需要包含开销值参数,故OSFP给所有引入到OSPF网络的路由信息赋予了一个定值作为该路由信息的开销值。—>种子度量值,默认种子度量值为1,该参数可以在重发布的过程中修改。
    • [r4-ospf-1]import-route rip 1 cost 5 ----修改种子度量值
  • E标记位

    • 表示外部路由使用的度量值类型
    • Type-1
      • 代表E标记位为0;所有设备到达域外目标网段的开销值等于本地到达发出这条LSA的ASBR的开销值加上种子度量值
    • Type-2
      • 代表E标记位为1;域内所有设备到达域外目标网段的开销值等于种子度量值
      • 默认情况为type-2
    • [r4-ospf-1]import-route rip 1 cost 5 type 1 —修改种子度量值以及开销值类型
  • 转发地址(FA)

    • 默认数值为0.0.0.0

    • 当该数值为0.0.0.0时,到达外部网段的流量信息会被转发到引入该路由信息的ASBR设备上,而该参数不为0.0.0.0时,则流量会被转发到这个FA地址

    • 当转发地址为0.0.0.0,则路由器会验算去往ASBR的路径。当转发地址不为0.0.0.0,则路由器会验算去往转发地址的路径

    • 在这里插入图片描述

    • FA字段当同时满足如下条件,才可以被ASBR设定为其他数值

      • 引入外部路由的ASBR在其连接外部网络的接口上激活了OSPF。
      • 该接口没有被配置为静默接口。
      • 该接口网络类型为Broadcast或BNMA。
      • 该接口的IP地址属于OSPF的network命令范围内。
  • 外部路由标记

    • 是只有外部路由信息才能携带的标记,常用于部署路由策略。
    • 在华为路由器上,缺省时,该字段数值为1。可以在重发布的过程中进行修改。
    • [r4-ospf-1]import-route rip 1 tag 10

Type-4 LSA

在OSPF网络中,传递路由信息的LSA都需要通过1类和2类LSA进行验算(寻找通告者),5类LSA是全OSPF网络传递,除了ASBR所在区域的设备可以通过1类和2类LSA进行验算外,其他区域都无法验算出通告者的位置,所以,需要引入4类LSA来辅助寻找ASBR通告者的位置

在这里插入图片描述

四类LSA被称为ASBR汇总LSA,由ABR设备产生,实际上是一条到达ASBR的主机路由

​ 四类LSA中内容与三类一直,存在网络掩码和度量值两个参数。

  • 网络掩码---->全为0。
  • 度量值---->填写的是ABR设备到达ASBR的Cost。
路由撤销
  • 1类LSA撤销
    • 通过触发更新的方式构造同一条LSA信息,其中序列号+1,校验和不变,老化时间=0
  • 2类LSA撤销
    • 当MA网络中还存在两台以上设备时,
      • 通过触发更新的方式进行LSA撤销,其中序列号+1,校验和不变,老化时间=0
    • 当MA网络中仅存在DR设备时
      • 通过发送序列号不变,校验和不变,老化时间=3600S的方式撤销
      • 此时该LSA信息是发送给同区域中其他未连接到该MA网络的设备。
  • 3/5/7类LSA
    • 通过发送序列号不变,校验和不变,老化时间=3600S的方式撤销

OSPF优化

OSPF优化的目的是为了减少LSA的更新量

  • 路由汇总------可以减少骨干区域的LSA数量
  • 特殊区域------可以减少非骨干区域的LSA数量
路由汇总

域间路由汇总
在这里插入图片描述

[GS-R2-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.224.0
[GS-R3-ospf-1-area-0.0.0.2]abr-summary 192.168.32.0 255.255.224.0

配置时,需要在明细路由所在的区域中的ABR身上配置,且进入明细路由所在区域中配置

域间路由汇总实质上是通过ABR设备上对区域之间传递的三类LSA进行汇总。—>域间路由汇总只能汇总ABR设备自身通过1类和2类LSA学习到的路由信息

当执行完域间路由汇总后,只要站点内这条汇总路由所涵盖的所有明细路由中还有任意一条有效,则该汇总路由有效。如果所有明细路由均失效,则汇总路由失效

汇总并不会影响ABR设备(做汇总的ABR)自身的明细路由信息,即不会产生汇总路由

域外路由汇总

实质是在ASBR上,对通过重发布机制引入到OSPF网络的5类和7类LSA进行汇总

在这里插入图片描述

[r1-ospf-1]asbr-summary 10.1.0.0 255.255.0.0

type-1:路由项的开销值=种子度量值+本地到达ASBR的开销值

type-2:路由项的开销值=种子度量值

五类汇总LSA中的种子度量值算法

  • type-1:种子度量值=所有明细路由中种子度量值的最大值
  • type-2:种子度量值=所有明细路由中种子度量值的最大值+1
OSPF特殊区域
  • 第一大类
    1. 不能是骨干区域
    2. 不能存在Vlink
    3. 不能存在ASBR
  • 第二大类
    1. 不能是骨干区域
    2. 不能存在Vlink
    3. 必须存在ASBR

在这里插入图片描述

末梢区域—Stub Area

​ 末梢区域机制:

  • 该区域将不再学习4类和5类LSA。---->本质是ABR设备将不会在给该区域转发4类和5类LSA。
  • 该区域拒绝学习LSA后,会导致数据通讯障碍。为了保证数据正常通讯,故由ABR设备自动下放一条3类缺省路由信息
[r5-ospf-1-area-0.0.0.2]stub 
[r1-ospf-1-area-0.0.0.2]stub 

在属于该区域的所有路由器上做相同配置

完全末梢区域—Totally Stub Area

​ 在末梢区域的基础上,进一步拒绝学习3类LSA信息,仅保留3类缺省LSA信息。

[r1-ospf-1-area-0.0.0.2]stub no-summary   ----不允许存在3类LSA信息 ---仅在ABR上配置

在这里插入图片描述

非完全末梢区域----NSSA

​ 如果将一个区域配置为NSSA区域,则该区域将不再学习4类和5类LSA。该区域依旧需要将后面的域外路由信息导入OSPF网络,但因为其拒绝5类LSA传播,故使用7类LSA的形式来传递域外路由信息,该7类LSA仅可以在NSSA区域中传播,当传播出该区域时,会被ABR设备转换为5类LSA信息

​ NSSA区域实际上优化的是从外部学习到的4类和5类LSA,而非是本地始发的4类和5类LSA。

由ABR设备向NSSA区域自动下放一条七类缺省LSA信息

[r5-ospf-1-area-0.0.0.2]nssa 
[r1-ospf-1-area-0.0.0.2]nssa 

在这里插入图片描述

五类与七类LSA的区别

Options
	在五类中,该字段标志位E
		E代表允许洪泛五类LSA
	在七类中,该字段标志位NP
		N代表可以处理七类LSA。
		P代表支持7转5操作,一般与N位同时使用。
		
FA字段
	该字段是应对选路不佳的情况,如果存在选路不佳的情况,则通告者将会把最佳下一跳放入FA字段当中,接收者看到FA中存有数据,则将不按照默认算法来进行验算,而直接使用FA数值作为下一跳地址。
	在五类LSA中,默认情况下,不存在选路不佳时,FA字段数值为0.0.0.0
	
	而在七类LSA中,默认不存在选路不佳的情况下,FA字段数值为通告者(ASBR)设备的环回接口IP地址作为FA数值。如果存在多个环回接口,则将使用最先宣告的地址作为FA数值;如果没有环回接口,则将使用物理接口的地址作为FA数值。----华为逻辑
	思科逻辑-----选择最后一个被宣告的接口IP地址作为FA数值。

完全的非完全末梢区域—Totally NSSA

​ 在NSSA区域的基础上,进一步拒绝3类LSA的产生,且由ABR设备自动下发一条三类LSA缺省

[r1-ospf-1-area-0.0.0.2]nssa no-summary   ---仅在ABR上配置

​ 此时,会发现ABR设备给NSSA区域发送了两条描述缺省路由的LSA,一个3类,一个7类。而内部路由器学习时,使用三类LSA描述的信息。

​ 在正常的OSPF国际标准中,完全NSSA区域会使用3类LSA替换原本的7类LSA缺省信息。而华为保留的原因,是因为防环。故将该条7类LSA保存在自己本地。

本地始发优于外部传递

域内路由>域间路由>域外路由

在这里插入图片描述

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值