网络体系结构¶
概述¶
网络体系结构
计算机网络各层及其协议的集合,是网络及其部件所应完成功能的精确定义。
OSI参考模型¶
OSI七层模型
开放系统互连参考模型,国际标准化组织(ISO)制定的网络体系结构标准。
OSI模型结构¶
graph TB
A[应用层<br/>Application Layer<br/>第7层] --> B[表示层<br/>Presentation Layer<br/>第6层]
B --> C[会话层<br/>Session Layer<br/>第5层]
C --> D[传输层<br/>Transport Layer<br/>第4层]
D --> E[网络层<br/>Network Layer<br/>第3层]
E --> F[数据链路层<br/>Data Link Layer<br/>第2层]
F --> G[物理层<br/>Physical Layer<br/>第1层]
style A fill:#E3F2FD
style B fill:#E8F5E9
style C fill:#FFF3E0
style D fill:#F3E5F5
style E fill:#FCE4EC
style F fill:#E0F2F1
style G fill:#FFF9C4
各层功能详解¶
1. 物理层(Physical Layer)¶
物理层
传输比特流,定义物理传输介质、电气特性、机械特性等。
功能:
- 定义电压电平
- 定义数据传输速率
- 定义物理连接器规格
- 定义传输模式(单工、半双工、全双工)
设备: 中继器、集线器、网线
2. 数据链路层(Data Link Layer)¶
数据链路层
将比特流组装成帧,提供节点到节点的传输。
功能:
- 帧的封装与解封装
- 物理地址(MAC)寻址
- 差错检测
- 流量控制
子层:
- 逻辑链路控制(LLC): 提供服务接口
- 介质访问控制(MAC): 控制介质访问
设备: 网桥、交换机
3. 网络层(Network Layer)¶
网络层
提供端到端的逻辑通信,实现路由选择。
功能:
- 逻辑地址(IP)寻址
- 路由选择
- 分组转发
- 拥塞控制
设备: 路由器
4. 传输层(Transport Layer)¶
传输层
提供端到端的可靠或不可靠数据传输。
功能:
- 分段与重组
- 端口寻址
- 连接管理
- 流量控制
- 差错控制
协议: TCP、UDP
5. 会话层(Session Layer)¶
会话层
建立、管理和终止会话连接。
功能:
- 会话建立与终止
- 会话同步
- 会话管理
6. 表示层(Presentation Layer)¶
表示层
处理数据的表示、安全和压缩。
功能:
- 数据格式转换
- 数据加密解密
- 数据压缩解压
7. 应用层(Application Layer)¶
应用层
为应用程序提供网络服务接口。
功能:
- 提供网络服务
- 用户接口
协议: HTTP、FTP、SMTP、DNS等
TCP/IP参考模型¶
TCP/IP四层模型
Internet实际使用的体系结构,是OSI模型的简化实现。
TCP/IP模型结构¶
graph TB
A[应用层<br/>Application Layer] --> B[传输层<br/>Transport Layer]
B --> C[网际层<br/>Internet Layer]
C --> D[网络接口层<br/>Network Interface Layer]
style A fill:#E3F2FD
style B fill:#E8F5E9
style C fill:#FFF3E0
style D fill:#F3E5F5
各层功能¶
1. 应用层¶
功能: 提供各种网络应用服务
协议:
- HTTP: 超文本传输协议
- FTP: 文件传输协议
- SMTP: 简单邮件传输协议
- DNS: 域名系统
- Telnet: 远程登录
2. 传输层¶
传输层协议
提供端到端的数据传输服务。
TCP(传输控制协议):
- 面向连接
- 可靠传输
- 流量控制
- 拥塞控制
UDP(用户数据报协议):
- 无连接
- 不可靠传输
- 高效快速
3. 网际层¶
网际层
负责主机到主机的数据传输。
协议:
- IP: 网际协议
- ICMP: Internet控制消息协议
- IGMP: Internet组管理协议
- ARP: 地址解析协议
- RARP: 反向地址解析协议
4. 网络接口层¶
功能:
- 处理物理传输
- 封装和解封装数据帧
- 与物理网络交互
OSI与TCP/IP对比¶
| 对比项 | OSI模型 | TCP/IP模型 |
|---|---|---|
| 层数 | 7层 | 4层 |
| 理论基础 | 理论模型 | 实际应用 |
| 协议开发 | 先有模型后有协议 | 先有协议后有模型 |
| 应用范围 | 理论参考 | Internet实际使用 |
数据封装过程¶
graph TB
A[应用层数据] --> B[传输层<br/>添加TCP/UDP头部]
B --> C[网际层<br/>添加IP头部]
C --> D[数据链路层<br/>添加帧头和帧尾]
D --> E[物理层<br/>转换为比特流]
style A fill:#E3F2FD
style B fill:#E8F5E9
style C fill:#FFF3E0
style D fill:#F3E5F5
style E fill:#FCE4EC
封装过程
数据从应用层向下传递时,每一层都会添加自己的协议头部(和尾部),最终在物理层转换为比特流传输。