IP任播、AnyCast DNS介绍
任播DNS/AnyCast DNS介绍
在看文章之前我们先测一个IP的延时。谷歌的DNS IP:8.8.8.8
我先本地测一下:
45毫秒对吧。
那么其他地区的延时是多少呢?我们用站长工具测一下全球的延时!
测试之后会发现国外地区的延时都这么地,按照正常思维这是不可能的,一个IP地址怎么可以在全球都这么低的延时?
实际上谷歌8888这个DNS服务器IP地址就使用了Anycast/任播技术。
目前对于Anycast的中文译称主要有,“任播”、“泛潘”、“选播”等
IP任播就是将一个IP广播到多个服务器上,一个IP地址对应多个服务器,听起来跟我们一个域名解析到多台服务器差不多。但是他们的基础原理是不同的,是完全不同的两个层面。
Anycast是从路由层面实现的,路由器根据其路由表决定连接哪个服务器。
用户访问服务器的过程如下图:
任播Anycast和单播Unicast区别:
举个例子:
配置有Anycast DNS IP地址10.10.10.10的单个DNS客户端工作站显示对于使用相同Anycast IP地址部署的“最接近”的三个DNS名称服务器执行DNS解析。
客户端的DNS解析器可以解析上面显示的三个DNS服务器A\B\C中的任何一个。
根据上图,由于路由拓扑,第3层路由将通过路由器R1发送我们的DNS客户端数据包。如果路由器R1或服务器A发生故障,我们的DNS客户端数据包将自动通过路由器R2和R3重新路由到下一个最近的DNS服务器,依此类推。
此外,将从路由表中删除到我们的服务器A的路由,从而阻止进一步使用该名称服务器。服务器A在恢复之前将不会被使用,并且IP Anycast地址路由将重新加入网络。在下面介绍中,将通过显示使用静态路由,RIP版本2,OSPF和BGP配置Anycast的方式,更深入地了解Anycast DNS,并提供各自的优缺点。
单播Unicast,任播Anycast,多播Multicast
单播Unicast
单播是可以与在配置有全局唯一IP地址的1个节点的服务“对话”的一个源。在配置并告知源时,源将始终与该目标节点通信。传统的DNS部署使用单播。DNS客户端配置了部署的DNS服务器的单播地址的不同组合。
任播Anycast
任播是一个可以与在具有相同IP地址的多个节点的服务“对话”的源。第3层路由将根据拓扑将数据包路由到“最近”的目标。
多播Multicast
组播是一对多的。组播包括使用组播组地址向多个节点提供服务的源。组播Multicast和任播Anycast的主要区别在于源是服务的发送器,它是使用专门分配的IP地址组寻址通过第3层分发的。多播的常见用途是流音频,其中音频通过多播寻址发布,并且客户端将路由流作为频道进行拾取。
Anycast DNS的基本要求
将任播IP地址加入路由网络 – 可以使用静态路由或使用路由协议(如RIP,OSPF或BGP)来完成。
基于主机的路由软件,支持Quagga Routing Software等主要路由协议之一
客户端应配置为通过Anycast地址解析DNS查询
名称服务器应该监听Anycast IP地址上的DNS请求
名称服务器应在环回接口上配置至少一个Anycast IP地址。此外,服务器应配置管理IP,管理IP可以是物理或其他环回接口。
必须至少定义一个物理IP来交换路由信息,以及在没有到Anycast IP地址的路由的情况下进行系统访问和维护。
应将名称服务器配置为使用物理或管理IP地址进行区域传输,区域更新和/或查询源,因为回复可能会转到与预期不同的服务器。
Anycast DNS有哪些好处?
提高可靠性
Anycast通过在同一IP地址放置多个地理位置分散的服务器来提高DNS的可靠性。这些DNS服务器的冗余使服务更具可用性和可靠性。
负载均衡
Anycast IP地址的动态第3层路由将有效地平衡DNS查询,尤其是在等成本路由路径上。
提高性能
发往Anycast DNS服务器的数据包将路由到拓扑中的“最近”服务器。这有助于确保DNS客户端在使用基于路由和拓扑的远程服务器之前首先查询其本地服务器。
增强安全性
使用相同IP地址运行的地理位置分散的DNS服务器使DNS服务对DoS和/或DDoS攻击更具弹性,因为对使用保存在在网络不同部分的重复IP地址方案的主机发起攻击要困难得多。
DoS攻击的本地化影响
成功启动DoS和/或DDoS攻击通常会进行本地化访问,仅影响整个Anycast DNS组的一部分地址。
简化的客户端配置
Anycast DNS可以大大简化所有DNS客户端解析器的配置。可以为所有DNS客户端解析器使用相同的名称服务器IP地址。为动态配置的主机配置DHCP模板,以及成像或手动配置静态配置的IP客户端将大大简化。
提高可用性
由于故障或例行维护而变得不可用的DNS Anycast服务器对名称解析服务的影响很小,因为服务路由会从路由表中撤销。路由会将此流量转移到Anycast组中的新备用最佳路径服务器。
Anycast有什么缺点?
部署更复杂
Anycast在部署时间,资金和IP地址空间使用方面更高
任播DNS更难以管理和排除故障
监控Anycast也比较困难
有哪些其他服务适合Anycast?
核心网络服务或CNS(例如DNS,NTP,Radius和Kerberos)是可以使用我们将在我们的一系列方案中概述的相同策略轻松部署的服务。虽然TCP应用程序已经显示在Anycast下运行,但它们是面向连接或面向会话的,并且在路由更改和更新方面可能更加不稳定。使用单一问题和UDP响应的应用程序更适合,因为它们是无连接服务。
目前低成本体验Anycast的方式:
buyvm购买他们的VPS免费提供Anycast
http://wiki.buyvm.net/doku.php/anycast_vps
自助式的rage4.com/Home/ANY
维基百科:http://en.wikipedia.org/wiki/Anycast
Discussion
New Comments
暂无评论。 成为第一个!