選擇性保證封包送達之通訊協定設計


Partial Reliable TCP


吳明翰

隨著網路的進步與發展,許多新興的資訊服務,如影音資訊, 在網路上傳輸時並未要求封包都送達,不同的封包有不同的重要性, 例如 MPEG的關鍵畫面(I -Frame)就比其他畫面重要。 常用的傳輸層通訊協定中,UDP與TCP都對所有的封包一視同仁, 前者不做任何保證,而後者雖可保證所有封包的送達,但效率較差。 本研究提出一個新的TCP,”Partial-Reliable TCP”, 使用選擇性重傳機制,配合應用程式的需求, 對指定的封包提供遞送保護。當封包遺失時,只重傳保護的封包, 可減少額外的網路資源消耗,並提升服務的品質。 此外,我們提出Single-Side的版本,接收端可以使用一般的 TCP, 在封包傳送時,讓接收端以為封包都是無誤傳達的, 在server-client架構的網路服務中,只有伺服器端必須使用我們的 Partial-Reliable TCP,大幅提高本通訊協定的可行性。 最後我們利用網路模擬工具NS-2來模擬實際網路環境, 將我們的方法與現行的通訊協定在可解畫面封包數、PSNR值 及額外耗用的網路資源三個參數做比較。我們使用兩個 Video 影像作為傳輸標的,在高遺失率的有線與無線網路的環境中 進行實驗。當傳輸時間限制很短時,(例如影像會議的應用), 在有線的環境中, Basic PR-TCP比TCP Reno、TFRC最少增加約 18%的可解畫面封包數,比UDP、TFRC及TCP Reno的PSNR 值最少高出約15%,比TCP Reno及TFRC最少節省了 12%的頻寬資源,Single-Side PR-TCP比Basic PR-TCP的PSNR 值約低了11%,額外耗用的頻寬約多出10%。在無線的環境中, Basic PR-TCP比TCP Reno、TFRC最少增加約19%的可解畫面封包數, 比UDP、TFRC及TCP Reno的PSNR值最少高出約20%, 比Single-Side PR-TCP、TCP Reno及TFRC最少節省了 15%的頻寬資源,Single-Side PR-TCP比Basic PR-TCP的PSNR 值約低了14%。當傳輸時間限制較充裕時 (例如VoD應用), Basic PR-TCP雖然比TCP Reno及TFRC降低了約3%的PSNR值, 但是最少能節省8%的頻寬耗費,Single-Side PR-TCP的PSNR 值跟Basic PR-TCP相近,但是額外耗用約5%的頻寬資源。

With the advance of computer and communication networks, many new information services over IP-based networks such as video streaming and VoIP (Voice over IP) are growing rapidly. These services can tolerate some packets lost in transmission without too much damage to their quality. The content carried in the packets of these services is not equally important in their replay processes. For example, key frames (e.g. I-Frames) of a video encoded in MPEG format are more important than others. The loss of I-frames may have a large impact to the quality of the transmitted video, while the loss of other types of frames may only have nominal damage. Unfortunately, the two most popular transport protocols, UDP and TCP, treat all packets equally without any discrimination. TCP guarantees the delivery of all packets, while UDP doesn't. TCP may waste too much resource to guarantee the delivery of unimportant packets, while UDP may fail to deliver too many important packets.

This thesis proposes a new TCP protocol, named Partial-Reliable TCP (PR-TCP), which applies selective retransmission strategy to provide delivery guarantee to the selected packets designated by the application programs. In this way, we can save bandwidth consumption and reduce average delivery time without significant quality degradation. In fact, if the delivery of an object requires a stringent delivery time, the reduction of average delivery time may also lead to the reduction of abandoned packets at the receiver end. We propose two different versions of PR-TCP, Basic PR-TCP and Single-Side PR-TCP. Basic PR-TCP requires both ends of a connection to adopt PR-TCP while Single-Side PR-TCP only requires the sender end to adopt it. It is much easier to deploy Single-Side PR-TCP on the client-server systems where only servers need to use PR-TCP.

Finally, we use NS-2 network simulator to evaluate our PR-TCP against TCP Reno, TFRC and UDP. Two video stream samples are used for video sources. Three quality parameters are evaluated: wasted bandwidth consumption, PSNR, and the number of packets in decodable frames. Under heavy loaded wired network and short delay bound (<0.8 sec.), the simulation shows that Basic PR-TCP can outperform TCP Reno and TFRC in the number of packets in decodable frames by at least 18%. It can outperform TCP Reno, TFRC, and UDP in PSNR by at least 12%. The performance of Single-Side PR-TCP is less then Basic PR-TCP in terms of PSNR by 10%, and it consumes larger bandwidth by 8%. Under wireless environments where error rate is high, the simulation shows that Basic PR-TCP can outperform TCP Reno and TFRC in the number of packets in decodable frames by at least 19% as well as wasted transmission overhead by at least 15%. It can also outperform TCP Reno, TFRC, and UDP in PSNR by at least 20%. The performance of Single-Side PR-TCP is less then Basic PR-TCP in terms of PSNR by 14%, and it consumes larger bandwidth by 10%. Under large delay bound (>8 sec.), the quality (PSNR) of the video transmitted using Basic PR-TCP is downgraded by only 3%, while it can save network bandwidth by 8%. The performance of Single-Side PR-TCP is about the same as Basic PR-TCP in terms of PSNR, but it consumes slightly larger bandwidth by 5%.