傳輸層

傳輸層

徠傳輸層是整個網路體系結構中的關鍵層次之一,主要負責向兩個主機中進程之間的通信提供服務。由於一個主機同時運行多個進程,因此運輸層具有復用和分用功能。傳輸層在終端用戶之間提供透明的數據傳輸,向上層提供可靠的數據傳輸服務。傳輸層在給定的鏈路上通過流量控制、分段/重組和差錯控制來保證數據傳輸的可靠性。傳輸層的一些協議是面向鏈接的,這就意味著傳輸層能保持對分段的跟蹤,並且重傳那些失敗的分段。

簡介


傳輸層是國際標準化組織提出的開放系統互連(OSI)參考模型中的第四層。該層協議為網路端點主機上的進程之間提供了可靠、有效的報文傳送服務。其功能緊密地依賴於網路層的虛擬電路或數據報服務。傳輸層定義了主機應用程序之間端到端的連通性。傳輸層也稱為運輸層,傳輸層只存在於端開放系統中,是介於低3層通信子網系統和高3層之間的一層,但是很重要的一層,因為它是源端到目的端對數據傳送進行控制從低到高的最後一層。
傳輸層的服務一般要經歷傳輸連接建立階段,數據傳送階段,傳輸連接釋放階段3個階段才算完成一個完整的服務過程。而在數據傳送階段又分為一般數據傳送和加速數據傳送兩種形式。傳輸層中最為常見的兩個協議分別是傳輸控制協議TCP(Transmission Control Protocol)和用戶數據報協議UDP(User Datagram Protocol) 。傳輸層提供邏輯連接的建立、傳輸層定址、數據傳輸、傳輸連接釋放、流量控制、擁塞控制、多路復用和解復用、崩潰恢復等服務。
傳輸層
傳輸層

埠概念


傳輸層的任務是根據通信子網的特性,最佳的利用網路資源,為兩個端系統的會話層之間,提供建立、維護和取消傳輸連接的功能,負責端到端的可靠數據傳輸。在這一層,信息傳送的協議數據單元稱為段或報文。
網路層只是根據網路地址將源結點發出的數據包傳送到目的結點,而傳輸層則負責將數據可靠地傳送到相應的埠。計算機網路中的資源子網是通信的發起者和接收者,其中的每個設備稱為端點;通信子網提供網路中的通信服務,其中的設備稱為節點。OSI參考模型中用於通信控制的是下面四層,但它們的控制對象不一樣。

基本功能


傳輸層提供了主機應用程序進程之間的端到端的服務,基本功能如下:
(1) 分割與重組數據
(2) 按埠號定址
(3) 連接管理
(4) 差錯控制和流量控制,糾錯的功能
傳輸層要向會話層提供通信服務的可靠性,避免報文的出錯、丟失、延遲時間紊亂、重複、亂序等差錯。
傳輸層
傳輸層

服務類型


徠傳輸層既是OSI層模型中負責數據通信的最高層,又是面向網路通信的低三層和面向信息處理的高三層之間的中間層。該層彌補高層所要求的服務和網路層所提供的服務之間的差距,並向高層用戶屏蔽通信子網的細節,使高層用戶看到的只是在兩個傳輸實體間的一條端到端的、可由用戶控制和設定的、可靠的數據通路。服務類型
傳輸層提供的服務可分為傳輸連接服務和數據傳輸服務。
☆ 傳輸連接服務:通常,對會話層要求的每個傳輸連接,傳輸層都要在網路層上建立相應的連接。
☆ 數據傳輸服務:強調提供面向連接的可靠服務(很晚OSI才開始制定無連接服務的有關標準),並提供流量控制、差錯控制和序列控制,以實現兩個終端系統間傳輸的報文無差錯、無丟失、無重複、無亂序。

協議等級與傳輸層協議


服務質量

運輸層服務通過協議體現,因此運輸層協議的等級與網路服務質量密切相關。根據差錯性質,網路服務按質量可分為以下三種類型:
☆ A類服務:低差錯率連接,即具有可接受的殘留差錯率和故障通知率;
☆ B類服務:高差錯率連接,即具有不可接受的殘留差錯率和故障通知率;
☆ C類服務:介於A類服務與B類服務之間。

協議級別

