■
某企業要求所有員工間的電腦不能互訪,但都可以訪問OA服務器。企業成立初期員工不多,于是為每個用戶端口劃分一個VLAN,將交換機各端口配置為Hybrid模式,實現了每個員工都能訪問OA服務器, 但又相互隔離的要求。網絡連接示意圖如圖1所示。
交換機配置如下:


圖1 網絡拓撲結構

圖2 PC2抓包結果

網絡建成初期運行正常,但隨著員工數量不斷增加,服務器訪問量不斷增大,用戶反映高峰期訪問服務器很慢,甚至出現無法訪問的現象。根據用戶反饋的問題,首先懷疑網絡出現了環路導致風暴,但排查后排除了存在環路的可能,于是在PC2上進行抓包分析(如圖2)。
從抓包結果看,PC2收到了服務器發往PC1的單向報文,同樣在PC1上抓包也收到了服務器至PC2的單向報文。
查詢交換機上的MAC表項(如圖3),服務器、PC1及PC2的MAC地址均學習正確,并且根據抓包結果判斷服務器至每個用戶的單向報文都會轉發到其他用戶端口,這明顯不符合交換機報文轉發的原理。
我們現在以PC1為例來分析用戶訪問服務器時的數據轉發流程。
1.PC1訪問OA服務器,報文進入交換機端口g0/0/1后,交換機查詢MAC地址表項,由 于 PC1在 VLAN10,而 服務器在VLAN100中,交換機在VLAN10中沒有發現服務器MAC地址(雖然交換機的MAC地址中已經有服務器的MAC地址,但它是在VLAN100中),因此交換機會在VLAN10對報文進行泛洪,因為g0/0/3工作在Hybrid模式且允許VLAN10報文通過,因此g0/0/3端口會收到該報文,并將它轉發到OA服務器。
2.OA服務器回復PC1的報文進入交換機的g0/0/3端口,因為OA服務器在VLAN100中,PC1在VLAN10中,交換機的VLAN100中沒有PC1的MAC地址表項,因此交換機會在VLAN100對該報文進行泛洪,因g 0/0/2端口允許VLAN100的報文通過,因此PC2會收到該報文,實際上交換機所有用戶端口都能收到該報文。PC1和OA服務器完成了一次通信。
3.PC1后續與服務器間的報文同前面一樣,服務器回復PC1報文會繼續泛洪,因此這就是為什么PC2抓包能看到幾乎所有的單播報文。

圖3 交換機MAC地址表
4.當用戶的業務量大的時候,泛洪到各端口的流量就會疊加起來,假設一個端到端的流量在100M,那么十個這樣的互訪流量就會將端口流量增大到1G。單播泛洪正是網絡變慢的根本原因。
根據企業目前業務現狀,使用交換Hybrid端口特性已無法滿足用戶要求。我們可以采取兩種方法對交換機進行重新設置。
第一種方法是使用端口隔離。將交換機各端口劃分至一個VLAN中,除服務器外的所有用戶端口都配置為端口隔離。交換機配置如下:


第二種方法是使用MUX VLAN。將服務器劃分至MUX VLAN 100中,將用戶劃分至從VLAN的Separate VLAN 10中。交換機的配置如下:

雖然Hybrid端口特性應用靈活,實現簡單,但我們在做網絡規劃時如果只考慮組網結構、技術實現,而忽視業務流量、數據流向等問題,就會給網絡帶來安全隱患。