網絡故障(network failure)是指由于硬件的問題、軟件的漏洞、病毒的侵入等引起網絡無法提供正常服務或降低服務質量的狀態。 路由器丟包的原因有很多。本文介紹如何判斷是否是路由器丟包以及如何解決。 一、 內存碎片是指路由器內存被分成很多不連續的塊。這將導致內存利用率下降,在嚴重的情況下,可能會發生內存錯誤,從而影響路由器的性能。也會造成路由器丟包的問題。其實不僅路由器內存有碎片問題,普通硬盤也有。 例如,Microsoft操作系統帶有碎片整理工具,可以保證用戶對硬盤進行碎片整理,從而提高硬盤的存儲容量和存儲性能。這里所說的內存碎片其實和硬盤碎片很相似。 二、 那么如何判斷路由器的內存是否碎片化呢?這里主要使用的是靈客路由器自帶的SHOW MEMORY命令。該命令將顯示有關當前內存的信息。 執行該命令后,會顯示當前可用內存(Free)和最大可用內存(Largest)。網絡管理員可以比較這兩個值來確定分片對路由器性能的影響。這主要是比較路由器的可用內存和最大可用塊的大小。 如果路由器的可用內存接近最大可用塊大小,則說明路由器雖然碎片化,但影響不大。但是如果最大可用塊很小,比如只有最大可用內存的十分之幾,那么路由器內存碎片問題就很嚴重了。 三、 如果路由器的可用內存為20M,最大可用塊的大小為15M,則說明路由器內存中存在一定的碎片,但該碎片不影響路由器的正常運行路由器。如果可用內存為20M,最大可用塊為0.8M,說明路由器內存中的碎片較多。 連續連續的內存中沒有足夠的可用內存,這可能會導致嚴重的內存分配問題,例如導致一個或多個接口間歇性丟包。 在路由器內存中,允許一定量的內存碎片。直到現在,還沒有可以完全避免內存碎片的內存管理技術。只是這個片段必須保證一個合理的值。 四、 其實這個可用塊和可用內存的關系可以用柜子里的抽屜來表示。例如,雖然一個機柜的可用容量比較大,但它被分成1000多個大小不一的網格。每個網格的空間容量是有限的。 當需要存儲大數據時,整個容量就足夠了,但是小網格是不夠的。此時,將出現消息丟失的問題。 這時候好像內存夠用了,但是此時內存中已經沒有連續的空間來存儲數據了。所以這些看似比較大的可用內存,其實可以存儲的數據并不多。 五、 如果確定路由器內存中沒有過多的碎片,網絡管理員必須考慮是否由于CPU過載而丟失數據包。要查看CPU 使用率,可以使用SHOW PROCESS 命令查看路由器的CPU 使用率。通過該命令可以顯示路由器最近5秒、1分鐘、5分鐘的CPU使用率。 因為 CPU 使用率一直在變化,所以網絡管理員主要關心的是 5 分鐘內的平均 CPU 使用率。此時可以解釋路由器接口丟包很可能是CPU過載造成的。 六、如果確認路由器CPU過載,則網絡管理員需要確認哪個進程占用了大量內存。只有找到罪魁禍首,網絡管理員才能對癥下藥,解決問題。 如果網絡管理員在查詢后發現SRB Background進程占用了大量CPU,則意味著發生了網橋風暴。因此,為了解決CPU過載問題,為了達到這個目的,網絡管理員可以通過SHOW PROCESS MEMORY命令查詢路由器的內存分配信息。 通過執行該命令,系統會反饋當前路由器的可用內存量和使用情況等信息。它還反映了每個進程占用的內存空間。如果一個進程占用的內存和上面顯示占用的CPU都很大,說明這個進程問題很大。網絡管理員需要一一調查這些可能的過程。 七、 例如,有時網絡管理員可以強制關閉某些消耗大量CPU資源的進程,然后測試丟包率是否有所改善。如果有顯著改善,則說明問題的原因已經找到。 這時候網絡管理員就可以對癥下藥,分析一下這個進程對應的是什么服務,為什么會占用這么多CPU和內存資源。 如果可能,您可以先關閉該服務,以減少丟包并保證其他服務的正常運行。等找到問題原因,修復后再重啟。 看完以上內容,我明白丟包的原因了。只要有針對性地采取措施,問題是可以解決的。請注意,路由器中使用了許多交換技術,它們都依賴于消息。如果消息丟失,無論交換技術多么先進,都行不通。如何防止消息丟失非常重要。
當今,越來越多的業務應用運行于網絡架構之上,保障網絡的持續、高效、安全的運行,成為網絡管理者面臨的巨大挑戰。 |
溫馨提示:喜歡本站的話,請收藏一下本站!