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

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

相关推荐
Patrick_Wilson2 小时前
幂等到底是什么?从前端视角讲透 SQL、HTTP 与 POST 接口的幂等设计
前端·后端·架构
禅思院5 小时前
Vite vs Webpack 深度对比:从启动原理到生产构建,一篇就够了
前端·架构·前端框架
Cerrda1 天前
开发体验升级:UnoCSS 自定义 SVG 图标热更新方案
架构·前端框架
王二端茶倒水1 天前
商业 WiFi 不是免费上网,而是门店数字化的入口
网络协议
Kstheme1 天前
把任何 GitHub 仓库变成系统设计课:这个开源项目做到了
架构
禅思院1 天前
路由性能高可用架构实战方案
前端·架构·前端框架
贵慜_Derek2 天前
《从零实现 Agent 系统》连载 32|闭集 IE 与小模型:分类、意图与字段抽取
人工智能·架构·agent
江米小枣tonylua3 天前
译:设计生产级 RAG 架构
架构
怕浪猫3 天前
领域特定语言(Domain-Specific Language, DSL)
设计模式·程序员·架构
怕浪猫3 天前
哪些软件对 Chrome DevTools Protocol 频繁使用
人工智能·架构·前端框架