傳輸層也叫運輸層,是網(wǎng)絡(luò)體系結(jié)構(gòu)中關(guān)鍵層次之一。在tcp/ip體系結(jié)構(gòu)中,傳輸層中有兩個重要的協(xié)議:傳輸控制協(xié)議tcp和數(shù)據(jù)報udp。tcp是面向連接的、可靠的傳輸協(xié)議,在傳送數(shù)據(jù)之前必須先建立連接,數(shù)據(jù)傳送結(jié)束后要釋放連接。tcp不提供廣播或多播服務(wù)。由于tcp要提供可靠的、面向連接的傳輸服務(wù),因此不可避免地增加了許多開銷,如確認、流量控制、擁塞控制、連接管理等,這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多處理機資源。而udp則是無連接的、不可靠的傳輸協(xié)議,udp在傳送數(shù)據(jù)之前不需要建立連接,遠地主機的傳輸層在收到udp報文后,不需要給出任何確認。雖然udp不提供可靠交付,但在某些情況下udp卻是一種最有效的工作方式 。
傳輸層協(xié)議和網(wǎng)絡(luò)層協(xié)議的主要區(qū)別
在后面介紹的tcp和udp協(xié)議的首部格式中,我們要用到源端口和目的端口這兩個重要字段。這種在協(xié)議棧層間的抽象的協(xié)議端口是軟件端口,和路由器或交換機上的硬件端口是完全不同的概念。硬件端口是不同硬件設(shè)備進行交互的接口,而軟件端口是應(yīng)用層的各種協(xié)議進程與傳輸實體進行層間交互的一種地址。在一臺主機上可以同時運行多個程序,或者說同時又多個進程,主機收到一個數(shù)據(jù)報后應(yīng)該交付給哪個進程,就是由協(xié)議的端口號(port)來指定。這也是解決傳輸層的復(fù)用和分用功能的具體措施。所謂復(fù)用就是應(yīng)用層所有的應(yīng)用進程都可以通過傳輸層再傳送到ip層,而所謂分用就是傳輸層從ip層收到數(shù)據(jù)報后必須交付給指定的應(yīng)用進程。下面給出一些常用的端口號。