傳輸層
計算機網路架構中傳輸層位置
從通訊和資訊處理的角度看,傳輸層向它上面的應用層提供通訊服務,它屬於 面向通訊部分的最高層,同時也是使用者功能中的最低層
當網路邊緣部分的兩臺主機使用網路的核心部分的功能進行端到端的通訊時, 只有主機的協議棧才有傳輸層 ,而網路核心部分中的 路由器在轉發分組時都只用到下三層的功能。 ( 路由器只需要尋找目的主機,只有資料交付至具體應用程序才涉及複用/分用,及埠的概念)
傳輸層
IP協議能夠將IP資料報由源主機交付至目的主機,那麼, 為什麼還需要傳輸層呢? 這是因為, 從IP層來說,通訊的兩端是兩個主機。 IP資料報的首部明確地標誌了這兩個主機的IP地址。但是“兩個主機之間的通訊”這種說法還不夠清楚,這是因為, 真正進行通訊的實體是在主機中的程序 ,是這個主機的一個程序和另外一個主機中的一個程序在交換資料。因此,嚴格來講, 兩個主機進行通訊就是兩個主機中的應用程序互相通訊
IP協議雖然將分組送到目的主機,但是這個分組還停留在主機的網路層而沒有交付主機中的應用程序。從傳輸層的角度看, 通訊的真正端點並不是主機而是主機中的程序。 也就是說,端到端的通訊是應用程序之間的通訊
傳輸層為相互通訊的應用程序提供邏輯通訊,即所謂的“端“到”端“通訊。並負責對收到的報文進行差錯檢驗,消除網路間不可靠性,提供從源端主機到目的端主機的可靠的、與實際使用的網路無關的資訊傳輸

複用與分用的概念
運輸層有一個很重要的功能——複用(multiplexing)和分用(demultiplexing)。這裡的複用是指傳送方不同的應用程序都可以使用同一個運輸層協議傳送資料(需要加適當首部),而分用是指接收方的運輸層在剝去報文的首部後,可以將這些資料正確交付目的應用程序
例如,某使用者在使用瀏覽器查詢某網站的資訊時,其主機的應用層執行瀏覽器客戶程序。如果在瀏覽網頁的同時,還要傳送電子郵件給網站傳送反饋意見,那麼主機的應用層就還要執行電子郵件客戶程序。如下圖所示,主機A的應用程序AP1和B的應用程序AP3通訊,此時,應用程序AP2也和對方的應用程序AP4通訊
生活中快遞郵寄站點,不同小區不同人群,共用一個快遞點,向外郵寄快遞,是複用過程。快遞員對來自電商網站,或其他渠道的快遞包拆分,依照聯絡方式分發給不同的使用者,是一個分用的過程
邏輯通訊的理解
邏輯通訊的意思是:從應用層來看,只要把應用層報文交給下面的運輸層,運輸層就可以把這報文傳送到對方的運輸層(哪怕有幾千公里的距離),好像這種通訊就是沿水平方向直接傳送資料。但事實上這兩個運輸層之間並沒有一條水平方向的物理連線。資料的傳送石沿圖中虛線方向,經過多個層次傳遞的。“邏輯通訊“的意思是,好像這樣通訊,但事實並非是這樣

在網路各個層之間,是透明傳輸的(對其他層不可見),同樣運輸層向高層使用者遮蔽了下面網路核心的細節(如網路拓撲、路由選擇協議等),它使應用程序看見的就是好像在兩個運輸層實體之間有一條端到端的通訊邏輯通訊通道
這條邏輯通訊通道對上層的表現卻因傳輸層使用的不同協議而有很大差別。當運輸層採用面向連線的TCP協議時,這種邏輯通訊通道就相當於一條全雙工的可靠通道。當採用面向無連線的UDP協議時,這條邏輯通訊通道仍然是一條不可靠通道
運輸層的兩個主要協議TCP與UDP
TCP/IP 的運輸層有兩個不同的協議:
(1) 使用者資料報協議 UDP (User Datagram Protocol)
(2) 傳輸控制協議 TCP (Transmission Control Protocol)
下圖給出了這兩種協議在協議棧中的位置

UDP 在傳送資料之前不需要先建立連線。對方的運輸層在收到 UDP 報文後,不需要給出任何確認 。UDP 不提供可靠交付
TCP 則提供面向連線的服務。TCP 不提供廣播或多播服務。由於 TCP 要提供可靠的、面向連線的運輸服務 ,因此不可避免地增加了許多的開銷。這不僅使協議資料單元的首部增大很多,也佔用許多的處理機資源
(1)傳輸層的 UDP 使用者資料報與網際層的IP資料報有很大區別。IP 資料報要經過互連網中許多路由器的儲存轉發,但 UDP使用者資料報是在傳輸層的端到端抽象的邏輯通道中傳送的。
(2)TCP報文段是在傳輸層抽象的端到端邏輯通道中傳送,這種通道是可靠的全雙工通道。但這樣的通道卻不知道究竟經過了哪些路由器,而這些路由器也根本不知道上面的傳輸層是否建立了 TCP 連線