以太網(wǎng)無源
光網(wǎng)絡(
EPON)是點到多點的
網(wǎng)絡拓撲與以太網(wǎng)技術的結合。因而可以被看作是點到多點
LAN。在上行方向(ONU到OLT),EPON是多點到點網(wǎng)絡,在下行方向(OLT到ONU),EPON是一個廣播網(wǎng)絡。而且,EPON中OLT和ONU之間是不對等的,它們屬于主從關系?!?br>
然而到目前為止,
IEEE 802.3標準中只定義了兩種LAN:點到點(
P2P)LAN和共享LAN。這兩種LAN有一個共同的特點,那就是LAN中任何節(jié)點所發(fā)出的幀都可以到達同一個LAN中所有其它的節(jié)點。現(xiàn)有的
路由器和基于IEEE 802.1D標準的
網(wǎng)橋,都只知道P2P LAN和共享LAN,它們并不知道P2MP LAN。而且,P2MP模式的EPON與生成樹協(xié)議(STP)并不兼容。若在P2MP LAN上運行STP會導致數(shù)據(jù)幀的多拷貝轉發(fā)或某些節(jié)點無法接收數(shù)據(jù)幀?! ?br>
考慮到基于IEEE 802.1D標準的路由器和網(wǎng)橋正被大量使用,EPON要能被廣泛接受并得以應用,就必須要與現(xiàn)有的路由器和網(wǎng)橋等設備兼容。因此EPON必須具有仿真成標準的P2P LAN或共享LAN的能力。本文給出了EPON設備的設計方案,該方案在OLT和ONU中分別增加了反射和過濾功能,以實現(xiàn)P2P LAN仿真(P2PE)和共享LAN仿真(SE)?!?br>
P2PE和SE
所謂P2PE,就是仿真EPON外部的某個節(jié)點與EPON內(nèi)部的某個ONU之間的點到點通信;或者是EPON內(nèi)部的某兩個ONU之間的點到點通信。所謂SE就是仿真EPON內(nèi)部的ONU之間的多播或廣播?! ?br>
從上面對P2PE和SE的定義來看,要在EPON中實現(xiàn)P2PE和SE,必須解決以下三個問題:
首先,EPON下行方向是廣播發(fā)送,非常適合于單拷貝廣播(SCB),但是卻不能進行點到點的通信。為了在OLT和ONU之間提供P2PE業(yè)務,就必須在OLT和ONU之間建立一個虛擬的P2P鏈路,即邏輯鏈路,并由LLID來標識。
第二,由于各個ONU之間沒有直接的物理連接,ONU之間的通信要通過OLT進行中轉,因此OLT必須具備將來自某一個ONU的幀反射到除了源ONU外的其它ONU的能力。
第三,為了能夠最大限度地利用EPON下行信道的廣播特性,實現(xiàn)單拷貝廣播,除了為每一個點到點的邏輯鏈路指定一個LLID外,EPON中還要定義一個通用的廣播LLID。此外,通用的廣播LLID還可以用來區(qū)分是EPON內(nèi)部ONU發(fā)送的廣播幀,還是EPON外部節(jié)點發(fā)送的廣播幀。EPON外部節(jié)點所發(fā)送的廣播幀,可以被EPON內(nèi)部所有的ONU接收,這種廣播幀可以用通用廣播LLID來標識;而對于EPON內(nèi)部ONU所發(fā)出的廣播幀,由于它不能被源ONU所接收,因而,這種反射幀不能使用通用廣播LLID來標識,而必須使用源ONU的LLID,還要另定義一個模式比特(MB),來表示反射幀是單播還是廣播?! ?br>
P2PE和SE的系統(tǒng)方案
我們提出了一套EPON設備(OLT和ONU)的設計方案,見圖1。需要說明的是,為了能突出本文的重點,我們在圖1中省略了EPON系統(tǒng)的其他功能,如時分多址接入(
TDMA)、帶寬分配、ONU的測距等?! ?br>
圖1的(a)和(b)中,EPON PHY模塊為OLT和ONU提供符合IEEE 802.3ah草案1.3的1000BASE-PX光接口。幀接收(FR)模塊和幀發(fā)送(FT)模塊完成與標準的全雙工
千兆以太網(wǎng)MAC相同的功能。簡單地說,F(xiàn)R去除接收到的幀的前導碼,完成CRC校驗,然后將幀傳送給解析/復用模塊;FT在要發(fā)送的幀中加上前導碼和CRC,然后送交給PHY發(fā)送。解析模塊負責對接收到的幀的類型進行解析,然后送往不同的電路。復用模塊按照一定的順序,調(diào)度不同類型的幀進行發(fā)送。網(wǎng)絡側接口和用戶側接口都可以看作是普通的以太網(wǎng)二層或三層交換平臺。OLT的網(wǎng)絡側接口為OLT提供1000BASE-X或1000BASE-T的上聯(lián)接口。ONU的用戶側接口可以提供若干個10/100M的以太網(wǎng)接口?!?br>
上述若干模塊的功能都是在OLT和ONU之間傳輸以太網(wǎng)包所必須的功能,我們稱之為基本功能模塊。而OLT中的發(fā)現(xiàn)模塊、地址學習與反射模塊、反射數(shù)據(jù)幀緩存以及ONU中的請求注冊模塊、幀過濾功能模塊則是完成ONU的注冊、LLID的分配以及反射功能的關鍵模塊?!?br>
1)發(fā)現(xiàn)模塊和注冊模塊
發(fā)現(xiàn)模塊和注冊模塊的主要功能就是完成ONU的注冊和LLID的分配。EPON上行由多個ONU以TDMA方式共享。為了避免上行數(shù)據(jù)發(fā)生沖突,并提高效率,ONU的上行發(fā)送是在OLT的控制下進行的。OLT要將所有在線的ONU都登記在冊,并根據(jù)一定的帶寬分配算法,為每一個在線的ONU分配發(fā)送窗口。沒有獲得授權的ONU不能發(fā)送任何數(shù)據(jù)。因此,新連接到網(wǎng)絡中的ONU,必須首先完成發(fā)現(xiàn)和注冊過程,該過程同時也是建立邏輯鏈路和分配LLID的過程。一旦邏輯鏈路建立后,ONU就能在OLT為它指定的時間內(nèi)享用上行帶寬資源。在發(fā)現(xiàn)和注冊過程中使用到了四個MPCP消息:GATE、REGISTER_REQ、REGISTER、REGISTER_ACK?! ?br>
OLT中的發(fā)現(xiàn)模塊將要定期或不定期地開發(fā)現(xiàn)窗,即廣播發(fā)現(xiàn)GATE消息,為剛上線還沒有注冊的ONU提供注冊的機會。當一個未注冊的ONU接收到了發(fā)現(xiàn)GATE消息后,其注冊模塊就在發(fā)現(xiàn)窗時間內(nèi)向OLT反饋一個REGISTER_REQ消息。在一個發(fā)現(xiàn)窗內(nèi),所有未注冊的ONU都可以向OLT提出注冊請求,這就有可能產(chǎn)生碰撞。因此,為了降低碰撞的概率,縮短注冊成功的時間,ONU的注冊模塊在發(fā)送REGISTER_REQ消息之前都要隨機延遲一段時間?! ?br>
在發(fā)出了發(fā)現(xiàn)GATE后,OLT的發(fā)現(xiàn)模塊可能會成功地接收到多個ONU的REGISTER_REQ消息。它將按照先來先服務的順序處理這些消息。一旦OLT接受了某一個ONU的注冊請求后,其發(fā)現(xiàn)模塊就會為它分配一個LLID,并通過REGISTER消息將這個LLID傳遞給該ONU。ONU中的注冊模塊接收到這個LLID后,就將它存放到LLID寄存器中。至此,這個ONU與OLT之間的邏輯鏈路就已經(jīng)建立成功。注冊模塊將在這個邏輯鏈路上向OLT發(fā)送REGISTER_ACK消息。OLT的發(fā)現(xiàn)模塊接收到這個確認消息后,就表示這個ONU的注冊過程已經(jīng)完成。OLT就會在今后的時間內(nèi)為這個ONU安排上行發(fā)送授權。
2)OLT中的地址學習與反射(AL&R)模塊
AL&R模塊只存在于OLT中,它主要完成三個功能:MAC地址和LLID的學習、反射幀檢查、為將要發(fā)送的下行幀查找LLID?!?br>
a)MAC地址和LLID的學習
學習的目的是為了實現(xiàn)上行幀的反射功能,因此AL&R模塊只學習來自ONU的上行幀的源地址(SA)和LLID,而不學習下行幀。學習的結果存放在一個地址表中。該地址表包括兩欄:MAC地址欄和LLID欄,作用是將MAC地址與LLID值對應起來。由于一個ONU可以連接多個用戶設備,因此MAC地址與LLID之間不是一一對應的,而是多個MAC地址對應一個LLID。
b)反射幀檢查
AL&R模塊的另一個功能是從接收到的上行數(shù)據(jù)幀中找出需要反射的幀,然后通知解析模塊將該幀存放到反射數(shù)據(jù)幀緩存中,以便實現(xiàn)ONU之間的通信。為此,AL&R模塊要檢查接收到的上行幀的目的地址(DA)。如果DA是單播且能夠在地址表中找到,說明該幀的目的設備是EPON內(nèi)部用戶。那么這個幀將要被反射回EPON,AL&R模塊就通知解析模塊將該幀存放到反射數(shù)據(jù)幀緩存中。如果DA是廣播,那么這個幀即要送到上行數(shù)據(jù)幀緩存中,又要送到反射數(shù)據(jù)幀緩存中。
c)為將要發(fā)送的下行幀查找LLID
下行方向的幀有兩種,分別存放在下行數(shù)據(jù)幀緩存和反射數(shù)據(jù)幀緩存中。下行數(shù)據(jù)幀緩存中的幀是來自EPON外部節(jié)點的幀,而反射數(shù)據(jù)幀緩存中的幀是將要被反射的上行幀。AL&R模塊對這兩種類型的幀的處理是不一樣的,如圖2所示。對于來自下行數(shù)據(jù)幀緩存中的幀,如果是單播幀,AL&R模塊將其DA作為索引在地址表中查找對應的LLID。如果DA在地址表中,就將對應的LLID值插入到幀的前導碼中,模式比特設置為單播。如果DA不在地址表中,或者這個幀是一個廣播幀,那么就使用一個通用的廣播LLID值,模式比特設置為廣播。對于來自反射數(shù)據(jù)幀緩存中的幀,如果是單播幀,則方法同上;如果是廣播幀,則要根據(jù)SA地址來查找LLID,且模式比特設置為廣播?! ?br>
3)ONU中的幀過濾模塊
如前所述,由OLT發(fā)出的下行幀可以到達所有的ONU。因此ONU要將不屬于自己的包過濾掉,具體方法如圖3所示。當有一個新的下行幀到達時,幀過濾模塊要檢查前導碼中的LLID和模式比特。如果該幀是單播幀,且LLID與ONU的LLID相匹配,就接收這個幀,否則就丟棄這個幀;如果該幀是廣播幀,且LLID為通用的廣播LLID或者是其它ONU的單播LLID,就接收這個幀;如果該幀是廣播幀,但是LLID等于本ONU的LLID,就說明這個幀原本是本ONU發(fā)出的廣播幀,因此ONU就要丟棄這個幀?! ?br>
本文介紹的這種在EPON中實現(xiàn)反射和過濾技術的設計方案不僅使EPON具有了與現(xiàn)有路由器和網(wǎng)橋等設備互通的能力,同時又能最大限度地利用EPON的下行廣播能力。
楊柳:華中科技大學電子與信息工程系博士研究生,主要研究方向為
寬帶接入網(wǎng)?! ?br>