交換機端口分析器(SwitchedPortAnalyzer)的作用主要是為了給某種網絡分析器提供網絡數據流。
交換機端口分析器
它既可以實現一個VLAN中若干個源端口向一個監控端口鏡像數據,也可以從若干個VLAN向一個臨控端口鏡像數據。源端口的5號端口上流轉的所有數據流均被鏡像至10號監控端口,而數據分析設備通過監控端口接收了所有來自5號端口的數據流。
值得注意的是,源端口和鏡像端口必須位於同一台交換機上(但也有例外,如Catalyst6000系列交換機);而且SPAN並不會影響源端口的數據交換,它只是將源端口發送或接收的數據包副本發送到監控端口。
在SPAN任務過程中,用戶可以通過參數控制,來指明需要監控的數據流種類;還可以將一個或多個端、口、一個或多個VLAN作為源端口,並將從這些端口中發送或接收的單向或雙向數據流傳送至監控端口。
在Catalyst4006交換機中,最多可以配置6個單向的SPAN任務:2個輸入數據流監控、4個輸出數據流監控。一個雙向SPAN任務實際上包含一個單向輸入和一個單向輸出。而且不僅僅二層交換端口可作為源端口,Catalyst4006上的三層路由端口也可設置為源端口。
SPAN任務不會影響交換機的正常工作。當一個SPAN任務被建立後,根據交換機所處的不同的狀態或操作,任務會處於激活或非激活狀態,同時系統會將其記入日志。通過“showmonitorsession”命令可顯示SPAN的當前狀態。
如果遇到系統重新啟動的情況,在目的端口初始化結束之前,SPAN任務將處於非激活狀態。目的端口(監控端口)可以是交換機上的任意一個交換或路由端口。當一個目的端口處於激活狀態時,任何發送到該端口且與SPAN任務無關的數據包將會被丟棄。
一個目的端口只能處於一個SPAN任務中。當一個端口被配制成目的端口後就不能再成為源端口,同時冗余鏈路端口也不能成為SPAN的目的端口。特別需要指出的是,如果一個Trunk端口被配置成為交換機端口分析器的目的端口,則其Trunk功能也將自動停止。
源端口又可以稱作被監控端口。在一個SPAN任務中,可以有一個或多個源端口,而且可以根據用戶需要設置為輸入方向、輸出方向或雙向,但無論哪種情況,在一個SPAN任務中,所有源端口的被監控方向都必須是一致的。
在Catalyst4006交換機上的VLAN也可以整體設置為源端口,這意味著被指定VLAN中的所有端口均為當前SPAN任務中的源端口。
Trunk端口可以單獨設為源端口,也可以與非Trunk端口一起被設置為源端口,但要注意的是,在監控端口不會識別來自Trunk端口針對不同VLAN的數據封裝格式,換句話說,在監控端口收到的數據包將無法辨明是來自哪個VLAN。
SPAN數據流的分類及配置
基於VLAN的交換機端口分析器是以一個或幾個VLAN作為監控對象,其中的所有端口均為源端口,與基於端口的SPAN類似,基於VLAN的SPAN也分為輸入數據流、輸出數據流和雙向數據流監控三種類型。如下說述:
(1)輸入數據流(IngressSPAN):指被源端口接收進來,其數據副本發送至監控端口的數據流;
(2)輸出數據流(EgressSPAN):指從源端口發送出去,其數據副本發送至監控端口的數據流;
(3)雙向數據流(BothSPAN):即為以上兩種的綜合。
在配置基於VLAN的SPAN任務過程中,應注意幾點:
(1)Trunk端口可以包含在源端口中;
(2)針對雙向SPAN任務,如果在源VLAN中的兩個源端口之間有數據交換,則每一個數據包將有兩個副本被轉發至鏡像端口;
(3)對有多個源VLAN的SPAN任務來說,如果某個源VLAN被刪除掉,則該VLAN也將從源VLAN列表中刪除;
(4)處於非激活狀態的VLAN無法參與SPAN任務;
(5)對於一個設置為輸入數據流監控的源VLAN來說,來自其他VLAN的路由信息數據包不會被鏡像;此外,從設置為輸出數據流監控的VLAN向其他 VLAN發送出的路由信息數據包也同樣不會被鏡像。換句話說,基於VLAN的SPAN任務只對進出二層交換端口的數據包進行鏡像,而不鏡像VLAN之間的路由信息。所有網間傳輸的非路由數據包,包括組播包和BPDU(橋接協議數據單元)包,都可以使用SPAN任務進行鏡像。
交換機端口分析器在一些任務的配置下,會出現同一個SPAN源端口數據包的多個副本被發送到SPAN監控端口的情況。正像前面提到的那樣,在一個雙向 SPAN任務中,假設a1和a2為源端口,d1為目的端口,如果a1與a2之間有數據包傳輸,則在a1傳向a2的數據包將會被傳送到d1兩次,反之亦然。