TCP UDP及socket編程學習(一)

TCP基礎知識要點(一)

TCP 特性

TCP/UDP: 傳輸層,提供進程到進程的通信能力

IP:網絡層,只能將IP數據包尋址到主機

因此要實現進程間通信只靠主機地址是不夠的,還要加入進程的表示,即端口號(軟件端口號)


TCP的確認和超時重發機制

1.確認機制:

TCP的基本傳輸單元是TCP數據段,其長度是可變的。由於TCP要提供的是端對端無差錯的數據傳輸,所以TCP接收到數據後,將對數據進行校驗,如果數據正確,則TCP將向對端發送確認。當接收端發出確認信息,表明之前的信息已正確收到,確認信息爲希望接收的下一個字節的序列號。

2.超時重傳機制:

TCP在發完一個數據包後,數據信息還保存在TCP的緩衝區中,知道接收方收到對端的確認信息(ACK)後才從緩衝區刪掉,如果一段時間沒有收到確認信息,發送方將重新發送,直到重發次數超過一定次數,那麼TCP發送端將認爲對端不可達,斷開TCP鏈接。(比如收到了 30 31 33 34 35, 那麼接收方將發送32,表示下一個希望發送的是32)。

TCP採用迴帶技術,在發送數據的段中迴帶對方的確認信息,這樣可以省大量數據包,確認信息不用單獨使用數據包傳輸。

影響超時重傳的關鍵因素是定時時長,這個時長應當隨着網絡狀況的變化而變化。目前TCP採用RTT(round trip time)爲發送到接收到確認的時間長度,TCP根據每次連接的性能來定RTT值。

3.TCP滑動窗口

接收方通告的接收窗口大小。TCP通過滑動窗口協議來實現擁塞控制。就是發送方最多能發送控制窗口大小的數據,此後發送方將不發送數據,知道接收到發送方發來的ACK,窗口才能向前移動。控制窗口的大小有兩個因素決定:一個是發送端自身的擁塞窗口控制,一個是接收方根據剩餘緩衝區的數量發來的窗口大小,控制窗口的大小是兩者中最小的。

在沒有擁塞時,擁塞窗口和接收方通告的窗口相同,當TCP發現擁塞發生時,將減小擁塞窗口,擁塞消除後,增大擁塞窗口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章