第十四章 BGP在数据中心
14.1 基本的BGP概念
略
14.2 将BGP部署于BGP
数据中心网络的密集连通性与管理域之间的原始稀疏连通性是一个截然不同的空间。BGP在数据中心的使用情况可汇总标记如下:
eBGP作为唯一路由协议
eBGP使用私有ASN
BGP的ASN编号方案让您不会遇到BGP的路径搜索问题,
BGP的计时器比服务提供商网络更积极地更新
14.2.1 eBGP和iBGP的比较
虽然数据中心一般可以看做单个管理域,使用iBGP视乎更加合适,但几乎所有数据中心都使用了eBGP。其主要原因是eBGP比iBGP更容易理解和部署。iBGP的最佳路径选择算法、选择路由、发布的规则以及操作或忽略的前缀属性可能会让人觉得麻烦。而且,在某些情况下,iBGP的多路径支持也存在局限性:特别是当一个路径由两个不同的节点发布时。与eBGP相比,新手也更容易被iBGP混淆。选择eBGP的一个强大的非技术原因是,eBGP有比iBGP有更功能齐全、健壮的实用性。
14.2.2 eBGP
在传统的部署模型中,BGP学习从另一个路由协议进行前缀的通告,通常是OSPF、IS-IS或增强的内部网关路由协议(EIGRP)。这些协议被称为内部路由协议,因为它们用于控制企业内的路由。然而,在数据中心中,eBGP是内部路由协议。不需要其他的。
14.2.3 私有AS号
私有as号是指在全球互联网上不可见的as号。它们是企业内部的,类似于专用IP地址。私有的AS号同时包含两个字节和四字节的ASN变体。双字节ASNs支持1023个专用ASNs(64512-65534),而四字节ASNs支持近9500万专用ASNs(4200000000-4294967294),足以满足目前运行的任何规模的数据中心。
只要全局AS号在与外部世界通信之前被剥离,也可以使用。但是首先,使用全局asn可能会混淆试图将asn解码为有意义的名称的操作符和工具。由于操作员知道许多ASN,操作员很可能会混淆。第二个原因是为了避免意外地将内部BGP信息泄漏到外部网络的后果。这可能会对互联网造成严重破坏。所以不建议去使用全局AS号。
14.2.4 BGP的ASN编号方案
每个Leaf都有自己的ASN
两层Clos中的所有Spine都得到一个ASN。在三层Clos中,POD内的所有Spine得到相同的ASN,但每个POD的ASN是不同的。
在三层Clos中,所有的Super Spine都得到相同的ASN。
图14-4 三层Clos拓扑结构中的BGP ASN编号
这种编号方案导致了一个简单的上下路由。
14.2.5 多路径选择
如前所述,如果两条路径在提到的八个标准中各相等,则认为它们是相等的。其中一个标准是AS_PATH中的AS号完全匹配,而不仅仅是它们有等长度的路径。这打破了数据中心内两个通信部署场景中的多路径关系。
在第一个部署方案中,可能从不同的ASN宣布相同的路由,它是当服务器双连接时,每个机架交换机的顶部都有一个单独的ASN,如图14-6所示。在图中,椭圆形表示一个键或端口通道;也就是说,这两个链接作为一个到上层协议的高速逻辑链接。
图14-6 只需要查看AS_PATH的长度
假设两者都声明一个到10.1.1.0/24的子网路由,即连接服务器的交换机的子网。在这种情况下,每根Spine都能看到接收到到达10.1.1.0/24的路径,一条AS_PATH为64600,另一条AS_PATH为64601。根据等成本路径的逻辑,BGP不仅要求AS_PATH长度相同,而且要求AS_PATHs包含相同的ASN列表。因为这里不是这样,每个Spine不会有多路径;相反,他们只会选择两条路径中的一条。
在第二个部署场景中,当虚拟服务由服务器部署时,多个服务器将宣布对同一服务虚拟IP地址的可达性。因为服务器连接到不同的Leaf,以确保可靠性和可伸缩性,Spine将再次从多个不同的asns接收一条路由,其中的AS_PATH长度是相同的,但路径中的特定asn本身不是。
有多种方法可以解决这个问题,但最简单的方法是:当来自两个不同来源的通告中的AS_PATH长度相同时,最佳路径算法会跳过检查asn的精确匹配,并继续匹配下一个条件。
14.2.6 固定BGP的收敛时间
当发生故障或从故障中恢复时,通常有四个计时器来控制BGP的收敛速度。
通告间隔
互联网流量需要稳定,在数据中心中,情况正好相反。确保更新的主BGP定时器是通告间隔。BGP等待为向对等机发送成功更新之间的通告间隔配置的持续时间。默认情况下,这是30秒。在数据中心中,此值必须设置为0。这一变化就可以使eBGP的收敛时间到其他IGP协议。
Keeplive和Hello计时器
BGP宣告者在每个测试会话的每个配置期间都发送一个关键的消息。如果远程对等点没有接收到一个名为Hold timer的值的Keepellive消息——通常是Keeplivie时间的三倍,它将声明对等点死亡并终止对等会话。默认情况下,维持活动时间为60秒。在数据中心内配置的最常见的值是Keepalive3秒和保持计时器9秒。
连接计时器
这是四种计时器中最不关键的一种。当BGP尝试与对等设备连接,但由于各种原因而失败时,它会等待一段时间后再尝试再次连接。这段时间默认为60秒。在数据中心内,此计时器的值通常设置为10秒。
第十五章 部署BGP(略)