【零基础计网入门笔记 06】应用层

本章重点速览:

  • 网络应用模型
  • 域名系统 DNS ※
  • 文件传输协议 FTP ※
  • 电子邮件
  • 万维网 WWW

一、网络应用模型

1.1 客户/服务器模型(Client/Server,C/S)

![[Pasted image 20260625165756.png]]

  1. 服务器与客户机

客户/服务器(Client/Server,C/S)模型中,有一个总是打开的主机称为服务器,它服务于许多来自其他称为客户机的主机请求。

  • 服务器 Server:一台永久在线、持续运行的主机,专门用来提供资源 / 服务,永远等着别人来访问。
  • 客户机 Client:普通用户设备(手机、电脑),只是临时发起请求,不对外提供服务。
  1. 标准工作流程
  • 服务器一直开机,持续监听网络,随时待命;
  • 你打开客户端(浏览器、QQ、FTP 工具),主动给服务器发请求;
  • 服务器收到你的请求,查询 / 处理数据;
  • 服务器把结果传回你的设备,本次通信结束。
  1. 总结

客户/服务器模型最主要的特征是:客户是服务请求方,服务器是服务提供方,角色完全分开。

  1. 现实网络例子
  • 访问网页:浏览器 = 客户,网站机房服务器 = 服务端
  • DNS 域名解析:你的电脑 = 客户,DNS 服务器 = 服务端
  • FTP 传文件:本地电脑 = 客户,文件服务器 = 服务端
  • 邮箱收发:邮箱客户端 = 客户,邮件服务器 = 服务端
  1. 优缺点
  • ✅ 优点:服务器集中管理,稳定、易维护、数据安全可控;

  • ❌ 缺点:单点瓶颈,成千上万用户同时访问时,服务器带宽、算力扛不住,会卡、崩溃;服务器一旦宕机,所有人都无法使用服务。

1.2 P2P 模型(Peer to Peer,对等网络)

![[Pasted image 20260625165836.png]]

  1. 含义

C/S 最大痛点是中心服务器容易堵、容易崩,P2P 直接抛弃了专属中心服务器

  • 网络里每一台设备(结点)地位完全平等;

  • 任意一台设备同时兼具两种身份

    • 当你下载别人文件时:你是客户;
    • 当别人从你这里拿文件时:你就是服务器;
  • 资源分散存在所有用户设备上,不集中存放在一台中心机器。

  1. 例子

BT 种子下载、早期迅雷、电驴、部分直播分流:你下载电影时,同时已经下载完这部电影的其他用户,会把片段传给你;你下载完成后,又会自动上传片段给新用户,所有人互相分担流量:

  • (1) 电影会被切成大量独立小分片

    • BT 不会一整个文件传输,会把整部电影切割成固定大小的小块(比如每块 256KB),每一块都有专属校验码,防止传错。
    • 一部 2GB 电影会被拆成几千个独立片段。
  • (2) 种子文件只存「索引」,不存电影

    • 你下载的.torrent种子很小,里面只有两类信息:
      1. 电影拆分后的所有分片编号、校验值;
      2. Tracker 追踪服务器地址(相当于通讯录登记处)。
  • (3) Tracker:只做登记,不存任何视频资源

    • 打开 BT 软件导入种子后,软件会主动连接 Tracker 服务器:
      • Tracker 只会记录:当前在线有哪些用户、每个用户手里持有哪些分片;
      • 不存储电影,只负责给用户互相推荐同伴,是中间协调者。
  • (4) 你同时向多个用户并行下载分片(你此时是客户端)

    • Tracker 把所有在线下载这部电影的用户列表发给你:
      • 用户 A:拥有分片 1、2、3
      • 用户 B:拥有分片 4、5、6
      • 用户 C:已经下完,拥有全部分片
    • 你的软件会同时连接 A、B、C 三个人,并行获取你缺失的所有片段,多源同时传输,速度叠加。
  • (5) 你每下完一块分片,就变成别人的数据源(你此时是服务器)

    • 只要你本地成功保存任意一块分片,Tracker 会立刻更新你的资源清单:「该用户持有分片 1/2/5……」
    • 之后新进来的下载用户,如果刚好缺你手里的分片,会主动连接你的电脑,从你本机上传获取片段 ——你自动变成别人的小型服务器
  • (6) 下载完成后,你持有全部分片,持续上传

    • 整部电影分片全部集齐、校验无误拼接成完整视频后,只要 BT 软件不关,你本机就会持续向其他缺少片段的用户上传完整分片,分担网络流量。
  1. 优缺点
  • ✅ 优点:去中心化,没有单一瓶颈,在线用户越多,下载速度越快;不需要昂贵的高性能中心服务器,成本低;

