TCP和UDP的區別?

tcp和udp都是osi模型中傳輸層的協議,tcp用於提供可靠的通訊傳輸,udp則用做廣播和細節控制交給應用的通訊傳輸。安全

tcp:網絡

TCP協議中包含了專門的傳遞保證機制,當數據接收方收到發送方傳來的信息時,會自動向發送方發出確認消息;發送方只有在接收到該確認消息以後才繼續傳送其它信息,不然將一直等待直到收到確認信息爲止tcp

 

udp:資源

UDP協議並不提供數據傳送的保證機制。若是在從發送方到接收方的傳遞過程當中出現數據報的丟失,協議自己並不能作出任何檢測或提示。所以,一般人們把UDP協議稱爲不可靠的傳輸協議get

 

tcp與udp區別?同步

 1.基於鏈接與無鏈接;
 2.對系統資源的要求(TCP較多,UDP少);
 3.UDP程序結構較簡單;
 4.流模式與數據報模式 ;
 5.TCP保證數據正確性,UDP可能丟包,TCP保證數據順序,UDP不保證。it

 

udp應用場景?基礎

1.面向數據報方式
  2.網絡數據大多爲短消息 
  3.擁有大量Client
  4.對數據安全性無特殊要求
  5.網絡負擔很是重,但對響應速度要求高udp

  TCP創建鏈接要進行3次握手
       1 ) 主機A經過向主機B 發送一個含有同步序列號的標誌位的數據段給主機B ,向主機B 請求創建鏈接,經過這個數據段,主機A告訴主機B 兩件事:我想要和你通訊;你能夠用哪一個序列號做爲起始數據段來回應我
.      2 ) 主機B 收到主機A的請求後,用一個帶有確認應答(ACK)和同步序列號(SYN)標誌位的數據段響應主機A,也告訴主機A兩件事:我已經收到你的請求了,你能夠傳輸數據了;你要用序列號做爲起始數據段來回應我
       3 )主機A收到這個數據段後,再發送一個確認應答,確認已收到主機B 的數據段:"我已收到回覆,我如今要開始傳輸實際數據了
     3次握手就完成了,主機A和主機B 就能夠傳輸數據請求

  3次握手的特色:
         沒有應用層的數據
         SYN這個標誌位只有在TCP創建鏈接時纔會被置1
         握手完成後SYN標誌位被置0

 

TCP斷開鏈接要進行4次
       1 ) 當主機A完成數據傳輸後,將控制位FIN置1,提出中止TCP鏈接的請求
       2 ) 主機B收到FIN後對其做出響應,確認這一方向上的TCP鏈接將關閉,將ACK置1
       3 ) 由B 端再提出反方向的關閉請求,將FIN置1
      4 ) 主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束.
由TCP的三次握手和四次斷開能夠看出,TCP使用面向鏈接的通訊方式,大大提升了數據通訊的可靠性,使發送數據端
和接收端在數據正式傳輸前就有了交互,爲數據正式傳輸打下了可靠的基礎

 

 ACK  TCP報頭的控制位之一,對數據進行確認.確認由目的端發出,用它來告訴發送端這個序列號以前的數據段都收到了.好比,確認號爲X,則表示前X-1個數據段都收到了,只有當ACK=1時,確認號纔有效,當ACK=0時,確認號無效,這時會要求重傳數據,保證數據的完整性.  SYN  同步序列號,TCP創建鏈接時將這個位置1

相關文章
相關標籤/搜索