计算机网络技术

1. 网络基础概述

1.1 计算机网络的定义

计算机网络是由地理上分散的计算机通过通信设备和线路连接起来,按照网络协议进行通信,以实现资源共享和信息传输的系统。

1.2 网络的基本组成

plaintext

复制代码
┌─────────────────────────────────────────────────────────┐
│                      计算机网络                          │
├─────────────────────────────────────────────────────────┤
│                                                         │
│   ┌─────────┐         ┌─────────┐        ┌─────────┐   │
│   │  终端    │────────│  交换    │───────│  终端    │   │
│   │  设备    │        │  设备    │        │  设备    │   │
│   └─────────┘        └─────────┘        └─────────┘   │
│        │                  │                   │        │
│        │                  │                   │        │
│        ▼                  ▼                   ▼        │
│   ┌─────────────────────────────────────────────┐      │
│   │              传输介质(光纤/双绞线/无线)      │      │
│   └─────────────────────────────────────────────┘      │
│                                                         │
└─────────────────────────────────────────────────────────┘

1.3 网络的分类

分类标准 类型 覆盖范围 典型应用
地理范围 LAN 几十米-几公里 办公室网络、校园网
地理范围 MAN 几十公里 城域网、教育城域网
地理范围 WAN 几百-几千公里 互联网、企业专网
拓扑结构 总线型 所有节点共享总线 早期以太网
拓扑结构 星型 中心节点辐射 现代以太网
拓扑结构 环型 闭合环路 令牌环网络
拓扑结构 网状型 多点互联 骨干网络

2. OSI七层模型与TCP/IP四层模型

2.1 OSI七层模型详解

OSI(Open Systems Interconnection)模型是国际标准化组织(ISO)提出的网络通信标准框架,将网络通信分为7个层次。

plaintext

复制代码
┌────────────────────────────────────────────────────────────┐
│                      OSI 七层模型                           │
├────────┬───────────────────────────────────────────────────┤
│ 第7层  │ 应用层 (Application)                               │
│        │ ★ 为应用程序提供网络服务                            │
│        │   HTTP、FTP、SMTP、POP3、DNS                       │
├────────┼───────────────────────────────────────────────────┤
│ 第6层  │ 表示层 (Presentation)                              │
│        │ ★ 数据格式转换、数据加密解密                        │
│        │   SSL/TLS、JPEG、GIF、ASCII                        │
├────────┼───────────────────────────────────────────────────┤
│ 第5层  │ 会话层 (Session)                                   │
│        │ ★ 管理通信会话、建立维护断开连接                    │
│        │   NetBIOS、RPC、SQL                                │
├────────┼───────────────────────────────────────────────────┤
│ 第4层  │ 传输层 (Transport)                                 │
│        │ ★ 端到端连接、可靠传输、流量控制                    │
│        │   TCP、UDP、SCTP                                   │
├────────┼───────────────────────────────────────────────────┤
│ 第3层  │ 网络层 (Network)                                   │
│        │ ★ IP寻址、路由选择、分组转发                        │
│        │   IP、ICMP、ARP、RARP、OSPF、BGP                   │
├────────┼───────────────────────────────────────────────────┤
│ 第2层  │ 数据链路层 (Data Link)                             │
│        │ ★ 物理地址寻址、帧同步、差错控制                    │
│        │   Ethernet、PPP、HDLC、帧中继                      │
├────────┼───────────────────────────────────────────────────┤
│ 第1层  │ 物理层 (Physical)                                  │
│        │ ★ 比特流传输、电压标准、物理接口                    │
│        │   集线器、中继器、RJ45、光纤                        │
└────────┴───────────────────────────────────────────────────┘

数据封装过程(发送端):

┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐
│  数据   │──▶│ 数据    │──▶│ 数据    │──▶│ 数据    │──▶│ 数据    │──▶│ 数据    │──▶│ 比特流  │
│  (应用层)│   │ +H7    │   │ +H7+H6  │   │ +H7+H6+H5│   │ +H7...H4│   │ +H7...H3│   │ (物理层)│
└─────────┘   │         │   │ +H5    │   │         │   │         │   │ +H3+H2  │   │         │
              └─────────┘   └─────────┘   └─────────┘   └─────────┘   │ +H2     │   └─────────┘
                              ↓               ↓               ↓           ↓
                           表示层          会话层          传输层       网络层

数据解封装过程(接收端):

┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐
│  比特流  │──▶│ 数据+H2 │──▶│ 数据+H3 │──▶│ 数据+H4 │──▶│ 数据+H5 │──▶│ 数据+H6 │──▶│  数据   │
│ (物理层) │   │         │   │ +H2    │   │ +H3+H2  │   │ +H4...H2│   │ +H5...H2│   │ (应用层)│
└─────────┘   └─────────┘   └─────────┘   └─────────┘   └─────────┘   └─────────┘   └─────────┘

2.2 TCP/IP四层模型

TCP/IP模型是实际广泛使用的网络协议栈,包含4个层次:

plaintext

复制代码
┌────────────────────────────────────────────────────────────┐
│                    TCP/IP 四层模型                          │
├────────┬───────────────────────────────────────────────────┤
│ 应用层  │ HTTP、FTP、SMTP、DNS、SSH、Telnet                 │
│        │ DHCP、NTP、SNMP、TFTP                              │
├────────┼───────────────────────────────────────────────────┤
│ 传输层  │ TCP(面向连接、可靠传输)                          │
│        │ UDP(无连接、高效传输)                            │
├────────┼───────────────────────────────────────────────────┤
│ 网络层  │ IP(IPv4/IPv6)、ICMP、ARP、RARP                  │
│        │ 路由协议:OSPF、BGP、RIP、IS-IS                    │
├────────┼───────────────────────────────────────────────────┤
│ 网络接口层│ Ethernet、PPP、帧中继、HDLC                      │
│         │ ARPANET、令牌环、FDDI                              │
└────────┴───────────────────────────────────────────────────┘

2.3 OSI模型与TCP/IP模型对比

plaintext

复制代码
┌─────────────────┐      ┌─────────────────┐      ┌─────────────────────────┐
│    OSI 七层      │      │   TCP/IP 四层   │      │        对应协议         │
├─────────────────┤      ├─────────────────┤      ├─────────────────────────┤
│  7. 应用层       │ ───▶ │                 │      │ HTTP、FTP、SMTP、DNS     │
│  6. 表示层       │      │     应用层       │      │ HTTPS、SSH、Telnet       │
│  5. 会话层       │      │                 │      │ SNMP、DHCP、NTP          │
├─────────────────┤      ├─────────────────┤      ├─────────────────────────┤
│  4. 传输层       │ ───▶ │     传输层       │      │ TCP、UDP、SCTP           │
├─────────────────┤      ├─────────────────┤      ├─────────────────────────┤
│  3. 网络层       │ ───▶ │     网络层       │      │ IP、ICMP、ARP、RARP      │
│                 │      │                 │      │ OSPF、BGP、RIP、IGRP     │
├─────────────────┤      ├─────────────────┤      ├─────────────────────────┤
│  2. 数据链路层   │ ───▶ │    网络接口层    │      │ Ethernet、PPP、HDLC      │
│  1. 物理层       │      │                 │      │ ARP、RARP                │
└─────────────────┘      └─────────────────┘      └─────────────────────────┘

2.4 数据封装与传输过程详解

当您在浏览器中输入 www.example.com 时,数据传输的完整过程:

plaintext

复制代码
【发送端 - 用户电脑】

应用层:    浏览器数据(HTTP请求)
    ↓ 封装
表示层:    数据加密/压缩(TLS加密)
    ↓ 封装
会话层:    建立会话标识
    ↓ 封装
传输层:    添加TCP/UDP头部 → 源端口: 54321, 目标端口: 80
    ↓ 封装
网络层:    添加IP头部 → 源IP: 192.168.1.100, 目标IP: 93.184.216.34
    ↓ 封装
数据链路层:添加Ethernet头部 → 源MAC: AA:BB:CC:DD:EE:01, 目标MAC: 网关MAC
    ↓ 封装
物理层:    转换为电信号/光信号,通过网线/光纤传输

【中间节点 - 路由器】

物理层:    接收电信号
    ↓ 解封装
数据链路层:检查MAC地址匹配
    ↓ 解封装
网络层:    读取目标IP,查找路由表,决定下一跳
    ↓ 重新封装
数据链路层:更换新的源/目标MAC地址
    ↓
物理层:    重新发送

【接收端 - Web服务器】

物理层:    接收信号
    ↓ 解封装
数据链路层:检查MAC地址
    ↓ 解封装
网络层:    检查IP地址
    ↓ 解封装
传输层:    检查端口号,交给对应应用
    ↓ 解封装
会话层:    建立/恢复会话
    ↓ 解封装
表示层:    解密数据
    ↓ 解封装
应用层:    HTTP服务器处理请求

3. 常见网络协议原理

3.1 TCP协议详解

3.1.1 TCP特点
  • 面向连接:传输前必须建立连接(三次握手)
  • 可靠传输:确认机制、重传机制、序列号
  • 流量控制:滑动窗口机制
  • 拥塞控制:慢启动、拥塞避免、快速恢复
3.1.2 TCP头部结构

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                      TCP 头部(20-60字节)                       │
├────────┬────────┬────────┬────────┬────────┬────────┬───────────┤
│  源端口   │ 目标端口  │  序列号   │ 确认号  │偏移│标志位│ 窗口大小  │
│ (16位)   │ (16位)  │ (32位)  │ (32位) │量  │     │ (16位)   │
├────────┴────────┴────────┴────────┴──────┴────┴────────┴─────────┤
│         校验和          │         紧急指针                        │
├─────────────────────────────────────────────────────────────────┤
│                      选项(可选,0-40字节)                       │
└─────────────────────────────────────────────────────────────────┘

标志位说明:
- URG:紧急指针有效
- ACK:确认号有效
- PSH:推送给应用层
- RST:重置连接
- SYN:同步序列号(建立连接)
- FIN:结束连接
3.1.3 TCP三次握手

plaintext

复制代码
客户端                                      服务器
   │                                           │
   │  ────────── SYN=1, seq=x ───────────────▶│  第一次握手
   │           (客户端发送连接请求)              │  服务器进入SYN_RCVD状态
   │                                           │
   │  ◀──────── SYN=1, ACK=1, seq=y ──────────│  第二次握手
   │            ack=x+1                        │  服务器发送同意连接
   │           (服务器发送同意连接)              │
   │                                           │
   │  ────────── ACK=1, seq=x+1 ─────────────▶│  第三次握手
   │            ack=y+1                        │  客户端进入ESTABLISHED
   │           (客户端确认)                     │  服务器进入ESTABLISHED
   │                                           │
   │            连接建立成功                     │
   ▼                                           ▼

三次握手原因:
1. 同步双方初始序列号(ISN)
2. 确认客户端的发送能力和服务器的接收能力
3. 防止历史连接初始化混乱
3.1.4 TCP四次挥手

plaintext

复制代码
客户端                                      服务器
   │                                           │
   │  ────────── FIN=1, seq=u ──────────────▶│  第一次挥手
   │           (客户端请求关闭)                 │  客户端进入FIN_WAIT_1
   │                                           │
   │  ◀────────── ACK=1, ack=u+1 ─────────────│  第二次挥手
   │           (服务器确认关闭请求)              │  客户端进入FIN_WAIT_2
   │                                           │
   │  ◀────────── FIN=1, seq=w ───────────────│  第三次挥手
   │           (服务器请求关闭)                 │  服务器进入LAST_ACK
   │                                           │
   │  ─────────── ACK=1, ack=w+1 ────────────▶│  第四次挥手
   │           (客户端确认关闭)                 │  客户端进入TIME_WAIT
   │                                           │
   │  ◀────────── 等待2MSL ───────────────────▶│  服务器关闭
   │           (客户端关闭)                     │
   ▼                                           ▼

四次挥手原因:
1. TCP是全双工通信,需要双方分别关闭发送通道
2. 确保所有数据都已传输完成
3. TIME_WAIT等待2MSL防止确认报文丢失
3.1.5 TCP拥塞控制

plaintext

复制代码
拥塞控制状态机:

                拥塞窗口(cwnd)
                    
                cwnd
                  ▲
                  │     慢启动
                  │   /
                  │  /─────── 到达阈值 ─────────────────────────
                  │ /         拥塞避免(每个RTT +1)              │
                  │/                                              │
                  ├─────────────┬───────────────────────────────▶
                  O         ssthresh                         cwnd
                              =16
                             
                  乘法减小:cwnd = cwnd / 2
                  加法增大:cwnd = cwnd + 1
                  
快速重传:收到3个重复ACK,不等超时直接重传
快速恢复:快速重传后进入快速恢复状态

拥塞控制算法:

算法 阶段 cwnd增长方式 触发条件
慢启动 初始 指数增长:cwnd × 2 连接建立或重传超时后
拥塞避免 达到阈值后 线性增长:cwnd + 1 cwnd ≥ ssthresh
快速重传 重传阶段 乘法减小:cwnd/2 收到3个重复ACK
快速恢复 快速重传后 线性增长 快速重传完成后

3.2 UDP协议详解

3.2.1 UDP特点
  • 无连接:不需要建立连接,直接发送数据
  • 不可靠:不保证交付、不保证顺序、不重复检测
  • 高效:头部开销小(仅8字节),延迟低
  • 面向报文:保留报文边界
3.2.2 UDP头部结构

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                      UDP 头部(8字节)                           │
├────────┬────────┬────────────────┬──────────────────────────────┤
│  源端口  │ 目标端口 │    长度        │         校验和               │
│ (16位)  │ (16位)  │    (16位)       │         (16位)               │
└────────┴────────┴────────────────┴──────────────────────────────┘
3.2.3 TCP与UDP对比

plaintext

复制代码
┌──────────────┬────────────────────────┬────────────────────────┐
│    特性       │         TCP             │         UDP            │
├──────────────┼────────────────────────┼────────────────────────┤
│   连接性      │        面向连接         │        无连接          │
├──────────────┼────────────────────────┼────────────────────────┤
│   可靠性      │        可靠传输         │        不可靠          │
├──────────────┼────────────────────────┼────────────────────────┤
│   顺序性      │        保证顺序         │        不保证          │
├──────────────┼────────────────────────┼────────────────────────┤
│   头部大小    │        20-60字节        │        8字节           │
├──────────────┼────────────────────────┼────────────────────────┤
│   传输速度    │        相对较慢         │        快速            │
├──────────────┼────────────────────────┼────────────────────────┤
│   资源消耗    │        较大             │        较小            │
├──────────────┼────────────────────────┼────────────────────────┤
│   流量控制    │        滑动窗口         │        无              │
├──────────────┼────────────────────────┼────────────────────────┤
│   拥塞控制    │        有               │        无              │
├──────────────┼────────────────────────┼────────────────────────┤
│   适用场景    │ 文件传输、邮件、Web      │ DNS、VoIP、视频直播     │
│              │ SSH、数据库连接         │ 在线游戏、广播组播      │
└──────────────┴────────────────────────┴────────────────────────┘

3.3 HTTP/HTTPS协议

