TCP傳輸協議的服務特點
在傳輸層,我們知道最重要的協議就是TCP傳輸協議了。那么什么是TCP傳輸協議呢?我們現在就來簡單的為大家介紹一下,另外還對它的服務特點進行一個總結。希望從中能讓大家清楚地掌握這部分內容。
TCP是一種面向連接(連接導向)的、可靠的、基于字節流的運輸層(Transport layer)通信協議,由IETF的RFC 793說明(specified)。在簡化的計算機網絡OSI模型中,它完成第四層傳輸層所指定的功能,UDP是同一層內另一個重要的傳輸協議。
在因特網協議族(Internet protocol suite)中,TCP層是位于IP層之上,應用層之下的中間層。不同主機的應用層之間經常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。
應用層向TCP層發送用于網間傳輸的、用8位字節表示的數據流,然后TCP把數據流分割成適當長度的報文段(通常受該計算機連接的網絡的數據鏈路層的***傳送單元(MTU)的限制)。之后TCP把結果包傳給IP層,由它來通過網絡將包傳送給接收端實體的TCP層。TCP傳輸協議為了保證不發生丟包,就給每個字節一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然后接收端實體對已成功收到的字節發回一個相應的確認(ACK); 如果發送端實體在合理的往返時延(RTT)內未收到確認,那么對應的數據(假設丟失了)將會被重傳。TCP用一個校驗和函數來檢驗數據是否有錯誤;在發送和接收時都要計算校驗和。
首先,TCP傳輸協議建立連接之后,通信雙方都同時可以進行數據的傳輸,其次,他是全雙工的;在保證可靠性上,采用超時重傳和捎帶確認機制。
在流量控制上,采用滑動窗口協議,協議中規定,對于窗口內未經確認的分組需要重傳。
在擁塞控制上,采用慢啟動算法。
TCP所提供服務的主要特點
(1)面向連接的傳輸;
(2)端到端的通信;
(3)高可靠性,確保傳輸數據的正確性,不出現丟失或亂序;
(4)全雙工方式傳輸;
(5)采用字節流方式,即以字節為單位傳輸字節序列;
(6)緊急數據傳送功能。
TCP的重傳策略
TCP傳輸協議用于控制數據段是否需要重傳的依據是設立重發定時器。在發送一個數據段的同時啟動一個重發定時器,如果在定時器超時前收到確認就關閉該定時器,如果定時器超時前沒有收到確認,則重傳該數據段。
這種重傳策略的關鍵是對定時器初值的設定。目前采用較多的算法是Jacobson于1988年提出的一種不斷調整超時時間間隔的動態算法。其工作原理是:對每條連接TCP都保持一個變量RTT,用于存放當前到目的端往返所需要時間最接近的估計值。當發送一個數據段時,同時啟動連接的定時器,如果在定時器超時前確認到達,則記錄所需要的時間(M),并修正RTT的值,如果定時器超時前沒有收到確認,則將RTT的值增加1倍。
TCP協議是如何確保數據傳輸高可靠性
為了保證可靠性,發送的報文都有遞增的序列號。序呈和確認號用來確保傳輸的可靠性。此外,對每個報文都設立一個定時器,設定一個***時延。TCP傳輸協議對那些超過***時延仍沒有收到確認信息的報文就認為已經丟失,需要重傳。