以下是 SSH、HTTPS、HTTP、TCP、FTP 五大协议的全面对比表格,从核心定位、分层、安全、用途等维度拆解,结合技术原理和实际场景,方便你系统理解:
| 对比维度 | SSH(Secure Shell) | HTTPS(Hypertext Transfer Protocol Secure) | HTTP(Hypertext Transfer Protocol) | TCP(Transmission Control Protocol) | FTP(File Transfer Protocol) |
|---|---|---|---|---|---|
| 核心定义 | 安全的远程登录/数据传输协议,基于非对称加密实现身份认证和数据加密 | HTTP的加密版本,通过SSL/TLS层加密传输内容 | 超文本传输协议,用于传输网页、API数据等,明文传输 | 传输层可靠通信协议,提供面向连接、有序、无差错的数据传输 | 文件传输协议,用于本地与服务器间的文件上传/下载 |
| OSI/RM 分层 | 应用层(基于TCP实现,依赖传输层保障可靠性) | 应用层(基于TCP,封装HTTP+SSL/TLS) | 应用层(基于TCP,直接依赖传输层) | 传输层(位于IP层之上,应用层之下) | 应用层(基于TCP,需建立控制连接+数据连接) |
| 核心功能 | 1. 远程服务器登录;2. 加密数据传输(如Git代码推送);3. 安全文件传输(SFTP子功能) | 1. 网页浏览;2. API接口调用;3. 安全数据提交(如登录、支付) | 1. 网页传输;2. 明文数据交互(如早期网站访问) | 1. 建立可靠连接(三次握手);2. 数据分片/重组;3. 流量控制、重传机制 | 1. 文件上传(put);2. 文件下载(get);3. 目录浏览 |
| 安全性 | 高(全程加密): - 身份认证(公钥/私钥); - 数据传输加密(AES等); - 防窃听、防篡改 | 高(加密传输): - 基于SSL/TLS证书认证; - 数据加密传输; - 防中间人攻击 | 低(明文传输): - 数据不加密,易被窃听、篡改、伪造; - 无身份认证机制 | 无安全机制: - 仅保障传输可靠性,不加密数据; - 不提供身份认证 | 低(明文传输): - 用户名/密码、文件内容均明文; - 无加密和身份认证(早期版本) |
| 默认端口 | 22 | 443 | 80 | 无默认端口(应用层协议绑定端口,如HTTP用80) | 21(控制连接)、20(主动模式数据连接) |
| 连接特性 | 面向连接(基于TCP),一次连接可复用多次操作 | 面向连接(基于TCP),HTTP/1.1支持长连接 | 面向连接(基于TCP),早期为短连接,HTTP/1.1支持长连接 | 面向连接、可靠传输(有序、无重复、无丢失) | 面向连接(控制连接持久,数据连接按需建立) |
| 实际应用场景 | - Git通过SSH连接远程仓库; - Linux服务器远程登录(ssh root@IP); - SFTP安全文件传输 |
- 浏览器访问HTTPS网站(如淘宝、GitHub); - 手机App调用API接口; - 在线支付、登录等敏感操作 | - 早期明文网站访问(现在基本被HTTPS替代); - 内部非敏感数据传输 | - 所有依赖可靠传输的应用层协议(HTTP/HTTPS/SSH/FTP等); - 文件传输、视频通话等需要稳定连接的场景 | - 服务器批量文件上传/下载; - 早期网站文件管理(现在多被SFTP替代) |
| 优缺点总结 | ✅ 安全、可复用连接;❌ 配置复杂(需密钥对) | ✅ 安全、易用(无需额外配置);❌ 加密开销略高 | ✅ 简单、传输效率高;❌ 不安全(明文) | ✅ 可靠、稳定;❌ 开销略高(三次握手、重传机制) | ✅ 专注文件传输、功能简单;❌ 不安全、无断点续传(早期版本) |
| 与其他协议的关联 | 基于TCP实现,是"安全增强型"应用层协议 | 基于HTTP+SSL/TLS,是HTTP的安全升级版 | 基于TCP,是"基础型"应用层协议 | 为应用层协议提供传输保障,是互联网核心协议 | 基于TCP,专注文件传输,功能单一 |
核心逻辑补充(帮你理清层级关系):
- 分层逻辑:TCP 是「传输层协议」,是其他4个应用层协议的"底层支撑"------所有应用层协议(SSH/HTTPS/HTTP/FTP)都需要通过 TCP 建立连接,才能实现可靠数据传输;
- 安全逻辑 :
- 明文协议:HTTP、FTP(核心风险:数据易被窃听篡改);
- 加密协议:SSH、HTTPS(核心保障:传输加密+身份认证);
- 替代关系 :
- HTTPS 替代 HTTP(解决安全问题);
- SFTP(SSH子功能)替代 FTP(解决安全问题);
- 核心差异 :
- 应用层协议(SSH/HTTPS/HTTP/FTP):负责"明确数据传输的用途"(如网页、文件、远程登录);
- 传输层协议(TCP):负责"保障数据传输的可靠性"(不管用途,只保证数据能稳定传到)。
bash
分割线-----------------------------------------------------------------------------------
互联网中的协议数量没有绝对固定值------因为协议是分层设计(如OSI/RM 7层、TCP/IP 4层),不同层级、不同场景(通信、存储、安全等)都有对应的标准协议,且随着技术发展会持续新增/淘汰。
以下从「分层分类」角度,整理核心常用协议清单(覆盖你之前关注的协议,按TCP/IP分层逻辑归类),帮你建立系统认知:
一、TCP/IP分层核心协议总览(常用协议约50+,以下为关键分类)
| 分层 | 核心作用 | 常用协议清单(含你关注的协议) |
|---|---|---|
| 应用层 | 直接面向用户/应用,定义数据用途 | 1. 通信类:HTTP、HTTPS、SSH、FTP、SFTP、SMTP(邮件发送)、POP3/IMAP(邮件接收)、DNS(域名解析); 2. 数据交互类:REST API(基于HTTP)、WebSocket(实时通信)、MQTT(物联网); 3. 文件传输类:FTPS(FTP加密版)、SCP(SSH文件传输)、TFTP(简单文件传输); 4. 其他:Telnet(明文远程登录,已淘汰)、SNMP(设备管理)、NTP(时间同步) |
| 传输层 | 保障端到端数据传输可靠性/效率 | 1. 可靠传输:TCP(你关注的协议,HTTP/HTTPS/SSH/FTP均基于此); 2. 高效传输:UDP(视频通话、直播、DNS查询); 3. 其他:SCTP(融合TCP/UDP优势,用于电信网络) |
| 网络层(网际层) | 负责跨网络路由、地址寻址 | 1. 核心协议:IP(IPv4/IPv6,互联网基础); 2. 辅助协议:ICMP(网络诊断,如ping命令)、ARP(局域网地址解析)、RARP(反向地址解析)、IGMP(组播管理) |
| 数据链路层 | 负责物理链路数据传输(帧封装) | 1. 局域网:Ethernet(以太网协议)、WiFi(802.11系列协议); 2. 广域网:PPP(拨号上网)、HDLC(路由器通信); 3. 其他:VLAN(虚拟局域网)、STP(防环路) |
| 物理层 | 定义物理设备接口(电信号/硬件) | 1. 有线:RJ45(网线接口)、光纤传输协议; 2. 无线:蓝牙(802.15)、NFC、5G/4G(蜂窝网络协议); 3. 其他:RS-232(串口协议) |
二、关键补充说明
- 协议数量的"无限性" :
- 标准协议:仅IETF(互联网工程任务组)发布的RFC文档中,已标准化的协议就有上千个(大部分用于特定场景,如物联网、工业控制);
- 自定义协议:企业/开发者可基于底层协议(如TCP/UDP)设计私有协议(如游戏通信协议、工业设备协议),这类协议无统一统计;
- 核心协议vs边缘协议 :
- 你之前关注的TCP、HTTP、HTTPS、SSH、FTP属于「核心常用协议」(互联网基础);
- 边缘协议:如用于卫星通信的DVB-S2、工业控制的Modbus、物联网的CoAP等,仅在特定领域使用;
- 协议的"替代与演进" :
- 淘汰协议:Telnet(被SSH替代)、HTTP/1.0(被HTTP/1.1/2/3替代)、早期FTP(被SFTP/FTPS替代);
- 新增协议:HTTP/3(基于UDP,优化传输效率)、QUIC(谷歌推出,用于Chrome浏览器)、IPv6(替代IPv4解决地址枯竭)。
三、新手重点掌握清单(无需记所有协议)
| 分层 | 必学协议(工作/学习高频) | 核心用途 |
|---|---|---|
| 应用层 | HTTP、HTTPS、SSH、FTP、DNS | 网页访问、安全通信、远程登录、文件传输、域名解析 |
| 传输层 | TCP、UDP | 可靠传输(文件/网页)、高效传输(视频/直播) |
| 网络层 | IP、ICMP | 跨网络通信、网络诊断(ping) |
| 数据链路层 | Ethernet、WiFi | 局域网/无线局域网连接 |
简单说:协议是"互联网的语言",不同设备/场景需要不同的"语言"沟通,核心常用协议仅10+个,掌握这些就能应对大部分开发/运维场景。