定向擴散路由協(xié)議
發(fā)布時間:2012/3/29 19:44:42 訪問次數(shù):10810
定向擴散路由協(xié)議(Directed Diffusion)簡稱DD路由協(xié)議,是一種典型BL1117C-33C 的以數(shù)據(jù)為中心,基于查詢的路由機制。匯聚節(jié)點根據(jù)不同的應用需求定義不同的興趣(Interest)請求消息,并通過洪泛的方式將興趣請求消息數(shù)據(jù)包發(fā)送至全網或者局部網絡的傳感器節(jié)點。興趣請求消息用來表示查詢內容,反應終端用戶希望獲得全網不同類型的數(shù)據(jù)服務,例如,監(jiān)測區(qū)域中環(huán)境的溫度、濕度、光照度以及流媒體應用等。在進行興趣消息洪泛發(fā)送過程的同時,每個節(jié)點根據(jù)緩存中的興趣列表,沿著興趣消息發(fā)送方向的反向建立數(shù)據(jù)傳輸梯度( Gradient),當興趣消息到達源節(jié)點后,源節(jié)點則將數(shù)據(jù)沿著之前建立好的傳輸梯度進行正向傳輸,直到匯聚節(jié)點。
定向擴散路由協(xié)議為了能夠適應網絡拓撲的動態(tài)變化,采用周期性地對網絡進行路由維護與更新,其主要分為3個階段:興趣消息擴散、數(shù)據(jù)傳輸梯度建立、路徑加強。圖3-5所示為這3個階段的過程。
(1)興趣消息擴散
在興趣消息擴散階段,匯聚節(jié)點周期性向網絡內傳感器節(jié)點洪泛廣播興趣消息,其中興趣消息數(shù)據(jù)包主要包括數(shù)據(jù)包類別、任務類型、發(fā)送節(jié)點號、興趣、數(shù)據(jù)發(fā)送速率、數(shù)據(jù)包大小、時間戳等信息。數(shù)據(jù)包類別表示傳輸?shù)氖且粋興趣消息數(shù)據(jù)包還是傳感數(shù)據(jù)包。任務類型表示系統(tǒng)預先設置的各種興趣任務類型。發(fā)送節(jié)點號以便節(jié)點在建立正向傳輸梯度時知道下一跳節(jié)點號。
節(jié)點接收到興趣消息后轉發(fā)給它的每一個鄰居節(jié)點,節(jié)點如果收到其發(fā)送過的一個興趣消息,即將其丟棄,以避免同一個消息在網絡中形成消息循環(huán),否則將其轉發(fā)給它的下一跳節(jié)點,直到全網內的所有節(jié)點都收到此興趣消息為止或該興趣消息所設定的生命期限TTL變?yōu)榱銥橹埂C總節(jié)點內部都維護著一張興趣列表,對于每一個興趣,興趣列表中都為其保存著一個表項,記錄這個消息的下一跳節(jié)點號,數(shù)據(jù)發(fā)送速率以及時間戳,同一個興趣可能對應著多個表項,因為有多個鄰居節(jié)點會向其發(fā)送同一個興趣消息。每個興趣列表的表項都對應著一個計時器,當表項在緩存中的時間超時,則刪除該表項以節(jié)省存儲空間。興趣列表是第2階段建立傳輸梯度的重要依據(jù)。
一個節(jié)點在接收到興趣消息之后的操作流程如下:當接收到一個興趣消息數(shù)據(jù)包,判斷是否與剛轉發(fā)的興趣消息相同,如果是則丟棄該“興趣”,否則檢查本地興趣列表,如果無相同“興趣”,則增加新表項并轉發(fā)“興趣”,否則判斷表項中是否有鄰居節(jié)點等于興趣消息數(shù)據(jù)包中的發(fā)送節(jié)點,如果是則更新最新時間戳,否則添加新鄰居節(jié)點,轉發(fā)“興趣”。
(2)數(shù)據(jù)傳輸梯度建立
數(shù)據(jù)傳輸梯度的建立在第1階段所得興趣列表的基礎上的,當網絡中傳感節(jié)點所感知到與興趣相匹配的興趣的監(jiān)測數(shù)據(jù),會檢查本地的興趣列表,如果沒有相匹配的“興趣”,則丟棄該監(jiān)測數(shù)據(jù)包;否則檢查與該“興趣”對應的數(shù)據(jù)緩沖區(qū),以檢查是否有與檢測數(shù)據(jù)相匹配的副本,若有則丟棄該監(jiān)測數(shù)據(jù),以減少網絡中冗余信息的通信量,否則檢查興趣列表表項中的鄰居節(jié)點信息;若發(fā)現(xiàn)鄰居節(jié)點的數(shù)據(jù)發(fā)送速率大于或等于接收數(shù)據(jù)速率,則轉發(fā)收到的監(jiān)測數(shù)據(jù)包,否則按照比例轉發(fā)收到的監(jiān)洌數(shù)據(jù)包。對于轉發(fā)的任何數(shù)據(jù)包,都必須在緩沖區(qū)保留數(shù)據(jù)包副本并記錄轉發(fā)時間。這里需要指出的是,由于一個節(jié)點可能收到其多個鄰居節(jié)點所發(fā)送的興趣消息數(shù)據(jù)包,因此對應于同一個“興趣”,從源節(jié)點到匯聚節(jié)點的路徑可能出現(xiàn)多條。
(3)路徑加強
興趣擴散階段建立了從源節(jié)點至匯聚節(jié)點的數(shù)據(jù)傳輸路徑,源節(jié)點以較低的速率采集和發(fā)送數(shù)據(jù),匯聚節(jié)點在收到從源節(jié)點發(fā)來的數(shù)據(jù)后,開始建立其到源節(jié)點的加強路徑,以后的數(shù)據(jù)將沿著加強路徑進行傳輸。那么如何建立加強路徑呢?不同的應用對于所選擇的路徑要求不同,如有些需要整條路徑都以高速率的傳輸速率對數(shù)據(jù)進行傳輸,那么這種情況就應當對數(shù)據(jù)傳輸速率較高的路徑進行加強。匯聚節(jié)點首先會選擇第1個到達數(shù)據(jù)包的發(fā)送鄰居節(jié)點作為加強路徑的下一跳,向其發(fā)送路徑加強消息。在路徑加強消息中,提高了數(shù)據(jù)發(fā)送速率。當鄰居節(jié)點接收到這個數(shù)據(jù)包之后,在興趣表項中發(fā)現(xiàn)僅提高了數(shù)據(jù)發(fā)送速率,因此判定這是一個路徑加強消息包,則將下一跳作為路徑加強路徑的下一跳。這個鄰居節(jié)點繼續(xù)發(fā)送路徑增強消息包,如此直至源節(jié)點。
在加強路徑上的節(jié)點如果發(fā)現(xiàn)下一跳節(jié)點的數(shù)據(jù)發(fā)送速率明顯減小或收到來自其他節(jié)點的新位置估計,則推斷加疆路徑的下一跳節(jié)點失效,使用上述路徑加強機制重新確定下一跳節(jié)點。
定向擴散路由協(xié)議(Directed Diffusion)簡稱DD路由協(xié)議,是一種典型BL1117C-33C 的以數(shù)據(jù)為中心,基于查詢的路由機制。匯聚節(jié)點根據(jù)不同的應用需求定義不同的興趣(Interest)請求消息,并通過洪泛的方式將興趣請求消息數(shù)據(jù)包發(fā)送至全網或者局部網絡的傳感器節(jié)點。興趣請求消息用來表示查詢內容,反應終端用戶希望獲得全網不同類型的數(shù)據(jù)服務,例如,監(jiān)測區(qū)域中環(huán)境的溫度、濕度、光照度以及流媒體應用等。在進行興趣消息洪泛發(fā)送過程的同時,每個節(jié)點根據(jù)緩存中的興趣列表,沿著興趣消息發(fā)送方向的反向建立數(shù)據(jù)傳輸梯度( Gradient),當興趣消息到達源節(jié)點后,源節(jié)點則將數(shù)據(jù)沿著之前建立好的傳輸梯度進行正向傳輸,直到匯聚節(jié)點。
定向擴散路由協(xié)議為了能夠適應網絡拓撲的動態(tài)變化,采用周期性地對網絡進行路由維護與更新,其主要分為3個階段:興趣消息擴散、數(shù)據(jù)傳輸梯度建立、路徑加強。圖3-5所示為這3個階段的過程。
(1)興趣消息擴散
在興趣消息擴散階段,匯聚節(jié)點周期性向網絡內傳感器節(jié)點洪泛廣播興趣消息,其中興趣消息數(shù)據(jù)包主要包括數(shù)據(jù)包類別、任務類型、發(fā)送節(jié)點號、興趣、數(shù)據(jù)發(fā)送速率、數(shù)據(jù)包大小、時間戳等信息。數(shù)據(jù)包類別表示傳輸?shù)氖且粋興趣消息數(shù)據(jù)包還是傳感數(shù)據(jù)包。任務類型表示系統(tǒng)預先設置的各種興趣任務類型。發(fā)送節(jié)點號以便節(jié)點在建立正向傳輸梯度時知道下一跳節(jié)點號。
節(jié)點接收到興趣消息后轉發(fā)給它的每一個鄰居節(jié)點,節(jié)點如果收到其發(fā)送過的一個興趣消息,即將其丟棄,以避免同一個消息在網絡中形成消息循環(huán),否則將其轉發(fā)給它的下一跳節(jié)點,直到全網內的所有節(jié)點都收到此興趣消息為止或該興趣消息所設定的生命期限TTL變?yōu)榱銥橹。每個節(jié)點內部都維護著一張興趣列表,對于每一個興趣,興趣列表中都為其保存著一個表項,記錄這個消息的下一跳節(jié)點號,數(shù)據(jù)發(fā)送速率以及時間戳,同一個興趣可能對應著多個表項,因為有多個鄰居節(jié)點會向其發(fā)送同一個興趣消息。每個興趣列表的表項都對應著一個計時器,當表項在緩存中的時間超時,則刪除該表項以節(jié)省存儲空間。興趣列表是第2階段建立傳輸梯度的重要依據(jù)。
一個節(jié)點在接收到興趣消息之后的操作流程如下:當接收到一個興趣消息數(shù)據(jù)包,判斷是否與剛轉發(fā)的興趣消息相同,如果是則丟棄該“興趣”,否則檢查本地興趣列表,如果無相同“興趣”,則增加新表項并轉發(fā)“興趣”,否則判斷表項中是否有鄰居節(jié)點等于興趣消息數(shù)據(jù)包中的發(fā)送節(jié)點,如果是則更新最新時間戳,否則添加新鄰居節(jié)點,轉發(fā)“興趣”。
(2)數(shù)據(jù)傳輸梯度建立
數(shù)據(jù)傳輸梯度的建立在第1階段所得興趣列表的基礎上的,當網絡中傳感節(jié)點所感知到與興趣相匹配的興趣的監(jiān)測數(shù)據(jù),會檢查本地的興趣列表,如果沒有相匹配的“興趣”,則丟棄該監(jiān)測數(shù)據(jù)包;否則檢查與該“興趣”對應的數(shù)據(jù)緩沖區(qū),以檢查是否有與檢測數(shù)據(jù)相匹配的副本,若有則丟棄該監(jiān)測數(shù)據(jù),以減少網絡中冗余信息的通信量,否則檢查興趣列表表項中的鄰居節(jié)點信息;若發(fā)現(xiàn)鄰居節(jié)點的數(shù)據(jù)發(fā)送速率大于或等于接收數(shù)據(jù)速率,則轉發(fā)收到的監(jiān)測數(shù)據(jù)包,否則按照比例轉發(fā)收到的監(jiān)洌數(shù)據(jù)包。對于轉發(fā)的任何數(shù)據(jù)包,都必須在緩沖區(qū)保留數(shù)據(jù)包副本并記錄轉發(fā)時間。這里需要指出的是,由于一個節(jié)點可能收到其多個鄰居節(jié)點所發(fā)送的興趣消息數(shù)據(jù)包,因此對應于同一個“興趣”,從源節(jié)點到匯聚節(jié)點的路徑可能出現(xiàn)多條。
(3)路徑加強
興趣擴散階段建立了從源節(jié)點至匯聚節(jié)點的數(shù)據(jù)傳輸路徑,源節(jié)點以較低的速率采集和發(fā)送數(shù)據(jù),匯聚節(jié)點在收到從源節(jié)點發(fā)來的數(shù)據(jù)后,開始建立其到源節(jié)點的加強路徑,以后的數(shù)據(jù)將沿著加強路徑進行傳輸。那么如何建立加強路徑呢?不同的應用對于所選擇的路徑要求不同,如有些需要整條路徑都以高速率的傳輸速率對數(shù)據(jù)進行傳輸,那么這種情況就應當對數(shù)據(jù)傳輸速率較高的路徑進行加強。匯聚節(jié)點首先會選擇第1個到達數(shù)據(jù)包的發(fā)送鄰居節(jié)點作為加強路徑的下一跳,向其發(fā)送路徑加強消息。在路徑加強消息中,提高了數(shù)據(jù)發(fā)送速率。當鄰居節(jié)點接收到這個數(shù)據(jù)包之后,在興趣表項中發(fā)現(xiàn)僅提高了數(shù)據(jù)發(fā)送速率,因此判定這是一個路徑加強消息包,則將下一跳作為路徑加強路徑的下一跳。這個鄰居節(jié)點繼續(xù)發(fā)送路徑增強消息包,如此直至源節(jié)點。
在加強路徑上的節(jié)點如果發(fā)現(xiàn)下一跳節(jié)點的數(shù)據(jù)發(fā)送速率明顯減小或收到來自其他節(jié)點的新位置估計,則推斷加疆路徑的下一跳節(jié)點失效,使用上述路徑加強機制重新確定下一跳節(jié)點。
上一篇:SPIN路由協(xié)議
上一篇:謠傳路由協(xié)議