[发明专利]BGP引导的实时自治系统级拓扑发现方法有效
申请号: | 200910044746.1 | 申请日: | 2009-11-12 |
公开(公告)号: | CN101714942A | 公开(公告)日: | 2010-05-26 |
发明(设计)人: | 彭伟;卢泽新;张晓哲;王宏;胡晓峰;赵锋;胡宁 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种BGP引导的实时自治系统级拓扑发现方法,目的是提供一种拓扑完整性大的互联网AS级拓扑实时发现方法。技术方案是先建立BGP引导的由BGP路由器、AS拓扑发现服务器和AS拓扑发现探测器组成的实时AS拓扑发现系统;接着启动AS拓扑发现服务器程序和AS拓扑发现探测器程序,AS拓扑发现探测器均向AS拓扑发现服务器注册;AS拓扑发现服务器周期地进行AS拓扑发现,建立到BGP路由器的会话,从BGP路由器得到BGP路由信息,根据BGP路由信息进行计算,得到初始AS拓扑以及IP网络地址与AS号的对应关系;最后AS拓扑发现服务器和AS拓扑发现探测器相互协作,进行AS邻接关系的探测和更新。采用本发明可实时发现较完整的AS级拓扑,且拓扑发现的通信开销低。 | ||
搜索关键词: | bgp 引导 实时 自治 系统 拓扑 发现 方法 | ||
【主权项】:
一种BGP引导的实时自治系统级拓扑发现方法,其特征在于包括以下步骤:第一步,建立BGP引导的实时AS拓扑发现系统,该系统由BGP路由器-简称为路由器、AS拓扑发现服务器-简称为服务器和AS拓扑发现探测器-简称为探测器组成;所述AS是指自治系统;BGP路由器是指运行域间路由协议BGP的路由器,位于AS的边缘,与互联网中其他AS的路由器连接;AS拓扑发现服务器是指进行AS拓扑发现的计算机,部署在BGP路由器所在自治系统内,其上装有AS拓扑发现服务程序,它从BGP路由器获得BGP的路由信息,从AS拓扑发现探测器获得IP转发路径信息;AS拓扑发现服务器上设置有记录所有AS拓扑发现探测器的IP地址的数据结构-探测器IP地址列表;AS拓扑发现探测器是分布在互联网中的联网计算机,其上运行探测器程序,每个探测器程序有一个运行参数配置文件,其中包含AS拓扑发现服务器的域名或IP地址;运行参数配置文件由用户在建立BGP引导的实时AS拓扑发现系统创建;探测器程序内嵌于点到点P2P即Peer-to-Peer系统的peer节点程序中;AS拓扑发现服务器与BGP路由器通过局域网或Internet连通,AS拓扑发现服务器通过Internet与AS拓扑发现探测器连通,AS拓扑发现服务器与BGP路由器之间的通信基于传输控制协议TCP,AS拓扑发现服务器与AS拓扑发现探测器之间的通信基于用户数据报协议UDP;第二步,分别启动AS拓扑发现服务器程序和AS拓扑发现探测器程序,每个AS拓扑发现探测器上的AS拓扑发现探测器程序启动后,均向AS拓扑发现服务器注册,注册过程为:(2.1)AS拓扑发现探测器从运行参数配置文件获得AS拓扑发现服务器的域名或IP地址,用此域名或IP地址向AS拓扑发现服务器发送注册请求消息,注册请求消息包含AS拓扑发现探测器的IP地址;在AS拓扑发现探测器中设置第一定时器,在发送了注册请求消息后,启动第一定时器,第一定时器的超时时间为T1;(2.2)AS拓扑发现服务器收到AS拓扑发现探测器送来的注册请求消息后,将该AS拓扑发现探测器的IP地址保存到探测器IP地址列表中,并向AS拓扑发现探测器发送一个注册确认消息;(2.3)若AS拓扑发现探测器的第一定时器超时,即从发送注册请求消息起,AS拓扑发现探测器在等待时间T1内没有收到注册确认消息,则转(2.1)步;若AS拓扑发现探测器收到了从AS拓扑发现服务器发送来的注册确认消息,则AS拓扑发现探测器开始等待接收AS拓扑发现服务器发送来的探测请求消息,注册过程结束;第三步,AS拓扑发现服务器周期地进行AS拓扑发现,方法是:在AS拓扑发现服务器中设置第二定时器,第二定时器以更新周期T2定时触发进行新一轮的AS拓扑发现,当第二定时器超时触发时,执行第四步至第六步进行新一轮的拓扑发现;第四步,AS拓扑发现服务器建立到BGP路由器的会话,从BGP路由器得到BGP路由信息:如果有多台BGP路由器,则AS拓扑发现服务器分别与多台BGP路由器建立连接,并从这些BGP路由器接收BGP路由信息;BGP路由协议通过路由更新消息将本路由器的IP网络路由信息通告给邻居,每一条BGP路由信息包含一个IP网络地址和对应该IP网络地址的路由属性;路由属性中包含最短AS路径属性,AS路径是指从BGP路由器到达该IP网络地址需要经过的AS序列,最短AS路径是指从BGP路由器到达该IP网络地址需要经过的最少AS序列,所有BGP路由信息构成BGP路由信息库;第五步,AS拓扑发现服务器根据接收到的BGP路由信息进行计算,得到初始AS拓扑以及IP网络地址与AS号的对应关系,方法是:(5.1)将AS拓扑用AS邻接矩阵来表示,AS邻接矩阵为N×N的0/1矩阵,N为AS的个数,若第i行第j列的矩阵元素为0,则表示第i个AS与第j个AS之间不存在邻接关系;若为1,则表示它们之间存在邻接关系,具体方法是:(5.1.1)初始时,将AS邻接矩阵所有元素设置为0;(5.1.2)对任意一条AS路径a1,a2,a3,...,ak,1≤i≤k-1,k为AS路径长度,设自治系统ai在AS邻接矩阵中的编号为x,对应AS邻接矩阵的第x行,自治系统ai+1在AS邻接矩阵中的编号为y,对应AS邻接矩阵的第y列,则将ai与ai+1对应的矩阵元素即第x行第y列的矩阵元素置为1;(5.2)根据BGP路由信息计算IP网络地址与AS号的对应关系,方法是:对每一项BGP路由信息,若其IP网络地址为Net1,AS路径为a1,a2,a3,...,am,则am是网络地址Net1所属的AS;第六步,AS拓扑发现服务器和AS拓扑发现探测器相互协作,进行AS邻接关系的探测和更新,方法是:(6.1)在AS拓扑发现服务器中创建一个探测历史记录,记录探测得到的AS转发路径,探测历史记录初始时为空,AS转发路径是IP分组转发经过的AS序列;(6.2)由AS拓扑发现服务器根据当前的AS邻接矩阵和探测历史记录选择源AS号和目标AS号;源AS号是待探测的AS转发路径的起始AS号,目标AS是待探测的AS转发路径的终止AS号;(6.3)若第(6.2)步不能得到源AS号和目标AS号,则本轮拓扑发现过程结束,转第三步;若第(6.2)步得到了源AS号和目标AS号,转(6.4)步;(6.4)根据IP网络地址和AS号的对应关系、探测器IP地址列表,由AS拓扑发现服务器从多个AS拓扑发现探测器中选择出一个作为源AS拓扑发现探测器-简称源探测器,并选择一个IP地址作为探测目标IP地址,选择方法为:(6.4.1)如果探测器IP地址列表中某一个AS拓扑发现探测器的IP地址对应的AS号就是源AS号,则直接选择该AS拓扑发现探测器作为源探测器;否则,根据IP网络地址和AS号的对应关系以及AS最短路径的长度,选择一个IP地址与源AS最近的AS拓扑发现探测器作为源探测器;(6.4.2)如果探测器IP地址列表中某一个AS拓扑发现探测器的IP地址对应的AS号为目标AS号,则直接选择该AS拓扑发现探测器的IP地址作为探测目标IP地址;否则,根据IP网络地址和AS号的对应关系,从对应于目标AS号的IP网络地址段中随机选择一个有效的单播IP地址作为探测目标IP地址;(6.4.3)若不能成功选择出源探测器和探测目标IP地址,则转(6.2)步;若选择出了源探测器和探测目标IP地址,转(6.5)步;(6.5)在AS拓扑发现服务器中为每个源探测器设置一个探测请求失败次数的计数器,初始时,探测请求失败次数设置为0;(6.6)由AS拓扑发现服务器向源探测器发送探测请求消息,探测请求消息中包含探测目标IP地址;在AS拓扑发现服务器中为每个源探测器设置一个第三定时器,从发送探测请求消息给某个源探测器开始,AS拓扑发现服务器启动与该源探测器对应的第三定时器;第三定时器的超时等待时间为T3;当等待时间达到T3时,定时器超时;(6.7)源探测器接收到从AS拓扑发现服务器发送来的探测请求消息后,使用traceroute探测方法获得从源探测器IP地址到探测目标IP地址的IP转发路径;(6.8)源探测器向AS拓扑发现服务器发送探测应答消息,探测应答消息中包含traceroute探测方法的探测结果,即从源探测器IP地址到探测目标IP地址的IP转发路径;(6.9)若在与源探测器对应的第三定时器超时之前,AS拓扑发现服务器接收到了源探测器发来的探测应答消息,则转第(6.10)步;若第三定时器超时,即在等待时间T3内没有收到从所述源探测器发送来的探测应答消息,则探测请求失败,AS拓扑发现服务器将该源探测器的探测请求失败次数增加1;若探测请求失败次数大于等于最大探测请求次数K,则AS拓扑发现服务器认为该源探测器已不可用,AS拓扑发现服务器将该源探测器的IP地址从探测器IP地址列表中删除,转步骤(6.4);若探测请求失败次数小于K,则转步骤(6.6);(6.10)AS拓扑发现服务器收到探测应答消息后,根据IP网络地址与AS号的对应关系,将源探测器发送来的探测应答消息中包含的从源探测器IP地址到探测目标IP地址的IP转发路径转换为AS转发路径;(6.11)AS拓扑发现服务器遍历探测历史记录,判断当前得到的AS转发路径是否是重复的信息,即判断当前得到的AS转发路径是否被包含在探测历史记录中;若是重复的AS转发路径信息,则丢弃这条AS转发路径,转(6.2)步;若不是重复的信息,则将该AS转发路径保存到探测历史记录中;(6.12)AS拓扑发现服务器根据AS转发路径中的AS邻接关系,更新AS拓扑图,方法为:对于第3.6步得到的AS转发路径a1,a2,a3,...,ak,设自治系统ai在AS邻接矩阵中的编号为x,自治系统ai+1在AS邻接矩阵中的编号为y,则将ai与ai+1对应的矩阵元素,即第x行第y列的矩阵元素置为1,AS连接信息添加结束后,转(6.2)步。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910044746.1/,转载请声明来源钻瓜专利网。