如果a到b有多个下一跳,会选择哪一跳?
先比协议优先级,越小越优先。 相同就比度量值(开销),还相同就是等价
解决RIP路由环路方法有六种:路由毒化、抑制定时器、水平分割、毒性反转、定义最大跳数、触发更新
骨干区域0为其他区域转发路由信息来进行交换
ospf两个规定:
所有非骨干区域必须和骨干区域相连(直连/间接联通)
骨干区域自身必须保持联通
ospf为什么要划分区域?
划分区域的优势:
减少了区域内LSDB中链路状态信息的数量,降低了运行OSPF协议对路由器性能的要求。
可以将相同功能性或者地理位置的路由器划分在一个区域内,以便于管理。
隔离拓扑变化,减少路由震荡对整个自治系统的影响。
OSPF Route ID 选举
一台路由器如果要允许ospf协议,必须存在route ID,rid是一个32比特无符号整数
如果没有手动配置route id,则会从存在配置 IP 地址的 Loopback 接口,则选择 Loopback 接口地址中最大的作为Router ID ;
如果没有配置IP 地址的 Loopback 接口,则从其他接口的IP 地址中选择最大的作为
RouterID(不考虑接口的 up/down 状态)
一般情况下,建议配置Loopback 接口,并且将 Loopback 接口的IP 地址配置为路由器
的 Router ID,以便于统一管理和区分其他路由器
OSPF 四种网络类型?
Broadcast: 当链路层协议是 Ethernet、FDDI 时,OSPF 缺省认为网络类型是Broadcast。在该类型的网络中,通常以组播形式(224.0.0.5 和224.0.0.6) 发送协议报文。
NBMA (Non-BroadcastMulti-Access,非广播多点可达网络): 当链路层协议是顿中继、ATM或X25时,OSPF 缺省认为网络类型是 NBMA。在该类型的网络中,以单播形式发送协议报文。
P2MP (Point-to-MultiPoint,点到多点): 没有一种链路层协议会被缺省的认为是P2MP 类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将 NBMA改为点到多点的网络。在该类型的网络中,以组播形式(224.0.0.5) 发送协议报文
P2P(Point-to-Point,点到点): 当链路层协议是 PPP、HDLC 时,OSPF 缺省认为网络类型是 P2P。在该类型的网络中,以组播形式(224.0.0.5) 发送协议报文
DD报文包含着什么?
描述链路状态信息(LSA)的摘要
OSPF协议报文如:hello ,DD,LSR(链路状态请求),LSU(链路状态更新),lsACK(确认)都封装在IP报文中,协议号89
HELLO 定时器 10 30
邻居失效时间 40 120
Route ID选举?
ospf默认优先级为1,0则不会参与Route ID 选举
先比较Hello报文中的优先级,优先级最大为DR,次为BDR(有hello报文说明有邻居)
然后比较Route ID,大优先
OSPF邻居关系建立过程?
第1步:一开始邻居关系处于 DOWN 的状态。之后 RTA 开始发送 Hello 报文。由
于当前没有发现任何邻居,因此它的邻居表项是空的,并且 DR 字段设置为 0.0.0.0。
第2步:RTB 接收到RTA 的 Hello 报文之后,将 RTA 添加到自己的邻居表中,同时将
RTA的邻居状态设为Init(单方面通告)。与 RTA比较 RouterID,由于RTB 的 Router ID 较大,所以在
发送的 Hello 报文中,将 DR 字段设置为自己的 Router ID。
第3步:RTA收到RTB 发来的 Hello 报文,在邻居列表中发现了自己的 RouterID,因而
将邻居表中 RTB 的状态修改为 2-way(邻居状态,稳定)。RTA 发送 Hello 报文,其中邻居列表添加 RTB 的Router ID,将DR 字段设置为 RTB的 Router ID
第4步: RTB 检查 RTA的 Hello 报文,发现了自己的 RouterID,从而将邻居表中的 RTA
状态也修改为2-way。如果当前链路上,RTA 和 RTB 都是 DRother 路由器,它们之间的
邻接状态就停留在 2-way 状态。如果 RTA、RTB 有一个是 DR/BDR,它们还需要进一步
建立邻接关系。
前文讲述了两台运行 OSPF 协议的路由器建立 2-way 状态的过程。如果这两台路由器承
担了 DR 或者 BDR 的角色,那么它们还需要进一步建立邻接关系
I为第一次发送报文信息,M为1表示后续还有报文需要传输,由于RTB的Route ID比RTA大,所以DD报文交互的信息就给A发送的信息中MS置为1,认为自己就是DR
前两个DD报文不交互摘要信息(协商主从),后面三个为隐式确认
OSPF有哪几个稳定状态?
DOWN FULL 2-WA
LSDB更新时间为3600秒,但半个小时(1800秒)就会更新全部信息,一般情况下,LSA的老化时间应该小于1800s(OSPF每1800s会进行一次周期更新)
序列号用完了怎么办?刷新机制?
3、 序列号:32位二进制构成,由8位16进制来表示;
一台路由器,每发送同一条LSA信息,则将携带一个序列号,并且序列号依次加1。
序列号空间:
(1) 直线型序列空间:从最小值开始一直到最大值,依次加1。
优点:新旧关系容易判断
缺点:数量有限,且若超出上限,则将无序列号可用,导致新旧关系无法判断。
(2) 循环型序列空间:
优点:序号可以循环使用,不会出现序号使用完的情况。
缺点:若两个序号差值比较大时,可能会导致新旧关系无法判断
(3) 棒棒糖序列空间:OSPF使用的该序列空间,但进入循环部分后,依旧会面临循环型序列空间的问题。因此,OSPF要求其不能进行循环,相当于是一个直线型序列空间,其取值0X80000001 – 0X7FFFFFFE。
OSPF刷新序列号空间的方法:
当一条LSA信息的序列号达到尽头时,发出的路由器会将其老化时间改为3600S;其他设备收到该LSA信息后,会根据序号判断出这是一条最新的LSA信息,将该信息刷新到本地LSDB中。
之后,由于该LSA信息老化时间达到3600S,则将这条LSA信息删除掉。始发的路由器会再发送一条相同的LSA信息,其序列号使用0X80000001,其他设备收到后将会把最新的LSA信息刷新到LSDB中,则刷新了序列号空间
OSPF启动多个ospf进程,需要指定不同的进程号,进程号是本地概念,不影响交互,同样可以交互信息
ospf验证字段在哪?
ospf验证字段在每个报文的头部,五个报文(heLLo,DD....)都有头部,验证字段在五个报文的头部
ospf一段网络一端p2p,一端广播型会发生什么情况?
可以建立邻居,但是计算不了路由,只有本地路由
ospf如何下发默认路由?
如果已经配置静态,则不需要awanys,如果没有配置静态,则需要
OSPF如果更改Hello报文,则dead报文会自动变成Hello报文的四倍,如果改Dead报文,则hello报文不会改变
什么时候用到ospf的虚连接?
1:骨干区域被分割
2:非骨干区域和骨干区域无法保持联通
虚连接相当于在两个ABR(区域边界路由器)之间形成一个点到点的逻辑关系连接
虚连接建立连接后,两台ABR通过单播传输信息
如果没有五类lsa会产生四类lsa吗?
不会
第1步:按照路由类型的优先级选择,优先级从高到低的顺序依次为:
区域内路由 (Intra Area)
区域间路由 (Inter Area)
第一类外部路由 (Type1 External)
第二类外部路由 (Type2 External)
第2步:在类型相同的情况下,选择路由开销值较小的路由。
第3步:如果路由类型和链路开销都相等,那么这两条或者多条路由就形成等价路由。
OSPF 为什么要设置优先级内部 10,外部 150?
防止双向引入出现环路问题
ospf可以进行聚合,聚合之后路由表发生了什么变化?
聚合之后,只发布聚合的那一条路由,会有一条指定为空的黑洞路由
如果聚合之后
TAG?
只有LSA5和LSA7才有tag字段,可以进行路由控制,默认为1
ASBR转发ABR?
如果ASBR往ABR转发,有两个路由器 ,Route id大的进行lsa7转lsa5,并且P置位为1才会进行转发
OSPF 有哪些快速收敛方法?
1:手动把 Hello-time 改小,使OSPF 能更快的侦测出邻居失效
2:通过 Hello 报文来检测邻居失效,Dead-time 是四倍的 Hello-time,时间太长,可以使用 BFD,使OSPF 能够在毫秒级实现邻居失效检测
3:LSA 有一个传输延时,trans-delay,目的是为了减少链路上同时泛洪的LSA的数量,缩短这个时间可以让 LSA的更新更快。该时间默认1秒
请问验证字段在ospf的哪个字段之中?
头部
OSPF的验证方式和优先顺序?
OSPF 支持接口验证和区域验证
当开启区域认证的时候,也就意味着所有属于该区域的接口收发的 OSPF 协议消息都需要包含认证相关字段
当开启接口验证时,就只有该接口收发的 OSPF 协议消息需要包含认证相关字段。相比之下,接口验证更加灵活
当同时配置了接口验证和区域验证时,接口验证优先于区域验证。如果接口验证成功了,区域验证是否成功都可以建立起邻居关系
静默接口的特点?
静默接口只是禁止发送,可以收,和静默接口相连的路由器可以收可以发,不然交互不了
ospf的验证功能的作用?
避免路由信息外泄或者对ospf路由器进去恶意攻击