<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > EthernetPON系統核心MAC控制器的設計與實(shí)現

EthernetPON系統核心MAC控制器的設計與實(shí)現

作者: 時(shí)間:2007-10-23 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:本文提出了一種EPON方案,融合FPGA技術(shù)與嵌入式了EPON的點(diǎn)對多點(diǎn)接入功能.幀校驗、加密、分類(lèi)及仲裁等控制部分用FPGA完成,涉及復雜算法的注冊與動(dòng)態(tài)帶寬分配利用嵌入式Linux平臺.對中的關(guān)鍵技術(shù)點(diǎn)進(jìn)行了全面闡述,提出了一種基于滑動(dòng)窗機制的動(dòng)態(tài)帶寬分配方案以改善網(wǎng)絡(luò )QoS性能.仿真結果表明,該方案可以采用低成本的FPGA來(lái),為開(kāi)發(fā)MAC專(zhuān)用芯片提供了實(shí)用參考.
關(guān)鍵詞:以太網(wǎng)無(wú)源光網(wǎng)絡(luò );媒體接入控制;嵌入式系統;現場(chǎng)可編程門(mén)列陣

近年來(lái)隨著(zhù)傳輸技術(shù)和交換技術(shù)的不斷進(jìn)步,網(wǎng)已經(jīng)基本實(shí)現了光纖化、數字化和寬度化,而傳統的接入網(wǎng)仍然是采用電纜傳輸的模擬系統,兩者在技術(shù)上的巨大差距導致接入網(wǎng)成為全球信息高速公路的瓶頸.目前盡管出現了一系列解決這一瓶頸問(wèn)題的技術(shù)手段,如雙絞線(xiàn)上的xDSL系統、同軸電纜上的HFC系統以及五類(lèi)線(xiàn)上的LAN,但都只能算是一些過(guò)渡性解決方案,不能滿(mǎn)足視頻點(diǎn)播、家庭購物、數字高清晰度電視播放等新業(yè)務(wù)對寬帶通信的需求,唯一能夠從根本上徹底解決接入瓶頸的長(cháng)遠技術(shù)手段就是全光接入網(wǎng).基于以太網(wǎng)的無(wú)源光網(wǎng)絡(luò )(EPON)就是這一背景下應運而生的光纖接入技術(shù).EPON與傳統以太網(wǎng)的主要區別在于傳統以太網(wǎng)是點(diǎn)到點(diǎn)(Peer-to-Peer,P2P)的對等網(wǎng)絡(luò ),而EPON是點(diǎn)到多點(diǎn)(Point-to-Multipoint,P2MP)的主從網(wǎng)絡(luò ),其技術(shù)創(chuàng )新就在于點(diǎn)對多點(diǎn)MAC接入控制的設計與實(shí)現.本文提出了一種EPON系統MAC控制器的設計方案,詳細闡述了采用包含嵌入式CPU的FP2GA開(kāi)發(fā)MAC控制器的設計全過(guò)程,并通過(guò)系統軟、硬件仿真驗證了該設計的可行性,為我國開(kāi)發(fā)MAC控制器專(zhuān)用芯片提供實(shí)用參考.

EPON系統結構

如圖1所示,一個(gè)典型的EPON系統主要由三部分組成,即光線(xiàn)路終端(OLT)、無(wú)源光分路器(POS)和光網(wǎng)絡(luò )單元(ONU).其中OLT位于局端,一般放在中心機房(Central Office,CO),ONU位于用戶(hù)端,POS連接OLT和ONU,它的功能是分發(fā)下行數據和匯聚上行數據.從OLT到ONU的方向為下行方向,反之為上行方向.OLT上行鏈路與各業(yè)務(wù)節點(diǎn)相連,ONU下行鏈路則與各用戶(hù)終端設備連接.

圖1 EPON系統架構

在EPON中,從OLT到多個(gè)ONU的下行數據傳輸過(guò)程與從多個(gè)ONU到OLT的上行數據傳輸過(guò)程有本質(zhì)的區別,如圖2所示.下行數據采用廣播方式以變長(cháng)以太包的形式從OLT發(fā)給多個(gè)ONU,每個(gè)以太包帶有標識目標ONU的邏輯鏈路標識(LLID),通過(guò)識別LLID判斷信息包是發(fā)給某個(gè)或多個(gè)ONU的.當數據流到達ONU時(shí),ONU只提取發(fā)給它的信息包而丟棄發(fā)給其他ONU的信息包;而上行數據則采用時(shí)分多址接入(TDMA)技術(shù),每個(gè)ONU都分配一個(gè)傳輸時(shí)隙,所有時(shí)隙保持同步,彼此間留有間隙,保證不同ONU的數據包匯聚到公共光纖時(shí)不發(fā)生相互碰撞.

