2016年5月12日 星期四

Distributed Transmission Power Control Algorithm for Wireless Sensor Networks*

Distributed Transmission Power Control Algorithm for Wireless Sensor Networks* 

在本論文中,我們提出了一個分散式傳輸功率控制算法不僅可以節省能量消耗來延長傳感器節點的壽命,同時增加封包吞吐量的表現。此外,它也可以降低節點間的干擾。在設計我們的演算法之前,我們先分析利用不同的發送功率時影響鏈路質量的實驗數據,然後基於這些實驗結果來設計我們的算法。
在我們的算法中,每個節點利用RSSI(接收信號強度指示器)無線電的值和LQI(鏈路質量指數)值來確定適當的對於鄰近節點的發射功率。我們的算法可以動態調整傳輸功率隨著環境的變化。我們所有的實驗都在實施MICAz平台。實驗結果表明,該算法可以節約電能並保證每對通信都有一個很好的鏈接質量。

1. INTRODUCTION 

省電是無線傳感器網絡(WSN)是最重要的議題之一。大多數的關於能源節省的研究主要分為兩大類。一個是透過MAC層[1,9-12,15,17],而另一個則是透過網絡層[2-4,7,8,14]。在MAC層,大多數研究都使用的排程的方法,透過設計定期的節點喚醒或睡眠。節點的排程通常需要時間同步,還有一些問題,例如:當節點在做時間同步,也需要解決Clock Drift的問題。與MAC層相比,網絡層的解決方案是採用適當調整發射功率,以達到省電目的。

調整發送功率控制的優點是可以透過無線傳感器網絡的操作來改進,例如:建立具有高可靠性、以最小的功率來通信和更好的媒介重利用性。我們詳細描述了這些優勢。首先,功率控制技術可以用於提高鏈路的可靠性。因為當節點在檢測到鏈路可靠性節點低於所需閾值,它們將增加發送功率,以降低接收損壞封包的機率。
第二,由於一些鏈接已經有夠好的封包接收率,過多的發送功率進行通訊節點會浪費更多的能量。因此,發射功率控制算法可有助於減小發送功率從而保證鏈路質量。第三,節點通常在不會使用大傳輸範圍,以免與其它的通信干擾。因此,降低傳輸範圍也可以減少封包相撞的數量。這些降低的封包碰撞率將提高網路的利用率,更低的延遲時間,也降低了重傳。

根據我們的實驗,如果我們使用固定的發送功率,鏈路質量通常由雜訊與干擾來造成影響。
這將導致封包的丟失並降低封包的吞吐量。
通過這種方式,我們要調整發射功率來適應網路環境的變化,並保持良好的封包傳輸率(PDR)。
在MAC層中的解決方案沒有提供一種方式來保證封包傳送率和設置適當的發射功率。
因此,我們使用的概念是透過調整發送功率的解決方案來設計我們的演算法。
然而,如何找到隨時間或其他影響因素為每個傳感器節點不同適當的發射功率是一個困難的問題。過低發送功率也許容易導致兩個節點之間鏈路斷開。
與此相反,利用過高的發送功率是低效率的,因為它可能會導致鄰近節點的相互干擾並消耗大量電池能量,然而電池的電量是有限的。
因此,我們基於大量的實驗結果來設計了一個演算法來動態地調整每個節點的發射功率。

為了提出我們的算法,透過調整不同傳輸距離與傳輸功率,我們紀錄在實驗中參考的三個參數,RSSI(接收信號強度指示),LQI(鏈路質量指示)和PDR(封包傳輸率)。
接下來,我們分析了得到的實驗結果,找出三個參數和傳輸功率之間的關係。
我們在本文中主要貢獻的有兩個。
一個是我們進行RSSI和LQI的關係的實驗研究來提供低功耗無線鏈路如何調整適當的發射功率。並通過這些實驗結果,我們設計了一個發送功率控制算法來調整每對通信節點調整適當的發射功率。
另一個貢獻是我們透過實際的實驗平台MICAz來實際驗證我們演算法的效能。

