交換機端口聚合功能使用廣泛,既能增加帶寬,又能提供冗余鏈路功能,深受網(wǎng)絡工程師的喜愛,在一些大型網(wǎng)絡環(huán)境,配合集群或虛擬化,可以對網(wǎng)絡的高可靠性提供更進一步的鏈路保障。
最近筆者單位為提高網(wǎng)絡安全,新增安全設備,在實施過程中,因為單位機房設備眾多,且安全設備主要是對機房核心設備進行防護,又不想更改現(xiàn)有網(wǎng)絡拓撲結構,安全設備就安裝在了用戶核心交換機與服務器核心交換機之間,做透明方式接入,拓撲圖如圖1所示。
兩臺交換機之間使用千兆電口做聚合、使用相同的聚合組(聚合組只具有本地有效性,此處是方便記憶)。兩臺防火墻獨立運行,沒有使用HA(此次使用的防火墻不支持HA雙活,不支持跨設備端口聚合,防火墻使用透明模式接入,每臺防火墻使用三個電口,兩個電口做橋接,接入網(wǎng)絡,一個電口做為管理口,用來管理安全設備)。兩臺交換機配置如下(部分)。

圖1 單位網(wǎng)絡拓撲圖
服務器核心交換機、用戶接入核心交換機:



使用intface vlan2作為路由接口,用戶網(wǎng)段與服務器網(wǎng)段使用VLAN2虛擬接口路由。
以上配置完畢,用戶反映內(nèi)網(wǎng)服務器使用正常,在運行了一段時間后,突然有人反映,應用出現(xiàn)訪問緩慢,甚至打不開的情況。在用戶網(wǎng)段使用ping命令測試與服務器的鏈接情況,出現(xiàn)丟包現(xiàn)象。
當時認為是服務器出現(xiàn)問題,但在服務器網(wǎng)段訪問應用服務器時,應用打開速度正常,使用ping命令測試延時也在正常范圍內(nèi),且未出現(xiàn)丟包現(xiàn)象,通過與更多內(nèi)網(wǎng)辦公用戶溝通,出現(xiàn)應用緩慢,甚至打不開的情況非常普遍。
當時認為是防火墻出現(xiàn)了問題,登錄防火墻查看情況,咨詢了防火墻廠家技術人員,都沒有找到防火墻策略出現(xiàn)了什么問題。
正在非常苦悶時,突然發(fā)現(xiàn)防火墻的一個橋接端口顯示狀態(tài)為“down”。當時第一想法是,“我做的端口聚合,即便有口‘down’掉了,鏈路是冗余的,所有流量都應自動切換到另外一條鏈路上,不應該出現(xiàn)丟包的問題的”。然后順便查看了接口上有沒有收到錯誤的數(shù)據(jù)包等工作,都沒有找到相關的問題。
無意中使用“dis linkaggregation ver”查看了服務器核心交換機聚合口的狀態(tài),發(fā)現(xiàn)如圖2所示情況。

圖2 查看服務器核心交換機聚合口的狀態(tài)

圖3 在另外一臺交換機查看相關狀態(tài)
當然,有接口“down”掉,此接口變成了“U”狀態(tài),也是正常的。但當在另外一臺交換機使用“dis linkaggregation ver”查看相關狀態(tài)時,瞬間明白了丟包的原因,如圖3所示。
兩臺交換機使用的都是1/0/1口跟1/0/2口,但是用戶核心交換機兩個口都是“S”狀態(tài),然而服務器核心交換機1/0/1的狀態(tài)為“U”,1/0/2的狀態(tài)為“S”。
在使用靜態(tài)端口聚合時,端口在聚合組中是否傳輸數(shù)據(jù)的標準是:1.端口的狀態(tài)是否為“UP”狀態(tài);2.端口是否為“選中”裝態(tài),即“S”狀態(tài)。如果某個端口狀態(tài)為“UP”,但在聚合組中狀態(tài)為“U”,那么這個端口也不傳輸數(shù)據(jù)。
在此次問題中,因為服務器核心交換機的1/0/1接口連接的線纜脫落,接口的狀態(tài)為“down”,接口在聚合組中的狀態(tài)為“U”,因此這個接口不參與數(shù)據(jù)的轉(zhuǎn)發(fā);但是用戶核心交換機1/0/1端口狀態(tài)為“UP”,在聚合組中的狀態(tài)卻為“S”,所以此接口參與數(shù)據(jù)轉(zhuǎn)發(fā)。
由于以上情況的發(fā)生,從而造成用戶核心交換機通過GE1/0/1與GE1/0/2兩個接口發(fā)送數(shù)據(jù),而服務器核心交換機只能通過GE1/0/2接收數(shù)據(jù),數(shù)據(jù)鏈路層接收到的數(shù)據(jù)不完整,導致應用層數(shù)據(jù)包也不完整,所以表現(xiàn)為應用打開緩慢或無法打開。
導致此次問題的根本原因是接口線纜的松動,但是也由此次問題讓筆者更深刻的認識靜態(tài)端口聚合所存在的問題,以及以后使用端口聚合時需要注意的問題,從而避免靜態(tài)端口聚合出現(xiàn)類似“接口分裂”的情況。