OSI七层模型和HTTP会话流程

发布于:2025-07-29 ⋅ 阅读:(18) ⋅ 点赞:(0)
主机B
主机A
APDU
PPDU
SPDU
分段·TPDU
路由·数据包
MAC帧
比特流
解帧
解包
重组段
会话维持
解密
物理介质传输
对等层协议
表示层协议
会话层协议
数据链路层
物理层
网络层
传输层
会话层
表示层
应用层
表示层 - 加密/压缩
应用层 - HTTP/FTP/SMTP
会话层 - 建立会话通道
传输层 - TCP/UDP
网络层 - IP/ICMP
数据链路层 - Ethernet
物理层 - 比特流

OSI七层模型深度解析

1. 物理层
  • 功能:比特流传输(0/1电信号)
  • 协议示例:RS-232、光纤IEEE 802.3
  • 关键操作
调制
传输介质
解调
数字信号
模拟信号
接收端
2. 数据链路层
  • 核心任务:MAC地址寻址(源MAC→目标MAC)

  • 帧结构

    | 帧头 | MAC目标 | MAC源 | 类型 | 数据 | CRC校验 |
    
  • 错误控制:CRC校验、ARQ重传

3. 网络层
  • 核心协议:IP(IPv4/IPv6)、ICMP

  • 路由表示例

    目标网络 子网掩码 下一跳 接口
    192.168.1.0 255.255.255.0 192.168.0.1 eth0
4. 传输层
  • TCP vs UDP对比:

    特性 TCP UDP
    连接性 面向连接 无连接
    可靠性 重传/确认 尽力交付
    头部大小 20字节 8字节
    适用场景 文件传输 实时视频
5. 会话层
  • 会话控制:

    # 伪代码示例
    if 建立会话():
        分配会话ID()
        同步通信状态()
    elif 超时无响应():
        释放会话资源()
    
6. 表示层
  • 数据处理流程:

    原始数据 → 加密(AES) → 压缩(ZIP) → 编码(Base64)
    
7. 应用层
  • 协议与端口映射:

    协议 端口 功能
    HTTP 80 网页浏览
    FTP 21 文件传输
    SMTP 25 邮件发送

HTTP会话在OSI中的完整生命周期

主机A 主机B 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 1. 建立连接 (TCP三次握手) SYN (Seq=x) SYN+ACK (Seq=y, Ack=x+1) ACK (Ack=y+1) 2. 发送请求 (OSI封装过程) HTTP GET /index.html 生成HTTP头 压缩文本 绑定会话ID=123 分割为TCP段 添加目标IP 封装MAC帧 转换为比特流 loop [封装流程] 3. 返回响应 (OSI解封装) HTTP/1.1 200 OK 接收比特流 校验MAC地址 解析IP路由 重组TCP段 验证会话ID=123 解压数据 loop [解封装流程] 4. 关闭连接 (TCP四次挥手) FIN (Seq=z) ACK (Ack=z+1) FIN (Seq=w) ACK (Ack=w+1) 主机A 主机B 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层

图示细节还原

  1. 对等层通信(图中虚线箭头)

    • 应用层↔应用层:HTTP协议直接对话
    • 物理层↔物理层:通过网线/光纤传输比特流
  2. 层间接口(图中实线箭头)

    • 相邻层通过SAP(服务访问点)交互
    • 示例:传输层通过端口号访问应用层
  3. PDU(协议数据单元)变化

    层级 PDU名称 封装变化
    应用层 APDU 原始数据
    传输层 添加TCP头
    网络层 添加IP头
    数据链路层 添加MAC头尾

现代网络实际实现

OSI映射
TCP/IP四层模型
HTTP/FTP
TCP/UDP
IP
OSI7
OSI6
OSI5
OSI4
OSI3
OSI2
OSI1
传输层
应用层
网际层
网络接口层

注:实际中会话层/表示层功能多由TLS/SSL在应用层实现


网站公告

今日签到

点亮在社区的每一天
去签到