为什么人越多,下载速度越快?

  • 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.COMbaidu.com 完全等价;
  • 仅允许字母、数字、连字符 -,不能有空格、点以外符号;
  • 单个分段(标号)长度 ≤63 字符;
  • 完整域名(所有标号 + 点)总长 ≤255 字符。
  • 级别最低的域名写在最左边,级别最高的顶级域名写在最右边

4. 顶级域名两类

  • 通用顶级域:.com商业、.edu教育、.gov政府、.org非营利组织;
  • 国家顶级域:.cn中国、.us美国、.jp日本。

2.2 域名服务器

DNS 不把全世界所有域名存在一台机器上,而是拆分给多类服务器分工存储,整体是客户 / 服务器模型:你的电脑是 DNS 客户端,各类域名服务器是服务端。域名到 IP 地址的解析是由运行在域名服务器上的程序完成的。

![[Pasted image 20260625171558.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 等根节点镜像)。
      • 实际效果:国内用户查询根服务器时,会自动连接国内本地镜像,不用跨洋访问美国母机,速度快、延迟低。
  • 不存任何网站 IP,只记录所有顶级域名服务器的地址。
  • 收到请求只会回复:“你去问.com/.cn 服务器”。

3. 顶级域名服务器(TLD)

  • 负责某一类顶级域,比如.com服务器、.cn服务器。
    • 国家顶级域 .cn:由国内 CNNIC(中国互联网络信息中心)全权管理,核心服务器集群全部部署在中国境内,数据完全本土管控。
    • 通用顶级域 .com/.net/.org:注册管理机构 Verisign 总部在美国,核心原始数据库在美国;但为了全球访问速度,在全球各国(包括中国)部署同步镜像服务器。国内用户查.com域名时,优先访问国内镜像,不用每次访问美国核心库。
  • 存储该顶级域下所有二级域名对应的权威服务器地址。
  • 例:.com服务器保存 baidu.comtaobao.com 的权威服务器地址。

4. 权威(权限)域名服务器

  • 真正存放域名与 IP 对应记录的服务器,对应企业 / 学校自己搭建。
    • 当企业购买了专属域名(例如 baidu.com),这个域名下所有子域名(wwwmailmap)的 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]]

  1. 递归查询

只发生在:用户主机 ↔ 本地域名服务器

含义:主机只发 1 次请求,把全部查询任务交给本地 DNS,要求它必须带回最终 IP 结果;主机不参与后续任何查询。

一句话:我只问你,剩下的你帮我跑完,直接给答案

  1. 迭代查询

发生在:本地 DNS ↔ 根 / 顶级 / 权威服务器

含义:上级服务器不会帮你查到底,只返回下一级服务器地址,本地 DNS 需要自己反复发起新请求逐级询问。

一句话:我只告诉你下一站找谁,剩下你自己去问

4. 标准完整流程

以访问 www.baidu.com 举例:

  1. 你的主机发起递归查询:发给本地 DNS,索要 www.baidu.com 的 IP;
  2. 本地 DNS 无缓存,发起迭代查询根服务器;根服务器返回.com顶级服务器地址;
  3. 本地 DNS 迭代查询.com服务器;返回百度权威域名服务器地址;
  4. 本地 DNS 迭代查询百度权威服务器,拿到最终 IP;
  5. 本地 DNS 缓存这条 IP 记录(设置 TTL 过期时间),再把 IP 传回你的主机,递归查询结束。

注:百度的权威域名服务器,管整个 baidu.com 域下所有子域名记录。里面存储该域下全部主机记录:www.baidu.commap.baidu.comtieba.baidu.commail.baidu.comapi.baidu.com 等全部存在这一组权威服务器中。

关键区分两个概念:

  1. baidu.com(权威服务器全权管理这个域)
  2. 主机标号wwwmaptieba 只是域下面的子主机名

为什么上层服务器绝不做递归?

  • 根、.com/.cn 顶级服务器是全球公共基础设施,如果允许递归,海量查询压力会直接打垮它们,极易遭受 DDoS 攻击;
  • 因此根服务器、TLD 服务器默认关闭递归功能,只提供迭代指路。

