网络拓扑发现 [文献翻译]2011-02-15.doc 666
- 格式:doc
- 大小:902.00 KB
- 文档页数:24
计算机网络中的网络拓扑发现算法研究随着计算机网络规模和复杂性的不断增加,网络拓扑的准确发现变得至关重要。
网络拓扑是指网络中各个节点之间的连接关系,这对于网络管理、故障排除和性能优化等方面至关重要。
因此,研究并实现高效的网络拓扑发现算法成为了计算机网络领域的一个重要课题。
网络拓扑发现算法旨在通过网络流量的分析和节点的信息交换,建立网络节点之间的连接关系。
这样的算法通常基于分布式计算和数据收集,旨在提供准确性、实时性和可扩展性。
以下介绍几种常见的网络拓扑发现算法。
1. 链路状态协议(Link-State Protocol)链路状态协议是一种基于分布式计算的网络拓扑发现算法。
该算法的核心思想是每个节点收集和维护来自相邻节点的链路信息,并将这些信息传递给其他节点。
通过链路状态协议,网络中的每个节点都可以构建全局的网络图,从而实现准确的拓扑发现。
2. 路由器发现协议(Router Discovery Protocol)路由器发现协议是一种主动式的网络拓扑发现算法。
该算法通过路由器主动发送广播消息,以探测网络中的其他路由器。
当其他路由器接收到广播消息后,它们会回复自己的信息,从而建立网络中路由器之间的连接关系。
通过路由器发现协议,网络拓扑可以快速而准确地被发现。
3. 邻居发现协议(Neighbor Discovery Protocol)邻居发现协议是一种被动式的网络拓扑发现算法。
它通过监听网络中的数据流量,并检测从其他节点发送而来的消息,从而识别并记录与之相连的节点。
邻居发现协议通常适用于小型网络,其优势在于无需主动发起广播消息,在一定程度上减少了网络负载和资源消耗。
4. 混合型拓扑发现算法(Hybrid Topology Discovery Algorithm)混合型拓扑发现算法是一种结合了链路状态和路由器发现两种算法的综合型方法。
在该算法中,节点首先通过链路状态协议建立一个初步的局部拓扑,并同时使用路由器发现协议主动发现网络中的其他节点。
网络拓扑快速发现方法分析网络拓扑结构研究对自治域协议安全分析、网络提供商(ISP)优化网络性能和网络安全管理意义重大。
网络拓扑发现根据路由等网络元素存储的转发路径信息或网络主动测量获取的逐跳路径信息,对网络拓扑结构进行获取和分析。
网络拓扑发现方法分为基于路由转发表、基于简单网络管理协议(SNMP)和管理信息库(MIB)信息以及基于因特网控制报文协议(ICMP)3种路径探测分析方法。
基于路由转发表的方法利用边界网关协议(BGP)和开放式最短路径优先协议(OSPF)等路由协议,对自治域间和自治域内进行网络拓扑发现。
该方法优点是速度快以及网络负载小,缺点是发现范围有限,范围仅取决于获取路由转发表的网络范围;基于SNMP和MIB信息的方法是通过SNMP访问路由器、交换机或网桥中的MIB库,通过MIB库中的IP 路由表、接口表及其他信息分析网络拓扑结构。
该方法优点是实现简单、速度快且准确率高,缺点是MIB库的访问权限难以获取,无法对整个互联网进行网络拓扑发现。
基于ICMP的路径探测分析方法一般使用回送请求和回送应答,通过存活时间(TTL)设置,对互联网拓扑路径进行发现,通常包含地址集构造探测、存活主机探测、路径和时延信息探测以及拓扑结构生成与显示4个阶段。
该方法优点是探测地址可灵活选择以及不依赖路由器或交换机的访问权限,缺点是网络负载大且速度慢。
上述3种网络拓扑发现方法各有优缺点。
由于互联网地址规模庞大、自治域间和自治域内路由协议不同以及众多网络元素访问权限获取难度大,因此对互联网网络拓扑发现主要采用基于ICMP 的网络拓扑发现方法。
随着互联网网络拓扑结构研究的不断深入,发现了互联网网络拓扑结构的各种特性,如幂率特性、鲁棒且脆弱性和聚集特性[4]等,以及网络拓扑结构的不同度量指标(节点度分布、聚集系数、介数、核数和平均路径长度)等其他特性。
利用上述网络拓扑结构特性可优化拓扑结构发现方法,提高拓扑结构发现效率,降低正常网络流量的扰动。
网络拓扑自动发现方法研究舒涛【摘要】随着计算机网络的高速发展,网络管理变得日趋复杂,为了提高网络设备和服务管理的智能性及可操作性,对网络拓扑高效而准确地发现成了网络管理中的重要环节。
提出了一种利用SNM P协议在网络层和数据链路层进行网络拓扑自动发现的方法,使得拓扑发现算法实现更简单,发现效率也更高。
%With the fast development of computer network ,the network management is becoming more and more complex .In order to improve the intelligence and operability of network equipment and service management ,the high efficient and accurate discovery of network topology has been important process of network management .A method to conduct network topology auto-discovery in network layer and data link layer by using SNMP agreement was put forward ,which enables topology discovery computation to become simpler and have high efficiency .【期刊名称】《辽宁石油化工大学学报》【年(卷),期】2013(000)003【总页数】4页(P81-84)【关键词】网络管理;拓扑发现;简单网络管理协议【作者】舒涛【作者单位】四川民族学院网络信息中心,四川康定626001【正文语种】中文【中图分类】TP393网络管理是网络发展中的一个重要技术,而拓扑发现又是网络管理的基础。
IP网络拓扑自动发现自从20世纪90年代以来,越来越多的企业及个人在加入Internet网,使网络规模持续扩大。
为了适应越来越多的流量,新节点、新链路不断的被引进到网络上,从而使手工维护很难跟上网络的变化,给网络管理带来困难。
网络由一起工作的大量实体构成,向用户提供某种服务。
这些实体功能由硬件和软件执行,一些出现在真实网络中实体的例子有路由器、服务器、普通主机、链路等,所有这些都影响着网络运行的方式及提供给最终用户的服务质量。
例如,如果一个应用服务器(Web Server)出现宕机而从网络上剥离下来,那么用户将得不到他们所期望的服务(浏览网页)。
提到拓扑发现,一般是指发现完成最终用户服务所涉及到的所有实体,不仅要发现实体,而且要发现实体在网络中所起的作用及实体间互相连接的方式。
网络拓扑对网络管理、网络规划非常有用。
例如,网络故障、流量瓶颈等重要信息能直接显示在网络拓扑上,这样网络管理员对当前的网络状况就有一个清楚的认识,对哪里发生了故障一目了然。
如果网络拓扑上显示一条链路总处于满负荷传输状态,那么扩大该条链路的容量对提高网络性能将有很大帮助。
此外,网络拓扑对网络仿真也十分重要,要仿真能否在现有网络上新开放一种应用,必须首先有正确的网络拓扑。
获得网络拓扑的最简单的方法莫过于让管理员根据实际网络手工绘出其拓扑,但现在网络越来越复杂,越来越庞大,并一直在膨胀,而且实体在网络中担负的功能也越来越复杂,要跟踪这样一个网络需要花费很多时间或精力,而且网络一旦有所改变所有工作必须重做。
网络拓扑自动发现正是基于这个原因发展起来的,本文对能用于拓扑发现的一些常用的工具和技术作了简要的介绍,并基于笔者的实践提供了一个简单的算法实现,该算法主要针对同一个管理机构下的IP网络的拓扑自动发现,更复杂的拓扑发现算法可在此基础上进一步扩展。
一、用于拓扑发现的工具1. PingPing命令是IP网上最古老的一种工具,用来监测网络节点是否活着,或用于监测到网络节点间的往返时延(RTT)。
网络拓扑分析及其在网络安全中的应用研究随着互联网的快速发展和普及,网络安全问题受到越来越多的关注。
对于企业和个人而言,网络安全已不再是一个陌生的词汇,它直接关系到信息的安全与隐私的保护。
而在网络安全中,网络拓扑分析是一项非常关键的技术,它可以帮助我们全面了解网络拓扑结构,及时发现并防范网络攻击。
一、网络拓扑分析的定义网络拓扑分析是指利用相关算法和工具对网络中的节点及其连接进行分析,以掌握网络的结构和演化规律的过程。
对于网络拓扑结构的分析,无论是在理论上还是在实践中,都具有重要的意义。
网络拓扑分析可以从多个角度对网络进行分析,例如节点,连接度,子图等,以保证网络的高效运行。
二、网络拓扑分析的方法网络拓扑分析的方法主要分为以下几种:1. 图形分析法图形分析法是一种基于连接关系的分析方法,它可以用图形来表示网络节点的连接关系。
在图形分析法中,网络被看做是由节点和边组成的复杂图形结构,通过图形的视觉展示和分析,可以很好地了解网络的拓扑结构和演化规律。
2. 统计分析法统计分析法是一种基于数据分析的方法,它主要通过计算各种网络参数的分布情况,来分析网络的拓扑结构和演化规律。
统计分析法可以用到很多工具,例如网络分析工具、数据可视化工具等,在实际应用中被广泛应用于网络研究。
3. 网络模型法网络模型法是一种将网络抽象成数学模型的分析方法,它可以用各种模型来描述网络的结构和运行规律。
其中,最为经典的模型是Erdős-Rényi模型和Barabási-Albert模型,它们是描述随机网络和无标度网络的经典模型。
三、网络拓扑分析在网络安全中的应用网络拓扑分析在网络安全中具有重要的应用价值,主要体现在以下几个方面:1. 发现网络威胁网络拓扑分析可以帮助我们发现网络中存在的威胁,例如僵尸网络、黑客攻击等,通过识别威胁节点和威胁路径,及时采取措施来保证网络安全。
2. 推断网络结构网络拓扑分析可以帮助我们推断网络的结构,例如社交网络、信任网络等,通过对节点的连接关系和交互行为进行分析,可以了解网络中各节点之间的联系及其属性。
研究网络拓扑自动发现的新方法概述网络拓扑自动发现是现代网络管理的重要环节之一。
通过自动化的拓扑发现,网络管理员可以更好地掌握和维护网络的运行状态,及时发现问题并采取措施解决,提高网络的可用性和稳定性。
然而,传统的拓扑发现方法存在一些局限,比如:依赖特定厂商的设备或协议,需要人为配置或介入等等。
为了克服这些问题,近年来,一些新的拓扑自动发现方法被提出,其中有不少基于机器学习和数据挖掘等技术。
本文将介绍其中一些最新的方法,并讨论它们的优缺点及适用场景。
相关技术和方法SNMPSNMP(Simple Network Management Protocol)是目前广泛使用的网络管理协议之一,它借助MIB(Management Information Base)来获取和管理网络设备的信息。
传统的拓扑发现方法常常基于SNMP协议,通过查询设备的相邻节点信息来建立拓扑图。
LLDPLLDP(Link Layer Discovery Protocol)是一种链路层发现协议,类似于SNMP,但不依赖MIB,使用自己的TLV(Type-Length-Value)格式传递信息。
LLDP也可以被用于拓扑发现中,但需要设备支持。
基于机器学习的拓扑发现相比于传统的方法,基于机器学习的拓扑发现有更多的优势。
比如,不需要事先知道网络中的设备类型、数量及连接关系等信息,能够自动识别和分析,适用于各种网络环境。
现在,广泛使用的机器学习算法包括神经网络、决策树、聚类等。
基于流量分析的拓扑发现除了以上方法,还有一种拓扑发现方法基于流量分析。
该方法在网络中流经的每个数据包上标记源和目的地址,并在收集足够多的数据包后,分析数据包之间的关系,建立拓扑图。
虽然该方法需要收集大量的流量,但在没有MIB和LLDP的网络中,仍然是一种有效的拓扑自动发现方法。
研究新方法为了更好地解决现有拓扑发现方法的一些问题,一些研究人员提出了新的方法。
以下是一些最新的研究成果。
什么是网络拓扑网络拓扑基本概念有哪些导读什么是网络拓扑?网络拓扑基本概念有哪些?下面跟着小编一起去看看吧!什么是网络拓扑?网络拓扑基本概念有哪些?下面跟着小编一起去看看吧!什么是网络拓扑网络拓扑(Network Topology)结构是指用传输介质互连各种设备的物理布局。
指构成网络的成员间特定的物理的即真实的、或者逻辑的即虚拟的排列方式。
如果两个网络的连接结构相同我们就说它们的网络拓扑相同,尽管它们各自内部的物理接线、节点间距离可能会有不同。
计算机连接的方式叫做“网络拓扑结构”(Network Topology)。
网络拓扑是指用传输媒体互连各种设备的物理布局,特别是计算机分布的位置以及电缆如何通过它们。
设计一个网络的时候,应根据自己的实际情况选择正确的拓扑方式。
每种拓扑都有它自己的优点和缺点。
拓扑是一种不考虑物体的大小、形状等物理属性,而仅仅使用点或者线描述多个物体实际位置与关系的抽象表示方法。
拓扑不关心事物的细节,也不在乎相互的比例关系,而只是以图的形式表示一定范围内多个物体之间的相互关系。
在实际生活中,计算机与网络设备要实现互联,就必须使用一定的组织结构进行连接,这种组织结构就叫做“拓扑结构”。
网络拓扑结构形象地描述了网络的安排和配置方式,以及各节点之间的相互关系,通俗地说,“拓扑结构”就是指这些计算机与通讯设备是如何连接在一起的。
研究网络和它的线图的拓扑性质的理论,又称网络图论。
拓扑是指几何体的一种接触关系或连接关系;当几何体发生连续塑性变形时,它的接触关系会保持不变。
用节点和支路组成的线图表示的网络结构也具有这种性质。
网络拓扑的早期研究始于1736年瑞士数学家L.欧拉发表的关于柯尼斯堡桥问题的论文。
1845年和1847年,G.R.基尔霍夫发表的两篇论文为网络拓扑应用于电网络分析奠定了基础。
网络拓扑基本概念有哪些在设计网络拓扑结构时,我们经常会遇到如“节点”、“结点”、“链路”和“通路”这四个术语。
网络拓扑发现与维护的自动化方法引言:随着企业和组织网络规模的不断增加,网络的复杂性也日益显现。
为了保障网络的正常运行和高效管理,网络拓扑发现与维护成为了重要的问题。
本文将介绍网络拓扑发现与维护的自动化方法,以提升网络管理的效率和可靠性。
1. 网络拓扑发现的意义网络拓扑是指网络中各个节点之间的连接关系,在网络管理中起着重要作用。
通过准确了解网络拓扑,管理员可以更好地规划网络结构、优化网络性能和快速排除故障。
因此,网络拓扑发现是网络管理的重要基础。
2. 传统的网络拓扑发现方法传统的网络拓扑发现方法主要依赖手动配置或使用网络管理工具进行扫描和记录。
但是,这些方法存在以下问题:- 时间消耗:手动配置和扫描工作耗时且繁琐,对于大规模网络来说,难以高效完成。
- 信息不准确:网络拓扑会随着设备的增删变动,信息容易过时或不准确,对网络管理造成困扰。
- 依赖人为操作:传统方法依赖管理员的人为操作,对管理员水平、操作疏忽等因素较为敏感。
3. 基于SNMP的自动化拓扑发现方法为了克服传统方法的缺点,基于SNMP(Simple Network Management Protocol)的自动化拓扑发现方法应运而生。
这种方法利用SNMP协议实现网络设备信息的采集和处理,实现快速、准确的网络拓扑发现。
具体步骤如下:- 设备信息采集:通过SNMP协议获取设备的基本信息,如设备类型、IP地址等。
- 关系建立:根据设备之间的通信关系,建立设备之间的连接关系。
- 拓扑图生成:根据建立的连接关系,生成网络的拓扑图,形象展示网络结构和连接关系。
4. 自动化拓扑维护方法网络拓扑维护是指对网络拓扑进行实时监控和管理,及时调整和修复网络故障。
自动化拓扑维护方法可以有效提高网络管理的稳定性和响应速度。
以下是几种常见的自动化拓扑维护方法:- 实时监控:利用网络管理系统对网络拓扑进行实时监控,及时发现和定位故障。
- 异常检测:通过设置阈值,对网络性能参数进行实时检测,当超过阈值时自动报警或触发自动修复机制。
计算机网络中的拓扑发现与路由算法研究计算机网络在现代社会中扮演着至关重要的角色,数据的传输与交流已经成为人们日常生活中不可或缺的一部分。
在构建和管理计算机网络的过程中,拓扑发现和路由算法是关键的研究方向。
本文将探讨计算机网络中的拓扑发现与路由算法的研究进展和应用。
首先,我们来了解下拓扑发现的概念。
拓扑发现是指在一个网络中自动发现和识别出网络内各个设备之间的连接关系和物理结构。
拓扑发现对于构建和维护网络拓扑图非常重要。
传统的拓扑发现方法主要依靠人工配置或者网络设备发送探测包来实现,但这些方法效率低下且易受到设备故障和安全风险的影响。
近年来,随着计算机网络规模的不断扩大和复杂性的增加,自动化和智能化的拓扑发现方法受到了广泛关注。
其中一个热门的拓扑发现方法是基于反向路径跟踪(Traceroute)的方法。
这种方法通过发送带有不同TTL(Time To Live)值的数据包来逆向跟踪从源节点到目标节点的路径。
通过收集并分析返回的数据包,可以构建出网络的拓扑结构。
除了拓扑发现,路由算法也是计算机网络中至关重要的环节。
路由算法决定了数据包的转发路径以及网络中的拓扑结构如何影响数据传输的效率和可靠性。
在传统的计算机网络中,常用的路由算法有距离矢量路由算法(Distance Vector Routing)和链路状态路由算法(Link State Routing)。
距离矢量路由算法是一种分布式的算法,节点根据自己到邻居节点的距离信息来选择下一跳节点。
然而,由于节点只能知道自己的邻居节点的距离,无法感知整个网络的状态,这种算法容易出现路由环路和计数器递增(Count to Infinity)的问题,导致网络的退化和不稳定。
链路状态路由算法通过节点之间的信息交换来了解整个网络的拓扑状态,每个节点维护一张全局链路状态数据库,在此基础上运行Dijkstra算法计算最短路径。
相对于距离矢量路由算法,链路状态路由算法在计算路径方面具有更好的性能,并且能够避免路由环路和计数器递增等问题。
MIB论文网络拓扑发现哦了我:基于简单网络管理协议的网络拓扑发现算法摘要:该文通过对简单网络管理协议的mib库中的各种表进行分析,描述了一种基于snmp的网络拓扑发现方法,该方法能自动准确的发现指定深度内的所有网络设备的连接情况。
该方法不向网络中发送过多的探测数据包,对网络的流量不产生太大影响。
关键词:mib;网络拓扑发现;snmp当今,随着计算机网络技术的不断成熟和发展,它已经深入到社会的各个领域。
人们在日常工作、日常生活中已经非常依赖于计算机网络,以至于网络的崩溃会造成不可挽回的损失。
因此维护计算机网络的稳定就成为了目前这个领域中的重中之重。
要维护网络的稳定就必然要进行计算机网络的管理,那么,首当其冲就是要获得网络的基本信息。
这些基本信息包括了各个设备的连接状况,要知道网络中各设备的连接状况就必须要先进行网络拓扑结构的搜索。
对于目前规模越来越大的计算机网络,靠人工进行拓扑搜索已经不可能了,因此需要计算机自动的进行拓扑搜索也就是拓扑发现。
网络拓扑发现的目的就是发现网络实体,并获取实体间的连接关系。
网络拓扑发现是网络故障定位,网络管理,通信瓶颈和网络性能分析的前提与基础。
拓扑发现首先要得到整个网络中的各个设备的路由信息,然后利用这些信息来自动生成网络拓扑图,在此过程中要充分利用各种路由的搜索算法和有关协议。
网络拓扑发现算法主要包括发现路由器与路由器、路由器与子网之间的连接关系以及局域网内部交换机与交换机、交换机与主机之间的连接关系。
其中自动发现路由器与路由器、路由器与子网之间的连接关系比较简单,由于现在绝大多数设备都支持snmp协议,因此相关信息就可以从每个路由器的mib库的iproutertable中获取。
1 简单网络管理协议(snmp)简介简单网络管理协议(snmp)是为基于tcp/ip的多厂商异构互联网的管理而设计。
它作为工业标准,已被广泛接受,其应用已扩展到其它协议组。
目前几乎所有的网络产品,包括交换机、路由器、ups、modem等硬件以及许多软件均支持snmp。
一种IP网络拓扑发现方法董成根;吴今培;张其善【摘要】With the operator's business gradually IP, the IP network management should be paid more and more attention, IP network topology discovery is the basis of IP network management. For carryingon the IP network topology discovery completely and accurately, using the SNMP topology discovery as nodes and three techniques to a combination of SNMP and ICMP as a technical layer topology discovery, based on the experimental verification of the operator's current network, all nodes and links can be found 100% , this method can completely and accurately discover IP network topology.%随着运营商的业务逐渐IP化,对IP网络的管理也越来越重视,IP网络的拓扑发现是IP网络管理的基础.为了完整、准确地进行IP网络的拓扑发现,采用了以SNMP作为节点和三层拓扑发现的技术、以SNMP和ICMP的结合作为二层拓扑发现的技术,经过在运营商现网网络的实验验证,能100%发现所有节点及链路,证明了该方法能完整、准确地发现IP网络的拓扑.【期刊名称】《现代电子技术》【年(卷),期】2011(034)011【总页数】3页(P51-52,56)【关键词】SNMP;ICMP;拓扑发现;三层拓扑;二层拓扑【作者】董成根;吴今培;张其善【作者单位】北京航空航天大学电子信息工程学院,北京100191;北京航空航天大学电子信息工程学院,北京100191;北京航空航天大学电子信息工程学院,北京100191【正文语种】中文【中图分类】TN711-340 引言网络拓扑发现旨在发现网络实体,并获取实体间的连接关系。
基于SNMP的网络拓扑发现摘要随着计算机网络的高速发展,网络管理变的日趋复杂,为了提高网络设备和服务管理的智能性和可操作性,对网络拓扑高效而准确地发现成为网络管理中重要的环节。
关键词网络拓扑;简单网络管理协议;管理信息库;网络管理;三层拓扑发现;二层拓扑发现1引言现代计算机网络迅猛发展,网络管理的任务也日趋复杂,而保证网络管理系统高效运行的基础正是网络拓扑发现。
网络拓扑表现为计算机网络中各设备之间的连接关系。
网络拓扑发现更能提高网络故障管理、计量管理、配置和名称管理、性能管理和安全管理的性能,其原理是利用协议收集网络中各设备的信息,通过某种算法生成完整的拓扑结构显示出来。
本文介绍的就是基于snp协议的网络拓扑发现。
2简单网络管理协议snp及ib信息库概述2.1snp概述snp名为“简单网络管理协议”,snp基于tp/ip协议工作,对网络中支持snp协议的设备进行管理,通过snp 协议,管理员可以与各种类型支持snp协议的设备进行通信,从而进行网络管理。
在具体实现上,snp为管理员提供了一个网管平台(ns),又称为管理站或管理器,负责网管命令发出,数据存储及数据分析等。
被监管的设备上则运行一个snp代理(agent),又称为代理器,代理实现设备与管理站的snp通信,图1描述了snp协议的逻辑结构[1]。
图1snp协议的逻辑结构1990年5月,rf1157定义了snp的第一个版本snpv1。
rf1157和另一个关于管理信息的文件rf1155一起提供了一种监控和管理计算机网络的系统方法。
因此,snp得到了广泛应用,并成为网络管理的事实上的标准。
90年代初snp得到了迅猛发展,同时也暴露出了明显的不足,例如难以实现大量的数据传输,缺少身份验证和加密机制。
因此,1993年发布了snpv2,提高效率和性能,同时还支持分布式网络的管理等,但是,snpv2并没有完全实现预期的目标,尤其是安全性能没有得到提高,如:身份验证(如用户初始接入时的身份验证、信息完整性的分析、重复操作的预防)、加密、授权和访问控制、适当的远程安全配置和管理能力等都没有实现。
网络拓扑发现及显示技术研究的开题报告一、课题背景及意义计算机网络拓扑是指网络中各种节点和链路之间相互连接、组成的结构形态。
计算机网络拓扑的结构特征对网络性能、管理、优化和安全都具有很大的影响。
因此,在网络运维和管理中,及时了解网络拓扑结构,对于网络故障排查、网络优化以及安全防护等方面都具有重要意义。
然而,在大型网络中,网络拓扑的变化难以及时掌握。
在网络管理中,面对庞杂数据进行分析,需要使用大量的人力、物力和时间。
网络拓扑发现与显示技术的研究就可以解决这个问题。
二、研究内容及方法1、目标该研究的目标是建立一种自动化的网络拓扑发现及显示技术,实现在大型和复杂网络中的高效准确的拓扑结构发现。
2、研究内容(1)深入分析高性能网络拓扑结构发现的关键技术,根据学术界和行业发展现状,选择适用的技术和方法,为网络拓扑发现及显示技术的研究提供理论基础和技术支撑。
(2)设计计算机网络的拓扑发现及显示算法,根据大量的实验数据进行模型的优化,并进一步完善算法的可扩展性、鲁棒性和实用性。
(3)开发基于网络拓扑图的用户界面,能够交互并提供实时的网络拓扑信息,支持拓扑图可视化的方式展示网络数据,同时结合机器学习技术提高数据处理效率、降低误差率。
3、研究方法(1)进行文献调研,了解网络拓扑发现和显示相关的技术和进展,明确研究重点和发展趋势。
(2)基于具有代表性的网络拓扑结构数据集,设计和实现网络拓扑发现和显示算法,分析算法的速度、准确度和可扩展性等性能指标。
(3)开发网络拓扑图的用户界面,通过交互性的设计,提供实时的网络拓扑显示服务,并基于机器学习技术,提高数据处理效率和拓扑结构推算的准确度。
三、预期目标及成果通过本项目的研究,将实现以下目标和成果:(1)提出一种高效准确的网络拓扑发现及显示技术,可以广泛应用于大型网络。
(2)开发出基于网络拓扑图的用户界面,便于交互式操作,并可通过机器学习技术提高数据处理效率和准确度。
(3)形成多篇高质量的学术论文,并通过开源平台,将项目成果开放出来,方便更多的研究者和开发者使用和改进。
毕业设计(论文)外文资料翻译题目网络拓扑发现温州大学教务处制外文翻译译文网络拓扑发现摘要:对于不断发展日新月异的大型网络,如何确定网络拓扑结构实际上并不容易,但是,这些网络管理,模拟,和服务器选址的信息却是非常宝贵的。
传统的拓扑发现算法是基于简单网络管理协议,它不是普遍部署的。
我们为了描述一些启发式算法和发现互联网骨干网拓扑域内,同时尽可能为几个网络拓扑进行假设,定量评价其性能,还提出了一种新的可视化的互联网骨干网络拓扑技术。
1. 介绍网络拓扑是在一个互联网络直接连接同行之间的代表。
在物理网络拓扑中,同行的港口设备连接的是物理传输链路。
一个物理拓扑在每一个不同的抽象层次,可以对应许多逻辑拓扑结构。
例如,在IP层,是由一个网络主机或路由器节点跳到对方,但在链接层,是一个逻辑连接链路。
在本文中,我们只关注包括由网络拓扑的逻辑拓扑,忽略集线和网桥和链路等详细的令牌旋转时间,或帧中继链接和以太网段长度。
在这个层上,同层的对应一个或多个地址,一个链接对应渠道与特定的延迟,能力,和损耗特性。
网络的拓扑结构不断变化和链接节点加入网络,移动办公人员和网络容量增加。
要获得准确的拓扑信息却是必要的,但是,手动跟踪网络拓扑是一个令人沮丧并且往往是不可能的任务。
•模拟:要想获得真实的网络拓扑结构,必须先进行模拟。
•网络管理:在决定是否添加新的路由器和指出当前硬件配置是否正确之前,网络拓扑信息是有用的,它也可以让网络管理者在网络故障中发现瓶颈。
•选址:网络图信息帮助用户确定他们在网络的位置,帮助他们决定在哪些网站加入商用的服务器,减少了等待时间和充分利用了最大可用带宽。
•拓扑算法:拓扑信息,利用知识结构使一类新的协议和算法提高性能。
例子包括topology-sensitive政策和Qos路由,和组通信算法与拓扑群选择过程。
因此,网络拓扑自动发现有相当需要的。
目前,唯一有效的方法是利用简单网络管理协议(简单网络管理协议)。
然而,却有许多问题。
但是,简单网络管理协议不能在最老的机器和新机器上执行使用,因为简单网络管理协议可能被关闭或限制访问。
在一个日新月异发展的网络,在决定的网络和获取分散,这是天真的以为已被安装,并且可以访问。
在网络中的每个节点。
例如,在域,简单的网络协议只能发现8%的主机。
我们认为,这种情况是正常的,而不是例外。
2.目标我们的目标是在一个单一的管理域自动发现网络拓扑,并在互联网中心,同时尽可能少的的假定网络。
特别的,我们不需要是整体性的,或发现工具允许参与路由协议如协议或dvmrp。
此外,我们希望我们的算法是:•高效:施加至少可能开销的网络,•快速:以最少的时间完成工作,•完成:发现整个拓扑,和•准确:不犯错误因为每一个发现算法都是一种比较这些竞合的目标,我们提出了一套算法,各种权衡,用以适合每一个不同的工作环境。
3.背景和工具互联网是分成成千上万个的管理域。
所有的主机,路由器,和链接在域由一个单一的实体,和处理的地址共享相同的共同前缀,也被称为网络号。
在每一个领域,进一步分组子网地址,使所有地址子网内共享同一子网前缀。
子网掩码确定的比特数的地址对应的子网号。
例如,康奈尔域拥有,其中,128.84个网络。
这进一步细分为子网,包括128.84.223子网和子网的128.84.155。
所有地址其中的每个子网的子网号码开始,并有一子网掩码255.255.255,这说明子网号是24位长。
子网是通过路由器之间的路由。
路由器是目前同时在多个子网,和因此,有多个地址。
标准的公约给第一个地址在每个子网的路由器范围。
例如,一个路由器连接的子网128.84.223和128.84.155会有两只地址,128.84.223.1和128.84.155.1。
本文讨论的算法是基于三个广泛使用的工具:Ping/Ping广播每一个主机都需要发送一个的IC MP 'Ping'包回应到其来源地址。
因此,这个的工具可以准确的ping到机器是否连在互联网上(实际上,Ping包可能丢失掉,我们通常Ping该地址两次,当两次都没有得到回复才认为没有到达)。
用适当的小包,ping也有一个低开销。
Ping成功到达在线主机在一个单一的往返时间,仅仅个几十毫秒,因此这个工具比较快速。
Ping不在线或不存在的主机,然而,超时后保守的间隔20秒,所以ping这样的主机是耗时的。
定向广播ping 包”是指一个Ping包给一整个子网,而不只是一个机器。
这可以通过解决无论是' 255 '或'0 '节点的子网(如广播到所有节点该128.84.155子网,ping128.84.155.0或ping128.84.155.255-等等,这些相应的扩展子网地址或者都是0或1)。
一个广播ping包是收到的所有同一个子网的主机发来的包,其中每个都会回复Ping包。
这对在同一个子网寻找到所有的主机是有用的。
Ping广播但不完全支持在所有的网络。
在一些网络,只有路由器,子网负责响应广播包(我们称之为弱ping广播假设)。
在其他网络,广播包甚至没有回应。
这些修改防止拒绝服务攻击称为“smurfing”在一个大的子网广播与平包返回地址被设置为被害人。
受害者受到了IC MPping包回复很快消失掉。
·追踪追踪是向探头和目的主机发送不断增减的数据包发现路线之间的路由。
沿着路径上的路由器,看到一个分组没有TTL数据包,发送IC MP TTL来回应发件人,这些发现的路径相吻合。
因为所有的路由通常是准确的,互联网路由器需要发送的ttl-expiredIC MP消息。
然而,一些供应商,知道隐藏他们的路由器路由通过操纵这些答复崩溃的内部拓扑。
使用跟踪路由会降低双方的准确和完整的发现拓扑。
跟踪路由沿着路径向每个路由器发送两个探针,从而产生相当多的开销比Ping包。
由于探针连续路由器是分隔开的,以尽量减少瞬时网络负载,路由跟踪完成时间也比Ping使用的时间更长。
•域名服务器区转移一个域名的域名服务器保管约束每个在这个域的主机名。
大多数域名服务器响应一个区域每一个主机名通过一个列表转移的命令返回。
因此,域名服务器对帮助查找一个域的所有主机和路由器是很有用的。
这种技术具有低开销,快速准确。
它可能是不完整的,然而,因为获取主机地址使用DHCP的服务器而不是DNS。
此外,一些网络管理员禁用dns是因为在传输方面有安全问题。
下表总结的时这个工具的三个性能特点。
4·启发式的描述三个启发式的算法,将会在第五节中用到。
4.1 使用Ping广播包猜测。
略4.2 使用子网检测一则地址略4.3 检测一个有效域的地址略5·算法5.1 基本算法(略,主要翻译基于SNMP的算法)5.2 简单的网络管理协议(SNMP)该算法是最简单的,因为它假定简单管理协议在所有的域里都可行的。
第一个路由器添加到临时设置发现节点的路由网关(第1步)。
我们发现相邻的路由器,路由器的iproutetable库条目都是临时设置的。
(步骤2)。
主机是由路由器的地址表项获得(步型)。
1。
确定一个临时的地址,是否符合实际的主机和路由器。
2。
每个元素的临时设置:A:验证地址B:如果该地址是有效的,看看它是如何涉及到已经在永久设置的其他地址,并添加到永久设置列表。
C 使用这个地址添加每个成功联系地址, 设置生成临时地址。
添加下一个临时连续的地址集..如果(地址在1,63,129,或193)//路由器:可能有其他的主机在这个空间设置添加前缀相同的临时随机地址。
该算法是高效,快速,完整,准确的,并有利于可以为每个节点收集信息增加额外的简单网络管理协议。
然而,它只能在SNMP协议可以用的网络上有的路由器启用。
因此,它不能满足我们的一个主要目标。
5.3 算法2:用广播包DNS传输。
5.4 算法3:DNS传输与追踪6 ·评价(略)7·相关的工作(略)8·未来的工作(略)9·结论拓扑信息对仿真和网络管理是至关重要的。
它也可以用来决定有效地选址,作为一个元素的一类新的拓扑的分布式系统。
我们已经提出了几个域内和骨干网拓扑发现算法,不依赖于简单网络管理协议。
我们发现我们的算法,虽然速度比那些使用简单网络管理协议较慢,但往往能够发现更多的节点和子网信息。
这反映了一个事实,即是没有得到普遍的部署,特别是在终端系统,实际上是激励我们的工作。
我们也评估骨干网络发现工具,即能够发现70000个节点以上的骨干网路。
这样,使用可视化节点等高网络拓扑图,使我们能够与互联网骨干拓扑相媲美。
10·参考文献【1】[时事杂志98 ]时事杂志公司,最佳测量/products/optimal 主页/optimal_surveyor/optimal_surveyor.html【2】[98]阿特拉斯阿特拉斯的空间,/casa/martin/atlas/atlas.html【3】[CAIDA 98 ]/tools/mapnet/【4】[98]弗兰西斯,美国雅悯,诉帕克森,属张,互联网,距离图/【5】[97]物理拓扑的工作组,ptopo发现协议和管理信息库,在互联网草案/internet-drafts/draft-ietf-ptopomib-pdp-02.txt【6】[98]intermapperintermapper主页,【7】[97雅各布森]雅各布森,“pathchar“二元,ftp:///pathchar/【8】[98]马兰美兆遗传资源和jahanian。
一个可扩展的架构,网络协议性能的探讨测量,诉讼专业98,月1998日,在线版本可以从\/ipma/docs/paper【9】[98]netviznetviz主页,【10】[97]·帕克森帕克森,测量和分析的端到端的网络动态,博士论文,加州大学伯克利分校,1997。
【11】[97]美国社会seshan,M地图,和H .卡茨,花:共享的被动网络性能发现过程第一个研讨会互联网技术和系统(usits' 97),蒙特雷,加州,十二月1997。
原文Discovering Internet Topology¯R. Siamwalla, R. Sharma, and S. KeshavCornell Network Research GroupDepartment of Computer ScienceCornell University, Ithaca, NY 14853{rachit, sharma, skeshav}@AbstractIn large and constantly evolving networks, it is difficult to determine how the network is actually laid out. Yet this information is invaluable for network management, simulation, and server siting. Traditional topology discovery algorithms are based on SNMP, which is not universally deployed. We describe several heuristics and algorithms to discover both intra-domain and Internet backbone topology while making as few assumptions about the network as possible. We quantitatively evaluate their performance and also present a new technique for visualizing Internetbackbone topology.1. IntroductionNetwork topology is a representation of the interconnection between directly connected peers in a network. In a physical network topology, peers are ports on devices connected by a physicaltransmission link. A physical topology corresponds to many logical topologies, each at a different level of abstraction. For example, at the IP level, peers are hosts or routers one IP hop from each other, and at the workgroup level, the peers are workgroupsconnected by a logical link. In this paper, by network topology we refer exclusively to the logical IP topology, ignoring hubs and bridges, and link-level details such as FDDI token rotation times, ATM or Frame-relay links,and Ethernet segment lengths. At this level, a peer corresponds to one or more IP addresses, and a link corresponds to a channel with specific delay, capacity, and loss characteristics. Network topology constantly changes as nodes and links join a network, personnel move offices, and network capacity is increased to deal with added traffic. Keeping track of network topology manually is a frustrating and often impossible job. Yet, accurate topology information is necessary for:Simulation: In order to simulate real networks, the topology of the network must be first obtained.Network Management: Network topology information is useful in deciding whether to add new routers and to figure out whether current hardware is configured correctly. It also allows network managers to find bottlenecks and failures in the network.Siting: A network map helps users determine where they are in the network so they can decide where to site servers, and which ISP to join to minimize latency and maximize available bandwidth.Topology-aware algorithms: Topology information enables a new class of protocols and algorithms that exploit knowledge of topology to improve performance. Examples include topology-sensitive policy and QoS routing, and group communication algorithms with topology-aware process group selection.Thus, there is a considerable need for automatic discovery of network topology. Currently, the only effective way to do so is by exploiting SNMP (Simple Network Management Protocol). However, there are many situations where SNMP cannot be used. SNMP is not implemented in most older machines, and in newer machines, SNMP may be turned off or have restricted access. In a growing heterogeneous network, where decisions about the network and access are decentralized, it isnaive to assume that SNMP has been installed, and is accessible, on every node in the network. For example, in the domain, SNMP can only discover 8% of the hosts.We think that this situation is the norm, rather than the exception.¯Submitted to IEEE INFOCOM‟9922. GoalsThe goals of our work are to automatically discover network topology both within a single administrative domain,and in the Internet backbone, while making as few assumptions as possible about the network. In particular, we do not assume that SNMP is globally available, or that the discovery tool is allowed to participate in routing protocols such as OSPF or DVMRP. Moreover, we would like our algorithms to be:Efficient: impose the least possible overhead on the network,Fast: take the least possible time to complete the job,Complete: discover the entire topology, andAccurate: not make mistakesBecause every discovery algorithm represents a trade off between these competing goals, we present a suite of algorithms that make a range of tradeoffs, and is each suited to a different operating environment.3. Background and toolsThe Internet is divided into several thousand administrative domains. All hosts, routers, and links in adomain are administered by a single entity, and are addressed by IP addresses that share the same common prefix, also called the network number. Within each domain, IP addresses are further grouped by subnets, so that all IP addresses within a subnet share the same subnet prefix. The subnet mask identifies the number of bits in an IP address that correspond to the subnet number. For example, the Cornell domain owns, among others, the 128.84 network. This is further subdivided into subnets, including the 128.84.223 subnet and the 128.84.155 subnet. All IP addresses in each of these subnets starts with the subnet number, and has a subnet mask of 255.255.255, which indicates that the subnet number is 24 bits long.Routing between subnets is accomplished by routers. A router is simultaneously present on multiple subnets, and therefore has multiple IP addresses. The standard convention is to give routers the first address in each subnet range. For example, a router that connects 128.84.223.1 and 128.84.155.1.The algorithms discussed in this paper are based on three widely available tools:P ing/Broadcast PingEvery IP host is required to echo an ICMP …ping‟ packet back to its source. The ping tool therefore accurately indicates whether the pinged machine is on the Internet or not (actually, since ping packets can get lost, we always ping an address twice, deeming it unreachable only if both do not elicit a reply). With suitably small packets, ping also has a low overhead. Pings to live hosts succeed within a single round-trip time, which is a few tens of milliseconds, so the tool is fast. Pings to dead or non-existent hosts, however, timeout after a conservative interval of 20 seconds, so pings to such hosts are expensive. `Directed broadcast ping‟ refers to a ping packet addressed to an entire subnet rather than just one machine.This can be done by addressing either the …255‟ or the …0‟ node in the subnet (e.g. to broadcast to all nodes in the 128.84.155 subnet, ping 128.84.155.0 or ping 128.84.155.255—more generally, these two addresses corresponding to extending the subnet address either with all 0s or all1s). A broadcast ping is received by all hosts in the subnet, each of which is supposed to reply tooriginator of the ping. This is useful in finding all the machines in a subnet. Ping broadcast however is not supported fully in all networks. In some networks, only the router responsible for that subnet responds to the broadcast ping (we refer to this as the weak ping broadcast assumption). In other networks, broadcast ping is not even responded to at all. These modifications prevent denial-of-service attack called “smurfing” where a large subnet is broadcast with a ping packet whose return address is set to that of the victim. The victim gets swamped with ICMP ping replies and soon dies.3T racerouteTraceroute discovers the route between a probe point and a destination host by sending packets with progressively increasing TTLs. Routers along the path, on seeing a packet with a zero TTL, send ICMP TTLexpired replies to the sender, which tallies these to discover the path. Traceroute is usually accurate because all Internet routers are required to send the TTL-expired ICMP message. However, some ISPs are known to hide their routers from traceroute by manipulating these replies to collapse their internal topology. This reduces both the accuracy and the completeness of topologies discovered using traceroute. Traceroute sends two probes to every router along the path, so it generates considerably more overhead than ping. Since probes to consecutive routers are spaced apart to minimize the instantaneous network load, the time to complete a traceroute is also much longer than a ping.Z one transfer from a DNS serverA domain‟s DNS name server keeps a binding from every name in the domain to its IP address. Most DNS servers respond to an …zone transfer‟ command by returning a list of every name in the domain. Thus DNS zone transfer is useful in finding all hosts and routers within a domain. This technique has low overhead, is fast and is accurate. It may not be complete, however, since hosts obtaining IP addresses using DHCP are not served by DNS. Moreover, some network managers disable DNS zone transfer due to security concerns. The table below summarizes the performance characteristics of the three tools.Ping Traceroute DNS zone transferApplicability All domains All domains Most domainsOverhead Low High LowSpeed Fast for live hosts;Slow otherwiseSlow FastAccuracy Accurate Usually accurate Usually accurate4. HeuristicsWe now describe three heuristics that we will use in the algorithms presented in Section 5.4.1 Subnet guessing using broadcast pingsThe first heuristic, when given an IP address, determines the length of the address mask associated with that address as follows:The idea is to test progressively decreasing mask lengths by pinging broadcast addresses corresponding to these mask lengths. A reply to a ping indicates that the guessed mask length is correct. The reason for sending a ping to both broadcast addresses is because otherwise we might make the following error. Suppose we are trying to guess the network mask for the address 171.64.255.16 with a ping to only the …255‟ broadcast address. Suppose also that the true mask lengthis 16 bits. When we probe a mask length of 24 bits we will ping 171.64.255.255, which happens to be the broadcast address for the 171.64 subnet. Since we get multiple replies for this address, we erroneously conclude that the mask length is 24 bits. We can avoid this by trying both broadcast addresses. Now, the broadcast to 171.64.255.0 will elicit no replies, so that we do not make this mistake. Notice that in step 1.d we for masklen = 31 to 7 doa. assume network mask is of length masklenb. construct the …0‟ and …255‟ directed broadcast addresses for tha t address and masklenc. ping these directed broadcast addressesd. if more than two hosts reply to both pings then return masklen else continue4look only for a non-zero number of broadcast ping replies. This allows us to deal with cases where a router sends a single ping reply on behalf of the subnet in response to a broadcast ping.This heuristic can be used in a domain that supports pings to broadcast addresses. Although it is accurate, because it sends a series of pings, it is both slow and has a high per-address overhead.4.2 Subnet guessing from a cluster of addresses Suppose we know that hosts with addresses A1, A2, and A3 are all one hop away from a router whose closest interface to these hosts has IP address A. The goal of this heuristic is to determine the address of the subnet that A1, A2, and A3 belong to, and the corresponding subnet mask (see Figure 1). The idea is that the bitwise AND of A, A1, A2, and A3 approximates the subnet numberbecause all four addresses must share this number as a common prefix, and changes in the remaining bit positions ought to, on average, cancel out. For example, assume that the router‟s interface address is 128.84.155.192 and the three host addresses are 128.84.155.195, 128.84.155.216, and 128.84.155.228. T o clarify our presentation, we will o mit the first three b ytes of the address and represent the last byte in binary. With these modifications, the router‟s address is 1100 00010, and the three host addresses are 1100 0011, 1101 1110, and 1101 1010. The bitwise AND of these addresses is 1100 0010,which is our initial guess for the subnet number. We then compute the bitwise OR of the host and router addresses,because the subnet should cover at least these bits in the address space. Here, the bitwise OR is 1101 1111, which indicates that the subnet address space should include at least the last five bits of the address space (leading 1‟s can equally well be part of the subnet‟s network number). We can now refine our choice of the subnet number. Because subnet masks must be contiguous, the subnet number cannot be 1100 0010, so the last five bits of the mask should be of the form 0 0000. We now have four choices for the subnet number (assuming that the preceding three bytes are 128.84.155): 110, 11, 1, and null. Given only addresses A, A1, A2, and A3, we cannot make further progress.However, suppose that we discover that address A4 = 128.84.155.2 (0000 0010 in our notation) also can be reached by a one-hop path from the router. Then, the bitwise AND becomes 0000 0010, eliminating subnet choices of 110, 11, and 1. We can now confidently state that the subnet number must be null = 128.84.155, and the subnet mask must be 255.255.255.0. theuristic is applicable in all domains, is fast, and imposes no additional overhead. It is accurate if the hosts ina subnet are widely dispersed in the subnet‟s address space, so that the bitwise AND of the addresses results in outliers that can be eliminated by the contiguity rule. It is encouraging to note that almost all subnets have this property. If all hosts lie in the higher end of the address space, the heuristic cannot unambiguously decide on the subnet number and mask.4.3 Guessing valid addresses in a domainOur third heuristic is a way to choose 32-bit values that, with good probability, lie within a chosen subnet‟s address space. It is derived from the following observations in the and domains (in decreasing order of generality). See the Appendix for a more detailed description of these observations.BA128.84.155.1921100 0010 A1128.84.155.1951100 0011A2128.84.155.2161100 1110A3128.84.155.2281101 1010A4128.84.155.20000 0010Figure 15F or each host with address a.b.c.d that responded to a ping, the subnet included a `corresponding‟ address of the form a.b.c.1, which usually was the gateway router. This corresponds to a subnet mask of 255.255.255.0 (24 bits long).M ost hosts that respond to a ping are close to each other in the address space (for example, if128.84.227.50 exists, there is a high chance that 128.84.227.51 exists)S ome hosts that responded to ping had a corresponding address that ended in *.129, which was often a router.This was when the subnet mask is 25 bits long..S ome hosts that responded to ping had a corresponding address that ended in *.65 and *.193, which was often a router. This is usually when the subnet mask is 26 bits long.Based on these observations, we use the following heuristic to populate a …temporary set‟ of addresses likely to be in domain‟s address space (we use …ping‟ to discard invalid addresses from this set):The choice of N determines how aggressively the heuristic populates the address space. If N is high, it finds all live hosts, but also many invalid addresses; if N is low, most guesses are valid, but not all hosts may be found. All results presented in this paper use an N value of 5.5. Algorithms5.1 Basic algorithmThe discovery algorithms described in this section are variations on the following algorithm: When it completes, a discovery algorithm generates a topology representation consisting of lists of hosts, routers,and subnets. Each item may be associated with additional information such as the host name, or the number andtype of interfaces present at each route. (At the moment, we do not discover link information such as capacity and delay: this is the subject of future work.) The information is stored as a simple directory tree in the Unix file system, where each directory node in the tree is a subnet or a router, and each file is either a host or a description of a subnet or router. This concisely represents topology information in an easily retrievable form. Better yet, simple shell scripts allow us to perform complex operations on the topology. Recently the IETF has proposed the PTOPO MIB information structure to store physical topology information [IETF 97]. Information in our directory structure can be easily converted to this format. We now present a suite of discovery algorithms derived from the basic algorithm. We first discuss four discovery algorithms that operate within a single administrative domain, then discuss our algorithm for discovering the Internet backbone.5.2 Algorithm 1: SNMPThis algorithm is the simplest because it assumes that SNMP is available everywhere in the domain. The first router added to the temporary set is the discovery node's gateway router (step 1). For each router in the temporary set, we find neighboring routers from that router‟s ipRouteTable MIB entry (step 2e). Hosts are obtained from the router‟s ARP table entries (step 2c).1. Determine a …temporary‟ set of IP addresses that may or may not correspond to actual hosts and routers.2. For each element of the temporary set:a. Validate the addressb. If the address is valid, find out how it relates to other addresses already in the permanent set, and add itto the permanent set.c. Use this address to generate more IP addresses and add them the temporary set.foreach address successfully pingedadd the next N consecutive addresses to temporary setif (address ends in 1, 63, 129, or 193) // a router: may have other hosts in this space add N random addresses with the same prefix to the temporary set.6This algorithm is efficient, fast, complete, and accurate, and has the added benefit that additional SNMP information can be gathered for each node. However, it can only be used on networks where SNMP is enabled on all routers. Thus, it fails to meet one of our primary goals.5.3 Algorithm 2: DNS zone transfer with broadcast pingThis algorithm assumes that the domain allows DNS zone transfer and pings to broadcast addresses. It first does a DNS zone transfer to get a list of all hosts in the domain (step 1). Assuming that this retrieves a list of all hosts in the domain, the only remaining problems are (a) to eliminate invalid names in the listing and (b) to determine the identity of each subnet in the network. We validate hosts by pinging them (step 2b). Subnets are discovered using the subnet-guessing algorithm (step 2c). Finally, in order to discover nodes not found in the DNS zone transfer, the algorithm directs a broadcast ping to newly discovered subnets (step 2e), and adds responding nodes to the temporary set (step 2f).This algorithm is neither efficient nor fast, because subnet guessing is both slow and involves considerable overhead. Moreover, it heavily depends on DNS zone transfer and broadcast ping, which may both be unavailable for reasons of security. In this case, the algorithm would also be incomplete. Although running several versions in parallel can speed up the algorithm, we do not recommend its use. Its main purpose is to show that network topology can be correctly determined even in the absence of SNMP. Our subsequent algorithms eliminate many of the deficiencies in this algorithm.5.4 Algorithm 3: DNS zone transfer with traceroute This algorithm replaces the expensive subnet-guessing technique of the second algorithm with the more efficient computation of Heuristic 2. It still assumes that the domain a DNS zone transfer is allowed, and returns a list of all hosts and routers in the network. It also assumes that the DNS server returns all the IP addresses associated with a router, instead of picking one at random. The basic idea here is to get a list of all routers and hosts in the domain with DNS zone transfer (step 1). We then initiate a ping and traceroute to each member of this list (steps 3a and 3c). Recall that Heuristic 2 requires us to provide the addresses of a cluster of hosts in a subnet and the …closest‟ router interface. We therefore need to store the set of hosts associated with a particular router.A host‟s router is just the next-to-last value in a traceroute to that host, so the router is easily determined. However, traceroute may return the IP address of an interface that is not necessarily the interface used to route to that host (for example, in Figure 1, traceroute may return address B1. temporarySet = get_default_router()2. foreach router t emporarySet d oa. ping(this_router)b. if (this_router is alive) then permanentSet = permanentSet t his_routerc. hostList = SNMP_GetArpTable(this_router)d. permanentSet = permanentSet h ostListe. routerList = SNMP_GetIpRouteTable(router)f. permanentSet = permanentSet r outerListg. temporarySet = temporarySet r outerList1. temporarySet = DNS_domain_transfer(domain)2. foreach node t emporarySet d oa. ping(this_node)b. if (this_node is alive) then permanentSet = permanentSet t his_nodec. this_subnet = SubnetGuessingAlgorithm(this_node)d. permanentSet = permanentSet t his_subnete. if unknown this_subnet then ping_broadcast(this_subnet)f. foreach responding_host doadd responding_host under this_subnettemporarySet = temporarySet r esponding_host7instead of address A). To find the right interface, we do an inverse name lookup on the next-to-last address and, for each returned address, XOR it with the hosts address. The best match between the router interface and the host has the fewest …1‟ bits and is chosen as the correct interface. Instead of storing a list of host addresses in a hash table keyed on a router‟s interface address, we maintain two hash tables called cumulativeAnds and cumulativeOrs keyed on this interface. The first contains the bitwise AND of all the hosts for which this interface is the next-tolast hop and the second contains the bitwise OR of all the hosts for which this interface is the next-to-last hop. As more and more hosts get processed, the cumulativeAnds value for a particular interface value gets closer and closer to the actual subnet. Given the subnet number and the cumulativeOrs value, we can quickly determine the subnet mask (step 3k). As explained earlier, this determination may be incorrect--we choose the smallest possible subnet mask that is consistent with the data. Here is the algorithm: This algorithm is faster than the previous one and has fewer overheads because it replaces the expensive subnet guessing heuristic with a faster one. Moreover, it makes fewer assumptions than the previous algorithm, and thus is more widely applicable. However, because it depends exclusively on DNS zone transfer to retrieve the temporary set, it may not be as complete as the previous algorithm. There is also a problem with correctness: the subnet mask may be incorrectly determined when there all machines in a subnet use I P addresses at the high end of the subnet‟s address space. If this were the case, then the discovered mask would be longer than it should be (because the common initial bit string is longer). A second correctness problem with the algorithm is that it assumes that an inverse DNS lookup returns all the IP addresses of a router. In some networks, all the routers‟ IP addresses are not entered in the DNS. This results in incorrectly aggregating subnets that are served by routers one hop away from a specific router.4.5 Algorithm 4: Probing with tracerouteAlgorithm 3 uses DNS zone transfer to determine all the hosts in a network. This is disabled in many domains for reasons of security. Algorithm 4 replaces this by intelligent guesses about the IP addresses in the domain, as explained in Heuristic 3 (Section 3.3). Thus, it makes very few assumptions about the network. The algorithm assumes that traceroute is supported, and that a DNS lookup returns all the IP addresses associated with a router. The intuitive idea is to generate IP addresses at random in the address space belonging to the domain. Traceroute probes to these addresses expose the routers in the network and Heuristic 2 allows us to guess the associated subnetnumbers. The differences between this algorithm and Algorithm 3 are shown in italics.1. temporarySet = DNS_domain_transfer(domain)2. initialize cumulativeAnds{} and cumulativeOrs{} hashtables to null3. foreach node t emporarySet d oa. ping(this_node)b. if (this_node is alive) then permanentSet = permanentSet t his_node e lse continuec. traceroute(node)。