• 沒有找到結果。

利用可變速率方法賦予網路電話壅塞控制能力 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "利用可變速率方法賦予網路電話壅塞控制能力 - 政大學術集成"

Copied!
74
0
0

加載中.... (立即查看全文)

全文

(1)利用可變速率方法賦予網路電話壅塞控制能力 Congestion Control Enabled VoIP by Flexible Bit-rate. 研 究 生:丁諭祺 Student:Yu‐Chi Ting 指導教授:連耀南 Advisor:Yao‐Nan Lien. 資訊科學系 碩士論文. 學 ‧. ‧ 國. 立. 政 治 大 國立政治大學. Nat. n. er. io. sit. y. A Thesis submitted to Department of Computer Science al v National Chengchi University i n Ch in partial fulfillment i URequirements e n g cofhthe for the degree of Master in Computer Science. 中華民國九十九年十月 October 2010.

(2) 利用可變速率方法賦予網路電話壅塞控制能力 中文摘要. 近年來,一個具有壅塞控制機制的傳輸協議 DCCP 被提出,期能取代 UDP 成為不可靠傳輸的主流協議。我們以 NS-2 網路模擬器和實際網路進行. 政 治 大. 實驗,發現 DCCP 無法與其他傳輸協議公平分享頻寬,因此現行 DCCP 的. 立. 設計,尚無法完全取代 UDP。此外,目前 DCCP 以調整封包間隔的方式進. ‧ 國. 學. 行壅塞控制,也不適用於講求時效性的網路服務。. ‧. 本研究首先以實驗證明,當網路情況不佳時,DCCP 無法與其他傳輸協. Nat. io. sit. y. 議公平的分享頻寬;當使用 DCCP 傳輸越洋長距離網路電話,如遇頻寬不. er. 足時,會因頻寬競爭力較弱而無法維持通話品質。本研究提出可變速率方. al. n. v i n Ch 法(Flexible Bit-rate)調整時效性網路服務的封包大小來進行壅塞控制,在維 engchi U. 持一定服務品質之前提下,促進網路的和諧。我們在一個實際網路的實驗 環境中評估以 UDP、DCCP 及可變速率三種方式傳輸網路電話封包的效能, 結果顯示透過可變速率方法,能有效降低網路電話的封包遺失率,維持通 話品質。. i.

(3) Congestion Control Enabled VoIP by Flexible Bit-rate Abstract. With congestion-control ability, Datagram Congestion Control Protocol (DCCP) is expected to replace UDP as a mainstream unreliable transport protocol. But our study found that DCCP is not able to get a fair share of bandwidth under the. 政 治 大. competition of others transport protocols no matter in NS-2 simulation or real. 立. world networking environments. Furthermore, any congestion control protocol. ‧ 國. 學. that postpones the transmission of packets may not be adequate to support. ‧. time-sensitive network services.. To maintain the quality of time-sensitive network services as well as to be. y. Nat. io. sit. TCP-friendly when facing network bandwidth fluctuation, we propose a Flexible. er. Bit-rate congestion control mechanism for VoIP to adjust their data rate. Our. n. a. v. experiments show that lFlexible Bit-rate congestion control method could ni C. hengchi U. effectively reduce the packet loss rate and to maintain VoIP quality as compared with UDP and DCCP. Furthermore, it can have a much better bandwidth efficiency and adjust better to network fluctuation.. ii.

(4) 誌謝辭 誠摯的感謝連耀南教授在我研究生活中不辭辛勞的傳道、授業、解惑,這些知識都 是我日後享用不盡的寶藏。 丁諭祺 October 2010. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. iii. i n U. v.

(5) 目錄 第一章 緒論 .............................................................................................................................. 1 1.1 數據壅塞控制協定(DCCP) ............................................................................................. 2 1.2 DCCP-BASED VOIP .......................................................................................................... 2 1.3 研究目的與方法 .............................................................................................................. 3 1.4 章節安排 .......................................................................................................................... 4 第二章 背景與相關研究 .......................................................................................................... 5 2.1 壅塞崩潰 .......................................................................................................................... 5 2.2 壅塞控制 .......................................................................................................................... 5 2.3 數據壅塞控制協定(DCCP) ............................................................................................. 6 2.4 TCP 的壅塞控制 .............................................................................................................. 6 2.4.1 TCP Tahoe 和 Reno .................................................................................................. 6. 立. 政 治 大. ‧ 國. 學. 2.4.2 TCP Vegas ................................................................................................................. 7 2.4.3 其他版本 TCP ......................................................................................................... 8. ‧. n. al. er. io. sit. y. Nat. 2.5 DCCP 的壅塞控制 ........................................................................................................... 8 2.5.1 CCID 2: TCP-Like 壅塞控制 ................................................................................... 8 2.5.2 CCID 3: TFRC 壅塞控制 ......................................................................................... 8 2.6 VOIP 語音封包產生流程 ................................................................................................. 9 2.6.1 取樣與編碼 ............................................................................................................ 10 2.6.2 封包封裝與傳輸 ..................................................................................................... 10 2.6.3 影響通話品質的參數 ............................................................................................. 11 2.7 VOIP 通話品質評量指標 ............................................................................................... 11. Ch. engchi. i n U. v. 2.7.1 MOS ........................................................................................................................ 11 2.7.2 E-Model ................................................................................................................... 12 2.7 現有改變語音壓縮速率的 VOIP 壅塞控制機制 ......................................................... 13 第三章 數據壅塞控制協定頻寬競爭分析 ............................................................................ 15 3.1 實驗設計 ........................................................................................................................ 15 3.2 頻寬競爭分析 ................................................................................................................ 17 3.3 VOIP 通話品質分析 ....................................................................................................... 29 3.4 小結 ................................................................................................................................ 36 第四章 調整封包大小的壅塞控制方法 ................................................................................ 37 4.1 設計目標........................................................................................................................ 38 iv.

(6) 4.1.1 手動調整方法 ......................................................................................................... 38 4.1.2 自動調整方法 ......................................................................................................... 38 4.2 BIT-RATE 調整演算法 .................................................................................................... 38 4.2.1 壅塞偵測方法 ......................................................................................................... 38 4.2.1 降低 Bit-rate 演算法 ............................................................................................... 40 4.2.2 提升 Bit-rate 演算法 ............................................................................................... 41 4.2.3 調整 Bit-rate 範例 ................................................................................................... 41 第五章 實驗與效能評估 ........................................................................................................ 42 5.1 評估指標 ........................................................................................................................ 42 5.2 實驗環境 ........................................................................................................................ 42 5.3 實驗一 ............................................................................................................................ 43 5.3.1 實驗結果與分析 ..................................................................................................... 44 5.4 實驗二 ............................................................................................................................ 44 5.4.1 實驗結果與分析 ..................................................................................................... 45 5.5 實驗三 ............................................................................................................................ 45. 立. 政 治 大. ‧ 國. 學. ‧. 5.5.1 UDP-Based VoIP 實驗結果與分析........................................................................ 46 5.5.2 DCCP-Based VoIP 實驗結果與分析 ..................................................................... 50 5.5.3 Flexible Bit-rate VoIP 實驗結果與分析 ................................................................ 54 5.5.4 三種傳輸方式實驗結果與分析 ............................................................................. 58 5.6 小結................................................................................................................................ 62. er. io. sit. y. Nat. al. n. v i n Ch 參考文獻 .................................................................................................................................. 64 engchi U 第六章 結論與未來研究 ........................................................................................................ 63. v.

(7) 圖目錄 圖 1 VoIP 語音封包產生流程 ............................................................................................... 9 圖 2 Fariza Sabrina 等人提出具有壅塞控制機制的 VoIP 系統架構................................ 13 圖 3 越洋網路電話實驗拓樸 .............................................................................................. 15 圖 4 UDP 與 TCP Tahoe 吞吐率比較-UDP 先進入 .......................................................... 18 圖 5 UDP 與 TCP Tahoe 吞吐率比較-TCP Tahoe 先進入 ................................................ 18 圖 圖 圖 圖 圖 圖 圖 圖 圖. 6 7 8 9 10 11 12 13 14. UDP 與 TCP Reno 吞吐率比較-UDP 先進入 ............................................................ 19 UDP 與 TCP Reno 吞吐率比較-TCP Reno 先進入 ................................................... 19 UDP 與 TCP NewReno 吞吐率比較-UDP 先進入 .................................................... 20 UDP 與 TCP NewReno 吞吐率比較-TCP NewReno 先進入 .................................... 20 UDP 與 TCP SACK 吞吐率比較-UDP 先進入 ........................................................ 21 UDP 與 TCP SACK 吞吐率比較-TCP SACK 先進入 ............................................. 21 UDP 與 TCP Vegas 吞吐率比較-UDP 先進入 ........................................................ 22 UDP 與 TCP Vegas 吞吐率比較-TCP Vegas 先進入 .............................................. 22 DCCP 與 TCP Tahoe 吞吐率比較-DCCP 先進入.................................................... 24. 圖 圖 圖 圖 圖 圖 圖 圖 圖. 15 16 17 18 19 20 21 22 23. DCCP 與 TCP Tahoe 吞吐率比較-TCP Tahoe 先進入 ............................................ 24 DCCP 與 TCP Reno 吞吐率比較-DCCP 先進入 ..................................................... 25 DCCP 與 TCP Reno 吞吐率比較-TCP Reno 先進入 ............................................... 25 DCCP 與 TCP NewReno 吞吐率比較-DCCP 先進入.............................................. 26 DCCP 與 TCP NewReno 吞吐率比較-TCP NewReno 先進入 ................................ 26 DCCP 與 TCP SACK 較-DCCP 先進入 ................................................................... 27 DCCP 與 TCP SACK 較-TCP SACK 先進入 .......................................................... 27 DCCP 與 TCP Vegas 吞吐率比較-DCCP 先進入.................................................... 28 DCCP 與 TCP Vegas 吞吐率比較-TCP Vegas 先進入 ............................................ 28. 圖 圖 圖 圖 圖 圖 圖 圖 圖. 24 25 26 27 28 29 30 31 32. UDP 與 DCCP 平均封包延遲比較-與 TCP Tahoe 競爭 ......................................... 30 UDP 與 DCCP 平均封包遺失率比較-與 TCP Tahoe 競爭 ..................................... 30 UDP 與 DCCP 平均封包延遲比較-與 TCP Reno 競爭........................................... 31 UDP 與 DCCP 平均封包遺失率比較-與 TCP Reno 競爭....................................... 31 UDP 與 DCCP 平均封包延遲比較-與 TCP NewReno 競爭 ................................... 32 UDP 與 DCCP 平均封包遺失率比較-與 TCP NewReno 競爭 ............................... 32 UDP 與 DCCP 平均封包延遲比較-與 TCP SACK 競爭 ........................................ 33 UDP 與 DCCP 平均封包遺失率比較-與 TCP SACK 競爭 .................................... 33 UDP 與 DCCP 平均封包延遲比較-與 TCP Vegas 競爭 ......................................... 34. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 33 UDP 與 DCCP 平均封包遺失率比較-與 TCP Vegas 競爭 ..................................... 34. vi.

