EPON中一種基于QoS的MAC協(xié)議設(shè)計
引言:
本文引用地址:http://www.ex-cimer.com/article/201706/357846.htmEPON是由IEEE802.3 EFM工作組(Ethernet in the First Mile Study Group)引入的一種新接入技術(shù)標(biāo)準(zhǔn),主要由光線路終端(OLT)、光網(wǎng)絡(luò)單元/光網(wǎng)絡(luò)終端(ONU)和光分布網(wǎng)絡(luò)(ODN)組成。OLT放置在中心交換局側(cè)(CO),ONU放置在用戶端。EPON中傳送IEEE802.3規(guī)定的以太數(shù)據(jù)幀。
在下行方向上EPON系統(tǒng)是一個共享介質(zhì)的廣播網(wǎng)絡(luò)。在上行方面EPON系統(tǒng)是一個多點到點的結(jié)構(gòu),多個ONU共同占用一個標(biāo)準(zhǔn)信道,因此OLT中必須采用一定的MAC協(xié)議控制信道的分配以避免多個ONU同時傳送數(shù)據(jù)造成的以太數(shù)據(jù)幀的碰撞,通常采用給每個ONU分配不同的傳輸窗口(或時隙)來實現(xiàn)。
上行方向時隙的分配既可以采用固定的時隙分配又可以采用動態(tài)的時隙分配。固定時隙酚算法簡單、容易實現(xiàn),但沒有實現(xiàn)帶寬的統(tǒng)計復(fù)用,因此帶寬的利用率低。同時其傳輸周期是固定的,造成一些高優(yōu)先級的數(shù)據(jù)的傳輸延時增大,使得網(wǎng)絡(luò)的QoS下降。在文獻[2]中提到的輪詢帶寬分配算法(IPACT)是一種方從形式的動態(tài)帶寬分配算法,該算法有效地提高了上行信道的利用率,但是由于輪詢周期的變化和沒有區(qū)分?jǐn)?shù)據(jù)的優(yōu)先級,使其不適用于對延時和抖動敏感的服務(wù)。
本文提出了一種基于EPON的服務(wù)質(zhì)量(QoS)的動態(tài)帶寬分配算法,通過將數(shù)據(jù)包分為不同的優(yōu)先級和首先傳送對于延時和抖動要求嚴(yán)格的數(shù)據(jù)來提高整個EPON網(wǎng)絡(luò)的利用率和服務(wù)質(zhì)量(QoS)。本文將服務(wù)分為三個不同的優(yōu)先級。高優(yōu)先級的數(shù)據(jù)始終位于一幀數(shù)據(jù)的開始處,有效地降低了高優(yōu)先級數(shù)據(jù)延時和延時抖動,同時當(dāng)有新的ONU加入初始化時,高優(yōu)先數(shù)據(jù)沒有被打斷,保證了其低時延的要求;在OLT端控制優(yōu)先級數(shù)據(jù)的接入量,防止了由于帶寬分配不公正造成的丟包現(xiàn)象。最后,文章對提出的算法進行了理論上的分析。
1 服務(wù)優(yōu)先級的劃分和ONU的隊列管理
?。?)在本文中將所有的數(shù)據(jù)分為三個優(yōu)先級。
第一是加速轉(zhuǎn)發(fā)服務(wù)(EF),這是最高的優(yōu)先級。它對延時和抖動都有嚴(yán)格的要求,音頻、視頻等實時性要求較高的服務(wù)都屬于這一優(yōu)先級。
第二是保證轉(zhuǎn)發(fā)服務(wù)(AF)。這一優(yōu)先級對于延時和抖動沒有嚴(yán)格的要求,但是要求保證數(shù)據(jù)最終被送到接收者,對丟包比較敏感。實時可變比特速率的數(shù)據(jù)都屬于該優(yōu)先級。
第三是盡力而為服務(wù)(BF),這是最低的優(yōu)先級。它對延時和抖動不敏感,同時不需要保證帶寬,傳送數(shù)據(jù)時盡網(wǎng)絡(luò)的最大努力去傳送數(shù)據(jù)。突發(fā)性較高的數(shù)據(jù)和未標(biāo)明比特率的數(shù)據(jù)都屬于該優(yōu)先級。
?。?)ONU的隊列管理
為了保證帶寬分配的公正性提高網(wǎng)絡(luò)的吞吐量,在ONU端對數(shù)據(jù)包按其優(yōu)先級重新排序。在ONU中,每個優(yōu)先級都有自己的緩存區(qū)。用戶端數(shù)據(jù)到達(dá),根據(jù)該數(shù)據(jù)的優(yōu)先級,按先入先出的規(guī)則插入到對應(yīng)緩存區(qū)的屬部。如圖1所示。
在本文中數(shù)據(jù)優(yōu)先級的管理按IEEE802.1d定義的優(yōu)先級排隊管理規(guī)定,在高優(yōu)先級緩存區(qū)溢出的情況下,有高優(yōu)先級的數(shù)據(jù)到達(dá)可以占用低優(yōu)先級的緩存區(qū),高優(yōu)先級的數(shù)據(jù)比低優(yōu)先級的數(shù)據(jù)先得到服務(wù)。
2 MAC協(xié)議設(shè)計
2.1 動態(tài)帶寬分配算法
傳統(tǒng)的帶寬分配算法采用基于時隙的MAC協(xié)議。在這種方法中,一幀數(shù)據(jù)中分配給每個ONU的時隙與ONU的請求成比例。所有優(yōu)先級的數(shù)據(jù)都被放到一個時隙中。采用這種方法,同一個ONU在不同的數(shù)據(jù)幀中,其時隙的開始時間隨著數(shù)據(jù)的突發(fā)性和數(shù)據(jù)包的長度而發(fā)生很大的變化,從而造成高優(yōu)先級數(shù)據(jù)延時的抖動增加。如圖2(a)所示。
在本文提出的動態(tài)帶寬分配算法中,將一幀數(shù)據(jù)分為高、中、低優(yōu)先級部分。對于高優(yōu)先級部分采用如下的方法分配帶寬:
BHi=Hi+Ai
BHi為OLT分配給ONU的高優(yōu)級的帶寬;
Hi為ONU請求分配的帶寬;
Ai為等待時間內(nèi)到達(dá)的高優(yōu)先級的數(shù)據(jù)長度。
由于不能準(zhǔn)備測定Ai,同時高優(yōu)先級的數(shù)據(jù)可以看作速率近似恒定的數(shù)據(jù),所以用上一輪在等待時間內(nèi)到達(dá)的數(shù)據(jù)長度近似估計Ai。即:
Ai(n)=Ei(n-1)
Ei(n-1)為上一輪等待時間內(nèi)到達(dá)的高優(yōu)先級的數(shù)據(jù)的準(zhǔn)確長度。
由于高優(yōu)先級數(shù)據(jù)近似認(rèn)為是恒定速率的數(shù)據(jù),因此每一幀中分配給ONU的BHi近似相等??梢哉J(rèn)為每幀中高優(yōu)先級數(shù)據(jù)開始的時間基本固定,不會發(fā)生大的變化。從而,降低了高優(yōu)先級數(shù)據(jù)的時延抖動。如圖2(b)所示。
對于中優(yōu)先級的數(shù)據(jù),為了保證帶寬分配的公平性,降低中優(yōu)先級數(shù)據(jù)的丟包率,筆者通過OLT控制每個ONU中優(yōu)先級數(shù)據(jù)的接入量,采用如下的帶寬分配算法:
如果i=N∑i=0 Mi
BMi為分配給中優(yōu)先級的帶寬;
Mi為ONU請求帶寬;
Btatol為總的可用帶寬。
給每個ONU分配中優(yōu)先級帶寬是請求的帶寬的一定比例,它控制了每個ONU中優(yōu)先級數(shù)據(jù)的接入量,從而降低由于個別ONU數(shù)據(jù)量過多造成其它ONU丟包率增加的概率,同時保證了對每個ONU帶寬分配的公證性。
對于低優(yōu)先級的數(shù)據(jù),在前兩級數(shù)據(jù)傳送完畢有剩余帶寬的情況下再進行分配,其帶寬分配接等比例的分配方法分配。即
BLi為分配給低優(yōu)先級的帶寬。
對中、低優(yōu)先級的帶寬分配,是在搜集到所有ONU的請求信息后才進行。因此,在搜索到所有數(shù)據(jù)到第一個ONU收到OLT發(fā)送的準(zhǔn)許消息,中間存在一段包括帶寬分配計算時間和環(huán)路延時的空白時間。同時,對于新的算法中數(shù)據(jù)幀被分成了兩個獨立的部分,可以利用高優(yōu)先級數(shù)據(jù)的傳送過程,計算中低優(yōu)先級的帶寬分配并給第一個ONU發(fā)送準(zhǔn)許消息。從而,有效地解決了空白時間的問題。如圖3所示。
2.2 近似無中斷的開窗法測距
為了保證ONU的即插即用,OLT必須每隔一定的時間,發(fā)送一個廣播GATE消息,用來檢測是否有新的ONU加入。如果有,OLT必須對該ONU初始化,該過程主要包括:對該ONU進行測距,獲得ONU的地址等。一般采用開窗法對ONU初始化。在傳統(tǒng)的帶寬分配算法中,必須停止一切數(shù)據(jù)的傳送,留出特定的時間進行ONU的初始化工作。由此,高優(yōu)先級數(shù)據(jù)傳送被切斷,造成延時加大。
在筆者提出的帶寬分配算法中,數(shù)據(jù)幀分為兩個部分。開窗時可以只利用中低優(yōu)先級部分,而高優(yōu)先級部分分持續(xù)傳送數(shù)據(jù)。由于ONU與OLT的距離為2km~20km,其延時一般在50μs~100μs之間。總的環(huán)球延時一般不超過1ms,而本設(shè)計中一幀數(shù)據(jù)的時間一般為2ms,高優(yōu)先級數(shù)據(jù)量較少,故可以利胳低優(yōu)先級部分開窗完成ONU的初始化,而不必切斷高優(yōu)先級數(shù)據(jù)的傳輸。
3 結(jié)果理論分析
數(shù)據(jù)包的延時主要由三部分組成:數(shù)據(jù)包到達(dá)至請求信息發(fā)送的時間dpoII、ONU請求信息發(fā)送至接收到準(zhǔn)許該數(shù)據(jù)包傳送的時間dcycle和數(shù)據(jù)開始發(fā)送至該數(shù)據(jù)包發(fā)送時數(shù)據(jù)包的等待時間dqueue??偟难訒r是三者之和。如圖5所示。
其中dpoII一般為一幀數(shù)據(jù)時間的一半,即dpoII=T/2;
dcycle一般為一個或幾個循環(huán),但是在筆者提出的算法中對于高優(yōu)先級的數(shù)據(jù)由于準(zhǔn)許的數(shù)據(jù)長度與請求的相同,所以可以認(rèn)為dcycle為0,這就大大降低了高優(yōu)先級數(shù)據(jù)的延時。
Dqueue一般與該數(shù)據(jù)包前數(shù)據(jù)量有關(guān),傳統(tǒng)的算法中其最大值可為(WMAX-Q)/R。其中WMAX為最大準(zhǔn)許長度,Q為該數(shù)據(jù)包的長度,R為數(shù)據(jù)速率。在新的算法中,由于將數(shù)據(jù)幀分為兩部分,高優(yōu)先級數(shù)據(jù)較少,若該數(shù)據(jù)包為高優(yōu)先級數(shù)據(jù),則其前數(shù)據(jù)量減少,從而dqueue減小。
同時通過前面的分析可知,由于在對ONU進行初始化時沒有切斷高優(yōu)先級數(shù)據(jù)的傳送,有效地降低了高優(yōu)先級數(shù)據(jù)的延時;另外由于將數(shù)據(jù)幀分開,有效地降低了高優(yōu)先級數(shù)據(jù)的抖動性。
對于中低優(yōu)先級的數(shù)據(jù),由于其對延時不敏感,但為保證整個網(wǎng)絡(luò)的QoS,必須保證其帶寬分配的公正性,通過前面的分析可知,筆者提出的帶寬分配算法很好地保證了這一點。
本文提出了一種新的帶寬分配算法,該方法區(qū)分不同的優(yōu)先級進行服務(wù),很好地降低了高優(yōu)先級數(shù)據(jù)的延時和延時的抖動性,另外該算法控制中優(yōu)先級數(shù)據(jù)的接入量,保證了中低優(yōu)先級數(shù)據(jù)在每個ONU間帶寬分配的公正性。但是該算法計算量很大,要給每個ONU發(fā)送兩次準(zhǔn)許消息,加重了OLT的計算和發(fā)送數(shù)據(jù)的負(fù)擔(dān)以及ONU讀取信息的負(fù)擔(dān)。該實現(xiàn)方案有待進一步改進。
評論