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

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

相关推荐
乐观的Terry11 小时前
1、为什么要自己造发布系统
java·spring boot·后端·spring cloud·架构
咏方舟【长江支流】11 小时前
【开源】跨语言·跨平台·跨数据库(2) —— 用宝轻量框架设计必读
数据库·架构·开源·ai编程·咏方舟-长江支流·用宝框架
mm99542011 小时前
PMI三大证书:PMP、PgMP、PfMP证书对比
学习·职场和发展·项目管理·学习方法·pmp
蓝田~11 小时前
AI 图片与视频处理 — 从原理到实践
网络·人工智能·音视频
铅笔侠_小龙虾12 小时前
Rust 学习(4)-函数与注释
开发语言·学习·rust
apihz12 小时前
全球域名 WHOIS 信息实时查询免费 API 接口教程,支持1000+后缀
android·网络·网络协议·tcp/ip·apache·域名·whois
猪头少年不会遇见算法学姐12 小时前
Makefile快速上手笔记
linux·学习
崖边看雾13 小时前
记录Python学习——第一章环境安装下载(Windows)
windows·python·学习·pycharm
乐橙开放平台13 小时前
巡店系统笔记:乐橙 listDeviceDetailsByPage 台账 + bindDeviceLive 辅码流最小闭环
网络·笔记·物联网·自动化·音视频·智能家居
酣大智13 小时前
OSPF 虚链路实验
网络·ospf