(8) 圖 圖 圖 圖 圖 圖 圖. 34 調整發送間隔與調整封包大小之壅塞控制方式比較 ............................................ 37 35 改變 Bit-rate 以適應網路情況 .................................................................................. 38 36 常態分配之經驗法則 ................................................................................................ 40 37 網路壅塞實驗拓樸 .................................................................................................... 44 38 手動調整 Bit-rate 之 MOS 變化 ............................................................................... 45 39 實驗三網路拓樸 ........................................................................................................ 46 40 Packet Loss Rate 與 MOS 變化-UDP ........................................................................ 47. 圖 圖 圖 圖 圖 圖 圖. 41 42 43 44 45 46 47. Bit-rate 與 MOS 變化-UDP ....................................................................................... 47 Packet Loss Rate 與 MOS 變化-DCCP ..................................................................... 51 Bit-rate 與 MOS 變化-DCCP .................................................................................... 51 Packet Loss Rate 與 MOS 變化-Flexible Bit-rate ..................................................... 55 Bit-rate 與 MOS 變化-Flexible Bit-rate..................................................................... 55 三種方式傳輸 VoIP 的封包遺失率比較 .................................................................. 60 三種方式傳輸 VoIP 的 MOS 比較 ........................................................................... 60. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. vii. i n U. v.

(9) 表目錄 表 1 各種常見語音壓縮編碼的參數 .................................................................................. 10 表 2 Mean Opinion Score 定義 ............................................................................................ 11 表 3 R-factors 與 MOS 之對應............................................................................................ 12 表 4 越洋網路電話之實驗參數 .......................................................................................... 16 表 5 DCCP CCID3 參數 ...................................................................................................... 16 6 7 8 9 10 11 12 13 14. DCCP 吞吐率-DCCP 先進入 ...................................................................................... 29 DCCP 為基礎的 VoIP 通話品質 ................................................................................ 35 以封包間隔時間調整 Bit-rate 範例 ............................................................................ 41 Speex 編碼器各種 Bit-rate 相關參數 ......................................................................... 43 實驗一封包遺失率 .................................................................................................... 44 以 UDP 傳輸 100 通 VoIP 封包遺失率之變化-PART1 .......................................... 48 以 UDP 傳輸 100 通 VoIP 封包遺失率之變化-PART2 .......................................... 49 以 DCCP 傳輸 100 通 VoIP 封包遺失率之變化-PART1 ........................................ 52 以 DCCP 傳輸 100 通 VoIP 封包遺失率之變化-PART2 ........................................ 53. 表 15 表 16 表 17. 以 Flexible Bit-rate 傳輸 100 通 VoIP 封包遺失率之變化-PART1 ........................ 56 以 Flexible Bit-rate 傳輸 100 通 VoIP 封包遺失率之變化-PART2 ........................ 57 三種方式頻寬使用效率之比較 ................................................................................ 61. 立. 政 治 大. ‧. ‧ 國. 學. io. sit. y. Nat. n. al. er. 表 表 表 表 表 表 表 表 表. Ch. engchi. viii. i n U. v.

(10) 第一章 緒論 現行的網路應用程式都希望能取得適當且公平的網路頻寬來完成它們的工作,另一. 治 政 大 傳輸協議除了負責在傳送端和接收端之間傳輸資料之外,對於傳輸速率的控制也扮演了 立 方面,網路中的路由器等各個網路環節也盡力的避免造成網路壅塞的情形發生。傳輸層. 相當重要的角色,目前的網路應用程式多半使用 UDP[RFC 768]和 TCP[RFC 793]這兩個. ‧ 國. 學. 傳輸協議來傳遞資料。. ‧. UDP 中沒有確認封包、重送機制和連線逾時的概念,當資料被送出之後,發送端無. y. Nat. 法得知資料是否成功的被送達目的地;所以 UDP 無法測量傳送端與接收端之間的頻寬. er. io. sit. 大小,更不可能藉由調整自身的發送速率來適應網路環境,因此 UDP 的傳輸速率多半 是在傳輸之前先行設定,在整個資料的傳輸過程中不再改變,UDP 對於網路壅塞並無任. n. al. 何調節作用。. Ch. engchi. i n U. v. 另一方面,TCP 由於加入確認封包、重送機制和連線逾時的概念,在資料傳輸的過 程中,透過 ACK 封包可以偵測傳送端與接收端之間的網路情形,並透過壅塞控制機制, 在傳輸的過程中改變傳輸速率,調節傳送端與接收端之間的網路負載。因此,TCP 承擔 了網路壅塞控制的責任。 當整體網路中 TCP 的比例較大時,透過 TCP 的自我速率調整控制,網路的壅塞尚 能獲得適度的控制,但隨著多媒體網路應用的興起,例如網路電話與視訊實況轉播,這 類型的網路應用程式因必頇維持恆定傳輸速率,大多使用 UDP 作為傳輸協議,因而網. 1.

