亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種路由下一跳不可達(dá)的處理方法及系統(tǒng)的制作方法

文檔序號(hào):7949932閱讀:661來源:國(guó)知局
專利名稱:一種路由下一跳不可達(dá)的處理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及一種路由下一跳不可達(dá)的處理方法及系統(tǒng)。
背景技術(shù)
隨著通信技術(shù)的發(fā)展,網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大,路由表的數(shù)量也在不斷擴(kuò)大。如果三層網(wǎng)絡(luò)設(shè)備依然使用原有的路由表(Routing Table)處理方式,則設(shè)備的安全性、穩(wěn)定性等將會(huì)受到很大的威脅,因此有必要對(duì)現(xiàn)有的路由表處理方式進(jìn)行改進(jìn)。三層網(wǎng)絡(luò)設(shè)備的主要工作就是為經(jīng)過設(shè)備的每個(gè)數(shù)據(jù)包尋找一條最佳傳輸路徑, 并將該數(shù)據(jù)有效地傳送到目的站點(diǎn)。為了完成這項(xiàng)工作,在三層網(wǎng)絡(luò)設(shè)備中保存著各種傳輸路徑的相關(guān)數(shù)據(jù)——路由表(Routing Table),供路由選擇時(shí)使用,表中包含的信息決定了數(shù)據(jù)轉(zhuǎn)發(fā)的策略。如圖1所示,軟件中保存的一條路由30. 0. 0. 0 20. 0. 0. 2,這條路由的意義就是,去往網(wǎng)絡(luò)30. 0. 0. 0所要經(jīng)過的下一個(gè)設(shè)備是設(shè)備B 20. 0. 0. 2。TCP/IP協(xié)議中,地址解析協(xié)議(ARP)負(fù)責(zé)將下一跳IP地址解析為下一跳硬件地址 (Media Access Control,MAC,用來定義網(wǎng)絡(luò)設(shè)備的位置)。ARP協(xié)議是一個(gè)軟件模塊,用于解析IP地址對(duì)應(yīng)的MAC地址,保存有一張IP地址和MAC地址的對(duì)應(yīng)關(guān)系表。ARP協(xié)議有兩種報(bào)文請(qǐng)求報(bào)文和應(yīng)答報(bào)文,當(dāng)設(shè)備A要和設(shè)備B通信時(shí),如果設(shè)備A只知道設(shè)備B的IP地址,而不知道設(shè)備B的MAC地址,設(shè)備A就會(huì)發(fā)送一個(gè)ARP請(qǐng)求報(bào)文,請(qǐng)求設(shè)備B的IP地址對(duì)應(yīng)的MAC地址,設(shè)備B收到ARP請(qǐng)求報(bào)文后發(fā)送一個(gè)ARP應(yīng)答報(bào)文,告訴設(shè)備A它的MAC地址是多少,這樣設(shè)備A就能和設(shè)備B通信了。設(shè)備A的ARP表中存在一條ARP表項(xiàng)設(shè)備B的IP地址設(shè)備B的MAC地址,這樣設(shè)備A就學(xué)習(xí)到了設(shè)備B的ARP信息,這就是ARP學(xué)習(xí)。如果某個(gè)時(shí)刻設(shè)備B和設(shè)備A的連接線路出現(xiàn)故障斷開了,設(shè)備A上設(shè)備B的IP地址對(duì)應(yīng)的ARP表項(xiàng)由于長(zhǎng)時(shí)間得不到更新,設(shè)備A就會(huì)刪除設(shè)備B的IP地址對(duì)應(yīng)的ARP表項(xiàng),這就是ARP老化。如果某個(gè)時(shí)刻設(shè)備B的MAC地址發(fā)生了變化,設(shè)備A就會(huì)更新設(shè)備B的IP地址對(duì)應(yīng)的ARP表項(xiàng),這就是ARP 更新。對(duì)于三層網(wǎng)絡(luò)設(shè)備來說,路由協(xié)議負(fù)責(zé)生成路由,并將路由下發(fā)形成路由表用來指導(dǎo)三層報(bào)文轉(zhuǎn)發(fā)。在IP網(wǎng)絡(luò)中,IP數(shù)據(jù)包到達(dá)三層網(wǎng)絡(luò)設(shè)備后,會(huì)進(jìn)行路由表的查找, 查找得到下一跳的MAC地址才能進(jìn)行報(bào)文的封裝,從而將報(bào)文通過鏈路層進(jìn)行正確的轉(zhuǎn)發(fā),如果路由的下一跳不可達(dá)(如圖1所示,由于設(shè)備C和設(shè)備A之間的線路斷開了,路由 40. 0. 0. 0 20. 0. 0. 3的下一跳就是不可達(dá)的),就無(wú)法得到下一跳的MAC地址,該IP數(shù)據(jù)包只能被丟棄。對(duì)于路由下一跳不可達(dá)的問題,現(xiàn)有的處理方式有兩種1)下一跳不可達(dá)的路由,如圖1所示,軟件中保存的一條路由 40. 0. 0. 020. 0. 0.3,由于設(shè)備C和設(shè)備A之間的線路斷開了,對(duì)設(shè)備A來講,設(shè)備C就變成了不可達(dá)的下一跳設(shè)備。設(shè)備A就把40. 0. 0. 0這條路由的下一跳暫時(shí)修改為設(shè)備A的MAC 添加到硬件路由表中。報(bào)文到來后,硬件芯片把報(bào)文交到設(shè)備A進(jìn)行軟件處理,設(shè)備A向下一跳20. 0. 0. 3發(fā)送ARP請(qǐng)求報(bào)文,如果學(xué)習(xí)到下一跳的MAC,則更新硬件路由表,把下一跳改為正確的下一跳MAC地址0005. 1111. 3333,把該報(bào)文發(fā)送到下一跳設(shè)備,否則丟棄該報(bào)文。2)下一跳不可達(dá)的路由,直接添加到硬件路由表中,硬件保存下一跳的IP地址而不是MAC地址,報(bào)文到來后,查找硬件路由表得到下一跳IP地址,如果下一跳不可達(dá),由芯片構(gòu)造ARP請(qǐng)求報(bào)文進(jìn)行ARP學(xué)習(xí),如果學(xué)習(xí)到下一跳的MAC地址,把該報(bào)文發(fā)送到下一跳設(shè)備,如果未學(xué)習(xí)到下一跳的MAC地址則丟棄該報(bào)文。對(duì)于路由下一跳不可達(dá)的問題,考慮到安全性和高效性等因素,發(fā)現(xiàn)上述第一種處理方式存在著如下問題大型網(wǎng)絡(luò)中,大量的報(bào)文匹配到下一跳不可達(dá)的路由,從而上交到CPU,導(dǎo)致CPU 利用率上升,占用寶貴的CPU資源,嚴(yán)重時(shí)甚至導(dǎo)致系統(tǒng)崩潰。而且每個(gè)報(bào)文的到來,CPU都會(huì)發(fā)送相應(yīng)的ARP請(qǐng)求報(bào)文,占用較多的網(wǎng)絡(luò)帶寬。對(duì)于上述第二種處理方式,存在著如下問題這種處理方式需要芯片構(gòu)造ARP請(qǐng)求報(bào)文,但是市場(chǎng)上很多芯片都不支持這種構(gòu)造ARP請(qǐng)求報(bào)文的功能,對(duì)一些設(shè)備來說更換芯片又存在著較大的成本支出。而且,每個(gè)報(bào)文的到來,硬件都會(huì)發(fā)送相應(yīng)的ARP請(qǐng)求報(bào)文,也會(huì)占用大量的網(wǎng)絡(luò)帶寬。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有技術(shù)面對(duì)下一跳不可達(dá)的路由占用大量網(wǎng)絡(luò)帶寬的不足。為了解決上述技術(shù)問題,本發(fā)明提供了一種路由下一跳不可達(dá)的處理方法,包括將不可達(dá)下一跳的IP地址添加進(jìn)一級(jí)鏈表中,并把存儲(chǔ)該下一跳不可達(dá)的路由的存儲(chǔ)地址添加到與該不可達(dá)下一跳對(duì)應(yīng)的二級(jí)鏈表中;周期性地對(duì)該一級(jí)鏈表中的每個(gè)下一跳進(jìn)行地址解析協(xié)議(ARP)學(xué)習(xí);根據(jù)該ARP學(xué)習(xí)的學(xué)習(xí)結(jié)果,將變?yōu)榭蛇_(dá)的下一跳在該二級(jí)鏈表中的存儲(chǔ)地址所存儲(chǔ)的路由添加進(jìn)硬件路由表,并刪除該二級(jí)鏈表中的所有路由的存儲(chǔ)地址,從該一級(jí)鏈表中刪除該變?yōu)榭蛇_(dá)的下一跳。優(yōu)選地,將不可達(dá)下一跳的IP地址添加進(jìn)一級(jí)鏈表中,并把存儲(chǔ)該下一跳不可達(dá)的路由的存儲(chǔ)地址添加到二級(jí)鏈表中的步驟,包括不將下一跳不可達(dá)的路由添加到硬件路由表中。優(yōu)選地,將不可達(dá)下一跳的IP地址添加進(jìn)一級(jí)鏈表中,并把存儲(chǔ)該下一跳不可達(dá)的路由的存儲(chǔ)地址添加到二級(jí)鏈表中的步驟,包括不將下一跳不可達(dá)的路由的下一跳修改為CPU的硬件地址。優(yōu)選地,可達(dá)的下一跳的IP地址在ARP老化后進(jìn)行ARP學(xué)習(xí),不成功則從該硬件路由表中刪除以該ARP老化的IP地址為下一跳的路由,將下一跳添加進(jìn)該一級(jí)鏈表。優(yōu)選地,不成功則從該硬件路由表中刪除以該ARP老化的IP地址為下一跳的路由的步驟,包括該ARP學(xué)習(xí)不成功時(shí)獲得該ARP老化的IP地址;
獲得以該ARP老化的IP地址為下一跳的路由;從該硬件路由表中刪除所獲得的該以該ARP老化的IP地址為下一跳的路由。優(yōu)選地,下一跳對(duì)應(yīng)的ARP更新時(shí),在該硬件路由表中更新路由的下一跳信息。本發(fā)明還提供了一種路由下一跳不可達(dá)的處理系統(tǒng),包括一級(jí)鏈表;二級(jí)鏈表;硬件路由表;添加模塊,用于將不可達(dá)下一跳的IP地址添加進(jìn)該一級(jí)鏈表中,并把存儲(chǔ)該下一跳不可達(dá)的路由的存儲(chǔ)地址添加到與該不可達(dá)下一跳對(duì)應(yīng)的該二級(jí)鏈表中;學(xué)習(xí)模塊,用于周期性地對(duì)該一級(jí)鏈表中的每個(gè)下一跳進(jìn)行地址解析協(xié)議(ARP) 學(xué)習(xí);管理模塊,用于根據(jù)該ARP學(xué)習(xí)的學(xué)習(xí)結(jié)果,將變?yōu)榭蛇_(dá)的下一跳在該二級(jí)鏈表中的存儲(chǔ)地址所存儲(chǔ)的路由添加進(jìn)該硬件路由表,并刪除該二級(jí)鏈表中的所有路由的存儲(chǔ)地址,從該一級(jí)鏈表中刪除該變?yōu)榭蛇_(dá)的下一跳。優(yōu)選地,該添加模塊用于不將下一跳不可達(dá)的路由添加到硬件路由表中。優(yōu)選地,該添加模塊用于不將下一跳不可達(dá)的路由的下一跳修改為CPU的硬件地址。優(yōu)選地,該學(xué)習(xí)模塊進(jìn)一步用于可達(dá)的下一跳的IP地址在ARP老化后進(jìn)行ARP學(xué)習(xí),不成功則從該硬件路由表中刪除以該ARP老化的IP地址為下一跳的路由,將下一跳添加進(jìn)該一級(jí)鏈表。優(yōu)選地,該學(xué)習(xí)模塊用于在該ARP不成功時(shí)獲得該ARP老化的IP地址,并獲得以該ARP老化的IP地址為下一跳的路由,從該硬件路由表中刪除所獲得的該以該ARP老化的 IP地址為下一跳的路由。優(yōu)選地,該系統(tǒng)包括更新模塊,用于在下一跳對(duì)應(yīng)的ARP更新時(shí),在該硬件路由表中更新路由的下一跳/[目息°與現(xiàn)有技術(shù)相比,本發(fā)明的實(shí)施例未將下一跳不可達(dá)的路由添加到硬件路由表中,CPU因此不會(huì)收到大量匹配到下一跳不可達(dá)路由的報(bào)文,克服了現(xiàn)有技術(shù)因下一跳不可達(dá)的路由而發(fā)送大量ARP請(qǐng)求報(bào)文而占用網(wǎng)絡(luò)帶寬的問題。本發(fā)明的實(shí)施例周期性地發(fā)送不可達(dá)下一跳的ARP請(qǐng)求報(bào)文,使下一跳不可達(dá)路由能夠及時(shí)地得到更新。本發(fā)明的實(shí)施例在路由的下一跳對(duì)應(yīng)的MAC地址等信息變化時(shí),只更新路由的下一跳信息,減少了硬件操作時(shí)間,提高了操作效率。本發(fā)明的實(shí)施例的不可達(dá)下一跳鏈表采用二層鏈表結(jié)構(gòu),大大減少了查找整張路由表帶來的花費(fèi),提高了操作效率。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。


附圖用來提供對(duì)本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。在附圖中圖1為下一跳不可達(dá)路由示意圖。圖2為本發(fā)明實(shí)施例路由下一跳不可達(dá)的處理方法的流程示意圖。圖3為本發(fā)明實(shí)施例中路由的下一跳不可達(dá)時(shí)的操作示意圖。圖4為本發(fā)明實(shí)施例中二層鏈表的結(jié)構(gòu)示意圖。圖5為本發(fā)明實(shí)施例提供的路由下一跳不可達(dá)的處理系統(tǒng)的組成示意圖。
具體實(shí)施例方式首先,如果不沖突,本發(fā)明實(shí)施例以及實(shí)施例中的各個(gè)特征在不相沖突前提下的相互結(jié)合,均在本發(fā)明的保護(hù)范圍之內(nèi)。另外,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。圖2為本發(fā)明實(shí)施例路由下一跳不可達(dá)的處理方法的流程示意圖,圖3為本發(fā)明實(shí)施例中路由的下一跳不可達(dá)時(shí)的操作示意圖,圖4是本發(fā)明實(shí)施例中二層鏈表的結(jié)構(gòu)示意圖。如圖2所示,本實(shí)施例的流程主要包括如下步驟步驟S210,對(duì)于下一跳不可達(dá)的路由,不將它們的下一跳修改為本設(shè)備CPU的MAC 地址,也不添加到硬件路由表中,只通過軟件路由表存儲(chǔ)該條路由的IP地址,用于后續(xù)的管理和決策。不將下一跳不可達(dá)的路由添加到硬件路由表中,IP報(bào)文到達(dá)設(shè)備后而是查找路由表,由于沒有匹配的路由,所以報(bào)文會(huì)直接被丟棄掉,不會(huì)上交到CPU。本實(shí)施例如此處理, 不會(huì)導(dǎo)致CPU利用率的上升,芯片也不需要具備支持發(fā)送ARP請(qǐng)求報(bào)文的功能。這樣軟件和硬件都不會(huì)發(fā)送ARP請(qǐng)求報(bào)文,解決了現(xiàn)有技術(shù)因發(fā)送大量ARP請(qǐng)求報(bào)文而占用網(wǎng)絡(luò)帶寬的問題。步驟S220,如圖3、4所示,采用軟件記錄路由時(shí),如果路由的下一跳不可達(dá),把不可達(dá)的下一跳添加進(jìn)記錄不可達(dá)下一跳的一級(jí)鏈表中,并把該路由在軟件路由表中的存儲(chǔ)地址添加到與該不可達(dá)的下一跳對(duì)應(yīng)的二級(jí)鏈表中。本發(fā)明的實(shí)施例為了提高效率,在每個(gè)下一跳下保存了相關(guān)路由的存儲(chǔ)地址, 通過這些存儲(chǔ)地址能夠立即得到相關(guān)的路由。以20. 0.0. 5為下一跳的路由有三條,它們的存儲(chǔ)地址為0x02002310、0x020032M、0x02004000,對(duì)應(yīng)的路由的目的地址分別為 30. 0. 0. 0,60. 0. 0. 0,80. 0. 0. O0本發(fā)明的實(shí)施例將這些路由添加在硬件路由表中。比如要添加路由50.0.0.0 20. 0.0. 4,因?yàn)?0. 0.0. 4不可達(dá),因此在記錄不可達(dá)下一跳的一級(jí)鏈表中添加不可達(dá)下一跳的IP地址20. 0. 0. 4這個(gè)鏈表節(jié)點(diǎn),如果20. 0. 0. 4 這個(gè)鏈表節(jié)點(diǎn)已經(jīng)存在,只須把路由50. 0. 0. 0 20. 0. 0. 4在內(nèi)存中的存儲(chǔ)地址放在不可達(dá)下一跳的IP地址20. 0.0. 4的二級(jí)鏈表中。這樣處理加快了查找路由的速度,從一級(jí)鏈表中可以直接得到相關(guān)路由的指針(即存儲(chǔ)地址),而不必查找整個(gè)路由表,尤其是對(duì)路由數(shù)目很大,查找整個(gè)路由表非常費(fèi)時(shí)的情況下,明顯提高了查找效率,節(jié)省了查找時(shí)間。步驟S230,周期性地向記錄不可達(dá)下一跳的一級(jí)鏈表中的每個(gè)下一跳發(fā)送ARP請(qǐng)求報(bào)文,也即周期性地對(duì)一級(jí)鏈表中的每個(gè)下一跳進(jìn)行ARP學(xué)習(xí)。
現(xiàn)有技術(shù)中把下一跳不可達(dá)路由的下一跳修改為CPU的MAC,然后添加進(jìn)硬件路由表,用于后續(xù)實(shí)現(xiàn)硬件轉(zhuǎn)發(fā)IP報(bào)文。這樣處理有一個(gè)優(yōu)勢(shì),那就是可以及時(shí)地更新路由。 因?yàn)槭盏揭粋€(gè)匹配到這條路由的報(bào)文,就交到CPU,CPU就會(huì)向不可達(dá)的下一跳發(fā)送ARP請(qǐng)求,如果這時(shí)下一跳可達(dá)了,就能立即更新該路由,把硬件路由表中的下一跳修改為正確的下一跳。本發(fā)明的實(shí)施例對(duì)下一跳不可達(dá)路由的處理方式是不添加到硬件路由表中,報(bào)文因此不會(huì)上交到CPU。當(dāng)下一跳可達(dá)后,由于沒有及時(shí)地發(fā)送ARP請(qǐng)求,所以就不能及時(shí)把相應(yīng)的路由添加到硬件路由表中。為了克服不能及時(shí)地發(fā)送ARP請(qǐng)求的不足,本發(fā)明的實(shí)施例周期性地向不可達(dá)的下一跳發(fā)送ARP請(qǐng)求報(bào)文。每隔一定時(shí)間T便遍歷一級(jí)鏈表,向每個(gè)不可達(dá)下一跳發(fā)送ARP 請(qǐng)求報(bào)文。這樣就能及時(shí)地學(xué)習(xí)到下一跳的MAC,從而能及時(shí)地把軟件保存的路由添加到硬件中。步驟S240,學(xué)習(xí)到ARP應(yīng)答報(bào)文后遍歷一級(jí)鏈表,查找是不是某個(gè)之前不可達(dá)的下一跳現(xiàn)在變?yōu)榭蛇_(dá)了。如果某個(gè)之前不可達(dá)的下一跳現(xiàn)在變?yōu)榭蛇_(dá),則把二級(jí)鏈表中的存儲(chǔ)地址所存儲(chǔ)的路由添加進(jìn)硬件路由表,并刪除該二級(jí)鏈表中的所有路由的存儲(chǔ)地址, 從該一級(jí)鏈表中刪除該變?yōu)榭蛇_(dá)的下一跳。舉例說明,如圖3所示,收到一個(gè)ARP應(yīng)答報(bào)文,應(yīng)答報(bào)文中的IP地址和MAC地址對(duì)應(yīng)為20. 0. 0. 5 0005. 1234. 2365,遍歷一級(jí)鏈表,查找到不可達(dá)的下一跳20. 0. 0. 5變?yōu)?br> 可達(dá),于是20. 0. 0. 5 二級(jí)鏈表下的相關(guān)路由需要更新。如果之前沒有保存下一跳為20. 0. 0. 5的路由的存儲(chǔ)地址,則需要從整張路由表中查找下一跳為20. 0. 0. 5的路由,大型網(wǎng)絡(luò)中路由表的大小能達(dá)到10萬(wàn)條,從里面查找是非常費(fèi)時(shí)的。步驟S250,可達(dá)的下一跳對(duì)應(yīng)的IP地址ARP老化后,為了防止ARP太頻繁地老化和學(xué)習(xí),此時(shí)立即發(fā)送一條ARP請(qǐng)求報(bào)文以進(jìn)行ARP學(xué)習(xí)。如果沒有成功學(xué)習(xí)到,則查找之前記錄的軟件路由表,獲得該ARP老化的IP地址,并獲得以該ARP老化的IP地址為下一跳的路由,從硬件路由表中刪除所獲得的該路由,并把該下一跳添加進(jìn)一級(jí)鏈表。步驟S^O,當(dāng)下一跳對(duì)應(yīng)的ARP更新(下一跳IP地址對(duì)應(yīng)的MAC地址變了 )時(shí), 在硬件路由表中更新路由的下一跳信息。現(xiàn)有技術(shù)的通常做法是,先把原來的路由刪除后再添加一條新的路由。本發(fā)明的實(shí)施例并沒有把原來的路由從硬件刪除后再添加新的路由,而是只在硬件路由表中更新路由的下一跳信息,如此處理減少了硬件操作時(shí)間。實(shí)際環(huán)境中有很多條路由都有相同的下一跳,因此在下一跳更新時(shí),每條路由只更新其下一跳信息,節(jié)省了大量的硬件操作時(shí)間。本發(fā)明還提供了一種路由下一跳不可達(dá)的處理系統(tǒng),如圖5所示,該處理系統(tǒng)主要包括一級(jí)鏈表510、二級(jí)鏈表520、硬件路由表530、添加模塊M0、學(xué)習(xí)模塊550以及管理模塊560,其中添加模塊M0,與該一級(jí)鏈表510及二級(jí)鏈表520相連,用于存儲(chǔ)下一跳不可達(dá)的路由,將不可達(dá)下一跳的IP地址添加進(jìn)該一級(jí)鏈表510中,并把存儲(chǔ)該下一跳不可達(dá)的路由的存儲(chǔ)地址添加到該二級(jí)鏈表520中;學(xué)習(xí)模塊550,與該一級(jí)鏈表510、二級(jí)鏈表520及硬件路由表530相連,用于周期性地對(duì)該一級(jí)鏈表510中的每個(gè)下一跳進(jìn)行地址解析協(xié)議(ARP)學(xué)習(xí);管理模塊560,與該一級(jí)鏈表510、二級(jí)鏈表520及硬件路由表530及學(xué)習(xí)模塊550 相連,用于根據(jù)該ARP學(xué)習(xí)的學(xué)習(xí)結(jié)果,將變?yōu)榭蛇_(dá)的下一跳在該二級(jí)鏈表520中的存儲(chǔ)地址所存儲(chǔ)的路由添加進(jìn)硬件路由表530,并刪除該二級(jí)鏈表520中的所有路由的存儲(chǔ)地址, 從該一級(jí)鏈表510中刪除該變?yōu)榭蛇_(dá)的下一跳。其中,該添加模塊540用于不將下一跳不可達(dá)的路由添加到硬件路由表530中。其中,該添加模塊540用于不將下一跳不可達(dá)的路由的下一跳修改為CPU的硬件地址。其中,該學(xué)習(xí)模塊550進(jìn)一步用于可達(dá)的下一跳的IP地址在ARP老化后進(jìn)行ARP 學(xué)習(xí),不成功則從該硬件路由表530中刪除以該ARP老化的IP地址為下一跳的路由,將下一跳添加進(jìn)該一級(jí)鏈表510。其中,該學(xué)習(xí)模塊550用于在該ARP不成功時(shí)獲得該ARP老化的IP地址,并獲得以該ARP老化的IP地址為下一跳的路由,從該硬件路由表530中刪除所獲得的該以該ARP 老化的IP地址為下一跳的路由。其中,該系統(tǒng)進(jìn)一步包括更新模塊570,與該硬件路由表530相連,用于在下一跳對(duì)應(yīng)的ARP更新時(shí),在該硬件路由表530中更新路由的下一跳信息。本發(fā)明的實(shí)施例未將下一跳不可達(dá)的路由添加到硬件路由表中,因此保護(hù)了 CPU, CPU不會(huì)收到大量匹配到下一跳不可達(dá)路由的報(bào)文。本發(fā)明的實(shí)施例還解決了現(xiàn)有技術(shù)發(fā)送大量ARP請(qǐng)求報(bào)文而占用網(wǎng)絡(luò)帶寬的問題。本發(fā)明的實(shí)施例周期性地發(fā)送不可達(dá)下一跳的ARP請(qǐng)求報(bào)文,使下一跳不可達(dá)路由能夠及時(shí)地得到更新,從而能夠及時(shí)地添加進(jìn)硬件中。本發(fā)明的實(shí)施例在路由的下一跳對(duì)應(yīng)的MAC地址等信息變化時(shí),并沒有把原來的路由從硬件刪除后再添加新的路由,而是只更新路由的下一跳信息,減少了硬件操作時(shí)間, 提高了操作效率。本發(fā)明的實(shí)施例中,記錄不可達(dá)下一跳的鏈表采用二層鏈表結(jié)構(gòu),其中一級(jí)鏈表保存不可達(dá)下一跳的IP地址;二級(jí)鏈表保存下一跳相應(yīng)的不可達(dá)路由在軟件路由表中的存儲(chǔ)地址,由此大大減少了查找整張路由表帶來的花費(fèi),提高了操作效率。本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明所提供的裝置和/或系統(tǒng)類的實(shí)施例中各組成部分,以及方法類的實(shí)施例中各步驟,可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行, 或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式上及細(xì)節(jié)上作任何的修改與變化, 但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
權(quán)利要求
1.一種路由下一跳不可達(dá)的處理方法,包括將不可達(dá)下一跳的IP地址添加進(jìn)一級(jí)鏈表中,并把存儲(chǔ)該下一跳不可達(dá)的路由的存儲(chǔ)地址添加到與該不可達(dá)下一跳對(duì)應(yīng)的二級(jí)鏈表中;周期性地對(duì)該一級(jí)鏈表中的每個(gè)下一跳進(jìn)行地址解析協(xié)議(ARP)學(xué)習(xí); 根據(jù)該ARP學(xué)習(xí)的學(xué)習(xí)結(jié)果,將變?yōu)榭蛇_(dá)的下一跳在該二級(jí)鏈表中的存儲(chǔ)地址所存儲(chǔ)的路由添加進(jìn)硬件路由表,并刪除該二級(jí)鏈表中的所有路由的存儲(chǔ)地址,從該一級(jí)鏈表中刪除該變?yōu)榭蛇_(dá)的下一跳。
2.根據(jù)權(quán)利要求1所述的方法,其中,將不可達(dá)下一跳的IP地址添加進(jìn)一級(jí)鏈表中,并把存儲(chǔ)該下一跳不可達(dá)的路由的存儲(chǔ)地址添加到二級(jí)鏈表中的步驟,包括不將下一跳不可達(dá)的路由添加到硬件路由表中。
3.根據(jù)權(quán)利要求1或2所述的方法,其中,將不可達(dá)下一跳的IP地址添加進(jìn)一級(jí)鏈表中,并把存儲(chǔ)該下一跳不可達(dá)的路由的存儲(chǔ)地址添加到二級(jí)鏈表中的步驟,包括不將下一跳不可達(dá)的路由的下一跳修改為CPU的硬件地址。
4.根據(jù)權(quán)利要求1或2所述的方法,其中,該方法包括可達(dá)的下一跳的IP地址在ARP老化后進(jìn)行ARP學(xué)習(xí),不成功則從該硬件路由表中刪除以該ARP老化的IP地址為下一跳的路由,將下一跳添加進(jìn)該一級(jí)鏈表。
5.根據(jù)權(quán)利要求4所述的方法,其中,不成功則從該硬件路由表中刪除以該ARP老化的 IP地址為下一跳的路由的步驟,包括該ARP學(xué)習(xí)不成功時(shí)獲得該ARP老化的IP地址; 獲得以該ARP老化的IP地址為下一跳的路由;從該硬件路由表中刪除所獲得的該以該ARP老化的IP地址為下一跳的路由。
6.根據(jù)權(quán)利要求1或2所述的方法,其中下一跳對(duì)應(yīng)的ARP更新時(shí),在該硬件路由表中更新路由的下一跳信息。
7.一種路由下一跳不可達(dá)的處理系統(tǒng),包括 一級(jí)鏈表;二級(jí)鏈表; 硬件路由表;添加模塊,用于將不可達(dá)下一跳的IP地址添加進(jìn)該一級(jí)鏈表中,并把存儲(chǔ)該下一跳不可達(dá)的路由的存儲(chǔ)地址添加到與該不可達(dá)下一跳對(duì)應(yīng)的該二級(jí)鏈表中;學(xué)習(xí)模塊,用于周期性地對(duì)該一級(jí)鏈表中的每個(gè)下一跳進(jìn)行地址解析協(xié)議(ARP)學(xué)習(xí);管理模塊,用于根據(jù)該ARP學(xué)習(xí)的學(xué)習(xí)結(jié)果,將變?yōu)榭蛇_(dá)的下一跳在該二級(jí)鏈表中的存儲(chǔ)地址所存儲(chǔ)的路由添加進(jìn)該硬件路由表,并刪除該二級(jí)鏈表中的所有路由的存儲(chǔ)地址,從該一級(jí)鏈表中刪除該變?yōu)榭蛇_(dá)的下一跳。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中該添加模塊用于不將下一跳不可達(dá)的路由添加到硬件路由表中。
9.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其中該添加模塊用于不將下一跳不可達(dá)的路由的下一跳修改為CPU的硬件地址。
10.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其中該學(xué)習(xí)模塊進(jìn)一步用于可達(dá)的下一跳的IP地址在ARP老化后進(jìn)行ARP學(xué)習(xí),不成功則從該硬件路由表中刪除以該ARP老化的IP地址為下一跳的路由,將下一跳添加進(jìn)該一級(jí)鏈表。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中該學(xué)習(xí)模塊用于在該ARP不成功時(shí)獲得該ARP老化的IP地址,并獲得以該ARP老化的 IP地址為下一跳的路由,從該硬件路由表中刪除所獲得的該以該ARP老化的IP地址為下一跳的路由。
12.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其中,該系統(tǒng)包括更新模塊,用于在下一跳對(duì)應(yīng)的ARP更新時(shí),在該硬件路由表中更新路由的下一跳信肩、ο
全文摘要
本發(fā)明公開了一種路由下一跳不可達(dá)的處理方法及系統(tǒng),克服現(xiàn)有技術(shù)面對(duì)下一跳不可達(dá)的路由占用大量網(wǎng)絡(luò)帶寬的不足,其中該方法包括將不可達(dá)下一跳的IP地址添加進(jìn)一級(jí)鏈表中,并把存儲(chǔ)該下一跳不可達(dá)的路由的存儲(chǔ)地址添加到與該不可達(dá)下一跳對(duì)應(yīng)的二級(jí)鏈表中;周期性地對(duì)該一級(jí)鏈表中的每個(gè)下一跳進(jìn)行ARP學(xué)習(xí);根據(jù)該ARP學(xué)習(xí)的學(xué)習(xí)結(jié)果,將變?yōu)榭蛇_(dá)的下一跳在該二級(jí)鏈表中的存儲(chǔ)地址所存儲(chǔ)的路由添加進(jìn)硬件路由表,并刪除該二級(jí)鏈表中的所有路由的存儲(chǔ)地址,從該一級(jí)鏈表中刪除該變?yōu)榭蛇_(dá)的下一跳。本發(fā)明的實(shí)施例克服了現(xiàn)有技術(shù)因下一跳不可達(dá)的路由而發(fā)送大量ARP請(qǐng)求報(bào)文而占用網(wǎng)絡(luò)帶寬的問題。
文檔編號(hào)H04L12/56GK102413038SQ20111032844
公開日2012年4月11日 申請(qǐng)日期2011年10月25日 優(yōu)先權(quán)日2011年10月25日
發(fā)明者孫慶堯 申請(qǐng)人:瑞斯康達(dá)科技發(fā)展股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1