《Cloud Native Data Center Network》读书笔记-11

今天看到这本书的中文版出版了,105块钱大洋,所以还是自己翻译看看合适,省钱还能专心!

十三章 部署OSPF

13.1 为什么是OSPF?

OSPF实际上是企业网络管理员作为路由协议使用的更熟悉的选择。BGP沉浸在这样一个神话中(尽管其核心,在我看来,BGP比OSPF要简单得多),它的用户大多是处理企业网络的主干或WAN方面的管理员。OSPF属于一类被称为内部网关协议(IGP)的协议,它是最流行的IGP。所以人们选择OSPF而不是BGP的主要原因是他们更熟悉它。

OSPF有时也被用来代替BGP来在EVPN等网络虚拟化解决方案中构建底层网络。来自服务提供商世界的传统模型是使用IGP配置Underlay网络,并使用BGP配置Overlay网络。更熟悉此模型的网络管理员通常会转向OSPF。在这种情况下,它们使用OSPFv2而不是OSPFv3,因为大多数VXLAN网络只使用IPv4。

随着网络大小的增加,要发布的前缀数量的增加,BGP成为首选路由协议。对于前缀少于32,000个的通告,OSPF作为一个路由协议是一个很好的选择。

如果网络只使用IPv4,OSPF非常合适。当添加IPv6时,最常见的模型是同时使用OSPFv2和OSPFv3协议来管理网络。

13.2 需要解决的问题
在这里插入图片描述
图13-1 Clos用于OSPF配置的拓扑结构

13.2.1 确定链路状态的泛洪域

路由器只与其配置的邻居通信。例如,在图13-1(a)中,L1仅与Spine路由器S1到Sm交换信息。为了确保网络中的每个路由器都具有关于每个其他路由器的本地信息,路由器必须将从一个邻居接收到的信息传播到其所有其他邻居。因此,S1将未经修改的L1的信息传播到它所有的邻居,L2通过Ln。将从一个路由器接收的未修改路由信息转发到其他邻居的过程用OSPF术语称为泛洪。

在大型网络中,存储网络中每个路由器的链路状态可以占用每个节点上的大量内存。因此,所有的链路状态协议都通过将域分解为更小的段或组来限制未修改的信息在整个路由域中的传播。OSPF使用术语区域来描述这个较小的部分。泛洪的范围仅限于一个相邻的区域。每个路由器接口都被分配给一个区域。不同的路由器接口可以被分配到不同的区域。

OSPF支持两个级别或层次结构。主干区域是路由层次结构的顶层,也是主要区域。

区域由一个32位的数字标识,该数字可以写成一个个位数的字符串,如0或1,或一个IPv4虚点十数制字符串,如0.0.0.1。主干区域的区域标识符为0或0.0.0.0。

我们举例网络的第一个问题是将OSPF区域映射到图13-1所示的拓扑结构中。在图13-1(a)中,这个映射很简单,因为OSPF只在路由器之间运行:所有的路由器间的链路都在主干区域中。在图13-1(b)中,可能的选择是跨整个网络运行单个区域,或者为每个POD创建一个单独的区域和跨POD的一个主干区域;换句话说,在Spine路由器和Super Spine路由器之间。在后一种情况下,主干区域覆盖了Spine路由器和Super Spine路由器,每个POD都在一个非主干区域中。

13.2.2 编号对比无编号OSPF

最常见的OSPFv2部署模型假设OSPF链接两端的接口已编号;例如,链接的每一端都分配一个有效的IP地址。更具体地说,它们从同一子网被分配了IP地址。通常,对于IPv4,此地址来自/30或/31子网。因为这些地址只在单个链接的两端之间共享,所以我建议使用/31,以避免浪费IPv4地址。在网络解耦的最初日子里,当商业交换芯片有小的路由表时,先驱网络运营商关闭了这些仅接口路由的通告。IPv6引入了链接本地地址(从fe80开始的地址)来专门处理这类场景。

未编号的接口使得一个更小的路由表,一个更小的安全攻击向量,当链路或节点出现或下降时,路由表中的流失量更少。此外,在不依赖于编程的情况下,在接口上自动分配IP地址是很痛苦的。因此,避免使用接口IP地址将是一件好事。

OSPFv2从一开始就支持无编号的接口。在OSPFv2中,如果一个接口具有一个/32地址,则它将被视为一个未编号的接口。通常,这个/32地址是环回接口的地址。要将此地址超出邻居地址,您需要将此地址添加到环回接口(或任何其他不停机的接口,如Linux中的主VRF接口)。因此,在OSPFv2未编号的情况下,我们将环回的IP地址分配给我们要在上面运行OSPF的每个链接。这种独立于另一边的单一地址的使用,大大简化了网络自动化。

13.2.3 支持IPv6

IPv6支持需要对OSPF进行彻底的改革,并导致了一个名为OSPFv3的新协议。其结果是,大多数路由堆栈都有两个独立的OSPF实现。

13.2.4 支持VRF

OSPFv2和v3支持VRF

13.2.5 在服务器上运行OSPF的要求

一些网络运营商希望从端点开始运行一个纯路由的网络。但大多数情况下,网络操作人员都会使用BGP来实现,以下几个场景会使用OSPF:

考虑到服务器添加了另一层层次结构,您如何定义区域?

对于运行OSPF的服务器,在如图13-1(a)所示的两层Clos拓扑中,服务器被分配到一个非主干区域。在三层Clos拓扑中,服务器被分配到非主干区域,从Leaf到Super Spine的所有路由器都被分配到主干区域。也可以使用多实例OSPF在POD Spine路由器上运行两个单独的OSPF实例。一个实例用于连接服务器、Leaf和Spine。第二个实例是用来连接Spine和Super Spine。您可以将从OSPF学习的路由重新分配到另一个。

如何确保服务器免受链路状态协议的影响?

链路状态协议可以非常谨慎地努力更新该区域中每个路由器的本地状态信息的变化网络。一个只有一条路才能到达外部世界的服务器几乎不需要知道所有这些更新。OSPF将非主干区域定义为一个totally stubby的区域,以保护一个区域中的路由器不受网络其他部分变化的影响。通过将服务器放置在这样一个区域,可以保护它们避免看到网络其他部分的波动。这也可以防止服务器拥有较大的路由表或处理运行OSPF的协议开销。

13.3 OSPF路由类型
在这里插入图片描述
图13-2 使用示例拓扑结构来说明OSPF的概念

R1,R2,R3,R4组成Area 0

R3,R4为ABR实现区域间连接

R1,R2为ASBR与外部连接

13.3.1 非主干区域特性

OSPF定义了多种类型的非主干区域,当ABR宣传默认路线作为到达区域以外一切的方式时,该区域被称为完全末节区域,该区域只能存在类型1和类型2的路由类型。NSSA,非完全末节区域,增加了类型7的外部路由类型。

13.4 OSPF定时器

Hello Interval

这是OSPF的保持激活定时器;它决定了OSPF向其邻居发送数据包以指示它还活着的频率。通常,它被设置为10秒。

Dead Interval

这是在宣布对等机死亡之前等待的时间。它的类型设置为Hello时间间隔的四倍。换句话说,同伴必须丢失四个连续的Hello数据包才能降低对等关系。

Retransmit Interval

这是等待包含链路状态信息的数据包的确认后再重新发送它的时间量。此类包的示例包括LSA包、链路状态请求包和数据库描述包。默认值为5秒。

Transmit Delay

每个OSPF LSA数据包都包含该数据包的老化时间。是LSA关联的最大老化时间,如果LSA的老化时间超过这个最大值,则删除LSA并重新计算路径。默认情况下,这设置为1秒。

SPF Computation Timers

OSPF使用一组计时器,在了解到网络状态的变化后,决定开始重新计算路径的最佳时间。传统的路由堆栈用于从接收第一次更改开始等待200ms(称为SPF延迟计时器)以开始计算路径。一种较新的算法,称为增量SPF,现在只用于重新计算受影响的路径,而不是针对整个网络。

13.5 OSPF配置(略)

13.6 最佳实践

如果设备支持,请使用未编号的接口方式。
可以重用POD的区域号,或服务器的区域号。换句话说,两个不同的Leaf可以使用相同的区域号来处理连接到它们的服务器。类似地,两个不同的POD可以使用相同的区域号。例如,这个区域号可以为1。所以你只有两个区域,区域0和区域1。
在有编号的接口配置中使用ip ospf area,而不是network。这有助于避免在多个地方复制IP地址。如果没有编号,则在任何情况下都必须使用ip ospf区域模型。
当使用未编号接口时,无论是在服务器上还是在路由器上,也要将IP地址分配给环回接口,并确保环回接口声明为被动接口并在正确的区域。
使用BFD,并保持默认的计时器值不变。这就产生了一个更健壮和更简单的配置。
始终通过log-adjacency-changes detail 启用OSPF邻接更改的详细日志记录。FRR在默认情况下启用此功能。
避免使用redistribute connected(重分布直连路由)。它可能看起来是配置的简化,但最终会宣传不必要和重复的信息。避免外部路由还还简化了路由器上的OSPF处理。
将OSPF配置保持在必要的最低限度,以确保一个健壮的网络。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

竹林子的摩卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值