一种基于BGP前缀树的IP地址路由可达性识别方法技术

技术编号:35341802 阅读:16 留言:0更新日期:2022-10-26 12:06
本发明专利技术公开了一种基于BGP前缀树的IP地址路由可达性识别方法,包括:步骤1.获取多个数据采集节点的BGP路由数据并汇总和预处理,所述预处理包括将所有BGP路由数据按照目标前缀字段进行排序;步骤2.针对步骤1排序后的BGP路由数据,根据前缀间的包含关系进行分组并基于各组前缀构建前缀树;步骤3.针对步骤2获得的各个前缀树,独立地计算其中各个前缀路由可达的置信度;步骤4.对比各个前缀路由可达的置信度和预设门限,获得整个IPv4地址空间路由可达的所有前缀。本发明专利技术可实现对多源BGP信息的合理融合,进而为整个IPv4地址空间生成一致的IP地址路由可达性分析结果,为后续的深度探测扫描提供优选目标。描提供优选目标。描提供优选目标。

【技术实现步骤摘要】
一种基于BGP前缀树的IP地址路由可达性识别方法


[0001]本专利技术涉及网络空间测绘
,尤其涉及一种基于BGP前缀树的IP地址路由可达性识别方法。

技术介绍

[0002]随着网络空间发展为人类生产生活的第五空间,学术界和产业界对通过网络空间测绘技术生成能够反映全球网络空间资源分布及其连接关系的网络地图的需求越发强烈。在生成网络空间地图的过程中,IP地址通常被作为区分网络空间资源的唯一标识,是对各类网络目标进行探测时的直接输入。长度为32bit的IPv4地址总数有近43亿,虽然IP地址资源管理的官方机构在2019年11月宣告已将所有可用地址分配出去,但并不代表所有IPv4地址均已投入使用。在对网络空间中的各类目标进行深度探测前,若能首先通过主动或被动的方式掌握目标区域在用且路由可达的IP地址集合,可以极大地减小探测目标输入集,提升探测效率。
[0003]在主动探测方面,Zmap和Masscan是最为典型的两个IP地址存活性探测工具。它们的工作原理类似,向每个目标IP地址发送特定类型的探测报文,然后根据目标的响应行为判定其是否存活。这类方法的问题在于:一方面,主动发包的方式在大规模探测过程中会给网络带宽带来极大压力,严重时会使得网络发生拥塞,从而导致网络性能下降影响网络的正常业务;另一方面,由于依赖于探测目标对探测报文的响应,当探测目标由于安全等级设置较高而不对探测报文进行响应,或者由于网络拥塞发生丢包而导致探测源未能收到响应报文时,会导致大量存活IP地址被遗漏。
[0004]在被动探测方面,可用的信息来源包括流量数据、系统访问日志数据、BGP路由数据等。它们的工作原理大同小异,认为能够从源数据中解析获得的IP地址即为存活IP或者可路由IP。流量、系统访问日志等数据的问题在于它们有很强的局限性,只能覆盖地址空间的极小部分。在数据采集节点数量较多、分布合理的前提下,根据BGP路由数据中可以判断整个地址空间的各个IP前缀是否路由可达。但是,IP前缀的划分粒度在不同数据采集节点对应的数据中各不相同,导致不同节点获得的IP前缀之间存在复杂的嵌套关系或者异常冲突,因此,需要对这些数据进行合理的融合并生成一致的结果。
[0005]然而,现有方法常采用简单粗暴的方法将所有IP地址划分到/24位前缀中,然后计算每个/24位IP前缀的出现次数,认为出现次数超过某个预设门限值的前缀即为可路由前缀。例如,文献Lost in Space:Improving Inference of IPv4 Address Space Utilization,IEEE Journal on Selected Areas in Communications,vol.34,no.6,pp.1862

1875,Jun.2016.和Estimating Internet Address Space Usage Through Passive Measurements,ACM SIGCOMM Comput.Commun.Rev.,vol.44,no.1,pp.42

49,Jan.2014均采用上述思路分析/24位IP前缀在互联网中的使用情况。

技术实现思路

