检测非托管第 2 层交换机的网络映射算法?

Posted

技术标签:

【中文标题】检测非托管第 2 层交换机的网络映射算法?【英文标题】:Network Map Algorithm that Detects Unmanaged Layer 2 Switches? 【发布时间】:2010-09-09 22:34:18 【问题描述】:

我继承了一个分布在仓库/前台办公室的网络,该网络由大约 50 台台式电脑、各种服务器、网络打印机和路由器/交换机组成。

“智能”路由器位于服务器机房中。随着公司的发展,我们增加了额外的空间,并且不是很优雅地通过天花板等运行各种长度的 CAT5。我一直在天花板上找到各种集线器和开关——它们都没有以任何方式标记或记录.

当然,闪烁的灯光告诉我有人连接到这些设备,我只是无法找出

我可以运行传统的网络地图工具(有很多这样的东西),它向我展示了网络中基于 IP 的东西。这很好,但我已经掌握了信息。我需要知道的是网络拓扑——交换机(网桥)是如何互连的等等。而且由于它们是现成的 linksys 非托管类型,它们不响应 SNMP,所以我不能使用它...

什么是最好/最便宜的工具,我可以使用它来分析和检测网络中不响应 SNMP 的集线器和交换机之类的东西?

如果没有您知道的工具 - 您会建议使用什么通用算法来解决这个问题?我的猜测是我可以查看设备(交换机、台式机等)的 MAC 转发表并以这种方式构建一个链,但我不知道是否可以从非托管交换机获得它(更不用说集线器)。

(这个专利有一些巧妙的想法,但我找不到任何用它构建的软件:http://www.freepatentsonline.com/6628623.html

谢谢!!

【问题讨论】:

【参考方案1】:

一个想法可能是使用像 3com network director 试用版(或 The Dude)这样的程序。使用它来发现您的所有工作站以及任何其他具有 IP 地址的东西。

等待一段安静的时间,然后拔下每个集线器/交换机的插头……然后您至少可以开始制作地图,其余的将在下面的电缆上爬行。网络管理确实意味着变脏。

【讨论】:

哦,我喜欢这个主意。不过,它具有破坏性,所以这意味着我可以在深夜或周末这样做……但我认为这可能会奏效…… 是的,它非常具有破坏性。但希望你能找到一切。通常也有助于用手机拥有另一个 perosn :-)。有时我不得不在一些脏乱的地方爬来爬去。【参考方案2】:

您可能无法明确检测非托管设备...但您的托管设备上有 MAC -> 交换机端口映射,对吗?如果是这样,您应该能够推断存在具有多个连接客户端的非托管交换机/集线器——我不知道您如何找到只有一个客户端的端口。

    记录所有智能交换机和客户端设备的 MAC 地址 从您已知的智能开关之一开始 对于交换机上的每个端口,列出它转发的 MAC 地址。如果它列出一个客户,它是直接的。如果它不止一个,并且没有一个地址在您已知的交换机 MAC 中,那么您就有了一个愚蠢的交换机。如果它不止一个,并且在您的一组已知开关中有一个地址,请在此开关上递归。

您的网络拓扑中可能没有任何意外环路(或者您的网络可能无法工作),因此您可以假设核心之外的树结构。

【讨论】:

我想过这个问题——但在下游我有一个“哑”开关菊花链式连接到另一个哑开关——所以我在下游没有任何可见性...... 哦,是的。是时候弄脏了,那么;-)【参考方案3】:

您可以尝试从智能交换机中获取生成树协议信息;即使是非托管交换机也必须参与此协议(但这不适用于集线器)。

【讨论】:

【参考方案4】:

我认为非托管交换机/集线器不会有 arp 条目——在 mac 层透明是它们存在的原因。

而且我认为没有办法让他们的 MAC 转发表不拆开它们并找到一个 JTAG 或其他端口与它们通信,这不太可能。

我能想到的最好办法是依次对每个内部 IP 进行 pingflood,然后在此过程中尝试 ping 所有其他 IP。这将有所帮助,因为您只会从不与您正在 pingflooding 的机器共享(现在已经被遗忘)链接的机器获得体面的响应。基本上,您使用的是交换机上的背板比它们之间的互连要快得多的事实来映射出哪些连接是通过互连,哪些是通过背板。这还可以让您观察闪烁的灯光并确定哪些端口用于连接到哪些 IP。

遗憾的是,我知道没有软件可以为您做到这一点。

【讨论】:

【参考方案5】:

我个人也遇到过同样的问题。乐趣。我通过在主数据柜中安装新的 Cisco Catalyst 交换机并将每个端口上的智能端口配置文件设置为“桌面”来部分解决了这个问题。这会将端口限制为 1 个 MAC 地址。

第一次在非托管设备上激活多个设备时,任何连接了非托管集线器/交换机的端口都将被自动禁用。

当我找到非托管集线器/交换机时,我将它们替换为配置为将每个端口限制为 1 个 MAC 的托管交换机。

如果您的预算不允许这样做,另一种方法是目视跟踪每条线路并手动验证是否存在非托管网络设备。

【讨论】:

【参考方案6】:

我一直在研究这个,我发现了这篇旧的研究论文Using VPS Probing to Discover Layer 2 Topology。理论上,您可以使用可变数据包大小 (VPS) 探测通过它们引入的延迟来发现第 2 层交换机。我还没有机会在实践中尝试。

更新:我找到了名为Using Simple Per-Hop Capacity Metrics to Discover Link Layer Network Topology的论文的更新版本

【讨论】:

【参考方案7】:

如果您还没有,请尝试 HP Openview 试用版,除了使用 SNMP 之外,它还使用 ARP 表来确定您的拓扑。

【讨论】:

【参考方案8】:

您可以在下个月发布的 AdventNet 的 opmanager8.0 中期待这些功能

【讨论】:

【参考方案9】:

您可以尝试 NetskateKoban,它会为您提供连接到托管交换机每个端口的终端数量的地图。您可以通过供应商名称从那里了解未管理设备的存在。

我们已经看到了类似的问题,网络管理员必须弄清楚存在多少交换机(托管/非托管)。它会给你这些地方的位置。试试看……一切顺利

【讨论】:

以上是关于检测非托管第 2 层交换机的网络映射算法?的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络第五章 数据链路层

三层交换技术

王道考研 计算机网络16网络层功能 数据交换方式 电路交换 报文交换 分组交换 路由算法 OSPF RIP AS自治系统 IGP内部网关协议 EGP外部网关协议

综合实验——高级网络应用检测

华为网络配置(三层交换与Hybrid)

三层交换配置及RIP动态路由