2016年2月18日 星期四

Implications of Power Control in Wireless Networks: A Quantitative Study

Implications of Power Control in Wireless Networks:
A Quantitative Study

Abstract. 

在無線網路中利用功率控制會導致兩個互相矛盾的作用。在一段連結上增加發射功率會造成:
1.改善信號品質進而增加吞吐量
2.增加對其他連結的干擾
然而當我們減少發射功率時會造成相反的效果
在本篇paper中主要是了解當使用功率控制時造成的干擾與爭奪(contention),並在室內網狀網路進行實驗。
根據實驗分析,可以確定有三種干擾情形:
1.重疊的情況:
其中總吞吐量無法透過功率控制來改善。
2.hidden terminal的情況:
使用適當的功率控制,可以提高Fairness。
3.不重疊的情況:
使用適當的功率控制可以實現同步傳輸,進而明顯的提高吞吐量。
結論發現,功率控制可以顯著的改善吞吐量以及Fairness,然而出乎意料的發現當採用虛擬載波感測(virtual carrier sensing)與功率控制結合,反而會大量的降低Performace。


1 Introduction

本篇paper的目標是去探討在802.11無線網狀網路中功率控制對干擾造成的影響。
增加傳輸功率會造成:
1.提高接收端信號品質進而增加吞吐量。
2.增加干擾
這兩個結果是互相衝突的,我們通過實驗來評估功率控制對增加無線網路的Performace,也結合了(RTS/CTS)與功率控制。
本篇Paper主要注重於連結間的干擾,並提供詳細的實驗數據,根據實驗結果確定了3種干擾情形:
1.重疊的情況:
其中總吞吐量無法透過功率控制來改善,只有一個連結是可以使用的,因此要達到最大的吞吐量是對一個連結去最大化。
2.hidden terminal的情況:
使用適當的功率控制,可以提高Fairness,並觀察到使用(RTS/CTS)與功率結合會導致吞吐量的下降。
3.不重疊的情況:
使用適當的功率控制可以實現同步傳輸,進而明顯的提高吞吐量,因使用(RTS/CTS)會阻止同時傳輸的機會,導致較低的吞吐量。本Paper主要為室內的量測,室外環境可能會受到不同程度的影響導致不同的結果,我們研究結果清楚表明,802.11 MAC Protocol的自適應功率控制機制的必須,因功率控制並無廣泛的實驗研究與干擾結合,我們將朝著自適應功率的設計機制前進。在第2節,我們提供的載波偵聽的背景和討論相關研究功率控制和干擾。第3節介紹我們的測試平台,並用於驗證目的一些初步的實驗。在第4節我們描述了我們的實驗方法
與目前的結果有關的干涉效應。第5節總結全文。


2 Background and Previous Work

我們重新來看物理和虛擬載波感測的IEEE 802.11 MAC協議。我們也討論了相關的研究,以及如何我們的工作從這些努力有所不同。在IEEE 802.11的MAC的分佈式協調功能(DCF)使用的CSMA / CA算法。該算法取決於物理和虛擬載波感測。物理載波感測為了避免碰撞,節點在傳輸前會先感測medium。如果感測到正在進行的傳輸,該節點會依照back-off機制的退避週期之後再次嘗試。

如果沒有感測到通信,則節點傳輸。然而,物理載波感測從隱藏和暴露終端的存在受到影響。第一,兩個發射器可能無法感測對方的載波,因此,它們的傳輸可以在預期接收機碰撞。在這種情況下,兩個發射器被說成被彼此隱藏。其次,發射器強大的抑制其傳播,因為它從另一個發射器感測到一個載體;然而,這可能是過於保守,因為同時傳輸有時是可行的。

在這種情況下,傳送端A被說成是暴露於B的傳輸。虛擬載波感測在IEEE 802.11使用RTS(請求到發送)和CTS(清除到發送)控制消息,旨在解決隱藏終端問題,可是卻加劇了暴露終端問題。DCF功能的更多細節可以在[2]中找到。

接下來,我們簡單地討論在基於802.11的干擾特性和功率控制相關的前期工作。在無線網狀網路中每個節點會承受到全方位的通訊,因此功率控制經常被用來做節省能源與空間再利用。

然而,大多數努力假定網絡可以用單位圓盤圖(UDGs)[16,6,17,11]進行建立模型。有更加逼真的通道模型[10,8]。然而,大多數這些努力都依賴於模擬和分析;雖然他們確實提供了無線信道的更好的表現,雖然所使用的模型可能無法在所有場合都適合。在[10],Muqattash和Krunz,設計控制MAC協議的功率,允許節點以調整它們的傳輸功率,同時允許在接收機一些干擾餘量。在[7],分佈式功率控制算法的設計;算法考慮到節點對干擾的敏感性。

