計算機網路基礎 運輸層

2021-10-01 23:03:58 字數 1464 閱讀 4966

運輸層協議是在端系統而不是在網路路由器中實現的。在傳送方,運輸層將接受來自傳送應用程序的報文,並將其換成運輸層分組——運輸層報文段。然後將這些報文段傳送給網路層(網路層不檢查封裝在運輸層報文段的字段)。在接受放,就是乙個逆過程,不做贅述。

運輸層實際就是將主機間交付擴充套件到程序間交付,稱為運輸層的多路復用(transport-layer multiplexing)與多路分解(demultiplexing)。

程序有乙個或者多個套接字(socket),它相當於從網路向程序傳遞資料和從程序向網路傳遞資料的門戶。而運輸層實際上沒有直接將資料交給程序,而是交給了套接字來傳遞給程序。這其中,將運輸層報文段中的資料交付到正確的套接字(因為套接字有多個)的工作稱為多路分解。而反過來,從不同套接字手機資料塊,並為每個資料塊封裝上首部資訊(header用於在多路分解的時候使用)從而生成報文段,然後將報文段傳遞到網路層的工作稱為多路復用。

為此,套接字需要有唯一的識別符號,每個報文段有特殊欄位來指示該報文段所交付的套接字。這些特殊字段就是源埠號目的埠號

但注意,udp套接字是由乙個包含目的ip位址和目的埠號的二元組來標識的,如果源埠號不一致而目的埠號一致,會被相同的套接字定向到相同的程序上。

而tcp套接字是由**乙個四元組(源ip位址,源埠號,目的ip位址,目的埠號)**來標識的。

在使用udp的時候,傳送方和接收方沒有進行握手,因此是無連線的。dns就是乙個通常使用udp應用層協議的例子。

udp和tcp的比較:

前面說到過,它是面向連線的,而不是連線的,這一點至關重要。面向連線是說,在乙個應用程序向另乙個應用程序傳送資料之前,必須進行握手。

tcp連線提供的是全雙工服務,也就是資料流是雙向的。tcp也總是點對點的,即單個傳送方與單個接收方之間的連線。

一旦建立起tcp連線,就可以相互傳送資料了。一般來說,tcp會將從套接字獲得的資料放在傳送快取中。接收方也會有乙個tcp接受快取,應用程式從此快取中讀取資料流。

是快取就可能有溢位的可能,tcp提供了流量控**務(flow-control service)來消除傳送方和接收方快取溢位的可能。因此,可以說流量控**務是乙個速度匹配服務,即傳送發的傳送速率與接收方的讀取速率匹配。這種控制是通過傳送發維護乙個接受視窗的變數來實現的,接受視窗是接收方告訴傳送方,該接收方還有多少快取空間的(在每次資料段傳遞中告訴)。因為tcp是全雙工的,所以傳送方和接收方其實都會有乙個接受視窗。

在寬泛的層次上,我們課根據網路層是否為運輸層提供了顯式的幫助來區分擁塞控制方法:

計算機網路 運輸層

問題 一 運輸層為相互通訊的的應用程序提供邏輯通訊 問題二 埠和套接字的意義 問題三 理解udp和tcp協議 問題四 在不可靠的網路上實現可靠傳輸的工作原理 問題五 tcp的滑動視窗 流量控制 擁塞控制和連線管理 1 埠 應用層所有的應用程序都可以通過運輸層傳送到ip層,這就是復用 運輸層從ip層收...

計算機網路 運輸層

運輸層協議作用於端系統,為執行在不同主機上的程序提供了邏輯通訊,將主機間的交付擴充套件到程序間交付。該層的分組稱為segment 報文段 多路復用 主機把不同套接字 每生成乙個套接字同時分配乙個埠號 收集的資料封裝後生成報文段,傳送給網路層 多路分解 將運輸層報文段的不同資料 通過套接字的埠號 交付...

計算機網路 運輸層

運輸層協議為執行在不同主機上的應用程序之間提供了邏輯通訊 logic communication 功能。運輸層協議是在端系統中而不是在路由器中實現的 在傳送端,運輸層將從傳送應用程式程序接收到的報文轉換成運輸層分組 運輸層報文段,segment 實現的方法 可能 是將應用報文劃分為較小的塊,並為每塊...