(11) 路中將有越來越多的 UDP 封包,僅僅透過 TCP 的壅塞控制來做調節網路負載,將不足 以維持整體網路的穩定。 因此 DCCP 這種具有壅塞控制機制的傳輸協議被提出,期望取代 UDP 成為不可靠 傳輸的主流協議[10]。但與其他傳輸協議共存於網路上,是否能公平的分享頻寬,則不 得而知;另外目前 DCCP 所使用的壅塞控制機制,也可能不適用於講求時效性的網路應 用程式。 本研究將以實驗探討 DCCP 是否能公平的分享頻寬,並針對時效性的應用程式提出. 政 治 大. 一套有效的壅塞控制機制,在保證一定的傳輸品質下,促進整體網路的和諧。. 立. ‧ 國. 學. 1.1 數據壅塞控制協定(DCCP). 多媒體應用是未來網路的趨勢,人們透過網路即時的傳送影音資訊,所以勢必設計. ‧. 一套講究即時性並且提供壅塞控制機制的傳輸協議,以避免壅塞崩潰的發生;以這個構 Congestion Control Protocol, DCCP)在網際. sit. y. Nat. 想為前提,數據壅塞控制協議(Datagram. n. al. er. io. 網路工程工作小組(Internet Engineering Task Force, IETF)努力之下就此誕生,在未來將取 代 UDP 成為非可靠傳輸協議的標準。. Ch. engchi. i n U. v. DCCP 定義於[RFC 4340],它是一個可以進行壅塞控制的不可靠傳輸協議,故沒有 重送機制的設計,在 DCCP 在封包標頭中記錄著連續的編號,藉此偵測封包遺失的情形 來達成壅塞控制,另外 DCCP 提供多種壅塞控制機制,在傳輸開始時可由使用者透過壅 塞控制編號來做選擇。. 1.2 DCCP-Based VoIP 語音通話對於聲音傳遞時間要求極為嚴苛,當聲音從發話者的口中傳送至接收者的 耳中,必頇維持在 400 毫秒以下,如果超過這個時間,便會嚴重影響到語音對話的互動 性。因此 VoIP 對於封包傳遞的時間分秒必爭,且 VoIP 必頇維持恆定傳輸速率,大多採. 2.

(12) 用 UDP 作為傳輸協議,但若將傳輸協議改為 DCCP,是否能維持原本所需的傳輸效能, 並維持穩定的通話品質?我們必頇先探討兩個問題。 第一個是不同於沒有壅塞控制機制的 UDP,加入壅塞控制機制的 DCCP 與其他傳 輸協議共存於網路上,是否能公平的分享頻寬? 第二個是 DCCP 壅塞控制機制,是否適用於 VoIP?目前的 VoIP 在通話過程中,語 音壓縮率是固定的,因此每秒所產生的資料量是固定的;但現行的 DCCP 壅塞控制機制, 是透過調整封包發送間隔來降低傳送速率,當傳輸速率低於 VoIP 所需,VoIP 產生的封. 政 治 大. 包會暫存於 buffer 之中,語音封包傳送至接收端的時間勢必加長,因此透過暫緩送出封. 立. 包的壅塞控制機,可能無法適用在 VoIP 之上。. ‧ 國. 學. 1.3 研究目的與方法. ‧. 本研究將以實驗的方式,探討目前 DCCP 的壅塞控制機制,在 TCP 的頻寬競爭下,. Nat. sit. y. 是否能公平的分享頻寬。. n. al. er. io. 此外將提出一套具有壅塞控制機制的 VoIP 速率控制來促進網路的和諧,並維持一. i n U. v. 定的 VoIP 通話品質;以往的 VoIP 速率控制的研究只考慮到 VoIP 自身的品質,並未顧 及整體網路的和諧。. Ch. engchi. 不同於一般資料傳輸的壅塞控制機制,在 VoIP 上實作壅塞控制機制必頇考量到封 包延遲等問題。由於現行的 VoIP 的語音壓縮速率在通話過程中是不會改變的,透過改 變語音封包送出的間隔時間來進行壅塞控制的方式,可能無法維持 VoIP 通話品質;因 此我們提出一套偵測網路壅塞的方法,配合應用程式,在通話的過程中以改變語音壓縮 率的方式來調整語音封包大小進行壅塞控制,舒緩網路壅塞的情形,並維持一定的通話 品質。. 3.

(13) 1.4 章節安排 本論文共有三大主軸,其一探討 DCCP 與其他傳輸協議的頻寬競爭公平性,其二是 現行 DCCP 的壅塞控制機制運用在即時性網路應用程式上的適切性,最後提出一套針對 即時性網路應用程式的壅塞控制方法。 在二章中提到了壅塞控制機制的相關背景及文獻回顧,第三章中則以實驗的方式探 討 DCCP 與其他傳輸協議的頻寬競爭公平性。第四章說明我們提出的調整封包大小的壅. 政 治 大. 塞控制方法,並在第五章進行實驗與效能分析,最後於第六章進行結論。. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 4. i n U. v.

(14) 第二章 背景與相關研究 2.1 壅塞崩潰. 政 治 大 現象是在 1986 年 10 月,當時 立 NFSnet 的骨幹網路的可用頻寬從 32Kbps 下降到只有. 壅塞崩潰(Congestive Collapse)這個問題最早被發現於 1984 年,第一次觀察到這個. ‧ 國. 學. 40bps[RFC 896]。其原因在於早期的 TCP 版本在壅塞控制缺乏良好的設計;當網路壅塞 的情況發生時,TCP 於發送端將封包發送出去之後,沒辦法在重送逾時(Retransmission. ‧. Timeout)的時間內收到接收端所回覆的確認封包(Acknowledgement Packet),TCP 將視為. sit. y. Nat. 一個封包遺失(Packet loss)事件而啟動重送機制;但發送端沒有在重送逾時時間內接收到. er. io. 來自接收端的確認封包,並非全都是因為封包遺失,而有可能是封包在傳送的過程中遭. al. v i n Ch 情況下會持續重送封包,將使得網路壅塞情況越來越嚴重而造成壅塞崩潰,因此如何設 engchi U n. 遇到網路壅塞的情況,使得封包延遲(Packet Delay)時間拉長,早期的 TCP 版本在這些. 計一個好的壅塞控制機制,一直是網路中相當重要的課題[1]。. 2.2 壅塞控制 壅塞控制這個概念最早於 1986 年由 Nagle 在[13]中提出之後,網路中關於壅塞控制 機制的研究就沒有停過,直到 1988 年 Jacobson 在[11]中詳細討論了慢啟動、快速重傳、 壅塞避免等壅塞控制的方法,成為現今最常用的 AIMD(Additive Increase Multiplicative Decrease)壅塞控制機制的基礎,目前基於 AIMD 為基礎的壅塞控制方法有 TCP Tahoe、. 5.

(15) TCP Reno、TCP NewReno、TCP SACK 等等,在[5]中透過模擬的方式,分析了這幾種 壅塞控制機制的效能。 但隨著多媒體網路應用的興起,越來越多應用程式透過 UDP 傳輸資料,通常這些 網路應用程式不需使用 TCP 的可靠傳輸的特性,例如 IPTV 和 VoIP 等等。但由於 UDP 缺乏壅塞控制機制,這些應用程式必頇針對網路壅塞的情況自行設計應對方式,然而在 應用層實作壅塞控機制並不容易,因此有一些針對不可靠傳輸進行壅塞控制的傳輸層傳 輸協議被提出。. 政 治 大 2.3 數據壅塞控制協定(DCCP) 立. ‧ 國. 學. DCCP 是個連線導向的傳輸層傳輸協議,包含了連線的建立與拆除、ECN、壅塞控 制等,它提供了不同的壅塞控制方式供使用者選擇,但並不包含重送機制,是一個不可. ‧. 靠的傳輸協議[10]。DCCP 和 TCP 相當類似,透過 ACK 封包來確認資料是否送達接收. Nat. sit. y. 端,ACK 訊息中包含了發送端送出的封包是否到達目的地,以及標頭中是否含有 ECN. n. al. er. io. 標記。在連線建立的時候,使用者可透過壅塞控制編號(CCID)選擇不同的壅塞控制機。. 2.4 TCP 的壅塞控制. Ch. engchi. i n U. v. 由於網路並非完美無缺,少部分的封包可能在傳遞的過程中遺失。一般而言,網路 壅塞是造成封包遺失的最大原因,此時傳輸協議必頇要盡快做出反應降低傳送速率以舒 緩網路的壅塞。TCP 使用 AIMD 的方式調整傳輸速率,此外還有慢啟動、壅塞迴避等狀 態來避免網路壅塞[11],以上這些方式最早出現在 TCP Tahoe 和 Reno 版本中[5]。. 2.4.1 TCP Tahoe 和 Reno 在每條 TCP 建立的連線之中,發送端利用壅塞視窗之控制來限制兩個終端節點之 間未經確認的封包總數上限,亦即已送出但尚未到達的封包總數之上限,藉此來控制傳 輸速率。當接收端收到一個封包,便會回覆一個 ACK 給發送端,告知目前所收到最新 6.

(16) 的封包序號;當發送端收到 ACK 之後,便再送出一個封包,壅塞控制窗口內的未被確 認封包總數維持於窗口上限。若接收端收到跳序的封包時,它會送回一個 duplicate ACK 重複前一個封包序號給傳送端,藉以回報異常狀況。 TCP 在連結建立的開始或是逾時產生後會進入慢啟動機制[16]。接收端每收到一個 封包,便回送一個 ACK,而傳送端在接收到每一個 ACK 後便增加壅塞視窗之大小,以 倍數的方式遞增直到產生封包遺失,當接收端發生連線逾時,CWND (Congestion Window)會降至初始值,再以倍數成長至 threshold,此時便進入壅塞避免階段,此因既. 政 治 大. 已偵測到傳輸速率之極限,理當調整減緩 CWND 的擴張速度。當 CWND 增長至 threshold. 立. 之後每接到一個 ACK,CWND 只增加一格,這個過程持續不斷的進行,直到壅塞產生. ‧ 國. 學. 後,縮減 CWND 並將 threshold 減半。而 TCP Tahoe 和 Reno 對於收到 duplicate ACK 有 著不同的處理方式。. ‧. y. Nat. 當傳送端收到三個 duplicate ACK 時,TCP Tahoe 處理的方式和處理連線逾時相同. er. io. sit. (即等到 Timeout 才啟動封包遺失相關動作),而 Reno 則認為等到 Timeout 發生後再進行 重傳常會耗時過久,影響效能,因此加上了 Fast Retransmit 機制,當傳送端收到三個. al. n. v i n duplicate ACK 後,便假設此重複 C hACK 所回報序號之下一個封包已經遺失,但網路只有 engchi U 輕微壅塞故立即重傳該封包,並進入 Fast Recovery,不頇等到 Timeout。. 在 Fast Retransmit 之後,所進入的狀態是擁塞避免階段,而非慢啟動階段,此機制 稱為 Fast Recovery,之後如果等到連線逾時仍然沒有收到 ACK,TCP Reno 將會視為網 路嚴重壅塞,並進入慢啟動狀態。. 2.4.2 TCP Vegas TCP Vegas 利用封包來回時間(Round-Trip Time)來調整 CWND[2],並使用遞增的方 式來增加 CWND 的大小,雖然這種測量網路頻寬的方式較為準確,但相較於其他 TCP 版本,TCP Vegas 對於頻寬的競爭力較為薄弱,所以不受一般人青睞。 7.

(17) 2.4.3 其他版本 TCP NewReno 和 SACK 的出現是用來改善並增進 Reno 的效能[5, 6]。在特殊的網路環境 中,例如無線網路,封包遺失的主因不再是網路壅塞,原本的壅塞控制機制反而會造成 傳輸速度緩慢,因此有許多不同的 TCP 版本被提出法來改善這些問題[9, 14]。. 2.5 DCCP 的壅塞控制 DCCP 目前定義了 CCID2 與 CCID3 兩種不同的壅塞控制方法。. 政 治 大. 2.5.1 CCID 2: TCP-Like 壅塞控制. 立. 在 DCCP 中 CCID2[7]制定的壅塞控制機制是和 TCP 相當類似的,其中也有幾個重. ‧ 國. 學. 要的狀態,分別是慢啟動(Slow Start)、壅塞迴避(Congestion Avoidance)和重送逾時 (Retransmission Timeout),最大的不同在於沒有重送(Retransmission)機制。如同 TCP 一. ‧. 般,在 CCID2 中利用壅塞視窗(Congestion Windows)配合 AIMD 的演算法來控制傳輸速. Nat. sit. n. er. io. 2.5.2 CCID 3: TFRC 壅塞控制. al. y. 率,另外 CCID2 也針對 ACK 封包進行壅塞控制。. i n U. v. TFRC 是以傳輸速率(Rate-Based) [8]為基礎的壅塞控制機制。不同於 TCP 使用. Ch. engchi. CWND,TFRC 而是以(1)所列計算式來估計並控制發送端的傳輸速率,主要透過 RTT(Round Trip Time)與封包遺失(Packet Loss)作為依據,並以計算出的 X 值為限制,控 制傳輸速率。. √. √. s=平均封包大小 p=封包遺失率 RTT=封包延遲 t_RTO=TCP Retransmission Timeout 時間. 8. ))). (1).

(18) TFRC 的壅塞控制方式必頇在傳送端和接收端之間建立起連線,用以進行網路參數 的回饋。當傳輸開始時,TFRC 效法 TCP 的慢啟動階段,以便快速的增加傳輸速率來取 得公平的頻寬,等到發生第一個封包遺失事件後,傳送端會收到接收端傳回的回饋訊息 (feedback),進而結束慢啟動階段,並將接收端回饋的網路參數代入公式(1)中,重新預 估可用的傳輸速率後,再以此傳輸速率發送數據封包。 在 TFRC 傳輸速率公式中(1),最重要的兩個參數分別是封包遺失率與 RTT,這兩 項參數的改變將會大幅影響傳輸速率的估計。TFRC 透過封包標頭中的序號,接收端可. 政 治 大. 以計算出封包遺失率 p 回饋給傳送端;在由標頭中的時間戳記(timestamp)就可計算出封. 立. 包往返時間 RTT。TFRC 假設在同一段時間內,造成封包遺失的原因都是相同的,故將. ‧ 國. 學. 一個 RTT 之內所有的封包遺失都視為一個封包遺失事件,因此估計出的傳輸速率會較 為平緩。. ‧ sit. y. Nat. 2.6 VoIP 語音封包產生流程. n. al. er. io. VoIP 使用網際網路來傳送語音資料,其作法是將語音從麥克風擷取後,由類比訊. i n U. v. 號轉為數位訊號,經由壓縮演算法封裝為數據封包,透過網路傳輸,接收端後將數據封. Ch. engchi. 包解壓縮後,再轉換成為類比訊號由喇叭播出,如圖所示。. 圖 1. VoIP 語音封包產生流程. 9.

(19) 2.6.1 取樣與編碼 麥克風將聲音轉換成為有強弱幅度變化的電壓信號,此信號是一種類比信號,經由 數位轉換的過程後成為數位信號,才能由電腦處理。 在取樣過後,電腦將數位訊號進行編碼,在過程中通常會加入壓縮的動作來減少網 路頻寬的消耗,在壓縮前必頇先從取樣後的數位音訊訊號取出一小段,經由編碼器 (Codec)編碼後輸出壓縮過後的資訊,每一段資訊稱為一個訊框(Frame),一個訊框會包 含 10 毫秒到 30 毫秒的音訊訊號,依不同的編碼器會有不同的標準。. 政 治 大 音質較差,所需的網路頻寬也較小,相反的低壓縮率所產生的語音封包較大,音質較佳, 立. 在編碼的過程中,可以選擇不同的壓縮演算法。高壓縮率所產生的語音封包較小,. ‧ 國. Speex[19, 20, 21, 23]等,表 1 是幾個常見編碼器的參數。. Frame Size. 8kHz. 67.5ms. 20ms a l 8kHz v i n Ch 8kHz U e n g c h i30ms/20ms. n. iLBC Speex. Bit-rate. y. sit. er. io. G.729. ‧. G.723. 各種常見語音壓縮編碼的參數. Sampling Rate. Nat. Codec. 表 1. 學. 但所需的頻寬也較大。目前針對語音壓縮演算法主要的有:G.723、G.729a、iLBC、. 8kHz/16kHz. 20ms/40ms. 6.4Kbps 8Kbps 13.3/15Kbps 2.15-44Kbps. 2.6.2 封包封裝與傳輸 編碼之後透過網路傳輸前,會將訊框封裝(Packetization)成為封包後才交由網路傳遞, 一般網路電話應用程式會將編碼過後的資料封裝成 RTP 封包,再加上傳輸層傳輸協議 封包標頭與 IP 標頭後成為一個 IP 封包,當一段語音資料封裝成為 IP 封包後,由 IP 封 包標頭中所記錄的位置資訊,即能透過網路傳送至目的地。. 10.

