🌐 第一章 网络基础知识
📄 一句话概括

网线、路由器、协议都只是"搬运工",真正收发数据的主角是应用程序——浏览器、微信、游戏。它们的工作模式分两派:C/S(客户端围着服务器转)和 P2P(没有轴心,人人互为服务器)。

1. 把镜头对准主角:应用程序

前面几节一直在讲"路"(LAN、WAN、接力)。这一节看"路上跑的人"——应用程序:

关键认知:电脑本身不会上网,是电脑里的程序在上网。操作系统提供了"通信能力"(像小区统一装的信箱系统),应用程序负责"写信、读信"(决定发什么、收到后干什么)。

💡 收 Java 13.2 的一笔旧账

Java 课 13.2 写的 Socket 程序——new Socket(...) 那一行,就是应用程序亲自出面去建立连接收发数据。当时你已经在写"主角"了,只是现在才知道它在整张网里的位置。

2. 工作模式两派:C/S 和 P2P

派系一:C/S(Client/Server,客户端/服务器)

绝大多数应用的姿势:一切以服务器为轴心。

派系二:P2P(Peer-to-Peer,对等网络)

没有轴心,每台电脑既是客户端又是服务器,节点之间直接互传:

C/S P2P
结构 服务器为轴心 无轴心,节点互连
谁提供服务 专门的服务器 每个节点都提供
人越多 服务器越挤 下载越快
服务器挂了 全体歇菜 不受影响

3. 动手时间(Demo05):抓到正在收发数据的程序现行

步骤:
1. Ctrl + Shift + Esc 打开任务管理器 → 「性能」选项卡 → 底下点「打开资源监视器」
2. 切到「网络」选项卡
3. 看"网络活动的进程"列表:谁在收发(baidu.exe?chrome.exe?WeChat.exe?)
   一目了然——收发数据的"主角"当场点名
4. 挑一个进程,看下方面板里它的"远程地址"(对方 IP)——
   这就是它正在对话的那台服务器
5. 播放一个视频再回来看:对应程序的速率列立刻飙升

4. 30 秒实验

  1. 实验 1:关掉浏览器和微信,再看资源监视器——网络活动立刻安静大半:证明"程序不上网,电脑不上网"。
  2. 实验 2:游戏更新时打开资源监视器——更新程序占满带宽,游戏本身却很安静:同一个电脑,不同程序各自收发。
  3. 实验 3:BT/网盘客户端上传列不为零——你的电脑正在当别人的"服务器",P2P 双重身份现场实锤。

5. 常见误区

  1. 以为"电脑在上网"——是电脑里的某个程序在上网;没有任何程序通信时,你的电脑对网络就是隐身的。
  2. 以为服务器是特殊的神秘机器——服务器上跑的也是普通程序(服务器程序),只是 24 小时待命、性能更强。
  3. 以为 P2P = 盗版工具——P2P 是中性的传输模式;微信视频通话早期、许多直播分发都用它的思想,盗版只是滥用。
  4. 以为人越多网速越慢是天经地义——那是 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. 下一步学什么

相关笔记