logo
Foundations

OSI Model

OSI 七层模型与作用

OSI Model 是一个逻辑/概念模型,用来定义 network communication。Open System Interconnection (OSI Model) 描述了计算机 packet 传输时各层协议的分工与边界。

可以把 OSI Model 看成 computer networking 的“通用语言”。它把一个复杂的通信系统拆成 7 层,每一层叠在上一层之上。

Why does the OSI model matter?

OSI model 定义了网络讨论里的通用术语,帮助我们把复杂通信过程拆开分析各组件的作用。

虽然现代网络主要基于 TCP/IP 而不是严格 OSI 分层,但 OSI 依然能帮助我们:

  • 更容易 troubleshooting,定位整个 stack 上的问题与威胁
  • 让不同厂商的 networking 产品更容易互通
  • 帮助形成 security-first 的思维方式
  • 把复杂功能拆成更小的组件

Layers

OSI 的 7 层从上到下如下:

osi-model

Application

这是唯一直接和用户数据交互的层。像 browser、email client 这类软件依赖 Application layer 来发起通信。注意:client app 本身不属于 Application layer,应用层关注的是协议和数据处理。常见协议有 HTTP、SMTP 等。

Presentation

Presentation layer 也叫 Translation layer。它负责把 application layer 的数据转换成可在网络上传输的格式,常见职责包括 translation、encryption/decryption、compression。

Session

Session layer 负责建立/关闭两端通信。通信开启到关闭之间就是一个 session。该层保证 session 足够长以完成数据传输,结束后及时关闭以避免浪费资源,同时还会做 checkpoint 的同步。

Transport

Transport layer(Layer 4)负责端到端通信:把 session layer 的数据拆成 segments,交给 Network layer(Layer 3),并在接收端把 segments 重新组装给 session layer 使用。

Network

Network layer 负责不同 networks 之间的数据传输。它把 transport layer 的 segments 拆成 packets,并在接收端重组,同时负责 routing(寻找最佳路径)。若两端在同一 network,network layer 的作用会相对弱化。

Data link layer 和 network layer 类似,但它负责同一 network 内设备间传输。它接收 packets 并拆成 frames。

Physical

Physical layer 包含传输所需的硬件(cables、switches 等),并把数据转成 bit stream(0/1)。两端必须遵循相同的信号规范,才能区分 1 和 0。

相关练习题

OSI Model

暂无相关练习题