(20) 2.6.3 影響通話品質的參數 影響通話品質的參數可由使用者端和網路端兩個方向來說明。以使用者端來說,較 差的收音設備和環境中的噪音,或是由喇叭發出聲音後再由麥克風接收產生的回音,甚 至是不同編碼器(Codec)有不同的失真程度,都會降影響網路電話的通話品質;另外在網 路傳輸的過程中,網路情況好壞會造成封包延遲(Packet Delay)、封包遺失(Packet Loss)、 封包抖動(Jitter)等情形,諸如此類問題皆可能降低網路電話的通話品質。. 2.7 VoIP 通話品質評量指標. 政 治 大 網路語音品質評估指標分為主觀與客觀兩種。主觀的語音評估方式是利用人的耳朵 立. ‧ 國. 學. 直接收聽語音,並給此段語音評分,常見的指標為 MOS;客觀的方式是利用數學模型, 將系統中的參數代入計算出分數,常見的指標有 E-Model。. ‧. 2.7.1 MOS. Nat. sit. y. 一般常用來衡量 VoIP 通話品質的指標是依據 ITUT 所制定 MOS(Mean Opinion. n. al. er. io. Score)分數[22],MOS 是一種較為主觀的語音品質測量指標,收聽者按照從 1 到 5 分對. i n U. v. 語音會話品質來進行分級,分數由高至低分為最好和最壞,如表 2。. Ch. engchi. 表 2 Mean Opinion Score 定義 MOS. Quality. Impairment. 5. Excellent. Imperceptible. 4. Good. Perceptible but not annoying. 3. Fair. Slightly annoying. 2. Poor. Annoying. 1. Bad. Very annoying. 11.

(21) 2.7.2 E-Model 除此之外,還可以利用同為 ITUT 所制定的 E-Model[17],E-Model 透過語音傳輸過 程中若干因素,計算出對語音品質的負面影響綜,來評估該通話之品質水準。E-Model 中的 R-factor 中包含了所有影響通話品質的要素,最差為 0 分,最好為 100 分。. (2). 在公式(2)中 代表了 network delay、codec-related delay 和 playout buffer delay, 代. 治 政 表了語音壓縮所造成的語音品質下降和語音透過播放設備放出所造成的失真,另外在 大 立 E-Model 和 MOS 之間可以透過公式(3)進行轉換,表 3 列出 R-Factor 與 MOS 之間的分 ‧. ‧ 國. 學 ). ). io. sit. y. Nat. 表 3 R-factors 與 MOS 之對應. al. n R-factor. 90<R<100. er. 數對應。. Ch. Quality. engchi. i n U. v. MOS. Excellent. 4.34 ~ 4.5. 80<R<90. Good. 4.03 ~ 4.34. 70<R<80. Fair. 3.60 ~ 4.03. 60<R<70. Poor. 3.10 ~ 3.60. 50<R<60. Bad. 2.58 ~ 3.10. 12. (3).

(22) 2.7 現有改變語音壓縮速率的 VoIP 壅塞控制機制 以往的 VoIP 速率控制的研究只考慮到 VoIP 自身的品質,並未顧及整體網路的和諧; 近年來因為網路電話的興起,VoIP 的壅塞控制才慢慢被重視。 在 Fariza Sabrina 和 Jean-Marc Valin 提出了一套具有壅塞控制機制的 VoIP 網路電話 [15]架構,當中採用了 XCP(eXplicit Control Protocol)[4]傳輸協議來計算傳送端與接收端 之間的網路頻寬,在圖 2 中畫出了此系統的架構圖。當 VoIP 通話建立時,此系統在發. 治 政 大 使用者傳來的語音串流依照 XCP 所回報的頻寬,採用相對應的語音壓縮速率進行壓縮 立 話方與受話方之間的通信閘(gateway)建立起 XCP 連線估計出可用頻寬,通信閘首先將. 傳送至受話方的通信閘;當受話方的通信閘收到壓縮過後的語音串流後,再解壓縮傳給. ‧ 國. 學. 受話者。此系統透過通信閘控制語音壓縮速率調節進入網路中的資料量,進而達到壅塞. ‧. 控制的目的。. n. er. io. sit. y. Nat. al. 圖 2. Ch. engchi. i n U. v. Fariza Sabrina 等人提出具有壅塞控制機制的 VoIP 系統架構. 13.

(23) 這種 VoIP 架構中的優點在於每位發話者僅需將語音封包傳送給通訊閘,其餘的語 音壓縮、解壓縮等動作都交由通訊閘處理;付出的代價為此通訊閘頇要有足夠的運算效 能與網路頻寬,且這種方式只能對通訊閘和通訊閘之間的網路鏈結進行壅塞控制。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 14. i n U. v.

(24) 第三章 數據壅塞控制協定頻寬競爭分析 我們使用 NS-2 網路模擬器[18]並裝上 Mattsson 所提供的 DCCP 模組[12]來進行實驗, 評估 DCCP 在頻寬競爭中的表現,並測詴是否能維持網路電話的通話品質。. 立. 3.1 實驗設計. 政 治 大. ‧ 國. 學. 圖 3 為實驗中所使用的網路拓樸,在中間的鏈結設置 0.25Mbps 的頻寬與 50 毫秒的 延遲模擬越洋的網路鏈結,用以作為網路的瓶頸點,其他的鏈結間設置 10Mbps 的頻寬. ‧. 與 10 毫秒的網路延遲。. TCP 3 TCP 4. y. sit er. 10Mb/10ms a. n. TCP 2. (UDP or DCCP). io. TCP 1. Nat. VoIP. iv l C n hengchi U. 10Mb/10ms 10Mb/10ms 10Mb/10ms 10Mb/10ms. 10Mb/10ms. 0.25Mb/ 50ms. (UDP or DCCP) VoIP. 10Mb/ 10ms. TCP 5 圖 3 越洋網路電話實驗拓樸 實驗中將以 UDP 和 DCCP(CCID3)作為比較。在第一個情境中,我們使用 UDP 或 DCCP 傳輸一通網路電話,每隔 10 秒鐘增加 1 條 TCP 資料流進入網路,直到網路中有 5 條 TCP 資料流;在第二個情境中,實驗開始時網路中就存在 5 條 TCP 資料流,網路 電話在實驗的第 20 秒進入直到第 80 秒結束。這個實驗將使用五種不同版本的 TCP,分 15.

(25) 別是 Tahoe、Reno、NewReno、SACK 以及 Vegas。表 4 中列出所有的實驗參數,表 5 是在 DCCP CCID3 中用來估計 TCP 吞吐率的方程式。 表 4 越洋網路電話之實驗參數 Parameters. Value. VoIP Packet Size. 40 Bytes (Payload only). VoIP Inter-Packet Interval. 20 ms. TCP Versions. Tahoe, Reno, NewReno, SACK, Vegas Bytes 政1460治 大 20 Packets. TCP Packet Size. 立. Router Buffer Size. Number of VoIP session. 1 (Full Duplex). Number of TCP session. 5. n. al. 表 5. Ch. er. io. sit. Nat. y. 0.25~10 Mbps. ‧ 國. Link Bandwidth. ‧. DropTail (FIFO). 學. Buffer Management Scheme. DCCP CCID3 參數. Parameters. engchi. i n U. v. Initial_Value. s. Packet Size. R. Round Trip Time. 3 sec. P. Loss Event Rate. 0-1.0. TCP Retransmission Timeout Value. 3 sec. # of Packets Acknowledged by a Single TCP ACK. 1. t_RTO b. 16. 1460 Bytes.

(26) 3.2 頻寬競爭分析 本章節的討論重點在於吞吐率(throughput ratio)的比較。我們分別在傳送端和接收端 記錄下傳送和接收到的網路電話和 TCP 資料流,並於紀錄接收端每秒所收到的資料量 來計算吞吐率。在本實驗中我們將延遲時間超過 350 毫秒的網路電話封包,視為封包遺 失,不列入吞吐率的計算。 實驗結果發現,UDP 就如我們預期的,在面對各種 TCP 本版的競爭時,都能維持. 政 治 大. 穩定的吞吐率,在圖 4,6,8,10,12 裡顯示了 UDP 與各版本的 TCP 的吞吐率變化(TCP 1 是. 立. 第一條 TCP 資料流),隨著越來越多的 TCP 資料流進入網路中,UDP 依然能維持其吞吐. ‧ 國. 學. 率,但 TCP 的吞吐率下降,這表示 TCP 會調整自身的傳輸速率,以適應網路壅塞,但 UDP 並沒有這種機制。. ‧. 另外在圖 5,7,9,11,13 中顯示,使用 UDP 傳輸的網路電話,在網路中存在數條 TCP. Nat. sit. y. 資料流的情況下,能競爭到所需頻寬,維持通話品質的穩定。透過 TCP 1 和整體 TCP. n. al. er. io. 的吞吐率變化也能很明顯的發現,在 UDP 進入網路中後,整體的 TCP 吞吐率下降,當. i n U. v. UDP 離開網路後,整體的 TCP 吞吐率上升,這顯示 TCP 會調整自身的傳輸速率,以適 應網路的情況。. Ch. engchi. 17.

(27) Change of Throughput (UDP vs. TCP Tahoe). Throughput (Kbps). 250 200 150. UDP. 100. TCP 1. 50 0. 11 21. 立. 91. Time (s). 學. ‧ 國. 1. 政 治 大 31 41 51 61 71 81. 圖 4. UDP 與 TCP Tahoe 吞吐率比較-UDP 先進入. ‧. al. n. 200 150. y. sit. (UDP vs. TCP Tahoe). er. 250. io. Throughput (Kbps). Nat. Change of Throughput. Ch. engchi. i n U. v. 100. UDP. TCP 1 Total TCP. 50 0. 1. 11 21 31 41 51 61 71 81 91 Time (s). 圖 5. UDP 與 TCP Tahoe 吞吐率比較-TCP Tahoe 先進入. 18.

(28) Change of Throughput Throughput (Kbps). (UDP vs. TCP Reno) 250 200 150. UDP. 100. TCP 1. 50 0. 11 21. 立. 圖 6. 91. Time (s). 學. ‧ 國. 1. 政 治 大 31 41 51 61 71 81. UDP 與 TCP Reno 吞吐率比較-UDP 先進入. ‧. al. n. 200 150. y. sit. (UDP vs. TCP Reno). er. 250. io. Throughput (Kbps). Nat. Change of Throughput. Ch. engchi. i n U. v. 100. UDP TCP 1. Total TCP. 50 0. 1. 11 21 31 41 51 61 71 81 91 Time (s) 圖 7. UDP 與 TCP Reno 吞吐率比較-TCP Reno 先進入. 19.

