1. 程式人生 > >TCP協議如何保證傳輸可靠性

TCP協議如何保證傳輸可靠性

轉自:http://blog.csdn.net/jhh_move_on/article/details/45770087
TCP提供一種面向連線、可靠的位元組流服務。
1.面向連線:使用TCP的應用(服務端和客戶端)在彼此交換資料之前必須先建立一個TCP三次握手連線。在一個TCP連線中,僅有兩方進行彼此通訊。注意廣播和多播不能用於TCP。

2.可靠性
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使用的流量控制協議是可變大小的滑動視窗協議。
滑動視窗協議機制建議參見:

http://blog.chinaunix.net/uid-26275986-id-4109679.html
8》位元組流服務
兩個應用程式通過TCP連線交換8bit位元組構成的位元組流。TCP不在位元組流中插入記錄識別符號。我們將這稱為位元組流服務(bytestreamservice)。
TCP對位元組流的內容不作任何解釋:: TCP對位元組流的內容不作任何解釋。TCP不知道傳輸的資料位元組流是二進位制資料,還是ASCII字元、EBCDIC字元或者其他型別資料。對位元組流的解釋由TCP連線雙方的應用層解釋。

相關推薦

TCP協議如何保證傳輸可靠性

轉自:http://blog.csdn.net/jhh_move_on/article/details/45770087 TCP提供一種面向連線、可靠的位元組流服務。 1.面向連線:使用TCP的應用(服務端和客戶端)在彼此交換資料之前必須先建立一個TCP三次

TCP協議-如何保證傳輸可靠性

丟包 計算 .html inf 得到 管理 rto detail ash 轉自 https://blog.csdn.net/xuzhangze/article/details/80490362 TCP協議保證數據傳輸可靠性的方式主要有: (1)檢驗和 在發送數據時,為

計算機網路第三彈——TCP協議如何保證傳輸可靠性 TCP和UDP的區別 TCP和UDP分別對應的常見應用層協議

TCP提供面向連線的、可靠的位元組流服務。面向連線意味著客戶端和伺服器在彼此交換資料之前必須先建立一個TCP連線;位元組流服務意味著兩個應用程式通過TCP連線交換8bit位元組構成的位元組流,TCP不存在位元組流中插入記錄識別符號。TCP的可靠性應該是對於UDP不可靠傳輸來說

TCP協議如何來保證傳輸可靠性

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

TCP協議怎樣進行流量控制,並且怎麼保證傳輸可靠性

首先,網路7層模型有:傳輸層、網路層、會話層、資料鏈路層、表示層、應用層、物理層。 其中TCP協議是傳輸層協議 T C P使用一種視窗(w i n d o w)機制來控制資料流。當一個連線建立時,連線的每一端分配一個緩衝區來儲存輸入的資料,並將緩衝區的尺寸傳送給另一端。當

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

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

TCP協議如何保證可靠傳輸

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

TCP協議------可靠性保證機制

        在這篇部落格中介紹了連線管理機制,它是TCP協議保證可靠性的重要機制,除了該機制,還有許多實現可靠性得機制,本文中將一一進行介紹。1. 確認應答(ACK)機制在TCP的協議報頭中有兩個欄位:序列號和確認序列號。這兩個欄位就是來保證確認應答機制的。       

【java】TCP和UDP傳輸協議

有序 equal sig [] link 客戶端 數據傳輸 端口 sock TCP協議和UDP協議的比較 TCP的全稱是Transmission Control Protocol (傳輸控制協議) 傳輸控制協議,是一種面向連接的協議,類似打電話 在通信的整個過程中

TCP通過哪些措施,保證傳輸可靠

一秒 主機 長度 過程 控制 csdn 程序 滑動窗口協議 clas TCP是通過什麽方式來提供可靠傳輸的 (合理截斷數據包,超時重發,校驗,失序重新排序,能夠丟棄重復數據,TCP可以進行流量控制) TCP提供一種面向連接的、可靠的字節流服務。 面向連接:意味著兩個使用T

基於TCP協議的項目架構之Socket流傳輸的實現

hand == buffered 可靠的 客戶端請求 utf 信息 color hdf 項目背景    某銀行的影像平臺由於使用時間長,服務器等配置原因,老影像系統滿足不了現在日益增長的數據量的需求,所以急需要升級改造。傳統的影像平臺使用的是Oracle數據庫和簡單的架構

TCP如何保證可靠性

結果 定時 大於 嚴重 ron log AI 定時器 lin 如何保證可靠性? 1.校驗和。在TCP的首部中有一個占據16為的空間用來放置校驗和的結果。 這是一個端到端的檢驗和,目的是檢測數據在傳輸過程中的任何變化。如果收到段的檢驗和有差錯,TCP將丟棄這個報文段 和不確認

TCP協議(數據傳輸層)的連接過程【三次握手四次揮別】

網絡基礎前段時間學習OSI網絡模型感覺自己懂了其實,還很淺顯這兩條想深入的學習一下就把自己的心的寫在這裏,供大家參考指正。前言TCP是一個面向連接的協議。無論哪一方向另一方發送數據之前,都必須先在雙方之間建立一條連接。就這點與無連接協議如UDP不同,UDP向一端發送數據報時,無需任何握手。一、TCP報文段的內

網絡傳輸模型/TCP協議/IP地址

bubuko 進行 面向連接 開發 ron 建立 int 不可靠 info 網絡傳輸模型 基本模型 層次劃分 需要說明的是在網絡傳輸層TCP可靠而UDP不可靠 傳輸層說明 說明一: 作為Python開發,咱們都是在應用層的HTTP協議之上進行開發的。 說明二: 網絡編程

傳輸層(Udp協議 Tcp協議

傳輸層是負責資料能夠從傳送端傳輸接收端。負責端與端之間的傳輸。端與端就相當於是兩個程序之間的資料傳輸。 埠號 埠號是傳輸層協議的內容: 埠號是一個2位元組16位的無符號整數;(0-65535之間一個數字,0-1023不推薦使用) 埠號用來標識一個程序,告訴作業系統,當前資料要交給哪一個程序

異數OS TCP協議棧測試(一)--資料傳輸

異數OS TCP協議棧測試(一)--資料傳輸篇 本文來自異數OS社群   github:  https://github.com/yds086/HereticOS 異數OS社群QQ群:  652455784  異數OS-織夢師(訊息中介軟體)群: 4

TCP協議三次握手和四次分手以及資料傳輸過程

 1、三次握手      TCP是面向連線的,在面向連線的環境中,開始傳輸資料之前,在兩個終端之間必須先建立一個連線。建立連線同步的過錯稱為三次握手,具體過程如下: (1)當主機A想同主機B建立連線,主機A會發送SYN給主機B,初始化序列號seq

(3)傳輸層UDP和TCP協議

傳輸層UDP和TCP協議 簡介 兩個主機進行通訊實際上就是兩個主機中的應用程序互相通訊。 應用程序之間的通訊又稱為端到端的通訊。 網路層是為主機之間提供邏輯通訊,而傳輸層為應用程序之間提供端到端的邏輯通訊。傳輸層還要對收到的報文進行差錯檢測。 傳輸層需要有兩種不同的傳輸協

TcpTransfer 將物件轉化為tcp協議傳輸的byte陣列(根據位元組序和位元組數)

最近做一個將物件轉換成tcp資料的功能,將物件按一定規律轉換為byte陣列,可以分類去解析,但是太麻煩了,程式碼冗長.決定採取使用一個通用的方法去實現物件轉陣列的功能 TcpTransfer transfer object (with annotation

網路基礎四(傳輸TCP協議 ACL NAT)

一   傳輸層的作用     • 網路層提供點到點的連線     • 傳輸層提供端到端的連線      二    傳輸層的協議     • TCP(Transmission Control Protocol)     – 傳輸控制協議  – 可靠的、面向連線的協議  – 傳輸