如何判斷路由是否丟包
關(guān)于路由器丟包的原因有很多種,下面學(xué)習(xí)啦小編就為大家介紹如何判斷是否是路由器丟包和解決的方法,歡迎大家參考和學(xué)習(xí)。
具體的方法如下:
一、內(nèi)存碎片是指路由器內(nèi)存被劃分了許多不連續(xù)的塊。他將導(dǎo)致內(nèi)存利用率降低,嚴(yán)重時(shí)可能會(huì)產(chǎn)生內(nèi)存錯(cuò)誤,影響路由器的性能。它也會(huì)導(dǎo)致路由器報(bào)文丟失的問(wèn)題,其實(shí)不僅路由器的內(nèi)存存在碎片問(wèn)題,普通的硬盤(pán)也存在這種問(wèn)題。
如微軟操作系統(tǒng)中就自帶一個(gè)碎片整理工具,可以保障用戶來(lái)整理硬盤(pán)中的碎片,以提高硬盤(pán)的存儲(chǔ)容量以及存儲(chǔ)性能。這里指的內(nèi)存碎片其實(shí)跟硬盤(pán)碎片是類(lèi)似的。
二、那該如何判斷路由器的內(nèi)存是否存在碎片呢?這里主要借助的是靈科路由器自帶的SHOW MEMORY命令。這個(gè)命令會(huì)顯示當(dāng)前內(nèi)存的相關(guān)信息。
如執(zhí)行這條命令后,會(huì)顯示當(dāng)前可用內(nèi)存(Free)與最大可用快(Largest)的數(shù)值,網(wǎng)絡(luò)管理員把這兩個(gè)值進(jìn)行比較,就可以判斷碎片對(duì)路由器性能的影響。這主要是把路由器的可用內(nèi)存與最大可用快的大小進(jìn)行比較。
如果路由器的可用內(nèi)存與最大的可用快大小比較接近時(shí),表示雖然路由器存在碎片但是影響不大。但是若最大可用的塊很小,如只有最大可以用內(nèi)存的幾十分之一,那么就說(shuō)明路由器內(nèi)存碎片問(wèn)題比較嚴(yán)重了。
三、如路由器的可用內(nèi)存為20M, 而最大可用塊的大小為15M的話,則表示路由器內(nèi)存中是有一定的碎塊,但是這點(diǎn)碎塊不影響路由器的正常運(yùn)行。如果可用內(nèi)存為20M,而最大可用塊為0.8M的話,則說(shuō)明路由器內(nèi)存中存在比較多的碎塊。
連續(xù)連續(xù)內(nèi)存中沒(méi)有足夠大的可用快,這有可能導(dǎo)致嚴(yán)重的內(nèi)存分配問(wèn)題,如導(dǎo)致一個(gè)或者多個(gè)接口間歇性的丟失報(bào)文。
在路由器內(nèi)存中,允許存在一定的內(nèi)存碎片。到現(xiàn)在為止,還沒(méi)有哪一種內(nèi)存管理技術(shù)說(shuō)可以完全避免產(chǎn)生內(nèi)存碎片。只是這個(gè)碎片要保證一個(gè)合理的值。
四、其實(shí)這個(gè)可用塊與可用內(nèi)存之間的關(guān)系我們可以利用柜子中的抽屜來(lái)表示。如一個(gè)柜子可用容量雖然比較大,但是里面劃分了大小不等的1000多個(gè)格子。每個(gè)格子的空間容量有限。
當(dāng)有大的數(shù)據(jù)需要存儲(chǔ)時(shí),整的容量是夠的,但是小格子的容量不夠。此時(shí),就會(huì)發(fā)生報(bào)文丟失的問(wèn)題。
此時(shí)看起來(lái)內(nèi)存足夠用,可是此時(shí)內(nèi)存中已經(jīng)沒(méi)有連續(xù)的空間用來(lái)存儲(chǔ)數(shù)據(jù)。所以這些看起來(lái)比較大的可用內(nèi)存,其實(shí)保存不了多少數(shù)據(jù)。
五、如果確定路由器內(nèi)存中沒(méi)有過(guò)多的碎片,則網(wǎng)絡(luò)管理員就要考慮是否是因?yàn)镃PU過(guò)載所導(dǎo)致報(bào)文丟失的。要查看CPU的使用率,可以利用SHOW PROCESS命令來(lái)查看路由器的CPU使用情況,通過(guò)這條命令,可以顯示出路由器CPU最近5秒、最近1分鐘、以及最近5分鐘的CPU使用率。
由于 CPU的使用率一直在變化,故網(wǎng)絡(luò)管理員主要關(guān)系的是5分鐘之內(nèi)的CPU平均使用率。此時(shí)可以說(shuō)明路由器接口報(bào)文丟失很可能是CPU過(guò)載所造成的。
六、如果確認(rèn)路由器CPU過(guò)載,那么網(wǎng)絡(luò)管員需要確認(rèn)到底是哪一個(gè)進(jìn)程占用了大量的內(nèi)存。只有把這個(gè)罪魁禍?zhǔn)渍页鰜?lái),網(wǎng)絡(luò)管理員才能夠?qū)ΠY下藥,解決問(wèn)題。
如網(wǎng)絡(luò)管理員經(jīng)過(guò)查詢發(fā)現(xiàn)是SRB BACKGROUND進(jìn)程占用了大量的CPU,則就說(shuō)明發(fā)生了網(wǎng)橋風(fēng)暴。故要解決CPU過(guò)載問(wèn)題,要達(dá)到這個(gè)目的,網(wǎng)絡(luò)管理員可以通過(guò)SHOW PROCESS MEMORY命令查詢路由器的內(nèi)存分配信息。
通過(guò)執(zhí)行這個(gè)命令,系統(tǒng)會(huì)反饋當(dāng)前路由器內(nèi)存的可用量、以使用量等信息。還會(huì)反映每個(gè)進(jìn)程所占用的內(nèi)存空間。如果某個(gè)進(jìn)程所占用的內(nèi)存與上面顯示的所占用的CPU都很大的話,則說(shuō)明這個(gè)進(jìn)程很有問(wèn)題。網(wǎng)絡(luò)管理員要逐一排查這些可以的進(jìn)程。
七、如有時(shí)候網(wǎng)絡(luò)管理員可以強(qiáng)制把某些耗用CPU資源大的進(jìn)程關(guān)閉掉,然后測(cè)試一下報(bào)文丟失的情況是否有所改善。如果有明顯改善的話,那么就找到問(wèn)題的原因了。
此時(shí)網(wǎng)絡(luò)管理員就可以對(duì)癥下藥,分析一下到底這個(gè)進(jìn)程多對(duì)應(yīng)的服務(wù)是什么,為什么會(huì)占用這么多的CPU資源與內(nèi)存資源。
如果可以的話,可以先把這個(gè)服務(wù)關(guān)閉掉,以減少報(bào)文丟失現(xiàn)象,保障其他服務(wù)的正常運(yùn)作。等到查明問(wèn)題的原因,修復(fù)好后再重新啟動(dòng)。
看完上面的內(nèi)容后,了解了丟包的原因,只要針對(duì)性做出措施就可以解決問(wèn)題,注意在路由器中采用了很多交換技術(shù),他們都依賴于報(bào)文。如果報(bào)文丟失的話,再怎么高級(jí)的交換技術(shù)都將不起作用,如何防止報(bào)文丟失就至關(guān)重要。