(29) Change of Throughput (UDP vs. TCP NewReno). Throughput (Kbps). 250 200 150. UDP. 100. TCP 1. 50 0. 11 21. 立. 圖 8. 91. Time (s). 學. UDP 與 TCP NewReno 吞吐率比較-UDP 先進入. ‧. ‧ 國. 1. 政 治 大 31 41 51 61 71 81. al. n. 200 150. y. sit. (UDP vs. TCP NewReno). er. 250. io. Throughput (Kbps). Nat. Change of Throughput. Ch. engchi. i n U. v. 100. UDP. TCP 1 Total TCP. 50 0. 1. 圖 9. 11 21 31 41 51 61 71 81 91 Time (s) UDP 與 TCP NewReno 吞吐率比較-TCP NewReno 先進入. 20.

(30) Change of Throughput Throughput (Kbps). (UDP vs. TCP SACK) 250 200 150. UDP. 100. TCP 1. 50 0. 11 21. 立. 圖 10. 91. Time (s). 學. ‧ 國. 1. 政 治 大 31 41 51 61 71 81. UDP 與 TCP SACK 吞吐率比較-UDP 先進入. ‧. al. n. 200 150. y. sit. (UDP vs. TCP SACK). er. 250. io. Throughput (Kbps). Nat. Change of Throughput. Ch. engchi. i n U. v. 100. UDP TCP 1. Total TCP. 50 0. 1. 11 21 31 41 51 61 71 81 91 Time (s). 圖 11. UDP 與 TCP SACK 吞吐率比較-TCP SACK 先進入. 21.

(31) Change of Throughput (UDP vs. TCP Vegas). Throughput (Kbps). 250 200 150. UDP. 100. TCP 1. 50 0. 11 21. 立. 91. Time (s). 學. ‧ 國. 1. 政 治 大 31 41 51 61 71 81. 圖 12 UDP 與 TCP Vegas 吞吐率比較-UDP 先進入. ‧. al. n. 200 150. y. sit. (UDP vs. TCP Vegas). er. 250. io. Throughput (Kbps). Nat. Change of Throughput. Ch. engchi. i n U. v. 100. UDP TCP 1. Total TCP. 50 0. 1. 11 21 31 41 51 61 71 81 91 Time (s). 圖 13. UDP 與 TCP Vegas 吞吐率比較-TCP Vegas 先進入. 22.

(32) 在圖 14,16,18,20 裡顯示了 DCCP 與各版本的 TCP 1 的吞吐率變化,隨著後續 TCP 資料流的進入,DCCP 和 TCP 1 都受到影響,顯示出 TCP 與 DCCP 都自動調整了傳輸 速率,以適應網路壅塞。但我們可以從圖中發現,DCCP 所爭取到的頻寬,遠小於各版 本 TCP,甚至在只有一條 TCP 資料流的競爭下,DCCP 所爭取到的頻寬也只有初始值的 30%,這表示 DCCP 在網路中存在多條 TCP 資料流的情況下,無法公平的分享頻寬。 另外在圖 15,17,19,21 中顯示,使用 DCCP 傳輸的網路電話,在網路中存在數條 TCP 資料流的情況下,無法競爭到所需頻寬來維持穩定的通話品質。透過 TCP 1 和整體 TCP. 政 治 大. 的吞吐率變化也能很明顯的發現,在 DCCP 進入網路中後,TCP 吞吐率並無明顯的下降,. 立. 這顯示 DCCP 的頻寬競爭能力遠小於 TCP,原因在於當網路壅塞時,封包遺失率和封包. ‧ 國. 學. 延遲增加,造成 DCCP 計算出的傳輸速率相當低。. 另一方面,同樣以傳輸速率來作用壅塞控制的 TCP Vegas 對於頻寬的侵略性較其他. ‧. TCP 版本來得低,DCCP 所受到的影響較小。在圖 22 和圖 23 中顯示,五條 Vegas 資料. Nat. sit. y. 流進入網路後,DCCP 所受的影響越來越大,在只有兩條 Vegas 進入網路時,利用 DCCP. al. n. 持通話品質。. er. io. 傳送封包的 VoIP 沒有受到嚴重影響,但 VoIP 必頇調整其傳輸速率(語音封包大小)來維. Ch. engchi. 23. i n U. v.

(33) Change of Throughput (DCCP vs. TCP Tahoe). Throughput (Kbps). 300. 250 200 DCCP. 150. TCP 1. 100 50 0. 11 21. 立. 91. Time (s). 學. ‧ 國. 1. 政 治 大 31 41 51 61 71 81. 圖 14. DCCP 與 TCP Tahoe 吞吐率比較-DCCP 先進入. ‧. (DCCP vs. TCP Tahoe). sit. io. 200. n. al. er. 250. y. Nat. Throughput (Kbps). Change of Throughput. 150. 100. Ch. engchi. i n U. v. DCCP TCP 1. Total TCP. 50 0. 1. 11 21 31 41 51 61 71 81 91 Time (s). 圖 15. DCCP 與 TCP Tahoe 吞吐率比較-TCP Tahoe 先進入. 24.

(34) Change of Throughput Throughput (Mbps). (DCCP vs. TCP Reno) 250 200 150. DCCP. 100. TCP 1. 50 0. 11 21. 立. 91. Time (s). 學. ‧ 國. 1. 政 治 大 31 41 51 61 71 81. 圖 16. DCCP 與 TCP Reno 吞吐率比較-DCCP 先進入. ‧. (DCCP vs. TCP Reno). sit. io. 200. n. al. er. 250. y. Nat. Throughput (Kbps). Change of Throughput. 150 100. Ch. engchi. i n U. v. DCCP TCP 1 Total TCP. 50 0. 1. 11 21 31 41 51 61 71 81 91 Time (s). 圖 17. DCCP 與 TCP Reno 吞吐率比較-TCP Reno 先進入. 25.

(35) Change of Throughput (DCCP vs. TCP NewReno). Throughput (Kbps). 250 200 150. DCCP. 100. TCP 1. 50 0. 11 21. 立. 圖 18. 91. Time (s). 學. DCCP 與 TCP NewReno 吞吐率比較-DCCP 先進入. ‧. ‧ 國. 1. 政 治 大 31 41 51 61 71 81. io. 200. y. sit. 250. (DCCP vs. TCP NewReno). n. al. er. Nat. Throughput (Kbps). Change of Throughput. 150. 100. Ch. engchi. i n U. v. DCCP TCP 1. Total TCP. 50 0. 1 圖 19. 11 21 31 41 51 61 71 81 91 Time (s) DCCP 與 TCP NewReno 吞吐率比較-TCP NewReno 先進入. 26.

(36) Change of Throughput Throughput (Kbps). (DCCP vs. TCP SACK) 250 200 150. DCCP. 100. TCP 1. 50 0. 11 21. 立. 圖 20. 91. Time (s). 學. ‧ 國. 1. 政 治 大 31 41 51 61 71 81. DCCP 與 TCP SACK 較-DCCP 先進入. ‧. (DCCP vs. TCP SACK). sit. io. 200. n. al. er. 250. y. Nat. Throughput (Kbps). Change of Throughput. 150 100. Ch. engchi. i n U. v. DCCP TCP 1 Total TCP. 50 0. 1. 11 21 31 41 51 61 71 81 91 Time (s) 圖 21. DCCP 與 TCP SACK 較-TCP SACK 先進入. 27.

(37) Change of Throughput (DCCP vs. TCP Vegas). Throughput (Kbps). 250 200 150. DCCP. 100. TCP 1. 50 0. 11 21. 立. 91. Time (s). 學. ‧ 國. 1. 政 治 大 31 41 51 61 71 81. 圖 22. DCCP 與 TCP Vegas 吞吐率比較-DCCP 先進入. ‧. (DCCP vs. TCP Vegas). sit. io. 200. n. al. er. 250. y. Nat. Throughput (Kbps). Change of Throughput. 150 100. Ch. engchi. i n U. v. DCCP TCP 1 Total TCP. 50 0. 1. 11 21 31 41 51 61 71 81 91 Time (s). 圖 23. DCCP 與 TCP Vegas 吞吐率比較-TCP Vegas 先進入. 28.

(38) 總之當 DCCP 面對 TCP Tahoe、Reno、NewReno、SACK 甚至是多條 Vegas 的競爭 之下都處於劣勢。表 6 中列出以 DCCP 為基礎的 VoIP 串流在 10-20 秒、21-30 秒、31-40 秒和 41-50 秒之間的平均吞吐率,其中基準值(100%)是在 0-10 秒間網路沒有 TCP 資料 流存在。 表 6 Period(sec). 10-20. 20-30. 30-40. 40-50. 50-60. 25.12%. 25.23%. 25.47%. 21.61%. 16.59%. 治 23.01% 政 32.01% 29.79% 25.82% 大 20.68% 立. 16.94%. 20.21%. 21.26%. 15.89%. 15.77%. 16.12%. 19.63%. 12.62%. vs. Tahoe vs. Reno. 29.67%. vs. NewReno. 21.73%. 17.64%. 17.76%. 72.78%. 52.45%. 33.18%. 學 ‧. ‧ 國. vs. SACK vs. Vegas. DCCP 吞吐率-DCCP 先進入. sit. y. Nat. 3.3 VoIP 通話品質分析. io. er. 本節中討論 VoIP 的通話品質,在圖 24,25,26,27,28,29,30,31 中顯示,以 UDP 為基. al. 礎的 VoIP 通話品質不受影響;而 DCCP 會因越來越多的 TCP 資料流進入網路,通話品. n. v i n 質越來越糟。另外表 7 也列出 C DCCP h e的封包延遲和封包遺失率,其中封包遺失包含送達 ngchi U 接收端但時間超過 VoIP 所能容忍的範圍。使用 UDP 的 VoIP 能維持 300 毫秒以下的封 包延遲,且在 TCP 競爭下依然能維持 20%以下的封包遺失率;DCCP 相較之下就顯得遜 色許多,面對 TCP 的競爭,封包延遲時間越來越長,封包遺失率越來越高,甚至超過 了 80%,而且當只有一條 TCP 資料流時,吞吐率降至初始值的 30%。 DCCP 在面對 TCP Vegas 的競爭下,情況稍好一點,圖 32,33 中顯示,使用 DCCP 的 VoIP 在一條 Vegas 的競爭下勉強能維持通話品質,封包延遲時間保持在 200 毫秒下、 封包遺失率維持在 27%以下。. 29.

