1. 程式人生 > >計算機網路總結之運輸層

計算機網路總結之運輸層

運輸層

(1),基本術語

程序(process):

指計算機中正在執行的程式實體

應用程序互相通訊:

一臺主機的程序和另一臺主機中的一個程序交換資料的過程(另外注意通訊真正的端點不是主機而是主機中的程序,也就是說端到端的通訊是應用程序之間的通訊)

傳輸層的複用與分用:

複用指傳送方不同的程序都可以通過統一個運輸層協議傳送資料。分用指接收方的運輸層在剝去報文的首部後能把這些資料正確的交付到目的應用程序。

TCP(Transmission Control Protocol):

傳輸控制協議

UDP(User Datagram Protocol):

使用者資料報協議

埠的目的是為了確認對方機器是那個程序在於自己進行互動,比如MSN和QQ的埠不同,如果沒有埠就可能出現QQ程序和MSN互動錯誤。埠又稱協議埠號。

指傳送方每傳送完一個分組就停止傳送,等待對方確認,在收到確認之後在傳送下一個分組。

就是讓傳送方的傳送速率不要太快,既要讓接收方來得及接收,也不要使網路發生擁塞。

就是讓傳送方的傳送速率不要太快,既要讓接收方來得及接收,也不要使網路發生擁塞。

(2),運輸層重要知識點總結

1,運輸層提供應用程序之間的邏輯通訊,也就是說,運輸層之間的通訊並不是真正在兩個運輸層之間直接傳輸資料。運輸層嚮應用層遮蔽了下面網路的細節(如網路拓補,所採用的路由選擇協議等),它使應用程序之間看起來好像兩個運輸層實體之間有一條端到端的邏輯通訊通道。

2,網路層為主機提供邏輯通訊,而運輸層為應用程序之間提供端到端的邏輯通訊。

3,運輸層的兩個重要協議是使用者資料報協議UDP和傳輸控制協議TCP。按照OSI的術語,兩個對等運輸實體在通訊時傳送的資料單位叫做運輸協議資料單元TPDU(Transport Protocol Data Unit)。但在TCP/IP體系中,則根據所使用的協議是TCP或UDP,分別稱之為TCP報文段或UDP使用者資料報。

4,UDP在傳送資料之前不需要先建立連線,遠地主機在收到UDP報文後,不需要給出任何確認。雖然UDP不提供可靠交付,但在某些情況下UDP確是一種最有效的工作方式。 TCP提供面向連線的服務。在傳送資料之前必須先建立連線,資料傳送結束後要釋放連線。TCP不提供廣播或多播服務。由於TCP要提供可靠的,面向連線的運輸服務,這一難以避免增加了許多開銷,如確認,流量控制,計時器以及連線管理等。這不僅使協議資料單元的首部增大很多,還要佔用許多處理機資源。

5,硬體埠是不同硬體裝置進行互動的介面,而軟體埠是應用層各種協議程序與運輸實體進行層間互動的一種地址。UDP和TCP的首部格式中都有源埠和目的埠這兩個重要欄位。當運輸層收到IP層交上來的運輸層報文時,就能夠 根據其首部中的目的埠號把資料交付應用層的目的應用層。(兩個程序之間進行通訊不光要知道對方IP地址而且要知道對方的埠號(為了找到對方計算機中的應用程序))

6,運輸層用一個16位埠號標誌一個埠。埠號只有本地意義,它只是為了標誌計算機應用層中的各個程序在和運輸層互動時的層間介面。在網際網路的不同計算機中,相同的埠號是沒有關聯的。協議埠號簡稱埠。雖然通訊的終點是應用程序,但只要把所傳送的報文交到目的主機的某個合適埠,剩下的工作(最後交付目的程序)就由TCP和UDP來完成。

7,運輸層的埠號分為伺服器端使用的埠號(0~1023指派給熟知埠,1024~49151是登記埠號)和客戶端暫時使用的埠號(49152~65535)

8,UDP的主要特點是①無連線②盡最大努力交付③面向報文④無擁塞控制⑤支援一對一,一對多,多對一和多對多的互動通訊⑥首部開銷小(只有四個欄位:源埠,目的埠,長度和檢驗和)

9,TCP的主要特點是①面向連線②每一條TCP連線只能是一對一的③提供可靠交付④提供全雙工通訊⑤面向位元組流

