常见的端口以及对应的服务
端口号的范围是 0 到 65535,其中:
- 0 - 1023: 熟知端口 (Well-known Ports) 或系统端口。这些端口被分配给一些最常见、最核心的网络服务,由IANA(互联网号码分配机构)统一管理。我们表格中的大部分端口都属于这个范围。
- 1024 - 49151: 注册端口 (Registered Ports)。可以被软件供应商注册,供其特定应用程序使用。
- 49152 - 65535: 动态端口 (Dynamic Ports) 或私有端口、临时端口。客户端程序通常使用这个范围内的端口与服务器建立连接。
客户端的端口可以重复使用吗?
在客户端执行 connect 函数的时候,只要客户端连接的服务器不是同一个,内核允许端口重复使用。
TCP 连接是由四元组(源IP地址,源端口,目的IP地址,目的端口)唯一确认的,那么只要四元组中其中一个元素发生了变化,那么就表示不同的 TCP 连接的。
所以,如果客户端已使用端口 64992 与服务端 A 建立了连接,那么客户端要与服务端 B 建立连接,还是可以使用端口 64992 的,因为内核是通过四元祖信息来定位一个 TCP 连接的,并不会因为客户端的端口号相同,而导致连接冲突的问题。
正向代理和反向代理
特性 | 正向代理 (Forward Proxy) | 反向代理 (Reverse Proxy) |
---|---|---|
服务对象 | 客户端 | 服务器端 |
客户端是否知情 | 通常知情 (主动配置代理) | 通常不知情 (以为直连目标服务) |
隐藏对象 | 隐藏真实客户端,对目标服务器透明 | 隐藏真实服务器,对客户端透明 |
主要作用点 | 客户端侧,作为客户端请求的出口 | 服务器侧,作为服务器接收请求的入口 |
典型应用 | 科学上网、内网访问控制、客户端缓存、身份隐藏 | 负载均衡、安全防护、SSL卸载、应用网关、缓存 |
谁发起的“代理” | 客户端请求代理去访问目标 | 代理服务器代表后端服务器集群接收客户端请求 |
IP暴露情况 | 目标服务器看到的是正向代理的IP | 客户端看到的是反向代理的IP,后端服务器IP被隐藏 |
Comments NOTHING