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