爲什麼說TCP是可靠連接

序言
我們平常經常說UDP是不可靠連接,TCP是可靠連接,然而TCP爲什麼是可靠的呢


1. TCP和UDP的優缺點
TCP

缺點: 
[1] 三次握手四次揮手,傳輸更多包,浪費一些帶寬
[2] 爲了進行可靠通信,雙方都要維持在線,通信過程中服務器server可能出現非常大的併發連接,浪費了系統資源,甚至會出現宕機
[3] 確認重傳也會浪費一些帶寬,且在不好的網絡中,會不斷的斷開和連接,降低了傳輸效率
UDP

優點: 
[1] 沒有握手,起步快延時小
[2] 不需要維持雙方在線,server不用維護巨量併發連接,節省了系統資源
[3] 沒有重傳機制,在不影響使用的情況下,能更高效的利用網絡帶寬

2. TCP相比UDP爲什麼是可靠的
[1] 確認和重傳機制

建立連接時三次握手同步雙方的“序列號 + 確認號 + 窗口大小信息”,是確認重傳、流控的基礎
傳輸過程中,如果Checksum校驗失敗、丟包或延時,發送端重傳
[2] 數據排序

TCP有專門的序列號SN字段,可提供數據re-order
[3] 流量控制

窗口和計時器的使用。TCP窗口中會指明雙方能夠發送接收的最大數據量
[4] 擁塞控制

TCP的擁塞控制由4個核心算法組成。

“慢啓動”(Slow Start)

“擁塞避免”(Congestion avoidance)

“快速重傳 ”(Fast Retransmit)

“快速恢復”(Fast Recovery)

以上就是TCP比UDP傳輸更可靠的原因。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章