支持层次化网络拓扑的p2p流量优化方法

文档序号:7760695阅读:135来源:国知局
专利名称:支持层次化网络拓扑的p2p流量优化方法
技术领域
本发明属于网络技术领域,涉及支持层次化网络拓扑的P2P流量优化,可用于降 低P2P软件的跨网络流量,优化P2P流量在网络中的分布和流向,同时提高P2P软件的下载 性能
背景技术
基于P2P (Peer-to-Peer)原理的文件下载、视频流媒体分享及网络电话等日益成 为互联网上的主要应用,与此同时P2P流量已占据了网上流量的绝大部分,在很多骨干网 上达到了 50%到70%的比例。P2P软件在给用户带来快捷、方便的同时却成为互联网服务 提供商ISP的噩梦。很多ISP认为巨大的P2P流量带来了网络拥塞,影响了其它网络应用 的正常运行,因此采用各种措施限制甚至封堵P2P流量。这会降低P2P用户的体验,并引起 P2P用户和ISP之间的矛盾。P2P软件之所以给网络带来如此高的流量,部分原因来自于其内部机理P2P软件 在构建Overlay网络时不考虑底层网络的实际拓扑结构,造成Overlay网络拓扑和底层网 络拓扑严重失配,对等结点间的连接大多是远距离连接,产生的流量多是跨网络流量。以 BitTorrent为例,在对等结点从目录服务器Tracker得到对等结点列表之后,随机地从列 表中选择35个对等结点作为邻居建立连接。这些连接的两端很可能距离很远,此后的数据 传输多是远程跨网络传输。对BitTorrent的研究表明,对于已在本地网存有拷贝的数据, 其中的70-90%仍会从外部网络远距离下载。这种完全无视底层网络拓扑、舍近求远的做 法,导致大量的跨网络流量,占用了相对宝贵的网间链路,增加了 ISP的负担,引起了 ISP的 对抗情绪;同时,网间链路又往往是拥塞比较严重的网络瓶颈,因而也会影响P2P软件的下 载速率,降低下载性能。解决这一问题有两种思路一是使用P2P Cache方法,在ISP控制的网络内放置 P2P Cache来缓存P2P流量;另一种就是P2P应用层流量优化方法,采用本地化的下载策略, 对等结点尽量选择与邻近结点构成Overlay网络、从邻近结点下载数据。其中,P2P Cache 方法的问题在于需要针对各种活跃的P2P软件设计相应的机制、实现相应的协议,工作量 比较大,而且P2P的流量巨大、传输的对象尺寸一般都比较大,需要的Cache容量大、速度 高,容易形成单点瓶颈,另外Cache内容也可能导致版权相关的法律问题。因此P2P应用层 流量优化方法就成为解决P2P软件ISP友好性问题的一种备受期望的思路。P2P应用层流量优化方法,是指在应用层优化P2P软件所产生网络流量的流向,以 避免大量的跨网络流量,同时提高对等结点的下载速率、减少下载时间。具体而言,是由ISP 维护一个服务器来提供拓扑信息,P2P软件作为客户端访问该服务器,读取拓扑信息,获得 对等结点之间的距离,然后选择距离较近的结点连接并传输数据,从而降低网络中的流量。 但是,现有的P2P应用层流量优化方法只考虑单一的距离指标,例如路由跳数或地理距离, 而没有考虑同时应用多个距离指标进行选择,而且现有的流量优化方法只在一个平面内选 择对等结点,而没有考虑互联网本身所具有的域内、域间两级路由体系。现有的互联网不是一个平面的网络,而是一个层次化的网络高层由各ISP的骨干网络相互连接而成,中间层 是汇聚网络,底层是接入网络。在这样的层次化结构中,不同链路具有不同的带宽与不同的 价值通常网间链路需要投入的资金较多,对ISP而言是价值较高的链路,同时带宽又往往 有限;而网内链路则相对带宽比较充裕,同时比较廉价。因此,只有在P2P流量优化的过程 中支持层次化的网络拓扑,才能根据不同链路的不同价值与地位实现最经济、最有效的优 化效果,以体现ISP的偏好。同时,流量优化需要拓扑信息,这种拓扑信息一般来自于路由 协议。而互联网的路由体系由域内和域间两级路由构成域间路由协议负责构造自治系统 AS级别的拓扑结构并计算AS间的路由,而域内路由协议负责构造AS内的拓扑结构并计算 AS内的路由。因此由这两种路由协议得到的拓扑信息一定是一个层次化的结构,因而相应 的P2P流量优化机制应该能够接收这样的层次化的拓扑信息,并根据这样的层次化的拓扑 信息给出优化方案。但是,现有的P2P应用层流量优化方法没有考虑互联网拓扑的层次化 特征,不能接收来自域内、域间两级路由体系的层次化的拓扑信息,而只是将互联网视为单 一平面网络,对所有链路一视同仁,因而不能体现不同链路的价值与ISP的偏好,不能从高 到低降低各层次网络上的流量,不能实现有效的优化效果
发明内容
本发明的目的在于针对现有P2P应用层流量优化方法所存在的问题,提出一种支 持层次化网络拓扑的P2P流量优化方法,以体现不同链路的价值与ISP的偏好,从高到低降 低各层次网络上的流量,实现有效的优化效果。实现本发明目的的核心思想为采用分布式的框架,每个自治系统AS内的网络拓 扑信息服务器NTIS,仅从本AS内的路由器收集本AS内的网络拓扑结构和全网的拓扑结构, 以构建全网的层次化的拓扑结构,并依据这样的层次化的拓扑结构计算本AS内某个对等 结点到全网任意结点间的层次化的流量优化距离,供流量优化客户端查询;将流量优化距 离层次化,用高层、低层两层或更多层距离描述结点间的流量优化距离,即用高层距离描述 宏观距离,用低层距离描述微观距离,比较距离时先比较高层距离,再比较低层距离;本AS 内的网络拓扑结构来自域内路由协议,全网的拓扑结构来自域间路由协议。其实现步骤包 括如下(1)每个自治系统AS内的网络拓扑信息服务器NTIS,从本AS内的多个路由器中 收集本AS内的网络拓扑结构和全网的拓扑结构,构建全网的层次化的拓扑结构;(2)每个AS内的流量优化服务器从本AS内的网络拓扑信息服务器NTIS取得全网 层次化的拓扑结构,并等候流量优化客户端的查询;(3)流量优化客户端向对等结点所在AS内的流量优化服务器提交查询请求,查询 该对等节点到其它对等结点的流量优化距离;(4)流量优化服务器接到查询请求后,根据全网层次化的拓扑结构,计算该对等 结点到其它对等结点的层次化的流量优化距离,并将该流量优化距离返回给流量优化客户 端;(5)流量优化客户端接到该对等结点到其它对等结点的层次化的流量优化距离 时,根据距离的远近选择较近的对等结点建立连接,传输数据。本发明具有如下的优点
(1)本发明由于在层次化的拓扑结构中计算层次化的流量优化距离,可以体现不 同链路的价值与ISP的偏好,从高到低降低各层次网络上的流量,实现有效的优化效果;(2)本发明由 于将来自不同路由协议的拓扑信息映射到统一的流量优化距离,故 可与互联网域内、域间两级路由体系相适应;(3)本发明由于其网络拓扑信息服务器NTIS仅从本AS内的路由器收集本AS的拓 扑结构和全网的拓扑结构,实现简单;(4)本发明由于采用层次化的流量优化距离,因而可以同时容纳多种物理含义的 距离信息,可以组合实现复杂的流量优化效果;(5)本发明由于采用分布式框架,不但流量优化服务器分布在全网,每个AS —个 流量优化服务器,而且在一个AS中网络拓扑信息也从AS中的多个路由器获取,因而负载分 散,网络中各个结点的负载不大。