圖2 EPON的上、下行傳輸機制

OLT系統設計

為支持EPON的協(xié)議棧結構和工作模式,本文采用圖3所示的OLT系統設計,它主要由MAC控制器、EPON千兆位突發(fā)光收發(fā)器、存儲器和外圍接口電路組成.其中MAC控制器是采用Altera公司的EXCAL IBUR-ARM系列FPGA(帶ARM9硬核)芯片實(shí)現.在CO端,OLT通過(guò)標準的千兆以太收發(fā)器與上層交換機相連;在EPON端,OLT通過(guò)專(zhuān)用的光收發(fā)器連接PON網(wǎng)絡(luò ).

圖3 OLT系統總體框圖

該系統可以實(shí)現以下功能:
(1)以廣播方式向ONU下行發(fā)送以太數據包,以TDMA方式接收來(lái)自ONU的以太包;
(2)發(fā)起并控制ONU的注冊過(guò)程,根據用戶(hù)的QoS要求為ONU分配帶寬;
(3)除了網(wǎng)絡(luò )的匯聚和接入功能,OLT還提供OAM功能.

MAC控制器的實(shí)現

圖4所示為本文設計的EPON系統核心MAC 控制器的功能框圖,它由硬件和軟件部分組成.硬件部分(圖中實(shí)線(xiàn)表示的模塊)由FPGA來(lái)完成[3],實(shí)現點(diǎn)對點(diǎn)仿真,以太幀的校驗、加/解密、分類(lèi)/仲裁/復用等控制功能;軟件部分由嵌入式系統Monta Vista Linux來(lái)完成對ONU的注冊和動(dòng)態(tài)帶寬分配(DBA).
  
首先對圖中各模塊的功能作一簡(jiǎn)要說(shuō)明.位寬變換模塊實(shí)現數據流的8bit位寬(字節為單位)與32bit位寬(雙字為單位)之間的互換;LLD添加/校驗模塊主要完成LLD的添加/校驗;分類(lèi)/仲裁/復用模塊實(shí)現對以太幀的分類(lèi)、發(fā)送優(yōu)先級仲裁和復用;測距模塊計算ONU至OLT的往復時(shí)間(RTT),以便進(jìn)行上行時(shí)延補償.時(shí)標處理模塊實(shí)現OLT與ONU的時(shí)鐘同步.下面就MAC控制器在軟、硬件設計中涉及到的關(guān)鍵技術(shù)進(jìn)行全面闡述.

圖4 核心MAC控制器功能框圖

位寬變換及時(shí)鐘設計

考慮到EXCAL IBUR-ARM系列FPGA內嵌的ARM922T是一款RISC架構的32bit微處理器,為了方便FPGA與微處理器之間的數據交換,MAC控制器的內部數據統一采用雙字為單位進(jìn)行處理.OLT與ONU之間的線(xiàn)路傳輸速率是1.25Gbit/s,碼流在物理層經(jīng)過(guò)串/并變換、8B/10B編碼之后的速率為125Mbit/s,而進(jìn)行位寬變換后,FPGA的工作頻率下降到31.25MHz.本文設計FPGA開(kāi)發(fā)板時(shí),采用了25MHz的晶振作為時(shí)鐘源.

值得一提的是,位寬變換模塊需用到125MHz和31.25MHz2個(gè)時(shí)鐘(分別由倍頻器和分頻器提供).輸入的8bit碼流以125MHz的頻率順序寫(xiě)入4個(gè)FIFO中,同時(shí)以31.25MHz的頻率從這4個(gè)FIFO中并行輸出,直至一幀結束.但必須考慮數據幀的幀長(cháng)(以字節為單位)不能被4整除的情況,如最后只剩下3個(gè)8bit碼.這時(shí)將‘0x00’寫(xiě)入最后的空閑FIFO中,使幀長(cháng)滿(mǎn)足4的整數倍.為此,位寬變換模塊增加了以字節為單位的幀長(cháng)和以雙字為單位的幀長(cháng)統計功能,用于告知其后級聯(lián)的模塊只對幀有效數據進(jìn)行處理.所有的變換處理均在FPGA內部實(shí)現,因而不增加FPGA的外部引腳.

