初步认识OSPF的大致内容(第三课)_IHOPEDREAM的博客-CSDN博客


1 OSPF 工作过程

  1. 建立领居表

  2. 同步数据库 今天来 说一说数据库概念

  3. 计算路由表

2 什么是数据库?

数据库是一个组织化的数据集合,用于存储、管理和检索数据。它是一个可访问的集合,旨在存储与特定主题或目的相关的数据,并提供有效的检索和使用数据的方法。数据库可以用于各种不同的用途,包括企业资源规划、客户关系管理、存储数据、数据分析等等。数据库可以以不同形式出现,如关系型数据库、NoSQL数据库、图数据库等。

3 OSPF 网络风暴1

1) 问: PC1 可以ping通PC2为什么?答: 因为有ospf路由2)问: 为什么有ospf路由? 答: 因为运行ospf的路由器会计算ospf路由3)问:为什么运行ospf的路由器会计算出来OSPF路由? 答:因为路由器有计算路由的原材料4)问:什么是计算路由的原材料 答:拓扑信息+网段信息5)问:什么是拓扑信息: 我是那台路由器,我连着那台路由器,我用那个接口连着那台路由器 问:什么是网段信息: 接口IP地址网段,接口IP地址的掩码6)问:拓扑信息和网段信息,你是怎么得到的? 答:我从邻居哪里学来的7)问:你是通过什么方法学习的呢? 答:我和邻居同步数据库 8)问:那个数据库,什么样的数据库 答:LSDB : 链路状态数据库9)问:这个数据库是干啥的? 答:这个数据库是专门用来存储LSA的 10)问:LSA是啥:答:LSA:链路状态通告 ,说人话:就是拓扑信息+网段11)问:为什么LSA是链路状态通告的原材料? 答:因为在计算路由是会用到数据库?12)问:为什么数据库可以提供计算路表的参考依据?答:因为在数据库中有各种LSA来描述自己管理范围的LSA ?说人话 又是描述括普图中的网段信息和括普图信息。13)问 为什么LSA 能描述数据库中的各种信息?答:因为在OSPF中LSA分为以下几类?1 类LSA2 类LSA 3 类LSA 4 类LSA7 类LSA 14) 问 什么是1类LSA?1类LSA 是用来描述啥的呀!答:1 类 LSA 简称是Router,1类LSA产自这条链路的Router-id.描述的有以下内容:LSA的名字叫啥?LSA生产自哪里?LSA的年龄?LSA 的长度?LSA的功能?LSA的序列号?LSA 连接的DR中的IP地址是多少?括普信息+网段信息15)问 什么是2 类 LSA ?2类LSA 是用来描述啥的?答:2 类LSA 简称 Network-LSA2类的名字来自DR接口中的IP地址?作用:2 类LSA 补全DR所在网段的掩码信息,同时记录了该网段内所有与DR建立邻接关系的OSPF路由器,描述完整的区域内的拓扑信息什么是DR?DR是指定路由器 。16)问 什么是三类LSA?3 类LSA 用来描述啥?答:3类LSA 简称Network-summary-LSA3类LSA的名字取自-区域之间的路由的网段的名字通告路由器:本区域中的ABR路由器的Router-id3类LSA在传播的过程中,每经过一个ABR设备, (通告路由器)都会变化一次,变成所有经过的那台ABR的 Router-id作用:区域内的1、2类LSA计算出来的路由,变成3类LSA在其他区域泛洪(广播),实现区域与区域之间的通信17)问 什么是4类 LSA ?4类LSA 是用来描述啥的?答:4 类 LSA 简称ASBR-summary-LSA4 类的LSA的名字取自-ASBR的router-id 6通告的路由器:ABR的router-id第一个创建4类LSA那台设备是 和ASBR在同一个区域的那台ABR创建的18)问 什么是5 类 LSA ?5 类LSA 是用来描述啥的?答:类型:AS-external-LSA名字:5类LSA的名字取自-引入外部路由的网段的名字通告的路由器:ASBR的router-id传递范围:在整个OSPF网络内传播作用:用于通告外部路由特点:只有ASBR可以产生5类的LSA5类的LSA可以传输到OSPF网络中的任何地方,在传输的过程中,LSA没有任何变化5类的LSA不属于任何一个区域19)问 什么是7类LSA ?答:类型:NSSA名字:LinkState ID : 外部路由的网段产生的路由器:AdvRouter:NSSA区域的ASBR的Router-id作用:用于通告NSSA区域的外部路由因为有上面的各种LSA 组成了一个数据库,为接下来的计算路由做好铺垫。20)问:你是怎么同步的数据库答:我把我的数据库中的LSA复制给邻居:邻居把他的数据库中的LSA复制给我 请问,我们两个的数据库内容是否一致,如果一致,就称为 同步数据库成功21) 问:为什么两台路由能够同步数据库 答:因为这两台路由器是邻居22) 问:为什么这两台路由器是邻居呢" />OSPF网络风暴2 
OSPF: 开放式最短路径优先开放式:所有的厂商都支持最短路径优先: 根据cost值cost值如何计算:1)默认物理接口的cost值是12)数据转发过程中,出接口的cost值的累加和OSPF:工作过程1)建立邻居表使用hello报文建立邻居hello报文的作用: 发现邻居,建立邻居,维护邻居,断开邻居hello报文的源IP:接口的IP地址(单播地址),每个运行ospf的设备都会发hello报文的目标地址:组播地址:224.0.0.5hello报文是周期性的发送,每隔10秒发送1次,如果40秒没有收到邻居的hello报文,就会断开邻居关系默认运行ospf的路由器处于down状态收到第一个hello报文,并且这个hello报文中,没有自己的router-id ,会变成init状态收到第二个hello报文,并且发现这个hello报文中,有自己的router-id ,会变成two-way状态two-way: 双向通信,就是那个所谓的邻居状态如果是广播型网络:建立邻居时,就要选举DR和BDRDR:指定路由器 BDR:备份指定路由器DR的作用:减少邻接关系,加快数据库同步选举DR,看优先级,越大越好,(0-255) 如果优先级相同,看router-id邻居建立成功,是不是要进行第二步,同步数据库了2)同步数据库: 数据库是什么:LSDB:链路状态数据库,作用:存储LSALSA是什么:链路状态通告,是什么:计算路由的原材料:是什么:拓扑信息和网段信息拓扑信息:我是谁,我连着谁, 网段信息:接口的IP,接口的掩码使用DD报文,来发送数据库描述信息,开始进入数据库同步第一个DD报文的作用是选举主从关系选举主从关系的目的是什么? 确保DD报文有序,可靠传输根据什么字段来选举主从,看router-id ,router-id 越大越好从设备永远使用主设备的序列号,主设备用于序列号加1,通告这个机制,保证DD报文有序,可靠传输第二个DD报文,才是真正开始描述数据库的简要信息(LSA的头部信息-不是完整的LSA)通过交互DD报文,我们发现对方设备的数据库中,有我们没有的LSA,那怎么办发送LSR报文,请求对方数据库中的LSA收到对方发来的LSR的请求后,用LSU报文回复记住:LSU报文中,包含了真正的完整的LSA信息我收到对方发来的LSU报文后,我要用LSACK回复确认,告诉别人,我收到了通告不断的交互DD、LSR 、LSU、LSACK,直至同一个区域的数据库完全一致然后就进行了full状态,也成为邻接状态,3)计算路由表:同步数据库后,获得LSA了,通过LSA可以计算出来路由LSA分为:1类, 2类, 3类,4类,5类 7类区域内路由计算:在P2P的网络中,1类LSA是计算区域内的路由(P2P网络中没有2类的LSA,因为不需要选举DR)在广播型的网络中,1类2类是计算区域内的路由区域间路由计算:3类LSA计算区域间的路由OSPF会把1类和2类计算出来的路由,变成3类LSA传播给其他区域外部路由计算:4类和5类的LSA4类是辅助5类来计算外部路由的1类的LSA的类型: router-LSA1类的名字: 路由器的router-id在区域内的每一台路由器都会生产一个属于自己的1类的LSA,用于描述自己的拓扑信息和网段信息1类的通告路由器:路由器的router-id1类LSA的传播范围:区域内1类LSA的作用:用于描述自己的拓扑信息和网段信息2类的LSA的类型:network-LSA2类的LSA的名字:DR接口的IP地址2类的LSA的通告路由器: DR接口所在路由器的router-id2类的作用:用来补全区域内的网段信息(掩码) 和拓扑信息2类LSA的传播范围:区域内3类的LSA的类型:network-summary-LSA 在数据库中显示:sum-net3类的LSA的名字:区域间网段的名字3类的LSA的通过路由器:ABR的router-id3类LSA的传播范围:区域内, 3类LSA每经过一个ABR,那个通告路由器就变成所经过的那个ABR的router-id3类LSA的作用:实现不同区域之间的通信4类LSA的类型:ASBR-summary-LSA -在数据库中显示sum-ASBR4类LSA的名字:ASBR的router-id4类LSA的通告路由器: 区域内的ABR的router-id ,第一个4类LSA,是由和asbr同区域的那个ABR产生的4类LSA的作用:带你去找ASBR,辅助5类LSA计算外部路由4类LSA的传播范围:区域内,和3类一样,每经过一个ABR,那个通告路由器就变成所经过的那个ABR的router-id5类LSA的类型:AS-external-LSA -在数据库中显示 external5类LSA的名字:外部网段的名字5类LSA的通告路由器:ASBR的router-id5类LSA的作用,计算外部路由5类LSA的传播范围:全网泛洪(泛洪:理解为广播):特殊区域除外5类LSA没有区域的概念,5类LSA不属于任何区域特殊区域:(骨干区域不能设备为特殊区域)stub: 末梢区域: 需要被保护的脆弱区域stub区域的作用:保护一个区域不受来自外部链路的影响,缩减数据库规模,缩减路由表规模,降低设备负载stub区域的特点:只学习1类,2类,3类的LSA , 不学习4类,5类的LSA也不引入外部路由但是会由区域内的ABR设备生产一条默认的3类LSA,作用:让区域内的设备与外网通信totally stub: 完全的末梢区域 :totally stub区域的作用:保护一个区域不受来自外部链路和区域间链路的影响,缩减数据库规模,缩减路由表规模,降低设备负载stub区域的特点:只学习1类,2类, 不学习3类,4类,5类的LSA也不引入外部路由但是会由区域内的ABR设备生产一条默认的3类LSA,作用:让区域内的设备与外网通信nssa: 不那么末梢的区域nssa区域的作用:保护一个区域不受来自外部链路的影响,缩减数据库规模,缩减路由表规模,降低设备负载但是又能引入外部路由,很灵活的特殊区域nssa区域的特点:只学习1类,2类,3类,7类的LSA , 不学习4类,5类的LSA可以引入外部路由--引入的是7类的LSA但是会由区域内的ABR设备生产一条默认的7类LSA,作用:让区域内的设备与外网通信totally nssa : 不那么完全的末梢区域totally nssa 区域的作用:保护一个区域不受来自外部链路和区域间链路的影响,缩减数据库规模,缩减路由表规模,降低设备负载但是可以引入外部路由totally nssa区域的特点:只学习1类,2类 ,7类的LSA , 不学习3类,4类,5类的LSA可以引入外部路由--引入的是7类的LSA但是会由区域内的ABR设备生产2条默认的LSA 一个是3类的默认,一个是7类默认LSA

