TCP協議和UDP協議

2021-10-06 03:28:45 字數 990 閱讀 2353

tcp(transfer control protocol)是面向連線的,所謂面向連線,就是當計算機雙方通訊時必需經過先建立連線,然後傳送資料,最後拆除連線三個過程。

tcp在建立連線時又分三步走:

第一步,是請求端(客戶端)傳送乙個包含syn即同步(synchronize)標誌的tcp報文,syn同步報文會指明客戶端使用的埠以及tcp連線的初始序號。

第二步,伺服器在收到客戶端的syn報文後,將返回乙個syn+ack的報文,表示客戶端的請求被接受,同時tcp序號被加一,ack即確認(acknowledgement)。

第三步,客戶端也返回乙個確認報文ack給伺服器端,同樣tcp序列號被加一,到此乙個tcp連線完成。然後才開始通訊的第二步:資料處理。

這就是所說的tcp的三次握手(three-way handshake)。

基於tcp協議可以建立穩定連線的點對點的通訊。這種通訊方式實時、快速、安全性高,但是很占用系統的資源。

在網路傳輸方式上,還有另一種基於udp協議的通訊方式,稱為資料報通訊方式。在這種方式中,每個資料傳送單元被統一封裝成資料報包的方式,傳送方將資料報包傳送到網路中,資料報包在網路中去尋找它的目的地

tcp協議和udp協議是傳輸層的兩種協議。socket是傳輸層供給應用層的程式設計介面,所以socket程式設計就分為tcp程式設計和udp程式設計兩類。

這兩種傳輸方式都在實際的網路程式設計中使用,重要的資料一般使用tcp方式進行資料傳輸,而大量的非核心資料則可以通過udp方式進行傳遞,在一些程式中甚至結合使用這兩種方式進行資料傳遞。

由於tcp需要建立專用的虛擬連線以及確認傳輸是否正確,所以使用tcp方式的速度稍微慢一些,而且傳輸時產生的資料量要比udp稍微大一些。

總結

1. tcp是面向連線的,傳輸資料安全,穩定,效率相對較低。(打**)

2. udp是面向無連線的,傳輸資料不安全,效率較高。(發簡訊)

TCP協議和UDP協議

前面我們學習了網路的7層模型,其中談到傳輸層的相關協議有tcp transmission control protocol 傳輸控制協議 和udp user datagram protocol 使用者資料報協議 一 tcp協議 tcp transmission control protocol 是一...

TCP協議和UDP協議

區別 面向連線vs無連線 tcp建立乙個連線需要3次握手ip資料報,斷開連線需要4次握手。另外斷開連線時發起方可能進入time wait狀態長達數分鐘 視系統設定,windows一般為120秒 在此狀態下連線 埠 無法被釋放。udp不需要建立連線,可以直接發起。可靠vs不可靠 tcp利用握手 ack...

TCP協議和UDP協議的區別

tcp建立連線要進行3次握手,而斷開連線要進行4次 1 當主機a完成資料傳輸後,將控制位fin置1,提出停止tcp連線的請求 2 主機b收到fin後對其作出響應,確認這一方向上的tcp連線將關閉,將ack置1 3 由b 端再提出反方向的關閉請求,將fin置1 4 主機a對主機b的請求進行確認,將ac...