運輸協定
運輸層首先,運輸層之上的會話層、表示層及套用層均不包含任何數據傳輸的功能,而網路層又不一定需要保證傳送站的數據可靠地送至目的站;其次會話層不必考慮實際網路的結構、屬性、連線方式等實現的細節。根據運輸層在七層模型中的目的和地位,它的主要功能是對一個進行的對話或連線提供可靠的傳輸服務;在通向網路的單一物理連線上實現該連線的利用復用;在單一連線上進行端到端的序號及流量控制;進行端到端的差錯控制及恢復;提供運輸層的其它服務等。運輸層反映並擴展了網路層子系統的服務功能,並通過運輸層地址提供給高層用戶傳輸數據的通信連線埠,使系統間高層資源的共享不必考慮數據通信方面的問題。
基本功能:提供端到端(進程-進程)的可靠通信,即向高層用戶禁止通信子網的細節,提供通用的傳輸接口。
1.把傳輸地址映射為網路地址;2.把端到端的傳輸連線復用到網路連線上;3.傳輸連線管理;4.端到端的順序控制、差錯檢測及恢復、分段處理及QoS監測;5.加速數據傳送;6.將傳輸層的傳輸地址映射到網路層的網路地址;7.將多路的端點到端點的傳輸連線變成一路網路連線;8.傳輸連線的建立、釋放和監控;9.完成傳輸服務數據單元的傳送;10.端點到端點傳輸時的差錯檢驗及對服務質量的監督。
【TCP/IP的運輸層中的兩個協定】用戶數據報協定UDP(User Datagram Protocol):提供無連線服務;傳輸控制協定TCP(Transmission Control Protocol):提供面向連線服務。UDP和TCP都使用IP協定。1.用戶數據報協定UDP(User Datagram Protocol)UDP提供了不可靠的無連線傳輸服務。它使用IP攜帶報文,但增加了對給定主機上多個目標進行區別的能力。UDP沒有確認機制;不對報文排序;沒有逾時機制;沒有反饋機制控制流量;使用UDP的應用程式要承擔可靠性方面的全部工作。
2.傳輸控制協定TCP(Tranmission Control Protocal)面向連線的、可靠的、端到端的、基於位元組流的傳輸協定;TCP不支持多播(multicast)和廣播(broadcast);TCP連線是基於位元組流的,而非訊息流,訊息的邊界在端到端的傳輸中不能得到保留;對於應用程式發來的數據,TCP可以立即傳送,也可以快取一段時間以便一次傳送更多的數據。為了強迫數據傳送,可以使用PUSH標記;對於緊急數據(urgent data),可以使用URGENT標記。
【連線埠的概念】連線埠:用16位來表示,即一個主機共有65536個連線埠。序號小於256的連線埠稱為通用連線埠,如FTP是21連線埠,WWW是80連線埠等。連線埠用來標識一個服務或套用。一台主機可以同時提供多個服務和建立多個連線。連線埠(port)就是傳輸層的應用程式接口。套用層的各個進程是通過相應的連線埠才能與運輸實體進行互動。伺服器一般都是通過人們所熟知的連線埠號來識別的。例如,對於每個TCP/IP實現來說,FTP伺服器的TCP連線埠號都是21,每個Telnet伺服器的TCP連線埠號都是23,每個TFTP(簡單檔案傳輸協定)伺服器的UDP連線埠號都是69。任何TCP/IP實現所提供的服務都用眾所周知的1-1023之間的連線埠號。這些人們所熟知的連線埠號由Internet連線埠號分配機構(Internet Assigned Numbers Authority, IANA)來管理。
【用戶數據報UDP的格式】用戶數據報UDP包括兩個欄位:數據欄位和首部欄位。首部欄位有8個位元組,4個欄位組成,每個欄位兩個位元組。源連線埠欄位:源連線埠號;目的連線埠欄位:目的
運輸層UDP提供的服務:UDP提供的服務與IP協定一樣,是不可靠的、無連線的服務。但它於不同於IP協定,因為IP協定是網路層協定向運輸層提供無連線的服務,而UDP是傳輸層協定,它向套用層提供無連線的服務。UDP有以下優點:傳送數據之前不需要建立連線,傳送後也無需釋放,因此,減少了開銷和傳送數據的時延。UDP不使用擁塞控制,也不保證可靠交付,因此,主機不需要維護有許多參數的連線狀態表。UDP用戶數據報只有8個位元組的首部,比TCP的20個位元組的首部要短。由於UDP沒有擁塞控制,當網路出現擁塞不會使源主機的傳送速率降低。因此UDP適用實時套用中要求源主機的有恆定傳送速率的情況。
【TCP提供的服務】1.端到端的面向連線的服務;2.完全可靠性;全雙工通信;3.流接口;4.應用程式將數據流傳送給TCP;5.在TCP流中,每個數據位元組都被編號(序號);6.TCP層將數據流分成數據段並以序號來標識;7.可靠的連線建立和完美的連線終止。TCP協定是面向位元組的。TCP將所要傳送的報文看成是位元組組成的數據流,並使每一個位元組對應於一個序號。TCP的編號與確認:TCP不是按傳送的報文段來編號。TCP將所要傳送的整個報文看成是一個個位元組組成的數據流,然後對每一個位元組編一個序號。在連線建立時,雙方要商定初始序號。TCP就將每一次所傳送的報文段中的第一個數據位元組的序號,放在TCP首部的序號欄位中。TCP的確認是對接收到的數據的最高序號(即收到的數據流中的最後一個序號)表示確認。但返回的確認序號是已收到的數據的最高序號加1。也就是說,確認序號表示期望下次收到的第一個數據位元組的序號。由於TCP能提供全雙工通信,因此通信中的每一方都不必專門傳送確認報文段,而可以在傳送數據時順便把確認信息捎帶傳送。這樣可以提高傳輸效率。
【TCP報文段的格式】從TCP報文段格式圖可以看出,一個TCP報文段分為首部和數據兩部分。
TCP報文段源連線埠/目的連線埠:TSAP地址。用於將若干高層協定向下復用
傳送序號:是本報文段所傳送的數據部分第一個位元組的序號
確認序號:期望收到的數據(下一個訊息)的第一位元組的序號
首部長度:單位為32位(雙字);
控制欄位
緊急比特(URG):URG=1時表示加急數據,此時緊急指針的值為加急數據的最後一個位元組的序號;
確認比特(ACK):ACK=1時表示確認序號欄位有意義;
急迫比特(PSH):PSH=1時表示請求接收端的傳輸實體儘快交付套用層;
復位比特(RST):RST=1表示出現嚴重差錯,必須釋放連線,重建;
同步比特(SYN):SYN=1,ACK=0表示連線請求訊息。SYN=1,ACK=1表示同意建立連線訊息;
終止比特(FIN):FIN=1時表示數據已傳送完,要求釋放連線;
視窗大小:通知傳送方接收視窗的大小,即最多可以傳送的位元組數;
檢查和:12B的偽首部首部數據;
選項:長度可變。TCP只規定了一種選項,即最大報文段長度;
【TCP的流量控制】TCP使用滑動視窗機制來進行流量控制。當一個連線建立時,連線的每一端分配一個緩衝區來保存輸入的數據。當數據到達時,接收方傳送確認ACK,並包含一個視窗通告(剩餘的緩衝區空間的數量叫視窗)。如果傳送方收到一個零視窗通告,將停止傳送,直到收到一個正的視窗通告。當接收方視窗為0後套用層取出小部分數據將產生一個比較小的視窗通告,使得對方傳送一些小的數據段,效益很低。可以通過延遲傳送視窗通告或傳送方延遲傳送數據來解決。使用了視窗機制以後,提高了網路的吞吐量。
【TCP如何發現擁塞】1.收到ICMP的源抑制報文;2.逾時包丟失;3.TCP把發現包丟失解釋為網路擁塞。
運輸層TCP的重傳機制:TCP重傳機制是TCP中最重要和最複雜的問題之一。TCP每傳送一個報文段,就設定一次記時器。只要記時器設定的重傳時間到而還沒有收到確認,就要重傳這一報文段。TCP監視每一連線中的當前延遲,並適配重發定時器來適應條件的變化。重發定時器基於連線往返延遲:
RTTnew=(alpha*RTTold)((1-alpha)*RTTsample))
RTO=beta*RTTnew
TCP的運輸連線管理:1.運輸連線管理目的:使運輸連線的建立和釋放都能正常的進行;2.連線建立的採用的過程叫做三次握手協定或三次聯絡。三次握手(three-way handshake)方案解決了由於網路層會丟失、存儲和重複分組帶來的問題。三次握手正常建立連線的過程:主機A發出序號為X的建立連線請求CR TPDU。主機B發出序號為Y的接受連線確認ACK TPDU,並確認A的序號為X的建立連線請求。主機A發出序號為X的第一個數據DATA,並確認主機B的序號為Y的接受連線確認。
TCP的有限狀態機:TCP將連線可能處於的狀態及各種狀態可能發生的變遷,畫成如下圖所示的有限狀態機。圖中的每一個方框就是TCP可能具有的狀態。方框中寫的字是TCP標準中給該狀態起的名字。狀態之間的箭頭表示可能發生的狀態變遷。箭頭旁邊寫上的字,表示是什麼原因引起這種變遷,或表明發生狀態變遷後又出現什麼動作。
運輸協定等級
運輸層根據用戶要求和差錯性質,網路服務按質量可劃為下列三種類型:
A型網路服務
具有可接受的殘留差錯率和故障通知率(網路連線斷開和復位發生的比率),也就是無N—RESET完美的網路服務。B型網路服務
具有可接受的殘留差錯率和不可接受的故障通知率,即完美的分組遞交但有N-RESET或N-ISCNNECT存在的網路服務。C型網路服務
具有不可接的殘留差錯,即網路連線不可靠,可能會丟失分組或出現重複分組,且存在N-RISCONNET的網路服務。可見,網路服務質量的劃分是以用記戶要求比較高,則一個網路可能歸於C型,反之則一網路可能歸於B型甚至A型。例如:而同一網路對銀行系統來說則只能算作C型了。
運輸層五種協定級別中,級別0提供簡單的運輸連線,它是專為A型網路設計的。級別0提供具有商的連線建立、分段和差錯報告的數據運輸所需要複雜的功能,以及網路服務提供的流量控制和拆線功能。級別1以最小開銷提供了基本的運輸連線,它是專為B型網路連線設計的。級別1提供具有運輸連線,拆線和在一個網路連線上支持;連續的運輸連線的能,並提供檢級別0的功能以及在沒有運輸服務用戶參予的情況下由網路層告警的故障恢復能力。級別2具有在一個絡網連線,它是為與A型網路連線而設計的,級別2具有流量的控制的運輸連線的能力。它不是供檢錯或差恢復功能。級別3提供級別2的功能以外,還提供具有在無運輸服務用戶參的情況下,檢測由網路告警的故障恢復能力。級別4除提供級別3的功能以外,還提供具在無運輸服務用戶參情況下,檢測由網路服務提供者提供低質量服務而引起的故障,並從故障中自行恢復的能力。所檢測的故障類包括分組丟失、失序、重份和殘缺。級別4還提供增強抗網路故障的能力。它是專為C網路連線設計的。
【運輸協定數據單元的定義和結構】運輸協定數據單元(TPDU)結構是由數八位組(即位元組)構成的,位元組的編號從1開始,並按它們進入一個網路服務數據單元(NSDU)的順序遞增。每個字
運輸層運輸服務
運輸層服務類型
運輸服務有兩大類,面向連線的服務和無連線的服務。面向連線的服務提供運輸服務與用戶之間邏輯連線的建立、維持和拆除,是可靠的服務,可提供流量控制、差錯控制和序列控制。無連線服務即數據服務,只能提供不可靠的服務。服務等級
運輸協定實體應該允許運輸層用戶能選擇運輸層所提供的服務等級,以利於更有效地利用所提供的鏈路、網路及互連網路的資源。可供選擇的服務包括差錯和丟失數據的程度、允許的平均延遲和最大延遲、允許的平均吞吐率以及優先權水平等。根據這些要求,可將運輸層協定服務等級細分為以下四類:(1)可靠的面向連線的協定。(2)不可靠的無連線協定。(3)需要定序和定時運輸的話音運輸協定。(4)需要快速和高可靠的實時協定。
數據運輸
運輸層用戶接口
用戶接口機制可以有多種方式,包括採用過程調用、通過信箱運輸數據和參數、用DMA方式在主機與具有運輸層實體的前端處理機之間運輸等。
連線管理
面向連線的協定需要提供建立和終止連線的功能。一般總是提供對稱的功能,即兩個對話的實體都有連線管理的功能,對簡單的套用也有僅對一方提供連線管理功能的情況。連線的終止可以採用立即終止運輸,或等待全部數據運輸完再終止連線。
狀態報告
向運輸層用戶提供運輸實體或運輸連線的狀態信息。
安全保密
包括對傳送者和接收者的確認、數據的加密以及通過和解密以及通過保密的鏈路和節點的路由選擇等安全保密的服務。
服務質量
運輸層運輸連線建立延遲是指在連線請求和相應的連線確認之間容許的最大延遲。運輸連線失敗機率是在一次測量樣本中運輸連線的失敗總數與運輸連線建立的全部嘗試次數之比。連線失敗定義為由於服務提供者方面的原因造成在規定的最大容許建立延遲時間內所請求的運輸連線沒有成功,而由於用戶方面的原因造成的連線失敗機率內。
吞吐量是在某段時間間隙內單位時間運輸的用戶數據的位元組數,對每個方向都有吞吐量,它們由最大吞吐量和平均吞吐量組成。輸送延遲是在數據請求和相應的數據指示之間所經歷的時間,每個方向都有輸送延遲,包括最大輸送延遲和平均輸送延遲。殘留差錯率是在測量期間,所有錯誤的、丟失的和重複的用戶數據與所請求的用戶數據之比。運輸失敗機率是在進行樣本測量期間觀察到的運輸失敗總數與運輸樣本總數之比。
運輸連線拆除延遲是在用戶發起除請求到成功地拆除運輸連線之間可允許的最大延遲。運輸連線拆除失敗機率是引起拆除失敗的拆除請求次數與在測量樣本中拆除請求總次數之比。運輸連線保護是服務提供者為防止用戶信息在未經許可的情況下被監視或操作的措施,保護選項的無保護特性、針對被動監視的保護及針對增、刪、改的保護等。運輸連線優先權為用戶提供了指示不同的連線所具有的不同的重要性的方法。運輸連線的回彈率是指在規定時間間隔(如1秒)內,服務提供者發起的連線拆除(即無連線拆除請求的連線拆除指示)的機率。
運輸層OSI運輸服務定義(ISO8072)沒有具體給出QOS參數的編碼或允許值,這些參數通常在用戶與電信部門之間商定。為防止某些用戶對QOS過於貪心,大多數電信部門對於較高質量的服務相應地也收取較高的費用。OSI運輸服務原語:傳輸層為上一層的應用程式提供一個標準的原語集,為服務提供者和用戶之間進行可靠的數據傳輸架起了一座“橋樑”。ISO規範包括四種類型10個運輸服務原語,見表5.2。其中服務質量參數指示用戶的要求,諸如吞吐量、延遲、可靠度和優先度等。運輸服務(TS)用戶數據參數最多可達32個八進制用戶數據。
計算機通信網
| 了解計算機通信網和計算機通信網的發展史。 |