4 OSPF 常常用到的表

表1报文类型

报文类型

报文作用

Hello报文

周期性发送,用来发现和维持OSPF邻居关系。

DD报文(Database Description packet)

描述本地LSDB(Link State Database)的摘要信息,用于两台设备进行数据库同步。

LSR报文(Link State Request packet)

用于向对方请求所需的LSA。

设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。

LSU报文(Link State Update packet)

用于向对方发送其所需要的LSA。

LSAck报文(Link State Acknowledgment packet)

用来对收到的LSA进行确认。

表2LSA类型

LSA类型

LSA作用

Router-LSA(Type1)

每个设备都会产生,描述了设备的链路状态和开销,在所属的区域内传播。

Network-LSA(Type2)

由DR(Designated Router)产生,描述本网段的链路状态,在所属的区域内传播。

Network-summary-LSA(Type3)

由ABR产生,描述区域内某个网段的路由,并通告给发布或接收此LSA的非Totally STUB或NSSA区域。例如:ABR同时属于Area0和Area1,Area0内存在网段10.1.1.0,Area1内存在网段11.1.1.0,ABR为Area0生成到网段11.1.1.0的Type3 LSA;ABR为Area1生成到网段10.1.1.0的Type3 LSA,并通告给发布或接收此LSA的非Totally Stub或NSSA区域。

