三次握手,四次揮手,為什麼要四次揮手(確保資料能夠完整傳輸,主動方和被動方):
tcp連線建立——使用三次握手建立連線
1、客戶端傳送請求【定址請求】(syn)
2、伺服器端收到報文請求,回應客戶端【確認請求】(syn+ack)
3、客戶端收到服務端的報文進行回應。【連線請求】
三次握手完成,tcp客戶端和服務端成功地建立連線,可以傳輸資料。
tcp終止乙個連線——四次握手
1、資料驗證請求碼
2、傳輸結束標記
3、確認結束標記
4、連線斷開標記
先由客戶端向伺服器端傳送乙個fin,請求關閉資料傳輸。
當伺服器接收到客戶端的fin時,向客戶端傳送乙個ack,其中ack的值等於fin+seq
然後伺服器向客戶端傳送乙個fin,告訴客戶端應用程式關閉。
當客戶端收到伺服器端的fin是,回覆乙個ack給伺服器端。其中ack的值等於fin+seq
tcp與udp基本區別
1.基於連線與無連線
2.tcp要求系統資源較多,udp較少;
3.udp程式結構較簡單
4.tcp面向位元組流,實際上是tcp把資料看成一連串無結構的位元組流;udp是面向報文的
5.tcp保證資料正確性,udp可能丟包
6.tcp保證資料順序,udp不保證
長連線短連線操作過程
短連線的操作步驟是:
建立連線——資料傳輸——關閉連線...建立連線——資料傳輸——關閉連線(如:http)
長連線的操作步驟是:
建立連線——資料傳輸...(保持連線)...資料傳輸——關閉連線(如:tcp)
什麼是tcp粘包,拆包
接收端只收到乙個資料報,由於tcp是不會出現丟包的,所以這乙個資料報中包含了傳送端傳送的兩個資料報的資訊,這種現象即為粘包
接收端收到了兩個資料報,但是這兩個資料報要麼是不完整的,要麼就是多出來一塊,這種情況即發生了拆包和粘包
滑動視窗?
視窗的移動。。。。
。。。。。。。。。。。。待完善。。。。。。
網路基本知識簡述
首先需要明白,所有的網路通訊都是資料報的傳遞,可以把資料報理解為車輛,每個網路裝置都是乙個岔路口或者城市。伺服器往往表現得像城市,交換機和路由器往往相當於岔路口。當你想去往乙個地方時,必須得知道先往哪去再往哪走吧,你往往通過路標或地圖知道這件事 都是告訴你每一步該怎麼走 對於資料報來說,就需要查詢路...
網路協議簡述
英文名稱 hyper text transport protocol 中文名稱 超文字傳輸協議 ftp 英文名稱 file transfer protocol 中文名稱 檔案傳輸協議 功能介紹 該協議是從internet上獲取檔案的方法之一,它是用來讓使用者與檔案伺服器之間進行相互傳輸檔案而用的,通...
簡述網路協議
這張圖表明了協議之間的關係.以下內容均來自csdn 和 chinaunix 傳送協議的主機從上自下將資料按照協議封裝,而接收資料的主機則按照協議從得到的資料報解開,最後拿到需要的資料。這種結構非常有棧的味道,所以某些文章也把tcp ip協議族稱為tcp ip協議棧 互連網早期的時候,主機間的互連使用...