【零基础计网入门笔记 06】应用层
本章重点速览:
- 网络应用模型
- 域名系统 DNS ※
- 文件传输协议 FTP ※
- 电子邮件
- 万维网 WWW
一、网络应用模型
1.1 客户/服务器模型(Client/Server,C/S)
![![[Pasted image 20260625165756.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145859565-1270502337.png)
- 服务器与客户机
客户/服务器(Client/Server,C/S)模型中,有一个总是打开的主机称为服务器,它服务于许多来自其他称为客户机的主机请求。
- 服务器 Server:一台永久在线、持续运行的主机,专门用来提供资源 / 服务,永远等着别人来访问。
- 客户机 Client:普通用户设备(手机、电脑),只是临时发起请求,不对外提供服务。
- 标准工作流程
- 服务器一直开机,持续监听网络,随时待命;
- 你打开客户端(浏览器、QQ、FTP 工具),主动给服务器发请求;
- 服务器收到你的请求,查询 / 处理数据;
- 服务器把结果传回你的设备,本次通信结束。
- 总结
客户/服务器模型最主要的特征是:客户是服务请求方,服务器是服务提供方,角色完全分开。
- 现实网络例子
- 访问网页:浏览器 = 客户,网站机房服务器 = 服务端
- DNS 域名解析:你的电脑 = 客户,DNS 服务器 = 服务端
- FTP 传文件:本地电脑 = 客户,文件服务器 = 服务端
- 邮箱收发:邮箱客户端 = 客户,邮件服务器 = 服务端
- 优缺点
-
✅ 优点:服务器集中管理,稳定、易维护、数据安全可控;
-
❌ 缺点:单点瓶颈,成千上万用户同时访问时,服务器带宽、算力扛不住,会卡、崩溃;服务器一旦宕机,所有人都无法使用服务。
1.2 P2P 模型(Peer to Peer,对等网络)
![![[Pasted image 20260625165836.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145900085-1422601323.png)
- 含义
C/S 最大痛点是中心服务器容易堵、容易崩,P2P 直接抛弃了专属中心服务器:
-
网络里每一台设备(结点)地位完全平等;
-
任意一台设备同时兼具两种身份:
- 当你下载别人文件时:你是客户;
- 当别人从你这里拿文件时:你就是服务器;
-
资源分散存在所有用户设备上,不集中存放在一台中心机器。
- 例子
BT 种子下载、早期迅雷、电驴、部分直播分流:你下载电影时,同时已经下载完这部电影的其他用户,会把片段传给你;你下载完成后,又会自动上传片段给新用户,所有人互相分担流量:
-
(1) 电影会被切成大量独立小分片
- BT 不会一整个文件传输,会把整部电影切割成固定大小的小块(比如每块 256KB),每一块都有专属校验码,防止传错。
- 一部 2GB 电影会被拆成几千个独立片段。
-
(2) 种子文件只存「索引」,不存电影
- 你下载的
.torrent种子很小,里面只有两类信息:- 电影拆分后的所有分片编号、校验值;
- Tracker 追踪服务器地址(相当于通讯录登记处)。
- 你下载的
-
(3) Tracker:只做登记,不存任何视频资源
- 打开 BT 软件导入种子后,软件会主动连接 Tracker 服务器:
- Tracker 只会记录:当前在线有哪些用户、每个用户手里持有哪些分片;
- 它不存储电影,只负责给用户互相推荐同伴,是中间协调者。
- 打开 BT 软件导入种子后,软件会主动连接 Tracker 服务器:
-
(4) 你同时向多个用户并行下载分片(你此时是客户端)
- Tracker 把所有在线下载这部电影的用户列表发给你:
- 用户 A:拥有分片 1、2、3
- 用户 B:拥有分片 4、5、6
- 用户 C:已经下完,拥有全部分片
- 你的软件会同时连接 A、B、C 三个人,并行获取你缺失的所有片段,多源同时传输,速度叠加。
- Tracker 把所有在线下载这部电影的用户列表发给你:
-
(5) 你每下完一块分片,就变成别人的数据源(你此时是服务器)
- 只要你本地成功保存任意一块分片,Tracker 会立刻更新你的资源清单:「该用户持有分片 1/2/5……」
- 之后新进来的下载用户,如果刚好缺你手里的分片,会主动连接你的电脑,从你本机上传获取片段 ——你自动变成别人的小型服务器。
-
(6) 下载完成后,你持有全部分片,持续上传
- 整部电影分片全部集齐、校验无误拼接成完整视频后,只要 BT 软件不关,你本机就会持续向其他缺少片段的用户上传完整分片,分担网络流量。
- 优缺点
- ✅ 优点:去中心化,没有单一瓶颈,在线用户越多,下载速度越快;不需要昂贵的高性能中心服务器,成本低;
为什么人越多,下载速度越快?
- C/S:流量全部压在一台中心服务器,用户越多,服务器带宽被瓜分,速度暴跌;
- BT:每一个在线用户都是一个小型资源节点,在线人数越多,分片的来源就越多,你能同时从几十上百台电脑拉取数据,总带宽叠加,速度反而提升。
- ❌ 缺点:资源不稳定(对方关机,对应的资源片段就消失);难以监管,容易传播违规文件;设备长期上传会占用本机带宽、硬盘。
1.3 C/S 模型 vs P2P 模型对比总结
| 对比维度 | C/S 客户服务器模型 | P2P 对等模型 |
|---|---|---|
| 角色划分 | 严格区分:客户只请求,服务器只提供服务 | 无区分,每台设备既是客户也是服务器 |
| 中心节点 | 存在专属、永久在线的中心服务器 | 无固定中心服务器,资源分散在所有节点 |
| 性能瓶颈 | 服务器是唯一瓶颈,人多容易卡顿 | 流量分散到所有用户,用户越多速度越快 |
| 数据存储 | 资源统一存放在服务器 | 资源分散存储在各个用户终端 |
| 典型应用 | DNS、FTP、WWW 网页、电子邮箱 | BT 下载、电驴、部分流媒体 P2P 分发 |
二、域名系统 DNS ※
2.1 层次域名空间
因特网采用层次树状结构的命名方法。采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名。域是名字空间中一个可被管理的划分。
1. 为什么要有域名
计算机网络底层只认识 IP 地址(一串数字,如 180.101.49.11),设备之间靠 IP 定位通信。
但人类很难记住一堆无规律数字,于是创造了好记的文字域名 www.baidu.com。
矛盾就来了:电脑看不懂文字网址,必须翻译成数字 IP 才能连上网站服务器,翻译这个动作就是域名查询。
*类比:你想点外卖,商家店名 = 域名,商家详细地址 = IP;你只记得店名,必须查平台通讯录拿到地址,骑手才能送货。
补充:只有拿到 IP 后,浏览器才能发起 TCP 连接、传输网页数据。
2. 核心思想:树形分层命名
- 互联网域名是倒过来的树结构,和我们现实地址逻辑相反:
- 现实地址:XX 市 XX 区 XX 街道(大范围→小范围)
- 域名地址:
www.baidu.com(小范围→大范围)- 最右侧:最高层级(顶级域名)
- 最左侧:最低层级(主机 / 子域名)
举例拆分 mail.sina.com.cn:
| 标号 | mail |
sina |
com |
cn |
|---|---|---|---|---|
| 层级 | 最低(主机) | 二级域名 | 通用顶级域 | 国家顶级域(最高) |
3. 域名标号硬性规则
- 字母大小写不敏感,
Baidu.COM和baidu.com完全等价; - 仅允许字母、数字、连字符
-,不能有空格、点以外符号; - 单个分段(标号)长度 ≤63 字符;
- 完整域名(所有标号 + 点)总长 ≤255 字符。
- 级别最低的域名写在最左边,级别最高的顶级域名写在最右边
4. 顶级域名两类
- 通用顶级域:
.com商业、.edu教育、.gov政府、.org非营利组织; - 国家顶级域:
.cn中国、.us美国、.jp日本。
2.2 域名服务器
DNS 不把全世界所有域名存在一台机器上,而是拆分给多类服务器分工存储,整体是客户 / 服务器模型:你的电脑是 DNS 客户端,各类域名服务器是服务端。域名到 IP 地址的解析是由运行在域名服务器上的程序完成的。
![![[Pasted image 20260625171558.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145900627-252036098.png)
四类服务器分工清晰:
1. 本地域名服务器(本地 DNS)
- 离用户最近,电脑 / 路由器手动配置的 DNS(如 114.114.114.114、8.8.8.8)。
- 用户发起域名查询的第一站;有缓存直接返回 IP,无缓存就代为向上查询。
- 缓存机制:所有域名服务器都会缓存查询结果,一段时间内再有相同请求,直接返回缓存 IP,不用重复走完整查询链路,大幅减轻全网 DNS 压力。
2. 根域名服务器
- 全球仅 13 组根服务器,是查询的起点。
- 不是13 台物理电脑,是13 套逻辑根服务器编号(A~M),每套编号下全球部署成千上万台镜像集群(任播技术)。
- 原始母源服务器早年大多部署在美国;
- 现在全球各大洲都部署了根镜像节点;
- 中国大陆没有原始母根服务器,但落地了多套根镜像(A、F、I、J、L 等根节点镜像)。
- 实际效果:国内用户查询根服务器时,会自动连接国内本地镜像,不用跨洋访问美国母机,速度快、延迟低。
- 不是13 台物理电脑,是13 套逻辑根服务器编号(A~M),每套编号下全球部署成千上万台镜像集群(任播技术)。
- 不存任何网站 IP,只记录所有顶级域名服务器的地址。
- 收到请求只会回复:“你去问
.com/.cn服务器”。
3. 顶级域名服务器(TLD)
- 负责某一类顶级域,比如
.com服务器、.cn服务器。- 国家顶级域 .cn:由国内 CNNIC(中国互联网络信息中心)全权管理,核心服务器集群全部部署在中国境内,数据完全本土管控。
- 通用顶级域 .com/.net/.org:注册管理机构 Verisign 总部在美国,核心原始数据库在美国;但为了全球访问速度,在全球各国(包括中国)部署同步镜像服务器。国内用户查
.com域名时,优先访问国内镜像,不用每次访问美国核心库。
- 存储该顶级域下所有二级域名对应的权威服务器地址。
- 例:
.com服务器保存baidu.com、taobao.com的权威服务器地址。
4. 权威(权限)域名服务器
- 真正存放域名与 IP 对应记录的服务器,对应企业 / 学校自己搭建。
- 当企业购买了专属域名(例如
baidu.com),这个域名下所有子域名(www、mail、map)的 IP 记录,所有权归企业自己。 - 企业有两种方案管理解析记录:
- 大型企业(百度、阿里):自建专属权威 DNS 服务器,自主维护所有域名 IP;
- 中小企业:租用阿里云 DNS、腾讯云 DNS 托管,服务商代为运行权威服务器,本质还是你的域名记录。
- 当企业购买了专属域名(例如
- 查到这里就能拿到目标域名的真实 IP,是查询链路终点。
2.3 域名解析过程
1. 两种解析方向
域名解析是指把域名映射成为 IP 地址或把 IP 地址映射成域名的过程。前者称为正向解析,后者称为反向解析:
- 正向解析(日常使用):域名 → IP(输入网址,找到网站服务器地址)
- 反向解析(极少用):IP → 域名(给定 IP,反查对应网址)
2. 传输基础
当客户端需要域名解析时,通过本机的DNS客户端构造一个 DNS 请求报文,以 UDP 数据报方式发往本地域名服务器。
- DNS 请求使用 UDP 53 端口,报文短小、速度快;
- 报文超过 512 字节时改用 TCP。
3. 两种查询方式
域名解析有两种方式:递归查询和递归与迭代相结合的查询。
- 整条查询链路只有主机向本地域名服务器发递归查询;
- 本地 DNS 和 根服务器、TLD 顶级服务器、权威服务器之间,全部只用迭代查询。
![![[Pasted image 20260625171648.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145901373-2042088059.png)
- 递归查询
只发生在:用户主机 ↔ 本地域名服务器
含义:主机只发 1 次请求,把全部查询任务交给本地 DNS,要求它必须带回最终 IP 结果;主机不参与后续任何查询。
一句话:我只问你,剩下的你帮我跑完,直接给答案。
- 迭代查询
发生在:本地 DNS ↔ 根 / 顶级 / 权威服务器
含义:上级服务器不会帮你查到底,只返回下一级服务器地址,本地 DNS 需要自己反复发起新请求逐级询问。
一句话:我只告诉你下一站找谁,剩下你自己去问。
4. 标准完整流程
以访问 www.baidu.com 举例:
- 你的主机发起递归查询:发给本地 DNS,索要
www.baidu.com的 IP; - 本地 DNS 无缓存,发起迭代查询根服务器;根服务器返回
.com顶级服务器地址; - 本地 DNS 迭代查询
.com服务器;返回百度权威域名服务器地址; - 本地 DNS 迭代查询百度权威服务器,拿到最终 IP;
- 本地 DNS 缓存这条 IP 记录(设置 TTL 过期时间),再把 IP 传回你的主机,递归查询结束。
注:百度的权威域名服务器,管整个 baidu.com 域下所有子域名记录。里面存储该域下全部主机记录:www.baidu.com、map.baidu.com、tieba.baidu.com、mail.baidu.com、api.baidu.com 等全部存在这一组权威服务器中。
关键区分两个概念:
- 域:
baidu.com(权威服务器全权管理这个域) - 主机标号:
www、map、tieba只是域下面的子主机名
为什么上层服务器绝不做递归?
- 根、.com/.cn 顶级服务器是全球公共基础设施,如果允许递归,海量查询压力会直接打垮它们,极易遭受 DDoS 攻击;
- 因此根服务器、TLD 服务器默认关闭递归功能,只提供迭代指路。
三、文件传输协议 FTP ※
3.1 FTP 的工作原理
文件传输协议是因特网上使用得最广泛的文件传输协议。FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
1. 基础信息
- 模型:C/S 客户服务器模型,底层依靠 TCP(可靠传输,不会丢文件片段)
- 特点:交互式操作、支持设置文件格式、有账号读写权限管控、一个FTP服务器进程可同时为多个客户进程提供服务。
- 服务器双进程架构
- 主进程(常驻后台):一直监听
21端口,专门接收新客户的连接请求,永远不退出 - 从属进程(临时创建):每来一个客户,主进程就新建一个从属进程单独对接该用户;文件传输完成,从属进程直接销毁;主进程继续等待下一位用户
2. 服务器完整工作流程
- FTP 服务器开机,主进程持续监听
21端口,使客户进程能够连接; - 你的电脑(客户端)发起连接请求;
- 主进程分出一个从属进程专门处理你的操作,主进程回到等待状态接待其他人;
- 从属进程和你交互:登录、浏览文件、上传 / 下载;
- 你传输完文件断开,从属进程结束;控制连接不关闭的话,回到等待状态,继续接收其他客户进程的请求。
类比:把 FTP 服务器当成营业厅:
- 主进程 = 大厅前台,全天在岗接待所有人;
- 从属进程 = 单独办事窗口,你来办事就开一个窗口,办完窗口关闭,前台继续接待下一个人。
3.2 控制连接与数据连接
FTP 在工作时使用两个并行的 TCP 连接:一个是控制连接(端口号21),一个是数据连接(端口号20)。
1. 控制连接(固定端口 21)
-
作用:控制连接用来传输控制信息(如连接请求、传送请求等),只传输命令、交互指令,不传输文件内容。
- 例:登录账号密码、切换文件夹、查看文件列表、发起下载 / 上传、退出登录。
-
生命周期:整个登录会话全程保持打开。
- 只要你没输入 quit 退出,哪怕文件传完,这条连接依然存在,不用重复登录。
2. 数据连接(传输文件本体)
-
作用:只传输文件、文件夹列表,不传递任何操作命令。
-
生命周期:单次文件传输完成立刻断开;下次下载文件需要重新建立数据连接。
-
分两种工作模式,
20端口只和「主动模式」绑定。
(1) 主动模式 PORT(服务器主动连客户端,20 端口出场)
- 控制连接:客户端随机端口 → 服务器
21端口(不变) - 传输文件时:服务器 → 客户端,服务器用本机
20端口,主动发起连接,连客户端临时开放的数据端口 - 缺点:家用电脑防火墙会拦截外部主动进来的连接,家庭网络基本用不了,现在很少用
(2) 被动模式 PASV(现在全网默认,无 20 端口参与)
- 控制连接依旧:客户端 → 服务器
21 - 传输文件时:客户端 → 服务器,服务器随机开一个 1024 以上的高位闲置端口,告诉客户端端口号;客户端主动发起连接连上这个临时端口传文件
- 关键点:被动模式的数据连接不使用
20端口 - 优点:不会被客户端防火墙拦截,兼容性强,所有浏览器、FTP 工具默认开启被动模式
两条连接的意义:
分离指令和文件传输:下载几百 MB 大文件时,你依然可以切换文件夹、查看文件,命令不会被文件传输阻塞
3. 被动模式完整实操流程举例
- 电脑(客户端)随机端口 → 服务器 21 端口,建立控制连接;输入账号密码登录成功;
- 你输入下载电影指令,通过控制连接发给服务器;
- 服务器开启一个临时数据端口,把端口号通过控制连接传回给你;
- 你的电脑主动连接服务器临时端口,建立数据连接,传输电影文件;
- 电影下载完毕,数据连接断开;控制连接依旧打开,你可以继续下载其他文件;
- 输入 quit,控制连接关闭,会话结束。
四、电子邮件
4.1 电子邮件系统的三大核心构件
一个电子邮件系统应具有三个最主要的组成构件,即用户代理、邮件服务器和电子邮件使用的协议。
1. 用户代理 UA(User Agent)
就是操作邮件的工具。
用户与电子邮件系统的接口。用户代理向用户提供一个很友好的接口来发送和接收邮件,用户代理至少应当具有撰写、显示和邮件处理的功能。
- 例子:Foxmail、Outlook、网易邮箱大师、网页版 QQ 邮箱界面。
- 作用:人和邮件系统的交互入口,基础功能三件套:写邮件、查看邮件、管理邮件(删除 / 分类 / 转发)。
- 简单逻辑:你不会直接和邮件服务器对话,全部操作交给 UA,UA 替你和服务器通信。
2. 邮件服务器(核心中转站)
类比快递中转总站,永久在线,负责收发存储邮件。
它的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。邮件服务器采用客户/服务器方式工作,但它必须能够同时充当客户和服务器。
- 例子:你用 163 邮箱发邮件给 QQ 邮箱:
- 你的 163 邮件服务器 → 主动把邮件发给 QQ 邮件服务器
- 此时:163 服务器 = SMTP 客户端,QQ 服务器 = SMTP 服务端
- 你打开 Foxmail 收 QQ 邮箱邮件
- 此时:Foxmail(UA)= POP3 客户端,QQ 服务器 = POP3 服务端
额外功能:邮件缓存暂存、投递失败 / 成功回执提醒。
3. 邮件发送协议和读取协议
-
发送协议 SMTP(推 Push)
- 主动把邮件 “推送” 到下一站;
- 适用场景:① UA 上传邮件到自己邮箱服务器;② 不同邮件服务器之间转发邮件。
-
读取协议 POP3(拉 Pull)
- 用户主动从服务器 “拉取” 邮件到本地设备;
- 仅用于:UA(电脑 / 手机邮箱软件)从邮件服务器下载邮件。
![![[Pasted image 20260625184024.png]]]()
4.2 电子邮件格式与 MIME
1. 电子邮件格式
邮件固定分成两部分:首部 + 正文
首部是系统识别信息,固定字段:
- From:发件人邮箱
- To:收件人邮箱
- Subject:邮件主题
后面才是正文文字。
2. 多用途网际邮件扩充(MIME)
- 原始 SMTP 硬伤:
只能传输纯英文 ASCII 字符,不支持中文、日文、图片、压缩包、exe 程序、视频等二进制文件。ASCII 是最早的字符编码,只用数字 0~127 代表字符,只包含:英文大小写字母、阿拉伯数字、英文逗号句号空格等基础符号。
- MIME 作用:
不是替换 SMTP,只是附加扩展规则,把中文、图片、附件全部编码成 ASCII 文本传输;对方收到后自动解码还原。
没有 MIME,我们无法发送中文邮件、图片、文件附件。
4.3 SMTP 和 POP3
1. SMTP
-
传输层:TCP 可靠传输,固定端口
25 -
完整通信三阶段:
(1) 连接建立
- 你点发送邮件,UA 先把邮件存入发送方服务器缓存;发送方服务器定时扫描缓存,发现待发邮件,主动和接收方服务器建立 TCP 25 连接。
(2) 邮件传送
- 连接成功后按固定指令传输:
MAIL FROM填写发件人邮箱 →RCPT TO填写收件人邮箱 →DATA传输邮件完整内容(首部 + 正文)。
(3) 连接释放
- 全部邮件发送完成,SMTP客户端发送
QUIT命令;服务器回复代码221,代表同意关闭 TCP 连接。
2. POP3
-
传输层:使用客户/服务器的工作方式,在传输层使用TCP,端口号为
110。 -
两种工作模式:
- 下载并删除(传统默认模式)
- 邮件拉到你的电脑本地后,服务器直接删除原件。
- 缺点:换手机、另一台电脑登录邮箱,看不到之前的历史邮件。
- 下载并保留
- 本地下载一份副本,服务器上原始邮件完整保留。
- 优点:多设备登录都能查看全部邮件,现在客户端普遍默认该模式。
3. 为什么收发邮件要拆成两个独立协议?
- 两者业务逻辑、通信方向完全相反
-
SMTP:主动向外投递(推)
- 核心动作:把一封新邮件交给另一台服务器,一次性转发完成,不需要长期管理收件箱。
- 配套指令:
MAIL FROM、RCPT TO、DATA只用来提交邮件内容。
-
POP3:主动上门索取(拉)
- 核心动作:登录账号、查看服务器存好的历史邮件、选择下载、删除 / 保留云端原件,需要一套管理收件箱的专属指令:
USER、PASS、LIST、RETR、DELE。
- 核心动作:登录账号、查看服务器存好的历史邮件、选择下载、删除 / 保留云端原件,需要一套管理收件箱的专属指令:
一套协议无法同时兼容「投递新邮件」和「管理存量邮件」两套完全不同的操作流程。
- 访问对象、权限隔离需求不同
- 25 端口(SMTP):全网开放。全世界所有邮件服务器都能连你的服务器,用来跨邮箱转发邮件,侧重对外投递。
- 110 端口(POP3):仅对内用户开放。只有你本人登录账号密码,才能读取自己的收件箱,侧重私有数据读取。
如果合并成一个协议,无法隔离 “外部服务器投递” 和 “用户读取私人邮件” 两种权限,会产生巨大安全漏洞。
- 生命周期、存储逻辑不一样
- SMTP 是一次性任务:邮件推送完成,连接即可断开,服务器只临时缓存中转;
- POP3 是会话管理:登录后可以多次查看、下载多封邮件,需要长期维护会话状态,设计目标完全不同。
端口分配标准是谁规定的?
IANA(互联网数字分配机构),全球统一制定熟知端口对照表,所有操作系统、服务器、网络设备厂商全部遵守。是它规定:25 固定分配给 SMTP、110 固定分配给 POP3。
⚠️ 重点区分两件事:
- 端口号给谁用:IANA 定死标准;
- 这个端口允许谁访问:服务器运维人员通过防火墙自定义限制,端口数字本身没有 “对内 / 对外” 属性。
25、110 只是单纯数字,不会自带 “全网开放” 或 “仅内部访问” 规则,限制访问是人为安全配置。
生活化类比总结:IP = 一栋邮局大楼地址:
IANA 规定窗口编号:25 号窗口负责收外来信件,110 号窗口是用户私人储物柜
- 25 窗口(SMTP):对外接待所有外地邮递站,必须敞开大门,不然外地信件送不进来;
- 110 窗口(POP3):仅本邮局注册用户凭身份证(账号密码)领取私人包裹,外来人员一律不准靠近,大门拦住外人;
窗口编号是 IANA 定的,谁能进哪个窗口,是邮局保安(防火墙)管控。
4. 为什么不能只靠 TCP 握手完成收发?
核心关键点:TCP 只是底层传输通道,不是业务规则,二者属于网络模型不同层级,不能互相替代。
- 分层类比:
- TCP = 一根稳定、不会丢包的电话线(传输层);
- SMTP/POP3 = 通话必须遵守的标准话术(应用层协议)。
电话线只保证声音能传到对面,但不会规定你们要说什么、怎么证明身份、传递什么信息。
- 详细解释
-
TCP 只负责建立可靠连接、传输二进制字节流,完全不懂 “邮件” 是什么,TCP 只能保证数据完整送达,但无法区分:
- 你是要上传一封新邮件?
- 还是要下载服务器里第 2 封历史邮件?
- 还是要删除云端邮件?
-
没有应用层协议,全网设备无法互通
- 如果只使用 TCP,每家厂商的邮箱软件会自定义传输格式:A 公司发的邮件,B 公司服务器看不懂。
- SMTP/POP3 是全球统一标准,规定了固定指令、数据格式,所有邮箱服务器、客户端都能互相通信。
-
TCP 没有身份校验、业务标识机制
- 收邮件需要账号密码登录,发送邮件需要标注发件人、收件人、主题,这些业务规则全部由 SMTP/POP3 定义,TCP 本身不提供任何身份、业务字段。
五、万维网 WWW
5.1 WWW 的概念与组成结构
互联网(Internet)是底层网络基础设施;万维网(World Wide Web,WWW) 是一个分布式、联机式的信息存储空间,是跑在互联网之上、用来访问网页资源的分布式服务系统,只是互联网其中一种应用。
网上所有图片、网页、视频、文件都统称为资源,每个资源有全球唯一地址 URL (统一资源定位符)。这些资源通过超文本传输协议(HTTP)传送给使用者,而后者通过单击链接来获取资源。
1. WWW 依靠三大标准协同工作
-
URL 统一资源定位符
- 作用:给全网每一份资源分配唯一身份地址,精准定位资源。
- 示例:
https://www.baidu.com/index.html - 没有 URL,服务器无法分辨你要访问哪一个页面。
-
HTTP 超文本传输协议
- 应用层通信规则,规定浏览器(客户端)和 Web 服务器之间怎么发请求、怎么回数据;底层依托 TCP 保证传输不丢包。
-
HTML 超文本标记语言
- 网页的描述文件,用一套标记标签定义页面文字、图片、按钮、排版。
- 服务器发给浏览器的本质是 HTML 代码,浏览器解析后渲染出可视化网页。
2. WWW 基础工作流程
- 浏览器输入 URL,发起访问;
- 浏览器和远端 Web 服务器建立 TCP 连接;
- 浏览器发送 HTTP 请求:我需要这个 URL 对应的页面;
- 服务器找到对应文件,通过 HTTP 响应传回页面数据;
- 数据传输完毕,断开 TCP 连接。
5.2 超文本传输协议(HTTP)
![![[Pasted image 20260625184534.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145902567-384179688.png)
1. HTTP 的操作过程
- 点击链接 / 输入网址,浏览器提取 URL 里的域名;
- 浏览器向本地 DNS 发起域名解析,把域名翻译成服务器 IP;
- 浏览器根据 IP,和 Web 服务器完成 TCP 三次握手,建立可靠连接;
- 浏览器发送 HTTP 请求报文,告知服务器想要的资源;
- 服务器读取请求,返回 HTTP 响应报文(携带网页、图片等资源);
- 全部数据传输完成,TCP 四次挥手释放连接;
- 浏览器解析 HTML、加载图片 / 视频,渲染页面展示给用户
2. HTTP 的特点
(1)基于 TCP 可靠传输
TCP 负责丢包重传、流量控制、差错校验,HTTP 只专注业务交互,不用处理底层传输容错。
(2)无状态
- 定义:服务器不会保存任何客户端的历史访问信息,每一次 HTTP 请求对服务器来说都是全新陌生用户。
- 举例:你登录购物网站浏览商品,刷新页面后服务器认不出你,需要重新登录;
- 解决方案:Cookie、Session,用来弥补 HTTP 无状态缺陷。
(3)两类 TCP 连接方式:非持久连接 / 持久连接
网页通常由多个资源组成:文字 HTML、多张图片、图标、视频。
-
① 非持久连接(HTTP/1.0 默认)
- 规则:1 条 TCP 连接,只传输 1 个资源,传完立刻断开。
- 举例:一个页面包含 1 个 HTML + 3 张图片,需要建立、断开 4 次 TCP 连接;
- 缺点:频繁三次握手、四次挥手,网络开销大,加载速度慢。
-
② 持久连接(HTTP/1.1 默认开启,现在全网通用)
- 规则:建立一次 TCP 连接后,这条通道可以连续传输多个资源,不用反复建连断连;
- 传输完所有资源后,连接空闲一段时间再关闭。
- 优点:大幅减少 TCP 握手开销,网页加载更快。
![![[Pasted image 20260625190348.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145903139-1520100133.png)
六、常见应用层协议小结
| 应用服务 | 传输层 | 熟知端口 | 核心考点 |
|---|---|---|---|
| FTP 控制连接 | TCP | 21 | 全程在线,传输命令 |
| FTP 主动模式数据连接 | TCP | 20 | 仅主动模式使用,服务器出口端口 |
| TELNET 远程终端 | TCP | 23 | 明文传输,不安全 |
| SMTP(发邮件) | TCP | 25 | 推送邮件,服务器互通 |
| DNS | UDP (主)/TCP (大包) | 53 | 域名解析,默认 UDP |
| TFTP 简单文件传输 | UDP | 69 | 无可靠传输,只传小文件 |
| HTTP 网页 | TCP | 80 | 无状态,持久 / 非持久连接 |
| POP3(收邮件) | TCP | 110 | 拉取邮件,下载保留 / 删除两种模式 |
| SNMP 网络管理 | UDP | 161 | 监控网络设备状态 |

![![[Pasted image 20260625184024.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145901982-518622507.png)
浙公网安备 33010602011771号