傳輸控制協定

傳輸控制協定(Transmission Control Protocol, TCP)是一種面向連線的、可靠的、基於位元組流的運輸層(Transport layer)通信協定,由IETF的RFC 793說明(specified)。在簡化的計算機網路OSI模型中,它完成第四層傳輸層所指定的功能,UDP是同一層內另一個重要的傳輸協定。在網際網路協定族(Internet protocol suite)中,TCP層是位於IP層之上,套用層之下的中間層。不同主機的套用層之間經常需要可靠的、像管道一樣的連線,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。

介紹

傳輸控制協定(Transmission Control Protocol,TCP)是一種面向連線的、可靠的、基於位元組流的運輸層通信協定,通常由IETF的RFC 793說明。在簡化的計算機網路OSI模型中,它完成傳輸層所指定的功能。

說明

網際網路協定族中,TCP層是位於IP層之上,套用層之下的中間層。不同主機的套用層之間經常需要可靠的、像管道一樣的連線,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。
套用層向TCP層傳送用於網間傳輸的、用8位位元組表示的數據流,然後TCP把數據流分割成適當長度的報文段(通常受該計算機連線的網路的數據鏈路層的最大傳送單元(MTU)的限制)。之後TCP把結果包傳給IP層,由它來通過網路將包傳送給接收端實體的TCP層。TCP為了保證不發生丟包,就給每個位元組一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然後接收端實體對已成功收到的位元組發回一個相應的確認(ACK);如果傳送端實體在合理的往返時延(RTT)內未收到確認,那么對應的數據(假設丟失了)將會被重傳。TCP用一個校驗和函式來檢驗數據是否有錯誤;在傳送和接收時都要計算校驗和。

連線狀態

TCP連線包括三個狀態:連線創建、數據傳送和連線終止。

發展過程

TCP是一個複雜的但同時又是在發展之中的協定。儘管許多重要的改進被提出和實施,發表於1981年的RFC793中說明的TCP(TCP-Tahoe)的許多基本操作還是未作多大改動。RFC1122:《網際網路對主機的要求》闡明了許多TCP協定的實現要求。RFC2581:《TCP的擁塞控制》是一篇近年來關於TCP的很重要的RFC,描述了更新後的避免過度擁塞的算法。寫於2001年的RFC3168描述了對明顯擁塞的報告,這是一種擁塞避免的信號量機制。在21世紀早期,在所有網際網路的數據包中,通常有大約95%的包使用了TCP協定。常見的使用TCP的套用層有HTTP/HTTPS(全球資訊網協定),SMTP/POP3/IMAP(電子郵件協定)以及FTP(檔案傳輸協定)。這些協定在今天被廣泛地使用,這證明了它們的原作者的創造是卓越的。
最近,一個新協定已經被加州理工學院的科研人員開發出來,命名為FASTTCP(基於快速活動佇列管理的規模可變的傳輸控制協定)。它使用排隊延遲作為擁塞控制信號;但是因為端到端的延遲通常不僅僅包括排隊延遲,所以FASTTCP(或更一般地,所有基於排隊延遲的算法)在實際網際網路中的能否工作仍然是一個沒有解決的問題。

相關搜尋

熱門詞條

聯絡我們