端口的作用:
我們知道一台主機(對應一個IP地址)可以提供很多服務,比如web服務,ftp服務等等。如果只有一個IP,無法卻分不同的網絡服務,所以我們采用”IP+端口號”來區分不同的服務。
端口的定義:
端口號是標識主機內唯一的一個進程,IP+端口號就可以標識網絡中的唯一進程。在我們通常用的Socket編程中,IP+端口號就是套接字
端口號是由16比特進程編號,范圍是0-65535,按照道理來講,這些端口你都可以隨便用。但是你不是vip用戶,所以有一些端口被vip用戶占着。比如FTP 21 Ssh 22等等,所以給端口分了類,規定你可以使用端口的范圍。
端口的分類
分類的維度很多,這里我們按照服務端使用還是客戶端使用分類
a.服務端使用的端口號
- 預留端口號
取值范圍0-1023,這些端口我們編程的時候不能使用,是那些vip應用程序使用的,只有超級用戶特權的應用才允許被分配一個預留端口號
- 登記端口號
取值范圍1024-49151,就是我們平時編寫服務器使用的端口號范圍
b.客戶端使用的端口號
取值范圍49152-65535,這部分是客戶端進程運行時動態選擇的范圍,又叫臨時端口號