- 相關(guān)推薦
淺談網(wǎng)絡(luò )故障排除
排除網(wǎng)絡(luò )問(wèn)題可能很棘手,任何故障排除工作的第一步就是檢查相應網(wǎng)絡(luò )部件的統計數字。然而,如果那些統計數字表明一切都很好,可是網(wǎng)絡(luò )問(wèn)題依然出現,那么你就只好引入故障排除界的“瑞士軍刀”――數據包分析。雖說(shuō)市面上有好多出色的收費產(chǎn)品可用于分析數據包,不過(guò)我還是青睞開(kāi)源工具Wireshark(https://www.wireshark.org/download.html)。
在分析涉及負載均衡系統的問(wèn)題時(shí),需要解答的第一個(gè)問(wèn)題就是負載均衡系統是不是處于透明模式下。在透明模式下,負載均衡系統會(huì )將原始客戶(hù)機的IP地址作為源IP地址來(lái)傳送。而在非透明模式下,負載均衡系統會(huì )使用負載均衡系統的虛擬IP地址(VIP)對服務(wù)器請求進(jìn)行網(wǎng)絡(luò )地址轉換(NAT)處理。非透明模式是最常見(jiàn)的實(shí)施模式。
現在你準備獲取跟蹤文件。在理想情況下,下圖中的每一個(gè)點(diǎn)都會(huì )插入分路器(tap)。要是你沒(méi)有分路器,可以使用SPAN(交換機端口分析器)或交換機上的鏡像端口來(lái)捕獲流量;蛘吣阋部梢詫Ψ阑饓拓撦d均衡系統的入站和出站端口使用tcpdump命令。關(guān)鍵在于同時(shí)捕獲所有四個(gè)位置的數據包,分析來(lái)自四個(gè)不同有利位置的會(huì )話(huà)。
你捕獲了數據后,必須找到出現在所有四個(gè)跟蹤文件中的單一會(huì )話(huà)。通常,你只要過(guò)濾相應的兩個(gè)IP地址就可以了。但是記住負載均衡系統在服務(wù)器端執行NAT,所以過(guò)濾客戶(hù)機IP地址并不適用于服務(wù)器端痕跡。
進(jìn)入到第4層可以解決這個(gè)問(wèn)題。你可以按照TCP報頭中的序列號進(jìn)行過(guò)濾。不過(guò)要小心;Wireshark在默認情況下顯示相對序列號,你到頭來(lái)會(huì )遇到數百個(gè)序列號為1的數據包。關(guān)鍵在于關(guān)閉TCP參數選項中的相對序列號。只要只要取消勾選該選項,實(shí)際的十進(jìn)制數就會(huì )顯示,而不是相對會(huì )話(huà)開(kāi)始的序列號。一旦你過(guò)濾了所有四個(gè)痕跡文件中的同一序列號,你在每個(gè)文件中應該有一個(gè)數據包。
如果你的負載均衡系統在NAT端創(chuàng )建自己的數據包發(fā)往服務(wù)器,棘手問(wèn)題就來(lái)了。序列字段然后不再從頭到尾都一樣。這種場(chǎng)景下使用的最佳字段就是應用層所特有的字段。如果是HTTP,我建議使用Cookie字段;如果是HTTPS,則建議使用Client Hello中的Random Bytes字段。
最后,你面對在多個(gè)地方捕獲的單一會(huì )話(huà),可以分析其痕跡了。首先,尋找數據包丟失現象。在Wireshark的專(zhuān)家分析語(yǔ)言中,那些丟失的數據包會(huì )被標為“Previous segment not captured”(未捕捉到的先前片段)。這會(huì )出現在一個(gè)或多個(gè)痕跡文件中,但并不出現在所有痕跡文件中。比如說(shuō),如果你在防火墻痕跡的出站端(而不是入站端)看到來(lái)自服務(wù)器的響應,就知道防火墻丟失了數據包。
分析數據包丟失現象后,檢查T(mén)CP握手機制,確保TCP選項在一路當中并沒(méi)有被篡改。當沿途中的某個(gè)設備創(chuàng )建自己的數據包,而不是以透明方式一路傳送時(shí),窗口縮放(windows scaling)和選擇性確認(Selective Acknowledgements)往往會(huì )消失。那兩個(gè)選項對吞吐量而言很重要,不應該去掉。
在痕跡中要關(guān)注的最后一個(gè)問(wèn)題是很高的增量時(shí)間(delta time)。如果捕獲了四個(gè)不同位置的數據,你就真正能夠查看什么東西在添加延遲(要是果真有什么東西的話(huà))。先看一下握手機制。使用同步請求(SYN)與同步響應(SYN/ACK)的間隔時(shí)間作為基準?匆幌码x客戶(hù)機最近的防火墻入站端留下的痕跡中的其余請求和響應。
針對那些增量時(shí)間為一秒或更長(cháng)的請求/響應組合,逐步檢查每個(gè)痕跡,直到你找到哪個(gè)端口在增添延遲為止。是處理器使用激增的防火墻嗎?還是跟蹤NAT表有問(wèn)題的負載均衡系統?也許是并發(fā)連接數量太多的服務(wù)器。仔細檢查痕跡,可以告訴你哪里有問(wèn)題,哪里沒(méi)有問(wèn)題。
設置數據包捕獲機制可能在網(wǎng)絡(luò )滅火行動(dòng)中會(huì )占用寶貴的時(shí)間,不過(guò)從長(cháng)遠來(lái)看它可以節省大量的時(shí)間。
【淺談網(wǎng)絡(luò )故障排除】相關(guān)文章:
網(wǎng)絡(luò )故障診斷過(guò)程和排除10-01
計算機網(wǎng)絡(luò )故障的診斷與排除方法10-10
淺談Linux網(wǎng)絡(luò )故障的解決辦法10-22
計算機網(wǎng)絡(luò )故障診斷和排除方法10-03
淺談局域網(wǎng)常見(jiàn)故障及排除策略10-16