tcp:傳輸控制協議
tcp提供客戶與伺服器的連線。乙個tcp客戶建立於乙個給定伺服器的連線,並跨該連線與那個伺服器交換資料,然後終止連線。 www.2cto.com
其次,tcp提供可靠性。當tcp向另一端傳送資料時,它要求對端返回乙個確認。如果確認沒有收到,tcp自動重傳資料並等待更長時間。在數次重傳失敗後,tcp才放棄。重傳資料所花的總時間傳統上是4-10分鐘。
tcp含有用於動態估算客戶到伺服器所花時間(rtt)的演算法,因此它知道等待乙個確認需要多少時間。舉例來說,rtt在乙個區域網上大約是幾毫秒,而跨越廣域網則可能是數秒鐘。另外,tcp還持續估算乙個給定連線的rtt,這是因為rtt受網路擁擠程度的變化而變化。
第三,tcp通過給所傳送資料的每個位元組關聯乙個序列號進行排序。舉例來說,假設乙個應用程序寫2048位元組到乙個tcp套介面,導致tcp傳送2個分節:第乙個分節所含資料的序列號為1-1024,第2個分節所含資料的序列號為1025-2048.如果這些分節非順序到達,接收端的tcp將根據他們的序列號重新排列,再把結果資料傳遞給應用程序。如果tcp接收到重複的資料它也可以判定資料時重複的,從而把它丟棄掉。
www.2cto.com
第四,tcp提供流量控制(flow control)。tcp總是告訴對端它能夠接收多少位元組的資料,這稱為通告視窗(advertised window)。該視窗在任何時刻都指出接收緩衝區中的可用空間,從而確保傳送端傳送的資料不會溢位接收緩衝區。該視窗時時刻刻動態變化著:當接收來自傳送端的資料時,視窗大小減小,而當接收端應用程序從緩衝區中讀取資料時,視窗大小增大。視窗的大小減小到0是有可能的:tcp的接收緩衝區滿,它必須等待應用程序從這個緩衝區讀取資料後再接收從傳送端來的資料。
最後tcp連線時全雙工的。這意味著在給定的連線上應用程序在任何時刻即可以傳送也可以接收資料。因此,tcp必須跟蹤每個方向資料流的狀態資訊,如序列號和通告視窗的大小。
TCP 傳輸控制協議
推薦 tcp ip 簡直是程式設計師的福音 tcp 協議是 面向連線的,可靠的,流傳輸,協議。流 是指 不間斷 的資料結構,可以想象成排水管道中的水流。當應用程式採用 tcp 傳送訊息的時候,雖然可以保證傳送的順序,但是還是猶如沒有任何間隔的資料流,傳送給接收端。可以這麼理解 在傳送端,應用程式傳送...
TCP傳輸控制協議
tcp是網際網路中的傳輸層協議,使用三次握手協議建立連線。當主動方發出syn連線請求後,等待對方回答syn ack 1 並最終對對方的 syn 執行 ack 確認。這種建立連線的方法可以防止產生錯誤的連線,tcp使用的流量控制協議是可變大小的滑動視窗協議 tcp三次握手的過程如下 客戶端傳送syn ...
tcp傳輸控制協議
tcp服務 tcp是面向連線的,提供可靠的服務,對資料有校驗機制。tcp的首部 其格式如下 如上tcp的報文是tcp的首部和tcp的資料。tcp的首部是有源埠和目的埠,這個值和ip首部的源ip和目的ip構成了tcp唯一確定的乙個連線。序號是用來標示從tcp發端向tcp收端傳送的資料位元組。當建立乙個...