当前位置: 首页 > news >正文

网络数据分层封装与解封过程的详细说明

网络数据分层封装全流程

数据封装流程(发送端)- CSDN优化版

OSI层次封装动作数据单元关键头部信息示例
应用层添加应用层协议头部报文(Message)GET /index.html HTTP/1.1
Host: www.example.com
表示层数据加密/压缩PPDUTLSv1.3 Record Layer
Content Type: Application Data
会话层添加会话控制标识SPDUSIP Call-ID: xyz@192.0.2.1
Session-ID: 1654873295
传输层添加端口号/控制标识段/数据报(Segment)TCP: [源端口12345][目标端口80][序列号1]
UDP: [源端口53][目标端口53][长度76]
网络层添加IP地址/路由信息包(Packet)[源IP 192.168.1.100]
[目标IP 93.184.216.34]
[TTL 64]
数据链路层添加MAC地址/帧控制帧(Frame)[目标MAC 00:1A:2B:xx:xx]
[源MAC 0C:54:15:yy:yy]
[类型 0x0800]
物理层信号转换比特(Bits)10101011... → 曼彻斯特编码/光脉冲

关键头部字段解析表

头部字段核心作用典型值变化/示例
TTL防止路由环路每过1路由器减1:64→63→62
协议号标识上层协议TCP=6, UDP=17, ICMP=1
序列号TCP可靠性保证首字节Seq=1 → 下一包Seq=1481
CRC帧完整性校验计算所有字节的哈希值

HTTP请求封装全流程示例

处理阶段数据变化
原始数据GET /index.html HTTP/1.1
应用层封装[HTTP头] GET /index.html HTTP/1.1\r\nHost: www.example.com\r\n
传输层封装[TCP头][源端口:12345][目标端口:80][Seq=100] + 应用数据
网络层封装[IP头][源IP:192.168.1.100][目标IP:93.184.216.34][TTL=64] + TCP段
链路层封装[帧头][目标MAC][源MAC][类型0x0800] + IP包 + [CRC校验]
物理层转换01101010 → 网线电压/光脉冲

数据解封(接收端)

物理层 → 接收比特流
数据链路层 → 校验CRC+拆帧头
网络层 → IP目标地址分析
传输层 → TCP段重组
会话层 → 会话ID验证
表示层 → 数据解密
应用层 → 交付原始数据

核心封装技术精讲

1. 跨层协作机制

​ARP协议联动​:
当目标MAC未知时:

发送ARP广播:Who has 192.168.1.1? Tell 192.168.1.100
收到ARP响应:192.168.1.1 is at 00:1A:2B:xx:xx

MTU分片控制​:
以太网MTU=1500B时的TCP分片:

[IP头20B][TCP头20B][数据1460B] → 包1
[IP头20B][TCP头20B][剩余数据200B] → 包2

2. 完整HTTP请求封装示例

​原始应用数据​:GET /index.html HTTP/1.1
​逐层封装结果​:

# 应用层添加HTTP头
[HTTP] GET /index.html HTTP/1.1\r\nHost: www.example.com\r\n# 表示层TLS加密
[TLS] Content-Type: application_data\nEncrypted_data: x7F2E...# 传输层TCP封装
[TCP头][源端口:12345][目标端口:80][Seq=100][Win=65535]# 网络层IP封装
[IP头][源IP:192.168.1.100][目标IP:93.184.216.34][TTL=64]# 数据链路层成帧
[帧头][目标MAC:00-1A...][源MAC:0C-54...][Type:0x0800][数据][CRC:0xA7B3]# 物理层转换
01101010 → 网线差分电压/光纤光脉冲

逆向解封​:接收端从物理层开始逐层剥离头部,最终将原始数据递交给Web服务器程序。

分层封装的核心价值

​职责分离​:各层独立升级(如HTTP/3替换TCP为QUIC)
​灵活组网​:同一物理层可承载不同链路层协议(如以太网/PPP)
​故障定位​:通过分析特定层头部快速定位问题(如TTL=0指示路由环路)

http://www.dtcms.com/a/291004.html

相关文章:

  • STM32 开发的鼠标:技术详解与实现指南
  • RBAC(Role-Based Access Control,基于角色的访问控制)介绍(一种通过角色来管理用户权限的访问控制模型)
  • 深入解析 SymPy 中的符号计算:导数与变量替换的实践指南
  • 【未限制消息消费导致数据库CPU告警问题排查及解决方案】
  • 司南评测体系全新升级,“五位一体”评估全链路关键能力
  • 神经网络过拟合处理:原理与实践
  • C++实战案例:从static成员到线程安全的单例模式
  • Spring AI 系列之十八 - ChatModel
  • 【实战】Dify从0到100进阶--文档解读(10)参数提取HTTP节点
  • MybatisPlus-15.扩展功能-逻辑删除
  • 国产电钢琴核心优缺点是什么?
  • 深度学习 ---神经网络以及数据准备
  • C++基础数据结构
  • Ubuntu 22 安装 ZooKeeper 3.9.3 记录
  • Cookie、Session、Local Storage和Session Storage区别
  • 低代码平台有什么特殊优势
  • 小架构step系列21:参数和返回值的匹配
  • 昇腾310P软件安装说明
  • java和ptyhon对比
  • 网络编程 示例
  • A316-HF-DAC-V1:专业USB HiFi音频解码器评估板技术解析
  • Linux 文件操作详解:结构、系统调用、权限与实践
  • C语言-字符串数组
  • DL00691-基于深度学习的轴承表面缺陷目标检测含源码python
  • 【STM32】485接口原理
  • Jmeter如何做接口测试?
  • soft_err错误
  • 【C语言进阶】结构体练习:通讯录
  • OCR 赋能发票管理系统:守护医疗票据合规,让管理更智能
  • Milvus:开源向量数据库的初识