10,TCP用主機的IP地址加上主機上的埠號作為TCP連線的端點。這樣的端點就叫做套接字(socket)或插口。套接字用(IP地址:埠號)來表示。每一條TCP連線唯一被通訊兩端的兩個端點所確定。

11,停止等待協議是為了實現可靠傳輸的,它的基本原理就是每發完一個分組就停止傳送,等待對方確認。在收到確認後再發下一個分組。

12,為了提高傳輸效率,傳送方可以不使用低效率的停止等待協議,而是採用流水線傳輸。流水線傳輸就是傳送方可連續傳送多個分組,不必每發完一個分組就停下來等待對方確認。這樣可使通道上一直有資料不間斷的在傳送。這種傳輸方式可以明顯提高通道利用率。

13,停止等待協議中超時重傳是指只要超過一段時間仍然沒有收到確認,就重傳前面傳送過的分組(認為剛才傳送過的分組丟失了)。因此每傳送完一個分組需要設定一個超時計時器,其重轉時間應比資料在分組傳輸的平均往返時間更長一些。這種自動重傳方式常稱為自動重傳請求ARQ。另外在停止等待協議中若收到重複分組,就丟棄該分組,但同時還要傳送確認。連續ARQ協議可提高通道利用率。傳送維持一個傳送視窗,凡位於傳送視窗內的分組可連續傳送出去,而不需要等待對方確認。接收方一般採用累積確認,對按序到達的最後一個分組傳送確認,表明到這個分組位置的所有分組都已經正確收到了。

14,TCP報文段的前20個位元組是固定的,後面有4n位元組是根據需要增加的選項。因此,TCP首部的最小長度是20位元組。

15,TCP使用滑動視窗機制。傳送窗口裡面的序號表示允許傳送的序號。傳送視窗後沿的後面部分表示已傳送且已收到確認,而傳送視窗前沿的前面部分表示不暈與傳送。傳送視窗後沿的變化情況有兩種可能,即不動(沒有收到新的確認)和前移(收到了新的確認)。傳送視窗的前沿通常是不斷向前移動的。一般來說,我們總是希望資料傳輸更快一些。但如果傳送方把資料傳送的過快,接收方就可能來不及接收,這就會造成資料的丟失。所謂流量控制就是讓傳送方的傳送速率不要太快,要讓接收方來得及接收。

16,在某段時間,若對網路中某一資源的需求超過了該資源所能提供的可用部分,網路的效能就要變壞。這種情況就叫擁塞。擁塞控制就是為了防止過多的資料注入到網路中,這樣就可以使網路中的路由器或鏈路不致過載。擁塞控制所要做的都有一個前提,就是網路能夠承受現有的網路負荷。擁塞控制是一個全域性性的過程,涉及到所有的主機,所有的路由器,以及與降低網路傳輸效能有關的所有因素。相反,流量控制往往是點對點通訊量的控制,是個端到端的問題。流量控制所要做到的就是抑制傳送端傳送資料的速率,以便使接收端來得及接收。

17,為了進行擁塞控制,TCP傳送方要維持一個擁塞視窗cwnd的狀態變數。擁塞控制視窗的大小取決於網路的擁塞程度,並且動態變化。傳送方讓自己的傳送視窗取為擁塞視窗和接收方的接受視窗中較小的一個。

18,TCP的擁塞控制採用了四種演算法,即慢開始,擁塞避免,快重傳和快恢復。在網路層也可以使路由器採用適當的分組丟棄策略(如主動佇列管理AQM),以減少網路擁塞的發生。

19,運輸連線的三個階段,即:連線建立,資料傳送和連線釋放。

20,主動發起TCP連線建立的應用程序叫做客戶,而被動等待連線建立的應用程序叫做伺服器。TCP連線採用三報文握手機制。伺服器要確認使用者的連線請求,然後客戶要對伺服器的確認進行確認。

21,TCP的連線釋放採用四報文握手機制。任何一方都可以在資料傳送結束後發出連線釋放的通知,待對方確認後進入半關閉狀態。當另一方也沒有資料再發送時,則傳送連線釋放通知,對方確認後就完全關閉了TCP連線

(3),運輸層最重要的內容

①,埠和套接字的意義

②,無連線UDP的特點

③,面向連線TCP的特點

④,在不可靠的網路上實現可靠傳輸的工作原理,停止等待協議和ARQ協議

⑤,TCP的滑動視窗,流量控制,擁塞控制和連線管理