网络通信模型: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)。

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

相关推荐
小辰记事本5 小时前
从零读懂RoCEv2数据包构造:从WQE到线缆上的完整旅程
服务器·网络·网络协议·rdma
辰海Coding5 小时前
MiniSpring框架学习笔记-解决循环依赖的简化IoC容器
笔记·学习
晓梦林6 小时前
cp520靶场学习笔记
android·笔记·学习
北京耐用通信6 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
在角落发呆7 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
心中有国也有家7 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
Upsy-Daisy7 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习
LuminousCPP8 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
魔法阵维护师8 小时前
从零开发游戏需要学习的c#模块,第十四章(保存和加载)
学习·游戏·c#
YMWM_9 小时前
UDP协议详解:从原理到Python实践
网络·网络协议·udp