3.3.1 HTTP协议演进

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                      HTTP 协议版本对比                           │
├────────────────┬────────────────┬───────────────────────────────┤
│     HTTP/1.0   │    HTTP/1.1    │           HTTP/2               │
├────────────────┼────────────────┼───────────────────────────────┤
│ 每次请求新建TCP│ 持久连接(默认)  │          多路复用              │
│ 连接           │ 管道化(pipeline)│          头部压缩             │
│ 不支持虚拟主机  │ 支持虚拟主机    │        服务器推送            │
│ 无状态         │ 无状态         │          无状态               │
│ 不支持断点续传  │ 支持断点续传    │          二进制分帧           │
└────────────────┴────────────────┴───────────────────────────────┘
3.3.2 HTTP请求结构

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                        HTTP 请求报文                             │
├─────────────────────────────────────────────────────────────────┤
│ 请求行:  GET /index.html HTTP/1.1                               │
│          (方法) (URL)      (协议版本)                            │
├─────────────────────────────────────────────────────────────────┤
│ 请求头部:Host: www.example.com                                  │
│          User-Agent: Mozilla/5.0                                 │
│          Accept: text/html,application/xhtml+xml                │
│          Accept-Language: zh-CN,zh;q=0.9,en;q=0.8               │
│          Accept-Encoding: gzip, deflate, br                     │
│          Connection: keep-alive                                  │
├─────────────────────────────────────────────────────────────────┤
│ 空行:     \r\n                                                   │
├─────────────────────────────────────────────────────────────────┤
│ 请求体:   username=admin&password=123456                        │
│          (POST请求时包含,GET请求为空)                            │
└─────────────────────────────────────────────────────────────────┘
3.3.3 HTTP响应结构

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                        HTTP 响应报文                             │
├─────────────────────────────────────────────────────────────────┤
│ 状态行:  HTTP/1.1 200 OK                                        │
│          (协议版本) (状态码) (状态描述)                           │
├─────────────────────────────────────────────────────────────────┤
│ 响应头部:Server: Apache/2.4.1                                   │
│          Date: Mon, 01 Jan 2024 00:00:00 GMT                    │
│          Content-Type: text/html; charset=utf-8                 │
│          Content-Length: 1234                                    │
│          Content-Encoding: gzip                                  │
│          Cache-Control: max-age=3600                            │
├─────────────────────────────────────────────────────────────────┤
│ 空行:     \r\n                                                   │
├─────────────────────────────────────────────────────────────────┤
│ 响应体:   <!DOCTYPE html>                                       │
│          <html>...</html>                                         │
│          (实际内容)                                               │
└─────────────────────────────────────────────────────────────────┘
3.3.4 常见HTTP状态码
状态码 类别 说明 常见场景
200 2xx 成功 请求成功 正常返回数据
201 2xx 成功 已创建 POST创建资源成功
204 2xx 成功 无内容 DELETE成功
301 3xx 重定向 永久移动 域名跳转
302 3xx 重定向 临时移动 临时跳转
304 3xx 重定向 未修改 缓存命中
400 4xx 客户端错误 请求语法错误 参数错误
401 4xx 客户端错误 未授权 需要登录
403 4xx 客户端错误 禁止访问 权限不足
404 4xx 客户端错误 未找到 资源不存在
500 5xx 服务器错误 服务器内部错误 代码异常
502 5xx 服务器错误 网关错误 Nginx代理失败
503 5xx 服务器错误 服务不可用 服务器过载
3.3.5 HTTPS工作原理

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                    HTTPS 加密通信原理                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  浏览器                              服务器                      │
│    │                                  │                         │
│    │  1. 发起HTTPS请求                │                         │
│    │ ─────────────────────────────────▶                         │
│    │                                  │                         │
│    │  2. 发送服务器证书(公钥)        │                         │
│    │ ◀─────────────────────────────────                         │
│    │                                  │                         │
│    │  3. 验证证书有效性               │                         │
│    │    • 证书颁发机构验证             │                         │
│    │    • 证书有效期验证               │                         │
│    │    • 域名匹配验证                │                         │
│    │                                  │                         │
│    │  4. 生成随机数(会话密钥)        │                         │
│    │    用服务器公钥加密后发送         │                         │
│    │ ─────────────────────────────────▶                         │
│    │                                  │                         │
│    │                          5. 服务器用私钥解密               │
│    │                                  │ 获得会话密钥             │
│    │                                  │                         │
│    │  6. 双方使用会话密钥              │                         │
│    │    进行对称加密通信              │                         │
│    │ ◀═══════════════════════════════▶                         │
│    │     (加密的数据传输)              │                         │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

TLS/SSL握手关键点:
1. 证书验证:确保服务器身份可信
2. 密钥交换:RSA或Diffie-Hellman算法
3. 对称加密:使用会话密钥加密实际数据(效率高)

3.4 DNS协议

3.4.1 DNS系统架构

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                        DNS 层次结构                             │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│                          . (根域)                               │
│                            │                                    │
│        ┌───────────────────┼───────────────────┐               │
│        │                   │                   │               │
│      .com                 .org                .cn              │
│        │                   │                   │               │
│   ┌────┼────┐         ┌────┤         ┌─────────┼───────┐        │
│ google│ baidu│       wiki │         │  taobao  │ 163   │        │
│  .com │ .com │        .org │         │   .cn   │  .com │        │
│        │       │         │         │         │        │        │
│   mail.    www.       www.     www.    │        │        │
│  google.   baidu.     wiki.    taobao.  │        │        │
│   com      .com       .org     .cn     │        │        │
│                                                                 │
│ DNS服务器类型:                                                   │
│ • 根DNS服务器:全球13组,负责顶级域                               │
│ • 顶级域DNS服务器:.com、.cn、.org等                             │
│ • 权威DNS服务器:管理具体域名的DNS记录                            │
│ • 递归DNS服务器:替客户端查询(如运营商DNS)                      │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
3.4.2 DNS查询流程

plaintext

复制代码
用户浏览器                         递归DNS服务器                    权威DNS服务器
    │                                  │                               │
    │  1. 查询 www.example.com         │                               │
    │ ────────────────────────────────▶                               │
    │                                  │                               │
    │              2. 查询根服务器 (.com)                              │
    │              ───────────────────────────────────────────────────▶│
    │                                  │                               │
    │              3. 返回 .com服务器地址                               │
    │              ◀───────────────────────────────────────────────────│
    │                                  │                               │
    │              4. 查询 .com服务器                                   │
    │              ───────────────────────────────────────────────────▶│
    │                                  │                               │
    │              5. 返回 example.com服务器地址                         │
    │              ◀───────────────────────────────────────────────────│
    │                                  │                               │
    │              6. 查询 www.example.com                              │
    │              ───────────────────────────────────────────────────▶│
    │                                  │                               │
    │              7. 返回IP: 93.184.216.34                            │
    │              ◀───────────────────────────────────────────────────│
    │                                  │                               │
    │  8. 返回IP给浏览器                 │                               │
    │ ◀─────────────────────────────────                                │
    │                                  │                               │
    │  9. 浏览器发起HTTP请求             │                               │
    │ ──────────────────────────────────▶                               │
    ▼                                  ▼                               ▼
3.4.3 DNS记录类型
记录类型 名称 说明 示例
A 地址记录 域名指向IPv4地址 example.com → 93.184.216.34
AAAA IPv6地址记录 域名指向IPv6地址 example.com → 2606:2800:220:1::
CNAME 别名记录 域名别名 www.example.comexample.com
MX 邮件交换记录 指定邮件服务器 example.commail.example.com
NS 域名服务器记录 指定DNS服务器 example.comns1.example.com
TXT 文本记录 SPF、DKIM验证 用于验证和防垃圾邮件
PTR 指针记录 IP反向解析 34.216.184.93 → example.com

3.5 DHCP协议

3.5.1 DHCP工作原理

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                    DHCP 动态获取IP流程                          │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  客户端                             DHCP服务器                   │
│    │                                  │                          │
│    │  1. DHCP Discover (广播)         │                          │
│    │  -src: 0.0.0.0                   │                          │
│    │  -chaddr: 客户端MAC地址          │                          │
│    │ ──────────────────────────────────▶                          │
│    │   (发现可用的DHCP服务器)          │                          │
│    │                                  │                          │
│    │  2. DHCP Offer (广播)           │                          │
│    │  -yiaddr: 192.168.1.101         │                          │
│    │  -lease time: 7200秒            │                          │
│    │  -subnet mask: 255.255.255.0    │                          │
│    │  -router: 192.168.1.1           │                          │
│    │  -DNS: 8.8.8.8                  │                          │
│    │ ◀──────────────────────────────────                          │
│    │   (服务器提供IP地址)               │                          │
│    │                                  │                          │
│    │  3. DHCP Request (广播)         │                          │
│    │  -requested IP: 192.168.1.101   │                          │
│    │ ──────────────────────────────────▶                          │
│    │   (客户端请求该IP地址)             │                          │
│    │                                  │                          │
│    │  4. DHCP ACK (广播)             │                          │
│    │  -yiaddr: 192.168.1.101          │                          │
│    │ ◀──────────────────────────────────                          │
│    │   (服务器确认分配)                 │                          │
│    │                                  │                          │
│    ▼                                  ▼                          │
│                                                                 │
│  IP租约更新流程:                                                 │
│  • 租约50%时:客户端自动发起续租请求                              │
│  • 租约87.5%时:仍未确认则重新广播请求                             │
│  • 租约到期:客户端释放IP地址,重新获取                           │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
3.5.2 DHCP配置示例(Cisco路由器)

