【转】网络拓扑发现原理研究

简介: http://hi.baidu.com/renyijiu/blog/item/4ad68246b18aec0d6b63e5d3.html     1.背景描述     随着信息时代的到来,对计算机网络的依赖使得计算机网络本身运行的可靠性变得至关重要,对网络管理也就有了更高的要求。

http://hi.baidu.com/renyijiu/blog/item/4ad68246b18aec0d6b63e5d3.html

 

 

1.背景描述
     随着信息时代的到来,对计算机网络的依赖使得计算机网络本身运行的可靠性变得至关重要,对网络管理也就有了更高的要求。
     按照OSI的定义,网络管理主要包括五个功能域:故障管理、配置管理、性能管理、安全管理和计费管理。在五大功能域中,配置管理是基础,它的主要功能包括发现网络的拓扑结构、监视和管理网络设备的配置情况。其它的各项功能都以已知网络的拓扑结构为基础。
     网络拓扑发现的主要目的是获取和维护网络节点的存在信息和它们之间的连接关系信息,并在此基础上绘制出整个网络拓扑图。网络管理人员在拓扑图的基础上对故障节点进行快速定位。
     本文旨在对网络拓扑发现的原理进行探讨,并在此基础上写出了网络拓扑发现的基础模块。
2.拓扑发现原理
     网络拓扑自动发现的方法很多,但归结起来主要有以下三种:基于SNMP的网络拓扑发现方法;基于通用协议的网络拓扑发现方法;基于路由协议的网络拓扑发现方法;本文结合这三种方法对整个网络进行三层(网络层)拓扑发现和二层(链路层)拓扑发现以及路由层的拓扑发现,以给用户呈现出最真实的网络拓扑结构。
2.1 网络层的拓扑发现
     网络层拓扑发现的原理是结合ICMP和ARP以及SNMP,对指定的网络进行活动设备的检查,得到所有的活动设备,然后通过SNMP取得设备的基本信息,根据基本信息确定设备的类型,再根据设备的类型取得相应设备的详细信息,网络层拓扑发现的步骤如下:
     首先通过默认网关路由器获取存在的子网列表,然后通过ICMP Ping或路由器中的ARP信息遍历指定子网中所有的活动设备,并用系统团体名库去找到设备的团体名,如果找到则用SNMP协议获取设备的基本信息,并判断出设备的类型(路由器/交换机/防火墙/UPS/主机等),并在此基础上获取相应设备的详细信息。如果没有找到设备的团体名,则默认此设备为主机。
如何找到默认的路由网关呢?查找拓扑发现程序所在计算机的SNMP MIBII中的ipRouteTable,如果发现ipRouteDest值为0.0.0.0的记录,则说明程序所在的计算机设置了默认网关,ipRouteNextHop值即为默认网关的地址。然后检查默认网关的ipForwarding值。如果为1,则表明该默认网关确实是路由设备,否则不是。
     如何取得存在的子网列表呢?遍历路由器MIBII的IP管理组中管理对象ipRouteDest下的所有对象,以每个路由目的网络号为索引,查询ipRouteType字段的值。若该值为3(direct)表明为直接路由,若该值为4(indirect)则为间接路由。间接路由表明要通往目的网络或目的主机还要经过其它路由器,而直接路由表明与目的网络或目的主机直接相连,这样就可以得到与路由器直接相连的网络号。再根据网络号中的每条记录查询其路由掩码(ipRouteMask)。根据取得路由掩码,就可以确定每一个存在的网络子网的IP地址范围。
     如何发现其它的路由设备?查找默认路由网关MIBII的IP管理组路由表中类型为间接路由的路由表项,得到路由的下一跳地址(ipRouteNextHop)。遍历下一跳地址给出的路由设备,就可以得到更大的网络拓扑。
     如何发现网络层设备的连接关系?子网与路由器的连接关系遍历每个路由器下包含的子网来确定,主机与子网的关系可以通过主机IP与子网掩码来确定。

