Linux 運輸層的埠

2021-08-02 23:14:42 字數 1229 閱讀 2943

既然提到埠,我們就來分析一下為什麼要使用埠的緣由吧。我們首先要知道的是,運輸層有復用和分用的功能。應用層所有的應用程序都可以通過運輸層再傳送到ip層,這就是復用。運輸層從ip層收到資料後必須交付到指明的應用程序,這就是分用。我們知道,單個程序是用程序識別符號來標誌的,但在計算機作業系統指派的程序識別符號標誌執行在應用層的程序是不行的,因為不同的作業系統使用不同的程序識別符號。為了讓不同作業系統間也實現程序間通訊,因此得用一種方法對tcp/ip體系的應用程序進行標誌。同時,我們在進行通訊的時候,必須知道起點和終點,即通訊的一方和另一方,那麼我們如何識別終點呢,這裡就要使用到協議埠號(埠)。雖然通訊的終點是應用程序,但我們要傳送的報文交到目的主機的某乙個合適的目的埠,剩下的工作就由tcp來完成。

關於埠,分為軟體埠和硬體埠。

軟體埠:在協議棧層間的抽象的協議埠,應用層的各種協議程序與運輸實體進行層間互動的一種位址

硬體埠:不同硬體裝置進行互動的介面

在tcp/udp的首部格式中,都有源埠和目的埠。當運輸層收到ip層交上來的運輸層報文時,就能根據其首部中的目的埠把資料交付應用層的目的應用程序。

tcp/ip的運輸層用乙個16位埠號來標誌乙個埠,埠號只具有本地的意義。

注:不同的計算機具有相同的埠是沒有關聯的

16位的埠號可允許有65535個不同的埠號。

埠號的分類:

伺服器端使用的埠號:分為兩類,(1)熟知埠號(系統埠號):數值為0-1023;這些數值在www.iana.org中可查到。常用的熟知埠號為:

(2)登記埠號,數值為1024-49151,這類埠號是為沒有熟知埠號的應用程式使用的。使用這類埠號需在iana按照規定的手續登記,防止重複。

客戶端使用的埠號:數值為49152-65535,這類埠號在客戶程序執行時動態選擇,因此稱為短暫埠號。當伺服器程序收到客戶程序的請求報文時,就知道客戶程序的埠號,因而把資料傳送給客戶程序。通訊結束後,客戶端口號就不存在,此埠號也可以分配給其他客戶程序使用。

運輸層的埠

執行在計算機中的程序是用程序識別符號來標識的。但執行在應用層的各種應用程序卻不應當讓計算機作業系統指派它的程序識別符號。這是因為在網際網路上使用的計算機的作業系統種類很多,而不同的作業系統又使用不同格式的程序識別符號。為了使執行不同作業系統的計算機的應用程序能夠互相通訊,就必須用統一的方法對tcp ...

理解運輸層的埠

運輸層的資料最終是要傳遞給應用層的程序的,那麼如何準確的傳給目的程序就成為了乙個問題。因為源主機和目的主機很可能是不同的系統,因而無法使用程序標誌符 二者的識別符號系統可能不同 來確定程序。因此,埠產生了。通訊的終點是乙個程序,但是只要把資料傳遞給指定的埠就行了,等協議負責將該埠的資料傳遞到目的程序...

運輸層簡介

封裝和解封 復用和分用 流量控制 差錯控制 運輸層位於網路層和應用層之間,運輸層負責向應用層提供服務,同時它接受來自網路層的服務。運輸層協議主要負責程序到程序間的通訊。程序可以理解未是使用了運輸層服務的應用層實體。比如nginx程序,mysql程序等,都需要把資料傳給運輸層,由運輸層負責把資料報傳輸...