TCP协议作为网络通信的基石,确保了数据的完整、顺序和可重传传输,是众多应用协议依赖的可靠通道。深入了解TCP/IP协议栈对于掌握网络技术至关重要。本文将100多种协议按生活场景、技术层级和端口号进行系统梳理,形成一张“藏宝图”,帮助您快速定位协议、应对面试、排障和架构设计。
一、先给你一张“藏宝图”
TCP就像一条高效的地下隧道,只要应用需要“数据完整、顺序、可重传”,就会选择基于TCP构建协议。下面按“生活场景→技术场景→端口号”三级结构折叠呈现,让您在5分钟内快速定位任何协议,随拿随用。
二、生活场景级地图(先认路,再钻洞)
| 你日常在干嘛 |
背后跑的协议 |
常用端口 |
一句话记忆 |
| 刷网页/小程序 |
HTTP、HTTPS、HTTP/2、WebSocket、gRPC |
80、443 |
443是互联网“暗号” |
| 发邮件 |
SMTP、POP3、IMAP |
25、587、110、143、995、993 |
收993,发587,加密全带走 |
| 传文件 |
FTP、SFTP、rsync、BitTorrent |
21、22、873、6881+ |
FTP老矣,SFTP真香 |
| 远程桌面 |
RDP、VNC、SSH X11 |
3389、5900、6000+ |
3389是Windows的“后门” |
| 打游戏 |
Minecraft、Steam下载、RCON |
25565、27015+ |
下载走TCP,对战UDP |
| 看视频 |
RTMP、HLS、SRT |
1935、80、2968 |
直播先RTMP,回放HLS |
| 工控大屏 |
Modbus TCP、OPC UA、IEC-104 |
502、4840、2404 |
电厂“心跳”2404 |
| 区块链 |
Stratum、JSON-RPC |
3333、8545 |
矿池3333,以太坊8545 |
三、技术场景级“十层妖塔”
(从下往上,端口→场景→常见问题)
① 网络基础设施层
- 协议与端口:DNS区传输(53)、BGP(179)、NTP(123)、Whois(43)
- 常见问题:DNS TCP 53端口被防火墙遗忘开启,可能导致辅域同步失败。
② 安全隧道层
- 协议与端口:OpenVPN(1194)、SSTP(443)、SSH动态隧道(22)
- 常见问题:TCP-in-TCP双重重传机制,在高延迟场景下需谨慎使用。
③ 远程登录/运维层
- 协议与端口:Telnet(23)、SSH(22)、RDP(3389)、VNC(5900)
- 常见问题:Telnet使用明文传输,抓包可直接查看密码,安全性低。
④ Web & API层
- 协议与端口:HTTP、HTTPS、WebSocket、gRPC、GraphQL、HLS、SRT
- 常见问题:HTTP/2多路复用结合大包头,抓包分析时“Stream ID”可能令人困惑。
⑤ 文件传输层
- 协议与端口:FTP、FTPS、SFTP、rsync、BitTorrent
- 常见问题:FTP主动模式使用20端口到高端口,易被NAT配置搞崩连接。
⑥ 邮件层
- 协议与端口:SMTP、POP3、IMAP及TLS加密版本
- 常见问题:云厂商常默认封锁25端口,记得使用587端口提交邮件。
⑦ 目录/认证层
- 协议与端口:LDAP(389)、Kerberos(88)、RADIUS记账(1813)
- 常见问题:LDAP查询若无索引优化,可能导致TCP连接数被打满。
⑧ 数据库层
- 协议与端口:MySQL(3306)、PostgreSQL(5432)、SQL Server(1433)、Oracle(1521)、MongoDB(27017)、Redis(6379)
- 常见问题:Redis默认无鉴权,若暴露TCP 6379端口等于系统裸奔,更多数据库与中间件知识可参考数据库/中间件专题。
⑨ 消息/中间件层
- 协议与端口:MQTT(1883)、AMQP(5672)、Kafka(9092)、RabbitMQ(5672)、NATS(4222)
- 常见问题:Kafka 9092端口若开放公网访问,极易被扫描攻击。
⑩ 工业/物联网层
- 协议与端口:Modbus TCP(502)、OPC UA(4840)、IEC-104(2404)、DNP3(20000)
- 常见问题:工控机常开502端口,漏洞利用可能导致“停电站”级别风险。
四、一张“端口号藏宝图”高清版
(建议右键→新标签页放大查看)
21 FTP 22 SSH/SFTP 23 Telnet 25 SMTP
43 Whois 53 DNS-TCP 80 HTTP 88 Kerberos
110 POP3 123 NTP-TCP 143 IMAP 179 BGP
3306 MySQL 502 Modbus 873 rsync 993 IMAPS
1433 SQL Server 1521 Oracle 1883 MQTT 2404 IEC-104
3306 MySQL 5432 PostgreSQL 5672 AMQP 6379 Redis
9092 Kafka 1935 RTMP 2968 SRT 4840 OPC UA
五、实战锦囊:3个排障秒招
- 端口不通:先使用
telnet IP 端口 命令测试TCP三次握手是否成功,快速区分是网络/防火墙问题还是服务崩溃。
- 抓包分析:在Wireshark等工具中过滤
tcp.analysis.retransmission,若重传率超过1%,需怀疑丢包或网络拥塞。
- 高端口扫描:运行
netstat -an | find "ESTABLISHED" 查看已建立连接,核对源IP,若来自非常用地区且连接6379等端口,应立即通过防火墙拉黑。
六、结语:把“藏宝图”贴墙上
下次面试被问到“Redis默认端口多少?”或“IEC-104协议用于什么场景?”,您脑中可瞬间弹出这张“十层妖塔”地图,答案秒出。TCP上的协议虽多,但核心逻辑不外乎“场景→端口→常见问题”这条主线。收藏、打印或贴墙,愿它成为您Debug时的实用“地下交通图”。
|