在过去一个月的其他事件中,我曾帮助客户排查了由于交换机配置错误而引起的网络问题。在所有情况下,错误都是我不愿意做的’认为应该从未更改过其默认设置。

因此,我认为简短讨论一下交换机如何工作以及在正常办公环境中应该使用或不应该使用哪些功能可能会很有用。

MAC学习

要讨论的第一个功能称为MAC学习。以太网交换机使用以太网MAC地址来决定如何转发帧。在以太网层,我们倾向于指 镜框,但它们大致相同。

MAC地址只是一个唯一标识设备的48位序列。标准IPv4地址的长度为32位,因此与使用IP地址相比,使用MAC地址可以唯一标识更多的设备。

IPv6地址的长度为128位,但是最常见的IPv6地址结构实际上包括MAC地址,以帮助简化动态地址的生成。

每个帧都有一个源MAC和一个目标MAC。交换机在动态生成的内部表中查找目标MAC,并将帧转发出与MAC关联的端口。交换机仅通过侦听即可了解这些MAC地址。

每当它从端口接收到帧时,它就会查看源MAC。如果没有’如果MAC表中已经有该地址,它将创建一个将地址与端口关联的条目。

这个过程叫做 MAC学习.

但是,有一些特殊情况。首先是广播和多播。这些是特殊的MAC地址。

广播地址仅为全1的48位。按照惯例,组播MAC地址以三个特殊字节开头:01-00-5e。然后是三个字节(24位),它们通常映射到多播IP地址,并且它们可同时用于IPv4和IPv6。

根据定义,广播将发送到所有设备。只要交换机在目标MAC地址中看到全1,就会将帧转发到所有活动端口。

组播将发送到已订阅特定组播数据流的设备。因此,多播帧将转发到某些端口或不转发到所有端口,但可能不是全部。关于交换机如何知道在何处转发多播有很多微妙之处,但是到目前为止,这已经足够了。

The other very important exception is what the switch does when it encounters an unknown MAC address, that is, one that’s not in the MAC table. In this case, the switch has no choice but to forward the frame to all ports. This is called strong>flooding。希望正确的设备将做出响应,并且交换机将能够更正MAC表中丢失的条目。

在许多交换机上,可以禁用MAC学习。这样做是有正当理由的。您可能需要为MAC表中的特定端口配置静态条目,以便可以’永远不会被覆盖。您的系统上可能有大量的MAC地址,因此’无法将它们全部保留在表中。这些示例可能需要在一个或多个端口上禁用MAC学习。

但是,这些是极为罕见的特殊情况。大多数时候,您确实希望启用MAC学习。如果没有MAC学习,交换机将淹没每一帧。这可能会导致严重的性能问题。

所以不要’除非您确实想知道并考虑后果,否则请关闭它。而且,如果您在整个小型办公室网络中的性能仍然不佳,请查看是否可能意外禁用了MAC学习。

默认情况下,应在每台交换机上启用MAC学习。不要关闭它。

港口安全

第二项功能也与MAC表相关,称为端口安全性。这是大多数Cisco交换机上的一项功能,可让您指定可在MAC表中为任何给定接口显示的最大MAC地址数。

通常这样做是为了防止人们在办公桌下连接小工作组交换机,并将一堆机器连接到单个端口。有时也会强制将特定的MAC地址(因此将特定的设备)强制为特定端口上唯一允许的设备。

麻烦是’这不是实现上述两个目标的好方法。我可以连接一个小型路由器或防火墙,使十几台计算机看起来就像一个MAC。我可以类似地将设备重新配置为具有与应该存在的MAC地址相同的MAC地址。

但是,更糟的是,此功能可能会导致严重的问题。例如,如果在具有无线访问点的端口上启用它,则当设备漫游到办公室另一侧的其他访问点时,可能会遇到严重的问题。您会发现自己限制了连接到该接入点的无线设备的数量。

简而言之,我认为端口安全带来的问题多于解决的问题。如果您真的想控制哪些设备可以连接到哪里,它’使用网络访问控制系统(例如802.1x)可能更好。

默认情况下,端口安全性处于禁用状态。不要打开它。

生成树

我认为应该始终启用的最后一个功能是 生成树。我以前 写了一篇关于生成树的文章,所以我赢了’再次进入细节。该协议的目的仅仅是防止循环。

以太网有一个严重的缺陷:任何设备都不可能知道它是否已经转发了特定的帧。因此,如果您的网络中有一个环路,两个交换机通过一条以上的路径(可能是一条非常circuit回的路径,或者可能是一条电缆环路)连接,则每个交换机都会愉快地转发该环路周围的每一帧无数次。

解决方案是确保有 没有循环。您可以手动执行此操作,但是’t always work.

有时,尤其是出于某些原因在会议室中,有人会想到将工作组交换机连接到两个不同端口的巧妙想法。一世’我不确定他们的逻辑是什么,但这经常发生。每次发生时,他们都会淘汰整个办公室。

然后,由于网络完全无休止地转发每个数据包无数次,因此很难弄清环路的实际位置。

但是,如果启用生成树,则网络会主动检测环路并将其关闭。这给您带来了额外的好处,您可以故意在交换机之间建立多个连接,以在发生故障时实现冗余。

尽管默认情况下取决于制造商,但通常默认情况下会启用生成树。保持打开状态。