CN102318288B - 节点排序与选取方法、装置及系统 - Google Patents
节点排序与选取方法、装置及系统 Download PDFInfo
- Publication number
- CN102318288B CN102318288B CN201180001139.2A CN201180001139A CN102318288B CN 102318288 B CN102318288 B CN 102318288B CN 201180001139 A CN201180001139 A CN 201180001139A CN 102318288 B CN102318288 B CN 102318288B
- Authority
- CN
- China
- Prior art keywords
- destination node
- address
- path cost
- node address
- cost value
- 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/02—Topology update or discovery
- H04L45/033—Topology update or discovery by updating distance vector protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种节点排序与选取方法、装置及系统。排序方法包括:接收节点选取装置发送的节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数;确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值;根据所述路径开销值对所述至少两个目标节点地址进行排序,生成排序结果,所述排序结果包含最优的目标节点地址;向所述节点选取装置返回所述排序结果,以使用户终端将服务请求发送到所述最优的目标节点地址。本发明实施例可以灵活地根据不同方向的路由信息对目标节点地址排序,使得最优节点的选取可以满足实际应用情况需求。
Description
技术领域
本发明实施例涉及通信技术领域,尤其是一种节点排序与选取方法、装置及系统。
背景技术
全局服务器负载均衡(Global Server Load Balance,简称GSLB)技术是内容分发网络(Content Delivery Network,简称CDN)的一项关键技术,即利用GSLB技术将用户的请求智能地分配到离用户最近的CDN节点上。GSLB技术从实现上目前有两大类:一类是基于应用层探测技术的,另一类是基于网络路由拓扑的。基于网络路由拓扑的技术是通过监听网络中的路由协议,建立网络路由拓扑图,通过网络路由拓扑计算哪个CDN节点离用户最近,从而选择该CDN节点向用户提供服务。
应用层流量优化(Application-Layer Traffic Optimization,简称ALTO)技术提出了,网络运营商对应用层提供查询接口,在不泄露敏感网络拓扑的情况下,提供节点的排序和选取信息。
结合基于网络路由拓扑的GSLB和ALTO两类技术,通常的基于网络拓扑和路由信息进行节点排序和选取的方案中,部署在自治域(AutonomousSystem,简称AS)内的网络定位服务器(Network Positioning Server,简称NPS)为该AS内的用户提供服务,NPS收集该AS内的边界网关协议(BorderGateway Protocol,简称BGP)和内部网关协议(Interior Gateway Protocol,简称IGP)路由信息,基于此路由信息对从用户地址到多个CDN节点地址的路由信息进行比较,进而选取最优的CDN节点地址。
在实现本发明的过程中,发明人发现:上述现有技术中的节点排序和选取的方案不准确,选取的最优节点可能偏离了实际应用情况。
发明内容
本发明实施例提供一种节点排序与选取方法、装置及系统,用以解决现有的节点排序和选取的方案不准确,选取的最优节点可能偏离了实际应用情况的问题。
一方面,本发明实施例提供了一种节点排序方法,包括:
接收节点选取装置发送的节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址;
确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值;
根据所述路径开销值对所述至少两个目标节点地址进行排序,生成排序结果,所述排序结果包含最优的目标节点地址;
向所述节点选取装置返回所述排序结果,以使所述用户终端将服务请求发送到所述最优的目标节点地址。
另一方面,本发明实施例提供了一种节点选取方法,包括:
接收用户终端的服务请求,所述服务请求的源地址为所述用户终端的地址;
根据所述服务请求确定至少两个目标节点地址和流量方向,生成节点排序请求,所述节点排序请求包含所述源地址、至少两个目标节点地址和方向参数,所述方向参数与所述流量方向对应;
将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序;
接收所述节点排序装置返回的排序结果,按照所述排序结果选取最优的目标节点地址;
将所述最优的目标节点地址返回所述用户终端,以使所述用户终端将所述服务请求发送到所述最优的目标节点地址。
另一方面,本发明实施例提供了一种节点选取方法,包括:
生成节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址,所述方向参数与服务请求的流量方向对应;
将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序;
接收所述节点排序装置返回的排序结果,按照所述排序结果选取最优的目标节点地址;
将所述服务请求发送到所述最优的目标节点地址。
另一方面,本发明实施例提供了一种节点排序装置,包括:
接收器,用于接收节点选取装置发送的节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址;
确定模块,用于确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值;
排序模块,用于根据所述路径开销值对所述至少两个目标节点地址进行排序,生成排序结果,所述排序结果包含最优的目标节点地址;
发送器,用于向所述节点选取装置返回所述排序结果,以使所述用户终端将服务请求发送到所述最优的目标节点地址。
另一方面,本发明实施例还提供了一种节点选取装置,包括:
第一接口,用于接收用户终端的服务请求,所述服务请求的源地址为所述用户终端的地址;
第一请求模块,用于根据所述服务请求确定至少两个目标节点地址和流量方向,生成节点排序请求,所述节点排序请求包含所述源地址、至少两个目标节点地址和方向参数,所述方向参数与所述流量方向对应;
第二接口,用于将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序,接收所述节点排序装置返回的排序结果;
节点选取模块,用于按照所述排序结果选取最优的目标节点地址;
所述第一接口模块还用于,将所述最优的目标节点地址返回所述用户终端,以使所述用户终端将所述服务请求发送到所述最优的目标节点地址。
另一方面,本发明实施例还提供了一种节点选取装置,包括:
第二请求模块,用于生成节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址,所述方向参数与所述服务请求的流量方向对应;
第三接口,用于将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序;接收所述节点排序装置返回的排序结果;
重定向模块,用于按照所述排序结果选取最优的目标节点地址,将所述服务请求发送到所述最优的目标节点地址。
再一方面,本发明实施例还提供了一种节点排序与选取系统,包括:如上所述的节点排序装置和如上所述的节点选取装置。
以上多个技术方案中的一个技术方案具有如下优点或有益效果:
本发明实施例采用了根据源地址和至少两个目标节点地址之间在节点排序请求包含的方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序以使用户终端将服务请求发送到最优的目标节点地址的技术手段,可以灵活地根据不同方向的路由信息对目标节点排序,使得最优节点的选取可以满足实际应用情况需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的基于网络拓扑和路由信息进行节点排序和选取的方案的应用示意图。
图2为本发明实施例提供的一种节点排序方法实施例一的流程示意图。
图3为本发明实施例提供的一种节点排序方法实施例二的流程示意图。
图4为图3所示实施例的一种应用示意图。
图5为图3所示实施例的又一种应用示意图。
图6为图3所示实施例的又一种应用示意图。
图7为图3所示实施例的又一种应用示意图。
图8为本发明实施例提供的一种节点选取方法实施例一的流程示意图。
图9为本发明实施例提供的一种节点选取方法实施例二的流程示意图。
图10为本发明实施例提供的一种节点排序装置实施例一的结构示意图。
图11为本发明实施例提供的一种节点排序装置实施例二的结构示意图。
图12为本发明实施例提供的一种节点选取装置实施例一的结构示意图。
图13为本发明实施例提供的一种节点选取装置实施例二的结构示意图。
图14为本发明实施例提供的一种节点排序与选取系统实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
CDN是构筑在现有因特网(Internet)上的一种流量分配网络。它将网站原服务器中的内容存储到分布在各地的缓存服务器中,将用户的请求自动指向可用且距离最近的缓存服务器上,以便提高访问的响应速度和服务的可用性。CDN的目的是解决因特网拥塞状况,提高用户访问网站的响应速度,如同提供了多个分布在各地的克隆站点一样。
CDN采用GBSL技术,根据实际的流量和负荷状况,将用户的请求在不同服务器之间合理分配,将网站信息分布到离用户最近的服务器上。在CDN中,应用GSLB技术减轻了原服务器的负担,提高了信息流动的效率。由于选取的CDN节点靠近用户,提高了用户访问的响应速度,提升了用户的满意度,尤其对一些带宽需求大、网络延时要求高的应用,如视频应用,明显提升了用户感受。GSLB技术主要基于域名服务(Domain Name Service,简称DNS)的迭代查找技术,利用DNS系统找到可服务的多个CDN节点,然后从中选择最优的节点为用户服务。基于应用层探测技术的GSLB由CDN节点定期地进行探测,如通过因特网包探索器(Packet Internet Groper,简称PING)、路由追踪(traceroute)等探测,得到CDN节点离用户的入网点(Point of Presence,简称POP)的距离和开销,使得GSLB服务器可以根据用户的地址从CDN节点中选取距离最近,开销最小的节点进行服务。基于网络路由拓扑的GSLB技术是通过监听网络中的路由协议,建立网络路由拓扑图,通过网络路由拓扑计算哪个CDN节点离用户最近,从而选择该CDN节点向用户提供服务。
通常的基于网络拓扑和路由信息进行节点排序和选取的方案如图1所示,主要包括以下步骤:
步骤101、NPS收集网络拓扑和路由信息;
步骤102、用户终端发出超文本传输协议(HyperText TransferProtocol,简称HTTP)请求,该HTTP请求的源地址,即用户终端的地址,为S_IP;
步骤103、业务路由器根据该HTTP请求,确定该HTTP请求对应的内容分布在两个CDN节点:目标节点1和目标节点2,目标节点1和目标节点2的地址分别为T_IP1和T_IP2,业务路由器向NPS发出排序请求,该排序请求中携带有HTTP请求的源地址S_IP和两个目标节点地址T_IP1、T_IP2;
步骤104、NPS根据收集的路由信息,计算从S_IP到T_IP1和从S_IP到T_IP2的路径开销值(cost),根据对应的路径开销值对T_IP1、T_IP2的优先级进行排序,假设T_IP2更优,向业务路由器返回排序结果;这里的排序结果中可以包含按照与业务路由器约定的顺序排列的T_IP1、T_IP2以指示T_IP2更优,也可以仅包含T_IP2;
步骤105、业务路由器根据NPS返回的排序结果,选取T_IP2对应的目标节点2为最优节点,向用户终端返回重定向应答,提示用户终端将HTTP请求发往目标节点2;
步骤106、用户终端从目标节点2获取内容。
步骤104中NPS主要根据以下三类路由信息计算路径开销值:
1)BGP团体(community)属性
在BGP中,可以在路由前缀中配置一些自定义的团体属性,代表该路由是一个路由团体中的一员,该路由团体具有某种或多种相同的特征。举例来说,可以对以同一网络位置,如同一POP下的IP地址前缀为目的地址的路由前缀都配置同一个团体属性值。
2)BGP路由信息
BGP路由信息关系到BGP的最优路径(best path)选取,具体的,根据BGP路由信息确定跨越的AS个数,跨越的AS个数越多,优先级越低。
3)IGP路由信息
IGP路由信息关系到IGP路由的路由度量(metric),metric值越大,表示路径开销值越大,优先级越低。
综合上述三个方面的因素,可以得到从用户地址S_IP到目标节点地址T_IP1、T_IP2的路径开销值。例如,源路由是NPS以源地址S_IP作为目的地址查找到的路由,以PSA表示,目标路由是NPS以目标节点地址T_IP1或T_IP2作为目的地址查找到的路由,以PTA表示,用以下公式得到从源地址到目标节点地址的路径开销值:
rating(PSA,PTA)=2^31*comm_match(PSA,PTA)+2^24*AS_path_len(PTA)+IGP_rating(PSA,PTA)
其中,rating(PSA,PTA)为从源地址到目标节点地址的路径开销值;comm_match(PSA,PTA)为源路由与目标路由的团队属性匹配值,若源路由与目标路由的团队属性相同则该值为0,否则该值为1。AS_path_len(PTA)为目标路由跨越的AS数。若目标路由是IGP路由,该值为0。IGP_rating(PSA,PTA)为目标路由为IGP路由情况下,源地址到目标节点地址的metric值。从源地址到目标节点地址的路径开销值越小,该目标节点地址的优先级越高。
假设PTA1为以目标节点地址T_IP1作为目的地址查找到的路由,PTA2为以目标节点地址T_IP2作为目的地址查找到的路由,从计算的方法来看,不同的源路由PSA和目标路由PTA1、PTA2可以得到以下优先级排列:
如果PTA1和PSA有相同的BGP团体属性,而PTA2和PSA没有相同的BGP团体属性,则PTA1的优先级大于PTA2。
如果目标节点1和用户终端在同一个AS,而目标节点2和用户终端不在同一个AS,即PTA1是IGP路由,PTA2是BGP路由,则PTA1的优先级大于PTA2。
如果目标节点1和目标节点2都和用户终端不在同一个AS,即PTA1和PTA2都是BGP路由,则比较PTA1和PTA2跨越的AS数,跨越的AS数越多,优先级越低。
目标节点地址T_IP1、T_IP2的优先级排列与对应的目标路由PTA1、PTA2的优先级排列一致。
上述方案中,部署在AS内的NPS为该AS内的用户提供服务。NPS收集该AS内的BGP和I GP路由信息,基于收集到的路由信息比较从源地址即用户地址到多个目标节点地址的路径开销值。举例来说,NPS通过收集BGP路由计算出本AS的用户S_IP到两个目标节点地址T_IP1和T_IP2的距离分别是跨越2个AS和跨越1个AS,因此,判断T_IP2对应的目标节点2是离S_IP用户更近的目标节点。但是,网络中流量是双向的而且每个方向所采用的路由是独立的,不一定是同一路线,也就是说,S_IP到T_IP1和T_IP2的距离和从T_IP1,T_IP2到S_IP的距离可以是不同的。从应用上来看,S_IP用户请求CDN节点提供服务,往往是希望从CDN节点获得内容,流量的主要方向是从T_IP1或T_IP2流向S_IP,判断的标准也应该是从T_IP1和T_IP2的角度出发,看哪个节点地址离用户地址S_IP更近些,而上述现有方案根据从S_IP到T_IP1和T_IP2的路由进行判断就不准确了。进一步地,对于用户所属AS外的节点,仅根据BGP路由跨越的AS数来判断远近,当跨越的AS数一样时,就无法进行区分了。
本发明实施例采用了根据节点排序请求包含的方向参数指示的方向,确定源地址和至少两个目标节点地址之间的路径开销值,进而对所述至少两个目标节点地址进行排序的技术手段,可以灵活地根据不同方向的路由信息对目标节点地址排序,使得最优节点的选取可以满足实际应用情况需求。具体地,本发明实施例可以通过如图2所示的方式实现。
图2为本发明实施例提供的一种节点排序方法实施例一的流程示意图。如图2所示,该方法包括:
步骤201、接收节点选取装置发送的节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址。
举例来说,节点排序装置接收节点选取装置发送的节点排序请求。具体地,该节点排序装置可以由服务器实现,节点选取装置可以由业务路由器、业务服务器或用户终端实现。需要说明的是,步骤201之前节点选取装置可以根据用户的服务请求确定所述节点排序请求包含的源地址、至少两个目标节点地址和方向参数。其中源地址为所述服务请求的源地址即用户终端的地址,至少两个目标节点地址为能够响应所述服务请求的CDN节点的地址,方向参数与实际应用中用户与响应其服务请求的CDN节点间数据的流量方向对应,可以根据服务请求的业务类型确定。举例来说,若业务类型为文件传输协议(File Transfer Protocol,简称FTP)获取(FTPget),则确定所述流量方向为从所述至少两个目标节点到所述用户终端,方向参数为下行。若业务类型为FTP上传(FTP upload),则确定所述流量方向为从所述用户终端到所述至少两个目标节点,方向参数为上行。若业务类型为点对点(Peer to Peer,简称P2P),则确定所述流量方向为从所述用户终端到所述至少两个目标节点和从所述至少两个目标节点到所述用户终端,方向参数为双向。若业务类型为视频,则确定所述流量方向为从所述至少两个目标节点到所述用户终端,方向参数为下行。
步骤202、确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值。
例如,用户与目标节点交互时数据的流量方向通常可以为上行方向、下行方向和双向,上行方向即数据从用户终端到目标节点的方向,下行方向即数据从目标节点到用户终端的方向,双向即既有上行方向也有下行方向。与上行方向对应的方向参数为上行,与下行方向对应的方向参数为下行。若所述方向参数为上行,步骤202具体包括:确定从所述源地址分别到所述至少两个目标节点地址中的每一个目标节点地址的路径开销值;若所述方向参数为下行,步骤202具体包括:确定从所述至少两个目标节点地址中的每一个目标节点地址分别到所述源地址的路径开销值;若所述方向参数为双向,步骤202具体包括:确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值,和从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值,对源地址和至少两个目标节点地址中每一个目标节点地址之间的路径开销值,即对上行方向和下行方向的路径开销值,计算平均值,将所述平均值作为所述源地址和对应目标节点地址之间的路径开销值。上述平均值包括算术平均值和几何平均值。计算平均值时,还可以根据预设的上行方向和下行方向的权值对上行方向和下行方向的路径开销值计算加权值。
这里的路径开销值时可以根据所述源地址和至少两个目标节点地址之间路由的BGP团队属性、BGP路由信息和IGP路由信息确定。
步骤203、根据所述路径开销值对所述至少两个目标节点地址进行排序,生成排序结果,所述排序结果包含最优的目标节点地址。
具体地,当根据所述源地址和至少两个目标节点地址之间路由的BGP团队属性、BGP路由信息和IGP路由信息确定路径开销值时,路径开销值越大,对应目标节点地址的优先级越低。
步骤204、向所述节点选取装置返回所述排序结果,以使所述用户终端将服务请求发送到所述最优的目标节点地址。
例如,排序结果中可以包含按照与节点选取装置约定的顺序排列的至少两个目标节点地址,也可以仅包含最优的目标节点地址,对应地,节点选取装置可以按照与节点排序装置约定的顺序或直接选择最优的目标节点地址,以使用户终端将服务请求发送到所述最优的目标节点地址。
本发明实施例采用了根据源地址和至少两个目标节点地址之间在节点排序请求包含的方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序以使用户终端将服务请求发送到最优的目标节点地址的技术手段,可以灵活地根据不同方向的路由信息对目标节点排序,使得最优节点的选取可以满足实际应用情况需求。
图3为本发明实施例提供的一种节点排序方法实施例二的流程示意图。该实施例二在上述实施例一的基础上,对上述步骤202之前的步骤进行扩展,如图3所示,包括:
步骤301、计算本AS内各网络区域间的双向的路径开销值。
举例来说,节点排序装置计算本AS内各网络区域间的双向的路径开销值。具体地,该节点排序装置可以由服务器实现。例如,为了降低计算的复杂度,本实施例以网络区域为单位计算路径开销值,给每个网络区域分配一个全局唯一的运营商定义的网络位置标识(Provider-definedNetwork Location Identifier,简称PID)。通常,网络区域由运营商按照地域来划分。例如,一个AS内可包含至少一个网络区域,每个网络区域包含至少一个子网,将一个网络区域内各子网对应的IP地址前缀都映射到该网络区域的PID。通常,一个子网仅属于一个网络区域。举例来说,如表1所示,网络区域1对应PID1,网络区域1包含IP地址前缀192.168.1.0/24和193.1.1.0/24的子网,网络区域2对应PID2,网络区域2包含I P地址前缀100.1.1.0/24与20.1.1.0/24的子网。例如,节点排序装置可以预先通过和本AS的路由设备建立BGP、IGP连接收集网络拓扑和路由信息,基于收集到的路由信息计算出所述路径开销值。
表1
IP地址前缀 | PID |
192.168.1.0/24 | PID1 |
193.1.1.0/24 | PID1 |
100.1.1.0/24 | PID2 |
20.1.1.0/24 | PID2 |
步骤302、计算本AS内各网络区域到其他AS内各网络区域的单向的路径开销值。
步骤303、生成本AS的路径开销表。
所述路径开销表包括步骤301和302中计算得到的每个路径开销值及其对应的起点和终点的标识组成的路径开销表项。可选的,可以将步骤301和步骤302中得到的路径开销表项在路径开销表中区分开来。具体地,所述路径开销表包含第一子表和第二子表,所述第一子表包含本AS内各网络区域间的双向的路径开销值,所述第二子表包含本AS内各网络区域到其他AS内各网络区域的单向的路径开销值。
步骤304、发送所述本AS的路径开销表。
举例来说,向其他AS内的节点排序装置发送本AS的路径开销表。
步骤305、接收其他AS的路径开销表,将所述其他AS的路径开销表中所述其他AS内各网络区域到本AS内各网络区域的路径开销值添加到本AS的路径开销表中。
这里,步骤304和305中本AS的节点排序装置与其他AS的节点排序装置交换路径开销表是为了得到从其他AS的各网络区域到本AS的各网络区域的单向的路径开销值,与步骤302中得到的单向的路径开销值组合起来,即可以得到本AS的各网络区域和其他AS的各网络区域间的双向的路径开销值。
结合上述步骤301-305,步骤202具体可以包括:根据所述本AS的路径开销表,确定所述源地址所属的网络区域和至少两个目标节点地址中的每一个所属的网络区域之间,在所述方向参数指示的方向上的路径开销值;
上述步骤304、305可以合称为交换路径开销表。可选的,某些特定的节点排序装置可以不发送自身的路径开销表,即可以不执行步骤304。
上述步骤301-305可以在步骤201之前或之后进行。若上述在步骤201之后进行,节点排序装置在接收节点选取装置的节点排序请求后,可以根据节点排序请求中的目标节点地址确定需要接收哪个AS的路径开销表。在节点排序请求中的方向参数为上行时,也可以省略步骤304、305。此时节点排序装置根据本AS的路径开销表即可确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值。
对于目标节点地址均属于本AS的节点排序请求来说,仅根据步骤301计算得到的路径开销值即可以完成步骤202,这种情况下步骤304、305不是必须的。
由于每个AS内的各网络区域之间的路径开销值,对于其它AS没有参考价值,在交换的时候可以被过滤掉,因此也可以不必交换。对应地,步骤304具体可以包括:发送所述本AS的路径开销表的第二子表;步骤305具体可以包括:接收其他AS的路径开销表的第二子表。
举例来说,AS1包含两个网络区域,对应的PID分别为PID1和PID2,AS2包含三个网络区域,对应的PID分别为PID3、PID4和PID5,如图4所示。AS1的节点排序装置1执行步骤301-303后得到AS1的路径开销表如表2所示,其中0x表示十六进制。
表2
PID1 | PID2 | PID3 | PID4 | PID5 | |
PID1 | 0x0000 | 0x0001 | 0x 0100 | 0x0200 | 0x0300 |
PID2 | 0x0002 | 0x0000 | 0x 0100 | 0x0200 | 0x0300 |
PID3 | 0x0000 | ||||
PID4 | 0x0000 | ||||
PID5 | 0x0000 |
表2每格中的数值为以该格横向对应的PID为起点,即源PID,该格纵向对应的PID为终点,即目的PID,的路径开销值,比如,0x0001为从PID1对应的网络区域1到PID2对应的网络区域2的单向的路径开销值,0x0002为从PID2对应的网络区域2到PID1对应的网络区域1的单向的路径开销值。步骤304中AS1的节点排序装置1可以不将表2中的PID1和PID2间的路径开销值与AS 2的节点排序装置2交换,类似地,AS2的节点排序装置2也可以仅将AS2的路径开销表中如表3所示的第二子表,与AS1的节点排序装置1交换。当然,路径开销表可以以任意数据结构为载体在各节点排序装置之间进行交换。
表3
PID1 | PID2 | PID3 | PID4 | PID5 | |
PID1 | 0x0000 | ||||
PID2 | 0x0000 | ||||
PID3 | 0x0200 | 0x0200 | 0x0000 | ||
PID4 | 0x0300 | 0x0300 | 0x0000 | ||
PID5 | 0x0400 | 0x0500 | 0x0000 |
当有多于两个的AS时,各AS中的节点排序装置可以两两交换路径开销表。可选的,各AS中的节点排序装置在路径开销表交换中的交换内容还可以有所不同。举例来说,假设在图4所示的基础上增加了AS3,AS3中设置有节点排序装置3,AS3包含两个网络区域,对应的PID为PID6和PID7,如图5所示,AS1和AS3通过AS2连接。为了减轻节点排序装置在交换路径开销表过程中的负担,可以设置节点排序装置1和节点排序装置3的身份为端点,端点只接收和发送源PID或目的PID属于本AS的路径开销表项,如节点排序装置1不接收AS2和AS3的网络区域间的路径开销表项,比如PID6、PID7和PID3、PID4、PID5间的路径开销值;还可以设置节点排序装置2的身份为中继,中继除了接收和发送源PID或目的PID属于本AS的路径开销表项,还接收和发送源PID和目的PID都不属于本AS的路径开销表项,如节点排序装置2接收和发送AS1和AS3的网络区域间的路径开销表项,比如PID6、PID7和PID1、PID2间的路径开销值。
进一步地,现有技术中对于跨AS的路径开销值仅根据BGP路由跨越的AS数来判断远近,当跨越的AS数一样时,就无法进行区分了。可选的,本实施例中,可以根据所述本AS内各网络区域到其他AS内各网络区域的跨越的AS数和多出口鉴别(Multi-Exit Discriminator,简称MED)属性计算所述单向的路径开销值。MED值是BGP中当本AS存在多个入口时,提示其他AS进入本AS的优选路径。在这种场景下,路径开销表中的路径开销值根据网络路由拓扑信息进行计算,假设路径开销值为48bit,其计算方法如下:
一般认为域内节点要优于域外节点,将IGP metric位于路径开销值的低16bit,保证了比较的时候域内节点路径开销值总是低于域外节点的路径开销值,被优先选择。通常跨越的AS数对路径开销值的影响要大于MED值,因此将跨越的AS数置于路径开销值的高16位,跨越的AS数一样时,可通过路径开销值的中间16bit的MED值加以区分。具体地,跨越的AS数可以根据BGP路由中的AS_PATH属性确定,MED值根据BGP路由中的MED值确定。这里的AS_PATH属性是路由到达一个目的地所经过的一系列AS的号码。产生路由的AS把该路由发送到相邻的AS时,要加上自己的AS号码,也就是把自己的AS号码列到排列表的最前面,如图6所示。图6中AS100中的路由节点有两条路径到达目的网络18.0.0.0/8,一条路径的AS_PATH属性为2(500,200),跨越的AS数为2,另一条路径的AS_PATH属性为3(400,300,200),跨越的AS数位3,其中跨越的AS数为2的路径更优。图7中AS100中的路由节点A有两条路径可以进入AS200,一条路径是通过AS200中的路由节点RTB,MED值为110,另一条路径是通过AS200中的路由节点RTC,MED值为220,MED值较小的路径更优。
本发明实施例采用了根据源地址和至少两个目标节点地址所属网络区域之间在节点排序请求包含的方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序以使用户终端将服务请求发送到最优的目标节点地址的技术手段,可以灵活地根据不同方向的路由信息对目标节点排序,使得最优节点的选取可以满足实际应用情况需求。进一步地,对于BGP路由除了根据跨越的AS数,还进一步根据MED值来计算路径开销值,细化了排序的粒度,提高了排序的精确性。
图8为本发明实施例提供的一种节点选取方法实施例一的流程示意图。如图8所示,该方法包括:
步骤801、接收用户终端的服务请求,所述服务请求的源地址为所述用户终端的地址。
举例来说,节点选取装置接收用户终端的服务请求。具体地,节点选取装置可以由业务路由器或业务服务器实现。这里的服务请求可以为任意类型的网络服务请求,如HTTP请求,P2P节点选择请求,FTP请求等。
步骤802、根据所述服务请求确定至少两个目标节点地址和流量方向,生成节点排序请求,所述节点排序请求包含所述源地址、至少两个目标节点的地址和方向参数,所述方向参数与所述流量方向对应。
具体的节点选取装置可以根据服务请求的业务类型确定上述流量方向和方向参数。通常可以在节点选取装置中预先设置好各种业务类型对应的目标节点地址。举例来说,若业务类型为FTP get,则确定所述流量方向为从所述至少两个目标节点到所述用户终端,方向参数为下行。若业务类型为FTPupload,则确定所述流量方向为从所述用户终端到所述至少两个目标节点,方向参数为上行。若业务类型为P2P,则确定所述流量方向为从所述用户终端到所述至少两个目标节点和从所述至少两个目标节点到所述用户终端,方向参数为双向。若业务类型为视频,则确定所述流量方向为从所述至少两个目标节点到所述用户终端,方向参数为下行。
可选地,还可以根据服务请求的业务类型将服务请求分为上传请求、下载请求和交互请求。步骤802具体包括:
根据服务请求的业务类型确定服务请求是上传请求、下载请求或交互请求;
若所述服务请求为下载请求,则确定所述流量方向为从所述至少两个目标节点地址到所述源地址,所述方向参数为下行;
若所述服务请求为上传请求,则确定所述流量方向为从所述源地址到所述至少两个目标节点地址,所述方向参数为上行;
若所述服务请求为交互请求,则确定所述流量方向为从所述至少两个目标节点地址到所述源地址和从所述源地址到所述至少两个目标节点地址,所述方向参数为双向。
举例来说,业务类型为FTP get、视频的服务请求为下载请求,业务类型为FTP upload的服务请求为上传请求,业务类型为P2P的服务请求为交互请求。例如,
步骤803、将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序。
这里的节点排序装置为本发明实施例提供的一种节点排序方法实施例一或二提到的节点排序装置,可以由服务器实现。
步骤804、接收所述节点排序装置返回的排序结果,按照所述排序结果选取最优的目标节点地址。
步骤805、将所述最优的目标节点地址返回所述用户终端,以使所述用户终端将所述服务请求发送到所述最优的目标节点地址。
具体地,节点选取装置可以根据与节点排序装置约定的顺序从所述排序结果包含的至少两个目标节点地址中选取出最优的目标节点地址,也可以在与节点排序装置约定好排序结果仅包含最优的目标节点地址的情况下,直接从排序结果中提取出最优的目标节点地址。
本发明实施例采用了根据用户终端发送的服务请求确定实际应用的流量方向,从而确定节点排序请求中的方向参数,以使节点排序装置按照方向参数指示的方向上的路径开销值对目标节点地址进行排序的技术手段,可以灵活地根据不同方向的路由信息对目标节点地址排序,使得最优节点的选取可以满足实际应用情况需求。
图9为本发明实施例提供的一种节点选取方法实施例二的流程示意图。如图9所示,该方法包括:
步骤901、生成节点排序请求,节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址,所述方向参数与所述服务请求的流量方向对应。
举例来说,节点选取装置生成节点排序请求。具体的,节点选取装置可以由用户终端实现。通常,步骤901之前,节点选取装置还向业务路由器或业务服务器发送服务请求,并接收所述业务路由器或业务服务器基于所述服务请求返回的与所述服务请求对应的至少两个目标节点地址。
流量方向和方向参数可以根据服务请求的业务类型确定。举例来说,若业务类型为FTP get,则确定所述流量方向为从所述至少两个目标节点到所述用户终端,方向参数为下行。若业务类型为FTP upload,则确定所述流量方向为从所述用户终端到所述至少两个目标节点,方向参数为上行。若业务类型为P2P,则确定所述流量方向为从所述用户终端到所述至少两个目标节点和从所述至少两个目标节点到所述用户终端,方向参数为双向。若业务类型为视频,则确定所述流量方向为从所述至少两个目标节点到所述用户终端,方向参数为下行。
可选地,还可以根据服务请求的业务类型将服务请求分为上传请求、下载请求和交互请求。步骤901具体包括:
根据服务请求的业务类型确定服务请求是上传请求、下载请求或交互请求;
若所述服务请求为下载请求,则确定所述流量方向为从所述至少两个目标节点地址到所述源地址,所述方向参数为下行;
若所述服务请求为上传请求,则确定所述流量方向为从所述源地址到所述至少两个目标节点地址,所述方向参数为上行;
若所述服务请求为交互请求,则确定所述流量方向为从所述至少两个目标节点地址到所述源地址和从所述源地址到所述至少两个目标节点地址,所述方向参数为双向。
举例来说,业务类型为FTP get、视频的服务请求为下载请求,业务类型为FTP upload的服务请求为上传请求,业务类型为P2P的服务请求为交互请求。
步骤902、将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序。
这里的节点排序装置为本发明实施例提供的一种节点排序方法实施例一或二提到的节点排序装置,可以由服务器实现。
步骤903、接收所述节点排序装置返回的排序结果,按照所述排序结果选取最优的目标节点地址。
具体地,节点选取装置可以根据与节点排序装置约定的顺序从所述排序结果包含的至少两个目标节点地址中选取出最优的目标节点地址,也可以在与节点排序装置约定好排序结果仅包含最优的目标节点地址的情况下,直接从排序结果中提取出最优的目标节点地址。
步骤904、将所述服务请求发送到所述最优的目标节点地址。
本发明实施例采用了根据服务请求确定节点排序请求中的方向参数,以使节点排序装置按照方向参数指示的方向上的路径开销值对目标节点地址进行排序,然后根据排序结果将服务请求发送到最优的目标节点地址的技术手段,可以灵活地根据不同方向的路由信息对目标节点地址排序,使得最优节点的选取可以满足实际应用情况需求。
图10为本发明实施例提供的一种节点排序装置实施例一的结构示意图。如图10所示,该装置包括:
接收器41,用于接收节点选取装置发送的节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址;
确定模块42,用于确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值;
排序模块43,用于根据所述路径开销值对所述至少两个目标节点地址进行排序,生成排序结果,所述排序结果包含最优的目标节点地址;
发送器44,用于向所述节点选取装置返回所述排序结果,以使用户终端将服务请求发送到所述最优的目标节点地址。
例如,该节点排序装置可以由服务器实现,该服务器可以包括CPU、主板、内存等。实现该节点排序装置的服务器也可以称为ALTO服务器。
进一步地,若所述方向参数为上行,确定模块42具体用于,
确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值;
若所述方向参数为下行,确定模块42具体用于,
确定从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值;
若所述方向参数为双向,确定模块42具体用于,
确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值,和从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值,对源地址和至少两个目标节点地址中每一个目标节点地址之间的路径开销值,即对上行方向和下行方向的路径开销值,计算平均值,将所述平均值作为所述源地址和对应目标节点地址之间的路径开销值。
上述平均值包括算术平均值和几何平均值。计算平均值时,还可以根据预设的上行方向和下行方向的权值对上行方向和下行方向的路径开销值计算加权值。
本实施例的具体实现参照本发明实施例提供的一种节点排序方法实施例一。本发明实施例采用了根据源地址和至少两个目标节点地址之间在节点排序请求包含的方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序以使用户终端将服务请求发送到最优的目标节点地址的技术手段,可以灵活地根据不同方向的路由信息对目标节点地址排序,使得最优节点的选取可以迎合实际应用情况。
图11为本发明实施例提供的一种节点排序装置实施例二的结构示意图。在图10所示的一种节点排序装置实施例一的基础上,还包括:
计算模块45,用于计算本自治域AS内各网络区域间的双向的路径开销值以及本AS内各网络区域到其他AS内各网络区域的单向的路径开销值,生成本AS的路径开销表,所述客户端位于所述本AS。
对应地,确定模块43具体用于,根据所述本AS的路径开销表确定所述源地址所属的网络区域和至少两个目标节点地址所属的网络区域之间在所述方向参数指示的方向上的路径开销值。
进一步地,计算模块45具体可以用于,
根据所述本AS内各网络区域到其他AS内各网络区域跨越的AS数和MED值计算所述单向的路径开销值。
进一步地,计算模块45还可以用于,
接收其他AS的路径开销表,将所述其他AS的路径开销表中所述其他AS内各网络区域到本AS内各网络区域的路径开销值添加到本AS的路径开销表。较优地,计算模块45还可以向其他AS的节点排序装置发送本AS的路径开销表。
进一步地,所述路径开销表包含第一子表和第二子表,所述第一子表包含本AS内各网络区域间的双向的路径开销值,所述第二子表包含本AS内各网络区域到其他AS内各网络区域的单向的路径开销值,计算模块45具体用于,接收其他AS的路径开销表的第二子表。较优地,计算模块45可以仅向其他AS的节点排序装置发送本AS的路径开销表的第二子表。
本实施例的具体实现参照本发明实施例提供的一种节点排序方法实施例二。本发明实施例采用了根据源地址和至少两个目标节点地址所属网络区域之间在节点排序请求包含的方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序以使用户终端将服务请求发送到最优的目标节点地址的技术手段,可以灵活地根据不同方向的路由信息对目标节点地址排序,使得最优节点的选取可以满足实际应用情况需求。进一步地,对于BGP路由除了根据跨越的AS数,还进一步根据MED值来计算路径开销值,细化了排序的粒度,提高了排序的精确性。
图12为本发明实施例提供的一种节点选取装置实施例的结构示意图。如图12所示,该装置包括:
第一接口51,用于接收用户终端的服务请求,所述服务请求的源地址为所述用户终端的地址;
第一请求模块52,用于根据所述服务请求确定至少两个目标节点地址和流量方向,生成节点排序请求,所述节点排序请求包含所述源地址、至少两个目标节点地址和方向参数,所述方向参数与所述流量方向对应;
第二接口53,用于将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序,接收所述节点排序装置返回的排序结果;
节点选取模块54,用于按照所述排序结果选取最优的目标节点地址;
第一接口51还用于,将所述最优的目标节点地址返回所述用户终端,以使所述用户终端将所述服务请求发送到所述最优的目标节点地址。
进一步地,第一请求模块52具体用于,
根据所述服务请求的业务类型确定所述服务请求是上传请求、下载请求或交互请求;
若所述服务请求为下载请求,则确定所述流量方向为从所述至少两个目标节点地址到所述源地址,所述方向参数为下行;
若所述服务请求为上传请求,则确定所述流量方向为从所述源地址到所述至少两个目标节点地址,所述方向参数为上行;
若所述服务请求为交互请求,则确定所述流量方向为从所述至少两个目标节点地址到所述源地址和从所述源地址到所述至少两个目标节点地址,所述方向参数为双向。
例如,该节点选取装置可以由业务路由器或业务服务器实现,该业务服务器可以包括CPU、主板、内存,该业务路由器可以包括背板、线卡等。
本实施例的具体实现参照本发明实施例提供的一种节点选取方法实施例一。本发明实施例采用了根据用户终端发送的服务请求确定实际应用的流量方向,从而确定节点排序请求中的方向参数,以使节点排序装置按照方向参数指示的方向上的路径开销值对目标节点进行排序的技术手段,可以灵活地根据不同方向的路由信息对目标节点地址排序,使得最优节点的选取可以满足实际应用情况需求。
图13为本发明实施例提供的一种节点选取装置实施例的结构示意图。如图13所示,该装置包括:
第二请求模块61,用于生成节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址,所述方向参数与所述服务请求的流量方向对应;
第三接口62,用于将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序;接收所述节点排序装置返回的排序结果;
重定向模块63,用于按照所述排序结果选取最优的目标节点地址,将所述服务请求发送到所述最优的目标节点地址。
例如,该节点选取装置可以由用户终端实现,该用户终端可以包括CPU、主板、内存等。
本实施例的具体实现参照本发明实施例提供的一种节点选取方法实施例二。本发明实施例采用了根据服务请求确定节点排序请求中的方向参数,以使节点排序装置按照方向参数指示的方向上的路径开销值对目标节点地址进行排序,然后根据排序结果将服务请求发送到最优的目标节点地址的技术手段,可以灵活地根据不同方向的路由信息对目标节点地址排序,使得最优节点的选取可以满足实际应用情况需求。
图14为本发明实施例提供的一种节点排序与选取系统实施例的结构示意图。如图14所示,该系统包括:节点排序装置71和节点选取装置72,节点排序装置71为如本发明实施例提供的一种节点排序装置实施例一或二所述的装置,节点选取装置72为如本发明实施例提供的一种节点选取装置实施例一或二所述的装置。
例如,节点排序装置71、节点选取装置72位于同一AS,其中节点排序装置71与同一AS的路由设备建立BGP、IPG连接以收集网络拓扑和路由信息。
可选地,节点选取装置72为如本发明实施例提供的一种节点选取装置实施例一所述的装置。具体地,节点选取装置72由业务路由器或业务服务器实现。在这种场景下,系统还可以包括:
用户终端,用于向节点选取装置72发送服务请求,接收节点选取装置72返回的最优的目标节点地址,将所述服务请求发送到所述最优的目标节点地址。
可选地,节点选取装置72为如本发明实施例提供的一种节点选取装置实施例二所述的装置。具体地,节点选取装置72由用户终端实现。在这种场景下,系统还可以包括:
业务路由器或业务服务器,用于根据节点选取装置72的服务请求向节点选取装置72返回与所述服务请求对应的至少两个目标节点地址。
本发明实施例采用了根据源地址和至少两个目标节点地址之间在节点排序请求包含的方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序以使用户终端将服务请求发送到最优的目标节点地址的技术手段,可以灵活地根据不同方向的路由信息对目标节点地址排序,使得最优节点的选取可以满足实际应用情况需求。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (21)
1.一种节点排序方法,其特征在于,包括:
接收节点选取装置发送的节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址;
确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值;
根据所述路径开销值对所述至少两个目标节点地址进行排序,生成排序结果,所述排序结果包含最优的目标节点地址;
向所述节点选取装置返回所述排序结果,以使所述用户终端将服务请求发送到所述最优的目标节点地址;
若所述方向参数为上行,所述确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值具体包括:
确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值;
若所述方向参数为下行,所述确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值具体包括:
确定从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值;
若所述方向参数为双向,所述确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值具体包括:
确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值,和从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值,对源地址和至少两个目标节点地址中每一个目标节点地址之间的路径开销值计算平均值,将所述平均值作为所述源地址和对应目标节点地址之间的路径开销值。
2.根据权利要求1所述的方法,其特征在于,所述确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值之前还包括:
计算本自治域AS内各网络区域间的双向的路径开销值以及本AS内各网络区域到其他AS内各网络区域的单向的路径开销值,生成本AS的路径开销表,所述用户终端位于所述本AS。
3.根据权利要求2所述的方法,其特征在于,所述计算本AS内各网络区域到其他AS内各网络区域的单向的路径开销值具体包括:
根据所述本AS内各网络区域到其他AS内各网络区域跨越的AS数和多出口鉴别MED值计算所述单向的路径开销值。
4.根据权利要求2或3所述的方法,其特征在于,所述确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值之前还包括:
接收其他AS的路径开销表,将所述其他AS的路径开销表中所述其他AS内各网络区域到本AS内各网络区域的路径开销值添加到本AS的路径开销表。
5.根据权利要求4所述的方法,其特征在于,所述路径开销表包含第一子表和第二子表,所述第一子表包含本AS内各网络区域间的双向的路径开销值,所述第二子表包含本AS内各网络区域到其他AS内各网络区域的单向的路径开销值,所述接收其他AS的路径开销表具体包括:
接收其他AS的路径开销表的第二子表。
6.根据权利要求2或3或5所述的方法,其特征在于,所述确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值具体包括:
根据所述本AS的路径开销表确定所述源地址所属的网络区域和所述至少两个目标节点所属的网络区域之间在所述方向参数指示的方向上的路径开销值。
7.根据权利要求4所述的方法,其特征在于,所述确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值具体包括:
根据所述本AS的路径开销表确定所述源地址所属的网络区域和所述至少两个目标节点所属的网络区域之间在所述方向参数指示的方向上的路径开销值。
8.一种节点选取方法,其特征在于,包括:
接收用户终端的服务请求,所述服务请求的源地址为所述用户终端的地址;
根据所述服务请求确定至少两个目标节点地址和流量方向,生成节点排序请求,所述节点排序请求包含所述源地址、至少两个目标节点地址和方向参数,所述方向参数与所述流量方向对应;
将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序;
接收所述节点排序装置返回的排序结果,按照所述排序结果选取最优的目标节点地址;
将所述最优的目标节点地址返回所述用户终端,以使所述用户终端将所述服务请求发送到所述最优的目标节点地址;
其中,所述按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序具体包括:
若所述方向参数为上行,则按照从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值对所述至少两个目标节点地址进行排序;
若所述方向参数为下行,则按照从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值对所述至少两个目标节点地址进行排序;
若所述方向参数为双向,则确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值,和从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值,对源地址和至少两个目标节点地址中每一个目标节点地址之间的路径开销值计算平均值,按照所述平均值对所述至少两个目标节点地址进行排序。
9.根据权利要求8所述的方法,其特征在于,所述根据所述服务请求确定至少两个目标节点地址和流量方向,生成节点排序请求具体包括:
根据所述服务请求的业务类型确定所述服务请求是上传请求、下载请求或交互请求;
若所述服务请求为下载请求,则确定所述流量方向为从所述至少两个目标节点地址到所述源地址,所述方向参数为下行;
若所述服务请求为上传请求,则确定所述流量方向为从所述源地址到所述至少两个目标节点地址,所述方向参数为上行;
若所述服务请求为交互请求,则确定所述流量方向为从所述至少两个目标节点地址到所述源地址和从所述源地址到所述至少两个目标节点地址,所述方向参数为双向。
10.一种节点选取方法,其特征在于,包括:
生成节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址,所述方向参数与服务请求的流量方向对应;
将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序;
接收所述节点排序装置返回的排序结果,按照所述排序结果选取最优的目标节点地址;
将所述服务请求发送到所述最优的目标节点地址;
其中,所述按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序具体包括:
若所述方向参数为上行,则按照从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值对所述至少两个目标节点地址进行排序;
若所述方向参数为下行,则按照从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值对所述至少两个目标节点地址进行排序;
若所述方向参数为双向,则确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值,和从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值,对源地址和至少两个目标节点地址中每一个目标节点地址之间的路径开销值计算平均值,按照所述平均值对所述至少两个目标节点地址进行排序。
11.一种节点排序装置,其特征在于,包括:
接收器,用于接收节点选取装置发送的节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址;
确定模块,用于确定所述源地址和至少两个目标节点地址之间在所述方向参数指示的方向上的路径开销值;
排序模块,用于根据所述路径开销值对所述至少两个目标节点地址进行排序,生成排序结果,所述排序结果包含最优的目标节点地址;
发送器,用于向所述节点选取装置返回所述排序结果,以使所述用户终端将服务请求发送到所述最优的目标节点地址;
若所述方向参数为上行,所述确定模块具体用于,
确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值;
若所述方向参数为下行,所述确定模块具体用于,
确定从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值;
若所述方向参数为双向,所述确定模块具体用于,
确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值,和从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值,对源地址和至少两个目标节点地址中每一个目标节点地址之间的路径开销值计算平均值,将所述平均值作为所述源地址和对应目标节点地址之间的路径开销值。
12.根据权利要求11所述的装置,其特征在于,还包括:
计算模块,用于计算本自治域AS内各网络区域间的双向的路径开销值以及本AS内各网络区域到其他AS内各网络区域的单向的路径开销值,生成本AS的路径开销表,所述用户终端位于所述本AS。
13.根据权利要求12所述的装置,其特征在于,所述计算模块具体用于,
根据所述本AS内各网络区域到其他AS内各网络区域跨越的AS数和多出口鉴别MED值计算所述单向的路径开销值。
14.根据权利要求12或13所述的装置,其特征在于,所述计算模块还用于,
接收其他AS的路径开销表,将所述其他AS的路径开销表中所述其他AS内各网络区域到本AS内各网络区域的路径开销值添加到本AS的路径开销表。
15.根据权利要求14所述的装置,其特征在于,所述路径开销表包含第一子表和第二子表,所述第一子表包含本AS内各网络区域间的双向的路径开销值,所述第二子表包含本AS内各网络区域到其他AS内各网络区域的单向的路径开销值,所述计算模块具体用于,
接收其他AS的路径开销表的第二子表。
16.根据权利要求12或13或15所述的装置,其特征在于,所述确定模块具体用于,
根据所述本AS的路径开销表确定所述源地址所属的网络区域和所述至少两个目标节点所属的网络区域之间在所述方向参数指示的方向上的路径开销值。
17.根据权利要求14所述的装置,其特征在于,所述确定模块具体用于,
根据所述本AS的路径开销表确定所述源地址所属的网络区域和所述至少两个目标节点所属的网络区域之间在所述方向参数指示的方向上的路径开销值。
18.一种节点选取装置,其特征在于,包括:
第一接口,用于接收用户终端的服务请求,所述服务请求的源地址为所述用户终端的地址;
第一请求模块,用于根据所述服务请求确定至少两个目标节点地址和流量方向,生成节点排序请求,所述节点排序请求包含所述源地址、至少两个目标节点地址和方向参数,所述方向参数与所述流量方向对应;
第二接口,用于将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序,接收所述节点排序装置返回的排序结果;
节点选取模块,用于按照所述排序结果选取最优的目标节点地址;
所述第一接口还用于,将所述最优的目标节点地址返回所述用户终端,以使所述用户终端将所述服务请求发送到所述最优的目标节点地址;
其中,所述按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序具体包括:
若所述方向参数为上行,则按照从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值对所述至少两个目标节点地址进行排序;
若所述方向参数为下行,则按照从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值对所述至少两个目标节点地址进行排序;
若所述方向参数为双向,则确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值,和从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值,对源地址和至少两个目标节点地址中每一个目标节点地址之间的路径开销值计算平均值,按照所述平均值对所述至少两个目标节点地址进行排序。
19.根据权利要求18所述的装置,其特征在于,所述第一请求模块具体用于,
根据所述服务请求的业务类型确定所述服务请求是上传请求、下载请求或交互请求;
若所述服务请求为下载请求,则确定所述流量方向为从所述至少两个目标节点地址到所述源地址,所述方向参数为下行;
若所述服务请求为上传请求,则确定所述流量方向为从所述源地址到所述至少两个目标节点地址,所述方向参数为上行;
若所述服务请求为交互请求,则确定所述流量方向为从所述至少两个目标节点地址到所述源地址和从所述源地址到所述至少两个目标节点地址,所述方向参数为双向。
20.一种节点选取装置,其特征在于,包括:
第二请求模块,用于生成节点排序请求,所述节点排序请求包含源地址、至少两个目标节点地址和方向参数,所述源地址为用户终端的地址,所述方向参数与服务请求的流量方向对应;
第三接口,用于将所述节点排序请求发送给节点排序装置,以使所述节点排序装置按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序;接收所述节点排序装置返回的排序结果;
重定向模块,用于按照所述排序结果选取最优的目标节点地址,将所述服务请求发送到所述最优的目标节点地址;
其中,所述按照所述方向参数指示的方向上的路径开销值对所述至少两个目标节点地址进行排序具体包括:
若所述方向参数为上行,则按照从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值对所述至少两个目标节点地址进行排序;
若所述方向参数为下行,则按照从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值对所述至少两个目标节点地址进行排序;
若所述方向参数为双向,则确定从所述源地址分别到所述至少两个目标节点地址中每个目标节点地址的路径开销值,和从所述至少两个目标节点地址中每个目标节点地址分别到所述源地址的路径开销值,对源地址和至少两个目标节点地址中每一个目标节点地址之间的路径开销值计算平均值,按照所述平均值对所述至少两个目标节点地址进行排序。
21.一种节点排序与选取系统,其特征在于,包括:节点排序装置和节点选取装置,
所述节点排序装置为如权利要求11-17任一所述的装置;
所述节点选取装置为如权利要求18-19所述的装置,或如权利要求20所述的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/077775 WO2012109852A1 (zh) | 2011-07-29 | 2011-07-29 | 节点排序与选取方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102318288A CN102318288A (zh) | 2012-01-11 |
CN102318288B true CN102318288B (zh) | 2014-11-05 |
Family
ID=45429436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180001139.2A Expired - Fee Related CN102318288B (zh) | 2011-07-29 | 2011-07-29 | 节点排序与选取方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102318288B (zh) |
WO (1) | WO2012109852A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273088A (zh) * | 2017-06-16 | 2017-10-20 | 山东科技大学 | 一种针对极化码的快速排序网络方法及装置 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594679B (zh) * | 2012-02-15 | 2015-07-29 | 上海聚力传媒技术有限公司 | 用于确定视频应用中网络节点的运营信息的方法和设备 |
CN102868935A (zh) * | 2012-08-24 | 2013-01-09 | 乐视网信息技术(北京)股份有限公司 | 在内容分发网络中响应多源的调度方法 |
CN103051717A (zh) * | 2012-12-25 | 2013-04-17 | 北京小米科技有限责任公司 | 一种http请求处理的方法、装置和设备 |
EP3057287A4 (en) * | 2013-10-11 | 2016-09-14 | Zte Corp | KNOT ALLOCATION METHOD, DEVICE AND SYSTEM |
CN103716251B (zh) * | 2014-01-14 | 2017-06-27 | 三星电子(中国)研发中心 | 用于内容分发网络的负载均衡方法及设备 |
CN105391632B (zh) * | 2014-09-04 | 2019-11-05 | 中兴通讯股份有限公司 | 路由选择方法及装置 |
CN104243320A (zh) * | 2014-09-10 | 2014-12-24 | 珠海市君天电子科技有限公司 | 一种优化网络访问路径的方法及装置 |
CN105897822B (zh) * | 2015-11-11 | 2019-07-26 | 法法汽车(中国)有限公司 | 一种内容分发网络cdn节点选择方法及其装置 |
CN105847159A (zh) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | Cdn网络的拓扑结构生成方法和系统 |
CN105871612A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | Cdn网络的拓扑结构生成器 |
CN109614397B (zh) * | 2018-10-30 | 2023-06-20 | 创新先进技术有限公司 | 基于分布式系统获取关系网络的节点序列的方法和装置 |
CN113452808B (zh) * | 2021-06-29 | 2023-06-23 | 百果园技术(新加坡)有限公司 | 域名解析方法、装置、设备及存储介质 |
CN113904974B (zh) * | 2021-10-09 | 2023-08-15 | 咪咕文化科技有限公司 | 智能路由方法、装置及设备 |
CN114268551A (zh) * | 2021-12-16 | 2022-04-01 | 南京华飞数据技术有限公司 | 一种基于主被动协同的自治域级网络拓扑测绘方法 |
CN115378848B (zh) * | 2022-08-16 | 2024-03-22 | 武汉思普崚技术有限公司 | 一种基于排序算法的流量统计方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060061569A (ko) * | 2004-12-02 | 2006-06-08 | 한국전자통신연구원 | 레이블 스위칭 경로 설정 방법 및 레이블 교환을 통한이더넷 프레임 전송 방법 |
CN101572674A (zh) * | 2009-06-12 | 2009-11-04 | 杭州华三通信技术有限公司 | 一种路由计算方法及装置 |
WO2010096552A1 (en) * | 2009-02-19 | 2010-08-26 | Futurewei Technologies, Inc. | System and method for point to multipoint inter-domain multiprotocol label switching traffic engineering path calculation |
CN101965031A (zh) * | 2010-05-19 | 2011-02-02 | 北京科技大学 | 一种基于最大概率的认知无线电多径组播路由方法 |
-
2011
- 2011-07-29 CN CN201180001139.2A patent/CN102318288B/zh not_active Expired - Fee Related
- 2011-07-29 WO PCT/CN2011/077775 patent/WO2012109852A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060061569A (ko) * | 2004-12-02 | 2006-06-08 | 한국전자통신연구원 | 레이블 스위칭 경로 설정 방법 및 레이블 교환을 통한이더넷 프레임 전송 방법 |
WO2010096552A1 (en) * | 2009-02-19 | 2010-08-26 | Futurewei Technologies, Inc. | System and method for point to multipoint inter-domain multiprotocol label switching traffic engineering path calculation |
CN101572674A (zh) * | 2009-06-12 | 2009-11-04 | 杭州华三通信技术有限公司 | 一种路由计算方法及装置 |
CN101965031A (zh) * | 2010-05-19 | 2011-02-02 | 北京科技大学 | 一种基于最大概率的认知无线电多径组播路由方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273088A (zh) * | 2017-06-16 | 2017-10-20 | 山东科技大学 | 一种针对极化码的快速排序网络方法及装置 |
CN107273088B (zh) * | 2017-06-16 | 2020-04-24 | 山东科技大学 | 一种针对极化码的快速排序方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102318288A (zh) | 2012-01-11 |
WO2012109852A1 (zh) | 2012-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102318288B (zh) | 节点排序与选取方法、装置及系统 | |
Grassi et al. | Navigo: Interest forwarding by geolocations in vehicular named data networking | |
CN102571557B (zh) | 动态产生应用层流量优化协议图 | |
US8751613B1 (en) | Application layer traffic optimization enhancements for mobile devices | |
CN104954219A (zh) | Cdn网络访问路径优化方法、装置及系统 | |
CN113596863B (zh) | 确定用户面功能及信息提供的方法、设备及介质 | |
CN104348722B (zh) | 确定内容获取路径、请求处理的方法、装置和系统 | |
CN106921572B (zh) | 一种传播QoS策略的方法、装置及系统 | |
CN105162900A (zh) | 一种多节点协作的域名解析和缓存方法及系统 | |
CN101155134A (zh) | 路径计算及网络拓扑方法、构架、系统、实体及路由器 | |
CN101141376B (zh) | 建立te路径的方法、路径计算设备和系统 | |
CN102647357A (zh) | 一种处理内容路由方法及装置 | |
CN102594679B (zh) | 用于确定视频应用中网络节点的运营信息的方法和设备 | |
CN103873364A (zh) | 域间多路径路由的实现方法 | |
CN104270312A (zh) | 支持流量优化和应用感知的中继路径分配系统及方法 | |
Hillmann et al. | On the path to high precise ip geolocation: A self-optimizing model | |
CN101465788A (zh) | 一种域间路由互通的方法、装置和路径计算单元 | |
JP5795790B2 (ja) | ノード間距離測定方法、ノード間距離測定装置およびコンピュータプログラム | |
WO2013142282A1 (en) | Routing a data packet in a communication network | |
CN115622935A (zh) | 基于网络的路径处理方法、系统和存储介质 | |
CN105282231A (zh) | 基于应用类型的数据引流方法、装置及系统 | |
Gregori et al. | Inferring geography from BGP raw data | |
Bacher et al. | Towards controller-aided multimedia dissemination in named data networking | |
Lu et al. | The reliable routing for software-defined vehicular networks towards beyond 5G | |
CN104426769A (zh) | 一种路由方法和路由器 |
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 |
Granted publication date: 20141105 Termination date: 20210729 |
|
CF01 | Termination of patent right due to non-payment of annual fee |