Skip to content

模块导航: 总入口 · 总纲与方法 · 后端场景 · AI与算法工程 · 国企与金融 · 网络问答


20. 应用层协议族与默认端口(热度 291 / 280 · 进阶) ​

Q: 列举常见应用层协议、作用与默认端口。

A:

协议与端口总表 ​

协议作用传输层端口
HTTP网页传输TCP80
HTTPS加密网页传输TCP(HTTP/3 为 UDP/QUIC)443
DNS域名解析UDP(大响应/区域传送 TCP)53
FTP文件传输(控制/数据双连接)TCP21(控制)/20(主动数据)
SSH安全远程登录TCP22
SMTP发送邮件TCP25 / 587(提交)
POP3收邮件(下载后本地管理)TCP110
IMAP收邮件(服务器端管理/多端同步)TCP143
DHCP动态分配 IPUDP67(服务端)/68(客户端)
SNMP网络管理UDP161 / 162(Trap)
Telnet远程登录(明文,已淘汰)TCP23
相关加密版SMTPS/ POP3S/ IMAPS 等TCP465/995/993 等

补充:NTP 123/UDP、Redis 6379、MySQL 3306、PostgreSQL 5432、Kafka 9092;HTTP/3 仍常用 443 但走 UDP/QUIC。

协议细节加分 ​

FTP 主动 vs 被动

  • 主动模式: 客户端连接 21 建控制连接;传输时服务器用 20 端口主动连接客户端的数据端口。NAT/防火墙后常失败(外部主动入站被拦)。
  • 被动模式(PASV): 服务器告知一个随机高端口,客户端主动连过去。更适合 NAT/防火墙,现代客户端默认更常见。
  • 控制连接始终在线传命令;数据连接单独建立传文件/目录列表。

DHCP 四步(DORA)

  1. Discover(客户端广播,尚无 IP,目的 255.255.255.255)
  2. Offer(服务器提供 IP 等)
  3. Request(客户端请求选用)
  4. ACK(服务器确认)

DNS: 查询默认 UDP 53;区域传送 AXFR/IXFR 用 TCP 53。

邮件三件套: SMTP 发;POP3 拉到本地;IMAP 留在服务器多端同步。企业环境常见 TLS 变体端口。

设计动机 ​

  • 知名端口(0–1023): 客户端无需事先约定即可找到标准服务。
  • 注册端口(1024–49151)与动态/私有端口(49152–65535): 应用注册与客户端临时源端口。
  • 控制/数据分离(FTP): 命令通道稳定,数据通道可按需建立、支持多文件与目录。
  • UDP 选择(DNS/DHCP/SNMP): 小消息、广播/查询-响应、低延迟;重要大传输再升级 TCP。

常见追问 ​

追问 1:FTP 为什么两个连接?主动被动区别?为何 NAT 下被动更好?

  • 答题要点: 控制/数据分离便于命令与传输并行、多文件。主动是服务器连客户端(入站难);被动是客户端连服务器协商端口(出站易通过 NAT/防火墙)。

追问 2:TCP 53 和 UDP 53 会冲突吗?

  • 答题要点: 不会。内核 socket 以协议+端口等区分,可并存。对应主库第 72 题。

追问 3:DHCP 客户端还没 IP,怎么发 Discover?

  • 答题要点: 使用源 0.0.0.0、目的 255.255.255.255 的广播;服务器 Offer 后经 DORA 完成配置。跨网段靠 DHCP 中继(giaddr)。

易错点 ​

易错说法纠正
「HTTPS 端口不是 443」默认 443;HTTP/3 仍是 443 但传输 UDP
「FTP 数据固定 20」主动模式常见 20;被动模式是协商高端口
「DNS 只有 UDP」大响应/区域传送 TCP
「SSH 和 Telnet 差不多」SSH 加密认证,Telnet 明文已淘汰
「端口号决定安全性」端口是约定;安全靠协议本身(TLS/SSH)

与选择题对照 ​

  • 主库 150: 第 72–77 题(端口与 FTP 模式)、第 65 题(用 UDP 的应用)、第 57 题(DHCPDISCOVER 目的地址)、第 79–83 题(DNS)、第 74/91 题(HTTP/HTTPS)、第 134 题(SNMP)、第 75 题(SMTP/POP3 端口)。
  • 补题 16: 补-14(SMTP/POP3/IMAP 功能与端口)、补-15(广域网 ATM 53 字节信元,对比分组概念)、补-16(网管 FCAPS,SNMP 背景)。
  • 口述联动: 选择题背端口数字;面试要能讲 FTP 主动/被动、DHCP DORA、DNS TCP/UDP 切换。

工程 / 抓包背景 ​

  • 探测端口:
    bash
    ss -lntup
    telnet example.com 443   # 或 nc -vz host port
    curl -v telnet://127.0.0.1:22
  • 抓包: Wireshark 过滤 dns、ftp、ftp-data、dhcp、ssl/tls、ssh。
  • Nginx: 80/443 监听;stream 模块可代理非 HTTP(如 TCP 代理)。
  • curl: curl -v ftp://...(支持 FTP)、curl -v https://...;dig +short 查 DNS。
  • 安全检查: 线上不要暴露 Telnet/FTP 明文;管理端口限制来源 IP;DNS 用 DoH/DoT 时关注 443 上的名称解析流量。

持续学习,持续积累。