📄 一句话概括
网线、路由器、协议都只是"搬运工",真正收发数据的主角是应用程序——浏览器、微信、游戏。它们的工作模式分两派:C/S(客户端围着服务器转)和 P2P(没有轴心,人人互为服务器)。
1. 把镜头对准主角:应用程序
前面几节一直在讲"路"(LAN、WAN、接力)。这一节看"路上跑的人"——应用程序:
- 你想看网页 → 浏览器这个程序去收数据;
- 你想发消息 → 微信这个程序去收发;
- 你想打游戏 → 游戏客户端去收发。
关键认知:电脑本身不会上网,是电脑里的程序在上网。操作系统提供了"通信能力"(像小区统一装的信箱系统),应用程序负责"写信、读信"(决定发什么、收到后干什么)。
💡 收 Java 13.2 的一笔旧账
Java 课 13.2 写的 Socket 程序——new Socket(...) 那一行,就是应用程序亲自出面去建立连接收发数据。当时你已经在写"主角"了,只是现在才知道它在整张网里的位置。
2. 工作模式两派:C/S 和 P2P
派系一:C/S(Client/Server,客户端/服务器)
绝大多数应用的姿势:一切以服务器为轴心。
- 服务器程序:24 小时守在某台机器上,等客户端来请求(网站服务器、微信服务器、游戏服务器)。
- 客户端程序:你电脑上的那份——浏览器、微信、游戏。主动发起请求,等服务器回应。
- 特点:能力集中(数据、逻辑都在服务器),客户端轻装上阵;服务器一挂,全体歇菜。
派系二:P2P(Peer-to-Peer,对等网络)
没有轴心,每台电脑既是客户端又是服务器,节点之间直接互传:
- 典型场景:BT 下载——一个文件被切成许多块,你同时从十几个"下载同文件的人"手里各拿一块,拼起来。你下完之后,也立刻成为给别人提供块的人。
- 特点:越多人下载越快(源越多)——正好和 C/S 相反(C/S 人越多服务器越挤);不依赖单一服务器,没有"一挂全挂"的死穴。
- 短板:占用大量上传带宽;版权问题(传的东西管不住)。
| C/S | P2P | |
|---|---|---|
| 结构 | 服务器为轴心 | 无轴心,节点互连 |
| 谁提供服务 | 专门的服务器 | 每个节点都提供 |
| 人越多 | 服务器越挤 | 下载越快 |
| 服务器挂了 | 全体歇菜 | 不受影响 |
3. 动手时间(Demo05):抓到正在收发数据的程序现行
步骤:
1. Ctrl + Shift + Esc 打开任务管理器 → 「性能」选项卡 → 底下点「打开资源监视器」
2. 切到「网络」选项卡
3. 看"网络活动的进程"列表:谁在收发(baidu.exe?chrome.exe?WeChat.exe?)
一目了然——收发数据的"主角"当场点名
4. 挑一个进程,看下方面板里它的"远程地址"(对方 IP)——
这就是它正在对话的那台服务器
5. 播放一个视频再回来看:对应程序的速率列立刻飙升
4. 30 秒实验
- 实验 1:关掉浏览器和微信,再看资源监视器——网络活动立刻安静大半:证明"程序不上网,电脑不上网"。
- 实验 2:游戏更新时打开资源监视器——更新程序占满带宽,游戏本身却很安静:同一个电脑,不同程序各自收发。
- 实验 3:BT/网盘客户端上传列不为零——你的电脑正在当别人的"服务器",P2P 双重身份现场实锤。
5. 常见误区
- 以为"电脑在上网"——是电脑里的某个程序在上网;没有任何程序通信时,你的电脑对网络就是隐身的。
- 以为服务器是特殊的神秘机器——服务器上跑的也是普通程序(服务器程序),只是 24 小时待命、性能更强。
- 以为 P2P = 盗版工具——P2P 是中性的传输模式;微信视频通话早期、许多直播分发都用它的思想,盗版只是滥用。
- 以为人越多网速越慢是天经地义——那是 C/S 挤服务器的病;P2P 恰好反过来,人越多源越多越快。
6. 折叠自测题
❓ Q1:收发数据的真正主角是谁?网络设备扮演什么角色?
应用程序(浏览器/微信/游戏)是主角;网线、路由器、协议是搬运工,只负责把数据送到门口。
❓ Q2:C/S 和 P2P 最大的结构区别?
C/S 有中心服务器当轴心,客户端只请求;P2P 无轴心,每个节点既是客户端又是服务器,直接互传。
❓ Q3:为什么 BT 下载"人越多越快",而网页服务"人越多越卡"?
BT 是 P2P:人多=提供数据的源多;网页是 C/S:人多=都挤同一台服务器。
❓ Q4:C/S 模式的死穴是什么?P2P 的对应优势?
服务器单点故障——一挂全挂;P2P 没有单一依赖点,部分节点掉线不影响整体。
❓ Q5:资源监视器的网络页里,"进程"和"远程地址"两列分别在告诉你什么?
进程=谁在收发(主角点名);远程地址=它在和哪台服务器对话(对端门牌)。
7. 下一步学什么
- ☑ 1.6 通信过程中所使用的语言(网络架构) ✅ 已完成 —— 点此复习:应用程序正是四层架构里的应用层主角
相关笔记
- 网络的网络(互联网):WWW 只是互联网上的一种"服务"——服务的提供者与使用者,就是本节的应用程序
- Java 13.2 TCP通信:当时写的 Socket 客户端/服务端,就是 C/S 模式的最小版本
- 网络为谁而生的(私有网络与互联网):资源监视器里看到的"远程地址",就是 1.2 的门牌号