未标记的客户流量不一致地通过中继发送

网络工程 思科 转变 局域网 顺式催化剂 多播
2022-02-25 19:32:40

我有一个催化剂 3750,这让我很头疼。

我有几个“客户”,他们都产生相同的标记和未标记流量混合。我想接收这些流量,然后通过添加了第二个 802.1Q 标记(客户或“地铁”标记)的中继将其传递出去。

我遇到的问题是大多数未标记的客户流量没有被发送到主干。

vlan dot1q tag native
vlan 201-224,301-324,401-422

interface GigabitEthernet1/0/1
  switchport access vlan 401
  switchport mode dot1q-tunnel
  switchport trunk native vlan 401 !  This doesn't seem to do anything.
  no keepalive
  no cdp enable

interface GigabitEthernet1/0/2
  switchport access vlan 402
  switchport mode dot1q-tunnel
  no keepalive
  no cdp enable

...


interface GigabitEthernet1/0/23
  !other switches trunk in through here to port 24
  switchport trunk encapsulation dot1q
  switchport trunk allowed vlan 201-224,301-324 
  switchport mode trunk
  switchport nonegotiate
  no keepalive
  no cdp enable

interface GigabitEthernet1/0/24
  switchport trunk encapsulation dot1q
  switchport trunk allowed vlan 201-224,301-324,401-422
  switchport mode trunk
  switchport nonegotiate
  no keepalive
  no cdp enable

Edit1: 在访问端口上设置本机 vlan 似乎没有任何效果。

Edit2: SSH 流量按预期穿过交换机(从中继到访问),但从访问到中继(例如 RTPS)的多播流量没有。但是,我现在注意到,当接入端口上的电缆被拔出并重新插入时,RTPS 流量按预期通过主干发送大约一秒钟,然后再次消失。我使用了一个在线数据分流器来确认 RTPS 流量仍然到达交换机(即 RTPS 流量没有在源头被关闭)

Edit3:糟糕,来自其他交换机的多播流量被丢弃。

什么有效:

  • 标记流量进入端口 1,2,... 有一个客户 vlan 标记 401,402,... 添加并发送出中继端口 (24)
  • 进入 ARP 和 MDNS 类型的端口 1,2,... 的未标记流量添加了客户标签,并从中继端口 (24) 发送出去
  • 来自其他交换机(vlan 范围 201-224,301-324)的标记单播流量通过交换机并从中继端口 (24) 中流出

什么不起作用:

  • 进入端口 1,2 的未标记流量(主要是 RTPS,还有其他内容)被丢弃,而不是被标记并发送出中继端口 (24)
  • 来自其他交换机(vlan 范围 201-224,301-324)的标记多播流量被丢弃,而不是从中继端口 24 出现。

旁注:这一切都可以在我的 SG-300(也是一个 cisco 交换机)上完美运行,但配置语言/语法完全不同,而且非常简单。“交换机端口模式客户/交换机端口客户 vlan ###”

3个回答

您的问题似乎与多播流量有关。默认为 IGMP 侦听的交换机在跨多个交换机的多播流量方面存在问题。Cisco 有文档,例如Multicast 在 Catalyst Switches 中的同一 VLAN 中不起作用,其中解释了问题和解决方案。

问题基本上是具有 IGMP 侦听功能的交换机将侦听 IGMP 消息,以了解哪些交换机接口正在为哪些 IGMP 组请求流量。如果交换机没有连接任何主机,它只会丢弃多播流量。IGMP 请求不会跨越交换机中继,除非在特定情况下。

问题

多播流量似乎不通过 Catalyst 交换机,即使在同一个 VLAN 中也是如此。图 1 描绘了一个典型场景:

图 1 – 具有组播源和接收器的网络设置

在此处输入图像描述

组播源连接到交换机 1,这是一台 Catalyst 6500 交换机,带有运行 Cisco IOS 软件的 Supervisor 引擎 720。接收器 1 连接到交换机 1,接收器 2 连接到交换机 2。交换机 2 是 Catalyst 3750。在交换机 1 和交换机 2 之间有一个第 2 层链路,无论是接入还是中继。

在此设置中,您会发现与源位于同一交换机上的接收器 1 可以毫无问题地获取多播流。但是,接收器 2 没有获得任何多播流量。本文档旨在解决此问题。

