傳輸層是實現(xiàn)兩個用戶進程之間端到端的可靠通信。經(jīng)傳輸層處理后,都應(yīng)表現(xiàn)為可靠的、順序提交的服務(wù)。
7.1 傳輸服務(wù)
最常用的傳輸服務(wù)是面向連接的服務(wù),面向連接意味著可靠和有序提交。然而實現(xiàn)這種服務(wù)必須付出建立、維護和終止邏輯連接的開銷。
無連接的服務(wù)(或稱數(shù)據(jù)報服務(wù))不保證可靠的順序提交,這個缺點有時顯得不很重要。
服務(wù)質(zhì)量 QOS ( Quality of Service )。服務(wù)質(zhì)量參數(shù)是在建立連接過程中可協(xié)商的:
殘留錯誤率;
傳輸失敗的概率;
平均(或最大)傳輸時延;
平均(或最大)吞吐率;
優(yōu)先級。
有些應(yīng)用層協(xié)議由于其特殊性總是希望得到特別的服務(wù)質(zhì)量。如:文件傳輸協(xié)議、事務(wù)處理協(xié)議、電子郵件協(xié)議。
加急投送服務(wù):傳輸層實體可以提供加急投送服務(wù),這種服務(wù)類似于高優(yōu)先級服務(wù)。
連接管理服務(wù):傳輸協(xié)議的主要作用是提供端—端數(shù)據(jù)傳送服務(wù)。
7.2 傳輸協(xié)議
ISO 定義了三種類型的傳輸網(wǎng)絡(luò)服務(wù):
A 型:網(wǎng)絡(luò)連接具有可接受的殘留差錯率和可接受的失效通知率。
B 型:網(wǎng)絡(luò)連接具有可接受的殘留差錯率和不可接受的失效通知率。
C 型:網(wǎng)絡(luò)連接具有不可接受的殘留差錯率。
如果網(wǎng)絡(luò)協(xié)議檢測到了差錯,但不能恢復(fù),則必須通知傳輸實體,這叫失效通知。
如果差錯既沒有得到糾正,也沒有通知傳輸實體,這就是殘留差錯。
A 型網(wǎng)絡(luò)服務(wù)是可靠的網(wǎng)絡(luò)服務(wù);
大多數(shù) X.25 公用數(shù)據(jù)網(wǎng)屬于 B 型網(wǎng)絡(luò);
C 型網(wǎng)絡(luò)是不可靠的網(wǎng)絡(luò)。
不同的網(wǎng)絡(luò),需要不同的傳輸協(xié)議, ISO 定義了 5 種類型的傳輸協(xié)議: TP0 、 TP1 、 TP2 、 TP3 和 TP4。
TP0 協(xié)議最簡單,適應(yīng)于 A 型網(wǎng)絡(luò), TP0 提供的端到端的傳輸連接是基于網(wǎng)絡(luò)連接管理的。
TP1 協(xié)議適應(yīng)于 B 型網(wǎng)絡(luò),它在 TP0 協(xié)議的基礎(chǔ)上增加了最基本的差錯恢復(fù)功能,差錯恢復(fù)功能表現(xiàn)在對傳輸協(xié)議數(shù)據(jù)單元( TPDU )編號。
TP2 是 TP0 的增強型協(xié)議,同樣適用于 A 型網(wǎng)絡(luò)。它不同于 TP0 協(xié)議之處在于提供了多路復(fù)用功能。
TP3 協(xié)議綜合了 TP1 和 TP2 的優(yōu)點,它既具有 TP2 的多路復(fù)用和流控能力,也提供 TP1 的差錯恢復(fù)功能,適用于 B 型網(wǎng)絡(luò)。
TP4 協(xié)議適用于 C 型網(wǎng)絡(luò)。 TP4 協(xié)議最復(fù)雜,功能也最齊全。
接收傳輸實體要求限制數(shù)據(jù)流動的速率可能是出于下面的原因:
接收端用戶來不及接收數(shù)據(jù);
接收端傳輸實體來不及接收數(shù)據(jù)。
實現(xiàn)傳輸層流控可采用下面一些方案:
接收傳輸實體拒絕接受網(wǎng)絡(luò)服務(wù)送來的 TPDU ;
利用固定大小的滑動窗口協(xié)議;
利用 credit 信貸滑動窗口協(xié)議 .( P144 圖 7.2 )
建立連接的過程有三個作用:
使通信雙方確信對方存在;
協(xié)商任選參數(shù),例如 TPDU 長度、窗口大小及服務(wù)質(zhì)量等;
分配傳輸實體資源,例如存儲緩沖區(qū)、連接入口表項等。
7.3 TCP 和 UDP
在 TCP/IP 協(xié)議簇中有兩個傳輸級協(xié)議:傳輸控制協(xié)議 TCP ( Transmission Control Protocol )和用戶數(shù)據(jù)報協(xié)議 UDP ( User Datagram Protocol )。 TCP 是面向連接的,而 UDP 是無連接的。 Internet 使用 TCP/IP 協(xié)議。
TCP 協(xié)議提供面向連接的可靠的傳輸服務(wù),可適用于各種可靠的或不可靠的網(wǎng)絡(luò)。 TCP 的功能基本與 ISO TP4 協(xié)議等價,但兩者有一個重要的差別,即 TCP 的數(shù)據(jù)傳送模型是面向字節(jié)流的,而 ISO TP4 是面向報文序列的。
TCP 用戶送來的是字節(jié)流形式的數(shù)據(jù): TCP 實體自主地決定如何把字節(jié)流分段,組成 TPDU 發(fā)送出去。 TCP 實體決定何時把積累的在接收緩沖區(qū)中的字節(jié)流數(shù)據(jù)提交給用戶。 TCP 也允許用戶把字節(jié)流分成報文,即推進( PUSH )命令指出報文的界限。
TCP 段頭標志字段的控制信息 FIN 表示:數(shù)據(jù)發(fā)送完,連接可釋放。 TCP 對連接的終止采用平穩(wěn)斷連的方法。連接的任何一端在數(shù)據(jù)要發(fā)送完時,把最后一個數(shù)據(jù)段的 FIN 標志置位,表示這是最后一批數(shù)據(jù),連接可以隨后關(guān)閉,但這是一方必須繼續(xù)接收遠端發(fā)來的數(shù)據(jù),直到收到對方發(fā)來的 FIN 置位的段。這樣, TCP 的斷連是兩方獨立進行的,不會破壞途中傳播的數(shù)據(jù),而且還不需要采取額外防止破壞途中數(shù)據(jù)的措施。(判斷、簡答)
同步標志 SYN 用于連接建立階段。 TCP 用三次握手過程建立連接,首先是發(fā)起方發(fā)送一個 SYN 標志置位( =1 )的字段,其中的發(fā)送順序號為某個值 X ,稱為寢順序號 ISN ( Initial Sequence Number )。
5 . UDP 也是常用的傳輸層協(xié)議,它對應(yīng)用級提供無連接的傳輸服務(wù),雖然這種服務(wù)是不可靠的,不保證順序的提交,但這并沒有減少它的使用價值。