端口&端口号

发布时间 2023-08-09 23:26:00作者: Allen_Hao

端口

网络通信除了知道IP还要知道对方的端口。何为端口?

 

 何为端口?端口是传输数据的通道,是数据传输必经之路

 

当运行一个web程序默认会有一个端口号,当这个程序退出时,所占用的这个端口号就会被释放

 端口号

 

何为端口号?操作系统为了统一管理这么多端口,就对端口进行了编号,这就是端口号,端口号其实就是一个数字,好比我们现实生活中的门牌号。端口号最多可以使用65536个(0-65535)。

 端口号分类:

 

  1. 众所周知端口(Well-known Ports):

    • 端口范围:0-1023
    • 用途:这些端口是为一些常见的服务和协议保留的,例如HTTP(端口80)、FTP(端口21)、SSH(端口22)、SMTP(端口25)等。
  2. 注册端口(Registered Ports):

    • 端口范围:1024-49151
    • 用途:这些端口被IANA(Internet Assigned Numbers Authority)注册,供特定应用程序或服务使用。例如,Oracle数据库监听(端口1521)、MySQL数据库(端口3306)等。
  3. 动态/私有端口(Dynamic/Private Ports):

    • 端口范围:49152-65535
    • 用途:这些端口用于临时分配给客户端应用程序,通常由操作系统动态选择。在网络通信中,客户端应用程序会随机选择一个可用的动态端口与服务器进行通信。

此外,还有一些特殊用途的端口分类:

  1. 保留端口(Reserved Ports):

    • 端口范围:被保留,不使用具体的端口号
    • 用途:这些端口被保留不使用,用于特殊目的。例如,端口0表示保留端口,端口65535表示全网广播。
  2. Ephemeral端口/临时端口(Ephemeral Ports):

    • 端口范围:动态选择,通常是49152-65535
    • 用途:这些端口由操作系统分配给客户端应用程序,用于临时的网络通信。通常,客户端应用程序会随机选择一个可用的临时端口与服务器进行通信。

需要注意的是,以上的分类是一种常见的约定,并非绝对规定。实际上,端口号的使用可以根据具体的应用程序和需求进行自定义。