带有解决方案链接的问题说明:

了解问题及其解决方案

默认情况下,Catalyst 交换机启用了 IGMP 侦听。通过 IGMP 侦听,交换机侦听(或侦听)所有端口上的 IGMP 消息。交换机构建了一个 IGMP 侦听表,该表基本上将一个多播组映射到所有请求它的交换机端口。

假设在没有任何事先配置的情况下,接收器 1 和接收器 2 已发出信号,它们打算接收映射到 L2 多播 MAC 地址 01.00.5e.6f.ef.ef 的 239.239.239.239 的多播流。交换机 1 和交换机 2 都在它们的侦听表中为这些接收器创建一个条目,以响应接收器生成的 IGMP 报告。交换机 1 在其表中输入端口 Gigabit Ethernet 2/48,交换机 2 在其表中输入端口 Fast Ethernet 1/0/47。

注意:此时,组播源还没有开始流量,没有一台交换机知道交换机的mrouter端口。

当交换机 1 上的源开始传输多播流量时,交换机 1 已“看到”来自接收器 1 的 IGMP 报告。因此,交换机 1 提供多播输出端口千兆以太网 2/48。但是,由于交换机 2 在 IGMP 侦听过程中“吸收”了来自接收器 2 的 IGMP 报告,因此交换机 1 在千兆以太网 2/46 端口上看不到 IGMP 报告(多播请求)。因此,交换机 1 不会向交换机 2 发送任何多播流量。因此,接收器 2 永远不会收到任何多播流量,即使接收器 2 在同一个 VLAN 中但只是在与多播源不同的交换机上。

出现此问题的原因是,没有 mrouter 的任何 Catalyst 平台都不真正支持 IGMP 侦听。在没有 mrouter 端口的情况下,该机制“崩溃”。如果您想修复此解决方案,您必须让交换机以某种方式了解或知道 mrouter 端口。本文档的解决方案部分解释了该过程。但是,交换机上的 mrouter 端口如何解决这种情况呢?

基本上,当交换机学习或静态知道一个 mrouter 端口时,会发生两件关键的事情:

  • 交换机将 IGMP 报告从接收器“中继”到 mrouter 端口,这意味着 IGMP 报告将发送到多播路由器。交换机不会中继所有 IGMP 报告。相反,交换机只向 mrouter 发送少量报告。就本次讨论而言,报告的数量并不重要。多播路由器只需要知道是否有至少一个接收者对下游的多播仍然感兴趣。为了做出决定,多播路由器接收周期性的 IGMP 报告以响应其 IGMP 查询。
  • 在只有源的多播场景中,没有接收者“加入”,交换机仅将多播流发送到其 mrouter 端口。

当交换机知道它们的 mrouter 端口时,交换机 2 会将交换机从接收器 2 收到的 IGMP 报告中继到其 mrouter 端口。此端口是快速以太网 1/0/33。交换机 1 在交换机端口 Gigabit Ethernet 2/46 上获取此 IGMP 报告。从交换机 1 的角度来看,交换机只是收到了另一个 IGMP 报告。交换机将该端口添加到其 IGMP 侦听表中,并开始在该端口上发送多播流量。此时,两个接收器都接收到请求的多播流量,并且应用程序按预期工作。

但是交换机如何识别它们的 mrouter 端口,以便 IGMP 侦听像预期的那样在这样的简单环境中工作?解决方案部分提供了一些答案。

思科列出了该问题的五种不同的可能解决方案:

  1. 在第 3 层路由器/VLAN 接口上启用 PIM
  2. 在第 2 层 Catalyst 交换机上启用 IGMP 查询器功能
  3. 在交换机上配置静态 Mrouter 端口
  4. 在所有交换机上配置静态多播 MAC 条目
  5. 在所有交换机上禁用 IGMP Snooping

Ron Maupin 的评论恰到好处。这也让我意识到来自其他交换机的多播流量并没有像我之前想象的那样穿过这个交换机。

no igmp snooping

在全局配置中添加它可以让一切按照我想要的方式工作,尽管根据您的多播流量,您可能只想为选定的 vlan 和端口启用它。我建议阅读http://www.cisco.com/c/en/us/support/docs/switches/catalyst-6500-series-switches/68131-cat-multicast-prob.html以更好地理解这些选项。

谢谢大家!