图1是本发明中的系统结构图;图2是本发明的流程框图;图3是本发明中流量优化距离类型通知报文格式图;图4是本发明中流量优化标识格式通知报文格式图;图5是本发明中两个对等结点间层次化的流量优化距离的示例图;图6是本发明中流量优化服务器与流量优化客户端间的通信报文格式图。
具体实施例方式参照图1,支持层次化网络拓扑的P2P流量优化系统中的实体包括网络拓扑信息 服务器NTIS、流量优化服务器、流量优化客户端。网络拓扑信息服务器NTIS负责从本自治 系统AS内各处的路由器收集网络拓扑信息,包括AS内部的拓扑和AS外部的拓扑信息。AS 内部拓扑主要来自域内路由协议,如0SPF。有些类似OSPF的域内路由协议将一个AS划分 为若干区域,因而NTIS需要和各个区域内的路由器交互获得该区域内的链路状态信息。AS 外部的拓扑主要来自域间路由协议,如BGP ;NTIS要从运行BGP的AS边界路由器取得AS外 部的拓扑结构。NTIS获得AS内部的拓扑和AS外部的拓扑后,构建全网层次化的网络拓扑, 送给流量优化服务器。流量优化服务器根据网络拓扑信息计算流量优化距离,供流量优化 客户端查询。参照图2,本发明支持层次化网络拓扑的P2P流量优化方法,包括以下步骤步骤1,由每个自治系统AS内的网络拓扑信息服务器NTIS,从本AS内的多个路由 器中收集本AS内的网络拓扑结构和全网的拓扑结构,构建全网的层次化的拓扑结构。la)通过域内路由协议,如OSPF收集本AS内的网络拓扑结构;有些类似OSPF的 域内路由协议将一个AS划分为若干区域,每个区域的内部路由器只保存本区域的链路状 态,而由区域边界路由器汇总本区域的链路信息向区域外发送;对于运行类似OSPF的域内 路由协议的AS,网络拓扑信息服务器NTIS要从各个区域内的路由器收集来自各个区域的 拓扑信息,以构成整个AS的拓扑结构,该拓扑结构为存储了本AS内所有网络与结点间连接 状态的链路状态lb)通过域间路由协议,如路径向量协议BGP收集全网的网络拓扑结构;BGP运行 于AS边界路由器,它保存了到每一个AS的路径向量,该路径向量上存储了到某AS的路径 所经过的AS序列;由于各种路由策略的存在,路径向量存储的不一定是最短路径,但在只 考虑最短路径的假设下,稳态时BGP得到的网络拓扑是一个以本AS为根的树,其它所有AS 都是树中的结点;对于类似BGP的域间路由协议,网络拓扑信息服务器NTIS要从本AS的AS 边界路由器获得全网的拓扑结构,该拓扑结构是以本AS为根的路径向量树;Ic)分别获得本AS内的拓扑结构和全网的拓扑结构之后,以此构建全网的层次化 的拓扑结构;由于域内路由协议和域间路由协议存储网络拓扑的方式不同,例如域内路由 协议OSPF以链路状态形式存储拓扑结构,而域间路由协议BGP以路径向量形式存储拓扑结 构,因此在构造全网的层次化的拓扑结构时,是分别存储本AS内的拓扑结构和全网的拓 扑 结构。步骤2,每个AS内的流量优化服务器从本AS内的网络拓扑信息服务器NTIS取得 全网层次化的拓扑结构,并等候流量优化客户端的查询。步骤3,流量优化客户端向对等结点所在AS内的流量优化服务器提交查询请求, 查询该对等节点到其它对等结点的流量优化距离。流量优化客户端可以是对等结点Peer,也可以是P2P系统中的目录服务器 Tracker ;当流量优化客户端是对等结点Peer时,对等结点直接访问所在AS的流量优化服 务器,提交本机的地址和候选对等结点的地址列表,查询本机到各候选对等结点的流量优 化距离;若流量优化客户端是目录服务器Tracker,当某个对等结点连接到Tracker请求返 回对等结点列表时,Tracker向该对等结点所在AS的流量优化服务器发出查询请求,提交 该对等结点的地址和候选对等结点的地址列表,查询该对等结点到各候选对等结点的流量 优化距离。步骤4,流量优化服务器接到查询请求后,根据全网的层次化的拓扑结构,计算该 对等结点到其它对等结点的流量优化距离,并将该流量优化距离返回给流量优化客户端。4a)定义流量优化距离为层次化的距离,包含从高到低多个层次,描述各个层次上 的某种物理含义的距离,用高层距离描述宏观距离,用低层距离描述微观距离;例如定义两 层,高一层是结点之间的AS数,低一层是结点间路径在本AS内的路由跳数;在这一层次化 的流量优化距离定义下,比较两个流量优化距离时,首先比较高一层距离,然后在高层距离 相同或相近时再比较下一层距离;每一层流量优化距离的物理含义有多种,例如反映对等 结点间距离的AS数、路由跳数、地理距离、体现ISP偏好的开销,以及反映对等结点间链路 性能的往返时间RTT或可用带宽的倒数;层次化的流量优化距离中每一层的物理含义由流 量优化服务器通知流量优化客户端,通知报文格式如图3所示先定义层次数,然后是每一 层距离的类型,如0x01表示路由跳数、0x02表示AS数等,类型字长为8位;每层距离值的 字长为16位;4b)定义对等结点的流量优化标识为层次化的标识;例如,对于一个对等结点,将 其标识定义为两层结构,高层为AS号,低层为IP地址;实际中可根据需要定义若干层次,例 如若干AS构成一个AS组,AS组号为最高层标识,其次为AS号,然后是若干子网构成区域 的区域号,最后是IP地址;流量优化服务器为流量优化客户端提供两种查询服务一是将 地址转换为层次化的流量优化标识,二是计算源对等结点标识到一些目的对等结点标识间的流量优化距离;流量优化标识的格式由流量优化服务器通知流量优化客户端,其通知报 文的结构如图4所示先定义层次数,之后是每一层标识的字长列表,表示每一层标识长度 为多少字节,由于字长值为8位,因而每一层标识最长为255字节,以后流量优化服务器和 流量优化客户端间交互数据中的流量优化标识都按此格式定义;4c)根据拓扑结构计算流量优化距离时,按照每个层次上的网络拓扑结构,分别计 算各层次上的流量优化距离,因为各个层次上的网络拓扑来自不同的路由协议,这些路由 协议保存的拓扑信息有很大不同,例如域内路由协议OSPF是链路状态协议,而域间路由协 议BGP是路径向量协议,因此需要 分别设计映射到流量优化距离的方法;4d)在计算某个层次上的流量优化距离时,若该层次上的网络拓扑结构以链路状 态形式存储,则通过最短路径算法如Floyd算法或Dijkstra算法求得该对等结点到其它 对等结点在该层次网络上的最短路径,也就得到了结点间在该层网络上的流量优化距离; 以OSPF协议为例,链路上的权值在OSPF协议中称为代价,有的厂商将代价设置为链路带宽 的倒数,如果直接采用OSPF代价作为边的长度,则流量优化距离就是最短路径上的代价之 和;若将边长设置为1,则流量优化距离就是最短路径的路径长度,也就是路由跳数;若将 边长设为结点间的地理距离,则流量优化距离就是最短路径所经过的地理距离之和;当AS 中的结点数量很大时,利用OSPF的原区域划分方法降低最短路径的求解复杂度;4e)在计算某个层次上的流量优化距离时,若该层次上的网络拓扑结构以路径向 量形式存储,则通过直接查询路径向量树获得该对等结点到其它对等结点在该层次上的流 量优化距离;以BGP协议为例,BGP存储了以本AS为根的路径向量树,全网所有AS都是树 中的结点,因此通过查询路径向量树就能直接获得从本AS到其它任一 AS所经过的AS数, 作为高一层流量优化距离;若设置了 AS间的地理距离,则将经过AS路径上的地理距离之和 作为流量优化距离;4f)使用4d)和4e)中的方法分别计算得到各个层次上的流量优化距离后,将其组 合成层次化的流量优化距离;例如,若本AS内的拓扑结构来自0SPF、全网的拓扑结构来自 BGP,在分别计算了本AS内的距离和AS间的距离之后,将其分别作为层次化的流量优化距 离中的两层,其中高层描述AS间的距离,低层描述本AS内的距离;此时,若一个对等结点和 另一个候选对等结点位于同一 AS,则它们之间的AS距离为零,即高层距离为零;而低层距 离为它们之间在AS内部的距离,如路由跳数;若一个对等结点和另一个候选对等结点位于 不同的AS,则它们之间的高层距离为两者间的AS数、即AS距离;而它们之间的低层距离为 从该对等结点路由到候选对等结点在该对等结点所在AS内部的部分路径的长度;以图5为 例,对等结点A位于自治系统ASl中,候选对等结点B位于自治系统AS2中,流量优化客户 端向ASl中的流量优化服务器查询对等结点A到其它候选对等结点的流量优化距离;在计 算A到B的距离时,假设A到B的路由为首先由A路由到ASl的边界路由器S,再由S路由 到AS2的边界路由器T,最后由T路由到B,则A到B的高层流量优化距离为ASl到AS2之 间的AS数,也就是S到T之间的路由经过了多少个AS ;而A到B的低层流量优化距离为该 路由在ASl内部的路径长度,也即A到S的路由跳数。上述步骤3和步骤4中流量优化客户端与流量优化服务器之间的数据交互通过加 密连接TLS传输,以保证安全性。交互的报文格式如图6所示,其中8位的版本号指明当前 通信协议的版本,24位的报文长度指明本报文的长度,16位的报文类型指明后面报文内容的含义,不同的报文类型后面报文内容的含义不同。例如当报文类型为流量优化标识请求 时,后面报文内容中包含所请求转化的地址列表;当报文类型为流量优化标识应答时,报文 内容中包括转化后的地址和流量优化标识映射列表;当报文类型为流量优化距离请求时, 后面报文中包括源地址或流量优化标识和目的地址或流量优化标识列表;当报文类型为流 量优化距离应答时,报文内容包括源对等结点到所有目的对等结点的流量优化距离列表。 另外还应有专门的出错报文类型,在处理出错时发送。
步骤5,流量优化客户端接到该对等结点到其它对等结点的层次化的流量优化距 离时,根据距离的远近选择较近的对等结点建立连接,传输数据。5a)选择较近的对等结点时,是先根据高层距离选择距离较小的对等结点建立连 接;若高层距离相同或相近,则再根据低层距离选择距离较小的对等结点建立连接;5b)当流量优化客户端是对等结点Peer时,对等结点接到流量优化距离后,选择 距离较近的对等结点建立连接,传输数据;当流量优化客户端是目录服务器Tracker时, Tracker接到流量优化距离后,选择距离较近的对等结点组成对等结点列表,然后将该列表 返回给之前请求列表的对等结点,该对等结点再连接列表中的结点传输数据。术语解释P2P :Peer-to_Peer,对等网络ISP Jnternet Service Provider,互联网服务提供商Overlay网络覆盖网络P2P Cache 对等网络缓存AS Autonomous System,自治系统NTIS =Network Topology Information Server,网络拓扑信息月艮务器OSPF =Open Shortest Path First,开放式最短路径优先协议BGP =Border Gateway Protocol,边界网关协议Peer 对等结点Tracker 目录服务器RTT =Round-Trip Time,往返时间IP Jnternet Protocol,网际协议Floyd算法弗洛伊德算法Dijkstra算法迪杰斯特拉算法TLS transport Layer Security,传输层安全协议
权利要求
一种支持层次化网络拓扑的P2P流量优化方法,包括以下步骤(1)每个自治系统AS内的网络拓扑信息服务器NTIS,从本AS内的多个路由器中收集本AS内的网络拓扑结构和全网的拓扑结构,构建全网的层次化的拓扑结构;(2)每个AS内的流量优化服务器从本AS内的网络拓扑信息服务器NTIS取得全网层次化的拓扑结构,并等候流量优化客户端的查询;(3)流量优化客户端向对等结点所在AS内的流量优化服务器提交查询请求,查询该对等节点到其它对等结点的流量优化距离;(4)流量优化服务器接到查询请求后,根据全网层次化的拓扑结构,计算该对等结点到其它对等结点的层次化的流量优化距离,并将该流量优化距离返回给流量优化客户端;(5)流量优化客户端接到该对等结点到其它对等结点的层次化的流量优化距离时,根据距离的远近选择较近的对等结点建立连接,传输数据。
2.根据权利要求1所述的支持层次化网络拓扑的P2P流量优化方法,其特征在于,步 骤(1)所述的从本AS内的多个路由器中收集本AS内的网络拓扑结构和全网的网络拓扑结 构,按如下步骤进行2a)通过域内路由协议收集本AS内的网络拓扑结构;对于将AS划分成若干区域的域 内路由协议,网络拓扑信息服务器NTIS要从各个区域内的路由器收集来自各个区域的拓 扑信息,以构成整个AS的网络拓扑结构;2b)通过域间路由协议收集全网的网络拓扑结构;对于类似BGP的域间路由协议,网络 拓扑信息服务器NTIS要从本AS的AS边界路由器获得全网的网络拓扑结构。
3.根据权利要求1所述的支持层次化网络拓扑的P2P流量优化方法,其特征在于,步 骤(4)所述的层次化的流量优化距离,包含从高到低多个层次,用高层距离描述宏观距离, 用低层距离描述微观距离。
4.根据权利要求1所述的支持层次化网络拓扑的P2P流量优化方法,其特征在于,步骤 (4)所述的根据全网层次化的拓扑结构计算该对等结点到其它对等结点的层次化的流量优 化距离,按如下步骤进行4a)根据每个层次上的网络拓扑结构,分别计算各层次上的流量优化距离,最后再组合 成层次化的流量优化距离;4b)在计算某个层次上的流量优化距离时,若该层次上的网络拓扑结构以链路状态形 式存储,则通过最短路径算法求得该对等结点到其它对等结点在该层次上的流量优化距 罔;4c)在计算某个层次上的流量优化距离时,若该层次上的网络拓扑结构以路径向量形 式存储,则通过直接查询路径向量树获得该对等结点到其它对等结点在该层次上的流量优 化距离。
5.根据权利要求1所述的支持层次化网络拓扑的P2P流量优化方法,其特征在于,步 骤(5)所述的根据距离的远近选择较近的对等结点建立连接,是先根据高层距离选择距离 较小的对等结点建立连接;若高层距离相同或相近,则再根据低层距离选择距离较小的对 等结点建立连接。
全文摘要
本发明公开了一种支持层次化网络拓扑的P2P流量优化方法,主要解决现有技术不能处理层次化的网络拓扑信息、不能实现有效优化的问题。其实现步骤是每个自治系统AS内的网络拓扑信息服务器NTIS,仅从本AS内的路由器收集本AS内的拓扑结构和全网的拓扑结构,构建全网的层次化的拓扑结构,交给流量优化服务器;流量优化服务器依此计算本AS内某个对等结点到全网任意结点间的层次化的流量优化距离,供流量优化客户端查询;流量优化客户端根据层次化的流量优化距离,选择距离较近的对等结点建立连接、传输数据。本发明能够处理层次化的网络拓扑信息,体现不同链路的价值,可用于降低各层次网络上的P2P流量。
文档编号H04L12/56GK101969458SQ20101029189
公开日2011年2月9日 申请日期2010年11月26日 优先权日2010年11月26日
发明者宋建锋, 张彤, 徐亮, 权义宁, 盛立杰, 董学文, 谢琨 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1