Web 服务器、邮件服务器、文件服务器——三台机器说的话不一样,干的事也不一样;而文件服务器吃的是【大块】流量。
教材 5-7 讲服务器功能的区别,并列关键词是【文件服务器】和【Samba】。这一节是整章的收尾:把前面几节提到的服务器摆在一起看。
一、三种服务器,摆在一起看
同样是【服务器】,它们的区别不在硬件,而在对外说什么话、客户端拿什么连:
Web 服务器:说 HTTP / HTTPS,客户端是浏览器,端口 80 / 443。
邮件服务器:说 SMTP / POP3 / IMAP,客户端是邮件软件,端口 25、465、587、110、995、143、993。
文件服务器:说 SMB / CIFS 或 NFS,客户端是资源管理器、Finder,端口 445、2049。
这就是第 1 章说的【服务器也是一种程序】的具体样子——装什么服务、开什么端口,它就是什么服务器。同一台机器完全可以同时干三件事。
二、Samba:让 Linux 说 Windows 的话
SMB(服务器消息块)是 Windows 的文件共享协议。 那 Linux 想跟 Windows 共享文件夹怎么办?跑一个 Samba。
Samba 是一套让 Linux 和 Unix 系统说 SMB 的软件。Windows 客户端连上来,会以为自己连的是一台 Windows 服务器。
它开的端口:445(TCP)是现代 SMB 的主力,Windows 与 Linux 都走这一条;139(TCP)是老 NetBIOS 会话,只有老客户端还需要;137 和 138(UDP)是老 NetBIOS 的名称登记与网上邻居浏览。
对 Windows 客户端的原生支持,让 Samba 在混合云文件共享里仍占约 45%(据 2026 年 IDC《企业存储架构趋势报告》)。这也是 Samba 存在的全部理由:不是它好,是它能让两种系统说同一句话。
三、文件服务器吃的是【大块】
三种服务器里,文件服务器的流量特征最特别。算一笔账就清楚了:1000 人的公司,每人每天读 30 次、写 10 次。
读 = 1000 × 30 = 30000 次/天,每次约 200 KB → 6 GB/天。写 = 1000 × 10 = 10000 次/天,每次约 500 KB → 5 GB/天。合计 11 GB/天,按 250 个工作日算约 2.75 TB/年。
同样这 1000 人用 OA(一个 Web 系统),每人每天 50 次请求、每次 20 KB,只有 1 GB/天。
差了 11 倍。 原因很简单:Web 系统一次请求传几 KB 的 JSON 或 HTML,文件服务器一次打开传几百 KB 到几 MB 的文件。
这条差别有很实际的后果:文件服务器最怕堵在跨城专线上——它不是慢在服务器,是慢在路上。这也是为什么很多公司宁可给每个办公点放一台本地文件服务器,也不愿意让大家走专线访问总部。
四、SMB 是内网横向移动的头号通道
最后一条要单独说,因为它和上一节的内网话题直接相接:SMB 是攻击者在内网横向移动时最常用的协议。
原因不复杂:SMB 接受身份验证请求,并且会返回可以区分的错误信息——攻击者可以用它来试密码、做凭据中继。历史上的几次著名蠕虫(比如利用 MS17-010 的那个)就是靠 SMB 传播的。
上一节那组数据里:78% 的服务器可以经 SMB 或 WinRM 到达。
2026 年 9 月 22 日的一次公网扫描,查到的结果是:暴露在互联网上的 445 端口有 1771 个,NFS 的 2049 端口 110 个,rsync 的 873 端口 106 个。
这几个端口都不该出现在公网上。 如果必须跨网络边界访问,至少要:强制 SMB 签名(防中继)、彻底禁用已经退役的 SMBv1。
五、动手 Demo:文件服务器与 Web 系统的流量对比
把这一节最核心的那个 11 倍算出来:同一批人,用文件服务器和用 Web 系统,流量差多少。
people = 1000
read, write = people * 30, people * 10
read_kb, write_kb = 200, 500
total_kb = read * read_kb + write * write_kb
print(" 读 = %d 次/天,写 = %d 次/天" % (read, write))
print(" 文件服务器 = (%d × %d + %d × %d) KB = %.0f GB/天"
% (read, read_kb, write, write_kb, total_kb / 1000 / 1000))
print(" 按 250 个工作日算 ≈ %.2f TB/年"
% (total_kb * 250 / 1000 / 1000 / 1000))
oa_kb = people * 50 * 20
print(" 同样的 1000 人用 OA = %.1f GB/天" % (oa_kb / 1000 / 1000))
print(" 倍数 = %.0f 倍" % (total_kb / oa_kb))
print(" 对 Windows 客户端原生支持,让 Samba 在混合云里占约 45%%")
实跑输出:
--------------------------------------------------------------------
D7 文件服务器:最老也最忙的那台
--------------------------------------------------------------------
教材 5-7 讲服务器功能的区别,并列关键词是【文件服务器、Samba】。三种摆一起看:
服务器 客户端拿什么连 说什么协议 端口
------------------------------------------------------------------------------------
Web 服务器 浏览器 HTTP / HTTPS 80 / 443
邮件服务器 邮件客户端 SMTP / POP3 / IMAP 25、110、143 等
文件服务器 资源管理器、Finder SMB / CIFS、NFS 445、2049
Samba 是让 Linux 和 Unix 说 SMB 的一套软件——**Windows 客户端会以为
自己连的是一台 Windows 服务器**。它开的端口:
端口 协议 用途
--------------------------------------------------------------------------------
445 TCP 现代 SMB 全靠它,Windows 与 Linux 都走这一条
139 TCP 老 NetBIOS 会话,只有老客户端还需要
137 / 138 UDP 老 NetBIOS 的名称登记与网上邻居浏览
对 Windows 客户端的原生支持,让 Samba 在混合云文件共享里仍占约 45%
(据 2026 年 IDC《企业存储架构趋势报告》)。
算一笔文件服务器的流量账。1000 人的公司,每人每天读 30 次、写 10 次:
----------------------------------------------------------------------------------------
读 = 1000 × 30 = 30000 次/天,每次约 200 KB → 6 GB/天
写 = 1000 × 10 = 10000 次/天,每次约 500 KB → 5 GB/天
合计 11 GB/天,按 250 个工作日算 ≈ 2.75 TB/年
----------------------------------------------------------------------------------------
同样这 1000 人用 OA(一个 Web 系统),每人每天 50 次请求、每次 20 KB:
----------------------------------------------------------------------------------------
1000 × 50 × 20 KB = 1 GB/天
11 ÷ 1 = 11 倍
----------------------------------------------------------------------------------------
结论:**文件服务器吃的是【大块】,Web 系统吃的是【小块】。**
同样一批人,文件服务器的流量是 Web 系统的 11 倍。
这也是为什么文件服务器最怕堵在跨城专线上——它不是慢在服务器,是慢在路上。
最后一个提醒:SMB 是内网横向移动的头号通道。
2026 年 9 月的一次公网扫描里,暴露在互联网上的 445 端口有 1771 个,
NFS 的 2049 端口 110 个。**这几个端口都不该出现在公网上。**
看中间那行:11 GB/天、2.75 TB/年。这个量级的流量,放在一个楼里完全不是问题(千兆内网跑满只要几分钟),但要是压在一条跨城专线上,就变成了瓶颈。 再看最后两行:11 倍。这不是文件服务器【效率低】,而是它本来就承担着不同形状的活——Web 系统传的是【数据】,文件服务器传的是【文件】。 记住这个区别,就能听懂运维常说的一句话:文件服务器不是性能问题,是位置问题。 放对地方它很快,放错地方它永远慢。
30 秒实验
- 打开资源管理器或 Finder 连一次公司共享盘,看它用的是不是 \服务器名\共享名 这种写法。
- 在电脑上搜索一下 samba 或 smb,看系统里有没有相关服务。
- 打开一个网页和打开一个大文件,各看一次流量差多少(任务管理器或活动监视器里就能看到)。
常见误区
- 错误:服务器是按硬件分的。——纠正:是按【说哪种协议】分的。同一台机器装上 Apache 就是 Web 服务器,装上 Samba 就是文件服务器。区别在软件和端口,不在机箱。
- 错误:Samba 是 Linux 版的 SMB。——纠正:SMB 是协议,Samba 是实现。协议属于微软,Samba 是开源社区写出来让 Linux 能说这套协议的程序。所以 Windows 客户端接上去【以为】对方是 Windows。
- 错误:文件服务器只要带宽够就行。——纠正:它的瓶颈常常是位置而不是带宽。一次打开就是几百 KB 到几 MB,跨城访问时物理距离带来的延迟无法靠加带宽解决。
自测三问(点开对答案)
1. Web 服务器、邮件服务器、文件服务器,区别到底在哪? —— **在协议和端口上**:Web 服务器说 HTTP/HTTPS(80、443),邮件服务器说 SMTP/POP3/IMAP(25、110、143 等),文件服务器说 SMB/CIFS、NFS(445、2049)。**同一台机器装上不同的服务,就是不同的服务器。** 2. Samba 是干什么用的? —— **让 Linux 和 Unix 系统说 SMB 协议**,从而和 Windows 客户端共享文件与打印机。**Windows 客户端连上去会以为对方是 Windows 服务器。** 它主要走 TCP 445,老环境还需要 139 和 137/138。 3. 为什么说文件服务器吃的是【大块】流量? —— 同样 1000 人的规模,**文件服务器约 11 GB/天,Web 系统只有约 1 GB/天,差了 11 倍**。因为 Web 一次请求传几 KB,文件共享一次打开传几百 KB 到几 MB。**这也决定了它最怕跨城专线——瓶颈在路上,不在服务器。**- ☐ 下一节(6-1 云概述与特征:云计算、按需自助服务、资源池化)
相关笔记
- 非互联网网络 —— 上一节讲内网的边界,这一节讲内网里最忙的那台
- 程序的启动 —— 服务器也是一种程序,装什么服务就是什么服务器
- 运行和管理服务器 —— 服务器的分类与部署方式
- 通信的监视与分析 —— 内网流量被看见的后果
- 在企业中活用Web系统 —— 内网 Web 系统与文件服务器常在同一张网里
- 云概述与特征 —— 下一章登场:这台最忙的服务器,如今多半不在自己机房
- 现有系统迁移到云端 —— 从自建机房搬到云上,有六条路可走
- 🕸️ Web技术原理 · 索引