上一節講了
網路協議 tcp 數字編號和重傳機制,其實已經變相的說明了這個問題。
首先說,tcp 不同與udp ,tcp 是有序的,那麼是如何保證有序的,資料在傳送後,可能經過不同路徑,這樣到達目的地時的順序可能會與傳送時不同,後發先到是一件很平常的事,網路層是不會保證資料的有序,tcp 是傳輸層協議,他實現了這樣的一套邏輯,雖然網路層收到的訊息順序可能不一樣,但是tcp 保證了提交到上層,應用層的訊息,是有序的。
那麼,如何保證有序,tcp通過位元組編號,每乙個資料位元組都會有乙個編號,比如傳送了三包,每包100位元組,假設第一包首個位元組標號是1,那麼傳送的三包的編號就是 1,101,201,三包資料,只有接收端收到連續的序號的包,才會將資料報提交到應用層例如收到1,201,101,是不會提交到上層應用層的,只有收到正確連續順序才會提交,所以就保證了資料的有序性。
tcp是有鏈結的協議,在連線的握手狀態就會有乙個起始編號,這個編號會隨著後續訊息的傳送而不斷增加,且訊息是基於位元組流的,每個位元組在傳送之處就會被編號,當某一段訊息(多個連續訊息)由於其他原因丟失,就會觸發重傳訊息機制,傳送端會根據超時訊息,將資料重新傳送,或者根據接受端給出的訊息編號選擇性的傳送訊息,這樣就保證了訊息的無誤性,不會亂序不會丟失,當然,如果更加嚴謹的說,tcp還會對訊息本身做校驗計算,這是為了保證訊息序號不變的同時,訊息內容發生錯誤的情況。
TCP 協議如何保證可靠傳輸
一 綜述 1 確認和重傳 接收方收到報文就會確認,傳送方傳送一段時間後沒有收到確認就重傳。2 資料校驗 3 資料合理分片和排序 udp ip資料報大於1500位元組,大於mtu.這個時候傳送方ip層就需要分片 fragmentation 把資料報分成若干片,使每一片都小於mtu.而接收方ip層則需要...
TCP協議如何保證可靠傳輸
一 可靠傳輸的要求 可靠的傳輸應該滿足下面兩個要求 1 傳輸的通道不產生差錯 2 保證傳輸資料的正確性,無差錯 不丟失 不重複 並且按序到達。這裡有兩層意思,一是能夠正確地傳輸資料,二是接收方能夠及時處理傳送方傳送的資料。二 可靠傳輸的工作原理 tcp為了提供可靠傳輸 1 首先,採用三次握手來建立t...
網路基礎 TCP協議 如何保證傳輸可靠性
tcp協議傳輸的特點主要就是面向位元組流 傳輸可靠 面向連線。這篇部落格,我們就重點討論一下tcp協議如何確保傳輸的可靠性的。tcp協議保證資料傳輸可靠性的方式主要有 計算方式 在資料傳輸的過程中,將傳送的資料段都當做乙個16位的整數。將這些整數加起來。並且前面的進製不能丟棄,補在後面,最後取反,得...