CN102571557B - 动态产生应用层流量优化协议图 - Google Patents
动态产生应用层流量优化协议图 Download PDFInfo
- Publication number
- CN102571557B CN102571557B CN201110394013.8A CN201110394013A CN102571557B CN 102571557 B CN102571557 B CN 102571557B CN 201110394013 A CN201110394013 A CN 201110394013A CN 102571557 B CN102571557 B CN 102571557B
- Authority
- CN
- China
- Prior art keywords
- pid
- expense
- alto
- network
- alto server
- 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.)
- Expired - Fee Related
Links
Classifications
-
- 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/42—Centralised routing
-
- 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/02—Topology update or discovery
-
- 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/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及动态产生应用层流量优化协议图。总的来说,所述技术用于使用通过网络路由协议操作而获得的路由信息来为应用层通信量优化(ALTO)服务动态地产生网络图和开销图。例如,自治系统(AS)的ALTO服务器通过监听由路由器输出的路由协议更新信息来从AS的路由器接收路由信息,并使用所接收的拓扑信息来动态地产生PID的网络图,该网络图反映了AS和/或包括AS的更宽网络的当前拓扑。另外,ALTO服务器使用所接收到的反映当前链路指标的路由信息来动态地计算内PID开销。从而ALTO服务器将内PID开销组合在开销图中,ALTO服务器可将该开销图与网络图一起提供给ALTO服务器的用户。
Description
本申请要求于2011年5月19日提交的美国专利申请No.13/110,987的优先权,该美国专利申请要求了2010年12月1日提交的美国临时申请No.61/418,793以及2011年3月3日提交的美国临时申请No.61/449,499的优先权。上述所有申请的全部内容通过引用结合到本文。
技术领域
本发明涉及计算机网络,更具体地讲,涉及增强的内容传输。
背景技术
端对端(P2P,peer-to-peer)以及内容传输网络(CDN)应用提供了大量数据并产生巨大的网络流量。这些应用对位于多个不同网络节点的多份数据内容产生杠杆作用,从而允许委托代理从许多可能的数据源中的一个或多个获得部分的数据内容。将数据内容分发至用于传输的多个节点(以诸如文件分享、实时通讯以及按需媒体流的应用为代表)使得应用的性能和可扩展性改善。
P2P和CDN应用客户机通常轻易地选择资源,即,没有结合网络拓扑信息或相关细节。并且,客户机依赖于试探法以接近这样的信息。结果,使用这些应用的交换的网络数据流量可能堵塞网络链路,跨过服务提供商网络边界数次,而且通常通过通信网络的方式从用户的立场来看不是最理想的,从服务提供商的角度来看也不是所期望的。例如,尽管两个对等体(peer)可能是同一个服务提供商网络的成员,但是连接这些对等体的重叠链路(overlay link)仍然跨过多个网络边界,这对于服务提供商不必要地增加了对等体之间的传送开销。此外,尽管分布式应用在数据源利用额外的带宽来提高吞吐量(流量),并且降低终端用户的等待时间的同时也减轻内容提供商提供应用服务器的负担,但是廉价地分配数据内容的能力是以服务提供商承担费用而获得的,服务提供商承担了无效传输网络数据的开销。
服务提供商、内容提供商或第三方可以提供应用层流量优化(ALTO)协议服务以对应用客户机以及内容请求路由器提供关于选择从哪一个特定源获取数据内容的指导。ALTO服务提供结合了与网络资源有关的参数的信息,从而在维持或改善应用的性能的同时改变网络资源开销模式。在一个实例中,服务提供商给服务提供商网络的ALTO服务器提供网络拓扑以及拓扑链路开销信息。应用客户机和内容请求路由器将ALTO请求发送给ALTO服务器以获得网络图以及相应的开销图。网络图指定一组由网络的ALTO服务器限定的拓扑分组或“PID”。网络图内的特定PID可以代表单个装置或装置组件、诸如由网络地址前缀识别的网络子网的装置聚集、服务提供商网络或一些其他分组。相应网络图的开销图定义了提供商偏好,该提供商偏好与网络图中的多个PID之间的连接的PID间路由开销有关。使用由ALTO服务器提供的网络图和开销图,应用客户机以及内容请求路由器选择服务源以最小化内容请求客户机和可利用的资源之间的开销(如由ALTO图所指定的)。
结果,提供ALTO服务器的服务提供商可以指示应用客户机和请求路由器根据服务提供商偏好选择资源,服务提供商偏好可以包括例如最优化吞吐量和/或用户体验、降低服务提供商的开销或促进其他提供商目标。关于ALTO服务和ALTO协议的更详细的描述参见J.Seedorf等,RFC5693,“Application-Layer Traffic Optimization (ALTO)Problem Statement”,Network Working Group,the Internet Engineering Task Force draft,2009年10月;以及R.Alimi等,“ALTO Protocol:draft-ietf-alto-protocol-06.txt”,ALTO Working Group,the Internet Engineering Task Force draft,2010年10月,以上文献通过引用全部结合到本文。
发明内容
总得来说,所介绍的技术用于使用通过网络路由协议的操作获得的路由信息来动态产生(例如由应用层流量优化(ALTO)协议提供的)应用层流量优化服务的网络图和开销图。在一个实例中,自治系统(AS,autonomous system)的ALTO服务器通过监听由路由器输出的路由协议更新信息来从AS的路由器接收诸如拓扑、链路状态和链路指标信息的路由信息。换言之,ALTO服务器可以执行层3(L3)路由协议以探听(snoop),或相反地,接收网络内的L3路由装置之间交换的路由协议更新信息。基于路由协议更新信息,ALTO服务器结合(assemble)代表该网络的拓扑信息。由ALTO服务器探听的拓扑信息可以包括描述AS(包括接收ALTO服务器)的AS内拓扑的信息,以及描述相邻自治系统的AS内(intra-AS)拓扑的以及多个互联自治系统的AS间(inter-AS)拓扑的信息。ALTO服务器使用结合的拓扑信息来动态产生PID的ALTO网络图,其反映了包括ALTO服务器的AS和/或包括多个额外AS的更宽网络的当前拓扑。在某些情况下,ALTO服务器功能可以结合到网络的L3路由装置中,该L3路由装置在网络中被操作为至其他路由器的对等体。
在路由协议更新信息中由ALTO服务器接收的链路指标(例如距离或吞吐量)、自治系统路径长度以及管理配置的数据确定了在动态产生的网络图的PID之间的当前PID间开销。ALTO服务器动态使用所接收的反映当前链路指标的路由信息来计算PID间开销。然后,ALTO服务器将PID间开销结合到ALTO开销图中,ALTO服务器可以将该ALTO开销图与ALTO网络图一起提供给ALTO客户机。
此外,主ALTO服务器可以与其他联合的自治系统的ALTO服务器相互作用以接收在AS内部ALTO服务器根据他们各自的网络拓扑视角产生的网络图及开销图。对于更宽网络的远程区域使用这些图内包括的详细拓扑和开销信息,主ALTO服务器产生详细描述了更宽多AS网络的可利用PID以及PID间开销的更完整视角的主网络ALTO和开销图。然后,ALTO服务器可以将主ALTO网络和开销图传递给ALTO客户机和/或联合的ALTO服务器,从而改善应用的AS间节点选择。
所介绍的技术可以具有一个或多个优点。例如,利用ALTO服务器用从网络部件接收的路由信息动态产生和更新ALTO网络和开销图使得ALTO图同步到总是变化的网络环境。结果,由ALTO服务器提供到ALTO客户机的ALTO网络和开销图可以反映对网络拓扑和/或应用的最新更新,由此可以改善节点选择并提高应用性能。此外,自动创建网络和开销图可以减轻经营者的ALTO服务器配置负担,使得在大规模服务提供商环境中实现ALTO服务器是可行的。此外,这些技术可以使用从网络部件(例如边界网关协议(Border Gateway Protocol)和内部网关协议(Interior GatewayProtocol)扬声器)接收的AS内(域内)和AS间(域间)路由信息。因此,实现这些技术的ALTO服务器可以从不能在该ALTO服务器内被管理配置的远程AS接收并结合ALTO网络和开销图路由信息。
在一个实施方式中,本发明涉及一种方法,包括:在应用层流量优化(ALTO)服务器上执行路由协议以接收层3(L3)网络拓扑信息,该层3(L3)网络拓扑信息定义至网络端点的路径;以及,利用ALTO服务器,将端点聚合到拓扑分组(PID)的一个或多个子组的组中,其中,各PID与端点的不同子组相关联。该方法还包括:利用路由协议,接收指定一个或多个路由并且包括用于识别一个或多个端点的网络地址信息的拓扑信息通知。该方法还包括:利用ALTO服务器,将所识别的端点聚合到PID的所述组中的第一个中。该方法还包括:利用ALTO服务器,生成包括描述各PID的PID条目的ALTO网络图;以及将ALTO网络图从ALTO服务器发送至ALTO客户机。
在另一实施方式中,本发明涉及一种方法,包括:在应用层流量优化(ALTO)服务器上执行内部网关协议,并且利用内部网关协议,接收用于包括ALTO服务器的自治系统的路由信息。该方法还包括:利用ALTO服务器,至少基于该路由信息,为ALTO网络图的拓扑分组(PID)的一个或多个子组的组的一对计算ALTO开销,其中,PID的组中的每一个与包括自治系统的网络的端点的不同子组相关联。该方法还包括产生ALTO开销图,其包括指定该对PID的第一成员和第二成员之间的ALTO开销的条目,并且从ALTO服务器发送ALTO开销图至ALTO客户机。
在另一实施方式中,本发明涉及一种方法,包括:利用主应用层流量优化(ALTO)服务器接收第一自治系统的第一AS间网络图和第一AS开销图,其中,第一AS间网络图包括拓扑分组(PID)的一个或多个本地和远程子组的第一组,其中,第一AS间网络图的各个本地和远程PID与网络端点的不同子组相关联,其中,第一AS间网络图的本地PID指定第一自治系统的网络地址前缀,并且第一AS间网络图的远程PID指定第二自治系统的网络地址前缀,其中,第一AS间开销图指定第一AS间网络图的PID对的ALTO开销。该方法还包括利用主ALTO服务器接收第二自治系统的第二AS间网络图,其中,第二AS间网络图的各个本地和远程PID与网络端点的不同子组相关联,第二AS间网络图的本地PID指定第二自治系统的网络地址前缀,并且第二AS间网络图的远程PID指定第一自治系统的网络地址前缀,其中,第二AS间开销图指定第二AS间网络图的PID对的ALTO开销。该方法还包括利用ALTO服务器,至少基于第一AS间网络图和第二AS间网络图生成网络的主ALTO网络图,并且从主ALTO服务器输出主ALTO网络图。
在另一实施方式中,本发明涉及一种应用层流量优化(ALTO)服务器,包括具有一个或多个处理器和拓扑信息库的控制单元。控制单元的边界网关协议(BGP)监听器执行路由协议以接收层3(L3)网络拓扑信息,该层3网络拓扑信息定义至网络的端点的路由,所述网络包括自治系统,该自治系统包括ALTO服务器。控制单元的PID生成器将端点聚合到拓扑分组(PID)的一个或多个子组的组中,其中各个PID与端点的不同子组相关联,其中BGP监听器接收拓扑信息通知,拓扑信息通知指定一个或多个路由并且包括用于识别一个或多个端点的网络地址信息,其中BGP监听器储存一个或多个路由至拓扑信息库,其中PID生成器将所识别的端点聚合到PID的组的第一个。ALTO服务器还包括产生ALTO网络图(包括描述各个PID的PID条目)的控制单元的网络图模块,以及发送ALTO网络图至ALTO客户机的客户机接口。
在另一个实施方式中,本发明涉及一种应用层流量优化(ALTO)服务器,包括具有一个或多个处理器的控制单元。控制单元的接口接收用于第一自治系统的第一AS间网络图和第一AS间开销图,其中第一AS间网络图包括拓扑分组(PID)的一个或多个本地和远程子组的第一组,其中第一AS间网络图的各个本地和远程PID与网络端点的不同子组相关联,其中第一AS间网络图的本地PID指定第一自治系统的网络地址前缀并且第一AS间网络图的远程PID指定第二自治系统的网络地址前缀,其中第一AS间开销图指定第一AS间网络图的PID对的ALTO开销,其中接口接收用于第二自治系统的第二AS间网络图,其中第二AS间网络图包括一个或多个本地和远程PID的第二组,其中第二AS间网络图的各个本地和远程PID与网络端点的不同子组,其中第二AS间网络图的本地PID指定第二自治系统的网络地址前缀并且第二AS间网络图的远程PID指定第一自治系统的网络地址前缀,其中第二AS间开销图指定第二AS间网络图的PID对的ALTO开销。ALTO服务器还包括至少基于第一AS间网络图和第二AS间网络图产生网络的主ALTO网络图的控制单元的网络图模块,以及发送主ALTO网络图至ALTO客户机的控制单元的客户机接口。
在附图和以下的说明书中阐述本发明的一个或多个实施方式的细节。根据说明书、附图以及权利要求书,本发明的其他特征、目标和优点将是显而易见的。
附图说明
图1是示出了利用通知的路由信息、以本发明所述的方式动态地生成并且更新网络和开销图(cost map)以用于应用层流量优化(ALTO)服务的示例性网络的框图。
图2是示出了表示由用于所述的技术的网络的ALTO服务器所动态生成的组合的ALTO的AS间网络和开销图的示例性图示的框图。
图3是示出了包括执行本发明所述的联合ALTO技术的ALTO服务器的网络的框图。
图4A至图4B是示出了表示在通过以及从各ALTO服务器的视角(perspective)生成的网络的多局部组合AS间网络和开销图中,根据所述的技术,由主ALTO服务器生成的网络的局部组合主网络和开销图的示例性图示的框图。
图5是示出了包括以本发明所述的方式对于相邻自治系统执行联合ALTO技术的ALTO服务器的示例性网络的框图。
图6A是示出了表示由根据所述技术的自治系统的ALTO服务器生成的局部组合AS内网络和开销图的示例性图示的框图。
图6B是示出了表示根据本发明所述的技术的对于网络所生成的局部组合主网络和开销图的示例性图示的框图。
图7是详细地示出了根据本发明所述的技术接收路由信息并动态地生成网络和开销图的示例性ALTO服务器的框图。
图8是示出了根据所述技术,对于由ALTO服务器所服务的自治系统动态地生成或修改AS间网络图的ALTO服务器的操作的示例性模型的流程图。
图9A至图9D示出了根据本发明所述的技术,ALTO服务器对于由ALTO服务器所服务的自治系统动态地生成或修改AS间开销图的示例性操作的流程图。
图10是示出了根据本发明所述的技术,ALTO服务器生成主ALTO网络图的示例性操作的流程图。
图11是示出了根据本发明所述的技术,ALTO服务器生成主ALTO网络和开销图的示例性操作的流程图。
具体实施方式
图1是示出了利用所通知的路由信息、动态地生成和更新网络图和开销图以用于应用层流量优化(ALTO)服务的示例性网络2的框图。网络2包括通过外部通信链路互连的自治系统4A至4D(示为“AS 4A至AS4D”,并且在本发明中统称为“自治系统4”)。本发明中所使用的术语“通信链路”包括任何形式的传输介质、有线的或无线的,并且可以包括诸如网络装置的中间节点。在某些实施方式中,网络2可以表示因特网或任何其他公众可访问的计算机网络、专用网络或虚拟专用网络(VPN),其传输用于输送至请求装置的内容。尽管关于因特网协议网络进行描述,但是本技术也可以应用于其他类型的发送网络,如异步传输模式(ATM)网络。
每个自治系统4运行一个或多个内部网关协议(IGP),如开放最短路径优先(OSPF)、路由信息协议(RIP)、中间系统到中间系统(IS-IS)、内部网关路由协议(IGRP)、增强型IGRP(EIGRP)和内部边界网关协议(iBGP),并且每个自治系统4均包括在单个管理域内根据路由策略进行操作的一个或多个路由器的组。自治系统4均具有由因特网注册机构或由因特网服务提供商(ISP)提供的标识号,其唯一地识别自治系统以与其他自治系统相区分。在某些情况下,标识号可以从专用标识号区间提取,因此仅在包括AS 4的专用网络内是唯一的。在各种实施方式中,每个自治系统4例如可以表示服务提供商网络、企业或校园网络、内容访问网络(CAN)或内容传输网络(CDN)。另外,一个或多个服务提供商、内容提供商或企业/校园网络管理员可以管理任何一个或多个自治系统4。
自治系统4的路由器执行因特网协议(例如IPv4或IPv6),以将包从源网络地址路由至目标网络地址,并且各个自治系统4向由网络地址前缀确定的一个或多个端点的网络(或子网)提供网络包发送,其中,网络地址前缀包括由端点的网络地址所限定的网络地址范围。例如,AS 4B至AS 4D向/从各个远程网络地址前缀21A至21C(“远程前缀21”)提供包发送,而AS 4A向/从本地网络地址前缀20A至20D(“本地前缀20”)提供包发送。关于前缀的术语“远程”和“本地”指的是AS 4A的网络视角(比AS 4B至AS 4D更详细地示出)。自治系统4A中所示的各种路由器通过内部通信链路而互连。
向前缀提供包发送的AS是前缀的“发起域”,也称作起始AS,并且在所有自治系统4中运行的BGP路由协议传输前缀的起始AS的标识号作为前缀的可达性信息。结果,自治系统4向前缀的起始AS路由包,该包的目标为具有在特定前缀内的网络地址的端点。例如,自治系统4A至4C向AS 4D路由目标为前缀21C的端点的包。
主机10访问AS 4A以例如向位于任何自治系统4中的其他主机或CDN节点发布内容请求,并且接收用于主机应用的应用相关内容。主机10例如可以代表工作站、台式电脑、笔记本电脑、移动电话或其他移动装置、个人数字助理(PDA)、游戏控制台、电视机顶盒或其他任何能够经由无线或有线连接访问计算机网络的装置。主机10具有本地前缀20C内的网络地址,因此直接由AS 4A的内部路由器8B服务。在某些实施方式中,主机10是由AS 4A服务的客户网络的构件。
主机10将内容请求发布至的其他装置(图1中未示出)可以由AS 4A至AS 4D中的任意来服务。例如,主机10可以将内容请求发布至由AS 4C所服务的具有在远程前缀21B内的网络地址的CDN节点。作为另一个实例,主机10可以将内容请求发布至附加主机,该附加主机具有本地前缀20A内的网络地址,并且执行端对端(P2P)应用以在同样执行P2P应用的各种主机(包括主机10)之间交换内容。
在所示的实施方式中,AS 4A包括自治系统边界路由器6A至6B(“ASBR 6”),它们分别在一个通信链路上将AS 4A连接至AS 4B和AS4D(为了易于图示,AS 4B至AS 4D的ASBR未示出)。ASBR 6执行外部网关协议(EGP),以在与AS 4A和AS 4D的ASBR的外部对等会话11中的一个中交换各个自治系统4的路由信息。例如,ASBR 6提供描述自治系统4A的内部拓扑和/或本地前缀20的可达性的路由信息。此外,ASBR6经由AS 4B至AS 4D接收描述远程前缀21的可达性的路由信息。在某些情况下,ASBR 6可以接收由AS 4B至AS 4D之一发起的、描述发起的自治系统的内部拓扑的路由信息。
在对等会话中由一个ASBR 6所输出的AS 4A的路由信息通常包括从执行IGP(诸如内部BGP(iBGP))的自治系统4A的一个或多个内部路由协议扬声器接收的、或者在外部对等会话11中的一个中从另一个AS4接收的拓扑信息。拓扑信息还可以包括ASBR 6的管理配置路由或其他信息。用于外部对等会话11的EGP例如可以包括外部边界网关协议(BGP)。每个外部对等会话11可以包括传输控制协议(TCP)会话。
自治系统4A包括彼此对等互连的可达性协议扬声器,以将本地前缀20和远程前缀21的拓扑信息(例如路由)内部通知给AS 4A内的其他路由器。AS 4A的可达性协议扬声器包括ASBR 6、路由反射器17和内部路由器8B。ASBR 6和内部路由器8B各自建立与路由反射器17交换路由的对等会话9。路由反射器17是这样的可达性协议扬声器,其重通知(re-advertise)(或“反射(reflect)”)从其他网关协议扬声器接收的路由,以使可达性协议扬声器避免形成全网络(full mesh)的对等会话9。然而,在不包括路由反射器17的网络2的实施方式中,可达性协议扬声器可以形成全网络的对等会话。可达性协议扬声器用以通知路由的可达性协议例如可以包括内部边界网关协议(IBGP)。拓扑信息通知例如可以包括诸如IBGP UPDATE消息的路由通知。通常,拓扑信息通知将前缀(具有前缀的NEXT_HOP)和必须被遍历以得到前缀的自治系统列表相关联(IBGPUPDATE消息中的“AS_PATH”)。
AS 4A的服务提供商或其他管理员向AS 4A部署应用层流量优化(ALTO)服务器12以对自治系统4提供应用层优化服务。在某些情况下,应用层流量优化可以符合ALTO协议。通常,ALTO服务通过应用于进一步的服务/内容提供商目标,能够使服务和/或内容提供商影响节点选择处理,该进一步的服务/内容提供商目标可以包括:通过选择地理上最近的服务节点请求主机10来提高用户体验、降低向提供商的发送开销、负载平衡、服务等级区别、解决带宽限制、减少主机10与服务节点之间的往返延迟以及其他目标。关于CDN中ALTO服务的使用的进一步细节可以在R.Penno等人,“ALTO and Content Delivery Networks:draft-penno-alto-cdn-03”,Network Working Group,the Internet EngineeringTask Force draft,March 2011中找到,其全部内容结合于此作为参考。此外,尽管关于如以上所结合的Seedorf等人的文献中所述的ALTO服务和ALTO服务器进行了总体描述,但是本技术可应用于任何形式的应用层流量优化。
ALTO服务器12从ALTO服务器的视角生成网络2的网络图和开销图,并且将这些图提供给ALTO图更新消息13中的ALTO客户机,如主机10的ALTO客户机18。网络图包括网络位置标识符或PID,其每一个均代表网络中的一个或多个网络装置。通常,PID可以代表单个装置或装置组件、诸如网络子网的装置的聚集、AS 4之一或某些其他分组。开销图包括网络图中所表示的PID对的开销条目以及表示对PID对的构件之间的网络路径进行遍历的开销的相关值。该值可以是序数的(即分级的)或数值的(例如,实际的)。主机10的ALTO客户机18使用网络图和开销图来确定最优端点以用于在主机10上执行的应用。例如,主机10可以执行从P2P网络中的对等体请求特定内容的P2P应用。主机10的ALTO客户机18根据网络图和开销图来确定P2P应用可以请求并下载内容的最优对等体。在某些实施方式中,主机10代表这样的请求路由器,其从在网络2的节点上执行的客户机应用接收内容请求,利用由ALTO服务器12所提供的网络图和开销图来确定用于请求客户机的最优服务器,并且将最优服务器的网络地址或其他标识符返回至请求节点。在又一实施方式中,主机10执行客户机-服务器应用中的客户机,该客户机执行上述技术中的一种。关于生成多域网络的网络图和开销图的进一步详细情况可以在Penno等人于2010年8月23日提交的题为“应用层流量优化服务跨度多域网络(APPLICATION-LAYER TRAFFIC OPTIMIZATION SERVICESPANNING MULTIPLE NETWORKS)”的美国专利申请第12/861,645号中找到,其全部内容结合于此作为参考。关于ALTO图更新的另外的详细情况可以在Raghunath等人于2010年8月23日提交的题为“应用层流量优化服务图更新(APPLICATION-LAYER TRAFFIC OPTIMIZATIONSERVICE MAP UPDATES)”的美国专利申请第12/861,681号中找到,其全部内容结合于此作为参考。
在某些实施方式中,ALTO服务器12提供端点开销服务。在这样的实施方式中,主机10的ALTO服务器18(用作P2P应用中的对等体)向ALTO服务器12提供一个或多个端点的列表以及主机10的标识符。作为响应,ALTO服务器12利用根据本发明所述的技术而生成的网络图和开销图来确定对于接收主机而接收的端点列表中的最优端点。ALTO服务器12将最优端点返回给ALTO客户机18以用于在主机10上执行的应用。在实现端点开销服务的ALTO服务器12的某些实施方式中,ALTO服务器12返回根据开销的等级顺序的端点列表,或者返回具有每个端点的相关开销的端点列表。
ALTO服务器12例如可以包括高端服务器或其他服务装置、P2P应用的内容分度器(indexer)、或可插入网络装置(如路由器或交换机)的服务卡或可编程接口卡(PIC)。ALTO服务器12可操作为路由器的服务平面的元件,以提供根据本发明的技术的ALTO服务。关于作为路由器的服务平面的元件提供ALTO服务的另外的详细情况可以在以上所结合的Raghunath等人的文献中找到。
根据文中描述的技术,ALTO服务器12与AS 4A的路由反射器17建立对等会话(peering session)9,该对等会话包括IBGP会话。以这种方式,ALTO服务器12在对等会话9中接收通过AS 4A的可达性协议扬声器(reachability protocol speaker)发起或转发的用于AS 4A的路由信息。在这种情况下,ALTO服务器12为接收由路由反射器17反射的路由信息的无源可达性协议监听器(passive reachability protocol listener)。即,在该实例中,由于ALTO服务器12不能(在其作为ALTO服务器的能力范围内)发起或转发路由、路由包或执行其他的这样的路由功能,因此ALTO服务器12仅仅接收路由信息。对等会话9可以包括路由反射器17和ALTO服务器12之间的传输控制协议(TCP)会话。在不包括路由反射器的情况下,ALTO服务器12可以与每一个可达性协议扬声器(例如,多个ASBR6以及内部路由器8B)建立对等会话9以形成全协议网络。
根据这里所描述的技术,ALTO服务器12利用在对等会话9中接收的路由信息产生用于AS 4A的AS内ALTO网络图(network map)。AS内网络图包括构成AS 4A或由AS 4A提供(即,由AS 4A发起)的前缀,该前缀被ALTO服务器12聚合进一个或多个PID。AS内网络图不包括从外部向AS 4A发起的任何前缀。
在一些情况下,管理员(administrator)或其他实体可以构成可达性协议扬声器(包括多个ASBR 6以及内部路由器8B),以将前缀属性聚合至从对等会话9中输出的路由信息中。在能达性协议为IBGP的情况下,前缀属性可以包括BGP团体属性(BGP Community Attribute)或BGP扩展团体属性。AS 4A管理员或其他实体在ASBR 6和/或内部路由器8B的相应的一个内将前缀属性分配给一个或多个前缀20,可达性协议扬声器为前缀20发起或转发路由信息。对于以这种方式表征的每个前缀20,可达性协议扬声器将前缀属性加入到拓扑信息通知(topology informationadvertisement),该拓扑信息通知包括拓扑信息,并识别前缀,该拓扑信息由相应的可达性协议扬声器遍历或发起。
例如,管理员可以配置内部路由器8B以将特定前缀属性(例如,“PREFIX_1”)结合至通知前缀20C的第一拓扑信息通知和通知前缀20D的第二拓扑信息通知中。作为另一个实例,管理员可以配置内部路由器8B以将第一特定前缀属性(例如,“PREFIX_1”)结合至通知前缀20C的第一拓扑信息通知和通知前缀20D的第二拓扑信息通知中。管理员可以另外地配置内部路由器8B以将第二特定前缀属性(例如,“CDN_NODE”)结合至第二拓扑信息通知中,以识别由前缀20D限定的包括作为CDN的CDN节点的端点的网络地址的范围。内部路由器8B然后根据对等会话9中所指定的到路由反射器17的配置来产生/修改并输出拓扑信息通知。ALTO服务器12由此接收可以包括一个或多个用于所通知的前缀20的前缀属性的拓扑信息通知。
例如,拓扑信息通知中的前缀属性可以包括字符串、位串或整数。在Medved等人于2010年12月30日提交的第12/982,153号、题为“动态生成应用层流量优化协议端点属性(DYNAMICALLY GENERATINGAPPLICATION-LAYER TRAFFIC OPTIMIZATION PROTOCOLENDPOINT ATTRIBUTES)”的美国专利申请中披露了关于利用拓扑信息通知的前缀属性来指定ALTO环境(context)中的端点的类型的进一步细节,其全部内容结合于此作为参考。
ALTO服务器12包括一个或多个网络图策略,所述网络图策略为在对等会话9中的拓扑信息通知中接收的拓扑信息指定PID聚合或PID属性。例如,网络图策略可以将聚合在拓扑信息通知内的前缀属性的映射定义为PID属性。PID属性值可以与其被映射至的前缀属性值不同。作为另一个实例,网络图策略可以将聚合在拓扑信息通知内的前缀属性的映射定义为指定的PID标识符,以指示ALTO服务器12将一个或多个由特定前缀属性标记的前缀聚合为指定的PID。在一些情况下,指定PID聚合的网络图策略可以包括定义PID之间的开销的附加信息。指定的开销可以包括恒定值或用来基于一个或多个参数计算开销的公式。
当ALTO服务器12接收拓扑信息通知时,ALTO服务器根据上述网络图策略动态地生成或修改AS间网络图。在一个示例性实施方式中,ALTO服务器12根据参照网络图策略的如下规则来产生和/或更新AS件网络图的PID。首先,如果所通知的前缀从AS 4A的外部发起,则ALTO服务器12忽略所通知的前缀。
对于由AS 4A发起的通知的前缀,如果携带前缀的拓扑信息通知包括在ALTO图策略内映射至指定PID的前缀属性,则ALTO服务器12将前缀添加至网络图中的指定的PID。
如果在ALTO服务器12的任何网络图策略中并没有指定前缀属性,则ALTO服务器在用于前缀的拓扑信息通知中创建/修改具有与相同NEXT_HOP属性相关的各种前缀的PID。在一些情况下,ALTO服务器12可以从多个可达性协议扬声器接收用于特定前缀的不同的拓扑信息通知(均为前缀指定不同的NEXT_HOP属性)。在这样的情况下,ALTO服务器12首先根据判定处理(诸如,在Rekhter等人,“A Border GatewayProtocol 4(BGP-4)”,Request for Comments 4271,2006年1月中所描述的BGP判定处理,其第9.1部分结合于此作为参考)选择通知中的一个(路由中的一个)。在一些情况下,路由反射器17先于向ALTO服务器12提供在对等会话9中的拓扑信息通知来执行判定处理。然后,ALTO服务器12使用用于所选择的拓扑信息通知的NEXT_HOP属性来将其中的前缀与也和各拓扑信息通知中(假设该通知不包括网络图策略中所指定的前缀属性)的同样的NEXT_HOP属性相关的其他前缀聚合。以这种方式,当ALTO服务器12的网络图策略没有将前缀关联至PID或PID属性时,ALTO服务器根据用于前缀的下一跳路由器对前缀进行分组。
对于所接收的不符合上述任何类别但由AS 4A发起且包括映射至网络图策略中的一个或多个PID的一个或多个前缀属性的拓扑信息通知,ALTO服务器12将该通知中相关的通知前缀与同一组的前缀属性以及与同样的NEXT_HOP属性聚合进PID中。根据该规则,ALTO服务器12可以分组为拓扑相近且表现出相似功能性的分离的PID节点(例如,在同一NEXT_HOP处连接至AS 4A的CDN节点)。在一些情况下,ALTO服务器12可以执行上述判定处理以选择用在网络图产生/修改中的多个拓扑信息通知中的一个。在一些情况下,然而,路由反射器先于向ALTO服务器12提供对等会话中的拓扑信息通知来执行判定处理。在一些情况下,ALTO服务器12可以接收重叠的路由,如上文中所结合的,Rekhter等人描述的。在这样的情况下,ALTO服务器12可以将通知前缀附加至多个PID,根据上述结合的Alimi等人的视角,这是允许的。
除了动态的PID聚合处理之外,ALTO服务器12根据网络图策略将PID属性动态地分配至AS内网络图,其中,网络图策略将拓扑信息通知内结合的前缀属性的映射定义为PID属性。ALTO服务器12还为AS内网络图中的各PID指定用于PID前缀的NEXT_HOP作为PID属性。
通过上述ALTO服务器12应用上述规则至拓扑信息通知,产生了反应AS 4A的当前拓扑的AS内网络图。即,由ALTO服务器12产生/更新的AS内网络包括根据上述技术动态聚合的PID和动态分配的PID属性。ALTO服务器12将AS内网络图以ALTO图更新信息13提供至ALTO客户机18,以供主机10在节点选择中使用。
包括ASBR 6和内部路由器8A-8B的AS 4A的路由执行内部网关协议(IGP)以散布允许路由器在计算机网络上的任意两个节点之间选择路由的路由信息。路由协议的一种(称作链路状态协议)允许路由器交换和收集链路状态信息,即,描述各种通信链路(在AS 4A内互连路由器)的信息。通过典型的链路状态路由协议,路由器交换与可用接口相关的信息、与网络链路相关的指标和其他变量。这允许路由器构建其自己的网络拓扑或网络图。例如,指标可以包括等待时间、链路吞吐量、链路有效性、路径长度、负荷以及通信成本(即,价格)。这些指标通常表示为整数。
链路状态协议包括OSPF和IS-IS。通过应用链路状态协议,路由器经由链路状态通知(LSA)与其他相邻的路由器交换链路信息。生成LSA的路由器通常通过网络溢出(flood)LSA,从而使得其他各路由器接收LSA。以这种方式,接收路由器可以使用经由LSA交换的链路信息在路由表(例如,链路状态数据库(LSDB))中构建并保持他们自身的网络拓扑。
路由协议的另一种(称作距离矢量路由协议)允许路由器交换路由信息的“矢量”,在各矢量中包括距离和方向。距离称作指标,而方向指定用于由矢量通知的路由的下一跳路由器。通常,每个路由器从相邻路由器了解路由并根据其自己的视角来通知路由。例如,距离矢量协议包括路由信息协议(RIP)、内部网关路由协议(IGRP)和增强IGRP(EIGRP)。
ALTO服务器12通过在IGP对等会话7中与内部路由器8B对等连接(peering)而作为无源IGP操作。即,ALTO服务器12在IGP对等会话7中从内部路由器8B接收路由信息但不发起或转发路由信息,因为ALTO服务器12不能路由数据包(在其作为ALTO服务器的能力范围内)。在一些情况下,内部路由器8B可以以链路状态通知(LSA)对ALTO服务器12设置过载位(OL)以防止ALTO服务器将路由信息返回至内部路由器8B。
IGP对等会话7可以表示例如OSPF相邻关系(或邻接)或可以简单地表示当前路由信息从内部路由器8B至ALTO服务器12的移动。在各种配置中,ALTO服务器12可以与AS 4A中内部路由器8B除外的其他路由器对等连接,或可替换地,与内部路由器8B对等连接。
如果AS 4A的路由器执行单区域OSPF(即,如果AS 4A是单区域OFPF网络),则ALTO服务器12可以与用于执行OSPF以获得所需要的路由信息的AS 4A的任一路由器对等连接。类似地,如果AS 4A的路由器执行等级2 IS-IS,则ALTO服务器12可以与用于执行OSPF以获得所需要的路由信息的AS 4A的任一路由器对等连接。
在一些情况下,AS 4A可包括多区域OSPF网络。在这种情况下,ALTO服务器12与至少一个主干(即,区域0)路由器建立IGP对等会话7,以接收用于描述主干与具有连接至主干的至少一个接口的主干路由器间的链路的高级路由信息。ALTO服务器12可以单独使用高级路由信息来估计PID对的下一跳间的IGP指标,其中PID的下一跳是用于PID的前缀的下一跳的路由器。PID下一跳可以在ALTO网络图中被指定为PID实体的下一跳属性。ALTO服务器12可以与一个或多个非主干区域中的其他IGP建立另外的IGP对等会话,以接收各个非主干区域中所包括的链路的更低级路由信息。然后,ALTO服务器12可以使用高级路由信息和低级路由信息的组合来计算PID对的下一跳间的IGP指标。ALTO服务器12与非主干区域中的IGP路由器间的每个IGP对等会话包括诸如以通用路由封装(GRE)隧道为例的虚拟链路。
在一些情况下,AS 4A可以包括等级1/等级2 IS-IS网络。在这些情况下,ALTO服务器12与至少一个等级2路由器建立IGP对等会话7,以接收用于描述主干与具有连接至主干的至少一个接口的主干路由器间的链路的高级路由信息。ALTO服务器12可以单独使用高级路由信息来估计PID对的下一跳间的IGP指标。ALTO服务器12可以与一个或多个等级1区域中的其他IGP建立另外的IGP对等会话,以接收各个等级1区域中所包括的链路的更低级路由信息。然后,ALTO服务器12可以使用高级路由信息和低级路由信息的组合来计算PID对的下一跳间的IGP指标。ALTO服务器12与非主干区域中的IGP路由器间的每个IGP对等会话包括诸如以通用路由封装(GRE)隧道为例的虚拟链路。在该情况下,远程等级1或等级2路由器支持GRE隧道接口上的IS-IS邻接的配置。
在一些情况下,ALTO服务器12在与路由反射器17的对等会话9中接收由AS 4A和/或AS 4B-4D的BGP扬声器分发的流量工程数据。流量工程数据可以包括诸如本地/远程IP地址、本地/远程接口指数、指标、链路带宽、可保留的带宽、每CoS等级保留状态、预占以及共享风险链路组(SRLG)的链路属性。流量工程数据可以在来自BGP扬声器的BGP通知中编码。关于利用BGP交换流量工程数据的进一步细节在美国临时专利申请第61/449,499号中记载,结合于此。在这些情况下,ALTO服务器12从其他IGP区域的BGP扬声器中接收拓扑和路由信息,包括用于连接自治系统4的路由器对的链路的可到达性和链路信息,因此可以避免与内部路由器8B对等连接的IGP接收AS 4A的IGP信息。以此方式,ALTO服务器12可以具有至AS 4A和包括AS 4的更宽的网络的统一的接口。
一旦接收到路由信息,ALTO服务器12就使用该信息来计算AS 4A的不同下一跳的对之间的路径开销和计算开销,然后将这些开销作为ALTO开销分配给AS内网络图中具有与下一跳对相对应的各自的下一跳属性的PID对。换言之,对于每个AS内网络图的PID对(由具有第一下一跳的第一PID和具有第二下一跳的第二PID组成),ALTO服务器12使用接收到的路由信息计算第一下一跳值和第二下一跳值(例如,IP地址)所涉及的路由器间的路径;使用链路指标(或距离)计算路由的路径开销;并且分配路径开销的函数作为PID对的ALTO开销。PID对的ALTO开销表示从PID对的第一PID的下一跳至PID对的第二PID的下一跳遍历AS4A的开销。ALTO服务器12可以计算从第一PID至第二PID(即,正向指标)和从第二PID至第一PID(即,反向指标)遍历AS 4A的各个开销。
例如,ALTO服务器12可以从用于执行链路状态路由协议的内部路由器8B接收当前LSDB,将最短路径优先(SPF)算法应用于LSDB以计算用于AS内网络图的PID的最短路径树,以及利用与最短路径树的分支相关联的路径开销计算AS内网络图的PID与其他PID间的ALTO开销。作为另一示例,ALTO服务器12可以通过用作距离向量协议的被动监听器使用从内部路由器8B获得的路由信息创建路由表。ALTO服务器12利用路由表中指定的路径和距离来计算AS内网络图的PID与其他PID之间的ALTO开销。
ALTO服务器12可以包括一个或多个ALTO开销策略,其定义了用于计算特定指标的ALTO开销值的公式。这种策略除了将IGP指标结合于公式中之外还可以将其他参数结合于公式中。例如,ALTO服务器12可以接收例如流量工程参数作为配置数据或在OSPF的扩展LSA内。例如,ALTO服务器12可以接收代表被编码为BGP UPDATE消息的网络层可到达信息(NLRI)属性的流量工程参数的路径开销。一般,路由器使用流量工程参数来创建流量工程数据库,其中约束式最短路径优先(CSPF)使用流量工程数据库来计算多协议标签交换(MPLS)标签交换的路径(LSP)。ALTO开销策略可以在计算AS内网络图的PID对的ALTO开销时,指定流量工程数据库内与AS 4A的各个链路和路径互连有关的结合信息。ALTO服务器12所结合的AS 4A的其他参数可以包括AS 4A的路由器的链路延迟或路由器接口上的负荷。一些参数可以在前缀20中的一个中从AS 4A的外部源接收,诸如应用程序或连接至的AS 4A的其他内容服务器。例如,这些参数可以包括服务器的负荷和响应时间。
ALTO服务器12将算得的ALTO开销值结合于AS 4A的AS内开销图中。AS内开销图定义了用于AS内网络图的各个PID间的连接的PID间路由开销。然后,ALTO服务器12以ALTO图更新消息13将AS内开销图提供给ALTO客户机18。利用由ALTO服务器提供的AS内网络图和开销图,应用客户机和内容请求路由器(例如,执行于主机10上)选择服务源以将内容请求客户机与AS-4A的可利用资源之间的开销最小化,如由ALTO图所指定的。
在一些情况下,ALTO服务器12对于反映特定服务提供商目的的多个开销图可以产生不同的开销。例如,ALTO服务器12可以产生第一AS内开销图,用于指定由ALTO服务器算出的用于将延迟最小化的ALTO开销。这种开销图可以改进声音应用的性能,例如,在提供给主机10的ALTO客户机18时。ALTO服务器12可以产生第二AS内开销图,用于指定由ALTO服务器算出的用于将带宽最大化的ALTO开销。这种开销图可以改进视频应用和其他高带宽应用的性能。
在一些实施方式中,ALTO服务器12另外地产生ALTO网络图和开销图,这些ALTO网络图和开销图结合有网络2中AS 4A除外的附加元件。从AS 4A的视角来看,ALTO服务器12为包括ALTO服务器12的自治系统产生这些“AS间”网络图和开销图,为AS 4A的ASBR 6熟知的路由信息可以变得为ALTO服务器12所知。如前所述,网络2可以代表因特网。与可以包括对与AS 4A内的应用相关的拓扑和开销的详细描绘的AS内网络图和开销图相比,AS间网络图可以不包括所有因特网前缀,并且包含在PID中的这些前缀的分割可以是粗颗粒的。此外,AS间开销图可以是稀疏的,这是因为AS 4A可利用的有限外部路由信息的原因。关于AS内开销图,ALTO服务器12可以对反映特定服务提供商目的的多个AS内开销图产生不同的开销。
ASBR 6执行外部网关协议(例如,BGP),以在一个外部对等会话11中与AS 4A和4D的ASBR交换各自自治系统4的路由信息。下文中,将外部网关协议描述为外部BGP(BGP)。因而,ASBR 6以BGP更新消息的方式从AS 4A和4D的ASBR接收包括至前缀21的路由的拓扑信息通知。BGP更新消息将前缀21之一与前缀的下一跳和到达前缀(AS_PATH)所要遍历的自治系统列表相关联。AS_PATH和前缀21的标识符可以在网络层可到达信息(NLRI)内的BGP更新消息内表达。ASBR6将BGP更新消息中所接收到的路由信息经由对等会话9再分发给IGP。如上所述,IGP可以包括IBGP,并且在这种情况下,对等会话9包括IBGP对等会话。在所示出的实施方式中,路由反射器17将路由信息再通知给ALTO服务器12。作为外部发起的路由信息由AS 4A的IGP路由器内部分发的结果,ALTO服务器12接收包含有至AS 4B-4D的前缀21的路径的路由信息。ALTO服务器12还可以以管理方式配置有路由信息(例如至前缀21的路径)以及用于AS间链路的指标(例如,用于将AS 4B链接至AS 4C的通信链路的开销或用于所有AS间链路的缺省开销)。ALTO服务器12可以包括存储路由信息的路由表。
在一些情况下,ASBR 6接收由AS 4B-4D的BGP扬声器广播的并以BGP消息编码的流量工程数据。ASBR 6将这些消息提供给路由反射器7,其将该流量工程数据再通知给ALTO服务器12。结果,ALTO服务器可以接收AS 4B-4D的各个AS内和/或AS间路由和拓扑信息。
ALTO服务器12使用在对等会话9中接收到(或以管理方式配置的)的当前AS内和AS间路由信息来产生/更新网络2的AS间网络图。在一些情况下,ALTO服务器12通过首先确定ALTO服务器12所获知的用于前缀20、21的最优路径来产生/更新AS间网络。对于本地前缀20,ALTO服务器12执行上述所描述的用于产生AS间网络图和开销图的技术。结果,ALTO服务器所产生的AS间网络图可以包括如以上述方式所产生的用于AS 4A的AS内网络图的实质。
为了将远程AS 4B-4D发起的前缀21聚合于PID中,ALTO服务器12将根据路由信息具有相同的AS_PATH属性和下一跳属性的所有前缀21聚合于分离的PID中。换言之,ALTO服务器12将通过相同路径(AS_PATH)可到达的并且在AS 4A内由相同的一个ASBR 6(NEXT_HOP)所通知的任何前缀21聚合于分离的PID中。在示例性实施方式中,ALTO服务器12将各个前缀21分配给分离的PID,这是因为各个前缀具有不同的AS_PATH。然而,在各个实施方式中,分离的拓扑通知中所通知的多个不同的前缀可根据上述聚合规则分配给相同的PID。ALTO服务器12将PID聚合于网络2的AS内网络图中。
从AS 4A(以及ALTO服务器12)的视角来看,动态地产生网络2的AS间开销图可以需要AS间开销,即,具有位于不同的一个AS 4中的前缀的PID之间的开销。ALTO服务器12可以配置有具有AS间开销的策略和其他配置数据。在一些实施方式中,由ALTO服务器12所应用的AS间开销对于所有AS 4对是相同的。换言之,AS间开销是缺省AS间开销。然而,在一些实施方式,ALTO服务器12可以包括用于一对或多对AS 4的特定AS间开销。例如,ALTO服务器12可以配置有用于AS 4B与4C之间的AS间开销。
当AS间开销是大于最大AS内开销的缺省值时,两个远程PID间(例如,AS 4B中的PID与AS 4C中的PID间)的开销被认为与两个远程PID间的AS间链路的数量成正比。为了确定两个远程PID间的AS间链路的数量,ALTO服务器12读取属于两个远程PID的AS_PATH。PID的AS_PATH属性值中最终自治系统标识号是为PID服务的自治系统(即,发起用于PID所包含的前缀的通知的自治系统)。例如,从AS 4A的视角来看,用于包括前缀21B的PID的AS_PATH包括[(AS 4B的标识号)]、[(AS 4C的标识号)]。
如果属于两个远程PID中任一的AS_PATH包括用于为另一远程PID服务的自治系统的标识号,则ALTO服务器12算出的AS间开销为缺省AS间开销(C)与根据AS_PATH属性从另一远程PID到达该PID必须遍历的AS间链路的数量的乘积。在上述示例中,根据属于包括AS 4C的前缀21B的PID的AS_PATH,包括AS 4B的前缀21A的PID经过一条AS间链路到达包括前缀21B的PID。因此,两个PID间的AS间开销等于1×C。
ALTO服务器12以此方式计算AS间网络图中所代表的各个远程PID间的开销,并将该开销存储于相应的AS间开销图中。在一些情况下,ALTO服务器12包括用于指定AS 4对之间的AS间开销的实际值而非缺省值的策略或其他配置数据。在这种情况下,ALTO服务器12可以对属于远程PID的AS_PATH中所代表的AS 4对间的AS间开销求和,以计算两个远程PID间的总开销。
为了确定包括一个或多个本地前缀20的两个PID(即,从AS 4A的视角来看为“本地”PID)间的开销,ALTO服务器12执行上述所描述的用于产生AS内开销图并将算得的本地PID对的开销结合于AS间开销图的技术。结果,由ALTO服务器12产生的AS间开销图可以包括如在上述方式中产生的AS 4A的AS内开销图的实质。
对于固定的本地-远程PID对组合,ALTO服务器12将从本地PID至远程PID的下一跳的AS内开销补充到从AS 4A至远程PID的AS间开销。在所示出的实施方式中,远程PID的下一跳是ASBR 6之一。换言之,ALTO服务器12将AS间开销与AS内(IGP)开销组合以确定从PID对的本地PID至远程PID所遍历的路径的总开销。在ALTO服务器12对AS间链路应用缺省AS间开销C的情况下,来自AS 4A的AS间开销是远程PID的AS_PATH属性值(即,AS_PATH中AS的数量)的长度与C的乘积。例如,对于AS_PATH包括AS 4B、4C并因此具有长度等于2时,本地PID与包括前缀21B的远程PID间的AS间开销等于2×C。
ALTO服务器12对AS内开销和AS间开销进行求和以确定总的开销,然后将本地-远程PID对的总开销添加至网络2的AS间开销图。在一些情况下,ALTO服务器12可以包括ALTO开销策略,其定义了基于AS间开销和AS内开销计算总开销值的公式。除了这些开销之外,这种策略还可以结合入其他参数,如上关于在排他的AS内内容中使用ALTO开销策略进行的描述。
通过ALTO服务器使用从网络装置接收到的路由信息动态地产生和更新ALTO网络图和开销图能够使图与每次改变的网络环境同步。结果,由ALTO服务器12提供给ALTO客户机18的网络图和开销图可以反应网络拓扑和/或利用的当前更新,并且因而可以改进节点选择以及通过一个或多个应用主机10提高性能。此外,自动地创建网络图和开销图可以减小ALTO服务器12施加于AS 4A的管理员的配置负担,使得ALTO服务器能够在大规模服务提供商环境下进行。配置负担可以(更合适地)被分配给各个AS 4的各自的管理员。以此方式,“靠近”子网络20、21中特定的一个的管理员可通过ALTO服务器12和ALTO客户机18负责对该子网络进行处理。因为远程AS 4B-4D的各个管理员通常比AS 4A的管理员具有更丰富的远程AS的配置知识,因而该技术改进了进行协作以利于内容分发的网络实体和操作者之间的辅助,从而减轻了对ALTO服务器12的管理员的配置压力。
图2是示出了由根据所述技术的ALTO服务器12动态产生的图1的用于网络2的ALTO AS间网络图和开销图的示例示图25的框图。PID22A-22F(PID 22)均包括一个或多个前缀,因此表示网络2的AS间网络图的PID。互连PID并且均标注有PID间开销的边表示用于网络2的AS间开销图。
执行上述参照图1描述的技术,ALTO服务器12将前缀20A聚合于PID 22A中,这是因为前缀20A的下一跳是ASBR 6A。类似地,ALTO服务器12将前缀20C、20D都聚合于PID 22C中,这是因为用于这些前缀的共用下一跳是内部路由器8B。由AS 4B-4D中的相应一个发起的拓扑通知包括由ALTO服务器12置于各个PID中的前缀。换言之,在这种情况下,ALTO服务器12将由AS 4B-4D中的同一个服务的所有前缀聚合于同一PID中。例如,PID 22E包括由AS 4C通知的前缀21B,在其他配置中,将进一步包括由AS 4C通知的任何其他前缀。
ALTO服务器12使用在IGP会话中接收到的路由信息计算本地PID(即,包括由AS 4A服务的前缀20的PID)的AS内开销。示图25将用作实例Ai标注边处的AS内开销。例如,本地PID 22A与本地PID 22B间的AS内开销是A3。另外,该情况下,ALTO服务器12使用缺省AS间开销C作为每对相邻AS 4间的传送路由开销。例如,PID 22(这里为聚合于AS 4B中)与PID 22E(这里为聚合于AS 4C中)间的开销是C,这是因为所代表的AS 4B和4C是相邻的。作为另一示例,PID 22E与PID22A间的开销(下一跳属性为至AS 4B的下一跳,即ASBR 6A)是2×C。
对于混合的本地-远程PID 22对组合,ALTO服务器12将从本地PID至远程PID的下一跳的AS内开销补充到从AS 4A的下一跳至远程PID的AS间开销。在这种情况下,ALTO服务器12对AS间开销和AS内开销求和以计算总的PID间开销。例如,PID 22D与PID 22C间的开销C+A1是PID 22D与PID 22A间的开销C和PID 22A与PID 22C间的开销A1的和。
示图25不包括用于连接PID 22D和PID 22F的边,这是因为ALTO服务器12不接收包括既包含AS 4B又包含AS 4D的AS_PATH的路由。ALTO服务器12因此不能够确定远程AS 4B与远程AS 4D间的开销。
图3为示出包括执行本文所描述的联合ALTO技术的ALTO服务器38A至38C(“ALTO服务器38”)的网络36的框图。网络36包括自治系统40A至40C(“AS 40”),每个自治系统包括各自的一个ALTO服务器38。自治系统40经由外部通信链路44互连。每个AS 40可以表示图1中一个自治系统4的示例性实施方式。每个ALTO服务器可以表示图1中ALTO服务器12的示例性实施方式。AS 40的各种组合可以受一个或多个管理或服务提供商的管理控制。
每个ALTO服务器38执行本发明中描述的动态网络图(map)产生和修改技术,以将相关联的AS 40供应的前缀(图3中未示出)聚集到一个或多个PID 42中,并将PID组合到AS间网络图中,在一些实例中,组合到AS内网络图中。例如,如所说明的,ALTO服务器38A将AS 40A供应的前缀聚集到PID 42A、42B中,其前缀通过AS内通信链路连接。即,PID 42A的前缀通过AS间通信链路被连接到PID 42B的前缀。而且,每个ALTO服务器38执行本发明中描述的动态网络图产生和修改技术,以产生包括与ALTO服务器产生的网络图相关联的本地和远程PID的各种组合的开销的AS间开销图。结果,每个ALTO服务器38产生从ALTO服务器的相关的一个自治系统40的角度来看代表网络36的拓扑的本地网络和本地开销图。
ALTO服务器38与ALTO联盟中的另一个联合,以共享信息以促进整个网络36的良好PID前缀粒度,从而改善节点选择。ALTO服务器38B是主ALTO服务器,除其本地功能(即,从AS的角度生成网络和开销图)之外,其使用通过各ALTO服务器38生成的各种本地AS内和/或AS间网络和开销图生成网络36的主网络和开销图。ALTO服务器38B(下文中称为“主ALTO服务器38B”)可以被管理配置为主ALTO服务器38B或者可以在合格的ALTO服务器38之间协商时被选出。在一些配置中,多个ALTO服务器38可以作为主ALTO服务器运作。
为了使主ALTO服务器38B能够为网络图中的每个PID在主ALTO服务器38B生成和接收的许多网络图内确定自治系统40中的发起自治系统,ALTO服务器38将自治系统标识符(“AS ID”)属性添加到它们各自的网络图的PID中。自治系统标识符可以包括每个PID(包括PID 42)的自治系统40的发起自治系统的注册标识号。换而言之,包括特定的一个或多个前缀的每个PID由发起前缀的一个AS 40的AS ID进行“标记”。因此,各ALTO服务器38可在其网络图中以不同AS ID对PID进行标记。例如,ALTO服务器38A用AS 40A的AS ID对ALTO服务器生成的AS间网络图中的PID 42A、42B进行标记。在一些实例中,ALTO服务器38A还可以用发起该远程PID的前缀的自治系统的AS ID对AS间网络图的任何远程PID进行标记。
因此,AS间网络图中的每一个本地PID 42都携带包括生成该PID的一个ALTO服务器38的一个AS 40的标识符。由于包括在一个PID 42中的每个前缀的本地视角代表前缀的最精确拓扑分组,来自AS 40中的发起AS的PID应当被移到主网络图。换而言之,通过标识每个PID 42的AS 40中的发起AS,最佳前缀粒度等级的PID可以被主ALTO服务器38B识别和选择,以包括在主网络图内。ALTO服务器38A、38C在各自的上载消息46A、46B中发送它们各自的AS间网络和开销图至ALTO服务器38B。
在一些实施方式中,每个ALTO服务器38生成AS内和AS间网络图,而不是将AS ID属性添加至AS间网络图的每个PID中。然后,ALTO服务器38A、38C在各自的上载消息46A、46B中发送它们各自的AS间网络和开销图至ALTO服务器38B。在这些实施方式中,上载消息46A、46B还包括AS 40中的包含ALTO服务器38A、38C中发送消息的一个服务器的一个AS的AS ID。例如,ALTO服务器38A在上载信息46A中发送AS内和AS间网络图、AS间开销图和AS 40A的AS ID至主ALTO服务器38B。在这些实施方式中,当主ALTO服务器38B从ALTO服务器38A、38C中的一个接收各上载信息46A、46B时,主ALTO服务器38B通过关联AS间网络图内的IPD前缀与AS内网络图内的IPD前缀来识别AS间网络图中的本地PID。当前缀包括在AS内网络图内的IPD内时,也包括该前缀的AS间网络图的任何IPD为本地PID。然后,主ALTO服务器38B将所识别的本地PID用连同本地网络图一起接收的AS ID进行标记。该技术可以减少上载消息46的大小。
ALTO服务器38A、38C在各自的上载消息46A、46B中发送它们各自的AS间网络和开销图至ALTO服务器38B。主ALTO服务器38B生成AS 40B的本地网络和开销图。响应于接收本地网络和开销图,主ALTO服务器38B生成网络36的ALTO联盟的主网络和开销图。主ALTO服务器38B可以将从所接收或生成的每个本地网络和开销图的视角关联成单一的统一的主网络和开销图。然后,主ALTO服务器38B在各下载消息47A、47B中将主网络和开销图发送至ALTO服务器38A、38C。
图4A是示出了主ALTO服务器38B根据所描述的技术由图表50A、50B生成的示例性图表54,其中,图表54表示局部组合的图3的网络36的主网络和开销图,图表50A、50B表示局部组合的通过和从各ALTO服务器38A、38B的视角生成的网络36的AS间网络和开销图。图表54和50A至50B为“局部”在于它们不包括AS 40B的元素(为了便于说明)。在一些实例中,图表50A至50B包括结合有图3的AS 40B的元素的另外的元素。在一些实例中,图表54包括结合有图表50A至50B的各种实例中包括的ALTO服务器38B的视角和/或AS 40B的元素的另外的元素。
ALTO服务器38A从包括图表58中示出的元素的AS 40A的视角生成AS间网络图。具体地,AS间网络图包括本地PID 42A、42B。PID 42A具有PID标识符“PID1”并包括前缀P1。PID 42B具有PID标识符“PID2”并包括前缀P2。AS间网络图还包括远程PID 52A,在该实例中,PID 52A表示例如在BGP UPDATE中向AS 40A通知的AS 40C的前缀的集合。这些前缀包括P3、P4和P5。ALTO服务器38A生成包括AS间网络图的开销图条目的AS间开销图。图表50A将计算出的PID间开销示为箭头。例如从PID 42A至PID 52A的开销为2C,是由根据本文所描述技术的ALTO服务器38A针对遍历(或“经过”)AS 40A与AS 40B之间的两个AS间通信链路44计算出的开销。ALTO服务器38A还用利用本发明技术的IGP指标针对PID对<PID 42A,42B>计算PID间开销A1。
ALTO服务器38C以相似的方式从AS 40C的视角生成AS间网络图。尽管在图4A中未示出,但是PID 42A至42B、42E至42F和52A、52B中的每一个针对各自包括的前缀都可以包括AS 40中的发起AS的AS ID。例如,本地PID 42E可以标记有图表50B表示的网络图中的AS 40C的AS ID。作为另一个实例,远程PID 52A可以标记有由图表50A表示的网络图中的AS 40C的AS ID。
在一个实例中,AS 40C的所有前缀(即,前缀P3、P4和P5)被通知给AS 40A,然后通过ALTO服务器38A被聚集在PID 52A中。相似地,AS 40A的所有前缀(即,前缀P1和P2)被通知给AS 40C,然后通过ALTO服务器38C被聚集在PID 52B中。
主ALTO服务器38B从各ALTO服务器38A、38C接收通过图表50A和50B表示的AS间网络和开销图,并生成通过图表54表示的主AS间网络和开销图。为了由多个AS间网络图生成主AS间网络图,主ALTO服务器38B将AS间网络图的所有本地PID都复制到主网络图内。每个ALTO服务器38接收AS 40中其各自AS的最佳粒度路由信息,因此具有用于生成本地PID以及计算本地PID间开销的最完整的信息库。
另外,针对通知远程PID前缀的AS 40中的发起AS,主ALTO服务器38B利用的AS间网络图中的本地PID协调每一个AS间网络图中的每一个远程PID。换而言之,针对AS 40中的发起(即,远程)AS,主ALTO服务器38B将远程PID的前缀与相应本地PID的前缀相交(intersect,取交集),以促进主ALTO服务器的PID的最佳可用PID粒度等级。将本地PID和远程PID视为前缀的各自的数学集合,生成的主网络图由(1)在本地PID中包括远程PID的相对补码(即,在本地PID中而不在非远程PID中的前缀的集合)和(2)远程PID与本地PID的交集(即,在远程PID也在本地PID中的前缀的集合)的PID组成。然而,如果这些生成的前缀集合中的任何一个为空,则主ALTO服务器38B不生成该空集的相应PID。而且,如果这些生成的前缀集合中的任何一个已经包括在主网络图的PID中,则主ALTO服务器38B可以针对同一前缀集合创建第二个PID。
通常,由于ALTO服务器38基本上不生成远程AS的远程PID,针对AS 40中的通知远程PID前缀的发起AS,主ALTO服务器38B仅向主网络图简单地复制AS间网络图中的本地PID。然而,在一些实例中,主ALTO服务器38B必须将AS间网络图中的本地PID前缀重新分配到两个以上PID中以包括在主网络图中。这些实例的例子将在下文参照图4B进行详细描述。
在所示的例子中,主ALTO服务器38B利用图表50B的本地PID 42E至42F协调图表50A的远程PID 52A。由于PID 52A包括PID 42E至42F中表示的每一个前缀,所以PID 42E至42F表示前缀的最佳粒度等级,并且从每个PID 42A至42B利用相同的开销可以到达,因此,被主ALTO服务器38B直接复制到主网络图(由图表54的PID表示)。
作为一个例子,在另一个网络流量方向上,主ALTO服务器38B利用图表50的本地PID 42A至42B协调图50B的远程PID 52B。PID 52B包括PID 42A至42B中表示的每个前缀,并且从每个PID 42E至42F利用相同的开销可以到达。因此,主ALTO服务器38B直接将PID 42A至42B复制到主网络图(由图表54的PID表示)。
如在图表64中看到的,主ALTO服务器38B在主网络图中不包括远程PID 52A、52B。主ALTO服务器38B仅将一个AS 40发起的前缀的PID(即,本地PID)传送到主网络图中。在一些实例中,主ALTO服务器38B在将本地PID复制到主网络图时可以修改PID标识符。例如,图表60A和图表64中的PID 42A具有PID标识符“PID1”。在一些实例中,主ALTO服务器38B可以为图表64中的PID 42A提供网络PID标识符。
为了由通过ALTO服务器38提供的多个AS间网络和开销图生成主开销图,主ALTO服务器38B利用由发起网络流量的AS的视角计算得出的PID间开销。对于其中的两个成员相对于特定的一个AS间网络图均是本地的这种PID对,主ALTO服务器38B利用相应AS间开销图中指定的PID间开销。在所说明的例子中,例如,在将A1确定为由图表50表示的AS间网络图的本地PID 42A、42B之间的开销时,主ALTO服务器38B由图A将A1设定为主网络图的PID 42A、42B之间的开销。由于在AS间开销图中,主开销图的任意PID对可以与表示在IPD对的PID成员间在两个方向上遍历网络的两个单向开销相关联。
对于其中不同AS 40发起IPD对中的PID成员的PID,对于每个网络流量方向,主ALTO服务器38B利用由AS 40中发起流量的相应AS的一个ALTO服务器38指定的开销。例如,为了确定从PID 42A(包括AS40A的前缀P1)向PID 42E(包括AS 40C的前缀P3)遍历网络的ALTO开销,主ALTO服务器38B查询AS 40提供的AS间开销图,以确定本地PID 42A与远程PID 52A(包括AS 40C的前缀P3)之间的PID间ALTO开销。该AS间开销图被表示在图表50A中,其表明该PID间ALTO开销为2C。主ALTO服务器38B将主开销图内从PID 42A至42E的开销设定为2C。
在另一个流量方向上,即,从PID 42E至PID 42A,主ALTO服务器38B查询由AS 40C提供的AS间开销图,确定本地PID 42E与远程PID52B(包括AS 40A的前缀P1)之间的PID间ALTO开销。图表50B表示由AS 40C提供的局部AS间开销图,其表明开销为2C。因此,主ALTO服务器38B将主开销图内从PID 42E至42A的开销设置为2C。
为了便于说明,图54将所有PID间开销表示为双向箭头,因为,在所说明的实施方式中,PID间开销在两个方向上是相同的。在一些实例中,在一个方向上遍历PID间网络的开销不同于在反方向上遍历该PID间网络的开销。结果,主开销图可以包括两个PID每个方向上的相应的开销条目。
图4B为示出了图3的网络36的实施方式的不同于图4A的局部组合网络和开销图的框图,其中,AS 40C不向AS 40A通知前缀P4。图4B的图表64表示网络36的局部组合的主网络和开销图,图表64通过主ALTO服务器38B根据所描述的技术从图60A、60B生成,其中,图60A、60B表示局部组合的由从各ALTO服务器38A、38C的视角生成的网络36的AS间网络和开销图。
在该所示实施方式中,与图4A中所示的实施方式不同,图表60A的远程PID 62A不包括前缀P4,原因在于AS 40C未将前缀P4通知AS 40A。自治系统40A包括ALTO服务器38A,该ALTO服务器38A生成图表60A所代表的局部AS间的网络和开销图。
由于AS 40C的前缀P4未被通知并因此不能够从AS 40A到达,针对图表64所代表的主网络图,主ALTO服务器38B将PID 42F的前缀P4、P5分配至单独PID 66A、66B。该操作包括上面关于图4A描述的相对互补操作以及交集操作这两者。即,主ALTO服务器38B为主网络图创建(1)PID 66A,其涵盖图表60A的远程PID 62A的前缀的组与图表60B的本地PID 42F的前缀的组的交集的前缀的组(即,前缀P5);并且创建(2)PID66B,其涵盖图表60B的本地PID 42F的前缀的组中图表60A的远程PID62A的前缀的组的相对互补的前缀的组(即,前缀P4)。
主ALTO服务器38B设定符合AS间开销图的主开销图中的开销。由于ALTO服务器38C将前缀P4、P5聚合至单个PID 42F,因此这些前缀之间的ALTO开销为零。因此,主ALTO服务器38B在由图表64代表的网络开销图中将每个涵盖前缀P4、P5之一的PID 66A、66B之间的ALTO开销设定为零。类似地,PID 42E、42F之间的ALTO开销根据图表60B被设定为B1。因此,针对包括重新分配的PID 44F的前缀的PID 66A和66B,主ALTO服务器38B在由图表64代表的网络开销图中将PID 42E、66A之间以及PID 42E、66B之间的ALTO开销设定为B1。
由于在从AS 40A的前缀到AS 40C的前缀P4并没有可用路径,因此在主开销图中将PID 42A、42B至PID 66B的ALTO开销设定为无限大。其在图表64中通过从PID 42A、42B的任一个到PID 66B不存在方向箭头而示出。然而,由于AS 40A向AS 40C加入前缀P1、P2,因此示出了开销2C的方向箭头将PID 66B连接至PID 42A、42B中每一个,从而代表在由主ALTO服务器38B生成的主开销图中的这些开销。一些情况下,主ALTO服务器38B可以将从PID 66B到PID 42A、42B中每一个的ALTO开销设定为无限大,原因在于大多数应用需要双向通信并因此ALTO客户机不应选择PID 42A、42B中的任一个来服务于PID 66B中的客户机。
在生成针对网络36的主网络图时,图3的网络36的多种其他实施方式可能需要主ALTO服务器38B对来自AS间网络图的PID前缀的重新分配。例如,在一些实施方式中,第一AS网络图的两个以上远程PID可能一起包括两个以上前缀,该两个以上前缀在针对这些前缀的AS 40中的发起AS处聚合为该发起AS(源AS)的第二AS间网络图的单个本地PID。例如,其可能在以下情况中发生,流量引擎参数指定一个不同的自治系统路径(AS_PATH)用于从第一AS中间网络图的本地PID到达远程PID中的每一个。换言之,远程PID中的前缀与从自治系统的不同AS_PATH长度相关,该自治系统包括ALTO服务器38中的生成第一AS间网络图的一个。
在该情况下,主ALTO服务器38B将第二AS间网络图的单个本地PID重新分配至两个以上主网络图PID,该两个以上主网络图PID中每一个涵盖根据由第一AS间网络图的两个以上远程PID指定的类似AS_PATH长度分组的不同的前缀的组。按照这种方式,主ALTO服务器38B将来自具有相同AS_PATH长度的第一AS间网络图的远程PID的所有前缀都聚合为该主网络图的相同PID。由于多种前缀聚合至第二AS间网络图中的单个PID中,因此这些前缀之间的ALTO开销为零。因此,主ALTO服务器38B将多对按照此方式生成的两个以上主网络图PID之间的ALTO开销设定为零。主ALTO服务器38B将ALTO开销设定为两个以上“分裂(split)”主网络图PID(从根据第一AS间网络图中指定的开销的第一AS间网络图的AS的PID到包括来自AS的PID的“分裂”主网络图PID的前缀的第一AS间网络图的远程PID)。
作为另一实施例,第一AS间网络图的两个以上远程PID可能一起涵盖两个以上前缀,该两个以上前缀在AS 40中的相邻、发起AS处聚合为该相邻、发起AS的第二AS间网络图的单个本地PID。正如下面关于图5更详细描述的,例如其可能发生在以下情况,由于多个ASBR将第一AS间网络图的AS连接至相邻AS,因此生成第一AS间网络图的ALTO服务器38接收指定从第一AS间网络图的本地PID到相邻AS的前缀的不同路径的路由信息。
在该情况下,主ALTO服务器38B将第二AS间网络图的单个本地PID的前缀重新分配至两个以上主网络图PID,该两个以上主网络图PID中的每一个涵盖根据各不同路径自第一AS网络间图的AS可到达性而分组的不同的前缀的组。按照这种方式,主ALTO服务器38B将从自第一AS间网络图的AS而具有相同开销的第一AS间网络图的远程PID的所有前缀都聚合为该主网络图的相同PID。由于多种前缀在第二AS间网络图中被聚合为单个PID,因此这些前缀之间的ALTO开销为零。因此,主ALTO服务器38B将多对按照此方式生成的两个以上的主网络图PID之间的ALTO开销设定为零。主ALTO服务器38B将ALTO开销设定为两个以上“分裂”主网络图PID(从根据第一AS间网络图中指定的开销的第一AS间网络图的AS的PID到包括来自AS的PID的“分裂”主网络图PID的前缀的第一AS间网络图的远程PID)。
作为另一实施例,第一AS间网络图的远程PID可以涵盖以下前缀,该前缀涵盖在AS 40的相邻、发起AS处聚合为该相邻、发起AS的第二AS间网络图的多个本地PID的子前缀(例如,子网络)。例如,由于前缀聚合而可能发生该情况。在该实施例中,第二AS间网络图的多个本地PID控制主网络图内的PID分配。
图5是示出了包括了执行本文描述的联合ALTO技术的ALTO服务器81A至81B(“ALTO服务器81”)的示例性网络79的框图。网络79包括自治系统80A至80B(“AS 80”),每个自治系统包括各自的ALTO服务器81。自治系统80经由连接AS 80的自治系统边界路由器的对的外部通信链路(未示出)而互连。例如,第一外部通信链路通信地耦接AS 80A的“ASBR2”(涵盖PID 84B)以及AS 80B的“ASBR4”(涵盖PID 84D)。每个AS 80可以代表图1的一个自治系统4的示例性实施方式。每个ALTO服务器81可以代表图1的ALTO服务器12的示例性实施方式。每个AS 80可以受控于一个或多个管理员或服务提供商的管理控制。尽管示出并描述为ASBR,但任何ASBR可以包括区域边界路由器或任何外部BGP扬声器。
每个ALTO服务器81执行本公开中所描述的动态网络图生成和更改技术,从而将关联AS 80的路由器所通知的前缀聚合至一个或多个PID 82或PID 84中,并针对包括ALTO服务器的AS将PID组合至各AS间网络图中。如所示,例如,ALTO服务器81将AS 80A的内部路由器所通知的前缀P1聚合至PID 82A中(聚合为PID 82A)。AS 80A的内部路由器可以被设定为PID 82A的下一跳属性。附加地,ALTO服务器81A针对AS80A的ASBR中的每一个的前缀(在该情况下为网络地址)创建各PID84A、84B。ALTO服务器81B将AS 80B的内部路由器通知的前缀P2、P3聚合为PID 82B。AS 80B的内部路由器可以被设定为PID 82B的下一跳属性。附加地,ALTO服务器81B针对AS 80B的ASBR中每一个的前缀(在这种情况下为网络地址)创建各PID 84C、84D。
通过AS内通信链路连接各AS 80中的每一个的多个PID 82、84。附加地,每个ALTO服务器81执行本文所描述的动态开销图生成和更改技术,从而产生包括了与ALTO服务器产生的网络图相关的本地和远程PID的多种组合的开销的AS间开销图。因此,每个ALTO服务器81产生代表以与ALTO服务器相关的自治系统80的视角的网络79的拓扑的本地网络和本地开销图。
ALTO服务器81在ALTO联合中彼此联合从而共享信息,促进整个网络79的精细PID前缀粒度,并从而改善节点选择。ALTO服务器81A是主ALTO服务器,除了其本地功能(即,以AS 80A的视角生成网络和开销图)之外,还使用每个ALTO服务器81生成的多种本地AS内和/或AS间网络和开销图而生成针对网络79的主网络和开销图。
ALTO服务器81A通过AS 80的路由器经由拓扑信息通知串来接收通知AS 80B的前缀P2、P3的路由信息。在一个实施例中,AS 80B的内部路由器将每个都包括前缀P2、P3的IBGP UPDATE消息86A、86B发送至AS 80B的ASBR。AS 80B的ASBR将该消息作为各BGP UPDATE消息88A、88B而再发布至AS 80A的ASBR。接下来,该ASBR将BGPUPDATE消息80A、88B作为BGP UPDATE消息90A-90D进行再发布。ALTO服务器81A从PID 84A所涵盖的ASBR中接收IBGP UPDATE消息90C,其是针对前缀P2、P3的第一路由的下一跳。ALTO服务器81A从PID 84B所涵盖的ASBR中接收IBGP UPDATE消息90D,其是针对前缀P2、P3的第二路由的下一跳。ALTO服务器81A还接收针对AS 80A的前缀P1的路由信息。
ALTO服务器81A还接收以下路由信息,该信息指定针对AS 80A的内部链路的链路指标并使用这些指标来计算从PID 82A至PID 84A以及从PID 82A至PID 84B的ALTO开销。此外,ALTO服务器81A配置有针对AS 80的ASBR的每个连接对的AS间开销,ALTO服务器使用该开销来计算从PID 84A至PID 84C以及从PID 84B至PID 84D的ALTO开销。在图5中将这些ALTO开销示为带有注释开销信息的单向箭头。
ALTO服务器81B接收前缀P2、P3的路由信息以及指定AS 80A的内部链路的链路指标的路由信息。ALTO服务器81B使用该指标来计算从PID 84C至PID 82B以及从PID 84D至PID 82B的ALTO开销。根据本公开的技术,ALTO服务器81B随后使用接收的路由信息从而生成AS 80B的AS间网络和开销图。ALTO服务器81B在上载消息92中将所生成的AS 80B的AS间网络和开销图发送至ALTO服务器81A。
由于存在从PID 82A至PID 82B的多条网络路径,ALTO服务器81A确定AS 80A的路由器将沿其转发流量的网络路径,从而确定PID之间的精确ALTO开销。使用从AS 80A的路由器接收到的路由信息,ALTO服务器81A根据判定处理(诸如,参考上面在Rekhter等人描述的BGP判定处理)来选择对于前缀P2、P3的路径之一。只要ALTO服务器81A的策略配置和AS 80A的内部路由器关于该判定处理类似,则判定处理精确地确定针对从PID 82A朝向PID 82B的流量的路径。在一些实施方式中,ALTO服务器81A访问作为PID 82A的下一跳的AS 80A的内部路由器的本地路由信息库(Loc-RIB),而并不执行判定处理。该Loc-RIB指定由内部路由器选定的路由。在所示实施方式中,用于流量的路径流向PID 84A,原因在于从PID 82A的内部路由器至PID 84A的ASBR的较低内部路由开销。
已确定了用于从PID 82A至PID 82B的流量的路径,ALTO服务器81A对包括从PID 82A到PID 84A、从PID 84A到PID 84C、从PID 84C到PID 82B的路径链路的多个ALTO开销求和。由AS 80A的ALTO服务器81A生成的AS间网络图来指定从PID 82A至PID 84A的链路的ALTO开销,对于从PID 84A至PID 84C的链路的ALTO开销也是同样。由ALTO服务器81B生成的AS间网络图来指定从PID 84C至PID 82B的链路的ALTO开销,并在上载消息92中将该开销发送至ALTO服务器81A。在该情况下,多个ALTO开销之和等于190。
图6是示出了根据所描述的技术、表示由ALTO服务器81B生成的图5的AS 80B的局部组合的AS间网络和开销图的示例性图表94的框图。图表94是局部,原因在于其未包括双向的ALTO开销。在一些实施方式中,图表94是结合了AS 80A的组件的组合AS间网络和开销图。ALTO服务器81B将由图表94表示的网络和开销图发送至ALTO服务器81A。
图6B是示出了代表针对图5的网络79的局部组合的主网络和开销图的示例性图表96的框图。图96是局部,原因在于其未包括双向的ALTO开销。ALTO服务器81A使用接收的路由信息、配置的AS间开销、以及从AS 80B的ALTO服务器81B接收的网络和开销图来生成网络79的主网络和开销图。
图7是详细示出了根据本文所描述的技术来接收路由信息并动态地产生网络和开销图的实例ALTO服务器100的框图。ALTO服务器100可以表示图1的ALTO服务器12、图3的ALTO服务器38或图5的ALTO服务器81中的任一个的实例实施方式,ALTO服务器100可以为服务器、网络、控制器、网络开关或者包括一个或多个微处理器的其他计算装置或设备,该一个或多个微处理器为用于根据所描述的技术动态地产生并输出ALTO网络和开销图的一个或多个软件模块提供操作环境。为了清晰起见,在图7中没有示出诸如微处理器、存储器、键盘、显示器、操作系统、网络驱动器的部件以及共同被安置在这种计算装置或设备中的其他部件。在一些实施方式中,ALTO服务器100包括包含一个或多个服务单元的路由器以应用诸如本文所述的ALTO服务的服务。服务单元可以分布在插入到路由器的机架槽(rack slot)中的一个或多个服务卡或板(未示出)上。服务单元可以穿过背板或穿过网络链路而与路由平面通信,该网络链路使ALTO服务能够被动地与在由ALTO服务器100包括的路由器的路由平面内执行路由协议的路由守护进程(daemon)对等连接。
ALTO服务器100的控制单元102提供用于执行网络图模块106、开销图模块112、客户机接口114、IGP监听器130、BGP监听器124和用户接口128的操作环境。控制单元102可以包括一个或多个处理器(未示出),这些一个或多个处理器包括一个或多个微处理器、数字信号处理器(DSP)设备专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等同的集成或离散逻辑电路,以及这些部件的任何组合,以执行实现本文所描述的功能的模块。
ALTO服务器100的图模块104使用由IGP监听器130接收的路由信息和由BGP监听器124接收的能达到性信息(例如,以拓扑信息通知的形式)而动态地产生网络图120和开销图122。在一些实施方式中,图模块104使用由BGP监听器124接收的包括流量工程数据的BGP通知中的能达到性信息和路由信息来动态地产生网络图120和开销图122。另外,在所示出的实施方式中,ALTO服务器100包括拓扑信息库116,该拓扑信息库为包含关于可以由图模块104使用以产生基于ALTO的映射(即,网络图120和开销图122)的网络拓扑的信息、用于各种网络链路的传输开销以及其他信息的数据结构。拓扑信息库116可以包括一个或多个路由信息库(RIB)。拓扑信息库116还可以包括流量工程数据库。图模块104的网络图模块106使用拓扑信息库116和团体属性图118(被称作“团体属性图118”)而根据本文所描述的技术来产生网络图120。图模块104的开销图模块112可以使用动态产生的网络图120和拓扑信息库116而根据本文所描述的技术产生开销图122。在一些情况下,网络图模块106使用两个或多个AS间网络图而额外产生网络的主网络图(master networkmap),并且开销图模块112使用两个或多个AS间开销图而产生网络的主开销图(master cost map)。
网络图120可以包括根据所描述的技术而动态产生的AS内和/或AS间网络图。网络图120包括包含数据结构的一个或多个PID条目,以存储网络图的相应的一个或多个PID。每一PID条目可以包括一个或多个聚集前缀、PID标识符或名称以及PID的任何属性。开销图122可以包括根据本文所描述的技术动态产生的AS内和/或AS间开销图。开销图122例如可以包括一个或多个开销图条目,其中,每一开销图条目均指定了网络图120中的两个PID和该两个PID的ALTO开销。
ALTO服务器100的用户接口128可以包括命令行接口(CLI)、图形用户接口(GUI)、远程程序呼叫(RPC)或一些其他方法,以使管理员138能够配置ALTO服务器100的拓扑信息库116和供应策略126。管理员138可以是例如服务提供商网络的网络操作者或者是在例如网络管理装置上执行的软件代理。管理员138根据与传输开销有关的优先级、负载平衡、服务分级、PID分组、PID标识符映射的团体属性或其他优先区域,而向ALTO服务器100提供供应策略126,即,使网络图模块106产生网络图120和使开销图模块112产生开销图122的一组策略。例如,供应策略126中的策略可以指示开销图模块112根据特定公式来从IGP指标(存储在拓扑信息库116中)计算ALTO开销。作为另一实施例,供应策略126中的策略可以指示网络图模块106将标记有特定团体属性的前缀聚合在特定PID中。
BGP监听器124为能达到性协议监听器,其执行BGP以与BPG扬声器对等连接来接收包括NLRI的BGP IPDATE消息134以安装至拓扑信息库116。BGP监听器124可以存储用于ALTO服务器100的每一BGP对等体(未示出)的Loc-RIB(本地路由信息库)和/或Adj-RIB-In(相邻路由信息库,引入)。另外,管理员138可以使用UI 128而从拓扑信息库126中添加、修改或去除路由信息。在一些情况下,BGP监听器124接收在从BGP扬声器接收的GBP通知中编码的流量工程数据。BGP监听器124将流量工程数据存储至拓扑信息库116的流量工程数据库(TED),图模块104使用该拓扑信息库116而动态地产生网络图120和开销图122。
IGP监听器130为执行内部网关协议以从安装至拓扑信息库116的网络路由器接收路由信息136的路由协议监听器。在一些实施方式中,IGP监听器130执行OSPF以与相邻路由器对等连接,以接收包括ALTO服务器100的自治系统的链路状态更新信息和LSDB。在一些实施方式中,拓扑信息库116包括LSDB。
团体属性图118(被称作“团体属性图118”)为诸如表格、列表或映射的关联数据结构,其将团体属性值映射至相应的PID属性值。团体属性和PID属性可以从不同的命名区间中获得。例如,团体属性通常为四字节整数,而PID属性可以为字符串。团体属性图118作为被固定至团体属性值的查询数据结构进行操作。即,针对团体属性值(例如,指定了类型“CDN节点”的端点的值),团体属性值118提供相应的PID属性值(例如,确定与类型“CDN节点”的端点相关联的PID的值)。
PID生成器110将在拓扑信息库116中描述的端点聚合在PID中,并执行在本发明中描述的其他的PID生成、修改和“分裂”技术。PID生成器110动态地将在BGP UPDATE消息中接收的目标前缀聚合在网络图120的新PID中,或修改网络图120的现有PID以聚合目标前缀。当BGPUPDATE消息134的各个前缀均包括团体属性时,属性模块108通过使用在BGP UPDATE消息134中接收的团体属性值而将由BGP监听器124映射的PID属性值分配给包括目标前缀的新的或修改的PID。
网络图模块106根据本文所描述的技术而将由PID生成器110产生的经聚合的PID结合至网络图120中。开销图模块112将供应策略126应用于网络图120,并且在一些情况下,应用拓扑信息库116产生相应的开销图122。根据BGP UPDATE消息134所确定的网络图120的PID的PID属性可以影响PID间开销的确定。例如,供应策略126可以包括以下策略:请求开销图模块122以将具有均包括为“主机”的PID属性值的PID的PID对的PID间开销设定为无限大。因此,在该实施例中,使用由ALTO服务器100(接收来自主机端点的内容请求)提供的ALTO服务的应用将不选择另一主机端点来服务所请求的内容。例如以请求路由器形式存在的应用可以改为选择CDN节点。
客户机接口114暴露ALTO服务器接口以使ALTO客户机针对网络的应用请求并接收网络图和开销图。客户机接口114在图上载消息132中将网络图120和开销图122的副本发送至请求客户机。任何更新消息132可以包括递增或完全的更新,如结合上文在Raghunath et al.中描述的那样。
客户机接口114可以执行一个或多个协议以获得ALTO客户机在网络中的网络地址,并且客户机接口保持这些网络地址使得将这些图的递增更新信息推送至客户机。客户机114的实例接口例如可以包括简单对象访问协议(SOAP)或其他可扩展标记语言(XML)接口、CLI或GUI、简单网络管理协议(SNMP)、远程步骤呼叫(RPC)和公用对象请求代理程序体系结构(CORBA)接口。
在ALTO服务器100的一些实施方式中,客户机接口114实现端点开销服务。当客户机接口114从客户机接收在网络图120中表示的端点的列表时,客户机接口114返回端点的普通等级列表或者由开销图122指定的端点和客户机之间或端点和另一指定的源节点之间的开销。可选地,客户机接口114返回每一端点和客户机之间或每一端点和另一指定的源节点之间的开销。
在一些情况下,ALTO服务器100作为主ALTO服务器进行操作并产生网络的主网络图和开销图。在一些情况下,客户机接口114进行操作以在ALTO服务器100和位于网络的其他自治系统中的各种其他ALTO服务器之间通信。客户机接口114从这些各种其他ALTO服务器接收网络和开销图。一经由图模块104将这些网络和开销图结合至主网络和开销图,客户机接口114就将主网络和开销图发送至各种其他ALTO服务器以向其他网络区域提供高分辨率网络拓扑和开销信息。
图8是示出了ALTO服务器100的操作的实例模式的流程图,该ALTO服务器用于根据所描述的技术而动态地产生或修改由ALTO服务器100服务的自治系统的AS间网络图。BGP监听器124作为被动BGP进行操作以与自治系统的BGP扬声器对等连接并接收BGP消息(200)。在这种情况下的BGP可以指的是内部BGP。当BGP监听器124接收到BGPUPDATE消息时,BGP将所接收的路由安装至拓扑信息库116(202)。在一些情况下,ALTO服务器100在拓扑信息库116上运行BGP决策处理,以选择用于处理的路由。
ALTO服务器100的网络图模块106分析BGP UPDATE消息属性以确定路由是否来源于ALTO服务器100的自治系统(AS),即,AS_PATH属性的长度是否等于零(203)。如果路由来源于不同的AS(203的否定分支),则PID生成器110将所通知的前缀添加至网络图120(在该实施例中,为AS间网络图)的与路由的PID具有相同的AS_PATH属性和相同的NEXT_HOP属性的PID(214)。如果这种PID并不存在于网络图120中,则PID生成器110产生新的PID、并将PID NEXT_HOP属性设定为路由的NEXT_HOP值、将PID AS_PATH属性设定为路由的AS_PATH值,并且将前缀添加至网络图120中的新PID。如果在一些情况下,网络图模块106产生仅包括由ALTO服务器100的自治系统服务的前缀的AS内网络图。在这种情况下,PID生成器110忽略AS_PATH长度超过0的所有所通知的前缀,并因此可以跳过步骤214。
如果路由来源于ALTO服务器100的AS(203的肯定分支),则属性模块108确定路由是否包括在供应策略126中被映射至特定PID的BGP团体属性或扩展团体属性(204的肯定分支),如果包括的话,则属性模块108指示PID生成器110将所通知的前缀添加至经映射的PID(206)。根据需要,PID生成器110产生网络图120中的经映射的PID。
属性模块108确定嵌入在BGP UPDATE消息中的一个或多个团体属性值是否在团体属性图118中被映射至PID属性值(208)。如果是的话(208的肯定分支),属性模块108指示PID生成器将所通知的前缀添加至网络图120中的PID,该PID(1)具有在团体属性图118中前缀的团体属性值被映射至的经映射的PID属性的相同的组,(2)并还具有与通知的前缀相同的NEXT_HOP属性(210)。换而言之,PID生成器110将标记有相同的一组经映射的团体属性值和相同的NEXT_HOP的前缀聚合至单个PID。根据需要,PID生成器110创建网络图120中的这种PID。
如果通知的前缀既没有在团体属性图118中映射也没有在供应策略126中映射,则PID生成器110向网络图120中的PID添加前缀,该PID没有经映射的PID属性值并且还具有与通知的前缀相同的NEXT_HOP属性。根据需要,PID生成器110产生网络图120中的这种PID。在动态地产生或修改网络图120之后,客户机接口114在更新消息132中向ALTO服务器100的ALTO客户机提供更新的网络图(216)。
图9A至图9D表示示出了ALTO服务器100的实例操作以根据本文所描述的技术动态地产生或修改由ALTO服务器100服务的自治系统的AS间开销图。IGP监听器130执行路由协议以从包括ALTO服务器100的自治系统的内部路由器中接收路由协议消息中的路由信息。当IGP监听器130接收诸如链路状态通知的路由协议信息时(232),IGP监听器130将路由信息安装至拓扑信息库116的链路状态数据库(234)。根据路由协议,IGP监听器130在LSDB上执行最短路径优先算法以计算包括ALTO服务器100的自治系统的路由器之间的IGP指标(236)。IGP监听器130可以将IGP指标存储至拓扑信息库116。
ALTO服务器100的开销图模块112为开销图122中网络图模块106生成的每个PID对计算和设定ALTO开销。在这种情况中,开销图是AS间开销图。然而,在一些情况中,除AS间开销图之外或取代AS间开销图,开销图模块112生成AS内开销图作为开销图122。
开销图112为PID对成员PID类型的不同组合不同地计算ALTO开销。对于网络图120中的每个PID对(238),开销图模块112判定PID对的两个成员PID是否包括自治系统的本地前缀(即,成员PID是否是本地PID),其中该自治系统包括ALTO服务器100(240)。如果是(240的是分支),开销图模块112从拓扑信息库116判定在PID对的成员PID的NEXT_HOP属性中所识别的各个下一跳路由器之间的IGP指标(250)。开销图模块112将一个或多个供应策略126应用至判定的IGP指标以计算PID对的ALTO开销(252),然后在开销图122中为PID对设置该ALTO开销(254)。
如果PID对的一个成员PID是本地的并且另一成员PID是非本地的(即,远程)(240的否分支),那么开销图模块112判定远程成员PID是否位于相邻的自治系统,如例如通过远程成员PID AS标识符属性所识别的(242)。如果位于相邻的AS(242的是分支),客户机接口114从服务远程PID的前缀的相邻自治系统的ALTO服务器接收局部开销图(260)。局部开销图包括通过拓扑信息库116的拓扑信息运行BGP判定过程的ALTO网络图模块106以识别从本地PID到远程PID的可能的流量路径,拓扑信息库116与PID对的各个本地PID成员一致。
PID对的ALTO开销是所识别的流量路径的AS内和AS间ALTO开销的和。开销图模块112查询拓扑信息库116以获得本地成员PID的NEXT_HOP属性所识别的下一跳路由器和远程PID的NEXT_HOP属性所识别的下一跳路由器之间的IGP指标(264)。开销图模块112将一个或多个供应策略126应用至判定的IGP指标以计算AS内ALTO开销(266)。开销图模块112计算沿所识别的流量路径连接AS和相邻AS的边界路由器之间的AS间ALTO开销(268)。AS间ALTO可配置在拓扑信息库116。开销图模块112查询由客户机接口114接收的局部开销图以获得位于沿所识别的流量路径和远程PID的前缀的相邻AS的边界路由器之间的远程ALTO开销(270)。开销图模块112计算AS内开销、远程开销和AS间开销的和(272)并在开销图122中将该和设置为PID对的ALTO开销(274)。
如果PID对包括本地PID和非相邻远程PID(244的是分支),PID对的ALTO开销被设置为自治系统的AS间开销和AS内开销的和。该自治系统包括服务远程PID的前缀的远程AS的ALTO服务器100。开销图模块112查询拓扑信息库116以获得本地成员PID的NEXT_HOP属性所识别的下一跳路由器和远程PID的NEXT_HOP属性所识别的下一跳路由器之间的IGP指标(280)。开销图模块112将一个或多个供应策略126应用至判定的IGP指标以计算AS内ALTO开销(282)。
在该实例中,缺省AS间ALTO开销被配置在拓扑信息库116。开销图模块112接着从远程PID的AS_PATH属性判定AS_PATH长度并然后将AS间ALTO开销计算为AS_PATH长度和缺省AS间ALTO开销的乘积(284)。开销图模块112对AS间ALTO开销和AS内ALTO开销进行求和(286)并将和设置为开销图122中PID对的ALTO开销(288)。在一些实例中,管理员138通过AS ID所标识的自治系统之间的AS间开销配置拓扑信息库116。在这些情况中,开销图116可查询拓扑信息库116t以获得更准确的AS间开销以计算从本地PID到远程PID的总的AS间开销。
如果PID对的两个成员是远程PID(244的否分支),那么开销图模块112将与远程PID之间的AS间链路的数量成比例地设置PID对的ALTO开销(246)。在一个实例中,开销图模块112可通过分析远程PID的AS_PATH属性判定AS间链路的数量以得到包括服务远程PID的各个AS的各个AS_ID中的每个的AS_PATH值。开销图模块112从判定的值判定AS间链路的数量并计算ALTO开销作为AS间链路的数量和缺省AS间ALTO开销的乘积。如果PID不具有该AS_PATH值,那么开销图模块112不能够判定AS间ALTO开销并将PID对的ALTO开销设置为无限大。在动态生成或更改开销图122之后,客户机接口114在更新消息132中向ALTO服务器100的ALTO客户机提供更新的开销(248)。
图10是根据本文所述技术ALTO服务器100生成主ATLO网络图的实例操作的流程图。在该实例操作中,客户机接口114从在第一和第二自治系统内运行的各个ALTO服务器接收第一和第二AS间网络图(300)。在一些实例中,ALTO服务器100可包括各个ALTO服务器中的一个,并且在这些实例中,ALTO服务器100使用已生成主网络和开销图的AS间网络和开销图。
AS间网络图均包括网络图模块106携带到网络图120的本地PID(在该操作中,网络图120是网络的主网络图)(302)。即,网络图模块106将本地PID的前缀、属性和其他值复制到网络图120的相应PID中。
对于第一和第二AS间网络图中的每个(304),网络图模块106将AS间网络图的远程PID与从其他AS间网络图携带到主网络图120的本地PID进行比较(306)。特别地,当对应于其他AS间网络图的本地PID的这些PID具有没有通知AS间网络图的AS的前缀时,如远程PID中没有包括的前缀所证实,网络图模块106根据远程PID将主网络图120的PID分开(308)。
此外,当对应于其他AS间网络图的本地PID的这些PID具有分歧(divergent,发散)的AS_PATH长度时,网络图模块106根据远程PID将主网络图120的PID分开(310)。即,当远程PID根据前缀的不同AS_PATH长度将前缀分为其他AS间网络图的单个本地PID时,那么网络图模块106根据远程PID限定的分离将主网络图120中本地PID的相应PID分裂。当对应于其他AS间网络图的本地PID的这些PID具有分歧的NEXT_HOP属性值时,网络图模块106根据远程PID另外将主网络图120的PID分裂(312)。即,当远程PID根据前缀的不同NEXT_HOP值将前缀分为其他AS间网络图的单个本地PID时,那么网络图模块106根据远程PID限定的分离将主网络图120中本地PID的相应PID分裂。在动态生成或更改网络图120之后,客户机接口114将更新消息132中的更新网络图提供至ALTO服务器100的ALTO客户机或网络的各个AS的其他ALTO服务器(314)。
图11是根据本文所述技术ALTO服务器100生成主ALTO网络和开销图的流程图。在该实例中,客户机接口114从在第一和第二自治系统内运行的各个ALTO服务器接收第一和第二AS间网络和开销图(326)。在一些实例中,ALTO服务器100可包括各个ALTO服务器中的一个,并且在这些实例中,ALTO服务器100使用已生成主网络和开销图的AS间网络和开销图。网络图模块106使用第一和第二AS间网络图生成网络图120(328)。虽然顺序示出和描述,但生成主网络图120和主开销图122的操作可同时发生。
开销图模块112然后聚集主网络图120的相应的主开销图122。在该实例中,对于主网络图120的每个PID对(330),开销图模块112判定两个成员PID是否从同一AS间网络图携带,即,PID是否由同一自治系统服务(332)。如果是(332的是分支),开销图模块112将PID对的ALTO开销设置为如服务PID的自治系统的AS间开销图所指定的相应PID的ALTO开销(334)。如果PID成员表示网络图模块106所创建的以说明第一和第二AS间网络图的分歧的“分裂”PID,开销图模块112将PID对的ALTO开销设置为零以反映这些PID的前缀通过服务这些PID的自治系统的ALTO服务器聚合进同一PID(338)。
如果PID成员包括第一和第二AS间网络图的前缀(336的否分支),开销图模块112使用第一和第二AS间开销图设置PID成员之间的单向ALTO开销。具体地,开销图模块112将主开销图122中第一PID成员至第二PID成员的ALTO开销设置为由服务第一PID的自治系统所提供的AS间开销图所指定的开销(340)。开销图模块112将主开销图122中第二PID成员至第一PID成员的ALTO开销设置为由服务第二PID的自治系统所提供的AS间开销图所指定的开销(342)。在生成主网络图和开销图之后,客户机接口114向ALTO服务器100的ALTO客户机或网络的各个AS中的其他ALTO服务器提供更新消息132中的更新的图(344)。
本发明所述的技术可至少部分地通过硬件、软件、固件或其组合来实现。例如,所述技术的各个方面可在一个或多个处理器(包括一个或多个微处理器、数字信号处理器(DSP)、特定用途集成电路(ASIC)、现场可编程门阵列(FPGA)、或其他等效集成或离散的逻辑电路以及这些组件的任何组合)中实现。术语“处理器”或“处理电路”通常可指任何前述逻辑电路(单独或与其他逻辑电路的组合)或任何其他等效电路。包括硬件的控制单元也可以执行本发明的一个或多个技术。
这些硬件、软件和固件可在同一装置或独立的装置中实现以支持本发明所述的各种操作和功能。此外,任何所述单元、模块或组建可共同实施或单独地实施为离散但可互操作的逻辑装置。作为模块或单元的不同特性的描述旨在突出不同的功能方面,并不一定意味着这些模块或单元必须由通过独立的硬件或软件组件来实现。相反,与一个或多个模块或单元相关的功能可通过独立的硬件或软件组件执行,或集成在公用的或独立的硬件或软件组件中。
本发明所述的技术可嵌入或编码在诸如非瞬时性的计算机可读介质或计算机可读存储介质的包括指令的计算机可读介质中。嵌入或编码在计算机可读介质中的指令可使可编程处理器或其他处理器执行该方法(即,当执行指令时)。计算机可读存储介质可包括随机存储器(RAM)、只读存储器(ROM)、可编程只读存储器((PROM)、可擦可编程只读存储器(EPROM)、电、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、磁带、磁介质、光学介质或其他计算机可读存储介质。应理解,术语“计算机可读存储介质”指物理存储介质,而不是信号或载波,虽然术语“计算机可读介质”可包括除物理存储介质之外的诸如信号的瞬时介质。
除了以上实施方式之外,或作为以上实施方式的可选实施方式,描述以下实施方式。在任何以下实施方式中所述的特性可与本文所述的任何其他实施方式一起使用。
一个实施方式旨在提供一种方法,包括:在应用层流量优化(ALTO)服务器上执行路由协议以接收限定网络的端点的路径的层3(L3)网络拓扑信息;通过ALTO服务器将端点聚合进拓扑分组(PID)的一个或多个子集的组,其中每个PID与端点的不同子集相关;通过路由协议接收执行一个或多个路径并包括识别(identify)一个或多个端点的网络地址的拓扑信息通知;通过ALTO服务器将所识别的端点聚合进第一组PID;通过ALTO服务器生成包括描述每个PID的PID入口的ALTO网络图;以及将ALTO网络图从ALTO服务器发送至ALTO客户机。
在一些实施方式中,拓扑信息通知指定所识别的端点(识别网络的路由器)的下一跳属性,并且该方法还包括通过ALTO服务器至少基于端点的下一跳将所识别的端点聚合进第一PID。
在一些实施方式中,网络包括多个自治系统,并且该方法还可包括通过ALTO服务器判定发起拓扑信息通知的多个自治系统中的一个;并且通过ALTO服务器至少基于发起拓扑信息通知的多个自治系统中的一个将所标识的端点聚合进第一PID。
在一些实施方式中,拓扑信息通知执行所标识的端点的一个或多个前缀属性,该方法还包括通过ALTO服务器至少基于所标识的端点的前缀属性将所识别的端点聚合进第一PID。
在一些实施方式中,该方法还可包括:利用ALTO服务器向表示PID的PID标识符来应用对所识别的端点的前缀属性之一进行映射的团体属性映射。
在一些实施方式中,该方法还可包括:利用ALTO服务器,分配前缀属性作为第一PID的PID属性;利用路由协议,接收附加拓扑信息通知,其中,附加拓扑信息通知包括用于表示附加的一个或多个端点的附加网络地址信息,并为附加端点指定附加的一个或多个前缀属性;利用ALTO服务器,当附加前缀属性与分配给第一PID的前缀属性匹配时,将附加端点聚合到第一PID中;并且,利用ALTO服务器,当附加前缀属性与分配给第一PID的前缀属性不匹配时,将附加端点聚合到PID中的第二个中。
在一些实施方式中,网络包括多个自治系统,并且该方法还包括:利用ALTO服务器,从拓扑信息通知确定至多个自治系统中的发起拓扑信息通知的一个的自治系统路径;以及利用ALTO服务器,至少基于该自治系统路径,将所识别的端点聚合到第一PID中。
在一些实施方式中,该方法还包括:利用ALTO服务器,接收用于包括ALTO服务器的自治系统的路由信息;至少基于该路由信息,利用ALTO服务器,为ALTO网络图的拓扑分组(PID)的一个或多个子组的组的一对计算ALTO开销,其中,PID组中的每一个与包括自治系统的网络的端点的不同子组相关;产生ALTO开销图,其包括指定该对PID的第一成员和第二成员之间的ALTO开销的条目;从ALTO服务器发送ALTO开销图至ALTO用户。
在一些实施方式中,利用路由协议接收路由信息可包括:利用内部网关协议,接收包括至自治系统内的一个或多个路由的链路的列表的一个或多个链路状态通知,其中,链路列表中的各链路包括用于该链路的相关指标。并且,该方法还可包括:存储链路列表至ALTO服务器的链路状态数据库,并在链路状态数据库上执行最短路径优先算法,以确定自治系统内路由器之间的指标。其中,为PID对计算ALTO开销包括:在该PID对中的第一成员的下一跳和该PID对中的第二成员的下一跳之间识别通过最短路径优先算法计算的指标。
在一些实施方式中,该PID对中的第一成员指定由包括ALTO服务器的自治系统通知的网络地址前缀,并且该PID对中的第二成员指定由网络的远程自治系统通知的网络地址前缀。并且该方法还包括:利用ALTO服务器,存储指定了用于遍历从网络的任意自治系统到网络的任意相邻自治系统的路径的ALTO开销的缺省AS间开销;利用ALTO服务器,确定从包括ALTO服务器的自治系统到远程自治系统的自治系统路径的长度;利用ALTO服务器,至少基于该自治系统路径的长度和缺省AS间开销,计算该PID对的AS间开销;利用ALTO服务器,至少基于路由信息,计算从该PID对的第一成员的下一跳到该PID对的第二成员的下一跳的AS内开销,其中,利用ALTO服务器计算ALTO开销包括:至少基于AS间开销和AS内开销来计算ALTO开销。
在一些实施方式中,利用ALTO服务器计算ALTO开销(利用ALTO服务器)可包括对AS间开销和AS内开销进行求和,并且,利用ALTO服务器计算该PID对的AS间开销可包括计算自治系统路径的长度和缺省AS间开销的乘积。
在一些实施方式中,该PID对的第一成员指定由网络的第一远程自治系统通知的网络地址前缀,并且该PID对的第二成员指定由网络的第二远程自治系统通知的网络地址前缀。该方法可还包括:利用ALTO服务器,存储指定了用以遍历从网络的一个自治系统到网络的相邻自治系统的路径开销的缺省AS间开销;利用ALTO服务器,确定从第一远程自治系统到第二远程自治系统的自治系统路径的长度,其中,利用ALTO服务器计算ALTO开销可包括至少基于该自治系统路径的长度和缺省AS间开销来计算ALTO开销。
在一些实施方式中,该方法还包括:接收包括ALTO服务器的自治系统的相邻自治系统的局部AS间开销图,其中,该PID对的第一成员指定由包括ALTO服务器的自治系统通知的网络地址前缀,并且该PID对的第二成员的下一跳指定由相邻自治系统通知的网络地址前缀,其中,局部AS间开销图指定相邻自治系统的PID的ALTO开销;利用ALTO服务器,至少基于路由信息,计算从该PID对的第一成员的下一跳到该PID对的第二成员的下一跳的本地AS内开销;利用ALTO服务器,使用局部AS间开销图,确定从相邻自治系统的边界路由器到发起用于由该PID对中的第二成员指定的网络地址前缀的路由信息的相邻自治系统的路由器的远程AS内开销,其中,边界路由器向该PID对的第一成员的下一跳通知由该PID对的第二成员指定的网络地址前缀;以及,利用ALTO服务器,存储指定了用以遍历从包括ALTO服务器的自治系统到相邻自治系统的路径开销的AS间开销,其中,利用ALTO服务器计算该PID对的ALTO开销包括至少基于本地AS内开销、远程AS内开销和AS间开销来计算ALTO开销。
一些实施方式在于其上编码有指令的计算机可读存储介质,该指令用于使一个或多个可编程处理器执行上述的任意方法。一些实施方式在于包括执行上述方法的装置的设备。
在一些实施方式中,应用层流量优化(ALTO)服务器执行路由协议以接收限定到网络的端点的路由的层3(L3)网络拓扑信息。该ALTO服务器还将端点聚合至一个或多个拓扑分组(PID)子组的组中,其中,各PID与端点的不同子组相关。ALTO服务器还利用路由协议接收指定了一个或多个路由并包括指定了一个或多个端点的网络地址信息的拓扑信息通知。ALTO服务器还将经确定的端点聚合进PID的第一组中。ALTO服务器还生成包括PID条目的ALTO网络图,以描述各PID。ALTO服务器还将ALTO网络图发送至ALTO客户机。
在一些实施方式中,拓扑信息通知为所识别的识别网络路由的端点指定下一跳属性,并且,至少基于端点的下一跳属性,ALTO服务器还将经确定的端点聚合进第一PID中。
在一些实施方式中,网络包括多个自治系统,并且ALTO服务器还确定多个自治系统中的发起拓扑信息通知的一个。并且,至少基于多个自治系统中的发起拓扑信息通知的一个,ALTO服务器还将经确定的端点聚合进第一PID中。
在一些实施方式中,拓扑信息通知指定经确定的端点的一个或多个前缀属性,并且,至少基于经确定的端点的前缀属性,ALTO服务器还将经确定的端点聚合进第一PID中。
在一些实施方式中,ALTO服务器还应用将经确定的端点的前缀属性中的一个映射至表示PID的PID标识符的团体属性图。
在一些实施方式中,ALTO服务器还将前缀属性分配作为第一PID的PID属性。利用路由协议,ALTO服务器还接收附加拓扑信息通知,其中,该附加拓扑信息通知包括表示附加的一个或多个端点的附加网络地址信息,并且指定附加端点的附加的一个或多个前缀属性。当附加前缀属性与分配给第一PID的前缀属性匹配时,ALTO服务器还将附加端点聚合进第一PID中。当附加前缀属性与分配给第一PID的前缀属性不匹配时,ALTO服务器还将附加端点聚合进PID中的第二个中。
在一些实施方式中,网络包括多个自治系统,并且ALTO服务器还从拓扑信息通知确定到多个自治系统中的发起拓扑信息通知的一个的自治系统路径。ALTO服务器还至少基于自治系统路径,将经识别的端点聚合进第一PID中。
在一些实施方式中,ALTO服务器还利用路由协议来接收包括ALTO服务器的自治系统的路由信息。ALTO服务器还至少基于该路由信息,计算ALTO网络图的拓扑分组(PID)的一个或多个子组的组中的一对的ALTO开销,其中,PID的组中的每个与包括自治系统的网络的端点的不同子组相关。ALTO服务器还生成包括指定该PID对的第一成员和第二成员之间的ALTO开销的条目的ALTO开销图。ALTO服务器还将ALTO开销图发送至ALTO客户机。
在一些实施方式中,通过利用内部网关协议来接收包括到一个或多个自治系统内的路由的链路列表的一个或多个链路状态信息,ALTO服务器还利用路由协议来接收路由信息,其中,链路列表中的各链路包括用于该链路的相关指标。ALTO服务器还将链路列表存储至链路状态数据库。ALTO服务器还在链路状态数据库上执行最短路径优先算法,以确定自治系统内的路由之间的指标。通过确定在该PID对的第一成员的下一跳和该PID对的第二成员的下一跳之间由最短路径优先算法计算的指标,ALTO服务器可计算该PID对的ALTO开销。
在一些实施方式中,该PID对的第一成员指定由包括ALTO服务器的自治系统通知的网络地址前缀,并且该PID对的第二成员指定由网络的远程自治系统通知的网络地址前缀。ALTO服务器还存储指定了用以遍历从网络的任意自治系统到网络的任意相邻自治系统的路径的ALTO开销的缺省AS间开销。ALTO服务器还确定从包括ALTO服务器的自治系统到远程自治系统的自治系统路径的长度。ALTO服务器还至少基于该自治系统路径的长度和缺省AS间开销来计算该PID对的AS间开销。ALTO服务器还至少基于路由信息来计算从该PID对的第一成员的下一跳到该PID对的第二成员的下一跳的AS内开销。至少基于AS间开销和AS内开销来计算ALTO开销,ALTO服务器可计算ALTO开销。
在一些实施方式中,ALTO服务器可通过对AS间开销和AS内开销进行求和来计算ALTO开销。ALTO服务器可通过计算自治系统路径的长度和缺省AS间开销的乘积来计算该PID对的AS间开销。
在一些实施方式中,该PID对的第一成员指定由网络的第一远程自治系统通知的网络地址前缀,并且该PID对的第二成员指定由网络的第二远程自治系统通知的网络地址前缀。ALTO服务器还存储指定了用以遍历从网络的一个自治系统到网络的相邻自治系统的路径开销的缺省AS间开销。ALTO服务器还确定从第一远程自治系统到第二远程自治系统的自治系统路径的长度。通过至少基于该自治系统路径的长度和缺省AS间开销来计算ALTO开销,ALTO服务器可计算ALTO开销。
在一些实施方式中,ALTO服务器还接收包括ALTO服务器的自治系统的相邻自治系统的局部AS间开销图,其中,该PID对的第一成员指定由包括ALTO服务器的自治系统通知的网络地址前缀,并且该PID对的第二成员的下一跳指定由相邻自治系统通知的网络地址前缀,其中,局部AS间开销图指定相邻自治系统的PID的ALTO开销。ALTO服务器还至少基于路由信息来计算从该PID对的第一成员的下一跳到该PID对的第二成员的下一跳的本地AS内开销。ALTO服务器还使用局部AS间开销图确定从相邻自治系统的边界路由器到发起用于由该PID对中的第二成员指定的网络地址前缀的路由信息的相邻自治系统的路由器的远程AS内开销,其中,边界路由器向该PID对的第一成员的下一跳通知由该PID对的第二成员指定的网络地址前缀。ALTO服务器还存储指定了用以遍历从包括ALTO服务器的自治系统到相邻自治系统的路径的开销的AS间开销,其中,至少基于本地AS内开销、远程AS内开销和AS间开销来计算ALTO开销,ALTO服务器可计算该PID对的ALTO开销。
并且,上述任一实施方式中的任意具体特征可被组合进所述技术的有益实施方式中。即,任意具体特征通常可应用于本发明的所有实施方式。已描述了本发明的各种实施方式。这些以及其他实施方式在所附权利要求的范围内。
Claims (14)
1.一种动态生成应用层流量优化协议图的方法,所述方法包括:
在应用层流量优化(ALTO)服务器上执行路由协议,以接收层3(L3)网络拓扑信息,所述层3网络拓扑信息限定了到一组网络端点的路由;
利用所述ALTO服务器,将所述一组端点聚合进拓扑分组(PID)的一个或多个子组的组中,其中,所述PID中的各PID与所述一组端点中的不同端点相关;
利用所述ALTO服务器,接收遵循所述路由协议并且指定了一个或多个路由并包括确定所述一组端点的多个端点的网络地址信息的拓扑信息通知,其中,所述拓扑信息通知包括指定边界网关协议(BGP)UPDATE消息,所述指定边界网关协议UPDATE消息为所确定的端点指定BGP团体属性值;
利用所述ALTO服务器,至少基于所确定的端点的BGP团体属性值将所确定的端点聚合进PID中的第一PID中;
利用所述ALTO服务器,生成包括描述各PID的不同PID条目的ALTO网络图;以及
将所述ALTO网络图从所述ALTO服务器发送至ALTO客户机。
2.根据权利要求1所述的方法,其中,所述拓扑信息通知指定了所确定的端点的下一跳属性,所述下一跳属性确定网络的路由,所述方法还包括:
利用所述ALTO服务器,至少基于所确定的端点的下一跳属性,将所确定的端点聚合进第一PID中。
3.根据权利要求1所述的方法,其中,所述网络包括多个自治系统,所述方法还包括:
利用所述ALTO服务器,确定所述多个自治系统中的发起所述拓扑信息通知的一个;以及
利用所述ALTO服务器,至少基于所述多个自治系统中的发起所述拓扑信息通知的一个,将所确定的端点聚合进第一PID中。
4.根据权利要求1所述的方法,其中,所述拓扑信息通知指定了所确定的端点的一个或多个前缀属性和所确定的端点的所述BGP团体属性值,并且所述方法还包括:
利用所述ALTO服务器,至少基于所确定的端点的前缀属性,将所确定的端点聚合进第一PID中。
5.根据权利要求4所述的方法,其中,聚合所确定的端点还包括:
利用所述ALTO服务器,应用团体属性图,所述团体属性图将所确定的端点的所述BGP团体属性值映射至表示第一PID的PID标识符。
6.根据权利要求1所述的方法,还包括:
利用所述ALTO服务器,分配所确定的端点的所述BGP团体属性值作为所述第一PID的PID属性;
利用所述路由协议,接收附加拓扑信息通知,其中,所述附加拓扑信息通知包括确定附加的一个或多个端点的附加网络地址信息,并且还对附加的端点指定附加BGP团体属性值;
利用所述ALTO服务器,当所述附加的端点的BGP团体属性值与所述第一PID的PID属性匹配时,将所述附加的端点聚合进所述第一PID中;以及
利用所述ALTO服务器,当所述附加的端点的BGP团体属性值与PID属性不匹配时,将所述附加的端点聚合进PID中的第二PID中。
7.根据权利要求1所述的方法,其中,所述网络包括多个自治系统,所述方法还包括:
利用所述ALTO服务器,从所述拓扑信息通知确定到所述多个自治系统中的发起所述拓扑信息通知的一个的自治系统路径;以及
利用所述ALTO服务器,至少基于所述自治系统路径,将所确定的端点聚合进第一PID中。
8.根据权利要求1所述的方法,还包括:
利用所述路由协议,接收包括所述ALTO服务器的自治系统的路由信息;
利用所述ALTO服务器,至少基于所述路由信息,计算ALTO网络图的PID的一对的ALTO开销,其中,该PID对包括第一成员和第二成员;
生成ALTO开销图,所述ALTO开销图包括指定该PID对中的所述第一成员和所述第二成员之间的ALTO开销的条目;以及
将所述ALTO开销图从所述ALTO服务器发送至ALTO客户机。
9.根据权利要求8所述的方法,
其中,利用所述路由协议接收路由信息包括:利用内部网关协议,接收包括到所述自治系统内的一个或多个路由器的链路的列表的一个或多个链路状态通知,其中,链路的列表中的各链路包括链路的相关指标,所述方法还包括:
将链路的列表存储至所述ALTO服务器的链路状态数据库;以及
在所述链路状态数据库上执行最短路径优先算法,以确定所述自治系统内的路由器之间的指标,
其中,计算所述PID对的所述ALTO开销包括:确定在该PID对的第一成员的下一跳和该PID对的第二成员的下一跳之间由最短路径优先算法计算的指标。
10.根据权利要求8所述的方法,
其中,所述PID对的第一成员指定由包括所述ALTO服务器的自治系统通知的网络地址前缀,并且该PID对的第二成员指定由网络的远程自治系统通知的网络地址前缀,所述方法还包括:
利用所述ALTO服务器,存储指定了遍历从网络的任意自治系统到网络的任意相邻自治系统的路径的ALTO开销的缺省AS间开销,其中,至少基于所述路由信息计算所述PID对的所述ALTO开销包括:
利用所述ALTO服务器,确定从包括所述ALTO服务器的自治系统到远程自治系统的自治系统路径的长度;
利用所述ALTO服务器,至少基于所述自治系统路径的长度和所述缺省AS间开销,计算该PID对的AS间开销;以及
利用所述ALTO服务器,至少基于所述路由信息,计算从该PID对的第一成员的下一跳到该PID对的第二成员的下一跳的AS内开销,
基于所述AS间开销和所述AS内开销来计算所述ALTO开销。
11.根据权利要求10所述的方法,
其中,利用所述ALTO服务器计算关于所述ALTO服务器的所述ALTO开销包括:对所述AS间开销和所述AS内开销进行求和,并且
其中,利用所述ALTO服务器计算该PID对的所述AS间开销包括:计算所述自治系统路径的长度和所述缺省AS间开销的乘积。
12.根据权利要求8所述的方法,
其中,该PID对的第一成员指定由网络的第一远程自治系统通知的网络地址前缀,并且该PID对的第二成员指定由网络的第二远程自治系统通知的网络地址前缀,所述方法还包括:
利用所述ALTO服务器,存储指定了遍历从网络的任意自治系统到网络的任意相邻自治系统的路径的开销的缺省AS间开销;
利用所述ALTO服务器,确定从所述第一远程自治系统到所述第二远程自治系统的自治系统路径的长度,
其中,利用所述ALTO服务器计算所述ALTO开销包括:至少基于所述自治系统路径的长度和所述缺省AS间开销来计算所述ALTO开销。
13.根据权利要求1所述的方法,其中,所述PID对包括第一PID对,所述方法还包括:
利用所述ALTO服务器至少基于所述路由信息计算第二PID对的ALTO开销,其中,所述第二PID对包括第一成员和第二成员;
接收包括所述ALTO服务器的自治系统的相邻自治系统的局部AS间开销图,其中,所述第二PID对的所述第一成员指定由包括所述ALTO服务器的自治系统通知的网络地址前缀,并且所述第二PID对的所述第二成员指定由所述相邻自治系统通知的网络地址前缀,其中,所述局部AS间开销图指定所述相邻自治系统的PID的ALTO开销;
利用所述ALTO服务器,至少基于所述路由信息,计算从所述第二PID对的所述第一成员的下一跳到所述第二PID对的所述第二成员的下一跳的本地AS内开销;
利用所述ALTO服务器,使用所述局部AS间开销图,确定从所述相邻自治系统的边界路由器到所述相邻自治系统的发起用于由所述第二PID对中的第二成员指定的网络地址前缀的路由信息的路由器的远程AS内开销,其中,所述边界路由器向所述第二PID对的所述第一成员的下一跳通知由所述第二PID对的所述第二成员指定的网络地址前缀;以及
其中,利用所述ALTO服务器计算所述第二对PID的ALTO开销包括:至少基于所述本地AS内开销、所述远程AS内开销和AS间开销来计算所述ALTO开销所述AS间开销来指定了遍历从包括所述ALTO服务器的自治系统到所述相邻自治系统的路径的开销。
14.一种动态生成应用层流量优化协议图的设备,所述设备包括:
用于在应用层流量优化(ALTO)服务器上执行路由协议,以接收层3(L3)网络拓扑信息的装置,其中所述层3网络拓扑信息限定了到一组网络端点的路由;
用于利用所述ALTO服务器,将所述一组端点聚合进拓扑分组(PID)的一个或多个子组的组中的装置,其中,所述PID中的各PID与所述一组端点中的不同端点相关;
用于利用所述ALTO服务器,接收遵循所述路由协议并且指定了一个或多个路由并包括确定所述一组端点的多个端点的网络地址信息的拓扑信息通知的装置,其中,所述拓扑信息通知包括指定边界网关协议(BGP)UPDATE消息,所述指定边界网关协议UPDATE消息为所确定的端点指定BGP团体属性值;
用于利用所述ALTO服务器,至少基于所确定的端点的BGP团体属性值将所确定的端点聚合进PID中的第一PID中的装置;
用于利用所述ALTO服务器,生成包括描述各PID的不同PID条目的ALTO网络图的装置;以及
用于将所述ALTO网络图从所述ALTO服务器发送至ALTO客户机的装置。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41879310P | 2010-12-01 | 2010-12-01 | |
US61/418,793 | 2010-12-01 | ||
US61/449,499 | 2011-03-03 | ||
US201161449499P | 2011-03-04 | 2011-03-04 | |
US13/110,987 | 2011-05-19 | ||
US13/110,987 US8700801B2 (en) | 2010-12-01 | 2011-05-19 | Dynamically generating application-layer traffic optimization protocol maps |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102571557A CN102571557A (zh) | 2012-07-11 |
CN102571557B true CN102571557B (zh) | 2015-01-21 |
Family
ID=45315532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110394013.8A Expired - Fee Related CN102571557B (zh) | 2010-12-01 | 2011-12-01 | 动态产生应用层流量优化协议图 |
Country Status (3)
Country | Link |
---|---|
US (3) | US8700801B2 (zh) |
EP (1) | EP2461547B1 (zh) |
CN (1) | CN102571557B (zh) |
Families Citing this family (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959139B2 (en) | 2010-05-28 | 2015-02-17 | Juniper Networks, Inc. | Application-layer traffic optimization service endpoint type attribute |
US8688775B2 (en) | 2010-05-28 | 2014-04-01 | Juniper Network, Inc. | Application-layer traffic optimization service spanning multiple networks |
FR2962620B1 (fr) * | 2010-07-08 | 2013-05-10 | Alcatel Lucent | Acces a un reseau de noeuds repartis sur une architecture de communication a l'aide d'un serveur de topologie avec selection multicriteres |
US9392056B2 (en) * | 2010-07-23 | 2016-07-12 | Nec Corporation | Method for operating a network and a network |
US8700801B2 (en) | 2010-12-01 | 2014-04-15 | Juniper Networks, Inc. | Dynamically generating application-layer traffic optimization protocol maps |
US8954491B1 (en) | 2010-12-30 | 2015-02-10 | Juniper Networks, Inc. | Dynamically generating application-layer traffic optimization protocol endpoint attributes |
US9019865B2 (en) | 2011-03-04 | 2015-04-28 | Juniper Networks, Inc. | Advertising traffic engineering information with the border gateway protocol |
ES2425627B1 (es) * | 2011-05-12 | 2014-05-05 | Telefónica, S.A. | Método y rastreador para distribución de contenido a través de una red de distribución de contenido |
US8559314B2 (en) | 2011-08-11 | 2013-10-15 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing OSPF in split-architecture networks |
US8750166B2 (en) * | 2011-09-23 | 2014-06-10 | Netsocket, Inc. | Route topology discovery in data networks |
US9391872B2 (en) * | 2011-09-23 | 2016-07-12 | Nectar Services Corp. | Route topology discovery in data networks |
US8787154B1 (en) | 2011-12-29 | 2014-07-22 | Juniper Networks, Inc. | Multi-topology resource scheduling within a computer network |
US8824274B1 (en) | 2011-12-29 | 2014-09-02 | Juniper Networks, Inc. | Scheduled network layer programming within a multi-topology computer network |
US8924508B1 (en) | 2011-12-30 | 2014-12-30 | Juniper Networks, Inc. | Advertising end-user reachability for content delivery across multiple autonomous systems |
US9106576B2 (en) * | 2012-01-13 | 2015-08-11 | Nec Laboratories America, Inc. | Policy-aware based method for deployment of enterprise virtual tenant networks |
US9350671B2 (en) | 2012-03-22 | 2016-05-24 | Futurewei Technologies, Inc. | Supporting software defined networking with application layer traffic optimization |
US20150134730A1 (en) * | 2012-04-30 | 2015-05-14 | Nec Europe Ltd. | Method for performing dns resolution in a network, content distribution system and client terminal for deployment in a content distribution system |
US8831019B2 (en) * | 2012-05-18 | 2014-09-09 | Renesys | Path reconstruction and interconnection modeling (PRIM) |
US9729424B2 (en) * | 2012-06-11 | 2017-08-08 | Futurewei Technologies, Inc. | Defining data flow paths in software-defined networks with application-layer traffic optimization |
US8750095B2 (en) * | 2012-06-26 | 2014-06-10 | Cisco Technology, Inc. | System and method for protection against edge node failure |
US10031782B2 (en) | 2012-06-26 | 2018-07-24 | Juniper Networks, Inc. | Distributed processing of network device tasks |
US8909736B1 (en) * | 2012-07-12 | 2014-12-09 | Juniper Networks, Inc. | Content delivery network referral |
US9137116B1 (en) | 2012-07-12 | 2015-09-15 | Juniper Networks, Inc. | Routing protocol interface for generalized data distribution |
CN103546516B (zh) * | 2012-07-16 | 2016-12-21 | 华为技术有限公司 | 生成聚合层网络图和聚合层开销图的方法及装置 |
CN102811256B (zh) * | 2012-07-19 | 2017-11-07 | 中兴通讯股份有限公司 | 一种实现应用层传输优化的方法及系统 |
CN102780776B (zh) * | 2012-07-19 | 2018-03-27 | 中兴通讯股份有限公司 | 应用层传输优化服务器发现方法及装置 |
CN102780775B (zh) * | 2012-07-19 | 2017-11-07 | 中兴通讯股份有限公司 | 一种实现应用层传输优化的方法及系统 |
EP2892188B1 (en) | 2012-09-25 | 2017-08-30 | Huawei Technologies Co., Ltd. | Method for determining packet forwarding path, network device and control device |
US20150256407A1 (en) * | 2012-10-03 | 2015-09-10 | Nec Corporation | Control apparatus, control method thereof, and program |
US9172579B2 (en) * | 2012-11-16 | 2015-10-27 | At&T Intellectual Property I, L.P. | Virtualization of control plane network elements |
US8711855B1 (en) | 2012-12-18 | 2014-04-29 | Juniper Networks, Inc. | Topology discovery, control channel establishment, and datapath provisioning within an aggregation network with centralized control |
US9100285B1 (en) | 2012-12-18 | 2015-08-04 | Juniper Networks, Inc. | Dynamic control channel establishment for software-defined networks having centralized control |
US9979595B2 (en) | 2012-12-18 | 2018-05-22 | Juniper Networks, Inc. | Subscriber management and network service integration for software-defined networks having centralized control |
US10212076B1 (en) * | 2012-12-27 | 2019-02-19 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping a node-scope specific identifier |
US10142390B2 (en) * | 2013-02-15 | 2018-11-27 | Nec Corporation | Method and system for providing content in content delivery networks |
EP2779702A1 (en) * | 2013-03-12 | 2014-09-17 | Alcatel Lucent | Optimization of application layer traffic carried by an IP connection over a mobile network |
US9450817B1 (en) | 2013-03-15 | 2016-09-20 | Juniper Networks, Inc. | Software defined network controller |
EP2784994A1 (en) * | 2013-03-28 | 2014-10-01 | British Telecommunications public limited company | Multicast routing system and method |
CN104158736B (zh) * | 2013-05-15 | 2017-12-22 | 华为技术有限公司 | 一种确定下一跳、发布路由信息的方法和装置 |
CN104158737B (zh) | 2013-05-15 | 2017-07-28 | 华为技术有限公司 | 一种控制路由信息发布的方法、装置和系统 |
US9826025B2 (en) | 2013-05-21 | 2017-11-21 | Cisco Technology, Inc. | Chaining service zones by way of route re-origination |
US9438507B2 (en) | 2013-05-31 | 2016-09-06 | Cisco Technology, Inc. | Routing aggregation and prefix delegation |
US9455959B1 (en) * | 2013-05-31 | 2016-09-27 | Parallel Wireless, Inc. | Method of connecting security gateway to mesh network |
US20140355476A1 (en) * | 2013-06-03 | 2014-12-04 | Glen J. Anderson | Systems and methods for mesh network deployment |
US9509614B2 (en) | 2013-06-20 | 2016-11-29 | Cisco Technology, Inc. | Hierarchical load balancing in a network environment |
EP3002918B1 (en) * | 2013-06-28 | 2019-08-14 | Huawei Technologies Co., Ltd. | Time-based service processing method and device |
US9577925B1 (en) | 2013-07-11 | 2017-02-21 | Juniper Networks, Inc. | Automated path re-optimization |
US9819436B2 (en) | 2013-08-26 | 2017-11-14 | Coriant Operations, Inc. | Intranodal ROADM fiber management apparatuses, systems, and methods |
US9998354B2 (en) | 2013-09-24 | 2018-06-12 | Netflix, Inc. | Server selection for content distribution |
US10193801B2 (en) | 2013-11-25 | 2019-01-29 | Juniper Networks, Inc. | Automatic traffic mapping for multi-protocol label switching networks |
EP2908500B1 (en) * | 2014-02-14 | 2018-11-21 | Alcatel Lucent | Method for providing information in a communications network |
EP2922252B1 (en) * | 2014-03-21 | 2017-09-13 | Juniper Networks, Inc. | Selectable service node resources |
US20150295815A1 (en) * | 2014-04-14 | 2015-10-15 | Cisco Technology, Inc., A Corporation Of California | Autonomous System (AS) Policy-Adaptive Confederations with Selective Advertisement of AS Numbers to Non-Members |
US9705815B2 (en) | 2014-06-27 | 2017-07-11 | Juniper Networks, Inc. | Graph database for services planning and configuration in network services domain |
US9578028B2 (en) | 2014-06-27 | 2017-02-21 | Juniper Networks, Inc. | Subscriber management using a restful interface |
US9507932B2 (en) * | 2014-09-12 | 2016-11-29 | Alcatel Lucent | Policy enforcement in a topology abstraction system |
US9667499B2 (en) | 2014-09-12 | 2017-05-30 | Alcatel Lucent | Sparsification of pairwise cost information |
CN104270312B (zh) * | 2014-09-25 | 2017-06-20 | 东北大学 | 支持流量优化和应用感知的中继路径分配系统及方法 |
US9634928B2 (en) | 2014-09-29 | 2017-04-25 | Juniper Networks, Inc. | Mesh network of simple nodes with centralized control |
US11032138B2 (en) * | 2014-10-22 | 2021-06-08 | Level 3 Communications, Llc | Managing traffic control in a network mitigating DDOS |
US10447590B2 (en) | 2014-11-20 | 2019-10-15 | Oath Inc. | Systems and methods for dynamic connection paths for devices connected to computer networks |
US9998247B1 (en) | 2014-12-30 | 2018-06-12 | Juniper Networks, Inc. | Controller-based network device timing synchronization |
WO2016123561A1 (en) * | 2015-01-30 | 2016-08-04 | Silver Spring Networks, Inc. | Techniques for managing heterogeneous nodes configured to support a homogeneous communication protocol |
US10897763B2 (en) * | 2015-01-30 | 2021-01-19 | Itron Networked Solutions, Inc. | Techniques for managing heterogenous nodes configured to support a homogeneous communication protocol |
US10298493B2 (en) * | 2015-01-30 | 2019-05-21 | Metaswitch Networks Ltd | Processing route data |
EP3306874B1 (en) * | 2015-07-06 | 2019-11-13 | Huawei Technologies Co., Ltd. | Controller device and border routers |
US9843498B2 (en) | 2015-07-20 | 2017-12-12 | Cisco Technology, Inc. | Attribute set—ID in border gateway protocol |
US9942145B2 (en) * | 2015-07-20 | 2018-04-10 | Cisco Technology, Inc. | Attribute SET_ID in border gateway protocol |
CN106411553B (zh) * | 2015-08-03 | 2020-01-07 | 中国移动通信集团公司 | 一种业务链路径的优化方法及装置 |
US10992739B2 (en) * | 2016-01-25 | 2021-04-27 | Vmware, Inc. | Integrated application-aware load balancer incorporated within a distributed-service-application-controlled distributed computer system |
WO2017131783A1 (en) * | 2016-01-29 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Managing groups of servers |
US10320617B2 (en) * | 2016-09-12 | 2019-06-11 | Illumio, Inc. | Representation of servers in a distributed network information management system for efficient aggregation of information |
US10263882B2 (en) * | 2016-10-31 | 2019-04-16 | Riverbed Technology, Inc. | Dynamically influencing route re-distribution between an exterior gateway protocol and an interior gateway protocol |
CN106878186B (zh) | 2017-02-04 | 2019-11-29 | 华为技术有限公司 | 网络中路由更新的方法、网络设备和系统 |
US10389635B2 (en) | 2017-05-31 | 2019-08-20 | Juniper Networks, Inc. | Advertising selected fabric paths for service routes in virtual nodes |
US10382333B2 (en) | 2017-05-31 | 2019-08-13 | Juniper Networks, Inc. | Fabric path context-based forwarding for virtual nodes |
US10432523B2 (en) * | 2017-05-31 | 2019-10-01 | Juniper Networks, Inc. | Routing protocol signaling of multiple next hops and their relationship |
US10476817B2 (en) | 2017-05-31 | 2019-11-12 | Juniper Networks, Inc. | Transport LSP setup using selected fabric path between virtual nodes |
US10659352B2 (en) | 2017-05-31 | 2020-05-19 | Juniper Networks, Inc. | Signaling private context forwarding tables for a private forwarding layer |
JP6936673B2 (ja) * | 2017-09-20 | 2021-09-22 | 株式会社アイシン | 地図データ更新システムおよび地図データ更新プログラム |
US10917334B1 (en) * | 2017-09-22 | 2021-02-09 | Amazon Technologies, Inc. | Network route expansion |
CN108259331B (zh) * | 2017-12-14 | 2021-03-02 | 新华三技术有限公司 | 路由发布方法及装置 |
US10778563B1 (en) * | 2018-03-22 | 2020-09-15 | Amazon Technologies, Inc. | Brick identifier attribute for routing in multi-tier computer networks |
GB201808493D0 (en) | 2018-05-23 | 2018-07-11 | Nchain Holdings Ltd | Computer-Implemented System and Method |
US10721168B1 (en) * | 2019-03-15 | 2020-07-21 | Juniper Networks, Inc. | Utilizing constraint optimization for egress peer engineering to determine optimized traffic plans and to implement an optimized traffic plan |
US10958561B1 (en) * | 2019-03-25 | 2021-03-23 | Juniper Networks, Inc. | Utilizing egress peer engineering to determine optimized traffic plans and to implement an optimized traffic plan |
US11451464B2 (en) * | 2019-05-13 | 2022-09-20 | 128 Technology, Inc. | Central authority for service and topology exchange |
US11329912B2 (en) | 2019-05-13 | 2022-05-10 | 128 Technology, Inc. | Source-based routing |
US10999182B2 (en) | 2019-05-13 | 2021-05-04 | 128 Technology, Inc. | Routing using segment-based metrics |
US11070465B2 (en) | 2019-05-13 | 2021-07-20 | 128 Technology, Inc. | Distribution of multicast information in a routing system |
US11153202B2 (en) * | 2019-05-13 | 2021-10-19 | 128 Technology, Inc. | Service and topology exchange protocol |
US11005749B2 (en) | 2019-05-13 | 2021-05-11 | 128 Technology, Inc. | Multicast source and receiver access control |
CN110278150B (zh) * | 2019-06-02 | 2020-05-19 | 北京航空航天大学 | 一种基于边缘节点请求信息特征的域间聚合路径分析方法 |
US11863445B1 (en) * | 2019-09-25 | 2024-01-02 | Juniper Networks, Inc. | Prefix range to identifier range mapping |
US11627158B2 (en) * | 2019-11-22 | 2023-04-11 | Level 3 Communications, Llc | Mitigation of route hijacking techniques in a network |
CN111163440B (zh) * | 2020-01-19 | 2023-07-04 | 合肥工业大学 | 通信干扰下无人机协同态势感知网络快速重构方法和装置 |
US11240730B2 (en) * | 2020-02-28 | 2022-02-01 | At&T Intellectual Property I, L.P. | Selectively sending routing information to routing devices in a fifth generation (5G) or other next generation network |
EP4173237A1 (en) | 2020-06-24 | 2023-05-03 | Juniper Networks, Inc. | Layer-2 network extension over layer-3 network using layer-2 metadata |
CN113612684B (zh) * | 2020-08-11 | 2022-09-20 | 北京航空航天大学 | 一种基于二分查找的域间路径标识前缀匹配方法 |
US11528190B2 (en) | 2020-09-29 | 2022-12-13 | Juniper Networks, Inc. | Configuration data migration for distributed micro service-based network applications |
US11870678B2 (en) * | 2021-02-25 | 2024-01-09 | Nokia Solutions And Networks Oy | Configuring routes based on passive monitoring of advertisements to route reflector |
US11601336B2 (en) | 2021-05-18 | 2023-03-07 | Google Llc | Assigning routing paths based on interior gateway protocol metric optimization |
US12095653B2 (en) * | 2021-06-15 | 2024-09-17 | Applied Materials, Inc. | Router architecture for multi-dimensional topologies in on-chip and on-package networks |
CN113778710B (zh) * | 2021-09-01 | 2024-04-02 | 杭州视洞科技有限公司 | 一种网关树形执行链 |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3175826B2 (ja) | 1998-11-24 | 2001-06-11 | 日本電気株式会社 | ネットワーク構成方法およびネットワーク管理ノード |
US7327683B2 (en) | 2000-03-16 | 2008-02-05 | Sri International | Method and apparatus for disseminating topology information and for discovering new neighboring nodes |
US7162539B2 (en) | 2000-03-16 | 2007-01-09 | Adara Networks, Inc. | System and method for discovering information objects and information object repositories in computer networks |
US20020062310A1 (en) | 2000-09-18 | 2002-05-23 | Smart Peer Llc | Peer-to-peer commerce system |
US20020128768A1 (en) | 2001-03-09 | 2002-09-12 | Nobuyuki Nakano | Route guide information distributing system |
US7289456B2 (en) | 2002-04-08 | 2007-10-30 | Telcordia Technologies, Inc. | Determining and provisioning paths within a network of communication elements |
US20050068968A1 (en) * | 2003-09-30 | 2005-03-31 | Shlomo Ovadia | Optical-switched (OS) network to OS network routing using extended border gateway protocol |
US7599349B2 (en) | 2004-01-29 | 2009-10-06 | Cisco Technology, Inc. | Computing inter-autonomous system MPLS traffic engineering LSP paths |
US7398081B2 (en) | 2004-02-04 | 2008-07-08 | Modu Ltd. | Device and system for selective wireless communication with contact list memory |
US7904930B2 (en) | 2004-10-14 | 2011-03-08 | Microsoft Corporation | Broadcast content delivery systems and methods |
US7978708B2 (en) * | 2004-12-29 | 2011-07-12 | Cisco Technology, Inc. | Automatic route tagging of BGP next-hop routes in IGP |
US7664013B2 (en) * | 2005-02-28 | 2010-02-16 | Cisco Technology, Inc. | Loop prevention technique for MPLS using service labels |
US7814227B2 (en) | 2005-03-04 | 2010-10-12 | Cisco Technology, Inc. | Computation of a shortest inter-domain TE-LSP across a set of autonomous systems |
US7408941B2 (en) * | 2005-06-14 | 2008-08-05 | Cisco Technology, Inc. | Method for auto-routing of multi-hop pseudowires |
US7716662B2 (en) | 2005-06-22 | 2010-05-11 | Comcast Cable Holdings, Llc | System and method for generating a set top box code download step sequence |
US20060291446A1 (en) * | 2005-06-24 | 2006-12-28 | Donald Caldwell | Systems, methods, and devices for managing routing |
US7496663B2 (en) | 2005-08-29 | 2009-02-24 | International Business Machines Corporation | System and method for detecting status changes in a network using virtual coordinate mapping |
US7920572B2 (en) * | 2005-09-20 | 2011-04-05 | Cisco Technology, Inc. | Modifying operation of peer-to-peer networks based on integrating network routing information |
US7710872B2 (en) | 2005-12-14 | 2010-05-04 | Cisco Technology, Inc. | Technique for enabling traffic engineering on CE-CE paths across a provider network |
US7630325B1 (en) | 2005-12-28 | 2009-12-08 | At&T Corp. | Methods for reconciling trunk group identification information among various telecommunication network management systems |
US7865615B2 (en) * | 2006-05-08 | 2011-01-04 | Cisco Technology, Inc. | Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol |
US8160056B2 (en) * | 2006-09-08 | 2012-04-17 | At&T Intellectual Property Ii, Lp | Systems, devices, and methods for network routing |
JP5075443B2 (ja) | 2007-03-27 | 2012-11-21 | アイシン・エィ・ダブリュ株式会社 | 道路地図データ生成装置、ナビゲーション装置、及び道路地図データ生成プログラム |
US7756027B1 (en) | 2007-06-13 | 2010-07-13 | Juniper Networks, Inc. | Automatic configuration of virtual network switches |
US8531941B2 (en) * | 2007-07-13 | 2013-09-10 | Cisco Technology, Inc. | Intra-domain and inter-domain bridging over MPLS using MAC distribution via border gateway protocol |
US8953486B2 (en) * | 2007-11-09 | 2015-02-10 | Cisco Technology, Inc. | Global auto-configuration of network devices connected to multipoint virtual connections |
US8239256B2 (en) | 2008-03-17 | 2012-08-07 | Segmint Inc. | Method and system for targeted content placement |
CN101651703A (zh) | 2008-08-14 | 2010-02-17 | 北京摩软科技有限公司 | 一种由移动终端向服务器发起业务请求的方法和系统 |
US8300532B1 (en) | 2008-09-23 | 2012-10-30 | Juniper Networks, Inc. | Forwarding plane configuration for separation of services and forwarding in an integrated services router |
ES2341214B1 (es) | 2008-12-15 | 2011-05-24 | Telefonica, S.A. | Metodo y sistema para identificar y caracterizar el impacto de incidencias en red sobre los servicios de telecomunicacion ofrecidos a usuario. |
US8285829B2 (en) | 2008-12-22 | 2012-10-09 | At&T Intellectual Property I, L.P. | Method and apparatus for providing peer selection in a network |
US8089897B2 (en) * | 2009-02-25 | 2012-01-03 | At&T Intellectual Property I, L.P. | VPN intelligent route service control point trouble diagnostics |
US20100293294A1 (en) | 2009-05-15 | 2010-11-18 | Alcatel-Lucent Usa Inc. | Peer-to-peer communication optimization |
CN101895482A (zh) * | 2009-05-18 | 2010-11-24 | 华为技术有限公司 | 对点到点技术网络的逻辑拓扑信息进行抽象的方法和装置 |
US8179801B2 (en) * | 2009-06-09 | 2012-05-15 | Cisco Technology, Inc. | Routing-based proximity for communication networks |
US20110078230A1 (en) | 2009-09-25 | 2011-03-31 | Emilio Sepulveda | Method and system for providing a cdn with granular quality of service |
EP2320624A1 (en) | 2009-11-06 | 2011-05-11 | Alcatel Lucent | Method for managing a P2P network based on cellular communications |
US20110138469A1 (en) | 2009-12-03 | 2011-06-09 | Recursion Software, Inc. | System and method for resolving vulnerabilities in a computer network |
US8175006B2 (en) * | 2009-12-08 | 2012-05-08 | At&T Intellectual Property I, L.P. | Multi-path load balancing using route controller |
US9386093B2 (en) | 2010-02-17 | 2016-07-05 | Deutsche Telekom Ag | Price-aware neighborhood selection for peer-to-peer networks |
CN102223292A (zh) | 2010-04-14 | 2011-10-19 | 华为技术有限公司 | 一种节点选择方法及网络设备、系统 |
US20110258257A1 (en) * | 2010-04-20 | 2011-10-20 | Cisco Technology, Inc. | Proximity aggregated network topology algorithm (panta) |
US8271656B2 (en) | 2010-05-04 | 2012-09-18 | Alcatel Lucent | Decreasing latency in anonymity networks |
US8959139B2 (en) | 2010-05-28 | 2015-02-17 | Juniper Networks, Inc. | Application-layer traffic optimization service endpoint type attribute |
US8688775B2 (en) | 2010-05-28 | 2014-04-01 | Juniper Network, Inc. | Application-layer traffic optimization service spanning multiple networks |
US8700801B2 (en) | 2010-12-01 | 2014-04-15 | Juniper Networks, Inc. | Dynamically generating application-layer traffic optimization protocol maps |
US8954491B1 (en) | 2010-12-30 | 2015-02-10 | Juniper Networks, Inc. | Dynamically generating application-layer traffic optimization protocol endpoint attributes |
US8472205B2 (en) | 2010-12-30 | 2013-06-25 | Research In Motion Limited | Adaptive printed circuit board connector |
US9178796B2 (en) | 2013-06-28 | 2015-11-03 | Cisco Technology, Inc. | Multi-layer stateful path computation element architecture |
-
2011
- 2011-05-19 US US13/110,987 patent/US8700801B2/en not_active Expired - Fee Related
- 2011-11-30 EP EP11191369.5A patent/EP2461547B1/en not_active Not-in-force
- 2011-12-01 CN CN201110394013.8A patent/CN102571557B/zh not_active Expired - Fee Related
-
2014
- 2014-04-14 US US14/252,526 patent/US9413847B2/en not_active Expired - Fee Related
-
2016
- 2016-08-08 US US15/231,525 patent/US20160352631A1/en not_active Abandoned
Non-Patent Citations (2)
Title |
---|
ALIMI R 等.ALTO Protocol * |
draft-ietf-alto-protocol-06.txt.《IETF》.2010,第2-4.3、7节. * |
Also Published As
Publication number | Publication date |
---|---|
US20140229581A1 (en) | 2014-08-14 |
EP2461547A1 (en) | 2012-06-06 |
CN102571557A (zh) | 2012-07-11 |
US20160352631A1 (en) | 2016-12-01 |
US20120144066A1 (en) | 2012-06-07 |
US8700801B2 (en) | 2014-04-15 |
EP2461547B1 (en) | 2014-05-14 |
US9413847B2 (en) | 2016-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102571557B (zh) | 动态产生应用层流量优化协议图 | |
CN109257278B (zh) | 用于非分段路由启用的路由器的分段路由标签交换路径方法 | |
US10135683B1 (en) | Dynamically generating application-layer traffic optimization protocol endpoint attributes | |
CN101133408B (zh) | 穿过一组自治系统的最短域间流量工程标签交换路径计算 | |
US8924508B1 (en) | Advertising end-user reachability for content delivery across multiple autonomous systems | |
CN101036355A (zh) | 具有igp扩展的域间te-lsp | |
WO2006052672A2 (en) | System and method for retrieving computed paths from a path computation element using a path key | |
CN101036134A (zh) | 用于域间te-lsp的rsvp-te中的路由信息的传播 | |
CN103477612A (zh) | 经扩展以连接网络层级的云服务控制和管理架构 | |
US11695688B2 (en) | Computing segment identifier lists for multipaths in a segment routing-enabled network | |
US11516114B2 (en) | Bandwidth constraint for multipath segment routing | |
US11418428B2 (en) | Recomputation of multipaths in a segment routing-enabled network | |
CN101141376B (zh) | 建立te路径的方法、路径计算设备和系统 | |
CN101155119B (zh) | 一种确定自治系统边界节点的方法、装置及路径计算方法 | |
US10554543B1 (en) | Migrating data traffic between label switched paths (LSPs) based on per-LSP protocol priority value | |
CN104348744A (zh) | 一种路径计算方法及路径计算单元 | |
CN114567594A (zh) | 大规模网络中用于路径计算的过滤拓扑 | |
Ramirez et al. | Exploring potential implementations of PCE in IoT world | |
Kim et al. | Implementation of inter-domain path computation element | |
Ali | Offline constraint-based routing in OSPF networks: a server based study |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150121 Termination date: 20181201 |