差錯率的接受與不可接受是取決於用戶的。因此,網路服務質量的劃分是以用戶要求為依據的。OSI根據運輸層的功能特點,定義了以下五種協議級別:
☆ 0級:簡單連接。只建立一個簡單的端到端的傳輸連接,並可分段傳輸長報文。
☆ 1級:基本差錯恢復級。在網路連接斷開、網路連接失敗或收到一個未被認可的傳輸連接數據單元等基本差錯時,具有恢復功能。
☆ 2級:多路復用。允許多條傳輸共享同一網路連接,並具有相應的流量控制功能。
☆ 3級:差錯恢復和多路復用。是1級和2級協議的綜合。
☆ 4級:差錯檢測、恢復和多路復用。在3級協議的基礎上增加了差錯檢測功能。

傳輸層協議

面向連接的傳輸協議(TCP):數據傳輸之前必須先建立連接,數據傳輸完成之後,必須釋放連接。僅支持單播傳輸:每條傳輸連接只能有兩個端點,只能進行點對點的連接,不支持多播和廣播的傳輸方式,UDP是支持的。
提供可靠的交付服務:傳送的數據無差錯。不丟失,不重複,且順序與與源數據一致。
傳輸單位是數據段:每次發送的數據段不固定,受應用層傳送報文大小和網路中的MTU(最大傳輸單元)值大小的影響。最小數據段可能僅有21個位元組(其中20個位元組屬於TCP頭部,數據部分僅1位元組)。
支持全雙工傳輸:通信雙方可以同時發數據和接收數據。
TCP連接是基於位元組流的:UDP是基於報文流的。
TCP是一個可以保證可靠數據傳輸的傳輸層協議,主要採用採用以下四個機制實現數據可靠性傳輸。
位元組編號機制:TCP數據段以位元組為單位對數據段的"數據"部分進行一一編號,確保每一個位元組的數據都可以有序傳送和接收。
數據段確認機制:每接收一個數據段都必須有接收端向發送端返回確認數據段,其中的確認號表示已經正確接收的數據段序號。
超時重傳機制:TCP中有一個重傳定時器(RTT),發送一個數據段的同時也開啟這個定時器,如果定時器過期之時還沒有返回確認,則定時器停止,重傳該數據。
選擇性確認機制:(Selective ACK,SACK)/只重傳缺少部分的數據,不會重傳那些已經正確接收的數據。
UDP 是User Datagram Protocol的簡稱, 中文名是用戶數據報協議,是OSI(Open System Interconnection,開放式系統互聯) 參考模型中一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務,IETF RFC 768是UDP的正式規範。UDP在IP報文的協議號是17 。
UDP協議全稱是用戶數據報協議,在網路中它與TCP協議一樣用於處理數據包,是一種無連接的協議。在OSI模型中,在第四層——傳輸層,處於IP協議的上一層。UDP有不提供數據包分組、組裝和不能對數據包進行排序的缺點,也就是說,當報文發送之後,是無法得知其是否安全完整到達的。UDP用來支持那些需要在計算機之間傳輸數據的網路應用。包括網路視頻會議系統在內的眾多的客戶/伺服器模式的網路應用都需要使用UDP協議。UDP報文分為UDP報文頭和UDP數據區域兩個部分。報頭由源埠,目的埠,報文長度以及校驗和組成。UDP適合於實時數據傳輸,比如語音和視頻通信。相比TCP,UDP的傳輸效率更高,開銷更小,但是無法保證數據傳輸可靠性。UDP頭部的標識如下:
1)16位源埠號:源主機的應用程序使用的埠號。
2)16位目的埠號:目的主機的應用程序使用的埠號。
3)16位UDP長度:是指UDP頭部和UDP數據的位元組長度。因為UDP頭部長度是8位元組,所以欄位的最小值為8。
4)16位UDP校驗和:該欄位提供了與TCP校驗欄位同樣的功能;該欄位是可選的。

重要性


傳輸層是整個協議層次結構的核心,是唯一負責總體數據傳輸和控制的一層。在OSI七層模型中傳輸層是負責數據通信的最高層,又是面向網路通信的低三層和面向信息處理的高三層之間的中間層。因為網路層不一定保證服務的可靠,而用戶也不能直接對通信子網加以控制,因此在網路層之上,加一層即傳輸層以改善傳輸質量。
傳輸層利用網路層提供的服務,並通過傳輸層地址提供給高層用戶傳輸數據的通信埠,使系統間高層資源的共享不必考慮數據通信方面和不可靠的數據傳輸方面的問題。它的主要功能是:對一個進行的對話或連接提供可靠的傳輸服務,在通向網路的單一物理連接上實現該連接的復用,在單一連接上提供端到端的序號與流量控制、差錯控制及恢復等服務。