標題: | 一個在遺失率大的網路上之有效 TCP 流量控制與快速復原方法 An Efficient TCP Flow Control and Fast Recovery Scheme For the Lossy Networks |
作者: | 廖漢洋 Han-Yang Liao 陳耀宗 Yaw-Chung Chen 資訊科學與工程研究所 |
關鍵字: | 流量控制;擁塞控制;快速重傳;快速復原;Flow Control;Congestion Control;Fast Retransmit;Fast Recovery;TCP Reno;TCP Vegas;TCP FACK;TCP Tahoe |
公開日期: | 1999 |
摘要: | 隨著網際網路的迅速發展,許多受歡迎且普遍使用的應用程式像是遠端連線( Telnet )、檔案傳輸( FTP )、電子郵件傳送( SMTP )等都使用TCP,TCP 已經成為目前最普遍的傳輸層協定之一。TCP 針對網路上壅塞情形或頻寬限制之影響,提供了流量控制及避免擁塞的機制,使得在傳輸上更為迅速與安全。 在目前TCP的流量及避免壅塞控制,Van Jacobson最早提出了包括了緩慢啟動(Slow Start)的演算法則,此 TCP 實作被稱作為 Tahoe版本。之後Reno的版本則包括了快速重傳( Fast Retransmit)與快速復原(Fast Recovery)機制。這些版本是建構在增加擁塞窗口大小以造成封包遺失,並反覆送出封包。另外的 Vegas TCP 版本則利用計算全程時間(RTT)之效能(throughput),以決定擁塞窗口之大小。其後還有其他版本的修改,以增加TCP效能, 這些包括了 TCP New Reno 提出了平緩啟動和動態復原的演算法, TCP SACK 解決了連續多個封包遺失之快速復原, TCP FACK 藉由更精確計算正在網路上的封包數而快速復原遺失的封包。 在目前的擁塞控制上,均將封包的遺失視為網路壅塞的預兆,並對其後擁塞窗口作減小的動作﹔然而封包遺失的原因也可能由網路本身的錯誤造成,尤其在無線的媒介上,更常是如此。因此我們設計一個將封包遺失之後復原與壅塞控制分離的機制,使得因為網路錯誤造成的封包遺失不會被視為網路壅塞的指標。並且在封包遺失之後的快速復原階段,我們也提出一個藉由修改 TCP FACK 的計分版(scoreboard) 演算法,達到更迅速精確地復原封包遺失或再次遺失。此方法主要在將 TCP Vegas 的流量控制與 TCP FACK 復原機制作整合,並加入我們設計的封包遺失與擁塞控制分離的計算機制,同時其後使用我們增強之計分版演算法。 最後藉由系統模擬的實驗數據,顯示出我們所提出之演算法的確較之前各種 TCP 的版本有更高之效能表現,並且適用於錯誤率高的網路架構上。 With the quick development of Internet, many popular applications such as Telnet, FTP, and SMTP use TCP, which has become one of the Ad hoc transport layer protocol. TCP performs both flow control and congestion avoidance mechanisms to the network so that more reliable and more efficient data transport can be achieved. The current flow control and congestion avoidance mechanisms for TCP were initially proposed by Van Jacobson. This version is called Tahoe, which includes the slow-start algorithm. The later version Reno includes both fast-retransmit and fast-recovery algorithms. The above two versions of TCP are based on increasing the congestion window, provoking packet losses, and then reducing the congestion window repeatedly. Other current research under extensive study is TCP Vegas. It attempts to eliminate the periodically self-induced segment losses. TCP Vegas measures the Round-Trip-Time to compute the throughput of the current end-to-end path to determine the size of congestion window. Besides , other improvements have been proposed , these include TCP New Reno、TCP SACK and TCP FACK. TCP New Reno proposed smooth-start and dynamic recovery algorithms. TCP SACK accommodates the multiple segment losses without incurring timeout, it can retransmit loss segment quickly. TCP FACK provides an accurate view of outstanding data segments and quickly recovery loss segments. According to the current congestion control mechanism, a segment loss is considered as owing to network congestion, thus it reduces the congestion window. However, a packet loss may be caused by some other reason such as a transmission error, this situation is usually encountered in the wireless links. Due to these reasons, we design a mechanism that decomposes the congestion control mechanism into the packet loss indications and its recovery algorithm. The packet loss caused by the transmission error will not be treated as network congestion. For the fast recovery phase, we proposed a modified scoreboard algorithm in TCP FACK to quickly recover the packet loss and prevent the retransmitted packet from being lost again. Through the system simulation, it shows that we can achieve significantly higher throughput than earlier versions of TCP, and the proposed work more suitable for the lossy network. |
URI: | http://140.113.39.130/cdrfb3/record/nctu/#NT880392032 http://hdl.handle.net/11536/65429 |
顯示於類別: | 畢業論文 |