OSPF的不规则区域
OSPF区域划分需要遵循的要求:
1,必须存在ABR设备
2,必须按照星型拓扑结构来划分
1,远离骨干的非骨干区域
2,不连续骨干
1,使用Tunnel隧道将非法的ABR设备合法化
R4在使用隧道连接到区域0之后,可以直接通过拓扑信息学习到区域0里的路由信
息,同时也可以通过R2将区域0的拓扑信息转换成路由信息学习一次,但是,R4会将自
己通过拓扑信息计算的路由信息加表,即使他的开销值巨大。
使用隧道来解决不规则区域的问题:
1,可能造成选路不佳的情况
2,可能导致重复更新
3,R2和R4直接需要建立邻居关系,所以,需要发送周期性的数据进行维护,造成中间
通过链路的负担加重。
2,使用虚链路解决不规则区域
注意:虚链路永远属于区域0
[r4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2
[r2]display ospf vlink --- 查看虚链路的详情
网络类型
OSPF接口的网络类型(工作方式)
BMA(以太网)
Broadcast,可以建立多个邻居关系,需要进行DR和BDR选举,
hello 10S,dead time 40S
P2P(PPP,HDLC,
MGRE,GRE)
P2P,只能建立一个邻居关系,不需要进行DR和BDR的选举,
hello 10S,dead time 40S
虚拟接口(环回接口) P2P,只是华为定义为P2P类型,实际没有数据收发,环回接口
的开销值定义为0。环回接口默认学习32位的主机路由,如果
想还原真实配置,可以将接口网络类型从P2P改为Broadcast。
P2MP,可以建立多个邻居关系,不需要进行DR和BDR选举,
hello 30S,dead time 120S,可以学习邻居接口的主机路由。
NBMA(帧中继)
NBMA ,可以建立多个邻居关系,需要进行DR和BDR选举,
hello 30S,dead time 120S,只能手工建立邻居关系
Virtual,只有在虚链路情况下自动出现,hello 10S,dead time
40S,以单播形式发送hello包周期保活
使用虚链路解决不规则区域的问题:
1,R2和R4直接需要建立邻居关系,所以,需要发送周期性的数据进行维护,造成中间
通过链路的负担加重。
2,虚链路只能穿越一个区域
3,使用多进程双向重发布
因为不同的路由协议之间,对路由的理解及运行逻辑都不相同,所以,不同的路由协议
之间是存在信息隔离的。
重发布 --- 将一种协议按照另一种协议的规则发布出去 --- 需要在同时运行两种协议的
设备(ASBR设备 --- 自治系统边界路由器/协议边界路由器)上执行该技术 --- 只有执
行了重发布的设备才能叫做ASBR设备。
[r4-ospf-1]import-route ospf 2
O_ASE --- 导入的路由信息标记为此标记,代表是域外的路由信息,这些路由信息的可控
性较低,信任程度较低,优先级默认设置为150。
LSA --- 链路状态通告 --- 是OSPF在不同网络环境下用于携带和传递不同的信息
LSDB --- 链路状态据库
SPF
LSA的头部内容
分区 11.11HCIP-中心脱产 的第 2 页
Type --- LSA的类型 --- 在OSPFV2当中,需要具体掌握6中LSA
LinkState ID --- 链路状态标识符 --- 可以理解为是一个LSA的名称,而且,这个参数在不同的
LSA类型中将携带不同的信息。
AdvRouter --- 通告路由器 --- 谁发出的LSA在这个参数就是谁的RID。
链路状态类型,链路状态ID,通告路由器 ---- 被称为是LSA的“三元组”,因为这三个参数可
以唯一的标识出一条LSA信息。
LS AGE --- LSA的老化时间 --- 单位S --- 当一条LSA被始发路由器产生时置为0,之后,该LSA
在网络中传播,老化时间也会持续累加。 ---- 1800S --- 3600S --- MAX-Age ---- 当一条
LSA的老化时间到达3600S时(最大老化时间)则将会从LSDB数据库中删除。
LEN --- 长度 --- 表示LSA的内容所占的字节数
SEQ --- 序列号 --- 本质是由32位二进制构成 --- 一台路由器每发送同一条LSA时都会携带一
个序列号,且逐次加1。
序列号空间
直线型空间 --- 从最小值到最大值逐次加一,优点是新旧关系容易区分,缺点是一
旦序列号空间用尽,将无法判断新旧。
循环型空间 --- 从最小值到最大值在继续循环,序列号可以一直使用,但是,当两
个序列号差值较大时,新旧关系不好区分。
棒棒糖型空间 --- OSPF采用的就是这种序列号空间,但是,为了避免循环型序列
空间的缺点,OSPF要求不能进入循环部分,所以,其取值为0X80000001 -
0X7FFFFFFE
当序列号达到最大值时,始发设备会将该LSA的老化时间设置为最大老化时间,之
后发出,其他收到该LSA的设备因为其序列号值最大,将刷新本地LSDB数据库,之
后,又因为该LSA老化时间为最大老化时间,将把该LSA信息删除。同时,始发设备
会再发送一条相同的LSA,其序列号为0X80000001,之后,其他设备将该LSA信息收
集入库,起到刷新序列号空间的效果。
chksum --- 校验和 --- 这个参数也会参与新旧关系的比较。如果两条相同的LSA其序列号也相
同,则将比较校验和,校验和大的判定为新。
类型
LS ID
通告路由器
传播范围
携带信息
Type - 1 LSA
Router
通告者的
RID
本区域内所有运行OSPF
的设备的RID
单区域
本地接口直连
的拓扑信息
Type - 2 LSA
Network
DR的IP
MA网络中DR所在的路
由器的RID
单区域
单个MA网络网
段的补充信息
分区 11.11HCIP-中心脱产 的第 3 页
Type - 3 LSA
Sum-Net(summary)
路由的目标
网络号
ABR,在通过下一个ABR
设备时,将修改为新的
ABR
ABR相邻的
单区域
域间路由信息
Type - 1 LSA --- 一个网络中,每台设备都需要发送且只发送一条1类LSA。1类LSA使用通告
者的RID作为LS ID。
LINK --- 每一条LINK都是在描述路由器接口的连接情况,一个接口可以使用多个LINK来
进行描述
Type - 2 LSA --- 在MA网络环境下,仅依靠1类LSA无法获取完整的拓扑信息,所以,我们引入
了2类LSA,对拓扑信息进行补充说明。 --- 二类LSA所补充的都是一些公共信息,所以,一
个MA网络中只需要一台设备发送就可以了。所以,2类LSA由MA网络中的DR设备发送,并
且使用DR设备的IP地址作为LS ID。
因为,1类和2类LSA传递的是拓扑信息,而其余的LSA传递的是路由信息,传递路由信息的
LSA需要经过1类和2类LSA的验算才能使用。 ---- 需要通过1类和2类LSA找到通告者的位置
Type - 3 LSA --- 传递的是路由信息,由ABR设备通告,使用目标网络号作为LS ID。三类LSA中所
携带的开销值是通告者到达目标网段的开销值。
类型
LS ID
通告路由器
传播范围
携带信息
Type - 1 LSA
Router
通告者的
RID
本区域内所有运行OSPF的
设备的RID
单区域
本地接口直
连的拓扑信
息
Type - 2 LSA
Network
DR的IP
MA网络中DR所在的路由
器的RID
单区域
单个MA网络
网段的补充
信息
Type - 3 LSA
Sum-Net(summary)
路由的目
标网络号
ABR,在通过下一个ABR
设备时,将修改为新的
ABR
ABR相邻的单
区域
域间路由信
息
Type - 5 LSA
External(ase)
路由的目
标网络号
ASBR
整个OSPF区
域
域外路由信
息
Type - 4 LSA
Sum-Asbr(asbr)
ASBR的RID ASBR所在区域的ABR设
备,在通过下一个ABR设
备时,将修改为新的ABR
除了ASBR所
在区域的单
区域
ASBR的位置
Type - 7 LSA
NSSA
路由的目
标网络号
ASBR,离开NSSA区域后
将被转换成5类LSA
单个NSSA区
域
域外路由信
息
Type - 5LSA
Metric --- 因为不同路由协议对开销值的评判标准不同,所以,在进行重发布时,无法直
接使用其原先的开销值。所以,我们在重发布后将舍弃原先的开销值,而重新赋予其一
个规定的初始值 --- seed metric(种子度量值) --- 将路由重发布到OSPF中时,其初
始的种子度量值默认为1。
[r4-ospf-1]import-route rip 1 cost 2 --- 在重发布过程中修改种子度量值
E --- 标记位 --- 标志着开销值的类型
E位置0 --- 类型1 --- 如果开销值类型为类型1,则所有OSPF网络内设备到达域外
目标网段的开销值都等于种子度量值加沿途累加开销值。
E位置1 --- 类型2 --- 5类LSA默认的开销值类型为类型2。如果开销值类型为类型
2,则所有OSPF网络内设备到达域外目标网段的开销值都等于种子度量值。
[r4-ospf-1]import-route rip 1 type 1 --- 在重发布中修改开销值类型
Forwarding Address --- 转发地址 --- 主要是为了应对选路不佳的情况。如果不存在选路
不佳的情况,则将使用0.0.0.0进行填充,无实质性作用;但是,如果存在选路不佳的情
况,则将会把最佳选路携带在FA地址上,之后设备到达目标网段会查找到达FA地址的路
径,而不会按照算法再去找通告路由器。
Tag --- 路由标记 --- 主要是给路由信息打标记,方便后面流量的抓取。默认取值为1。
[r4-ospf-1]import-route rip 1 tag 666
1类LSA的报文格式
分区 11.11HCIP-中心脱产 的第 2 页
V --- 置1,代表该路由器是V-LINK的一个端点
E --- 置1,代表该路由器为ASBR设备
B --- 置1,代表该路由为ABR设备
OSPF优化 --- 主要指减少OSPF中LSA的更新量
1,汇总 --- 为了减少骨干区域的更新量
2,做特殊区域 --- 为了减少非骨干区域的LSA的更新量
汇总 --- OSPF的汇总和RIP的接口汇总不同,因为OSPF只有在区域之间传递路由信息,所
以,OSPF的汇总被称为区域汇总。
1,域间路由汇总 -- 区域之间在传递三类LSA时进行汇总,减少3类LSA的更新量
[r1-ospf-1-area-0.0.0.2]abr-summary 192.168.0.0 255.255.224.0
注意:域间路由汇总只能时一台ABR设备将自己通过1类和2类LSA学习到的路由信
息汇总成一条3类LSA发送。
2,域外路由汇总 -- 主要针对5类/7类LSA进行汇总
[r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0
域外汇总网段的度量值:
类型1:将选择所有明细路由中开销值最大的作为汇总网段的度量值
类型2:将选择所有明细路由中开销值最大加1作为汇总网段的度量值
分区 11.11HCIP-中心脱产 的第 3 页
特殊区域
第一大类的特殊区域 --- 1,不能是骨干区域;2,不能存在虚链路;3,不能存在ASBR
设备
符合以上特点的区域,我们可以配置成为第一大类的特殊区域 --- 末梢区域(stub)
如果,将一个区域配置成为末梢区域,则这个区域将拒绝学习4类和5类LSA。为了保证
可以正常访问到域外的网段,所以,末梢区域会自动生成一条指向骨干的三类缺省(通
过3类LSA生成的缺省)。
[r5-ospf-1-area-0.0.0.2]stub
注意:一旦配置特殊区域,区域内所有设备都必须配置
2,完全末梢区域(Totally stub) --- 在拒绝4类和5类LSA的基础上,进一步拒绝3类
LSA但是保留3类缺省。
[r1-ospf-1-area-0.0.0.2]stub no-summary --- 只需要在ABR设备上配置即可
第二大类特殊区域 --- 1,不能是骨干区域;2,不能存在虚链路;3,必须存在ASBR设
备
符合以上特点的区域,我们可以配置成为第二大类的特殊区域 --- 非完全末梢区域
(NSSA)
如果,将一个区域配置成为NSSA,则这个区域将拒绝学习4类和5类LSA。为了保证可以
正常访问到域外的网段,所以,NSSA区域会自动生成一条指向骨干的七类缺省(通过7
类LSA生成的缺省)。
[r4-ospf-1-area-0.0.0.1]nssa
注意:一旦配置特殊区域,区域内所有设备都必须配置
Forwarding Address --- 转发地址 --- 主要是为了应对选路不佳的情况。如果不存在选路
不佳的情况,则将使用0.0.0.0进行填充,无实质性作用;但是,如果存在选路不佳的情
况,则将会把最佳选路携带在FA地址上,之后设备到达目标网段会查找到达FA地址的路
径,而不会按照算法再去找通告路由器。
在7类LSA中,会默认使用ASBR设备环回接口的IP地址作为转发地址(如果不存在环回接
口,则将使用ASBR的物理接口的IP地址作为转发地址),这样收到这条LSA的设备到达目
标网段将直接发送到转发地址上。
E --- 一般置1,代表支持5类LSA,如果配置成为特殊区域,则该标记位置0
N --- 一般置0,如果在NSSA区域中,将置1。
P --- P位置1,则代表该LSA支持7转5
0.0.0.0/0 O_NSSA 150 --- 7类LSA生成的路由信息其标记为O_NSSA,优先级也是
分区 11.11HCIP-中心脱产 的第 4 页
150。
4,完全的非完全末梢区域 (Totally NSSA) --- 在拒绝4类和5类LSA的基础上,进一
步拒绝三类LSA。并自动生成一条指向骨干区域的3类缺省。
[r3-ospf-1-area-0.0.0.1]nssa no-summary --- 仅需在ABR设备上配置即可
OSPF的附录E --- OSPF针对3类或5类/7类在某些特定情况下的解决方案
为了避免三元组完全相同,导致无法区分两条不同的LSA,则附录E要求,掩码长度较长将使
用目标网段的直接广播地址作为LS ID
OSPF的拓展配置
1,缺省路由
3类缺省 --- 只能通过特殊区域(普通的STUB,完全STUB,完全的NSSA)的配置自动
生成。
5类缺省 --- 通过配置命令生成,将域外的路由信息重发布到OSPF中
[r9-ospf-2]default-route-advertise --- 相当于将设备上其他途径获得的缺省信息重发
布到OSPF网络中
[r9-ospf-2]default-route-advertise ALWAYS --- 如果设备上本身不存在缺省信息,则
可以通过后面增加always参数来强制下发一条缺省
7类缺省 --- 可以通过配置特殊区域(普通的NSSA)自动生成,也可以通过配置手工配
置
[r9-ospf-1-area-0.0.0.3]nssa default-route-advertise --- 在NSSA区域内部生成一条缺
省信息
2,手工认证 --- OSPF邻居间发送数据包中携带口令,两边如果口令相同,则身份合法。
1,接口认证 --- 邻居接口上配置,两端口令不相同,则无法建立邻居关系。
[r11-GigabitEthernet0/0/0]ospf authentication-mode md5 1 plain 123456
注意:认证模式,Key ID以及认证口令必须相同,否则将影响邻居关系的建立。
2,区域认证 --- 本质还是接口认证,在一个区域中配置区域认证,相当于同时在这个区
域中所有激活的接口上配置了接口认证。
[r1-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123456
3,虚链路认证 --- 虚链路建立过程中的认证
[r9-ospf-1-area-0.0.0.3]vlink-peer 7.7.7.7 md5 1 cipher 123456
3,加速收敛 --- 减少计时器的时间
修改hello时间的命令
[r6-GigabitEthernet0/0/0]ospf timer hello 5
注意:hello时间修改,死亡时间会自动按照4倍的关系进行匹配。
修改死亡时间的命令
[r6-GigabitEthernet0/0/0]ospf timer dead 40
分区 11.11HCIP-中心脱产 的第 1 页
[r6-GigabitEthernet0/0/0]ospf timer dead 40
注意:修改死亡时间,hello时间不会改变
Waiting time --- 等待时间 --- 时间长短等同于死亡时间,DR/BDR选举时间。修改死亡时
间,该计时器时间会同步修改。注意,两个计时器分开计时,只是数值长短相同。
Poll --- 轮询时间 --- 120S --- 与状态为DOWN的邻居关系发送hello包的间隔时间 ----
NBMA
NBMA环境下单方面指定邻居后,将邻居置为Attempt状态,等待对方指定自己。
如果对方一直没有指定(经过一个等待时间 -- 120S,这个时间内,会以30S为周
期发送hello包)会将邻居的状态改为down状态,之后,将按照poll时间为周期发
送hello包。
[r6-GigabitEthernet0/0/0]ospf timer poll ?
INTEGER<1-3600> Second(s)
Retransmit --- 重传时间 --- 5S --- 发送信息时需要确认,如果重传时间内没有收到确认
信息,则将重传。
[r6-GigabitEthernet0/0/0]ospf timer retransmit ?
INTEGER<1-3600> Second(s)
Transmit Delay --- 传输延迟 --- 1S --- 主要是附加在LSA的老化时间上的,为了补偿传
输过程中消耗的时间。
[r6-GigabitEthernet0/0/0]ospf trans-delay ?
INTEGER<1-500> Second(s)
4,沉默接口 --- 将一个接口设置称为沉默接口,他将只接受不发送OSPF的数据包。
[r6-ospf-1]silent-interface GigabitEthernet 0/0/0
5,路由过滤 --- 主要是针对3类,5类,7类LSA进行过滤
过滤3类LSA
[r3-ospf-1-area-0.0.0.1]abr-summary 172.16.32.0 255.255.224.0 not-advertise --- 在ABR设备
上进入对应的区域配置
过滤5类/7类LSA
[r12-ospf-1]asbr-summary 172.16.160.0 255.255.224.0 not-advertise
6,路由控制
OSPF的选路原则
OSPF的防环
路由控制
优先级
[r3-ospf-1]preference 50 --- 修改类型为OSPF路由(通过1类,2类和3类LSA学到的)的
默认优先级
[r3-ospf-1]preference ase 200 --- 修改类型为O_ASE/O_NSSA的路由(通过5类和7类LSA
学到的)的默认优先级
注意:这两条命令在修改时只能影响本设备,并且将本设备上所有对应协议类型的路由
条目优先级统一修改。
COST
COST = 参考带宽 / 真实带宽
1,通过修改参考带宽达到修改开销值的目的
[r3-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r3-ospf-1]bandwidth-reference 1000
Info: Reference bandwidth is changed. Please ensure that the reference bandwidth
that is configured for all the routers are the same.
注意:因为参考带宽一改,所有设备都需要修改,所以,无法进行有效的选路控
制,只能是通过增大参考带宽的方式来应对选路不佳的情况。
2,通过修改真实带宽达到修改开销值的目的
[r3-GigabitEthernet0/0/0]undo negotiation auto --- 关闭接口自动协商功能
[r3-GigabitEthernet0/0/0]speed 10 --- 将接口的传输速率修改为10Mbps(在修改传
输速率时,只能将接口的传输速率改小)
注意:该修改效果必须重启接口后生效
这种方法确实可以起到控制选路的效果,但是,因为只能把接口的传输速率改低,
所以,会影响链路的传输效率,不建议使用。
3,直接修改接口的开销值
这种方法也可以修改环回接口的开销值。
[r3-LoopBack0]ospf cost 10
分区 11.11HCIP-中心脱产 的第 1 页
注意:如果一条链路两端接口的开销值大小不一样,则我们将按照路由传递方向的
入接口的开销值来计算。
路由层面(控制层面):路由协议传递路由信息产生的流量
数据层面:设备访问目标地址时产生的数据流量
注意:如果想要改变到达某一个末梢网段的开销值,建议直接在这个修改这个末梢
网段接口的开销值,而不要修改沿途骨干链路的开销值。因为沿途修改则经过的路
由的开销都会影响。
OSPF的选路原则
域内:1类,2类
域间:3类
域外:5类,7类 --- 还分为类型1,类型2
1,如果学到了两条到达相同目标的路由时,并且都是通过1类和2类LSA学到的,这种情
况下,直接比较开销值,若两边开销值相同,则负载均衡。
2,如果学到了两条到达相同目标的路由时,并且都是通过3类LSA学到的,这种情况
下,直接比较开销值,若两边开销值相同,则负载均衡。
3,类型2的选路原则 --- 先比较种子度量值,优选种子度量值小的;如果种子度量值相
同,则比较沿途累加开销值,优先沿途累加开销值小的。如果都相同,则负载均衡。
类型1的选路原则 --- 直接比较总度量值(种子度量+沿途累加开销值),优选总度
量小的;如果总度量相同,则负载均衡。
E --- 标记位 --- 标志着开销值的类型
E位置0 --- 类型1 --- 如果开销值类型为类型1,则所有OSPF网络内设备到达域外
目标网段的开销值都等于种子度量值加沿途累加开销值。
E位置1 --- 类型2 --- 5类LSA默认的开销值类型为类型2。如果开销值类型为类型
2,则所有OSPF网络内设备到达域外目标网段的开销值都等于种子度量值。
类型1永远优于类型2
[r3]display ospf lsdb ase --- 同时展开所有5类LSA
4,域内和域间 --- 域内路由优于域间路由
分区 11.11HCIP-中心脱产 的第 2 页
5,域间和域外 --- 域间优于域外
6,5类和7类 --- 在华为体系中,5类和7类LSA生成的路由信息在优先级比较方面没有
区别。
OSPF的防环
域间防环
1,星型区域划分本身就是一种防环的手段。
2,区域之间需要遵循区域水平分割机制。 --- 从哪个区域学来的就不再发回到那
个区域
域内防环
SPF --- 最短路径优先算法