OSPF
动态路由协议的评判标准 —收敛速度,选路,占用资源
RIP的特性:
距离矢量型协议
4个计时器 :周期更新计时器(30s),保持失效计时器(180s),抑制计时器(180s),刷新计时器(240s)
占用资源大:因为周期更新为30s,链路内每时每刻都存在更新报文
开销(cost):最大值16跳
OSPF的特性:
1.IGP ---内部网关协议
2.链路状态型协议
3.SPF算法
4.组播地址:224.0.0.5/224.0.0.6
5.优先级:10/150
OSPFv2与RIPv2对比:
相同点:
- 无类别路由协议
- 采用组播通讯
- 支持等开销负载均衡
不相同点:
- OSPF适用于大型网络,RIP适用于小型网络
OSPF结构化部署
整体称为OSPF域
OSPF的路由信息通过传递的拓扑图来进行计算得出,DR设备的存在可消除LSA的重复更新,仅限于同一个广播域内的路由信息
拓扑信息在区域内传递,路由信息在区域间传递 —链路状态型协议的距离矢量特性
多区域提高了网络的拓展性,有利于组建更大规模的网络
区域ID(Area-ID):32位bit组成的非负整数,点分十进制表示
仅有一个区域,那么这个区域一定为骨干区域
OSPF多区域划分要求
- OSPF要求域中的所有非骨干区域(区域ID不为0的区域)都必须与骨干区域直接相连
- 骨干区域不能被分割
假定没有“所有的非骨干区域都必须与骨干区域直接相连”这条规则
OSPF定义了ABR(区域边界路由器)来确保遵循这条规则 —只有真正的ABR设备才能转发区域间路由信息
1. 至少连接两个区域
2. 连接的区域中至少有一个接口区域为0
3. 在区域0中至少有一个活跃的邻居
非骨干区域之间不允许直接相互发布区域间路由信息 —因为非骨干区域之间的边界设备不是ABR
假定没有“骨干区域不能被分割”这条规则
OSPF规定:从非骨干区域收到的路由信息,ABR能接收但不会使用这条路由信息(这条规则被称为OSPF的区域水平分割机制) —从一个区域学习到的路由信息,不能再传递回该区域
总结:
OSPF有如下规定:
1.伪ABR设备不允许转发区域间路由信息
2.对于真实ABR设备
能够将自己直连的非骨干区域的路由信息传递给骨干区域
能够将自己直连的骨干区域路由信息传递给非骨干区域
能够将自己从骨干区域学习到的非骨干区域路由信息传递给直连的非骨干区域。
OSPF路由器角色
1.内部路由器—IR
所有接口都接入同一个OSPF区域的路由器
2.区域边界路由器—ABR
接入多个区域,且有一个区域为骨干区域(R2、R3)
3.骨干路由器----BR
接入Area0的路由器
4.自治系统边界路由器—ASBR
工作在OSPF自治系统边界的路由器,负责将OSPF域外的路由引入本域
并不是所有运行了多种路由协议的OSPF路由器就一定是ASBR;必须执行了重发布操作的路由器才会被称为ASBR
OSPF数据包
1:发现其它设备;2:介绍基本的信息(三元组信息);3.回复对端发送的内容(三元组信息);4:介绍详细内容;5:回复确认信息
hello包
用来发现,建立并周期保活OSPF邻居关系,通过组播224.0.0.5发送
10S发送一次用以确认邻居存在
hold-time —死亡时间 —四倍 hello-time 时间
Router-ID(RID)—全域唯一,标识路由器身份(不论是否开启OSPF,RID都存在)
配置方式:
手工配置;自动配置
默认优选最大环回IP地址,没有环回就选择最大物理IP地址
[Huawei]display router id ---查看RID
在华为设备中,若没有接口IP,则OSPF启动后,RID为0.0.0.0
在思科设备中,若没有接口IP,则OSPF无法启动
华为标准:状态最先UP的接口的IP地址作为Router ID
FRC标准:
1.取Looback接口IP中最大的地址作为Router ID
2.若没有Loocback接口,则选择物理接口IP地址中最大的作为Router ID
无论采用手工还是自动选取方式,一旦OSPF确定了RID,则之后不会改变 —重启OSPF进程
DBD报文
数据库描述报文
该报文中携带的是路径信息的摘要 —避免重复更新,减少更新量的一种做法
LSR报文
链路状态请求报文----用以获取未知的LSA(链路状态通告)信息。
LSU报文
链路状态更新报文
携带真实的LSA信息的数据包
LSAck报文
链路状态确认报文
OSPF七种状态机
-
down —关闭 -----一旦启动了OSPF协议,则发出hello报文进入下一个状态
-
init ----初始化 ----收到的hello报文中存在本地RID值,进入下一个状态
-
2-way ----双向通讯 ----邻居关系建立的标志 —稳定态
条件匹配:匹配成功则进入下一个状态,匹配失败则停留在邻居状态。
-
exstart ----预启动 ----使用未携带信息的DBD报文进行主从关系选举,RID大的为主
-
exchange ----准交换 -----使用携带目录信息的DBD报文进行目录共享
-
loading ----加载 ----邻居间使用LSR/LSU/LSACK报文来获取完整的LSA信息
-
full —转发 ----拓扑交换完成后,根据算法计算出路由进入该状态,标志着邻接关系的建立 —稳定态
(路由器查看到的状态机永远都是对方的状态,不是自己的状态)
(为区分三种状态,在预启动状态机时,使用DBD报文,而不是hello包)
(MS比特位=1,代表 “主” )
(“从” 设备DD序列号与 “主”设备DD序列号相同,当 “主” 设备不再发送DD报文时,“从” 设备也不会发送)
条件匹配
决定了谁给谁传递信息
DR,BDR,DRother —接口角色
发现邻居时,通过组播地址224.0.0.5发送报文;条件匹配完成之后,通过224.0.0.6组播地址发送报文
DR,BDR —监听224.0.0.6/0.5
DR,BDR向外发送报文时,使用224.0.0.5
其余设备发送报文时可以通过0.6,也可以通过0.5;接收时只能通过0.6
(设备发送报文时不一定只能通过组播,也可以通过单播)
选取规则:
1. 优先级,0-255,;选取优先级大的为DR设备,默认为1,若优先级为0则代表放弃选举
2. 若优先级相同,则比较RID值,越大越优先
选取范围 —一个广播域
非抢占模式 ----重选则需要重启OSPF进程
在一个MA网络中,可以没有BDR,但是必须存在DR
条件匹配的选举过程
-
DR,BDR的选举是通过Hello报文来实现的,时间发生在2-way状态之后
-
路由器将自己的接口的DR优先级填写在Hello报文的“DR优先级字段”
-
华为数通产品的接口优先级默认为1,该参数可更改
[Huawei-GigabitEthernet0/0/0]ospf dr-priority 数值(0-255) 优先级为0的设备放弃选举
-
当接口激活OSPF后,设备首先会检查网络上是否已经存在DR,如果存在则接收已经存在的DR设备。否则优先级最大的设备成为DR,若优先级相同,则拥有最大RID的路由器成为DR设备
-
BDR选举过程与DR相同,但是是在DR选举之后进行
NBMA网络状态下,只能单播通讯,当使用OSPF时,需要手工输入目标ip地址(即邻居IP地址)
Attempt状态机:当一端启用OSPF,会进入到Attempt状态,直到输入 “peer IP地址” 命令,使路由器知道其"hello包"目标IP地址,构造出 “hello包”并发送出去时,才会进入到 “init” 状态
OSPF工作过程
分为 三部分结构
-
启动OSPF配置后,OSPF向本地所有运行了OSPF协议的接口以组播224.0.0.5发出hello报文;hello报文中携带了本地的RID参数以及本地已知的邻居RID值
- 邻居的RID获取方式:通过接收其它邻居的hello报文来获取本地邻居
- 建立邻居关系,并生成邻居表
-
邻居关系建立后,进行条件匹配;匹配失败则停留在邻居关系,即2-way状态,仅使用hello报文保活,该状态为稳定状态
-
匹配成功的邻居开始建立邻接关系
- 首先使用未携带数据的DBD报文进行主从关系选举,之后使用携带信息的DBD报文来共享数据库目录;
- 然后本地通过对方共享的目录信息与本地数据库进行对比,通过使用LSR报文请求未知的LSA信息
- 对端使用LSU报文回复完整LSA信息
- 本端使用LSAck报文确认回复
-
当本地接收到所有的未知LSA信息后,将信息存放在LSDB中。
- 之后基于本地数据库生成有向图和最短路径树
- 根据最短路径树计算本地到达拓扑中所有未知网段的最短路径,并将其加入到OSPF路由表中
- 从OSPF路由表中选择最优路由加载入本地全局路由表
-
收敛完成后,hello报文周期保活。每30min进行一次周期链路刷新
结构突变
- 新增网段 ----直接使用LSU报文告知邻居,邻居使用ACK报文确认
- 断开网段 ----直接使用LSU报文告知邻居,邻居使用ACK报文确认
- 无法沟通 ----dead time(四倍hello时间),状态机为 down —删除信息(路由信息)—LSA信息只能由发出者在发出更新报文中进行撤销
OSPF基本配置
配置内容:
1.启动OSPF协议
[Huawei]ospf 1 router-id 1.1.1.1
2.创建区域
[Huawei-ospf-1]area 0
3.宣告
[Huawei-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255 ---范围宣告
[Huawei-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 ---精准宣告
反掩码:32位二进制,点分十进制表示;由连续的0和连续的1组成;其中0表示IP对应位不变,1代表IP对应位可变
OSPF相关命令:
[Huawei]display ospf peer ---查看邻居表
[Huawei]display ospf lsdb ---查看数据库表
[Huawei]display ip routing-table protocol ospf ---查看以OSPF为基准的全局路由表
[Huawei]display ospf routing ---查看OSPF的路由表
[Huawei-GigabitEthernet0/0/0]ospf dr-priority 数值(0-255)---修改接口优先级---优先级为0的设备放弃选举
修改参考带宽
一条OSPF路径的cost等于从目的地到本地路由器沿途的所有入接口cost的总和
[r1-ospf-1]bandwidth-reference 数值(1-2147483648)---2的31次方
Cost值为参考带宽/实际带宽 ---当计算出的数值大于1且有小数点时,直接去掉小数点,取其整数;
当计算出的数值小于1时取其值为1
OSPF报文格式
报文为五种,报文头部相同
OSPF协议号:89
OSPF报文头部
24字节
版本----恒为2
类型----描述OSPF数据包类型
hello----1
dbd-----2
lsr------3
lsu----4
lsack----5
报文长度 ----指的是除了头部长度的报文长度
路由器ID----RID —标识路由器的身份
区域ID----发出该报文的接口所属区域的ID值
校验和----完整数据包
验证类型
指是该数据报文使用的认证类型
不认证–0;简单认证—1;MD5认证—2
验证数据
用于报文认证的内容
若认证类型为不认证,则该字段全为0
hello包
-
网络掩码
两台OSPF路由器如果通过以太网接口直连,那么双方的直连接口必须配置相同的网络掩码。
如果一方在接口上收到的hello报文中,网络掩码字段与本地接口配置的掩码不同,则该路由 器忽略该hello报文,此时邻居关系无法建立
注意:只有在华为设备中会检查网络掩码信息
-
Hello间隔
如果两台路由器的hello时间间隔不同,则不会建立邻居关系
在Broadcast类型和P2P网络类型中hello时间间隔为10S;而在NBMA或P2MP网络类型中,Hello时间为30S
-
可选项
有8个标记位,每一个标记位为1,则代表其符合OSPF的某种特性
特殊区域标记
-
路由器优先级(接口优先级)
用于选举DR和BDR —当只有两台路由器设备时,不会进行选举
-
路由器失效时间
两台设备建立OSPF邻居需要确保死亡时间相同
默认情况下是hello间隔的4倍
若修改hello时间,则死亡时间随之改变;若修改死亡时间,则hello时间不变
-
指定路由器—DR
该参数为网络中DR的接口IP地址。
若没有选举出DR,则使用0.0.0.0来占位
-
备份指定路由器—BDR
该参数为网络中DR的接口IP地址。
若没有选举出BDR,则使用0.0.0.0来占位
-
邻居
在直连链路上发现的有效邻居,此处填充的是邻居的RID值
所有224.0.0.X格式的组播地址称为本地链路组播地址,目标IP是本地链路组播的数据包的TTL值被设定为1。所有本地链路组播都存在对应的组播MAC地址,01-00-5e-0后23位,后23位为组播IP地址的后23位。
224.0.0.5-->11100000.00000000.00000000.00000101
01-00-5e-00000000.00000000.00000101--->01-00-5e-00-00-05
OUI--->01-00-5e
限制邻居关系建立的参数
-
子网掩码
R1修改掩码后,会立即将状态置为down,而R2会在40S死亡时间后进行状态切换
原因在于:R1在修改IP地址的掩码后,会认为之前的连接中断,需要重新建立连接,所以会直接重置状态机。而R2则认为此时属于结构突变中的无法沟通
-
hello时间
[r1-GigabitEthernet0/0/0]ospf timer hello 20
双方经过死亡时间后,状态发生改变
- dead时间
[r1-GigabitEthernet0/0/0]ospf timer dead 80
双方经过死亡时间后,状态发生改变
- 认证
[r2-GigabitEthernet0/0/0]ospf authentication-mode simple plain 123456 ----接口认证
[r2-ospf-1-area-0.0.0.0]authentication-mode simple plain 123456 ----区域认证
-
可选项
R1会立即将状态置为down,而R2会在40S死亡时间后进行状态切换
原因在于:R1在标记特殊区域后,会认为之前的连接中断,需要重新建立连接,所以会直接重置状态机。而R2则认为此时属于结构突变中的无法沟通
DBD包
DBD报文的作用:
- 使用未携带数据的DBD报文进行主从关系选举
- 使用携带数据的DBD报文进行拓扑目录共享
- 使用未携带数据的DBD报文进行确认
接口最大传输单元----MTU
-
在 华为AR系列路由器 上,该参数值默认为0
-
该字段是用于进行OSPF的MTU检测,而华为默认不开启MTU检测机制
[r1-GigabitEthernet0/0/0]ospf mtu-enable ----开启OSPF的MTU检测机制 [r1-GigabitEthernet0/0/0]mtu 数值(46-1600) ----修改MTU参数
如果设备两端开启了OSPF的MTU检测机制,则进行MTU检测,若双方的MTU参数相同,则正常进行邻接关系建立。若不同,则双方卡在exstart状态
可选项
有8个标记位,每一个标记位为1,则代表其符合OSPF的某种特性
特殊区域标记
I —主从关系选举
- 如果此位为1,则代表该数据报文是用于进行主从关系选举。且此时的数据包中不会携带真实的数据库目录信息
M —代表后续是否还有DD报文
-
若为1,则代表后续还存在DD报文
-
若为0,则代表后续没有DD报文
当A端为Master设备,发送的DBD报文的M位为0,B端为Slave设备,发送的DBD报文M位为1时,A端会持续发送DBD报文,且DD序列号会不断增加,直到B端设备DBD报文的M位为0
MS----代表是否为主设备
-
若为1,则代表本设备为Master设备
-
若为0,则代表本设备为Slave设备
-
DD序列号
-
用于确保DD报文传输的有序性和可靠性
-
在DD报文交互的过程中,DD序列号被逐次加1。且DD序列号必须由Master路由器来决定,而Slave路由器只能使用Master路由器发送的DD序列号来发送自己的DD报文
-
隐形确认机制----通过对方发送的数据包中的DD序列号,起到确认的效果 —主从关系选举就是为了完成隐形确认
主从关系确认时,Slave设备会先发送DD报文,随后Slave设备的DD序列号跟随Master设备的DD序列号变化而变化
-
LSR包
链路状态类型、链路状态ID、通告路由器----LSA的三元组信息 —通过这三个参数可以唯一标识出一条LSA信息
LSU包
LSAck包
完成显示确认机制
OSPF的接口网络类型
P2P----P2MP
MA
BMA
NBMA
OSPF的接口网络类型,实际上是说OSPF的接口在某种网络类型下的一种工作方式或特征
网络类型 | OSPF接口工作方式–接口类型 |
---|---|
BMA | Broadcast 类型,可以建立多个邻居关系,需要进行DR和BDR的选举,hello 10S,dead 40S |
P2P | P2P类型,只能建立一个邻居关系,不需要进行DR和BDR选举,Hello 10S;dead 40S |
环回接口(虚拟接口) | 华为定义为P2P类型,但是实际上无数据转发;环回接口默认学习32位主机路由;不需要进行DR和BDR选举;hello 10S;dead 40S |
P2MP类型,可以建立多个邻居,不需要DR选举,hello 30S;dead 120S;会学习邻居的接口主机路由 | |
NBMA | NBMA类型,可以建立多个邻居,需要DR选举,hello 30S;dead 120S;无法自动建立邻居关系 |
Vlink | Vlink类型,只能建立一个邻居,不需要DR选举,Hello 10S;dead 40S;以单播形式发送hello报文 |
广播型多路访问类型 —BMA
OSPF在BMA类型的接口上通常以组播(224.0.0.5/0.6)的方式发送hello报文、LSU及LSACK报文;以单播的形式发送DD报文和LSR报文
[r3]display ospf interface GigabitEthernet 0/0/0 ---查看OSPF网络接口类型
State DR:接口角色为DR
Type: Broadcast :接口类型为Broadcast(可以建立多个邻居关系)
Poll 120:轮询时间 ----当一端发送hello包,另一端直到死亡时间结束也没有回复时,会进入到轮询时间,每相隔120S会向其设备发送一次hello包
Retransmit 5:定义了LSA的重传时间间隔为5S
Transmit Delay 1:定义了LSA的延迟时间为1S
修改轮询时间:
[Huawei-GigabitEthernet0/0/0]ospf timer poll 数值(1-3600)---3600S为两倍的周期链路刷新时间
修改时间最少应为hello时间的四倍
修改LSA的重传时间:
[Huawei-GigabitEthernet0/0/0]ospf timer retransmit 数值(1-3600)
修改时间最少应为2S
修改LSA的延迟时间:
[Huawei-GigabitEthernet0/0/0]ospf trans-delay 数值(1-500)
修改时间不能太大
非广播型多路访问类型 —NBMA
FRSW —帧中继 —基于数据包的 标签 进行转发
在NBMA网络中,所有数据包以单播数据通讯
在NBMA网络中,所有的OSPF路由器都需要使用peer命令单播指定邻居,该命令是双向的 —当一端指定了邻居而对端未指定时,状态机为Attempt机
[r1-ospf-1]peer IP地址 ---指定真实邻居的IP地址
在NBMA网络下,要选举DR
点到点类型 —P2P
[r3]display ospf interface GigabitEthernet 0/0/0 ---查看OSPF网络接口类型
OSPF在网络类型为P2P的接口上以组播的方式发送所有数据报文 ----不以单播形式发送的原因在于点到点网络可以不需要IP地址
OSPF在点到点网络中不用选举DR和BDR
开销值为48原因:在华为设备中,P2P网络的参考实际带宽默认为2.048(E1标准)—100/2.028=48
点到多点类型 —P2MP
[r1-Tunnel0/0/0]ospf network-type p2mp ---修改接口类型
OSPF在点到多点之间不用选举 DR和BDR
在P2MP环境下,只有hello包以组播形式发送,其它报文都是以单播的形式发送
环回接口
[r1-LoopBack0]ospf network-type broadcast ---修改接口网络类型为broadcast(BMA类型,可建立多个邻居关系)
开销值恒定为0:修改参考带宽不会影响到环回接口的开销值
Type:p2p :华为使用P2P来填充,而cisco使用loopback填充
所有通过OSPF学习到的环回接口的路由掩码都是32位,因为该接口是一个模拟的接口,实际没有连接用户,所以并没有其他IP地址存在与该接口之下,只有一个可用IP ----如果使用其他掩码,可能会导致环路或者路由黑洞
Witing----该字段代表正在进行条件匹配,当该计时器超时后,接口会认为自己为DR设备,且将接口的状态切换为exstart状态
MGRE环境下的OSPF网络搭建
华为将tunnel接口的传输速率定为了64Kbps —Coast值为1562
Hub节点此时属于P2P类型,只能建立一个邻居,无法建立多个邻居,故修改Tunnel接口的网络类型为Broadcast类型
不同的网络类型,可以建立邻居关系,但是可能会造成不同的问题;故修改接口网络类型时,全网保持一致
如果链路两端,一端需要选举DR,另一端不需要,可能会成功建立full状态,也可能有一个卡在exstart或2-way状态
让分支节点放弃DR选举,在MGRE环境下,hub节点必须成为DR设备,否则网络路由信息无法学习全面 —必须修改分支节点的接口优先级为0
配置内容:
MGRE环境下的全连接结构设置的源地址为接口,且在配置时应先将隧道接口关闭,否则会出现互相注册不成功
MGRE环境搭建:
中心节点
[r7]interface Tunnel 0/0/0
[r7-Tunnel0/0/0]ip address 192.168.4.7 24
[r7-Tunnel0/0/0]tunnel-protocol gre p2mp ----修改接口封装协议为GRE,且为点到多点模式
[r7-Tunnel0/0/0]source 107.0.0.7 ---中心节点的源IP地址不可变
[r7-Tunnel0/0/0]nhrp entry multicast dynamic ---开启伪广播(中心节点配置)
分支节点
[r8]interface Tunnel 0/0/0
[r8-Tunnel0/0/0]ip address 192.168.4.8 24
[r8-Tunnel0/0/0]source GigabitEthernet 0/0/0 ---当出接口IP会变化,则书写接口名称,不会变化时,书写出接口IP地址也可
[r8-Tunnel0/0/0]nhrp entry 192.168.4.7 107.0.0.7 register ---向中心节点进行注册
另一个分支同理配置
启用OSPF:
[r7]ospf 1 router-id 7.7.7.7
[r7-ospf-1]area 0
[r7-ospf-1-area-0.0.0.0]network 192.168.7.1 0.0.0.0 ---精准宣告
[r7-ospf-1-area-0.0.0.0]network 192.168.4.7 0.0.0.0 ---精准宣告
分支节点同理,宣告虚拟网段和私网网段
修改中心和分支节点的Tunnel口为Broadcast类型:
[r7-Tunnel0/0/0]ospf network-type broadcast
分支节点同理
让分支节点放弃选举:
[r8-Tunnel0/0/0]ospf dr-priority 0
OSPF的不规则区域划分
不规则区域:
-
远离骨干的非骨干区域
-
不连续骨干区域
根本解决方案:对OSPF网络重新规划与配置,满足OSPF区域划分规则
使用Tunnel隧道
在R3和R2之间建立一条VPN隧道,隧道IP需宣告在骨干区域内,从而让R3设备成为ABR设备(区域边界路由器)
选路时,域内的路由>域间>域外
使用VPN隧道解决不规则区域的问题:
- 可能产生选路不加
- 造成重复更新
- 资源消耗
这种方法问题太多,所有在工程中几乎见不到(仅作为了解)
Vlink —虚链路
vlink是专门为了解决OSPF不规则区域而诞生的技术,是一种虚拟的、逻辑的链路
vlink必须找到一个真实的ABR设备建立虚拟链路
[r2-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3 ---指定路由器的RID
[r3-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2
注意:配置位置需要再vlink穿越的区域中,且配置的是RID,而非邻居IP地址
虚链路的配置条件:只能穿越一个区域
Vlink被视为骨干区域的一段延伸 —vlink永远都是属于区域0
Vlink链路不传输任何数据
使用Vlink解决不规则区域的问题
-
资源消耗
-
虚链路只能穿越1个区域
使用Vlink修复次优路径及骨干区域不健壮问题
骨干区域不健壮 ----当R1和R2之间的链路出现问题时,R4将不能正常的访问到R1,因此我们可以在R3和R4之间搭建一条Vlink链路,这时R4将使用从R3传来的路由信息,从而实现访问
次优路径 ----当拓扑图内的所有设备都正常且数据畅通,R4想要访问R3的G0/0/1口时,会出现绕路的情况(R4的1接口传输给R2,R2输出给R1,再传输给R3的1接口),因为R4虽然学习到了从2接口接收到的路由信息,但不会去使用(从非骨干区域传来的路由信息会去学习但不会使用)
Vlink环路
场景一:
当R2和R4之间搭建起一条Vlink链路时,R4会将R5的路由信息传递给R2,实际数据的走向会发给R3,再由R3转发给R2,且R3不会使用从R4传来的路由信息;当R2接收到路由信息会学习并使用,且会将该信息传递给R1,R1再将该信息传递给R3;当R3想访问R5时,R3会通过路由信息向R1发出数据,R1转发给R2,R2会再次转发给R3,从而形成一个环路
想要解决这个问题,我们只需要将R2和R4之间的Vlink链路删除,在R3和R4之间建立起Vlink链路,此时R3将会使用从R4传来的路由信息,避免环路,因此,在选择Vlink链路的建立时应仔细考虑
场景二:
R4和R2建立起了Vlink链路,R4也将学习并使用从R1发来的拓扑图信息,而此时R4和R2都将路由信息进行了汇总,R2将其汇总成了 10.0.0.0/8,而R4将其汇总成了 10.1.0.0/16;R2和R4都将此路由汇总后的信息发送给了R3,R3会学习并使用两条路由信息,当R4想要访问R1时,根据路由信息掩码最长匹配规则,将R4发来的数据再次发送回R4,使得数据不通
OSPF汇总路由时,要在其相应的区域内进行汇总
OSPF规定,Vlink所在的非骨干区域不能传递聚合路由 ----ABR设备不能向配置了Vlink链路的区域传递聚合链路
双向重发布
重发布:把一种路由信息以另外一种路由协议的方式发送出去 ----类似于OSPF的宣告
[Huawei-ospf-1]import-route ospf 2 ---将OSPF进程2的路由信息引入到OSPF进程1内 ---在OSPF进程1内进行配置
[Huawei-ospf-2]import-route ospf 1
在OSPF中,通过重发布技术引入路由后,该路由条目的优先级为150
RID的相关问题:
同一个区域内,两台直连的相同RID的路由器,两者不会建邻
同一个区域内,三台设备相连,中间的路由器RID为2.2.2.2,其它两台设备的RID相同(1.1.1.1),三者可正常建邻;通过华为路由器的规定,同区域内存在两台RID相同设备,会使随机一个设备自动修改RID
不同区域 或 不同OSPF域的两台RID相同的设备不会影响建邻