1. 程式人生 > >TCP如何保證可靠傳輸的?

TCP如何保證可靠傳輸的?

TCP提供一種面向連線的、可靠的位元組流服務
面向連線:
意味著兩個使用TCP的應用(通常是一個客戶和一個伺服器)在彼此交換資料之前必須先建立一個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不在位元組流中插入記錄識別符號。我們將這稱為位元組流服務(bytestreamservice)。 TCP對位元組流的內容不作任何解釋。 TCP不知道傳輸的資料位元組流是二進位制資料,還是ASCII字元、EBCDIC字元或者其他型別資料。對位元組流的解釋由TCP連線雙方的應用層解釋。

相關推薦

我是如何講清楚TCP協議是如何保證可靠傳輸

1、UDP: (1)UDP,user datagram protocol,使用者資料報協議,不提供複雜的控制機制,利用IP提供面向無連線的通訊服務,並且它是將應用程式傳送過來的資料包在收到的那一刻,立即按照原樣傳送到上的一種機制。 (2)即使在網路擁堵的情況下,UDP也無法進行流量控制等避免網路

如何保證 TCP可靠傳輸

如何保證 TCP 可靠傳輸? 1、校驗和 計算方式:在資料傳輸的過程中,將傳送的資料段都當做一個16位的整數。將這些整數加起來。並且前面的進位不能丟棄,補在後面,最後取反,得到校驗和。  傳送方:在傳送資料之前計算檢驗和,並進行校驗和的填充。  接收方:收

TCP協議如何保證可靠傳輸

1、應用資料被分割成TCP認為最適合傳送的資料塊。 2、超時重傳:當TCP發出一個段後,它啟動一個定時器,等待目的端確認收到這個報文段。如果不能及時收到一個確認,將重發這個報文段。 3、TCP給傳送

TCP可靠傳輸保證和擁塞控制

   TCP和UDP是傳輸層的兩個非常重要的協議,其中相對於TCP來說,UDP的是不可靠傳輸,實現機制比較簡單。首先我們來看看TCP資料包的格式: TCP提供一種面向連線的、可靠的位元組流服務。 其主要特性有特性有以下幾點: (1)面向連線,在資料傳送前必須建立連線,在資

TCP是如何保證可靠傳輸

