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

【OSI网络七层模型】整体框架

请求方向:浏览器 → 淘宝服务器

【第 7 层:应用层】

动作:浏览器构造登录请求数据。

浏览器把你输入的{username: "alice", password: "123"}组织成 HTTP 请求报文:

POST /login HTTP/1.1 Host: www.taobao.com Content-Type: application/json Content-Length: 38 {"username":"alice","password":"123"}

产出:HTTP 请求报文(字符串格式)

存在哪:浏览器内存中

交给谁:表示层(第 6 层)

【第 6 层:表示层】

动作:对 HTTP 报文进行加密和压缩。

浏览器将 HTTP 明文报文交给 TLS 加密模块,使用 TLS 协议将整个 HTTP 报文加密成密文

可能还涉及压缩(如启用 HTTP/2 的头部压缩)

产出:加密后的 TLS 密文数据

存在哪:浏览器内存中(已加密)

交给谁:会话层(第 5 层)

【第 5 层:会话层】

动作:建立会话标识,管理本次通信会话。

浏览器检查是否有历史会话状态(如果有 Cookie 则带上;第一次访问则新建一个空会话)

浏览器为本次请求分配一个会话标识符(在浏览器端体现为空的 Cookie 容器,后续服务端会返回 Session ID)

浏览器记录本次会话的状态(如“正在登录”)

产出:带有会话状态标记的加密数据(会话层不修改数据本身,只维护上下文)

存在哪:浏览器内存 + Cookie 存储

交给谁:传输层(第 4 层)

【第 4 层:传输层】

动作:将数据分段,加上 TCP 头,建立可靠传输通道。

浏览器将加密后的数据切割成适合网络传输的TCP 段

加上TCP 头(源端口、目标端口 443、序列号、确认号、校验和等)

执行三次握手建立连接(如果尚未建立)

产出:TCP 段(包含 TCP 头 + TLS 密文数据)

存在哪:操作系统内核的 Socket 发送缓冲区

交给谁:网络层(第 3 层)

【第 3 层:网络层】

动作:加上 IP 头,进行路由寻址。

操作系统将 TCP 段封装成IP 数据报

加上IP 头(源 IP = 你的 IP,目标 IP = 淘宝服务器 IP)

查路由表,确定下一跳网关

产出:IP 数据报(包含 IP 头 + TCP 段)

存在哪:内核 IP 层发送队列

交给谁:数据链路层(第 2 层)

【第 2 层:数据链路层】

动作:加上 MAC 头,封装成帧,准备在局域网内传输。

操作系统将 IP 数据报封装成数据帧(Frame)

加上帧头(目标 MAC = 网关 MAC,源 MAC = 本机网卡 MAC)

加上帧尾(FCS 校验值)

产出:数据帧

存在哪:网卡发送队列

交给谁:物理层(第 1 层)

【第 1 层:物理层】

动作:将帧转换成物理信号,发出去。

网卡将数据帧中的 0/1 转换成电信号(网线)或无线电波(WiFi)

产出:物理信号

存在哪:网线 / WiFi 信号中

交给谁:网络中的下一个设备(路由器/交换机)


响应方向:淘宝服务器 → 浏览器

【第 1 层:物理层】

动作:淘宝服务器将响应数据以物理信号发回,你的网卡接收信号。

你的网卡收到电信号/WiFi 信号

产出:还原后的原始比特流(0/1)

存在哪:网卡硬件缓存区

交给谁:数据链路层(第 2 层)

【第 2 层:数据链路层】

动作:解析帧,检查目标 MAC 是否是自己。

网卡驱动程序将接收到的比特流组装成数据帧

检查帧头中的目标 MAC 地址是否等于本机网卡 MAC

  • 是 → 收下

  • 否 → 丢弃

用帧尾 FCS 校验数据完整性

校验通过后,去掉帧头和帧尾,取出 IP 数据报

产出:IP 数据报

存在哪:内核接收缓冲区

交给谁:网络层(第 3 层)


【第 3 层:网络层】

动作:解析 IP 数据报,检查目标 IP 是否是自己。

操作系统解析IP 头,提取目标 IP 地址

检查目标 IP 是否等于本机 IP

  • 是 → 收下

  • 否 → 查路由表转发

去掉 IP 头,取出 TCP 段

产出:TCP 段

存在哪:内核 IP 层接收队列

交给谁:传输层(第 4 层)


【第 4 层:传输层】

动作:解析 TCP 头,检查端口号,确认数据完整性。

操作系统解析TCP 头,提取目标端口号(443)

检查端口号对应的是哪个应用程序(浏览器)

进行校验和检查、序列号检查、重排序、去重