2.2链路层的拓扑发现
     链路层拓扑发现的原理是根据交换机的cdp邻居表、端口ifIndex和port对应表、自学习表判断出各交换机的连接关系,具体的拓扑发现步骤如下:
     A、获取所有路由器的arp表信息,对于主机则通过SendARP或netbios来获取arp信息。
     B、获取所有交换机的cdp邻居表、端口的ifIndex和port对应表、自学习表。
     C、对交换机的互连关系进行判断,如果某个交换机的某个端口学习到了路由器的mac地址,则认为此端口为上行端口,如果交换机只有一个端口有自学习表项,也认为此端口是上行端口。如果一个交换机的上行端口中没有接其它的交换机则此交换机为根交换机。
     D、对于每个交换机,如果它的某个端口和其它根上的多个端口冲突,通过cdp信息修正2者之间的连接关系,
     用①表示邻居的根交换机,用②表示自己的根交换机,
     如果①=②,表示它和它的邻居已经在同一棵树上,不处理;
     如果是上行端口上的邻居,将①的层次和父亲改成self的层次和父亲;将①下的所有接点的层次加(self的层次-1)那么多;将self的父亲改成邻居的端口,并将self的level增加(邻居的层次+1)那么多;将self下所有接点的level增加(邻居的层次+1)那么多。
     如果是其他端口上的邻居,将②的层次和父亲改成邻居的层次和父亲;将②下的所有接点的层次加(邻居的层次-1)那么多;将邻居的父亲改成self的端口,并将邻居的level增加(self的层次+1)那么多;将邻居下所有接点的level增加(self的层次+1)那么多。
     F、对每个交换机,如果不是根交换机,则在其上加一个节点表示上行端口,并查找该交换机下的主机和UPS。

2.3路由层的拓扑发现
     路由层的拓扑发现原理是TraceRoute所有设备节点,根据返回的路由路径即可得到相关设备的路由拓扑关系,拓扑发现的步骤如下:
     首先找到根节点,如果没有则生成一个;然后对每一个非路由器设备调用TraceRoute,将device id 为0而又没有子节点的treenode删掉,将device type是主机,但有子节点的设备改成路由器。
     对于多址路由器的问题,可以通过查看路由器的osid是否一致来确定是否属于同一个路由器的。

 

目录
相关文章
|
2月前
|
2月前
|
网络协议 安全 5G
网络与通信原理
【10月更文挑战第14天】网络与通信原理涉及众多方面的知识,从信号处理到网络协议,从有线通信到无线通信,从差错控制到通信安全等。深入理解这些原理对于设计、构建和维护各种通信系统至关重要。随着技术的不断发展,网络与通信原理也在不断演进和完善,为我们的生活和工作带来了更多的便利和创新。
71 3
|
2月前
|
网络协议 网络架构
|
3月前
|
并行计算 安全 网络协议
探索未来网络:量子互联网的原理与应用
本文深入探讨了量子互联网的基本概念、技术原理及其潜在应用。通过对量子纠缠、量子叠加和量子隐形传态等核心概念的解释,文章展示了量子互联网如何利用量子力学特性来实现超高速、超高安全性的通信。此外,还讨论了量子互联网在金融、医疗、国防等领域的应用前景,以及当前面临的技术挑战和未来的发展方向。
91 2
|
4天前
|
机器学习/深度学习 算法 PyTorch
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
本文探讨了图神经网络(GNN)与大型语言模型(LLM)结合在知识图谱问答中的应用。研究首先基于G-Retriever构建了探索性模型,然后深入分析了GNN-RAG架构,通过敏感性研究和架构改进,显著提升了模型的推理能力和答案质量。实验结果表明,改进后的模型在多个评估指标上取得了显著提升,特别是在精确率和召回率方面。最后,文章提出了反思机制和教师网络的概念,进一步增强了模型的推理能力。
20 4
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
|
1月前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
65 3
|
1月前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
2月前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
212 1
|
2月前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【10月更文挑战第10天】网络协议定义了机器间通信的标准格式,确保信息准确无损地传输。主要分为两种模型:OSI七层模型与TCP/IP模型。
|
2月前
|
存储 安全 算法
网络安全与信息安全:构建数字世界的防线在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系现代社会正常运转的关键支柱。本文旨在深入探讨网络安全漏洞的成因与影响,剖析加密技术的原理与应用,并强调提升公众安全意识的重要性。通过这些综合性的知识分享,我们期望为读者提供一个全面而深刻的网络安全视角,助力个人与企业在数字时代中稳健前行。
本文聚焦网络安全与信息安全领域,详细阐述了网络安全漏洞的潜在威胁、加密技术的强大防护作用以及安全意识培养的紧迫性。通过对真实案例的分析,文章揭示了网络攻击的多样性和复杂性,强调了构建全方位、多层次防御体系的必要性。同时,结合当前技术发展趋势,展望了未来网络安全领域的新挑战与新机遇,呼吁社会各界共同努力,共筑数字世界的安全防线。