[0006]为解决现有技术中存在的技术问题,特别是基于被动数据的IP地址路由可达性识别方法中,对多源BGP数据进行融合时未能有效解决IP前缀间的复杂关系和异常冲突的问题,本专利技术提出一种基于BGP前缀树的IP地址路由可达性识别方法,通过构建以前缀为节点、前缀间的包含关系为边的前缀树,用树状结构中节点间的父子关系在前缀间传递BGP数据采集节点的信息,从而实现对多源BGP信息的合理融合,进而为整个IPv4地址空间生成一致的IP地址路由可达性分析结果,为后续的深度探测扫描提供优选目标。
[0007]本专利技术采用的技术方案如下:
[0008]一种基于BGP前缀树的IP地址路由可达性识别方法,包括:
[0009]步骤1.获取多个数据采集节点的BGP路由数据并汇总和预处理,所述预处理包括将所有BGP路由数据按照目标前缀字段进行排序;
[0010]步骤2.针对步骤1排序后的BGP路由数据,根据前缀间的包含关系进行分组并基于各组前缀构建前缀树;
[0011]步骤3.针对步骤2获得的各个前缀树,独立地计算其中各个前缀路由可达的置信度;
[0012]步骤4.对比各个前缀路由可达的置信度和预设门限,获得整个IPv4地址空间路由可达的所有前缀。
[0013]进一步地,所述步骤1包括以下子步骤:
[0014]步骤101.从包括但不限于Routeviews和RIPE NCC的BGP监测项目中获取最新的BGP路由数据;
[0015]步骤102.每条BGP路由数据包含Network,Next Hop,Metric,LocPrf,Weight,Path字段,抽取其中的Network和Next Hop字段,然后对所有BGP路由数据进行预处理。
[0016]进一步地,所述对所有BGP路由数据进行预处理包括以下子步骤:
[0017]步骤1021.将Next Hop字段的IP地址替换为该IP地址对应的/24位网段;
[0018]步骤1022.将BGP路由数据进行去重,若多条数据的Network字段和替换后的Next Hop字段都相同,则仅保留一条;
[0019]步骤1023.按照Network字段对应的起始地址和末尾地址的大小对所有BGP路由数据进行排序,获得Network字段起始地址从小到大排列的数据序列。
[0020]进一步地,所述步骤2包括以下子步骤:
[0021]步骤201.遍历排序后的所有BGP路由数据,判断当前BGP路由数据Network字段对应的前缀F
c
是否为根前缀,若是则执行步骤202,否则执行步骤203;同时将Next Hop字段的网段地址加入前缀F
c
对应的观测节点集V(F
c
)中;
[0022]步骤202.初始化一个新的前缀树,用包含前缀F
c
的前缀列表[F
c
]表示,再执行步骤204;
[0023]步骤203.如果前缀F
c
不同于当前前缀树的前缀列表中最后一个前缀,则将前缀F
c
加入到当前前缀树中,用前缀列表[F
r
,

,F
e
,F
c
]表示,再执行步骤204;
[0024]步骤204.将每个前缀树按照前缀间的包含关系由前缀列表的形式转换为树状结构。
[0025]进一步地,所述前缀树是一种节点为前缀、边为前缀之间包含关系的树状结构,如
果两个不同的前缀F
p
和前缀F
c
满足前缀F
p
包含前缀F
c
,则存在一条前缀F
p
指向前缀F
c<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于BGP前缀树的IP地址路由可达性识别方法,其特征在于,包括:步骤1.获取多个数据采集节点的BGP路由数据并汇总和预处理,所述预处理包括将所有BGP路由数据按照目标前缀字段进行排序;步骤2.针对步骤1排序后的BGP路由数据,根据前缀间的包含关系进行分组并基于各组前缀构建前缀树;步骤3.针对步骤2获得的各个前缀树,独立地计算其中各个前缀路由可达的置信度;步骤4.对比各个前缀路由可达的置信度和预设门限,获得整个IPv4地址空间路由可达的所有前缀。2.根据权利要求1所述的基于BGP前缀树的IP地址路由可达性识别方法,其特征在于,所述步骤1包括以下子步骤:步骤101.从包括但不限于Routeviews和RIPE NCC的BGP监测项目中获取最新的BGP路由数据;步骤102.每条BGP路由数据包含Network,Next Hop,Metric,LocPrf,Weight,Path字段,抽取其中的Network和Next Hop字段,然后对所有BGP路由数据进行预处理。3.根据权利要求2所述的基于BGP前缀树的IP地址路由可达性识别方法,其特征在于,所述对所有BGP路由数据进行预处理包括以下子步骤:步骤1021.将Next Hop字段的IP地址替换为该IP地址对应的/24位网段;步骤1022.将BGP路由数据进行去重,若多条数据的Network字段和替换后的Next Hop字段都相同,则仅保留一条;步骤1023.按照Network字段对应的起始地址和末尾地址的大小对所有BGP路由数据进行排序,获得Network字段起始地址从小到大排列的数据序列。4.根据权利要求3所述的基于BGP前缀树的IP地址路由可达性识别方法,其特征在于,所述步骤2包括以下子步骤:步骤201.遍历排序后的所有BGP路由数据,判断当前BGP路由数据Network字段对应的前缀F
c
是否为根前缀,若是则执行步骤202,否则执行步骤203;同时将Next Hop字段的网段地址加入前缀F
c
对应的观测节点集V(F
c
)中;步骤202.初始化一个新的前缀树,用包含前缀F
c
的前缀列表[F
c
]表示,再执行步骤204;步骤203.如果前缀F
c
不是新前缀树的根前缀,且...

【专利技术属性】
技术研发人员:张志勇饶志宏徐锐程丽君李明桂段梦军张若愚张明艳
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1