TCP和UDP協議的區別 ------- TCP/IP協議如何實現可靠性傳輸


1.TCP和UDP的區別:

1.是否面向連接?

  • TCP通過三次握手,建立連接。
  • UDP是不用建立連接。

2.是否可靠?

  • TCP傳輸的是可靠並有序的數據
  • UDP只是盡最大努力交付,不一定可靠

3.UDP具有較好的實時性  適用場景:短消息,多客戶端,對信息可靠性要求不高,對效率要求高。

4.每一條TCP是點對點的,UDP支持更廣泛 一對一,多對一,多對多。

5.TCP對資源要求較高,UDP對資源要求較少。

6.TCP面向數據流,  UDP面向數據報。

2.TCP/IP 實現可靠傳輸的方式:

  1. 序列號,ACK信號:發送方給每個要發送的數據包都標有一個序列號。接受方在接收到數據包后,給發送送發送一個ACK信號包含了,要求的下一個數據包的序列號。
  2. 超時重發:當發送方在規定時間內沒有接收到接收方的ACK時,將會重發送該數據包,並下一次等待重發的時間成指數增長。當重發一定次數后,若還沒有收到ACK,就會強制的斷開連接。
  3. TCP的連接管理:三次握手,四次揮手。
  4. 以段為單位發送數據包:在通信雙方建立連接的同時,協商數據包的單位即(最大的消息長度(MSS))。
  5. 滑動窗口:包括前端已發送未收到ACK的數據包,和后端待發送的數據包。接收端收到ACK后,窗口向前滑動,直到有數據未確認時停止。
  6. 流量控制:TCP數據報首部字段來控制滑動窗口的大小。
  7. 擁塞控制:發送端通過擁塞窗口主動控制數據流量。 慢啟動:防止通信雙方一開始就發送大量的數據包,擁塞窗口一開始的大小為:1MSS,每收到一個ACK擁塞窗口就擴大兩倍,發送數據包時選擇擁塞窗口和滑動窗口的較小值。擁塞避免算法:相比慢啟動,擁塞窗口的增長速度更慢。快速重傳:當在規定時間限度內沒有收到ACK,那么很可能就是網絡出現問題。此時將擁塞窗口減小為一,重新慢開始。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM