咱們知道一臺主機(對應一個IP地址)能夠提供不少服務,好比web服務,ftp服務等等。若是隻有一個IP,沒法卻分不一樣的網絡服務,因此咱們採用」IP+端口號」來區分不一樣的服務。
web
端口號是標識主機內惟一的一個進程,IP+端口號就能夠標識網絡中的惟一進程。在咱們一般用的Socket編程中,IP+端口號就是套接字編程
端口號是由16比特進程編號,範圍是0-65535,按照道理來說,這些端口你均可以隨便用。可是你不是vip用戶,因此有一些端口被vip用戶佔着。好比FTP 21 Ssh 22等等,因此給端口分了類,規定你可使用端口的範圍。
服務器
分類的維度不少,這裏咱們按照服務端使用仍是客戶端使用分類網絡
a.服務端使用的端口號進程
取值範圍0-1023,這些端口咱們編程的時候不能使用,是那些vip應用程序使用的,只有超級用戶特權的應用才容許被分配一個預留端口號ip
取值範圍1024-49151,就是咱們平時編寫服務器使用的端口號範圍ftp
b.客戶端使用的端口號程序
取值範圍49152-65535,這部分是客戶端進程運行時動態選擇的範圍,又叫臨時端口號客戶端