1:確認和重傳:接受方在收到報文就會確認,傳送方傳送一段時間後沒收到確認就重傳。2:資料校驗,3:資料的合理分片和排序4:流量控制:接收方來不及處理時,提示傳送方降低傳送速率,防止包丟失。5:擁塞控制:網路擁塞時,減少資料的傳送。滑動視窗機制:傳送視窗(SWND)和接受視窗(

TCP如何保證可靠傳輸的?

TCP提供一種面向連線的、可靠的位元組流服務。 面向連線: 意味著兩個使用TCP的應用(通常是一個客戶和一個伺服器)在彼此交換資料之前必須先建立一個TCP連線。 在一個TCP連線中,僅有兩方進行彼此通訊。廣播和多播不能用於TCP。 TCP通過下列方式來提供可靠性:

用wireshark抓包分析TCP三次握手、四次揮手以及TCP實現可靠傳輸的機制(轉)

關於TCP三次握手和四次揮手大家都在《計算機網路》課程裡學過,還記得當時高超老師耐心地講解。大學裡我遇到的最好的老師大概就是這位了,雖然他只給我講過《java程式設計》和《計算機網路》,但每次課幾乎都動手敲程式碼或者當場做實驗。好了不扯了,下面進入正題。      關

TCP提供可靠傳輸的工作原理和實現過程

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

計算機網路(七)--TCP可靠傳輸原理及實現(一)

可靠傳輸的工作原理 TCP傳送的報文段是交給IP層傳送的。但IP層只能提供盡最大努力服務。所以TCP必須採用適當的措施才能使兩個運輸層之間的通訊變得可靠。 理想的傳輸條件: (1)傳輸通道不產生差錯。 (2)不管傳送方以多快的速度傳送資料,接收方總是來得及處理收到的資料。

TCP可靠傳輸保證

報文 會有 strong 兩種 都是 其中 span ron 大小為n 我們知道傳輸層提供最主要的兩種協議,TCP和UDP,其中TCP是保證可靠傳輸,為什麽他要保證可靠傳輸呢,IP說:當然是我不能,我只提供盡力而為的服務,不保證你能不能交付,不保證能不能正確的交付,不保證能

TCP可靠傳輸的實現

sa假設我們討論A向B發送數據,A端有發送窗口,B端有接受窗口根據 B 給出的窗口值 A 構造出自己的發送窗口,假如A收到了B的確認報文,此時窗口的值為20,確認序號的值為31,那麽接收端會構造出下面的窗口這裏面前後沿可以不動和前移,但是前沿可以後移(不建議)下面我們討論發送窗口(1)發送窗口表示,裏面的數據

TCP可靠傳輸:校驗和,重傳控制,序號標識,滑動窗口、確認應答

控制 增加 接受 方向 技術分享 一個數 應用程序 text 成了 Tcp通過校驗和,重傳控制,序號標識,滑動窗口、確認應答實現可靠傳輸 應答碼:ACK TCP的滑動窗口機制 TCP這個協議是網絡中使用的比較廣泛,他是一個面向連接的可靠的傳輸協議。既然是一個

TCP 可靠傳輸的工作原理

轉載地址:https://my.oschina.net/xinxingegeya/blog/485233 感謝原作者 TCP 可靠傳輸的工作原理 ARQ(Automatic Repeat-reQuest)(自動重傳請求) 停止等待ARQ協議 連續ARQ

TCP/UDP區別以及UDP如何實現可靠傳輸

TCP和UDP是OSI模型中的運輸層中的協議。TCP提供可靠的通訊傳輸,而UDP則常被用於讓廣播和細節控制交給應用的通訊傳輸。   UDP(User Datagram Protocol)         UDP不提供複雜的控制機制,利用I

UDP實現TCP可靠傳輸

udp與tcp的區別 TCP(TransmissionControl Protocol 傳輸控制協議)是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議。 使用超時重傳、資料確認、滑動視窗等方式確保資料包被正確地傳送至目的端 UDP是(User Datagram Pro

深入淺出圖解【計算機網路】 之 【TCP可靠傳輸的實現: 三次握手+滑動視窗】

【前言】這個系列主要會介紹一些計算機網路體系中“看上去稍有些複雜”但“一旦理解了又會很容易”的內容,我會嘗試通過示意圖/動圖的方式對概念進行儘量直觀的詮釋,如果能夠對大家學習計算機網路有所啟發的話就最好了。 TCP(Transmission Control Protocol)是整個TCP/IP協議

TCP連線管理、可靠傳輸機制、提升傳輸效能機制

TCP協議格式 TCP全稱為“傳輸控制協議”,是傳輸層一種重要的協議 TCP協議段格式 十六位源埠號、十六位目的埠號、三十二位序號、三十二位確認序號、四位首部長度、保留六位、十六位視窗指標大小、十六位校驗和、十六位緊急指標、資料。 源埠號/目的埠號,記錄了資

TCP可靠傳輸——滑動視窗

*TCP協議保證可靠的資料傳輸。。使用哪些方法來保證呢。。?來瞧瞧滑動視窗。。→_→* 滑動視窗的定義 TCP滑動視窗以位元組為單位 傳送視窗表示,在沒有收到接收方的確認時,傳送方可以把視窗內的

TCP可靠傳輸的實現原理

(這一節提到的可靠傳輸協議並不是TCP採用的,在這裡提到只是為了對後面的TCP可靠傳輸的講解起到鋪墊的作用)        我們知道,TCP傳送的報文段是交給IP層傳送的。但IP層只能提供盡最大努力服務,也就是說,TCP下面的網路所提供的是不可靠的傳輸。因此,TCP必須採用

TCP可靠傳輸詳解

TCP提供了可靠的傳輸服務,這是通過下列方式提供的: 分塊傳送:應用資料被分割成TCP認為最適合傳送的資料塊。由TCP傳遞給IP的資訊單位稱為報文段或段(segment)定時確認重傳:當TCP發出一個段後,它啟動一個定時器,等待目的端確認收到這個報文段。如果不能及時收到一個