网络通信模型:OSI七层与TCP/IP四层架构的数据传输机制

一、OSI七层模型

物理层(信号传输)→数据链路层(帧封装)→网络层(路由)→传输层(可靠传输)→会话层(连接管理)→表示层(数据格式转换)→应用层(用户接口)。

为协议设计提供理论框架,实际部署中因协议栈复杂,逐渐被TCP/IP模型替代。

二、TCP/IP四层模型

|----------|-------------|---------------------------|
| TCP/IP四层 | 对应OSI层次 | 核心功能与协议 |
| 应用层 | 应用层+表示层+会话层 | HTTP(80)、FTP(21)、SMTP(25) |
| 传输层 | 传输层 | TCP(可靠传输)、UDP(无连接) |
| 网络层 | 网络层 | IP(寻址与路由)、ICMP(错误报告) |
| 网络接入层 | 数据链路层+物理层 | Ethernet(帧封装)、PPP(点对点连接) |

优势:

简洁:合并OSI的上三层,简化开发流程。

实用:支持互联网大规模部署,协议栈轻量化。

三、封装与解封装的流程

1.发送端封装过程

应用层:生成原始数据(如浏览器输入的URL)。

传输层:添加TCP/UDP头部(源端口、目的端口),形成"段"(Segment)。

网络层:封装IP头部(源IP、目的IP),形成"包"(Packet)。

数据链路层:添加MAC头部(源MAC、目的MAC)和FCS校验,形成"帧"(Frame)。

物理层:转换为二进制比特流(0/1)通过介质传输。

2.接收端解封装过程

物理层→数据链路层:校验FCS,剥离MAC头部。

网络层:剥离IP头部,传递至传输层。

传输层:剥离TCP/UDP头部,还原原始数据至应用层。

**案例:**ping 192.168.1.2的传输流程

应用层生成ICMP请求数据,传输层封装UDP头部(ICMP基于UDP),网络层添加IP头部,数据链路层通过ARP获取目标MAC地址并封装帧头部,最终物理层发送比特流。

四、高频考点

1.TCP三次握手

第一次握手(客户端→服务端):客户端向服务端发送 SYN 包,携带初始序列号 seq=x,请求建立连接,客户端进入 SYN_SENT 状态。

第二次握手(服务端→客户端):服务端收到 SYN 包后,确认自身接收能力正常,向客户端回复 SYN+ACK 包,携带确认号 ack=x+1和自身初始序列号 seq=y,服务端进入 SYN_RCVD 状态。

第三次握手(客户端→服务端):客户端收到 SYN+ACK 包后,确认自身收发、服务端收发正常,向服务端发送 ACK 包,携带确认号 ack=y+1,客户端进入 ESTABLISHED状态;服务端收到 ACK 包后,同样进入 ESTABLISHED 状态,连接正式建立,可以开始传输数据。

2.ARP协议

通过IP地址查询MAC地址。通过本地ARP表存储IP-MAC映射,减少广播开销。

**3.关键端口:**HTTP(80)、FTP(20/21)、SMTP(25)、DNS(53)。

点击下方名片,获取软考/华为认证数通各科的入门备考资料。

相关推荐
坐看风云变幻4 小时前
《系统架构师成长之路》第 8 期|微服务:单体拆分的时机、粒度与通信
微服务·架构·系统架构
运维行者_4 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
小小de风呀4 小时前
de风——【从零开始学习Linux】(九):进程基础 —— 从冯诺依曼体系到 fork 创建进程
linux·学习
2401_868534784 小时前
陈冲2026年上海纽约大学全英文毕业演讲
服务器·网络
李某学编程4 小时前
基于ARM的微机原理学习笔记(一)
arm开发·笔记·学习
Song_RsHt5 小时前
Redis 与微服务,什么场景下无可替代
java·redis·后端·学习·微服务
FPGA小迷弟6 小时前
FPGA开发Vivado Block Design/Vitis/SDK/xlinx/开发教程,保姆级别,一看就会!
网络协议·tcp/ip·fpga开发·verilog·fpga
FPGA小迷弟6 小时前
基于FPGA实现智能网卡的概念,什么是智能网卡
网络协议·tcp/ip·fpga开发·verilog·fpga
Figo_Cheung6 小时前
Figo潜空间层级认知理论:基于齐夫拓扑与黎曼几何的结构化模型研究
人工智能·架构·空间计算
洞见前行7 小时前
用 Tinker 热更新反向实现插件化:两个独立 APK 合二为一的原理详解
架构