(39) Packet Delay Time (UDP vs. DCCP coexisting with Tahoe ). 0.5. 0.4 0.3 UDP. 0.2. DCCP. 0.1 0. 立. ‧ 國. y. sit. Packet Loss Rate (%). ‧. 40%. (UDP vs. DCCP coexisting with Tahoe ). al. n. 60%. Packet Loss Rate. io. 80%. UDP 與 DCCP 平均封包延遲比較-與 TCP Tahoe 競爭. Nat. 100%. Time (s). 學. 圖 24. 政 治 大. er. Delay Time (s). 0.6. Ch. engchi. i n U. v. UDP. DCCP. 20% 0%. Time (s) 圖 25. UDP 與 DCCP 平均封包遺失率比較-與 TCP Tahoe 競爭. 30.

(40) Packet Delay Time (UDP vs. DCCP coexisting with Reno ). 0.6 0.5 0.4. 0.3. UDP. 0.2. DCCP. 0.1 0. 立. ‧ 國. y. sit. Packet Loss Rate (%). ‧. 40%. (UDP vs. DCCP coexisting with Reno ). al. n. 60%. Packet Loss Rate. io. 80%. UDP 與 DCCP 平均封包延遲比較-與 TCP Reno 競爭. Nat. 100%. Time (s). 學. 圖 26. 政 治 大. er. Delay Time (s). 0.7. Ch. engchi. i n U. v. UDP. DCCP. 20% 0%. Time (s) 圖 27. UDP 與 DCCP 平均封包遺失率比較-與 TCP Reno 競爭. 31.

(41) Packet Delay Time (UDP vs. DCCP coexisting with NewReno ). 0.5. 0.4 0.3 UDP. 0.2. DCCP. 0.1 0. 立. ‧ 國. y. sit. Packet Loss Rate (%). ‧. 40%. (UDP vs. DCCP coexisting with NewReno ). al. n. 60%. Packet Loss Rate. io. 80%. UDP 與 DCCP 平均封包延遲比較-與 TCP NewReno 競爭. Nat. 100%. Time (s). 學. 圖 28. 政 治 大. er. Delay Time (s). 0.6. Ch. engchi. i n U. v. UDP. DCCP. 20% 0%. Time (s) 圖 29. UDP 與 DCCP 平均封包遺失率比較-與 TCP NewReno 競爭. 32.

(42) Packet Delay Time (UDP vs. DCCP coexisting with SACK ). 0.5. 0.4 0.3 UDP. 0.2. DCCP. 0.1 0. 立. ‧ 國. y. sit. Packet Loss Rate (%). ‧. 40%. (UDP vs. DCCP coexisting with SACK ). al. n. 60%. Packet Loss Rate. io. 80%. UDP 與 DCCP 平均封包延遲比較-與 TCP SACK 競爭. Nat. 100%. Time (s). 學. 圖 30. 政 治 大. er. Delay Time (s). 0.6. Ch. engchi. i n U. v. UDP. DCCP. 20% 0%. Time (s) 圖 31. UDP 與 DCCP 平均封包遺失率比較-與 TCP SACK 競爭. 33.

(43) (UDP vs. DCCP coexisting with Vegas ). 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. UDP. DCCP. 立. ‧ 國. y. sit. Packet Loss Rate (%). ‧. 40%. (UDP vs. DCCP coexisting with Vegas ). al. n. 60%. Packet Loss Rate. io. 80%. UDP 與 DCCP 平均封包延遲比較-與 TCP Vegas 競爭. Nat. 100%. Time (s). 學. 圖 32. 政 治 大. er. Delay Time (s). Packet Delay Time. Ch. engchi. i n U. v. UDP. DCCP. 20% 0%. Time (s) 圖 33. UDP 與 DCCP 平均封包遺失率比較-與 TCP Vegas 競爭. 34.

(44) 表 7 Period (sec). DCCP 為基礎的 VoIP 通話品質 0-10 10-20 20-30 30-40 40-50. 50-60. vs. Tahoe Throughput Ratio(%). 100. 25.12. 25.23. 25.47. 21.61. 16.59. Delay Time(ms). 73. 395. 415. 424. 470. 548. Loss Rate(%). 0. 74.86. 74.86. 75.32. 78.09. 83.85. 政 319治 343大 438 73. 23.01. 16.94. 20.21. 498. 497. 0. 82.81. 79.82. 21.26. 15.89. vs. Reno Throughput Ratio(%). 100. Delay Time(ms). 立. 70.13. 32.01. 68.40. vs. NewReno. 77.97. 學. ‧ 國. Loss Rate(%). 29.67. 29.79. 25.82. 20.68. Delay Time(ms). 73. 322. 441. 468. 477. 545. 0. 70.01. 74.97. 79.58. 78.32. 84.54. 17.76 v i n. 15.77. 16.12. 513. 536. 554. 82.70. 83.97. 84.08. Loss Rate(%). n. Delay Time(ms). al. 100. C73h 0. 21.73. 17.64. i U e n443 g c h 490 78.43. 82.35. y. sit. io Throughput Ratio(%). vs. SACK. er. Loss Rate(%). ‧. 100. Nat. Throughput Ratio(%). vs. Vegas Throughput Ratio(%). 100. 72.78. 52.45. 33.18. 19.63. 12.62. Delay Time(ms). 73. 194. 321. 412. 543. 627. Loss Rate(%). 0. 26.64. 48.79. 67.36. 80.85. 87.89. 35.

(45) 3.4 小結 DCCP 是否能取代 UDP 是個大問題,我們利用 NS-2 模擬器模擬 DCCP 在各種 TCP 版本之下的表現。模擬結果顯示,DCCP 與目前常見的 TCP 版本在頻寬競爭的議題下尚 有值得改進的地方,使用 DCCP 傳送封包的 VoIP 無法維持其傳輸效能,甚至於在 TCP 版本中侵略性最低 Vegas 之競爭下也無法有令人滿意的表現。雖然實驗結果無法代表真 實網路中的所有情況,但在我們的實驗拓樸是一個典型的越洋網路電話環境,這是目前 網路電話最常見的情境。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 36. i n U. v.

(46) 第四章 調整封包大小的壅塞控制方法 很多時效性應用必頇以固定間隔時間送出封包,縮短封包在網路中的延遲時間。目 前的 VoIP 在通話前會先設定好傳輸速率,固定其 bit-rate,在整個傳輸的過程中不再改. 政 治 大. 變,可變速率方法(Flexible Bit-rate)能在通話的過程中,在網路頻寬足夠時使用較低的縮. 立. 率提高語音品質,在網路頻寬不足的情況下使用較高的壓縮率來調整 bit-rate 以避免網. ‧ 國. 學. 路壅塞。. ‧. 圖 34 中 original packet stream 是編碼器以固定時間間隔(例如 30 毫秒)送出一系列的 語音封包,第二個 change inter-packet time 表示將編碼器產生的封包置於 buffer 中,在. y. Nat. io. sit. 壅塞控制的指揮下送出資料流,因為 buffer 的緣故,inter-packet time 是變動的;第三個. n. al. er. 是採用固定封包間隔而變動封包大小的方法送出之資料流,圖中顯示其送出時間與編碼. i n U. v. 器產生封包的時間幾乎同步,因此可知 change inter-packet time 的方式會導致延遲時間. Ch. 拉長,但 change packet size 則否。 4. Original packet stream Change inter-packet time Change packet size. 圖 34. engchi 3. 2. 2 4. 1 1. 3. 2. 0 1. 調整發送間隔與調整封包大小之壅塞控制方式比較. 37. 0. 0. Time Time Time.

(47) 4.1 設計目標 目前 DCCP 無法取代 UDP 成為不可靠傳輸協議的主流,且現行的壅塞控制機制不 適用於即時性網路應用程式,但我們仍可以配合應用程式來改變語音封包的大小,藉此 調整傳輸速率。. 4.1.1 手動調整方法 我們提出一套網路電話架構,讓使用者能在網路電話通進行中,藉由自身對於通話. 政 治 大. 品質的感受,手動的調整語音壓縮 bit-rate 來適應網路情況。. 立. 4.1.2 自動調整方法. ‧ 國. 學. 我們提出一套網路電話架構,讓系統能在通話進行中偵測到網路壅塞的情況,當網 路壅塞時自動降低語音壓縮 bit-rate 來舒緩頻寬,等到網路回復順暢時自動提高語音壓. ‧. 縮 bit-rate 提升通話品質。. y. Nat. n. al. er. io 4.2.1 壅塞偵測方法. sit. 4.2 Bit-rate 調整演算法. Ch. engchi. i n U. v. 網路電話是使用定位元速率(Constants Bit-rate)方式傳送語音封包,封包傳送到接收 端時,連續收到兩個封包的間隔時間應該在一個固定的時間範圍之內;當頻寬不足時, 接收端連續兩個封包的間隔會拉長,偵測到此現象時視為網路壅塞,如圖 35 所示。. 圖 35. 改變 Bit-rate 以適應網路情況. 38.

(48) 我們假設連續兩個封包的間隔時間為 ,且服從常態分配,則兩封包間隔時間可用 表示,其平均值為 ̅(4),標準差為 (5),並且為避免每次都重新計算標準差, 我們可以將(5)推導成(6)。. ̅. ∑. (4). 政 ∑治 )̅ 大. √. ̅). ̅. ∑. ̅ ). ̅∑. ∑. ̅. ∑ ̅. ‧. ̅. ∑. 學. ∑. ‧ 國. 立. (5). ̅. ∑. n. √. Ch. ̅ ). ∑. engchi. er. io. sit. y. Nat. al. i n U. v. 接下來依照常態分配之經驗法則,我們可以估計出: . 下一個封包間隔時間 在[ ̅. ̅. . 下一個封包間隔時間 在[ ̅. ̅. ]範圍之機率為 95.4%。. . 下一個封包間隔時間 在[ ̅. ̅. ]範圍之機率為 99.7%。. ]範圍之機率為 68.3%。. 39. (6).

(49) 政 治 大 立圖 36 常態分配之經驗法則. ‧ 國. 學. 4.2.1 降低 Bit-rate 演算法. 利用常態分配之經驗法則,並避免不斷的調整 bit-rate,我們設計下一個封包間隔時 小於[ ̅. ]視為網路狀況正常,如果. ‧. 間. 超過[ ̅. ]則判斷為網路壅塞,連. Nat. sit. y. 續超過 次則送出降低 bit-rate 一個等級的指令給發話端,演算法如下。. n. al. er. io. 𝑤ℎ𝑒𝑛 𝑟𝑒𝑐𝑒𝑖𝑣𝑒 𝑎 𝑛𝑒𝑤 𝑝𝑎𝑐𝑘𝑒𝑡 𝑎𝑡 𝑇𝑖 𝑇ℎ𝑒𝑛 𝑡𝑛𝑒𝑤 𝑇𝑖 𝑖𝑓 𝑡𝑛𝑒𝑤 ≥ 𝑡̅ σ𝑡 𝑎𝑛𝑑 𝑐𝑜𝑛𝑔𝑒𝑠𝑡𝑖𝑜𝑛 𝑓𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 ≥ α 𝑠𝑒𝑛𝑑 𝑑𝑒𝑐𝑟𝑒𝑎𝑠𝑒 𝑏𝑖𝑡𝑟𝑎𝑡𝑒 𝑐𝑜𝑚𝑚𝑎𝑛𝑑 𝑡𝑜 𝑠𝑒𝑛𝑑𝑒𝑟 𝑐𝑜𝑛𝑔𝑒𝑠𝑡𝑖𝑜𝑛 𝑓𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 𝑒𝑙𝑠𝑒 𝑖𝑓 𝑡𝑛𝑒𝑤 ≥ 𝑡̅ σ𝑡. Ch. engchi. 𝑐𝑜𝑛𝑔𝑒𝑠𝑡𝑖𝑜𝑛 𝑓𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦. i n U. 𝑇𝑖. v. 𝑐𝑜𝑛𝑔𝑒𝑠𝑡𝑖𝑜𝑛 𝑓𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦. 𝑒𝑙𝑠𝑒 𝑐𝑜𝑛𝑔𝑒𝑠𝑡𝑖𝑜𝑛 𝑓𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒 𝑛𝑒𝑤 𝑡̅ 𝑎𝑛𝑑 𝑛𝑒𝑤 σ𝑡 𝑓𝑖. 40.