無線網絡的實驗研究最近獲得了普及。在無線網狀網絡的研究[5]和[4]表明,單位圓圖模型是不存在的。然而,這些並不表示鏈路之間的干擾也沒有考慮功率控制。 Akella [1]使用來自各個城市的大規模測量數據,以顯示多麼常見幾十台部署在彼此接近的AP。

本文提出了減少鄰居之間干擾的目的,功率控制和速率自適應方案(PERF)。我們在第4節Padhye等人進一步討論PERF。 [13]還研究估計在多跳無線測試台鏈路之間成對干擾的問題。他們提出了一種鏈路干擾估計的方法和在多種環境研究它。 Sinha[18],進行實驗來觀察的單播和廣播鏈路性能之間。研究干擾的影響,他們認為在網格室內測試平台的各種距離相關的干擾情況。 Son et al. [15]研究了功率控制對獨立的無線鏈路品質影響。他們專注於傳感器網絡和執行他們的低功耗RF鏈路實驗(高達10 dBm的)可是沒有研究干擾影響。

3 Experimental Setup

在本節中,我們描述了我們的實驗測試平台,並展示孤立鏈接的穩定性和功率控制的行為目前初步的實驗結果。
這些結果提供了關於所述干擾影響的研究提供了基礎。
我們的測試平台室內是由15的Soekris net4826節點[14],部署在工程大樓第二單元的加州大學河濱分校的3樓;網絡在圖1所示的每個節點運行一個Debian V3.1 Linux發行版內核版本2.6.13.2並在啟動服務器掛載NFS上它的根分區。
我們已經配備有節點EMP-8602-6G的802.11a / b / g的無線網絡卡,嵌入的Atheros AR5006芯片組[3];該卡由Linux Madwifi的驅動控制(0.90版)[9]。每個卡連接到一個5 dBi的增益,外部全向天線。

我們為了避免從co-located的802.11b / g網絡干擾使用的802.11a模式;我們的測試平台是該地區唯一的802.11a網絡。對於我們的實驗中,我們使用的信道56,其對應於 5.28Hz。發送功率在我們實驗中由1到16 dBm的之間變化。我們使用採樣率[4,5]作為所述速率控制算法。
為了導出可靠的測量,我們運行多個實驗許多不同對的鏈節之間,並且為在一天的不同時間段。我們使用30秒back-to-back 1500-byte UDP數據包為我們traffic load。

為了結果的可靠性。為了確定我們的研究結果的穩定性,我們進行了大量的30秒的實驗中,考慮到在一個大量的連結,其中每個node單獨使用不同的功率。圖2示出了用於6個代表性的哦鏈接觀察吞吐量,功率為16 dBm。我們發現只有些微的影響performace,對於大多數研究中的鏈接。鏈接13→18具有較大的variance。這是因為該鏈接相對較差,作為一個可以從所獲得的吞吐量看到。這組實驗證明了我們一段時間的實驗結果的穩定性。

吞吐量與發射功率。我們觀察到獨立的連結(只有一個鏈路是在任何給定時刻活動的)的品質,用於改變發送功率設置。如圖3所示,可以達到良好throughput的鏈路取決於所使用的發送功率。我們還觀察到,對於一鏈路的最大吞吐量是在一定的power threshold來實現的。例如,對於鏈路20→12我們觀察到最大吞吐量約在4dBm。
吞吐量在這裡飽和,並在發送功率的進一步增加不會顯著提高性能。因此,獨立的鏈接不總是使用最大功率傳輸以達到最大的吞吐量。有人可能會認為這與IEEE 802.11a的有限的modulation和編碼的可能性。





4 Effect of Transmission Power on Interference and Contention




我們的實驗研究的首要目標是了解的發射功率trade-off:
在一個鏈接提高可靠性和性能 vs 對其他連結造成的干擾程度。
在我們的實驗中,我們依次使用兩個鏈路。我們過改變其對應的傳送功率觀察其吞吐量透。
這些鏈接的發射器發送大量的UDP給相對應的接收器。
在1到16 dBm的之間選擇傳輸功率,並且ACK被以相同的功率為DATA的數據包回送。
實驗有一個30秒的持續時間,在此期間,發送功率被保持在一個固定的水平。
時間到後,每一個鏈路配置有一個新的功率大小,並且重複該實驗。
我們使用所有實驗相同的載波檢測threshold(在我們的卡的默認設置)。
我們利用iperf的測量工具(版本2.0.2)[12]來測量鏈路的性能。
我們考慮的情況下,我們(i)禁用或(ii)啟用virtual carrier sensing與RTS / CTS。

