計算機網路 TCP與UDP

2021-10-04 00:23:56 字數 1215 閱讀 2830

tcp釋放-四次揮手

tcp擁塞控制

1.從連線方面:tcp面向連線(call之前建立連線),udp無連線;

2.可靠方面:tcp可靠交付(無差錯、不丟失不重複、按序到達),udp盡最大努力交付,不保證可靠;

3.面向什麼:tcp面向位元組流,udp面向報文;

4.連線方式:tcp點對點,udp支援一對

一、一對多、多對

一、多對多;

5.開銷:tcp開銷20個位元組,udp開銷8個位元組;

6.通道:tcp全雙工,udp不可靠通道;

1.a->b:傳送請求報文段:syn=1,ack=0,序列號seq=x;

2.b->a:同意請求:syn=1,ack=1,序列號seq=y,確認號發出期待收到的序列號ack=x+1;

3.a->b:收到確認:syn=0,ack=1,seq=x+1,ack=y+1;

最後,b收到a的確認報文,建立連線,雙方可以雙向通訊了。

答案:為了防止失效的連線請求到達伺服器,讓伺服器錯誤的開啟,占用伺服器資源

舉個例子:a傳送了乙個請求連線給b,沒有丟失和滯留,延誤到連線釋放的時候到達b,b以為a的請求又來了,就向a傳送同意請求的報文,同意連線。如果不是三次握手,連線就建立了!由於a並沒有建立,就不會理踩b的確認,b一直以為a建立了連線,在等a的資料,b的資源就浪費了…

三次握手:b收不到a的確認,就知道a沒有建立連線了。

1.a->b:客戶端申請連線關閉報文段:fin=1,seq=u

2.b->a:同意釋放,確認報文段:ack=1,序列號seq=v,確認號發出期待收到的序列號ack=u+1;

…此時a不可以傳送資料到b,b仍然可以傳送資料到a,a也會接收。

3.b>a:伺服器端申請連線關閉報文段:fin=1,ack=1,seq=w,ack=u+1;

4.a->b:確認報文段,等待2msl後釋放:ack=1,序列號seq=u+1,ack=w+1;

兩個原因:

1⃣️ 確保最後乙個確認報文段能到達b,若b未收到還會傳送請求釋放報文,再啟動2msl計時器;

2⃣️ 為了讓本連線中的所有報文段從網路中消失,防止在下一連線**現就報文。

待補充

計算機網路 TCP與UDP

1.tcp的三次握手過程?為什麼會採用三次握手,若採用二次握手可以嗎?建立連線的過程是利用客戶伺服器模式,假設主機a為客戶端,主機b為伺服器端。1 tcp的三次握手過程 主機a向b傳送連線請求 主機b對收到的主機a的報文段進行確認 主機a再次對主機b的確認進行確認。2 採用三次握手是為了防止失效的連...

計算機網路 TCP與UDP

tcp ip中有兩個具有代表性的傳輸層協議,它們分別是tcp與udp。tcp提供可靠地通訊傳輸。udp則常被用於讓廣播和細節控制交給應用的通訊傳輸。tcp ip的眾多應用協議大多以客戶端 服務端形式執行。客戶端是請求的發起端。服務端是表示提供服務的意思。服務端的程式必須提前啟動,準備接收客戶端的請求...

計算機網路 TCP與UDP(一)

tcp與udp同屬傳輸層的協議。網路層與運輸層之間的區別 有無差錯檢測 傳輸層向高層使用者遮蔽了下面網路核心的細節。當運輸層採用面向連線的tcp協議時,儘管下面的網路是不可靠的,但這種邏輯通訊通道就相當於一條全雙工的可靠通道。但運輸層使用無連線的udp時,這種邏輯通訊通道仍然是一條不可靠通道。tcp...