目录
4.2 非广播多访问网络(Non-Broadcast Multi-Access, NBMA)
4.4 点到多点网络(Point-to-Multipoint)
6.3 NSSA(Not-So-stubby Area)区域
1 OSPF 基础知识简介
1.1 技术背景(为了补充RIP存在的问题)
(1)RIP中存在最大跳数为15的限制,不适用于大规模组网
(2)周期性的发送全部的路由信息,占用了大量的带宽资源
(3)路由收敛速度慢
(4)以跳数作为度量值
(5)存在路由环路的可能
(6)每隔30S更新
1.2 OSPF特点
OSPF传递的是拓扑信息和路由信息;RIP传递的是路由表
(1)没有跳数限制,适合大规模的组网
(2)使用组播(如224.0.0.5和224.0.0.6)更新变化的路由和网络信息,减少对网络带宽的占用
(3)路由收敛速度快,OSPF通过链路状态洪泛(LSA)快速传播网络变化信息,能够快速收敛,减少网络中的路由环路
(4)以COST作为度量值,COST可以根据链路带宽、延迟等参数进行配置,更精确地反映路径的实际成本
(5)默认每隔30分钟更新,确保网络信息的准确性
1.3 OSPF的三张表
1.3.1 邻居表
-
作用:记录与相邻路由器的邻居关系及其状态。
-
内容:包括邻居路由器的Router ID、接口地址、状态(如Down、Init、2-Way、Exchange、Loading、Full)等信息。
-
意义:帮助路由器发现和维护与邻居的连接,是建立OSPF邻居关系的基础
1.3.2 路由表
-
作用:记录SPF算法计算出的最优路由。
-
内容:包括目的网络、下一跳地址、度量值(COST)等信息。
-
意义:指导数据包的转发,确保数据能够沿着最优路径到达目的地。
1.3.3 拓扑表(链路状态数据库,LSDB)
-
作用:存储整个OSPF网络的链路状态信息。
-
内容:包括每个路由器的链路状态通告(LSA),如路由器LSA、网络LSA、ASBR Summary LSA等。
-
意义:为SPF算法提供网络的完整拓扑信息,用于计算最优路由。
1.4 OSPF的数据包
OSPF报文直接是封装在IP协议报文中,协议号89
1.4.1 头部数据包内容
版本(Version):对于OSPFv2,该字段值恒为2----使用在IPV4中;对于OSPFv3,该字段值恒为3----使用在IPV6中。
类型(Type):该OSPF报文的类型。该字段的值与报文类型的对应关系是:1-Hello;2-DD;3-LSR;4-LSU;5-LSACK。
报文长度(Packet Length):整个OSPF 报文的长度(字节数)。
路由器ID (Router Identification):路由器的OSPF Router-ID。
区域ID (Area Identification):该报文所属的区域ID,这是一个32bit 的数值。
校验和(Checksum):用于校验报文有效性的字段。
认证类型(Authentication Type):指示该报文使用的认证类型。
认证数据(Authentication Data):用于报文认证的内容。
1.4.2 OSPF数据报文
(1)hello 报文
hello包携带自己的router ID、被发现的邻居标识,用来周期保活的,发现,建立邻居关系。
hello报文抓包详解
网络掩码(Network Mask):一旦路由器的某一个接口激活了OSPF,那么这个接口就会开始发送hello报文;两台OSPF路由器如果是通过以太网接口直连的,就需要双方的直连接口配置相同的网络掩码,否则会影响邻居关系的建立
Hello 间隔(Hello Interval):接口周期性的发送Hello报文的时间间隔,两台直连路由器之阿金要确保接口的Hello 间隔时间相同,,否则会影响邻居关系的建立
可选项(Options):该字段有8bit,每一个比特位都用于指示该路由器的某个特定的OSPF功能特性,可用于特殊区域的标记
路由优先级(Router Priority):路由器优先级,范围:0-255;默认是1,数值越大代表优先级越高,可用于DR、BDR的选举
路由器失效时间(Router Dead Interval):在邻居路由器失效之前需要等待收到对方的Hello报文;直连路由器之间的路由失效时间(死亡时间)需要配置为相同,路由失效时间是Hello 间隔时间的4倍
指定路由器(Designated Router):网络中的DR的接口IP地址;如果该IP地址为0.0.0.0,则表示没有DR或者是DR没有选举出来
备份指定路由器(Backup Designated Router):网络中BDR的接口IP地址;如果该IP地址为0.0.0.0,则表示没有BDR或者是BDR没有选举出来
邻居(Neighbor):在直连链路上发现的有效邻居,此处填充的是邻居的Router-ID,如果发现了多个邻居则包含多个邻居字段
(2)DBD报文
数据库表述报文:仅包含LSA摘要
DBD抓包详解
接口最大传输单元(Interface Maximum Transmission):接口的MTU
可选项(Options):路由器支持的OSPF可选项
DD报文置位符:(I)Init位,I=1,表示这是第一个DD报文
(M)more位,M=1表示后续还有DD报文
(MS)master位,MS=1,表示以本端路由器为主设备
DD序列号:(DD Sequence Number):DD报文的序列号,DD序列号被逐次加1,用于确保DD报文传输的有序性和可靠性;DD序列号必须有Master路由器来决定,Slave路由器只能使用Master发送的序列号来发送自己的DD报文,(Router-ID大的成为Master路由器)
DD报文交互的过程:
LSA头部(LSA Header):当路由器使用DD报文来描述自己的LSDB时,LSA的头部信息会被包含在其中,一个DD报文会包含一条或者多条LSA头部
(3)LSR报文
请求自己没有的或者比自己更新的多的链路状态详细信息
LSR抓包详解
LSA三元组:链路状态类型,链路状态ID,通告路由器
通过LSA三元组可以唯一的标识一条LSA
(4)LSU报文
链路状态更新信息
LSU抓包详解(一个LSU报文可以包含多个LSA报文)
(1)当路由器感知到网络的变化的时候,可以触发LSU报文的泛洪,以便将变化通知发送给网络中的其他OSPF路由器
(2)在MA(多点接入网络)中,非DR、BDR路由器会向224.0.0.6这个组播地址发送LSU报文,而DR、BDR会侦听这个组播地址;DR在接收到LSU报文后向224.0.0.5发送LSU报文,从而将更新的信息泛洪到整个OSPF区域中,所有的OPSF路由器都将会侦听这个224.0.0.5的组播地址
总结:224.0.0.5所有运行OSPF的接口会监听
224.0.0.6所有的DR\BDR的接口会监听
(5)LSAck 报文
主要用于对LSU的确定
LSAck报文抓包详解
报文中包含了路由器所确认的LSA的头部(每一个LSA头部的长度为20byte)
1.4.3 OSPF工作过程
通信双方的关系:
邻居:双方通过Hello报文,相互认识
邻接:邻居关系建立好之后,进一步的系列报文交互当两天路由器的LSDB同步完成,开始独立计算路由时,这两台路由器形成邻接关系
特性 | 邻居关系(Neighbor) | 邻接关系(Adjacency) |
---|---|---|
建立条件 | 只需Hello数据包匹配 | 需要额外的LSA交换 |
信息交换 | 仅交换Hello数据包 | 交换完整的LSA信息 |
网络类型 | 所有网络类型 | 广播和非广播网络 |
数量 | 多个邻居 | 有限的邻接关系 |
状态变化 | Down → Init → 2-Way | Loading → Exchange → Full |
(1)确认可达性,建立邻居关系
建立邻居过程:
[1]发现邻居
-
Hello数据包:路由器定期发送Hello数据包(组播地址224.0.0.5),用于发现和维护邻居关系。
-
接收Hello数据包:当路由器收到其他路由器发送的Hello数据包时,它会检查数据包中的参数,如Hello间隔、Dead间隔、网络类型等。
[2] 匹配参数
-
参数检查:路由器检查收到的Hello数据包中的参数是否与自己的配置匹配。如果参数不匹配,邻居关系无法建立。
-
匹配成功:如果参数匹配,路由器将对方的Router ID添加到自己的邻居列表中。
[3]建立双向通信
-
状态变化:路由器发送Hello数据包后,如果收到对方的Hello数据包,并且发现自己的Router ID也在对方的Hello数据包中,邻居关系进入2-Way状态。
-
双向确认:此时,双方路由器都知道彼此的存在,建立了双向通信。
[4]选举DR/BDR(仅适用于广播和非广播网络)
-
DR/BDR选举:在广播网络(如以太网)和非广播多访问网络(如帧中继)中,需要选举指定路由器(DR)和备份指定路由器(BDR);广播网络中使路由信息交换更加高速有序,可以降低需要维护的邻接关系数量;
-
选举依据:每一个网段都需要选举出一个DR和BDR,选举依据包括优先级(Priority)和Router ID。优先级高的路由器更有可能被选为DR或BDR;如果优先级相同,则Router ID大的路由器获胜。
-
DR/BDR的选举没有抢占性;关系状态:DRother和DR建立邻接关系 ;DRother与BDR建立领接关系;DR与BDR建立邻接关系;DRother之间建立邻居关系
[5] 维护邻居关系
-
定期更新:路由器定期发送Hello数据包,以维护邻居关系。如果在Dead间隔内没有收到对方的Hello数据包,邻居关系将被标记为Down。
-
动态调整:当网络拓扑发生变化时,路由器会重新计算路由,并更新LSDB。
(2)摘要同步,开始建立邻接关系
[1] 发送DBD报文
-
DBD(Database Description):当邻接关系进入Exchange状态时,路由器会向邻接路由器发送DBD报文,通告本地LSDB中所有LSA的摘要信息。
-
内容:DBD报文包含LSA的类型、LSA ID、广告路由器(Advertising Router)、序列号等信息。
-
目的:通过DBD报文,路由器可以了解对方LSDB的内容,并判断哪些LSA是本地没有的或需要更新的。
[2]发送LSR报文
-
LSR(Link State Request):收到DBD报文后,路由器会将收到的LSA摘要信息与本地LSDB进行对比。如果发现本地LSDB中缺少某些LSA或LSA的序列号较旧,会向对方发送LSR报文。
-
内容:LSR报文请求发送本地所需的LSA的完整信息。
-
目的:通过LSR报文,路由器请求对方发送缺失或需要更新的LSA的完整信息。
[3]发送LSU报文
-
LSU(Link State Update):收到LSR报文后,路由器会将对方所需的LSA的完整信息打包为一条LSU报文,并发送给对方。
-
内容:LSU报文包含完整的LSA信息,如LSA的类型、LSA ID、广告路由器、序列号、链路状态信息等。
-
目的:通过LSU报文,路由器向对方发送缺失或需要更新的LSA的完整信息。
[4]发送LSAck报文
-
LSAck(Link State Acknowledgment):收到LSU报文后,路由器会向对方发送LSAck报文,确认已收到LSA的完整信息。
-
内容:LSAck报文包含确认的LSA的序列号和LSA ID。
-
目的:通过LSAck报文,路由器确认已收到LSA的完整信息,确保数据传输的可靠性。
[5]邻接关系进入Full状态
-
状态变化:当LSDB同步完成后,邻接关系进入Full状态,表示邻接关系已完全建立。
-
意义:此时,路由器的LSDB已与邻接路由器的LSDB完全一致,可以开始使用SPF算法计算最优路径。
建邻过程:
(3)完整信息的同步,完全邻接的建立
此时邻接关系已经完全建立好了,LSDB与路由表形成
1.4.4 OSPF8种状态机
状态机流程图
(1)down状态
关闭状态(处于稳定状态),邻居还没有收到Hello包,这种情况下发送Hello包之后便会进入下一个状态
(2)init状态
初始化状态,收到了对方的Hello报文,但是还没有收到对方的Hello确认报文,尚未建立双向通道
(3)Attempt状态
一般时不会出现的,只有在NBMA网络中,发出Hello报文但是收不到对方的Hello报文响应
(4)2-way状态
双方通信建立,邻居关系确认(稳定状态);并确定了DR\BDR的角色,在选举完成之后即使是出现了一台优先级更高的路由器,也是不会更替新的DR\BDR,需要原来的DR\BDR失效后,或者是重置OSPF进程才会重新选举新的DR\BDR
2-way的前提:
Router-ID无冲突,修改Router-ID需要重置OSPF进程;掩码长度一致(MA网络中);区域ID一致;验证密码一致;Hello时间、dead时间一致;特殊区域类型一致
(5)Exstar状态
开始交换数据库描述(DBD)数据包,确定主从关系;交换开始状态,发送第一个DBD报文,但是不发送LSA摘要,仅用于确定LSDB协商的主从,Router-ID大的为Master
(6)Exchange状态
交换状态,发送后续DBD报文,用于通告LSDB摘要,描述各自的链路状态数据库(LSDB)
(7)Loading状态
读取状态,进行LSA的请求(LSR)、加入(LSU)和确认(LSAck),即请求并接收所需的链路状态通告(LSA)
(8)Full状态
邻接状态(稳定状态),两段同步LSDB
Full状态的前提:两端的MTU一致,否则会卡在Exstar\Exchange状态
能够计算路由的前提:两端网络类型一致,否则无法学习路由
2 OSPF区域划分
2.1 区域产生的背景
为了确保每一台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步,如果OSPF域只有一个区域,随着网络规模的逐渐的扩大,OSPF路由器的数量越来越多,就会导致更多的网络问题
2.1.1 单区域网络的隐患
网络规模的扩大,单区域OSPF网络会面临一些问题
(1)LSDB臃肿:当网络规模过大的时候,链路状态数据库(LSDB)就会变得非常的庞大,会导致路由器性能消耗过大
(2)路由收敛慢:网络拓扑发生变化时,所有变更都会导致整个网络拓扑信息devil改变,有时可能会引发整个网络的路由重新计算
(3)无法进行路由汇总:单区域无法实现路由汇总,增加了路由器的大小和复杂性
2.1.2 多区域的产生
为了解决单区域的网络问题,OSFP引入了多区域的概念,多区域引入的目的:
(1)减少LSA数量:通过将网络划分为多个区域,限制了链路状态信息的传播范围,从而减少了LSA的数量,降低了网络资源的消耗
(2)提高网络性能:区域划分可以将大型网络划分为多个逻辑上的小型区域,降低了LSDB的大小,提高了网络性能
(3)便于路由汇总:区域边间路由器(ABR)可以对区域内的路由器进行汇总,进一步减少了路由表的大小
2.2 OSPF区域类型
(1)骨干区域(Area 0):所有非骨干区域必须与骨干区域直接相连
(2)非骨干区域:除了骨干区域以外的区域
以下为特殊区域:减少邻居关系
(3)Stub区域:不接收外部LSA(Type 5)和自治系统LSA(Type 7),而是接收默认路由
(4)Totally Stub区域:除了不接收外部LSA 和自治系统外部LSA外,也不接收区域间路由的LSA(Type 3),进一步减少路由表的条目
(5)NSSA(Not-So-Stubby Area):类似于Stub区域,但是允许将外部路由作为Type 7的LSA注入到OSPF区域中
(6)Totally NSSA:结合了NSSA和Totally Stub区域的特点,不接收外部的LSA和区域间路由的LSA
邻居过多的缺点:
(1)大量的Hello包,消耗CPU性能
(2)产生重复路由通告,消耗CPU性能
(3)任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源
2.3 OSPF路由器类型
(1)内部路由器(internal Router)
定义:所有接口都属于同一个OSPF区域的路由器
功能:负责转发同一区域内的数据包,并于同一区域的其他路由器交换路由信息
(2)区域边界路由器(ABR,Area Border Router)
定义:连接两个或者是多个不同OSPF区域的路由器,至少有一个接口属于骨干区域(Area 0)
功能:负责在区域之间传递路由信息,并维护每个连接区域的独立链路状态数据库
(3)骨干路由器(BR,Backbone Router)
定义:至少有一个接口属于骨干区域(Area 0)的路由器
功能:骨干路由器用于连接非骨干区域和骨干区域,确保整个OSPF网络的连通性
(4)自治系统边界路由器(ASBR,Autonomous System Border Router)
定义:与其他自治系统(AS)交换路由信息的路由器
功能:负责将外部路由信息引入OSPF网络,或将其内部路由信息导出到其他AS
(5)虚拟链路路由器(Virtua Link Router)
定义:用于连接断开的骨干区域路由器
功能:通过配置虚拟链路,确保骨干区域的连通性
3 LSA报文
LSA是OSPF的一个核心内容,如果没有LSA,OSPF是无法描述网络的拓扑结构及网段信息的,也无法传递路由信息,更加无法正常工作
3.1 LSA报文头部
字段名 | 长度 | 含义 |
---|---|---|
LS age | 16比特 | LSA产生后所经过的时间,单位是秒。无论LSA是在链路上传输,还是保存在LSDB中,其值都会在不停的增长。 |
Options | 8比特 | 可选项:
|
LS type | 8比特 | LSA的类型:
|
Link State ID | 32比特 | 与LS Type一起描述路由域中唯一一个LSA。 |
Advertising Router | 32比特 | 产生此LSA的设备的Router ID。 |
LS sequence number | 32比特 | LSA的序列号。其他设备根据这个值可以判断哪个LSA是最新的。 |
LS checksum | 16比特 | 除了LS age外其他各域的校验和。 |
length | 16比特 | LSA的总长度,包括LSA Header,以字节为单位。 |
3.2 6种LSA类型
区域内传拓扑,区域间传路由
3.2.1 Type1-LSA(重要、复杂)
(1)定义:Router LSA
描述区域内部与路由器直连的链路信息(链路信息、开销值等);仅在区域内部传输;每台路由器都会产生Type1LSA;[R1]dis ospf lsdb router 查看Type1 LSA的具体信息
(2)内容:
LS ID:发出该LSA的路由器的Router-ID
Adv Router:始发路由器,产生该LSA的路由器的Router-ID
链路ID:不同的链路类型,对于链路ID值的定义不同
链路数据(Link Data):不同的链路类型对链路数据的定义是不同的
链路类型(Link-Type):描述该接口的二层类型
[1]Transnet
类型:广播型网络或是NBMA
Link-ID:本网段的DR的IP地址
Data:本路由器在该网段上的IP地址
[2]P2P
类型:PPP
Link-ID:该网段对端路由器的Router-ID
Data:本路由器在该网段与对端路由器相连的接口IP地址
[3]stubnet(末梢网络)
类型:p2p或者环回口
Link-ID:该网段的网络地址
Data:该网段的子网掩码
[4]Virtual(虚链路)
类型:虚链路
Link-ID:虚链路邻居的Router ID
Data:去往该虚拟链路邻居的本地的IP地址
3.2.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.2.3 Type3-LSA
(1)定义:Summer LSA(聚合LSA)
在整个OSPF区域内,描述其他区域的链路信息;以子网形式传播类似直接传递路由;只有ABR会产生Type3-LSA;[R1]dis ospf lsdb summary 查看Type3 LSA的具体信息
(2)内容:
LS ID:其他区域某个网段的网络地址
SubAdv Rtv:通告该LSA的ABR的router-id
net mask:该网段的子网掩码
注:3类LSA的传递范围在ABR相邻的单区域中进行,跨区域传递时,需要进行通告者的转换,通告者变了,则将不是同一条LSA
3.2.4 Type4-LSA
(1)定义:Asbr-summary LSA
描述ASBR的信息;只有ASBR才会产生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
3.2.5 Type5-LSA
(1)定义:AS_extenal LSA
传递域外路由信息;描述AS外部引入的路由信息,会传播到所有区域(特殊区域除外);只有ASBR才会产生type5_LSA
(2)内容:
LS ID:外部路由的目的网络地址
Adv Rtv:引入该网络路由的ASBR的ABR的router-id
net mask:引入的该目标网段的子网掩码
[R1]dis ospf lsdb ase 查看Type5 LSA的具体信息
3.2.6 Type7-LSA
(1)定义:NSSA LSA
描述在NSSA区域引入的AS外部路由信息;只会出现在NSSA和totolly NASS区域,不能进入area 0;7类LSA生成路由信息的标记位,O_NSSA,优先级150
(2)内容:
LS ID:外部某个网段的网络地址
Adv Rtv:引入该网络路由的ASBR的ABR的router-id
4 OSPF的网络类型
对于不同的二层链路类型的网络,OSPF会生成不同的网络类型;不同的网络类型:DR/BDR选举,协议报文会有所不同
4.1 广播网络(Broadcast Network)
-
定义:支持多点广播的网络,如以太网。
-
特点:
-
使用组播地址(224.0.0.5 和 224.0.0.6)发送Hello报文。
-
需要选举指定路由器(DR)和备份指定路由器(BDR)。
-
Hello间隔默认为10秒,Dead间隔默认为40秒。
-
-
示例:以太网、Wi-Fi网络。
4.2 非广播多访问网络(Non-Broadcast Multi-Access, NBMA)
-
定义:支持多点通信但不支持广播的网络,如帧中继、ATM。
-
特点:
-
需要手动配置邻居关系。
-
需要选举DR和BDR。
-
Hello间隔默认为30秒,Dead间隔默认为120秒。
-
-
示例:帧中继、ATM网络。
4.3 点对点网络(Point-to-Point)
-
定义:两个路由器之间的直接连接,如串行链路。
-
特点:
-
不需要选举DR和BDR。
-
使用组播地址(224.0.0.5 和 224.0.0.6)发送Hello报文。
-
Hello间隔默认为10秒,Dead间隔默认为40秒。
-
-
示例:串行链路、PPP连接。
4.4 点到多点网络(Point-to-Multipoint)
-
定义:一个路由器连接到多个路由器的网络,如部分配置的帧中继网络。
-
特点:
-
不需要选举DR和BDR。
-
可以配置为点到多点非广播(Point-to-Multipoint Non-Broadcast)网络。
-
Hello间隔默认为30秒,Dead间隔默认为120秒。
-
-
示例:部分配置的帧中继网络。
4.5 虚拟链路(Virtual Link)
-
定义:用于连接断开的骨干区域的虚拟链路。
-
特点:
-
用于确保骨干区域的连通性。
-
通过配置虚拟链路,可以将断开的骨干区域连接起来。
-
-
示例:用于连接被非骨干区域分割的骨干区域。
5 OSPF 不规则区域类型及解决方案
不规则区域(Irregular Area)是指在OSPF网络拓扑中,区域划分不符合OSPF的标准规则,导致路由信息的传递和管理变得复杂
造成后果:非骨干区域没和骨干区域相连,导致ABR将不会帮忙转发区域间的路由信息。非骨干区域无法和骨干区域保持连通
5.1 不规则区域
1、非骨干区域无法和骨干区域保持连通
2、骨干区域被分割
5.2 解决方案
5.2.1 使用虚拟链路(了解)
解决方法:通过在一个中间区域的2个ABR上配置虚连接来使两端的区域实现逻辑上的连接
特征:
只能在两个区域的边界路由器上配置;在中间路由器的区域视图下配置;只能穿越一个区域;虚链接不能穿越Stub区域、ASBR、NSSA区域
5.2.2 使用多进程双向重发布
重发布(路由引入):在运行不同协议或不同进程的边界设备(ASBR --- 自治系统边界路由器,协议边界路由器)上,将一种协议按照另一种协议的规则发布出去
R4充当ASBR的角色,在其上运行两个OSPF协议。然后利用重发布进行共享。
[R4-ospf-1]import-route ospf 2; [R4-ospf-2]import-route ospf 1
6 OSPF的特殊区域
特殊区域是指认为定义的一些区域,它们在逻辑中一般位于OSPF区域边缘,只与骨干区域相连
6.1 STUB区域
(1)定义:末梢区域
适用于区域中路由器性能较低,目的是为了减少区域中路由器的路由表规模以及路由信息传递的数量,不希望接收大量的AS以外路由场景
(2)特征:
不接收Type4-LSA、Type5-LSA;并且不允许接收出现Type7-LSA(不允许出现ASBR)
区域0不能被配置为STUB区域
虽然拒绝学习域外路由信息,但是依旧有访问域外路由的需求;会由ABR设备自动下发一条指向骨干区域的Type3-LSA缺省
(3)命令:
6.2 Totally stub区域
(1)定义:
完全末梢区域,拒绝学习域外和其他区域的路由信息
(2)特征:
不接受Type3-LSA、Type4-LSA、Type5-LSA
不允许出现ASBR
区域0不能被配置为Totally STUB
虽然拒绝学习域外路由信息,但是依旧有访问域外路由的需求;故会由ABR设备自动下发一条指向骨干区域的Type3-LSA缺省
(3)命令:
6.3 NSSA(Not-So-stubby Area)区域
(1)定义:
非纯末梢区域,是STUB区域的变形,拒绝学习域外(主要是Type4-LSA、Type5-LSA)路由信息,但需要引入后面的域外路由信息(Type7-LSA)
(2)特征:
不接受Type4-LSA、Type5-LSA
本区域引入的外部路由以Type7-LSA存在;正常区域中引入的域外路由以Type5-LSA存在
本区域的ABR会将引入的Type7-LSA转换为Type5-LSA通告给其他区域
华三:NSSA区域的默认路由需要手动配置下发,在ABR下发的是7类默认路由的LSA;命令:nssa default-router-advertise
华为:自动生成一条指向骨干区域的7类缺省,在ABR下发的是7类默认路由的LSA;命令:nssa
区域0不能被配置为NSSA区域;
(3)命令:
6.4 Totally NSSA区域
(1)定义:
完全非纯末梢区域;Totally NSSA区域结合了NSSA和Totally Stub区域的特点,不仅不接收外部LSA和自治系统外部LSA,而且也不接收区域间路由的LSA。
(2)特征:
不接受Type3-LSA、Type4-LSA、Type5-LSA ;
本区域引入的外部路由会以Type7-LSA存在;
本区域的ABR会把引入的Type7-LSA转换为Type5-LSA通告给其他区域;
区域0不能被配置为Totally NSSA区域;
ABR会自动生成一条默认路由(Type 3 LSA),以确保网络连通性;
不能是骨干区域;不能存在虚链路
(3)命令:
[r5-ospf-1-area-0.0.0.2]nssa no-summary
7 OSPF路由聚合
路由聚合是将多条具有相同前缀的路由汇总成一条,通告到其他区域,从而减少路由表的规模,提高路由查询和转发效率
7.1 路由聚合的优势
(1)减少路由表的大小:通过多条路由汇总为一条,可以显著减少路由表的条目数量,优化路由表的查找速度
(2)降低网络开销:减少路由更新的频率,降低网络设备的负担
(3)提高网络性能:通过减少路由表的规模,提高路由选择的效率和可靠性
(4)隐藏明细路由的不稳定性:可以隐藏明细路由的不稳定性,减少路由震荡对网络的影响
7.2 路由聚合类型
(1)ABR聚合(Type3-LSA )域间路由汇总
将一个区域的LSA聚合后发布到相邻区域;
在传入区域的区域试图配置:命令:[r1-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0
ABR聚合不会影响ABR本机的路由,只会影响相邻区域的下游路由器的路由;
ABR 聚合后,会在ABR本机上产生一条该聚合的黑洞路由,来防止环路出现
not-advertise
:可选参数,用于抑制LSA的传播
(2) ASBR聚合(Type5-LSA、Type7-LSA)
把引入的AS外部路由聚合后发布到OSPF内部;只对5类、7类的LSA 进行聚合;ASBR聚合不会影响ASBR本机的路由,只会影响OSPF内部的其他路由器;ASBR 聚合后,会在ASBR本机上产生一条该聚合的黑洞路由,来防止环路出现;
在协议视图配置.命令:[r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0
注:使用聚合实现路由过滤,在聚合后加入not-adve1rtise参数
8 OSPF安全特性
8.1 OSPF报文验证
(1)区域验证模式:在区域下配置一致的密码才能够加入同一区域
[r3-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
(2)接口验证模式:链路两端的接口必须配置一致的密码才能建立邻居关系
[r5-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
(3)虚链路认证(也是接口认证的一种):不过是虚拟的接口验证模式
[r4-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3 md5 1 cipher 123456
注:接口认证高于区域认证,只要接口验证通过,区域验证哪怕失败,也不影响邻接关系建立
8.2 静默接口
为了使OSPF路由信息不被其他路由器获得从而配置静默接口
配置静默接口:[r5-ospf-1]silent-interface GigabitEthernet 0/0/2
8.3 路由过滤
影响本机及下游路由器的OSPF表的学习
(1)过滤本机及下游路由器的LSDB表中的LSA,在协议视图下配置进方向
(2)在传入区域的区域视图下配置出方向,不影响本机ospf表的学习,但影响下游路由器ospf表的学习,过滤本机及下游路由器的LSDB表中的LSA
(3) 过滤5类/7类LSA:
[r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0 not-advertise
ASBR聚合不会影响ASBR本机的路由,只会影响OSPF内部的其他路由器
9 加快OSPF收敛
(1) 修改hello时间:[r5-GigabitEthernet0/0/0]ospf timer hello 5
(2)修改死亡时间:[r1-GigabitEthernet0/0/0]ospf timer dead 20
(3)其他计时器:重传时间默认5S:[r5-GigabitEthernet0/0/0]ospf timer retransmit ?
INTEGER<1-3600> Second(s)
10 OSPF中缺省路由
(1)3类缺省:自动下发,优先级10
(2)5类缺省:手工配置,优先级150
命令:[r2-ospf-1]default-route-advertise --- 相当于将本设备上通过其他方式学到的缺省路由,重发布到OSPF网络当中(本机上存在缺省的时候)
(3)7类缺省:自动下发,通过配置特殊区域,优先级150;手动下发,优先级150
命令:[r2-ospf-1]default-route-advertise always --- 在设备上没有其他网络学来缺省信息时,可以强制下发一条7类缺省
11 OSPF的路由控制
(1)优先级
[r3-ospf-1]preference 50 --- 修改OSPF路由默认优先级,只影响本机OSPF路由的学习
[r3-ospf-1]preference ase 100 --- 修改域外导入的路由的默认优先级。
(2)开销值
[r3-GigabitEthernet0/0/0]undo negotiation auto --- 关闭自动协商
[r3-GigabitEthernet0/0/0]speed 10---修改接口真实传输速率
[r3-GigabitEthernet0/0/0]ospf cost 1000 --- 修改接口开销值
12 OSPF放环
(1)域内防环:牢记区分划分原则,就可避免环路
(2)域内防环:OSPF区域内部计算出的路由信息是不会存在环路的,这主要得益于OSPF使用的算法 --- SPF(最短路径优先)算法。