第一章 计算机网络和因特网(下)

目录

    • [1.5 面对攻击的网络](#1.5 面对攻击的网络)
      • [1.5.1 怎么把**恶意程序**放进你的电脑?](#1.5.1 怎么把恶意程序放进你的电脑?)
      • [1.5.2 怎么攻击服务器和网络基础设施?------DoS / DDoS](#1.5.2 怎么攻击服务器和网络基础设施?——DoS / DDoS)
      • [1.5.3 坏家伙能"偷偷旁听"你的分组 ------ 嗅探攻击](#1.5.3 坏家伙能“偷偷旁听”你的分组 —— 嗅探攻击)
      • [1.5.4 坏家伙能"假装是别人"------IP 欺骗和身份伪装](#1.5.4 坏家伙能“假装是别人”——IP 欺骗和身份伪装)
    • [1.6 计算机网络和因特网的历史](#1.6 计算机网络和因特网的历史)
      • [1.6.1 分组交换的发展(1961--1972)](#1.6.1 分组交换的发展(1961–1972))
      • [1.6.2 专用网络和网络互联(1972--1980)](#1.6.2 专用网络和网络互联(1972–1980))
      • [1.6.3 网络的激增(1980--1990)](#1.6.3 网络的激增(1980–1990))
      • [1.6.4 因特网爆炸:20 世纪 90 年代](#1.6.4 因特网爆炸:20 世纪 90 年代)
      • [1.6.5 最新发展(2000 年以后)](#1.6.5 最新发展(2000 年以后))

1.5 面对攻击的网络

现在互联网已经变成大家生活、工作、政府、学校都离不开的基础设施,但只要有网络,就有"坏人"想搞破坏

  • 偷你的隐私(密码、身份证号、银行卡......)
  • 让你依赖的服务瘫痪(网课上不了、网银打不开、公司业务停摆)
  • 冒充别人骗你钱、骗你信息

这一节就是先做一个"安全预告片",告诉你:

网络世界有什么典型的攻击方式,后面章节才会讲怎么防御。

1.5.1 怎么把恶意程序放进你的电脑?

关键词:恶意软件 malware、病毒 virus、蠕虫 worm、僵尸网络 botnet

1. 为什么你的电脑会被恶意软件感染?

因为你上网会做:

  • 浏览网页、刷视频、刷微博/小红书
  • 收发邮件
  • 下载软件、点各种链接、插 U 盘......

这些正常的"好东西"里,有时会混进"坏东西"------

只要你点错、打开错文件,它就趁机安装到你设备上,这类带恶意目的的软件 统称为 恶意软件(malware)

一旦感染,它可以干很多坏事,例如:

  • 删除或破坏你的文件
  • 偷你的密码、身份证号、银行卡号
  • 暗中录键盘、截屏
  • 在后台接收黑客命令,让你的电脑"悄悄帮他干活"

2. 僵尸网络(botnet)是啥?

如果坏人控制了成千上万台被感染的电脑,就像:

一个人偷偷当了"几十万电脑的老板",它们都听他的。

这些被控制的电脑叫肉鸡 / 受控主机 ,一大群肉鸡组成的网络叫 僵尸网络 botnet

黑客可以让这些肉鸡集体去:

  • 群发垃圾邮件
  • 对某个网站一起发动攻击(DDoS,下面会讲)

所以有时候你电脑很慢、风扇狂转、网络很卡,可能就是在帮别人干坏事还不自知

3. 多数恶意软件是"自我复制"的

书里说:self-replicating 自我复制,就是说:

一旦感染一台主机,它会自己想办法"再去感染别的主机"。

这样坏软件就能像病毒一样越传越多,非常难收拾。

常见两种形式:

(1) 病毒(virus)

  • 特点:需要人为"触发"
  • 比如藏在一个带恶意代码的附件/程序里:
    • 你下载一个"XX 破解工具.exe",双击运行;
    • 里面的恶意代码就开始干活;
    • 它可能把自己再复制到其他文件里,或者附着在其它程序上。

类比:

病毒更像"附着在文件上的毒药",只有你喝下去(执行文件)才会发作。

(2) 蠕虫(worm)

  • 特点:不需要你点,它自己在网络里传播
  • 典型场景:
    • 有一个系统漏洞,没打补丁;
    • 蠕虫扫描网络,一旦发现某台机器有这个漏洞,就远程利用它、把自己复制过去,再从那台继续扩散。

类比:

蠕虫像会自己爬的虫子,到处钻墙缝,只要墙有洞(漏洞)它就能钻进去。

病毒 vs 蠕虫:一句话记忆

  • 病毒:需要"你"运行带毒程序才发作;
  • 蠕虫:自己在网络里主动找"没打补丁"的机器入侵。

1.5.2 怎么攻击服务器和网络基础设施?------DoS / DDoS

1. 什么是 DoS 攻击?

DoS(Denial of Service)= 拒绝服务攻击

目标:不是把服务器"黑进去",而是:

把服务器或网络搞到"忙死 / 堵死",

让正常用户用不了服务,产生"服务不可用"的效果。

常见攻击目标:

  • Web 服务器(网站)
  • 邮件服务器
  • DNS 服务器
  • 各种网络设备(路由器、防火墙......)

只要把关键服务打趴下,整个网站、公司、甚至国家的一些业务就可能瘫痪。

2. 三种主要 DoS 手段

书里列了三类:

(1) 弱点攻击

  • 向某个有已知漏洞的程序/操作系统发送"精心构造的报文";
  • 程序没处理好这种特殊报文,就会崩溃、死机或重启。

类比:

有人知道你手机有个输入某种表情就会闪退的 bug,于是疯狂给你发那个表情,把你搞得一直闪退。

(2) 带宽洪泛(bandwidth flooding)

  • 攻击者向目标发送巨量分组,把目标到网络之间那条链路占满;
  • 结果是:合法用户的分组塞不进去→ 用户访问不了服务。

类比:

高速路被一群坏人开的车故意占满车道,普通人根本上不了高速。

(3) 连接洪泛(connection flooding)

  • 攻击者不停地和目标服务器建立大量的半开/全开 TCP 连接;
  • 服务器的连接资源有限,这些假连接占满位置后,真实用户就连不上了

类比:

一个海底捞店有 50 个号位,有人用假手机不断排号占满座位,你却一直排不上。

3. 单点 DoS vs. 分布式 DDoS(图 1-25)

如果只是一台机器在攻击:

  • 攻击带宽有限,上游路由器可能会很快发现这台机器很异常,直接把它拦掉。

但如果攻击者控制了一大堆"肉鸡"(僵尸网络)

  • 让上千台受控主机一起向目标发流量
  • 每台的流量不一定非常夸张,但加起来巨大
  • 源地址分散在全世界,很难区分哪些是真用户、哪些是"肉鸡"

这就叫 分布式拒绝服务攻击(DDoS),图 1-25 就是这个场景:

攻击者 → 控制很多受控站点 → 这些站点一起向受害者猛发流量

DDoS 比单台 DoS 更难检测、防御,是现实中非常常见的一种大规模攻击。

1.5.3 坏家伙能"偷偷旁听"你的分组 ------ 嗅探攻击

1. 嗅探器能干嘛?

场景:

  • 你在咖啡馆连了公共 WiFi;
  • 如果有人在旁边放了一台"被动的接收设备",
    它就能悄悄收到通过这个无线信道的每一个分组的副本

这些分组里可能有什么?

  • 登录账号、密码
  • 身份证号、银行卡号
  • Cookie、会话令牌
  • 各种隐私信息......

这个被动接收设备 + 嗅探软件就叫 分组嗅探器(packet sniffer)

关键点:

它是"被动监听",不往外发包,只是默默"旁听",因此很难被发现。

2. 在有线环境也可以嗅探

  • 很多传统 LAN(局域网)是广播式 的:
    • 一个分组发在局域网上,所有主机都能"收到",只是正常主机不会乱看。
  • 如果坏人把嗅探器接在某个集线器端口上,就能收到这整个 LAN 上的所有分组副本。

所以:

只要某人有权限接入到你所在的那条链路/路由器,就有机会偷偷记录流经那里的所有分组。

网络课中常用的抓包工具 Wireshark ,本质上就是一个合法的分组嗅探器,

老师会用它做实验,分析协议,并不是真的拿来偷别人数据。

3. 怎么防?

书这里只是抛一个概念,具体防御会在后面讲密码学与安全:

  • 对敏感数据加密传输(HTTPS、WPA2/WPA3 等)
  • 这样嗅探器即便抓到了分组,也只能看到一堆看不懂的密文。

1.5.4 坏家伙能"假装是别人"------IP 欺骗和身份伪装

1. IP 欺骗是啥?

在理论上,攻击者可以构造一个分组:

  • 里面的源 IP 地址是假的(比如伪装成银行服务器的 IP)
  • 发送到网络上后,对方看见这个分组,会以为真的是那台机器发来的

这叫 IP 欺骗(IP spoofing)

就像有人伪造快递单,把寄件人写成"某官方机构",让你以为是真官方寄来的。

IP 欺骗只是"伪装成其他用户"的众多方式之一。

2. 为什么需要"端点鉴别"?

为了避免"我不知道你是谁还要跟你通信"的情况,需要一种机制:

让通信双方确认:

"你真的是你说的那个人 / 那台主机。"

这就叫 端点鉴别(authentication),比如:

  • 账号密码登录
  • 验证码、短信
  • 数字证书(HTTPS 里用到)
  • 数字签名 等等

后续章节会详细讲这些东西如何配合网络协议使用。

3. 互联网一开始为什么这么不安全?

书最后说了一句很关键的话:

互联网最早是按照"大家互相信任"的模型设计的。

默认任何用户发分组都是善意的,安全性不是设计重点。

但如今:

  • 有垃圾邮件
  • 有 IP 欺骗
  • 有中间人攻击
  • 有 DDoS
  • 有恶意软件......

所以现代网络必须在"原本没考虑安全"的协议基础上,加各种安全机制

比如 HTTPS、VPN、防火墙、入侵检测、防 DDoS 系统等等。

1.6 计算机网络和因特网的历史

1.6.1 分组交换的发展(1961--1972)

1. 那时候的世界:电话网是老大

  • 20 世纪 60 年代初,全世界的通信主力是电话网络
  • 电话网采用的是"电路交换 ":
    • 打电话时,先为你们两人"独占"一条从这头到那头的线路;
    • 你说话期间,这条线路一直被你们占着,别人用不了;
    • 挂断后线路才释放。

对"人说话"很合适,但对计算机传数据 就很浪费:

计算机传输通常是"突发一下、停一会儿再传",线路很多时间是空闲的。

问题:能不能有一种机制,让很多用户共享同一条线路,不用像电话那样"一个人霸占一条线"?

2. 分组交换的核心想法

这时,一些研究者提出了一个革命性点子:分组交换(packet switching)

简单说就是:

不再给每个通信双方"独占一条线",

而是把要发的数据 切成一个个小包(分组)

这些分组在网络里像"快递包裹"一样,

排队、转发、共享链路带宽。

好处:

  • 多个用户可以同时使用同一条线路------谁有数据谁上
  • 链路利用率高得多
  • 更适合计算机那种"突发式"的传输

书里提到几个关键人物(名字可以不用死记):

  • Kleinrock:做排队论,用数学证明"分组交换"在理论上是可行、有效的。
  • Paul BaranDonald Davies:从工程角度提出并研究分组交换网络的实际设计。

3. ARPANET 的诞生:第一个真正的分组交换计算机网络

美国国防高级研究计划局 ARPA(现在叫 DARPA)资助了一系列项目,

搞出了世界第一个分组交换计算机网络:ARPANET

  • 1969 年,第一批 4 台主机 通过分组交换机(叫 IMP)连在一起:
    • UCLA(加州大学洛杉矶分校)
    • SRI(斯坦福研究所)
    • UCSB(加州大学圣巴巴拉分校)
    • Utah(犹他大学)

这就是互联网最早的"原型",相当于"四个学校连成了一个科研局域网"。

可以把 1960s--1972 看成:
"分组交换从理论想法 → 被真正造出来并跑起来"的阶段。


1.6.2 专用网络和网络互联(1972--1980)

这一阶段的关键词:更多网络出现 + 如何把不同网络连在一起 = 互联(internetworking)

1. 早期 ARPANET 的特点

  • 一开始 ARPANET 是"单一封闭网络",只连着研究机构的主机。
  • 不同主机间通信要依赖一个早期的主机协议 NCP。

1972 年左右,ARPANET 已经扩展到十几台主机,多所高校加入。

  • 1972 年还发生了两件小事:
    • 第一个网络控制协议 NCP 写成 RFC
    • Ray Tomlinson 写出了第一版电子邮件程序(可以发邮件了)

2. 各种"专用分组网络"开始冒头

除了 ARPANET,世界各地开始出现各种"专门用途的分组网络",比如:

  • ALOHA 网络:夏威夷的一个无线分组网络,用无线电把各岛的计算机连在一起,是后来以太网、WiFi 的重要灵感来源。
  • 各种商用分组网络:Telenet 等,把 ARPANET 技术商用化。
  • IBM、GE 等公司也有自己的专用网络体系。

整体上看:
大量"各自为政"的网络出现了 ------ 大家都有自己的协议、自己的网络。

3. 需要解决的新问题:网络与网络之间怎么互通?

这时大家意识到:

不能永远搞各家封闭网络,

需要一种机制,让不同网络之间能互相通信

这就是后来 "Internet(互连网)" 的真正含义:

  • 不只是一个网络,而是"网络的网络";
  • 要有一组通用协议,让不同网络之间都能说话。

在这个背景下,TCP/IP 的雏形 出现了:

  • Vint CerfBob Kahn 等人提出;
  • 目的就是:让不同网络像一个统一的大网络一样运作。

1970s 的主线可以总结成:
"有很多专用分组网络 → 我们需要一种办法把它们连成一个更大的网"


1.6.3 网络的激增(1980--1990)

这一节主要讲两件事:

  1. 连接到公共互联网的主机数量爆炸式增长
  2. TCP/IP 和 DNS 等关键协议标准化、普及

1. 主机数量从几百 → 几十万

  • 70 年代末:大概有 200 台主机接入 ARPANET。
  • 到 80 年代末:连到公共互联网的主机数已经接近 十万台

这其中起重要推动作用的是一系列学术网络:

  • BITNET、CSNET:把更多高校研究人员连起来。
  • 最重要的是 NSFNET (美国国家科学基金会网络):
    • 提供高速骨干,把很多大学和研究机构接入;
    • 80 年代末主体速率到 1.5 Mbps,后来逐渐成为互联网骨干之一。

2. TCP/IP 成为"官方标准"

  • 1983 年 1 月 1 日,ARPANET 统一切换到 TCP/IP 协议族
    标志着 TCP/IP 成为标准主机协议,替代早期 NCP。
  • 同期还发展了非常关键的协议:
    • DNS(域名系统)
      • 负责把像 gaia.cs.umass.edu 这样的名字映射为 32 位 IP 地址。
      • 解决"人记不住IP地址,只记得名字"的问题。
    • TCP 本身也在 80 年代得到改进(拥塞控制等)。

可以把 80s 看成:
"TCP/IP + DNS 成熟并占领了主流;互联网从科研网 → 面向更多机构的基础设施"

同时,法国还搞了一个很有意思的东西:Minitel 系统(你可以把它当作法国版"早期上网终端 + 服务平台"),虽然在 90 年代后期逐渐被因特网替代,但在当时很成功。


1.6.4 因特网爆炸:20 世纪 90 年代

这一节对你最有感觉,因为跟"我们现在用的互联网"非常接近。

1. 90 年代初的一个大事件:NSFNET 解封商业化

  • 之前的 NSFNET 主要用于学术科研,商业用途受限。
  • 90 年代中期后,NSFNET 退出对公共互联网主干的直接运营,
    商业运营商开始大规模提供互联网接入。

这为"互联网商业化"打下基础。

2. 真正改变世界的东西:万维网(WWW)

WWW 不是整个互联网,而是跑在互联网之上的一个"应用系统"

关键要素:

  • HTML:页面内容的标记语言
  • HTTP:浏览器和 Web 服务器之间通信的协议
  • URL:统一资源定位符,一种统一的地址表示方式
  • Web 浏览器:给用户看网页的程序

这些东西由 Tim Berners-Lee 在 CERN 工作时提出,被称为 Web 的发明者。

之后几件大事:

  • 1993 年左右:第一个带 GUI 的浏览器 Mosaic 出现,
    让普通人也可以"点点鼠标就上网看网页"。
  • 1994--1995:Netscape 公司推出浏览器,90 年代中期几乎所有学校、公司都在用 Netscape 或后来微软的 IE 浏览器上网。
  • 90 年代后期:各种 Web 服务、网站、电子商务迅速兴起。

与此同时,出现了很多你耳熟能详的早期互联网应用:

  • 电子邮件(本书前面已经提到)
  • Web 浏览与搜索
  • 即时通讯(早期聊天工具)
  • P2P 文件共享(Napster 等)

3. 1995--2001:互联网泡沫

  • 这段时间是"互联网创业公司狂飙"的阶段:
    • 各种公司上线,靠讲"互联网故事"上市,估值巨大。
  • 2000--2001 年泡沫破裂,很多公司倒闭;
  • 但也留下了一批真正成功的巨头:
    • 微软、思科、雅虎、eBay、谷歌、亚马逊等。

总之,90 年代是:
"Web + 浏览器 + 商业资本 → 互联网真正进入大众视野"的时代。


1.6.5 最新发展(2000 年以后)

这部分离你最近,说的是"现代互联网长成现在这个样子"的关键变化。

书里提了几个重要趋势:

1. 家庭宽带与视频时代

  • 2000 年后,ADSL、电缆调制解调器、光纤等宽带接入普及。
  • 下载/上传速度大幅提升,使得:
    • YouTube 一类的"用户上传视频网站"成为可能;
    • Netflix 一类的"在线视频点播"可行;
    • Skype / Facetime / 视频会议等实时音视频应用兴起。

2. 无线 & 移动互联网

  • 公共 WiFi、高速 3G/4G/5G 移动网络普及。
  • 智能手机、平板的出现(iPhone、安卓手机、iPad 等),
    让人们"随时随地上网"变成现实。

这直接催生了各种"基于位置的 App、移动社交、移动支付"等。

3. 社交网络的崛起

  • Instagram、Twitter、微信(中国)等社交应用爆发:
    • 把人和人连接起来,形成巨大的"社交图谱";
    • 用户不仅是"消费者",也是"内容的生产者"。
  • 通过它们提供的 API,很多新的联网应用和游戏也能"接入社交图谱",进一步增强黏性。

4. 在线服务、云计算

  • 大公司(如 Google、Microsoft)部署了超大规模的数据中心:
    • 搜索、邮箱、网盘、在线办公... 全部跑在云端。
  • "云计算"平台出现(如亚马逊 EC2、微软 Azure):
    • 企业不必自己买一大堆服务器,只需租云上的计算和存储。
    • 这极大降低了互联网创业的门槛。

2000 年以后可以总结为:
"宽带 + 移动 + 社交 + 云"共同把互联网推向了一个无处不在、深度融入生活的阶段。

相关推荐
YuMiao17 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
BingoGo2 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack2 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo3 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack3 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
Sinclair4 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
JaguarJack4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
Rockbean5 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩5 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试