未知单播泛洪

网络工程 思科 转变 杜松 安全
2022-02-20 04:28:55

我目前专注于“未知单播泛洪”以及思科提出的解决方案。

我真的需要有关以下方面的深入信息:

  • 思科阻止未知单播泛洪 (UUFB)
  • 未知单播泛洪速率限制 (UUFRL)
  • 端口单播和组播洪水阻塞
  • 未知单播转发(来自瞻博网络)

我已经有了它们用于阻止/限制单播泛洪攻击的概念,但是我对它们的工作方式、过程背后的算法、任何特定的 RFC、机制和方法很感兴趣!

我搜索了这些概念,但我发现的是如何在不深入算法的情况下配置它们。

此致,

3个回答

这个主题实际上并不多,您可以阻止未知的单播,或者您可以将它们限制在特定百分比的带宽内。Juniper 确实有一个有趣的第三个选项,但我不确定它到底有多大用处。没有 RFC,每个供应商都能够以不同的(可能是专有的)方式处理(或不处理)这个主题。

思科配置文档通常很好地解释了事情是如何工作的。

有关 Cisco Cisco UUFB 和 UUMB 的工作原理:配置未知单播洪水阻塞 (UUFB)

默认情况下,未知单播和组播流量会泛洪到 VLAN 中的所有第 2 层端口。您可以通过使用 UUFB 和 UMFB 功能阻止或限制此流量来阻止此行为。UUFB 和 UMFB 功能可阻止特定端口上的未知单播和多播流量泛洪,仅允许具有已知存在于该端口上的 MAC 地址的出口流量。使用 switchport 命令配置的所有端口都支持 UUFB 和 UMFB 功能,包括专用 VLAN (PVLAN) 端口。

有关 Cisco UUFRL的工作原理:配置流量风暴控制

流量风暴控制(也称为流量抑制)监控 1 秒流量风暴控制间隔内的传入流量级别,并在此时间间隔内将流量级别与您配置的流量风暴控制级别进行比较。流量风暴控制级别是端口总可用带宽的百分比。每个端口都有一个单一的流量风暴控制级别,用于所有类型的流量(广播、多播和单播)。

注意•路由器仅在千兆以太网 LAN 端口上支持多播和单播流量风暴控制。

•路由器支持所有LAN端口的广播流量风暴控制。

•流量风暴控制不抑制生成树数据包。除了生成树报文,流量风暴控制不区分控制流量和数据流量。

流量风暴控制以 1 秒流量风暴控制间隔监控您启用流量风暴控制的每种流量类型的级别。在一个时间间隔内,当开启流量风暴控制的入口流量达到端口配置的流量风暴控制级别时,流量风暴控制会丢弃该流量,直到流量风暴控制时间间隔结束。

Juniper 有类似的 UUFB 和 UUFRL,但它还有一个功能,允许 VLAN 将所有未知单播帧转发到特定端口(中继),并且每个 VLAN 可以使用不同的端口以避免特定中继过载:了解未知单播转发

为了防止风暴,您可以通过配置一个 VLAN 或所有 VLAN 将所有未知单播流量转发到特定接口来禁用未知单播数据包向所有 VLAN 接口的泛洪。这会将未知的单播流量引导到单个接口。

简单地说,单播泛洪是一个第 2 层过程,其中目的地到未知位置的流量被发送到每个端口(接收端口除外)。这是由于交换机的 mac-address-table 没有保存端口对于目标 MAC - 它没有看到来自该 MAC 的流量,表已满,或者表已关闭(很少有交换机支持禁用 mac-learning。)禁用单播泛洪是一个非常糟糕的主意。

在谈论多播时,这是一个类似的过程,但基于组/IGMP 侦听/等。知道在哪里需要什么流量。当交换机不知道一个组属于哪个端口时,它可以将它泛洪到所有端口,或者完全丢弃它。哪个最适合网络取决于该网络的具体情况。

您必须首先了解单播泛滥的来源:

当路由器要将数据包转发到目的地时,它必须知道下一跳端口、IP 地址和 MAC 地址。要知道它将使用 ARP 协议,这将更新内部 MAC/IP arp 表。

为了转发一些流量,交换机监听它的入口端口并记录源 MAC 地址并将其放入 MAC/端口表中。要正确切换帧,交换机必须在表中找到 MAC 地址。(如果我在端口 1 上看到来自 MAC A 的传入流量,那么 MAC A 在端口 1 上,我可以记住一段时间)。

那时大多数设备都是交换机和路由器。在某些情况下,交换机部分可以“忘记” MAC/端口关系,而路由器知道 IP/MAC 地址。

在这种情况下,数据包由交换机部分广播到整个 VLAN(其行为类似于集线器,将帧泛洪到每个端口,但传入端口除外)。

在这种情况下,UUFB 将防止泛洪并丢弃数据包。UUFRL 将泛滥,但泛滥将受到速率限制。在这两种情况下,您都可以防止/限制洪水,但会丢失数据包。

文档可以在网上找到。

我建议使用小型网络并减少 ARP 计时器,以便在所有旧文档中都不会发生单播泛洪, 但想法仍然相同