本文的其餘部分安排如下。第2節回顧相關工作。
我們提出我們的分佈式傳輸功率控制算法在第3節第4節,通過實際的實驗效果來評估我們的演算法。結論為第5節。

2. RELATED WORK 

關於功率控制的兩大類研究都與我們的研究有關。其中之一是通過分析傳感器網絡無線鏈路的特性數據。另一種是考慮如何實現無線傳感器網絡中控制發射功率。這裡有一些研究[5,6,15,16,18]相關的第一類。在[16],筆者曾做過多次實驗和分析之間的關係RSSI值與數據包投遞率LQI值。因為LQI的波動值比由傳感器檢測在一段時間內的RSSI值多,則作者提出了一種方法,通過收集的數字來預測數據包投遞率LQI的價值。他們發現,平均在不同的平均窗口大小這些LQI值會影響到的分組傳送率的預測的準確性。
平均窗口大小是幾個數字的平均值LQI值。因此,更多的平均窗口的大小會導致預測的更高的精度。在[5]提出的作者一種成本度量的命名為“鏈接低效率”來衡量的環節所消耗的能量。鏈路效率低下是封包傳輸率(PDR)的倒數。需要注意的是,一個完全有效的鏈路具有鏈路效率1.環節的低效率增長為紐帶變得更糟。在換句話說,對應於能量的用量較大的低效率增加花費對因重傳該鏈接。在這個概念,他們還提出了數學辦法預測信噪比值和分組傳送率之間的關係,旁他們還提供與本鏈路上的能量消耗的測量方法。

一些研究[16,19]已經揭示三個不同接收區的存在在無線鏈路。這些接收區域斷開區域,過渡
區域,以及連接區域。這些三個接收區對應於3種當鏈路的發送功率是從最小到最大的鏈路狀態。
斷開的區域是指數據包投遞率是零。相反,連接區是指數據包投遞率幾乎是100%。斷開之間的過渡區域並且連接區域經常是在大小相當顯著並且通常特徵在於在接收速率和非對稱連接高方差。
此外,在文獻[15]也通過實驗系統性地研究並傳輸在過渡區域。而且它也討論多個干擾的過渡區。在文獻[6]提出了一種準確根據實際的執行能耗預測模型傳感器節點上應用程序和操作系統代碼實驗。它也可以預測傳感器節點上的壽命。

另一方面,在[2-4,7,8,14]已經在開始了一些關於控制發射功率的研究工作。在文獻[3,4]提出一個協議來確定每個傳感器節點適當的發射功率來連接的一個特定相鄰節點數目。此特定數目是被用來確定一個閾值傳感器所要求的傳輸功率。如果鄰居的節點的數目是閾值以上時,會降低發射功率。相反,如果它低於該閾值,一個節點將增加發射功率。的主要目的
的保持相鄰節點的具體數目是節點可以花費較少的能量維持這樣的網絡連接鏈接相鄰節點和
延長網絡壽命。

在文獻[2]提出了兩種方法來計算理想的發射功率。第一個是通過包括兩個階段節點交互。在第一階段中,收發器發送探測查詢消息到接收器。接到接收器後,它將發送ACK消息發回收發器。以這種方式,該收發器將檢查接收機是否接收到探測器查詢消息通過ACK消息。然後收發器將確定增加或減小發送功率。接著,收發器不斷地發送探針查詢消息到接收器直到它不能接收到ACK消息。發射功率其中收發器此時使用將成為接收機的初始發送功率,並且
然後它會進入第二階段。在第二階段,節點總是動態根據多個連續確認ACK的改變其發送功率傳輸。如果連續接收到的ACK的數目超過預定義的閾值時,收發信機將降低了理想發送功率。相應地,如果下面的其它預定義閾值的數字,收發信機將增加發射功率。這第二種方法
文獻是利用“信號衰減”的比率。理想的發射功率也可以被計算為信號衰減的功能。接收器會告訴收發器它所接收的信號強度。然後收發器將調整發送力量,使通過計算具有合適信號強度的接收器功能。

在[14]的作者使用的數據包傳送的比例來確定適當的傳輸功率。它分為發射功率為七個獨立的發射功率。節點廣播一些封包使用7種不同的傳輸他們的相鄰節點和讓他們來收集封包,並計算出數據包投遞率。每個相鄰節點選擇最小發射功率該數據包傳送率高於要求的閾值作為一個適當的發射功率。
此外,作者也存在黑名單的概念。每個節點維護它自己的黑名單這是一個列表記錄了該節點不希望將報文送到鄰居節點的ID。 
[7]筆者曾做過多次實驗,找出最不RSSI為保證良好的數​​據包傳送率至少是高於 - 92dBm。然後,他們使用線性規劃方法通過收集來預測準確的發送功率一段與相鄰節點進行通信的時間內的數據包。由它用來找到之間的映射關係的線性規劃產生的發送功率(在發送方)和RSSI值(在接收機處)節點與相鄰節點通信,發送方將選擇在RSSI值方程,它上面的挑RSSI閾值( - 92dBm)映射傳輸功率的公式所示。換句話說,它保證了良好的數據包投遞率。
在本文中,我們的做法是由網絡上一兩個主要方案層來設計我們的算法,我們還實現了真實的傳感器節點協議。

3. DISTRIBUTED ADAPTIVE TRANSMISSION POWER CONTROL ALGORITHM 


我們的功率控制算法是基於所接收的RSSI值和LQI值數據包。設計我們的算法之前,我們有一些實驗來了解實際傳感器的屬性。下面的實驗是在MICAz執行平台。 MICAz的RF模塊是Chipcon的CC2420[20],它是用來管理的傳輸和無線信號的接收。最大傳輸範圍是能夠達到100米左右。此外,在最大傳輸能量功率(為0dBm)的設置將耗資17.4毫安,最小發射功率( - 25dBm的)設置將耗資8.5毫安。在MICAz,RSSI值可以從的寄存器得到
CC2420芯片。
旁邊的RSSI值時,CC2420芯片提供的平均相關值每個所謂的LQI值傳入數據包。此無符號8位值可以被看作在在一測量“芯片錯誤率。”根據我們的實驗,LQI和RSSI值有非常高的相關性。 LQI值不僅是一個質量的指示器接收的分組,但也的接收信號強度的一個指標。該MICAz支持
的功率電平設定數據傳輸[20]。
我們不需要這麼多的水平在我們的實驗中,由於環境總是變化不時。要是我們使用32級發射功率,這將導致我們的算法,頻繁變化其發射功率電平。這是一個小環境的變化容易引起
發送功率的變化。以這種方式,我們把32原始發送功率水平的功率電平。我們的定義的功率電平之間的每個時間間隔對應至4個原始CC2420的發射功率電平。在我們的算法,我們將利用這兩個RSSI和LQI值作為調整的基礎傳輸功率電平。下面的文章中的關鍵字“發射功率電平”
意味著我們定義了8個發射功率電平。我們的算法由初始階段的和維護階段。在初始階段,每個節點都試圖找到一個合適的傳輸功率電平的相鄰節點。在維護階段,每個節點將動態
根據平均RSSI和LQI值調整適當的發送功率電平接收到的數據包。

3.1 Initial Phase 

在初始階段,每個節點確定每個的適當發送功率電平相鄰節點。首先,每個節點廣播800探測分組(PL_probe)配從高(8級),低依次(1級)發射功率電平。即,每個節點
將廣播的每個發射功率電平100的數據包。該PL_probe包包括兩個字段。一個是ID字段用來告訴源所接收的節點分組的標識。另一種是功率水平字段表示的傳輸分組的功率​​電平。發送數據包之前,傳感器節點會倒計時一系統默認的退避時間。默認系統回退時間範圍為1至16
時隙和每個時隙是0.32ms。根據我們的實驗中,存在重在通信碰撞如果節點密度跳內高於十個節點。在為了增加數據包投遞率,我們設計了一種新的退避時間包括兩名
隨機時隙。一個是用戶退避時隙(塗),它是一個回退時間隨機1之間產生茹時隙和每個時隙是一毫秒。另一個是系統退避時隙(Tm)為這之間隨機產生一個回退時間1為Rm時隙和每個時隙是0.32ms。因此,對於一個節點的總回退時間是TU和TM的總和。

當一個節點開始發送一個PL_probe分組時,它需要生成兩個隨機時隙分別塗和TM。在這裡,我們給的實驗來決定正確的值茹和Rm。在我們的實驗中,我們利用10 MICAzs它們都位於一個跳距離。每對節點之間的距離為大約一米。每個節點隨機塗生成和TM,並在廣播最大傳輸100 PL_probe包能量等級。如果一個節點計數其退避時間期間接收的廣播數據包時,它會停止計數,再重新塗和TM。等待的總回退時間之後塗加以舊換新,節點將播出其探測包。在Ru和RM,各種價值觀數據包傳送率示於圖。 1.每個實驗重複五次。 明顯,包投遞率增加茹和Rm增加。然而,較大的值Ru和Rm的將導致較長的延遲時間,以完成初始階段。 因此,
Ru和Rm的值在我們的算法和分組分別設定為30和8,遞送比率為約90%。
其次,一旦一個節點從其相鄰節點接收PL_probe數據包,它會計算從每個相鄰節點接收與每個功率的數據包數量水平。每個節點可以確定每一個最小傳輸功率電平的
根據是否為最小接收分組的數目相鄰節點發送功率電平比閾值大。由於每個節點廣播100
PL_probe分組為每個發射功率電平以及分組傳遞比是約90%,該閾值被設定為80。因此,如果節點A可接收80多個從具有最小功率等級k的一個節點B的報文中,功率等級k變為從B節點初始傳輸功率電平到節點A.然而,如果接收到的數從一個節點的數據包是小於80的所有它的發射功率電平,所述為節點初始發送功率電平被設定為最大功率級(8級)。
在這裡,我們採用的數據包投遞率80%作為閾值,而不是RSSI值確定初始發射功率電平。這是因為,RSSI值一般已被收集一段時間;但是,我們要減少執行時間的初始階段盡可能。此外,在初始階段的每個節點廣播在很短的時間PL_probe分組將引起干擾並讓每個節點收集
不準確的RSSI值。當一個節點廣播的所有PL_probe報文,就可以找到的初始傳輸功率電平為每個相鄰節點。然後每個節點將播出一個initial_Power_Level包包括的初始發送功率電平的
相鄰節點。為了避免包衝突,則Initial_Power_Level分組是廣播的10倍。當一個節點從接收到的數據包Initial_Power_Level其相鄰節點,它會進入維護階段。以下是我們初始階段算法。

3.2 Maintaining Phase 


上述維持階段的主要目的是自適應確定和調整正確的傳輸功率電平與環境變化。每個傳感器節點利用所收集的RSSI值和LQI值來確定適當的發送功率水平可以達到很高的數據包傳送率,節省傳輸能量。首先,我們形容維持階段的算法,然後解釋如何找出論據
通過一些實驗中維持階段使用。首先,為了減少開銷控制並節省傳輸能量,每節點會選擇最多五個節點作為其鄰居。如果鄰居的數量是較大超過五,節點具有較低的初始發射功率電平比其它節點被選作鄰居。其次,每個節點附加的使用的發射功率水平時向前或數據包到它的相鄰節點之一進行發送。一旦節點接收到一個數據包時,它將發送一個ACK包返回給發送者。
該ACK包捎帶的RSSI和LQI值從CC2420芯片的寄存器,捕獲當接收到的數據分組。每個節點可以收集接收到的RSSI值和與其相鄰節點LQI值。每個傳感器節點後收集了大量的RSSI的
和LQI值,則節點將確定為每一個新的發射功率電平鄰居節點相應。 RSSI和LQI值的數字將在確定實驗。

這裡,我們將描述一個發射功率電平是如何根據確定的接收到的RSSI和LQI值。當節點A收到了一些RSSI和LQI的從它的鄰居B,節點A的平均RSSI值和LQI值中的一個值它們分別表示為AvgRSSI和AvgLQI。如果AvgRSSI比一個較大閾RH(相對濕度<AvgRSSI),節點A將減小由一個發送功率電平節點B.如果AvgRSSI大於閾值RL(AvgRSSI<RL)越小,節點A會通過一個用於節點B增加發射功率電平如果AvgRSSI是間的RSSI閾值RL和相對濕度(RL≤AvgRSSI≤RH)和AvgLQI是小於閾值LTH(AvgLQI<LTH),節點A會增加一個發送功率電平的節點B.這是因為鏈路質量不夠好,信號強度可能變弱或更高版本打破。在休息的條件下,節點A將保持相同的傳輸功率電平節點B.

由於信號干擾或背景的突然增加的大的變化噪音,這很可能是我們無法接受的數據包,在瞬間降低發射功率LEVE。因此,為了降低傳輸延遲,如果一個發送節點等待一段時間後,不能接收來自接收機的ACK分組時,該節點將使用的最大發射功率電平立即重傳該數據分組。
根據我們的實驗,從節點A到節點B的信號的干擾是不同從節點B到節點A然而,在它們的傳輸的大部分時間的差功率電平是在室內環境中少於三個層次。因此,當節點A
發現其發射功率電平到節點B相比,低於三級從節點B發射功率電平到節點A,節點A將​​增加其傳輸功率電平,使得它們的差等於三個級別。此外,當一個節點A接收來自B節點的發射功率電平的數據包是小於一個其目前維持節點,節點A將​​使用B節點來代替它具有節點較大的發射功率水平較節點B.

在下面,我們做了實驗,以確定RL,RH的參數,並LTH。在第一個實驗中,我們使用兩種MICAzs,一個是作為發送者,另一是作為接收器。為了促進實驗精度,實驗幾個室內走廊環境。發送器和接收器之間的距離是2.5米,5M,7.5米,10M,12.5米和15M,分別。對於每一個傳輸距離,該發送方傳送高(8級)的功率電平低(1級)8000數據包打開和發送間隔為100ms。每個實驗是七的平均回合。接收機分別計數接收的數據包的數量和捕獲在每個發射功率電平與距離RSSI值。在我們的實驗中,如果RSSI值大於 - 90dBm,分組傳送率將大於90%的在大多數的案例。既然我們有實驗數據的巨大數量和實驗結果類似的,我們只能選擇如圖用於說明兩個有代表性的成果。 

在圖2,各條線表示收集的RSSI值的範圍。 例如,在圖2(a)的電平4巴線表示的所接收的RSSI的值的範圍包之間 - 93dBm和 - 91dBm。在圖2,我們用一個曲線的趨勢線,在通過每個發射功率電平的條線的交叉點曲線線條和酒吧線代表人數最多的接受RSSI值的傳輸功率電平。例如,在圖圖2(b)接收到的大部分的RSSI值報文是 - 92dBm功率級4。我們的結論的實驗結果,如果所接收的RSSI的值大於或等於 - 90dBm時,數據包傳送率將90%以上的無論什麼節點之間的距離。因此,RL被設置為- 90dBm在我們的協議。

我們從以前的實驗RL後,我們設計了一個實驗,以確定RSSI的門檻相對濕度。在這個實驗中,二MICAzs之間的距離為5米。發件人10000秒,傳輸發送數據分組
間隔是100毫秒,1秒和10秒,分別。為了確定RH,我們嘗試3雙RSSI範圍( - 90dBm, - 86dBm),( - 90dBm, - 84dBm),和( - 90dBm,- 82dBm)。發送方將ACK包和平均累積的RSSI值每10,20和30的數據包的累積的RSSI值來獲得AvgRSSI。讓RN表示用於獲取AvgRSSI分組的數目。我們還計算能源成本此實驗。我們採取五項實驗結果平均RSSI的每個範圍閾。實驗結果示於圖3,4和5。

在圖3,如果RSSI閾值的範圍較寬,發送方需要更多的機會使用高發射功率電平,因為AvgRSSI方便抵達RL和RH之間。以這種方式,發送者往往沒有機會降低其發射功率電平。在
圖。 3,從RSSI閾值的範圍 - 90dBm到 - 86dBm具有最小能量相比,在各個發送時間間隔(100毫秒,1秒其他兩個範圍每包成本和10秒)和閾RN(10,20和30)。在圖4,更廣泛的RSSI門檻具有較高的數據包投遞率。然而,它們的差別是小的。因此,相對濕度是
設置為 - 86dBm。確定RSSI閾值範圍之後,我們要確定註冊護士。在圖4,我們可以發現,最好的R N是30小數據包傳輸間隔和大的傳輸時間間隔。這是因為較大的中繼站可以得到更穩定的AvgRSSI比其他任何不同範圍RSSI門檻。因為環境從隨時更改,大RN可以以吸收不同尋常的RSSI值獲得穩定AvgRSSI值。因此,中繼站被設置為30中的協議。

在接下來的實驗中,我們展示了如何找出LQI閾值(LTH),如該分組傳送率將不低於90%。模擬環境是同圖的實驗。在圖5,我們使用曲線(黑線)作為趨勢線並通過每個發射功率電平的條線。曲線與各條線之間的交叉點代表了最數目LQI值這是在該發送功率電平捕獲。我們可以看到,在後台噪聲和圖信號干擾。圖5(a)是比圖更為嚴重。圖5(b)。這是因為該LQI值的在圖的每個發射功率電平的分佈。圖5(a)是比圖相同的發射功率電平大。圖5(b)。所以LQI的分佈在每個傳輸功率電平值可以指示當前環境的背景噪聲。此外,我們可以看到,當AvgLQI大於或等於96,包投遞率將達到90%以上。所以我們設置LTH在我們的協議96。在垂直線圖。圖5是等於96

讓LN表示用於獲取AvgLQI分組的數目。在下面的實驗中,RSSI閾值的範圍是從 - 90dBm到 - 86dBm和RN是30。[16]作者提出接受LQI值的分佈範圍通常較寬比接收RSSI值,特別是當鏈路質量是壞的。因此,我們嘗試四個不同的LN值30,60,90,和120具有四個不同的分組發送
間隔100毫秒,1秒,10秒,100秒和。發送者遵循我們提出的方案維持階段基於不同LN值來調整發射功率電平和數據包傳輸的時間間隔。在圖圖6中,較高的LN是,較高的數據包傳送
比。在圖7,只有在每分組平均能量成本的一小差不同的LN固定的發送間隔下。因而LN被設定為120。

2016年4月12日 星期二

ath9k monitor mode

Monitor mode
In monitor mode of operations, the interface does not join
to any network. This mode is generally used for passive
sniffing. The interface receives all packets in its listening
channel, even though it may not be destined for it. The protocol
driver mac80211 sends upstream the unaltered IEEE 802.11
MAC packet with certain extra header information. The extra
header radiotap includes physical layer information such as
received channel, signal quality, signal to noise ratio, antenna
and modulation scheme [19]. Sniffing tools such as Wireshark
[20] use Pcap [21] function to get these packets to the
application layer.

The other purpose of mnitor mode is packet injection. It is
possible to inject random IEEE 802.11 MAC frames using the
radiotap header and monitor mode WLAN network interface.
Fig. 9 shows the functional flow of packet injection. This is
possible by assembling the packet with minimum required
radiotap header and sending it to the driver using kernel socket
functions. W-meter is one of the open source tool, which is
used for arbitrary frame injection [22].

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 為止。不在此一路徑上的其他 工作站都不會被通知。