分類(lèi)、仲裁和復用技術(shù)

分類(lèi)、仲裁及復用是MAC控制器最為關(guān)鍵的功能,FPGA與微處理器如何進(jìn)行數據交換、數據流如何分類(lèi)及緩沖、何種仲裁機制能夠實(shí)現信道的最佳復用等技術(shù)細節都是模塊設計時(shí)必須考慮的問(wèn)題.上行分類(lèi)器收到以太幀后,首先根據幀類(lèi)型(Type域)區分MAC幀、OAM幀和數據幀.如果是MAC幀或OAM幀,則直接寫(xiě)入雙端口RAM的MAC幀隊列或OAM幀隊列,同時(shí)給出相應的中斷請求信號,通知ARM來(lái)處理;如果是數據幀,區分是發(fā)往核心網(wǎng)的SNI幀,還是送給其他ONU的P2P幀.SNI幀按照FIFO機制送往上層交換機;P2P幀則寫(xiě)入SDRAM中,直接參與下行數據幀的仲裁和復用.圖5給出了幀分類(lèi)、仲裁和復用處理流圖.

圖5 幀分類(lèi)/仲裁/復用處理流程圖

圖中,下行仲裁/復用器首先對送給同一個(gè)ONU的數據幀(包括下行幀和P2P幀)、OAM幀和MAC幀進(jìn)行優(yōu)先級仲裁,MAC幀優(yōu)先級最高,數據幀次之,OAM優(yōu)先級最低.然后要為發(fā)往不同ONU的幀優(yōu)先級進(jìn)行二次仲裁,最終通過(guò)一條物理鏈路將這些幀以時(shí)分復用送出去,所以下行幀和P2P幀必須先緩存在SDRAM中,等待發(fā)送指示信號.將SNI幀放在SDRAM中也是可行的,但由于上行信道的帶寬分配過(guò)程已經(jīng)實(shí)現了對幀的優(yōu)先級仲裁,所以本文選擇用FIFO替代SDRAM,完成對SNI幀的緩沖,這樣可以大大減少FPGA芯片的外部引腳,降低了ASIC芯片的制造成本.

安全策略

在EPON系統中,各個(gè)ONU的上行通道是彼此獨立的,用戶(hù)無(wú)法竊取他人的信息;下行方向是媒質(zhì)共享網(wǎng)絡(luò ),數據以廣播形式發(fā)送,每個(gè)ONU都能接收到所有的下行數據,802.3ah引入LLID來(lái)限制每個(gè)ONU只能接收屬于自己的數據包.然而用戶(hù)可以通過(guò)某種方式繞開(kāi)LLID校驗,竊取其他ONU的信息,最為典型的解決方法就是在下行方向對所有的數據幀進(jìn)行加密傳輸.事實(shí)上,這種加密方式存在許多安全隱患.首先,未經(jīng)加密的下行MAC幀和OAM幀如果被成功獲取的話(huà),入侵者便可以輕易掌握其他用戶(hù)的關(guān)鍵信息,如ONU的LLID和終端用戶(hù)MAC地址,進(jìn)而在上行方向通過(guò)盜用LLID和MAC地址來(lái)竊取其他用戶(hù)的帶寬;其次,在上行方向合法用戶(hù)可能通過(guò)偽造MAC幀或OAM幀,來(lái)更改EPON系統配置,甚至侵入電信管理網(wǎng)絡(luò ),擾亂整個(gè)電信網(wǎng).針對這兩種威脅,本文采用了一種加密與認證相結合的安全策略.

信息加密
加密算法本文采用的是AES算法,密鑰長(cháng)度選取128bit.下行方向OLT對所有類(lèi)型的幀進(jìn)行加密,加密區域從目的MAC地址到FCS域.密鑰由ONU產(chǎn)生,上行發(fā)送給OLT,不可能被用戶(hù)截獲,不同的ONU使用不同的密鑰,從而保證了下行數據私密性的要求;上行方向,為了防止假冒用戶(hù),ONU對MAC幀和OAM幀進(jìn)行加密,加密區域也是目的MAC地址到FCS域.

