全球都在下GTA5,我卻從中參透了TCP協議

前言

  • 首先,不得不說,EPIC是真的大方,直接將GTAV免費送,沒有領取的小夥伴先點這裏白嫖一下,然後開始我們今天的正事。
  • 可能博主也是等這94個G等迷糊了,想起了TCP的傳輸過程,文章不長,也是突然間想到記下來,大家看個樂呵就行,如果理解有誤,請大佬指正。

開始分析

首先附上下載過程圖片

GTA5下載

TCP可靠傳輸的實現

  • EPIC客戶端下載類似Steam,有5個進度條,我也不多廢話,直接看最後一個和倒數第二個進度條。
  • 首先看一個動態圖點擊跳轉
  • 看過之後你會發現,最後一個進度條和TCP的傳輸很像,怎麼像呢,下面我來解釋下。
  1. 以“字節”爲單位:可以把最後一個進度條的一個小方格看成一個字節(雖然肯定比字節大很多),你會發現,他們都是一個一個或一組一組往後傳輸的。
  2. 檢測丟失並重傳:深藍色的是沒有傳輸的,淺藍色的是丟失的(或錯誤的),粉色的是傳輸完成的,綠色的是傳輸完成並確認(寫入)的。偶爾會出現丟失(出現一個淺藍方格),那麼寫入就會停止,等待重傳後再繼續寫入。
  3. 有接收緩存:緩存的存在是協調高速設備和低速設備,最後一個進度條就類似緩衝區,寫入的速度非常快(達到400M每秒),而下載的速度相較就非常慢,緩衝區的存在協調了這種差距,偶爾寫入停止,等待沒有錯誤再繼續寫入。

後記

  • 文章僅代表個人拙見,可能人家設計的進度條根本不是這個意思,但是將其作爲TCP傳輸模型也未嘗不可。
  • 心(xian)血(de)來(dan)潮(teng)記錄一下個人發現,如有錯誤地方,請大佬指正。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章