bash

复制代码
# 进入DHCP配置模式
Router> enable
Router# configure terminal

# 创建DHCP池
Router(config)# ip dhcp pool LAN_POOL

# 配置地址池范围
Router(dhcp-config)# network 192.168.1.0 255.255.255.0

# 配置DNS服务器
Router(dhcp-config)# dns-server 8.8.8.8 114.114.114.114

# 配置网关
Router(dhcp-config)# default-router 192.168.1.1

# 配置租约时间(天)
Router(dhcp-config)# lease 7

# 退出DHCP池配置
Router(dhcp-config)# exit

# 配置排除地址(不分配的地址)
Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10

4. IP地址与子网划分

4.1 IPv4地址基础

4.1.1 IPv4地址结构

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                     IPv4 地址结构                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   IPv4地址:32位二进制数                                         │
│                                                                 │
│   11000000 10101000 00000001 00001010                           │
│   ├──────┬──────┬──────┬──────┬┤                                │
│   第1字节 │第2字节 │第3字节 │第4字节 │                                │
│     192    │  168  │   1   │  10   │                                │
│                                                                 │
│   点分十进制表示:192.168.1.10                                   │
│                                                                 │
│   地址组成:                                                     │
│   ┌─────────────────────┬───────────────┐                      │
│   │    网络部分 (Network) │  主机部分 (Host) │                      │
│   └─────────────────────┴───────────────┘                      │
│                                                                 │
│   网络部分:标识所属网络                                         │
│   主机部分:标识网络中的具体设备                                  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
4.1.2 IPv4地址分类

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                     IPv4 地址分类                                │
├────────┬────────────┬───────────────┬───────────────────────────┤
│  类别   │ 地址范围           │ 默认子网掩码    │     用途            │
├────────┼───────────────────┼───────────────┼─────────────────────┤
│   A类   │ 1.0.0.0 - 126.255.255.255  │ 255.0.0.0 (/8)  │ 大型网络         │
│        │ (0.0.0.0-127.x.x.x保留)    │               │                   │
├────────┼───────────────────┼───────────────┼─────────────────────┤
│   B类   │ 128.0.0.0 - 191.255.255.255 │ 255.255.0.0 (/16)│ 中型网络         │
├────────┼───────────────────┼───────────────┼─────────────────────┤
│   C类   │ 192.0.0.0 - 223.255.255.255 │255.255.255.0 (/24)│ 小型网络         │
├────────┼───────────────────┼───────────────┼─────────────────────┤
│   D类   │ 224.0.0.0 - 239.255.255.255 │      无          │ 组播地址          │
├────────┼───────────────────┼───────────────┼─────────────────────┤
│   E类   │ 240.0.0.0 - 255.255.255.255 │      无          │ 保留(实验)       │
└────────┴───────────────────┴───────────────┴─────────────────────┘

特殊地址:
┌─────────────────────────────────────────────────────────────────┐
│  网络地址:主机位全为0    → 192.168.1.0/24 标识整个网络          │
│  广播地址:主机位全为1    → 192.168.1.255/24 网内广播            │
│  本地回环:127.0.0.1      → localhost 本机测试                   │
│  链路本地:169.254.x.x    → DHCP失败时自动分配                   │
│  私有地址:RFC1918定义的内部网络专用地址                          │
│    • 10.0.0.0/8       (10.0.0.0 - 10.255.255.255)                │
│    • 172.16.0.0/12    (172.16.0.0 - 172.31.255.255)               │
│    • 192.168.0.0/16   (192.168.0.0 - 192.168.255.255)            │
└─────────────────────────────────────────────────────────────────┘

4.2 子网划分

4.2.1 子网掩码详解

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                     子网掩码原理                                 │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  子网掩码:用于区分IP地址的网络位和主机位                         │
│                                                                 │
│  二进制运算:AND运算                                             │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │ IP地址:     11000000.10101000.00000001.00001010          │   │
│  │            (192.168.1.10)                                 │   │
│  │ 子网掩码:   11111111.11111111.11111111.00000000          │   │
│  │            (255.255.255.0)                                │   │
│  │ ─────────────────────────────────────────────────────    │   │
│  │ 网络地址:   11000000.10101000.00000001.00000000          │   │
│  │            (192.168.1.0)                                  │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
│  常用CIDR表示法:                                                │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │ /8   = 255.0.0.0        主机数: 16,777,214                │   │
│  │ /16  = 255.255.0.0      主机数: 65,534                   │   │
│  │ /24  = 255.255.255.0    主机数: 254                       │   │
│  │ /25  = 255.255.255.128  主机数: 126                       │   │
│  │ /26  = 255.255.255.192  主机数: 62                        │   │
│  │ /27  = 255.255.255.224  主机数: 30                        │   │
│  │ /28  = 255.255.255.240  主机数: 14                        │   │
│  │ /29  = 255.255.255.248  主机数: 6                         │   │
│  │ /30  = 255.255.255.252  主机数: 2 (点对点链路)            │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
│  公式:可用主机数 = 2^(32-n) - 2                                 │
│        其中n为CIDR前缀长度                                       │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
4.2.2 子网划分实例

场景:公司需要将192.168.1.0/24划分为4个子网

plaintext

复制代码
原始网络: 192.168.1.0/24 (255.255.255.0)
主机位: 8位 (可分配254台主机)

需要划分: 4个子网

┌─────────────────────────────────────────────────────────────────┐
│  借用主机位扩展网络位                                            │
│                                                                 │
│  原: 11000000.10101000.00000001.00000000                        │
│  │        网络位        │主机位│                                │
│                                                                 │
│  新子网需要2位来区分4个子网:                                     │
│  新: 11000000.10101000.00000001.00|000000                       │
│       │      网络位      │子网位│主机位│                        │
│                                                                 │
│  子网掩码变为: /26 = 255.255.255.192                            │
│  每个子网可用主机: 2^6 - 2 = 62                                 │
└─────────────────────────────────────────────────────────────────┘

划分结果:

┌─────────────────────────────────────────────────────────────────┐
│ 子网1: 192.168.1.0/26                                            │
│   网络地址:  192.168.1.0                                        │
│   可用范围:  192.168.1.1 - 192.168.1.62                          │
│   广播地址:  192.168.1.63                                       │
├─────────────────────────────────────────────────────────────────┤
│ 子网2: 192.168.1.64/26                                           │
│   网络地址:  192.168.1.64                                       │
│   可用范围:  192.168.1.65 - 192.168.1.126                       │
│   广播地址:  192.168.1.127                                      │
├─────────────────────────────────────────────────────────────────┤
│ 子网3: 192.168.1.128/26                                         │
│   网络地址:  192.168.1.128                                      │
│   可用范围:  192.168.1.129 - 192.168.1.190                       │
│   广播地址:  192.168.1.191                                      │
├─────────────────────────────────────────────────────────────────┤
│ 子网4: 192.168.1.192/26                                         │
│   网络地址:  192.168.1.192                                      │
│   可用范围:  192.168.1.193 - 192.168.1.254                       │
│   广播地址:  192.168.1.255                                      │
└─────────────────────────────────────────────────────────────────┘

场景二:不同规模子网的VLSM划分

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│ 公司网络规划 - VLSM(可变长子网掩码)                             │
│                                                                 │
│ 需求:                                                          │
│   • 研发部:  100台主机                                          │
│   • 市场部:  50台主机                                           │
│   • 财务部:  20台主机                                           │
│   • 管理层:  10台主机                                           │
│   • 点对点链路: 2条(各需2个IP)                                  │
│                                                                 │
│ 分配:                                                          │
│   • 研发部:   192.168.0.0/25  (128地址, 126可用)                 │
│   • 市场部:   192.168.0.128/26 (64地址, 62可用)                  │
│   • 财务部:   192.168.0.192/27 (32地址, 30可用)                  │
│   • 管理层:   192.168.0.224/28 (16地址, 14可用)                  │
│   • 链路1:    192.168.0.240/30 (4地址, 2可用)                    │
│   • 链路2:    192.168.0.244/30 (4地址, 2可用)                    │
└─────────────────────────────────────────────────────────────────┘

4.3 IPv6基础

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                     IPv6 地址概览                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  IPv6地址: 128位, 用冒号十六进制表示                              │
│                                                                 │
│  示例: 2001:0db8:85a3:0000:0000:8a2e:0370:7334                   │
│        简写: 2001:db8:85a3::8a2e:370:7334                       │
│                                                                 │
│  IPv6地址类型:                                                   │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │ 2000::/3           全局单播地址 (类似IPv4公网)            │   │
│  │ FE80::/10         链路本地地址 (类似IPv4 169.254.x.x)    │   │
│  │ FC00::/7          唯一本地地址 (类似IPv4私有地址)        │   │
│  │ FF00::/8          组播地址                               │   │
│  │ ::1/128           回环地址 (127.0.0.1)                    │   │
│  │ ::/128            未指定地址 (0.0.0.0)                    │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
│  IPv6优势:                                                       │
│   ✓ 地址空间巨大 (2^128)                                        │
│   ✓ 简化的包头 (更高效路由)                                       │
│   ✓ 内置安全 (IPsec)                                            │
│   ✓ 自动配置 (SLAAC)                                            │
│   ✓ 更好的移动性支持                                            │
│   ✓ 消除NAT (端到端通信)                                        │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

5. 网络设备与路由交换基础

5.1 网络设备层次对应

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                  网络设备与OSI模型对应                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  OSI层                设备              功能                     │
│  ────────────────────────────────────────────────────────────   │
│  第7层               应用网关           协议转换、数据转换         │
│  第6-7层             网关、防火墙       安全控制、应用代理         │
│  ────────────────────────────────────────────────────────────   │
│  第3层               路由器、三层交换机  IP寻址、路由选择          │
│  ────────────────────────────────────────────────────────────   │
│  第2层               二层交换机、网桥    MAC地址学习、帧转发        │
│  ────────────────────────────────────────────────────────────   │
│  第1层               集线器、中继器     信号放大、再生              │
│                      光纤收发器        光电信号转换                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

5.2 二层交换机工作原理

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                     二层交换机工作原理                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  核心机制: MAC地址表 (CAM表)                                     │
│                                                                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                 MAC地址表 (CAM表)                          │   │
│  ├─────────────┬────────────┬───────────────┬──────────────┤   │
│  │   MAC地址    │   VLAN     │   端口        │    老化时间   │   │
│  ├─────────────┼────────────┼───────────────┼──────────────┤   │
│  │ AA:BB:CC:DD │    1       │     1         │    300秒     │   │
│  │ EE:FF:00:11 │    1       │     2         │    300秒     │   │
│  │ 22:33:44:55 │    1       │     3         │    300秒     │   │
│  └─────────────┴────────────┴───────────────┴──────────────┘   │
└─────────────────────────────────────────────────────────────────┘

交换机转发行为:
┌─────────────────────────────────────────────────────────────────┐
│  帧转发流程:                                                     │
│                                                                 │
│  1. 学习(Learn): 收到帧时, 记录源MAC地址和对应端口               │
│                                                                 │
│  2. 泛洪(Flood): 目的MAC未知时, 向所有端口转发 (除接收端口)       │
│                                                                 │
│  3. 转发(Forward): 目的MAC已知且在同一VLAN, 按表转发              │
│                                                                 │
│  4. 过滤(Filter): 目的MAC在同一端口, 丢弃帧                      │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

5.3 VLAN技术

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                        VLAN 原理                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  传统交换网络:          VLAN划分后:                              │
│                                                                 │
│    ┌──────┐              ┌──────┐    ┌──────┐                  │
│    │SWITCH│              │SWITCH│    │SWITCH│                  │
│    └──┬───┘              └──┬───┘    └──┬───┘                  │
│   ┌────┼────┐           ┌───┴───┐   ┌───┴───┐                 │
│   │     │     │           │ VLAN10│   │VLAN20 │                 │
│ ┌─┴─┐ ┌─┴─┐ ┌─┴─┐       ┌─┴─┐   ┌─┴─┐   ┌─┴─┐                 │
│ │PC1│ │PC2│ │PC3│       │PC1│   │PC2│   │PC3│                 │
│ └─┬─┘ └─┬─┘ └─┬─┘       └──┬─┘   └──┬─┘   └──┬─┘                 │
│   │     │     │            │ VLAN10│   │VLAN20│                  │
│ ──┴─────┴─────┴──  →      ──┴──────┴───┴──────┴──               │
│ 所有主机互通            同一VLAN互通, 不同VLAN隔离               │
│                                                                 │
│  VLAN优点:                                                       │
│   ✓ 广播域分隔, 减少广播风暴                                      │
│   ✓ 提高网络安全, 不同VLAN间需路由互通                           │
│   ✓ 灵活的网络分段和管理                                          │
│   ✓ 简化故障隔离                                                  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

VLAN配置示例(Cisco交换机):

bash

复制代码
# 创建VLAN
Switch> enable
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name Engineering
Switch(config-vlan)# exit

Switch(config)# vlan 20
Switch(config-vlan)# name Marketing
Switch(config-vlan)# exit

# 将端口分配到VLAN
Switch(config)# interface fastEthernet 0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# exit

Switch(config)# interface fastEthernet 0/2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20
Switch(config-if)# exit

# 配置Trunk端口(交换机间连接)
Switch(config)# interface gigabitEthernet 0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20
Switch(config-if)# exit

5.4 路由器与路由基础

5.4.1 路由器工作原理

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                     路由器工作原理                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  路由器核心功能:                                                  │
│   1. 学习路由条目 (路由协议/静态配置)                             │
│   2. 查表转发IP数据包                                            │
│   3. 跨网段数据转发                                              │
│                                                                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                      路由表示例                            │   │
│  ├──────────────┬─────────────┬───────────┬─────────────────┤   │
│  │   目的网络    │   子网掩码   │   下一跳   │      接口        │   │
│  ├──────────────┼─────────────┼───────────┼─────────────────┤   │
│  │ 192.168.1.0  │  /24        │   -       │   LAN           │   │
│  │ 10.0.0.0     │  /8         │   -       │   WAN           │   │
│  │ 0.0.0.0      │  /0         │  200.1.1.1│   WAN           │   │
│  └──────────────┴─────────────┴───────────┴─────────────────┘   │
│                                                                 │
│  路由决策过程:                                                    │
│   1. 提取IP包目的地址                                            │
│   2. 与路由条目逐一按位AND运算                                    │
│   3. 匹配结果与路由条目对比                                       │
│   4. 选择最长前缀匹配(LPM)的路由                                 │
│   5. 转发到对应接口                                               │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
5.4.2 路由类型对比
路由类型 优先级 特点 适用场景
直连路由 0 自动发现,接口up即生效 路由器直连网络
静态路由 60 管理员手动配置 小型网络、特定路径
OSPF 110 链路状态协议,快速收敛 中大型网络
RIP 120 距离矢量,16跳限制 小型简单网络
BGP 255 路径矢量,AS间路由 ISP间、跨运营商
5.4.3 路由配置示例

bash

复制代码
# 静态路由配置
Router> enable
Router# configure terminal

# 添加静态路由:去往192.168.2.0/24通过192.168.1.1转发
Router(config)# ip route 192.168.2.0 255.255.255.0 192.168.1.1

# 添加默认路由
Router(config)# ip route 0.0.0.0 0.0.0.0 200.1.1.1

# 查看路由表
Router# show ip route

# OSPF配置
Router(config)# router ospf 1
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router(config-router)# network 10.0.0.0 0.255.255.255 area 0

# RIP配置
Router(config)# router rip
Router(config-router)# version 2
Router(config-router)# network 192.168.1.0
Router(config-router)# network 10.0.0.0

5.5 三层交换机与VLAN间路由

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                   VLAN间路由 - 三层交换机                        │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │                   三层交换机                              │   │
│  │  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐  │   │
│  │  │   VLAN 10    │    │   VLAN 20    │    │   VLAN 30    │  │   │
│  │  │ 192.168.10.0 │    │ 192.168.20.0 │    │ 192.168.30.0 │  │   │
│  │  │ SVI接口     │    │ SVI接口     │    │ SVI接口     │  │   │
│  │  │ .1          │    │ .1          │    │ .1          │  │   │
│  │  └─────────────┘    └─────────────┘    └─────────────┘  │   │
│  │          │                │                │            │   │
│  │          └────────────────┼────────────────┘            │   │
│  │                           │                              │   │
│  │                    三层交换引擎                            │   │
│  │                    (路由计算)                             │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  VLAN10主机 ←→ 找VLAN20主机 ←→ 触发三层路由 ←→ 转发              │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

三层交换机VLAN间路由配置:
```bash
# 创建VLAN
Switch(config)# vlan 10
Switch(config-vlan)# exit
Switch(config)# vlan 20
Switch(config-vlan)# exit

# 配置VLAN接口IP地址(SVI)
Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# exit

Switch(config)# interface vlan 20
Switch(config-if)# ip address 192.168.20.1 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# exit

# 开启IP路由
Switch(config)# ip routing

# 端口划入VLAN
Switch(config)# interface fastEthernet 0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# exit

plaintext

复制代码
---

## 6. 网络安全基础

### 6.1 网络安全威胁类型

┌─────────────────────────────────────────────────────────────────┐

│ 常见网络安全威胁 │

├─────────────────────────────────────────────────────────────────┤

│ │

│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │

│ │ 威胁分类 │ │ 威胁分类 │ │ 威胁分类 │ │

│ ├─────────────┤ ├─────────────┤ ├─────────────┤ │

│ │ 未授权访问 │ │ 数据泄露 │ │ 拒绝服务 │ │

│ │ 窃听/嗅探 │ │ 恶意软件 │ │ 中间人攻击 │ │

│ │ 欺骗/伪装 │ │ 钓鱼攻击 │ │ SQL注入 │ │

│ │ 重放攻击 │ │ 零日漏洞 │ │ XSS │ │

│ └─────────────┘ └─────────────┘ └─────────────┘ │

│ │

└─────────────────────────────────────────────────────────────────┘

plaintext

复制代码
### 6.2 防火墙基础

#### 6.2.1 防火墙类型

┌─────────────────────────────────────────────────────────────────┐

│ 防火墙类型对比 │

├────────────────┬──────────────────────────────────────────────────┤

│ 类型 │ 说明 │

├────────────────┼──────────────────────────────────────────────────┤

│ 包过滤防火墙 │ 基于网络层信息(IP地址/端口)过滤,简单高效 │

│ 状态检测防火墙 │ 跟踪连接状态,智能过滤,主流产品 │

│ 应用层网关 │ 深度检测应用层协议,安全性高,性能较低 │

│ NGFW(下一代) │ 集成入侵检测、应用识别、用户识别等高级功能 │

└────────────────┴──────────────────────────────────────────────────┘

plaintext

复制代码
#### 6.2.2 防火墙配置示例

```bash
# Cisco ASA 防火墙基本配置

# 配置接口
ciscoasa(config)# interface gigabitEthernet 0/0
ciscoasa(config-if)# nameif outside
ciscoasa(config-if)# ip address 200.1.1.10 255.255.255.0
ciscoasa(config-if)# security-level 0
ciscoasa(config-if)# no shutdown

ciscoasa(config)# interface gigabitEthernet 0/1
ciscoasa(config-if)# nameif inside
ciscoasa(config-if)# ip address 192.168.1.1 255.255.255.0
ciscoasa(config-if)# security-level 100
ciscoasa(config-if)# no shutdown

# 配置访问控制列表(ACL)
# 允许内网访问外网
ciscoasa(config)# access-list OUTSIDE_IN extended permit tcp any any eq 80
ciscoasa(config)# access-list OUTSIDE_IN extended permit tcp any any eq 443
ciscoasa(config)# access-list OUTSIDE_IN extended permit icmp any any

# 拒绝其他所有入站流量
ciscoasa(config)# access-list OUTSIDE_IN extended deny ip any any

# 应用ACL到接口
ciscoasa(config)# access-group OUTSIDE_IN in interface outside

# 配置NAT
ciscoasa(config)# object network INSIDE_NET
ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0
ciscoasa(config-network-object)# nat (inside,outside) dynamic interface

6.3 VPN技术

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                        VPN 技术类型                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                     VPN 隧道类型                          │   │
│  ├─────────────────────┬────────────────────────────────────┤   │
│  │    站点到站点VPN     │         远程访问VPN                │   │
│  ├─────────────────────┼────────────────────────────────────┤   │
│  │                      │                                     │   │
│  │   [总部]═══VPN═══[分部] │       [员工]═══VPN═══[公司]       │   │
│  │    │           │    │         │              │           │   │
│  │  内部网络    内部网络 │       家庭/酒店      公司网络       │   │
│  │                      │                                     │   │
│  │  两个固定站点之间    │   移动用户远程接入公司网络            │   │
│  └─────────────────────┴────────────────────────────────────┘   │
│                                                                 │
│  VPN协议:                                                        │
│   • PPTP: 简单但安全性低,已逐渐淘汰                             │
│   • L2TP/IPsec: 结合L2TP和IPsec,安全性高                       │
│   • OpenVPN: 开源,基于SSL/TLS,跨平台                           │
│   • IPsec: 原生安全,应用广泛                                    │
│   • WireGuard: 新一代高性能VPN协议                              │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

6.4 ACL访问控制列表

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                    ACL 配置示例与原理                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  标准ACL (1-99, 1300-1999): 基于源IP过滤                         │
│                                                                 │
│  Router(config)# access-list 10 permit 192.168.1.0 0.0.0.255   │
│  Router(config)# access-list 10 deny any                        │
│  Router(config)# interface gig 0/0                              │
│  Router(config-if)# ip access-group 10 out                      │
│                                                                 │
│  扩展ACL (100-199, 2000-2699): 基于源/目的IP, 端口, 协议过滤      │
│                                                                 │
│  Router(config)# access-list 100 permit tcp 192.168.1.0 0.0.0.255 │
│  Router(config)#               any eq 80                         │
│  Router(config)#              (源)    (目的端口HTTP)             │
│                                                                 │
│  Router(config)# access-list 100 permit tcp 192.168.1.0 0.0.0.255 │
│  Router(config)#              any eq 443                        │
│  Router(config)#              (目的端口HTTPS)                    │
│                                                                 │
│  Router(config)# access-list 100 deny ip any any                │
│                                                                 │
│  ACL匹配规则:                                                    │
│   1. 按顺序匹配, 命中即停止                                      │
│   2. 末尾隐含deny any (或deny 0.0.0.0 255.255.255.255)           │
│   3. 建议末尾显式添加 permit any 或 permit ip any any           │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

7. 实际应用场景与案例分析

7.1 案例一:中小企业网络架构设计

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│               中小企业网络架构示例                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│                          ┌─────────────┐                        │
│                          │   防火墙    │                        │
│                          │ (边界网关)  │                        │
│                          └──────┬──────┘                        │
│                                 │                               │
│                          ┌──────┴──────┐                        │
│                          │   核心交换机 │                        │
│                          │  (三层)     │                        │
│                          └──────┬──────┘                        │
│              ┌─────────┬────────┼────────┬─────────┐           │
│              │         │        │        │         │           │
│         ┌────┴────┐┌──┴───┐┌──┴───┐┌──┴───┐┌──┴───┐            │
│         │部门1   │ │部门2 │ │部门3 │ │服务器│ │无线AP│           │
│         │VLAN10  │ │VLAN20│ │VLAN30│ │VLAN100│ │VLAN50│          │
│         └────────┘ └──────┘ └──────┘ └──────┘ └──────┘         │
│                                                                 │
│  IP规划:                                                         │
│   • 核心交换机: 192.168.0.1/24                                   │
│   • 研发部(VLAN10): 192.168.10.0/24                             │
│   • 市场部(VLAN20): 192.168.20.0/24                            │
│   • 财务部(VLAN30): 192.168.30.0/27 (隔离)                      │
│   • 服务器区(VLAN100): 192.168.100.0/24                        │
│   • 无线办公(VLAN50): 192.168.50.0/24                          │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

