论文部分内容阅读
本文主要研究网络拓扑测量中末跳路由器探测和子网发现技术。末跳路由器探测技术,旨在用较小的测量负载,发现到目标的最后一跳路由器,为进一步对目标网络实施高效拓扑探测提供依据。传统traceroute方法由于存在较多冗余测量不适合专门用于末跳发现。本文结合网络距离预测技术,提出并实现了三种高效发现末跳路由的方法:基于网络侦查包获取精确网络距离的探测方法,基于TTL指纹估计网络距离的步进探测法,基于二分策略的二分探测法。综合使用三种方法进行大规模末跳路由器探测,并对其发现率,单目标平均发包量进行评估后发现,精准探测法虽然只能用于20%左右的目标,但该方法的平均发包量仅为2,步进探测法和二分法适用于所有存活目标,二分法平均发包量为5,步进法平均发包量最小为3。但步进探测法的性能依赖于预测距离偏差的分布情况。基于上述结果,本文的另一个贡献是,提出了一种动态调整测量方式的适应性末跳发现方法,能够在测量过程中,根据中间结果和三种测量方法的性能表现,选择最优方法,以获得最高的发现率和探测效率。实验表明最优组合法的平均发包量不超过5,效果优于三种方法单独使用时的表现。Traceroute测量是发现拓扑路径的主要手段,然而在用其进行大规模网络拓扑测量时,会产生测量冗余,尤其在对子网进行拓扑发现时,会在网络核心处产生大量重复探测。对此,本文利用子网地址划分机制等外部信息,和目标子网拓扑具有近似树形结构等经验认识,提出了三种子网发现技术:子网分支生长探测技术、正向反向探测技术以及多类型探测包探测技术。子网分支生长技术在探测过程中使用深度优先搜索的思想,不断将目标网段划分成更小的子网,对不同子网的起止目标进行递归探测;正向反向探测技术,重复遇到已测IP时,根据到同一子网的路径相同的假设,会提前停止逐跳探测的过程,降低测量冗余;多类型探测包探测技术,在超时后更换探测包类型,以提高回复的几率。综合这三种技术,本文基于NSE实现了一个高效子网发现工具fastrace。在150个虚拟专用服务器上对fastrace进行测量实验,并与traceroute工具的结果在拓扑规模,发包量等方面进行对比后发现,fastrace能在不损失发现拓扑完整性的前提下,显著地降低测量冗余。