OSI参考模型

❓ 这是什么?

OSI参考模型

1. 设计起源

  • 灵感来源:研究人员在酒吧讨论《白雪公主》时,受七个小矮人启发提出七层模型。
  • 现实应用:互联网广泛使用TCP IP模型(原四层→实践后优化为五层)。

2. OSI模型核心价值

  • 目的:解决异构设备互联问题(如华为与苹果电脑通信)。

3. 各层详解

(1)应用层(Application Layer)
  • 功能:定义应用程序间交互规则(如浏览器与网站通信)。
  • 协议:HTTP、HTTPS、FTP、DNS等。
  • 数据单元:报文(Message)。
  • 关键点:
    • 不直接涉及物理连接,关注逻辑交互。
    • 开发者基于协议(如HTTP)编写应用程序。
(2)表示层(Presentation Layer)
  • 功能:
    • 数据转换:编码/解码(如ASCII→二进制)、加密/解密(HTTPS)。
    • 数据压缩:减少传输体积。
  • 数据单元:与应用层统称上层数据。
(3)会话层(Session Layer)
  • 功能:
    • 会话管理:保持登录状态(如网站免重复登录)。
    • 同步控制:断点续传(如视频播放进度同步)。
  • 场景:断电后恢复会话时定位历史状态。
(4)传输层(Transport Layer)
  • 功能:
    • 端到端通信:进程到进程的数据传输(通过端口号定位服务)。
    • 可靠性控制:TCP(可靠传输,流量/错误控制) vs UDP(不可靠但高效)。
    • 数据分段:将字节流拆分为段(Segment)。
  • 协议:TCP、UDP、QUIC(新一代协议)。
(5)网络层(Network Layer)
  • 功能:
    • 逻辑寻址:通过IP地址实现跨网络通信。
    • 路由选择:路由器根据IP地址转发包(Packet)。
  • 核心设备:路由器。
  • 问题解决:MAC地址无法跨网络定位(类似“知道名字但不知住址”)。
  • 功能:
    • 物理寻址:通过MAC地址实现设备间一跳传输。
    • 帧封装:将比特流封装为帧(Frame),添加源/目标MAC地址。
    • 差错控制:检测/纠正传输错误(如 0→1 翻转)。
    • 流量控制:协调收发速度差异。
  • 核心设备:二层交换机(记录MAC地址表)。
7)物理层(Physical Layer)
  • 功能:
    • 比特流传输:通过电信号、光信号等媒介传输 0/1。
    • 设备互联:定义接口标准(如网线、光纤规格)。
  • 核心设备:中继器、集线器(信号放大与广播)。

4. 数据传输流程(以访问网站为例)

  1. 应用层:浏览器生成HTTP请求报文。
  2. 传输层:添加端口号封装为段(如目标端口 80)。
  3. 网络层:添加IP地址封装为包(目标IP为网站服务器)。
  4. 数据链路层:添加MAC地址封装为帧(通过ARP协议获取网关MAC)。
  5. 物理层:转换为比特流经网卡发送。
  6. 路由过程:
    • 默认网关解封装帧→根据IP路由表转发包。
    • 目标网络通过ARP找到目标主机MAC,封装帧后传输。
  7. 接收端:
    • 逐层解封装,通过端口号将数据交给指定应用。

5. 数据单元与地址类型总结

层级数据单元地址类型传输范围
应用层/表示层/会话层报文无端到端(逻辑)
传输层段(Segment)端口号进程到进程
网络层包(Packet)IP地址端到端(跨网络)
数据链路层帧(Frame)MAC地址跳对跳(同一网络)
物理层比特(Bit)无物理介质传输

7. 核心概念对比

  • OSI vs TCP/IP:
    • OSI理论完备但复杂,TCP/IP更实用。
    • TCP/IP五层模型:应用层、传输层、网络层、数据链路层、物理层。
  • MAC vs IP地址:
    • MAC:物理标识,用于同一网络内设备定位。
    • IP:逻辑标识,用于跨网络端到端寻址。

💭 对我的影响?

📖 参考文献