以預先戳記法改善網路廣播效能之研究
全文
(2) 以預先戳記法改善網路廣播效能之研究 指導教授:吳俊興 博士(教授) 國立高雄大學資訊工程學系. 學生:謝沛軒 國立高雄大學資訊工程學系. 摘要. 隨著網路技術的發展,龐大的網路資訊產生速度及傳播速度也大幅地提升。在有線 網路中,點對點疊加網路傳輸技術常用來提升網路中資訊傳輸的效能與速度;然而,在 非結構化的疊加網路中,需要透過廣播的方式來建立路徑與傳遞訊息。另一方面,在無 線隨建即連網路中,節點之間亦無固定的架構,因此也常需藉由廣播傳遞訊息。傳統的 泛流式廣播,雖然簡單並擁有可以讓網路中的每個節點都可以收到訊息的高可靠性,但 大量的轉送封包,可能造成網路的擁塞,並使得網路的效能及使用率降低,更甚者,將 可能造成廣播風暴的問題。本論文基於戳記法,提出能進一步改善廣播效能的預先式戳 記法。在訊息傳送過程中,會在訊息中預先並累積記錄訊息將經過的節點,使收到的訊 息的節點,能據以判斷適當的轉送廣播策略,以便減少冗贅的廣播封包,降低廣播的成 本,提升網路效能。本研究透過在有線疊加網路及無線隨建即連網路模型的模擬分析, 可以發現預先戳記法能有效地降低網路中的訊息總量,進而改善網路的承載負擔,並提 升網路的使用率與效能。. 關鍵詞:戳記法、預先戳記法、廣播、非結構化網路、無線隨建即連網路. i.
(3) Pre-stamping Approaches to Efficient Broadcast for Networks Advisor(s): Dr.(Professor) Chun-Hsin Wu Department of Computer Science and Information Engineering National University of Kaohsiung. Student: Pei-Syuan Sie Department of Computer Science and Information Engineering National University of Kaohsiung. ABSTRACT With the development of networking technology, the speeds of creation and dissemination about information on the Internet also increase rapidly. In wired networks, peer-to-peer overlay networking has been proposed to improve the efficiency of content distribution, but unstructured overlay networks usually rely on broadcasting to find paths or to transport messages. For nodes of wireless ad-hoc networks without pre-fixed structure, they also use broadcasting to communicate with each other. Although simple flooding is reliable, but it generates large amount of re-broadcasting packets that usually cause network congestion and incur broadcasting storm problem, decreasing the performance and utilization of networks. In this thesis, we propose a pre-stamping approach to improve further our previous stamping methods. In this approach, it will pre-record and collect the nodes that packets will go through, and it can determine an appropriate forwarding policy. By this way, it could reduce redundant packets and costs dramatically. Through the simulation and analysis in wired networks and wireless ad hoc networks, it evidences that the proposed pre-stamping approach could reduce the amount of broadcast packets and improve the performance and utilization of networks significantly.. Keywords: stamping, pre-stamping, broadcasting, unstructured networks, wireless ad hoc networks. ii.
(4) 目錄 摘要............................................................................................................................................. i ABSTRACT...............................................................................................................................ii 目錄.......................................................................................................................................... iii 圖目錄........................................................................................................................................ v 表目錄......................................................................................................................................vii 致謝........................................................................................................................................ viii 1. 前言................................................................................................................................ 1 1.1 點對點網路............................................................................................................ 2 1.2 無線隨意網路........................................................................................................ 3 1.3 挑戰........................................................................................................................ 4 1.4 貢獻成果................................................................................................................ 4 2. 相關工作........................................................................................................................ 5 2.1 泛流式廣播(Flooding) .......................................................................................... 5 2.1.1 機率式廣播(Probability-Based Methods) ................................................. 6 2.1.2 累積制廣播(Counter-based scheme)......................................................... 6 2.2 面積式廣播(Area-Based Methods) ....................................................................... 7 2.2.1 距離制(Distance-based scheme) ............................................................... 7 2.2.2 定位制(Location-based scheme) ............................................................... 7 2.3 鄰居資訊式廣播.................................................................................................... 8 2.3.1 自我修剪泛流式(Flooding with Self-pruning) ......................................... 8 2.3.2 可調變廣播演算法(Scalable Broadcast Algorithm, SBA) ....................... 8 2.3.3 多點傳輸演算法(Multipoint Relaying) .................................................... 9 2.3.4 支配修剪式(Dominant Pruning, DP) ........................................................ 9 2.3.5 連通支配集廣播演算法(CDS-Based Broadcast Algorithm).................... 9 2.3.6 戳記式演算法.......................................................................................... 10 3. 戳記式演算法.............................................................................................................. 11 3.1 基本戳記演算法.................................................................................................. 12 3.2 進階戳記演算法.................................................................................................. 15 3.3 混合戳記演算法.................................................................................................. 17 4. 預先戳記式廣播機制.................................................................................................. 20 4.1 有線網路.............................................................................................................. 20 4.2 無線網路.............................................................................................................. 22 5. 基礎實驗分析.............................................................................................................. 27 5.1 有線網路實驗...................................................................................................... 27 5.1.1 實驗設定.................................................................................................. 27 iii.
(5) 5.1.2 訊息總數.................................................................................................. 30 5.1.3 節點減少傳輸比例.................................................................................. 33 5.1.4 頻寬控制.................................................................................................. 36 5.1.5 傳輸時間.................................................................................................. 39 5.1.6 覆蓋率...................................................................................................... 44 5.2 無線網路實驗...................................................................................................... 45 5.2.1 實驗設定.................................................................................................. 45 5.2.2 節點減少傳輸比例.................................................................................. 46 5.2.3 網路大小.................................................................................................. 48 5.3 小結...................................................................................................................... 50 6. 預先戳記法成本改善機制.......................................................................................... 52 6.1 戳記設定.............................................................................................................. 52 6.2 戳記壓縮.............................................................................................................. 53 6.3 分類法壓縮.......................................................................................................... 56 6.3.1 雜湊法...................................................................................................... 56 6.3.2 布隆過慮器壓縮...................................................................................... 58 6.4 戳記總量控制...................................................................................................... 59 6.5 戳記層數控制...................................................................................................... 63 6.6 小結...................................................................................................................... 66 7. 結論.............................................................................................................................. 67 參考文獻.................................................................................................................................. 68. iv.
(6) 圖目錄 圖 3-1 八節點拓撲圖 ............................................................................................................ 11 圖 3-2 基本戳記演算法 ........................................................................................................ 13 圖 3-3 基本戳記法訊息傳遞圖 ............................................................................................ 14 圖 3-4 進階戳記演算法 ........................................................................................................ 15 圖 3-5 進階戳記法訊息傳遞圖 ............................................................................................ 16 圖 3-6 混合戳記演算法 ........................................................................................................ 17 圖 3-7 混合戳記法訊息傳遞圖 ............................................................................................ 18 圖 4-1 有線網路中的預先戳記演算法 ................................................................................ 21 圖 4-2 有線網路中預先戳記法訊息傳遞圖 ........................................................................ 22 圖 4-3 預讀錯誤訊息傳遞圖 ................................................................................................ 23 圖 4-4 預先戳記演算法 ........................................................................................................ 24 圖 4-5 預讀錯誤修正圖 ........................................................................................................ 25 圖 4-6 無線網路中預先戳記法訊息傳遞圖 ........................................................................ 26 圖 5-1 網路模型分佈連接示意圖 ........................................................................................ 29 圖 5-2 二維網狀模型總傳送訊息數量及節點個數關係圖 ................................................ 30 圖 5-3 小世界模型總傳送訊息數量及節點個數關係圖 .................................................... 31 圖 5-4 Waxman 模型總傳送訊息數量及節點個數關係圖 .................................................. 32 圖 5-5 BA 模型總傳送訊息數量及節點關係圖................................................................... 32 圖 5-6 二維網狀模型節點節省訊息量百分比 .................................................................... 33 圖 5-7 小世界模型節點節省訊息量百分比 ........................................................................ 34 圖 5-8 Waxman 模型節點節省訊息量百分比 ...................................................................... 35 圖 5-9 BA 模型節點節省訊息量百分比............................................................................... 35 圖 5-10 二維網狀模型節點平均傳輸時間 .......................................................................... 39 圖 5-11 二維網狀模型節點傳輸時間累積圖 ...................................................................... 40 圖 5-12 小世界網路節點平均傳輸時間 .............................................................................. 41 圖 5-13 小世界網路節點傳輸時間累積圖 .......................................................................... 41 v.
(7) 圖 5-14 Waxman 網路節點平均傳輸時間 ............................................................................ 42 圖 5-15 Waxman 網路模型節點平均傳輸時間 .................................................................... 42 圖 5-16 BA 模型節點平均傳輸時間..................................................................................... 43 圖 5-17 BA 模型節點傳輸時間累積圖................................................................................. 43 圖 5-18 廣播節點數量與訊息減少百分比關係圖 ............................................................... 47 圖 5-19 訊息碰撞機率與節點關係圖 ................................................................................... 47 圖 5-20 節點數量與網路空間大小關係圖 ........................................................................... 48 圖 5-21 碰撞比例與網路空間大小關係圖 ........................................................................... 49 圖 6-1 二維網狀模型中節點收到的戳記量之累積圖 ........................................................ 53 圖 6-2 小世界模型中節點收到戳記量之累積圖 ................................................................. 54 圖 6-3 Waxman 模型中節點收到戳記量之累積圖 .............................................................. 54 圖 6-4 BA 模型中節點收到戳記量之累積圖....................................................................... 55 圖 6-5 二維網狀模型戳記總量控制比較圖 ........................................................................ 60 圖 6-6 二維網狀模型戳記總量控制於十以下比較圖 ........................................................ 60 圖 6-7 小世界網路戳記總量控制比較圖 ............................................................................ 61 圖 6-8 Waxman 模型戳記總量控制比較圖 .......................................................................... 61 圖 6-9 BA 模型戳記總量控制比較圖................................................................................... 62 圖 6-10 無線網路戳記總量控制比較圖 .............................................................................. 62 圖 6-11 二維網路層數控制比較圖 ...................................................................................... 63 圖 6-12 小世界網路層數控制比較圖 .................................................................................. 64 圖 6-13 Waxman 網路層數控制比較圖 ................................................................................ 64 圖 6-14 BA 網路模型層數控制比較圖................................................................................. 65 圖 6-15 無線網路層數控制比較圖 ...................................................................................... 65. vi.
(8) 表目錄 表 5-1 有線網路基本設定參數表 ......................................................................................... 27 表 5-2 Waxman-Uniform 頻寬分佈與訊息總量數據 .......................................................... 36 表 5-3 Waxman-Exponential 頻寬分佈與訊息總量數據 .................................................... 37 表 5-4 Waxman-Heavy-tailed 頻寬分佈與訊息總量數據 ................................................... 37 表 5-5 BA-Uniform 頻寬分佈與訊息總量數據.................................................................... 38 表 5-6 BA-Exponential 頻寬分佈與訊息總量數據 .............................................................. 38 表 5-7 BA-Heavy-tailed 頻寬分佈與訊息總量數據............................................................. 38 表 5-8 二維網狀模型廣播訊息覆蓋率 ................................................................................ 44 表 5-9 小世界模型廣播訊息覆蓋率 ..................................................................................... 44 表 5-10 Waxman 網路模型廣播訊息覆蓋率 ........................................................................ 45 表 5-11 BA 網路模型廣播訊息覆蓋率 ................................................................................. 45 表 5-12 無線網路實驗參數設定 .......................................................................................... 46 表 5-13 節點數量與覆蓋率表 .............................................................................................. 48 表 5-14 空間大小與覆蓋率表 .............................................................................................. 50 表 6-1 台灣地區 IPv6 核發分配情形表............................................................................... 57. vii.
(9) 致謝. 一件事情的成就,通常不是單獨一個人所完成,研究亦如是。在成為碩班生,並開 始研究後,才深刻的體會「研究」並非只是一個目標,而是如同其所表示的,發現問題, 並且不斷地探究什麼樣的因,導致了什麼樣的結果,而這一精神,也不單單只存在於論 文的實驗與撰寫中,而體現在生活中的每件事物。 非常感謝我的指導教授吳俊興老師,在研究過程中,茫然不知頭緒時,指引我,引 導我,並給予寬容耐心與細心的協助,讓我在研究的路途中,不致迷失了方向,並且在 這 2 年中,有所長進。也感謝我的家人,默默地支持著我走過這段歷程,不時地關心著 我,讓我在氣餒與無力時,努力的堅持下來。 另外我要感謝我的朋友們,時常的與我一起談論創意的發想,與資訊的新知,拓展 了我的視野,並激發我的鬥志。最後感謝我生命中歷經過的人、事、物,不論是好是壞, 都是重要的軌跡。謝謝你們。. viii.
(10) 1. 前言 隨著網路技術的迅速發展,不斷地發展出許多日新月異的相關技術以提升網路傳輸 的效率,例如從伺服器-客戶端的主從式架構進展到點對點的分散式處理架構,乃至於 近來整合大量技術的雲端網路架構。網路的便利與資訊的爆炸性成長,使得網路需負荷 大量的傳輸封包[8][14][25][36][37][42]。目前盛行的檔案分享系統幾乎都是採用了點對 點(Peer-to-peer)技術來達成資料的傳輸及分享。許多點對點網路傳輸技術建立在非結構 化的疊加網路之上,藉由節點之間的資源分享,系統運作效能不會隨著使用者的增加而 下降,反而因為分享的節點變多而使得整體網路效能提升。疊加網路係指網路上的每個 節點為獨立的節點並忽略網路的實體架構,節點之間可以自由連接;存在於疊加網路上 的一條路徑可能由數條實體的連線所組成。非結構化網路則是指疊加網路中,並非隨時 隨地維護傳輸的路徑,而是當有需要傳輸訊息時才透過廣播的方式查詢並建立路徑。現 今熱門的雲端網路架構,也包含了點對點的網路架構與應用。然而點對點網路架構中, 節點彼此間需仰賴廣播訊息的方來式得知並連結到其他鄰居或目的節點。 另一方面,隨著行動裝置與應用的興起,無線網路技術的使用也更為蓬勃發展。像 是 Wi-Fi、Wi-MAX 和 LTE 等技術,應用在行動裝置之間的溝通與檔案傳輸。無線隨意 網路(Wireless ad hoc network)也因此被廣泛地使用。無線隨意網路是一種分散式的網路 架構,因為不需要依存於一個既有的網路架構,或固定的網路基礎設施,而是靠各個行 動裝置彼此互相型成網路。在此架構中,每個行動裝置身為接收端的同時,也扮演著路 由器的角色,協助轉送網路中的封包。透過廣播的方式,將封包發送至網路中的每一個 節點中。然而,隨著網路中的節點數增加,廣播封包也將大量地增加。 因此,本篇論文以戳記法為基礎,針對訊息量的減少機制進一步研究,提出預先戳 記法,藉由擴大蒐集鄰居資訊,及戳記的記錄與比對,進而降低冗贅的廣播訊息量,改 善大量重複的封包造成的網路擁塞,並提升網路的效能。. 1.
(11) 1.1 點對點網路 點對點網路(Peer-to-peer)是一個無集中式伺服器的網路系統,主要藉由用戶端(Peers) 互相連接並交換資訊。每個用戶端即為一個節點,並且具有伺服器的功能。節點本身無 法直接找到其他節點時,可透過其與他節點進行資訊的交流來建立傳輸的路徑。點對點 網路由於沒有集中式的伺服器,因此有著較高的網路隱私性,因此在檔案分享領域中, 被廣泛地使用。 點對點網路依集中化程度,可分為純點對點、集中式點對點及混合式點對點網路。 純點對點網路中,節點同時做為用戶端與伺服器端,網路中不存在中心伺服器與中心路 由器。Gnutella[1]即為純點對點網路結構的應用,並利用泛流式廣播的方式來進行資訊 搜尋與封包傳輸。純點對點網路雖然穩私性較高,且極為自由,但相對地難以管理,節 點的資訊也較不易取得,因此衍生出了集中式點對點網路架構。在集中式點對點網路架 構中,存在一個伺服器來集中儲存節點資訊並管理,但並不對檔案進行保存和管理。節 點在搜尋資源時,可藉由此伺服器連接到持有需求資源的節點。例如 Napster[20]、 OpenNAP[24]等即是使用集中式點對點網路架構。混合式點對點系統則是將節點分為用 戶端節點(Client nodes)和疊加節點(Overlay nodes)兩個群,並將節點的資訊儲存在疊加 節點中。混合式點對點系統同時具有純點對點系統和集中式點對點的特性,Skype 和 Gnutella2 即為使用混合式點對點系統的應用。 點對點系統依網路的結構可分為三類,第一類為結構化點對點系統,此類的節點之 間互相交連結資訊,彼此形成有規則的網路拓撲結構。當有節點請求資源時,可藉由於 知的路徑規則傳遞資訊給目標節點,如 Chord[35]和 CAN[31]。第二類為非結構化點對 點系統,此類的節點雖然擁有鄰近的節點資訊,但網路中為無規則的拓撲結構,因此需 透過廣播的方式來搜尋擁有需求資源的節點,建立路徑並傳輸檔案,如 Gnutella。在[18] 一文中,針對 Gnutella 在各種網路中的請求封包有詳盡的分析。第三類為鬆散結構點對 點系統,此類的網路近似於第二類,不同的地方在於當需請求資源時,會依現有的資訊. 2.
(12) 做深度優先搜尋(DFS)來找到持有資源的節點,而非採用廣播的方式,如 Freenet。 在非結構化網路中,節點之間可藉由廣播、多播或單播的方式來傳遞訊息。廣播 (Broadcast)係指將資訊無差別地傳送給所有鄰居節點,透過廣播的方式,可將資訊完整 的傳遍至網路的任何一個節點。多播(Multicast)則是可選擇數個節點為傳送目標,將資 訊傳輸給特定的多數節點。單播(Unicast)是單一節點與單一節點之間進行資料的傳遞, 也是組成多播與廣播的基礎資訊傳輸方式。而單播與多播由於節點無法取的全域的網路 拓撲資訊,需透過廣播的方式來建立拓撲與路徑,進而達成資訊的傳輸。. 1.2 無線隨意網路 在無線隨意網路(Wireless Ad-Hoc Network)中的節點在建立連結時,並不需透過固 定的基礎架構,並且擁有自我組態與可延伸性。隨著無線網路技術的發展,許多行動裝 置透過如 Wi-Fi,WiMAX 和 LTE 等方式,交換彼此之間的資訊。近年行動裝置的盛行 以及無線網路的普及,使得與無線網路相關的應用急速成長,有關於行動互聯網裝置 (MIDs)、隨建即連網路(MANETs)或是車載隨意行動網路(VANETs)等議題也成為了近來 熱門的研究主題。 隨建即連網路(MANETs)主要是由行動裝置組成,彼此之間透過無線網路連接。在 隨建即連網路中的每個裝置可自由移動,並且每個裝置都必須協助網路封包的接收與轉 發送,意即每個節點也需同時擔任路由器的工作。隨建即連網路主要應用於從變動快速 的環境中,探索蒐集環境的資訊。車載隨意行動網路(VANETs)則是主要應用於車載裝 置中,透過車輛間的訊息傳遞,可以快速地回報路況或車流量等相關訊息。隨建即連網 路與車載隨意行動網路之間最大的差異,在於隨建即連網路中的節點可能是雜亂的移動, 而車載隨隨意行動網路中的節點,遵守現實中車輛的行進規則與特定的移動方向。 無線隨意網路中的節點彼此主要是透過廣播的方式進行資訊的交換,冗餘的廣播封 包將造成無線網路的利用率及網路頻寬造成沉重的負擔,因此學者們也針對無線隨意網. 3.
(13) 路提出了如可調變廣播演算法(SBA)、随建即連廣播協定(AHBP)[25]、連通支配集廣播 演算法及戳記法,以改善無線隨意網路中的冗餘封包問題. 1.3 挑戰 在有線網路及無線網路中,廣播機制佔有極重要的地位。無線網路中的路由協定, 如 AODV[28],DSDV[29],DSR[10],或 LAR[11]等,主要是利用廣播進行尋徑,而有 線網路中的 Peer-to-peer 網路也是透過廣播進行資源的搜索與檔案的分享。傳統的簡單 泛流式廣播,雖然能快速地訊息傳遞到整個網路中,且具有很好的可靠度,但每個節點 都進行 Rebroadcast[33]將會造成網路中極大量的封包擁塞。 過去的文獻在處理此類問題,主要可分為時間概念與空間概念來來設計降低冗餘訊 息的傳輸問題。時間概念如 Time-to-live(TTL)機制,著重於研究在不同網路環境中,訊 息存活的時間長度與冗餘訊息、可靠度之間的關係。空間概念則是利用鄰居資訊來減少 需廣播的節點,如可調變廣播演算法(SBA)及戳記法(Stamping)。 論文中主要是改良戳記演算法的機制,改善非結構網路與無線隨意網路中,廣播訊 息過多的問題,藉由蒐集 2-hop 的鄰居資訊,預測可能透過其他路徑接收訊息的節點, 進一步過濾需進行廣播的節點,減少訊息的傳遞與需進行廣播節點。. 1.4 貢獻成果 貢獻成果 在本文中,我們為改善網路環境中,使用廣播造成的冗餘封包與網路壅塞的問題, 藉由改良戳記法的傳遞機制,提出了預先戳記法,進一步提升戳記法在過濾節點的能力, 並透過實驗模擬證實預先戳記法的封包過濾能力能有效地降低網路中的重複封包。利用 空間換取效率的概念,不僅降低了戳記法廣播時的冗餘訊息,在不影響覆蓋率、覆蓋面 積與傳輸時間之下,獲得較泛流式與其他鄰居資訊廣播演算法更佳的減少冗餘訊息能力。 並透過戳記的壓縮與總量的控制,提升其實用的可能性。. 4.
(14) 2. 相關工作 隨著網路應用的爆發性成長,有許多的文獻討論有線網路及無線網路中,廣播機制 的相關研究,如泛流式廣播、機率式廣播、面積式廣播及鄰居資訊式廣播,文中將會在 本章的 2.1 節至 2.3 節將會介紹相關的演算法。. 2.1 泛流式廣播(Flooding) 泛流式廣播 簡單泛流式廣播(Simple Flooding)[23]是最基本也最具覆蓋能力的廣播方式,在泛流 式廣播機制中,每一個節點皆會將訊息廣播給它所有的鄰居,這樣的方式可以有效地將 訊息傳遞到網路中的每一個節點,然而大量的封包不停地重複廣播,也造成網路中的封 包擁塞。關於泛流式廣播的研究眾多,如在 P2P 網路中極具代表性的 Gnutella 在泛流式 廣播中加入 TTL(Time-to-live)限制廣播訊息的存活距離,但重複封包的處理方式則是忽 略重複的訊息,只要收到訊息即進行廣播。我們採用的是當一個節點廣播訊息後,即使 爾後收到了重複的訊息,也不會再次進行廣播的機制,戳記法中的廣播方式也遵行此機 制,此機制下會過濾重複的訊息,減少廣播的次數,降低冗餘封包的傳遞。 TTL Flooding 利用在廣播封包中加入計數器的方式,當該訊息被轉送一次時,計數 器的值便會減 1,當計數器的值為 0 時,該廣播封包即不再傳送。藉由 TTL 的機制,限 制單一訊息封包的存活距離,如早期的 Gnutella,即是利用 TTL 來限制封包的傳遞範圍。 TTL 的數值設定對於有極大的影響,TTL 一般設定為 7,即經過 7 個 hops 傳遞後,該 訊息即不再被轉送,平均在 TTL=7 [3]時會產生超過 70%[11]左右的冗餘訊息,當 TTL 設的越大,廣播的範圍越大,冗餘訊息同時也將因 TTL 變大而成指數上升;當 TTL 設 的越小,雖可以改善冗餘訊息,但廣播的範圍與覆蓋率都將受到極大的影響,因此有許 多學者針對不同環境下 TTL 的動態設定嘗試相關的研究。 由於純泛流式廣播,節點會將訊息廣播給它的所有鄰居,雖然擁有極佳的覆蓋率,. 5.
(15) 但過多的節點進行廣播,將加重無線網路中訊息碰撞的情況。因此,在無線網路環境中, 泛流式廣播依降低節點廣播的方法概念,又可給分為機率式廣播、概率式廣播與累積制 廣播。接下來將會介紹三種廣播方式的概念與差異。. 2.1.1 機率式廣播(Probability-Based Methods) 機率式廣播 機率式廣播中,每個節點接收到訊息後,會使用一個預先定義好的機率機制 (Probabilistic scheme)[21],各自決定收到訊息時是否廣播訊息。機率式廣播的優點有二, 其一是決定機率的機制,不需要或僅需極少的網路資訊即可以運作,其二是在高稠密度 的網路中,許多節點的涵蓋範圍大同小異,因此僅需其中的一部分節點進行廣播即可, 因此當網路稠密度越高,越能展現出優越的效果。缺點是在稀疏網路中,節點之間較為 分散,彼此的涵蓋節點集合相異性較大,因此如果有部分節點不進行廣播,整體的覆蓋 範圍即會受到影響,以致於無法完全覆蓋的情況。因此有一部分的研究著重於在不同的 網路稠密度下,調整較佳的廣播機率決定的機制。. 2.1.2 累積制廣播 scheme) 累積制廣播(Counter-based 廣播 累積制(Counter-based scheme)[21]主要希望改善在稀疏網路環境中,機率式廣播的 覆蓋不佳問題。在累積制廣播中,節點主要是透過設立一個門檻值來決定是否進行廣播。 一個節點會在廣播前的隨機延遲時間(Random Assessment Delay, RAD)內累計收到的重 複訊息,當節點收到一次重複訊息時,計數器便累加 1,等到 RAD 結束,若計數器的 累積值超過門檻值,表示此節點周圍的節點分密可能較為稠密,進而不進行廣播或調整 一個機率值來降低該節點的廣播權利;若累積值未過門檻,即正常廣播。一般累積值門 檻值在[21]中建議設定以大於 6 為較佳的設定值。. 6.
(16) 2.2 面積式廣播(Area-Based 面積式廣播 Methods) 在無線網路中,每個節點擁有其能傳送及接收的範圍,面積式廣播的概念,即是希 望以最少的節點來覆蓋最大的範圍。在面積式廣播中,會透過交換節點與節點之間的距 離資訊來估計並增加節點之間覆蓋的面積。如果兩點的距離很接近,表示兩個節點所覆 蓋的範圍重複區域較大,聯集後的面積相對的較小;若兩節點彼此恰好符於廣播範圍的 邊界,即表示兩個節點廣播範圍聯集後的面積較大,增加的面積最大可達到 61%[21]。 面積式廣播的優點是此方法中,不需使用鄰居資訊,亦不用計算覆蓋範圍內的節點數量, 僅需透過計算有效的覆蓋面積即可。依面積式廣播的研究中,較具代表性的有距離制 (Distance-based scheme)[21]和定位制(Location-based scheme)[21]。. 2.2.1 距離制(Distance-based scheme) 距離制 距離制廣播中,廣播的節點藉由自己與鄰居之間的封包時間差,來估計與鄰居節點 的距離。利用廣播前的 RAD 等待時間,蒐集這段時間內收到的重複封包,並計算封包 來源節點距離的最小值是否超過門檻值,若超過門檻值,表示鄰近節點離自己皆有一段 距離,可能為稀疏的網路環境,因此正常進行廣播;若最小值低於門檻值,表示有鄰居 節點距離自己很近,網路可能較為稠密,因此不進行廣播。藉由這樣的機制,即使在一 個網路中疏密不一,仍可針對不同的局部狀況做調整。. 2.2.2 定位制(Location-based scheme) 定位制 定位制廣播中,節點需透過可以定位自身位置或座標的方法,例如藍牙定位系統、 Wi-Fi 定位系統或全球定位系統(Global Positioning System, GPS),透過這些定位系統, 可以精確的計算出節點與節點之間的距離。在訊息傳遞時,可以藉由將自己的座標資訊 夾帶在封包中發送,當其他節點收到該封包時,即可計算與發送節點之間的距離。決定. 7.
(17) 廣播或不廣播的機制,與距離制一樣,節點會預先設定一個門檻值,透過 RAD 等待時 間蒐集的封包資訊,判斷是否進行廣播。定位置的優點是擁有精確的座標,可以比距離 制更確切地計算覆蓋的面積,缺點是需先建立定位系統,且封包中夾帶的定位資訊,亦 佔有一定程度的空間成本。. 2.3 鄰居資訊式廣播 鄰居資訊式廣播[41],主要是透過蒐集鄰居的資訊,並將鄰居資訊做為廣播決策的 依據。在無線隨建網路中,節點之間會周期性地交換 Hello 封包,用以確認鄰居節點是 否存活或是否於傳遞範圍內。鄰居資訊式廣播透過平時交換 Hello 封包時,將鄰居資訊 [15]夾帶在 Hello 封包中進行交換。鄰居資訊式廣播蒐集的資訊深度不一,可能為一層 (1-hop)鄰居資訊、二層(2-hop)鄰居資訊,或是更多層的鄰居資訊;一層的鄰居資訊,即 是節點訊息傳播範圍內的節點,二層的鄰居資訊,則是在 Hello 封包中加入自己的鄰居 列表,因此每一個節點可以得知其鄰居的鄰居列表。大多數的鄰居資訊廣播模式,主要 使用二層鄰居資訊進行節點的過濾。. 2.3.1 自我修剪泛流式(Flooding with Self-pruning) 自我修剪泛流式 自我修剪泛流式廣播[14]為最簡單的鄰居資訊廣播方法,主要使用一層的鄰居資訊。 當節點收到廣播訊息時,會將自己的鄰居資訊放入封包,並進行廣播,當其他節點收到 封包時,可以比對自己的鄰居列表與封包中的鄰居列表,進而得知是否尚有節點未被涵 蓋,來決定是否轉送封包。. 2.3.2 可調變廣播演算法(Scalable Broadcast Algorithm, SBA) 可調變廣播演算法 可調變廣播演算法(SBA)[25]屬於鄰居資訊廣播的一種,在可調變廣播演算法中, 需使用二層的鄰居資訊。節點與節點之間,透過 Hello 封包來交換鄰居資訊。當節點收. 8.
(18) 到廣播訊息時,會先檢查此訊息是否已接收並廣播過,若是新的訊息,則會進入 RAD 的等待時間,在等待時間內會持續地接受重複的廣播封包,並更新由封包中取得的鄰居 資訊,等到 RAD 時間結束後,比對自己的鄰居列表是否已全部被涵蓋,若未完全被涵 蓋,則進行廣播;若已完全被涵蓋,則不廣播。. 2.3.3 多點傳輸演算法 Relaying) 多點傳輸演算法(Multipoint 演算法 多點傳輸演算法[12][30]需使用二層的鄰居資訊,比起 SBA 在 RAD 等待時間蒐集 鄰居資訊的方式,多點傳輸演算法則是在廣播時,指定部分鄰居進行廣播的動作。當節 點廣播訊息時,會從鄰居列表中,挑選部分的鄰居成為 Multipoint relays (MPRs)節點, 僅有被指定為 MPRs 的節點在收到封包時,可繼續轉送封包,其餘節點則只接收封包而 不廣播。在多點傳輸演算法中,如何挑選 MPRs 節點極為重要。在[30]中採用的方式主 要是從第二層鄰居列表中,挑選可於 1-hop 內涵蓋到的節點為 MPRs 節點,若這些節點 無法涵蓋所有的第二層鄰居,再從第一層鄰居中挑選可以涵蓋其餘第二層鄰居的節點, 直到 MPRs 可以涵蓋所有第二層鄰居為止。. 2.3.4 支配修剪 支配修剪式 修剪式(Dominant Pruning, DP) Dominant Pruning[14]亦屬於鄰居資訊廣播法的一種,需利用二層的鄰居資訊,主要 的概念與多點傳輸演算法相似。與多點傳輸演算法的差異在於挑選欲傳送的節點時,是 透過 Greedy set cover 演算法去計算需由哪些鄰居節點進行廣播,可由最少的節點覆蓋 第二層的鄰居節點。當鄰居節點收到封包時,僅有封包中有標註需廣播的節點進行廣播, 其他節點則不廣播。. 2.3.5 連通支配集廣播演算法(CDS-Based Broadcast Algorithm) 連通支配集廣播演算法 連通支配集廣播演算法[26]主要是利用連通支配集(Connected Dominating Set, CDS). 9.
(19) [2][9][42]演算法來計算較佳的轉發節點。藉由連通支配集演算法,所有的節點可以被歸 到一個群組中,或是群組邊緣與其他群組連接的節點。而找出最小連通支配集(MCDS) 則可以找出最佳化的最少節點,涵蓋最大的範圍。然而,要計算連通支配集,需要有全 體的網路節點資訊,且連通支配集問題為一 NP-Complete 問題,雖然有近似解,但於節 點所需蒐集的資訊與計算的負擔極重。. 2.3.6 戳記式演算法 戳記式演算法[44][45]屬於鄰居資訊式廣播法的一種,可細分為三種,依蒐集與利 用的鄰居資訊深度,又分為基本戳記法、進階戳記法及混合戳記法。基本戳記法主要是 將路徑上接收並廣播封包的節點資訊加入到封包中,防止廣播來源節點收到重複的訊息。 進階戳記法則是將第一層鄰居資訊加入到封包中後廣播,進階戳記法具有與自我剪修泛 流式同樣的效果。混合戳記則是將蒐集到的鄰居資訊,與廣播目標節點的第一層鄰居比 較,若目標節點的第一層鄰居,存著在一個或多個節點已涵蓋在蒐集到的鄰居資訊中, 表示有其他節點也會廣播訊息給目標節點,因此判斷是否需要進行廣播的動作。本文的 預先戳記法主要是改良戳記式演算法,因此將會在下一章中詳盡地說明戳記式演算法。. 10.
(20) 3. 戳記式演算法 在本章節中,我們將會介紹戳記式演算法在廣播時的訊息傳遞模擬,並在下一章中, 提出預先戳記法進行比較。在進行說明前,我們假設存在一個網路節點拓撲關係圖 G, 此拓撲關係圖將適用於無線網路與有線網路。拓撲中的每個節點記為 V,節點之間的傳 送範圍如果能互相涵蓋,並建立一個傳輸路徑,則以 E 來標示該路徑,節點之間可能 因為防火牆、網域或其他因素,雖然在覆蓋範圍內,但卻不一定互為鄰居,只有單向的 通道可傳輸。藉由上述的規則,我們得到一個 G(V,E)的拓樸圖。在此拓撲中的每一個節 點,擁有唯一的編號,記為 IDv。而當前節點傳送範圍所涵蓋到的範圍內的其他節點, 我們稱之為鄰居(Neighbor),並以 N(v)表示之。. 0. 0. 1. 2. 3. 4. 1. 2. 3. 4. 5. 5. 6. 6 7. 7. 圖 3-1 八節點拓撲圖. 11.
(21) 我們以上述的規則建立一個八個節點的無線網路傳輸圖,並將可傳送的路徑連接後, 移除節點的傳輸範圍,形成一個八個節點的拓撲結構,其中節點 5 與節點 6 之間為單向 連接,圖 3-1 表示之。 從圖 3-1 的拓撲結構中,我們可以得知以其中的連結關係為 N(0)={ID1,ID2} ←→ ID0 連接 ID1, ID2 N(1)={ID0,ID4} ←→ ID1 連接 ID0, ID4 N(2)={ID0,ID3} ←→ ID2 連接 ID0, ID3 N(3)={ID2,ID5} ←→ ID3 連接 ID2, ID5 N(4)={ID1,ID5} ←→ ID4 連接 ID1, ID5 N(5)={ID3,ID4,ID6,ID7} ←→ ID5 連接 ID3, ID4, ID6, ID7 N(6)={ID3,ID7} ←→ ID6 連接 ID3, ID7 N(7)={ID5,ID6} ←→ ID7 連接 ID5, ID6 我們將以此拓撲結構,同時表達有線網路與無線網路兩種情境下的訊息傳遞,然而, 兩者之間其實存在著差異。第一,在有線網路中,封包可以將欲廣播的節點訊息加入到 header 中,其他非廣播目標的節點可以透過 header 的資訊,在發送訊息時可過濾掉。而 無線網路中,當一個節點進行廣播時,其涵蓋範圍內的所有節點都會接收到訊息,因此 在無線網路中,主要目標是讓最少的節點進行廣播,以達到節省冗餘廣播封包的效果。 第二,在有線網路中,由於節點在發送時會先過濾掉已經被傳遞過的節點,因此當一個 節點收到訊息後,會拋棄後來接收到的同樣訊息。而在無線網路中,當一個節點收到訊 息時,會有一小段時間的間隔,去接收其他節點傳送過來的封包,並更新封包的資訊, 同時也會更新 Stamp 欄位。在說明戳記法與預先戳記法時,我們將會分別說明上述兩點 帶來的影響。. 3.1 基本戳記演算法 戳記式演算法的基本概念,主要是使用公文傳遞時的部門印章註記為出發點。當一 份文件需傳遍所有的部門,但又不希望有部門重複收到已簽收過的文件,可以藉由在文 件上蓋章表示此文件已經過哪些部門。. 12.
(22) 在基本戳記法中,節點會在訊息傳遞前,加入發送者的戳記。例如,當訊息經過節 點 r 時,節點 r 會在廣播前在訊息中的 Stamp 欄位中加入自己的 ID。當 r 的鄰居 n 接收 到訊息時,會檢查 Stamp 中的資訊,進而得知 r 為此訊息的發送者,而在廣播時將 r 從 廣播的目標中排除,而 n 在發送前,也會將自己加入到戳記欄位中。藉由過濾掉發送者 本身,來減少冗餘的訊息傳遞。基本戳記法可達到自我修剪泛流式廣播法同樣的效益。. Basic-stamp Algorithm IF node r receives a new message M then msgsend←false for each node n in N(r) do if n not in Stamp(M) then msgsend←true endif end for Stamp(M)=Stamp(M)∪{IDr} if msgsend=true then rebroadcasts end if EXIT. 圖 3-2 基本戳記演算法 我們以來詳細說明在八節點拓撲圖中,基本戳記法如何減少重複的訊息傳遞。在圖 3-3 中,ID0 為訊息的起始廣播節點,它將訊息廣播給它的鄰居 ID1 與 ID2,並在傳遞的 訊息的 Stamp 欄位中,加入了自己 ID。當節點 ID1 與 ID2 收到訊息後,欲廣播訊息時, 會將 Stamp 欄位中的節點資訊與自己的鄰居集合 N(1)、N(2)做比較。在有線網路的情況 中,ID1 的鄰居有 ID1,ID3,而 Stamp 欄位中記錄有 ID0,因此 ID1 僅將訊息廣播給除了 ID0 以外的節點,其他的節點收到封包時,也依照同樣的方法傳遞訊息;由圖 3-3 可以 看出,在有線網路環境下的基本戳記中,可以防止資料回傳給發送者,進而達到減少冗 餘的傳送封包。在無線網路的情況中,ID1 同樣比對自己的鄰居 N(1)與 Stamp,發現雖. 13.
(23) 然 ID0 已記錄在 Stamp 中,但 ID3 仍未有人傳送訊息,因此 ID1 仍會將訊息廣播出去; 其他節點則依據上述的方法傳遞訊息。當拓撲最邊緣的 ID7,從它的鄰居 ID5 與 ID6 接 收訊息時,在 ID7 要廣播前,會比對 Stamp 欄位與 N(7),發現 N(7)皆已包含在 Stamp 欄位中,因此 ID7 便不進行廣播。 詳細的訊息傳遞路徑與發送廣播訊息的節點,以圖 3-3 表示。圖 3-3 中的實線為 有傳遞訊息的封包,虛線則是與簡單泛流式比較後,節省的封包傳遞狀況。灰色的節點, 是有進行訊息廣播的節點,白色的節點則是利用基本戳記法後,比簡單泛流式節省而不 廣播的節點。可以很明顯地看到,在有線網路中,藉由基本戳記法,可以比簡單泛流式 節省虛線部分的封包;而在無線的部分,則節省了一個節點的廣播。. 0 Stamp:{0}. Stamp:{0} 1. 2. Stamp:{0,1}. Stamp:{0,2}. 3. 4. Stamp:{0,1,3}. Stamp:{0,2,4} 5. Stamp:{0,1,3}. 6. Stamp: {0,1,3,5}. Stamp:{0,1,3,5}. Stamp:{0,1,3,6} 7 圖 3-3 基本戳記法訊息傳遞圖. 14.
(24) 3.2 進階戳記演算法 在基本戳記法中,雖然已透過將傳遞訊息的節點自身加到 Stamp 欄位中,進而節省 了部分的訊息傳送,或是節點的廣播。但仍然有節點收到多個重複的訊息,因此衍生了 進階戳記法,加強 1-hop 鄰居的訊息傳遞過濾能力。在進階戳記法中,當節點 IDr 收到 訊息時,節點 r 會將自己的資訊 IDr 與 r 的鄰居 N(r)一起加到 Stamp 中,並廣播給下一 個節點。當 r 的鄰居 n 收到訊息時,可以透過訊息中的 Stamp 中得知,n 的部分鄰居 N(n)’同時也是 r 的部分鄰居 N(r)’,而這些彼此涵蓋的節點,已經透過節點 r 的廣播而 得到訊息,因此節點 n 可以將此部分的鄰居 N(n)’從欲廣播的集合中排除;當 n 的鄰居 N(r)皆包含在 r 的部分鄰居 N(r)’時,節點 n 則不做廣播的動作。詳細的演算法流程,請 見虛擬碼所示。 詳細的訊息傳遞路徑與戳記欄位資訊,我們可透過進行說明。在圖中,我們可以看. Advanced-stamp Algorithm IF node r receives a new message M then msgsend←false for each node n in N(r) do if n not in Stamp(M) then msgsend←true endif end for Stamp(M)=Stamp(M)∪{IDr , IDN(r)} if msgsend=true then rebroadcasts end if EXIT. 圖 3-4 進階戳記演算法. 15.
(25) 到當節點 ID0 在傳遞資訊時,會將傳遞目標以外的 1-hop 鄰居加入到 Stamp 欄位中,例 如 ID0 傳給 ID1 時,會將 ID0 的鄰居 ID2 加到 Stamp 欄位中;ID0 傳給 ID2 時,亦會將 ID0 的鄰居 ID1 加到 Stamp 欄位中。藉由加入 1-hop 鄰居資訊,增強鄰居資訊過濾的能力。 在圖中可以看到進階戳記法主要改善的訊息傳遞情況發生在節點 ID5 與 ID6 之間的路徑 中。當 ID3 廣播資訊給 ID5 時,會將 ID3 的鄰居 ID6 加到欄位中;同樣地,ID3 廣播資訊 給 ID6 時,亦會將 ID5 加到 Stamp 欄位中。因此,當 ID5 收到資訊時,發現 ID6 已存在 Stamp 欄位中,表示 ID3 已傳遞資訊給 ID3,因此 ID5 可將 ID6 從廣播目標集合中排除。 由圖 3-5 中,我們可以得知進階戳記法比基本戳記法,在有線網路的情形下,節省 了 ID5 到 ID6 的訊息傳遞,在無線網路的部分,若 ID5 為最邊緣的節點,則可節省節點 ID5 的廣播動作,然而 ID5 的鄰居中,除了 ID6 之外,尚有 ID7 需透過 ID5 傳遞,因此 ID5 仍會進行廣播。. Stamp:{0,2}. 0 Stamp:{0,1}. 1. 2. Stamp:{0,1,2}. Stamp:{0,1,2}. 3. Stamp: {0,1,2,3,6}. 4 Stamp:{0,1,2,4}. Stamp:{0,1,2,3,5}. 5. 6. Stamp:{0,1,2,3,4,5,6}. Stamp:{0,1,2,3,5,6} 7. 圖 3-5 進階戳記法訊息傳遞圖. 16.
(26) 3.3 混合戳記演算法 進階戳記法增強了基本戳記法在 1-hop 鄰居的過濾能力,而混合戳記法,則是將這 個想法擴充到如 SBA 的 2-hop 鄰居資訊過濾。但與 SBA 不同的是,SBA 演算法採用的 是設定一個計時器,當節點 r 在一段時間內蒐集從其他封包傳遞過來的 2-hop 鄰居資訊, 如果在該段時間內,r 的所有鄰居 N(r)皆含括在蒐集來的封包中的 2-hop 鄰居資訊中時, 則節點 r 不進行廣播,反之則否。在混合戳記法中,會利用平時交換 hello 封包時,同 時交換 1-hop 的鄰居資訊。當節點 r 收到訊息時,會將 Stamp 欄位中的節點資訊,與欲. Hybrid-stamp Algorithm IF node r receives a new message M then msgsend←false for each node n in N(r) do if n not in Stamp(M) then for each node m in N(n) do if m in Stamp(M), and IDr smaller than IDm then msgsend ←true end if if in the end of N(n) and no node in Stamp(M) msgsend ←true end if endfor endif end for Stamp(M)=Stamp(M)∪{IDr , IDN(r)} if msgsend=true then rebroadcasts end if EXIT. 圖 3-6 混合戳記演算法. 17.
(27) 傳送目標節點 IDn 的鄰居資訊 N(n)做比對,如果 N(n)中有節點資訊 IDm,且 IDm 同時存 在於 IDr 收到的 Stamp 中,表示 IDr 與 IDm 都會傳送訊息給 IDn。然而,實際傳輸中僅須 由 IDr 或 IDm 其中一個節點傳遞給 IDn 即可,因此 IDr 與 IDm 會比較彼此的 ID 的大小, 由 ID 較小的節點進行訊息的廣播;如果 ID 為較大的一方,則不廣播。藉由上述的方 法,可以進一步的減少多個節點欲廣播給同一節點的情況,降低冗餘廣播訊息的產生。 混合式戳記法的演算法,請詳見圖 3-6 所示。 我們以來說明混合戳記法的訊息傳遞,並與進階戳記法比較、分析冗餘訊息的節省 情況。圖中所傳遞的 Stamp 欄位資訊與進階戳記法並無二異,主是要藉由接收端蒐集 2-hop 的鄰居資訊與 Stamp 欄位進行比對來增強過濾的效果。當 ID1 接收到來自 ID0 的 訊息時,ID1 會利用平時與鄰居交換 hello 封包時取得的 ID3 的鄰居資訊{ ID5 , ID6}與接 收到的訊息的 Stamp 欄位進行比對,以過濾是否有其他 ID3 的鄰居從 ID0 收到訊息,並. 0 Stamp:{0,2}. Stamp:{0,1} 2. 1 Stamp:{0,1,2}. Stamp:{0,1,2}. 3. Stamp: {0,1,2,3,6}. 4 Stamp:{0,1,2,4}. Stamp:{0,1,2,3,5}. 5 Stamp:{0,1,2,3,4,5,6}. 6. 7 圖 3-7 混合戳記法訊息傳遞圖. 18.
(28) 欲廣播給 ID3。混合戳記法主要的效用發生在 ID3 傳遞訊息給 ID5 與 ID6 時,ID5 與 ID6 僅需其中一個節點廣播資訊給 ID3 即可。當 ID5 與 ID6 收到來自 ID3 的訊息時,ID5 將 hello 封包取得的 ID7 的鄰居資訊{ ID5 , ID6},與 Stamp={ID0, ID1, ID2, ID3, ID6}比對,發現 ID6 已記錄在 Stamp 欄位中,但 ID6 的 ID 大於 ID5,因此 ID5 仍進行廣播。另一方面,ID6 也藉由同樣的方法,發現 ID5 已記錄在 Stamp 欄位中,且 ID5 的 ID 較小,因此 ID6 不進 行廣播。在中,我們可得知當在有線網路環境下,混合戳記法比進階戳記法少了一次訊 息傳遞;無線網路環境中,混合戳記法也比進階戳記法節省了一個節點的廣播。. 19.
(29) 4. 預先戳記式廣播機制 在上一章中,我們詳細地介紹了戳記法的演算法與運作的方式,並且發現了即使在 混合戳記法中,亦不能完全地改善冗餘的訊息傳遞。因此,我們進一步地思考藉由擴大 使用鄰居資訊的深度,期望能將冗餘的訊息更加的降低,並減少需要廣播的節點,增加 戳記法在有線及無線網路中的效能。在本章節中,我們將會討論以戳記法為基礎所衍生 的預先戳記法,並與簡單泛流式廣播以及戳記式廣播做比較。. 4.1 有線網路 在戳記法中,藉由蒐集 1-hop 的鄰居資訊,並加入到 Stamp 欄位中,傳遞給下一個 節點,並作過濾的資訊。預先戳記法的概念,主要是將原由的 1-hop 鄰居資訊,提高到 2-hop 的鄰居訊息,並利用此訊息,改善經過 2 個 hop 後,可能藉由另一條路徑將重複 的訊息傳送給同一節點的情況。由於蒐集來的 2-hop 資訊,在傳遞給下一個節點 n 時並 無作用,需等到再下一次的傳遞,即當節點 n 將訊息廣播給 N(n),收到訊息的節點才 能將該訊息做為過濾節點的訊息。與戳記法最大的差別在於,戳記法中,加入到 Stamp 欄位中的資訊,都是已廣播的節點;然而,在預先戳記法中,加入到 Prestamp 欄位的 資訊,是尚未成為廣播對象的節點,我們預測那些 2-hop 節點將在一段時間後,藉由來 源節點的鄰居,間接地收到廣播訊息。 預先戳記法[46]中,當節點 s 廣播一個新的訊息,且 r 收到該訊息時,會將訊息中 的 Stamp 欄位與鄰居 N(r)做比對,完成比對之後,會將收到的 Prestamp 欄位中的資訊 加到 Stamp 欄位中,並蒐集新的 1-hop 與 2-hop 鄰居資訊,並分別放入到 Stamp 與 Prestamp 欄位中,並進行廣播。當新的節點 n 收到訊息時,Stamp 欄位中已含有上上一 個節點 s 的 2-hop 鄰居資訊,當節點 n 在比對廣播目標節點的資訊時,即可以得知是否 有其他節點也會傳遞訊息給目標節點。. 20.
(30) Pre-stamp Algorithm in Wired IF node r receives a new message M then msgsend←false for each node n in N(r) do if n didn’t in Stamp(M) then for each node m in N(n) do if m in Stamp(M) and IDr smaller than IDm then msgsend ←true end if if in the end of N(n) and no node in Stamp(M) msgsend ←true end if end for endif end for Stamp(M)= Stamp(M)∪{IDr , IDN(r) , Prestamp(M)} Prestamp(M)={IDN(N(r))} if msgsend=true then rebroadcasts end if EXIT 圖 4-1 有線網路中的預先戳記演算法 我們藉由圖 4-2 來詳細說明預先戳記法中包含的資訊,以及如何運用該資訊來降低 冗餘訊息的傳遞與節省節點的廣播。當 ID0 廣播訊息時,會將 1-hop 的鄰居資訊加到 Stamp 欄位中,並將 2-hop 鄰居資訊{ID3 , ID4}加入到 Prestamp 欄位中。當 ID1 收到訊息 時,會先以 Stamp 欄位中的資訊,與目標節點的鄰居資訊做比對,並發現尚未有其他節 點廣播訊息給 ID3。在 ID1 廣播前,會蒐集 ID1 的 1-hop 鄰居 N(ID1)加入到 Stamp 欄位, 並蒐集 ID1 的 2-hop 鄰居 N(N(ID1))加入到 Prestamp 欄位,再進行廣播。當 ID3 收到訊息 時,Stamp 欄位中,包含了之前路徑上各節點以及其 1-hop 的鄰居資訊,同時也包含了 上上一個節點,即為 ID0 的 2-hop 鄰居訊息,當 ID3 在比對目標節點 ID5 的鄰居時,即 可透過在上一個節點時,加入到 Stamp 中的 Prestamp 資訊,發現 ID4 也有可能廣播訊息. 21.
(31) Stamp:{0,2} Pre-Stamp:{3,4}. Stamp:{0,1} Pre-Stamp:{3,4}. 0. 1. 2. Stamp:{0,1,2,3,4}. Stamp:{0,1,2,3,4} Pre-Stamp:{5}. Pre-Stamp:{5,6} 3. Stamp:{0,1,2,3,4,5,6} Pre-Stamp:{7}. Stamp:{0,1,2,3,4,5,6} Pre-Stamp:{7}. 4. 5 Stamp:{0,1,2,3,4,5,6,7}. 6. Pre-Stamp:{0} 7 圖 4-2 有線網路中預先戳記法訊息傳遞圖 給 ID5,但 ID3 的 ID 較小,因此 ID3 進行廣播。另一方面,ID4 也藉由同樣的方法,由 ID2 的 Stamp 與 Prestamp 欄位的訊息中,發現 ID3 將有可能進行廣播,且自己的 ID 大 於 ID3,因此不進行廣播的動作。 由圖 4-2 中可以得知預先戳記法可以比戳記法中的混合戳記更加地減少 ID4 至 ID5 的訊息傳遞,並節省了 ID4 的訊息廣播。. 4.2 無線網路 在無線網路的環境中,節點在廣播訊息前,會蒐集其他節點傳遞過來的重複訊息, 並更新鄰近的節點資訊,同時也會更新 Stamp 欄位中的資訊。在戳記法中,雖然透過 Stamp 欄位資訊的更新,可以增進節點過濾的效果。然而,在預先戳記法中,由於加入 Prestamp 欄位中的節點資訊是可能被其他鄰居間接廣播而得到訊息,並非在此次的廣播. 22.
(32) 中即可獲得訊息,因此會發生 Prestamp 欄位中的資訊加入到 Stamp 欄位時,有可能造 成預讀誤判的情況。 以圖 4-3 為例,當節點 ID0 廣播訊息後,節點 ID1 比 ID2 早接收到訊息,並且廣播 訊息。由於距離或網路延遲的情況,造成 ID3 比 ID2 更快地進行廣播。當 ID2 收到來自 ID3 的廣播訊息時,會更新 Stamp 欄位中的訊息,將原先的 Stamp={ID0 ,ID1}加入來自 ID3 的 Stamp 欄位中的資訊為{ID0, ID1, ID2, ID3, ID4, ID5}。然而,節點 ID2 並不知道,ID3 的 Stamp 欄位中的 ID5,是 ID0 預測 ID4 可以由 ID2 廣播訊息,因此當 ID2 更新了 Stamps 欄位後,以為 ID4 已經透過節點接收訊息,而不進行廣播。當發生預讀錯誤下,ID4 將 無法收到訊息,造成覆蓋率不佳。而無線網路中,為了減輕訊息碰撞,會加入 Random delay 的機制,使得預讀錯誤的情況更為嚴重. 0 Stamp:{0,1} Pre-Stamp:{3,4}. Stamp:{0,2} Pre-Stamp:{3,4}. 1 Stamp:{0,1,2,3,4} Pre-Stamp:{5}. Stamp:{0,1} ↓ Stamp:{0,1,2,3,4,5} Updated !. 2. 3 Stamp:{0,1,2,3,4,5} Pre-Stamp:{φ}. Stamp:{0,1,2,3,4,5} Pre-Stamp:{φ} 5. 4 圖 4-3 預讀錯誤訊息傳遞圖 為了避免預讀錯誤的發生,我們將蒐集來的 2-hop 鄰居資訊的作用範圍侷限在 3-hop 的範圍內,且不加入到 Stamp 欄位中,避免在更新鄰居資訊後,造成預讀錯誤。我們將 Prestamp 欄位拆分成 2-hop-N 與 3-hop-N 兩個欄位,當節點 r 收到訊息時且完成 Stamp 欄位與目標節點的比對之後,將 1-hop 鄰居加入到 Stamp 欄位,並將收到的前一個節點 的 2-hop 鄰居資訊,移到 3-hop-N 欄位,並蒐集新的 2-hop 鄰居資訊,放入 2-hop-N 欄 位內。藉由欄位的拆分與暫存,當訊息經過 2 個 hop 的傳遞後,我們將 Stamp 欄位與. 23.
(33) 3-hop-N 的欄位集中到 Prestamp 欄位,進行目標節點的鄰居資訊比對,並在完成比對後, 捨棄舊的 3-hop-N 資訊,並將 2-hop-N 的訊息設為新的 3-hop-N,以避免預先戳記法的 預讀錯誤,且由於未將 2-hop 的鄰居資訊加入到 stamp 中,而是在 3-hop 的效用範圍內 完成作用後,即清除重新蒐集新的資訊,可避免 Stamp 欄位中的資訊過於冗長與負擔。 無線網路中的預先戳記演算法請參照中圖 4-4 的虛擬碼。圖 4-5 中,我們可以看到利 用無線網路的預先戳記法,可以避免節點 ID2 收到來自 ID3 的廣播訊息,更新 Stamp 欄 位後造成的預讀錯誤,以及預讀錯誤造成的覆蓋率降低的問題。. Pre-stamp Algorithm in Wireless IF node r received message M is not duplicate message then msgsend←false Prestamp(M)=Stamp(M) ∪ 3-hop-N(M) for each node n in N(r) do if n not in Prestamp(M) then for each node m in N(n) do if m in Prestamp(M) and IDr smaller than IDm then msgsend ←true end if if in the end of N(n) and no node in prestamp msgsend ←true end if endfor endif end for Stamp(M)={IDr , IDN(r)} 3-hop-N(M)=2-hop-N(M) 2-hop-N(M)={IDN(N(r))} if msgsend=true then rebroadcasts end if EXIT 圖 4-4 預先戳記演算法. 24.
(34) 1. 0. Stamp:{0,2} 2-hop-N:{3,4} 3-hop-N:{φ}. Stamp:{0,1} 2-hop-N:{3,4} 3-hop-N:{φ} Stamp:{0,1} ↓Updated! Stamp:{0,1,2,3,5}. 2. Stamp:{0,1,2} 2-hop-N:{2,5} 3-hop-N:{3,4} 3. Stamp:{0,1,2,3,5} 2-hop-N:{4} 3-hop-N:{2,5}. Stamp:{0,1,2,3,5} 2-hop-N:{4} 3-hop-N:{2,5} 5. 4. 圖 4-5 預讀錯誤修正圖. 從我們透過圖 4-6 來說明在無線網路中的預先戳記法,在八節點拓撲圖中的訊息傳 遞以及運作方式。圖 4-6 中,當 ID0 廣播訊息時,會將 1-hop 的鄰居資訊加到 Stamp 欄 位中,並將 2-hop 鄰居資訊{ ID3 , ID4}加入到 2-hop-N 欄位中。當 ID1 收到訊息時,會 先以 Stamp 欄位中的資訊,與目標節點的鄰居資訊做比對,並發現尚未有其他節點廣播 訊息給 ID3。在 ID1 廣播前,會蒐集 ID1 的 1-hop 鄰居 N(ID1)加入到 Stamp 欄位,將 2-hop-N 的資訊移至 3-hop-N,並蒐集 ID1 的 2-hop 鄰居 N(N(ID1))加入到 Prestamp 欄位,再進行 廣播。當 ID3 收到訊息時,Stamp 欄位中,包含了之前路徑上各節點以及其 1-hop 的鄰 居資訊,同時也包含了上上一個節點,即為 ID0 的 2-hop 鄰居訊息,當 ID3 在比對目標 節點 ID5 的鄰居時,即可透過在上一個節點傳遞的 3-hop-N 欄位資訊,發現 ID4 也有可 能廣播訊息給 ID5,但 ID3 的 ID 較小,因此 ID3 進行廣播。另一方面,ID4 也藉由同樣 的方法,由 ID2 的 Stamp 與 3-hop-N 欄位的訊息中,發現 ID3 將有可能,且自己的 ID 大於 ID3,因此不進行廣播的動作。由圖 4-6 中我們亦可以得知,在無線網路的環境中, 預先戳記法比混合戳記法,節省了一個節點的廣播。. 25.
(35) Stamp:{0,2} 2-hop-N:{3,4} 3-hop-N:{φ}. 0. 1. Stamp:{0,1} 2-hop-N:{3,4} 3-hop-N:{φ} 2. Stamp:{0,1,2} 2-hop-N:{5,6} 3-hop-N:{3,4} 3. Stamp:{0,1,2,3,6} 2-hop-N:{7} 3-hop-N:{5,6}. Stamp:{0,1,2,3,5} 2-hop-N:{7}. Stamp:{0,1,2} 2-hop-N:{5} 3-hop-N:{3,4} 4. 5. 3-hop-N:{5,6} Stamp:{0,1,2,3,5,6} 2-hop-N:{φ} 3-hop-N:{7}. 6. 7. 圖 4-6 無線網路中預先戳記法訊息傳遞圖. 26.
(36) 5. 基礎實驗分析 我們以一系列的模擬實驗,針對預先戳記法在有線網路與無線網路中的效能進行分 析。在 5.1 節與 5.2 節中,我們將分別實驗與分析在不同網路環境下,預先戳記法與泛 流式及戳記法的效能比較。在各節中,我們會循序地說明實驗的基本設定與網路拓撲, 並比較網路中訊息傳輸總量的改善比例,各節點平均的傳送量,傳送時間來分析不同演 算法之間的差異。在本章中的所有實驗,皆是使用 NS2(Network Simulator 2)[22]網路模 擬環境進行訊息傳遞的模擬。. 5.1 有線網路實驗 在本節中,我們將會說明在有線網路環境下,模擬實驗的基本設定,以及採用的網 路拓撲,並在 5.1.2 節中比較泛流式廣播,戳記法與預先戳記法在訊息總量靈的改善效 果。另外也會針對節點節省比例、頻寬控制與傳輸時間實驗進行分析,並討論不同演算 法在覆蓋率的部分的影響。. 5.1.1 實驗設定 表 5-1 有線網路基本設定參數表 參數. 參數敘述. 值. Simulator. 模擬器版本. NS-2 v2.35. N. 節點總數量. 2 3 ≤ N ≤ 29. Data Size. 封包大小. 100 Bytes. Bandwidth. 連線頻寬. 2Mb. 進行實驗之前,我們先定義一些參數與變數,在實驗中,我們以 N 來表示網路的 節點總量,測試的節點數以 2 的指數次方成長,最多測試至 1024 個節點,每種測試節. 27.
(37) 點的實驗平均進行 10 次測驗。封包的 data size 設定為 100Bytes;並將連線的頻寬設為 2Mb。可透過表 5-1 快速查詢基本設定的數據。 在網路拓撲的部分,我們採用了四種網路模型,分別為二維網狀模型(Mesh)、小世 界模型(Small World)、Waxman 模型[40]與 BarabasiAlbertt 模型(Barab´asi-Albert model)[1] 來進行實驗。其中,二維網狀模型的節點主要呈網格狀分佈,而小世界網路模型的節點 分佈近似於 Gnutella 以及 E-mail 的分佈連接情況。Waxman 及 BA 屬於可擴展網路,可 用來模擬網路中的骨幹架構。 第一種為二維網狀網路模型,在二維網狀網路中,節點與節點之間的距離相同且分 散平均,規律的節點分佈,有助於分析預先戳記法中,封包中夾帶的資訊與特性。在二 維網狀網路模型中,每一個節點平均擁有 3.96 個鄰居。 第二種是小世界網路模型,小世界網路是用來模擬 Gnutella 或 E-mail 的節點分佈 架構,由於 Gnutella 及 E-mail 使用者之間特殊的連接關係[33],使得小世界網路中的鄰 居平均數量較高。我們利用 Boost Libraries[7]的 SWGen()函式進行小世界網路的拓撲生 成,且設定每個節點的鄰居數量平均為 6 個。 第三種為 Waxman 網路模型,其網路模型的生成方式是使用了 Waxman 於 1988 年 提出的機率模型[40]來產生網路拓撲。Waxman 網路模型的構成與骨幹網路相似,主要 是透過下列的機率模型所生成:. P (u , v ) = α e. − d /( β L ). 機率模型中,d 表示節點 u 與節點 v 之間的區幾里德距離,L 是任意兩點的最長距 離,且變數α與β的值介於 0 到 1 之間,主要是藉由調整α與β值以產生不同疏密度的 網路拓撲。本文中的網路模型是將α設為 0.15,β設為 0.2 所產生之拓撲 第四種為 BarabasiAlbert(BA)網路模型,由 Barab´asi 和 Albert 兩位學者提出並實作, 在 BA 網路模型中,使用了 power law 的逐漸成長與優先連結的特性,模擬一個網路經 由新的節點不斷加入後而形成的網路拓撲。當新的節點進入網路中時,會優先連結熱門. 28.
(38) 的節點或高連結度的節點,主要是透過下列的機率模型來模擬節點加入時的連接情況:. P (i, j ) =. ∑. dj k∈V. dk. i 表示新加入的節點,j 表示原本已存在網路中,且連結到 i 的節點,dj 表示節點 j 的一 層鄰居數量,V 則是已存在的網路節點集合,. ∑ k∈V dk 表示已存在網路中的所有節點的. outerdegrees 的總和。 上述的四種模型的分佈連接示意圖,如圖 5-1 所示,其中 Waxman 與 BA 模型在本 文中的模擬部分使用 BRITE[5]中的網路拓撲產生器所產生的網路連接拓撲。. (a) 二維網狀網路. (b) 小世界網路. (c) Waxman 網路. (d) BA 網路. 圖 5-1 網路模型分佈連接示意圖. 29.
(39) 5.1.2 訊息總數 我們藉由模擬並分析網路中的傳送訊息,進一步瞭解各種演算法所減少的訊息數量, 由於傳送的訊息數量,會直接影響網路的頻寬負載與網路效能,我們的目標正是希望能 在不影響訊息的覆蓋率下,最大限度的減少網路中的訊息傳遞,以提升網路的效能。在 本節中,我們將會比較並分析泛流式廣播,戳記式廣播與預先戳記式廣播之間的差異與 效能。 圖 5-2 為二維網狀模型網路模擬的訊息總量。x 軸的部分節點數,數量由(22)2 至(25)2 個節點;y 的部分則為網路中的訊息被傳送的總量。在 1024 個節點的情況下,可以看 到預先戳記法的訊息總量明顯地比基本戳記法及進階戳記法有著極大的改善情況,整體 的效能比起泛流式廣播,減少了約 75%的訊息量,並且相較於戳記法中效果最佳的混合 戳記法,仍有約 27.8%的改善幅度。在二維網狀網路模型中,基本戳記法與進階戳記法 得到的訊息刪減量非常接近,混合戳記法則有較大幅度的改善,但混合戳記法與預先戳 記法之間的差距亦不大,這乃是因二維網狀網路中,大部分的訊息最多經過 2 個 hops 的傳遞後,就會將訊息傳遞到同一節點上,因此混合戳記法已能處理二維網狀網路中的 大部分情況,而預先戳記法能展現的空間較小,因此圖 5-2 差異也較小。. Number of Messages. Flooding. Basic. Advanced. Hybrid. Pre. 4500 4000 3500 3000 2500 2000 1500 1000 500 0 16. 64. 256. 1024. Number of Nodes. 圖 5-2 二維網狀模型總傳送訊息數量及節點個數關係圖. 30.
(40) 圖 5-4 為小世界網路模型的訊息總量,x 軸為節點數,數量由 23 至 210,由圖中可 以看出,在小世界網路中,由於網路組成的架構與鄰居的特殊關係,使得混合戳記法即 可處理大部分的冗餘訊息,因此即使節點數量上升,預先戳記法與混合戳記法相比之下, 改善的幅度略小,但相較於基本與進階戳記法,仍有大幅度的改善。在小世界網路中, 混合戳記法與預先戳記法之間的差距極小,這主要亦是因為在小世界網路中,節點之間 的鄰居關係,因此極大部分的訊息在經過 2 個 hops 的傳遞後即傳至同一個節點,因此 預先戳記法能發揮效用的空間不大。 整體的效能比起泛流式廣播,最多可減少約 75%至 87%的訊息量,且略優於戳記 法中最佳的混合戳記法,改善的比例在 256 節點時可達到約 25%的,隨著節點數量增加, 混合戳記法拉近幅度至 5%~13%左右。 Flooding. Basic. Advanced. Hybrid. Pre. Number of Messages. 8000 7000 6000 5000 4000 3000 2000 1000 0 8. 16. 32. 64 128 Number of Nodes. 256. 512. 1024. 圖 5-3 小世界模型總傳送訊息數量及節點個數關係圖 圖 5-4 為 Waxman 模型的訊息總量,由圖 5-4 中可以看出,預先戳記法在 Waxman 網路模型中,相較於戳記法,有著較大幅度的改善。起因乃是 Waxman 網路模型中的連 結方式較為隨機且稀疏,因此較容易產生經過多個 hop 後,不同路徑連接到同一節點的 情況,因此預先戳記法在改善此部分的訊息數量,即有著較佳的效果。在 Waxman 網路 模型中,預先戳記法與泛流式廣播相比,可減少約 76%至 80%的訊息總量,並比混合 戳記法,提升了約 50 至 55%的訊息減少量。. 31.
(41) Flooding. Basic. Advanced. Hybrid. Pre. 7000 Number of Messages. 6000 5000 4000 3000 2000 1000 0 8. 16. 32. 64 128 Number of Nodes. 256. 512. 1024. 圖 5-4 Waxman 模型總傳送訊息數量及節點個數關係圖 圖 5-5 為 BA 網路模型的傳送訊息總量比較圖,由圖中可以發現,在 Waxman 網路 模型與 BA 網路模型中,戳記法的改善幅度皆略為下降,起因於 Waxman 與 BA 網路有 著類似的組成架構,且 BA 網路較 Waxman 更為稠密,隨著節點總數的上升,藉由不同 路徑經過兩個 hop 後匯集於一個節點的機率也增加了,因此,混合戳記法與預先戳記法 在 BA 網路模型中,有著較佳的訊息改善能力。 在 BA 網路模型中,預先戳記法較泛流式廣播法減少了 80%至 84%的訊息總量,且 相較於混合戳記法,也有著 45%左右的訊息減少改善能力。在 Waxman 與 BA 網路中, Flooding. Basic. Advanced. Hybrid. Pre. 7000 Number of Messages. 6000 5000 4000 3000 2000 1000 0 8. 16. 32. 64 128 Number of Nodes. 256. 512. 圖 5-5 BA 模型總傳送訊息數量及節點關係圖. 32. 1024.
(42) 由於鄰居的連接關係,讓預先戳記法的效用能比混合戳記法較為顯著。. 5.1.3 節點減少傳輸比例 在本節中,我們將針對於每個節點節省的傳送訊息進行模擬與分析。當一個節點需 要廣播的目標越少,意味著需要負擔的成本也相對的減少,節點擁塞的情況也能改善, 因此,我們利用四種網路模型在 512 個節點時,比較彼此之間的改善幅度與減少廣播訊 息的改善能力。 圖 5-6 為 512 節點的二維網狀模型網路中,節點節省的傳輸比例。x 軸為收到的訊 息數量,y 軸為節點數量的累積百分比。由圖中可以看出,在泛流式廣播中,大部分的 節點都會收到 4 個訊息,而在混合戳記法中,每個節點都能僅收到 2 個以下的訊息傳送, 而預先戳記法則有著極佳的節省能力,平均每個節點幾乎僅收到一個訊息。在二維網狀 模型中,由於節點之間的連接方式極為規律,僅記錄沿徑的節點資訊,無法有效的改善 冗餘的訊息廣播,而混合戳記法與預先戳記法,皆具有詢問目標節點鄰居的能力,尤其 是預先戳記法具備預測節點接收封包的演算法,能大幅地改善經由不同路徑而收到重複. Flooding. Basic. Advanced. Hybrid. Pre. 100%. Ratio of Nodes. 80% 60% 40% 20% 0% 0. 1. 2 3 Number of Received Messages. 4. 圖 5-6 二維網狀模型節點節省訊息量百分比. 33. 5.
(43) Flooding. Basic. Advanced. Hybrid. Pre. 100%. Ratio of Nodes. 80% 60% 40% 20% 0% 0. 1. 2. 3 4 5 6 7 Number of Received Messages. 8. 9. 10. 圖 5-7 小世界模型節點節省訊息量百分比 訊息的情況發生。 圖 5-7 為小世界網路中各節點節省的傳輸比例。由圖中可以看出,在小世界網路的 架構下,基本戳記法的效果較差,大部分的節點都會收到 4 個以上的訊息,而混合戳記 法與進階戳記法有著極相近的效果。 主因乃是小世界網路的鄰居,主要皆分布在 1 個 hop 之內,或是相隔較多個 hop, 因此極大部分的傳輸訊息,可藉由混合戳記法即發現重複的目標並過濾。在小世界網路 的節點節省訊息數量上,預先戳記法與混合戳記法相比之下效果不明顯。圖中可得知, 小世界模型網路中混合戳記法與預先戳記法中的大部分節點只收到 4 個以下的訊息,而 其中 92%的節點僅收到 3 個以下的訊息傳輸。 圖 5-8 為 512 節點中,Waxman 網路模型的實驗與分析結果。由圖中可以看出戳記 法的改善效果在 Waxman 網路模型中較小世界網路差,在基本戳記中,有 60%的節點 會收到 5 個以上的訊息,且與泛流式廣播相近,節省到訊息的效果不佳。混合戳記法則 有著略佳的效果,每個節點約略比泛流式廣播少收到 2 至 4 個訊息量,但不及小世界網 路中的效果。預先戳記法在 Waxman 網路中則有著極效的效果,70%左右的節點僅收到 一個訊息,而且每個節點也比混合戳記法再少收到 1 至 3 個訊息量,上一節的訊息傳輸 總量結果相互呼應。. 34.
(44) Flooding. Basic. Advanced. Hybrid. Pre. 100%. Ratio of Nodes. 80% 60% 40% 20% 0% 0. 5. 10 15 20 Number of Received Messages. 25. 30. 圖 5-8 Waxman 模型節點節省訊息量百分比 圖 5-9 為 BA 網路模型中,戳記法與預先戳記法的節省訊息量分析。在 BA 模型中, 基本戳記法與進階戳記法收到的戳記數量更低於 Waxman 網路模型。基本戳記法僅有 20%以下的節點收到 3 個以下的訊息,而進階戳記法中,有 34%節點收的訊息量為 3 個 以下。混合戳記法與預先戳戳法的改善幅度相近且比起基本戳記法與進階戳記法改善效 果明顯。 在預先戳記法與混合戳記法的部分。混合戳記法中,約有 60%的節點只收到 1 個訊 息的傳送;預先戳記法中,92%的節點都只收到 1 個訊息。改善幅度略優於混合戳記法, 此部分的結果亦與上一節的訊息總量結果一致。. Flooding. Basic. Advanced. Hybrid. Pre. 100%. Ratio of Nodes. 80% 60% 40% 20% 0% 0. 1. 2 3 Number of Received Messages. 4. 圖 5-9 BA 模型節點節省訊息量百分比. 35. 5.
相關文件
if no candidates for expansion then return failure choose leaf node for expansion according to strategy if node contains goal state then return solution. else expand the node and
• If a graph contains a triangle, any independent set can contain at most one node of the triangle.. • We consider graphs whose nodes can be partitioned into m
An n×n square is called an m–binary latin square if each row and column of it filled with exactly m “1”s and (n–m) “0”s. We are going to study the following question: Find
If we recorded the monthly sodium in- take for each individual in a sample and his/her blood pressure, do individuals with higher sodium consumption also have higher blood
If w e sell you land, you m ust rem em ber that it is sacred, and you m ust teach your children that it is sacred and that each ghostly reflection in the clear w ater of the lakes tells
A subgroup N which is open in the norm topology by Theorem 3.1.3 is a group of norms N L/K L ∗ of a finite abelian extension L/K.. Then N is open in the norm topology if and only if
The entire moduli space M can exist in the perturbative regime and its dimension (∼ M 4 ) can be very large if the flavor number M is large, in contrast with the moduli space found
• Definition: A max tree is a tree in which the key v alue in each node is no smaller (larger) than the k ey values in its children (if any). • Definition: A max heap is a