学习笔记:网络(3.14 网络与网络安全)
你好,未来的计算机科学家!本章将带你深入了解计算机是如何通信的,从最小的家庭网络到我们称之为“互联网”的庞大全球架构。理解网络至关重要,因为在现代世界中,几乎所有的系统都是相互连接的。别担心,如果有些术语听起来很专业,我们会用简单的类比为你拆解!
3.14.1 通信基础
3.14.1.1 通信方式:并行与串行
当数据在组件或系统之间传输时,通常使用以下两种主要方法之一:
1. 并行传输 (Parallel Transmission)
想象一条多车道高速公路。在并行传输中,多个比特(通常是 8 个或更多)同时通过不同的导线或通道发送。
- 速度: 在短距离内非常快。
- 问题: 在较长距离下,信号到达的时间会出现微小差异,这被称为偏移 (skew)。这会导致数据传输不可靠。
2. 串行传输 (Serial Transmission)
想象一条单车道公路。比特被逐个通过单一导线或通道发送。
- 串行相对于并行的优势:
- 可靠性: 没有数据偏移,因此在长距离传输中非常可靠。
- 成本: 所需导线更少,线缆更细、更便宜。
- (例如:USB(通用串行总线)就是串行的,尽管它比旧式的并行端口快得多!)
同步与异步数据传输
这指的是如何管理数据的时序(或“时钟”)。
1. 同步传输 (Synchronous Transmission):
- 发送方和接收方共享一个公共时序信号(时钟)。
- 数据以连续的、大块同步的形式发送。
- 优势: 对于大批量传输非常高效,因为不需要在每个字节中加入时序比特。
2. 异步传输 (Asynchronous Transmission):
- 没有共享时钟。数据一次只发送一个字符(或字节)。
- 为了告诉接收方数据的开始和结束,需要添加特殊的比特:
- 起始位 (Start Bit): 使接收方的时钟与发送方的时钟同步,发出“有字符即将到来”的信号。
- 停止位 (Stop Bit(s)): 为接收方留出处理数据的时间,并使其准备好识别下一个起始位。
快速复习:传输方式
短距离、高速度: 并行(但要注意偏移!)
长距离、高可靠: 串行(偏移较少)
大数据块(共享时钟): 同步
一次一个字符(带起止位): 异步
3.14.1.2 通信基础:词汇表
在讨论通信质量时,你必须掌握以下核心术语:
- 协议 (Protocol): 定义数据如何传输和接收的一套规则。(可以将协议想象成计算机对话的语法。)
- 延迟 (Latency): 从数据发送到接收之间的时间差。高延迟意味着响应缓慢(这对游戏体验很不利!)。
- 比特率 (Bit Rate): 每秒传输的比特数,以 bps(比特每秒)为单位。这是衡量速度的真正标准。
- 波特率 (Baud Rate): 每秒发生的信号变化(或码元)次数。以赫兹 (Hz) 或每秒码元数衡量。
- 带宽 (Bandwidth): 通信介质的最大理论数据传输速率。
波特率与比特率的区别
波特率是信号变化的速率,但有时复杂的技术会在一次信号变化中编码多个比特(使用复杂的电压电平)。
因此:
如果每次信号变化编码超过一个比特,比特率可能会高于波特率。
比特率与带宽的关系
比特率与带宽成正比。如果一根电缆具有较高的最大带宽,它就能实现更高的比特率(每秒传输更多数据)。
3.14.2 网络技术
3.14.2.1 主机间的组网类型
网络中的计算机如何交互?它们通常遵循以下两种模型之一:
1. 对等网络 (Peer-to-Peer, P2P)
- 状态: 所有计算机(主机)地位平等(它们都是“对等点”)。
- 用途: 安全性要求不高的小型企业或家庭。广泛应用于文件共享。
- 类比:一个小组学习讨论会,大家直接互相分享笔记。
2. 客户端-服务器网络 (Client-Server)
- 状态: 有专门的服务器提供资源,客户端请求资源。
- 用途: 大型组织、学校网络和互联网。提供更好的安全性和集中式管理。
- 服务器示例:文件服务器(存储文件)、邮件服务器(处理邮件)、Web 服务器(存储网站)。
3.14.2.2 精简客户端与胖客户端计算
这定义了主要处理能力所在的位置。
1. 精简客户端 (Thin-Client) 计算
- 客户端设备(如简单的终端或 Chromebook)处理能力极弱。
- 主要工作(运行应用程序、存储数据)由强大的中央服务器完成。
- 要求: 需要强大的网络基础设施和高性能服务器。
- 优势: 客户端硬件成本低、维护方便、数据安全性高(数据存储在服务器上)。
2. 胖客户端 (Thick-Client) 计算
- 客户端设备(如普通的台式机)自己完成大部分处理工作。
- 服务器主要用于存储文件或备份。
- 要求: 需要强大的客户端硬件(昂贵的个人电脑),但对网络性能要求相对较低。
- 优势: 网络中断时仍可本地运行,在处理密集型任务(如 CAD 或视频编辑)时速度更快。
3.14.2.3 有线网络:电缆与冲突检测
选择正确的电缆对于网络性能至关重要。
铜缆 (以太网) 与 光纤电缆
| 铜缆 (如 Cat 5e/6) | 光纤电缆 | |
|---|---|---|
| 技术 | 通过金属线传输电信号。 | 通过玻璃或塑料纤维传输光信号。 |
| 成本 | 安装便宜,使用广泛。 | 安装和维护昂贵。 |
| 速度与容量 | 良好,但长距离传输受限(信号衰减)。 | 极高的速度和容量(可长距离传输)。 |
| 干扰 | 易受电磁干扰。 | 不受电磁干扰影响。 |
冲突处理:CSMA/CD
CSMA/CD 代表载波监听多路访问/冲突检测 (Carrier Sense Multiple Access with Collision Detection)。该协议主要用于有线以太网,以管理共享的传输介质。
- 载波监听 (CS): 设备检查信道当前是否繁忙(即是否有其他设备在传输)。
- 多路访问 (MA): 多个设备可以访问信道并尝试传输数据。
- 传输: 如果信道空闲,设备开始传输。
- 冲突检测 (CD): 设备在传输的同时监听信道。如果检测到乱码信号(即冲突),它会立即停止传输。
- 退避 (Backoff): 所有冲突涉及的设备等待随机时长,然后尝试重新传输。
你知道吗?无线网络中无法实现冲突检测,因为无线设备无法在传输的同时进行监听。
3.14.2.4 无线网络 (Wi-Fi)
Wi-Fi 是一种基于国际标准 (IEEE 802.11) 的无线局域网 (WLAN)。其目的很简单,就是使设备能够无线接入网络。
关键无线组件:
- 无线网卡 (Wireless Network Adapter): 设备(笔记本、手机)中允许其进行无线通信的硬件。
- 无线接入点 (WAP): 将无线设备连接到网络的中心设备(在家庭设备中通常与路由器和交换机集成在一起)。
- 服务集标识符 (SSID): Wi-Fi 网络的友好名称(扫描 Wi-Fi 时看到的名称)。
无线安全:
无线网络使用多种方法来防止未经授权的访问和窃听:
- 强加密 (WPA2/WPA3): 对传输的数据进行加密,即使被拦截也无法读取。
- 禁用 SSID 广播: 隐藏网络名称,使用户在扫描时看不到它(但这只是一种薄弱的安全手段)。
- MAC 地址白名单 (MAC Filtering): 只允许特定、经批准的 MAC 地址(唯一的硬件标识符)连接。
冲突处理:CSMA/CA
由于无线网络无法可靠地检测冲突,该协议使用载波监听多路访问/冲突避免 (Carrier Sense Multiple Access with Collision Avoidance)。
- 监听: 设备检查信道是否空闲。
- 发送意图 (RTS/CTS): 如果信道空闲,设备发送短的发送请求 (RTS) 包给接入点 (AP)。AP 响应一个允许发送 (CTS) 包,告诉所有其他设备等待。
- 传输: 设备传输数据。
- 确认: 接收方发送确认 (ACK)。如果没有收到 ACK,则假定数据丢失,设备在随机等待后再次尝试。
3.14.2.5 有线与无线网络的比较
| 有线网络 | 无线网络 | |
|---|---|---|
| 优势 | 速度快、带宽高、更安全、连接质量稳定。 | 移动性强、易于安装(无需物理线缆)、初始扩展成本较低。 |
| 劣势 | 灵活性差(需要打孔/布线)、基础设施安装成本高。 | 速度较慢、安全性较低(数据以广播形式发送)、易受干扰,且随距离增加信号衰减。 |
核心要点:网络类型
网络使用冲突协议管理流量(有线用 CSMA/CD,无线用 CSMA/CA),并根据需求选择基础设施(P2P 追求简洁,客户端-服务器追求控制与安全)。
3.14.3 互联网
互联网结构基础
互联网是一个庞大的、相互连接的网络集合。数据传输依赖于两个核心理念:分组交换 (Packet Switching) 和路由器 (Routers)。
分组交换
信息不再作为连续的数据流发送,而是被分解成小的、可管理的块,称为分组 (packets)。每个分组在网络中独立传输,并可能采取不同的路线,最后在目的地重新组装。
路由器的作用
路由器是引导网络流量的设备。它读取分组上的目的地址,并使用路由表来确定该分组在互联网上传输最高效的路径。(把路由器想象成邮政分拣中心,决定信件下一步该走哪条路。)
分组的主要构成
一个分组包含其旅程所需的关键信息:
- 源地址: 分组来自哪里(IP 地址)。
- 目的地址: 分组要去哪里(IP 地址)。
- 有效载荷 (Payload): 实际传输的数据片段。
- 分组序列号: 用于在目的地按正确顺序重组分组。
- 生存时间 (TTL): 一个计数器,限制分组可以通过的跳数(路由器数量)。防止分组丢失时在网络中无限制循环。
- 错误检测/纠正信息: 校验(如校验和 (checksum)),确保数据在传输过程中没有损坏。
互联网路由
路由实现的过程是:每个路由器读取传入分组的目的 IP 地址,查阅其内部的路由表(列出了已知的网络路径),然后将分组转发给路径上下一个通往最终目的地的路由器。这一过程重复,直到分组到达目标网络。
互联网寻址
- 统一资源定位符 (URL): 用于定位互联网资源的人类可读网络地址(例如:https://www.oxfordaqa.com/)。
- IP 地址 (Internet Protocol Address): 分配给网络上每个设备的唯一数字标签。这是分组中机器可读的目的地址。
- 域名 (Domain Name): 网站的主要名称(例如:oxfordaqa.com)。
- 完全限定域名 (FQDN): 互联网上特定计算机或主机的完整域名(例如:www.oxfordaqa.com)。
域名系统 (DNS)
DNS 的目的是将人类可读的域名(如 google.com)翻译成机器可读的 IP 地址(如 172.217.16.14)。
- 类比:DNS 是互联网的电话簿。你查找名字来获得号码。
- 域名服务器: 专门存储这些翻译数据库的服务器。当你输入 URL 时,你的设备会向 DNS 服务器发送请求以找到对应的 IP 地址。
互联网注册机构
互联网注册机构(如 ICANN 和区域性注册机构)在全球范围内管理域名和 IP 地址的分配。它们确保每个域名和 IP 地址都是唯一的,从而防止冲突并维护互联网的结构化组织。
3.14.4 传输控制协议/互联网协议 (TCP/IP)
3.14.4.1 TCP/IP 模型(四层结构)
TCP/IP 模型是一套协议簇,管理着互联网上几乎所有的通信。它使用分层结构。
为什么要分层?
网络协议使用分层将发送数据的复杂任务拆分为更小的、独立的子任务。
- 这使得特定的协议可以专注于单项工作。
- 如果某一层发生变化(例如采用了新的电缆技术),其他层不受影响,从而提高了模块化 (modularity)。
TCP/IP 协议栈的四层 (A-T-I-L):
- 应用层 (Application Layer):(顶层)这是网络应用程序(如浏览器、邮件客户端)运行的地方。它处理用户交互的具体服务(例如 FTP、HTTP)。
- 传输层 (Transport Layer): 负责建立连接并确保进程间数据的可靠传输。这是 TCP(传输控制协议)运行的地方,它将数据拆分成段并确保它们正确送达。
- 互联网层 (Internet Layer): 处理跨网络的寻址和路由。这是 IP(互联网协议)运行的地方,使用 IP 地址引导分组。
- 链路层 (Link Layer):(底层)处理特定网络硬件(如以太网电缆、Wi-Fi)上的数据物理传输。
套接字与 MAC 地址
- 套接字 (Sockets): 套接字是 IP 地址与端口号的组合(例如 192.168.1.1:80)。它提供传输层的通信端点,确保数据不仅到达正确的计算机,还能到达在该计算机上运行的正确应用程序。
- MAC 地址: 永久烧录在每个网卡中的唯一物理地址。它在链路层运行,用于同一物理网络段内的局部通信(例如从你的笔记本电脑将分组传送到路由器)。
3.14.4.2 标准应用层协议
这些协议定义了应用程序使用特定服务的规则:
- HTTP (超文本传输协议): 网页浏览器用于从 Web 服务器请求和接收网页(文本形式)。
- HTTPS (安全超文本传输协议): HTTP 的安全版本,确保加密通信(使用 SSL/TLS)。
- FTP (文件传输协议): 用于在客户端和服务器之间传输文件。支持匿名或身份验证访问。(注意:FTP 正被 SFTP 等安全方案取代。)
- SSH (安全外壳协议): 用于安全远程管理,允许用户登录远程计算机并安全地执行命令。
- SMTP (简单邮件传输协议): 客户端用于发送邮件给邮件服务器,以及邮件服务器之间互相传输邮件。
- POP3 (邮局协议版本 3): 客户端用于从邮件服务器接收邮件(下载后通常会从服务器删除)。
- IMAP (因特网消息访问协议): 客户端用于从邮件服务器接收邮件(邮件通常保留在服务器上,允许跨多台设备同步)。
Web 浏览器与服务器的角色:
Web 服务器存储并提供网页,通常以文本形式(HTML、CSS 等)。Web 浏览器负责获取这些网页及其资源,解释代码,并在用户的屏幕上进行渲染 (rendering)。
3.14.4.3 IP 地址
每个 IP 地址分为两个部分:
- 网络标识部分: 标识设备所属的具体网络。
- 主机标识部分: 标识该网络内的特定设备。
子网划分与子网掩码
网络可以划分为称为子网 (subnets) 的较小段,以提高组织和效率。子网掩码(一个 32 位数字)用于确定 IP 地址的哪部分是网络 ID,哪部分是主机 ID。
(技巧:如果子网掩码中的某位是 1,则 IP 地址中对应位属于网络 ID;如果是 0,则属于主机 ID。)
IPv4 与 IPv6
- IPv4: 使用 32 位,提供约 43 亿个唯一地址。
- IPv6: 使用 128 位。
- 为什么引入 IPv6: 因为互联网的快速扩张导致我们用尽了可用的 IPv4 地址(地址耗尽)。IPv6 提供了近乎无限的地址空间。
可路由与不可路由 IP 地址
- 可路由(公网)IP 地址: 全球唯一的地址,可以通过路由器在互联网上进行定向传输。
- 不可路由(私有)IP 地址: 保留用于专用网络内部(如家庭或学校局域网)的地址。路由器被配置为阻止这些地址穿越公网,意味着它们仅在本地可见。
3.14.4.4 动态主机配置协议 (DHCP)
目的: DHCP 是一种系统,当设备连接到网络时,自动为其分配唯一的 IP 地址和其他网络配置参数(如子网掩码和默认网关)。
DHCP 如何工作(简化版):
- 新设备广播一个请求 (DHCP Discover)。
- DHCP 服务器提供一个可用的 IP 地址 (DHCP Offer)。
- 设备接受该提供 (DHCP Request)。
- DHCP 服务器发送最终确认 (DHCP Acknowledgement)。
相对于手动配置的优势:
DHCP 避免了人为错误(例如不小心给两台设备分配了相同的 IP 地址),并简化了网络管理,特别是在设备频繁加入和离开的大型网络中。
核心要点:TCP/IP 与寻址
互联网依赖分层协议 (TCP/IP) 保证效率,使用数字地址 (IP) 进行路由,并使用 DNS 将名字翻译成数字。DHCP 则简化了分配这些地址的基本工作。
3.14.5 网络安全
网络安全旨在保护系统和数据免受未经授权的访问、使用、泄露、中断、修改或破坏。
防火墙 (Firewalls)
防火墙是一种根据预设安全规则监控和控制进出网络流量的安全系统。
- 分组过滤 (Packet Filtering): 最简单的类型,检查分组首部(如源/目的 IP 和端口),并阻止不匹配规则的流量。
- 代理服务器 (Proxy Server): 充当内部网络与外部世界之间的中间人。它代表内部客户端发起请求,从而隐藏客户端的真实 IP 地址。
- 状态检测 (Stateful Inspection): 一种高级防火墙,跟踪活跃网络连接的“状态”。它仅允许那些与已建立的对外连接请求相对应的入站流量,从而使得外部恶意连接难以主动发起联系。
对称加密与非对称加密
加密是将明文 (plaintext) 使用算法和密钥 (key) 转换为不可读的密文 (ciphertext) 的过程。
1. 对称加密 (Symmetric Encryption)
加密和解密使用相同的密钥。
(例如:凯撒密码和维吉尼亚密码都是对称的。)
2. 非对称(公钥)加密 (Asymmetric Encryption)
使用两个数学相关的密钥:公钥 (Public Key)(广泛公开)用于加密,私钥 (Private Key)(严格保密)用于解密。
密钥交换问题
在对称加密中,发送方和接收方必须找到一种安全的方式来共享密钥,而不被拦截。这就是密钥交换问题。非对称加密解决了这个问题,因为加密密钥(公钥)可以公开分享,而只有数学相关的私钥才能解密数据。
数字证书与数字签名
这些是在线建立信任的基础,特别是在使用 HTTPS 时。
- 数字证书: 一种用于证明公钥所有权的电子文档。它们由证书颁发机构 (CA) 签发,用于验证网站身份的真实性。
- 数字签名: 一种验证消息或文档真实性和完整性(未被篡改)的方法。它是通过使用发送方的私钥对文档的哈希值进行加密而创建的。
恶意软件 (Malware)
恶意软件试图利用漏洞 (vulnerabilities)——即系统、软件或安全程序中的弱点。
- 病毒 (Virus): 附着在合法程序上的恶意代码,需要宿主程序来传播。利用软件过时等漏洞。
- 木马 (Trojan): 伪装成合法软件的恶意软件。诱骗用户安装它。利用人性弱点(社会工程学)。
- 蠕虫 (Worm): 独立的恶意软件,无需宿主程序或用户操作,就能在网络上快速、自主地复制。利用网络协议或操作系统的漏洞。
快速复习:网络安全
防火墙: 监控流量。
对称加密: 一个密钥(面临密钥交换问题)。
非对称加密: 两个密钥(解决密钥交换问题)。
证书: 验证身份。
签名: 验证完整性/真实性。