【新夢想幹貨連載】網路情緣之TCP的分包處理
上次我們知道小明把他的床透過了快遞公司運回家裡了,但是快遞的傳送細節並不太清楚。所以關於小明的故事還是得繼續,我們回到小明跟小MM對話的場景,當小MM確定好接收點正常營業之後,故事是怎麼進行的。
Part 1
小MM說:”你的東西呢,拿過來看看啊”。小明指著外面的床說:“那就是了”。小MM說:“那麼個東西,我們可沒有這麼大的箱子,要把床拆了,一個一個小包的送過去”。小明沒有辦法,只能把床都拆散了。然後再包成一個一個小箱子。小MM在每個箱子上按順序貼上快遞單號:“到時候讓你家裡人按編號組裝起來就行了”。然後叫來快遞員把1號至4號箱子裝上三個車。小明比較奇怪為什麼不一次全部發過去。小MM說:“這是規定一次只發三個”。小明擔心的問:“萬一路上出了什麼事故怎麼辦。”小MM說:“我們送快遞是有時間限制的,如果在規定的時間內沒有收到回覆,那你就去買一個一模一樣的零部件回來重新發一次過去”。
圖一:wireshark抓包的結果
Part 2
在小明覺得可能不太靠譜的時候,小明總算收到了1號箱送達的回覆,3號箱的回覆。但是沒有2號箱子的回覆。小MM說:“沒事,2號肯定是收到了,不然不會發3號箱子的確認回覆。估計只是回覆訊息在路上出了什麼事情了”。再發接來的3個箱子就是了。於是小MM又把4號,5號,6號箱子發出去了,然後重新啟動計時,但是時間都過去了4號,5號,6號回覆資訊都沒有收到,小明這下緊張了,趕緊問一下:“怎麼還沒有收到回覆?”,小MM說:“現在不知道原因,肯定是出問題了,你去買這幾個零部件,一模一樣的,然後再發一次”。小明覺得這也太坑了點,但是人家快遞公司可不管,沒辦法,趕緊去買回來,然後重新傳送了出去。經過多次折騰後,總算是把床全部發了出去,然後收到床已經組裝成功的訊息。
圖二:wireshark抓包伺服器給客戶端的響應
Part 3
透過這個過程大家應該知道,TCP的每個資料包的大小是有限制的,當資料超大的時候,就會切分成多個包進行傳輸。每個資料包的傳送出去以後就會收到訊息確認,而且訊息確認是有順序的。TCP的可靠性就是透過訊息確認和資料包超時重傳來保證的,當然還有一些其它的措施。
大家瞭解過傳輸協議的話應該知道,TCP協議有一個不太靠譜的兄弟叫做UDP(使用者資料包)協議。為啥不靠譜,因為他不建立連線。他也不太去管對方是否會收到資料,只管傳送資料。那這兩個協議分別用在什麼場景呢?
你覺得你什麼時候會比較關注延時和資料質量問題。有想到的麼?
一般情況下,要求檔案準確無誤的傳送給對方的就會使用TCP協議,應用層很多都是的,比如:HTTP協議,FTP協議,QQ檔案傳輸,郵件傳輸等。而UDP協議的使用有:QQ語音,QQ影片。你可以想象一下,當你跟朋友影片或者語音的時候,如果因為一點點沒有聽清楚,對方就一直重複一直重複。整個過程多麼慘不忍睹。當然UDP有它的優點:速度快。
既然HTTP是用的TCP協議,那下次我們就來說一說HTTP與TCP是怎麼配合的吧。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940641/viewspace-2662729/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 乾貨分享|網路情緣之TCP的握手和分手TCP
- 【新夢想幹貨】RobotFramework環境搭建步驟Framework
- 新夢想幹貨——學會高效管理時間,健康工作
- 新夢想幹貨分享——持續整合的自動化測試
- 乾貨分享|網路情緣之如何踏上上網的“不歸之路”
- 新夢想幹貨——Python測試webservice介面入門基礎PythonWeb
- 【新夢想幹貨分享】Jmeter技能:Json資料中如何設定變數JMeterJSON變數
- swoole 之 tcp 合包分包TCP
- 處理網路連結故障技巧
- TCP/IP協議之網路連結的背後故事TCP協議
- 難存的情緣&貨車運輸
- Javascript影象處理之虛擬邊緣JavaScript
- 網路協議之TCP協議TCP
- 比特幣的噩夢成真:網路處理能力達到極限比特幣
- 別了,網路情緣(轉帖,有刪節)
- 【新夢想幹貨】從性格和能力出發,你是否適合做一名優秀軟體測試工程師?工程師
- GPON網路故障如何處理?GPON網路故障處理流程
- 簡單總結nodejs處理tcp連線的核心流程NodeJSTCP
- JQuery乾貨篇之處理元素jQuery
- 夢魂網路開關_下載地址
- 極客愛情之十九:夢想還是要有的,萬一實現了呢
- 如何處理瀏覽器的斷網情況?瀏覽器
- 《我想進大廠》之網路篇奪命連環12問
- TCP協議之網路延時TCP協議
- 【網路協議】TCP連線的建立和釋放協議TCP
- 倚網路安全標準興網路強國之夢
- 處理方塊之間的連線線
- 《新劍俠情緣》光碟版變硬碟版硬碟
- Netty是如何處理新連線接入事件的?Netty事件
- 難存的情緣
- 絕緣粒是幹什麼的
- 如何保持想msn那樣的一個tcp長連線TCP
- React事件處理之連蒙帶猜React事件
- 【新夢想學員乾貨】必看!年薪30W的軟體測試“老司機”工作經驗。
- 小程式分包載入
- 計算機網路之TCP可靠傳輸計算機網路TCP
- tcp中的粘包、半包的處理方法TCP
- 處理表鎖定的情況