我很犹豫要不要问这个问题,因为我可能无法执行诊断步骤来找出问题所在,但是:
我需要重新成像学校的实验室,可能在上课时间。我正在使用多播流,因为服务器共享一个文件 30 次几乎没有意义。我调低了速度,这样就有了余量,网络的其余部分应该不受影响。
我发现这样做似乎会切断我们与 WAN 的联系。其他网站无法访问,互联网也是如此。多播恢复运行时,从其他地方看不到学校。(多播本身工作正常)。
当这发生在另一个站点时,我与负责网络的同事进行了交谈,他无法找到任何关于我们所做的会导致问题的事情。
详细信息:我正在 Mac OS X 服务器上使用 DeployStudio 进行 ASR 多播恢复。我们的大多数交换机都是思科设备。我们确实有许多无线接入点(它们似乎通过无线方式传递多播流;不是最佳的,但不一定是问题。)我以 2 Mb/s 的速率设置流(我认为这是兆比特,不是字节);系统以 8 甚至 12 Mb/s 的速度恢复正常(所以我知道有空间)。
我更喜欢在物理上与生产用途分开的网络上进行多播流式传输,或者在几乎没有工作人员的夏天进行,但我在这里没有那种奢侈。
什么可能导致这个问题?
问题可能是您的交换机没有正确处理多播组,然后将多播作为广播发送(因此用无用的数据淹没您的 wan 链路,或者至少是 wan 路由器)。
因此,您必须至少有一台交换机充当 IGMP 查询器,这可以在 Cisco 2960 和 3750 上使用命令启用
ip igmp snooping querier
。如果您的网络只有 2950,您肯定会遇到问题。当您在其他计算机上重新安装映像时,您可以通过在 PC 上运行 wireshark 轻松查看您的交换机是否正在广播多播。(如果一切正常,您不应该看到多播数据)
还请告诉我们使用什么多播 IP,有些是保留的,不应该使用,有些可以路由,有些不可路由(参见http://iana.org/assignments/multicast-addresses/multicast-addresses.xml)
淹没处理您的网关访问的路由器,也许?
有没有办法让您从路由器获取 SNMP 信息或从中获取日志信息、CPU 状态等?
WAN 连接有多大?根据所使用的多播地址,多播流量可能会使 WAN 接口饱和,例如多播地址 224.0.0.1 表示“此子网上的所有主机”,这意味着 WAN 接口必须侦听然后丢弃多播交通。
如果 WAN 接口必须侦听然后丢弃多播流量,并且多播流量以 8 到 12 Mbps 的速率流动,并且 WAN 链接小于 8 到 12 mbps,那么我可以看到这是导致问题的原因。
我的猜测是,这本身不是 WAN 问题,而是路由器的 LAN 侧接口被交换机淹没的多播帧所淹没。
正如另一条评论中提到的,您需要启用 IGMP 侦听以使您的交换机能够正确约束多播帧。您可能还需要启用 IGMP 侦听查询器,除非您在每个 VLAN 上都有一个多播 (PIM) 路由器。在 Cisco 交换机上,您可以通过在全局配置模式下输入以下两个命令来启用 IGMP 侦听和侦听查询器:
您应该确保在网络中的每台交换机上都启用了 igmp 侦听。侦听查询器只需要在一台交换机上启用,假设该交换机在您的每个 VLAN 中都有一个 IP。我的理解是,在每个交换机上启用监听查询器不会有什么坏处。请注意,要使窥探查询器工作,您的交换机将需要在每个 VLAN 中都有一个 IP,或者至少每个 VLAN 都需要您担心限制的多播流量。
如果您对为什么需要 IGMP 侦听感到好奇:
您可能知道,通常交换机通过查阅其 CAM 表来提供流量。通过检查交换机接收到的每个帧的源 MAC 地址来填充 CAM 表。交换机看到的每个源 MAC 地址都会与相关帧进入交换机的交换机端口一起添加到 CAM 表中。通过这种方式,交换机“了解”每个端口连接了哪些 MAC 地址。
交换机使用 CAM 表来确定将传入帧传送到何处。如果在 CAM 表中找到目标MAC 地址,则交换机知道将帧传送到哪个端口,并且帧仅传送到该端口。如果在 CAM 表中找不到目标 MAC 地址,则该帧将被泛洪到交换机上的每个端口。
对于多播流量,帧的源 MAC 地址将是多播发送者的 MAC 地址,但帧的目标 MAC 地址将是多播组的 MAC 地址,而不是任何特定个人 PC 的 MAC 地址。这个多播 MAC 地址通常不应该是任何帧的源地址,因此在正常操作中交换机永远不会知道将多播帧发送到哪里。它将别无选择,只能将帧从每个端口中溢出。当这种情况发生在一个非常大的多播流上时,这些泛滥的帧有时会压倒网络上的其他系统。
IGMP 实际上是一个第 3 层协议,旨在允许 IP 主机通知 IP 路由器他们想加入一个多播组。从技术上讲,IGMP 与交换机和第 2 层操作无关,但包括 Cisco 在内的许多交换机供应商已为其交换机添加了功能,允许交换机侦听(或窥探)IP 主机和启用多播的 IP 之间的 IGMP 流量路由器。
不幸的是,IGMP 侦听仅在相关子网上存在多播路由器时才有效。如果没有启用多播的路由器,则没有 IGMP 对话可以“窥探”。这就是 IGMP 侦听查询器的作用所在。它发出通常由 PIM 多播路由器发送的 IGMP 成员资格查询,从而启动交换机以“侦听”的交换。
如果在大多数交换机上默认启用 IGMP 侦听会很好,但我想它不是因为,虽然 IGMP 是 IETF 标准,但没有 IGMP 侦听的实际标准。