3. 無線感知網路模擬模組之實作
3.1. 實作之無線感知網路機制介紹
3.1.1. 介紹
在第二章的相關研究成果的部份,其中,[10]在 IEEE 802.11 之無線網路中提供了一 套極為清楚且簡單的機制,並在機制中留下了一些可進行設定與的變數。這套機制主要 分成兩個階段:快速頻道感測 (Fast Channel Sensing) 與主動釋放頻道。透過這兩階段 的評估與無線感知網路之使用者的行為,可以達到在不干擾主要使用者的情況下,無線 感知網路之使用者在傳輸上的效能也能夠有一定的水準。因此,在本篇論文中將以這個 協定為基礎,將其實作於 NCTUns 這套網路模擬器中。
而在這套機制中,它將使用之頻段分為控制封包傳輸頻段 (Control Channel) 與資 料傳輸頻段 (Data Channel) ,在最初的狀態中,所有的無線感知網路使用者均在控制封 包傳輸頻段中交換訊息,直到當有使用者需要進行資料傳輸時,才會透過控制封包傳輸 頻段向接收者約定接下來應該要在哪一個資料傳輸頻段進行資料傳輸。在約定完成後,
雙方即會切換使用頻段至該資料傳輸用之頻段以進行資料傳輸,待傳輸完成,兩位使用 者才會逕行回到控制封包傳輸頻段等待其他的資料傳輸。
整體傳輸之流程圖如下所示:
9
圖 2、實作之無線感知網路模組之機制流程圖。
3.1.2. 封包傳輸之前置作業:快速頻道感測
如圖 2 所示,這一套機制中提出了三種新型態的控制封包,這三種控制封包分別稱 作 RTSCR、CTSCR、RTI。而在其中進行握手動作 (Handshaking) 的控制封包則如下所示:
(1) RTSCR:如同在 IEEE 802.11 中制訂的 RTS 控制封包類似,RTSCR本身是用來進行資 料交換前的溝通,但這個控制封包主要是由無線感知網路的發送端送出,
使其能與接收端在控制封包傳輸頻段進行在後續資料的交換上的握手動作 (Handshaking) ,如此能讓接收端得知接下來所使用的資料傳輸頻段之資訊。
而在本設計機制中,在此使用了一套稱作快速頻段感測 (Fast Channel Sensing) 之機制,這套機制中,使用者僅需要提供兩種資料:初始頻段 (Initial Channel) 、切換頻段遞增值。這兩個值與快速頻段感測之機制將會 在之後介紹。
(2) CTSCR:如同在 IEEE 802.11 中制訂的 CTS 控制封包類似,CTSCR本身是用來進行 資料交換前的溝通,但和前面 RTSCR不同的地方則是:它本身是接收端用
10
以回應傳送端 RTSCR所用的,在內容的部份則不帶有任何與頻段相關之訊 息。
快速頻段感測之機制內容主要由初始使用頻段、切換頻段遞增值構成,其代表的意 義是在需要使用資料傳輸頻段時,最一開始使用的頻段即由初始頻段 (Initial Channel) 來決定。但若因為某些特殊理由而無法使用這些頻段,則代表傳送者與接收者需要再找 下一個資料傳輸頻段來進行資料傳輸,此時它們所用到的頻段將會是目前所在頻段加上 切換頻段遞增值,若相加後的值大於總使用之頻段數,則會以取餘數加一的方式處理。
以數學示表示如下:〈Ch(i)代表第 i 次切換所使用的頻段,其值域為 ;h 則代表切換頻段遞增值;N 則為總頻段數。〉
而為了避免在切換頻段時所切換的頻段只集中在某些特定頻段,因此另外的規定則 是 N 與 h 需互質,亦即 G.C.D(N, h) = 1。
11
圖 3、遭遇某一頻段無法使用之狀況的處理。
而在此處所提到的「為某些特殊理由而無法使用這些頻段」的例子如圖 3 所示,圖 中可以看到,在此無線感知網路之機制下,當傳送端與接收段切換至資料傳輸頻段時,
它們會進行頻段感測的動作,之後並判斷是否能夠使用該頻段。若無法使用該頻段,則 會在等待的時間區間 (Waiting Period) 之後,雙方一起切換至下一個頻段。而等待時間 區間則是用以讓無線感知網路的使用者在資料控制頻段進行 RTS、CTS 之握手動作用的,
若在此時間內未完成 RTS、CTS 之訊息交換,則代表此頻段可能正有使用者在使用中。
3.1.3. 傳輸之後置作業:主動釋放頻道
而在一次的資料傳輸完成後,為了避免干擾到此頻段的主要使用者,因此在 ACK 控制封包傳輸完成後,感知網路使用者的傳送端會送出一種控制封包稱作 RTI
12
〈Ready-To-be-Interrupted〉。當這個控制封包送出時,感知網路使用者的傳送端與接收 端雙方均要等待一段稱作 SIFSCR的時間。這段時間主要是用以讓主要使用者有辦法表 達他想要使用該頻段的意願,亦即標題的「主動釋放頻道」。因此,若無線感知網路的 使用者在此時間區間內收到任何的訊息,那很有可能就代表有主要使用者想使用該頻段,
他們應該要回到控制封包傳輸頻段重新約定接下來應該要使用哪個頻段進行傳輸。
但是若此時沒有任何使用者在此頻段,或是主要使用者沒有意願傳輸的情況下,若 只傳了一個資料封包即需要重新再次決定下一個封包應該使用哪一個頻段,這樣的情況 下需要再次切換回控制封包交換頻段、交換 RTSCR、CTSCR、切換至資料傳輸頻段、進 行頻段感測,如此會需要額外再花費時間進行這些動作。因此為了減少這些時間的花費,
在此定義一種稱作 TxOPCR的參數,這個參數的意義主要是定義允許無線感知網路能在 同一個資料傳輸頻段內進行資料傳輸的最大次數,當無線感知網路之使用者在等待完 SIFSCR之時間間隔後,若此時沒有其他使用者進行資料傳輸,則傳送端即可直接再送出 一個 DATA 封包給接收端,而後續動作仍為 ACK 與 RTI 的交換,如此即使用了第二次 的傳送機會。若接下來仍然沒有其他使用者,則此狀況將會持續到其使用了第 TxOPCR
次的傳輸機會為止,屆時此二使用者仍需回到控制封包傳輸頻段再次進行 RTSCR、CTSCR 的交換。