網管判斷路由器丟包的原因
一般情況下,如果路由表中有匹(pǐ)配的表項的話,則會進行後續的工作,路(lù)由器接口能接收到報文是其工(gōng)作的基礎。
如果報文丟失的話,那(nà)麽將(jiāng)極大的影(yǐng)響到路由交換功能,最終導致數據的丟失,造成報文丟失的原(yuán)因有很多(duō),不過最主要的可能是路由器內存不足或者CPU過載(zǎi)所造成的。
要解決這個問題,首先需要判斷問(wèn)題的(de)原因。
一、內存碎片是指路由器內(nèi)存被劃分了許多不連續的塊。他將導致內存利用率降低,嚴重時(shí)可能會產生內存錯誤,影響路由器的性能。它也會導致路由器報文丟失的問(wèn)題(tí)。
其(qí)實不(bú)僅路由器的內存存在碎片問(wèn)題,普通的硬盤也存(cún)在(zài)這種(zhǒng)問題(tí)。如微軟操作係統(tǒng)中就自(zì)帶一個碎片整理工具,可(kě)以保障用戶來整理硬盤中的碎片,以提高硬(yìng)盤的存儲容量以及存儲性能。這(zhè)裏(lǐ)指的內存碎片其實(shí)跟硬盤碎片是類似的。
二、那(nà)該如何判斷(duàn)路由器(qì)的內存是否存在碎片呢?這裏(lǐ)主要借助的(de)是(shì)靈(líng)科路由器自帶的SHOW MEMORY命令。這個命令會顯示當前內存(cún)的相關信息。如(rú)執行這條(tiáo)命令後,會顯示當前可用內(nèi)存(cún)(Free)與最大可用(yòng)快(Largest)的數值。
網絡(luò)管理員把這兩個值進行比較,就可(kě)以(yǐ)判斷碎片對路由器性能的影響。這主要是把路由器的可用內存與(yǔ)最大可用快的大小進行比較。
如果路由器的可用(yòng)內(nèi)存與(yǔ)最(zuì)大(dà)的可(kě)用快(kuài)大小比較接近(jìn)時,表(biǎo)示雖然(rán)路由器存在碎片但是影響不大。但是若(ruò)最大(dà)可用的(de)塊很小,如隻有最(zuì)大可以用內存的幾(jǐ)十分之一,那麽就說明路由器內存碎片問題比較嚴重了。
三、如路由器(qì)的可用內存為20M, 而最大可用塊的(de)大小(xiǎo)為(wéi)15M的話,則表示路由器內存中是有一定的碎塊,但是(shì)這點碎塊不影響路由器的(de)正常運行。如果可用內存為20M,而最大可用塊為0.8M的話,則說明路(lù)由器內存中存在(zài)比較多的(de)碎塊。
連續連續內存中沒有足夠大的可用快(kuài),這有可能導致嚴重的內(nèi)存分配問題,如導致一個或者多個接口間歇(xiē)性的丟失報文(wén)。在路由(yóu)器內存中,允許存在一定的內存碎片。
到現在為止,還沒有哪一種內存管理技術說可以完全避免產生內存碎片。隻是這個碎(suì)片要保證一(yī)個合理的值。
具體這個值是多少,也(yě)沒有人可(kě)以給出一個具體的標準。不過根據筆者的經驗,最好能夠保證可(kě)用塊的(de)大小在可用內存的二分之一到三分之一之間。
當然(rán)可(kě)用塊大小跟可用內存越接近越(yuè)好。
四、其實這個(gè)可(kě)用塊與可用內存之間的關係我們可以利用櫃子中的抽屜來表示。如一個(gè)櫃子可用容量雖然比較大,但是裏麵劃分了大小不等的1000多個格子。每個格子的空間(jiān)容量有限。
當有大的數據需(xū)要存儲時,整的容量是夠的,但是小格(gé)子的容量不夠。此(cǐ)時,就會發(fā)生報文丟失的問題。
此時看起來內存足夠(gòu)用,可是此時內存中已經沒有連續的(de)空間用來存(cún)儲數據。所以(yǐ)這些看起來(lái)比較大的可用內存,其(qí)實保存不了多少數據。
五、如果確定路由器內(nèi)存中沒有過多的碎片,則網絡管理員就要考慮是否是因為CPU過載所導致(zhì)報文丟失的。要查看CPU的使用率,可以利用SHOW PROCESS命(mìng)令來查看(kàn)路(lù)由器的CPU使用情況,通過這(zhè)條命令,可以顯示出路由器CPU最近5秒、最近1分(fèn)鍾、以(yǐ)及最近5分鍾的CPU使(shǐ)用率。由於 CPU的使用率一直在變化,故網絡管理員主要關係(xì)的是5分鍾(zhōng)之內的(de)CPU平均使(shǐ)用率。
通常情況下,如果5分鍾之內的CPU使用(yòng)率能夠(gòu)保持在60%以下(xià),最多不能夠超過(guò)70%,則說明路由(yóu)器的CPU工作還是正常的。但是如果其CPU使用率達到了(le)70%以上,則說明路由器的CPU使用過度了。
此時可(kě)以說明路由器接口報文丟失很可能是CPU過載所造成(chéng)的。
六(liù)、如果確認路由器CPU過載,那麽網絡管員需要確認到底是哪一個進程占用了大量(liàng)的內存(cún)。隻有把這個罪魁禍首找出來,網(wǎng)絡管理員才能夠對症下藥,解決(jué)問題。如網絡(luò)管理員經過查詢(xún)發(fā)現是SRB BACKGROUND進程占用了大量的CPU,則就說明發生了網橋風暴。故要解決CPU過載問題,要達(dá)到這個目的,網絡管理員可以通過SHOW PROCESS MEMORY命(mìng)令查詢路由器(qì)的內存分配信息(xī)。
通過執行這個(gè)命令,係統會反(fǎn)饋當前路由器內存的可(kě)用量、以使用量等信息。還會反映每個進程(chéng)所占用的內存空間。如果某個進程所占用的內存與上麵顯示的(de)所占用的CPU都很大的話,則說明這個進程很有問題。網(wǎng)絡管理員要逐一排查這(zhè)些可以(yǐ)的進程。
七、如有時候網絡管理員可以強製把某些耗用(yòng)CPU資源大的進程關閉掉,然後測試一下報文丟失的(de)情(qíng)況是否有所改善。如果有明顯改善的話,那麽就找到問題的原因了。
此時(shí)網絡管理員就可以對症下藥,分析一下到底這個進程多對應的服務是(shì)什麽,為什麽會占用這麽多的CPU資(zī)源與內存資源。
如果可以的話,可以先把這個服務關閉掉,以減少(shǎo)報文丟失現象,保障其(qí)他服務的正常(cháng)運作。等到查明問題(tí)的原因,修複好後再重新啟動。
在靈科(kē)路由器中采用了很多交(jiāo)換技術,如過程交換(huàn)、快速(sù)交(jiāo)換、自治交換、矽交(jiāo)換等等,但是他們都依賴於報文。如果報文丟失的話,再怎麽高級的交換技術都將不起(qǐ)作(zuò)用,如何防止報文丟失(shī)就至關重要。
當網絡管理(lǐ)員發現有報文丟失的情況,馬上要采取以上等措施找到報文丟失發生的(de)原因,並積(jī)極采取措施盡早恢複故(gù)障。
關鍵詞:路由器
閱讀本文後您有什麽(me)感想? 已有 人(rén)給出評價!
- 0
- 0
- 0
- 0
- 0
- 0