(50) 4.2.2 提升 Bit-rate 演算法 當發話端收到受話端傳來的降低 bit-rate 指令後,此時發話端會進入 Low Bit-rate 狀 態。為了避免發話端始終維持 Low Bit-rate 狀態,此時發話端每間隔 秒會提升發送語音 bit-rate 一個等級,直到 bit-rate 回到通話初始時的標準。. 𝑤ℎ𝑒𝑛 𝑠𝑒𝑛𝑑𝑒𝑟 𝑒𝑛𝑡𝑟𝑦 𝑙𝑜𝑤 𝑏𝑖𝑡𝑟𝑎𝑡𝑒 𝑠𝑡𝑎𝑡𝑒 𝑢𝑛𝑡𝑖𝑙 [𝑏𝑖𝑡𝑟𝑎𝑡𝑒𝑛𝑜𝑤 𝑏𝑖𝑡𝑟𝑎𝑡𝑒𝑠𝑡𝑎𝑟𝑡 ] 𝑑𝑜 𝑆𝑙𝑒𝑒𝑝 β) 𝑖𝑛𝑐𝑟𝑒𝑎𝑠𝑒 𝑏𝑖𝑡𝑟𝑎𝑡𝑒 𝑑𝑜𝑛𝑒. 立. 政 治 大. ‧ 國. 學. 4.2.3 調整 Bit-rate 範例. 舉例而言,表 8 為十筆接收端收到語音封包的間隔時間,則在時間點. 時出現超過 ̅. 的間隔時間,此時若 設定為 3,則受話端會向發話. y. 、. io. n. al. Time Spot. er. 端送出降低 bit-rate 的命令。 表 8. ,我們看到在時. sit. 、. Nat. 間點. 、̅. 、標準差. ‧. 平均間隔時間 ̅. 時可計算出. 以封包間隔時間調整 Bit-rate 範例. Ch. engchi. i n U. v. Inter-Packet Arrival Time 32.98 35.02 32.59 33.61 32.92 32.52 32.56 39.41 38.58 38.58. 41.

(51) 第五章 實驗與效能評估 本研究以實際網路上的實驗來評估可變速率網路電話與現行網路電話,藉由主觀指 標 MOS 與客觀指標 E-Model,評估兩種方式在不同的網路環境之下的通話品質。. 立. 5.1 評估指標. MOS(Mean Opinion Score)是直接利用人耳對於語音的感覺,並給予 1 到 5 分的分. ‧. . ‧ 國. 數。. 學. . 政 治 大. E-Model 使用網路的狀況,如 Packet Delay、Packet Loss、Jitter 和經編碼器(Codec). Nat. sit er. io. 5.2 實驗環境. y. 壓縮後的失真程度來評分,計算出對應到 1 至 4.5 分的 MOS。. al. n. v i n Ch 在實驗一與實驗二中,我們利用兩台 ,作業系統為 Windows e n gPCc做為發話端和收話端 hi U. 7,並安裝 Python 2.6 作為實驗程式環境;發送端與接收端之間透過 100MB 區域網路連 結,並在另外一台 PC 上安裝 Ubuntu 10.04 當作路由器限制頻寬,作為網路瓶頸點。 實驗三的發話端 PC 使用中華電信光世代連上網際網路。光世代網路指在電信公司 機房利用光纖迴路連接至光化交接箱,再利用乙太網路(Ethernet)或高速數位用戶迴路 (VDSL)等技術,作為固網 IP 網路之接取電路,實驗中使用的下載速率約 10MBps、上 傳速率為 2Mbps;另外收話端 PC 則透過台灣學術網路(TANet)連上網際網路。實驗中的 網路瓶頸點在於中華電信光世代僅提供 2Mbps 的上傳速率,網路壅塞情形將在此發生。. 42.

(52) 由於 ITUT 所制定的標準編碼器(如 G.729 等)必頇付費才使用,且只有固定的 bit-rate 可供選擇;故我們在實驗中所使用的編碼器為 Speex[23],其最主要的特色是完全免費, 且有 11 種不同大小的 bit-rate 可供選擇,符合我們實驗的要求,如表 9 所示。 表 9. Speex 編碼器各種 Bit-rate 相關參數. Quality. Bit-rate(Kbps). Packet Size(Payload only). MOS. 0. 3.95. 10 Byte. 2.258. 1. 5.75. 15 Byte. 2.7158. 2. 7.75. 3. 9.8. 4. 12.8. 32 Byte. 3.3009. 16.8. 42 Byte. 3.5314. 20.6. 52 Byte. 23.8. 60 Byte. 27.8. 70 Byte. 42.2. y. 10. 3.6134. v ni. 86 Byte. 3.9381. U Byte e n g c h i 106. 4.0925. n. al. sit. 34.2. Ch. 3.5314 3.6134. er. ‧ 國. 9. io. 8. Nat. 7. 3.3009. ‧. 6. 3.0106. 學. 5. 立. 政 治 20大Byte 25 Byte. 5.3 實驗一 我們在實驗室的網路環境中探討在網路壅塞的情況下,透過提高語音壓縮率縮小語 音封包,是否有助於語音通話品質,實驗拓樸如圖 37 所示。在發話端與接收端之間, 透過路由器限制鏈結的頻寬為 5Kbps,封包延遲約在 1 毫秒以內。. 43.

(53) 100Mb/1ms. 5Kbps/1ms. 100Mb/1ms. 圖 37 網路壅塞實驗拓樸. 5.3.1 實驗結果與分析 我們在發話端分別使用不同的 bit-rate,傳送一段長度約 13 秒的語音至接收端,並 記錄下封包傳輸的狀況於表 10。數據顯示在網路壅塞的情況下,使用較低 bit-rate 來傳. 政 治 大 包遺失率增加。透過 MOS 分數可以得到一個結論,利用較低 bit-rate 來傳輸 VoIP,在 立. 輸 VoIP 的封包的遺失率較低;相反的使用較高 bit-rate 時則因為網路頻寬不足,導致封. Sender. Receiver. Bit-rate(Kbps). Packet Loss Rate. MOS. 326. ‧ 國. 學. 網路壅塞的情況下確實能改善語音通話品質。. 326. 7.75. 0. 3.01. 326. 326. 326. 305. 326. 279. 326. 254. 表 10 實驗一封包遺失率. y. ‧. Nat. 12.8. n. Ch. 3.30. 0.0644. 3.02. 0.1285. 2.15. 0.2225. 1.81. er. io. al. 0. sit. 9.8. 16.8. engchi 20.6. i n U. v. 5.4 實驗二 當使用者覺得通話品質變糟時,可以手動調整 bit-rate。此實驗中我們從發話端傳輸 一段語音至接收端,發話端傳輸時初始的語音壓縮 bit-rate 為 16.8Kbps,當接收端的使 用者發現通話品質變糟後,手動調整語音壓縮 bit-rate 至 5.75Kbps。. 44.

(54) 5.4.1 實驗結果與分析 圖 38 中實線代表使用者對於通話品質的感受,虛線為 bit-rate 的變化情況。通話初 始時因為網路壅塞的原因,bit-rate 為 16.8Kbps 的語音壓縮率通話品質相當差;然而當 使用者發現通話品質不佳,手動將 bit-rate 調整為 5.75Kbps 後,卻有較佳的通話品質。 因此得出一個結論,在網路壅塞時,透過改變 bit-rate,確實能有效提高通話品質。. Codec Bit-Rate, MOS Constants Bit-Rate. 15. 5. 4.00 3.50 3.00. n. al. 2.50 2.00 1.50 1.00 Codec Bit-Rate MOS. er. io. Frame (time). 圖 38. 5.5 實驗三. sit. y. Nat. 1 17 33 49 65 81 97 113 129 145 161 177 193 209 225 241 257 273 289 305. ‧. 0. 政 治 大. ‧ 國. 10. 立. 4.50. 學. Bit-Rate (Kbps). 20. i n U. v. 手動調整 Bit-rate 之 MOS 變化. Ch. engchi. 在圖 39 的網路情境下,比較 UDP、DCCP 與可變速率方法傳送 VoIP 語音通話,觀 察整體網路效能與通話品質,在實驗過程中,每隔 10 秒鐘增加 10 通電話進入網路中, 直到網路中存在 100 條網路電話,並持續 20 秒後,之後每隔 10 秒鐘結束 10 通電話, 等到 100 通電話都掛斷後結束實驗,實驗時間共 210 秒。 由於實驗的過程中送入高達 100 通 VoIP 語音通話,不可能用耳朵實際收聽所有電 話,因此我們僅收聽一通電話並給予 MOS,其餘則利用在實驗過程中記錄下封包遺失 率及 bit-rate 的變化,透過圖表呈現。. 45.

