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

目录

    • [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 年以后可以总结为:
"宽带 + 移动 + 社交 + 云"共同把互联网推向了一个无处不在、深度融入生活的阶段。

相关推荐
dyxal2 小时前
非对称加密:彻底解决密钥分发难题的数字安全革命
服务器·网络·安全
q***9943 小时前
IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)
服务器·安全·php
RisunJan4 小时前
Linux命令-exportfs命令(管理NFS服务器上共享文件系统)
linux·运维·服务器
动感小麦兜4 小时前
服务器搭建
linux·服务器·python
LSL666_4 小时前
云服务器安装Tomcat
运维·服务器·tomcat
b***65324 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
k***45994 小时前
服务器无故nginx异常关闭之kauditd0 kswapd0挖矿病毒 CPU占用200% 内存耗尽
运维·服务器·nginx
p***62994 小时前
【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则
运维·服务器·安全
u***u6854 小时前
PHP在电商中的WooCommerce
开发语言·php