傳輸控制協議(Transmission Control Protocol, TCP)是一種連接導向的、可靠的、基於位元組流的運輸層(Transport layer)通訊協議,由IETF的RFC 793說明(specified)。在簡化的電腦網路OSI模型中,它完成第四層傳輸層所指定的功能,UDP是同一層內另一個重要的傳輸協議。
在網際網路協議族(Internet protocol suite)中,TCP層是位於IP層之上,應用層之下的中間層。不同主機的應用層之間經常需要可靠的、像管道一樣的連線,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。
應用層向TCP層發送用於網間傳輸的、用8位元位元組表示的資料流,然後TCP把資料流分割成適當長度的報文段(通常受該電腦連線的網路的資料鏈路層的最大傳送單元(MTU)的限制)。之後TCP把結果包傳給IP層,由它來透過網路將包傳送給接收端實體的TCP層。TCP為了保證不發生丟包,就給每個位元組一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然後接收端實體對已成功收到的位元組發回一個相應的確認(ACK);如果發送端實體在合理的往返時延(RTT)內未收到確認,那麼對應的資料(假設遺失了)將會被重傳。TCP 用一個校驗和(Checksum)函式來檢驗資料是否有錯誤;在發送和接收時都要計算校驗和。
TCP連線包括三個狀態:連線建立、資料傳送和連線終止。
蘊藏許多助人的知識與智慧。
關注藍眼知識學院