• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種分布式ACR中PPPoE快速轉(zhuǎn)發(fā)的實(shí)現(xiàn)

      2014-02-28 06:17:36王高偉張吉興肖志輝陳一山
      電信科學(xué) 2014年3期
      關(guān)鍵詞:表項(xiàng)以太報(bào)文

      王高偉,張吉興,肖志輝,,陳一山

      (1.西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院 成都610031;2.電子科技大學(xué)通信與信息工程學(xué)院 成都611731;3.邁普通信技術(shù)股份有限公司 成都610041)

      1 引言

      隨著高清在線視頻業(yè)務(wù)為代表的高帶寬業(yè)務(wù)的不斷發(fā)展,高帶寬業(yè)務(wù)成為當(dāng)前互聯(lián)網(wǎng)發(fā)展過(guò)程中的一個(gè)重要特點(diǎn)。為了吸引用戶并提升用戶黏性,網(wǎng)絡(luò)業(yè)務(wù)提供者都致力于不斷提升用戶的感官體驗(yàn),因此從長(zhǎng)期趨勢(shì)來(lái)看,用戶對(duì)網(wǎng)絡(luò)帶寬的需求將繼續(xù)呈現(xiàn)爆發(fā)式增長(zhǎng)趨勢(shì)。當(dāng)前網(wǎng)絡(luò)帶寬的提供能力、服務(wù)質(zhì)量保障能力等面臨巨大挑戰(zhàn),網(wǎng)絡(luò)基礎(chǔ)設(shè)施的承載能力必須能夠與實(shí)際相匹配,并且具有足夠的彈性和自適應(yīng)性才能滿足需求環(huán)境的快速發(fā)展。在此背景下,許多的新技術(shù)得以提出和發(fā)展,CDN(content distribution network,內(nèi)容分發(fā)網(wǎng)絡(luò))、網(wǎng)絡(luò)存儲(chǔ)等技術(shù)的實(shí)施一定程度上緩解了現(xiàn)實(shí)壓力,但未能從根本上解決問(wèn)題。三網(wǎng)融合的提出及其實(shí)施,使得IP網(wǎng)的承載能力面臨著更大的挑戰(zhàn),這一點(diǎn)在接入層面體現(xiàn)得更為突出。在融合網(wǎng)絡(luò)環(huán)境中,以高帶寬視頻業(yè)務(wù)為代表的新型業(yè)務(wù)將以更快的速度出現(xiàn),新的更加嚴(yán)峻的帶寬矛盾將很快呈現(xiàn)。然而,傳統(tǒng)的接入網(wǎng)長(zhǎng)期存在接入層級(jí)多、設(shè)備種類多、寬帶提供能力差、維護(hù)管理復(fù)雜等突出問(wèn)題,使得“帶寬不寬”的局面長(zhǎng)期存在。網(wǎng)絡(luò)用戶不得不面對(duì)上網(wǎng)體驗(yàn)差、網(wǎng)絡(luò)故障頻發(fā)的無(wú)奈局面,而網(wǎng)絡(luò)運(yùn)營(yíng)商面臨著設(shè)備更新?lián)Q代頻繁、用戶投訴多且故障處理效率低的困境。

      在此背景下,源自3Tnet的大規(guī)模接入?yún)R聚路由器(large-scale access convergence router,ACR)[1]具備高帶寬提供能力等特點(diǎn)和優(yōu)勢(shì),成為擺脫上述困擾的優(yōu)先選擇,為三網(wǎng)融合的深度發(fā)展提供了基礎(chǔ)的設(shè)備保障。本文從接入層面上考慮,研究實(shí)現(xiàn)ACR中的PPPoE(PPP over Ethernet,以太網(wǎng)上的點(diǎn)對(duì)點(diǎn)協(xié)議)[2]功能,以大規(guī)模大容量接入為目標(biāo),在分布式路由器上實(shí)現(xiàn)PPPoE接入認(rèn)證。ACR的研究與實(shí)現(xiàn)能有效降低網(wǎng)絡(luò)的異構(gòu)復(fù)雜度,使其用最少的互聯(lián)級(jí)數(shù),達(dá)到降低時(shí)延和抖動(dòng)的目的,用帶有遠(yuǎn)端用戶接口單元,分合路器組成的樹(shù)形分叉地域分布式系統(tǒng)架構(gòu),保證大規(guī)模的用戶接入。在大規(guī)模匯聚接入條件下的交換節(jié)點(diǎn)具有更好的資源共享性和經(jīng)濟(jì)性、更低的用戶平均響應(yīng)時(shí)間,大規(guī)模接入有利于簡(jiǎn)化管理復(fù)雜度,降低運(yùn)營(yíng)成本,使邊緣網(wǎng)絡(luò)到用戶接口的管理一體化。ACR的網(wǎng)絡(luò)位置如圖1所示。

      圖1 ACR的網(wǎng)絡(luò)位置

      2 PPPoE

      在眾多的接入技術(shù)中,把多個(gè)主機(jī)連接到接入設(shè)備的最經(jīng)濟(jì)的方法就是以太網(wǎng),而PPP(point to point protocol,點(diǎn)對(duì)點(diǎn)協(xié)議)[3]可以提供良好的訪問(wèn)控制和計(jì)費(fèi)功能,為了在以太網(wǎng)上利用PPP既有的訪問(wèn)控制和計(jì)費(fèi)功能,于是就產(chǎn)生了在以太網(wǎng)上傳輸PPP報(bào)文的PPPoE。

      PPPoE可以分為3個(gè)階段,發(fā)現(xiàn)階段、會(huì)話階段和終止階段。PPPoE鏈路建立的前兩個(gè)階段如圖2所示。

      圖2 PPPoE鏈路建立報(bào)文交互過(guò)程

      2.1 PPPoE的發(fā)現(xiàn)階段

      PPPoE發(fā)現(xiàn)階段共有4個(gè)部分組成。它們是由4條交互報(bào)文完成。首先,客戶端PC利用廣播發(fā)送一個(gè)PADI報(bào)文(PPPoE active discovery initiation packet),報(bào)文信息包含了告訴對(duì)端其想要獲得的服務(wù)類型。這時(shí),所有的訪問(wèn)集中設(shè)備都會(huì)收到PC端發(fā)來(lái)的PADI報(bào)文,并回復(fù)一個(gè)單播報(bào)文,告知PC端其能夠提供它所要的服務(wù)。復(fù)雜的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)決定了PC會(huì)收到不同訪問(wèn)集中設(shè)備發(fā)來(lái)的PADO報(bào)文(PPPoE active discovery offer packet),此時(shí)PC把最先收到的PADO報(bào)文對(duì)應(yīng)的訪問(wèn)集中設(shè)備作為自己的通信方,并單播發(fā)送一個(gè)PADR報(bào)文 (PPPoE active discovery request packet)。訪問(wèn)集中設(shè)備收到報(bào)文并確定一個(gè)唯一的會(huì)話ID,通過(guò)發(fā)送一個(gè)PADS報(bào)文(PPPoE active discovery session-confirmation packet)把會(huì)話ID發(fā)送給PC,如果沒(méi)有錯(cuò)誤,就進(jìn)入PPPoE的會(huì)話階段。

      2.2 PPPoE會(huì)話階段

      PPPoE會(huì)話階段進(jìn)行PPP的流程,如圖2所示,下文不再贅述。PC與訪問(wèn)集中設(shè)備依據(jù)PPP傳送PPP數(shù)據(jù)報(bào)文,進(jìn)行PPP的各項(xiàng)協(xié)商和數(shù)據(jù)傳輸。在會(huì)話階段傳送的數(shù)據(jù)分組中必須包含發(fā)現(xiàn)階段所確定的會(huì)話ID并保持不變,然后開(kāi)始后續(xù)通信。通常情況下,PPP完成結(jié)束會(huì)話的控制,但在RFC文檔中,定義了一個(gè)PADT報(bào)文(PPPoE active discovery terminate packet)用來(lái)終 止PPPoE會(huì)話,PC或訪問(wèn)集中設(shè)備在PPP會(huì)話開(kāi)始后的任何時(shí)候發(fā)送該報(bào)文都可以結(jié)束會(huì)話。

      2.3 PPPoE終止階段

      PPPoE通信的雙方PC與訪問(wèn)集中設(shè)備會(huì)使用PPP自身提供的PPP終結(jié)報(bào)文來(lái)結(jié)束PPPoE會(huì)話。若不能使用PPP結(jié)束會(huì)話時(shí),可以由PC或訪問(wèn)集中設(shè)備的一方發(fā)送PADT報(bào)文來(lái)實(shí)現(xiàn)。

      3 ACR總體架構(gòu)

      ACR是指同時(shí)具有常規(guī)大容量高性能雙協(xié)議棧核心路由器的寬帶、IPv4/IPv6組網(wǎng)功能和支持業(yè)務(wù)精細(xì)化管理、支持多種接入方式提供分級(jí)可靠QoS保障,實(shí)現(xiàn)極小匯聚層級(jí)的大規(guī)模接入?yún)R聚功能的新型路由交換設(shè)備。因此,功能和性能雙重因素使得它的設(shè)計(jì)非常復(fù)雜。

      在復(fù)雜繁多的路由器體系標(biāo)準(zhǔn)下,IETF提出標(biāo)準(zhǔn)的ForCES[4](轉(zhuǎn)發(fā)與控制線分離協(xié)議)具有獨(dú)到的觀點(diǎn),倍受許多專家和學(xué)者推崇。本文研究的ACR便是基于ForCES體系實(shí)現(xiàn)轉(zhuǎn)發(fā)與控制分離的思想。分布式ACR體系結(jié)構(gòu)如圖3所示。這種體系具備高可靠性和高擴(kuò)展性,利用網(wǎng)絡(luò)解耦實(shí)現(xiàn)控制與轉(zhuǎn)發(fā)分離,在系統(tǒng)中各單元網(wǎng)絡(luò)互操作性得到了充分的體現(xiàn)。

      圖3 ACR體系結(jié)構(gòu)

      在ACR采用的分布式結(jié)構(gòu)中,交換和主控分離設(shè)計(jì),交換背板帶寬為萬(wàn)兆級(jí),線卡報(bào)文處理器采用多核CPU。因此ACR系統(tǒng)架構(gòu)簡(jiǎn)單來(lái)說(shuō)就是多核分布式高端路由器。主控卡采用高性能的單核CPU做主處理器,使用吉比特級(jí)以太線路做各張線卡、交換卡的控制通道和主從備份通道,并配備大容量的內(nèi)存做各種表項(xiàng)存儲(chǔ),負(fù)責(zé)控制平面的大部分工作,包括PPPoE控制報(bào)文的處理和轉(zhuǎn)發(fā)信息的管理并利用分布式數(shù)據(jù)庫(kù),經(jīng)適配層的處理后下發(fā)到各張線卡,從主控卡負(fù)責(zé)備份,并實(shí)時(shí)同步。若因外界原因發(fā)生故障時(shí),ACR可以快速切換到從主控卡,保證ACR的可靠性。交換卡則負(fù)責(zé)完成在兩張線卡之間進(jìn)行報(bào)文的交換功能。線卡由兩部分組成,一部分是母板,一部分是子卡。母板上的主要部件是多核CPU,它作為數(shù)據(jù)平面的報(bào)文處理器對(duì)接收到的數(shù)據(jù)分組進(jìn)行轉(zhuǎn)發(fā)和控制處理,并出萬(wàn)兆和吉比特以太信號(hào)到兩個(gè)子卡。子卡的主要功能是對(duì)外出各種WAN和LAN的接口,將多核報(bào)文處理器出來(lái)的以太信號(hào)進(jìn)行擴(kuò)展和轉(zhuǎn)換的部件,比如FPGA或者以太交換芯片。FPGA將以太信號(hào)轉(zhuǎn)換為各種WAN接口;以太交換芯片將一個(gè)萬(wàn)兆級(jí)接口擴(kuò)展為多個(gè)吉比特級(jí)接口。因此,線卡負(fù)責(zé)各種數(shù)據(jù)報(bào)文的快速轉(zhuǎn)發(fā)、控制等功能。

      在主控卡上,報(bào)文處理器負(fù)責(zé)控制報(bào)文的處理、轉(zhuǎn)發(fā)表的管理并通過(guò)分布式數(shù)據(jù)庫(kù)下發(fā)到各個(gè)線卡上。同時(shí),主控卡應(yīng)實(shí)時(shí)對(duì)從主控卡和線卡上表項(xiàng)同步、包括刪除、插入、更新等操作,實(shí)現(xiàn)從主控卡和線卡表項(xiàng)信息的一致。在線卡上,轉(zhuǎn)發(fā)表主要由通道號(hào)、接口索引及標(biāo)志信息構(gòu)成,線卡中的轉(zhuǎn)發(fā)引擎通過(guò)查找轉(zhuǎn)發(fā)表找到對(duì)應(yīng)通道和端口號(hào),并根據(jù)通道號(hào)和端口號(hào)來(lái)確定快速轉(zhuǎn)發(fā)流程。

      圖4 分布式ACR轉(zhuǎn)發(fā)控制結(jié)構(gòu)

      4 ACR快速轉(zhuǎn)發(fā)系統(tǒng)架構(gòu)

      4.1 轉(zhuǎn)發(fā)控制架構(gòu)

      分布式ACR轉(zhuǎn)發(fā)控制架構(gòu)如圖4所示。

      控制平面上,鏈路轉(zhuǎn)發(fā)平臺(tái)為各鏈路協(xié)議提供通信接口來(lái)實(shí)現(xiàn)鏈路管理。鏈路協(xié)議控制報(bào)文(PPP、HDLC、以太報(bào)文、PPPoE及MPPP)經(jīng)過(guò)握手協(xié)商階段學(xué)習(xí)到相關(guān)轉(zhuǎn)發(fā)信息,創(chuàng)建并記錄到轉(zhuǎn)發(fā)表項(xiàng)中的信息通過(guò)轉(zhuǎn)發(fā)表項(xiàng)信息管理模塊進(jìn)行處理。適配層既分布在主控卡也分布在線卡上,主控卡的適配層模塊維護(hù)數(shù)據(jù)表,并通過(guò)分布式數(shù)據(jù)庫(kù),將信息分布到線卡上。線卡的適配層模塊不再維護(hù)數(shù)據(jù)表,收到來(lái)自主控卡上的數(shù)據(jù)信息后,直接調(diào)用PPPoE對(duì)應(yīng)的產(chǎn)品接口函數(shù),更新產(chǎn)品軟件接口的數(shù)據(jù)。例如,鏈路管理模塊在主控卡上維護(hù)一張轉(zhuǎn)發(fā)表,在線卡上鏈路協(xié)議模塊收到分布的表項(xiàng)信息,直接調(diào)用鏈路管理模塊提供的接口函數(shù),更新轉(zhuǎn)發(fā)表的信息。

      如圖5所示,在適配層上創(chuàng)建轉(zhuǎn)發(fā)表后,通過(guò)分布式數(shù)據(jù)庫(kù)組織轉(zhuǎn)發(fā)表并下發(fā)到各個(gè)線卡,以此同時(shí)同步從主控卡上的轉(zhuǎn)發(fā)信息。線卡上的轉(zhuǎn)發(fā)表伴隨主控卡上的下發(fā)信息同步更新。

      圖5 轉(zhuǎn)發(fā)表通過(guò)分布式數(shù)據(jù)庫(kù)下發(fā)

      在控制平面,轉(zhuǎn)發(fā)信息主要有接口索引、通道號(hào)、槽位號(hào)等信息組成轉(zhuǎn)發(fā)表,并且以各個(gè)協(xié)議對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng)以列句柄的方式組織。在轉(zhuǎn)發(fā)層面,轉(zhuǎn)發(fā)引擎利用查找轉(zhuǎn)發(fā)表作為快速轉(zhuǎn)發(fā)的依據(jù),通過(guò)對(duì)接口索引、通道號(hào)實(shí)現(xiàn)快速查找匹配,找到相應(yīng)的通道實(shí)現(xiàn)快速轉(zhuǎn)發(fā)的目的。

      4.2 分布式數(shù)據(jù)庫(kù)下發(fā)方式

      PPPoE和轉(zhuǎn)發(fā)相關(guān)的信息包括接口、槽位號(hào)、轉(zhuǎn)發(fā)通道號(hào)、協(xié)議配置、協(xié)議狀態(tài)及鏈路信息。主控卡上適配層轉(zhuǎn)發(fā)表中的信息需要包含以上的信息,每個(gè)轉(zhuǎn)發(fā)表項(xiàng)對(duì)應(yīng)一個(gè)接口。根據(jù)需要,轉(zhuǎn)發(fā)表中還可以包含其他一些和鏈路轉(zhuǎn)發(fā)過(guò)程相關(guān)的信息,如鏈路層的統(tǒng)計(jì)信息等。鏈路協(xié)議為分布式數(shù)據(jù)庫(kù)提供轉(zhuǎn)發(fā)表項(xiàng)信息,在適配層上創(chuàng)建轉(zhuǎn)發(fā)表,由于分布式數(shù)據(jù)庫(kù)作為數(shù)據(jù)庫(kù)具備插入、刪除和更新等功能,可以對(duì)轉(zhuǎn)發(fā)表做實(shí)時(shí)的修改。只要轉(zhuǎn)發(fā)表信息發(fā)生改變,鏈路管理模塊就會(huì)把變更信息通過(guò)分布式數(shù)據(jù)庫(kù)下發(fā)到線卡。

      鏈路管理模塊發(fā)出對(duì)轉(zhuǎn)發(fā)表項(xiàng)的插入、刪除和更新操作完成后,由分布式數(shù)據(jù)庫(kù)把操作結(jié)果下發(fā)到線卡上,并查找到對(duì)應(yīng)線卡上的相關(guān)操作函數(shù)表實(shí)現(xiàn)同步更新,各個(gè)轉(zhuǎn)發(fā)表項(xiàng)的參數(shù)與主控卡上傳遞的參數(shù)接口一致。對(duì)于鏈路協(xié)議模塊而言,主控卡的鏈路模塊只負(fù)責(zé)具體數(shù)據(jù)下發(fā),線卡的對(duì)應(yīng)模塊只根據(jù)下發(fā)數(shù)據(jù)做出相應(yīng)的處理。即當(dāng)線卡收到主控卡下發(fā)的數(shù)據(jù)信息時(shí),調(diào)用相關(guān)函數(shù)更新轉(zhuǎn)發(fā)表項(xiàng)。數(shù)據(jù)平面就通過(guò)查找轉(zhuǎn)發(fā)表項(xiàng)的數(shù)據(jù)狀態(tài),找到對(duì)應(yīng)的端口和通道直接轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)文,而不再統(tǒng)一交給主控制卡去實(shí)現(xiàn)轉(zhuǎn)發(fā)動(dòng)作。這樣便是由線卡的轉(zhuǎn)發(fā)引擎實(shí)現(xiàn)快速轉(zhuǎn)發(fā),這種優(yōu)勢(shì)在多線卡的分布式路由器上體現(xiàn)得更加明顯,多張線卡同步并行處理數(shù)據(jù)分組有效地分擔(dān)了上層控制面CPU的工作,達(dá)到負(fù)載分擔(dān),相比集中式系統(tǒng)大大提高了轉(zhuǎn)發(fā)性能。

      5 快速轉(zhuǎn)發(fā)的實(shí)現(xiàn)

      5.1 主控卡PPPoE實(shí)現(xiàn)

      主控卡上PPPoE模塊在平臺(tái)上注冊(cè)相關(guān)的應(yīng)用程序接口函數(shù),并統(tǒng)一形成函數(shù)表。完成PPPoE接口產(chǎn)品軟件API的創(chuàng)建、插入、刪除和更新函數(shù),在PPPoE數(shù)據(jù)轉(zhuǎn)發(fā)階段用到的虛擬接口(virtual access,VA)也是在此時(shí)完成創(chuàng)建。這是因?yàn)閷?shí)際物理端口數(shù)目的限制,從而需要?jiǎng)?chuàng)建一個(gè)VA用來(lái)和對(duì)端交換數(shù)據(jù)。此時(shí),系統(tǒng)會(huì)按照用戶的配置,選擇一個(gè)虛擬模板(virtual template,VT),根據(jù)VT的配置參數(shù),動(dòng)態(tài)地創(chuàng)建一個(gè)VA。

      PPPoE在適配層上為轉(zhuǎn)發(fā)平臺(tái)查詢、維護(hù)一張轉(zhuǎn)發(fā)表,該表需要進(jìn)行同步和下發(fā)。轉(zhuǎn)發(fā)表項(xiàng)的具體信息包括接口索引、槽位號(hào)、通道號(hào)和同步標(biāo)志等其他報(bào)文首部信息。PPPoE模塊所有適配層對(duì)平臺(tái)提供的接口函數(shù)都采用異步的方式實(shí)現(xiàn),即對(duì)適配層表項(xiàng)的添加、刪除、更新操作,分布式數(shù)據(jù)庫(kù)對(duì)表項(xiàng)的分發(fā)返回結(jié)果處理以及批量定時(shí)器超時(shí)處理都以事務(wù)的形式添加到適配層的任務(wù)中執(zhí)行。

      PPPoE在適配層上需要對(duì)事務(wù)進(jìn)行接口創(chuàng)建,反映到分布式數(shù)據(jù)庫(kù)上就是對(duì)轉(zhuǎn)發(fā)表項(xiàng)的添加,此時(shí)要調(diào)用分布式數(shù)據(jù)庫(kù)插入函數(shù)添加適配層表項(xiàng)。添加表項(xiàng)時(shí),首先檢查要添加的表項(xiàng)是否已經(jīng)存在,如果存在則表示是主從切換后執(zhí)行,這種情況需要將同步標(biāo)記更新為false,并向分布式數(shù)據(jù)庫(kù)返回插入成功。分布式數(shù)據(jù)庫(kù)會(huì)根據(jù)該返回值進(jìn)行表項(xiàng)的同步和分布操作。如果添加的表項(xiàng)不存在,則創(chuàng)建表項(xiàng),并進(jìn)行初始化各列的值。根據(jù)列句柄設(shè)置同步標(biāo)記的值,如果是分布列句柄,則設(shè)置同步標(biāo)記為true,否則不設(shè)置。

      PPPoE適配層的任務(wù)調(diào)度執(zhí)行PPPoE接口刪除事務(wù),執(zhí)行接口刪除。PPPoE接口刪除反映到數(shù)據(jù)庫(kù)即為轉(zhuǎn)發(fā)表項(xiàng)的刪除,此時(shí)調(diào)用分布式數(shù)據(jù)庫(kù)刪除函數(shù),刪除適配層表項(xiàng)。刪除表項(xiàng)時(shí),首先檢查要?jiǎng)h除的表項(xiàng)是否存在:如果存在,則刪除表項(xiàng),向分布式數(shù)據(jù)庫(kù)返回OK,使分布式數(shù)據(jù)庫(kù)繼續(xù)后續(xù)的同步和下發(fā);如果不存在,則可能是主從切換后的主控卡上執(zhí)行腳本或者程序邏輯上存在問(wèn)題。本文對(duì)這兩種情況都統(tǒng)一向分布式數(shù)據(jù)庫(kù)返回成功,但返回結(jié)果不會(huì)同步到從主控卡也不會(huì)下發(fā)到線卡上。

      PPPoE適配層平滑處理,發(fā)生主從切換后,新的主控卡會(huì)先執(zhí)行腳本。PPPoE模塊根據(jù)腳本重新設(shè)置轉(zhuǎn)發(fā)平臺(tái)表項(xiàng),并更新到適配層轉(zhuǎn)發(fā)表中。如果更新的表項(xiàng)不存在則添加,如果存在則只更新同步標(biāo)記為false。系統(tǒng)通知平滑處理時(shí),調(diào)用PPPoE模塊的平滑處理函數(shù)進(jìn)行適配層的平滑,這時(shí)只需要檢查適配層表項(xiàng)中的同步標(biāo)記為true的表項(xiàng),并刪除該表項(xiàng)。

      5.2 線卡PPPoE實(shí)現(xiàn)

      PPPoE模塊線卡的適配層上也是維護(hù)一張轉(zhuǎn)發(fā)表,該轉(zhuǎn)發(fā)表是主控卡上轉(zhuǎn)發(fā)表的子集,它是由分布式數(shù)據(jù)庫(kù)下發(fā)而來(lái)的,該轉(zhuǎn)發(fā)表比較簡(jiǎn)單,只包含接口索引、槽位號(hào)和通道號(hào)的信息。

      線卡上的適配層存儲(chǔ)實(shí)現(xiàn)與主控卡上的適配層類似,由插入、刪除、更新等接口函數(shù),調(diào)用插入函數(shù)就可以完成線卡適配層轉(zhuǎn)發(fā)表項(xiàng)的添加,此時(shí)沒(méi)有同步標(biāo)記,所以新增的表項(xiàng)需要設(shè)置轉(zhuǎn)發(fā)表項(xiàng)的同步標(biāo)記為true。添加表項(xiàng)之前需要先檢查新增表項(xiàng)的索引是否已經(jīng)存在,當(dāng)主從切換執(zhí)行腳本或者主控卡執(zhí)行批量時(shí),會(huì)出現(xiàn)添加的表項(xiàng)已經(jīng)存在的情況。如果表項(xiàng)存在,只需要更新同步標(biāo)記為true。線卡上轉(zhuǎn)發(fā)表通過(guò)同步標(biāo)記來(lái)進(jìn)行平滑。

      PPPoE在數(shù)據(jù)轉(zhuǎn)發(fā)流程中,不會(huì)使用到線卡轉(zhuǎn)發(fā)表中的信息。因?yàn)樵O(shè)置了轉(zhuǎn)發(fā)表項(xiàng)與轉(zhuǎn)發(fā)通道關(guān)聯(lián),但實(shí)際不會(huì)使用。

      同理,調(diào)用刪除接口函數(shù),可以完成線卡適配層轉(zhuǎn)發(fā)表項(xiàng)的刪除。在線卡上適配層轉(zhuǎn)發(fā)表項(xiàng)還關(guān)聯(lián)批量下發(fā)事務(wù),當(dāng)新插入一張板卡時(shí),線卡上適配層調(diào)用批量事務(wù)開(kāi)始函數(shù),遍歷所有的轉(zhuǎn)發(fā)表項(xiàng),設(shè)置同步標(biāo)記為false(默認(rèn)是true)。當(dāng)批量下發(fā)結(jié)束時(shí),線卡適配層調(diào)用批量事務(wù)結(jié)束函數(shù),因?yàn)樵谥骺乜ㄅ窟^(guò)程中,重新下發(fā)所有轉(zhuǎn)發(fā)表項(xiàng),線卡將下發(fā)下來(lái)的轉(zhuǎn)發(fā)表項(xiàng)全部標(biāo)記值更新為true。批量結(jié)束時(shí),檢查所有轉(zhuǎn)發(fā)表項(xiàng)。如果同步標(biāo)記值仍然為false,則表明主控卡上已經(jīng)不存在該表項(xiàng),此時(shí)線卡在批量結(jié)束時(shí)需要將同步標(biāo)記值為false的表項(xiàng)刪除。

      PPPoE在線卡上的產(chǎn)品軟件接口子模塊(PPPoEPsi)主要完成數(shù)據(jù)平面報(bào)文的接收處理,對(duì)接收到的報(bào)文進(jìn)行合法性檢查以及修改報(bào)文描述符等工作。

      5.3 PPPoE數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)

      在快速轉(zhuǎn)發(fā)平臺(tái)的多核CPU轉(zhuǎn)發(fā)引擎中,以太接口收到報(bào)文進(jìn)行鏈路處理時(shí),如果是PPPoE發(fā)現(xiàn)階段的報(bào)文,則上交到主控卡進(jìn)行處理,此時(shí)進(jìn)入控制平面的數(shù)據(jù)接收流程。在輸入處理的鏈路控制階段的業(yè)務(wù)控制流程中,對(duì)PPPoE數(shù)據(jù)分組,去掉外層的PPPoE和以太分組頭,換入接口為VA,調(diào)用VA的鏈路處理(PPP封裝)和輸入解析函數(shù),開(kāi)始完整的PPP處理流程。

      PPPoE數(shù)據(jù)報(bào)文快速轉(zhuǎn)發(fā)流程如圖6所示。發(fā)送階段,在正常的路由階段后,出口是VA,判斷跨卡,輸出在相應(yīng)卡上處理,再經(jīng)QoS隊(duì)列處理后進(jìn)VA的邏輯發(fā)送,發(fā)送中封裝PPPoE和以太分組頭,進(jìn)入以太接口的鏈路輸出控制和發(fā)送處理。

      圖6 PPPoE數(shù)據(jù)報(bào)文快速轉(zhuǎn)發(fā)流程

      VA一般能確定綁定的物理口,故VA通道生成后,判斷是否跨卡。若跨卡,直接跨到對(duì)應(yīng)綁定的物理接口所在的板卡上進(jìn)行輸出處理和封裝、發(fā)送處理。當(dāng)VA綁定的物理口變化時(shí),轉(zhuǎn)發(fā)平臺(tái)應(yīng)該響應(yīng)并更新在通道結(jié)構(gòu)中對(duì)應(yīng)的值。

      5.4 PPPoE軟件模塊設(shè)計(jì)

      整個(gè)PPPoE模塊在分布式系統(tǒng)下主要軟件實(shí)現(xiàn)函數(shù)從 上 到 下 由PPPoEPsapi、PPPoEMpuPsal、PPPoEDdbMpu、PPPoEDdbLpu、PPPoEDfp、PPPoELpuPsal、PPPoEPsi模 塊 組成,如圖7所示。

      圖7 PPPoE分布式系統(tǒng)軟件模塊

      PPPoEPsapi模塊:對(duì)轉(zhuǎn)發(fā)平臺(tái)的PPPoE業(yè)務(wù)模塊提供操作產(chǎn)品軟件的接口,通過(guò)類似函數(shù)表的方式掛接各個(gè)接口來(lái)實(shí)現(xiàn)。

      PPPoEMpuPsal模塊:PPPoE業(yè)務(wù)模塊適配負(fù)責(zé)類似參數(shù)轉(zhuǎn)換、資源操作等處理,以注冊(cè)的方式掛接到Psapi。為控制平面提供API,提供查詢接口API,完成自身的數(shù)據(jù)表項(xiàng)同步和下發(fā)。

      PPPoEDdbMpu模塊:對(duì)簡(jiǎn)單的轉(zhuǎn)發(fā)表操作,包括創(chuàng)建、插入、刪除、查詢,實(shí)現(xiàn)數(shù)據(jù)的分發(fā)、包括從主控卡分發(fā)到從主控和線卡。

      圖8 測(cè)試拓?fù)浣Y(jié)構(gòu)

      PPPoEDdbLpu模塊:實(shí)現(xiàn)分布式數(shù)據(jù)庫(kù)存儲(chǔ)接管函數(shù)。

      PPPoEDfp模塊:提供報(bào)文的接收調(diào)度、入隊(duì)和出隊(duì)的接口及隊(duì)列報(bào)文的調(diào)度。

      PPPoELpuPsal適配層模塊:不再維護(hù)數(shù)據(jù)表,收到來(lái)自控制平面的數(shù)據(jù)信息后,直接調(diào)用PSI的函數(shù),更新PSI的數(shù)據(jù)。

      PPPoEPsi模塊:完成線卡轉(zhuǎn)發(fā)表項(xiàng)的添加刪除操作,完成對(duì)數(shù)據(jù)轉(zhuǎn)發(fā)平面報(bào)文接收處理。

      6 測(cè)試報(bào)告

      本次測(cè)試在上海工程技術(shù)大學(xué)寬帶中心一樓實(shí)驗(yàn)室內(nèi)完成,包括大規(guī)模接入?yún)R聚路由器相關(guān)測(cè)試、ACR主機(jī)測(cè)試、ACR遠(yuǎn)端模塊測(cè)試和ACR寬帶接入服務(wù)及業(yè)務(wù)控制測(cè)試,具體測(cè)試拓?fù)淙鐖D8所示。

      測(cè)試配合設(shè)備采用機(jī)頂盒與電視機(jī),測(cè)試儀器采用思博倫公司的Spirent Test Center。本文涉及關(guān)于以太網(wǎng)端口上PPPoE接入測(cè)試時(shí),驗(yàn)證ACR支持的最大鏈接數(shù)(PPPoE會(huì)話連接),測(cè)試結(jié)果符合要求。

      7 結(jié)束語(yǔ)

      本文首先描述了分布式路由器架構(gòu),重點(diǎn)分析了ACR的轉(zhuǎn)發(fā)控制架構(gòu),詳細(xì)介紹分布式數(shù)據(jù)庫(kù)數(shù)據(jù)下發(fā)的關(guān)鍵實(shí)現(xiàn)。主控卡上實(shí)現(xiàn)鏈路協(xié)議模塊相關(guān)接口的注冊(cè),適配層上完成轉(zhuǎn)發(fā)表項(xiàng)的創(chuàng)建,并利用分布式數(shù)據(jù)庫(kù)實(shí)現(xiàn)同步和下發(fā)。主控卡和網(wǎng)絡(luò)層交下來(lái)的控制報(bào)文送到線卡上去發(fā)送,PPPoE數(shù)據(jù)報(bào)文經(jīng)過(guò)鏈路處理、輸入控制、選路輸出控制后,實(shí)現(xiàn)快速轉(zhuǎn)發(fā)。測(cè)試結(jié)果顯示,ACR完全可以滿足大規(guī)模接入場(chǎng)景應(yīng)用,而且通過(guò)后期升級(jí),可以達(dá)到更高的報(bào)文處理速度。

      1 孟赟,劉九評(píng).ACR設(shè)備在廣電網(wǎng)絡(luò)內(nèi)的應(yīng)用部署設(shè)計(jì).有線電視技術(shù),2013(6):47~52

      2 RFC2516.A Method for Transmitting PPP over Ethernet,1999

      3 RFC1661.The Point-to-Point,1994

      4 孫宗峰,肖志輝,孫健.基于分布式路由器的IPv4-IPv6轉(zhuǎn)發(fā)控制架構(gòu)研究.電信科學(xué),2012(6):42~47

      5 RFC894.A Standar for the Transmission of IP-Data Grams over Ethernet Networks,1984

      6 Zeng X Y,Cheng C Q.Discuss of user identification technology in DSL network.Proceedings of 2009 International Symposium on Intelligent Ubiquitous Computing and Education,Chengdu,China,2009

      猜你喜歡
      表項(xiàng)以太報(bào)文
      以太極為旗,開(kāi)啟新時(shí)代“黃河大合唱”
      少林與太極(2023年7期)2023-08-25 05:27:52
      基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      一種改進(jìn)的TCAM路由表項(xiàng)管理算法及實(shí)現(xiàn)
      CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
      基于ARMA模型預(yù)測(cè)的交換機(jī)流表更新算法
      淺析反駁類報(bào)文要點(diǎn)
      車易鏈:做汽車業(yè)的“以太坊”
      汽車觀察(2018年9期)2018-10-23 05:46:24
      SDN數(shù)據(jù)中心網(wǎng)絡(luò)基于流表項(xiàng)轉(zhuǎn)換的流表調(diào)度優(yōu)化
      ATS與列車通信報(bào)文分析
      百通推出入門(mén)級(jí)快速工業(yè)以太網(wǎng)絡(luò)交換器系列
      于都县| 辉南县| 夏邑县| 巴林右旗| 焉耆| 阜平县| 富平县| 洪泽县| 汉阴县| 南召县| 搜索| 汉源县| 临高县| 绥棱县| 安顺市| 海盐县| 西和县| 大石桥市| 南充市| 中西区| 当阳市| 拉孜县| 平乡县| 澄迈县| 建始县| 汶川县| 昂仁县| 潮州市| 犍为县| 竹山县| 宁陵县| 五大连池市| 定陶县| 西平县| 襄樊市| 达拉特旗| 富川| 台东市| 宝鸡市| 黔江区| 莆田市|