网络配置要点:
1. 防火墙作为边界网关, 实施安全策略
2. 核心三层交换机实现VLAN间路由
3. 服务器区通过ACL限制访问
4. 财务部VLAN与其他部门隔离(防火墙二次过滤)
5. 无线网络独立VLAN, 访客与办公分离

7.2 案例二:Web服务访问完整流程分析

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│              用户访问 www.example.com 完整流程                   │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  1. DNS解析阶段                                                  │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │ 用户浏览器 ──查询──▶ 本地DNS缓存                          │   │
│  │                      │                                    │   │
│  │                      │未命中                              │   │
│  │                      ▼                                    │   │
│  │               递归DNS服务器 ──查询──▶ 根服务器             │   │
│  │                      │                 │                 │   │
│  │                      │◀──返回.com服务器──                 │   │
│  │                      ▼                                    │   │
│  │              .com服务器 ──查询──▶ example.com DNS          │   │
│  │                      │                                    │   │
│  │                      │◀──返回 IP: 93.184.216.34            │   │
│  │                      ▼                                    │   │
│  │               返回IP给浏览器                               │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
│  2. TCP连接建立 (三次握手)                                       │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │ 浏览器 ──SYN──▶ 服务器(443端口)                           │   │
│  │  ◀──SYN+ACK── 浏览器                                       │   │
│  │  ──ACK──▶ 服务器                                           │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
│  3. TLS/SSL握手                                                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │ 浏览器验证服务器证书有效性                                 │   │
│  │ 浏览器生成会话密钥                                         │   │
│  │ 用服务器公钥加密会话密钥发送                               │   │
│  │ 服务器用私钥解密获得会话密钥                               │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
│  4. HTTP请求发送                                                │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │ GET / HTTP/1.1                                            │   │
│  │ Host: www.example.com                                      │   │
│  │ User-Agent: Mozilla/5.0...                                │   │
│  │ Accept: text/html...                                      │   │
│  │ Cookie: session_id=xxx                                    │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
│  5. 服务器处理响应                                               │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │ Web服务器(Nginx/Apache)接收请求                           │   │
│  │ 路由匹配 → 反向代理 → 应用服务器 → 数据库查询             │   │
│  │ 生成响应 → 返回HTML                                        │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
│  6. 数据加密传输                                                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │ 响应内容 ──会话密钥加密──▶ 网络传输                        │   │
│  │              ◀──会话密钥解密───                           │   │
│  │         浏览器渲染页面                                     │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

7.3 案例三:DHCP+DNS企业网络配置

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│            企业网络DHCP+DNS综合配置案例                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  场景: 企业园区网, 需要为各楼层VLAN分配IP地址                     │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │                  DHCP + DNS 架构                         │   │
│  │                                                         │   │
│  │   ┌─────────┐    ┌─────────┐    ┌─────────┐           │   │
│  │   │ DHCP服务器│◀───▶│  DNS服务器│◀───▶│  AD域   │           │   │
│  │   │ CentOS  │    │  Bind9  │    │ Windows │           │   │
│  │   └────┬────┘    └────┬────┘    └─────────┘           │   │
│  │        │              │                               │   │
│  │        └──────────────┼───────────────────────────────┤   │
│  │                       │                                │   │
│  │         ┌─────────────┴─────────────┐                │   │
│  │         │         核心交换机          │                │   │
│  │         └─────────────┬─────────────┘                │   │
│  │     ┌────────┬───────┴───────┬────────┐             │   │
│  │     │        │               │        │             │   │
│  │  ┌──┴──┐  ┌──┴──┐         ┌──┴──┐  ┌──┴──┐          │   │
│  │  │VLAN10│  │VLAN20│        │VLAN30│  │VLAN40│          │   │
│  │  │1楼   │  │2楼   │        │3楼   │  │4楼   │          │   │
│  │  └──────┘  └──────┘        └──────┘  └──────┘          │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  DHCP配置 (ISC DHCP Server):                                   │
│                                                                 │
│  /etc/dhcp/dhcpd.conf:                                          │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │ ddns-update-style none;                                 │   │
│  │                                                          │   │
│  │ subnet 192.168.10.0 netmask 255.255.255.0 {            │   │
│  │     range 192.168.10.50 192.168.10.200;                 │   │
│  │     option routers 192.168.10.1;                        │   │
│  │     option subnet-mask 255.255.255.0;                   │   │
│  │     option domain-name-servers 192.168.0.10;            │   │
│  │     option domain-name "company.local";                │   │
│  │     default-lease-time 7200;                            │   │
│  │     max-lease-time 86400;                               │   │
│  │ }                                                        │   │
│  │                                                          │   │
│  │ subnet 192.168.20.0 netmask 255.255.255.0 {            │   │
│  │     range 192.168.20.50 192.168.20.200;                 │   │
│  │     option routers 192.168.20.1;                        │   │
│  │     option domain-name-servers 192.168.0.10;            │   │
│  │ }                                                        │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  DNS配置 (Bind9):                                               │
│                                                                 │
│  /etc/named.conf:                                               │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │ zone "company.local" IN {                              │   │
│  │     type master;                                        │   │
│  │     file "db.company.local";                           │   │
│  │     allow-update { 192.168.0.0/24; };                  │   │
│  │ };                                                      │   │
│  │                                                          │   │
│  │ zone "0.168.192.in-addr.arpa" IN {                     │   │
│  │     type master;                                        │   │
│  │     file "db.192.168.0";                               │   │
│  │ };                                                      │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  正向解析区文件 /var/named/db.company.local:                    │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │ $TTL    86400                                           │   │
│  │ @       IN      SOA     ns1.company.local.            │   │
│  │                 admin.company.local. (                 │   │
│  │                         2024010101 ; Serial            │   │
│  │                         3600       ; Refresh           │   │
│  │                         1800       ; Retry             │   │
│  │                         604800     ; Expire            │   │
│  │                         86400 )    ; Minimum TTL       │   │
│  │                                                          │   │
│  │          IN      NS      ns1.company.local.            │   │
│  │ ns1      IN      A       192.168.0.10                   │   │
│  │ www      IN      A       192.168.100.10                │   │
│  │ mail     IN      A       192.168.100.20               │   │
│  │          IN      MX 10   mail.company.local.          │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

7.4 案例四:网络故障排查思路

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                    网络故障排查方法论                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  故障排查流程 (自底向上/自顶向下):                               │
│                                                                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │           自底向上 (Bottom-Up)                            │   │
│  │   ┌─────────┐                                            │   │
│  │   │ 物理层   │  检查网线、光纤、接口灯状态                  │   │
│  │   └────┬────┘                                            │   │
│  │   ┌────┴────┐                                            │   │
│  │   │ 数据链路层 │  检查MAC地址表、交换机端口                 │   │
│  │   └────┬────┘                                            │   │
│  │   ┌────┴────┐                                            │   │
│  │   │ 网络层   │  检查IP配置、路由表、ARP表                   │   │
│  │   └────┬────┘                                            │   │
│  │   ┌────┴────┐                                            │   │
│  │   │ 传输层   │  检查TCP连接、端口状态                       │   │
│  │   └────┬────┘                                            │   │
│  │   ┌────┴────┐                                            │   │
│  │   │ 应用层   │  检查服务状态、日志、配置                     │   │
│  │   └─────────┘                                            │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
│  常用排查命令:                                                   │
│                                                                 │
│  Windows:                                                        │
│   ipconfig /all          # 查看IP配置                           │
│   ping <IP>              # 测试连通性                          │
│   tracert <IP>           # 追踪路由                            │
│   nslookup <domain>      # DNS解析                            │
│   netstat -an            # 查看端口状态                        │
│   arp -a                 # 查看ARP表                          │
│                                                                 │
│  Linux:                                                          │
│   ip addr / ifconfig     # 查看IP配置                          │
│   ip route / route -n    # 查看路由表                          │
│   ping / ping6           # 测试连通性                          │
│   traceroute / mtr       # 追踪路由                            │
│   dig / nslookup         # DNS查询                            │
│   ss -tuln               # 查看端口状态                        │
│   arp -n                 # 查看ARP表                          │
│                                                                 │
│  网络设备:                                                       │
│   show ip interface brief    # 查看接口状态                    │
│   show mac address-table      # 查看MAC表                     │
│   show ip route               # 查看路由表                     │
│   show running-config         # 查看当前配置                   │
│   debug ip packet             # 调试IP包 (慎用)                │
│                                                                 │
│  故障排查黄金法则:                                               │
│   1. 先定位故障范围(全网/局部/单点)                              │
│   2. 检查物理连接和链路状态                                      │
│   3. 确认IP配置正确性                                           │
│   4. 验证网关和路由可达性                                        │
│   5. 测试DNS解析准确性                                          │
│   6. 检查ACL和安全策略                                          │
│   7. 查看设备日志和分析                                         │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

