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