关闭

如何发现网络拓扑

通过安德里亚·毛罗。贡献者
分享文章

什么是网络拓扑?

网络拓扑是指通信网络中不同网络元素的排列,通常用图形表示。

它是图论的一种应用,其中不同的网络设备被建模为节点,设备之间的连接被建模为节点之间的链接或线。

有两种不同类型的网络拓扑:

  • 物理网络拓扑是网络中各种组件的布局。不同的连接器代表物理网线,节点代表物理网络设备(如交换机)。
  • 逻辑网络拓扑在更高的层次上说明了数据如何在网络中流动。

通常,在局域网校园拓扑中,在第二层(交换部分),采用某种结构化的、多层的模型来简化网络的设计和实现。

但也有第三层网络,通常用于广域网,但也用于大型本地网络(例如使用叶-棘模型)。

发现三层网络拓扑

在基于ip的网络中,有一种标准协议可以非常用于此目的:Internet控制消息协议(ICMP)。它可以提供有关第三层网络的有趣信息。

当然,考虑到网络层提供的抽象级别,这些信息处于逻辑级别,但有些数据可以直接与物理信息相关,比如连接不同节点的链路。

用来识别不同网络跳的一个常用工具是traceroute路径跟踪程序在Windows上),尽管一些实现可能使用UDP包而不是ICMP包。使用该工具可以查找报文的路径,发现逻辑网络和路由器。

在一个逻辑网络上,您可以使用广播ping或特定的IP扫描工具,或ARP缓存发现(或其他方法)来识别同一网络中的不同节点。由于这些工具与广播边界交互的方式,它们只在单个网络内有效。

但是,通过查询中间系统(路由器),您可以根据管理路由表的方式使用不同的命令,获取更多有用的信息。

使用静态路由,可以很容易地显示配置。每个路由器都可以显示路由表项,以及这些表项中最近的路由器。然而,大多数现代网络将使用路由协议来交换信息。

使用动态路由协议(如OSPF或BGP),您可以查询IP邻居来识别宣布或接收路由规则的路由器。

发现二层网络拓扑

对于二层网络,可以使用不同的协议来发现网络拓扑:

  • 链路层发现协议(LLDP)是一种基于IEEE 802技术的与供应商无关的链路层协议,网络设备使用该协议在局域网中发布自己的身份、能力和邻居。这使您能够自动发现和通告节点邻居。
  • Cisco发现协议(CDP)是思科公司开发的一种专有的数据链路层协议,其他网络供应商也在使用和支持它。

这些协议可以通过监听CDP (CDP)或LLDP (LLDP)数据来识别谁连接到了特定的网口,也可以用来宣布设备已经连接到了特定的端口。

大多数交换机支持一个或两个协议,在某些情况下,其中一个只能处于监听模式。

此外,Windows和Linux系统支持LLDP,但在Windows上没有提供这一信息的内置工具。一些工具可以用于此范围(如LLDP Agent)。在Linux上,lldptool可用于查询邻居信息。

另一种更复杂的方法是分析MAC地址表或每个交换机和或生成树协议(STP)包,以找到MAC地址连接在哪里。考虑到这是最后的手段,因为这需要付出更多的努力。

对于物理链路测试,一些交换机也有特定的命令来测试电缆和/或收发器状态。在这种情况下,网卡可以在客户端(或服务器)系统上提供此功能,但通常这些数据非常差,不能取代专业的网络测试人员。

发现虚拟网络拓扑

一个常见的SMB用例是使用某种可以帮助确定复杂网络拓扑的hypervisor。

每个管理程序至少添加一个虚拟交换机,用于将虚拟机网络连接到物理网络。

根据管理程序的不同,可以使用不同的解决方案来显示网络拓扑。

例如在VMware vSphere中,虚拟交换机可能支持CDP和LLDP协议。

VMware标准虚拟交换机只支持CDP,包括listen和advertise两种方式。VMware分布式虚拟交换机同时支持CDP和LLDP,但遗憾的是,CDP只包含在Enterprise Plus license(或VSAN或NSX license)中,而这些license通常不在SMB的范围内。

发现无线网络拓扑

有一些工具和协议可以用来构建网络拓扑结构。

在大多数情况下,这些工具用于Wi-Fi网络中,以简化部署和配置。

例如,在AirWave 8.2.4中,Aruba引入了一个网络拓扑特性,这是有线网络的第二层地图(https://blogs.arubanetworks.com/industries/airwave-8-2-4-new-topology-available/)。

一些工具还可以提供接入点定位和信号覆盖,以最大化您的Wi-Fi网络效率。

请注意,一些智能手机应用程序可以提供WiFi设备/信号/通道发现,但使用这些工具不能提供特定供应商工具或用于无线网络部署的专业工具的相同功能。

网络拓扑与网络流

寻找网络拓扑只是一个方面。检查它是否符合设计(考虑一个可能将网络拓扑更改为非优化图的STP),或者记录一个未知的网络,这是很有用的。

同样重要的是,要了解网络是如何使用的,以及内部发生了何种类型的通信和通信。

交换机(和虚拟交换机)可以使用不同的协议进行查询,以获取原始数据包上的数据,或者(更好的方式)获取每个网络流上的数据。这些数据可以通过分析来了解交通状况。

在现代数据中心中,大多数流量可能是东西向的,而不是南北向的,您的网络拓扑对于这些情况可能不是最优的。

这是一个更复杂的话题,可以在另一篇文章中讨论,因为它更适合大型企业而不是中小型企业。

网络发现工具
不同的工具可以使用前面讨论的一些协议自动构建第2层和/或第3层网络的网络拓扑图。

而且,大多数使用SNMP或其他远程监控协议的监控工具都可以提供网络地图。

大多数都是商业工具,有些具有免费试用功能,每个网络供应商都可以拥有自己的工具集。

对于中小型企业,您还可以考虑使用任何基于saas的解决方案来降低成本。

一些云解决方案是简化使用的轻量级产品。虽然简单性是云管理服务的重要组成部分,但业务级解决方案需要更多。

Aruba的云管理网络组合旨在提供支持常见操作任务所需的信心。运营和保障解决方案包括:

  • 阿鲁巴岛中心:统一的云网络运维保障平台
  • 阿鲁巴岛SD-Branch:一个简化、安全的SD-WAN和分支操作解决方案
  • 阿鲁巴岛设备的见解:一个智能的,基于机器学习的解决方案,用于设备发现,分析和可见性

例如,在阿鲁巴岛中央,拓扑图提供了网络布局、分支站点中部署的设备的详细信息以及链路的健康状况的图形化表示。

每个解决方案都可以单独或共同支持Aruba的室内和室外ap的全部产品组合,开关网关和分支。

阅读我的其他博客

网络拓扑:逻辑vs物理

堆叠网络交换机:为什么和为什么不

现代交换机的网络安全

Baidu