ASBR-summary-LSA(Type4)

由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。

AS-external-LSA(Type5)

由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了STUB区域和NSSA区域)。

NSSA LSA(Type7)

由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。

Opaque LSA(Type9/Type10/Type11)

Opaque LSA提供用于OSPF的扩展的通用机制。其中:

  • Type9 LSA仅在接口所在网段范围内传播。用于支持GR的Grace LSA就是Type9 LSA的一种。
  • Type10 LSA在区域内传播。用于支持TE的LSA就是Type10 LSA的一种。
  • Type11 LSA在自治域内传播,目前还没有实际应用的例子。

表4路由器类型

路由器类型

含义

区域内路由器(Internal Router)

该类设备的所有接口都属于同一个OSPF区域。

区域边界路由器ABR(Area Border Router)

该类设备可以同时属于两个以上的区域,但其中一个必须是骨干区域。

ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。

骨干路由器(Backbone Router)

该类设备至少有一个接口属于骨干区域。

所有的ABR和位于Area0的内部设备都是骨干路由器。

自治系统边界路由器ASBR(AS Boundary Router)

与其他AS交换路由信息的设备称为ASBR。

ASBR并不一定位于AS的边界,它可能是区域内设备,也可能是ABR。只要一台OSPF设备引入了外部路由的信息,它就称为ASBR。

表6区域类型

区域类型

作用

普通区域

缺省情况下,OSPF区域被定义为普通区域。普通区域包括标准区域和骨干区域。

  • 标准区域是最通用的区域,它传输区域内路由,区域间路由和外部路由。
  • 骨干区域是连接所有其他OSPF区域的中央区域。骨干区域通常用Area 0表示。

STUB区域

不允许发布自治系统外部路由,只允许发布区域内路由和区域间的路由。

在STUB区域中,路由器的路由表规模和路由信息传递的数量都会大大减少。

为了保证到自治系统外的路由可达,由该区域的ABR发布Type3缺省路由传播到区域内,所有到自治系统外部的路由都必须通过ABR才能发布。

Totally STUB区域

不允许发布自治系统外部路由和区域间的路由,只允许发布区域内路由。

在Totally STUB区域中,路由器的路由表规模和路由信息传递的数量都会大大减少。

为了保证到自治系统外和其他区域的路由可达,由该区域的ABR发布Type3缺省路由传播到区域内,所有到自治系统外部和其他区域的路由都必须通过ABR才能发布。

NSSA区域

NSSA区域允许引入自治系统外部路由,由ASBR发布Type7 LSA通告给本区域,这些Type7 LSA在ABR上转换成Type5 LSA,并且泛洪到整个OSPF域中。

NSSA区域同时保留自治系统内的STUB区域的特征。

该区域的ABR发布Type7缺省路由传播到区域内,所有域间路由都必须通过ABR才能发布。

Totally NSSA区域

Totally NSSA区域允许引入自治系统外部路由,由ASBR发布Type7 LSA通告给本区域,这些Type7 LSA在ABR上转换成Type5 LSA,并且泛洪到整个OSPF域中。

Totally NSSA区域同时保留自治系统内的Totally STUB Area区域的特征。

该区域的ABR发布Type3和Type7缺省路由传播到区域内,所有域间路由都必须通过ABR才能发布。

5 OSPF 数据库中的LSA 解析

网络类型

表7OSPF网络类型

网络类型

含义

广播类型(Broadcast)

当链路层协议是Ethernet、FDDI时,缺省情况下,OSPF认为网络类型是Broadcast。

在该类型的网络中:

  • 通常以组播形式发送Hello报文、LSU报文和LSAck报文。其中,224.0.0.5的组播地址为OSPF设备的预留IP组播地址;224.0.0.6的组播地址为OSPF DR/BDR( Backup Designated Router)的预留IP组播地址。

  • 以单播形式发送DD报文和LSR报文。

NBMA类型(Non-Broadcast Multi-Access)

