埠包括物理埠和邏輯埠。物理埠是用於連線物理裝置之間的介面,邏輯埠是邏輯上用於區分服務的埠。
tcp/ip協議
中的埠就是邏輯埠,通過不同的邏輯埠來區分不同的服務。乙個ip位址的埠通過16bit進行編號,最多可以有65536個埠。埠是通過埠號來標記的,埠號只有整數,範圍是從0 到65535。
埠有什麼用呢?我們知道,一台擁有ip位址的主機可以提供許多服務,比如web服務、ftp服務、smtp服務等,這些服務完全可以通過1個ip位址來實現。那麼,主機是怎樣區分不同的網路服務呢?顯然不能只靠ip位址,因為ip 位址與網路服務的關係是一對多的關係。實際上是通過「ip位址+埠號」來區 分不同的服務的。
伺服器一般都是通過知名埠號來識別的。例如,對於每個tcp/ip實現來說,ftp伺服器的tcp埠號都是21,每個telnet伺服器的tcp埠號都是23,每個tftp(簡單檔案傳送協議)伺服器的udp埠號都是69。任何tcp/ip實現所提供的服務都用知名的1~1023之間的埠號。這些知名埠號由internet號分配機構(internetassignednumbersauthority,iana)來管理。
到2023年為止,知名埠號介於1~255之間。256~1023之間的埠號通常都是由unix系統占用,以提供一些特定的unix服務—也就是說,提供一些只有unix系統才有的、而其他作業系統可能不提供的服務,iana管理1~1023之間所有的埠號。
internet擴充套件服務與unix特定服務之間的乙個差別就是telnet和rlogin。它們二者都允許通過計算機網路登入到其他主機上。telnet是採用埠號為23的tcp/ip標準且幾乎可以在所有作業系統上進行實現。rlogin只是為unix系統設計的(儘管許多非unix系統也提供該服務),它的有名埠號為513。
客戶端通常對它所使用的埠號並不關心,只需保證該埠號在本機上是唯一的就可以了。客戶端口號又稱作臨時埠號(即存在時間很短暫)。這是因為它通常只是在使用者執行該客戶程式時才存在,而伺服器則只要主機開著的,其服務就執行。
大多數tcp/ip實現給臨時埠分配1024~5000之間的埠號。大於5000的埠號是為其他伺服器預留的(internet上並不常用的服務)。我們可以在後面看見許多這樣的給臨時埠分配埠號的例子。
solaris2.2是乙個很有名的例外。通常tcp和udp的預設臨時埠號從32768開始。
理解IP位址和埠號
ip位址是乙個規定,現在使用的是ipv4,既由4個0 255之間的數字組成,在計算機內部儲存時只需要4個位元組即可。在計算機中,ip位址是分配給網絡卡的,每個網絡卡有乙個唯一的ip位址,如果乙個計算機有多個網絡卡,則該台計算機則擁有多個不同的ip位址,在同乙個網路內部,ip位址不能相同。ip位址的概...
理解IP位址和埠號
ip位址是乙個規定,現在使用的是ipv4,既由4個0 255之間的數字組成,在計算機內部儲存時只需要4個位元組即可。在計算機中,ip位址是分配給網絡卡的,每個網絡卡有乙個唯一的ip位址,如果乙個計算機有多個網絡卡,則該台計算機則擁有多個不同的ip位址,在同乙個網路內部,ip位址不能相同。ip位址的概...
理解ip位址和埠號
ip位址是乙個規定,現在使用的是ipv4,既由4個0 255之間的數字組成,在計算機內部儲存時只需要4個位元組即可。在計算機中,ip位址是分配給網絡卡的,每個網絡卡有乙個唯一的ip位址,如果乙個計算機有多個網絡卡,則該台計算機則擁有多個不同的ip位址,在同乙個網路內部,ip位址不能相同。ip位址的概...