計算機網路9 傳輸層

2021-10-21 07:22:07 字數 2596 閱讀 8334

傳輸層為應用層提供服務,並使用網路層的服務。

1.傳輸層提供程序和程序之間的邏輯通訊。(網路層提供主機之間的邏輯通訊)。

2.復用和分用。

3.傳輸層對收到的報文進行差錯檢測。

udp協議

無連線的使用者資料報協議udp

傳送資料之前不需要建立連線,收到udp報文後也不需要給出任何確認。

不可靠,無連線,時延小,適用於小檔案。

例:qq傳輸中的訊息傳送。

tcp協議
面向連線的傳輸控制協議tcp

傳輸資料之前必須先建立連線,資料傳送結束後要釋放連線。

不提供廣播與多播服務。

由於tcp要提供可靠的面向連線的傳輸服務,因此不可避免增加了許多開銷:

確認、流量控制、計時器及連線管理等。

可靠,面向連線,時延大,適用於大檔案。

例:qq中傳輸大檔案。

復用:應用層所有的應用程序都可以通過傳輸層再到網路層。

分用:傳輸層從網路層收到資料後交付指明的應用程序。

埠埠分為軟體埠與硬體埠,軟體埠是抽象的,也被稱為邏輯埠,是傳輸層中的sap,標識主機中的應用程序。

埠號只有本地意義,在網際網路中不同的計算機的相同埠是沒有聯絡的,意思及埠號只用來區分本地主機中的程序。

埠號長度為16bit,能表示65536個不同的埠。

埠號的劃分

服務端使用的埠號:

熟知埠號(0-1023):給tcp/ip最重要的一些應用程式,讓所有使用者都知道。

登記埠號(1024-49151):為沒有熟知埠號的應用程序使用。

客戶端使用的埠號(49152-65535):僅在客戶程序執行時才動態選擇。

熟知埠號舉例:

udp在ip資料報服務上增加了復用分用和差錯檢測功能。

udp主要特點:

udp是無連線的,減少開銷和傳送資料之前的時延。

udp使用最大努力交付,既不保證正可靠交付(最終的可靠傳輸由應用層保證)。

udp是面向報文的,適合一次性傳輸少量資料的網路應用。

應用層給udp多長的報文,udp就照樣傳送,即一次傳送乙個完整的報文(從而也體現了udp協議適合傳輸較小的報文)。

udp校驗

在傳送端:

填上偽首部

全0填充檢驗和字段

全0填充資料部分(udp資料報要看成許多4b的子串連線起來)

偽首部+首部+資料部分採用二進位制反碼求和

把和求反碼填入檢驗和字段

去掉偽首部,傳送

在接受端:

填上偽首部

偽首部+首部+資料部分採用二進位制反碼求和

結果全為1則無差錯,否則丟棄資料報/交給應用層附上差錯報告。

1.tcp是面向連線(虛連線)的傳輸層協議。

2.每一條tcp連線只能有兩個端點。每一條tcp連線只能是點對點的。(端對端,點對點都發生在傳輸層)。

3.tcp提供可靠交付的服務,無差錯、不丟失、不重複、按序到達。(可靠有序,不丟不重)。

4.tcp提供全雙工通訊。

<1>傳送快取:準備傳送的資料與已傳送但尚未接受到確認的資料。

<2>接受快取:按序到達但尚未被應用層接受讀取的資料與不按序到達的資料

5.面向位元組流:tcp把應用程式交下來的資料看成僅僅是一連串的無結構的位元組流。

tcp報文首部格式

控制位詳情:

在這裡插入描述

建立連線(三次握手)

第一次握手:客戶機向伺服器傳送連線請求報文段,無應用層資料。

控制位:syn=1;序號位:seq=x(隨機);

第二次握手:伺服器端收到請求報文段,並為該連線分配快取與變數,同時向客戶端返回確認報文段,表示允許連線,同時無應用層資料。

控制位:syn=1,ack=1;序號位:seq=y(隨機),ack=x+1(根據客戶機的seq來確定);

第三次握手:客戶端收到確認報文,並為連線分配快取與變數,同時向伺服器返回確認報文的確認報文段,同時可以攜帶應用層資料,開始正式的資料傳輸。

syn=0;ack=1(屬於確認報文),seq=x+1,ack=y+1;

釋放連線

​ 接收方會在建立連線之後向傳送方發出乙個接收視窗大小的值來告訴傳送方要將傳送視窗設定為多大,之後傳送方會設定為相應大的視窗,並傳送資料,之後接收方會不斷的在確認報文中傳送接收視窗的大小,當rwnd(視窗大小)為0時,表示傳送方可以停止傳送。此時傳送方會開始計時模式,在計時模式內若收到了視窗不為零的報文時,則開始再次傳輸,若計時結束時仍未收到報文,則傳送試探請求報文,則接收方會傳送此時的接收視窗大小。

慢重傳與擁塞控制;

快重傳與快恢復;

rwnd(視窗大小)為0時,表示傳送方可以停止傳送。此時傳送方會開始計時模式,在計時模式內若收到了視窗不為零的報文時,則開始再次傳輸,若計時結束時仍未收到報文,則傳送試探請求報文,則接收方會傳送此時的接收視窗大小。

慢重傳與擁塞控制;

快重傳與快恢復;

計算機網路 傳輸層

為什麼要劃分傳輸層?既然網路層已經能把源主機上發出的資料傳送給目的主機,那麼為什麼還需要加上乙個傳輸層呢?這就需要我們理解主機使用者應用層通訊的主體,位於兩台網路主機中真正的資料通訊主體並不是這兩台主機,而是兩台主機中的各種網路應用程序.同一時間一台主機上可能有多個程序同時執行,這時候就需要為應用程...

計算機網路(傳輸層)

網路層提供了主機之間的邏輯通訊,運輸層為運輸在不同主機上的程序之間提供了邏輯通訊。運輸層協議是在端系統中而不是在路由器中實現的。運輸協議能夠提供的服務常常受制於底層網路層協議的服務模型。底層無法提供時延或頻寬保證,運輸層協議也無法提供。但是即使底層網路協議不可靠,運輸協議也可以提供可靠的資料傳輸服務...

計算機網路 傳輸層

運輸層最重要的兩種協議 tcp協議,udp協議 真正的通訊 兩個主機之間應用程序的通訊 運輸層的重要功能 1 復用 傳送方的不同應用程序使用同乙個運輸層協議傳輸資料 應用層 運輸層 2 分用 接收方的運輸層在剝去報文首部後把資料真正交付到目的應用程序 運輸層 應用層 網路層和運輸層的區別 網路層說明...