專利名稱:改善電信級以太網(wǎng)系統(tǒng)轉(zhuǎn)發(fā)性能的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在電信級以太網(wǎng)系統(tǒng)上的虛擬硬件方法和設(shè)備,具體涉 及一種應(yīng)用虛擬硬件技術(shù)來改善電信級以太網(wǎng)系統(tǒng)轉(zhuǎn)發(fā)性能的方法和設(shè)備。
背景技術(shù):
2007年美國社會化網(wǎng)絡(luò)用戶規(guī)模達到7200萬,較2006年的6030萬增 長19.4%。預(yù)計到2011年,美國社會化網(wǎng)絡(luò)用戶將增長至1.05億,在經(jīng)歷 2007年和2008年兩年的高速增長之后,2009至2011年的增長率將放緩,但 依然保持在5%以上。而在中國,隨著互聯(lián)網(wǎng)的日益普及,中國互聯(lián)網(wǎng)用戶人 數(shù)也在不斷增長,2006年中國互聯(lián)網(wǎng)用戶數(shù)達到13200萬人,增長率為19%, iResearch預(yù)計,2009年中國的互聯(lián)網(wǎng)用戶超過2億,到2010年時將達到2.46 億。2010年的互聯(lián)網(wǎng)用戶將比2005年增長一倍。
中美兩國的網(wǎng)絡(luò)用戶的增長,意味著網(wǎng)絡(luò)用戶的增長是世界性的,網(wǎng)絡(luò) 用戶的飛速增長帶來了網(wǎng)絡(luò)的繁榮,也給現(xiàn)有網(wǎng)絡(luò)系統(tǒng)和設(shè)備帶來了更大的 挑戰(zhàn),這體現(xiàn)在以下幾個方面
1. 網(wǎng)絡(luò)用戶的急速增長,意味著在網(wǎng)絡(luò)中標(biāo)識用戶終端具有唯一性的以 太網(wǎng)地址數(shù)量的急劇上升,也意味著工作在二層(數(shù)據(jù)鏈路層)的網(wǎng)絡(luò)節(jié)點 設(shè)備需要維護和處理的地址表的數(shù)目急劇上升。
2. 網(wǎng)絡(luò)用戶的急速增長,意味著在網(wǎng)絡(luò)節(jié)點設(shè)備和用戶終端設(shè)備數(shù)量的 同步增長,這意味著網(wǎng)絡(luò)拓樸會變得更加龐大和復(fù)雜,網(wǎng)絡(luò)中從任一個源節(jié) 點到目的節(jié)點的路由也會不斷增加,也意味著工作在三層(網(wǎng)絡(luò)層)的網(wǎng)絡(luò) 節(jié)點設(shè)備需要維護和處理的路由表的數(shù)目急劇上升。
3. 網(wǎng)絡(luò)用戶的急速增長,也帶來了整個網(wǎng)絡(luò)的安全問題,也使得運營商 管理和控制用戶的行為變得更加困難,這意味著網(wǎng)絡(luò)節(jié)點設(shè)備賴以實現(xiàn)上述 功能的訪問控制表數(shù)目需要有更大的提升。
在網(wǎng)絡(luò)中已經(jīng)大量應(yīng)用的電信級以太網(wǎng)系統(tǒng)同樣面臨網(wǎng)絡(luò)飛速發(fā)展帶來 的挑戰(zhàn),也會面臨二層地址表、三層路由表以及訪問控制表等硬件資源不能適應(yīng)網(wǎng)絡(luò)不斷增長的需求的難題。
另一方面,隨著網(wǎng)絡(luò)用戶的不斷增長,各大運營商和專網(wǎng)也對網(wǎng)絡(luò)系統(tǒng)
和設(shè)備的硬件資源數(shù)量給以高度重視。當(dāng)前,某運營商已在2008年選型測試 要求中明確指出A類電信級以太網(wǎng)設(shè)備的二層轉(zhuǎn)發(fā)表中條目數(shù)量不小于 64k,單卡訪問控制表條目數(shù)量不小于lk。某行業(yè)網(wǎng)絡(luò)在其選型測試要求中 也明確規(guī)定核心交換機的訪問控制表數(shù)量不小于10 k,核心交換機和電信 級以太網(wǎng)設(shè)備的三層路由表容量不小于10 k,這些技術(shù)指標(biāo)相對于兩年前有 一倍或一倍以上的增長。
網(wǎng)絡(luò)中主要節(jié)點設(shè)備之一的電信以太網(wǎng)設(shè)備面臨這些硬件資源要求的增 加是不可避免的。換句話說,電信以太網(wǎng)系統(tǒng)的研究和設(shè)計需要妥善解決硬 件資源需求不斷增長帶來的難題。電信級以太網(wǎng)設(shè)備的交換子系統(tǒng)的主要功 能單元通常由交換芯片組成。與網(wǎng)絡(luò)處理器相比,交換芯片因不能編程導(dǎo)致 可擴展性較差。在硬件結(jié)構(gòu)不改變的情況下,電信級以太網(wǎng)設(shè)備提供的二層 轉(zhuǎn)發(fā)表、三層轉(zhuǎn)發(fā)表、訪問控制表等重要硬件資源的容量就基本確定,但在 實際應(yīng)用中,經(jīng)常會遇到這些資源不能滿足應(yīng)用需要的難題。當(dāng)前的以太網(wǎng) 產(chǎn)品,除了升級硬件,未采取措施來解決或彌補這個缺陷。升級硬件,包括 更換具有更高性能的硬件設(shè)備、升級當(dāng)前網(wǎng)絡(luò)節(jié)點設(shè)備的硬件配置等等。這 些方法當(dāng)然可以解決當(dāng)前網(wǎng)絡(luò)設(shè)備的硬件資源不能滿足應(yīng)用需要的矛盾,但 付出的代價也是昂貴的。更換硬件設(shè)備意味著現(xiàn)有網(wǎng)絡(luò)設(shè)備的徹底淘汰,以 前為購買、配置和開通這些設(shè)備的巨額投入就白白損失,同時也意味著巨大 浪費。升級當(dāng)前網(wǎng)絡(luò)節(jié)點設(shè)備的硬件配置同樣意味著大量的投入。
當(dāng)這些硬件資源已經(jīng)用盡而不升級硬件資源的情況下,電信級以太網(wǎng)系 統(tǒng)的轉(zhuǎn)發(fā)行為發(fā)生如下變化。
對于二層轉(zhuǎn)發(fā)表來說,如果二層轉(zhuǎn)發(fā)表中的條目已經(jīng)用完,那么進入設(shè) 備的數(shù)據(jù)包如果是按照二層轉(zhuǎn)發(fā)且具有一個新的源地址A,則A將不能夠?qū)?入到硬二層轉(zhuǎn)發(fā)表中,那么進入系統(tǒng)的目的地址為A的所有數(shù)據(jù)包將查不到 目的端口,對于當(dāng)前的系統(tǒng),這些數(shù)據(jù)包一般只有兩種操作丟棄或在對應(yīng) 的虛擬局域網(wǎng)(VLAN)中洪泛。丟棄意味著信息的丟失,而洪泛意味著信 息可能到達一個或多個不期望的目的端口,既浪費了目的端口的帶寬,也降 低了信息的安全性。所以這兩種操作帶來的結(jié)果都不理想。
而如果三層路由表已滿,那么系統(tǒng)新學(xué)習(xí)的路由信息不能夠進入系統(tǒng)的硬件三層路由表中。進入設(shè)備的數(shù)據(jù)包如果走三層轉(zhuǎn)發(fā)流程,且在硬三層路 由表中不能成功查找到目的路由,這些數(shù)據(jù)包一般也只有兩種操作丟棄或 按照缺省路由轉(zhuǎn)發(fā),丟棄的后果就不用贅述了,而按照缺省路由也意味著信 息常常到達不期望的目的地,在很大程度上也相當(dāng)于數(shù)據(jù)包丟棄。
如果訪問控制表已滿,那么系統(tǒng)需要增加利用訪問控制表實現(xiàn)的新的功 能就不可能,這時候的系統(tǒng)就喪失了部分功能擴展性。尤其在需要用訪問控
制表實現(xiàn)基于流的安全功能、QOS(服務(wù)質(zhì)量)、靈活QinQ以及快速重路由 等功能時,在很多應(yīng)用場合,訪問控制表的不足通常使得這些功能難以達到 預(yù)期效果。
因此,需要一種能夠在不升級硬件的情況下改善電信級以太網(wǎng)系統(tǒng)轉(zhuǎn)發(fā) 性能的方法和設(shè)備。
發(fā)明內(nèi)容
由帕累托原則可知,實際硬件轉(zhuǎn)發(fā)表中的少數(shù)條目處于相對重要的地位 (可以將這些條目稱為優(yōu)等條目),對網(wǎng)絡(luò)流量的影響較大,而其它條目則處于 重要程度相對較低的地位(可以將這些條目稱為劣等條目),對網(wǎng)絡(luò)流量的貢 獻較小,基于這個事實,利用某種方法管理和維護硬件資源,使其充分利用 是可行的。
本發(fā)明的目的是為提高電信級以太網(wǎng)系統(tǒng)的轉(zhuǎn)發(fā)性能,提出了 一種虛擬 硬件資源管理方法和設(shè)備來彌補硬件資源的不足。
該方法的基本思路是借鑒虛擬存儲器的相關(guān)技術(shù)和方法,以電信級以 太網(wǎng)系統(tǒng)固有的二層轉(zhuǎn)發(fā)表、三層路由表以及訪問控制表等硬件資源為"主 存",在系統(tǒng)的內(nèi)存中開辟對應(yīng)的空間分別作為二層轉(zhuǎn)發(fā)表、三層路由表以及 訪問控制表的"輔存",借助于軟件方法實現(xiàn)對這些"主存"和"輔存"統(tǒng)一 管理,邏輯上等價于電信級以太網(wǎng)系統(tǒng)的二層轉(zhuǎn)發(fā)表、三層路由表以及訪問 控制表等硬件資源等價擴充到"輔存"的大小。
根據(jù)本發(fā)明的 一個方面,提供一種面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資 源管理方法,包括如下步驟(l)建立步驟,在系統(tǒng)的內(nèi)存區(qū)中建立與硬表 對應(yīng)的軟表,所述硬表包括電信級以太網(wǎng)系統(tǒng)硬件資源的硬二層轉(zhuǎn)發(fā)表、硬 三層路由表以及硬訪問控制列表中的至少 一個,所述軟表包括軟二層轉(zhuǎn)發(fā)表、 軟三層路由表以及軟訪問控制列表;(2)放置步驟,在所述硬表和/或所述軟表中放置條目,并記錄每個條目的重要性指標(biāo);(3)判斷步驟,根據(jù)所述重
要性指標(biāo),判斷在所述軟表中是否存在不在所述硬表中的優(yōu)等條目要替換所
述硬表中的劣等條目;以及(4)替換步驟,如果在所述判斷步驟中判斷存在, 則淘汰該硬表中的所述劣等條目,且用所述優(yōu)等條目寫入所述劣等條目所在 的位置。
根據(jù)本發(fā)明的另 一方面,提供一種面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資 源管理設(shè)備,包括如下裝置(l)建立裝置,在系統(tǒng)的內(nèi)存區(qū)中建立與硬表 對應(yīng)的軟表,所述硬表包括電信級以太網(wǎng)系統(tǒng)硬件資源的硬二層轉(zhuǎn)發(fā)表、硬 三層路由表以及硬訪問控制列表中的至少 一個,所述軟表包括軟二層轉(zhuǎn)發(fā)表、 軟三層路由表以及軟訪問控制列表;(2)放置裝置,在所述硬表和/或所述軟 表中放置條目,并記錄每個條目的重要性指標(biāo);(3)判斷裝置,根據(jù)所述重 要性指標(biāo),判斷在所述軟表中是否存在不在所述硬表中的優(yōu)等條目要替換所 述硬表中的劣等條目;以及(4)替換裝置,如果在所述判斷裝置中判斷存在, 則淘汰該硬表中的所述劣等條目,且用所述優(yōu)等條目寫入所述劣等條目所在 的位置。
圖1為電信級以太網(wǎng)系統(tǒng)中的虛擬硬件方法功能結(jié)構(gòu)示意圖。
圖2A為本發(fā)明的方法的主要步驟的流程圖。
圖2B為本發(fā)明的裝置的主要部件的框圖。
圖2C為根據(jù)本發(fā)明的一個實施例的建立和初始化過程表示。
圖2D為根據(jù)本發(fā)明的一個實施例的放置過程表示。
圖2E為根據(jù)本發(fā)明的一個實施例的判斷和替換過程表示。
圖3為本發(fā)明的一個實施例的仿真測試拓樸圖。
圖4A為虛擬二層轉(zhuǎn)發(fā)表的測試結(jié)果表示。
圖4B為虛擬三層路由表的測試結(jié)果表示。
圖4C為虛擬訪問控制列表的測試結(jié)果表示。
具體實施例方式
下面結(jié)合附圖和實施例對本發(fā)明進行詳細(xì)的描述。
該方法的功能結(jié)構(gòu)如圖l所示。在圖1中,硬件上的二層轉(zhuǎn)發(fā)表、三層路由表以及訪問控制表(即硬二層轉(zhuǎn)發(fā)表、硬三層路由表以及硬訪問控制表,
簡稱硬表)分別用歷/,歷"和T7acl來表示,它們的條目分別用(州W, /////■_2_/.../////w/7 ) , ( , ) 和 (,
來表示,軟件上的二層轉(zhuǎn)發(fā)表、三層路由表以及訪問控制 表(即軟二層轉(zhuǎn)發(fā)表、軟三層路由表以及軟訪問控制表,簡稱軟表)分別用 5V/, S/"和Sac/來表示,它們的條目分別用(&w...s"7""/7), (&"/77, )和(S"c/〃7, 5^c/p_/."^"c//""3_/)來表示,w八和分 別表示硬二層表、硬三層表和硬訪問控制表的條目數(shù)目,"7、 "2和"3分別 表示軟二層表、軟三層表和軟訪問控制表的條目數(shù)目。左邊三張表分別表示 硬件中的硬二層轉(zhuǎn)發(fā)表、硬三層路由表和硬訪問控制表,是本方法中涉及的 "主存";而中間的存儲塊分別對應(yīng)于軟二層轉(zhuǎn)發(fā)表、軟三層路由表和軟訪問 控制表,是本方法中涉及的"輔存";最右邊邊界為虛線的方塊表示的是來自 于電信級以太網(wǎng)系統(tǒng)外部的信息,也就是網(wǎng)絡(luò)運行中可能存在的二層轉(zhuǎn)發(fā)信 息、三層路由信息和訪問控制信息等等。
圖1中的系統(tǒng)的放置策略、調(diào)入策略和淘汰策略(以下將詳細(xì)描述)不 僅涉及"主存"信息的管理以及"主存"和"輔存"之間的信息交換,同樣 也包括"輔存"信息的管理以及"輔存"和系統(tǒng)外界之間的信息交換,兩者 采樣的方法基本類似。但本方法的重點是"主存"和"輔存"之間的信息交 換。
本發(fā)明的方法主要目標(biāo)是邏輯上擴充電信級以太網(wǎng)系統(tǒng)的二層轉(zhuǎn)發(fā)表、 三層路由表和訪問控制表等硬件資源,主要在電信級以太網(wǎng)系統(tǒng)的二層轉(zhuǎn)發(fā) 表、三層路由表 和訪問控制表等硬件資源不足以滿足要求時使用本發(fā)明的方法。
下面介紹虛擬硬件資源管理方法的管理模塊采取的策略。 (1 )放置策略
放置策略判斷信息放置的位置。通常,硬二層轉(zhuǎn)發(fā)表和硬三層路由表都 采取哈希(Hash)算法判斷條目在硬件空間的位置,那么在"輔存"也就是軟 表中判斷信息條目放置的位置也可以采用同樣的哈希算法。為了信息放置的 位置不和硬件的行為發(fā)生沖突,也利于信息放置和管理,軟二層轉(zhuǎn)發(fā)表和軟 三層路由表條目數(shù)分別設(shè)為硬二層轉(zhuǎn)發(fā)表和硬三層路由表條目數(shù)的21( 1為整 數(shù))倍,且采取分頁方式,每頁的條目數(shù)與對應(yīng)的硬表的條目數(shù)相等。而對于硬訪問控制表來說,轉(zhuǎn)發(fā)引擎查詢該表多采用TCAM算法,但管理和維護 該表一般采用順序方式,因此,對于軟訪問控制表的放置策略也采用按順序 存儲。當(dāng)然,這些軟表和硬表還可以采取其他放置算法和方式來放置條目。
(2 )替換策略
替換策略是指決定信息從輔存替換到主存的時機,本領(lǐng)域中主要的替換 策略有請調(diào)方式和預(yù)調(diào)方式兩種,請調(diào)方式是在需要使用時替換,而預(yù)調(diào)方
式則是在需要使用之前就替換。而本方法涉及的信息并不是程序執(zhí)行需要的 代碼和數(shù)據(jù),而是轉(zhuǎn)發(fā)引擎需要使用的轉(zhuǎn)發(fā)信息表條目,因此替換策略可以 是在需要使用時替換,例如在硬表(主存)滿時替換、或者在發(fā)現(xiàn)有硬表中 存在某條目(該條目被稱為劣等條目)的重要性(或訪問頻率、或優(yōu)先級、 寫入時間、上次被訪問的時間等)小于不在硬表中的某條目(該條目被稱為
優(yōu)等條目)時就替換;也可以是時間驅(qū)動替換,例如在到達預(yù)定時間時,如 果系統(tǒng)發(fā)現(xiàn)有硬表中存在某劣等條目重要性小于不在硬表中的某優(yōu)等條目, 就執(zhí)行從軟表到硬表的替換操作。 (3)淘汰策略
在虛擬存儲器技術(shù)中,淘汰硬表中的條目的淘汰策略包括LRU (least recently used (最近最少使用))算法、先進先出(FIFO)算法、LFU (least frequently used (最少頻率使用))算法、優(yōu)先級算法等。在使用LRU算法的 情況下,該重要性指標(biāo)是上次被使用的時間,軟表中的該優(yōu)等條目的上次被 使用的時間晚于在所述硬表中的劣等條目的上次被使用的時間。在使用優(yōu)先 級算法的情況下,該重要性指標(biāo)是優(yōu)先級,軟表中的該優(yōu)等條目的優(yōu)先級大 于在所述硬表中的劣等條目的優(yōu)先級。在使用先進先出算法的情況下,該重 要性指標(biāo)是寫入時間,軟表中的該優(yōu)等條目的寫入時間晚于在所述硬表中的 劣等條目的寫入時間。
現(xiàn)實中使用的比較多的是近似LRU (least recently used (最近最少使用)) 算法,主要原因是最優(yōu)算法不具有實用性,先進先出算法效能比較低,而LFU (least frequently used (最少頻率使用))算法實現(xiàn)代價相對較高。但在本發(fā) 明的一個實施例中,為了提高硬件資源使用的效率,應(yīng)盡可能的將最該被淘 汰的信息移出硬件表,因此,選用了LFU算法。也就是說,該重要性指標(biāo)是 訪問頻率,軟表中的該優(yōu)等條目的訪問頻率大于在所述硬表中的劣等條目的 訪問頻率,從而淘汰硬表中訪問頻率較低的相對不重要的條目。在以下描述本發(fā)明的一個實施例使用的LFU算法。
實現(xiàn)LFU算法的最關(guān)鍵的方面是如何確定條目的訪問頻率,也就是如何 確定該條目最近一段時間被訪問的次數(shù),這包括在如下的三個方面首先, 選擇多長時間能作為"最近"就是個棘手的問題。第二,如何緊湊地記錄訪 問次數(shù)也需要仔細(xì)斟酌。第三,如何用最小的代價獲得訪問次數(shù)信息同樣需 要合理設(shè)計。下面對這三個方面分別進行說明。
(1)獲取條目的訪問次數(shù)交換芯片通常具有將設(shè)備收到的數(shù)據(jù)包可控 地送往處理器的機制,比如FFP引擎、FP引擎、PCL引擎等等。中、高端交 換芯片還有Sflow機制,這些機制能保證處理器能監(jiān)測網(wǎng)絡(luò)上的流量,而且 送往處理器的數(shù)據(jù)包比例(采樣率,以Sr表示)可以設(shè)置得比較小,這樣接 收數(shù)據(jù)包占用處理器的開銷就比較小。處理器基于收到的數(shù)據(jù)包結(jié)合系統(tǒng)的 各種軟表可以得到各條目的訪問次數(shù)。
(2) 保存條目的訪問次數(shù)由于釆樣率Sr通常比較低,因而,在一定 時期內(nèi),進入到處理器的關(guān)聯(lián)某個條目的數(shù)據(jù)包通常較少。而且,淘汰策略 只要做到能夠盡可能地選擇最不經(jīng)常使用的條目即可,因此對應(yīng)一個條目, 可采用一個字節(jié)的計數(shù)器來表示它的訪問次數(shù)、或者說存儲訪問頻率,如此 可以節(jié)省計數(shù)器的存儲空間。
(3) 確定"最近"所代表的時間Sr通常設(shè)置得較低,在這種情況下, 各條目的計數(shù)器變化相對較慢。因此可以選擇從計數(shù)器清零開始,到存在某 個條目的計數(shù)器值超過它的計數(shù)容量的一半時的時間,作為一個處理周期、 即上述的預(yù)定時間段。顯然這個周期和預(yù)定時間段流量相關(guān),并且這個周期 不一定常量?;蛘?,也可以預(yù)先設(shè)置該預(yù)定時間段(處理周期)。
另外,還可以標(biāo)記每個條目的狀態(tài)位,該狀態(tài)位用以表示該條目是否在 硬件表中,這樣有助于判斷那些不在硬表中的軟表條目是否需要替換在硬表 中的劣等條目。
當(dāng)存在某個條目的計數(shù)器值超過它的計數(shù)容量的一半、即到達預(yù)定時間 段時,系統(tǒng)需要進行淘汰和替換處理。系統(tǒng)還可以首先確定硬表是否已用盡, 如果硬表處于未滿狀態(tài),則不實施淘汰操作。如果硬件表已滿,且軟表的條 目大于硬表,則檢查軟表中各條目的訪問頻率等級計數(shù)器,如果存在一個不 在硬表中的某優(yōu)等條目A,其訪問頻率值大于硬表中某劣等條目B的訪問頻 率值,那么將硬表中條目B移出硬表,而把條目A寫入硬表。需要強調(diào)的是,二層轉(zhuǎn)發(fā)表和三層路由表的條目通常采取Hash算法得到 條目位置的Hash值,這樣條目B必須滿足兩個約束和條目A不在同一頁 面,在頁面內(nèi)的序號和條目A相同,且Hash值相同。
*本方法的工作過程
歸納起來,如圖2A所示,本方法的核心步驟為建立步驟Sll,在系統(tǒng) 的內(nèi)存區(qū)中建立與硬表對應(yīng)的軟表,所述硬表包括電信級以太網(wǎng)系統(tǒng)硬件資 源的硬二層轉(zhuǎn)發(fā)表、硬三層路由表以及硬訪問控制列表中的至少一個,所述 軟表包括軟二層轉(zhuǎn)發(fā)表、軟三層路由表以及軟訪問控制列表;放置步驟S12, 在所述硬表和/或所述軟表中放置條目,并記錄每個條目的重要性指標(biāo);判斷 步驟S13,根據(jù)所述重要性指標(biāo),判斷在所述軟表中是否存在不在所述硬表 中的優(yōu)等條目要替換所述硬表中的劣等條目;以及替換步驟S14,如果在所 述判斷步驟中判斷存在,則淘汰該硬表中的所述劣等條目,且用所述優(yōu)等條 目寫入所述劣等條目所在的位置。
本發(fā)明的上述步驟還可以由與其相對應(yīng)的裝置來實現(xiàn),如圖2B所示。用 于實現(xiàn)本發(fā)明的方法的設(shè)備10包括建立裝置11,在系統(tǒng)的內(nèi)存區(qū)中建立 與硬表對應(yīng)的軟表,所述硬表包括電信級以太網(wǎng)系統(tǒng)硬件資源的硬二層轉(zhuǎn)發(fā) 表、硬三層路由表以及硬訪問控制列表中的至少一個,所述軟表包括軟二層 轉(zhuǎn)發(fā)表、軟三層路由表以及軟訪問控制列表;放置裝置12,在所述硬表和/ 或所述軟表中放置條目,并記錄每個條目的重要性指標(biāo);判斷裝置13,根據(jù) 所述重要性指標(biāo),判斷在所述軟表中是否存在不在所述硬表中的優(yōu)等條目要 替換所述硬表中的劣等條目;以及替換裝置14,如果在所述判斷裝置中判斷 存在,則淘汰該硬表中的所述劣等條目,且用所述優(yōu)等條目寫入所述劣等條 目所在的位置。
上述方法的一個具體實施例主要有三部分的過程:初始化和建立過程,放 置過程和判斷和替換過程。
三部分的具體實現(xiàn)表示如圖2C、 2D和2E所示,其中2C描述初始化和建 立過程,2D描述放置過程,2E描述判斷和替換過程。 (1 )初始化和建立過程
通過圖2C可以看出,初始化和建立過程包括分配軟表所需要的存儲空 間,即建立軟表,設(shè)置硬件的地址學(xué)習(xí)模式為"CPU控制學(xué)習(xí)"模式,得到硬件的Hash算法,以及初始化各軟表對應(yīng)的最大條目數(shù)以及系統(tǒng)的采樣率。 初始化和建立過程是本領(lǐng)域技術(shù)人員通常能實現(xiàn)的過程,不是本發(fā)明的重點。 (2 )放置過程(也稱學(xué)習(xí)過程)
如圖2D所示,根據(jù)本發(fā)明實施例,放置過程包括獲取要寫入硬表或 軟表的條目、 一般是數(shù)據(jù)包的源地址或源地址的一部分;確定該條目是否在 所述硬表或軟表中,如果該條目不在所述硬表中也不在所述軟表中,則根 據(jù)預(yù)定放置策略來確定該條目在所述硬表中的位置;確定所述硬表中的所述 位置是否為空,如果所述硬表中的所述位置為空,則將該條目寫入所述硬表 中的所述位置,并記錄該條目的訪問頻率;以及無^r所述硬表中的所述位置 是否為空,都根據(jù)所述預(yù)定放置策略確定所述軟表中是否存在空條目,如果 存在,則將該條目寫入所述軟表中的空條目位置,并記錄該條目的訪問頻率。
如此,當(dāng)硬表滿了或者硬表中沒有適當(dāng)位置來寫入該條目時,該條目可 以被寫入到軟表中的空條目位置,因此相當(dāng)于對硬表擴充了條目數(shù)量,且可 以減少由于硬件資源不足而帶來的錯誤轉(zhuǎn)發(fā)和不匹配。在這種情況下,軟表 的條目數(shù)量一般大于或等于硬表的條目數(shù)量。
所述預(yù)定放置策略可以是Hash算法放置。所述軟表的設(shè)計規(guī)模可以是對 應(yīng)硬表的2'倍,l是正整數(shù),且所述軟表被劃分為頁,所迷軟表的每頁的容量 可以與對應(yīng)的硬表的每頁的容量相同,所述軟表的每頁的數(shù)據(jù)存儲組織方式 可以與對應(yīng)的硬表的每頁的數(shù)據(jù)存儲組織方式相同。
所述預(yù)定放置策略也可以是順序放置,所述軟表的設(shè)計規(guī)??梢源笥谒?述硬表的設(shè)計規(guī)模。
另外,除了對所述硬表和所述軟表中的每個條目記錄訪問頻率以外,還 可以記錄上次被使用的時間、優(yōu)先級、寫入時間等重要性指標(biāo),以用于下述 的判斷優(yōu)等條目和替換對應(yīng)條目的過程。還可以標(biāo)記每個條目的狀態(tài)位,該 狀態(tài)位用于表示在硬表中是否有該條目。
(3)判斷和替換過程
觸發(fā)該判斷和替換過程的觸發(fā)策略可以包括如下中的至少 一種請調(diào)觸 發(fā),在所述硬表滿時觸發(fā);條件觸發(fā),在發(fā)現(xiàn)在所述軟表中存在不在所述硬 表中的優(yōu)等條目要替換所述硬表中的劣等條目時觸發(fā);隨機觸發(fā),在隨機的 時刻觸發(fā);以及時間驅(qū)動觸發(fā),在到達預(yù)定時間時觸發(fā)。
根據(jù)本發(fā)明的一個具體實施例,其中使用時間驅(qū)動觸發(fā),并根據(jù)每個條目的訪問頻率來判斷優(yōu)等條目。該訪問頻率可以是所述每個條目在預(yù)定時間 段內(nèi)被訪問的次數(shù)。所述預(yù)定時間段可以是從計數(shù)器清零開始到存在某個條 目的計數(shù)器超過它的計數(shù)容量的一半時之間的時間^歐。每個條目所述被訪問 的次數(shù)可以采用 一個字節(jié)的計數(shù)器來表示。
見圖2E,當(dāng)?shù)竭_預(yù)定時間段時,根據(jù)所述重要性指標(biāo),判斷在所述軟表 中是否存在不在所述硬表中的優(yōu)等條目要替換所述硬表中的劣等條目,其中 該優(yōu)等條目的訪問頻率大于在所述硬表中的劣等條目的訪問頻率。如果不存 在,則結(jié)束處理。如果存在,則淘汰該硬表條目,將軟表中優(yōu)等條目寫入該 硬表的對應(yīng)條目所在位置。然后,處理結(jié)束。
根據(jù)本發(fā)明,除了上述根據(jù)訪問頻率來判斷優(yōu)等條目以外,判斷優(yōu)等條 目還可以采用該優(yōu)等條目的上次被使用的時間晚于在所述硬表中的劣等條 目的上次被使用的時間;該優(yōu)等條目的優(yōu)先級大于在所述硬表中的劣等條目 的優(yōu)先級;該優(yōu)等條目的寫入時間晚于在所述硬表中的劣等條目的寫入時間 等。
根據(jù)本發(fā)明的另 一個具體實施例,可以首先確定所述硬表是否已經(jīng)用盡, 如果所述硬表尚未用盡,則不進行所述判斷步驟;如果所述硬表已經(jīng)用盡, 則進行所述判斷步驟。如此可以根據(jù)硬表的空滿程度來決定是否進行進一步 的判斷和替換步驟。
以上描述了本發(fā)明的方法的主要流程、附加流程和變更的流程,本領(lǐng)域 技術(shù)人員可以根據(jù)上述方法的步驟來實現(xiàn)用于進行上述步驟的裝置。
*本發(fā)明的實現(xiàn)和效果
首先介紹評價虛擬硬件資源管理方法的性能的參數(shù)。
評價虛擬二層轉(zhuǎn)發(fā)表(這里把本方法針對二層轉(zhuǎn)發(fā)表部分的功能簡稱為 虛擬二層轉(zhuǎn)發(fā)表)機制的性能,主要是參照按二層轉(zhuǎn)發(fā)的單播數(shù)據(jù)包的轉(zhuǎn)發(fā) 行為,可以使用目的地址查不到的比率P12dlf來表示,設(shè)在一定時期內(nèi),進 入系統(tǒng)的總單播數(shù)據(jù)包個數(shù)為S2,能成功查找到目的地址而正常轉(zhuǎn)發(fā)的數(shù)據(jù) 包個數(shù)為S2f,查不到目的地址丟棄或洪泛的數(shù)據(jù)包個數(shù)為S21,貝'卜
還可以采用最優(yōu)比R12opt來評價性能的好壞。在一定時期內(nèi),對于給定的網(wǎng)絡(luò)數(shù)據(jù)流集和給定的轉(zhuǎn)發(fā)表容量,如果在理想化的情況下,Sl的值記為
S12opt,也就是說S12opt是在給定硬件配置和網(wǎng)絡(luò)流量情況下Sl的最小值, 則最優(yōu)比R12opt可以用(2)式得到
《2— = / S/2。/rf (2)
例如, 一個只有四個轉(zhuǎn)發(fā)條目的系統(tǒng),16個凄t據(jù)包(這里以目的地址-
源地址標(biāo)記一個數(shù)據(jù)包,如數(shù)據(jù)包的目的地址是A,源地址是B,則該數(shù)據(jù)
包表示為A-B )進入系統(tǒng)的順序分別為A1-A2、A3-A4、A2-A1、A4-A3、A5-A3、
A3-A5、 A5-A2、 A2-A5、 A5-A4、 A4-A5、 A5-A3、 A5-A3、 A5-A2、 A3-A5、
A5-A2、 A2-A5,則按照現(xiàn)有網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)行為,假設(shè)按順序放置的地址為
分別A2、A4、A1、A3,所以查不到地址未能正常轉(zhuǎn)發(fā)的數(shù)據(jù)包分別為Al-A2、
A3-A4、 A5-A3、 A5-A2、 A5-A4、 A5-A3、 A5-A3、 A5-A2、 A5-A2,可4尋到
<formula>formula see original document page 15</formula>
顯然,針對本例所述的情況,普通方法的轉(zhuǎn)發(fā)效能非常低。 對于三層路由表,同樣可以使用類似二層轉(zhuǎn)發(fā)表的評價方法。以P13dlf 來表示查不到路由的比率,以R13opt表示三層最優(yōu)比。設(shè)在一定時期內(nèi),進 入系統(tǒng)的總?cè)龑訑?shù)據(jù)包個數(shù)為S3,能成功查找到if各由而正常轉(zhuǎn)發(fā)的數(shù)據(jù)包個 數(shù)為S3f,查不到路由丟棄或走缺省路由的數(shù)據(jù)包個數(shù)為S31, S Bopt表示S31 的最小值,則
<formula>formula see original document page 15</formula>
對于虛擬訪問控制表而言,情形要復(fù)雜得多。因為,對于二層轉(zhuǎn)發(fā)表來 說,所有經(jīng)過二層轉(zhuǎn)發(fā)的數(shù)據(jù)包都會查表,同樣對于三層路由表而言,所有 經(jīng)過三層轉(zhuǎn)發(fā)的數(shù)據(jù)包也必須查表,而且查找失敗會影響轉(zhuǎn)發(fā)行為。但訪問 控制表不同,首先,僅僅從配置了訪問控制條目且使能了訪問控制功能的端 口進入到設(shè)備的數(shù)據(jù)包才需要查找訪問控制表,而且查找失敗對轉(zhuǎn)發(fā)行為不 影響?;谠L問控制表的這些特性,上述兩種方法用來評價虛擬訪問控制表 都不太合適。這里定義期望匹配率Rem來衡量虛擬訪問控制表的性能,令在一定時期內(nèi),期望被訪問控制表匹配的數(shù)據(jù)包個數(shù)為Se,而實際匹配的數(shù)據(jù) 包個lt為Sr,則
<formula>formula see original document page 16</formula>本方法在M8416E電信級以太網(wǎng)設(shè)備(以下簡稱M8416E設(shè)備)上實現(xiàn)。 M8416E設(shè)備采用10U標(biāo)準(zhǔn)機箱,寬度x深度x高度二436mm x 260mm x 440mm。 M8416E設(shè)備背板帶寬256G,單一交換控制盤交換容量為128G, 轉(zhuǎn)發(fā)性能為144Mpps。 M8416E設(shè)備具有兩個交換控制槽位、4個業(yè)務(wù)槽位, /人下往上槽位號依次為1、 2...6, 1、 2、 3和4四個槽位為業(yè)務(wù)槽位,5和6 兩個槽位為主控槽位,兩塊主控卡同時在位時實行1: l保護。該設(shè)備最多可 支持96個百兆端口、 72個千兆接口以及4個10GE^妾口。
M8416E設(shè)備設(shè)計的硬件資源數(shù)量分別為二層轉(zhuǎn)發(fā)表容量32k、三層路由 表容量12k以及訪問控制表容量4k。主控卡上使用的交換芯片支持SFLOW 功能,數(shù)據(jù)包進入CPU的采樣率可在(6.0*10-8, 3.9*10-3)區(qū)間內(nèi)選取。
需要特別說明的是,由于M8416E設(shè)備具有兩塊主控卡,釆取l: 1主備 保護模式,而備用主控卡的處理器大部分時間基本處于空閑狀態(tài),因此,本 方法的大部分統(tǒng)計、查找、排序、比較等運算在備用主控卡執(zhí)行,以節(jié)省主 用主控卡的CPU處理時間。而對應(yīng)的軟二層轉(zhuǎn)發(fā)表、三層路由表和訪問控制 表在主用主控卡和備用主控卡上各存儲完全一樣的一套,軟表和硬表之間的 數(shù)據(jù)交換則在主用主控卡和備用主控卡上同時進行,以實現(xiàn)在主用主控卡和 備用主控卡之間倒換時,系統(tǒng)仍然能正常工作。在包含本方法的系統(tǒng)設(shè)計完 成,需搭建適當(dāng)?shù)臏y試環(huán)境對本方法進行測試驗i正,采取的測試網(wǎng)絡(luò)拓樸如 圖3所示。
圖3中,測試儀表中一個百兆快速以太網(wǎng)口 (管理端口 )與控制計算機相 連接。同時測試儀表中有三個千兆以太網(wǎng)接口分別與M8416E電信級以太網(wǎng)設(shè) 備的24GE業(yè)務(wù)卡中的三個端口GE1、 GE2和GE3相聯(lián),其中GE3用作測試流輸 入端口, GE2用作測試流輸出端口, GE1用做不期望數(shù)據(jù)流接收端口。當(dāng)測試 虛擬二層轉(zhuǎn)發(fā)表功能時,GE1、 GE2和GE3三個端口同屬于所有已創(chuàng)建的Vlan, GE1用于監(jiān)測查不到目的端口的洪泛數(shù)據(jù)包的數(shù)量。當(dāng)測試虛擬三層路由表 功能時,GE1、 GE2和GE3三個端口不同屬于任何已創(chuàng)建的Vlan,缺省路由的 目的端口設(shè)置為GE1,則GE1用于監(jiān)測查不到路由而走缺省路由轉(zhuǎn)發(fā)的數(shù)據(jù)包 的數(shù)量。當(dāng)測試虛擬訪問控制表功能時,GE1可不使用。由控制計算機利用自編的偽隨機數(shù)據(jù)流發(fā)生器生成測試的數(shù)據(jù)流,然后
配置到測試儀表上,由測試儀表發(fā)數(shù)據(jù)流到M8416E電信級以太網(wǎng)設(shè)備上,觀
察和統(tǒng)計儀表上收到的數(shù)據(jù)情況,然后利用前述的評價方法分別計算出
P12dlf、 P12dlf以及Rem。測試虛擬二層地址表時,共進行六次測試,這六次 測試用到的測試流包含的二層轉(zhuǎn)發(fā)地址的數(shù)目分別為32k、 40k、 48k、 56k、 64k和96k,每次測試的數(shù)據(jù)流包含的二層轉(zhuǎn)發(fā)地址是連續(xù)的。測試虛擬三層 路由表時,也進行六次測試,這六次測試用到的測試流包含的三層路由的數(shù) 目分別為12k、 16k、 20k、 24k、 28k和32k。測試虛擬訪問控制表時,同樣進 行六次測試,這六次測試用到的測試流包含的訪問控制表的條目數(shù)目分別為 4k、 5 k、 6k、 7k、 8k和10k。為便于比較分析,每次測試得到兩個結(jié)果,分 別是沒有虛擬機制時的結(jié)果和使用虛擬方法的結(jié)果。將測試結(jié)果繪制成統(tǒng)計 圖,得到圖4A、 4B和4B,圖4A表示虛擬二層轉(zhuǎn)發(fā)表的測試結(jié)果,4B表示虛 擬三層路由表的測試結(jié)果,4B表示虛擬訪問控制表的測試結(jié)果。
由測試結(jié)果可知,釆用本發(fā)明的虛擬硬件方法,系統(tǒng)轉(zhuǎn)發(fā)性能有顯著的 提尚。
本發(fā)明的方法的上述步驟可以取決于實施方式,4姿任何順序或并行地進 行,除非另外在本公開中特別指示。另外,實現(xiàn)上述步驟的邏輯代碼不局限 于任何具體的編程語言,且可以由在分布式、非分布式的或多處理環(huán)境中的
一個或多個處理器上執(zhí)行的實現(xiàn)上述步驟的一個或多個模塊裝置組成。
應(yīng)該理解,可以在所附權(quán)利要求的精神和范圍內(nèi)對本發(fā)明進行修改和替 換。該說明書不意圖是窮舉或限制本發(fā)明到所公開的精確形式。所公開的這 些實施例的這些和各種其他適用和組合是在本發(fā)明的范圍內(nèi),且進一步由權(quán) 利要求和等同體的全部范圍來定義。
權(quán)利要求
1. 一種面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理方法,包括如下步驟(1)建立步驟,在系統(tǒng)的內(nèi)存區(qū)中建立與硬表對應(yīng)的軟表,所述硬表包括電信級以太網(wǎng)系統(tǒng)硬件資源的硬二層轉(zhuǎn)發(fā)表、硬三層路由表以及硬訪問控制列表中的至少一個,所述軟表包括軟二層轉(zhuǎn)發(fā)表、軟三層路由表以及軟訪問控制列表;(2)放置步驟,在所述硬表和/或所述軟表中放置條目,并記錄每個條目的重要性指標(biāo);(3)判斷步驟,根據(jù)所述重要性指標(biāo),判斷在所述軟表中是否存在不在所述硬表中的優(yōu)等條目要替換所述硬表中的劣等條目;以及(4)替換步驟,如果在所述判斷步驟中判斷存在,則淘汰該硬表中的所述劣等條目,且用所述優(yōu)等條目寫入所述劣等條目所在的位置。
2. 如權(quán)利要求1所述的面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理方 法,其中,該重要性指標(biāo)是訪問頻率,該優(yōu)等條目的訪問頻率大于在所述硬 表中的劣等條目的訪問頻率。
3. 如權(quán)利要求2所述的面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理方用計數(shù)器來記錄被訪問的次數(shù)。
4. 如權(quán)利要求3所述的面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理方 法,其中,所述預(yù)定時間段是從計數(shù)器清零開始到存在某個條目的計數(shù)器超 過它的計數(shù)容量的一半時之間的時間段。
5. 如權(quán)利要求1-4中的任何一個所述的面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理方法,其中,放置步驟(2)包括 獲取要寫入硬表或軟表的條目;確定該條目是否在所述硬表或軟表中,如果該條目不在所述硬表中也不在所述軟表中,貝'h根據(jù)預(yù)定放置策略來確定該條目在所述硬表中的位置;確定所述硬表中的所述位置是否為空,如果所述硬表中的所述位置為空,則將該條目寫入所述硬表中的所述位置;以及無論所述硬表中的所述位置是否為空,都根據(jù)所述預(yù)定放置策略確定所 述軟表中是否存在空條目,如果存在,則將該條目寫入所述軟表中的空條目 位置。
6. 如權(quán)利要求5所述的面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理方 法,其中,所述預(yù)定放置策略是Hash算法放置,則所述軟表的設(shè)計規(guī)模是對 應(yīng)硬表的2M咅,l是正整數(shù),且所述軟表被劃分為頁,所述軟表的每頁的容量 與對應(yīng)的硬表的每頁的容量相同,所述軟表的每頁的數(shù)據(jù)存儲組織方式與對 應(yīng)的硬表的每頁的數(shù)據(jù)存儲組織方式相同。
7. —種面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理設(shè)備,包括如下裝置(1) 建立裝置,在系統(tǒng)的內(nèi)存區(qū)中建立與硬表對應(yīng)的軟表,所述硬表包 括電信級以太網(wǎng)系統(tǒng)硬件資源的硬二層轉(zhuǎn)發(fā)表、硬三層路由表以及硬訪問控 制列表中的至少一個,所述軟表包括軟二層轉(zhuǎn)發(fā)表、軟三層路由表以及軟訪 問控制列表;(2) 放置裝置,在所述硬表和/或所述軟表中放置條目,并記錄每個條 目的重要性指標(biāo);(3) 判斷裝置,根據(jù)所述重要性指標(biāo),判斷在所述軟表中是否存在不在 所述硬表中的優(yōu)等條目要替換所述硬表中的劣等條目;以及(4) 替換裝置,如果在所述判斷裝置中判斷存在,則淘汰該硬表中的所 述劣等條目,且用所述優(yōu)等條目寫入所述劣等條目所在的位置。
8. 如權(quán)利要求7所述的面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理設(shè) 備,其中,該重要性指標(biāo)是訪問頻率,該優(yōu)等條目的訪問頻率大于在所述硬 表中的劣等條目的訪問頻率。
9. 如權(quán)利要求8所述的面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理設(shè) 備,其中,所述訪問頻率是所述每個條目在預(yù)定時間段內(nèi)被訪問的次數(shù),且 用計數(shù)器來記錄被訪問的次數(shù)。
10. 如權(quán)利要求9所述的面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理設(shè) 備,其中,所述預(yù)定時間段是從計數(shù)器清零開始到存在某個條目的計數(shù)器超 過它的計數(shù)容量的一半時之間的時間段。
11. 如權(quán)利要求7-10中的任何一個所述的面向電信級以太網(wǎng)系統(tǒng)的虛擬 硬件資源管理設(shè)備,其中,放置裝置(2)包括獲取要寫入硬表或軟表的條目的裝置; 確定該條目是否在所述硬表或軟表中的裝置;如果該條目不在所述硬表中也不在所述軟表中,根據(jù)預(yù)定放置策略來確定該條目在所述硬表中的位置的裝置;確定所述硬表中的所述位置是否為空,如果所述硬表中的所述位置為空, 則將該條目寫入所述硬表中的所述位置的裝置;以及無論所述硬表中的所述位置是否為空,都根據(jù)所述預(yù)定放置策略確定所 述軟表中是否存在空條目,如果存在,則將該條目寫入所述軟表中的空條目 位置的裝置。
12.如權(quán)利要求11所述的面向電信級以太網(wǎng)系統(tǒng)的虛擬硬件資源管理設(shè) 備,其中,所述預(yù)定放置策略是Hash算法放置,則所述軟表的設(shè)計規(guī)模是對 應(yīng)硬表的2W咅,l是正整數(shù),且所述軟表被劃分為頁,所述軟表的每頁的容量 與對應(yīng)的硬表的每頁的容量相同,所述軟表的每頁的數(shù)據(jù)存儲組織方式與對 應(yīng)的硬表的每頁的數(shù)據(jù)存儲組織方式相同。
全文摘要
本發(fā)明涉及一種電信級以太網(wǎng)系統(tǒng)中的虛擬硬件方法和設(shè)備,具體涉及一種采用虛擬硬件技術(shù)來改善電信級以太網(wǎng)系統(tǒng)的轉(zhuǎn)發(fā)性能的方法和設(shè)備。該方法的目標(biāo)是借鑒操作系統(tǒng)的內(nèi)存管理技術(shù),采用特定的算法,在應(yīng)用意義上等價擴充電信級以太網(wǎng)系統(tǒng)的二層轉(zhuǎn)發(fā)表、三層轉(zhuǎn)發(fā)表、訪問控制表等硬件資源。該方法在內(nèi)存中建立軟二層轉(zhuǎn)發(fā)表、軟三層轉(zhuǎn)發(fā)表以及軟訪問控制表等,實際的硬件二層轉(zhuǎn)發(fā)表、三層轉(zhuǎn)發(fā)表以及訪問控制表可看作它們對應(yīng)的高速緩存。通過生成重要性參數(shù)來判斷軟表和硬表之間是否進行數(shù)據(jù)交換,使得硬表中盡可能存放重要程度更高的優(yōu)等條目,從而改善系統(tǒng)的轉(zhuǎn)發(fā)性能。
文檔編號H04L12/46GK101505280SQ20091012987
公開日2009年8月12日 申請日期2009年3月30日 優(yōu)先權(quán)日2009年3月30日
發(fā)明者余少華, 戴錦友, 朱國勝 申請人:武漢烽火網(wǎng)絡(luò)有限責(zé)任公司