文章目录
- 网络分层与OSI七层模型
- 协议与分层
- 网络协议
- 协议三要素
- 分层式协议的优势
- 各层的主要功能
- 体系结构 vs 实现
- OSI七层体系结构
- TCP/IP及层体结构
- TCP/IP四层体系结构
- TCP/IP五层体系结构
- 各层功能详解
- 应用层
- 传输层
- 网络层
- 数据链路层
- 物理层(Physical Layer)
- 数据封装与解封装过程
网络分层与OSI七层模型
协议与分层
网络协议
- 网络协议是为进行网络中的数据交换而建立的规则、标准或约定
协议三要素
| 要素 | 说明 | 示例 |
|---|
| 语法 | 数据与控制信息的结构或格式 | 数据包格式、比特顺序 |
| 语义 | 需要发出的控制信息及响应 | 协议字段的含义 |
| 同步 | 事件实现的顺序说明 | 握手过程、时序 |
分层式协议的优势
- 模块化设计:复杂问题分解为局部问题
- 接口标准化:层间接口明确,易于实现和维护
- 技术独立性:各层可独立演进
各层的主要功能
- 差错控制:确保通信可靠性
- 流量控制:匹配发送与接收速率
- 分段和重装:处理不同MTU的数据块
- 复用和分用:多个高层会话共享底层连接
- 连接管理:建立和释放逻辑连接
体系结构 vs 实现
| 概念 | 定义 | 关注点 |
|---|
| 体系结构 | 各层及其协议的集合 | 功能定义(不涉及实现) |
| 实现 | 用硬件或软件完成功能 | 具体技术实现 |
OSI七层体系结构
![]()
┌─────────────────────────────┐ │ 应用层 (Application) │ ← 用户接口、应用程序服务。网络服务与最终用户的一个接口 ├─────────────────────────────┤ │ 表示层 (Presentation) │ ← 数据格式转换、加密解密。数据的表示、安全、压缩 ├─────────────────────────────┤ │ 会话层 (Session) │ ← 会话管理、同步控制。建立、管理、中止会话 ├─────────────────────────────┤ │ 传输层 (Transport) │ ← 端到端连接、可靠性。定义传输数据的协议端口号,以及流控和差错校验 ├─────────────────────────────┤ │ 网络层 (Network) │ ← 路径选择、IP寻址。进行逻辑地址寻址、差错校验等功能 ├─────────────────────────────┤ │ 数据链路层 (Data Link) │ ← 帧传输、MAC寻址。建立逻辑连接、进行硬件地址寻址、差错校验等功能 ├─────────────────────────────┤ │ 物理层 (Physical) │ ← 比特流传输、电气特性。建立、维护、断开物理连接 └─────────────────────────────┘
TCP/IP及层体结构
TCP/IP四层体系结构
![]()
┌─────────────────────────────────────┐ │ 应用层 │ │ (HTTP, SMTP, DNS, FTP, SSH...) │ ├─────────────────────────────────────┤ │ 传输层 │ │ (TCP, UDP, SCTP) │ ├─────────────────────────────────────┤ │ 网际层 │ │ (IP, ICMP, IGMP) │ ├─────────────────────────────────────┤ │ 网络接口层 │ │ (以太网, WiFi, PPP, ARP, 硬件驱动) │ └─────────────────────────────────────┘
- 是事实上的国际标准
- 实质上TCP/IP只有最上面的三层,最下面的网络接口层(链路层)并没有具体内容
- 链路层所使用的各种局域网标准是由IEEE的802委员会下属的各工作组负责制定的
TCP/IP设计特点
![]()
- 沙漏模型:IP层作为"腰部",统一了底层多种网络技术
- 端到端原则:网络核心简单,智能在边缘
- 实际现状:
- TCP/IP是事实上的国际标准
- 网络接口层依赖IEEE 802等标准
- 某些应用可直接使用IP层或网络接口层
路由器的工作层次
主机A → [应用层|传输层|网际层|网络接口层] ↓ 路由器 → [网际层|网络接口层] ↓ 主机B → [应用层|传输层|网际层|网络接口层]
TCP/IP五层体系结构
![]()
┌─────────────────────────────────────┐ │ 应用层 │ ← 报文(Message) ├─────────────────────────────────────┤ │ 传输层 │ ← 段(Segment)/数据报(Datagram) ├─────────────────────────────────────┤ │ 网络层 │ ← 分组(Packet)/数据报(Datagram) ├─────────────────────────────────────┤ │ 数据链路层 │ ← 帧(Frame) ├─────────────────────────────────────┤ │ 物理层 │ ← 比特(Bit) └─────────────────────────────────────┘
各层功能详解
应用层
- 任务:通过应用进程间的交互来完成特定网络应用
- 协议:定义的是应用进程间通信和交互的规则。把应用层交互的数据单元称为报文(message)
- 例如:DNS,HTTP,SMTP
传输层
- 任务:为两台主机中的进程提供通用的数据传输服务
- 核心功能:复用(多应用共享网络)和分用(数据分发到正确应用)
- 主要使用两种协议: 传输控制协议 TCP和 用户数据报协议 UDP
- TCP:
- 特点:面向连接、可靠、字节流传输
- 数据单元:报文段(Segment)
- 适用场景:文件传输、Web浏览、远程登录
- UDP:
- 特点:无连接、尽最大努力交付、数据报传输
- 数据单元:用户数据报(Datagram)
- 适用场景:DNS查询、音视频流、物联网传感器数据
网络层
- 任务:为分组交换网上的不同主机提供通信服务
- 两个核心子任务:
- 路由选择:生成转发表(路由协议:RIP, OSPF, BGP)
- 分组转发:根据转发表转发数据
- 核心协议:IP协议(网际协议)
- 数据单元:IP数据报/分组
数据链路层
- 任务:实现两个相邻节点之间的可靠通信
- 数据单元:帧(Frame)
- 关键协议:
- 以太网(IEEE 802.3):有线网络
- WiFi(IEEE 802.11):无线网络
- PPP:串行链路
- ARP:IP地址到MAC地址的解析
- 差错处理策略:
- 简单丢弃:发现错误直接丢弃帧(常见)
- 可靠传输:使用协议纠正差错(复杂,资源消耗大)
物理层(Physical Layer)
- 任务:实现比特(0/1)的传输
- 关注点:
- 电气特性:电压、频率
- 机械特性:接口形状、引脚数
- 功能特性:引脚功能定义
- 规程特性:时序关系
- 物理媒体:双绞线、同轴电缆、光纤、无线信道等
数据封装与解封装过程
发送端(封装过程): 应用层数据 → 添加传输层头部 → 添加网络层头部 → 添加链路层头部/尾部 → 比特流 接收端(解封装过程): 比特流 → 去除链路层头部/尾部 → 去除网络层头部 → 去除传输层头部 → 应用层数据