爲什麼有人說要由TCP協議負責數據傳輸的可靠性?

小愛小愛笑


“我是喲喲吼說科技,專注於數據網絡的回答,歡迎大家與我交流數據網絡的問題”

TCP(Transmission Control Protocol,傳輸控制協議)是一個面向連接的、可靠的傳輸層協議。

如題,為什麼要由TCP協議負責數據傳輸的可靠性?

喲喲認為歸結一句話就是:網絡層沒有辦法負責數據傳輸的可靠性。

在通信網絡裡,有些數據存在一些丟包是可以接收的,不會影響使用。而有些數據是不能有任何數據的丟失的。誰都想數據可以快速而安全的傳送至目的端,但數據傳輸的可靠性跟實時性在一定程度上是一對矛盾體

傳輸層,常用的協議就是TCP和UDP

1、UDP協議是面向無連接的,不可靠的協議,可以保證傳輸的速率,但無法保證傳輸的安全性;

2、TCP協議是面向連接的,可靠的協議,可以保證的數據傳輸的安全性,但在速率上相對較慢。

下面喲喲簡單說明一下為什麼要由TCP協議負責數據傳輸的可靠性:

網絡層無法去應對數據傳輸單元的重複缺失和亂序問題。大家都清楚,網絡層傳輸的對象是分組,但一個應用層的數據可能會被分成多個分組來進行傳輸,假設網絡層可以保證每個分組數據的可靠性,但是無法保證多個數據包正確組合的可靠性若分組出現亂序或者丟包現象,那麼網絡層就無法保證整個數據的完整性了。若非要將保證數據傳輸可靠性的重擔交給網絡層,那麼就會增加傳輸時延,更加不利於快速尋找目標主機即轉發。


因此喲喲認為每層做好本層的本職工作,對於網絡層還是儘可能的把數據包按照下一跳地址轉發出去才好。

歡迎大家多多關注我,在下方評論區說出自己的見解。


分享到:


相關文章: