TCP如何保證訊息順序以及可靠性到達

2021-09-13 13:32:32 字數 1518 閱讀 5665

1、停止等待協議

2、連續arq協議

1、以位元組為單位的滑動視窗

2、超時重傳時間的選擇

3、選擇確定sack

面向連線:意味著兩個使用tcp的應用(通常是乙個客戶和乙個伺服器)在彼此交換資料之前必須先建立乙個tcp連線。在乙個tcp連線中,僅有兩方進行彼此通訊。廣播和多播不能用於tcp。

1、應用資料被分割成tcp認為最合適傳送的資料塊。這和udp完全不同,應用程式產生的資料報長度將保持不變。(將資料截斷為合理的長度)。

2、當tcp發出乙個段後,它啟動乙個定時器,等待目的端確認收到這個報文段。如果不能及時收到乙個確認,將重發這個報文段。(超時重發)

3、當tcp收到發自tcp連線另一端的資料,他將傳送乙個確認。這個確認不是立即傳送,通常將推遲幾分之一秒。(對於收到的請求給出確認響應)(之所以推遲,可能是要對包做完整性校驗)

4、tcp將保持它首部和資料的校驗和。這是乙個端到端的校驗和,目的是檢測資料在傳輸過程中的任何變化。如果收到段的檢驗和有差錯,tcp將丟棄這個報文段和不確認收到這個報文段。(校驗出包錯,丟棄報文段,不給出響應,tcp傳送資料端超時會重發資料)。

5、既然tcp報文段作為ip資料報來傳輸,而ip資料報的到達可能會失序,因此tcp報文段的到達也可能會失序。如果必要,tcp將對收到的資料進行重新排序,將收到的資料以正確的順序交給應用層。(對失序資料進行重新排序,然後才交給應用層)、

6、既然ip資料報會發生重複,tcp的接收端必須丟棄重複的資料。(對於重複資料,能夠丟棄重複資料)。

7、tcp還能提供流量控制。tcp連線的每一方都有固定大小的緩衝空間。tcp的接收端只允許另一端傳送接收端緩衝區所能接納的資料。這將防止較快主機致使較慢主機的緩衝區溢位。(tcp可以進行流量控制,防止較快主機致使較慢主機的緩衝區溢位)tcp使用的流量控制協議是可變大小的滑動視窗協議。

位元組流服務:兩個應用程式通過tcp連線交換8bit位元組構成的位元組流。tcp不在位元組流中插入記錄識別符號。我們將這稱為位元組流服務。

tcp對位元組流的內容不作任何解釋:tcp不知道傳輸的資料字節流是二進位制資料,還是ascii字元、ebcdic字元或是其他型別資料。對位元組流的解釋由tcp連線雙方的應用層解釋。

主機每次傳送資料時,tcp就給每個資料報分配乙個序列號並且在乙個特定的時間內等待接收主機對分配的這個序列號進行確認,如果傳送主機在乙個特定時間內沒有收到接收主機的確認,則傳送主機會重傳這個資料報。接收主機一旦收到已經順序化的資料,他就將這些資料按正確的順序重組成資料流並傳遞到高層進行處理。

具體步驟如下:

1、為了保證資料報的可靠傳遞,傳送方必須把已傳送的資料報保留在緩衝區。

2、並為每個已傳送的資料報啟動乙個超時定時器。

3、如果定時器超時之前收到了對方發來的應答資訊(可能是對本包的應答,也可以是對本包後續包的應答),則釋放該資料報占用的緩衝區。

4、否則重傳該資料報,直到收到應答或重傳次數超過規定的最大次數為止。

5、接收方收到資料報後,先進行crc校驗,如果正確則把資料交給上層協議,然後給傳送包傳送乙個累計應答包,表明該資料已收到,如果接收方正好也有資料要發給傳送方,應答包也可放在資料報中捎帶過去。

TCP如何保證訊息順序以及可靠性到達

tcp 如何保證訊息的順序以及可靠性到達,以及 tcp 的流量控制,擁塞控制 tcp 的可靠性傳輸工作原理 1 停止等待協議 2 連續 arq 協議 tcp 可靠性傳輸的實現 1 以位元組為單位的晃動視窗 2 超時重傳的時間選擇 3 選擇確認 sack tcp 面向連線 意味著兩個使用 tcp 的應...

TCP如何保證可靠性

重傳機制 針對資料報丟失或者出現定時器超時 確認應答 停止等待協議,傳送之後等待收到應答。序列號 針對資料報到達接收端主機順序亂掉 流量控制 針對避免網路擁堵時候 針對高效傳輸資料報的流動視窗的控制 擁塞控制 針對剛開始啟動的時候避免一下子傳送大量資料報而導致網路癱瘓的慢啟動演算法和擁塞控制。校驗和...

TCP 協議如何保證可靠傳輸

一 綜述 1 確認和重傳 接收方收到報文就會確認,傳送方傳送一段時間後沒有收到確認就重傳。2 資料校驗 3 資料合理分片和排序 udp ip資料報大於1500位元組,大於mtu.這個時候傳送方ip層就需要分片 fragmentation 把資料報分成若干片,使每一片都小於mtu.而接收方ip層則需要...