三、文件传输协议 FTP ※

3.1 FTP 的工作原理

文件传输协议是因特网上使用得最广泛的文件传输协议。FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。

1. 基础信息

  1. 模型:C/S 客户服务器模型,底层依靠 TCP(可靠传输,不会丢文件片段)
  2. 特点:交互式操作、支持设置文件格式、有账号读写权限管控、一个FTP服务器进程可同时为多个客户进程提供服务。
  3. 服务器双进程架构
  • 主进程(常驻后台):一直监听 21 端口,专门接收新客户的连接请求,永远不退出
  • 从属进程(临时创建):每来一个客户,主进程就新建一个从属进程单独对接该用户;文件传输完成,从属进程直接销毁;主进程继续等待下一位用户

2. 服务器完整工作流程

  1. FTP 服务器开机,主进程持续监听 21 端口,使客户进程能够连接;
  2. 你的电脑(客户端)发起连接请求;
  3. 主进程分出一个从属进程专门处理你的操作,主进程回到等待状态接待其他人;
  4. 从属进程和你交互:登录、浏览文件、上传 / 下载;
  5. 你传输完文件断开,从属进程结束;控制连接不关闭的话,回到等待状态,继续接收其他客户进程的请求。

类比:把 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. 被动模式完整实操流程举例

  1. 电脑(客户端)随机端口 → 服务器 21 端口,建立控制连接;输入账号密码登录成功;
  2. 你输入下载电影指令,通过控制连接发给服务器;
  3. 服务器开启一个临时数据端口,把端口号通过控制连接传回给你;
  4. 你的电脑主动连接服务器临时端口,建立数据连接,传输电影文件;
  5. 电影下载完毕,数据连接断开;控制连接依旧打开,你可以继续下载其他文件;
  6. 输入 quit,控制连接关闭,会话结束。

四、电子邮件

4.1 电子邮件系统的三大核心构件

一个电子邮件系统应具有三个最主要的组成构件,即用户代理邮件服务器电子邮件使用的协议

1. 用户代理 UA(User Agent)

就是操作邮件的工具。

用户与电子邮件系统的接口。用户代理向用户提供一个很友好的接口来发送和接收邮件,用户代理至少应当具有撰写、显示和邮件处理的功能。

  • 例子:Foxmail、Outlook、网易邮箱大师、网页版 QQ 邮箱界面。
  • 作用:人和邮件系统的交互入口,基础功能三件套:写邮件、查看邮件、管理邮件(删除 / 分类 / 转发)。
  • 简单逻辑:你不会直接和邮件服务器对话,全部操作交给 UA,UA 替你和服务器通信。

2. 邮件服务器(核心中转站)

类比快递中转总站,永久在线,负责收发存储邮件。

它的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。邮件服务器采用客户/服务器方式工作,但它必须能够同时充当客户和服务器

  • 例子:你用 163 邮箱发邮件给 QQ 邮箱:
    1. 你的 163 邮件服务器 → 主动把邮件发给 QQ 邮件服务器
    • 此时:163 服务器 = SMTP 客户端,QQ 服务器 = SMTP 服务端
    1. 你打开 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

  • 两种工作模式:

    1. 下载并删除(传统默认模式)
    • 邮件拉到你的电脑本地后,服务器直接删除原件。
    • 缺点:换手机、另一台电脑登录邮箱,看不到之前的历史邮件。
    1. 下载并保留
    • 本地下载一份副本,服务器上原始邮件完整保留。
    • 优点:多设备登录都能查看全部邮件,现在客户端普遍默认该模式

3. 为什么收发邮件要拆成两个独立协议?

  1. 两者业务逻辑、通信方向完全相反
  • SMTP:主动向外投递(推)

    • 核心动作:把一封新邮件交给另一台服务器,一次性转发完成,不需要长期管理收件箱。
    • 配套指令:MAIL FROMRCPT TODATA 只用来提交邮件内容。
  • POP3:主动上门索取(拉)

    • 核心动作:登录账号、查看服务器存好的历史邮件、选择下载、删除 / 保留云端原件,需要一套管理收件箱的专属指令:USERPASSLISTRETRDELE

一套协议无法同时兼容「投递新邮件」和「管理存量邮件」两套完全不同的操作流程。

  1. 访问对象、权限隔离需求不同
  • 25 端口(SMTP):全网开放。全世界所有邮件服务器都能连你的服务器,用来跨邮箱转发邮件,侧重对外投递
  • 110 端口(POP3):仅对内用户开放。只有你本人登录账号密码,才能读取自己的收件箱,侧重私有数据读取

如果合并成一个协议,无法隔离 “外部服务器投递” 和 “用户读取私人邮件” 两种权限,会产生巨大安全漏洞。

  1. 生命周期、存储逻辑不一样
  • SMTP 是一次性任务:邮件推送完成,连接即可断开,服务器只临时缓存中转;
  • POP3 是会话管理:登录后可以多次查看、下载多封邮件,需要长期维护会话状态,设计目标完全不同。

端口分配标准是谁规定的?

IANA(互联网数字分配机构),全球统一制定熟知端口对照表,所有操作系统、服务器、网络设备厂商全部遵守。是它规定:25 固定分配给 SMTP、110 固定分配给 POP3。

⚠️ 重点区分两件事:

  1. 端口号给谁用:IANA 定死标准;
  2. 这个端口允许谁访问:服务器运维人员通过防火墙自定义限制,端口数字本身没有 “对内 / 对外” 属性。

25、110 只是单纯数字,不会自带 “全网开放” 或 “仅内部访问” 规则,限制访问是人为安全配置。

生活化类比总结:IP = 一栋邮局大楼地址:

IANA 规定窗口编号:25 号窗口负责收外来信件,110 号窗口是用户私人储物柜

  • 25 窗口(SMTP):对外接待所有外地邮递站,必须敞开大门,不然外地信件送不进来;
  • 110 窗口(POP3):仅本邮局注册用户凭身份证(账号密码)领取私人包裹,外来人员一律不准靠近,大门拦住外人;

窗口编号是 IANA 定的,谁能进哪个窗口,是邮局保安(防火墙)管控。

4. 为什么不能只靠 TCP 握手完成收发?

核心关键点:TCP 只是底层传输通道,不是业务规则,二者属于网络模型不同层级,不能互相替代。

  1. 分层类比:
  • TCP = 一根稳定、不会丢包的电话线(传输层);
  • SMTP/POP3 = 通话必须遵守的标准话术(应用层协议)。

电话线只保证声音能传到对面,但不会规定你们要说什么、怎么证明身份、传递什么信息。

  1. 详细解释
  • 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 依靠三大标准协同工作

  1. URL 统一资源定位符

    • 作用:给全网每一份资源分配唯一身份地址,精准定位资源。
    • 示例:https://www.baidu.com/index.html
    • 没有 URL,服务器无法分辨你要访问哪一个页面。
  2. HTTP 超文本传输协议

    • 应用层通信规则,规定浏览器(客户端)和 Web 服务器之间怎么发请求、怎么回数据;底层依托 TCP 保证传输不丢包。
  3. HTML 超文本标记语言

    • 网页的描述文件,用一套标记标签定义页面文字、图片、按钮、排版。
    • 服务器发给浏览器的本质是 HTML 代码,浏览器解析后渲染出可视化网页。

2. WWW 基础工作流程

  1. 浏览器输入 URL,发起访问;
  2. 浏览器和远端 Web 服务器建立 TCP 连接;
  3. 浏览器发送 HTTP 请求:我需要这个 URL 对应的页面;
  4. 服务器找到对应文件,通过 HTTP 响应传回页面数据;
  5. 数据传输完毕,断开 TCP 连接。

5.2 超文本传输协议(HTTP)

![[Pasted image 20260625184534.png]]

1. HTTP 的操作过程

  1. 点击链接 / 输入网址,浏览器提取 URL 里的域名;
  2. 浏览器向本地 DNS 发起域名解析,把域名翻译成服务器 IP;
  3. 浏览器根据 IP,和 Web 服务器完成 TCP 三次握手,建立可靠连接;
  4. 浏览器发送 HTTP 请求报文,告知服务器想要的资源;
  5. 服务器读取请求,返回 HTTP 响应报文(携带网页、图片等资源);
  6. 全部数据传输完成,TCP 四次挥手释放连接;
  7. 浏览器解析 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]]

六、常见应用层协议小结

应用服务 传输层 熟知端口 核心考点
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 监控网络设备状态
posted @ 2026-07-13 21:49  Alkaid2077  阅读(2)  评论(0)    收藏  举报