天天看點

運輸層協定運輸層

運輸層

1.運輸層協定概述

1.1程序間的通信

從通信和資訊處理的角度看,運輸層向它上面的應用層提供通信服務,它屬于通信面向通信部分的最高層,同時也是使用者功能中的最底層。兩個主機進行通信就是兩個主機中的應用程序互相通信,IP協定雖然能把 分組送到目的主機,但是這個分組還停留在主機的網絡層而沒有傳遞主機中的應用程序,從運輸層看,通信真正的端點并不是主機而是主機中的程序。
           

​ 網絡層和運輸層的明顯差別是:網絡層是為主機間提供邏輯通信,而運輸層為應用程序之間提供端到端的邏輯通信。運輸層還要對收到的封包進行差錯檢測。

1.2 運輸層的兩個協定

​ (1)使用者資料報協定(UDP)。

​ (2)傳輸控制協定(TCP)。

1.3 運輸層的端口

​ 運輸層的複用和分用功能也是類似的,應用層所有的應用程序都可以通過運輸層再傳送到IP層(網絡層),這就是複用,運輸層從IP層接收到資料後必須傳遞指明的應用程序。這就是分用,顯然,給應用層的每個應用進儲層賦予一個非常明确的标志是至關重要的。

​ 解決這個問題的方法就是在運輸層使用協定端口号,雖然通信的終點是應用程序,但我們隻要把要傳送的封包交到目的主機的某一個合适的端口,剩下的工作就由TCP來完成。

​ TCP/IP的運輸層用一個16位的端口号來标志一個端口,但請注意,端口号隻具有本地意義,他隻是為了标志本計算機應用層中的各個程序在和運輸層互動時的層間接口,在不同的計算機中,相同的端口号是沒有關聯的。

​ (1)伺服器使用的端口号 這裡又分為兩類:熟知端口号和 系統端口号,數值為0~1023。下表 給出了一些常用的熟知端口号:

應用程式 FTP TLENET SMTP DNS TFTP HTTP SNMP SNMP(trap)
熟知端口号 21 23 25 53 69 80 161 162

​ 另一類叫登記端口号,數值為1024~49151.這類端口号是為沒有熟知端口号的應用程式使用的。

​ (2)用戶端使用的端口号。數值為49152~65535。由于這類端口号僅在客戶程序運作時才動态選擇,是以又叫作短暫端口号。

2.使用者資料報協定UDP

2.1 UDP概述

​ (1)UDP是無連接配接的:即發送資料之前不需要建立連結。

​ (2)UDP使用盡最大努力傳遞

​ (3)UDP是面向封包的:UDP對應用層交下來的封包,既不合并,也不拆分,而是保留這些封包的邊界。

​ (4)UDP沒有擁塞控制

​ (5)UDP支援一對一,一對多,多對一和多對多的互動通信。

​ (6)UDP首部開銷小,隻有8個位元組,比TCP的20個位元組的首部要短。

2.2 UDP的首部格式

3.傳輸控制協定TCP概述

3.1 TCP主要特點

​ (1)TCP是面向連接配接的運輸層協定

​ (2)每一條TCP連接配接隻能有兩個端點,每一條TCP連接配接隻能是點對點的。

​ (3)TCP提供可靠傳遞的服務。通過TCP連接配接傳送的資料,無差錯,不丢失,不重複,并且有序到達。

​ (4)TCP提供全雙工通信。TCP允許通信雙方在任何時候都能發送資料,TCP連接配接的兩端都設有發送緩存和接受緩存,用來臨時存放雙向通信的資料。在發送時,應用程式在把資料傳送給TCP的緩存後,就可以做自己的事情,而TCP在合适的時候把資料發送出去。在接受時,TCP把收到的資料放入緩存,上層的應用程序在合适的時候讀取緩存中的資料。

​ (5)面向位元組流。TCP中的“流“指的是流入到程序或從程序流出的位元組序列。

3.2 TCP的連接配接

​ TCP連接配接的端點叫套接字或插口,端口号拼接到IP位址即構成了套接字:套接字 socke = (IP位址:端口号)。每一條TCP連接配接唯一地被通信兩端的兩個端點(即兩個套接字)所确定。即:TCP連接配接 ::= { socket1,socket2} = { (IP1:port1),(IP2:port2)}

4.可靠傳輸原理

​ 理想傳輸條件有以下兩個特點:

​ (1)傳輸信道不産生差錯

​ (2)不管發送方以多快的速度發送資料,接收方總是來得及處理收到的資料。

繼續閱讀