当链路层协议是帧中继、X.25时,缺省情况下,OSPF认为网络类型是NBMA。

在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。

点到多点P2MP类型(Point-to-Multipoint)

没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将非全连通的NBMA改为点到多点的网络。

在该类型的网络中:

  • 以组播形式(224.0.0.5)发送Hello报文。

  • 以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)。

点到点P2P类型(point-to-point)

当链路层协议是PPP、HDLC和LAPB时,缺省情况下,OSPF认为网络类型是P2P。

在该类型的网络中,以组播形式(224.0.0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。

0 P2P实验的起源 开始

补充内容

1类LSA:Router-LSA

依据和P2P 对比发现 1 类 LAS 少了 一个 网段信息


2类LSA:Network-LSA===⇒DR


3类LSA:Network-summary-LSA


4类LSA: ASBR-summary-LSA


5类LSA:AS-external-LSA


如何传送过程

LSA规划是的特殊区域

表6区域类型

区域类型

作用

普通区域

缺省情况下,OSPF区域被定义为普通区域。普通区域包括标准区域和骨干区域。

  • 标准区域是最通用的区域,它传输区域内路由,区域间路由和外部路由。
  • 骨干区域是连接所有其他OSPF区域的中央区域。骨干区域通常用Area 0表示。

STUB区域

不允许发布自治系统外部路由,只允许发布区域内路由和区域间的路由。

在STUB区域中,路由器的路由表规模和路由信息传递的数量都会大大减少。

为了保证到自治系统外的路由可达,由该区域的ABR发布Type3缺省路由传播到区域内,所有到自治系统外部的路由都必须通过ABR才能发布。

Totally STUB区域

不允许发布自治系统外部路由和区域间的路由,只允许发布区域内路由。

在Totally STUB区域中,路由器的路由表规模和路由信息传递的数量都会大大减少。

为了保证到自治系统外和其他区域的路由可达,由该区域的ABR发布Type3缺省路由传播到区域内,所有到自治系统外部和其他区域的路由都必须通过ABR才能发布。

NSSA区域

NSSA区域允许引入自治系统外部路由,由ASBR发布Type7 LSA通告给本区域,这些Type7 LSA在ABR上转换成Type5 LSA,并且泛洪到整个OSPF域中。

NSSA区域同时保留自治系统内的STUB区域的特征。

该区域的ABR发布Type7缺省路由传播到区域内,所有域间路由都必须通过ABR才能发布。

Totally NSSA区域

Totally NSSA区域允许引入自治系统外部路由,由ASBR发布Type7 LSA通告给本区域,这些Type7 LSA在ABR上转换成Type5 LSA,并且泛洪到整个OSPF域中。

Totally NSSA区域同时保留自治系统内的Totally STUB Area区域的特征。

该区域的ABR发布Type3和Type7缺省路由传播到区域内,所有域间路由都必须通过ABR才能发布。

stub area :末梢区域

Totally stub area :完全的末梢区域

OSPF 七大状态


7类LSA:NSSA LSA

NSSA :not so stub area : 不那么末梢的区域

Totally NSSA :完全的NSSA

OSPF 3LSA类型

LSA类型

LSA作用

Router-LSA(Type1)

设备会为每个运行OSPFv3接口所在的区域产生一个LSA,描述了设备的链路状态和开销,在所属的区域内传播。

Network-LSA(Type2)

由DR产生,描述本链路的链路状态,在所属的区域内传播。

Inter-Area-Prefix-LSA(Type3)

由ABR产生,描述区域内某个网段的路由,并通告给其他相关区域。

Inter-Area-Router-LSA(Type4)

由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。

AS-external-LSA(Type5)

由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。

NSSA LSA(Type7)

由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。

Link-LSA(Type8)

每个设备都会为每个链路产生一个Link-LSA,描述到此Link上的link-local地址、IPv6前缀地址,并提供将会在Network-LSA中设置的链路选项,它仅在此链路内传播。

Intra-Area-Prefix-LSA(Type9)

每个设备及DR都会产生一个或多个此类LSA,在所属的区域内传播。

  • 设备产生的此类LSA,描述与Route-LSA相关联的IPv6前缀地址。
  • DR产生的此类LSA,描述与Network-LSA相关联的IPv6前缀地址。