郭夢霞
(陜西職業(yè)技術(shù)學(xué)院 管理系,陜西 西安710000)
隨著商業(yè)往來、節(jié)假日出游等活動(dòng)日益增多的背景下,進(jìn)行有效的會展中心企業(yè)經(jīng)營管理對于提高企業(yè)的利潤有很大幫助[1]。近年來,會展中心企業(yè)發(fā)展速度越來越快,企業(yè)每天的數(shù)據(jù)信息量也越來越大,會展活動(dòng)也越來越頻繁。展覽會館是一個(gè)人員密集、流動(dòng)性較大的地方。這種情況正適合于無線局域網(wǎng)的接入。
隨著市場需求的日益增長及電信市場競爭重心的轉(zhuǎn)移,寬帶無線網(wǎng)絡(luò)得到了迅速發(fā)展和廣泛部署,主要技術(shù)有WiFi和3G。目前,寬帶無線接入基本都是最后一跳采用無線組網(wǎng)方式,這在組網(wǎng)的靈活性、成本投入上不盡如人意,不適用于展會這樣空間大、人員流動(dòng)性強(qiáng)、客流量多、臨時(shí)展館居多的復(fù)雜環(huán)境。
當(dāng)一個(gè)大型展會召開時(shí)[2],在場內(nèi)會有許多記者。正常情況下他們會用相機(jī)拍下現(xiàn)場實(shí)況,寫下文字,然后回去整理文字及沖洗照片,這樣的速度已不能適應(yīng)當(dāng)前信息的傳播速度。現(xiàn)在的要求記者能現(xiàn)場采集所需的新聞,并在現(xiàn)場完成整理修改文字、照片稿件,并將成稿及時(shí)發(fā)往報(bào)社。因此許多記者為了加快圖片資料處理速度,都配備了筆記本和數(shù)字式攝相機(jī),現(xiàn)場處理然后回到住地找電話線去發(fā)送這些稿件。
很多記者需要將現(xiàn)場的實(shí)況整理成文字或者在現(xiàn)場所拍的照片要即時(shí)的傳給自己的報(bào)社。如果采用其它方式可能慢了許多,因此在展館內(nèi)提供上網(wǎng)設(shè)備成了必然趨勢。其次,在展館中,記者流動(dòng)性、移動(dòng)性很大,很難有固定的位置。為了找一個(gè)好鏡頭,或是好的資料,常常在場地周圍來回移動(dòng),采用有線網(wǎng)絡(luò)方案的話是無論如何都不能滿足這種需求的,因此網(wǎng)絡(luò)方案必須用無線網(wǎng)絡(luò)方案來解決,而且要讓記者們的筆記本能實(shí)現(xiàn)漫游的功能[3]。
基于令牌的MAC層協(xié)議是一個(gè)更好的信道接入策略。其思想是通過得到令牌來獲得共享信道的接入機(jī)制,提供了一種公平利用信道的一種方法,節(jié)點(diǎn)只有獲得了令牌,才允許發(fā)送數(shù)據(jù),并可持有令牌一段時(shí)間。傳輸完成后,節(jié)點(diǎn)發(fā)送一個(gè)控制包,將令牌發(fā)給下一節(jié)點(diǎn)。若節(jié)點(diǎn)收到令牌,但沒有數(shù)據(jù)發(fā)送,則轉(zhuǎn)移令牌到下一節(jié)點(diǎn)。MAC層模塊的約束是,要兼顧公平和效率[4]。
MAC層模塊使用無線令牌環(huán)協(xié)議機(jī)制,其思想是通過得到令牌來獲得共享信道的接入機(jī)制,提供了一種公平利用信道的一種方法,節(jié)點(diǎn)只有獲得了令牌,才允許發(fā)送數(shù)據(jù),并可持有令牌一段時(shí)間。傳輸完成后,節(jié)點(diǎn)發(fā)送一個(gè)控制包,將令牌發(fā)給下一節(jié)點(diǎn)。若節(jié)點(diǎn)收到令牌,但沒有數(shù)據(jù)發(fā)送,則轉(zhuǎn)移令牌到下一節(jié)點(diǎn)。WTRP協(xié)議分為令牌競爭(網(wǎng)絡(luò)初始化,令牌的形成)、令牌的獲取、數(shù)據(jù)幀的傳送、令牌維護(hù)等幾個(gè)部分。
如圖1所示,節(jié)點(diǎn)D在0時(shí)刻發(fā)送了序號為0的令牌,節(jié)點(diǎn)E在1時(shí)刻發(fā)送了序號為1的令牌,但是節(jié)點(diǎn)D在節(jié)點(diǎn)F和節(jié)點(diǎn)A的通信范圍之外,即節(jié)點(diǎn)D檢測不到F、A之間的令牌。但當(dāng)節(jié)點(diǎn)B發(fā)送令牌時(shí),D檢測到令牌的序號增大到3,則說明E節(jié)點(diǎn)和B節(jié)點(diǎn)之間存在兩個(gè)節(jié)點(diǎn)。
圖1 數(shù)據(jù)解析模塊功能表Fig.1 The function of data analysis module table
將令牌應(yīng)用在無線局域網(wǎng)中,由于無線的傳播環(huán)境,對令牌的管理提出了新的要求:
1)擁有令牌的節(jié)點(diǎn)可能會與下一節(jié)點(diǎn)斷開連接,導(dǎo)致了令牌的丟失;
2)擁有令牌的節(jié)點(diǎn)會與整個(gè)網(wǎng)絡(luò)斷開連接,導(dǎo)致了整個(gè)網(wǎng)絡(luò)丟失了令;
3)網(wǎng)絡(luò)被重新劃分,則新產(chǎn)生的網(wǎng)絡(luò)需要產(chǎn)生新的令牌;
4)節(jié)點(diǎn)只能和一個(gè)節(jié)點(diǎn)通信時(shí),就不能構(gòu)成一個(gè)環(huán)形拓?fù)洌?/p>
5)當(dāng)兩個(gè)或多個(gè)使用同一信道的令牌環(huán)在通信范圍內(nèi)時(shí),會導(dǎo)致沖突,除非使用令牌合并機(jī)制或更換信道;
6)令牌的合并和丟失令牌的恢復(fù)會導(dǎo)致一個(gè)令牌環(huán)里有多個(gè)令牌。
WTRP最大的亮點(diǎn)在于解決了部分鏈接問題。優(yōu)點(diǎn)在于:相對于單節(jié)點(diǎn)是非常健壯的,支持復(fù)雜的拓?fù)洵h(huán)境,所有的節(jié)點(diǎn)不需要全部連接構(gòu)成全通網(wǎng),并可以支持QOS保證。節(jié)點(diǎn)加入令牌時(shí),僅要求加入節(jié)點(diǎn)與前節(jié)點(diǎn)和下一跳節(jié)點(diǎn)連接,加入節(jié)點(diǎn)通過檢查連接表來獲得連通性信息。當(dāng)節(jié)點(diǎn)要離開令牌環(huán)時(shí),離開節(jié)點(diǎn)的前一節(jié)點(diǎn)通過查找連接表來查找下一跳節(jié)點(diǎn)。(節(jié)點(diǎn)加入和刪除機(jī)制)。節(jié)點(diǎn)只能響應(yīng)優(yōu)先級更高的令牌,更好的支持QOS保證。并且,WTRP也有機(jī)制來保證令牌地址的唯一性,支持相近的多令牌環(huán)操作。令牌環(huán)中的節(jié)點(diǎn)輪流的發(fā)送數(shù)據(jù),吞吐量的分配更加靈活和公平。
利用優(yōu)先級來解決多令牌環(huán)的問題,由generation sequence number和令牌環(huán)地址決定了令牌的優(yōu)先級。擁有更大代序號的令牌優(yōu)先級更高。當(dāng)節(jié)點(diǎn)認(rèn)為下一跳節(jié)點(diǎn)不可達(dá)時(shí),令牌環(huán)恢復(fù)機(jī)制就被調(diào)用,節(jié)點(diǎn)會嘗試形成新的令牌環(huán)來恢復(fù)通信。
相對于802.11,WTRP通過減少了由于碰撞的重傳,從而提高了效率。令牌的管理策略:
1)所有的令牌環(huán)均有唯一的令牌環(huán)地址。
2)保證令牌環(huán)內(nèi)只有唯一的令牌。
3)保證令牌環(huán)是恰當(dāng)?shù)摹?/p>
4)管理令牌環(huán)內(nèi)節(jié)點(diǎn)的加入和退出。
在WTRP系統(tǒng)中,按照某種分群算法將網(wǎng)絡(luò)初始化為若干環(huán)形拓?fù)浣Y(jié)構(gòu)的子網(wǎng)絡(luò),如圖1所示。WTRP協(xié)議分為令牌競爭(網(wǎng)絡(luò)初始化,令牌的形成)、令牌的獲取、數(shù)據(jù)幀的傳送、令牌維護(hù)等幾個(gè)部分[5]。
令牌競爭。令牌競爭過程也就是令牌環(huán)的形成過程。WTRP系統(tǒng)通過某種算法競爭出一個(gè)類似群首的節(jié)點(diǎn)g,g成為該令牌環(huán)的擁有者。g負(fù)責(zé)生成一個(gè)初始化令牌消息claim_token,全網(wǎng)廣播至其他節(jié)點(diǎn),告知其他節(jié)點(diǎn)g為環(huán)首節(jié)點(diǎn)。節(jié)點(diǎn)i收到后,采用同樣的方式進(jìn)行標(biāo)記,并告知g節(jié)點(diǎn)i節(jié)點(diǎn)為后繼節(jié)點(diǎn)。若節(jié)點(diǎn)k的后繼節(jié)點(diǎn)是g,當(dāng)g節(jié)點(diǎn)收到鄰居節(jié)點(diǎn)k發(fā)送的后繼節(jié)點(diǎn)消息后,令牌環(huán)網(wǎng)絡(luò)形成,該令牌環(huán)的地址既是g的MAC地址。
令牌的獲取。獲取令牌實(shí)際上就是獲得信道的使用權(quán),由令牌網(wǎng)絡(luò)的擁有者即群首首先獲得令牌,進(jìn)行數(shù)據(jù)傳輸。環(huán)上節(jié)點(diǎn)依照傳輸順序依次獲得令牌。當(dāng)某個(gè)節(jié)點(diǎn)如i的前驅(qū)節(jié)點(diǎn)將令牌傳送給i節(jié)點(diǎn)后,i節(jié)點(diǎn)便獲得信道使用權(quán),可以進(jìn)行數(shù)據(jù)發(fā)送,如果沒有服務(wù)需求,則將令牌繼續(xù)往下傳遞,轉(zhuǎn)交給i節(jié)點(diǎn)的后繼節(jié)點(diǎn)。
數(shù)據(jù)幀的傳送。當(dāng)節(jié)點(diǎn)i獲得令牌后即組織數(shù)據(jù)發(fā)送,然后將令牌再傳遞給其后繼節(jié)點(diǎn),從而使環(huán)上每個(gè)節(jié)點(diǎn)都公平地獲得信道的使用權(quán)。
令牌維護(hù)。由于在會展中心的環(huán)境中,節(jié)點(diǎn)(記者使用的便攜網(wǎng)絡(luò)設(shè)備)的移動(dòng)性,可能導(dǎo)致令牌的丟失或多個(gè)令牌的出現(xiàn),令牌維護(hù)就是為了解決這個(gè)問題。首先確定,等待確認(rèn)的時(shí)間必須大于一個(gè)數(shù)據(jù)幀在環(huán)上行走一周的時(shí)間。如果令牌沒有丟失,該節(jié)點(diǎn)必然會第二次收到,從而避免產(chǎn)生新的令牌。如果超期沒有收到,則通過競爭產(chǎn)生新令牌。
MAC子層的接口模塊,接收從上層和底層傳過來的數(shù)據(jù)包,并從中提取數(shù)據(jù),判斷數(shù)據(jù)包的類型,分別處理,將數(shù)據(jù)包傳給數(shù)據(jù)處理模塊。在本模塊中,按照節(jié)點(diǎn)的狀態(tài)劃分6個(gè)子模塊,用來識別7種令牌格式,各子模塊如表1所示。
在WTRP協(xié)議中[6],節(jié)點(diǎn)由于數(shù)據(jù)包的接收、數(shù)據(jù)包的發(fā)送、定時(shí)器的超時(shí)而改變狀態(tài)。Floating狀態(tài)和offline狀態(tài)下節(jié)點(diǎn)會監(jiān)聽信道,在此狀態(tài)下,該節(jié)點(diǎn)不屬于任何令牌環(huán)。當(dāng)節(jié)點(diǎn)屬于一個(gè)令牌環(huán)時(shí),節(jié)點(diǎn)在idle狀態(tài)下等待令牌,如果節(jié)點(diǎn)有數(shù)據(jù)發(fā)送則轉(zhuǎn)到have_token狀態(tài)。如果接點(diǎn)還有時(shí)間發(fā)送數(shù)據(jù),則節(jié)點(diǎn)發(fā)送solicit_successor令牌來邀請其他節(jié)點(diǎn)加入令牌環(huán)。如果節(jié)點(diǎn)要加入令牌環(huán),則節(jié)點(diǎn)響應(yīng)solicit_successor令牌,發(fā)送set_successor令牌,并跳到j(luò)oining狀態(tài)。節(jié)點(diǎn)發(fā)送完數(shù)據(jù)并轉(zhuǎn)交令牌后,跳到monitoring狀態(tài),等待確認(rèn)。若令牌環(huán)工作在未飽和條件下,即環(huán)內(nèi)節(jié)點(diǎn)數(shù)目未達(dá)到最大時(shí),節(jié)點(diǎn)會在 idle、have_token、soliciting和 monitoring狀態(tài)下輪轉(zhuǎn)。當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)目達(dá)到最大時(shí),節(jié)點(diǎn)工作在飽和狀態(tài),只能在idle、have_token和monitoring狀態(tài)下輪轉(zhuǎn)。
表1 數(shù)據(jù)解析模塊功能表Tab.1 The function of data analysis module table
圖2 WTRP協(xié)議狀態(tài)機(jī)Fig.2 WTRP protocol state machine
表示了協(xié)議的開始,直接跳到floating狀態(tài)。
節(jié)點(diǎn)的初始化并等待加入令牌環(huán)狀態(tài)。
1)如果節(jié)點(diǎn)是自環(huán)并且處于idle狀態(tài),當(dāng)期檢測到存在其它令牌環(huán)的令牌時(shí),回到floating狀態(tài),并啟動(dòng)claim_token_timer定時(shí)器。
2)若節(jié)點(diǎn)在idle狀態(tài)下未獲得令牌且也不能加入其它令牌環(huán),idle_timer定時(shí)器超時(shí),回到floating狀態(tài)。
3)若節(jié)點(diǎn)在floating狀態(tài)下發(fā)現(xiàn)了其它令牌環(huán)的令牌,則等待其它令牌環(huán)節(jié)點(diǎn)的邀請,延遲發(fā)送數(shù)據(jù),目的是不影響令牌環(huán)的正常操作。
4)若節(jié)點(diǎn)未檢測到任何令牌,claim_token_timer定時(shí)器超時(shí),則跳的idle狀態(tài),產(chǎn)生自環(huán)。
5)若節(jié)點(diǎn)收到了solicit_successor令牌,并且節(jié)點(diǎn)要加入令牌環(huán),則節(jié)點(diǎn)發(fā)送set_successor令牌,并轉(zhuǎn)到j(luò)oining狀態(tài)。
在任何狀態(tài)下,節(jié)點(diǎn)不是自環(huán)的條件下,檢測到另一個(gè)令牌環(huán)的令牌,或者不能轉(zhuǎn)發(fā)令牌到后繼節(jié)點(diǎn),節(jié)點(diǎn)就會轉(zhuǎn)到offline狀態(tài)。
進(jìn)入該狀態(tài)后,重新初始化本節(jié)點(diǎn),清空數(shù)據(jù)隊(duì)列,并啟動(dòng)offline_timer定時(shí)器。該狀態(tài)只能在offline_timer定時(shí)器超時(shí)的情況下回到floating狀態(tài)。
因?yàn)閛ffline_timer定時(shí)器的超時(shí)時(shí)間是Max_Token_Rotation_Time定時(shí)器時(shí)間的兩倍,在offline狀態(tài)下的等待時(shí)間對于令牌環(huán)內(nèi)所有的節(jié)點(diǎn)發(fā)現(xiàn)該節(jié)點(diǎn)離開令牌環(huán)的時(shí)間是足夠的,這是為了防止節(jié)點(diǎn)加入了已經(jīng)關(guān)閉了的令牌環(huán)。
在該狀態(tài)下,節(jié)點(diǎn)一直等待,不做任何事情,直到offline_timer定時(shí)器超時(shí),回到floating狀態(tài)。
初始化contention_timer定時(shí)器,只有floating狀態(tài)下才能回到Joining狀態(tài)。當(dāng)節(jié)點(diǎn)收到solicit_sucessor并決定加入令牌環(huán)時(shí),節(jié)點(diǎn)發(fā)送set_sucessor并回到floating狀態(tài)。
如果節(jié)點(diǎn)收到了set_predecessor令牌,表明連接成功,節(jié)點(diǎn)發(fā)出set_predecessor令牌確定后繼節(jié)點(diǎn),并跳轉(zhuǎn)至monitoring狀態(tài)。若節(jié)點(diǎn)未收到set_predecessor令牌,且contention_timer定時(shí)器超時(shí),表明連接失敗,回到floating狀態(tài)。
發(fā)送完加入請求,等待其他節(jié)點(diǎn)加入狀態(tài),節(jié)點(diǎn)初始化solicit_wait_timer定時(shí)器,并設(shè)置節(jié)點(diǎn)數(shù)目來延遲發(fā)送;若節(jié)點(diǎn)在idle狀態(tài)下收到令牌,檢查自己的發(fā)送隊(duì)列,如果為空,則發(fā)送solicit_successor令牌,并跳轉(zhuǎn)至soliciting狀態(tài);若節(jié)點(diǎn)是自環(huán),則啟動(dòng)solicit_wait_timer定時(shí)器,超時(shí)后發(fā)送solicit_successor令牌,狀態(tài)跳轉(zhuǎn)到soliciting;若節(jié)點(diǎn)在soliciting狀態(tài)下收到了set_successor令牌,表明存在另外的節(jié)點(diǎn)響應(yīng)了該節(jié)點(diǎn)的加入邀請請求,節(jié)點(diǎn)發(fā)送set_predecessor來應(yīng)答該請求,并跳轉(zhuǎn)至monitoring狀態(tài)。
idle空閑狀態(tài),節(jié)點(diǎn)不發(fā)送數(shù)據(jù),在此狀態(tài)下,如果節(jié)點(diǎn)不是自環(huán),節(jié)點(diǎn)啟動(dòng)idle_timer和inring_timer定時(shí)器,否則節(jié)點(diǎn)是自環(huán),則只啟動(dòng)solicit_successor_timer定時(shí)器。
當(dāng)節(jié)點(diǎn)將令牌轉(zhuǎn)發(fā)給后繼節(jié)點(diǎn)時(shí),節(jié)點(diǎn)從idle狀態(tài)跳轉(zhuǎn)到monitoring狀態(tài),等待implicit_ack數(shù)據(jù)包。收到后繼節(jié)點(diǎn)的確認(rèn)包后,節(jié)點(diǎn)回到idle狀態(tài)。
若節(jié)點(diǎn)收到了優(yōu)先級更高的令牌時(shí),低優(yōu)先級令牌被刪除,并發(fā)送token_deleted令牌。若數(shù)據(jù)發(fā)送隊(duì)列為非空,有數(shù)據(jù)發(fā)送,則跳轉(zhuǎn)到have_token狀態(tài)。
如果數(shù)據(jù)發(fā)送隊(duì)列為空,無數(shù)據(jù)發(fā)送時(shí),節(jié)點(diǎn)確定是否發(fā)送solicit_successor令牌來邀請其它節(jié)點(diǎn)加入。若是肯定的,則節(jié)點(diǎn)發(fā)送solicit_successor令牌,并跳到soliciting狀態(tài)。否則,節(jié)點(diǎn)轉(zhuǎn)發(fā)令牌,回到monitoring狀態(tài)。
如果節(jié)點(diǎn)收到了set_successor令牌,表示網(wǎng)內(nèi)的其它節(jié)點(diǎn)要離開網(wǎng)絡(luò),則該節(jié)點(diǎn)發(fā)送set_predecessor令牌并回到monitoring狀態(tài)。節(jié)點(diǎn)要離開令牌環(huán)時(shí),發(fā)送set_successor令牌并回到offline狀態(tài)。
該狀態(tài)發(fā)送完成轉(zhuǎn)交令牌后,等待確認(rèn)的狀態(tài),是為了監(jiān)控信道來保證令牌的傳遞是否成功。在該狀態(tài)下,節(jié)點(diǎn)重置num_token_pass_try參數(shù),并啟動(dòng)token_pass_timer定時(shí)器。
Implicit_ack令牌是用來確定令牌的轉(zhuǎn)發(fā)是否成功。如果存在同樣的令牌重傳,則節(jié)點(diǎn)發(fā)送token_deleted令牌。如果令牌轉(zhuǎn)發(fā)成功,即收到Implicit_ack令牌,則節(jié)點(diǎn)回到idle狀態(tài)。
節(jié)點(diǎn)進(jìn)入該狀態(tài),進(jìn)行數(shù)據(jù)的發(fā)送,并初始化token_holding_timer定時(shí)器。節(jié)點(diǎn)只有在數(shù)據(jù)發(fā)送隊(duì)列不為空的時(shí)候才能從idle狀態(tài)轉(zhuǎn)移到have_token狀態(tài)。若數(shù)據(jù)發(fā)送隊(duì)列為空或者token_holding_timer定時(shí)器超時(shí),則轉(zhuǎn)交令牌,并回到monitoring狀態(tài),等待ack確認(rèn)。
文中詳細(xì)介紹了MAC的無線令牌環(huán)協(xié)議的狀態(tài)機(jī)和控制機(jī)制,并描述了MAC模型,僅對無線自組網(wǎng)的MAC層協(xié)議進(jìn)行了優(yōu)化,使得網(wǎng)絡(luò)中的節(jié)點(diǎn)能夠公平、高效率的使用網(wǎng)絡(luò),并以此為基礎(chǔ),優(yōu)化會展中心的無線網(wǎng)絡(luò)結(jié)構(gòu),方便會展業(yè)務(wù)的順利開展和實(shí)施,并提高網(wǎng)絡(luò)的安全性,減少網(wǎng)絡(luò)的擁塞。
[1]焦微玲.基于網(wǎng)絡(luò)會展的信息技術(shù)應(yīng)用研究[J].科技管理研究,2013(19):55-57.JIAO Wei-ling.Study on the application of information technology based on Network Exhibition [J].Science and Technology Management Research,2013(19):55-57.
[2]王傳偉.基于J2EE體系架構(gòu)的井控管理信息平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].中國科技信息,2013(24):112-114.WANG Chuan-wei.J2EE architecture design and implementation of well control management information platform based on information platform [J].China Science and Technology Information,2013(24):112-114.
[3]陳秋英,張莉.網(wǎng)絡(luò)嵌入性對會展企業(yè)經(jīng)營的影響[J].廈門理工學(xué)院學(xué)報(bào),2013(2):29-31.CHEN Qiu-ying,ZHANG Li.Impact of network embeddedness of the exhibition business[J].Journal of Xiamen University of Technology,2013(2):29-31.
[4]彭藝,趙東風(fēng),周正中,等.分布式無線令牌環(huán)接入技術(shù)在無線自主網(wǎng)中的應(yīng)用研究[J].電子與信息學(xué)報(bào),2005(4):629-633.PENG Yi,ZHAO Dong-feng,ZHOU Zheng-zhong,et al.Application of Distributed Wireless Token Ring technology in the wireless network in theautonomous[J].Electronics&Information Technology,2005(4):629-633.
[5]Chatzimisios P;Vitsas V.Throughput and delay analysis of IEEE 802.11 protocol[J].Networked Appliances,2002 (9):168-174.
[6]Ergen M;Duke Lee,Raja Sengupta.WTRP-wireless token ring protocol[J].Vehicular Technology IEEE Transactions,2004(6):186-188.