OSPF的不规则区域
区域划分的要求:
1.区域之间必须存在ABR设备;
2.区域划分必须按照星型拓扑结构划分
不规则区域:
1.远离骨干的非骨干区域
2.不连续骨干
解决方法:
1.使用VPN隧道使非法的ABR合法化
注:在这个过程中,R4在创建虚拟专线后,可以直接通过拓扑信息学习到区域0的路由信息,同时也可以通过R2将区域0的路由信息发送给R4,而R4会无条件信任自己通过拓扑学来的路由信息,哪怕开销值非常大
使用vpn隧道解决不规则区域的缺点:
1)因为隧道的存在,可能会出现选录不佳的情况,导致数据额外进行封装,浪费资源;
2)可能会出现重复更新的情况;
3)因为虚拟链路的存在,AR4和AR2之间需要建立邻居关系,就导致AR2和AR4之间的周期性数据都要穿过中间的区域1,导致中间区域的资源浪费。
2.使用OSPF虚链路解决不规则区域问题
(限制:虚链路只能穿越一个区域,虚链路永远属于区域0)
双向配置
[r4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2 ——虚链路的配置一定使双向的。 虚链路只能穿越一个区域——虚链路永远属于区域0。
使用虚链路解决不规则区域的缺点:
1)因为虚拟链路的存在,AR4和AR2之间需要建立邻居关系,就导致AR2和AR4之间的周期性数据都要穿过中间的区域1,导致中间区域的资源浪费;
2)只能穿越1个区域
3.多进程双向重发布
重发布需要运行在同时运行不同协议的边界路由器上,OSPF把这样的边界路由器称为ASBR——自治系统边界路由器(协议边界路由器)
,只有执行了重发布动作之后的设备才能称为是ABR设备
[r4-ospf-2]import-route ospf 1
缺点:导入的路由信息其标志为O_ASE,被认定为域外的路由信息(这部分路由信息可控性较差,所以信任度也较低)
优先级150
华为设备要求OSPF单区域的区域ID必须是区域0
LSA(链路状态通告)
LSA:OSPF协议在不同网络环境下产生的携带不同信息的载体
LSDB(链路状态数据库)
SPF(最短路径优先算法)
Type:LSA的类型,在OSPFV2版本中,需要掌握的LSA类型一共有6种
LinkState ID(链路状态标识符)用来标记一条LSA信息, 相当于是一 条LSA信息的名字。 AdvRouter (通告路由器):发出这条LSA信息的设备的RID。
链路状态类型,链路状态ID,通告路由器—— "LSA3 三元组”,通过这三个参数可以唯一的标识出一条LSA。
LSA的头部内容:
LSA的三元组
Age——LSA的老化时间——单位是s——当一条LSA信息被路由器产生时从0开始计时,整个LSA在网络传递的全过程,计时不中断。当有新的LSA到达时,将会覆盖旧的LSA信息。一般情况下,LSA的老化时间应该小于1800s(因为OSPF每1800s会进行一次周期更新)为了防止老化时间无限制地增长,我们设置了一个最大老化时间——MAX age:3600s,当一条LSA信息老化时间达到MAXage时,将被认定失效,从本地LSDB中删除。
OSPF的周期更新是按照每条LSA的老化时间来进行计时的,当一条LSA的老化时间到达1800s时,将进行周期更新,重新发送这条LSA信息。
当一台设备发出的LSA老化时间接近但不相同时,则需要分别进行周期更新,导致资源浪费——组步调计时器:300s——这是一种优化机制,当一条LSA信息的老化时间到达1800s之后,将不直接进行周期更新,而是再等300s,到达2100s之后,会一次性将所有老化时间在1800s-2100s之间的LSA信息一起进行更新。
seq(序列号):32位二进制构成,由8位1十六进制来表示。一台路由器每发送同一条LSA信息,则将携带一个序列号,并且序列号依次加1.
序列号空间:
1)直线型序列空间——数值从最小值开始一直到最大值,依次加1,这样的优点是新旧关系容易判断,但是数量有限。若超出上限,则将无序列号可用,导致新旧关系无法判断。
2)循化型序列空间——序号可以循环使用,不会出现序号使用完的情况。但是若两个序号差值比较大的时候,可能会导致新旧关系无法判断。
3)棒棒糖型序列空间——OSPF使用的就是这种序列空间,但是其进入循环部分后,依旧会面临循环型序列空间的文题,所以,OSPF要求其不能进入循环,相当于是一个直线型序列空间,其取值0X80000001-0X7FFFFFFE
OSPF刷新序列号空间的方法:当一条LSA信息的序列号达到0X7FFFFFFE时,发出的路由器会将他的老化时间改为3600s,其他设备收到这条LSA信息后,会根据序号判断这是一条最新的LSA信息,将该信息刷新到本地LSDB中。之后,因为这条LSA信息的老化时间达到3600s,则将这条LS信息删掉。始发的路由器会再发送一条相同的LSA信息,其序列号使用0X80000001,其他设备收到后会把最新的LSA信息刷新到LSDB中,则刷新了序列号空间。
(联想RIP毒化路由)
chksum(校验和):确保数据完整性。校验和也会参与LSA新旧比较,当两条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类 | NSSA区域 | 域外路由信息 |
Type-1 LSA:网络中所有设备都会发送且只发送1条一类LSA.一类LSA的LS ID取值等同于通告者的ID
LINK:用来描述路由器接口连接情况的参数;一个接口可以使用多条LINK来描述
LINK type:这个类型主要和接口的网络类型有关,它会根据接口的网络类型判断这个接口运行在一个什么样的网络当中
Type-2 LSA:在MA网络中,仅依靠1类LSA可能会出现信息描述不完整的情况,所以需要2类LSA对缺失的信息进行补充。——因为2类LSA提供的都是公共信息,所以,并不需要所有设备都发,在一个MA网络中,只需要一台设备发送即可。
仅1、2类LSA是拓扑信息,其他都是路由信息。
所有携带路由信息的LSA都需要通过1类和2类LSA进行验算。——所谓验算就是指传递路由信息的通告者的位置信息需要通过1类、2类
Typle-3 LSA:传递的是域间路由信息,主要携带的是目标网段信息和开销值。目标网段信息通过LS ID 来进行携带,里面也会包含其掩码信息。其中的开销值指的是通告者到达目标网段的开销值。 Type-5 LSA:5类LSA携带的通过重发布导入进来的域外路由信息,因为不同网络对度量值的评判标准不同,所以当域外路由导入到本地网络中,我们将放弃其原先的开销值,而赋予它一个定义值——seed metric(种子度量值),OSPF网络默认种子度量值为1(可修改)
[r4-ospf-1]import-route rip 1 cost 10 ——在重发布时修改种子度量值
E Type:一个标记位。当标记位指0时,则代表使用类型1;当标记位置1时,则代表使用类型2,类型指开销值的类型,OSPF默认使用类型2
类型1:如果开销值类型为为类型1,则域内所有设备到达域外目标网段的开销值都等于本地到达通告者的开销值加种子度量值
[r4-ospf- 1]import-route rip 1 type1 ——重发布时修改开销值类型
类型2:如果开销值类型为类型2,则域内所有设备到达域外目标网段的开销值都等同于种子度量值
Forwarding Address(转发地址):一个重定向地址,类似于RIPV2中的下一跳字段,当出现选路不佳的情况,则会把最佳选路信息携带在这个字段上,则将按照转发地址寻找下一跳,而不再按照算法寻找通告者。5类LS中,在不存在选路不佳的情况下,将使用0.0.0.0来进行填充。
Tag(路由标记)——可以给5类LSA打标记,方便后边通过标记来抓取流量
[r4-ospf-1]import-route rip 1 tag ? INTEGER<0-4294967295> Tag value
Type-4 LSA :辅助5类LSA完成验算过程,找到ASBR的位置。里面只携带一个开销值,指的是通告者到达ASBR的开销。
V—置1,则代表该路由器是VLINK的一个端点 E—置1,则代表该路由器是ASBR设备 B—置1,则代表该路由器是区域边界设备ABR。
OSPF的优化
1.汇总——减少骨干区域的LSA数量
2.特殊区域——减少非骨干区域的LSA数量
汇总:
OSPF的汇总不同于RIP的接口汇总,而称为区域汇总。因为OSPF在区域之家传递的是路由信息。
1.域间路由汇总——实质上是通过在ABR设备上对区域之间传递的三类LSA进行汇总 [r1-ospf-1-area-0.0.0.2]abr-summary 192.168.0.0 255.255.252.0 注:域间路由汇总只能汇总ABR设备自身通过1类, 2类LSA信息学习到的路由信息。
2.域外路由汇总—其实质是在ASBR上,通过重发布,将导入的5类/7类LSA进入到OSPF网络后进行汇总。 [r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0. 注: 5类LSA汇总之后的开销值计算方法: Type2 ——汇总网段的开销值等于所有明细路由开销值中最大值加1。 Type 1——汇总网段的开销值等于所有明细路由开销值中最大值。
特殊区域: OSPF的特殊区域大体上可以分为两大类,四小类 设置成第一大类的条件 :
1)不能是骨干区域; 2)不能存在虚链路; 3)不能存在ASBR设备。
1,我们将这样的区域称为末梢区域(STUB) :如果将一个区域配置成末梢区域,则这个区域将不再学习4类和5类LSA。这样的区域将拒绝学习域外路由信息,但是,其依旧具有访问域外路由的需求,所以,配置完成后,会自动生成-条指向骨干区域的3类缺省。 [r5-ospf-1-area-0.0.0.2]stub ——配置末梢区域 注意:一旦做特殊区域,则所有区域内的设备都必须做特殊区域 2,完全末梢区域(totally stub )在末梢区域的基础上,进一步拒绝学习3类LSA,仅保留3类缺省即可。 [r1-ospf- 1-area-0.0.0.2]stub no-summary ——这个命令只需要在ABR设备上配置即可。
设置成第二大类的条件:
1)不能是骨干区域; 2)不能存在虚链路; 3)存在ASBR设备。
1.我们将这样的区域称为非完全末梢区域(NSSA) —— 如果将一个区域配置成非完全末梢区域,则这个区域将不再学习4类和5类LSA。但是,该区域依旧需要将后面的域外路由信息导入,因为拒绝5类,所以,只能以7类LSA的形式来继续传递。之后,在7类LSA信息离开NSSA区域后,需要再转换成5类LSA进行传递。这样的区域将拒绝学习域外路由信息,但是,其依旧具有访问域外路由的需求,所以,配置完成后,会自动生成一条指向骨干区域的7类缺省。 [r4-ospf-1-area-0.0.0.1]nssa O_ NSSA —7类域外路由信息的标记,默认优先级也是150 E —一般置1,代表支持5类LSA。如果做成特殊区域,则E位将置0。 N —般置0, NSSA区域置1,代表支持7类LSA P —如果置1,则代表支持7转5
Forwarding Address (转发地址):一个重定向地址,类似于RIPV2中的下一跳字段,当出现选路不佳的情况,则将会把最佳选路信息携 带在这个字段上,则将按照转发地址寻找下一-跳, 而不再按照算法寻找通告者。5类LSA中,在不存在选路不佳的情况下,将使用0.0.0.0 来进行填充。
但是,在7类LSA当中,在不存在选路不佳的情况,会将ASBR设备的环回接口的IP地址作为转发地址。对于其他路由器来说,只要能找到环回接口的IP地址,就可以找到ASBR设备。如果没有环回接口,则将使用物理接口的IP地址作为转发地址。
2,完全的非完全末梢区域—完全的NSSA区域—totally NSSA区域—在NSSA区域的基础上,进一步拒绝学习3类LSA, 产生1条3 类缺省即可。 [r3-ospf-1-area-0.0.0.1]nssa no-summary 注意:配置成为完全的NSSA区域后,会自动生成1条指向骨干的三类缺省,但是,之前普通的NSSA区域产生的7类缺省依然会保留,因为 OSPF ISA的优先级,设备会选择使用3类缺省而不用7类缺省。
注意:自动生成的缺省必须和手动添加的缺省方向-致,否则可能出现环路。
OSPF的拓展配置
1.手工认证——认证就是在OSPF邻居间,交互的所有数据包中携带口令。口令相同,则身份合法。(接口认证)
OSPF认证方式共3种:
1)接口认证—在邻居通信的接口上配置
[r5-GigabitEthernet0/0/0]ospf authentication-mode md5 1cipher 123456
注:两边配置的key id 必须相同,否则邻居关系将认证失败。
2)区域认证—本质也是接口认证,相当于一次性将在某个区域激活的所有接口配置接口认证。
[r3-ospf-1-area-0.0.0.0]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
2.加快收敛——减少计时器时间
修改hello时间
[r5-GigabitEthernet0/0/0]ospf timer hello 5
注意: Hello时间修改,死亡时间将自动按照4倍关系进行匹配
修改死亡时间
[r1-GigabitEthernet0/0/0]ospf timer dead 20
注意: dead时间修改,Hello时间不会 自动变化
waiting time(等待计时器)—DR和BDR选举时的选举时间,时间长短等同于死亡时间,死亡时间一旦修改,等待时间会同步变更。
pool(轮询时间)—120s—与状态为down的邻居关系发送hello包的间隔时间。在NBMA网络环境下,如果一方指定了邻居关系,则会将邻居的状态改为过渡状态,期间会按照默认30s一次发送hello包,但是,如果对方一直没有指定,经过一个等待时间(120s等同于死亡时间),将会将邻居的状态置为down状态,之后,将按照120s的间隔发送hello包。
修改pool:
[r5-GigabitEthernet0/0/0]ospf timer poll ? INTEGER<1-3600> Second(s)
retransmit(重传时间):默认5s.发送信息需要进行确认,如果重传时间内没有收到对方的确认,则将重传。
[r5-GigabitEthernet0/0/0]ospf timer retransmit ? INTEGER<1-3600> Second(s)
transmit delay(传输延时):1s.这个时间是附加在LSA老化时间上的,因为LSA在传输过程中,时间不会发生变化。所以,需要通过这个时间来补偿传输过程中消耗的时间。
[r5-GigabitEthernet0/0/0]ospf trans-delay 2
3.沉默接口——将一个接口配置成为沉默接口,则这个接口将只接收,不发送OSPF的数据包。
[r5 -ospf-1]silent-interface GigabitEthernet 0/0/2
在OSPF中,沉默接口将针对单播和组播包生效
4.缺省路由
3类缺省、5类缺省、7类缺省
3类缺省:
特点:标记为OSPF,默认优先级为10
5类缺省:通过手工配置生成的缺省
[r2-ospf- 1]default-route-advertise
相当于将本设备上通过其他方式学到的缺省路由重发布到OSPF网络当中
特点:标记为O_ASE,默认优先级为150
[r2-ospf- 1]default-route-advertise always
在设备上没有其他网络学来缺省信息时,可以强制下发一条5类缺省
7类缺省:可以通过配置特殊区域自动下发,也可以使用手工命令下发7类缺省
自动下发是在普通的NSSA区域中。
[r4-ospf-1-area-0.0.0.1]nssa default-route-advertise
手工下发一条7类的缺省信息。
5.路由过滤
指的是OSPF中针对3类、5类和7类LSA进行过滤
[r1-ospf- 1-area-0.0.0.2 ]abr-summary 192.168.0.0 255.255.252.0 not-advertise —过滤3类LSA
[r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0 not-advertise —过滤5类/7类LSA
OSPF的路由控制
1.OSPF的路由控制 优先级 [r3-ospf- 1]preference 50 ——修改OSPF路由默认优先级 这个命令只会影响所有类型字段为OSPF (OSPF网络内部的路由信息)的路由信息。 [r3-ospf-1]preference ase 100 ——修改域外导入的路由的默认优先级。 以上修改,只针对设备本地路由表中对应类型的路由的默认优先级进行修改。
开销值
cost=参考带宽/真实带宽
1)通过修改参考带宽改变开销值
开销值 COST =参考带宽/真实带宽 1)通过修改参考带宽改变开销值 [r3-ospf- 1]bandwidth-reference 1000 ——修改参考带宽需要将所有OSPF网络中的设备都改成相同的。 参考带宽一旦修改,整个网络中所有设备都得修改成一样的。所以,其实质无法控制选路。其意义在于当真实带宽较大时,可以增大参考带宽,避免选路不佳的情况。
2)通过修改接口真实传输速率达到修改开销值的效果
[r3-GigabitEthernet0/0/0]undo negotiation auto ——关闭自动协商 [r3-GigabitEthernet0/0/O]speed 10 注意:命令生效需要重启接口这种方法确实可以针对指定的接口更改其开销值大小,起到控制选路的效果。但是,他会影响接口真实的传输速率,并且,只能改小,所以,在正真进行选路控制的时候不建议使用这种方案。
3)直接修改接口的开销值
[r3-GigabitEthernet0/0/0]ospf cost 1000 ——修改接口开销值 注意:因为环回接口的开销值是一个定义值,所以,其结果不受外界改变而变化,即1, 2两种方法均不会影响环回接口的开销值。但是,第3种方法可以改变环回接口的开销值。
特别注意:
OSPF中到达目标网段的开销值,应该是路由信息传递方向的流入接口的开销值的累加值。
OSPF的附录E
附录E主要是定义了一种特殊情况下的解决方案
场景描述:
附录E提出的解决方案:掩码较短的正常进入,而掩码较长的将它的LS ID使用直接广播地址来表述。。
OSPF的选路原则
域内——1类、2类LSA
域间——3类LSA
域外——5类、7类LSA —(类型1、类型2)
1.域内
如果到达相同的目标网段存在多条通过1类、2类LSA学习到的路由信息时,将比较到达目标网段的开销值,选择开销值小的。如果开销值相同,则会负载均衡。
2.域间
如果到达相同的目标网段存在多条通过3类LSA学习到的路由信息时,将比较到达目标网段的开销值,选择开销值小的。如果开销值相同,则会负载均衡。
3.域外
[r3]display ospf Isdb ase ——可以一次性展开所有5类LSA
类型1:如果开销值类型为类型1,则域内所有设备到达域外目标网段的开销值等于本地到达通告者的开销值加种子度量值。 [r4-ospf- 1]import-route rip 1 type 1 ——重发布时修改开销值类型 类型2:如果开销值类型为类型2,则所有域内设备到达域外目标网段的开销值都等同于种子度量值。
类型1永远优于类型2——这样设计的目的是为了在一些特殊情况下更方便干涉选路。
**类型2的选路原则:**如果到达相同的目标网段存在多条通过5类/7类LSA学习到的路由信息时,并且开销值类型都是类型2,则先比较种子度量值,优先选择种子度量值小的;如果种子度量值相同,则比较 沿途累加开销值,优先选择沿途累加开销值小的。如果沿途累加开销值也相同,则将负载均衡。
**类型1的选路原则:**如果到达相同的目标网段存在多条通过5类/7类LSA学习到的路由信息时,并且开销值类型都是类型1,则将比较总开销(种子度量值+沿途累加开销值), 优先选择总开销小的。如果总开销相同,则将负载均衡。
4.域内和域间——如果到达相同的目标网段存在通过1类和2类LSA学习到的域内信息以及通过3类LSA学习到的域间信息,则将优先选择通过1类2类LSA学习到的,就算开销值更大——域内优于域间。 5.域间和域外——如果到达相同的目标网段存在通过3类l SA学习到的域间信息以及通过5类/7类LSA学习到的域外信息。则将优先选择通过3类LSA学习到的,就算开销值更大——域间优于域外。 6.在华为体系中,5类和7类LSA的选路规则是-样。
OSPF的防环
1.域间防环
1)OSPF因为区域之间也传递的是路由信息,所以,存在区域水平分割机制。路由信息是从哪个区域学习到的则将不再传回这个区域。
2)星型拓扑的区域划分要求本身也是一种防环机制。
2.域内防环
OSPF域内的防环机制——SPF算法(最短路径优先算法)(严格来说OSPF使用的是I-SPF算法<SPF改进版>)
重发布
重发布可以理解为“翻译”
作用:在一个网络中,若运行多种路由协议或者相同路由协议的不同进程;协议之间不能直接沟通计算,包括进程之间也是独立转发和运算,所以需要重发布实现路由的共享。
重发布一定是作用在两个协议/进程之间的
条件:
1)必须存在SBR设备——同时连接两种协议或者两个进程;可以同时学到两边的路由信息,之后完成路由共享;
2)必须关注种子度量值——A协议和B协议之间的度量值计算逻辑不通,无法直接使用。故将A协议发布到B协议时,ASBR将不携带A协议的度量值到B协议,而是在共享到B协议时,由ASBR设备在路由中添加一个起始度量值。
规则:
1)将A协议导入B协议时,需要在ASBR的B协议上配置重发布;
2)将A协议发布到B协议时,是将ASBR上所有通过A协议学到的及ASBR上宣告在A协议的所有直连路由全部共享到B协议中
两个概念:
点:
单点:两个协议或者两个进程之间存在1个ASBR设备
双点:两个协议或者两个进程之间存在2个ASBR设备
多点:两个协议或者两个进程之间存在多个ASBR设备
向:
单向:仅将A协议发布到B协议中
双向:A、B协议的路由均共享
配置:
A->B:一种动态路由协议发布到另外一种动态路由协议
静态 ->B:将静态路由导入到动态路由协议中
直连 ->B:将直连路由导入到动态路由协议中
RIP:
A->B:一种动态路由协议发布到另外一种动态路由协议
[r2-rip- 1]import-route ospf 1 结论: 通过重发布技术将其他协议的路由信息导入到RIP中,其赋予的默认种子度量值为0。 修改种子度量值的方法: 1)在进程当中对全局进行修改: [r2-rip-1]default-cost 2 2)针对本次重发布进行修改: [r2-rip-1]import-route ospf 1 cost 3 注意:当以上两条命令同时执行时,将按照第2条,匹配更精确的命令来执行
静态->B:将静态路由导入到动态路由协议中
[r2-rip-1]import-route static 结论:重发布过程中不会将缺省路由重发布到动态路由协议中。
直连-> B:将直连路由导入到动态路由协议中
[r2-rip-1]import-route direct 结论: 1)除了R1的直连网段外,所有直连都会导入;2)若ASBR进行了A-> B的重发布以及直连-> B的重发布,并且两次包含相同的路由信息,则将会优先学习直连- >B的重发布信息。
[r2-ospf- 1]default cost ? INTEGER<0-16777214> Cost value [r2-ospf- 1]default type ? INTEGER<1-2> Type value
|