如果将公共IP固定到单个AS,则BGP Anycast如何工作?


11

我的理解是,公共IP块是从IANA分配的,IANA将子块分配给RIR,后者将子块分配给ISP,ISP将子块分配给各个AS,如本问题所述:IP地址是如何实际分配的?

这(以及该页面的资源)似乎意味着将1个公共IP映射到1个AS。

但是,任播似乎可以通过从多个位置发布相同的公共ip地址来工作,从而提供通往该IP的不同路径。例如:

如果应该将公用ip解析为单个AS,则任播如何工作?


2
对于“每个地址1个AS”也没有严格的规则–只需查看6to4使用的192.88.99.0/24。(尽管它肯定会成为问题...)
user1686 '17

2
您是否有关于IP已分配给AS的主张的参考?已经有几年了,但是我只见过分配给组织的IP地址块。(您引用的映射可能只是告诉您什么AS正在通告某个特定的块,该块正在观察实际发生的事情,而不是分配。)
David Schwartz

如何将地址分配给实体确实与如何在Internet上发布到达地址的路由无关。可能每个组成Internet的ISP都可以通告它具有到特定前缀的路由,并且可能每个人都已从另一个ISP学习到了到前缀的路由。路由只是一个路由器告诉另一个路由器,它知道如何将流量转发到网络,并且每个Internet路由器都可以合理地认为它知道一个路由器。接收到网络的多条路由的路由器将选择要使用的那些路由之一。
罗恩·莫平

@DavidSchwartz没有提供IP到AS分配的参考。在阅读了其中的一些回复和其他几篇文章之后,我认为这根本不对,这似乎隐含了很多资源(也许因为这是最常见的情况)。
turtlemonvh

@RonMaupin我了解路由和IP块分配的分离。但是,BGP路由公告包含一个AS_PATH部分,该部分用于路由决策(请参阅:tools.ietf.org/html/rfc4271#section-4.3)。当这些路由通告由许多AS发出,并且每个AS都说这是该路径中的唯一AS时,我的问题确实是有关行为的。也就是说,它们具有到IP地址的直接路径而没有任何其他外部路由。
turtlemonvh

Answers:


5

不需要前缀的IP地址或Internet路由来自单个AS。ASN被分配给组织,地址也被分配给组织。像ARIN这样的注册商不会将我的地址分配链接到我的ASN分配。即使在像资源公钥基础结构这样的新系统中,它仍然允许多个AS发起到网络的路由。 “团队Cymru”页面在常见问题解答中说明了这一点:

在某些情况下,多个不同的网络或自治系统会宣布网络前缀。造成这种情况的最可能原因是所谓的“多宿主”。这是完全正常的。根据您对Internet拓扑和原始网络策略的看法,这些原始网络之一将是使用所讨论的Netblock发送和接收流量的首选路径。

这是当前从多个AS通告的网络的(较长)列表

关于如何到达目的地:使用BGP路径选择算法选择路由,该算法根据流量通过的每个路由器都知道的信息来选择路径。Internet上的每个路由器都有其自己的路由表视图,因此,与Internet的另一部分的流量相比,Internet的一部分的流量可以最终到达不同的位置和AS。甚至不需要将流中的每个数据包都发送到同一位置,这显然可以使任何广播或多宿主情况变得有趣。


谢谢dk1。公共IP到AS映射是1:N而不是1:1的想法是我的重点。这篇文章也很有帮助:serverfault.com/questions/137257/…,以及讨论AS对等的其他文章,例如:。cisco.com/blog/blog/ 2013/01/10/…。该OpenDNS文章还显示了其AS是全球分布的。
turtlemonvh

11

AS不必一定限于一个物理位置。

进行任播时,您可以在许多物理位置中运行路由器,每个路由器都与同一ISP的不同ISP对等,从而将路由发布到任播IP地址。

从BGP的角度来看,它与为一个站点中的一个AS中的多个ISP进行冗余所做的工作并没有很大不同。在“一个站点,多个ISP”的情况下,一个路由器发送“我是AS X,我的IP范围是Y!”。多个ISP;在任播中,您只是在指示地理位置不同的路由器全部宣告它们自己几乎相同的“我是AS X,我的IP范围是Y!”。消息发送给自己的ISP,声明您的AS和您的任意播范围,并让BGP选择最佳的ISP来发送流量。

ISP并没有什么不同。互联网没有意义,各种可用路径不仅会通往同一个高度冗余的站点。


换句话说,Internet不知道它不是通过数十亿美元的秘密地下光纤网络与同一台服务器通信。
user253751 '17

@immibis这是一个很好的观察方法,但是一个选择:在这种情况下(通过您自己的内部网络路由回到一台中央服务器),从技术上讲,我们不再属于任播的定义,因为请求不会实际上是在地理位置不同的地点进行处理的。在我所描述的情况下,您将在每个站点上拥有几乎完全相同的服务器,而不是秘密的后端网络来将您带到正确的服务器。
Shane Madden

不是重点,而是重点。在不同站点之间建立专用网络是完全有效的。而且Internet路由协议无法区分您拥有专用网络与您假装拥有一个私有网络并使用Anycast之间的区别。
user253751

在站点之间建立私有网络绝对是有效的,我只是说您不希望以这种方式(同一台服务器)实际部署任播,因为这是自欺欺人的。但我同意您的观点:从互联网的角度来看,它们看起来是一样的。
Shane Madden's

这是一个很好的答案。您可以添加一些指向标准文档或其他外部资源的链接以表明您所说的是对的吗?(即,任播和多
宿主

2

这(和该页面的资源)似乎意味着将1个公共IP映射到1个AS。

是。那是真实的。

但是,任播似乎可以通过从多个位置发布相同的公共IP地址来起作用,

只需通过“仅执行此操作”即可。AS是在国际上定义其自己的路由的实体。它可以将同一IP地址连接到多个位置-只要路由在连接中间没有变化即可。

只是一时无知(因为这里的无知起作用)。

如果您要求在美国提供IP x,请按照AS BGP规则访问美国的数据中心。如果您在澳大利亚这样做,那么您最终将进入澳大利亚的数据中心。完了 没有什么可以说IP不能在路由稳定的情况下长期重复使用。

与普通的BGP使用不同,这不是BGP hack。


1
BGP不使用地缘政治划分来决定将数据包发送到哪里,并且地址属于任何一个AS也不是正确的。
dk1

您提到“只要在连接中间路由不变,就可以”。我认为这样的路由更改是任播配置中的一个已知问题,这就是任播成为usu的部分原因。保留用于udp等无连接协议?请参阅:blog.cloudflare.com/…–
turtlemonvh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.