傳輸層低層為網路層,上層為應用層。
傳輸層的主要目的是實現可靠的端到端連線,為實現應用層的各種網路服務功能做好保證。
主要功能是實現分布式程序通訊。
為了實現主要功能,需要注意以下幾個問題:
1、網路層ip位址標識了主機和路由器的位置資訊;路由選擇演算法可以在internet中選擇一條由多段「點-點」組成的傳輸路徑;ip協議通過這條傳輸路徑完成傳輸ip分組。傳輸層會利用低層提供的服務,建立程序與程序之間的「端-端」連線。這裡的端意味著埠。
2、網路層提供的是一種盡力而為的服務,所以可靠控制需要交由傳輸層來負責。
3、傳輸層可以遮蔽傳輸網實現技術的差異性,彌補網路層提供服務的不足。
為了實現上述功能,傳輸層引入了一些新的概念。
傳輸實體:如果說上述都是概念,那麼實現這些概念的就是實體。那在計算機中,實現概念的就是軟體,所以傳輸層中實現傳輸層協議的軟體就稱為傳輸實體。
tpdu:傳輸協議資料單元,傳輸層之間傳輸的報文。
套接字:在一台計算機中,不同的程序需要用程序號唯一標識。程序號也稱為埠號。在網路環境中,標識乙個程序必須同時使用ip位址與埠號。如「151.8.22.51:80」
網路中標識程序的方法
實現網路環境中分布式程序通訊首先要解決兩個問題:程序的標識和多重協議的識別。
前者在套接字處有了個印象,我們再深入了解一下。
由於internet應用程式型別很多,例如c/s工作模式的ftp,snmp,e-mail等,以及很多p2p的工作模式應用。這些應用分別使用了tcp或者udp。為了區別不同的網路應用工作程式,tcp與udp規定用不同的埠號來表示不同的應用程式。
埠號的分配方式:
tcp/ip協議中,埠號的數值範圍為0~65535.
埠號的型別:
熟知埠號:0~1023.tcp/ip給每種標準的internet伺服器程序分配乙個確定的全域性埠號,稱為熟知埠號。
註冊埠號:1024~49151.當使用者開發了一種新的網路應用程式時,為了防止這種應用在internet上使用時發生衝突,可以為這種新的網路應用的伺服器程式在iana登記乙個註冊埠號。
臨時埠號:49152~65535.客戶程序使用臨時埠號,它是由執行在客戶上的tcp/ip軟體隨機選取的。臨時埠號只對一次通訊有效。
多重協議的識別:網路中的兩台主機要使用程序通訊,必須規定好使用的傳輸層協議,也就是在通訊前就確定都採用tcp還是都使用udp。
所以網路中乙個程序的全網唯一標識應該是:協議+ip位址+埠號。
傳輸層的多路復用與多路分解
其實很好理解,一台計算機上基本不可能只跑著乙個應用程式。假設乙個情況,客戶端和服務端同時執行四個應用程式,分別為網域名稱服務(dns)、web服務(http)、電子郵件(smtp)與網路管理(snmp)。其中smtp與http使用tcp協議,其餘兩個使用udp協議。
現在開始想,雖然他們在傳輸層是四個tpdu,但是在網路層,它們都要被封裝進ip分組裡面再傳輸給接收端。在接收端再重新取出為四個tpdu。
這個過程就是多路復用和多路分解。
tcp和udp就交給另一篇文章討論了
計算機網路 傳輸層
為什麼要劃分傳輸層?既然網路層已經能把源主機上發出的資料傳送給目的主機,那麼為什麼還需要加上乙個傳輸層呢?這就需要我們理解主機使用者應用層通訊的主體,位於兩台網路主機中真正的資料通訊主體並不是這兩台主機,而是兩台主機中的各種網路應用程序.同一時間一台主機上可能有多個程序同時執行,這時候就需要為應用程...
計算機網路(傳輸層)
網路層提供了主機之間的邏輯通訊,運輸層為運輸在不同主機上的程序之間提供了邏輯通訊。運輸層協議是在端系統中而不是在路由器中實現的。運輸協議能夠提供的服務常常受制於底層網路層協議的服務模型。底層無法提供時延或頻寬保證,運輸層協議也無法提供。但是即使底層網路協議不可靠,運輸協議也可以提供可靠的資料傳輸服務...
計算機網路 傳輸層
運輸層最重要的兩種協議 tcp協議,udp協議 真正的通訊 兩個主機之間應用程序的通訊 運輸層的重要功能 1 復用 傳送方的不同應用程序使用同乙個運輸層協議傳輸資料 應用層 運輸層 2 分用 接收方的運輸層在剝去報文首部後把資料真正交付到目的應用程序 運輸層 應用層 網路層和運輸層的區別 網路層說明...