專(zhuān)利名稱:基于ospf路由協(xié)議實(shí)現(xiàn)olt語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及PON(Passive Optical Network,無(wú)源光網(wǎng)絡(luò))領(lǐng)域,特別是涉及ー種基于OSPF (Open Shortest Path First,開(kāi)放式最短路徑優(yōu)先)路由協(xié)議實(shí)現(xiàn)OLT (OpticalLine Tterminal,光線路終端)語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng)及方法。
背景技術(shù):
隨著社會(huì)的進(jìn)步和網(wǎng)絡(luò)的發(fā)展,人們對(duì)網(wǎng)絡(luò)的依賴性也越來(lái)越強(qiáng),網(wǎng)絡(luò)的高可靠性需求也表現(xiàn)的越來(lái)越突出,一旦網(wǎng)絡(luò)出現(xiàn)任何故障,將對(duì)人們的正常生活及工作造成不可估量的影響。所以,如何構(gòu)建ー個(gè)安全、穩(wěn)定的網(wǎng)絡(luò)成為運(yùn)營(yíng)商以及設(shè)備商面臨的首要的、關(guān)鍵的問(wèn)題。
網(wǎng)絡(luò)保護(hù)能力是網(wǎng)絡(luò)的自愈特性,具備保護(hù)能力的網(wǎng)絡(luò)在基礎(chǔ)設(shè)施,例如節(jié)點(diǎn)設(shè)備和鏈路等出現(xiàn)故障時(shí),可以不影響或者盡量少地影響網(wǎng)絡(luò)的正常使用和業(yè)務(wù)承載。保護(hù)能力是電信級(jí)以太網(wǎng)非常重要的核心能力,是其所以成為“電信級(jí)”技術(shù)的重要特征。目前在我們的PON網(wǎng)絡(luò)保護(hù)中,主要采用設(shè)備冗余保護(hù),設(shè)備冗余保護(hù)包括傳統(tǒng)的OLT設(shè)備主干光纖冗余保護(hù)、主控盤(pán)冗余保護(hù)、OLT設(shè)備上聯(lián)盤(pán)鏈路聚合保護(hù)、電源設(shè)備冗余保護(hù),而針對(duì)寬帶用戶及承載業(yè)務(wù)的特殊需要,后繼又提出了 OLT設(shè)備雙上聯(lián)保護(hù)的需求。OLT設(shè)備雙上聯(lián)保護(hù)的組網(wǎng)技術(shù)也是目前常用的應(yīng)用組網(wǎng)之一,它能夠在鏈路發(fā)生故障的情況下,通過(guò)主備鏈路的倒換來(lái)提高網(wǎng)絡(luò)的可靠性。正常情況下,流量通過(guò)主鏈路,一旦主用鏈路發(fā)生故障時(shí),及時(shí)將流量切換到備用鏈路,以此來(lái)提高網(wǎng)絡(luò)傳輸?shù)目煽啃浴I暾?qǐng)?zhí)枮?00910130939.9的中國(guó)發(fā)明專(zhuān)利申請(qǐng)《一種電信級(jí)寬帶接入設(shè)備上聯(lián)板卡保護(hù)的方法》,提出了ー種配置簡(jiǎn)單、開(kāi)銷(xiāo)小、幾毫秒就可以實(shí)現(xiàn)快速倒換的方案,這種保護(hù)是鏈路層保護(hù)方式的ー種,它有著諸多優(yōu)勢(shì),但是它只適用于局域網(wǎng)內(nèi)部,是基于OLT作為ー個(gè)ニ層設(shè)備來(lái)實(shí)現(xiàn)的;另一方面,基于以太網(wǎng)層次的保護(hù),需要考慮組網(wǎng)的方式,否則可能會(huì)使上行以太網(wǎng)成環(huán),導(dǎo)致廣播風(fēng)暴。而按照如今的發(fā)展趨勢(shì),OLT更多是作為ー個(gè)三層設(shè)備,傳統(tǒng)的PON系統(tǒng)可以實(shí)現(xiàn)語(yǔ)音業(yè)務(wù),但是無(wú)法在三層設(shè)備上實(shí)現(xiàn)網(wǎng)際間高實(shí)時(shí)性語(yǔ)音業(yè)務(wù)的網(wǎng)絡(luò)保護(hù)倒換,一旦鏈路出現(xiàn)故障,將對(duì)用戶造成極大的影響。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服上述背景技術(shù)的不足,提供一種基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng)及方法,在主用鏈路斷路時(shí),基于IP網(wǎng)絡(luò)層OSPF路由協(xié)議依然可以學(xué)習(xí)到備用鏈路的路由,在網(wǎng)際節(jié)點(diǎn)間對(duì)高實(shí)時(shí)性語(yǔ)音業(yè)務(wù)進(jìn)行快速保護(hù)倒換,最終實(shí)現(xiàn)語(yǔ)音業(yè)務(wù)的雙上聯(lián)保護(hù)。本發(fā)明提供的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),包括與Telnet/Console/網(wǎng)管相連的OLT和遠(yuǎn)端MGC服務(wù)器,還包括三層交換機(jī)A、三層交換機(jī)B和NGN網(wǎng),所述OLT的主控盤(pán)包括CPU和交換芯片,所述CPU包括OSPF模塊和RTM模塊,OLT的兩個(gè)上聯(lián)ロ分別通過(guò)三層交換機(jī)A和三層交換機(jī)B連到NGN網(wǎng),進(jìn)而連到遠(yuǎn)端MGC服務(wù)器,在OLT與MGC服務(wù)器之間形成路徑a和路徑b,在0LT、三層交換機(jī)A和三層交換機(jī)B上分別配置好OSPF協(xié)議,使其運(yùn)行起來(lái),OLT通過(guò)OSPF路由協(xié)議同時(shí)學(xué)到路徑a和路徑b上所有網(wǎng)段的路由,OSPF模塊將其學(xué)到的路由保存在自己的路由表中,并通告給RTM模塊,RTM模塊將這些路由條目收集起來(lái)寫(xiě)入RIB表。在上述技術(shù)方案中,所述OLT的主控盤(pán)的CPU還包括配置適配層、TCP/IP協(xié)議棧、MUX層、三層接ロ建模、交換芯片驅(qū)動(dòng),所述配置適配層中包括與Telnet/Console/網(wǎng)管相連的命令行處理模塊,OSPF模塊分別與命令行處理模塊、TCP/IP協(xié)議棧、RTM模塊交互,TCP/IP協(xié)議棧、RTM模塊、MUX層之間兩兩交互,MUX層還通過(guò)三層接ロ建模與交換芯片驅(qū)動(dòng)交互;交換芯片與交換芯片驅(qū)動(dòng)相連,交換芯片包括ACL模塊、ニ層轉(zhuǎn)發(fā)表和三層轉(zhuǎn)發(fā)表,OSPF模塊向交換芯片中的ACL模塊注冊(cè)■一些協(xié)議報(bào)文的收發(fā)規(guī)則,ACL模塊再將此規(guī)則下發(fā)給交換芯片,交換芯片收到數(shù)據(jù)包后,只將符合規(guī)則的包上送至CPU,不符合規(guī)則的包則丟棄;0SPF模塊通過(guò)與TCP/IP協(xié)議棧和RTM模塊的交互,以及其他底層模塊的輔助,最終實(shí)現(xiàn)OSPF路由的學(xué)習(xí)與管理,并實(shí)現(xiàn)數(shù)據(jù)包的三層轉(zhuǎn)發(fā)。
在上述技術(shù)方案中,所述OSPF模塊包括協(xié)議處理模塊、分別與協(xié)議處理模塊相連的接ロ管理模塊、路由模塊、包處理模塊和命令接ロ模塊,RTM模塊包括接ロ消息處理模塊和動(dòng)態(tài)路由消息處理模塊,其中,OSPF模塊中的接ロ管理模塊與RTM模塊中的接ロ消息處理模塊交互,OSPF模塊中的路由模塊與RTM模塊中的動(dòng)態(tài)路由消息處理模塊交互,OSPF模塊中的包處理模塊與OSPF模塊外部的TCP/IP協(xié)議棧交互,OSPF模塊中的命令接ロ模塊與OSPF模塊外部的命令行/網(wǎng)管通信,以維持OSPF協(xié)議的正常運(yùn)作。在上述技術(shù)方案中,所述OSPF模塊中的接ロ管理模塊對(duì)外與RTM模塊的接ロ消息處理模塊通信,獲取底層接ロ端ロ物理連接狀態(tài)的變化;對(duì)內(nèi)與協(xié)議處理模塊通信,將從底層獲取的接ロ狀態(tài)以相應(yīng)事件的形式上報(bào)給協(xié)議處理模塊的接ロ狀態(tài)機(jī),再由接ロ狀態(tài)機(jī)進(jìn)行狀態(tài)的轉(zhuǎn)移處理。在上述技術(shù)方案中,所述OSPF模塊中的路由模塊對(duì)外與RTM模塊的動(dòng)態(tài)路由消息處理模塊通信,以發(fā)送消息的方式,將路由的増加或者刪除事件告知給RTM模塊,RTM模塊更新它所維護(hù)的RIB表,并運(yùn)用相應(yīng)的算法來(lái)更新操作系統(tǒng)的FIB表,該FIB表是RTM模塊從RIB表中選擇出來(lái)的最佳路由附加上相關(guān)的轉(zhuǎn)發(fā)信息,供TCP/IP協(xié)議棧發(fā)送網(wǎng)絡(luò)包;最后更新交換芯片高速緩存中的FIB表,最終實(shí)現(xiàn)軟件路由和硬件路由的同步;路由模塊對(duì)內(nèi)與協(xié)議處理模塊進(jìn)行通信,協(xié)議處理模塊對(duì)收到的路由進(jìn)行計(jì)算,并將相應(yīng)的結(jié)果傳遞給路由模塊。在上述技術(shù)方案中,所述路由模塊維護(hù)ー個(gè)新路由表和一個(gè)舊路由表,通過(guò)對(duì)比新舊路由表,將新路由表中存在、舊路由表中不存在的路由條目加入舊路由表;對(duì)于新路由表中不存在、舊路由表中存在的路由,設(shè)置相應(yīng)的定時(shí)器,在定時(shí)器超時(shí)之后,將該路由條目從舊路由表中刪除。在上述技術(shù)方案中,所述OSPF模塊中的包處理模塊對(duì)外與TCP/IP協(xié)議棧通信,負(fù)責(zé)接收和發(fā)送OSPF協(xié)議包,通過(guò)與對(duì)端OSPF路由器的報(bào)文交互,學(xué)習(xí)網(wǎng)絡(luò)拓?fù)?,形成自己的鏈路狀態(tài)數(shù)據(jù)庫(kù);包處理模塊對(duì)內(nèi)與協(xié)議處理模塊的鄰居狀態(tài)機(jī)、接ロ狀態(tài)機(jī)通信,鄰居狀態(tài)機(jī)、接ロ狀態(tài)機(jī)均觸發(fā)所述包處理模塊組裝相應(yīng)的OSPF包,并將該包發(fā)送出去;包處理模塊將對(duì)收到的OSPF協(xié)議包進(jìn)行處理,生成相應(yīng)的事件,并觸發(fā)鄰居狀態(tài)機(jī)、接ロ狀態(tài)機(jī)進(jìn)行狀態(tài)轉(zhuǎn)移或者路由重計(jì)算。在上述技術(shù)方案中,所述OSPF協(xié)議包中包括Hello報(bào)文、DD報(bào)文、LSR報(bào)文、LSU報(bào)文、LS ACK報(bào)文,Hello報(bào)文用于建立和維護(hù)鄰居關(guān)系;DD報(bào)文用于描述數(shù)據(jù)庫(kù)的摘要信息;LSR報(bào)文用于請(qǐng)求鄰居的數(shù)據(jù)庫(kù)詳細(xì)信息;LSU報(bào)文用于發(fā)送詳細(xì)鏈路狀態(tài)信息)、LSACK報(bào)文用于確認(rèn)對(duì)方的鏈路狀態(tài)更新消息。在上述技術(shù)方案中,所述OSPF模塊中的命令接ロ模塊對(duì)外接收從命令行處理模塊下發(fā)的配置,或者將設(shè)備當(dāng)前的配置/狀態(tài)上報(bào)給命令行處理模塊,然后再由命令行處理模塊上報(bào)給命令行或者網(wǎng)管;命令接ロ模塊對(duì)內(nèi)與協(xié)議處理模塊通信,向協(xié)議處理模塊輸入ー些設(shè)置參數(shù),或者從協(xié)議處理模塊獲取其當(dāng)前的配置及狀態(tài)信息,從而實(shí)現(xiàn)對(duì)OSPF的管理與控制。在上述技術(shù)方案中,所述RIB表包括三個(gè)子表當(dāng)前激活的路由信息表RIB-active、備用路由信息表RIB-standby、暫時(shí)掛起的路由信息表RIB-pend, RIB-active 表用來(lái)存儲(chǔ)通過(guò)各種協(xié)議學(xué)到的或者其他方式獲得的當(dāng)前激活的路由,該路由被寫(xiě)入到硬件FIB和操作系統(tǒng)的FIB中去,ー個(gè)目的網(wǎng)段只有ー個(gè)active路由;RIB-standby表用來(lái)存儲(chǔ)可達(dá)但不是最優(yōu)路徑的備用路由,只有當(dāng)RIB-active表中的路由不可用吋,RTM模塊才會(huì)在RIB-standby中選擇ー個(gè)最優(yōu)路由將其升為active路由;RIB_pend表用來(lái)存儲(chǔ)由于下ー跳網(wǎng)關(guān)地址不可達(dá)而暫時(shí)掛起的路由,當(dāng)下ー跳網(wǎng)關(guān)地址可達(dá)時(shí),該路由會(huì)被升級(jí)為standby路由或active路由。在上述技術(shù)方案中,所述RTM模塊通過(guò)對(duì)收到的路由條目進(jìn)行判斷,根據(jù)路由條目的不同特性將其寫(xiě)入上述不同的子表中,然后在RIB-active表中選擇最佳路由附上相關(guān)的轉(zhuǎn)發(fā)信息,寫(xiě)入交換芯片的網(wǎng)段路由表中,同時(shí)RTM模塊定時(shí)查詢TCP/IP協(xié)議棧的ARP表,并與自己的主機(jī)路由表進(jìn)行比較,若發(fā)現(xiàn)新的可達(dá)的主機(jī)路由,則將該路由寫(xiě)入硬件主機(jī)路由表中;若發(fā)現(xiàn)有的路由已經(jīng)不存在了,則在自己的主機(jī)路由表中將相應(yīng)路由刪除,并刪除硬件主機(jī)路由表中的該條路由,保證軟件路由與硬件路由的同步、設(shè)備與網(wǎng)絡(luò)變化的同歩;交換芯片中的三層接ロ表、主機(jī)路由表以及網(wǎng)段路由表共同構(gòu)成硬件FIB表,最終實(shí)現(xiàn)業(yè)務(wù)流的三層轉(zhuǎn)發(fā)。在上述技術(shù)方案中,所述OLT還與ONU相連,所述ONU下有兩個(gè)語(yǔ)音用戶c和d,用戶c和用戶d發(fā)送基于IP傳送的控制信令到達(dá)OLT之后,在OLT根據(jù)OSPF學(xué)習(xí)到的路由找到三層交換機(jī)A或者B,三層交換機(jī)再將此報(bào)文經(jīng)NGN承載網(wǎng)傳送到MGC,實(shí)現(xiàn)用戶c和d的注冊(cè),建立一條從用戶c到用戶d之間的雙向通道,按照呼叫流程實(shí)現(xiàn)用戶c和用戶d的語(yǔ)音互通。在上述技術(shù)方案中,所述OLT到MGC服務(wù)器有兩條等價(jià)路徑a和b,0LT中的OSPF模塊同時(shí)學(xué)習(xí)到兩條目的地址相同的等價(jià)路由,OSPF模塊將其學(xué)習(xí)到的兩條等價(jià)路由都告知給RTM模塊,RTM模塊通過(guò)一系列算法對(duì)兩條等價(jià)路由進(jìn)行過(guò)濾與選擇。在上述技術(shù)方案中,所述RTM模塊通過(guò)一系列算法對(duì)兩條等價(jià)路由進(jìn)行過(guò)濾與選擇的過(guò)程如下若OSPF模塊先學(xué)到路徑a的路由,則將該條路由寫(xiě)入路由表,并通告給RTM模塊,RTM模塊收到該路由后,查詢自己的路由表,發(fā)現(xiàn)該路由之前并不存在,于是將其寫(xiě)入RIB表,并同時(shí)更新操作系統(tǒng)中的FIB表和交換芯片的FIB表;當(dāng)OSPF學(xué)習(xí)到路徑b的路由之后,該路由同樣被寫(xiě)入OSPF模塊自己保存的路由表中,此時(shí)路徑a的路由和路徑b的路由等價(jià),OSPF模塊將路徑b的路由通告給RTM模塊之后,RTM模塊按照自己的算法對(duì)路徑b的路由進(jìn)行處理?;谏鲜鱿到y(tǒng),本發(fā)明還提供一種基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,所述RTM模塊對(duì)等價(jià)路由的處理包括以下步驟RTM模塊收到OSPF模塊發(fā)來(lái)的路徑b的路由條目的寫(xiě)入消息;RTM模塊判定該路由條目中目的IP地址和掩碼與其RIB表中已經(jīng)存在的路由條目中目的IP地址和掩碼相同,且已經(jīng)存在狀態(tài)為激活的路由條目吋,RTM模塊查詢操作系統(tǒng)的ARP表;RTM模塊判定當(dāng)前路由的下一跳網(wǎng)關(guān)地址在ARP表中時(shí),將寫(xiě)入路由的下一跳網(wǎng)關(guān)地址與當(dāng)前路由進(jìn)行比較;RTM模塊判定寫(xiě)入路由的下一跳網(wǎng)關(guān)地址與當(dāng)前激活路由的網(wǎng)關(guān)不同,且當(dāng)前寫(xiě)入的路由并非更優(yōu)吋,RTM模塊將寫(xiě)入的路由條目設(shè)置為備用狀態(tài),并寫(xiě)入RIB-Standby表中。在上述技術(shù)方案中,所述RTM模塊對(duì)等價(jià)路由的處理還包括以下步驟所述RTM模塊判定該路由條目中目的IP地址和掩碼與其RIB表中已經(jīng)存在的路由條目中目的IP地址和掩碼相同,且不存在狀態(tài)為激活的路由條目時(shí),根據(jù)下ー跳網(wǎng)關(guān)地址是否存在于操作系 統(tǒng)的ARP表中來(lái)做不同處理。在上述技術(shù)方案中,所述RTM模塊對(duì)等價(jià)路由的處理還包括以下步驟所述RTM模塊判定該路由條目中目的IP地址和掩碼與其RIB表中已經(jīng)存在的路由條目中目的IP地址和掩碼不同時(shí),根據(jù)下ー跳網(wǎng)關(guān)地址是否存在于操作系統(tǒng)的ARP表中來(lái)做不同處理。在上述技術(shù)方案中,所述RTM模塊對(duì)等價(jià)路由的處理還包括以下步驟所述RTM模塊判定當(dāng)前路由的下ー跳網(wǎng)關(guān)地址不在ARP表中時(shí),將寫(xiě)入的路由條目狀態(tài)置為掛起狀態(tài),并與入RIB表。在上述技術(shù)方案中,所述RTM模塊對(duì)等價(jià)路由的處理還包括以下步驟所述RTM豐旲塊判定當(dāng)如路由的下一跳網(wǎng)關(guān)地址在ARP表中,且與入路由的下一跳網(wǎng)關(guān)地址與當(dāng)illactive路由的網(wǎng)關(guān)相同時(shí),將與入的路由條目狀態(tài)直為掛起狀態(tài),并與入RIB表。在上述技術(shù)方案中,述RTM模塊對(duì)等價(jià)路由的處理還包括以下步驟所述RTM模塊判定寫(xiě)入路由的下一跳網(wǎng)關(guān)地址與當(dāng)前激活路由的網(wǎng)關(guān)不同,且當(dāng)前寫(xiě)入的路由更優(yōu)時(shí),將寫(xiě)入的路由條目狀態(tài)置為激活狀態(tài)寫(xiě)入到RIB表,并將當(dāng)前激活的路由條目狀態(tài)置為備用狀態(tài)。在上述技術(shù)方案中,還包括以下步驟將當(dāng)前激活的路由條目狀態(tài)置為備用狀態(tài)后,在操作系統(tǒng)的表中刪除原來(lái)激活的路由,將當(dāng)前寫(xiě)入的路由寫(xiě)入操作系統(tǒng)的FIB表。在上述技術(shù)方案中,還包括以下步驟將當(dāng)前寫(xiě)入的路由寫(xiě)入操作系統(tǒng)的FIB表后,在交換芯片中刪除原激活的路由,將當(dāng)前寫(xiě)入的路由寫(xiě)入交換芯片的FIB表中。在上述技術(shù)方案中,還包括以下步驟在主用鏈路斷路時(shí),高實(shí)時(shí)性語(yǔ)音業(yè)務(wù)的保護(hù)倒換的實(shí)現(xiàn)為OSPF重新學(xué)習(xí)路由、及RTM模塊重新寫(xiě)RIB表的過(guò)程。在上述技術(shù)方案中,所述高實(shí)時(shí)性語(yǔ)音業(yè)務(wù)的保護(hù)倒換的實(shí)現(xiàn)包括以下步驟若路徑a的鏈路斷路,OSPF模塊感知到網(wǎng)絡(luò)拓?fù)浒l(fā)生了變化,立即重新學(xué)習(xí)網(wǎng)絡(luò)拓?fù)洌⒆约褐氨4娴穆酚杀砣坎脸缓髮⑿聦W(xué)到的路由寫(xiě)入自己的路由表,并通告給RTM模塊;RTM模塊將之前的RIB表全部擦除,根據(jù)新通告的路由重新寫(xiě)RIB表,這時(shí)路徑b的路由則成為active路由被寫(xiě)入RIB-active表,進(jìn)而寫(xiě)到操作系統(tǒng)的FIB表和交換芯片的FIB表,實(shí)現(xiàn)三層業(yè)務(wù)流在路徑b上轉(zhuǎn)發(fā)。
在上述技術(shù)方案中,所述路由條目的寫(xiě)入消息包括靜態(tài)路由和動(dòng)態(tài)路由。在上述技術(shù)方案中,所述RTM模塊通過(guò)比較跳數(shù)來(lái)判斷當(dāng)前寫(xiě)入的路由是否更優(yōu)。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)如下本發(fā)明一方面利用特有的等值多路徑路由學(xué)習(xí)特性,在OLT上實(shí)現(xiàn)OSPF協(xié)議,另一方面采用特定的組網(wǎng)形式,在源和目的地間建立兩條等價(jià)路徑,不需要關(guān)心ニ層鏈路,也不需要關(guān)心中間經(jīng)過(guò)多少級(jí)交換/傳輸設(shè)備,在主用鏈路斷路時(shí),基于IP網(wǎng)絡(luò)層OSPF路由協(xié)議依然可以學(xué)習(xí)到備用鏈路的路由,在網(wǎng)際節(jié)點(diǎn)間對(duì)高實(shí)時(shí)性語(yǔ)音業(yè)務(wù)進(jìn)行快速保護(hù)倒換,最終實(shí)現(xiàn)語(yǔ)音業(yè)務(wù)的雙上聯(lián)保護(hù)。當(dāng)然,如果不考慮等價(jià)因素,同樣也可以根據(jù)需要,采取多上聯(lián)保護(hù)。·
圖I是帶OSPF功能的OLT主控盤(pán)系統(tǒng)的軟件架構(gòu)圖。圖2是本發(fā)明實(shí)施例中基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng)的結(jié)構(gòu)框圖。圖3是本發(fā)明實(shí)施例中OSPF雙上聯(lián)保護(hù)的組網(wǎng)結(jié)構(gòu)示意圖。圖4是本發(fā)明實(shí)施例中RTM模塊對(duì)等價(jià)路由的處理流程圖。
具體實(shí)施例方式下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)ー步的詳細(xì)描述。本發(fā)明實(shí)施例的關(guān)鍵是在OLT上實(shí)現(xiàn)OSPF路由協(xié)議和雙上聯(lián)的特殊組網(wǎng)方式,從而實(shí)現(xiàn)對(duì)實(shí)時(shí)語(yǔ)音業(yè)務(wù)的保護(hù)。OSPF是ー種鏈路狀態(tài)路由協(xié)議,它被設(shè)計(jì)用于單ー的AS (Autonomous System,自治系統(tǒng))。每ー個(gè)OSPF路由器都維持著相同的數(shù)據(jù)庫(kù)以描述AS的拓?fù)浣Y(jié)構(gòu),并以此數(shù)據(jù)庫(kù)來(lái)創(chuàng)建最短路徑樹(shù)并計(jì)算路由表。當(dāng)OSPF發(fā)現(xiàn)拓?fù)涓淖兒螅瑑H利用很少的路由流量就可以快速重新計(jì)算出新的路徑。OSPF提供等值多路徑路由的學(xué)習(xí)與計(jì)算功能。通過(guò)提供區(qū)域路徑,來(lái)提供額外的路徑保護(hù),并可以減少協(xié)議所需要的流量。此外,所有OSPF路由信息交換都經(jīng)過(guò)驗(yàn)證,因此更加提高了安全性。要在PON系統(tǒng)中實(shí)現(xiàn)OSPF雙上聯(lián)進(jìn)而實(shí)現(xiàn)對(duì)語(yǔ)音業(yè)務(wù)的實(shí)時(shí)保護(hù),那么首先必須要在OLT上實(shí)現(xiàn)OSPF協(xié)議。參見(jiàn)圖I所示,本發(fā)明實(shí)施例提供一種基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),包括與Telnet(遠(yuǎn)程登錄服務(wù)VConsole (串ロ)/網(wǎng)管相連的0LT,OLT的主控盤(pán)包括CPU (Central Processing Unit,中央處理器)和交換芯片,OSPF模塊的實(shí)現(xiàn)位于OLT主控盤(pán)的CPU中。OLT主控盤(pán)的CPU包括配置適配層、OSPF模塊、TCP/IP (Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議 / 因特網(wǎng)互聯(lián)協(xié)議)協(xié)議棧、RTM (Route Table Manage,路由管理)模塊、MUX (Mut ip lexer,復(fù)用)層、L3Interface (三層接ロ )建模、SDK (Software Development Kit,交換芯片驅(qū)動(dòng)),配置適配層中包括與Telnet/Console/網(wǎng)管相連的命令行處理模塊,OSPF模塊分別與命令行處理模塊、TCP/IP協(xié)議棧、RTM模塊交互,TCP/IP協(xié)議棧、RTM模塊、MUX層之間兩兩交互,MUX層還通過(guò)L3Interface建模與交換芯片驅(qū)動(dòng)交互。交換芯片與交換芯片驅(qū)動(dòng)相連,交換芯片包括ACUAccess Control List,訪問(wèn)控制列表)模塊、ニ層轉(zhuǎn)發(fā)表和三層轉(zhuǎn)發(fā)表。OSPF模塊的實(shí)現(xiàn)建立在OLT三層接ロ的實(shí)現(xiàn)基礎(chǔ)之上,在OLT上通過(guò)建立SVI (Switch Vlan Interface,交換虛擬局域網(wǎng)接ロ),使其可以提供IP (InternetProtocol,因特網(wǎng)互聯(lián)協(xié)議)接ロ配置以及感知端ロ狀態(tài)的能力,在最小改動(dòng)的情況下實(shí)現(xiàn)OLT的三層接ロ。三層接ロ的創(chuàng)建主要在圖I所示的L3Interface建模中實(shí)現(xiàn),在這一層需要實(shí)現(xiàn)END (Enhanced Network Driver,增強(qiáng)型網(wǎng)絡(luò)驅(qū)動(dòng)程序)設(shè)備驅(qū)動(dòng),L3interface建模相當(dāng)于Vxworks ( ー種操作系統(tǒng)的名稱)中的END驅(qū)動(dòng),該END設(shè)備就是為三層接ロ建立報(bào)文的收發(fā)通道,并且掛接到TCP/IP協(xié)議棧上。當(dāng)三層接ロ刪除吋,同時(shí)也需要卸載END設(shè)備。實(shí)現(xiàn)了三層接ロ,同時(shí)也需要在交換芯片驅(qū)動(dòng)中實(shí)現(xiàn)三層方面的驅(qū)動(dòng)功能,OSPF模塊向交換芯片中的ACL模塊注冊(cè)ー些協(xié)議報(bào)文的收發(fā)規(guī)則,ACL模塊再將此規(guī)則下發(fā)給交換芯片,因此交換芯片收到數(shù)據(jù)包后,只將符合規(guī)則的包上送至CPU,不符合規(guī)則的包則丟棄。OSPF模塊通過(guò)與TCP/IP協(xié)議棧和RTM模塊的交互,以及其他底層模塊的輔助,最終實(shí)現(xiàn)OSPF路由的學(xué)習(xí)與管理,并實(shí)現(xiàn)數(shù)據(jù)包的三層轉(zhuǎn)發(fā)。
參見(jiàn)圖2所示,OSPF模塊包括協(xié)議處理模塊、分別與協(xié)議處理模塊相連的接ロ管理模塊、路由模塊、包處理模塊和命令接ロ模塊,RTM模塊包括接ロ消息處理模塊和動(dòng)態(tài)路由消息處理模塊,其中,OSPF模塊中的接ロ管理模塊、路由模塊、包處理模塊、命令接ロ模塊屬于OSPF模塊與其外部交互的模塊,OSPF模塊中的接ロ管理模塊與RTM模塊中的接ロ消息處理模塊交互,OSPF模塊中的路由模塊與RTM模塊中的動(dòng)態(tài)路由消息處理模塊交互,OSPF模塊中的包處理模塊與OSPF模塊外部的TCP/IP協(xié)議棧交互,OSPF模塊中的命令接ロ模塊與OSPF模塊外部的命令行/網(wǎng)管通信,以維持OSPF協(xié)議的正常運(yùn)作。參見(jiàn)圖2所示,在OSPF模塊中,接ロ管理模塊對(duì)外與RTM模塊的接ロ消息處理模塊通信,獲取底層接ロ Up/Down狀態(tài)(端ロ物理連接狀態(tài))的變化;對(duì)內(nèi)與協(xié)議處理模塊通信,將從底層獲取的接ロ狀態(tài)以相應(yīng)事件的形式上報(bào)給協(xié)議處理模塊的接ロ狀態(tài)機(jī),再由接ロ狀態(tài)機(jī)進(jìn)行狀態(tài)的轉(zhuǎn)移處理。參見(jiàn)圖2所示,在OSPF模塊中,路由模塊對(duì)外與RTM模塊的動(dòng)態(tài)路由消息處理模塊通信,以發(fā)送消息的方式,將路由的増加或者刪除事件告知給RTM模塊,RTM模塊因此更新它所維護(hù)的RIB (Routing Information Base,路由信息表)表,并運(yùn)用相應(yīng)的算法來(lái)更新操作系統(tǒng)的FIB (Forwarding Information Base,轉(zhuǎn)發(fā)信息表)表,該FIB表是RTM模塊從RIB表中選擇出來(lái)的最佳路由附加上相關(guān)的轉(zhuǎn)發(fā)信息,如下一跳地址、出接ロ信息等結(jié)合在一起的轉(zhuǎn)發(fā)信息表,供TCP/IP協(xié)議棧發(fā)送網(wǎng)絡(luò)包;最后更新交換芯片高速緩存中的FIB表,最終實(shí)現(xiàn)軟件路由和硬件路由的同歩。路由模塊對(duì)內(nèi)與協(xié)議處理模塊進(jìn)行通信,協(xié)議處理模塊對(duì)收到的路由進(jìn)行計(jì)算,并將相應(yīng)的結(jié)果傳遞給路由模塊。路由模塊需要維護(hù)兩個(gè)路由表,ー個(gè)是新路由表,ー個(gè)是舊路由表,通過(guò)對(duì)比新舊路由表,將新路由表中存在、舊路由表中不存在的路由條目加入舊路由表;對(duì)于新路由表中不存在、舊路由表中存在的路由,設(shè)置相應(yīng)的定時(shí)器,在定時(shí)器超時(shí)之后,將該路由條目從舊路由表中刪除。參見(jiàn)圖2所示,在OSPF模塊中,包處理模塊對(duì)外與TCP/IP協(xié)議棧通信,負(fù)責(zé)接收和發(fā)送OSPF協(xié)議包,通過(guò)與對(duì)端OSPF路由器的報(bào)文交互,學(xué)習(xí)網(wǎng)絡(luò)拓?fù)?,形成自己的鏈路狀態(tài)數(shù)據(jù)庫(kù)。OSPF協(xié)議包中包括Hello報(bào)文(握手報(bào)文)、DD(Database Description,數(shù)據(jù)庫(kù)摘要)報(bào)文、LSR(Link State Request,鏈路狀態(tài)請(qǐng)求)報(bào)文、LSU(Link State Update,鏈路狀態(tài)更新)報(bào)文、LS ACK (Link State Acknowledgement,鏈路狀態(tài)確認(rèn))報(bào)文,Hello報(bào)文用于建立和維護(hù)鄰居關(guān)系;DD報(bào)文用于描述數(shù)據(jù)庫(kù)的摘要信息;LSR報(bào)文用于請(qǐng)求鄰居的數(shù)據(jù)庫(kù)詳細(xì)信息;LSU報(bào)文用于發(fā)送詳細(xì)鏈路狀態(tài)信息)、LS_ACK報(bào)文用于確認(rèn)對(duì)方的鏈路狀態(tài)更新消息。包處理模塊對(duì)內(nèi)與協(xié)議處理模塊的鄰居狀態(tài)機(jī)、接ロ狀態(tài)機(jī)通信,一方面,鄰居狀態(tài)機(jī)、接ロ狀態(tài)機(jī)均觸發(fā)該包處理模塊組裝相應(yīng)的OSPF包,并將該包發(fā)送出去;另一方面,包處理模塊將對(duì)收到的OSPF協(xié)議包進(jìn)行處理,生成相應(yīng)的事件,并觸發(fā)鄰居狀態(tài)機(jī)、接ロ狀態(tài)機(jī)進(jìn)行狀態(tài)轉(zhuǎn)移或者路由重計(jì)算等。參見(jiàn)圖2所示,在OSPF模塊中,命令接ロ模塊對(duì)外接收從命令行處理模塊下發(fā)的配置,或者將設(shè)備當(dāng)前的配置/狀態(tài)上報(bào)給命令行處理模塊,然后再由命令行處理模塊上報(bào)給命令行或者網(wǎng)管;命令接ロ模塊對(duì)內(nèi)與協(xié)議處理模塊通信,向協(xié)議處理模塊輸入ー些設(shè)置參數(shù),或者從協(xié)議處理模塊獲取其當(dāng)前的配置及狀態(tài)信息,從而實(shí)現(xiàn)對(duì)OSPF的管理與 控制。在OLT中實(shí)現(xiàn)了 OSPF模塊,并利用它的等值多路徑的特性,設(shè)計(jì)了圖3所示的OSPF雙上聯(lián)組網(wǎng),實(shí)現(xiàn)語(yǔ)音業(yè)務(wù)的雙上聯(lián)保護(hù)。參見(jiàn)圖3所示,本發(fā)明實(shí)施例中基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),包括與Telnet/Console/網(wǎng)管相連的0LT、三層交換機(jī)A、三層交換機(jī)B、NGN (NextGeneration Network,下一代網(wǎng)絡(luò))網(wǎng)和 MGC(Media Gateway Controller,媒體網(wǎng)關(guān)控制器)服務(wù)器,OLT的主控盤(pán)包括CPU和交換芯片,其中CPU包括OSPF模塊和RTM模塊,OLT的兩個(gè)上聯(lián)ロ分別通過(guò)三層交換機(jī)A和三層交換機(jī)B連到NGN網(wǎng),進(jìn)而連到遠(yuǎn)端MGC服務(wù)器,在OLT與MGC服務(wù)器之間形成路徑a和路徑b。各設(shè)備的端ロ IP參見(jiàn)圖3所示,在0LT、三層交換機(jī)A和三層交換機(jī)B上分別配置好OSPF協(xié)議,使其運(yùn)行起來(lái)。OLT通過(guò)OSPF路由協(xié)議同時(shí)學(xué)到了路徑a和路徑b上的所有網(wǎng)段,OSPF模塊將其學(xué)到的路由保存在自己的路由表中,并通告給RTM模塊,RTM模塊將這些路由條目收集起來(lái)寫(xiě)入RIB表。RIB 表包括三個(gè)子表RIB-active (Routing Information Base active,當(dāng)前激活的路由信息表)、RIB-standby (Routing Information Base standby,備用路由信息表)以及RIB-pend (Routing Information Base standby,暫時(shí)掛起的路由信息表)表。RIB-active表用來(lái)存儲(chǔ)通過(guò)各種協(xié)議學(xué)到的或者其他方式獲得的當(dāng)前激活的路由,該路由會(huì)被寫(xiě)入到硬件FIB和操作系統(tǒng)的FIB中去,通常ー個(gè)目的網(wǎng)段只有ー個(gè)active路由。RIB-standby表用來(lái)存儲(chǔ)可達(dá)但不是最優(yōu)路徑的備用路由,只有當(dāng)RIB-active表中的路由不可用時(shí),RTM模塊才會(huì)在RIB-standby中選擇ー個(gè)最優(yōu)路由將其升為active (當(dāng)前激活的)路由。RIB-pend表用來(lái)存儲(chǔ)由于下ー跳網(wǎng)關(guān)地址不可達(dá)而暫時(shí)掛起的路由,當(dāng)下一跳網(wǎng)關(guān)地址可達(dá)時(shí),該路由會(huì)被升級(jí)為standby (備用)路由或者是active (當(dāng)前激活的)路由。RTM模塊通過(guò)對(duì)收到的路由條目進(jìn)行判斷,根據(jù)路由條目的不同特性將其寫(xiě)入上述不同的子表中,然后在RIB-active表中選擇最佳路由附上相關(guān)的轉(zhuǎn)發(fā)信息,例如下一條地址、出接ロ名等,寫(xiě)入交換芯片的網(wǎng)段路由表中,同時(shí)RTM模塊也會(huì)定時(shí)去查詢TCP/IP協(xié)議棧的ARP (Address Resolution Protocol,地址解析協(xié)議)表,并與自己的主機(jī)路由表進(jìn)行比較,若發(fā)現(xiàn)新的可達(dá)的主機(jī)路由,則將該路由寫(xiě)入硬件主機(jī)路由表中;若發(fā)現(xiàn)有的路由已經(jīng)不存在了,則在自己的主機(jī)路由表中將相應(yīng)路由刪除,并刪除硬件主機(jī)路由表中的該條路由,保證軟件路由與硬件路由的同步、設(shè)備與網(wǎng)絡(luò)變化的同歩。交換芯片中的三層接ロ表、主機(jī)路由表以及網(wǎng)段路由表共同構(gòu)成硬件FIB表,最終實(shí)現(xiàn)業(yè)務(wù)流的三層轉(zhuǎn)發(fā)。要實(shí)現(xiàn)ONU下掛的用戶之間的語(yǔ)音互通,首先需要語(yǔ)音用戶發(fā)送相應(yīng)的控制信令到MGC去注冊(cè)。參見(jiàn)圖3所示,在OSPF雙上聯(lián)保護(hù)的組網(wǎng)中,與OLT相連的ONU下有兩個(gè)語(yǔ)音用戶c和d,用戶c和用戶d要實(shí)現(xiàn)語(yǔ)音通話,首先都需要注冊(cè)到MGC,通過(guò)MGC來(lái)建立一條從用戶c到用戶d之間的雙向通道,向MGC注冊(cè)需要通過(guò)發(fā)送基于IP傳送的控制信令。用戶c和用戶d發(fā)送基于IP傳送的控制信令到達(dá)OLT之后,在OLT根據(jù)OSPF學(xué)習(xí)到的路由找到三層交換機(jī)A或者B,三層交換機(jī)再將此報(bào)文經(jīng)NGN承載網(wǎng)傳送到MGC,實(shí)現(xiàn)用戶c和d的注冊(cè),建立一條從用戶c到用戶d之間的雙向通道。用戶c和用戶d之間的通道一旦建立好之后,按照呼叫流程,即可實(shí)現(xiàn)用戶c和用戶d的語(yǔ)音互通。
參見(jiàn)圖3所示,OLT到MGC服務(wù)器有兩條等價(jià)路徑a和b,由于OSPF具備等值多路徑特性,所以O(shè)LT中的OSPF模塊會(huì)同時(shí)學(xué)習(xí)到兩條等價(jià)路由,目的地址均為10. O. 81. 130/26,所以在OLT中查看OSPF學(xué)習(xí)到的路由表可以看到兩條路徑a和b的路由均被學(xué)到。OSPF會(huì)將其學(xué)習(xí)到的兩條路由都告知給RTM模塊,RTM模塊通過(guò)一系列算法對(duì)兩條等價(jià)路由進(jìn)行過(guò)濾與選擇。假設(shè)OSPF先學(xué)到路徑a的路由,那么該條路由會(huì)被寫(xiě)入自己的路由表,并通告給RTM模塊,RTM模塊收到這條新的路由之后會(huì)去查自己的路由表,發(fā)現(xiàn)該路由之前并不存在,于是將其寫(xiě)入RIB表,并同時(shí)更新操作系統(tǒng)中的FIB表和交換芯片的FIB表。當(dāng)OSPF學(xué)習(xí)到路徑b的路由之后,該路由同樣會(huì)被寫(xiě)入OSPF模塊自己保存的路由表中,但是由于此時(shí)路徑a的路由和路徑b的路由等價(jià),因此當(dāng)OSPF模塊將此路由通告給RTM模塊之后,RTM模塊會(huì)按照自己的算法對(duì)此條路由進(jìn)行處理。參見(jiàn)圖4所示,RTM模塊對(duì)等價(jià)路由的處理流程如下SI、RTM模塊收到OSPF模塊發(fā)來(lái)的路徑b的路由條目的寫(xiě)入消息,包括靜態(tài)路由和動(dòng)態(tài)路由;S2、RTM模塊根據(jù)dest (目的IP地址)和mask (掩碼),判斷該路由條目中目的IP地址和掩碼是否與其RIB表中已經(jīng)存在的路由條目中目的IP地址和掩碼相同,若相同,則轉(zhuǎn)到步驟S3 ;若不相同,則轉(zhuǎn)到步驟S4 ;S3, RTM模塊發(fā)現(xiàn)路徑b的路由條目與a路徑的路由條目中目的IP地址和掩碼均相同,判斷是否已經(jīng)存在狀態(tài)為active(當(dāng)前激活的)的路由條目,若存在,則轉(zhuǎn)到步驟S5 ;若不存在,則轉(zhuǎn)到步驟S4;S4、由于路徑a的路由條目沒(méi)有被設(shè)置成active (當(dāng)前激活的)狀態(tài),因此下一歩需要根據(jù)下ー跳網(wǎng)關(guān)地址是否存在于OS的ARP表中來(lái)做不同處理(按照有網(wǎng)關(guān)和沒(méi)有網(wǎng)關(guān)兩種情況分別進(jìn)行不同處理,此處不屬于本發(fā)明要保護(hù)的內(nèi)容,故不再贅述);S5、由于路徑a的路由條目已被設(shè)置成active (當(dāng)前激活的)狀態(tài),RTM模塊接著查詢OS (Operating System,操作系統(tǒng))的ARP表,判斷當(dāng)前路由的下一跳網(wǎng)關(guān)地址是否在ARP表中,若在,則轉(zhuǎn)到步驟S6 ;若不在,則轉(zhuǎn)到S7 ;S6、由于下ー跳網(wǎng)關(guān)地址10.0. 164. 101存在于當(dāng)前的ARP表中,于是將寫(xiě)入路由的下一跳網(wǎng)關(guān)地址與當(dāng)前路由進(jìn)行比較,判斷寫(xiě)入路由的下一跳網(wǎng)關(guān)地址與當(dāng)前active路由的網(wǎng)關(guān)是否相同,若相同,則轉(zhuǎn)到步驟S7 ;若不相同,則轉(zhuǎn)到步驟S8 ;S7、路徑a路由的網(wǎng)關(guān)是10. O. 164. 97,而路徑b的網(wǎng)關(guān)如果與a相同,則將與入的路由條目的狀態(tài)置為pend(掛起)狀態(tài),并與入RIB表;S8、路徑a路由的網(wǎng)關(guān)是10.0. 164. 97,而路徑b的網(wǎng)關(guān)是10.0. 164. 101,兩者不同,比較跳數(shù)(metric),判斷當(dāng)前寫(xiě)入的路由是否更優(yōu),若是,則轉(zhuǎn)到步驟SlO ;若不是,則轉(zhuǎn)到步驟S9 ;S9、將寫(xiě)入的路由條目狀態(tài)置為standby (備用)狀態(tài)寫(xiě)入到RIB表,即RTM模塊將寫(xiě)入的路由條目設(shè)置為standby狀態(tài)并寫(xiě)入RIB-Standby表中;S10、將寫(xiě)入的路由條目狀態(tài)置為active狀態(tài)寫(xiě)入到RIB表,并將當(dāng)前激活的路徑a的路由條目狀態(tài)置為standby狀態(tài),然后轉(zhuǎn)到步驟Sll ;
·
S11、在OS的表中刪除原來(lái)激活的路徑a的路由,將當(dāng)前寫(xiě)入的路徑b的路由寫(xiě)入OS的FIB表,轉(zhuǎn)到步驟S12 ;S12、在交換芯片中刪除激活的路徑a的路由,將當(dāng)前寫(xiě)入的路徑b的路由寫(xiě)入交換芯片的FIB表中。由于OSPF的等值多路徑的路由學(xué)習(xí)特性以及RTM模塊的特殊管理機(jī)制,使OSPF雙上聯(lián)實(shí)現(xiàn)了高實(shí)時(shí)性語(yǔ)音業(yè)務(wù)的保護(hù)倒換。在主用鏈路斷路時(shí),高實(shí)時(shí)性語(yǔ)音業(yè)務(wù)的保護(hù)倒換的實(shí)現(xiàn)過(guò)程即OSPF重新學(xué)習(xí)路由的過(guò)程、及RTM模塊重新寫(xiě)RIB表的過(guò)程。假設(shè)圖3中的路徑a的鏈路斷路,那么OSPF模塊感知到網(wǎng)絡(luò)拓?fù)浒l(fā)生了變化,會(huì)立即重新學(xué)習(xí)網(wǎng)絡(luò)拓?fù)?,并將自己之前保存的路由表全部擦除,然后將新學(xué)到的路由寫(xiě)入自己的路由表,并通告給RTM模塊,RTM模塊也會(huì)將之前的RIB表全部擦除,根據(jù)新通告的路由重新寫(xiě)RIB表,這個(gè)時(shí)候路徑b的路由則成為active路由被寫(xiě)入RIB-active表,進(jìn)而寫(xiě)到OS的FIB表和交換芯片的FIB表,因此實(shí)現(xiàn)三層業(yè)務(wù)流在路徑b上轉(zhuǎn)發(fā)。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明包含這些改動(dòng)和變型在內(nèi)。本說(shuō)明書(shū)中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技木。
權(quán)利要求
1.一種基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),包括與Telnet/Console/網(wǎng)管相連的OLT和遠(yuǎn)端MGC服務(wù)器,其特征在于還包括三層交換機(jī)A、三層交換機(jī)B和NGN網(wǎng),所述OLT的主控盤(pán)包括CPU和交換芯片,所述CPU包括OSPF模塊和RTM模塊,OLT的兩個(gè)上聯(lián)口分別通過(guò)三層交換機(jī)A和三層交換機(jī)B連到NGN網(wǎng),進(jìn)而連到遠(yuǎn)端MGC服務(wù)器,在OLT與MGC服務(wù)器之間形成路徑a和路徑b,在0LT、三層交換機(jī)A和三層交換機(jī)B上分別配置好OSPF協(xié)議,使其運(yùn)行起來(lái),OLT通過(guò)OSPF路由協(xié)議同時(shí)學(xué)到路徑a和路徑b上所有網(wǎng)段的路由,OSPF模塊將其學(xué)到的路由保存在自己的路由表中,并通告給RTM模塊,RTM模塊將這些路由條目收集起來(lái)寫(xiě)入RIB表。
2.如權(quán)利要求I所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述OLT的主控盤(pán)的CPU還包括配置適配層、TCP/IP協(xié)議棧、MUX層、三層接口建模、交換芯片驅(qū)動(dòng),所述配置適配層中包括與Telnet/Console/網(wǎng)管相連的命令行處理模塊,OSPF模塊分別與命令行處理模塊、TCP/IP協(xié)議棧、RTM模塊交互,TCP/IP協(xié)議棧、RTM模塊、MUX層之間兩兩交互,MUX層還通過(guò)三層接口建模與交換芯片驅(qū)動(dòng)交互;交換芯片與交換芯片驅(qū)動(dòng)相連,交換芯片包括ACL模塊、二層轉(zhuǎn)發(fā)表和三層轉(zhuǎn)發(fā)表,OSPF模塊向交換芯片中的 ACL模塊注冊(cè)一些協(xié)議報(bào)文的收發(fā)規(guī)則,ACL模塊再將此規(guī)則下發(fā)給交換芯片,交換芯片收到數(shù)據(jù)包后,只將符合規(guī)則的包上送至CPU,不符合規(guī)則的包則丟棄;0SPF模塊通過(guò)與TCP/IP協(xié)議棧和RTM模塊的交互,以及其他底層模塊的輔助,最終實(shí)現(xiàn)OSPF路由的學(xué)習(xí)與管理,并實(shí)現(xiàn)數(shù)據(jù)包的三層轉(zhuǎn)發(fā)。
3.如權(quán)利要求2所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述OSPF模塊包括協(xié)議處理模塊、分別與協(xié)議處理模塊相連的接口管理模塊、路由模塊、包處理模塊和命令接口模塊,RTM模塊包括接口消息處理模塊和動(dòng)態(tài)路由消息處理模塊,其中,OSPF模塊中的接口管理模塊與RTM模塊中的接口消息處理模塊交互,OSPF模塊中的路由模塊與RTM模塊中的動(dòng)態(tài)路由消息處理模塊交互,OSPF模塊中的包處理模塊與OSPF模塊外部的TCP/IP協(xié)議棧交互,OSPF模塊中的命令接口模塊與OSPF模塊外部的命令行/網(wǎng)管通信,以維持OSPF協(xié)議的正常運(yùn)作。
4.如權(quán)利要求3所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述OSPF模塊中的接口管理模塊對(duì)外與RTM模塊的接口消息處理模塊通信,獲取底層接口端口物理連接狀態(tài)的變化;對(duì)內(nèi)與協(xié)議處理模塊通信,將從底層獲取的接口狀態(tài)以相應(yīng)事件的形式上報(bào)給協(xié)議處理模塊的接口狀態(tài)機(jī),再由接口狀態(tài)機(jī)進(jìn)行狀態(tài)的轉(zhuǎn)移處理。
5.如權(quán)利要求4所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述OSPF模塊中的路由模塊對(duì)外與RTM模塊的動(dòng)態(tài)路由消息處理模塊通信,以發(fā)送消息的方式,將路由的增加或者刪除事件告知給RTM模塊,RTM模塊更新它所維護(hù)的RIB表,并運(yùn)用相應(yīng)的算法來(lái)更新操作系統(tǒng)的FIB表,該FIB表是RTM模塊從RIB表中選擇出來(lái)的最佳路由附加上相關(guān)的轉(zhuǎn)發(fā)信息,供TCP/IP協(xié)議棧發(fā)送網(wǎng)絡(luò)包;最后更新交換芯片高速緩存中的FIB表,最終實(shí)現(xiàn)軟件路由和硬件路由的同步;路由模塊對(duì)內(nèi)與協(xié)議處理模塊進(jìn)行通信,協(xié)議處理模塊對(duì)收到的路由進(jìn)行計(jì)算,并將相應(yīng)的結(jié)果傳遞給路由模塊。
6.如權(quán)利要求5所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述路由模塊維護(hù)一個(gè)新路由表和一個(gè)舊路由表,通過(guò)對(duì)比新舊路由表,將新路由表中存在、舊路由表中不存在的路由條目加入舊路由表;對(duì)于新路由表中不存在、舊路由表中存在的路由,設(shè)置相應(yīng)的定時(shí)器,在定時(shí)器超時(shí)之后,將該路由條目從舊路由表中刪除。
7.如權(quán)利要求6所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述OSPF模塊中的包處理模塊對(duì)外與TCP/IP協(xié)議棧通信,負(fù)責(zé)接收和發(fā)送OSPF協(xié)議包,通過(guò)與對(duì)端OSPF路由器的報(bào)文交互,學(xué)習(xí)網(wǎng)絡(luò)拓?fù)洌纬勺约旱逆溌窢顟B(tài)數(shù)據(jù)庫(kù);包處理模塊對(duì)內(nèi)與協(xié)議處理模塊的鄰居狀態(tài)機(jī)、接ロ狀態(tài)機(jī)通信,鄰居狀態(tài)機(jī)、接ロ狀態(tài)機(jī)均觸發(fā)所述包處理模塊組裝相應(yīng)的OSPF包,并將該包發(fā)送出去;包處理模塊將對(duì)收到的OSPF協(xié)議包進(jìn)行處理,生成相應(yīng)的事件,并觸發(fā)鄰居狀態(tài)機(jī)、接ロ狀態(tài)機(jī)進(jìn)行狀態(tài)轉(zhuǎn)移或者路由重計(jì)算。
8.如權(quán)利要求7所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述OSPF協(xié)議包中包括Hello報(bào)文、DD報(bào)文、LSR報(bào)文、LSU報(bào)文、LS_ACK報(bào)文,Hello報(bào)文用于建立和維護(hù)鄰居關(guān)系;DD報(bào)文用于描述數(shù)據(jù)庫(kù)的摘要信息;LSR報(bào)文用于請(qǐng)求鄰居的數(shù)據(jù)庫(kù)詳細(xì)信息;LSU報(bào)文用于發(fā)送詳細(xì)鏈路狀態(tài)信息)、LS_ACK報(bào)文用于確認(rèn)對(duì)方的 鏈路狀態(tài)更新消息。
9.如權(quán)利要求8所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述OSPF模塊中的命令接ロ模塊對(duì)外接收從命令行處理模塊下發(fā)的配置,或者將設(shè)備當(dāng)前的配置/狀態(tài)上報(bào)給命令行處理模塊,然后再由命令行處理模塊上報(bào)給命令行或者網(wǎng)管;命令接ロ模塊對(duì)內(nèi)與協(xié)議處理模塊通信,向協(xié)議處理模塊輸入ー些設(shè)置參數(shù),或者從協(xié)議處理模塊獲取其當(dāng)前的配置及狀態(tài)信息,從而實(shí)現(xiàn)對(duì)OSPF的管理與控制。
10.如權(quán)利要求9所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述RIB表包括三個(gè)子表當(dāng)前激活的路由信息表RIB-active、備用路由信息表RIB-standby、暫時(shí)掛起的路由信息表RIB-pend,RIB-active表用來(lái)存儲(chǔ)通過(guò)各種協(xié)議學(xué)到的或者其他方式獲得的當(dāng)前激活的路由,該路由被寫(xiě)入到硬件FIB和操作系統(tǒng)的FIB中去,ー個(gè)目的網(wǎng)段只有ー個(gè)active路由;RIB_standby表用來(lái)存儲(chǔ)可達(dá)但不是最優(yōu)路徑的備用路由,只有當(dāng)RIB-active表中的路由不可用時(shí),RTM模塊才會(huì)在RIB-standby中選擇一個(gè)最優(yōu)路由將其升為active路由;RIB_pend表用來(lái)存儲(chǔ)由于下ー跳網(wǎng)關(guān)地址不可達(dá)而暫時(shí)掛起的路由,當(dāng)下ー跳網(wǎng)關(guān)地址可達(dá)時(shí),該路由會(huì)被升級(jí)為standby路由或active路由。
11.如權(quán)利要求10所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述RTM模塊通過(guò)對(duì)收到的路由條目進(jìn)行判斷,根據(jù)路由條目的不同特性將其寫(xiě)入上述不同的子表中,然后在RIB-active表中選擇最佳路由附上相關(guān)的轉(zhuǎn)發(fā)信息,寫(xiě)入交換芯片的網(wǎng)段路由表中,同時(shí)RTM模塊定時(shí)查詢TCP/IP協(xié)議棧的ARP表,并與自己的主機(jī)路由表進(jìn)行比較,若發(fā)現(xiàn)新的可達(dá)的主機(jī)路由,則將該路由寫(xiě)入硬件主機(jī)路由表中;若發(fā)現(xiàn)有的路由已經(jīng)不存在了,則在自己的主機(jī)路由表中將相應(yīng)路由刪除,并刪除硬件主機(jī)路由表中的該條路由,保證軟件路由與硬件路由的同步、設(shè)備與網(wǎng)絡(luò)變化的同步;交換芯片中的三層接ロ表、主機(jī)路由表以及網(wǎng)段路由表共同構(gòu)成硬件FIB表,最終實(shí)現(xiàn)業(yè)務(wù)流的三層轉(zhuǎn)發(fā)。
12.如權(quán)利要求11所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述OLT還與ONU相連,所述ONU下有兩個(gè)語(yǔ)音用戶c和d,用戶c和用戶d發(fā)送基于IP傳送的控制信令到達(dá)OLT之后,在OLT根據(jù)OSPF學(xué)習(xí)到的路由找到三層交換機(jī)A或者B,三層交換機(jī)再將此報(bào)文經(jīng)NGN承載網(wǎng)傳送到MGC,實(shí)現(xiàn)用戶c和d的注冊(cè),建立一條從用戶C到用戶d之間的雙向通道,按照呼叫流程實(shí)現(xiàn)用戶C和用戶d的語(yǔ)音互通。
13.如權(quán)利要求12所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述OLT到MGC服務(wù)器有兩條等價(jià)路徑a和b,OLT中的OSPF模塊同時(shí)學(xué)習(xí)到兩條目的地址相同的等價(jià)路由,OSPF模塊將其學(xué)習(xí)到的兩條等價(jià)路由都告知給RTM模塊,RTM模塊通過(guò)一系列算法對(duì)兩條等價(jià)路由進(jìn)行過(guò)濾與選擇。
14.如權(quán)利要求13所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng),其特征在于所述RTM模塊通過(guò)一系列算法對(duì)兩條等價(jià)路由進(jìn)行過(guò)濾與選擇的過(guò)程如下若OSPF模塊先學(xué)到路徑a的路由,則將該條路由寫(xiě)入路由表,并通告給RTM模塊,RTM模塊收到該路由后,查詢自己的路由表,發(fā)現(xiàn)該路由之前并不存在,于是將其寫(xiě)入RIB表,并同時(shí)更新操作系統(tǒng)中的FIB表和交換芯片的FIB表;當(dāng)OSPF學(xué)習(xí)到路徑b的路由之后,該路由同樣被寫(xiě)入OSPF模塊自己保存的路由表中,此時(shí)路徑a的路由和路徑b的路由等價(jià),OSPF模塊將路徑b的路由通告給RTM模塊之后,RTM模塊按照自己的算法對(duì)路徑b的路由進(jìn)行處理。
15.一種在權(quán)利要求14所述系統(tǒng)基礎(chǔ)上的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于,所述RTM模塊對(duì)等價(jià)路由的處理包括以下步驟 RTM模塊收到OSPF模塊發(fā)來(lái)的路徑b的路由條目的寫(xiě)入消息; RTM模塊判定該路由條目中目的IP地址和掩碼與其RIB表中已經(jīng)存在的路由條目中目的IP地址和掩碼相同,且已經(jīng)存在狀態(tài)為激活的路由條目時(shí),RTM模塊查詢操作系統(tǒng)的ARP表; RTM I旲塊判定當(dāng)如路由的下一跳網(wǎng)關(guān)地址在ARP表中時(shí),將與入路由的下一跳網(wǎng)關(guān)地址與當(dāng)前路由進(jìn)行比較; RTM模塊判定寫(xiě)入路由的下一跳網(wǎng)關(guān)地址與當(dāng)前激活路由的網(wǎng)關(guān)不同,且當(dāng)前寫(xiě)入的路由并非更優(yōu)時(shí),RTM模塊將寫(xiě)入的路由條目設(shè)置為備用狀態(tài),并寫(xiě)入RIB-Standby表中。
16.如權(quán)利要求15所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于,所述RTM模塊對(duì)等價(jià)路由的處理還包括以下步驟所述RTM模塊判定該路由條目中目的IP地址和掩碼與其RIB表中已經(jīng)存在的路由條目中目的IP地址和掩碼相同,且不存在狀態(tài)為激活的路由條目時(shí),根據(jù)下一跳網(wǎng)關(guān)地址是否存在于操作系統(tǒng)的ARP表中來(lái)做不同處理。
17.如權(quán)利要求15所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于,所述RTM模塊對(duì)等價(jià)路由的處理還包括以下步驟所述RTM模塊判定該路由條目中目的IP地址和掩碼與其RIB表中已經(jīng)存在的路由條目中目的IP地址和掩碼不同時(shí),根據(jù)下一跳網(wǎng)關(guān)地址是否存在于操作系統(tǒng)的ARP表中來(lái)做不同處理。
18.如權(quán)利要求15所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于,所述RTM模塊對(duì)等價(jià)路由的處理還包括以下步驟所述RTM模塊判定當(dāng)前路由的下一跳網(wǎng)關(guān)地址不在ARP表中時(shí),將與入的路由條目狀態(tài)直為掛起狀態(tài),并與入RIB表。
19.如權(quán)利要求15所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于,所述RTM模塊對(duì)等價(jià)路由的處理還包括以下步驟所述RTM模塊判定當(dāng)前路由的下一跳網(wǎng)關(guān)地址在ARP表中,且與入路由的下一跳網(wǎng)關(guān)地址與當(dāng)如active路由的網(wǎng)關(guān)相同時(shí),將寫(xiě)入的路由條目狀態(tài)置為掛起狀態(tài),并寫(xiě)入RIB表。
20.如權(quán)利要求15所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于,所述RTM模塊對(duì)等價(jià)路由的處理還包括以下步驟所述RTM模塊判定寫(xiě)入路由的下一跳網(wǎng)關(guān)地址與當(dāng)前激活路由的網(wǎng)關(guān)不同,且當(dāng)前寫(xiě)入的路由更優(yōu)時(shí),將寫(xiě)入的路由條目狀態(tài)置為激活狀態(tài)寫(xiě)入到RIB表,并將當(dāng)前激活的路由條目狀態(tài)置為備用狀態(tài)。
21.如權(quán)利要求20所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于,還包括以下步驟將當(dāng)前激活的路由條目狀態(tài)置為備用狀態(tài)后,在操作系統(tǒng)的表中刪除原來(lái)激活的路由,將當(dāng)前寫(xiě)入的路由寫(xiě)入操作系統(tǒng)的FIB表。
22.如權(quán)利要求21所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于,還包括以下步驟將當(dāng)前寫(xiě)入的路由寫(xiě)入操作系統(tǒng)的FIB表后,在交換芯片中刪除原激活的路由,將當(dāng)前寫(xiě)入的路由寫(xiě)入交換芯片的FIB表中。
23.如權(quán)利要求15所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于,還包括以下步驟在主用鏈路斷路時(shí),高實(shí)時(shí)性語(yǔ)音業(yè)務(wù)的保護(hù)倒換的實(shí)現(xiàn)為OSPF重新學(xué)習(xí)路由、及RTM模塊重新寫(xiě)RIB表的過(guò)程。
24.如權(quán)利要求23所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于,所述高實(shí)時(shí)性語(yǔ)音業(yè)務(wù)的保護(hù)倒換的實(shí)現(xiàn)包括以下步驟 若路徑a的鏈路斷路,OSPF模塊感知到網(wǎng)絡(luò)拓?fù)浒l(fā)生了變化,立即重新學(xué)習(xí)網(wǎng)絡(luò)拓?fù)?,并將自己之前保存的路由表全部擦除,然后將新學(xué)到的路由寫(xiě)入自己的路由表,并通告給RTM模塊; RTM模塊將之前的RIB表全部擦除,根據(jù)新通告的路由重新寫(xiě)RIB表,這時(shí)路徑b的路由則成為active路由被寫(xiě)入RIB-active表,進(jìn)而寫(xiě)到操作系統(tǒng)的FIB表和交換芯片的FIB表,實(shí)現(xiàn)三層業(yè)務(wù)流在路徑b上轉(zhuǎn)發(fā)。
25.如權(quán)利要求15至24中任一項(xiàng)所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于所述路由條目的寫(xiě)入消息包括靜態(tài)路由和動(dòng)態(tài)路由。
26.如權(quán)利要求15至24中任一項(xiàng)所述的基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的方法,其特征在于所述RTM模塊通過(guò)比較跳數(shù)來(lái)判斷當(dāng)前寫(xiě)入的路由是否更優(yōu)。
全文摘要
本發(fā)明公開(kāi)了一種基于OSPF路由協(xié)議實(shí)現(xiàn)OLT語(yǔ)音雙上聯(lián)保護(hù)的系統(tǒng)及方法,涉及PON領(lǐng)域,該系統(tǒng)中OLT主控盤(pán)的CPU包括OSPF模塊和RTM模塊,OLT的兩個(gè)上聯(lián)口分別通過(guò)三層交換機(jī)A和B連到NGN網(wǎng),進(jìn)而連到遠(yuǎn)端MGC服務(wù)器,OLT與MGC服務(wù)器之間形成路徑a和b,在OLT、三層交換機(jī)A和B上分別配置OSPF協(xié)議并運(yùn)行起來(lái),OLT通過(guò)OSPF路由協(xié)議學(xué)到路徑a和b上所有網(wǎng)段的路由,OSPF模塊將學(xué)到的路由保存在自己的路由表中,通告給RTM模塊,RTM模塊將這些路由條目收集起來(lái)寫(xiě)入RIB表。主用鏈路斷路時(shí),OSPF路由協(xié)議學(xué)習(xí)到備用鏈路的路由,在網(wǎng)際節(jié)點(diǎn)間對(duì)高實(shí)時(shí)性語(yǔ)音業(yè)務(wù)進(jìn)行快速保護(hù)倒換。
文檔編號(hào)H04L12/711GK102857422SQ20121033684
公開(kāi)日2013年1月2日 申請(qǐng)日期2012年9月13日 優(yōu)先權(quán)日2012年9月13日
發(fā)明者張櫻子, 強(qiáng)亮, 張亮, 張馳 申請(qǐng)人:烽火通信科技股份有限公司