端口的使用
讲个场景,银行当做服务器,银行里每一个窗口当做一个服务,每个窗口的服务内容不一样。你我他可以当做客户端,需要到窗口办事,但是我们每个人办的事情不一样,如果每个窗口服务没有一个编号表示对应的服务,你我他怎么知道要去哪个窗口办理业务。
一. 端口的作用:
一台主机(对应一个IP地址)可以提供很多服务,比如web服务,ftp服务等等。如果只有一个IP,无法却分不同的网络服务,所以我们采用”IP+端口号”来区分不同的网络服务。
二. 端口的定义:
端口号是标识主机内唯一的一个进程,IP+端口号就可以标识网络中的唯一进程。在我们通常用的Socket编程中,IP+端口号就是套接字 。
端口号是由16比特进行编号,范围是 0-65535,按照道理来讲,这些端口你都可以随便用。但是你不是vip用户,所以有一些端口被vip用户占着。比如FTP 21 Ssh 22等等,所以给端口分了类,规定你可以使用端口的范围。
三. 端口的分类
- 服务端使用
- 客户端使用
1. 服务端使用的端口号
- 预留端口号
取值范围0-1023,这些端口我们编程的时候不能使用,是那些vip应用程序使用的,只有超级用户特权的应用才允许被分配一个预留端口号 - 登记端口号
取值范围1024-49151,就是我们平时编写服务器使用的端口号范围 ,只要在这个范围就好。
### 2. 客户端使用的端口号
取值范围49152-65535,这部分是客户端进程运行时动态选择的范围,又叫临时端口号 。
### 总结 总之就是除了 1-1023 的端口号 其他基本是自己你定的。基本都在1024-49151的范围。