容迟网络中的路由算法笔记(二)
第二章 容遲網絡典型路由算法
背景:容遲網絡路由算法區別于傳統的Internet路由算法主要體現在兩個方面:
①傳統的Internet路由問題假設網絡拓撲固定已知,而容遲網絡中的節點移動導致網絡拓撲動態變化,網絡中任意兩個節點之間某個時刻或者某段時間內不存在一條穩定的端到端連通路徑;
②與傳統Internet路由算法以最小跳數、最短路徑為路由目標不同, 容遲網絡中的路由算法通常以最大化消息投遞概率和最小化傳輸延遲為目標。
為了克服容遲網絡中鏈路的間歇連通(intermittent connectivity),容遲網絡中路由算法中的數據轉發須采用“存儲-攜帶-轉發”模式。
容遲網絡路由算法分類
非社會感知路由算法:
(1)基礎設施輔助路由算法
釆用特殊的移動受控節點來負責容遲網絡中節點間的消息尋路和傳輸,節點通過控制自己的移動行為,按照一定的移動路線在網絡相互割裂的區域進行移動,以“存儲 攜帶-轉發”的方式輔助網絡進行消息轉發,提高消息投遞率。
舉例-----消息渡船(message ferry, MF)算法其中消息渡船或節點的運動是非隨機的。通過引入一個稱為消息渡船的特殊移動節點并通過規劃該節點的移動路線,協助區域間的消息傳輸。
(2)非基礎設施輔助路由算法
1. 復制策略路由算法:節點在向中繼節點進行消息復制時,不考慮中繼節點的選擇問題。常見的方法主要有洪泛(flooding)以及受控洪泛(controlled flooding)。
其中DD路由算法傳遞消息所需要的跳數是1,不向任何中繼節點復制消息,源節點一直保存緩存信息,每個節點只將消息直接傳遞給目的節點。(消耗的網絡資源少,但是時延較大)
兩跳中繼多次復制的路由策略。源節點將消息復制給與其關聯的所有鄰居節點,這些鄰居節點不再進行復制操作,而是將這些消息傳輸至與消息有關聯的目的節點。成功的概率相比一跳傳輸算法要增大許多,但增加了帶寬和存儲的消耗,多用于傳感器網絡中。
在基于樹的洪泛算法中,將副本傳給中繼節點的任務被移交給最先與任意上游節點建立連接的節點。傳送的信息附帶一塊控制域,該域指明了中繼節點能夠產生和傳送多少份副本。
基于洪泛的經典路由算法:
(1)Epidemic路由算法:利用節點移動性來增加節點間的連接能力,進行消息交換,最終將源節點產生的消息傳輸到目的節點,并通過增加束副本的份數來增大傳輸率。
每個節點維護一個消息總結向量,該向量記錄節點緩存中存儲攜帶了哪些消息。當兩個節點能夠連接時通過交換消息向量來彼此交換缺少的消息。經過一段時間,網絡中的每個節點將收到所有的消息。
優點是不需要額外的拓撲控制信息,同時可以取得高的消息投遞率和低的端到端時延,無需對鏈路狀態進行預測與估計,實施起來較為簡單。
缺點是網絡中存在大量的冗余副本將導致節點能耗增加和緩存溢出,從而導致網絡的資源利用率低和整體運行效能低下。
算法主要適用于緩存和帶寬充足的場景。
傳染病路由算法消息交換的過程:節點A接觸到節點B,啟動一個反熵的會話。首先,A節點將其總結向量SVA傳送到B,SV1記錄節點A緩存的所有消息。然后,B執行集合SV和SVA之間邏輯與(And)運算,即B節點測定A節點攜帶而B沒有的消息,并向A節點請求發送這些消息。最后,A 節點發送所需消息給B。當B接觸到一個新的鄰居節點時,重復上述過程。?
(2) Spray & Wait路由算法:由兩個階段組成:Spray階段和Wait階段。Spray階段實際上是一種基于L個鄰居的泛洪,源節點將需要傳輸的消息復制L份,并獨立地轉發給L個不同的中繼節點,如果在該階段發現目的節點,則消息傳輸結束,若在該階段沒有發現目的節點,則轉入Wait階段。在Wait階段,攜帶消息副本的L個中繼節點不再轉發消息,而是各自執行直接傳輸算法,等待與目的節點的相遇機會。
根據在Spray & Wait路由算法最初的Spray階段L個消息副本如何擴散的問題, 可以設計多種不同的“Spraying”啟發式方法。
(1)Source Spray & Wait算法:源節點向首先遇到的L個不同的節點發送1份消息副本
(2)Binary Spray & Wait算法:在 Spray階段,消息的源節點將L個初始消息副本中的一半分發給第個遇到的節點,然后當源節點或者中間節點有>1個消息副本時,若遇到新的節點,則將一半(向上取整)的消息復制轉發給該節點,本身保留余下的副本信息,當節點只剩下一個副本信息時,則不再向其他中間節點傳送副本,而是進行等待,對目的節點執行直接傳輸。
即一個是一個一個發送給遇到的節點,一個是一半一半發給遇到的節點。
Binary Spray & Wait算 在節點的移動符合獨立同分布(independent and identically distributed, IID)的情況下可以取得最優的消息期望投遞,故適用于節點移動具有該特性的網絡環境。
優點是在一定程度上減少了網絡中傳輸的信息數量.,降低網絡的負載,算法簡單易實現;缺點是與傳染病算法相比,Spray & Wait算法 加大了消息傳輸的平均時延。該算法適用于緩存和帶寬較為充足,但是需要有效利用這些資源的網絡中。
(3) Spray & Focus 路由算法:當節點緩存中只剩余一個消息副本時,中繼節點轉換到聚焦階段(focus phase)。與Spray & Wait算法不同的是,在等待階段節點直接將消息傳遞給目的節點,而在聚焦階段按照給定的標準可以將消息轉發給其他中繼節點。轉發決策是建立在系列計時器的基礎上的,那些計時器記錄兩個節點最后相遇的時間。
其中每個節點維護一個時間向量,記錄該節點與網絡中其他節點從最后相遇到現在時刻的時間間隔。時間變量定義了一個效用函數Ui(j),表示一個節點i給另一節點j傳遞信息的能力。只有當UB(D)>UA(D)+Uth時,節點A才將消息傳遞給節點B,其中Uth是效用值門限參數。隨著時間增加,時間效用值也變得不可靠,還應該增加A到那些與B頻繁接觸的節點的效用值。時間傳遞性函數能使遠離目標的節點快速分散新鮮消息,因此減少一個給定節點因移動帶來的位置的不穩定性。
(4) Prophet路由算法:與傳染病路由算法盲目地向所有鄰居節點復制消息不同,Prophet路由算法中的每個節點將會利用節點間相遇的歷史信息和傳遞性來估計到達目的節點的概率,選擇下一跳節點。其中用投遞預測值(deliver probability)的指標來描述節點之間成功傳輸消息的概率。每當兩個節點A和B相遇時,只有當B到達目的節點的投遞預測值大于A時,A才向B復制消息。
投遞預測值P(a,b)的計算包含三部分:更新、衰退、傳遞性。當兩個節點相遇時,首先更新兩節點的投遞預測值。若兩個節點相遇越頻繁,那么他們彼此的投遞預測值也越高。
相比較于傳染病路由算法,Prophet路由算法有選擇性的復制消息,避免生成低效傳輸的消息副本,提高網絡的資源利用率。所以Prophet算法具有更高的平均消息傳輸率和更低的通信負載,平均時延方面也表現較好。
缺點是消息管理機制方面可以使用一些其他更好的策略,例如丟棄被轉發次數最大的信息;減少所需的緩沖空間,并進一步提高性能, 可以允許節點廣播一個ACK給其他節點,通知其他節點刪除己傳遞的消息,給其他消息留更多的資源。
幾個路由算法比較截圖
2. 轉發策略路由算法:轉發策略的路由通常也稱為單副本路由,是根據網絡的拓撲知識來指定一個或幾個用于衡量節點作為中繼轉發某消息的合適程度或鏈路的傳輸時延等的效用指標。單副本轉發策略必須確保據此所選出的中繼節點能夠比源節點更好的勝任消息投遞工作,如果可以設定出能夠準確描述節點屬性的效用指標,則可以保證在網絡中只有一個消息的副本在傳輸時達到一個較為理想的投遞率,保證可靠傳輸。
知識ORACLE集有四種類型:接觸總結、接觸、排隊和流量需求,根據ORACLE的類型,提出了 FC (first contact)、MED (minimum expected delay)、ED (earliest dclivciy)、EDLQ (earliest delivery with local queue) 、EDAQ (earliest delivery with all queue)和 LP (linear program)六個算法
3. 混合策略路由算法:在網絡密度稀疏、消息生存時間有限的情況下,即使復制消息會產生冗余,仍比消息轉發更有效。因為消息副本的增加可以提升擴散速度,并且多個副本能使它們中至少一個成功傳遞的概率增大。混合策略的路由算法結合了基于復制的 路由算法和基于效用轉發的路由算法的特點。它更為靈活,既利用了復制策略多副本的并行性,又優化選擇了較為合適的中繼節點,控制消息夏制。
其中Spray & Focus算法是一種典型的混合策略路由算法,在Focus階段 算法實行聚焦搜索,有選擇地進行副本的轉發傳輸。還有 OOF (optimal opportunistic forwarding)算法結合了跳數和副本存活時間來定義副本的投遞概率;MV (meetings & visits)路由算法則利用節點間的相遇概率來描述消息傳輸的成功概率。
社會感知路由算法簡介
社交網絡中用到的關鍵技術:
1. 社會關系獲取技術
社會關系的獲取是基于社會感知路由算法的關鍵。技術主要分為兩類:自匯報技術和動態檢測技術。
(1)自匯報技術:社交網絡中的各種社會關系可以利用自匯報技術來捕獲,現有的自匯報技術主要有問卷調査方式和在線社交方式兩種。
(2)動態檢測技術:動態檢測技術通過深度分析節點日常活動的軌跡、通話記錄、居住位置等信息,探測出節點間潛在的社會關聯。主要的動態檢測技術有移動追蹤、通話記錄和移動定位等。
2. 社會網絡分析技術
社會網絡分析技術著重研究人與人之間的互動模式、相互影響以及潛在的社會關聯,因此該技術為分析社交容遲網絡中節點間復雜社會關系提供了關鍵技術和理論支持,并為容遲網絡的路由設計提供了重要的決策信息。以下是社會網絡分析技術的社交圖及社區檢測算法。
(1)社交圖:節點代表社會網絡中的個體,節點之間的邊代表兩個節點之間的社會關聯,其中社會關聯描述了節點間的各種形式的社會關系。根據節點之間連接表示的不同含義,可以構造許多不同類型的社交圖。
(2)社區檢測算法:根據社區的形成方式, 社區檢測算法可以分為集中式社區檢測和分布式社區檢測兩類。在多數情況下,節點并不能獲取整個網絡的如識集,并且由于移動性,節點無法及時通知其他節點自己的社區信息,因此很難在社交容遲網絡中部署集中式的社 區檢測算法。在這種情況下,節點往往更需要一種分布式的社區檢測算法。三種分布式社區檢測算法:Simple、k-Clique和Modularity。
3. 常見的社會屬性
常用的社會屬性有:社區(community)、中心性(centrality)、相似性(similarity)等。社區描述了一組具有相近位置或者近似興趣的節點集合,社區內的節點具有更強的社會關聯。中心性是衡量網絡中節點地位的量度指標。相似性則是用于分析節點間具有的某些共同特征。
(1)社區:是社交網絡一種結構上的組合,被認為是多個聯系緊密的成員個體的集合。通常是指一組聯系緊密的節點。同一個社區的個體可能更頻繁的相遇,所以社區探測有利于選擇合適的轉發消息的路徑,即社區對節點移動模型有重要的影響。
(2)中心性:在圖論中,向心性是對圖中頂點的相對重要性的定量分析。在網絡中找岀最重要或中心節點的方式有很多,廣泛度(degree centrality)、密切度(closeness centrality)和中介度(betweenness centrality)。
廣泛度:衡量的是與給定節點有直接連接的節點數目。具有較高廣泛度的節點保持與眾多其他網絡節點的聯系。這樣的節點可以被看作是具有大量與其他節點連接的流行節點。數學公式是:
密切度:節點p的密切度是到所有其他可達節點之間的平均測量距離的倒數。密切度可以看作是要花多長的時間把信息從一個給定節點傳播到網絡中其他節點的測量方法。數學公式是:
中介度:是移動社交網絡中最常用的測量中心性方法,它代表節點位于連接所有其他節點的測地線路徑的程度。中介度可以看作是節點控制消息在其他節點間傳輸能力的衡量標準。具有高中介度的節點能促進它所連接的節點之間的交互傳輸,可以當作是節點能夠促使網絡中其他節點交流的能力。數學公式是:
下圖顯示了一個社交網絡屬性中各個度:
(3)相似性:相似性是評估一群節點的共同特征的度量,如節點的背景、興趣和地理位置。 相似性通常被稱為是同質性。有相同熟識節點的兩節點成為熟人的可能性被提高,這種現象被稱為聚類。源節點和目標節點的相似度越高,他們相遇的機會越多。在群簇節點中, 具有較高的相似度的節點,可以成為很好的傳播消息的候選節點。
(4)自私性:自私性可以用來描述被實體合理控制的節點的自私行為。
4. 基于社區的社會感知路由算法
在社交容遲網絡中,利用社區信息進行消息路由可以顯著提高網絡的路由性能。基于社區的社會感知路由算法首先根據節點間的社會關系、共同興趣愛好、相似性等,利用一定的社區探測算法將節點分配到不同的社區當中,然后利用源節點與目的節點的社區信息進行路由選擇。消息的轉發過程主要分為:社區內的消息轉發和社區間的消息轉發。
新的路由策略Bubble Rap,是基于社會網絡的兩種主要特性,社區性和向心性。
Bubble R叫路由協議假設了兩個條件:
(1)每個節點至少屬于一個社區,所以允許存在單個節點的社區。
(2)每個節點都有整個系統的全部排名,如所有節點的向心性,并且也有該節點所在社區的排名。因為一個節點可能屬于多個社區,于是也可能有多個名次表。
在Bubble Rap路由策略中,如果某個節點要將信息傳送至目的節點,該節點在分層等級樹(hierarchical rankings tree)中逐層上傳,直到信息到達與目的節點在一個群體中的某個節點。然后在該群體中,信息利用該群體內部的等級順序將信息再傳至目的節點。在整個網絡系統中,無需每個節點都存有網絡中其他所有節點的等級值,只需要在每步傳送操作中對遇到的節點的等級值運用貪心策略即可。
5. 社區獨立的社會感知路由算法
背景:在某些應用場景中,由于不存在明顯的社區結構、節點間的社會關系在頻繁變化等原因,社區探測算法很難發揮作用,因此基于社區的社會感知路由算法難以取得令人滿意的路由性能。而社區獨立的社會感知路由算法中不存在社區的概念,因而可以有效避免上述不足之處,進而提高路由性能。
該算法主要利用節點的中心性、相似性、自私性等社會屬性對節點的質量進行有效評估, 進而基于特定的效用指標選擇質量更優的節點擔當消息的下一跳中繼節點。通過將消息不斷轉發給更好更優的中繼節點,消息能夠逐漸地靠近目的節點,并最終被成功傳遞到目的節點。
SimBet路由協議借鑒自我網絡(ego network四)的概念定義由中介度(betweenness)和相似性(similarity)度量的效用函數,來估算容遲網絡中每個節點 的中心性。當節點接觸時,消息將被傳遞到具有更高效用值的節點。在SimBet路由算法中, 攜帶消息的節點與候選節點比較SimBet效用值,并將消息傳遞給具有更大效用值的節點,即能提供傳遞消息的最大效用值的節點作為下一跳節點。
路由算法評估比較
DTN路由協議的評估指標:
(1)消息投遞率。是在模擬時間內由源節點生成并成功傳送到目的節點的消息數量與網絡中生成的所有消息數量之比,其中不包括在路由轉發過程中由于中繼轉發策略的不同而產生的副本。
(2)網絡負載率。是需要投遞的消息的發送總次數和發送的消息的總數之間的比值。
(3)平均時延。表示從源節點發送數據包開始到目的節點接收到該數據包所花費的時間。
(4)平均跳數。在DTN網絡中所有消息的副本經歷的跳數的總和與網絡中生成的所有消息數量之比。越少說明算法越高效。且路由跳數對端到端時延至關重要。
其他評估指標:
各個路由協議比較:
總結
以上是生活随笔為你收集整理的容迟网络中的路由算法笔记(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动手学数据分析(三)- 数据重构
- 下一篇: 浅谈文本生成或者文本翻译解码策略《转》