为什么 Netflix 选择使用 100.64.0.0/10 的 CIDR 块作为其私有网络 IP 空间?

网络工程 ipv4 IP地址 虚拟主机
2021-08-02 06:57:13

Netflix 进行了一次公开的技术演讲,解释了他们的网络,一个特定的设计让我感到困惑。参见本次演讲的第 25 页(Netflix 迁移到 VPC),他们似乎选择使用 100.64.0.0/10 作为他们的私有网络空间,而不是 10.0.0.0/8(或其子空间)。

目的是什么?我没有看到任何明显的好处,但我可能会错过一些关键点。有人可以对此提出一些想法吗?

2个回答

他们似乎选择使用 100.64.0.0/10 作为他们的私有网络空间,而不是 10.0.0.0/8(或它的子空间)。

目的是什么?我没有看到任何明显的好处,但我可能会错过一些关键点。有人可以对此提出一些想法吗?

幻灯片非常清楚地说明了他们为什么要使用这个空间。他们遵循当前执行RFC 6598定义的 CGN(运营商级 NAT 或运营商级网络地址转换)的最佳实践幻灯片也注意到了这一点。

为什么是这个地址空间而不是另一个RFC 1918空间?因为这是 IANA 保留的共享地址空间,作为明确用于 CGN 的范围。这是他们应该用于 CGN 的。

让我把你的问题转过来。给定专门用于 CGN 并定义为当前最佳实践的地址空间,如果您正在使用 CGN,为什么要使用 100.64.0.0/10 以外的任何内容,例如RFC 1918空间?

这是来自RFC 6598的相关部分,它为提供者提供了对这个地址空间的需求,而不仅仅是使用RFC 1918空间:

   A Service Provider can number the interfaces in question from
   [RFC1918] space if at least one of the following conditions is true:

   o  The Service Provider knows that the CPE/NAT works correctly when
      the same [RFC1918] address block is used on both its inside and
      outside interfaces.

   o  The Service Provider knows that the [RFC1918] address block that
      it uses to number interfaces between the CGN and CPE is not used
      on the subscriber side of the CPE.

   Unless at least one of the conditions above is true, the Service
   Provider cannot safely use [RFC1918] address space and must resort to
   Shared Address Space.  This is typically the case in an unmanaged
   service, where subscribers provide their own CPE and number their own
   internal network.

然而,一旦此共享空间被分配用于此目的并且这成为最佳实践,则执行 CGN 的任何人都没有理由不应将此空间用于其预期目的。

简写:“#.x”表示私有地址空间或 CGN

Tl; dr:没有更多具有大 CIDR 块的剩余私有地址空间。出于 VPC 迁移的目的,CGN 范围被用作非重叠空间。

这是 Netflix 核心工程 (ops eng) 从 EC2-Classic 转向 VPC 的时期。Classic EC2 使用的是 10.x 空间。最重要的是,许多其他团队已经在 172.x 空间中进行了试验,并在生产中进行了工作负载。另外,如果我没记错的话,数据中心正在使用 10.x,而那些已移至 192.x。

无论如何,剩下的是作为私人范围的CGN范围。因此,为了没有重叠的 IP 空间,CGN 范围符合要求。最终,EC2-Classic 被弃用,数据中心消失了。使用 172.x 的团队转移到 100.x。