端口&端口号
端口
网络通信除了知道IP还要知道对方的端口。何为端口?
何为端口?端口是传输数据的通道,是数据传输必经之路
当运行一个web程序默认会有一个端口号,当这个程序退出时,所占用的这个端口号就会被释放
端口号
何为端口号?操作系统为了统一管理这么多端口,就对端口进行了编号,这就是端口号,端口号其实就是一个数字,好比我们现实生活中的门牌号。端口号最多可以使用65536个(0-65535)。
端口号分类:
-
众所周知端口(Well-known Ports):
- 端口范围:0-1023
- 用途:这些端口是为一些常见的服务和协议保留的,例如HTTP(端口80)、FTP(端口21)、SSH(端口22)、SMTP(端口25)等。
-
注册端口(Registered Ports):
- 端口范围:1024-49151
- 用途:这些端口被IANA(Internet Assigned Numbers Authority)注册,供特定应用程序或服务使用。例如,Oracle数据库监听(端口1521)、MySQL数据库(端口3306)等。
-
动态/私有端口(Dynamic/Private Ports):
- 端口范围:49152-65535
- 用途:这些端口用于临时分配给客户端应用程序,通常由操作系统动态选择。在网络通信中,客户端应用程序会随机选择一个可用的动态端口与服务器进行通信。
此外,还有一些特殊用途的端口分类:
-
保留端口(Reserved Ports):
- 端口范围:被保留,不使用具体的端口号
- 用途:这些端口被保留不使用,用于特殊目的。例如,端口0表示保留端口,端口65535表示全网广播。
-
Ephemeral端口/临时端口(Ephemeral Ports):
- 端口范围:动态选择,通常是49152-65535
- 用途:这些端口由操作系统分配给客户端应用程序,用于临时的网络通信。通常,客户端应用程序会随机选择一个可用的临时端口与服务器进行通信。
需要注意的是,以上的分类是一种常见的约定,并非绝对规定。实际上,端口号的使用可以根据具体的应用程序和需求进行自定义。