1. 程式人生 > >tcp/ip 建立過程

tcp/ip 建立過程

計算機網絡

1. tcp /ip : 在osi網絡參考模型中,它提供著可靠的傳輸服務/


定義:傳輸控制協議


a: tcp/ip 的建立過程,通過三次握手,和四次揮手來完成。


2. 何為三次握手?

技術分享圖片

首先在這假設,syn="m" ,syn 就是客戶端在向務端發送鏈接請求,服務端會收到這個syn的鏈接請求


包,客戶端的狀態為:syn_sent


第一次握手:當客戶端給服務器發送syn(m)鏈接請求,等待服務器的確認,然後客戶端的狀態為


syn_sent


第二次握手:當服務端收到syn(m)的包的鏈接請求時,服務端需要發送一個確認包 ack (m+1) ,意思就


是我收到了,m+1 表示確認,同樣它也發送syn包 ,假設在第二次,syn=n,然後服務器的狀態為,


syn_recv,也就是說服務器這次發送了兩個包 syn 和ack


第三次握手:當客戶端收到了服務端發送的syn 和ack包後,它就向服務端發送一個確認包 ack


(n+1),這裏的n+1表示確認,然後客戶端和服務端的狀態為establish,即 tcp 建立完成


3.四次揮手:


首相四次揮手結束用這個詞描述:fin = finsh (完成的意思)


第一次揮手:客戶端給服務器發送fin的斷開連接請求,


第二次揮手:服務端收到了客戶端發送的fin請求包,服務端並不會立刻給客戶端發送fin的包,這時候


可能服務器還在傳輸數據,不能斷開,所以先發送了ack確認包,意思說,我收到了你的FIN包,但是我


還有數據沒有發送完成,請稍等一下


第三次揮手:當服務端把數據傳輸完成後,然後給客戶端發送一個fin的包,意思是,我把數據都傳送完


成了,現在我們可以斷開連接了


第四次揮手:當客戶端收到服務器發送的FIN包後,它會向服務端發送一個ack,意思就是可以斷開連接


了,然後經過兩個msl時長後斷開鏈接


如下圖:

技術分享圖片










tcp/ip 建立過程