(55) uplink:2Mb/3ms downlink:10Mb/3ms. 100Mb/1ms. 100Mb/1ms. Internet 16ms. 圖 39. 實驗三網路拓樸. 5.5.1 UDP-Based VoIP 實驗結果與分析 圖 40 中記錄著以 UDP 作為 VoIP 的傳輸協議時的封包遺失率與語音通話品質 MOS 的變化,圖 41 為傳輸 bit-rate 與 MOS 的變化。實驗中每隔 10 秒增加 10 通 VoIP 語音通. 政 治 大 直到實驗時間 70 秒時,網路中共存在著 70 通 VoIP,此時封包遺失率近乎為零, 立. 話進入網路,直到網路中有著 100 通 VoIP 同時進行傳輸為止,實驗時間共 210 秒。. ‧ 國. 學. 這是因為網路尚能負載這些資料量。但隨著 VoIP 通話數增加至 80 通,封包遺失率逐漸 增加,透過封包遺失率的變化我們可以發現,網路壅塞的情形越來越嚴重,僅僅透過. ‧. TCP 的壅塞控制機制已無法維持整體網路的穩定,語音通話品質也由原來的 MOS 4.1. sit. y. Nat. 分,下降至普通的 MOS 3.5 分。. io. er. 當 VoIP 通話數到達 90 通時,網路壅塞加劇,封包遺失率增加至 15%,整體通話品 質更降到糟糕的 MOS 2.4 分;當實驗時間 100 至 120 秒時,同時通話數到達 100 通時,. al. n. v i n C h MOS 降到幾乎無法進行通話的 整體封包遺失率已超過 20%,此時的 2 之下。 engchi U. 實驗時間 120 秒後,每隔 10 秒結束 10 通 VoIP 語音通話,直到所有語音通話結束. 後終止實驗。在這個過程中可以看到因為網路狀況逐漸舒緩,封包遺失率逐步下降,此 時仍在通話中網路電話,其語音通話品質又慢慢回到網路頻寬充裕時的水準。 實驗數據詳細記載於表 11 與表 12,表中白色網底是封包遺失率介於 0%到 10%之 間,在 VoIP 中可能還聽不太出來差異,淺色網底的是封包遺失率介於 10%到 20%之間, 這是 VoIP 勉強還能容忍的範圍,深色網底的是封包遺失率大於 20%,已經嚴重影響到 通話品質。. 46.

(56) Packet Loss Rate, MOS Constants Bit-Rate(UDP). Loss Rate (%). 30%. 4.50 4.00. 25%. 3.50. 20%. 3.00. 15%. 2.50. 10%. 2.00. 5%. 1.50. 政 治 大. 1.00. 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210. 0%. Packet Loss Rate 與 MOS 變化-UDP. ‧. n. al. y. 4.50. sit. Constants Bit-Rate(UDP). 4.00. er. io. Ch. n U engchi. iv. 3.50 3.00. 2.50 2.00 1.50 1.00. 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210. Bit-Rate (Kbps). MOS. Codec Bit-Rate, MOS. Nat. 45 40 35 30 25 20 15 10 5 0. 圖 40. Time (s). 學. ‧ 國. 立. Loss. Time (s) 圖 41. Bit-rate 與 MOS 變化-UDP. 47. Codec Bit-Rate MOS.

(57) 表 11 Calls. 0. 10. 20. 30. 以 UDP 傳輸 100 通 VoIP 封包遺失率之變化-PART1 40. 50. 60. 70. 80. 90. 100 110 120 130 140 150 160 170 180 190 200 210 Loss. 1. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.06 0.05 0.06 0.03 0.05 0.02 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01. 2. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.04 0.04 0.04 0.04 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01. 3. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.37 0.11 0.09 0.12 0.06 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04. 4. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.46 0.22 0.21 0.20 0.12 0.08 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.07. 5. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.00 0.07 0.07 0.04 0.05 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02. 6. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.45 0.39 0.48 0.36 0.21 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10. 7. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.07 0.07 0.07 0.02 0.06 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02. 8. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.18 0.01 0.34 0.40 0.52 0.30 0.22 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10. 9. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.49 0.08 0.07 0.07 0.05 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04. 10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.17 0.01 0.41 0.47 0.45 0.36 0.20 0.08 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 11. 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.40 0.43 0.49 0.38 0.26 0.08 0.00 0.00 0.00 0.00 0.00 0.00. 0.11. 12. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.37 0.44 0.39 0.50 0.34 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.00. 0.12. 13. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.05 0.05 0.06 0.05 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00. 0.02. 14. 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.23 0.29 0.21 0.26 0.21 0.12 0.00 0.00 0.00 0.00 0.00 0.00 0.00. 0.07. 15. 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.04 0.05 0.04 0.04 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00. 0.01. 16. 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.35 0.38 0.47 0.47 0.35 0.17 0.08 0.00 0.00 0.00 0.00 0.00 0.00. 0.12. 17. 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.17 0.28 0.16 0.28 0.20 0.07 0.01 0.00 0.00 0.00 0.00 0.00 0.00. 0.06. 18. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.47 0.53 0.57 0.39 0.21 0.09 0.00 0.00 0.00 0.00 0.00 0.00. 0.12. 19. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.14 0.14 0.14 0.08 0.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00. 0.04. 20. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.42 0.49 0.46 0.33 0.21 0.07 0.00 0.00 0.00 0.00 0.00 0.00. 0.10. 21. 0.00 0.00 0.00 0.00 0.00 0.02 0.37 0.40 0.45 0.48 0.33 0.19 0.07 0.00 0.00 0.00 0.00 0.00. 0.13. 22. 0.00 0.00 0.00 0.00 0.00 0.11 0.04 0.03 0.06 0.03 0.03 0.02 0.00 0.00 0.00 0.00 0.00 0.00. 0.02. 23. 0.00 0.00 0.00 0.00 0.00 0.14 0.02 0.11 0.15 0.17 0.08 0.07 0.01 0.00 0.00 0.00 0.00 0.00. 0.04. 24. 0.00 0.00 0.00 0.00 0.00 0.01 0.20 0.28 0.27 0.19 0.15 0.06 0.00 0.00 0.00 0.00 0.00 0.00. 0.06. 25. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.43 0.49 0.43 0.35 0.21 0.07 0.00 0.00 0.00 0.00 0.00. 0.11. 26. 0.00 0.00 0.00 0.00 0.00 0.01 0.23 0.15 0.15 0.19 0.09 0.09 0.00 0.00 0.00 0.00 0.00 0.00. 0.05. 27. 0.00 0.00 0.00 0.00 0.00 0.01 0.36 0.42 0.48 0.46 0.32 0.17 0.06 0.00 0.00 0.00 0.00 0.00. 0.13. 28. 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.07 0.07 0.07 0.06 0.01 0.00 0.00 0.00 0.00 0.00 0.00. 29. 0.00 0.00 0.00 0.00 0.00 0.02 0.38 0.47 0.42 0.46 0.34 0.23 0.04 0.00 0.00 0.00 0.00 0.00. 0.13. 30. 0.00 0.00 0.00 0.00 0.00 0.01 0.05 0.06 0.04 0.05 0.07 0.02 0.00 0.00 0.00 0.00 0.00 0.00. 0.02. 31. 0.00 0.00 0.00 0.00 0.14 0.01 0.49 0.62 0.47 0.43 0.25 0.11 0.00 0.00 0.00 0.00. 0.16. 32. 0.00 0.00 0.00 0.00 0.02 0.19 0.13 0.13 0.16 0.12 0.02 0.00 0.00 0.00 0.00 0.00. 0.05. 33. 0.00 0.00 0.00 0.00 0.01 0.01 0.09 0.12 0.12 0.08 0.01 0.00 0.00 0.00 0.00 0.00. 0.03. 34. 0.00 0.00 0.00 0.00 0.02 0.01 0.19 0.19 0.19 0.12 0.08 0.00 0.00 0.00 0.00 0.00. 0.05. 35. 0.00 0.00 0.00 0.00 0.00 0.46 0.06 0.08 0.04 0.05 0.03 0.00 0.00 0.00 0.00 0.00. 0.04. 36. 0.00 0.00 0.00 0.00 0.05 0.48 0.18 0.21 0.17 0.12 0.07 0.00 0.00 0.00 0.00 0.00. 0.08. 37. 0.00 0.00 0.00 0.00 0.12 0.01 0.05 0.07 0.02 0.04 0.01 0.00 0.00 0.00 0.00 0.00. 0.02. 38. 0.00 0.00 0.00 0.00 0.05 0.00 0.40 0.45 0.45 0.33 0.21 0.06 0.00 0.00 0.00 0.00. 0.12. 39. 0.00 0.00 0.00 0.00 0.15 0.00 0.08 0.11 0.10 0.04 0.04 0.00 0.00 0.00 0.00 0.00. 0.03. 40. 0.00 0.00 0.00 0.00 0.01 0.49 0.19 0.19 0.19 0.13 0.09 0.01 0.00 0.00 0.00 0.00. 0.08. 41. 0.00 0.00 0.00 0.13 0.22 0.27 0.24 0.24 0.46 0.29 0.14 0.00 0.00 0.00. 0.14. 42. 0.00 0.00 0.00 0.02 0.02 0.03 0.06 0.05 0.04 0.01 0.00 0.00 0.00 0.00. 0.02. 43. 0.00 0.00 0.00 0.00 0.00 0.07 0.07 0.04 0.06 0.02 0.01 0.00 0.00 0.00. 0.02. 44. 0.00 0.00 0.00 0.01 0.00 0.10 0.09 0.08 0.06 0.02 0.00 0.00 0.00 0.00. 0.03. 45. 0.00 0.00 0.00 0.05 0.18 0.27 0.19 0.23 0.24 0.07 0.00 0.00 0.00 0.00. 0.09. 46. 0.00 0.00 0.00 0.14 0.01 0.11 0.12 0.08 0.04 0.03 0.00 0.00 0.00 0.00. 0.04. 47. 0.00 0.00 0.00 0.14 0.02 0.20 0.13 0.12 0.09 0.08 0.00 0.00 0.00 0.00. 0.06. 48. 0.00 0.00 0.00 0.14 0.01 0.11 0.07 0.11 0.04 0.03 0.00 0.00 0.00 0.00. 0.04. 49. 0.00 0.00 0.00 0.14 0.14 0.28 0.14 0.22 0.18 0.04 0.02 0.00 0.00 0.00. 0.08. 50. 0.00 0.00 0.00 0.00 0.38 0.11 0.08 0.14 0.04 0.02 0.00 0.00 0.00 0.00. 0.06. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi U. 48. v ni. 0.02.

數據

表  2    Mean Opinion Score 定義
表  3    R-factors 與 MOS 之對應
圖  2    Fariza Sabrina 等人提出具有壅塞控制機制的 VoIP 系統架構
表  5    DCCP CCID3 參數
+7

參考文獻

相關文件

a 顧客使用信用卡在線上付款時,只要輸入其卡號及有效期

 想要設計一個具有兩個輸入G(gate閘控)和 D(data資料)以及一個輸出Q的閘控閂電 路。當G等於1時,在輸入D出現的二進位資料

a 全世界各種不同的網路所串連組合而成的網路系統,主要是 為了將這些網路能夠連結起來,然後透過國際間「傳輸通訊 控制協定」(Transmission

•  三分搜在有水平線的情況下,如果可以確定水平線的地方一定是 答案的話,才可以用三分搜找極值。..

(iii) 在某些情況下,透過市場機制分配資源會缺乏效率(例如:私人 和社會代價(利益)分歧的出現可能導致缺乏效率) ;及. (iv)

3、 輸入文字(Input Text):所產生的文字框具固定寬度,可以讓

1 、於 google 上輸入 geogebra 即可找到網站. 2 、以

另外,透過表 4-2 的結果可以看出,金融業受訪者最不重視的五項評估準則 因素依序為「C 41 親友推薦我使用網路電子支付」(權重為 0.013)、 「C 44 消費金額