去掉 TCP 头,取出 TLS 加密数据

发送 ACK 确认已收到

产出:TLS 加密数据

存在哪:内核 Socket 接收缓冲区

交给谁:会话层(第 5 层)


【第 5 层:会话层】

动作:识别会话,记录会话状态。

操作系统/浏览器从内核缓冲区读取 TLS 加密数据

检查本次请求对应的会话上下文(如Session ID

  • 第一次请求:创建新的空上下文

  • 后续请求:根据 HTTP 请求头中的Cookie提取Session ID,恢复会话状态

注意:登录成功前,会话处于“未认证”状态,此时浏览器会在本地维护一个空的 Cookie 容器

产出:TLS 加密数据 + 会话上下文(浏览器记录该请求属于哪个会话)

存在哪:用户空间内存 + 浏览器 Cookie 存储(空容器等待填充)

交给谁:表示层(第 6 层)


【第 6 层:表示层】

动作:解压缩、解密 TLS 数据。

浏览器进行TLS 解密,将密文还原成明文

解压缩(如有)

产出:明文 HTTP 报文

存在哪:用户空间内存

交给谁:应用层(第 7 层)


【第 7 层:应用层】

动作:解析 HTTP 报文,执行业务逻辑,生成响应。

浏览器解析 HTTP 响应报文:

HTTP/1.1 200 OK Set-Cookie: session_id=xxxxx Content-Type: application/json {"code": 0, "msg": "登录成功", "username": "alice"}

浏览器识别到Set-Cookie: session_id=xxxxx将 Session ID 保存到本地 Cookie 存储中

浏览器解析 JSON 响应体,显示“登录成功”

此时会话层维护的会话状态得到填充:浏览器本地 Cookie 中有了session_id=xxxxx

http://www.cnnetsun.cn/news/4086443.html

相关文章:

  • 企业微信拉人进群API怎么调用?客户群邀请成员教程
  • 鸿蒙掌上驾考宝典应用开发49:鸿蒙推送服务——PushUtils 与通知管理
  • 常用git指令
  • VBrowser-Android多线程下载原理:分片下载与文件合并的完整实现
  • CKAN模组管理终极指南:3步告别KSP手动装MOD的噩梦
  • ComfyUI 完整入门指南:从零打造可视化 AI 图像视频生成工作流
  • 游戏黑屏、显卡花屏查不出原因?5分钟一次显存检测就真相大白
  • 收藏!AI大模型人才抢手,小白也能抓住高薪机遇,小白必看!
  • 手写Zeal 8-bit OS设备驱动:从0到1实现键盘与串口驱动的完整教程
  • VBrowser-Android架构剖析:DownloadManager任务调度与前台下载服务
  • memtest_vulkan显存稳定性测试上手教程:5分钟揪出显卡“暗病“
  • WarcraftHelper:魔兽争霸3终极优化工具,三步免费解锁宽屏、高帧率与大地图
  • Esp-radio 硬件接线完全教程:ESP8266、VS1053 与 TFT 显示屏的详细接线图解析
  • Linux 网络接口命名规则
  • auto-value-parcel是什么?Android开发者告别手写Parcelable的终极利器
  • 三个平台一套手感:跨平台文本编辑器 Notepad-- 从安装到上手的实战笔记
  • 网页视频只能看不能存?N_m3u8DL-RE让流媒体下载一学就会
  • Esp-radio 硬件清单终极指南:DIY 网络收音机必需的 8 类元件选购建议
  • 代码评审看性能数据,先确认测试测到了什么
  • JoliCi 服务管理实战:一键启动 MySQL、Redis 等 10 种测试依赖服务
  • 百度ERNIE-Image本地部署指南:如何在ComfyUI中十几分钟跑通文生图模型
  • 一致性协议实现升级前的兼容性检查
  • 为什么选择 awesome-deepseek-agent?DeepSeek V4 接入的 10 大优势
  • Glance项目深度解读:macOS上最全能的Quick Look插件为何值得每个开发者安装
  • 参与Zeal 8-bit OS开源贡献:路线图、贡献规范与提PR完整指南
  • 探秘 babel-plugin-istanbul 源码:Babel 插件如何在编译期完成代码插桩
  • Parabolic视频下载工具完整上手指南:一个界面搞定200+网站的视频与音频下载
  • r3f-game-demo移动系统揭秘:Moveable组件如何实现基于瓦片的平滑移动与碰撞检测
  • terraform-provider-snowflake 用户与角色管理指南:构建企业级访问控制体系的 8 个步骤
  • 视频生成显存占用高怎么解决?LightVAE 与 LightTAE 让速度、画质、显存兼得