精品文章《DNS多点部署IP Anycast+BGP实战分析》:https://www.linuxidc.com/Linux/2014-08/105816.htm

任播(Anycast),又称为选播、泛播或任意播;

Anycast实质上是一种网络技术,它借助于网络中动态路由协议实现服务的负载均衡和冗余,从实现类型上分,可以分为subnet Anycast和Global Anycas: Subnet Anycast是指所有目的主机都位于同一网段,此方式仅提供负载均衡和冗余,对安全度提升没有实质效果; Global Anycast是指目的主机处于不同网段,可能处于不同城市,甚至分布在全球各地,在实际应用中Global Anycast中目标主机的部署除地理位置的考虑外,多接入不同自治域的网络中。

当使用Anycast的目标主机接入到不同自治域时,因为难以使用某一自治域的IP地址,所以通常使用Anycast的共享单播地址拥有独立的自治域号,并通过BGP协议与不同自治域网络交换路由,即IP Anycast+BGP。


据说有好多大公司都应用了anycast技术,包括Microsoft,Cloudflare,LinkedIn以及其他企业都在全球范围内使用了Anycast技术。阿里的dns服务也是使用了anycast技术


摘自:https://blog.csdn.net/mudawei1/article/details/101547570

科普科普,什么是Anycast技术?

在IP地址的世界里,大家熟知的IP地址类型大致有如下几种:

Unicast IP

单播IP,IP地址和主机是一一对应关系。

如下图,红色为数据包发送端,而绿色节点为数据包接收端。

当数据包发送给某一个特定IP地址时,全局下仅有一个数据包接收主机。此为Unicast。

IP anycast + BGP 网络技术

Multicast IP

组播IP,组播IP拥有特定的IP地址段,当数据包发送给此组播IP地址后,组内成员都能收到此数据包的一份拷贝。

如下图,红色为数据包发送端,而绿色节点为数据包接收端。

当数据包发送给某一个特定组播IP地址时,同时存在多个数据包接收端。

IP anycast + BGP 网络技术

Broadcast IP

广播IP,任意Unicast单播网段中最后一个IP地址。数据包发送给此地址会扩散给全广播域的成员。

如下图,红色为数据包发送端,而绿色节点为数据包接收端。

当数据包发送给广播IP地址时,所有成员均为数据包接收端。

IP anycast + BGP 网络技术

而Anycast IP,则是集Multicast和Unicast特性于一身的特殊IP地址类型
Anycast中文称为任意播。

从宏观上来说,Anycast类似于Multicast,同一种类型的数据流同时存在多个接收者。

而从微观上来说,Anycast又有着Unicast的唯一性。每一个单独的IP会话都能够找到唯一的源主机和目标主机。

咋看之下很矛盾,其实不然.

以DNS请求为例,假设全国人民同一时间发送1百万个DNS请求,他们都是发送给1.1.1.1的Anycast DNS服务器地址。

宏观上来说,所有数据包都送达给了分布在全国各地的DNS服务器。处于各地的DNS服务器分别接收到了一定数量的DNS请求,并作出回复。这体现了Multicast的特性。

微观上,某一个特定的DNS请求数据包,一定是发送给了某一台DNS主机,而不是同时又多台DNS主机接收到了此数据包。此为Unicast特性。

如下图,红色为数据包发送端,而绿色节点为数据包接收端。

在Anycast 环境下,总的来说,同时存在多个有效的数据包接收端,但是就某一个特定IP(1.1.1.2)数据包而言,仅有一个接收端主机(即图中箭头所指向的主机)收到了此数据包。

IP anycast + BGP 网络技术

相关文章: