• 沒有找到結果。

2. 相關工作

2.2 無線網路

無線網路中廣播功能更是有著重要的地位,由於節點間並沒有實體的線路做連結,

舉凡交換資訊、傳遞訊息等都要透過廣播來達成。而無線網路廣播時也因為沒有實體線 路的連結,因此無法對指定的鄰居作發送的動作,當要發送給其中一個鄰居時,仍然要 使用廣播來傳送,附近鄰居節點收到不屬於他們的訊息則忽略。這樣頻繁的廣播造成了 廣播風暴(Broadcast storm)的問題,網路內的節點容易因此造成訊息碰撞,使得大家 都沒辦法傳送資訊。為了解決廣播風暴的問題,許多學者則先後提出機率式、面積式和 鄰居資訊式廣播等[9]解決方法。

2.2.1 機率式廣播(Probability-Based Methods)

機率式廣播與泛流式廣播方法相似,不同的地方在於機率式廣播的節點接收到訊息 後,會使用一個已經定義好的機率機制來決定是否要對自己的節點來發送廣播訊息。機 率式廣播的機率機制並不需要或是僅需很少的網路資訊[28]即可運作,此類型主要提出 的方法有機率制(Probabilistic scheme)和累積制(Counter-based scheme)。

機率制(Probabilistic scheme) [23]廣播在訊息發送時會使用一個事前定義好的機率 值來決定是否發送廣播。在稠密度較高的網路中,許多節點所傳輸覆蓋的範圍很雷同,

使用這樣的方法可以有效地降低冗贅訊息的產生且不會影響到訊息傳送的有效覆蓋面 積。而在稀疏網路環境下節點間重複覆蓋的面積較少,網路中節點仍因使用機率制來決 定是否傳送,造成網路的覆蓋面積無法達到完全覆蓋,可能會使網路中某些節點有收不 到廣播訊息的問題。若要在稀疏網路中解決此一問題則需要調高發送時的機率值,若此 值調高至 1 的話則與泛流式廣播傳送方式相同。

累積制(Counter-based scheme) [23]主要是希望能夠解決機率制在稀疏網路中覆蓋 率不佳的問題,在這個方法中不再使用機率值來決定是否發送訊息,而是透過一個門檻

值來控制發送與否。若網路中一個節點在發送等待時間內收到很多次相同的訊息的話,

則給予此節點較低的發送權利。累積制廣播是在隨機延遲時間(Random Assessment Delay, RAD)內累積接收到的廣播訊息數量,每收到一個訊息則增加 1 次,直到RAD結 束,若這個累積值沒有超過門檻值的話則正常發送,超過的話則表示目前附近的節點密 度較大,不需要發送廣播,在[23]中門檻值是建議設定超過 6 會比較恰當。

2.2.2 面積式廣播(Area-Based Methods)

面積式廣播的著眼點是想利用最少的節點廣播來覆蓋住網路最大的面積,因此透過 傳送節點與接收節點之間的距離資訊來設法增加節點與節點間覆蓋的面積[16]。如果兩 個節點之間的距離相當接近,那再廣播時增加的覆蓋面積則會相當有限;而如果另一個 節點恰好在可被覆蓋的廣播面積邊界的話,那這個增加面積的效益可達到 61% [23]。在 面積式廣播中只考慮節點有效廣播的覆蓋面積,不使用任何的鄰居資訊,也不考慮覆蓋 的 面 積 中 有 多 少 節 點 被 涵 蓋 到 。 這 個 方 面 研 究 較 具 代 表 性 的 作 法 有 距 離 制 (Distance-based scheme)和定位制(Location-based scheme)。

使用距離制(Distance-based scheme) [23]廣播的節點會透過自己與鄰居節點之間的 廣播封包來計算與鄰居節點之間的距離差距。若收到一個新的廣播訊息時會先等待一個 RAD並在這段時間內收集所有此訊息的冗贅封包,之後檢查這些節點距離的最小值是 否大於先前預設的門檻值,若有超過則正常廣播;若沒超過門檻值則不作任何傳送動作。

在定位制(Location-based scheme) [23]廣播中,每一個節點都需具有一個可以準確計 算或取得自己位置的方法,例如:全球定位系統(Global positioning system, GPS)。透過 這樣準確的定位資訊,節點可以更確切地取得與鄰居的距離差距,以利計算出更符合預 期的覆蓋面積。節點在傳送廣播訊息時,會把自己的定位資訊放進標頭檔中,因此當其 他人收到這個訊息時,便可透過標頭檔中的定位資訊得知發送者的位置並計算它可能的 廣播覆蓋面積。若計算後發現覆蓋的面積小於事先訂好的門檻值,則不會發送廣播訊

息,且之後遇到相同的訊息也都予以忽略。如果大於門檻值的話便等待一個RAD並持 續接收與此訊息相同的冗贅封包,此段時間內收到的冗贅封包也會去計算是否滿足門檻 值,若發現沒有滿足,則刪除此訊息封包。等到RAD結束,若訊息封包仍然存在,便 廣播給鄰居節點。

2.2.3 鄰居資訊式廣播(Neighbor Knowledge Methods)

鄰居資訊式廣播乃透過蒐集鄰居的資訊來做決策依據的一種廣播方式,這種廣播方 式可以簡單的分為蒐集一層(1-hop)的鄰居資訊、蒐集兩層(2-hop)的鄰居資訊或是更多層 的鄰居資訊[12]。在無線網路中,每個節點會透過週期性發送的Hello封包來確認其他的 鄰居是否還健在,將這些回傳Hello封包的節點蒐集起來,就是一層(1-hop)的鄰居了。

若進一步讓節點在這個週期性的Hello封包加入自己的鄰居列表,然後廣播給此節點所 有的鄰居,如此一來其他的鄰居們便可以取得此節點以及此節點其他鄰居的資訊,也就 是所謂的二層(2-hop)的鄰居資訊了。現存利用鄰居資訊的廣播模式,大多使用的是二層 鄰居資訊。

Flooding with self-pruning [13]是最簡單使用一層鄰居資訊的方法,當節點要傳送廣 播封包時,會把這個節點的鄰居資訊放入封包中然後傳送。而收到廣播封包的其他節點 會檢查自己的鄰居資訊是不是有封包內的覆蓋節點範圍所不及的,若是如此則同樣把自 己的鄰居資訊加入封包後廣播。如果自己的鄰居列表可以在封包內的列表中找到,則代 表此節點的覆蓋範圍被上個節點給覆蓋,便不需要再多去傳送廣播封包。

Scalable broadcast algorithm (SBA) [25]也是鄰居資訊是廣播法的一種,但它與 Flooding with self-pruning不同的地方在於SBA須要取得兩層的鄰居資訊。每個節點會在 平常時候就會利用Hello封包來交換彼此的鄰居資訊,當節點接收到廣播訊息時便會去 檢查自己廣播涵蓋範圍內的鄰居是不是已經都被上一個廣播發送者傳送過了,如果發現 還有鄰居沒有被涵蓋到,則啟動RAD等待。在RAD時間內節點仍然持續接收廣播過來

的封包,並確認自己剩下的鄰居是不是有被涵蓋到,直到RAD等待時間結束。若在RAD 時間內自己所有的鄰居都被其他節點所涵蓋到,便丟棄此封包不去做傳送動作;反之如 果RAD結束後發現自己還有鄰居尚未被覆蓋,則將此訊息再廣播出去。

SBA是一種在接收期間做蒐集鄰居資訊來減低重複封包傳送的方法,而Multipoint relaying [3][4]則是透過發送時即使用鄰居資訊來減少重複訊息的機制,它同樣是需要使 用二層鄰居資訊的廣播方法,Multipoint relaying傳送時會去挑選一些鄰居並告訴這些鄰 居需繼續做廣播動作,這些被選中的鄰居叫做Multipoint relays (MPRs),它們收到廣播 訊息後會再去挑選新的MPRs並繼續廣播下去,而未當選MPRs的節點則只單純的做接收 的動作。因此這個方法中如何挑選出MPRs便是重要的議題,在[4]中有提到主要挑選的 步驟為:將第二層的鄰居可以在一層之內傳送到的鄰居節點設為MPRs,然後確認這些 MPRs看看是否可以將原本所有的二層鄰居都覆蓋住,若不行則再從一層的鄰居中挑選 可以蓋住二層鄰居的節點,直到所有兩層鄰居都被覆蓋為止。透過這樣的步驟,可以選 出廣播效果較好的MPRs。

相關文件