專利名稱:一種分布式路由子系統(tǒng)在ipv6協(xié)議棧的實現(xiàn)方法
技術領域:
本發(fā)明涉及到數(shù)據(jù)通信中的IP路由處理技術,特別涉及到一種在IPV6協(xié)議棧下所實現(xiàn)的路由信息處理系統(tǒng)的方法。
背景技術:
隨著IP數(shù)據(jù)通信技術的不斷成熟,用戶對網(wǎng)絡數(shù)據(jù)的傳輸效率的要求與日俱增。而其中,路由器工作效率的優(yōu)劣,直接影響整個網(wǎng)絡傳輸數(shù)據(jù)的效率。在現(xiàn)有的路由器中,其整個業(yè)務處理核心主要依靠CPU,它性能的好壞決定了路由其的工作效率。對于普通低端路由而言,由于其結構本身只有一個CPU。且負責整個系統(tǒng)的路由學習與查找。這樣不僅降低了路由查找速度,而且在有大量IP報文等待處理的情況下,大大影響了報文的轉發(fā)速度。當然,對于高端路由器,雖然其結構中往往帶有若干個線卡,但其路由子系統(tǒng)普遍的工作流程還是主控的CPU負責路由學習、維護和查找,各個線卡轉發(fā)報文時都向主控查找路由,其后果勢必導致各線卡在項主控申請路由查找時形成查找任務的等待。而這種情況難以適應IPV6多報文流向這種環(huán)境。
發(fā)明內容
本發(fā)明的目的是在BDCOM現(xiàn)有的路由子系統(tǒng)基礎上進行擴展,提供一種在IPV6協(xié)議棧下全新的分布式路由子系統(tǒng)的處理方法。通過改進現(xiàn)有路由子系統(tǒng)的工作方法,來提高其工作效率,以解決由于整個路由子系統(tǒng)只有一個CPU負責路由學習、維護和查找,而導致線卡轉發(fā)IPV6報文時所出現(xiàn)的路由查找等待的問題。
本發(fā)明的技術解決方案主要利用二個同步的技術處理來實現(xiàn)具體方案,其具體步驟是1.線卡加電向主控板注冊機制,該機制利用線卡初始化后,向主控發(fā)送報文并等待主控回復報文來確認線卡是否注冊。
2.常規(guī)觸發(fā)更新機制,該機制通過主控接收到線卡的報文后,根據(jù)報文類型判斷是查找線卡所需要的具體路由進行更新,還是針對主控FIB表中所有的entry的該線卡更新標志位進行設置。
3.Ack超時重傳機制,該機制在Audit定時器超時的情況下,根據(jù)線卡發(fā)送緩沖內容的有無來決定是線卡重發(fā)發(fā)送緩沖中的報文還是將通過遍歷(遍歷是指從頭到尾察看一遍的意思)主控的FIB后所發(fā)現(xiàn)的變化了的entry封裝成報文信息發(fā)送。
4.Audit同步機制,該機制在Audit定時器超時后,主控遍歷它的整個FIB,并將所得到的路由信息通過報文發(fā)送給線卡進行比較,以此決定是否需要向主控FIB請求路由更新。
該技術方案在實行過程中,運用了兩個同步處理,即主控的RIB與FIB的同步和主控與線卡的FIB同步。具體內容如下RIB和FIB的同步,其具體步驟是主控的路由子模塊負責所有路由的信息的維護,相應的路由信息存放在RIB中。而主控上的FIB表只保存用于轉發(fā)的active路由的必要信息,其中每條active路由都有一個和線卡對應的狀態(tài)位以表明該路由是否需要針對特定線卡進行更新。若RIB中當active(活動)路由發(fā)生變化,需要通知給主控上的FIB,并做RIB與FIB的同步。
主控與線卡的同步,其具體步驟是主控和線卡的路由同步采用單播的方式進行。主要分為主控FIB中變化路由向線卡的檢查以及主控FIB和FIB路由中路由的定期同步檢查。
并且所執(zhí)行的Ack超時重傳機制中還涉及稀疏更新路由的處理技術。此外整個方法在實施進程中其機制處理過程采用互相排斥的方式進行。
本發(fā)明的技術效果為該方案可以做到主控FIB和線卡FIB的獨立同步,并且由于采用了稀疏路由更新算法,在只有少數(shù)路由發(fā)生變化事,能有效節(jié)約CPU資源。另外,使用定期的Audit路由同步檢查能確保主控和線卡FIB中路由的一致性。
本發(fā)明的創(chuàng)新之處主要表現(xiàn)為該技術方案實現(xiàn)了由主控RIB、主控FIB以及線卡FIB的分別同步,以次構成一種獨特的分布式路由子系統(tǒng)。其中,本發(fā)明中所提到的系統(tǒng)通過RIB以及FIB的同步,首先提取出了IPV6報文轉發(fā)所關心的路由信息并存于主控FIB中,這樣在主控與線卡同步時,大大減少了需要傳輸?shù)男畔⒘?,加快了路由信息的更新速度。其次,主控和線卡之間進行路由更新時,采用了單播方式并且有確認以及超時重傳機制(稱為定期Audit機制),以次確保了主控的線卡的一致性。另外,本發(fā)明所采用的稀疏路由更新算法,還可以減少主控上CPU的突發(fā)占用率。
圖1是實現(xiàn)BDCOM IPV6分布式路由子系統(tǒng)的技術原理圖。
圖1中上下左右分別表示了線卡加電向主控板注冊機制、Audit同步機制、Ack超時重傳機制和常規(guī)觸發(fā)更新機制的四個工作過程,還有圖的正中央表示Main Control的RIB向FIB發(fā)送update報文的過程。
在說明書與圖示中,該領域所涉及的技術名詞解釋1.RIB-Route information base.路由信息庫2.FIB-Forward information base.轉發(fā)信息庫3.Main Control-分布式路由器的主控板,路由協(xié)議處理的硬件環(huán)境4.Line Card-分布式路由器的線卡,實際的;路由查找、報文轉發(fā)運行的硬件環(huán)境5.request-請求6.Ack-應答7.Update-修改8.Audit-審查9.entry-條目
具體實施例方式本發(fā)明所提出的技術方案,在實際應用中須通過高端路由器的硬件設備(主要是指主控板Main Control和線卡Line Card)來實現(xiàn)。通過圖A所示結合其實施例具體步驟如下步驟1硬件啟動,線卡插入插槽以后,加電初始化。之后向主控發(fā)送request進行注冊。在此過程中,線卡必須明確的收到主控的Ack報文,否則超時重傳。
步驟2主控收到線卡的request報文以后,需要檢查該報文是request具體的路由還是request all;若為前者,則需要遍歷主控的FIB表,查找線卡所需要的具體的路由進行更新;若是request all,則需要針對主控FIB表中所有entry的該線卡更新標志位進行設置。這兩種情況,都需要等待主控的更新定時器超時。
步驟3當Audit定時器超時以后,若針對該線卡的發(fā)送緩沖不為空,則需要重發(fā)該發(fā)送緩沖中的報文;反之,則考慮是否從主控FIB中繼續(xù)遍歷,封裝變化了的entry,然后進行發(fā)送。這個過程涉及到稀疏更新路由的處理。
步驟4當Audit定時器超時后,主控需要遍歷它的整個FIB,但是只關心路由的IPV6前綴以及時間戳,并將其封裝到update報文中,單播發(fā)給線卡以便和線卡FIB中的路由進行一致性比較。線卡根據(jù)比較的結果是否一致,決定是否需要向主控FIB請求路由更新。對于audit向線卡進行一致性檢查時,若沒有收到線卡的響應,我們的處理方式是重發(fā)次數(shù)超過一個閥值后就停止該線卡的此輪audit同步檢查。
根據(jù)步驟3中所提到的稀疏更新路由技術,其含義就是在前一次路由更新后,若在常規(guī)Audit定時器超時以前變化的路由數(shù)目比較少,則直接將路由添加進FIB中而不設更新標志位。同時,該路由也封裝到報文中并加入發(fā)送緩沖隊列。在該定時器超時后,就不用遍歷FIB而直接處理發(fā)送緩沖。
主控上audit和常規(guī)更新采用互相排斥的方式進行,即一個過程在處理的過程中,抑制另外一個過程的觸發(fā)。
以上實施例僅為本發(fā)明的一個參考模型樣本,并不用以限制本發(fā)明,凡在本發(fā)明方法的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種在IPV6協(xié)議棧下全新的分布式路由子系統(tǒng)的處理方法,其特征在于該方法具體包括四個步驟1]線卡加電向主控板注冊機制,該機制利用線卡初始化后,向主控發(fā)送報文并等待主控回復報文來確認線卡是否注冊;2]常規(guī)觸發(fā)更新機制,該機制通過主控接收到線卡的報文后,根據(jù)報文類型判斷是查找線卡所需要的具體路由進行更新,還是針對主控FIB表中所有的entry的該線卡更新標志位進行設置;3]Ack超時重傳機制,該機制在Audit定時器超時的情況下,根據(jù)線卡發(fā)送緩沖內容的有無來決定是線卡重發(fā)發(fā)送緩沖中的報文還是將通過遍歷主控的FIB后所發(fā)現(xiàn)的變化了的entry封裝成報文信息發(fā)送;4]Audit同步機制,該機制在Audit定時器超時后,主控遍歷它的整個FIB,并將所得到的路由信息通過報文發(fā)送給線卡進行比較,以此決定是否需要向主控FIB請求路由更新。該技術方案在實行過程中,運用了兩個同步處理,即主控的RIB與FIB的同步和主控與線卡的FIB同步;并且所執(zhí)行的Ack超時重傳機制中還涉及稀疏更新路由的處理技術;此外整個方法在實施進程中其機制處理過程采用互相排斥的方式進行。
2.根據(jù)權利要求1所述的處理方法,其特征在于所述的線卡加電向主控板注冊機制的步驟為先硬件啟動,線卡插入插槽以后,加電初始化;之后向主控發(fā)送request進行注冊,在此過程中,線卡必須明確的收到主控的Ack報文,否則超時重傳。
3.根據(jù)權利要求1所述的處理方法,其特征在于所述的常規(guī)觸發(fā)更新機制的步驟為主控收到線卡的request報文以后,需要檢查該報文是request具體的路由還是request all;若為前者,則需要遍歷主控的FIB表,查找線卡所需要的具體的路由進行更新;若是requestall,則需要針對主控FIB表中所有entry的該線卡更新標志位進行設置,這兩種情況,都需要等待主控的更新定時器超時。
4.根據(jù)權利要求1所述的處理方法,其特征在于所述的Ack超時重傳機制的步驟為當Audit定時器超時以后,若針對該線卡的發(fā)送緩沖不為空,則需要重發(fā)該發(fā)送緩沖中的報文;反之,則考慮是否從主控FIB中繼續(xù)遍歷,封裝變化了的entry,然后進行發(fā)送,這個過程涉及到稀疏更新路由的處理。
5.根據(jù)權利要求1所述的處理方法,其特征在于所述的Audit同步機制的步驟為當Audit定時器超時后,需要遍歷主控中的整個FIB,但是只關心路由的IPV6前綴以及時間戳,并將其封裝到update報文中,單播發(fā)給線卡以便和線卡FIB中的路由進行一致性比較;線卡根據(jù)比較的結果是否一致,決定是否需要向主控FIB請求路由更新;對于audit向線卡進行一致性檢查時,若沒有收到線卡的響應,我們的處理方式是重發(fā)次數(shù)超過一個閥值后就停止該線卡的此輪audit同步檢查。
6.根據(jù)權利要求1所述的處理方法,其特征在于所述的主控的RIB與FIB的同步是指主控的路由子模塊負責所有路由的信息的維護,相應的路由信息存放在RIB中;而主控上的FIB表只保存用于轉發(fā)的active路由的必要信息,其中每條active路由都有一個和線卡對應的狀態(tài)位以表明該路由是否需要針對特定線卡進行更新;若RIB中當active路由發(fā)生變化,需要通知給主控上的FIB,并做RIB與FIB的同步。
7.根據(jù)權利要求1所述的處理方法,其特征在于所述的主控與線卡的FIB同步主控和線卡的路由同步是指采用單播的方式進行,主要分為主控FIB中變化路由向線卡的檢查以及主控FIB和FIB路由中路由的定期同步檢查。
8.根據(jù)權利要求1所述的處理方法,其特征在于所述的稀疏更新路由的處理技術是指在前一次路由更新后,若在常規(guī)Audit定時器超時以前變化的路由數(shù)目比較少,則直接將路由添加進FIB中而不設更新標志位;同時,該路由也封裝到報文中并加入發(fā)送緩沖隊列,在該定時器超時后,就不用遍歷FIB而直接處理發(fā)送緩沖。
9.根據(jù)權利要求1所述的處理方法,該方法在實施進程中其機制處理過程采用互相排斥的方式進行,其特征在于主控上audit和常規(guī)更新采用互相排斥的方式進行,即一個過程在處理的過程中,抑制另外一個過程的觸發(fā)。
全文摘要
一種分布式路由子系統(tǒng)在IPV6協(xié)議棧的實現(xiàn)方法。該方法內容包括線卡加電向主控板注冊機制、常規(guī)觸發(fā)更新機制、Ack超時重傳機制、Audit同步機制。并且在其Ack超時重傳機制中還涉及稀疏更新路由的處理技術。本發(fā)明在BDCOM現(xiàn)有的路由子系統(tǒng)基礎上,利用主控板的RIB和FIB的同步和主控與線卡的FIB同步的技術手段,改進現(xiàn)有的整個路由子系統(tǒng)的工作方法,實現(xiàn)減少主控與線卡的信息傳輸量,降低主控上CPU的突發(fā)占用率,以此來提高其工作效率。從而解決了由于整個路由子系統(tǒng)只有一個CPU負責路由學習、維護和查找,而導致線卡轉發(fā)IPV6報文時所出現(xiàn)的路由查找等待的問題。
文檔編號H04L29/06GK101064668SQ20061002627
公開日2007年10月31日 申請日期2006年4月29日 優(yōu)先權日2006年4月29日
發(fā)明者汪革, 彭雙庭 申請人:上海博達數(shù)據(jù)通信有限公司