專(zhuān)利名稱(chēng):硬件路由表管理方法、裝置和通訊設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊技術(shù)領(lǐng)域,尤其涉及一種硬件路由表管理方法、裝置和通訊設(shè)備。
背景技術(shù):
基于硬件轉(zhuǎn)發(fā)的三層交換機(jī)主要由協(xié)議控制面和硬件轉(zhuǎn)發(fā)面兩個(gè)部分構(gòu)成,即協(xié) 議控制裝置和硬件轉(zhuǎn)發(fā)裝置。其中,協(xié)議控制面主要用于運(yùn)行各種協(xié)議,通過(guò)協(xié)議報(bào)文的交 互來(lái)進(jìn)行路由學(xué)習(xí),并將學(xué)習(xí)到的路由信息通告到硬件轉(zhuǎn)發(fā)面;而硬件轉(zhuǎn)發(fā)面由一塊或多 塊交換芯片構(gòu)成,當(dāng)網(wǎng)絡(luò)數(shù)據(jù)流到達(dá)交換機(jī)時(shí),在交換芯片上完成路由查找和線速轉(zhuǎn)發(fā)。協(xié) 議控制面的路由信息保存在軟件數(shù)據(jù)庫(kù)中,軟件數(shù)據(jù)庫(kù)的容量取決于系統(tǒng)內(nèi)存的大小,因 此其容量基本上不受限制;而硬件轉(zhuǎn)發(fā)面的路由信息保存在交換芯片的硬件路由表中,各 交換芯片中存儲(chǔ)的路由信息是相同的,因此整機(jī)的硬件路由表容量即為單塊交換芯片的路 由表容量。由于交換芯片的硬件路由表容量是固定的,因此硬件路由表容量成為整機(jī)路由 容量的瓶頸。當(dāng)硬件路由表達(dá)到上限后,盡管協(xié)議控制面可以繼續(xù)學(xué)習(xí)新的路由,當(dāng)無(wú)法將 新的路由信息通告給硬件轉(zhuǎn)發(fā)面,使得用戶無(wú)法訪問(wèn)新的網(wǎng)絡(luò)地址。在現(xiàn)有技術(shù)中,為了解決硬件路由表容量受限的問(wèn)題,通常通過(guò)對(duì)交換芯片進(jìn)行 升級(jí),直接使用硬件路由容量更大的交換芯片;或?qū)⒂布D(zhuǎn)發(fā)面上的各交換芯片的硬件路 由表容量進(jìn)行疊加,整合成一個(gè)更大的硬件路由表;或由網(wǎng)管直接修改網(wǎng)絡(luò)配置。然而,現(xiàn)有技術(shù)中的上述解決方法存在如下問(wèn)題硬件升級(jí)導(dǎo)致成本增加;路由 表容量疊加僅適用于多交換芯片的架構(gòu),且方案復(fù)雜;直接修改網(wǎng)絡(luò)配置則需要人為干預(yù), 且需要對(duì)網(wǎng)絡(luò)拓?fù)溥M(jìn)行調(diào)整,維護(hù)難度和工作量較大。
發(fā)明內(nèi)容
本發(fā)明提供一種硬件路由表管理方法、裝置和通訊設(shè)備,用以解決現(xiàn)有技術(shù)中硬 件路由表容量受限的問(wèn)題,實(shí)現(xiàn)在不增加硬件成本且不改變網(wǎng)絡(luò)拓?fù)涞那疤嵯?,擴(kuò)展網(wǎng)絡(luò)容量,優(yōu)化網(wǎng)絡(luò)性能,使得軟硬件資源可以得到充分有效的利用。本發(fā)明提供一種硬件路由表管理方法,包括將由協(xié)議控制裝置向硬件轉(zhuǎn)發(fā)裝置通告的路由信息拷貝到軟件路由表中,并將所 述路由信息設(shè)置在硬件路由表中;對(duì)所述硬件路由表進(jìn)行監(jiān)控,并根據(jù)監(jiān)控結(jié)果對(duì)所述硬件路由表中的路由信息進(jìn) 行老化和/或恢復(fù)處理。本發(fā)明提供一種硬件路由表管理裝置,包括拷貝模塊,用于將由協(xié)議控制裝置向硬件轉(zhuǎn)發(fā)裝置通告的路由信息拷貝到軟件路 由表中,并將所述路由信息設(shè)置在硬件路由表中;老化模塊,用于對(duì)所述硬件路由表進(jìn)行監(jiān)控,并根據(jù)監(jiān)控結(jié)果對(duì)所述硬件路由表 中的路由信息進(jìn)行老化處理;和/或恢復(fù)模塊,用于對(duì)所述硬件路由表進(jìn)行監(jiān)控,并根據(jù)監(jiān)控結(jié)果對(duì)所述硬件路由表中的路由信息進(jìn)行恢復(fù)處理。本發(fā)明提供一種通訊設(shè)備,包括協(xié)議控制裝置、硬件轉(zhuǎn)發(fā)裝置和硬件路由表管理裝置,所述硬件路由表管理裝置包括上述硬件路由表管理裝置。本發(fā)明的硬件路由表管理方法、裝置和通訊設(shè)備,通過(guò)新增的硬件路由表管理裝 置對(duì)硬件路由表中的路由信息進(jìn)行拷貝保存,并實(shí)時(shí)對(duì)硬件路由表進(jìn)行監(jiān)控和維護(hù),對(duì)長(zhǎng) 時(shí)間未被訪問(wèn)的路由信息進(jìn)行老化處理,以及對(duì)用戶需要訪問(wèn)的已老化的路由信息進(jìn)行恢 復(fù)處理;本實(shí)施例解決了現(xiàn)有技術(shù)中硬件路由表容量受限的問(wèn)題,在不增加硬件成本且不 改變網(wǎng)絡(luò)拓?fù)涞那疤嵯?,擴(kuò)展了網(wǎng)絡(luò)容量,優(yōu)化了網(wǎng)絡(luò)性能,而且使得軟硬件資源可以得到 充分有效的利用。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明硬件路由表管理方法實(shí)施例一的流程圖;圖2為本發(fā)明硬件路由表管理方法實(shí)施例一中三層交換機(jī)的模型示意圖;圖3為本發(fā)明硬件路由表管理方法實(shí)施例二的流程圖;圖4為本發(fā)明硬件路由表管理方法實(shí)施例三的流程圖;圖5為本發(fā)明硬件路由表管理裝置實(shí)施例一的結(jié)構(gòu)示意圖;圖6為本發(fā)明硬件路由表管理裝置實(shí)施例二的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明硬件路由表管理方法實(shí)施例一的流程圖,如圖1所示,本實(shí)施例提供 了一種硬件路由表管理方法,可以包括如下步驟步驟101,硬件路由表管理裝置將由協(xié)議控制裝置向硬件轉(zhuǎn)發(fā)裝置通告的路由信 息拷貝到軟件路由表中,并將所述路由信息設(shè)置在硬件路由表中。圖2為本發(fā)明硬件路由表管理方法實(shí)施例一中三層交換機(jī)的模型示意圖,如圖2 所示,本實(shí)施例以通訊設(shè)備為三層交換機(jī)為例進(jìn)行說(shuō)明,本實(shí)施例無(wú)需對(duì)三層交換機(jī)的協(xié) 議控制裝置和硬件轉(zhuǎn)發(fā)裝置進(jìn)行任何改動(dòng),只在硬件轉(zhuǎn)發(fā)裝置之上增設(shè)一個(gè)硬件路由表管 理裝置,通過(guò)該硬件路由表管理裝置與硬件轉(zhuǎn)發(fā)裝置進(jìn)行信息交互,以實(shí)現(xiàn)對(duì)硬件路由表 中的路由信息進(jìn)行監(jiān)控,對(duì)路由信息進(jìn)行移除或回寫(xiě)處理。本步驟為硬件路由表管理裝置 對(duì)協(xié)議控制裝置通告給硬件轉(zhuǎn)發(fā)裝置的路由信息進(jìn)行拷貝,并將這些路由信息設(shè)置在硬件 路由表中。在協(xié)議控制裝置向硬件轉(zhuǎn)發(fā)裝置通告路由信息時(shí),硬件路由表管理裝置獲取通 告的路由信息,將獲取的路由信息拷貝保存在硬件路由表管理裝置的軟件數(shù)據(jù)庫(kù)的軟件路由表中,并同時(shí)將這些路由信息在硬件路由表中進(jìn)行設(shè)置。即本實(shí)施例中的硬件路由表管理裝置利用軟件數(shù)據(jù)庫(kù)保存所有硬件路由表中路由信息的副本,在將新學(xué)習(xí)到的路由信息 添加到硬件路由表中之前,先將該路由信息的副本保存在軟件路由表中,且軟件路由表中 保存的路由信息的副本將一直存在,不對(duì)其進(jìn)行老化移除處理。步驟102,硬件路由表管理裝置對(duì)所述硬件路由表進(jìn)行監(jiān)控,并根據(jù)監(jiān)控結(jié)果對(duì)所 述硬件路由表中的路由信息進(jìn)行老化和/或恢復(fù)處理。硬件路由表管理裝置在對(duì)硬件路由表中的路由信息進(jìn)行拷貝后,實(shí)時(shí)對(duì)硬件路由表進(jìn)行監(jiān)控和維護(hù),對(duì)硬件路由表中的路由信息進(jìn)行老化和/或恢復(fù)處理。對(duì)于整個(gè)硬件 路由表而言,其中一些路由信息可能經(jīng)常被命中,另一些路由信息可能在一段時(shí)間內(nèi)都沒(méi) 有被命中過(guò),即這些路由信息對(duì)應(yīng)的網(wǎng)段地址在較長(zhǎng)一段時(shí)間內(nèi)沒(méi)有被訪問(wèn)過(guò),但其仍占 用著硬件路由表的空間。當(dāng)交換芯片的硬件路由表的容量達(dá)到上限后,協(xié)議控制裝置新學(xué) 習(xí)到的路由信息便無(wú)法添加到硬件路由表中,使得用戶無(wú)法訪問(wèn)新學(xué)習(xí)到的路由信息對(duì)應(yīng) 的網(wǎng)段地址,而很久未被訪問(wèn)的路由信息卻一直占用硬件路由表,無(wú)疑造成硬件路由表的 資源浪費(fèi)。本實(shí)施例通過(guò)硬件路由表管理裝置對(duì)硬件路由表中很久未被訪問(wèn)的路由信息進(jìn) 行老化處理,將其占用的硬件路由表的空間進(jìn)行釋放,使得新學(xué)習(xí)到的路由信息可以及時(shí) 添加到硬件路由表中,從而讓用戶能夠訪問(wèn)這些新學(xué)習(xí)到的路由信息對(duì)應(yīng)的網(wǎng)段地址?;?者,本實(shí)施例也可以在硬件路由表的容量達(dá)到預(yù)設(shè)的容量上限時(shí),才啟用本實(shí)施例的路由 信息的老化機(jī)制,即當(dāng)硬件路由表的容量達(dá)到預(yù)設(shè)的容量上限時(shí),才對(duì)硬件路由表中的路 由信息進(jìn)行老化處理。另外,本實(shí)施例還通過(guò)硬件路由表管理裝置對(duì)被老化的路由信息進(jìn) 行恢復(fù)處理,在將長(zhǎng)時(shí)間未被訪問(wèn)的路由信息從硬件路由表中暫時(shí)刪除后,當(dāng)突然有用戶 需要訪問(wèn)這些路由信息對(duì)應(yīng)的網(wǎng)段地址時(shí),則根據(jù)軟件路由表中保存的副本將被刪除的路 由信息重新回寫(xiě)到硬件路由表中,使得用戶后續(xù)仍可以訪問(wèn)該路由信息對(duì)應(yīng)的網(wǎng)段地址。本實(shí)施例提供了一種硬件路由表管理方法,通過(guò)新增的硬件路由表管理裝置對(duì) 硬件路由表中的路由信息進(jìn)行拷貝保存,并實(shí)時(shí)對(duì)硬件路由表進(jìn)行監(jiān)控和維護(hù),對(duì)長(zhǎng)時(shí)間 未被訪問(wèn)的路由信息進(jìn)行老化處理,以及對(duì)用戶需要訪問(wèn)的已老化的路由信息進(jìn)行恢復(fù)處 理;本實(shí)施例解決了現(xiàn)有技術(shù)中硬件路由表容量受限的問(wèn)題,在不增加硬件成本且不改變 網(wǎng)絡(luò)拓?fù)涞那疤嵯?,擴(kuò)展了網(wǎng)絡(luò)容量,優(yōu)化了網(wǎng)絡(luò)性能,而且使得軟硬件資源可以得到充分 有效的利用。圖3為本發(fā)明硬件路由表管理方法實(shí)施例二的流程圖,如圖3所示,本實(shí)施例提供 了一種硬件路由表管理方法,本實(shí)施例在上述實(shí)施例一的基礎(chǔ)之上,對(duì)路由信息的老化處 理過(guò)程進(jìn)行詳細(xì)的說(shuō)明,具體地,本實(shí)施例可以包括如下步驟步驟301,硬件路由表管理裝置將由協(xié)議控制裝置向硬件轉(zhuǎn)發(fā)裝置通告的路由信 息拷貝到軟件路由表中,并將所述路由信息設(shè)置在硬件路由表中,本步驟可以類(lèi)似上述步 驟101,此處不再贅述。步驟302,硬件路由表管理裝置定時(shí)讀取所述硬件路由表中每條路由信息的命中 位信息。在本實(shí)施例中,硬件路由表管理裝置在對(duì)硬件路由表中的路由信息進(jìn)行監(jiān)控和維 護(hù)時(shí),定時(shí)對(duì)硬件路由表中每條路由信息的命中(Hit)位信息進(jìn)行讀取。具體地,硬件路由 表管理裝置可以創(chuàng)建一個(gè)定時(shí)器,根據(jù)實(shí)際情況設(shè)定定時(shí)器的定時(shí)時(shí)間,如設(shè)置觸發(fā)時(shí)間為10s,當(dāng)定時(shí)器觸發(fā)時(shí),讀取硬件路由表中每條路由信息的Hit位信息,即每隔IOs遍歷硬件路由表中的每條路由信息的Hit位。步驟303,硬件路由表管理裝置根據(jù)獲取的路由信息的命中位信息判斷所述路由信息是否被命中,如果是,則執(zhí)行步驟304,否則執(zhí)行步驟305。在本實(shí)施例中,每條路由信息的Hit位由二進(jìn)制數(shù)“0”和“1”來(lái)進(jìn)行標(biāo)識(shí),當(dāng)某條 路由信息的Hit位為1時(shí),表明該路由信息被命中過(guò),即該路由信息對(duì)應(yīng)的網(wǎng)段地址被訪問(wèn) 過(guò);當(dāng)其Hit位為0時(shí),表明該路由信息對(duì)應(yīng)的網(wǎng)段地址未被訪問(wèn)。硬件路由表管理裝置根 據(jù)獲取到的路由信息的Hit位信息判斷該路由信息是否被命中,當(dāng)在定時(shí)時(shí)間內(nèi)獲取到路 由信息的Hit位被置1時(shí),表明該路由信息在該定時(shí)時(shí)間內(nèi)已被命中,則執(zhí)行步驟304,硬件 路由表管理裝置不對(duì)該路由信息進(jìn)行老化處理,將軟件路由表中該路由信息對(duì)應(yīng)的未命中 間隔時(shí)間設(shè)置為0,并清空所述路由信息的命中位。當(dāng)在定時(shí)時(shí)間內(nèi)獲取到路由信息的Hit 位為0時(shí),表明該路由信息在該定時(shí)時(shí)間內(nèi)一直未被命中,則執(zhí)行步驟305,硬件路由表管 理裝置將所述軟件路由表中所述路由信息對(duì)應(yīng)的未命中間隔時(shí)間進(jìn)行更新。步驟304,硬件路由表管理裝置將所述軟件路由表中所述路由信息對(duì)應(yīng)的未命中 間隔時(shí)間設(shè)置為0,并清空所述路由信息的命中位,并返回執(zhí)行步驟302。硬件路由表管理裝置在軟件路由表中除保存路由信息的副本外,還存儲(chǔ)有每條路 由信息的未命中間隔時(shí)間,本實(shí)施例中的未命中間隔時(shí)間為路由信息對(duì)應(yīng)的網(wǎng)段地址截止 當(dāng)前讀取時(shí)刻為止未被訪問(wèn)的時(shí)間間隔。當(dāng)在定時(shí)時(shí)間內(nèi)對(duì)路由信息的Hit位進(jìn)行讀取, 獲取到其Hit位為1時(shí),表明該路由信息在定時(shí)時(shí)間IOs內(nèi)被命中過(guò),則硬件路由表管理裝 置在軟件路由表中將該路由信息的未命中間隔時(shí)間清零,并清空該路由信息的Hit位。即 將該路由信息的未命中間隔時(shí)間設(shè)置為0,并將其Hit位設(shè)置為0,以表示該路由信息最近 被命中過(guò),以便下次重新讀取和分析,并返回執(zhí)行步驟302,進(jìn)行下一個(gè)定時(shí)時(shí)間內(nèi)信息的 讀取。步驟305,硬件路由表管理裝置將所述軟件路由表中所述路由信息對(duì)應(yīng)的未命中 間隔時(shí)間進(jìn)行更新。當(dāng)在定時(shí)時(shí)間內(nèi)對(duì)路由信息的Hit位進(jìn)行讀取,獲取到其Hit位仍為0時(shí),表明該 路由信息在定時(shí)時(shí)間IOs內(nèi)未被命中過(guò),則硬件路由表管理裝置在軟件路由表中將該路由 信息的未命中間隔時(shí)間進(jìn)行更新,將其未命中間隔時(shí)間累加10s,表示在最近IOs內(nèi)該路由 信息未被命中過(guò)。步驟306,硬件路由表管理裝置判斷路由信息對(duì)應(yīng)的未命中間隔時(shí)間是否超過(guò)預(yù) 設(shè)的未命中間隔時(shí)間閾值,如果是,則執(zhí)行步驟307,否則返回執(zhí)行步驟302。硬件路由表管理裝置對(duì)軟件路由表中各路由信息對(duì)應(yīng)的未命中間隔時(shí)間進(jìn)行維 護(hù),判斷路由信息對(duì)應(yīng)的未命中間隔時(shí)間是否超過(guò)預(yù)設(shè)的未命中間隔時(shí)間閾值,本實(shí)施例 可以根據(jù)具體情況對(duì)未命中間隔時(shí)間閾值進(jìn)行設(shè)定,如設(shè)定為60s。當(dāng)某條路由信息對(duì)應(yīng)的 未命中間隔時(shí)間超過(guò)60s時(shí),則執(zhí)行步驟307,將其從硬件路由表中刪除?;蛘?,本實(shí)施例在 對(duì)硬件路由表中的路由信息進(jìn)行老化處理時(shí),除了步驟306中的對(duì)超過(guò)指定時(shí)間未命中的 路由全部進(jìn)行老化處理外,還可以采用其他的老化機(jī)制,如可以只將最長(zhǎng)時(shí)間未命中的路 由信息進(jìn)行老化處理,即硬件路由表管理裝置可以對(duì)各路由信息對(duì)應(yīng)的未命中間隔時(shí)間進(jìn) 行排序,從硬件路由表中刪除未命中間隔時(shí)間最長(zhǎng)的路由信息。
步驟307,硬件路由表管理裝置從所述硬件路由表中刪除所述路由信息。當(dāng)硬件路由表管理裝置判斷某條路由信息對(duì)應(yīng)的未命中間隔時(shí)間超過(guò)預(yù)設(shè)的未命中間隔時(shí)間閾值時(shí),對(duì)該路由信息進(jìn)行老化處理,即將該路由信息從硬件路由表中刪除, 但不對(duì)軟件路由表中保存的該路由信息進(jìn)行處理,以釋放其在硬件路由表中所占用的空 間。本實(shí)施例提供了一種硬件路由表管理方法,通過(guò)新增的硬件路由表管理裝置對(duì)硬 件路由表中的路由信息進(jìn)行拷貝保存,并實(shí)時(shí)對(duì)硬件路由表進(jìn)行監(jiān)控和維護(hù),對(duì)長(zhǎng)時(shí)間未 被訪問(wèn)的路由信息進(jìn)行老化處理;本實(shí)施例解決了現(xiàn)有技術(shù)中硬件路由表容量受限的問(wèn) 題,在不增加硬件成本且不改變網(wǎng)絡(luò)拓?fù)涞那疤嵯?,擴(kuò)展了網(wǎng)絡(luò)容量,優(yōu)化了網(wǎng)絡(luò)性能,而 且使得軟硬件資源可以得到充分有效的利用,從而最大限度地節(jié)約企業(yè)購(gòu)置網(wǎng)絡(luò)設(shè)備的成 本。圖4為本發(fā)明硬件路由表管理方法實(shí)施例三的流程圖,如圖4所示,本實(shí)施例提供了一種硬件路由表管理方法,本實(shí)施例在上述實(shí)施例一的基礎(chǔ)之上,對(duì)路由信息的恢復(fù)處 理過(guò)程進(jìn)行詳細(xì)的說(shuō)明,具體地,本實(shí)施例可以包括如下步驟步驟401,硬件路由表管理裝置將由協(xié)議控制裝置向硬件轉(zhuǎn)發(fā)裝置通告的路由信 息拷貝到軟件路由表中,并將所述路由信息設(shè)置在硬件路由表中,本步驟可以類(lèi)似上述步 驟101,此處不再贅述。步驟402,硬件路由表管理裝置獲取所述硬件轉(zhuǎn)發(fā)裝置發(fā)送到中央處理器的所述 未命中報(bào)文,并提取所述未命中報(bào)文的目的IP地址。在硬件轉(zhuǎn)發(fā)裝置進(jìn)行報(bào)文轉(zhuǎn)發(fā)時(shí),若在硬件路由表中查找到該報(bào)文對(duì)應(yīng)的路由信 息,則硬件轉(zhuǎn)發(fā)裝置直接將該報(bào)文進(jìn)行硬件線速轉(zhuǎn)發(fā),否則將該報(bào)文發(fā)送到中央處理器來(lái) 處理。本實(shí)施例中將目的IP地址對(duì)應(yīng)的路由信息未包含在所述硬件路由表中的報(bào)文稱(chēng)為 未命中報(bào)文。在硬件轉(zhuǎn)發(fā)裝置向中央處理器發(fā)送未命中報(bào)文時(shí),硬件路由表管理裝置截獲 到該報(bào)文,并從該未命中報(bào)文中提取其目的IP地址。步驟403,硬件路由表管理裝置判斷在所述軟件路由表中是否能查找未命中報(bào)文 的目的IP地址對(duì)應(yīng)的路由信息,如果是,則執(zhí)行步驟404,否則執(zhí)行步驟405。硬件路由表管理裝置利用提取到的未命中報(bào)文的目的IP地址查找軟件路由表, 判斷在該軟件路由表中是否能查找到該未命中報(bào)文的目的IP地址對(duì)應(yīng)的路由信息,如果 是,則執(zhí)行步驟404,將所述路由信息回寫(xiě)到所述硬件路由表中,并將所述未命中報(bào)文轉(zhuǎn)發(fā) 給所述協(xié)議控制裝置;否則執(zhí)行步驟405,將所述未命中報(bào)文轉(zhuǎn)發(fā)給所述協(xié)議控制裝置。步驟404,硬件路由表管理裝置將所述路由信息回寫(xiě)到所述硬件路由表中,并將所 述未命中報(bào)文轉(zhuǎn)發(fā)給所述協(xié)議控制裝置。當(dāng)在軟件路由表中查找到未命中報(bào)文的目的IP地址對(duì)應(yīng)的路由信息時(shí),表明該 路由信息已被老化掉,則硬件路由表管理裝置將該路由信息回寫(xiě)到硬件路由表中,以使得 用戶后續(xù)可以訪問(wèn)該路由信息對(duì)應(yīng)的網(wǎng)段地址。由于在完成硬件路由表的路由信息的回寫(xiě) 之前,無(wú)法通過(guò)硬件轉(zhuǎn)發(fā)裝置對(duì)報(bào)文進(jìn)行轉(zhuǎn)發(fā),則本實(shí)施例中硬件路由表管理裝置還將該 未命中報(bào)文轉(zhuǎn)發(fā)給協(xié)議控制裝置,由協(xié)議控制裝置對(duì)該未命中報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,以免發(fā) 生斷流。步驟405,硬件路由表管理裝置將所述未命中報(bào)文轉(zhuǎn)發(fā)給所述協(xié)議控制裝置。
當(dāng)在軟件路由表中未查找到未命中報(bào)文的目的IP地址對(duì)應(yīng)的路由信息時(shí),表明 協(xié)議控制裝置尚未將該路由信息通告給硬件轉(zhuǎn)發(fā)裝置,則硬件路由表管理裝置直接將該未 命中報(bào)文轉(zhuǎn)發(fā)給協(xié)議控制裝置,由協(xié)議控制裝置進(jìn)行轉(zhuǎn)發(fā)或丟棄處理。本實(shí)施例提供了一種硬件路由表管理方法,通過(guò)新增的硬件路由表管理裝置對(duì)硬 件路由表中的路由信息進(jìn)行拷貝保存,并實(shí)時(shí)對(duì)硬件路由表進(jìn)行監(jiān)控和維護(hù),對(duì)已老化的 路由信息進(jìn)行恢復(fù)處理;本實(shí)施例解決了現(xiàn)有技術(shù)中硬件路由表容量受限的問(wèn)題,在不增 加硬件成本且不改變網(wǎng)絡(luò)拓?fù)涞那疤嵯拢瑪U(kuò)展了網(wǎng)絡(luò)容量,優(yōu)化了網(wǎng)絡(luò)性能,而且使得軟硬 件資源可以得到充分有效的利用,從而最大限度地節(jié)約企業(yè)購(gòu)置網(wǎng)絡(luò)設(shè)備的成本。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò) 程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序 在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者 光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。圖5為本發(fā)明硬件路由表管理裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖5所示,本實(shí)施例 提供了一種硬件路由表管理裝置,可以具體執(zhí)行上述方法實(shí)施例一中的各個(gè)步驟,此處不 再贅述。本實(shí)施例提供的硬件路由表管理裝置可以包括拷貝模塊1、老化模塊2和/或恢復(fù) 模塊3。其中,拷貝模塊1用于將由協(xié)議控制裝置向硬件轉(zhuǎn)發(fā)裝置通告的路由信息拷貝到軟 件路由表中,并將所述路由信息設(shè)置在硬件路由表中。老化模塊2用于對(duì)所述硬件路由表 進(jìn)行監(jiān)控,并根據(jù)監(jiān)控結(jié)果對(duì)所述硬件路由表中的路由信息進(jìn)行老化處理?;謴?fù)模塊3用 于對(duì)所述硬件路由表進(jìn)行監(jiān)控,并根據(jù)監(jiān)控結(jié)果對(duì)所述硬件路由表中的路由信息進(jìn)行恢復(fù) 處理。圖6為本發(fā)明硬件路由表管理裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖6所示,本實(shí)施例 提供了一種硬件路由表管理裝置,可以具體執(zhí)行上述方法實(shí)施例二或?qū)嵤├械母鱾€(gè)步 驟,此處不再贅述。本實(shí)施例提供的硬件路由表管理裝置在上述圖5所示的實(shí)施例的基礎(chǔ) 之上,其中,老化模塊2可以具體用于當(dāng)所述硬件路由表的容量達(dá)到預(yù)設(shè)的容量上限時(shí),對(duì) 所述硬件路由表中的路由信息進(jìn)行老化處理。具體地,老化模塊2可以具體包括讀取子模塊21和老化子模塊22。其中,讀取子 模塊21用于定時(shí)讀取所述硬件路由表中每條路由信息的命中位信息。老化子模塊22用于 根據(jù)獲取的路由信息的命中位信息對(duì)所述路由信息進(jìn)行老化處理。老化子模塊22可以具 體包括判斷單元221、清空單元222、更新單元223和老化單元224。其中,判斷單元221用 于根據(jù)獲取的路由信息的命中位信息判斷所述路由信息是否被命中。清空單元222用于當(dāng) 判斷單元221的判斷結(jié)果為所述路由信息被命中時(shí),將所述軟件路由表中所述路由信息對(duì) 應(yīng)的未命中間隔時(shí)間設(shè)置為0,并清空所述路由信息的命中位。更新單元223用于當(dāng)判斷單 元221的判斷結(jié)果為所述路由信息未命中時(shí),將所述軟件路由表中所述路由信息對(duì)應(yīng)的未 命中間隔時(shí)間進(jìn)行更新。老化單元224用于根據(jù)所述路由信息對(duì)應(yīng)的未命中間隔時(shí)間對(duì)所 述路由信息進(jìn)行老化處理。更具體地,老化單元224可以具體包括第一老化子單元2241或 第二老化子單元2242。其中,第一老化子單元2241用于當(dāng)所述路由信息對(duì)應(yīng)的未命中間隔 時(shí)間超過(guò)預(yù)設(shè)的未命中間隔時(shí)間閾值時(shí),從所述硬件路由表中刪除所述路由信息。第二老 化子單元2242用于從所述硬件路由表中刪除所述未命中間隔時(shí)間最長(zhǎng)的路由信息。進(jìn)一步地,本實(shí)施例中的恢復(fù)模塊3可以具體包括查找子模塊31、回寫(xiě)子模塊32和轉(zhuǎn)發(fā)子模塊33。其中,查找子模塊31用于在所述軟件路由表中查找未命中報(bào)文的目的 IP地址對(duì)應(yīng)的路由信息,所述未命中報(bào)文的目的IP地址對(duì)應(yīng)的路由信息未包含在所述硬 件路由表中。回寫(xiě)子模塊32用于當(dāng)在所述軟件路由表中查找到所述目的IP地址對(duì)應(yīng)的路 由信息時(shí),將所述路由信息回寫(xiě)到所述硬件路由表中,并將所述未命中報(bào)文轉(zhuǎn)發(fā)給所述協(xié) 議控制裝置。轉(zhuǎn)發(fā)子模塊33用于當(dāng)在所述軟件路由表中未查找到所述目的IP地址對(duì)應(yīng)的 路由信息時(shí),將所述未命中報(bào)文轉(zhuǎn)發(fā)給所述協(xié)議控制裝置。進(jìn)一步地,本實(shí)施例提供的硬件路由表管理裝置還可以包括獲取模塊4,獲取模塊 4用于在所述在所述軟件路由表中查找未命中報(bào)文的目的IP地址對(duì)應(yīng)的路由信息之前,獲 取所述硬件轉(zhuǎn)發(fā)裝置發(fā)送到中央處理器的所述未命中報(bào)文,并提取所述未命中報(bào)文的目的 IP地址。本實(shí)施例提供了一種硬件路由表管理裝置,通過(guò)設(shè)置拷貝模塊、老化模塊和/或 恢復(fù)模塊,對(duì)硬件路由表中的路由信息進(jìn)行拷貝保存,并實(shí)時(shí)對(duì)硬件路由表進(jìn)行監(jiān)控和維 護(hù),對(duì)長(zhǎng)時(shí)間未被訪問(wèn)的路由信息進(jìn)行老化處理,以及對(duì)用戶需要訪問(wèn)的已老化的路由信 息進(jìn)行恢復(fù)處理;本實(shí)施例解決了現(xiàn)有技術(shù)中硬件路由表容量受限的問(wèn)題,在不增加硬件 成本且不改變網(wǎng)絡(luò)拓?fù)涞那疤嵯拢瑪U(kuò)展了網(wǎng)絡(luò)容量,優(yōu)化了網(wǎng)絡(luò)性能,而且使得軟硬件資源 可以得到充分有效的利用。本實(shí)施例還提供了一種通訊設(shè)備,該通訊設(shè)備可以具體為交換機(jī)、路由器等,該通 訊設(shè)備可以具體包括協(xié)議控制裝置、硬件轉(zhuǎn)發(fā)裝置和硬件路由表管理裝置,所述硬件路由 表管理裝置包括上述圖5或圖6所示的硬件路由表管理裝置。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精 神和范圍。
權(quán)利要求
一種硬件路由表管理方法,其特征在于,包括將由協(xié)議控制裝置向硬件轉(zhuǎn)發(fā)裝置通告的路由信息拷貝到軟件路由表中,并將所述路由信息設(shè)置在硬件路由表中;對(duì)所述硬件路由表進(jìn)行監(jiān)控,并根據(jù)監(jiān)控結(jié)果對(duì)所述硬件路由表中的路由信息進(jìn)行老化和/或恢復(fù)處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)監(jiān)控結(jié)果對(duì)所述硬件路由表中的路 由信息進(jìn)行老化處理包括當(dāng)所述硬件路由表的容量達(dá)到預(yù)設(shè)的容量上限時(shí),對(duì)所述硬件路由表中的路由信息進(jìn) 行老化處理。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,對(duì)所述硬件路由表中的路由信息進(jìn)行 老化處理包括定時(shí)讀取所述硬件路由表中每條路由信息的命中位信息; 根據(jù)獲取的路由信息的命中位信息對(duì)所述路由信息進(jìn)行老化處理。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)獲取的路由信息的命中位信息 對(duì)所述路由信息進(jìn)行老化處理包括根據(jù)獲取的路由信息的命中位信息判斷所述路由信息是否被命中; 當(dāng)判斷結(jié)果為所述路由信息被命中時(shí),將所述軟件路由表中所述路由信息對(duì)應(yīng)的未命 中間隔時(shí)間設(shè)置為0,并清空所述路由信息的命中位;當(dāng)判斷結(jié)果為所述路由信息未命中時(shí),將所述軟件路由表中所述路由信息對(duì)應(yīng)的未命 中間隔時(shí)間進(jìn)行更新;根據(jù)所述路由信息對(duì)應(yīng)的未命中間隔時(shí)間對(duì)所述路由信息進(jìn)行老化處理。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述路由信息對(duì)應(yīng)的未命中間 隔時(shí)間對(duì)所述路由信息進(jìn)行老化處理包括當(dāng)所述路由信息對(duì)應(yīng)的未命中間隔時(shí)間超過(guò)預(yù)設(shè)的未命中間隔時(shí)間閾值時(shí),從所述硬 件路由表中刪除所述路由信息;或者從所述硬件路由表中刪除所述未命中間隔時(shí)間最長(zhǎng)的路由信息。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,對(duì)所述硬件路由表中的路由信息進(jìn)行恢 復(fù)處理包括在所述軟件路由表中查找未命中報(bào)文的目的IP地址對(duì)應(yīng)的路由信息,所述未命中報(bào) 文的目的IP地址對(duì)應(yīng)的路由信息未包含在所述硬件路由表中;當(dāng)在所述軟件路由表中查找到所述目的IP地址對(duì)應(yīng)的路由信息時(shí),將所述路由信息 回寫(xiě)到所述硬件路由表中,并將所述未命中報(bào)文轉(zhuǎn)發(fā)給所述協(xié)議控制裝置;當(dāng)在所述軟件路由表中未查找到所述目的IP地址對(duì)應(yīng)的路由信息時(shí),將所述未命中 報(bào)文轉(zhuǎn)發(fā)給所述協(xié)議控制裝置。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在所述在所述軟件路由表中查找未命中 報(bào)文的目的IP地址對(duì)應(yīng)的路由信息之前,還包括獲取所述硬件轉(zhuǎn)發(fā)裝置發(fā)送到中央處理器的所述未命中報(bào)文,并提取所述未命中報(bào)文 的目的IP地址。
8.—種硬件路由表管理裝置,其特征在于,包括拷貝模塊,用于將由協(xié)議控制裝置向硬件轉(zhuǎn)發(fā)裝置通告的路由信息拷貝到軟件路由表 中,并將所述路由信息設(shè)置在硬件路由表中;老化模塊,用于對(duì)所述硬件路由表進(jìn)行監(jiān)控,并根據(jù)監(jiān)控結(jié)果對(duì)所述硬件路由表中的 路由信息進(jìn)行老化處理;和/或恢復(fù)模塊,用于對(duì)所述硬件路由表進(jìn)行監(jiān)控,并根據(jù)監(jiān)控結(jié)果對(duì)所述硬件路由表中的 路由信息進(jìn)行恢復(fù)處理。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述老化模塊具體用于當(dāng)所述硬件路由 表的容量達(dá)到預(yù)設(shè)的容量上限時(shí),對(duì)所述硬件路由表中的路由信息進(jìn)行老化處理。
10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述老化模塊包括 讀取子模塊,用于定時(shí)讀取所述硬件路由表中每條路由信息的命中位信息;老化子模塊,用于根據(jù)獲取的路由信息的命中位信息對(duì)所述路由信息進(jìn)行老化處理。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述老化子模塊包括判斷單元,用于根據(jù)獲取的路由信息的命中位信息判斷所述路由信息是否被命中; 清空單元,用于當(dāng)所述判斷單元的判斷結(jié)果為所述路由信息被命中時(shí),將所述軟件路 由表中所述路由信息對(duì)應(yīng)的未命中間隔時(shí)間設(shè)置為0,并清空所述路由信息的命中位;更新單元,用于當(dāng)所述判斷單元的判斷結(jié)果為所述路由信息未命中時(shí),將所述軟件路 由表中所述路由信息對(duì)應(yīng)的未命中間隔時(shí)間進(jìn)行更新;老化單元,用于根據(jù)所述路由信息對(duì)應(yīng)的未命中間隔時(shí)間對(duì)所述路由信息進(jìn)行老化處理。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述老化單元包括第一老化子單元,用于當(dāng)所述路由信息對(duì)應(yīng)的未命中間隔時(shí)間超過(guò)預(yù)設(shè)的未命中間隔 時(shí)間閾值時(shí),從所述硬件路由表中刪除所述路由信息;或者第二老化子單元,用于從所述硬件路由表中刪除所述未命中間隔時(shí)間最長(zhǎng)的路由信息。
13.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述恢復(fù)模塊包括查找子模塊,用于在所述軟件路由表中查找未命中報(bào)文的目的IP地址對(duì)應(yīng)的路由信息,所述未命中報(bào)文的目的IP地址對(duì)應(yīng)的路由信息未包含在所述硬件路由表中;回寫(xiě)子模塊,用于當(dāng)在所述軟件路由表中查找到所述目的IP地址對(duì)應(yīng)的路由信息時(shí),將所述路由信息回寫(xiě)到所述硬件路由表中,并將所述未命中報(bào)文轉(zhuǎn)發(fā)給所述協(xié)議控制裝 置;轉(zhuǎn)發(fā)子模塊,用于當(dāng)在所述軟件路由表中未查找到所述目的IP地址對(duì)應(yīng)的路由信息時(shí),將所述未命中報(bào)文轉(zhuǎn)發(fā)給所述協(xié)議控制裝置。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,還包括獲取模塊,用于在所述在所述軟件路由表中查找未命中報(bào)文的目的IP地址對(duì)應(yīng)的路 由信息之前,獲取所述硬件轉(zhuǎn)發(fā)裝置發(fā)送到中央處理器的所述未命中報(bào)文,并提取所述未 命中報(bào)文的目的IP地址。
15.一種通訊設(shè)備,其特征在于,包括協(xié)議控制裝置、硬件轉(zhuǎn)發(fā)裝置和硬件路由表管理 裝置,所述硬件路由表管理裝置包括上述權(quán)利要求8-14中任一項(xiàng)所述的硬件路由表管理裝置。
全文摘要
本發(fā)明提供一種硬件路由表管理方法、裝置和通訊設(shè)備,方法包括將由協(xié)議控制裝置向硬件轉(zhuǎn)發(fā)裝置通告的路由信息拷貝到軟件路由表中,并將所述路由信息設(shè)置在硬件路由表中;對(duì)所述硬件路由表進(jìn)行監(jiān)控,并根據(jù)監(jiān)控結(jié)果對(duì)所述硬件路由表中的路由信息進(jìn)行老化和/或恢復(fù)處理。裝置包括拷貝模塊、老化模塊和/或恢復(fù)模塊。本發(fā)明提供的通訊設(shè)備包括協(xié)議控制裝置、硬件轉(zhuǎn)發(fā)裝置和硬件路由表管理裝置,所述硬件路由表管理裝置包括上述硬件路由表管理裝置。本發(fā)明解決了現(xiàn)有技術(shù)中硬件路由表容量受限的問(wèn)題,在不增加硬件成本且不改變網(wǎng)絡(luò)拓?fù)涞那疤嵯?,擴(kuò)展了網(wǎng)絡(luò)容量,優(yōu)化了網(wǎng)絡(luò)性能,而且使得軟硬件資源可以得到充分有效的利用。
文檔編號(hào)H04L29/06GK101841483SQ20101017230
公開(kāi)日2010年9月22日 申請(qǐng)日期2010年5月6日 優(yōu)先權(quán)日2010年5月6日
發(fā)明者秦本鵬 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司