CN109756586A - 选播网络中的确定性流量管理 - Google Patents
选播网络中的确定性流量管理 Download PDFInfo
- Publication number
- CN109756586A CN109756586A CN201810869369.4A CN201810869369A CN109756586A CN 109756586 A CN109756586 A CN 109756586A CN 201810869369 A CN201810869369 A CN 201810869369A CN 109756586 A CN109756586 A CN 109756586A
- Authority
- CN
- China
- Prior art keywords
- pop
- address
- anycast address
- choosing
- dns
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5691—Access to open networks; Ingress point selection, e.g. ISP selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Abstract
双层选播寻址分层结构可实现选播系统中的确定性流量管理。该选播系统的不同位置通知包括具有第一地址前缀的第一层选播地址的公共选播覆盖路由,以及包括具有第二地址前缀的一组第二层选播地址的不同特定路由,其中该组第二层选播地址的每个地址属于已经通知的选播覆盖路由,并且其中所述第二前缀大于所述第一前缀。当需要正常的选播操作时域名系统(DNS)操作能够解析对所述覆盖路由的查询,或者能够被修改以解析对特定第二层地址的查询子集,以便转移基于解析的查询子集的确定量的流量到基于从特定第二层地址被通知的的位置确定性选择的选播系统位置。
Description
技术领域
本发明涉及网络通信领域,具体涉及网络的寻址和路由方法和系统。
背景技术
选播(anycast)是一种网络寻址和路由方法,由此从两个或更多个不同的网络位置通知(advertise)相同的网络寻址。图1概念性地示出了基于选播的网络架构。存在两个不同的网络位置,也称为存在点(PoP)110和120,从该位置一个或多个服务器操作以向不同的请求客户端递送相同的内容或服务。每个PoP 110和120通知在相同的互联网协议(IP)地址处是可访问的。特别地,每个PoP 110和120处的网关路由器将边界网关协议(BGP)通知消息(即,BGP更新消息)分发给相邻网络路由器。所述通知通过一系列自治系统(AS)标识符或其他标识符将跳数传送到地址。所述通知消息为到达每个PoP 110和120标识相同IP寻址。
其他网络路由器接收所述通知并构建路由或转发表,以识别到每个通知地址的最短路径。因此,当路由器130接收到针对来自PoP 110和120通知的所述选播地址的请求时,路由器130将PoP 110识别为最近的目的地并将所述请求路由到PoP 110。当路由器140接收到针对来自PoP 110和120通知的所述选播地址的请求时,路由器140将PoP 120识别为最近的目的地并将所述请求路由到PoP 120,而不是PoP 110。
选播与传统的单播寻址和路由相比具有多种优势。对于单播,每个目的地都分配了一个唯一的地址。域名系统(DNS)查询解析因以下事实而变得复杂:如果两个不同的位置或PoP托管(host)用于查询的域的内容,所述DNS服务器执行一些逻辑以在解析该查询之前识别最佳位置。选播不需要这样的逻辑,因为在特定的选播地址可访问的特定域的每个查询都可以简单地解析为该特定的选播地址,无论所述查询在何处被接受,所述查询源自何处,或后续请求被路由到何处。对于单播,所述逻辑典型地涉及所述DNS服务器查找其自己的位置或所述请求者的位置,以便为所述查询的域识别最近的PoP或服务器的所述单播地址。这是选播可以提供相对于单播的改进性能的一个示例。
与基于单播的网络架构相比,基于选播的网络架构也显著地更容易设置和管理。管理和链接到地理区域或其他标准(criteria)的地址很少,从而降低了请求的不正确或次优(suboptimal)路由的可能性。配置开销也显著更少。在基于单播的网络架构中,每次更改DNS操作以将域从第一单播地址路由到第二或其他单播地址时,都会跟踪该更改,以便在如果需要时可以恢复或重置所述DNS操作。
选播涉及放弃对所述网络的所述路由的控制。因此,选播不允许将特定子集或特定数量的流量(traffic)从一个选播位置确定性地转移到其他特定选择的选播位置。通过简单地改变对要从源位置的第一地址转移到期望目的地位置的不同的第二地址的所述流量的DNS解析,这种确定性的流量转移在基于单播的网络架构中容易实现。然而,由于在基于选播网络架构的所有位置通知相同寻址,通过DNS解析这种确定的流量转移是不可能的。从所述源位置拉取(pulling)所述地址通知是在所述基于选播的网络架构中转移流量的一种方式,但是从所述源位置转移的流量或负载量以及流量转移到的目的地位置不能通过简单地拉取所述地址通知确定性地控制。
确定性的流量管理在抵御网络攻击,在特定位置发生中断或故障时保持正常运行时间,响应于特定位置的高需求或使用的平衡容量,以及提高性能是有效的。因此,需要在基于选播的网络架构中提供确定性流量控制。特别地,需要保持选播的简单性和性能优势,同时还具有将特定量的流量转移到述基于选播的网络架构内的特定选定目的地的能力。
发明内容
本发明提供一种方法,包括:提供包括多个存在点(PoP)和对多个PoP的DNS查询进行解析的多个域名系统(DNS)服务器的网络;通知多个PoP的每个PoP可访问的公共第一选播地址,其中所述通知包括将具有第一地址前缀的公共第一选播地址从多个PoP的每个PoP发送到与每个PoP相邻的网络路由器;从多个PoP的每个PoP通知具有第二地址前缀的不同的第二选播地址,其中所述第二地址前缀大于所述第一地址前缀,其中从每个PoP通知的所述第二选播地址不同于所述第一选播地址和从多个PoP的其他PoP通知所述第二选播地址;在与多个PoP中的第一PoP相关联的所述多个DNS服务器的一个DNS服务器处,对从所述第一选播地址到从所述多个PoP的第二PoP通知的所述第二选播地址的DNS查询组的解析进行修改,其中所述DNS查询组导致在所述第一PoP处产生特定量的流量的请求;以及响应于所述修改,使用从所述第一PoP到所述第二PoP的选播寻址确定性地转移特定量的流量。
本发明还提供一种方法,包括:提供具有多个存在点(PoP)和解析对多个PoP的DNS查询的多个域名系统(DNS)服务器的网络;通知多个PoP中的每个PoP可访问的公共第一选播地址,其中所述通知包括将具有第一地址前缀的所述公共第一选播地址从多个PoP中的每个PoP发送到与每个所述PoP相邻的网络路由器;将多个DNS服务器中的每个DNS服务器处的多个DNS查询解析为一组第二选播地址,其中每个第二选播地址与多个PoP中的不同PoP相关联,其中来自第二选播地址的组的每个第二选播地址是不同的,并且在所述公共第一选播地址的子网内,并且其中每个第二选播地址具有大于所述第一地址前缀的第二地址前缀;响应于所述通知填充的具有作为第二选播地址的组的每个第二选播地址的覆盖路由的公共第一选播地址的网络路由器的路由或转发表,基于所述公共第一选播地址路由针对所述第二选播地址的组的多个请求;以及响应于(i)从所述第二PoP通知与所述第二PoP相关联的特定第二选播地址,以及(ii)与所述第一PoP相邻的多个DNS服务器中的一个DNS服务器将所述多个DNS查询的至少一组解析为所述特定的第二选播地址,确定性地将特定量的流量从第一PoP转移到所述多个PoP的第二PoP。
本发明还提供分布式网络,包括:多个存在点(PoP),其中每个PoP包括:至少一个服务器,提供客户端访问公共内容或服务的请求;网关路由器通知到邻近的网络路由器的选播寻址;以及其中,所述多个PoP中的每个网关路由器通知(i)具有第一地址前缀的公共第一选播地址和(ii)来自具有第二地址前缀的一组第二选播地址的不同的第二选播地址,其中第二地址前缀大于所述第一地址前缀;以及多个域名系统(DNS)服务器,每个DNS服务器在地理上接近所述多个PoP中的一个,其中所述多个DNS服务器包括:地理上接近所述多个PoP的第一PoP的特定DNS服务器,所述特定DNS服务器包括:(i)响应于对所述多个PoP的流量的选播分发,将多个DNS查询解析为所述公共第一选播地址的第一组记录;以及(ii)响应于使用基于所述第二PoP的确定性选择的选播寻址,从所述第一PoP向所述第二PoP转移确定量的负载,将多个DNS查询的组解析为从所述多个PoP的第二PoP的网关路由器通知的不同的第二选播地址的不同的第二组记录。
附图说明
现在将仅通过示例参考附图描述用于选播网络中的确定性流量管理的优选实施例,其中:
图1概念性地示出了基于选播的网络架构;
图2概念性地示出了根据一些实施例的双层选播寻址分层结构(two-tierAnycastaddressing hierarchy)的通知覆盖路由(cover route)和特定路由;
图3示出了用于图2的网络路由器的路由或转发表;
图4示出了根据一些实施例的通过动态修改用于具有双层选播寻址分层结构的选播系统的DNS操作来确定性地转移流量的过程;
图5A、5B和5C概念性地示出了由图4所述过程产生的确定性流量管理;
图6呈现了根据一些实施例的用于通过来自一个或多个选播系统位置的第二层选播寻址的动态通知来确定性地转移流量的过程;
图7A和7B概念性地示出了由图6所述过程产生的所述确定性流量管理;
图8示出了实现一些实施例的计算机系统或服务器。
具体实施方式
公开了用于在基于选播的网络架构中的确定性流量管理的系统和方法。特别地,实施例提供基于选播的系统和一套选播方法,用于将特定量的流量或负载从所述选播系统的第一位置转移到所述选播系统的一个或多个特定选择的第二位置,而不偏离选播寻址和路由,并且不必将不同的单播寻址分配给不同的位置。换句话说,实现所述确定性流量管理,同时继续从所述选播系统的不同位置通知相同的选播寻址。
在一些实施例中,基于选播网络架构中所述确定性流量管理涉及创建具有双层选播寻址分层结构的选播系统。通过根据传统的选播操作从不同的选播系统位置通知通用选播覆盖路由(即,第一选播地址),来创建双层寻址分层结构,同时还在来自不同选播系统位置的已经通知的选播覆盖路由内通知更具体的路由(即,一组第二选播地址)。
从各种选播系统位置通知的所述第一层选播覆盖路由具有相同的地址或地址子网,而所述第二层特定路由是位于选播覆盖路由的子网内的不同选播地址。例如,从所述多个选播系统位置通知的所述覆盖路由可以是/24互联网协议(IP)地址(例如,1.1.1.0/24),并且所述特定路由是不同的选播系统位置通知的不同的/28IP地址(例如,1.1.1.100/28和1.1.1.101/28)。只要所述特定路由子网掩码或地址前缀大于相应覆盖路由的子网掩码或地址前缀,不同的子网掩码可以被用于在所述覆盖路由和所述特定路由中寻址通知。因此,代替用于不同选播寻址层的/24和/28子网掩码,可以使用/23和/29子网掩码或/18和/30子网掩码。更一般地,只要所述特定路由地址前缀保持大于所述覆盖路由地址前缀,所述覆盖路由寻址可以被/12-/31地址前缀指定,并且所述特定路由寻址可以被/13-/32地址前缀指定。这同样适用于具有IP版本6(IPv6)寻址的选播系统。在一些这样的实施例中,所述覆盖路由可以通知/48IPv6地址,并且所述特定路由可以在所述/48IPv6地址内通知/64IPv6地址,例如fc00::/48和fc00:0:1::/64。
图2概念性地示出了根据一些实施例的两层选播寻址分层结构的通知覆盖路由和特定路由。该图示出了具有四个不同的存在点(PoP)210、220、230和240的选播系统。一个或多个服务器以及至少一个网关路由器(例如,250)在每一个所述PoP 210、220、230和240中操作。每个PoP 210、220、230和240提供对公共的内容或服务组或响应针对公共域组的请求的访问。
所述PoP 210、220、230和240通过相同的选播地址(即,第一选播地址)和第一地址前缀向相邻或连接的网络路由器通知相同的覆盖路由260。在一些实施例中,所述PoP的网关路由器通知所述覆盖路由。所述通知是典型的边界网关协议(BGP)路由通知(即,BGP更新消息),尽管当所述网络路由器根据那些不同的网络协议路由时,也可以发送针对不同的网络协议的路由和寻址通知。
图2还示出了通知不同的特定路由(即,一组第二选播地址)的PoP 210、220、230和240,其包括在所述覆盖路由选播地址内的不同选播寻址。在该图中,从全部PoP 210、220、230和240通知的所述覆盖路由选播地址是172.16.0.0/23,从所述第一PoP 210通知的所述特定路由270是172.16.0.1/29,从所述第二PoP 220通知的所述特定路由280是172.16.0.8/29,从所述第三PoP 230通知的所述特定路由290是172.16.0.16/29,以及从所述第四PoP 240通知的特定路由295是172.16.0.24/29。
由所述不同的覆盖路由和特定路由通知而建立的双层选播寻址分层结构在与选播系统无关(unaffiliate)的所述网络路由器的转发或路由表中创建多个条目。图3示出了用于图2的网络路由器255的路由或转发表310。所述路由或转发表310是基于图2的各种覆盖路由和特定路由通知填充的。
所述网络路由器255使用最长前缀匹配(LPM)来基于所接收数据包的所述寻址来选择所述多个条目中的一个。如果所述输入数据包指定IP地址172.16.0.15,则所述数据包与任何所述特定路由的寻址不匹配,但与所述覆盖路由匹配。因此,所述路由器255根据为所述覆盖路由指定的路径转发所述数据包。如果所述输入数据包指定IP地址172.16.0.16,则该IP地址匹配所述覆盖路由和从图2的第三PoP 230通知的所述特定路由。然而,所述转发或路由决定由与最长前缀的匹配来控制。在这种情况下,所述路由器255根据为从第三PoP 230通知的所述特定路由指定的所述路径转发数据包,而不是遵从基于选播的路由到最近的通知覆盖路由的PoP。
所述双层选播寻址分层建立支持确定性流量管理的一些实施例的选播系统。换句话说,选播系统中的确定性流量管理由一些实施例的双层选播寻址分层实现。作为一些例子,这样的选播系统可以利用所述确定性的流量转移以响应所述选播系统的特定位置的网络攻击,特定位置的过多负载,特定位置的故障或中断,或者在所述特定位置执行维护的需求。
一些实施例实现至少两种不同的方法,用于基于为一些实施例的选播系统建立的双层选播寻址分层结构确定性地将特定量的流量从一个选播系统位置移动到一个或多个其他特定选择的选播系统位置。一些实施例的第一这种方法涉及在任何流量转移双层选播寻址分层之前进行通知。当需要流量转移时,动态修改域名系统(DNS)操作以更改一些特定DNS查询组的解析,其产生确定量的流量以从第一层覆盖路由地址转移到所需系统位置的第二层特定路由地址以接收确定量的流量。在一些这样的实施例中,在最接近将从其移走流量的选播系统位置的一个或多个DNS服务器处修改所述DNS操作。在一些实施例中,在一个或多个DNS服务器处修改所述DNS操作,所述DNS服务器对被选择从所述选播系统位置移走的域授权。
图4呈现了根据一些实施例的通过动态修改用于具有双层选播寻址分层结构的选播系统的DNS操作来确定性地转移流量的过程400。所述过程400通过(在410处)监视每个选播系统位置或PoP的负载开始。
所述过程(在420处)识别特定的选播系统位置并且确定性地(在430处)设置特定量的流量以从作为所述监视结果的特定的选播系统位置移开。在一些实施例中,所述监视自动检测特定的选播系统位置正在经历负载满容量或接近满容量、网络攻击、或即将进行例行或定期维护。在一些实施例中,从特定选播系统位置转移的特定量的流量可以被定义为作为解析并路由到特定选播系统位置的对域名子集的请求或者每个第N个请求,其中在特定选播系统位置处的对所述域名子集的请求或每个第N个请求近似地产生在特定选播系统位置处的特定量的流量或负载。
所述过程基于所述监视确定性地(在440处)选择一个或多个其他选播系统位置以接收特定量的流量。基于他们必须吸收一些或所有要被移位的流量的过剩容量的量,选择一个或多个其他选播系统位置。所述选择还考虑了性能,其中性能标准是基于被选择的位置距特定选播位置的距离。
所述过程(在450处)识别来自步骤440中选择的一个或多个其他选播系统位置中的每一个的特定路由中通知的第二层选播IP地址。同样,第二层选播IP地址在从所有选播系统位置通知的选播覆盖路由的第一层IP地址子网中。换句话说,第二层选播IP地址是一组第二选播地址,其地址前缀大于通知的选播覆盖路由的第一选播地址的地址前缀。
所述过程(在460处)动态地修改DNS操作,使得先前基于第一层覆盖路由选播IP地址解析到特定选播系统位置的对域名子集或每个第N个请求的DNS查询,被解析为基于从所述一个或多个其他选播系统位置通知的特定路由中的第二层选播IP地址的一个或多个其他选播系统位置。在一些实施例中,一个或多个接近所述特定选播系统位置的DNS服务器的区域文件或记录被修改。更具体地说,这些是从也在地理位置上接近特定选播系统位置的客户端接收DNS查询的DNS服务器,使得对所述第一层覆盖路由选播IP地址的那些DNS查询的解析,将导致随后发出的从具有所述第一层覆盖路由选播IP地址的目的地地址路由到特定选播系统位置的那些客户端的请求。在一些实施例中,所述动态修改包括向DNS服务器添加规则,其中每第N个请求被解析为特定路由选播IP地址而不是覆盖路由选播IP地址。修改的DNS服务器可以是由不同内容或服务提供商操作的授权DNS服务器。修改的DNS服务器也可以是在选播系统控制下的DNS服务器。
作为所述修改的DNS操作的结果,所述过程(在470处)将特定量的流量从特定选播系统位置转移到一个或多个确定性选择的选播系统位置。根据一些实施例,图5A,5B和5C概念性地示出了由过程400产生的确定性流量管理。
图5A示出了具有三个PoP 510、520和530以及在地理上接近各个PoP510、520和530的三个DNS服务器540、550和560的选播系统。每个PoP 510、520和530通知具有相同的第一层选播地址和第一地址前缀的覆盖路由,以及具有不同的第二层选播地址和第二地址前缀的不同的特定路由。
图5B示出了来自图5A的选播系统的传统选播操作模式,在图5A中,不期望确定性流量转移。在传统的选播操作模式中,不同地理区域中的不同客户端组将DNS查询发送到DNS服务器540-560之一。DNS服务器540-560将所述查询解析为第一层覆盖路由选播地址或在第一层覆盖路由选播地址下的更具体的选播地址,该地址与来自被通知的特定路由的各个第二层选播地址不同。然后客户端发布针对第一层覆盖路由选播地址或不是被通知的特定路由的选播地址的请求,并且网络路由器将这些请求路由或转发到最近的PoP。
图5C示出了来自图5A的选播系统的修改的选播操作模式,在图5A中,已经根据一些实施例定义了确定性流量转移。所述修改的选播操作模式暂时覆盖图5B的传统选播操作模式。在所述修改的选播操作模式中,对DNS服务器550的DNS操作被修改以便将确定性指定量的流量从第二PoP 520转移到确定性选择的第一PoP 510。修改所述DNS服务器550,使得来自客户端组570的对域名子集或查询子集(例如,每个第N个查询)的DNS查询,被解析为从第一PoP 510通知的特定路由的第二层选播地址而不是第一层覆盖路由选播地址。因此,所述网络路由器从选播通常路由到第二PoP 520的该组客户端的子集,接收针对从第一PoP510通知的第二层选播地址的请求。基于LPM,所述网络路由器现在将这些请求路由或转发到第一PoP 510,而来自针对第一层覆盖路由选播地址的同一组客户端的请求仍然被路由到第二PoP 520。以这种方式,指定量的流量被确定性地从第二PoP 520转换到第一PoP510。
这套方法阻止对选播系统的攻击也很有效。所述选播系统可以负责从其各个位置或PoP分发几个不同内容提供者的内容。具有任何不同内容提供者的域名或统一资源定位符(URL)的DNS查询将被解析为在普通选播操作下覆盖路由的第一层选播地址。如果攻击针对特定内容提供者,选播系统通过一些实施例的确定性流量管理途径,可以阻止来自其PoP的攻击流量。特别地,DNS服务器可以临时解析针对特定内容提供者的域名或URL的DNS查询,到从仅是黑洞或重定向攻击流量的选播系统的位置通知的特定路由的第二层选播地址。针对其他内容提供者的域名或URL的DNS查询可以继续解析为第一层覆盖路由选播地址,以便随后发布的对第一层覆盖路由选播地址的请求被路由到选播系统最近的操作位置。
如上所述,一些实施例提供了基于具有双层选播寻址分层结构的选播系统的第二套确定性流量管理方法。第二套方法涉及使用第二层选播地址动态通知特定路由,以便在选播系统中实现确定的流量转移。不同于参考图4描述的第一套方法,该第二套方法不涉及修改DNS操作以产生流量转移。在第二套方法中,DNS服务器预先配置了多个记录,用于解析对不同的第二层选播IP寻址的DNS查询。因此,DNS服务器将DNS查询解析为至少一个次级选播系统位置的第二层选播IP地址,其中所述次级选播系统位置是与最靠近DNS服务器的选播系统位置不同的位置。因为已通知的所述覆盖路由的第一层选播地址,并且因为第二层选播IP地址仅在期望的确定性流量转移时通知,发布到这些第二层选播IP地址的请求仍将路由到最近的选播系统位置。因此,即使所述DNS服务器将DNS查询解析为第二层选播IP地址,普通选播操作下的网络路由器也不了解第二层选播IP地址。相应地,所述网络路由器将根据覆盖路由的第一层选播IP地址路由,直到需要确定性的流量转移涉及第二层选播IP地址之一,并且从接收转移的流量的选播系统位置动态通知第二层选播IP地址。
图6呈现了根据一些实施例的用于通过来自一个或多个选播系统位置的第二层选播寻址的动态通知来确定性地转移流量的过程600。与上面的过程400一样,过程600(在610处)监视每个选播系统位置或PoP上的负载并且基于该监视,(在620处)识别特定的选播系统位置,(在630处)确定性地设置特定量的流量以从特定的选播系统位置移开,并(在640处)确定性地选择一个或多个其他选播系统位置以接收特定量的流量。
所述过程(在650处)预先配置选播系统的DNS操作。预配置的DNS操作解析等同于不同PoP处的不同百分比或量的流量的不同的域名子集到尚未通知的不同的第二层选播地址。
所述过程(在660处)动态地从一个或多个其他选播系统位置通知用于一个或多个其他选播系统位置的第二层选播IP地址的子集。所述通知的第二层选播IP地址子集与在特定选播系统位置产生特定量流量的域名有关。这些通知为网络路由器提供更具体的路由信息。因此,针对先前根据基于覆盖路由选播IP地址的正常选播操作路由的第二层选播IP地址子集的请求,现在将被确定地路由到一个或多个其他选播系统位置。更具体地说,确定性流量转移是基于在网络路由器的路由或转发表中创建的新条目,这是由于动态通知的第二层选播IP地址和第二层选播IP地址优先于由于网络路由器的LPM操作而导致的第一层选播IP地址。
由于来自一个或多个其他选播系统位置的特定路径的动态通知,所述过程(在670处)将特定量的流量从特定选播系统位置转移到一个或多个确定性选择的选播系统位置。所述过程(在680处)终止并且当通过拉动通知的特定路线不再要求流量转移时,将指定量的流量重新转移回到特定的选播系统位置。
根据一些实施例,图7A和7B概念性地示出了由过程600产生的所述确定性流量管理。图7A示出了具有三个PoP 710、720和730以及在地理上接近各个PoP 710、720和730的三个DNS服务器740、750和760的选播系统。当不需要确定性流量转移时,每个PoP 710、720和730仅向网络路由器通知覆盖路由。同时,所述DNS服务器740、750和760被预先配置为将DNS查询解析为与不同PoP 710、720和730相关联的第二层选播寻址,即使第二层选播寻址尚未被通知。特别地,DNS服务器750将对第一域的查询解析为与第一PoP 710相关联的第二层选播地址,并将对第二域的查询解析为与第二PoP 720相关联的第二层选播地址。然而,由于尚未通知第二层选播寻址,因此接收自最靠近第二PoP 720的路由器的那些第二层选播地址的请求,将基于识别的到第二PoP 720的覆盖路由路径为最短路径的覆盖路由通知被路由到第二PoP720。
然后,图7B通过引入对所述DNS查询被解析到的第二层选播寻址的通知示出了确定性地转移流量。特别地,图7B示出了将一半的流量从第二PoP720转移到第一PoP 710。为此,(在770处)第一PoP 710通过恰好是DNS服务器750解析对两个域之一的查询的相同地址的特定的第二层选播地址,通知所述特定路径。网络路由器现在具有到特定第二层选播地址的第一PoP710的特定路径。因此,来自客户端780组到先前在正常选播操作下路由到第二PoP 720的特定第二层选播地址的请求,现在被路由到第一PoP 710。
双层选播寻址分层结构还可以被作用于进行自动故障转移。在一些这样的实施例中,选播系统的每个PoP通知第一层覆盖路由选播地址以及在第一层覆盖路由选播地址子网或地址前缀内的不同的第二层特定路由选播地址。DNS服务器将DNS查询解析为最近的PoP的第二层选播地址。
一旦特定PoP发生故障,它就会停止将其第二层选播地址通知给网络路由器。如果在一段可配置的时间内没有收到具有该地址的新通知,则生存时间参数最终将使网络路由器从其路由或转发表中删除所述特定PoP的第二层通信地址。因此,任何针对特定PoP的第二层选播地址的请求仍然可以基于由其他PoP通知的第一层覆盖路由选播地址来路由。
服务器、计算机和计算机器是指其最广泛的意义,并且可以包括具有处理器的任何电子设备,包括蜂窝电话、智能电话、便携式数字助理、平板设备、膝上型电脑、笔记本电脑和台式计算机。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、电可编程序只读存储器(EPROM)等。
图8示出了实现一些实施例的计算机系统或服务器。这样的计算机系统包括各种类型的计算机可读介质和接口,用于实现上述各种方法和机器的各种其他类型的计算机可读介质(例如,负载平衡设备、后端服务器等)。计算机系统800包括总线805、处理器810、系统存储器815、只读存储器820、永久储存设备825、输入设备830和输出设备835。
总线805共同地表示通信地连接计算机系统800的众多内部设备的所有系统、外围设备和芯片组总线。例如,所述总线805将所述处理器810与只读存储器820、系统存储器815和永久储存设备825通信地连接。从这些各种存储器单元,所述处理器810检索要执行的指令和要处理的数据,以便执行本发明的所述过程。所述处理器810是处理设备,例如中央处理单元、集成电路、图形处理单元等。
只读存储器(ROM)820存储所述处理器810和所述计算机系统的其他模块所需的静态数据和指令。另一方面,永久储存设备825是读写存储设备。该设备是即使在所述计算机系统800关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施例使用大容量储存设备(诸如磁盘或光盘及其相应的磁盘驱动器)作为所述永久储存设备825。
其他实施例使用可移动储存设备(诸如闪存驱动器)作为永久储存设备。与永久储存设备825类似,系统存储器815是读写存储设备。然而,与储存设备825不同,所述系统存储器是易失性读写存储器,例如随机存取存储器(RAM)。系统存储储存器在运行时需要的一些指令和数据。在一些实施例中,所述进程被储存在所述系统存储器815、所述永久储存设备825和/或所述只读存储器820中。
所述总线805还连接到所述输入和输出设备830和835。所述输入设备使所述用户能够向所述计算机系统传送信息和选择命令。所述输入设备830包括字母数字键盘(包括物理键盘和触摸屏键盘)、指向设备。所述输入设备830还包括音频输入设备(例如,麦克风、MIDI乐器等)。所述输出设备835显示由计算机系统生成的图像。所述输出设备包括打印机和显示设备,例如阴极射线管(CRT)或液晶显示器(LCD)。
最后,如图8所示,总线805还通过网络适配器(未示出)将计算机800耦合到网络865。以这种方式,所述计算机可以是计算机网络的一部分(例如局域网(“LAN”)、广域网(“WAN”)或内联网、或网络的网,例如互联网)。
如上所述,计算机系统800可以包括一个或多个各种不同的计算机可读介质。这种计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如DVD-RAM、DVD-RW、DVD+RW等)、闪存(例如SD卡、mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘、磁盘、只读和可记录蓝光光盘、任何其他光学或磁性介质以及软盘。
在前述说明书中,各种优选实施例已参照附图进行描述。然而,显而易见的是,可以对其进行各种修改和改变,并且可以实现另外的实施例,而不脱离如在所附权利要求中阐述的本发明的更宽范围。因此,所述说明书和附图被认为是说明性的而非限制性的。
Claims (18)
1.一种方法,包括:
提供包括多个存在点(PoP)和对多个PoP的DNS查询进行解析的多个域名系统(DNS)服务器的网络;
通知多个PoP的每个PoP可访问的公共第一选播地址,其中所述通知包括将具有第一地址前缀的公共第一选播地址从多个PoP的每个PoP发送到与每个PoP相邻的网络路由器;
从多个PoP的每个PoP通知具有第二地址前缀的不同的第二选播地址,其中所述第二地址前缀大于所述第一地址前缀,其中从每个PoP通知的所述第二选播地址不同于所述第一选播地址和从多个PoP的其他PoP通知所述第二选播地址;
在与多个PoP中的第一PoP相关联的所述多个DNS服务器的一个DNS服务器处,对从所述第一选播地址到从所述多个PoP的第二PoP通知的所述第二选播地址的DNS查询组的解析进行修改,其中所述DNS查询组导致在所述第一PoP处产生特定量的流量的请求;以及
响应于所述修改,使用从所述第一PoP到所述第二PoP的选播寻址确定性地转移特定量的流量。
2.如权利要求1所述的方法,还包括:基于解析所述DNS查询组到所述第一选播地址的与所述第一PoP相关联的所述DNS服务器,将特定量的流量从所述第二PoP恢复回所述第一PoP。
3.如权利要求1所述的方法,其中,从每个PoP通知的所述第二选播地址是在所述第一选播地址的子网内的地址。
4.如权利要求1所述的方法,还包括检测等于所述第一PoP处的特定量的流量的过量负载,并进一步检测在所述第二PoP处的足够可用负载,以在所述修改之前吸收所述特定量的流量。
5.如权利要求1所述的方法,其中,所述确定性地转移包括基于所述第二PoP对所述第一PoP的客户端的性能中的一个或多个,和在所述第二PoP处的可用容量,从所述多个PoP中选择所述第二PoP。
6.如权利要求1所述的方法,还包括在所述修改之前利用所述公共第一选播地址在所述多个DNS服务器处解析多个DNS查询,并且基于等于所述特定量的流量的所述DNS查询组产生的需求,从多个DNS查询中选择所述DNS查询组。
7.如权利要求6所述的方法,其中选择所述DNS查询组包括改变在所述第一PoP处托管的域的子集的DNS A记录或CNAME记录。
8.一种方法,包括:
提供具有多个存在点(PoP)和解析对多个PoP的DNS查询的多个域名系统(DNS)服务器的网络;
通知多个PoP中的每个PoP可访问的公共第一选播地址,其中所述通知包括将具有第一地址前缀的所述公共第一选播地址从多个PoP中的每个PoP发送到与每个所述PoP相邻的网络路由器;
将多个DNS服务器中的每个DNS服务器处的多个DNS查询解析为一组第二选播地址,其中每个第二选播地址与多个PoP中的不同PoP相关联,其中来自第二选播地址的组的每个第二选播地址是不同的,并且在所述公共第一选播地址的子网内,并且其中每个第二选播地址具有大于所述第一地址前缀的第二地址前缀;
响应于所述通知填充的具有作为第二选播地址的组的每个第二选播地址的覆盖路由的公共第一选播地址的网络路由器的路由或转发表,基于所述公共第一选播地址路由针对所述第二选播地址的组的多个请求;以及
响应于(i)从所述第二PoP通知与所述第二PoP相关联的特定第二选播地址,以及(ii)与所述第一PoP相邻的多个DNS服务器中的一个DNS服务器将所述多个DNS查询的至少一组解析为所述特定的第二选播地址,确定性地将特定量的流量从第一PoP转移到所述多个PoP的第二PoP。
9.如权利要求8所述的方法,还包括在所述确定性转移之前从所述第二PoP的网关路由器通知所述特定第二选播地址。
10.如权利要求9所述的方法,还包括监视所述多个PoP的负载,检测作为所述第一PoP的过载的所述特定量的流量,以及检测所述第二PoP处足够用于至少所述特定量的流量的可用负载。
11.根据权利要求8所述的方法,其中所述通知所述公共第一选播地址包括:从宣告公共第一选播地址可从所述多个PoP中的每一个访问的所述多个PoP中的每一个,分发边界网关协议(BGP)更新消息。
12.如权利要求8所述的方法,其中,所述通知具有所述第一地址前缀的所述公共第一选播地址包括:通知所述第二选播地址的组中的每个第二选播地址可在所述多个PoP中的每个PoP处访问。
13.如权利要求8所述的方法,其中,所述多个PoP中的每个PoP包括至少一个为客户端提供对公共内容或服务的访问的服务器。
14.如权利要求8所述的方法,其中,所述公共第一选播地址和所述第二选播地址的组的每个第二选播地址是互联网协议版本4或互联网协议版本6地址中的至少一个。
15.如权利要求8所述的方法,其中,所述第一网络前缀在/12和/31之间,并且所述第二网络前缀在/13和/32之间并且大于所述第一网络前缀。
16.分布式网络包括:
多个存在点(PoP),其中每个PoP包括:
至少一个服务器,提供客户端访问公共内容或服务的请求;
网关路由器通知到邻近的网络路由器的选播寻址;以及
其中,所述多个PoP中的每个网关路由器通知(i)具有第一地址前缀的公共第一选播地址和(ii)来自具有第二地址前缀的一组第二选播地址的不同的第二选播地址,其中第二地址前缀大于所述第一地址前缀;以及
多个域名系统(DNS)服务器,每个DNS服务器在地理上接近所述多个PoP中的一个,其中所述多个DNS服务器包括:
地理上接近所述多个PoP的第一PoP的特定DNS服务器,所述特定DNS服务器包括:
(i)响应于对所述多个PoP的流量的选播分发,将多个DNS查询解析为所述公共第一选播地址的第一组记录;以及
(ii)响应于使用基于所述第二PoP的确定性选择的选播寻址从所述第一PoP向所述第二PoP转移确定量的负载,将多个DNS查询的组解析为从所述多个PoP的第二PoP的网关路由器通知的不同的第二选播地址的不同的第二组记录。
17.如权利要求16所述的分布式网络,其中,所述特定DNS服务器响应于在所述第一PoP处的过量负载,动态地从所述第一组记录切换到所述第二组记录。
18.如权利要求16所述的分布式网络,其中,响应于所述多个PoP的不同的第二PoP处的过量负载,所述多个PoP的第一PoP通知所述第二选播地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/800,380 | 2017-11-01 | ||
US15/800,380 US10567333B2 (en) | 2017-11-01 | 2017-11-01 | Deterministic traffic management in an anycast network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109756586A true CN109756586A (zh) | 2019-05-14 |
Family
ID=63528522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810869369.4A Pending CN109756586A (zh) | 2017-11-01 | 2018-08-02 | 选播网络中的确定性流量管理 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10567333B2 (zh) |
EP (1) | EP3481011A1 (zh) |
CN (1) | CN109756586A (zh) |
TW (1) | TW201919368A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933128A (zh) * | 2019-10-08 | 2020-03-27 | 网宿科技股份有限公司 | 节点流量调度方法、装置、电子设备及存储介质 |
CN113300949A (zh) * | 2020-02-24 | 2021-08-24 | 华为技术有限公司 | 转发报文的方法、发布路由信息的方法、装置及系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9350706B1 (en) * | 2013-03-15 | 2016-05-24 | Centurylink Intellectual Property Llc | Network traffic data scrubbing with services offered via anycasted addresses |
US10979387B2 (en) * | 2018-09-04 | 2021-04-13 | Level 3 Communications, Llc | Systems and methods for utilization of anycast techniques in a DNS architecture |
US10880218B2 (en) * | 2018-11-21 | 2020-12-29 | Amazon Technologies, Inc. | Load balanced access to distributed endpoints using resiliently advertised global network addresses |
US11902383B2 (en) * | 2018-11-26 | 2024-02-13 | Neoatomic LLC | Adaptive media content delivery network |
US10645008B1 (en) | 2018-12-06 | 2020-05-05 | Verizon Digital Media Services Inc. | Predictive Anycast traffic shaping |
US11283757B2 (en) * | 2019-06-25 | 2022-03-22 | Akamai Technologies, Inc. | Mapping internet routing with anycast and utilizing such maps for deploying and operating anycast points of presence (PoPs) |
US11483230B2 (en) | 2019-09-23 | 2022-10-25 | Cisco Technology, Inc. | Multiple domain segment routing path computation |
US10972554B1 (en) | 2019-09-27 | 2021-04-06 | Amazon Technologies, Inc. | Management of distributed endpoints |
US11128695B1 (en) * | 2020-09-16 | 2021-09-21 | Cloudflare, Inc. | Traffic load balancing between a plurality of points of presence of a cloud computing infrastructure |
US20220321479A1 (en) * | 2021-04-02 | 2022-10-06 | Microsoft Technology Licensing, Llc | Anycast routing technique for a content delivery network |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785704B1 (en) * | 1999-12-20 | 2004-08-31 | Fastforward Networks | Content distribution system for operation over an internetwork including content peering arrangements |
GB9921029D0 (en) * | 1999-09-06 | 1999-11-10 | Univ Bristol | Communication networks |
US7574499B1 (en) * | 2000-07-19 | 2009-08-11 | Akamai Technologies, Inc. | Global traffic management system using IP anycast routing and dynamic load-balancing |
US7484002B2 (en) | 2000-08-18 | 2009-01-27 | Akamai Technologies, Inc. | Content delivery and global traffic management network system |
US20030079027A1 (en) * | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
US8838802B2 (en) * | 2007-10-26 | 2014-09-16 | At&T Intellectual Property Ii, L.P. | Proximity routing for session based applications using anycast |
US8560598B2 (en) * | 2009-12-22 | 2013-10-15 | At&T Intellectual Property I, L.P. | Integrated adaptive anycast for content distribution |
US8745177B1 (en) * | 2011-11-01 | 2014-06-03 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
US8606938B1 (en) * | 2012-09-27 | 2013-12-10 | Ringcentral, Inc. | High availability for cloud-based services |
US9467369B2 (en) | 2013-08-02 | 2016-10-11 | Time Warner Cable Enterprises Llc | Packetized content delivery apparatus and methods |
US9467506B2 (en) * | 2014-01-27 | 2016-10-11 | Google Inc. | Anycast based, wide area distributed mapping and load balancing system |
US9923959B2 (en) * | 2014-06-05 | 2018-03-20 | Microsoft Technology Licensing, Llc | Load balancing with layered edge servers |
US9774619B1 (en) * | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US10033635B2 (en) * | 2015-11-11 | 2018-07-24 | Fastly, Inc. | Enhanced infrastructure routing with prefixed network addressing in content delivery networks |
-
2017
- 2017-11-01 US US15/800,380 patent/US10567333B2/en active Active
-
2018
- 2018-08-02 CN CN201810869369.4A patent/CN109756586A/zh active Pending
- 2018-08-14 TW TW107128284A patent/TW201919368A/zh unknown
- 2018-09-04 EP EP18192604.9A patent/EP3481011A1/en not_active Withdrawn
-
2020
- 2020-02-12 US US16/788,958 patent/US11190481B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933128A (zh) * | 2019-10-08 | 2020-03-27 | 网宿科技股份有限公司 | 节点流量调度方法、装置、电子设备及存储介质 |
CN110933128B (zh) * | 2019-10-08 | 2021-04-16 | 网宿科技股份有限公司 | 节点流量调度方法、装置、电子设备及存储介质 |
CN113300949A (zh) * | 2020-02-24 | 2021-08-24 | 华为技术有限公司 | 转发报文的方法、发布路由信息的方法、装置及系统 |
WO2021169258A1 (zh) * | 2020-02-24 | 2021-09-02 | 华为技术有限公司 | 转发报文的方法、发布路由信息的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3481011A1 (en) | 2019-05-08 |
TW201919368A (zh) | 2019-05-16 |
US11190481B2 (en) | 2021-11-30 |
US20200220839A1 (en) | 2020-07-09 |
US20190132281A1 (en) | 2019-05-02 |
US10567333B2 (en) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756586A (zh) | 选播网络中的确定性流量管理 | |
US9037690B2 (en) | Discrete mapping for targeted caching | |
US11025585B2 (en) | Enhanced content route selection in content delivery networks | |
US8533143B2 (en) | Rule-based content handling | |
US9712422B2 (en) | Selection of service nodes for provision of services | |
US9203636B2 (en) | Distributing requests across multiple content delivery networks based on subscriber policy | |
US20140280803A1 (en) | Optimized Content Distribution Based on Metrics Derived from the End User | |
US11018976B2 (en) | Enhanced infrastructure routing with prefixed network addressing in content delivery networks | |
US10708767B2 (en) | Anycast manifest retrieval, unicast content retrieval | |
US20220377007A1 (en) | Enhanced infrastructure routing with prefixed network addressing in content delivery networks | |
CN105610930A (zh) | 一种基于dns的数据优选方法 | |
US10944714B1 (en) | Multi-factor domain name resolution | |
US10044602B2 (en) | Network failover and loop detection in hierarchical networks | |
US7711780B1 (en) | Method for distributed end-to-end dynamic horizontal scalability | |
US20170111437A1 (en) | Data retrieval | |
CN107517280A (zh) | 一种域名解析方法及装置 | |
Yin et al. | ISPSG: Internet service provider-separated geographic-based addressing and routing | |
Boucadair | Solutions for sustaining scalability in internet growth | |
JACOBS-BURTON | CROSS REFERENCE TO RELATED APPLICATIONS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190514 |