為提供密鑰更新功能,本文定義了兩類(lèi)新的MAC幀,密鑰更新請求幀(new_key_request)和密鑰更新響應幀(new_key_respond),類(lèi)型代碼分別為07和08(802 3ah已經(jīng)采用了六類(lèi)MAC幀,類(lèi)型代碼01-06).ONU通過(guò)注冊過(guò)程將初始密鑰發(fā)送給OLT,OLT定期向下廣播密鑰更新請求幀,ONU則通過(guò)密鑰更新響應幀將新密鑰上傳給OLT,如圖6所示.為了保證密鑰的同步性,在Preamble中增加了1bit的flag域和1bit的keyindex域,flag為‘1’標識該幀已被加密,并通過(guò)keyindex告知接收端采用哪個(gè)密鑰解密,加/解密端同時(shí)存儲了2個(gè)密鑰以保證新舊密鑰的平穩過(guò)渡.

圖6 密鑰的更新與同步過(guò)程

消息認證 
上行方向如果只是簡(jiǎn)單地加密,顯然是不夠的,因為用戶(hù)可以盜用他人的合法LLID傳輸數據.因而OLT還必須進(jìn)一步對消息發(fā)送源的真偽進(jìn)行鑒別和認證,即確認接收到的ONUn的數據確實(shí)是由ONUn發(fā)出的.本文通過(guò)FCS校驗來(lái)對消息源進(jìn)行認證,這種方法簡(jiǎn)單而有效.首先對Preamble進(jìn)行CRC校驗,對加密區域進(jìn)行解密處理,然后進(jìn)行FCS校驗,如果Preamble的CRC校驗結果正確,加密域的FCS校驗錯誤,則說(shuō)明加密錯誤或者該消息是用戶(hù)偽造的,應該予以丟棄,這樣就確保了消息的真實(shí)性與合法性.

動(dòng)態(tài)帶寬分配

在802.3ah協(xié)議中,帶寬分配算法是開(kāi)放的,協(xié)議不作明確規定,由制造商自行設計.目前802.3ah工作組討論較多的都是一種基于公平調度(FS)的動(dòng)態(tài)帶寬分配算法,它在一個(gè)輪詢(xún)周期內只給每個(gè)ONU一個(gè)發(fā)送機會(huì )以保證服務(wù)的公平性.這種分配方式算法簡(jiǎn)單,易于實(shí)現.然而它忽略了綜合業(yè)務(wù)網(wǎng)的一個(gè)非常重要的特征:網(wǎng)絡(luò )流量自相似特性導致的數據流突發(fā)性,無(wú)法根本解決公平性和數據流的突發(fā)性之間的矛盾.即使EPON出于小負荷狀態(tài),下述矛盾現象也是不可避免的:某些ONU處于零負荷狀態(tài),每個(gè)輪詢(xún)周期都報告零字節帶寬請求;另一些ONU負荷輕,經(jīng)過(guò)一次發(fā)送機會(huì )已經(jīng)將緩沖區內所有的數據包全部上傳;還有一些重負荷ONU,恰好處于數據流持續突發(fā)和震蕩狀態(tài),即使每個(gè)輪詢(xún)周期都給這些ONU分配上限帶寬Wmax,它們的緩沖區內仍然累積了大量等待發(fā)送的數據包.因此,整個(gè)上行信道將被“空閑”ONU的MAC控制信息和GB帶寬大量占用,而那些真正急需帶寬資源的“突發(fā)”ONU卻長(cháng)時(shí)間處于等待狀態(tài).

為此,本文設計了一種基于滑動(dòng)窗(SW)的動(dòng)態(tài)帶寬分配算法,將一個(gè)周期的帶寬分配過(guò)程分成2個(gè)階段,第1個(gè)階段是預留階段,第2個(gè)階段是競爭階段.預留階段采用FS算法為所有ONU分配帶寬來(lái)保證公平性;競爭階段將為那些處于數據突發(fā)狀態(tài)的ONU安排第2次發(fā)送機會(huì ),其帶寬大小用滑動(dòng)窗來(lái)加以限制.在競爭階段,為了將自相似性引發(fā)的數據持續突發(fā)性這一因素考慮在內,用SW算法取代FS算法,取消上限帶寬Wmax的限制,而采用一個(gè)滑動(dòng)窗Bmax來(lái)對ONU當前最后N個(gè)周期授權的帶寬總和B進(jìn)行限制.也就是說(shuō),SW算法將以ONU在最近的N個(gè)周期(包括當前這個(gè)周期在內)獲得的總帶寬不超過(guò)Bmax為條件,在當前周期的競爭階段為其分配帶寬. OLT在第j個(gè)ONU的第i個(gè)輪詢(xún)周期分配帶寬:

