周敏苑(1997-), 男, 博士生, 主要研究领域为任播协议, 内容分发网络
郑嘉琦(1986-), 男, 博士, 副研究员, CCF专业会员, 主要研究领域为网络协议优化, 新型网络体系结构, 高性能数据结构, 在线优化
窦万春(1971-), 男, 博士, 教授, CCF高级会员, 主要研究领域为大数据, 云计算, 边缘计算, 群智计算
陈贵海(1963-), 男, 博士, 教授, CCF会士, 主要研究领域为未来网络系统与协议, 无线网络结构与优化, 物联网与传感网, 新型计算机体系结构, 数据中心核心技术, 数据分析与处理
任播通过将相同IP地址分配到多个终端节点上, 利用BGP实现最佳路径选择. 近年来, 随着任播技术发展越来越成熟, 任播被广泛运用到DNS和CDN服务上. 首先全方位介绍了任播技术, 随后讨论了任播技术目前存在的问题并将这些问题归结为3大类: 任播推断的不完善, 任播性能无法保证, 难以控制任播负载均衡. 针对这些问题, 阐述了国内外最新研究进展, 总结了任播研究工作中的相关问题及改进方向, 为相关领域的研究者提供有益的参考.
Anycast uses BGP to achieve the best path selection by assigning the same IP address to multiple terminal nodes.In recent years, as anycast technology has become more and more common, it has been widely used in DNS and CDN services. This studyfisrtlyintroduces anycast technology in an all-round wayand then discusses current problems of anycast technology and summarizes these problems into three categories: anycast inference is imperfect, anycast performance cannot be guaranteed, and it is difficult to control anycast load balancing. In response to these problems, the latest research progress is described. Finally, the problems in solving anycast problems and the direction of improvementare summarizedtoprovide useful references for researchers in related fields.
任播(anycast)[
任播技术具备了很多其他技术不具备的优势[
自任播发明以来就有许多相关研究, 文献[
(1)任播基本组件: 其中既包括了任播的基础设施如任播地址识别, 任播站点定位等问题, 同时兼顾了原先的任播体系结构部分;
(2)任播性能: 涵盖了原先的可扩展性问题, 稳定性问题以及安全问题, 同时也包括了最基本的通信时延, 带宽大小等问题, 通过测量发现任播性能的不足, 针对性的解决任播现存的问题, 终极目标是目的是提升任播性能, 使其充分发挥自身的潜力;
(3) 负载均衡: 利用任播分摊网络各链路及服务器的负载.
针对这3个部分, 我们将任播现存的热门问题总结为以下3类: 任播推断不完善, 任播性能无法保证, 难以控制任播负载均衡. 解决这些问题一直是学术界和工业界的重要研究方向.
本文首先对任播进行系统性的介绍, 之后从任播的3类问题对任播的相关研究进行分析. 通过对不同研究进行的实验以及得到的结论进行综合性梳理、对比和分析, 观察不同研究者给出的任播改进方案, 为研究人员提供可靠的建议以及后续研究目标.
在任播中, 一组服务器共享相同的IP地址, 并将数据从源计算机发送到拓扑最接近的服务器. 这有助于减少网络延迟和带宽成本, 缩短用户的加载时间, 并提高可用性.
IP任播架构的基本组件主要有任播地址空间以及任播路由两大部分. 首先, 对于任播地址空间, 在IPv4中, 鉴于地址空间的限制, 不可能为任播地址分配一个单独的地址类, 因此, 在IPv4环境下, 任播地址将从可用的单播地址池中分配, 也就是说任播地址与单播地址在IPv4中并没有本质的区别, 这种做法有利也有弊, 具体的我们将在第3.1节进行介绍. 而在IPv6中, 开发者们使用特殊格式将任播地址加以区分.
在任播路由中, 任播数据包转发与单播转发没有区别: 路由器基于最短路径将数据包逐跳发送到最近的服务器. 具体的: 位于同一AS域的多个服务器对外宣告相同的IP地址, 路由器收到这些宣告后, 将其作为主机路由(由于一个任播地址标识服务器的一个实例, 因此路由系统将到任播地址的路由视为主机路由)并存入路由表中, 随后选择具有最近路由距离(AS条数或链路成本)的那条路由存入转发表, 之后当路由器收到相应的数据包时, 查找转发表逐跳转发.
历史上任播最初是在RFC1546[
单播使用一对一连接, 其中每个目标地址被唯一的标识为单个接收终端, 单播允许源结点向单一目标结点发送数据报, 如
Example of unicast
单播示意图
多播使用一对多连接, 允许源结点向一组目标结点发送数据报, 多播的一种常见应用是流音频. 如
Example of multicast
多播示意图
与上述两种传播方式不同的是, 任播使用一对任一连接, 允许源结点向一组目标结点中的一个结点发送数据报, 而这个结点由路由系统选择, 对源结点透明, 如
Example of anycast
任播示意图
根据任播的工作原理, 每个站点负责处理一片区域的用户请求, 那么这一片区域的用户属于相同的集水区(catchment). 集水区是路由到特定任播站点的一组用户, 而集水区映射则对应于探测用户到特定站点的过程. 了解任播集水区对于任播性能(吞吐量, 延迟和负载平衡), 抵御DDoS以及网络管理, 内容过滤都非常重要. 任播运营商会对任播部署进行工程设计以达到最大程度降低用户延迟的目的[
除了性能之外, 任播集水区还可以迎合特定国家地区的政策进行内容过滤. 例如我国的就实施了DNS过滤以满足特定政策. 此类情况在全球范围内并不罕见[
任播集水区测量工作自任播开始应用起就受到了广泛关注, 具体测量任播集水区的工作有: 早期的工作[
(1) 网络的动态变化以及站点的添加或删除导致任播集水区的动态变化;
(2) 有限的测量点无法测得完整的任播集水区.
对于尚未部署的任播服务, 预测其集水区也就是预测任播部署后的运行情况, 通过预测可以挑选最优站点子集以及配置各个站点容量以提升任播服务性能[
由于任播的特殊工作机制, 任播的路由选择具有一定的随机性, 特别是当存在两条等长AS路径时. 这使得有些学者认为任播不适用于有状态的协议, 如TCP, 这就是为什么任播在诸如DNS (基于UDP)之类的无状态服务中广受欢迎. 对于任播TCP, 主要有两种极端情况出现: 拆分路径路由和网络拓扑更改.
● 分离路径路由: 客户端计算机与两个或多个任播站点等距, 并且因为路由器的网络负载平衡机制导致传输到任播地址的数据包在这些站点之间交替.
● 网络拓扑更改: 客户端计算机开始与任播站点之一进行通信. 这时若有一处网络连接突然出现或终止导致另一处的任播站点成为最接近的站点, 从而导致客户端与原本站点的TCP连接中断, 其数据包被路由到另一个节点.
针对这两种情况, 有的学者认为任播自身的稳定性足够应用到有状态服务中[
任播的出现成为部署全球化复制服务有了新的选择, 其中就包括DNS和CDN. 在介绍任播的应用之前, 我们简要讨论任播的优势及目标. 结合文献[
(1) 弹性: 文献[
(2) 可扩展性: 顾名思义, 可以通过简单地增加站点的方法来解决服务器资源不足的问题. 以DNS为例, 服务随着互联网的不断发展, DNS查询数量也急剧增长, 单个服务器必然无法承载如此庞大的查询量, 这时增加服务器站点就成为解决瓶颈的可行方法. 而任播的出现使得增加站点变得更加方便简单, 因为每个站点都提供相同的服务, 并且对客户透明, 同时也无需分配额外的地址段.
(3) 快速故障转移: 由于部署大量的分布式节点, 单点故障导致服务不可用的问题可以得到缓解, 当一个站点失效, 通过删除该站点对应的路由, 原本路由到出错站点的流量会被路由到其他正常节点上, 一旦该错误站点恢复, 那原先的流量也会随之复原. 因此, 任播中的故障转移速度取决于基础路由算法的收敛速度, 这一过程可以是快速的(OSPF)也有可能是缓慢的(BGP). 需要注意的是该目标与弹性的区别在于: 弹性主要针对DOS, 而快速故障转移主要针对单个站点失效.
(4) 性能提升: 任播的另一个目标是提升服务质量. 通过在用户附近部署站点, 大大降低了用户访问时延, 由于任播使用BGP进行路由, 不仅能够有效传递数据包, 而且通过路径选择可以选择拓扑最近的站点实现数据包的最优传输. 然而, 网络拓扑与地理位置并不密切相关[
(5) 可靠性: 最后, 任播应该增加服务的可靠性. 在客户端附近部署站点应通过减少查询必须遍历的网络元素的数量来提高可靠性. 例如, TCP连接需要知道两端的地址和端口, 以及另一端的缓冲区大小或窗口以及其他信息. 如果没有正确的信息, 该协议将无法理解正在发生的事情, 并会终止连接. 显然, 有状态通信的端点保持同步很重要. 连接的所有数据包必须到达同一目的地, 以使两端都满意. 因此, 可靠性对于单播来说很容易达成, 因为单播可以保证给定地址只有唯一目的地, 但是任播的自然属性是无状态连接服务[
首先, DNS的一个节点表示在特定位置的一组DNS服务器以及相关联的网络设备. 使用了任播的DNS, 每个DNS查询会被发送到最佳节点, 该节点是根据所使用的路由协议所确定的最近节点. 发出DNS请求的客户端通常不知道与哪个节点进行通信, 但是, 大多数任播部署都通过特殊的DNS查询提供此信息. 另外除了通过DNS宣告的任播IP地址访问DNS服务器外, 也可以使用单播IP地址访问DNS服务器, 我们将其称为内部地址.
对于最常见的路由协议BGP, 使用任播服务的DNS会将它的每个节点向网络中宣告同一网络前缀(服务前缀)的可达性信息, 其中包含任播IP地址. 来自不同节点的宣告将在域间路由系统中竞争, 并根据BGP路由选择过程进行传播. 由此出现了两种类型的任播节点: 全局节点和本地节点. 全局节点旨在为整个互联网提供服务, 因此必须具有足够的带宽和处理能力来处理全球客户请求. 本地节点旨在仅向称为节点的服务区的有限区域提供服务. 本地节点主要通过BGP策略机制实现: 一种方法是通过人为地延长了全局节点声明的AS路径. 由于BGP路由选择算法使用的最重要的指标之一是AS路径的长度, 因此这将导致首选本地节点通告的路径. 另一种方法是将本地节点发出的公告标记“no-export”的community属性值, 该属性值要求其路由公告不传播到其他AS.
现实中, 不同的根服务器使用不同的部署策略. 为了说明方便, 我们将仅包含全局节点的任播部署称为平面部署(flat), 如果包含少量彼此靠近的全局节点且包含大量的本地节点, 我们称之为分层部署(hierarchical), 最后, 将既包含大量本地节点又包含大量全局节点的部署称之为混合部署(hybrid). 这3种部署策略对应到DNS根服务器部署中的例子分别为J-root, F-root, K-root. 对于平面部署, 一方面增加了DNS服务的鲁棒性(因为所有节点都是全局节点, 单个节点失效所导致的请求失败可以通过转移到其他健康节点实现快速恢复); 但另一方面, 由于全局节点必须部署在互联网连结性和带宽都充足的区域, 部署成本高且无法兼顾“偏远”的服务区域. 相对于平面部署, 分层部署既有优点也有缺点, 优点是由于本地节点不需要处理来自全球的客户请求, 它可以部署在互联网连结性和带宽都有限制的区域, 这使得任播在部署时可以有多种选择. 同样, 本地节点的失效可能会导致其服务区客户的服务质量大幅下降甚至可能出现中断服务的结果. 另一方面, 不在本地节点服务区域中的客户端将向全局节点发送DNS查询, 由于全局节点集中在较小的地理区域中, 这将导致遥远的客户端产生较高的查询延迟. 最后, 如果来自本地节点的公告被错误的传播到全球路由中, 那么节点和周围的网络基础结构可能会因为查询请求的激增而超负荷. 而混合部署兼具平面以及分层部署的优点, 并解决了部分缺点, 但由于部署节点数量较大, 导致成本偏高.
如今, 任播已大量运用于DNS根服务器之中, 文献[
内容分发网络(CDN)在现代网络中起着重要作用, 随着互联网数据传输速率的提高以及消费者对慢速下载速度的容忍度降低, 尤其视频和语音应用程序在抖动和延迟方面特别敏感, 传统的大型网络运营商开始建设自己的CDN网络. CDN是代理服务器的全球分布式网络, 可将内容以高可用性和低延迟交付给最终用户. CDN的目标是通过从最接近最终用户的服务器提供内容来优化传输. 大多数CDN的基本架构非常简单, 由分布在互联网上的一组CDN站点组成[
CDN’s workflow
CDN工作流程
● DNS: 如
● 任播: 同样的, 客户端首先向通常由ISP配置的客户端本地DNS解析器(LDNS)发送DNS解析请求, LDNS收到请求后会解析主机名, 并将其转发至CDN的权威域名服务器. 此时, 使用任播的CDN不用考虑返回哪个站点的IP地址, 而是直接返回站点任播IP地址. BGP根据选路原则将用户重定向到拓扑最近的CDN站点, 当用户被重定向至特定站点之后, 再由具体的服务器提供服务. 由于CDN通过任播进行用户流量的重定向, 而任播基于BGP选择最佳站点, 这样一来大大简化了CDN的任务负担. 与DNS重定向相比, 任播的优势在于每个客户端的重定向都是独立的, 避免了上述LDNS的问题, 当然任播也面临一些问题, 我们将在第3节进行介绍. 目前许多知名的CDN公司包括CloudFlare, CacheFly, Microsoft/bing都成功运行了基于任播的CDN并且取得了不错的效果.
在移动IP网络上, 每个移动节点都通过其归属地址进行识别, 当从本地链路移动到外地链路时, 移动节点首先从自动配置的无状态地址或来自DHCPv6的有状态地址获取转交地址(care-of address), 并寻找最近的本地代理进行绑定更新(global dynamic home agents discovery, GDHAD), 最终才能与通信节点进行通信. 而任播则是支持移动节点发现最近本地节点的最佳方案, 通过多个本地代理宣告相同的任播IP地址, 移动节点可以找到一个路由距离最近的本地代理并发送ICMP消息, 当本地服务器收到移动节点发送的ICMP消息后, 它会返回一个包含自身单播IP地址的ICMP回复包, 移动节点在收到ICMP回复后, 得到了最近的本地代理单播IP地址, 随后, 移动节点向新的本地代理发送绑定更新.
任播的推断主要包括对任播前缀的枚举以及对任播站点的定位. 对IP任播的了解不仅有助于表征任播性能, 故障排除和基础结构映射[
关于任播的性能, 已经进行了很多相关研究, 尽管不同研究采用不同的数据集, 使用不同的衡量指标(metric), 得到的结果都表明任播存在一定缺陷.
研究者们主要通过两种指标来衡量任播性能: 往返时间(RTT)和相对地理距离. 以RTT作为评价指标的主要有文献 [
也有研究使用了相对地理距离作为比较任播选择情况的指标, 2006年, 文献[
除了上述两种指标以外, 也有一些学者从其他方面入手研究任播, 如任播的亲和性(affinity). 任播的亲和性衡量的是将来自客户端的连续任播数据包传递到同一任播服务器的程度[
我们将不同文献采用的衡量指标及选取的研究对象总结为
Summary of Anycast Performance Research
有关任播性能研究文献总结
文献 | 年份 | 衡量指标 | 研究对象 | 实验平台(方法) |
[ |
2015 | RTT, 相对地理距离 | CDN | JavaScript beacon |
[ |
2016 | RTT, 相对地理距离 | Root DNS | RIPE Atlas |
[ |
2017 | 亲和性 | Root DNS | RIPE Atlas |
[ |
2006 | RTT | Root DNS: K-root | RIPE Atlas |
[ |
2005 | 亲和性 | Root DNS | PlanetLab |
[ |
2006 | RTT, 亲和性 | Root DNS | King |
[ |
2006 | RTT, 亲和性 | Root DNS: F- and K-root | PlanetLab |
[ |
2013 | RTT | Root DNS | King |
[ |
2010 | RTT | Root DNS | SEIL probes |
[ |
2018 | RTT, 相对地理距离 | Root DNS | RIPE Atlas |
[ |
2015 | 相对地理距离 | Root DNS: K-root | RIPE Atlas |
[ |
2021 | RTT, 相对地理距离 | Root DNS, CDN | RIPE Atlas |
[ |
2004 | 负载, 亲和性 | Root DNS: J-root | DNS log |
[ |
2005 | 负载, 亲和性 | Root DNS: K-root | DNS log |
[ |
2005 | 亲和性 | Root DNS | PlanetLab |
[ |
2019 | RTT | Root DNS, CDN | RIPE Atlas |
综上所述, 任播无论是在传输时延还是物理距离方面都没有达到理想状态, 在亲和性方面, 对于任播的测量结果也没有达到公认的程度. 因此, 优化任播性能是当务之急.
任播的设计初衷是希望可以通过设立多个站点用于分摊流量以达到各站点负载均衡的目的. 但是根据任播的工作原理, 我们知道任播本身并不具备控制流量的能力——究其原因是BGP的选路策略不会考虑各站点的负载, 只会考虑如何选择最优路径. 从宏观上看, 任播多站点的设计分摊了原先单一站点的流量, 但是从每个站点的角度看, 各自站点的负载并不均衡, 甚至有可能出现某些站点超载的情况, 因此, 任播本身无法平衡服务器的负载. 目前任播技术被广泛地用于CDN中, 每个CND都希望为每个用户提供最优的服务, 尽管服务器过载的情况并不经常发生, 一旦发生, 若CDN无法做出合理应对, 无疑会影响用户体验. 如果CDN使用任播作为流量重定向策略, 单个站点有可能会因为用户流量过多而超载, 更令人担忧的是, 文献[
在网络测量中, 主要有两大测量方法: 主动测量和被动测量. 采用主动测量时, 研究人员可以根据需要主动的选择测量对象, 测量方法, 测量时间, 定制化的在网络中进行端到端的性能参数测量, 其优点显而易见: 测量的数据类型能够最大程度满足研究需求. 缺点是主动测量依赖于面向网络的测量系统并需要向网络中注入额外流量, 从而限制了主动测量的规模. 而被动测量则是通过收集已有的设备运行数据并加以数据分析最终得到需要的信息. 一般来说, 被动测量无需产生额外流量, 不会增加网络负担; 但是被动测量往往无法像主动测量那样简洁明了的获得所需数据, 仍需对测量结果进行复杂的数据分析, 而测量结果的局限性甚至会导致已有测量结果无法分析得到所需数据.
文献[
Synoptic of anycast instance detection via latency measurements[
通过延迟测量发现任播实例[
图中显示有两个探测点(
则说明探测点
文献[
上述实验方法均采用主动测量, 基于被动测量来获取任播前缀的方法不多, 目前为止只有一篇文献进行相关工作[
● N: 上游AS的数量: 所谓上游AS定义如下: 假定由ASn宣布的前缀, 通过客户运营商关系或对等关系与ASn连接的ASn邻居AS的集合. 由于任播前缀在全球各地进行宣告, 那么任播前缀的上游AS数量会多余正常单播前缀上游AS数量.
● P1: 距离大于1的上游AS对的百分比: AS对之间的距离代表两个AS之间存在的AS跳数(任播较大).
● P2: 距离大于2的上游AS对的百分比(任播较大).
● MD: 上游AS之间的最大距离(任播较大).
● ML:AS路径的最大长度(任播较小).
对于上述5个特征, 直观上任播和单播之间存在明显的差异(文中也通过实验证明了两者在这些特征上的差异), 因此选择这5个特征属性训练分类器, 他们分别使用决策树和随机森林模型训练分类器并在检测任播前缀时达到了90%的精度.
对于任播站点的研究, 就方法论而言, 已经采用如下的技术: (1)发送特殊类(CHAOS), 类型(TXT)和名称(host-name.bind 或 id.server)的特殊DNS查询请求. (2)使用traceroute, ping等基于ICMP协议的工具测量.
文献[
文献[
其中, 参数α用于调整人口与距离在决策中的重要性,
该方法基于的理论基础是文献[
我们将对于任播推断的研究总结见
: Summary of Anycast Inference
关于任播推断的文献总结
文献 | 研究对象 | 测量方法 | 测量平台 | 准确率 (%) |
[ |
站点定位 | 被动测量 | - | - |
[ |
站点定位 | 被动测量 | - | - |
[ |
站点定位 | 被动测量 | - | - |
[ |
前缀枚举, 站点定位 | 主动测量 | RIPE Atlas | 78 |
[ |
前缀枚举 | 主动测量 | PlanetLab | - |
[ |
前缀枚举 | 被动测量 | - | 90 |
关于这个问题, 许多文献已经说明了原因: 文献[
第一个被证明可行的解决方案是在文献[
在文献[
最近的文献[
文献[
: Anycast networks and their upstream providers[
任播网络以及上游供应商[
作者又进一步认证了在具有广泛而多样的对等链接的多运营商网络的情况下, 影响路由决策的正确机制是宣告本身, 通过改变接收它们的供应商的集合可以优化任播性能, 但是简单的添加或移除对运营商的宣告并不总是可以提高RTT性能, 实际上, 不加选择地向新的运营商宣告会导致近40%的网络性能下降. 所以作者发明一个名为DaliyCatch的方法, 这是一种用于测试和验证宣告配置更改的经验性度量方法, 该方法可以帮助站点在宣告任播IP时能够选择性得向部分供应商网络进行宣告, 从而使网络中的路由信息易于BGP做出最优选择.
文献[
针对任播的种种问题, 有学者提出了区域任播的概念, 与普通的全球任播不同, 区域任播将全球网络划分为多个虚拟集群, 每个集群属于一个特定的地理区域. 通过限制任播服务区域来限制候选站点的数量, 以防止潜在的路径膨胀[
通过上述对现有解决任播性能问题方案的分析, 我们认为区域任播的方案最具可行性, 尽管前面的几种方案经过实验证明了其有效性, 在改善任播性能方面都有各自的优势. 然而, 这些方法不是对中间路由器添加额外的负担, 就是很难在广域网中部署实现, 因此至今这些方法仅在实验中验证可行. 对于区域任播的研究尚不全面, 我们列举了几个未来可能的研究方向.
(1)区域任播的区域划分: 在之前讨论任播性能无法保证的原因时提到, 远程对等是主要原因之一. 但随着互联网扁平化趋势的逐步推进, 远程对等将是未来网络通信的重要组成部分. 因此, 如何优化区域划分方法将是“切断”远程对等, 提高区域任播性能的研究方向之一.
(2) 从全球任播向区域任播的转变: 从已经部署的全球任播转移到区域任播需要进行哪些操作, 注意哪些问题, 是否有通用的方法等.
(3) 区域的动态变化等: 动态的网络环境存在许多不可知因素, 比如一条链路的失效可能会导致单个区域内站点负载的上升. 而动态的调整区域划分可以有效平衡区域内站点负载, 提升区域任播的鲁棒性.
首先提出有关任播负载均衡方案的是文献[
Yamamoto等人[
在2008年, Alzoubi 等人[
: Load-aware Anycast CDN Architecture[
负载感知任播CDN模型[
首先
文献[
: An example configuration with three Anycast layers[
3层任播配置图例[
该方案具体实现的关键在于将权威DNS服务器与任播站点并置于同一个FastRoute节点中, 并且基于假设: 可控流的数量要远大于不可控流(客户DNS查询和随后的用户流量代理都位于同一FastRoute节点上, 该用户流量即称为可控流). 当一个FastRoute节点中的负载管理服务器(load manager server)检测到代理服务器的负载超过某一阈值时, 该DNS服务器会返回下一层站点的IP从而实现分流. 尽管该方法已被应用于微软CDN中并受到了一定成效, 然而该方法需要很强的应用条件即DNS服务器与任播站点并置在一起, 这使得FastRoute很难得到广泛应用.
另外, Cloudflare在其边缘数据中心内部使用任播并提出了一种针对任播的负载均衡方法, 该数据中心并没有采用集中式的负载均衡器[
本文首先介绍了任播的工作机制以及任播的发展历史, 随后阐述了任播在当前互联网中的主要应用, 最后列举任播发展过程中存在的问题, 主要分为: 任播推断的不完善, 任播性能无法保证, 难以控制任播负载均衡3个方面. 总结了关于任播问题的相关工作和最新研究进展, 同时针对不同研究发明的解决方案进行总结并提出需要改进的方向. 具体来说, 已有工作研究还存在以下几个问题.
(1) 已有的任播前缀检测和任播站点定位的精度有待提高. 无论是被动测量还是主动测量, 所能达到的最高精度也只是在90%左右, 另外, 由于一些特殊原因, 任播地址的不响应也导致最终枚举结果不完全, 定位不准确的问题.
(2) 区域任播的区域划分太随意. 目前市面上采用的区域任播基本以大洲为单位进行区域划分, 我们认为这种划分方式过于粗糙导致无法解决全球任播中存在的问题. 对于区域任播的测量中我们发现, 尽管能够略微提升任播的性能, 但是因为各大洲的部署情况不同, 各区域的表现也参差不齐, 具体表现为欧洲北美洲站点多性能好, 非洲南美洲站点少性能差.
(3) 缺乏一种普适性的平衡任播各站点负载的方法. 文献[
随着任播服务的越来越成熟, 任播的安全性也愈发重要, 因此, 部署一个安全、高效的任播服务, 使其能够适应各种各样的网络环境也变得重要. 同时, 因为任播的特性, 针对任播的研究无法绕开对网络路由的研究, 任播问题最终还是需要在路由协议的研究中寻求解决方法. 未来的研究将继续致力于提高全球范围任播的性能, 并利用任播独特的工作原理寻找新的应用服务.
http://www.rfc-editor.org/rfc/rfc1546.txt]]>
李锦, 鲁士文. 基于IPv6的任播路由协议的研究和设计. 计算机系统应用, 2007, (9): 26–30. [doi: 10.3969/j.issn.1003-3254.2007.09.007]
Li J, Lu SW. Research and design of routing protocols for IPv6 anycast communication. Computer Systems & Applications, 2007, (9): 26–30 (in Chinese) [doi: 10.3969/j.issn.1003-3254.2007.09.007]
张千里, 姜彩萍, 王继龙, 李星. IPv6地址结构标准化研究综述. 计算机学报, 2019, 42(6): 1384–1405. [doi: 10.11897/SP.J.1016.2019.01384]
Zhang QL, Jiang CP, Wang JL, Li X. A survey on IPv6 address structure standardization researches. Chinese Journal of Computers, 2019, 42(6): 1384–1405 (in Chinese with English abstract). [doi: 10.11897/SP.J.1016.2019.01384]
https://www.imperva.com/blog/how-anycast-works/]]>
许靓, 唐学文. 基于IPv6任播技术的研究. 计算机科学, 2006, 33(S12): 19–23, 70.
Xu L, Tang XW. Research based on IPv6 anycast technology. Computer Science, 2006, 33(S12): 19-23, 70 (in Chinese with English abstract).
Yamamoto M, Miura H, Nishimura K. Server load balancing with network support: Active anycast. IEEE Transactions on Communications, 2001, E84-B(6): 1561–1568.
Anonymous. The collateral damage of Internet censorship by DNS injection. ACM SIGCOMM Computer Communication Review, 2012, 42(3): 21–27.
Gill P, Crete-Nishihata M, Dalek J, Goldberg S, Senft A, Wiseman G. Characterizing web censorship worldwide: Another look at the opennet initiative data. ACM Transactions on the Web, 2015, 9(1): 4. [doi: 10.1145/2700339]
https://www.smh.com.au/technology/8888-the-four-digits-that-could-thwart-australias-antipiracy-websiteblocking-regime-20150624-ghw7kc.html]]>
https://labs.ripe.net/author/emileaben/dns-root-server-transparency-k-root-anycast-and-more/]]>
https://labs.ripe.net/author/ray_bellis/researching-f-root-anycast-placement-using-ripe-atlas/]]>
Schomp K, Al-Dalky R. Partitioning the internet using anycast catchments. ACM SIGCOMM Computer Communication Review, 2020, 50(4): 3–9. [doi: 10.1145/3431832.3431834]
https://engineering.linkedin.com/network-performance/tcp-over-ip-anycast-pipe-dream-or-reality]]>
https://archive.nanog.org/meetings/nanog37/presentations/matt.levine.pdf]]>
https://www.ripe.net/publications/docs/ripe-393]]>
Biliris A, Cranor C, Douglis F, Rabinovich M, Sibal S, Spatscheck O, Sturm W. CDN brokering. Computer Communications, 2002, 25(4): 393–402. [doi: 10.1016/S0140-3664(01)00411-X]
https://archive.nanog.org/sites/default/files/wed.general.cowie_.anycasters.37.pdf]]>
https://www.rfc-editor.org/info/rfc2526]]>
https://labs.ripe.net/Members/jh_kuipers/analyzing-the-k-root-anycast-infrastructure]]>
https://archive.nanog.org/meetings/nanog32/presentations/kosters.pdf]]>
https://meetings.ripe.net/ripe-51/presentations/ripe51-anycast_k-root.pdf]]>
https://www.youtube.com/watch?v=0eWIJ56s580\&ab_channel=NANOG]]>
2: Using anycast to measure anycast. In: Proc. of the 2020 ACM Internet Measurement Conf. ACM, 2020. 456–463.]]>
Bian R, Hao S, Wang HN, Dhamdere A, Dainotti A, Cotton C. Towards passive analysis of anycast in global routing: Unintended impact of remote peering. ACM SIGCOMM Computer Communication Review, 2019, 49(3): 18–25. [doi: 10.1145/3371927.3371930]
https://www.imperva.com/learn/performance/route-optimization-anycast/]]>
Miura H, Yamamoto M. Server selection policy in active anycast. IEICE Transactions on Communications, 2001, E84-B(10): 1–4.
et al. Dynamic connectivity management with an intelligent route service control point. In: Proc. of the 2006 SIGCOMM Workshop on Internet Network Management. Pisa: ACM, 2006. 29–34.]]>
https://blog.cloudflare.com/cloudflares-architecture-eliminating-single-p/]]>