一、 核心传输层协议 (Transport Layer)
这两个协议是互联网的基石,几乎所有其他高级协议(HTTP, MQTT等)都是建立在它们之上的。
| 协议 | TCP (Transmission Control Protocol) | UDP (User Datagram Protocol) |
|---|---|---|
| 特点 | 可靠、有序。像打电话,必须接通了才能说话,每句话对方都要确认"听到了"。 | 快速、不可靠。像寄明信片或广播,发出去就不管了,丢了也不负责重发。 |
| 优点 | 数据绝不会丢,也不会乱序。 | 速度极快,延迟极低,没有建立连接的繁琐过程。 |
| 缺点 | 慢,资源消耗大(握手、确认、重传)。 | 容易丢包,数据顺序可能乱掉。 |
| 适用场景 | 网页浏览、文件下载、邮件、支付接口(不能丢数据)。 | 直播、视频会议、在线游戏(丢几帧画面没事,但不能卡顿)。 |
二、 常见应用层协议 (Application Layer)
决定了数据"怎么打包"和"怎么交互"。
1. Web 与 数据交互类
| 协议 | HTTP / HTTPS | WebSocket |
|---|---|---|
| 全称 | HyperText Transfer Protocol (Secure) | WebSocket |
| 模式 | 请求-响应 (Request-Response)。 客户端问一句,服务器答一句。服务器不能主动说话。 | 全双工 (Full Duplex)。 建立连接后,服务器和客户端可以随时互相发消息。 |
| 特点 | 无状态(每次请求都是独立的)。HTTPS 是加密版,更安全。 | 保持长连接,实时性极高。 |
| 用途 | 绝大多数网页、App接口 (REST API)。 | 在线聊天室、股票实时报价、多人在线游戏、弹幕。 |
2. 物联网 (IoT) 类
| 协议 | MQTT (Message Queuing Telemetry Transport) | CoAP (Constrained Application Protocol) |
|---|---|---|
| 底层 | 基于 TCP | 基于 UDP |
| 模式 | 发布/订阅 (Pub/Sub)。设备A发消息,中间人(Broker)广播给订阅者。 | 请求/响应(类似迷你版的HTTP)。 |
| 特点 | 极轻量(包头仅2字节),省流量,适合网络差的环境。 | 适合资源极度受限的微型传感器(比MQTT还轻)。 |
| 用途 | 智能家居、车联网、工业传感器(如电表上报数据)。 | 极低功耗的传感器网络、NB-IoT设备。 |
3. 运维与文件类
| 协议 | FTP / SFTP | SSH (Secure Shell) |
|---|---|---|
| 作用 | 传文件。 | 远程控制。 |
| 区别 | FTP是明文传输(不安全);SFTP是加密传输(基于SSH)。 | 加密的命令行接口,用来远程登录服务器执行命令。 |
| 用途 | 网站上传代码、企业内部文件共享。 | 程序员远程登录Linux服务器进行维护。 |