常用网络协议原理完全教程:HTTP/HTTPS、FTP、SSH、DNS、DHCP核心解析
网络协议是计算机之间通信的“语言”,决定了数据如何在网络中传输、交互和解析。本文从实际应用场景出发,拆解HTTP/HTTPS、FTP、SSH、DNS、DHCP五大高频协议的核心原理、工作流程和应用场景,内容通俗易懂,适合网络初学者快速掌握核心知识点。
一、HTTP/HTTPS协议:网页访问的核心协议
1. HTTP协议(超文本传输协议)
核心定义
HTTP(HyperText Transfer Protocol)是基于TCP/IP协议的应用层协议,用于在客户端(浏览器)和服务器之间传输超文本(如HTML、图片、视频等),是网页访问的基础。
核心特性
- 无状态:服务器不会记录客户端的访问状态,每次请求都是独立的(例如登录状态需通过Cookie/Session补充);
- 明文传输:所有数据以明文形式传输,存在被截获、篡改的风险;
- 基于请求-响应模型:客户端发送请求,服务器返回响应,一次请求对应一次响应;
- 默认端口:80端口。
工作流程(以访问网页为例)
- 客户端(浏览器)通过DNS解析得到目标网站的IP地址;
- 客户端与服务器建立TCP连接(三次握手);
- 客户端发送HTTP请求(包含请求方法、请求头、请求体);
- 常见请求方法:GET(获取资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源);
- 服务器处理请求,返回HTTP响应(包含状态码、响应头、响应体);
- 常见状态码:200(成功)、404(资源不存在)、500(服务器内部错误)、302(重定向);
- 客户端解析响应内容,渲染网页;
- 断开TCP连接(四次挥手,HTTP/1.1默认开启Keep-Alive,可复用连接)。
实际应用场景
- 普通网页访问、接口调用(如非敏感数据的API请求);
- 缺点:明文传输易被劫持,无法保证数据完整性和安全性。
2. HTTPS协议(安全超文本传输协议)
核心定义
HTTPS(HTTP Secure)是HTTP的安全版本,在HTTP基础上增加了SSL/TLS加密层,解决了明文传输的安全问题。
核心特性
- 加密传输:采用对称加密+非对称加密结合的方式,保证数据机密性;
- 身份验证:通过数字证书验证服务器身份,防止钓鱼网站;
- 数据完整性:通过哈希算法验证数据是否被篡改;
- 默认端口:443端口。
加密流程(核心)
- 客户端发起HTTPS请求,服务器返回数字证书(包含公钥);
- 客户端验证证书合法性(由CA机构签发),验证通过后生成随机对称密钥;
- 客户端用服务器公钥加密对称密钥,发送给服务器;
- 服务器用私钥解密得到对称密钥;
- 后续客户端与服务器的所有数据,均通过对称密钥加密传输。
实际应用场景
- 电商网站、支付页面、登录界面等敏感数据传输场景;
- 现在主流网站均采用HTTPS(浏览器地址栏显示“锁形”图标)。
HTTP与HTTPS核心区别
| 特性 | HTTP | HTTPS |
|---|---|---|
| 安全性 | 明文传输,不安全 | 加密传输,安全 |
| 端口 | 80 | 443 |
| 证书 | 无需 | 需要CA机构签发的证书 |
| 性能 | 快(无加密开销) | 稍慢(加密解密耗时) |
二、FTP协议:文件传输协议
核心定义
FTP(File Transfer Protocol)是用于在网络上进行文件传输的应用层协议,基于TCP/IP实现,支持文件的上传、下载、删除、重命名等操作。
核心特性
- 基于TCP连接:使用两个端口,保证传输可靠性;
- 控制端口(21端口):用于传输指令(如登录、上传/下载命令);
- 数据端口(20端口):用于传输实际文件数据;
- 支持两种模式:
- 主动模式(PORT):服务器主动向客户端发起数据连接;
- 被动模式(PASV):客户端主动向服务器发起数据连接(更常用,避免客户端防火墙拦截);
- 身份验证:默认需要用户名和密码(也支持匿名访问,如匿名FTP服务器)。
工作流程(以上传文件为例)
- 客户端与服务器21端口建立TCP控制连接;
- 客户端输入用户名和密码,完成身份验证;
- 客户端发送“上传文件”指令,协商数据传输模式(主动/被动);
- 建立数据连接(主动模式:服务器20端口→客户端端口;被动模式:客户端→服务器随机端口);
- 传输文件数据;
- 数据传输完成,断开数据连接;
- 客户端发送退出指令,断开控制连接。
实际应用场景
- 网站服务器文件上传(如上传网页源码)、批量文件传输;
- 缺点:明文传输用户名/密码和文件数据,安全性低(可使用SFTP(基于SSH的FTP)替代)。
三、SSH协议:安全远程登录协议
核心定义
SSH(Secure Shell)是一种加密的网络协议,用于安全地远程登录服务器或执行命令,替代了传统的Telnet(明文传输,不安全)。
核心特性
- 加密传输:全程加密,防止数据被截获、篡改;
- 身份验证:支持密码验证、公钥验证(更安全);
- 默认端口:22端口;
- 多功能性:除远程登录外,还支持文件传输(SFTP)、端口转发等。
工作流程(远程登录服务器)
- 客户端向服务器发起SSH连接请求(目标端口22);
- 服务器返回公钥给客户端;
- 客户端验证服务器身份(首次登录需确认服务器指纹);
- 客户端与服务器协商加密算法(如AES)和会话密钥;
- 客户端输入用户名/密码(或使用私钥),服务器验证身份;
- 验证通过后,建立加密的SSH会话,客户端可执行远程命令;
- 会话结束,断开连接。
实际应用场景
- 服务器运维(远程登录Linux服务器);
- 安全文件传输(SFTP替代FTP);
- 端口转发(如内网穿透)。
SSH与Telnet核心区别
| 特性 | Telnet | SSH |
|---|---|---|
| 安全性 | 明文传输 | 加密传输 |
| 端口 | 23 | 22 |
| 身份验证 | 仅密码 | 密码/公钥/双因素验证 |
| 应用场景 | 测试/内网使用 | 生产环境/公网使用 |
四、DNS协议:域名解析协议
核心定义
DNS(Domain Name System)是域名系统的核心协议,作用是将易记的域名(如www.baidu.com)转换为计算机可识别的IP地址(如14.215.177.38),解决“记IP难”的问题。
核心特性
- 分布式系统:DNS服务器分为根服务器、顶级域服务器、权威服务器、本地DNS服务器,层级解析;
- 基于UDP/TCP:优先使用UDP(53端口,解析速度快),数据量大时用TCP;
- 缓存机制:本地DNS服务器会缓存解析结果,减少重复解析。
工作流程(解析www.baidu.com为例)
- 客户端向本地DNS服务器(如路由器/运营商DNS)发送域名解析请求;
- 本地DNS服务器检查缓存,若有结果直接返回;若无,向根服务器发起请求;
- 根服务器返回顶级域(.com)服务器的IP;
- 本地DNS服务器向.com服务器发起请求,返回baidu.com权威服务器的IP;
- 本地DNS服务器向baidu.com权威服务器发起请求,返回www.baidu.com的IP;
- 本地DNS服务器将IP返回给客户端,并缓存该结果;
- 客户端通过IP访问目标服务器。
实际应用场景
- 所有域名访问的基础(无DNS,需手动输入IP);
- 常见问题:DNS污染(解析结果被篡改)、DNS缓存失效(域名解析不生效)。
五、DHCP协议:动态主机配置协议
核心定义
DHCP(Dynamic Host Configuration Protocol)是用于自动分配IP地址的协议,解决手动配置IP的繁琐问题,广泛应用于局域网。
核心特性
- 自动分配:为客户端分配IP地址、子网掩码、网关、DNS服务器等网络参数;
- 租约机制:IP地址有使用期限(租约),到期前客户端需续租;
- 基于UDP:客户端端口68,服务器端口67;
- 四种分配方式:自动分配(永久使用)、动态分配(租约到期回收)、手动分配(管理员指定)、静态分配(固定IP)。
工作流程(动态分配IP)
- 客户端开机后,发送DHCP Discover广播(寻找DHCP服务器);
- 网络中的DHCP服务器收到广播,发送DHCP Offer报文(提供IP地址等参数);
- 客户端选择第一个收到的Offer,发送DHCP Request广播(确认使用该IP);
- DHCP服务器确认后,发送DHCP ACK报文(确认租约,包含IP有效期);
- 客户端配置IP地址,接入网络;
- 租约到期前,客户端发送DHCP Request续租;若服务器无响应,客户端重新发起Discover。
实际应用场景
- 家庭路由器、公司局域网(自动为手机、电脑分配IP);
- 避免IP地址冲突(手动配置易重复),简化网络管理。
六、五大协议核心对比与应用总结
| 协议 | 核心作用 | 传输层协议 | 默认端口 | 安全性 | 典型应用场景 |
|---|---|---|---|---|---|
| HTTP | 网页/接口数据传输 | TCP | 80 | 低(明文) | 普通网页访问、非敏感API调用 |
| HTTPS | 安全的网页/接口数据传输 | TCP | 443 | 高(加密) | 支付、登录、电商网站 |
| FTP | 文件传输 | TCP | 21/20 | 低(明文) | 批量文件上传(内网) |
| SSH | 远程登录/安全文件传输 | TCP | 22 | 高(加密) | 服务器运维、SFTP文件传输 |
| DNS | 域名解析 | UDP/TCP | 53 | 中(可加密) | 域名转IP |
| DHCP | 自动分配IP | UDP | 67/68 | 低(局域网) | 局域网IP分配 |

浙公网安备 33010602011771号