王立軍 姚 琨 曹 寶
【摘要】WiMAX系統(tǒng)在媒質(zhì)接入控制層引入ARQ機(jī)制,提高了系統(tǒng)的可靠性。文章首先分析ARQ機(jī)制的基本原理,然后針對(duì)如何在WiMAX系統(tǒng)中實(shí)現(xiàn)ARQ機(jī)制進(jìn)行詳細(xì)描述,為相關(guān)工程技術(shù)人員提供方案設(shè)計(jì)的參考。
【關(guān)鍵詞】WiMAXARQMAC
1 引言
WiMAX系統(tǒng)媒質(zhì)接入控制(MAC)層協(xié)議是面向連接的。MAC層對(duì)無(wú)線資源的使用進(jìn)行調(diào)度并根據(jù)業(yè)務(wù)不同提供QoS保證,通過采用鏈路自適應(yīng)技術(shù)和自動(dòng)請(qǐng)求重傳(ARQ)技術(shù)提供較高的頻譜效率。WiMAX系統(tǒng)在鏈路層引入ARQ機(jī)制,減少到達(dá)網(wǎng)絡(luò)層的信息差錯(cuò),大大提高了系統(tǒng)的業(yè)務(wù)吞吐量[1]。
2 ARQ介紹
ARQ機(jī)制是對(duì)發(fā)送端發(fā)來(lái)的數(shù)據(jù)包,若接收端正確接收,則返回一個(gè)確認(rèn)消息ACK;否則返回否認(rèn)消息NACK。若返回NACK消息,發(fā)送端重發(fā)相應(yīng)的數(shù)據(jù)包。ARQ機(jī)制降低了帶寬的利用率,但能夠提高接收的可靠性。根據(jù)重傳方式,ARQ機(jī)制可分為3類[1]:
(1)停止等待ARQ協(xié)議
發(fā)送端每發(fā)送一個(gè)數(shù)據(jù)包,就停下來(lái)等待接收端反饋。若收到NACK,則重傳上次發(fā)送的數(shù)據(jù)包;若收到ACK,則開始發(fā)送新的數(shù)據(jù)包。該協(xié)議對(duì)發(fā)送端和接收端的緩存能力要求低,但是信道利用率極低,造成了資源的極大浪費(fèi)。
(2)連續(xù)ARQ協(xié)議
連續(xù)ARQ協(xié)議采取在發(fā)送方發(fā)完一幀后,不等待ACK的到來(lái),直接傳送下一幀。幀的順序號(hào)用多個(gè)比特表示,以使發(fā)送方連續(xù)發(fā)送的若干幀都能分配不同的順序號(hào)。連續(xù)ARQ協(xié)議提高了信道利用率,但出現(xiàn)差錯(cuò)時(shí),即使僅1幀出錯(cuò),也要重傳N幀,從這個(gè)意義上說(shuō)又降低了信道利用率。
(3)選擇性重傳ARQ協(xié)議
選擇性重傳ARQ協(xié)議可以接收亂序幀。在發(fā)送端和接收端各維護(hù)一個(gè)緩存表,若收到接收端返回的ACK,發(fā)送端刪除對(duì)應(yīng)的數(shù)據(jù)包;否則,發(fā)送端重傳對(duì)應(yīng)的數(shù)據(jù)包,同時(shí)繼續(xù)按當(dāng)前順序發(fā)送新的數(shù)據(jù)包。選擇性重傳ARQ協(xié)議具有最高的信道利用率。
3 WiMAX中的ARQ機(jī)制
WiMAX系統(tǒng)采用選擇性重傳ARQ機(jī)制,ARQ的實(shí)施基于每個(gè)連接,在連接建立的時(shí)候協(xié)商好ARQ操作。
對(duì)于支持ARQ的連接,可選擇支持分段拆分。允許分段時(shí),發(fā)送端將把MAC SDU根據(jù)ARQ_BLOCK_SIZE參數(shù)拆分成多個(gè)部分分開傳輸。不采用分段時(shí),對(duì)每個(gè)連接的操作與采用連接時(shí)類似,此時(shí)不管協(xié)商的塊的大小,每個(gè)用于傳輸?shù)亩味紤?yīng)該是包括整個(gè)SDU的所有的數(shù)據(jù)塊。ARQ反饋消息可作為單獨(dú)的MAC管理消息發(fā)送,也可在已有連接上捎帶發(fā)送。
3.1 ARQ參數(shù)
ARQ參數(shù)都要在連接建立時(shí)通過動(dòng)態(tài)服務(wù)流建立或修改消息來(lái)確定,主要參數(shù)如下:
(1)BSN:ARQ塊的序列號(hào),11 bits;
(2)ARQ_BSN_MODULUS:允許的BSN值的個(gè)數(shù),取值2048;
(3)ARQ_WINDOW_SIZE:任何時(shí)間內(nèi),沒有收到確認(rèn)的ARQ塊的最大數(shù)目;
(4)ARQ_BLOCK_LIFETIME:ARQ塊的最大生存時(shí)間;
(5)ARQ_RETRY_TIMEOUT:發(fā)送端等待重發(fā)的最小時(shí)間;
(6)ARQ_BLOCK_SIZE:將SDU分成一組ARQ塊的大小;
(7)ARQ_TX_WINDOW_START:所有BSN在ARQ_TX_WINDOW_START-1之前的ARQ塊都收到確認(rèn)了;
(8)ARQ_TX_NEXT_BSN:下一個(gè)將要發(fā)送塊的BSN;
(9)ARQ_RX_WINDOW_START:所有BSN在ARQ_RX_WINDOW_START-1之前的ARQ塊均被正確接收了;
(10)ARQ_RX_HIGHEST_BSN:接收到的塊的最高BSN值加1。
3.2 ARQ塊的使用
一個(gè)MAC SDU按ARQ_BLOCK_SIZE的大小被分成多個(gè)塊,SDU長(zhǎng)度不是ARQ_BLOCK_SIZE整數(shù)倍時(shí),余下的部分單獨(dú)構(gòu)成一個(gè)塊。一旦一個(gè)SDU分成了一組塊,這組拆分在所有塊被接收端成功接收之前或者被發(fā)送端丟棄之前都有效。用于發(fā)送或重傳的塊都被封裝在一個(gè)MAC PDU里,發(fā)送端決定曾在一個(gè)PDU里發(fā)送的塊是否仍在一個(gè)PDU里重傳。
3.3 ARQ反饋模式
WiMAX系統(tǒng)中,定義了選擇性ACK、累積性ACK、選擇性和累積性結(jié)合的ACK、帶有塊序列的累積性ACK[2]。接收端利用不同的反饋類型,采用不同方式告知發(fā)送端ARQ塊的接收情況,提高了系統(tǒng)的靈活性。詳細(xì)的ACK描述如圖1所示。本文設(shè)計(jì)采用選擇性和累積性結(jié)合的ACK進(jìn)行反饋,不僅節(jié)省信道資源,同時(shí)發(fā)送端能夠快速查找到哪些數(shù)據(jù)包出錯(cuò)。
圖1 ARQ四種反饋模式
3.4 WiMAX中ARQ的設(shè)計(jì)
在WiMAX系統(tǒng)中,實(shí)現(xiàn)ARQ操作的過程是:所有屬于待傳輸隊(duì)列的數(shù)據(jù),發(fā)送之后不立即刪除,添加到已發(fā)送隊(duì)列等待確認(rèn);發(fā)送窗口根據(jù)空中鏈路的傳輸時(shí)延設(shè)定,收發(fā)兩端的緩沖區(qū)大小根據(jù)發(fā)送窗口大小進(jìn)行設(shè)定;對(duì)收到ACK的已發(fā)數(shù)據(jù),從已發(fā)送隊(duì)列刪除;對(duì)收到NACK或超時(shí)的數(shù)據(jù),從已發(fā)送隊(duì)列刪除并添加到重傳隊(duì)列,等待重傳;重傳隊(duì)列優(yōu)先級(jí)高于待傳輸隊(duì)列,傳輸時(shí)優(yōu)先傳輸重傳隊(duì)列數(shù)據(jù),以避免傳輸時(shí)延過長(zhǎng)。
4 WiMAX系統(tǒng)中ARQ實(shí)現(xiàn)
本文設(shè)計(jì)思想是將WiMAX系統(tǒng)中ARQ功能的實(shí)現(xiàn)分成狀態(tài)機(jī)同步管理、發(fā)送狀態(tài)機(jī)和接收狀態(tài)機(jī)三部分。
4.1 狀態(tài)機(jī)同步管理
該部分完成ARQ狀態(tài)機(jī)的同步管理功能。包含兩個(gè)定時(shí)器,分別是發(fā)送狀態(tài)機(jī)同步定時(shí)器和接收狀態(tài)機(jī)同步定時(shí)器。每次發(fā)射機(jī)變量ARQ_TX_WINDOW_START和接收機(jī)變量ARQ_RX_WINDOW_START更新時(shí),定時(shí)器重置為0。當(dāng)定時(shí)器超出ARQ_SYNC_LOSS_TIMEOUT時(shí),發(fā)射狀態(tài)機(jī)或接收狀態(tài)機(jī)將發(fā)起ARQ Reset管理消息,重新建立同步。ARQ Reset管理消息的格式如表1所示:
4.2 發(fā)送狀態(tài)機(jī)
發(fā)送狀態(tài)機(jī)完成對(duì)ARQ塊的發(fā)送,包括:對(duì)已發(fā)送ARQ塊進(jìn)行管理;將已發(fā)送的ARQ塊放入已發(fā)送隊(duì)列;將需要重發(fā)的ARQ塊放入重發(fā)隊(duì)列中并從已發(fā)送隊(duì)列中刪除;對(duì)超時(shí)或者是收到ACK的ARQ塊,將其從已發(fā)送隊(duì)列中刪除;對(duì)接收到的ACK進(jìn)行分析,判斷其BSN值是否有效。該部分通過與匯聚子層模塊通信,接收MAC SDU進(jìn)行傳輸。
4.3 接收狀態(tài)機(jī)
接收狀態(tài)機(jī)實(shí)現(xiàn)對(duì)接收ARQ塊BSN值的分析,判斷是否是需要接收的ARQ,如果是,則產(chǎn)生ACK發(fā)送給發(fā)送端,并將該ARQ塊儲(chǔ)存準(zhǔn)備交給高層處理;否則丟棄該塊,返回發(fā)送端NACK消息。接收狀態(tài)機(jī)的詳細(xì)實(shí)現(xiàn)流程如圖2所示。
4.4 ACK的數(shù)據(jù)結(jié)構(gòu)
本文采用選擇性和累積性結(jié)合ACK作為反饋消息。ACK的數(shù)據(jù)結(jié)構(gòu)定義如下:
typedef struct
{
UINT16CID;
UINT16ACK_Type:2;
UINT16BSN:11;
UINT16Number_of_ACK_Maps:2;
UINT16Last:1;
} ACK_Feedback;
其中CID指明該ACK消息針對(duì)哪一條連接;ACK_Type指明該ACK消息是何種反饋模式,本文取值為0x2;BSN值表明該ARQ塊和它之前的所有數(shù)據(jù)塊均已正確接收;Number_of_ACK_Maps指明選擇性ACK Map的個(gè)數(shù),最大值為4;Last表明該ACK是否是最后一個(gè)反饋信息元,0表示否,1表示是。
選擇性ACK Map數(shù)據(jù)結(jié)構(gòu)定義如下:
typedef struct
{
UINT16 feedback_bit1:1;
UINT16 feedback_bit2:1;
···
UINT16 feedback_bit15:1;
UINT16 feedback_bit16:1;
} SELECT_ACK;
其中,每一比特位與BSN相對(duì)應(yīng),取1代表對(duì)應(yīng)的BSN塊正確接收,取0代表接收錯(cuò)誤;并且第一個(gè)比特位始終取值為1,與該ACK反饋信息元中的BSN塊相對(duì)應(yīng)。
5 結(jié)束語(yǔ)
本文基于對(duì)IEEE 802.16e協(xié)議ARQ機(jī)制的深入研究,提出ARQ獨(dú)立維護(hù)收發(fā)隊(duì)列以及采用選擇性和累積性結(jié)合ACK反饋的思想,從簡(jiǎn)化系統(tǒng)設(shè)計(jì)和提高系統(tǒng)信道利用率兩方面進(jìn)行了改善。
參考文獻(xiàn)
[1]IEEE Standard 802.16.2004. IEEE Standard for Local and Metropolitan Area Networks. Part 16: Air Interface for Fixed Broadband Wireless Access Systems[S].
[2]IEEE Standard 802.16e. 2005. Amendment to IEEE Standard for Local and Metropolitan Area Networks. Part 16: Air Interface for Fixed Broadband Wireless Access Systems Physical and Medium Access Control Layers for Combined Fixed and Mobile Operation in Licensed Bands[S].★
【作者簡(jiǎn)介】
王立軍:碩士研究生,就讀于西南交通大學(xué),主要研究方向?yàn)?移動(dòng)通信,B3G/4G系統(tǒng)的先進(jìn)空口技術(shù)。
姚琨:碩士研究生,就讀于西南交通大學(xué),主要研究方向是移動(dòng)通信。
曹寶:工程師,現(xiàn)工作于中國(guó)電子科技集團(tuán)公司第三十研究所,主要從事通信產(chǎn)品的硬件開發(fā)及設(shè)計(jì)工作。