第三章 可適應性封包延遲傳送機制
3.2 ADT 機制之封包傳送運作
節點接收到封包,且節點處於空閒的狀態,節點從 queue 中取出封包,判斷 封包的類型,若不是資料封包,將封包進行轉傳;若是資料封包,再判斷節點的 鄰居節點個數,藉由 AODV 的 hello message 機制,取得鄰居節點的個數與節點 ID,做法為每個節點週期性廣播 hello 封包,且 hello 封包 header 額外附加 report block,順便將節點的封包資訊告知鄰居節點,鄰居節點收到 hello 封包得知附近 有哪些鄰居節點以及 report block 資訊。節點透過 hello message 機制得知鄰居節 點數量,若鄰居節點沒有超過 1 個,節點無法進行網路編碼,因為節點只有單一 的路徑可以進行封包的傳送,而網路編碼的特性為在一次封包的傳送中,鄰居節 點分別得到轉傳的封包,header 填入 report 資訊,將封包進行轉傳;若節點的鄰 居節點超過 1 個,判斷 queue 中剩餘的封包有無編碼機會,若封包有編碼機會,
將封包編碼,寫入 XOR block 與 report block,最後將編碼封包傳送;若節點沒有 編碼機會,本論文提出三種處理方式,第一種為 Without Waiting Mechanism (WWM),第二種為 Fully Waiting Mechanism(FWM),第三種為可適應性等待機制 (Adaptive Waiting Mechanism)。圖 3-5 為封包傳送的流程。
17
18
3.2.1 Without Waiting Mechanism
WWM 機制的做法為網路空閒時,節點取出封包,判斷有無編碼機會,若無 編碼機會,不進行額外等待的時間,直接將封包進行轉傳。WWM 機制的優點為 封包的延遲較低,缺點為封包編碼的機會也較低。
3.2.2 Fully Waiting Mechanism
FWM 機制的做法為網路空閒時,節點取出封包,若封包無編碼機會,節點進
3.2.3 Adaptive Waiting Mechanism
WWM 機制封包延遲較低,但封包編碼機會也較低,而 FWM 機制提升封包 編碼機會,但增加封包延遲。本論文提出可適應性等待機制,對編碼機會與封包 延遲取得平衡。做法為網路空閒時,節點取出封包,若封包沒有編碼機會,節點 會進行短暫時間的等待,等待時間的長短依據三個原則做考量,以下進行說明:
(1) Next-hop Leaving Time(NLT)
在無線車載網路中,由於車輛的移動性高,若節點在等待的過程中,next hop 離開節點的傳送範圍,封包無法順利轉傳,因此節點必須在 next hop 脫離節點的
19
Dis(node, nexthop):node 到 nexthop 的距離。
ΔV:node 與 nexthop 移動的速度差。
(2) Upper Bound(UB):若節點等待時間過長,使封包延遲增加,對等待時間設定 上限值,降低節點等待時間過長的問題。此上限值依據節點平均接收封包間隔時 間做為依據,代表節點大約等待多久可以接收到新的封包,增加編碼的機會。UB 的計算方式如下:
UB = total of interval ÷ total of receiving packets (3-2) total of interval:節點接收封包間隔總時間
total of receiving packets:節點接收封包總數
(3) Adaptive Waiting Time(AWT):若 next hop 穩定在節點傳送範圍內,依據 UB 作 為基準,推斷下次可能接收到封包的時間。若每個節點皆等待 UB 時間,造成封 包延遲過大的情形,因此,我們採用漸進式增加等待時間的方式,以 UB 的十分 之一,作為等待的基本單位時間,若此次執行可適應性等待機制後,節點仍然沒 有編碼的機會,為了增加下次編碼成功的機會,節點將等待的時間乘以 2 倍,增
20
If node has no coding opportunity expo++
Else if node has coding opportunity expo = 0