式中:Rj I表示在第i個(gè)周期的預留階段分配給ONUj的帶寬大小,它在不超過(guò)上限帶寬Wmax的前提下,根據ONUj申請的帶寬rji進(jìn)行分配;Cji表示在第i個(gè)周期的競爭階段分配給ONUj的帶寬大小,它的值用滑動(dòng)窗Bmax進(jìn)行限制.Bmax代表ONUj在最近N個(gè)周期(包括預留和競爭階段)得到的帶寬總和.

仿真結果

本文采用Altera的型號為EPXA 10F 1020C1的FPGA,通過(guò)硬件描述語(yǔ)言Verilog HDL對MAC控制器的硬件模塊進(jìn)行了仿真.系統由1個(gè)OLT、2個(gè)ONU、4個(gè)用戶(hù)終端組成,時(shí)鐘頻率為125MHz.圖7是8~32bit的位寬變換模塊的仿真結果,wr_clk和rd_clk分別是125MHz的寫(xiě)時(shí)鐘和31.25MHz的讀時(shí)鐘,bytei和seg_out分別是輸入的8bit碼流和輸出的32bit碼流.

圖7 位寬變換仿真結果

圖8為幀分類(lèi)和RTT計算的仿真結果,MAC控制器根據幀類(lèi)型域和LLID標識將上行幀分為MAC幀、OAM幀、SNI幀和P2P幀,并寫(xiě)入相應的幀隊列;local_time是OLT的本地時(shí)鐘計數器,將local_time與ONU的MAC幀的time stamp值進(jìn)行模減得到ONU的RTT.

圖8 幀分類(lèi)與RTT計算的仿真結果

圖9給出了SW算法和FS算法在平均包延時(shí)和帶寬利用率方面的性能比較結果.

圖9 SW與FS算法的包延時(shí)和帶寬利用率性能分析

由圖可見(jiàn),當ONU的載荷小于0.9時(shí),SW算法的包延時(shí)明顯小于FS算法;在帶寬利用率方面,SW算法的性能也優(yōu)于FS算法,這是因為SW算法將FS算法中大量被“空閑”ONU的MAC控制信息和GB帶寬占有的資源在競爭階段分配給了“繁忙”ONU,從而提高了網(wǎng)絡(luò )的帶寬利用率.SW算法通過(guò)滑動(dòng)窗機制將整個(gè)上行帶寬分2個(gè)階段進(jìn)行動(dòng)態(tài)分配,既滿(mǎn)足了網(wǎng)絡(luò )公平服務(wù)的要求,又緩解了數據突發(fā)性對網(wǎng)絡(luò )性能造成的負面影響,有效解決了公平性與突發(fā)性這一FS算法無(wú)法克服的矛盾,因而非常顯著(zhù)地改善了網(wǎng)絡(luò )的服務(wù)質(zhì)量.

結 語(yǔ)

本文提出了一種基于FPGA技術(shù)與嵌入式系統的EPON核心MAC控制器設計方案,用于實(shí)現EPON下行廣播和上行TDMA的傳輸方式.對于幀校驗、加密、分類(lèi)及仲裁等控制部分用FPGA實(shí)現,注冊過(guò)程與動(dòng)態(tài)帶寬分配在嵌入式Linux平臺上完成.文中對MAC控制器硬件設計的關(guān)鍵技術(shù)點(diǎn)進(jìn)行了全面闡述,提出了一種基于滑動(dòng)窗機制的動(dòng)態(tài)帶寬分配方案以改善網(wǎng)絡(luò )QoS性能.系統的軟、硬件仿真驗證了該方案的可行性,為我國開(kāi)發(fā)MAC控制器專(zhuān)用芯片提供了實(shí)用參考.

p2p機相關(guān)文章:p2p原理




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>