当要监视网络流量以进行故障排除或分析时,将使用端口镜像。本质上,交换机或路由器会尝试将流量尽可能直接地转发到目的地。结果,通常不会将所有流量都泛洪到所有交换机端口,因此您不能简单地连接到交换机并监视有趣的流量。
在网络中,您可以将通过交换机端口或VLAN的流量镜像到其他端口,以便网络分析设备可以捕获所需的流量。本文介绍了如何利用交换机端口分析(SPAN)功能来镜像同一交换机上的端口之间或跨交换网络到远程交换机的端口之间的通信。
端口镜像及其用法
假设您的网络上存在问题,并且您想使用网络分析仪来收集数据。您需要捕获连接到交换机的两台主机之间的流量。
一台计算机连接到千兆以太网0/1接口,另一台连接到千兆以太网0/2接口。两个端口都分配了VLAN号10。因为其他设备已经连接到这些端口,所以必须将分析仪连接到另一个交换机端口。
在上述情况下,如果将分析仪连接到VLAN 10上的另一个端口,将显示捕获的数据包吗?
通常,交换机会获知MAC地址 位于何处, 并将数据包直接转发到这些端口。数据包唯一泛滥到特定目的地以外的端口的唯一时间是目的地MAC地址尚未找到或数据包以广播或多播地址为目的地时。
因此,您的数据包捕获将仅显示泛洪到分析仪的交换机端口的广播和多播数据包。两位感兴趣的主持人之间的对话都不会被窃听。
在这种情况下,您需要使用交换端口分析器(SPAN)功能将流量从一个源交换机端口或VLAN镜像到目标端口。这允许将监视设备(例如网络分析仪或“嗅探器”)连接到目标端口以捕获流量。
当数据包到达源端口或VLAN时,将对其进行特殊标记,以便在将数据包传递到正常目标端口时将其复制到SPAN目标端口。
SPAN有两种不同的形式:
- 本地SPAN:源SPAN和目标SPAN都位于本地交换机上。
源是一个或多个交换机端口。 - 远程SPAN(RSPAN):源SPAN和目标SPAN位于不同的交换机上。镜像流量是通过专用VLAN在跨
交换机之间从源到目的地的中继之间复制的。
本地SPAN
本地SPAN会话仅存在于一个交换机或一个逻辑交换机堆栈上。换句话说,您必须标识一个或多个源接口和一个目标接口,在该接口中将复制或镜像监视的流量。
下图显示了本地SPAN操作,其目标是监视来自计算机A并传递到计算机B的所有流量。连接计算机A的接口Gi 0/1被标识为SPAN源。网络分析仪连接到接口Gi 0/3,该接口被标识为SPAN目标。当以太网帧从接口Gi 0/1上的计算机A到达时,交换机将对其进行复制并将其转发给分析仪。
要监视交换机上一个或多个VLAN内的流量,可以将VLAN标识为SPAN源。这与本地SPAN基本相同,但通常称为基于VLAN的SPAN或VSPAN。在源VLAN上处于活动状态的所有交换机端口本身都将成为源,分析器将从该VLAN接收所有流量。
远程SPAN
在大型交换网络或地理位置上分开的交换网络中,将网络分析仪带到SPAN源所在的交换机可能并不总是很方便。使用远程交换机端口分析器(RSPAN),源和目标可以位于不同的交换机上。
下图显示了一个示例网络,该网络使用RSPAN将流量从交换机A上的源镜像到交换机B上的目的地。交换机通过中继链路连接,中继链路带有为RSPAN流量预留的VLAN。
在源交换机上,将镜像的帧复制并通过RSPAN VLAN发送到RSPAN目标。在目标交换机上,数据包从RSPAN VLAN中拉出并复制到RSPAN目标端口。
RSPAN VLAN与常规VLAN有一些重要区别。首先,在RSPAN VLAN上禁用MAC地址学习。这是为了防止传输RSPAN VLAN的中间交换机尝试将镜像数据包转发到其实际目标MAC地址。
具有RSPAN功能的交换机还会将RSPAN数据包泛洪出属于RSPAN VLAN的所有端口,以将其发送到RSPAN目的地。中间交换机不了解RSPAN源或目标;他们只知道RSPAN VLAN本身。
因此,RSPAN VLAN应该限于参与RSPAN传输的链接。换句话说,应该在交换机之间的中继上允许使用RSPAN VLAN,但不应将RSPAN VLAN分配给路径上的任何其他交换机端口。