8. 总结与学习建议

8.1 核心知识点总结

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                    计算机网络知识全景图                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                     网络通信基础                          │   │
│   │   • OSI七层模型 (应用-表示-会话-传输-网络-数据链路-物理)   │   │
│   │   • TCP/IP四层模型 (应用-传输-网络-网络接口)              │   │
│   │   • 数据封装与解封装过程                                  │   │
│   └─────────────────────────────────────────────────────────┘   │
│                              │                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                     核心协议                             │   │
│   │   • TCP: 三次握手、四次挥手、可靠传输、拥塞控制          │   │
│   │   • UDP: 高效传输、无连接特性                            │   │
│   │   • HTTP/HTTPS: Web通信、TLS加密                        │   │
│   │   • DNS: 域名解析、根域/顶级域/权威域                     │   │
│   │   • DHCP: IP动态分配、租约管理                           │   │
│   │   • ARP: IP到MAC地址解析                                 │   │
│   └─────────────────────────────────────────────────────────┘   │
│                              │                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                     地址与子网                            │   │
│   │   • IPv4地址分类 (A/B/C/D/E类)                          │   │
│   │   • 私有地址与公网地址                                    │   │
│   │   • 子网掩码与CIDR表示法                                 │   │
│   │   • VLSM可变长子网划分                                   │   │
│   │   • IPv6基础                                            │   │
│   └─────────────────────────────────────────────────────────┘   │
│                              │                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                    网络设备与路由                         │   │
│   │   • 二层交换机: MAC地址学习、帧转发                      │   │
│   │   • 三层交换机: VLAN间路由                                │   │
│   │   • 路由器: 路由选择、数据转发                            │   │
│   │   • VLAN: 广播域隔离                                      │   │
│   │   • 路由协议: 直连/静态/OSPF/RIP/BGP                    │   │
│   └─────────────────────────────────────────────────────────┘   │
│                              │                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                     网络安全                             │   │
│   │   • 防火墙: 包过滤、状态检测、ACL                        │   │
│   │   • VPN: 站点到站点、远程接入                            │   │
│   │   • 加密: 对称/非对称/TLS/SSL                            │   │
│   │   • 认证: AAA、802.1X                                    │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

8.2 学习路径建议

plaintext

复制代码
阶段一:基础入门 (1-2周)
├── 理解OSI七层模型和TCP/IP四层模型
├── 掌握IP地址和子网划分
├── 学习TCP/UDP协议原理
└── 了解HTTP协议基础

阶段二:网络技术 (2-3周)
├── 深入学习TCP三次握手和四次挥手
├── 掌握DNS解析过程
├── 学习DHCP工作原理
├── 理解交换机工作原理
└── 掌握VLAN技术

阶段三:路由与安全 (2-3周)
├── 学习路由器工作原理
├── 掌握静态路由和动态路由基础
├── 理解ACL访问控制
├── 学习防火墙基础
└── 了解VPN技术

阶段四:实践提升 (持续)
├── 搭建实验环境 (GNS3/EVE-NG/Cisco Packet Tracer)
├── 分析实际网络流量 (Wireshark)
├── 参与网络项目实践
└── 考取专业认证 (HCIA/CCNA/CCNP)

8.3 推荐学习资源

资源类型 推荐内容 适用阶段
书籍 《计算机网络:自顶向下方法》 全阶段
书籍 《TCP/IP详解》三卷 协议深入
书籍 《思科网络技术学院教程》 实践入门
在线课程 Coursera "Computer Networking" 系统学习
实验平台 GNS3、EVE-NG 动手实践
抓包工具 Wireshark 协议分析
认证 HCIA/CCNA/CCNP 进阶认证

附录

附录A:常见端口号速查

plaintext

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                    常用端口号速查表                              │
├────────┬────────────────────────────────────────────────────────┤
│  端口   │                    服务                               │
├────────┼────────────────────────────────────────────────────────┤
│   20   │ FTP数据端口                                            │
│   21   │ FTP控制端口                                            │
│   22   │ SSH (安全远程登录)                                     │
│   23   │ Telnet (明文远程登录)                                  │
│   25   │ SMTP (邮件发送)                                        │
│   53   │ DNS                                                   │
│   67   │ DHCP服务器                                            │
│   68   │ DHCP客户端                                            │
│   69   │ TFTP                                                  │
│   80   │ HTTP                                                  │
│   110  │ POP3 (邮件接收)                                        │
│   119  │ NNTP                                                  │
│   123  │ NTP (网络时间协议)                                     │
│   143  │ IMAP (邮件访问)                                        │
│   161  │ SNMP                                                 │
│   162  │ SNMPTRAP                                              │
│   389  │ LDAP                                                  │
│   443  │ HTTPS                                                 │
│   445  │ SMB                                                   │
│   465  │ SMTPS                                                 │
│   514  │ Syslog                                                │
│   587  │ SMTP (邮件提交)                                        │
│   636  │ LDAPS                                                │
│   993  │ IMAPS                                                │
│   995  │ POP3S                                                │
│  3306  │ MySQL                                                │
│  3389  │ RDP (远程桌面)                                         │
│  5432  │ PostgreSQL                                           │
│  8080  │ HTTP代理/常用Web服务                                   │
│  8443  │ HTTPS备选端口                                         │
└────────┴────────────────────────────────────────────────────────┘

附录B:网络术语速查

术语 英文全称 中文解释
TCP Transmission Control Protocol 传输控制协议
UDP User Datagram Protocol 用户数据报协议
HTTP HyperText Transfer Protocol 超文本传输协议
DNS Domain Name System 域名系统
DHCP Dynamic Host Configuration Protocol 动态主机配置协议
ARP Address Resolution Protocol 地址解析协议
NAT Network Address Translation 网络地址转换
VLAN Virtual Local Area Network 虚拟局域网
VPN Virtual Private Network 虚拟专用网络
ACL Access Control List 访问控制列表
OSPF Open Shortest Path First 开放最短路径优先
BGP Border Gateway Protocol 边界网关协议
MAC Media Access Control 媒体访问控制
CIDR Classless Inter-Domain Routing 无类域间路由
VLSM Variable Length Subnet Mask 可变长子网掩码
MTU Maximum Transmission Unit 最大传输单元
RTT Round Trip Time 往返时间
TTL Time To Live 生存时间
相关推荐
苦 涩3 小时前
考研408笔记计算机网络(五)——传输层
笔记·计算机网络·考研408
@encryption3 小时前
计算机网络 --- VLAN
网络·计算机网络·智能路由器
苦 涩5 小时前
考研408笔记之计算机网络(六)——应用层
笔记·计算机网络·考研408
Advancer-21 小时前
cookie和session是什么??
计算机网络
悟道子HD1 天前
计算机网络端口记忆指南
计算机网络·http·https·ssh·ftp·端口号·smtp
@encryption1 天前
计算机网络 --- ACL
网络·计算机网络
深邃-1 天前
【Web安全】-Kali,Linux基础:Kali系统安装,Kali鼠标不显示(版本问题),Linux系统介绍(1)
linux·计算机网络·安全·web安全·网络安全·系统安全·网络攻击模型
深邃-1 天前
【Web安全】-Kali,Linux基础:Linux终端介绍,Linux文件操作,Linux文件编辑(2)
linux·计算机网络·安全·web安全·网络安全·系统安全·安全威胁分析
tang&1 天前
HTTP与HTTPS协议详解:从基础到加密原理
计算机网络·http·https