网络层五层协议

以下是 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,专注文件传输,功能单一

核心逻辑补充(帮你理清层级关系):

  1. 分层逻辑:TCP 是「传输层协议」,是其他4个应用层协议的"底层支撑"------所有应用层协议(SSH/HTTPS/HTTP/FTP)都需要通过 TCP 建立连接,才能实现可靠数据传输;
  2. 安全逻辑
    • 明文协议:HTTP、FTP(核心风险:数据易被窃听篡改);
    • 加密协议:SSH、HTTPS(核心保障:传输加密+身份认证);
  3. 替代关系
    • HTTPS 替代 HTTP(解决安全问题);
    • SFTP(SSH子功能)替代 FTP(解决安全问题);
  4. 核心差异
    • 应用层协议(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(串口协议)

二、关键补充说明

  1. 协议数量的"无限性"
    • 标准协议:仅IETF(互联网工程任务组)发布的RFC文档中,已标准化的协议就有上千个(大部分用于特定场景,如物联网、工业控制);
    • 自定义协议:企业/开发者可基于底层协议(如TCP/UDP)设计私有协议(如游戏通信协议、工业设备协议),这类协议无统一统计;
  2. 核心协议vs边缘协议
    • 你之前关注的TCP、HTTP、HTTPS、SSH、FTP属于「核心常用协议」(互联网基础);
    • 边缘协议:如用于卫星通信的DVB-S2、工业控制的Modbus、物联网的CoAP等,仅在特定领域使用;
  3. 协议的"替代与演进"
    • 淘汰协议: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+个,掌握这些就能应对大部分开发/运维场景。

相关推荐
小许学java4 小时前
网络编程套接字
java·网络·udp·socket·tcp·套接字
阿巴~阿巴~5 天前
JsonCpp:C++ JSON处理利器
linux·网络·c++·json·tcp·序列化和反序列化
cccyi75 天前
传输层协议:UDP 与 TCP 原理详解
计算机网络·udp·tcp
daidaidaiyu8 天前
Jetlinks 物联网平台 开源版学习源码分析
java·mqtt·rxjava·tcp
LaoZhangGong12310 天前
以太网HTTP数据包格式分析
c语言·stm32·网络协议·http·tcp·arp
罗汉松(山水白河)10 天前
关于串口与UDP通讯的实验
单片机·嵌入式硬件·网络协议·udp·tcp·串口、
阿巴~阿巴~12 天前
TCP服务器实现全流程解析(简易回声服务端):从套接字创建到请求处理
linux·服务器·网络·c++·tcp·socket网络编程
_星辰大海乀13 天前
TCP 协议
网络·网络协议·tcp/ip·tcp
喵手18 天前
网络编程:Java中的TCP与UDP通信!
java·udp·网络编程·tcp