静默接口和认证
静默接口
如上图将连接终端的网段宣告到OSPF中,使得区域1设备AR4的路由表中出现该网段。
[AR1-ospf-1]silent-interface GigabitEthernet 0/0/2 指定静默接口为G0/0/2接口
设备连接终端的接口,不需要发送OSPF协议报文来建立关系。
静默接口功能:
- 指定为静默的接口不会在接口上发送和接收OSPF的协议报文(HELLO报文)。
- 指定为静默的接口,设备依然会将该接口的网段通告给邻居:
应用场景:
- 连接终端设备的网络接口。
- 连接服务器的网络接口。
- 连接二层的网络接口。
::: tip 类似于边缘端口,区别是边缘端口只收不发,静默端口不收也不发。 :::
OSPF认证
接口认证
图中AR1和AR3做认证: 要求两端的认证模式必须一致。
[AR1-GigabitEthernet0/0/1]ospf authentication-mode simple ?
cipher 在显示查看时,密码时密文的
plain 在显示查看时,密码是明文的
[AR1-GigabitEthernet0/0/1]ospf authentication-mode simple plain ?
STRING<1-8> The password (key) 限制1-8位密码
如上,plain和cipher的区别只是管理员查看时显示明文还是密文。 传输过程中: 如上,简单密码认证会直接使用明文传输。 ::: tip MD5的密码认证方式也会存在plain和cipher的选项,作用都是供管理员查看时显示明文还是密文。 :::
keychain需要先创建一个认证的模板,然后再调用给OSPF使用。由于过于复杂,一般不会使用。 hmac-md5类似于MD5。
::: warning 认证是影响OSPF邻居关系建立的因素之一,分为认证类型和认证数据(密码)。 ::: 一个接口、一条链路上的认证,只会影响该接口、链路上的邻居关系建立。
区域认证
即一个区域的认证,设备在该区域的所有接口做认证。
[AR1-ospf-1-area-0.0.0.0]authentication-mode md5 1 plain Hw@123
特点:
- 每台设备都可以独立的进行认证。
- 区域认证就是多个接口认证。
- 接口认证优于区域认证。
用户认证:确认对端的合法性。 数据加密:传递的数据信息保障。
快速收敛机制
OSPF的1类和2类LSA既包含拓扑信息也包含路由信息(路由拓扑没有分离,二者会相互影响),会导致路由的变化也会影响拓扑的重新计算。 ::: tip 1类LSA变化时,先改变拓扑,再改变路由(先通过SPF计算改变拓扑,再进行路由计算收敛)。 :::
拓扑计算使用SPF算法: OSPF在第一次计算拓扑时,使用SPF算法进行全量的计算,后续拓扑变化,使用i-SPF(部分SPF计算)。抓包时可以看到是发生改变的设备发送LSU报文进行拓扑变更。
OPSF相关特性:
- PRC:部分路由计算
只针对OSPF的3、5类LSA计算增加、减少的路由信息,不计算没有改变的部分。 (1类、2类LSA也有PRC,但主要基于SPF计算拓扑,然后再计算路由信息)
- 智能定时器:通过定时器的机制来控制LSA的发送、接收、计算。
- 控制LSA的发送、接收: 在网络稳定达到1800s时,OSPF设备需要更新自身产生的LSA。可以通过设计定时器的时间来使得OSPF设备可以错开LSA的更新时间,也可以设计设备的LSA接收时间来区分不同设备现后的工作顺序。 (即设备分批更新LSA,以避免所有设备同时更新占用资源)
- 控制LSA的路由计算: 设备因为链路、接口等原因出现频繁网络震荡。连接震荡设备的OSPF路由器会重复计算震荡设备的路由信息,造成业务时断时续。
- OSPF路由器通过定时器来控制震荡设备的LSA,每震荡一次都对LSA增加路由计算的延迟时间。* 当震荡的设备恢复正常,OSPF路由器不会立刻计算其LSA,需要等待延迟时间倒计为0s。
- OSPF设备会在震荡设备的LSA稳定一段时间后将延迟时间减半,也可以通过管理员直接将LSA的计算延迟时间恢复为0s。*
[AR1-ospf-1]spf-schedule-interval intelligent-timer 20000 1000 5000 设置OSPF路由计算的时间
设置OSPF LSA的更新时间间隔:
[Huawei-ospf-1]lsa-originate-interval ?
0 不存在更新间隔时间,网络拓扑稳定时使用
intelligent-timer (为1类、2类LSA)使用智能定时器
other-type 指定3类、4类和10类LSA的间隔
[Huawei-ospf-1]lsa-originate-interval intelligent-timer ?
INTEGER<1-10000> Max-interval(in millisecond), the default is 5000 设置最长LSA更新时间,默认5000ms(5s),最大设置10s
[Huawei-ospf-1]lsa-originate-interval intelligent-timer 6000 ? 最长LSA更新时间设为6s
INTEGER<0-1000> Start-interval(in millisecond), the default is 500 设置初始LSA更新时间
[Huawei-ospf-1]lsa-originate-interval intelligent-timer 6000 1000 ? 初始LSA更新时间设为1s
INTEGER<1-5000> Hold-interval(in millisecond), the default is 1000 设置基数间隔时间,一定小于间隔时间
[Huawei-ospf-1]lsa-originate-interval intelligent-timer 6000 1000 3000
如上,设置最长LSA更新时间6000ms,初始LSA更新时间1000ms,基数间隔时间3000ms
::: warning 最长间隔时间必须大于初始间隔时间和基数间隔时间: :::
设置OSPF LSA的接收时间间隔:
[Huawei-ospf-1]lsa-arrival-interval ?
INTEGER<0-10000> 设置接收时间间隔
intelligent-timer 使用智能定时器
接收时间间隔和更新时间间隔的操作类似: 接收时间间隔也必须大于初始时间间隔和基数间隔时间。
OSPF路由计算时间间隔(和更新时间间隔类似): ::: tip 缺省下使用智能定时器的默认值: LSA更新:最长间隔时间:5000ms。初始间隔时间:500ms。基数间隔时间:1000ms。 LSA接收:最长间隔时间:1000ms。初始间隔时间:500ms。基数间隔时间:500ms。 路由计算:最长间隔时间:10000ms。初始间隔时间:500ms。基数间隔时间:1000ms。 :::
OSPF IP FRR:快速重路由
利用LFA算法预先计算出备份路径并保存在转发表中,以备在故障时将流量快速切换到备份链路上,保证流量不中断,从而达到流量保护的目的。
::: tip LFA机制:以可提供备份链路的邻居为根节点,利用SPF算法计算出到目的节点的最短距离,然后按照不等式计算出开销最小且无环的备份链路。 :::
OSPF IP FRR的流量保护分为链路保护和节点链路双保护。 如上S-D的链路,N的视角来看,备份链路的邻居N可以提供两条到D的链路,链路开销满足链路保护公式。 如上S-D的链路,N的视角看,N节点可以提供两条到D的链路,链路开销需要满足链路保护公式和节点保护公式。 ::: warning 上述两个流量保护,ND计算开销时,如果走的是途径S节点的路径,公式计算后左右相等,直接走N-D路径时满足公式,即N-D路径是备份路径。 :::
OSPF BFD:
通过BFD检测使得OSPF可以达到毫秒级的收敛。
- 配置OSPF的BFD特性(针对全局所有接口):
[Huawei-ospf-1] bfd all-interfaces enable 在OSPF进程下使能BFD特性
- 配置指定接口的BFD特性(针对对应接口):
[Huawei-GigabitEthernet0/0/1] ospf bfd enable 在使能OSPF的特定接口下使能BFD
路由控制
[AR1-ospf-1]maximum load-balancing <1-8> 指定最大的负载分担链路
下发OSPF的缺省路由,要求自身必须存在一条非OSPF的缺省路由
[AR3-ospf-1]default-route-advertise
必须先有静态或者其他的缺省路由,然后才能进行下发
下发OSPF的缺省路由(强制下发,不管自身是否存在缺省)
[AR3-ospf-1]default-route-advertise always
OSPF设备如果下发的缺省LSA,则不会计算其他设备泛洪的缺省LSA
拓扑中AR2和AR3都通告缺省路由后,在AR2和AR3都可以收到对端发来的5类LSA,但不会进行计算,原因是自身产生的优先级高于外部接收的。
[AR3-ospf-1]default-route-advertise permit-calculate-other 使得下发缺省LSA的设备计算其他设备泛洪的缺省LSA
计算其他设备泛洪的缺省LSA后,自身就不会再下发缺省的LSA
上述AR3的OSPF数据库中就不会出现AR3通告的5类LSA
OSPF的LSA过滤
(ACL默认拒绝所有)
1. 接口的过滤
[AR5-GigabitEthernet0/0/1]ospf filter-lsa-out ?
all 过滤所有的LSA
ase Filter type-5 ASE LSAs
nssa Filter type-7 NSSA LSAs
summary Filter type-3 Summary LSAs
针对于3、5、7类LSA,可以使用ACL匹配特定内容进行过滤。 接口过滤LSA后,被过滤的设备应重启OSPF进程。 该命令可以配合ACL匹配过滤允许通过某一条LSA。
2. 区域间的过滤
[AR2-ospf-1-area-0.0.0.1]filter 2000 export 发出过滤
[AR3-ospf-1-area-0.0.0.0]filter 2000 import 接收过滤
该命令只能针对3类LSA做过滤,要求过滤设备是ABR。
3. 区域外的过滤
[AR6-ospf-1]filter-policy 2000 export 发出过滤
策略在引入路由时生效。 该命令只能针对5类LSA做过滤,要求过滤设备是ASBR。
4. 计算路由的过滤(较少使用)
[AR4-ospf-1]filter-policy 2000 import
任何OSPF设备对于任何OSPF的LSA都可以进行操作。不影响正常LSA的接收,只影响设备是否将LSA计算为路由信息。接收的LSA仍可以正常进行泛洪操作。