OSPF的不规则区域
区域划分的要求:
①区域之间必须存在ABR设备
②区域划分必须按照星型拓扑结构划分
1、远离骨干的非骨干区域
2、不连续骨干
OSPF不规则区域的解决方法
1、使用VPN隧道使非法的ABR合法化
在这个过程中,可以注意到,R4在创建虚拟专线后,可以直接通过拓扑信息学习到区域0的路由信息,同时也可以通过R2将区域0的路由信息发送给R4,而R4会无条件信任自己通过拓扑学来的路由信息,即使开销值非常大
使用VPN隧道解决不规则区域的缺点:
①因为隧道的存在,可能出现选路不佳的情况,导致数据额外进行封装,浪费资源
②可能会出现重复更新的情况
③因为虚拟链路的存在,AR4和AR2之间需要建立邻居关系,就导致AR2和AR4之间的周期性数据都要穿过中间的区域1,导致中间区域的资源浪费
2、使用OSPF虚链路解决不规则问题
[r4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2---虚链路的配置一定是双向的。且虚链路只能穿越一个区域(虚链路永远属于区域0)
[r2]display ospf vlink---查看VLINK信息
网络类型 | OSPF接口的网络类型(工作方式) |
BMA(以太网) | Broadcast,可以建立多个邻居关系。需要进行DR和BDR选举,hello time 10s,dead time 40 s |
P2P(PPP、HDLC) | P2P,只能建立一个邻居关系,不需要进行DR和BDR选举,hello time 10s,dead time 40 s |
环回接口(虚拟接口) | P2P,华为设备定义为P2P类型,但实际上无数据收发。环回接口默认学习32位主机路由 |
NBMA(帧中继) | NBMA,可以建立多个邻居关系,需要进行DR和BDR选举,hello time 30s,dead time 120s,无法自动建立邻居关系 |
P2MP,可以建立多个邻居关系,不需要进行DR和BDR选举,hello time 30s,dead time 120s。会学习邻居接口的主机路由 | |
Virtual,以单播的形式发送hello包;hello time 10s,dead time 40s |
使用虚链路解决不规则区域的缺点:
①因为虚拟链路的存在,AR4和AR2之间需要建立邻居关系,就导致AR2和Ar4之间的周期性数据都要穿过中间的区域1,导致中间区域的资源浪费
②只能穿越一个区域
3、多进程双向重发布
重发布需要运行在同时运行不同协议的边界路由器上,OSPF把这样的边界路由器称为ASBR(自治系统边界路由器/协议边界路由器)。只有执行了重发布动作之后的设备才能被称之为ASBR设备
[r4-ospf-2]import-route ospf 1
导入的路由信息其标志为O_ASE(被认定为域外的路由信息)这部分路由信息的可控性较差
LSA(链路状态通告):OSPF协议在不同网络环境下产生的携带不同信息的载体
LSDB:链路状态数据库
SPF:最短路径优先算法
Type---LSA的类型,在OSPFV2版本中,需要掌握的LSA类型一共有6种
LinkState ID:链路状态标识符,用来标记一条LSA信息,相当于是一条LSA信息的名字
AdvRouter:通告路由器,发出这条LSA信息的设备的RID
链路状态类型、链路状态ID,通告路由器被称为“LSA三元组”,通过这三个参数可以唯一的标识出一条LSA
LSA的头部内容:
LSA的三元组
Age:LSA的老化时间,单位是s。当一条LSA信息被路由器产生时从0开始计时,整个LSA在网络中传递的全过程,计时不中断。当有新的LSA到达时,将会覆盖旧的LSA信息。一般情况下,LSA的老化时间应该小于1800s(因为OSPF每1800s会进行一次周期更新),为了防止老化时间无限制的增长,我们设计了一个最大老化时间MAX age(3600s)。当一条LSA的老化时间到达最大老化时间时,将被认定失效,将从本地的LSDB中删除掉
OSPF的周期更新是按照每条LSA的老化时间来进行计时的,当一条LSA的老化时间到达1800s时,将进行周期更新,重新发送这条LSA信息。当一台设备发出的LSA老化时间接近,但不相同时,则需要分别进行周期更新,导致资源浪费---组步调剂时器---300s---这是一种优化机制,当一条LSA信息的老化时间到达1800s后,将不直接进行周期更新,而是再等300s,到达2100s之后,会一次性将所有老化时间在1800s-2100s之间的LSA信息一起进行更新
序列号:32位二进制构成,由8位16进制来表示。一台路由器每发送同一条LSA信息,则将携带一个序列号,并且序列号依次加1
序列号空间
①直线型序列空间:从最小值开始一直到最大值,依次加1。新旧关系容易判断,但数量有限。若超出上限,则将无序列号可用,导致新旧关系无法判断
②循环型序列空间:序号可以循环使用,不会出现序号使用完的情况,但是若两个序号差值比较大时,可能会导致新旧关系无法判断
③棒棒糖型序列空间:OSPF使用的就是这种序列空间。但是在进入循环部分后,依旧会面临循环型序列空间的问题,所以,OSPF要求其不能进行循环,相当于是一个直线型序列空间,其取值为0X80000001-0X7FFFFFFE.
OSPF刷新序列号空间的方法:当一条LSA信息的序列号达到0X7FFFFFFE时,发出的路由器会将它的老化时间改为3600s,其他设备收到这条LSA信息后,会根据序号判断这是一条最新的LSA信息,将该信息刷新到本地LSDB中。之后,因为这条LSA信息的老化时间达到3600s,则将这条LSA信息删除掉。始发的路由器会再发送一条相同的LSA信息,其序列号使用0X80000001,其他设备收到后将会把最新的LSA信息刷新到LSDB中,则刷新了序列号空间
chksum:确保数据完整性。校验和也会参与LSA的新旧比较。当两条LSA三元组相同时,并且序列号也相同时,则可以使用校验和比较,校验和大的认定为新
类型 | LS ID | 通告者 | 作用范围 | 携带信息 |
Type-1LSA Router | 通告者的RID | 区域内所有运行OSPF协议的路由器的RID | 单区域 | 本地接口的直连拓扑 |
Type-2LSA Network | DR接口的IP地址 | 单个MA网络中DR所在的路由器的RID | 单区域 | 单个MA网络拓扑信息的补充信息 |
Type-3LSA Sum-Net(summary) | 路由信息的目标网络号 | ABR,在通过下一个ABR设备时将会被修改为新的ABR设备 | ABR相邻的单区域 | 域间路由信息 |
Type-5LSA External(ase) |
Type-1LSA---网络中所有设备都会发送并且只发送一条一类LSA。一类LSA的LS ID取值等同于通告者的RID
LINK---用来描述路由器接口连接情况的参数,一个接口可以使用多条Link来进行描述
Link type:这个类型主要和接口的网络类型有关,他会根据接口的网络类型判断这个接口运行在一个什么样的网络当中
Type-2LSA:在MA网络中,仅依靠1类LSA可能会出现信息描述不完整的情况,所以需要通过2类LSA对缺失的信息进行补充。---因为2类LSA提供的都是公共信息,所以并不需要所有设备都发,在一个MA网络中,只需要一台设备发送就可以了
所有携带路由信息的LSA都需要通过1类和2类LSA进行验算。所谓验算就是指通过传递路由信息的通告者的位置信息需要通过1类,2类LSA信息计算出来
Type-3LSA:传递的是域间路由信息,主要携带的是目标网段信息和开销值。目标网段此案系通过LS ID来进行携带,里面也会包含其掩码信息。其中的开销值指的是通告者到达目标网段的开销值