4.1 Achievable Performance Gains

我們希望通過多少來決定,如果在所有性能可以改善
通過使用最佳功率控制機制。由於這樣的功率控制機構不可用,我們訴諸窮舉搜索。圖4描繪了使用最佳功率設置時,以及使用的最大發送功率時為一組鏈路對觀察到的最大的總吞吐量。
均具有RTS的情況下/ CTS啟用或禁用繪製。我們觀察到,使用最大功率並不必然導致最高網絡吞吐量。
因此,機會是存在的,通過功率控制顯著提高網絡性能。
此外,使用RTS / CTS未提高性能。
我們在下面更詳細討論這一點。接下來,我們就來仔細看看所收集的數據,看到的發射功率設置上吞吐量的影響,以及公平性。






4.2 Three Types of Interference Behavior

上述實驗是在16個鏈節對的運行。接下來更詳細地分析實驗數據,我們觀察到每個這16對的可被歸類為屬於三種情況。確定的三個干擾的情況是重疊的(5 links out of 16),隱藏終端(9 links out of 16)和潛在的脫節((2 links out of 16)。
我們示出了使用鏈節對的吞吐量矩陣三種不同類型(圖5,6和7)。吞吐量矩陣說明對於發射功率所有組合的各個連結達到的吞吐量。在圖5中,水平軸和垂直軸分別表示由每個鏈路所使用的功率。
矩陣區域對應於所達到的總吞吐量。每個圓盤的黑色和白色部分對應於分別在垂直和水平軸在鏈路的吞吐​​量。例如,在圖6中,在坐標(11,8),良好的吞吐量達到,並且每個鏈路接收吞吐量的恰好一半(每17.5兆位/秒)。在坐標(11,16),總吞吐量為更好,但連結31→11接收大部分吞吐量(30.4兆位/秒),離開鏈路16→12用很少的(2.55兆比特/秒)。
現在我們將描述每一種情況下更詳細地,並研究其在相應的吞吐量基質效應。

重疊。在這種情況下,兩個鏈路總是抗衡,而不管所使用的功率設置。圖5示出了這種情況的一個例子。這種情況下,通常顯示其中兩個發件人之間的信道是比信道更好從至少一個發送器向它的相應的接收器。
在本例中,節點12和20是發送器和節點11和15的接收器,分別為(圖1)。鏈接12→11是鏈路和節點12的需求很差,至少有12至13 dBm的傳輸。同樣,節點20的功率必須至少有8至9 dBm的。發射機20和12是線的視線彼此的內(如圖1所示)和在它們之間的聯繫是很不錯的。
其結果是,他們能聽到對方的傳輸和退避相應。因此,只有兩個鏈路之一將攜帶通信量的時間,並且兩個鏈接的最大總吞吐量將永遠不會比最大的兩個鏈路的吞吐量。

隱藏終端。多數認為鏈節對都屬於這種類型。在這裡,發送者不能檢測到彼此的傳輸和物理載波偵聽失敗。多次傳輸在接收器同時到達。
這不一定是一個問題,如果期望的傳輸的信號強度比干擾傳輸的顯著高。
信號和干擾之間的這種競爭在圖6中觀察到。
作為節點16增加其功率時,它使31→11受到干擾增加;衝突發生在節點11。
然而,由於節點31增加其發送功率,其信號強度增大。因此節點11現在能夠收到節點31的DATA。請注意,雖然總吞吐量變化與發送功率較無關,如果該功率超過一定的水平,公平性是在可以通過矩陣沿對角線一致更好。
沿著這條電源設置對角線最佳平衡兩個鏈路之間的信號質量和干擾。

潛在的脫節。準確的功率設置可以同時進行成功發射,導致高達總吞吐量的增加一倍。
潛在分離鏈路是通過在通過基質峰超過單個鏈路的最大容量為特徵。
這在圖7所描繪的,用於鏈路15→16和22→31。
這兩個鏈路拓撲以及分離(圖1),並且是高品質的(有發射器和它們的相應的接收器之間的一條線的視距路徑)。
當桿15→16使用電源9 dBm的,當鏈路22→31使用6 dBm時,得到的最大總吞吐量(單鏈路的大約容量的兩倍)。
這表明,當發射功率被設置為上述的值,這兩個鏈路可以操作無干擾的。
當鏈接增加他們的功率,我們觀察到的總吞吐量下降。
從這些觀察,很明顯的是,為了實現高的總的網絡
換句話說,在線功率適應機制需要,可以為每個鏈路,確定這是最適合於使用在給定的實例中的時間的能力。
其中提出的方案,PERF [1],部分解決了這個問題。只要可以通過不受影響PERF逐漸減小發送功率。 PERF可望成功地解決潛在的不相交的情況下,正確地降低功耗,直到空間复用成為可能。然而,在隱藏終端情況下,PERF將使用的最大功率,導致次優的公平性的條件。雖然PERF是朝著正確方向邁出的一步,
我們得出結論,進一步的改進是必要的。


4.3 Use of RTS/CTS in indoor environments

最後,我們研究如何加入RTS / CTS握手會影響干擾和競爭特點。我們重複以前的實驗,但將RTS / CTS啟用。鑑於RTS / CTS的目的是要解決隱藏終端問題,我們所期望的結果有所在隱藏終端情況改善。從測量,我們注意以下事項:

重疊。重疊鏈路的性能會略有由於惡化
RTS / CTS overhead(圖8)。

隱藏終端。我們注意到,RTS / CTS一直在所有我們測試的隱藏終端的情況下跑CSMA。
通過矩陣圖9,典型的隱藏終端情況下。總吞吐量是當啟用RTS /CTS始終較低。公平性受到影響,以更大的程度,我們的結果的穩定性顯著影響的程度。
注意,存在其中對於一些功率設置,使用RTS / CTS的導致改善公平性的情況下。然而,這種改善通常通過在總吞吐量的大量減少(見圖11,12)的偏移量。我們懷疑這是由於RTS / CTS加劇了暴露終端問題,降低了並行傳輸的機會。

潛在的脫節。最後,在一個潛在的不相交的情況下,鏈接還受到RTS​​ / CTS影響(見圖10)。而整體吞吐量仍然可以達到比單個鏈路的容量更高的水平,它是比用CSMA取得顯著降低。在其中空間复用實現的權力的制度也被減小的尺寸,要求更精確的功率控制,並且通常更高的傳輸功率(比較圖7)。
總之,RTS / CTS似乎是完全有害的室內無線網絡的性能,如果功率控制是可用的。然而,更多的實驗需要執行,在更廣泛的環境中,並與各種硬件,可以得出任何明確的結論。

5 Conclusion

而功率控制可以影響傳輸質量給定鏈路上,所使用的功率決定在其他鏈路的干擾,因此,也可以影響其他鏈路的性能。
我們進行測量與量化這種trade-off與功率控制的室內實驗網絡的IEEE 802.11a節點,無論是
和沒有虛擬載波感測。我們確定了三種類型的干擾行為。
在重疊的情況下,功率控制和/或RTS / CTS不增加可達到的最大吞吐量。
在隱藏終端情況下,功率控制減輕了隱藏終端問題,因此,提高了吞吐量。然而,在結合使用RTS / CTS與功率控制始終都降低整體吞吐量和公平性。
在可能的情況下不相交,功率控制可以幫助同時鏈接,從而可以產生在可實現的吞吐量幾乎增加了兩倍相比,在使用默認的最大功率情況下。
再次,虛擬載波感測加劇了暴露終端問題,顯著降低整體性能。
我們使用的IEEE 802.11a節點,以避免同一地點的802.11b / g網絡的干擾。儘管與802.11b / g的結果可能被調查的鏈接不同,我們對所觀察到的干擾類型的結論將仍懷疑。
整體來說,我們的研究表明,精確的功率控制適用於改善室內無線網絡的性能很大的希望。



2016年2月17日 星期三

AODV VS DSR

Ad hoc On-demand Distance Vector Routing Protocol (AODV) 

AODV 屬於 On-demand 路由協定,當來源節點有資料要傳送且路由表中 沒有目的節點的路徑資訊時,才會啟動路徑搜尋程序。

A. 路徑搜尋程序 

   
     當來源節點需要一條路徑到目的節點,會廣播一個Route REQuest (RREQ) 封包到網路中,然後等待 Route REPly (RREP)封包。RREQ 封包中包含來源節 點與目的節點的 IP 位址、廣播 ID、來源節點與目的節點最新的 Sequence number,如圖 2.5。每當節點收到 RREQ 封包後,都會紀錄下來源節點的 IP 位址與廣播 ID,當節點將 RREQ 封包廣播出去後,會設定一段預設的時間, 如果節點在這一段時間內接收到擁有相同來源節點的 IP 位址與廣播 ID 的 RREQ 封包時,就會丟棄此 RREQ 封包。如果沒有接收過此 RREQ 封包,節 點接著會判斷自己是否為目的節點或自己是否擁有到目的節點的路徑資訊, 如果滿足其中一項,則回覆 RREP 封包到來源節點,反之,則在 RREQ 封包 的 Hop 欄位加一後,廣播 RREQ 封包。另外,當節點接收到 RREQ 封包時, 會建立一條指向來源節點的反向路徑資訊到路由表中,如圖 2.6,實線箭頭代 表 RREQ 封包傳送的路徑,來源節點 A 廣播的 RREQ 封包,中間節點收到 RREQ 封包後再將此 RREQ 封包廣播出去,直到目的節點 G 收到為止。
 
     在 RREP 封包回覆到來源節點 A 的過程中,當中間節點接收到 RREP 封包時,會建立一條指向目的節點的正向路徑資訊到路由表中,然後傳給上 游節點,直到 RREP 封包傳到來源節點 A。如圖 2.7,虛線箭頭代表 RREP 封 包傳送的路徑,目的節點 G 收到 RREQ 封包後,沿著 RREQ 封包傳來的路徑 回傳 RREP 封包給來源節點 A。如果來源節點 A 在找路計時器倒數到 0 時還 沒有收到 RREP 封包,來源節點 A 會重覆廣播 RREQ 封包,重傳次數加一。 當來源節點 A 重傳次數超過預設的最大值,則此條連線宣告失敗。

    在 AODV 中,每個節點會維持一個路由表,路由表中記錄所有可用路徑 的資訊,最新的路徑資訊可以透過 Sequence number 來判斷。在 AODV 中, 每個節點都擁有屬於自己的 Sequence number,有兩種狀況節點會單調遞增自 己的 Sequence number:第一,當來源節點要發出 RREQ 封包時;第二,當目 的節點收到 RREQ 封包,準備要回傳 RREP 封包時。每個節點的路由表中, 針對通往目的節點的路徑都有一個 Sequence number,所以,每當節點收到 RREQ 封包時都會檢查控制封包中來源節點的 Sequence number 訊息;如果收 到 RREP 封包時會檢查控制封包中目的節點的 Sequence number 訊息。如果控 制封包中來源節點或目的節點的 Sequence number 大於路由表中的 Sequence number,則立即將控制封包中相關節點的 Sequence number 的值取代路由表中 的 Sequence number,然後更新關於此路徑的資訊。如此,節點可以擁有通往 目的節點的最新路徑資訊

B. 路徑維持程序
   
     當連結因為斷裂而失效時,其上游節點發覺後,會將經過此連結的路徑設為 無效,然後會根據路由表的資訊,發送 Route Error (RERR)封包給需要經過此 連結到達目的地的鄰近節點。鄰近節點收到 RERR 封包後,會將受到影響的路徑設為無效,再繼續發送 RERR 封包給受影響的鄰近節點。當來源節點收 到 RERR 封包後,如果還有需要,會啟動路徑搜尋程序。


AODV 和 DSR 都有類似的 route discovery 過程,都強調是在 source 工作站需要的時候才會去建立到目的地工作站的路徑,但是兩者仍然 有相當的差異:

(1) DSR 所需的路徑資訊較 AOVD 來得多。DSR 在一個 cycle 下完 成 request route 後,source 工作站可以獲得目的地工作站和所有中 間工作站的路徑資訊。每一個中間工作站也可以獲得到達其他中 間工作站的路徑資訊。而 AODV 得到的路徑資訊則是有限的,只 認得封包的下一個轉送點,所以可能會造成工作站常常執行 route discovery,而使得網路流量變大。

(2) 在 AODV 中,因為 AODV 只為每一個工作站維護一筆路徑資 訊,所以目的地工作站只回應最先到的 route request,慢到的一律 丟棄。在 DSR 中,因為是使用 route cache,目的地工作站會回應 所有的 route request 封包,即使是重複的。這使得 source 工作站可 以在 route cache 中保留許多條到同一目的地的路徑,所以當最短 路徑不通時,在 route cache 中還有另一個選擇。此機制節省了啟 動 route discovery 的機會和網路流量,但是回應每一個 route reply 卻可能造成網路流量的氾濫。

(3) 在 AODV 中,路徑的時效是由 sequence number 來決定,永遠會 選擇最新的路徑資訊,並且如果過一段時間後此路徑都沒用過, 就從 routing table 中刪除。在 DSR 中則無法分辨路徑資訊是新的 還是舊的,只有等到 route error 封包通知時,才會把 route cache 中無效的路徑資訊刪除。

(4) 在 AODV 中,一旦發出 route error 封包,會送達給所有用到此 連線的工作站,讓它們刪去無效的路徑。但是 DSR 的機制只會傳 給唯一的上游工作站,直到 source 為止。不在此一路徑上的其他 工作站都不會被通知。