一、计算机网络的诞生与发展
计算机网络发展四阶段(1997 年比尔·盖茨提出”网络才是计算机”):
- 一单机多终端联机系统(雏形)→ 二分组交换网(TCP/IP 雏形)→ 三体系结构标准化(OSI)→ 四全球高速互联
二、OSI 七层参考模型
2.1 背景与核心思想
1979 年 ISO(国际标准化组织)颁布 OSI/RM(开放式系统互连参考模型)。
核心是分层:通信过程拆成七层,每层功能独立——层间松耦合(某层协议增减不影响其他层)、便于标准化。
2.2 七层详解
| 层次 | 名称 | 主要功能 | 数据单元 |
|---|---|---|---|
| 7 | 应用层 (Application) | 提供网络服务接口(HTTP、FTP、DNS 等) | 数据报文 |
| 6 | 表示层 (Presentation) | 数据格式转换、加密解密、压缩 | 数据报文 |
| 5 | 会话层 (Session) | 管理通信会话,建立/维持/断开连接 | 数据报文 |
| 4 | 传输层 (Transport) | 端到端可靠传输,流量控制,差错控制 | 段 (Segment) |
| 3 | 网络层 (Network) | 逻辑寻址与路由选择 | 包 (Packet) |
| 2 | 数据链路层 (Data Link) | 物理寻址(MAC)、成帧、差错检测 | 帧 (Frame) |
| 1 | 物理层 (Physical) | 二进制信号与物理介质传输 | 比特流 (Bits) |
应用层(Application Layer)
常见应用层协议:
- HTTP/HTTPS TCP 80/443;DNS TCP/UDP 53;FTP TCP 20、21;SMTP TCP 25
- POP3 TCP 110;Telnet TCP 23;DHCP UDP 67、68
表示层(Presentation Layer)
数据格式转换:编码转换、加密解密、压缩。
会话层(Session Layer)
建立/维持/断开通信会话。
上三层面向程序,下四层面向数据传输。
传输层(Transport Layer)
地址是端口号,范围 0-65535:
- 知名端口 1-1023(标定特定服务)、注册端口 1024-49151、动态端口 49152-65535
两大核心协议 TCP 与 UDP 详见第四章。
网络层(Network Layer)
核心协议:
- IP(Internet 协议):负责寻址和路由
- ICMP(Internet 控制报文协议):用于网络诊断(如 ping、tracert)
- ARP(地址解析协议):IP 地址与 MAC 地址的映射
- OSPF/RIP/BGP:动态路由协议
数据链路层(Data Link Layer)
子层:MAC(介质访问控制层) + LLC(逻辑链路控制层);FCS(帧校验序列)保证完整性,CRC(循环冗余算法)差错检测。
物理层(Physical Layer)
把二进制 01 转成物理/光信号,经介质传输。常见介质:
| 介质类型 | 特点 | 传输距离 |
|---|---|---|
| 同轴电缆 | 耐用,抗干扰强,造价高 | 较长 |
| 双绞线(5类/超5类/6类) | 造价低,易弯折,最常用 | 100米 |
| 光纤(单模/多模) | 抗干扰极强,传输远,质量高 | 数千米至数百公里 |
| 无线 | 移动性好,连接方便 | 视环境而定 |
三、TCP/IP 四层模型
TCP/IP 由美国国防部提出,后由 IETF(互联网工程任务小组)维护,成为互联网事实标准。
3.1 TCP/IP 协议簇
四个层次:
| TCP/IP 层次 | 对应 OSI 层次 | 核心协议 |
|---|---|---|
| 应用层 (Application) | 应用层 + 表示层 + 会话层 | HTTP、FTP、DNS、SMTP、Telnet、DHCP |
| 传输层 (Transport) | 传输层 | TCP、UDP |
| 网际层 (Internet) | 网络层 | IP、ICMP、ARP、RARP |
| 网络接入层 (Network Access) | 数据链路层 + 物理层 | Ethernet、PPP、HDLC、WiFi |
3.2 OSI 与 TCP/IP 模型对比
| 对比维度 | OSI 七层模型 | TCP/IP 四层模型 |
|---|---|---|
| 制定者 | ISO(国际标准化组织) | 美国国防部 / IETF |
| 层次数 | 7 层 | 4 层 |
| 上层处理 | 应用层、表示层、会话层分离 | 合并为应用层 |
| 下层处理 | 数据链路层、物理层分离 | 合并为网络接入层 |
| 协议依赖 | 协议独立(先有模型后有协议) | 协议绑定(先有协议后有模型) |
| 实际应用 | 教学参考模型 | 互联网实际标准 |
四、封装与解封装
4.1 什么是封装
封装:各层把本层实现数据加到内容数据之前:
应用层:原始数据
↓
传输层:TCP/UDP 头部 + 原始数据 → 段(Segment)
↓
网络层:IP 头部 + 段 → 包(Packet)
↓
数据链路层:MAC 头部 + 包 + FCS 尾部 → 帧(Frame)
↓
物理层:帧 → 比特流(Bits)
4.2 PDU(协议数据单元)
各层数据单元名称:
| 层次 | PDU 名称 |
|---|---|
| 应用层 | 数据报文 (Data) |
| 传输层 | 段 (Segment) |
| 网络层 | 包 (Packet) |
| 数据链路层 | 帧 (Frame) |
| 物理层 | 比特流 (Bits) |
4.3 解封装
解封装是逆过程:收到比特流后逐层剥离头部,还原原始数据。
五、MAC 地址与 IP 地址
5.1 MAC 地址(物理地址)
- 芯片出厂烧录的串号;48 位二进制,用 12 位十六进制表达
- 格式示例
48-89-E7-20-7E-34;前 24 位是厂商(OUI),后 24 位是厂商分配的串号 - 全球唯一;工作在数据链路层,用于同一广播域内的通信
5.2 IP 地址(逻辑地址)
- IPv4 32 位二进制,点分十进制(如
192.168.1.1);IPv6 128 位,冒分十六进制 - 分网络位与主机位,由子网掩码区分;工作在网路层,用于跨广播域通信
5.3 IP 地址分类
| 类别 | 第一组 8 位二进制 | 十进制范围 | 网络位长度 | 用途 |
|---|---|---|---|---|
| A 类 | 0XXXXXXX | 1 - 126 | 前 8 位 | 大型网络 |
| B 类 | 10XXXXXX | 128 - 191 | 前 16 位 | 中型网络 |
| C 类 | 110XXXXX | 192 - 223 | 前 24 位 | 小型网络 |
| D 类 | 1110XXXX | 224 - 239 | 不分 | 组播地址 |
| E 类 | 1111XXXX | 255 - 255 | 不分 | 保留(军用) |
5.4 特殊 IP 地址
| 地址 | 说明 |
|---|---|
127.0.0.1 - 127.255.255.255 | 环回地址(本机测试) |
255.255.255.255 | 受限广播地址 |
| 主机位全 1 | 直接广播地址(如 192.168.2.255) |
| 主机位全 0 | 网络号(如 192.168.2.0) |
0.0.0.0 | 代表没有 IP 或任意 IP |
169.254.0.0/16 | 自动私有地址(APIPA) |
5.5 ARP 协议
ARP(地址解析协议)把 IP 地址映射为 MAC 地址,分类:
- 正向 ARP IP→MAC;反向 ARP MAC→IP;免费 ARP 用于 IP 冲突检测与自我介绍
ARP 缓存表老化时间 180 秒。
六、传输层协议详解:TCP 与 UDP
6.1 TCP 与 UDP 对比
| 对比维度 | TCP | UDP |
|---|---|---|
| 连接方式 | 面向连接 | 无连接 |
| 可靠性 | 可靠传输(确认、重传) | 尽力而为 |
| 流量控制 | 有(滑动窗口、拥塞控制) | 无 |
| 速度 | 较慢 | 较快 |
| 资源消耗 | 大 | 小 |
| 应用场景 | 文件传输、网页浏览、邮件 | 视频直播、在线游戏、VoIP |
6.2 TCP 三次握手
客户端 服务器
| -------- SYN --------> |
| <---- SYN + ACK ------ |
| -------- ACK --------> |
6.3 TCP 四次挥手
客户端 服务器
| -------- FIN --------> |
| <------- ACK --------- |
| <------- FIN --------- |
| -------- ACK --------> |
6.4 TCP 分段与 IP 分片
- MTU(最大传输单元):数据链路层限制,通常 1500 字节
- MSS(最大分段长度):基于 MTU 协商,一般 1460 字节(1500 - 20 IP 头 - 20 TCP 头)
- IP 分片依据标识符、标志位(DF/MF)与片偏移量
七、其他重要协议
7.1 ICMP 协议
ICMP(Internet 控制报文协议)在网络设备间传递差错与控制信息。
| 报文类型 | 说明 |
|---|---|
| Echo Request / Echo Reply | ping 命令使用的查询报文 |
| 目的不可达 | 网络/主机/协议/端口不可达 |
| 源站点抑制 | 通知源端放慢发送速度 |
| 时间超时 | TTL 值为 0,数据包被丢弃 |
| 重定向 | 指示更优路径 |
Tracert 基于 TTL 值逐跳跟踪转发路径。
7.2 DNS 协议
DNS(域名系统)把域名转换为 IP 地址,C/S 架构。查询方式:
- 递归查询:DNS 服务器代替客户端完成全部查询
- 迭代查询:DNS 服务器返回下一级 DNS 地址,客户端自行查询
7.3 HTTP 协议
HTTP(超文本传输协议)是 WWW 核心协议之一,WWW 三部分:
- HTML 页面标记语言;URL 统一资源定位符(协议 + 主机 + 端口 + 文件名);HTTP 传输超文本的协议
八、设备与层次对应
| 设备 | 工作层次 | 功能 |
|---|---|---|
| 集线器 (Hub) | 物理层 | 信号放大与转发,共享介质 |
| 网桥 (Bridge) | 数据链路层 | 隔离冲突域,过滤帧 |
| 交换机 (Switch) | 数据链路层 | 基于 MAC 地址表转发,自学习 |
| 路由器 (Router) | 网络层 | 隔离广播域,基于路由表选路转发 |
九、总结
- OSI 七层是理论参考标准,TCP/IP 四层是工业标准
- 三组对立:封装/解封装、MAC/IP 寻址、TCP/UDP