我們著眼於傳輸資料流特性的不同而其所需的封包延遲變異(jitter)亦有所 不同的需求上,希望能提供一解決方案。我們了解,現今網際網路架構的 best-effort 特性不足以提供這類的服務,Devrolis 提出了一個相對的差別服務架 構,在這個架構下使用了比較簡單的方式來提供差別服務,基於這個相對的差別 服務架構,我們提出了一個封包排程的機制,叫做 AJP 排程器,這個排程器可 以在不同的傳輸資料流類別之中針對封包延遲的差異(jitter)提供成比例的差別服 務,模擬實驗的結果顯示我們所設計的排程器的確符合我們的設計目標,也就是
圖 0: 記憶體存取次數比較
Storage (13322 rules)
0 500 1000 1500 2000 2500 3000 3500 4000 4500
2 4 6 8 10 12 14 16
Included prefixes
Storage (KBytes)
Storage used in BV scheme (Kbytes) Storage used in subtrie scheme (Kbytes)
圖 0: 記憶體存取次數比較
Worst case (13322 rules)
0 200 400 600 800 1000
2 4 6 8 10 12 14 16
Included prefixes
memory accesses
Worst case time memory accesses of BV scheme
Worst case time memory accesses of Subtrie scheme
對於長時間的封包延遲變異和短時間的封包延遲變異,排程器都能對於不同的競 爭資料流類別提供成比例的差別服務,網路的管理人員可以直接透過設定差別服 務係數來調整不同類別之間所獲得服務的等級差距,將 AJP 排程器整合進網際 網路之後,提供類似互動式語音服務的想法就變得可行了。以下即開始說明我們 的基本構想及所提出的方法:
1) 基於Dovrolis 所提出的相對性差別服務架構,我們提出一個路由器內的封包 排程機制,能夠對於不同類別的資料流量提供成比例式的差別服務.網路效 能評量的標準有很多種,例如封包的延遲時間,封包遺失的機率和封包延遲 的差異,在這個封包排程機制中,我們主要針對不同類別資料流的封包延遲 變異來提供成比例式的差別服務。
2) 封包延遲的差異對於多媒體服務是相當重要的,特別是互動式的語音服務。
這個封包排程機制依據不同類別的資料流優先權大小來進行封包的排程,首 先我們將整個網路的資料流區分成不同的類別,假設一共有N個不同的類 別,每個類別都有一個差別服務係數,這個差別服務係數是用來決定不同類 別間所獲得服務的等級差距,網路管理人員可以藉由調整這些差別服務係數 來改變不同類別間的服務等級差距.
3) 在路由器裡面,系統需要針對每個類別去記錄其平均的封包延遲變異,當路 由器選擇某一個類別的排頭封包來服務時,路由器會計算這個封包與這個類 別前一個被服務的封包之間的延遲差異,並更新系統所記錄的這個類別的平 均封包延遲變異。更新的方式是採取成指數式的移動平均法,也就是按照下 列的方程式來更新:
in I i k
I
i t e k J t e j
J ( )=(1− −( − )) ( −1)+ −( − )
其中 Ji(t)為類別 i 新的平均封包延遲變異,Ji(t-1)為類別 i 舊的平均封包延遲 變異,jin
為類別i 新產生的封包延遲變異。
4) 參數K決定舊的平均封包延遲變異與新產生的封包延遲變異所佔的比例,當 K愈小時就代表新產生的封包延遲變異愈重要,系統可以很快反應資料流量 的變動,但是會造成所算出來的平均封包延遲變異的變動幅度太大,使得在 封包排程上會產生不穩定的狀態;當K愈大時代表舊的平均封包延遲變異愈 重要,如此會使得系統在排程上會比較穩定,但是在反應資料流量的變動上 就顯得比較緩慢。透過一些模擬的結果,我們認為K=9能夠在反應速度和
統負荷下,其表現仍有些許差異,我們引入這個亂數的目的是希望能減小因 為不同資料流量和系統負荷對於整個系統表現所造成的影響。當新的封包延 遲變異大於舊的平均封包延遲變異時,我們認為應該重視這個延遲差異昇高 的現象,因此依照上列的方程式,這個新的封包延遲變異會相對上佔比較高 的比例。
6) 每個類別的優先權是由差別服務係數乘以平均封包延遲變異得來的,當路由 器要傳遞封包時,它會去檢查各個類別的優先權,選擇一個具有最大優先權 的類別的排頭封包來服務.透過這樣子的機制,我們可以達成針對每個不同 類的平均封包延遲變異,提供成比例式的差別服務。
透過數學的分析以及各種模擬的結果,我們證實了AJP 排程器的確能夠針 對不同類別的平均封包延遲變異,提供成比例式的差別服務。在此,我們以圖 0 至圖 0 展示出我們一小部份的模擬的結果:
圖 0 是我們在這個模擬中所使用的網路架構,其中 R0 是一個具有 AJP 排 程器的路由器,各個連接(link)的頻寬及傳輸延遲時間如圖上所示,類別 0 的封 包由S0 傳送至 D0,類別 1 的封包由 S1 傳送至 D1,類別 2 的封包由 S2 傳送至 D2,各類別的封包皆以平均 2Mbps 的速度以及 Pareto distribution 的方式傳送,
類別0 至 2 的差別服務係數各為 1、2、4,差別服務係數越大的類別,其平均封 包延遲變異成比例越小。
圖 0 展示了 AJP 排程器對於各類別在長時間平均封包延遲變異的表現,很 明顯的,各類別的平均封包延遲變異的比例與其差別服務係數相符,值得注意的 是,AJP 排程器僅需要一小段時間就能收斂至一個理想的運作點(operating point)。
圖 0: AJP 排程器模擬實驗的網路架構
圖 0 展示了 AJP 排程器對於各類別在短時間平均封包延遲變異的表現,我 們以100ms 為一個計算點,分別算出類別 0 和類別 1 以及類別 1 和類別 2 的平 均封包延遲變異比例,理論上這個比例是2。由圖 0 我們可以發現,大部分的取 樣點都圍繞在 2 附近,由此我們可以得知,AJP 排程器對於短時間平均封包延 遲變異,也能維持一個合理的比例。
圖 0: 長時間的平均封包延遲變異