傳輸層協議TCP和UDP

2022-06-01 05:09:13 字數 992 閱讀 5375

本文力圖簡潔,讓讀者對tcp和udp有個初步的認知。閒話少說,現在開始吧。tcp和udp都是傳輸層的協議。tcp通過三次握手建立可靠連線,對未送達的訊息重新進行傳送。udp不建立連線而直接傳送,對未送達的訊息不管不顧,因而是不可靠的。

三次握手

三次握手是發生在建立連線的時候,大致過程是這樣的。首先由客戶端發起請求,然後服務端對請求進行響應,最後客戶端再告知收到響應。具體的過程列在了下面。

>客戶端傳送帶syn標誌的資料報給對方,告知需要建立連線;

>服務端收到後,回傳乙個帶有syn/ack標誌的資料報,告知收到建立連線請求;

>客戶端回傳乙個帶有ack標誌的資料報,代表握手結束並且建立tcp連線。

四次揮手

四次揮手則是在斷開連線的時候,過程如下。

>客戶端傳送帶fin標誌的資料報給對方,告知需要斷開連線;

>服務端收到後,回傳乙個帶有ack標誌的資料報,告知收到斷開連線請求;

>服務端再次回傳乙個帶有fin標誌的資料報,告知同意斷開連線請求;

>客戶端回傳乙個帶有ack標誌的資料報,代表揮手結束並且斷開tcp連線。

udp沒有類似tcp的三次握手機制,而是直接把資料傳送出去。因此傳輸不具備可靠性。但是在網路極差的時候,憑藉其不需要三次握手和四次揮手特性,卻能高效的把資料傳輸出去。

詞彙現在把上面出現的詞彙分類整理一下吧。

握手狀態

揮手狀態

參考關於tcp和udp的應用場景,以及在傳輸時都帶有那些狀態和資料,文中都沒有提及。改日有時間再專門寫一篇這樣的文章。

傳輸層協議TCP和UDP

tcp tcp允許乙個主機同時執行多個應用程序。每台主機可以擁有多個應用 埠,每對埠號 源和目標ip位址的組合唯一地標識了乙個會話。端 口分為知名埠和動態埠。有些網路服務會使用固定的埠,這類端 口稱為知名埠,埠號範圍為0 1023。如ftp http telnet snmp服務均使用知名埠。動態埠號...

傳輸層協議UDP和TCP

udp tcpudp是無連線的 udp提供不可靠服務 udp同時支援點到點和多點通訊 udp是面向報文的 udp首部8個位元組 tcp是面向連線的 tcp提供可靠服務 tcp只能進行點到點通訊 tcp是面向位元組流的 tcp首部20個位元組 連線建立 三次握手 注意 tcp報文首部syn和fin置位...

傳輸層協議 UDP協議 TCP協議

udp協議段格式 udp的特點 udp的緩衝區 udp的socket既能讀,也能寫,這個概念叫做全雙工。下圖是基於tcp協議的客戶端 伺服器程式的一般流程。建立連線 通常稱為三次握手。不能出現兩次握手 伺服器認為連線建立好了,客戶端認為美好,重新傳送連線 伺服器端會出現閒置連線,主動一方會進行第三次...