计算机网络入门:OSI 五层模型、各层协议和数据单位

引言

学习计算机网络时,最容易出现的问题不是记不住名词,而是记不住每一层到底在解决什么问题。把这件事想清楚,后面的 ARP、IP、TCP、HTTP 才能真正串起来。

通常我们会用五层模型来理解网络通信:

  1. 物理层
  2. 数据链路层
  3. 网络层
  4. 传输层
  5. 应用层

这五层不是互相割裂的,而是一层层向上提供能力。上层不需要关心下层的实现细节,只需要使用下层提供的服务。

OSI 五层网络模型

物理层

物理层负责在真实的物理介质上传输原始比特流,比如网线、光纤、无线电波。

它主要关心这些问题:

  • 用什么介质传输
  • 信号怎么表示 0 和 1
  • 传输速率是多少
  • 编码和调制方式是什么

简单理解,物理层只负责"把比特送出去",至于这些比特代表什么,它并不关心。

数据链路层

数据链路层负责在相邻节点之间传输数据,并把上层交下来的数据组织成"帧"。

它主要解决这些问题:

  • 设备之间如何标识彼此
  • 数据一帧一帧怎么切分
  • 传输错误怎么发现
  • 相邻设备之间怎么可靠地传

这一层里最常见的概念就是 MAC 地址。MAC 地址可以理解为网卡的硬件地址,在局域网内定位设备非常重要。

网络层

网络层负责跨网络传输数据,让数据从源主机到达目标主机。

它关心的核心问题包括:

  • 逻辑地址,也就是 IP 地址
  • 路由选择
  • 跨网段转发

如果说数据链路层解决的是"同一段链路里发给谁",那网络层解决的就是"跨多个网络,最终发到哪台机器"。

传输层

传输层负责为应用程序提供端到端的数据传输服务。

最常见的协议有:

  • TCP
  • UDP

TCP 关注可靠传输、顺序、重传、流量控制和拥塞控制;UDP 更轻量,没有连接建立和复杂确认流程,更适合对实时性要求高的场景。

应用层

应用层直接服务于应用程序,负责不同程序之间的通信规则。

常见协议包括:

  • HTTP
  • HTTPS
  • DNS
  • FTP
  • SMTP

浏览器访问网页、客户端调用接口、域名解析,这些都发生在应用层。

各层协议数据名称

不同层处理的数据,名字也不同:

  • 物理层:比特流(Bit)
  • 数据链路层:帧(Frame)
  • 网络层:包(Packet)
  • 传输层:段(Segment,UDP 常也称 Datagram)
  • 应用层:消息或数据(Data)

这也是面试里非常高频的基础题。

一次请求是如何一层层封装下去的

假设浏览器要发一个 HTTP 请求,大致过程如下:

  1. 应用层先构造 HTTP 请求报文。
  2. 传输层给它加上 TCP 头部,形成 TCP 报文段。
  3. 网络层再加上 IP 头部,形成 IP 包。
  4. 数据链路层继续加上帧头帧尾,形成数据帧。
  5. 物理层把这些数据转换成电信号、光信号或无线信号发出去。

接收方收到后,再按相反顺序逐层拆封装。

所以网络通信本质上就是:

"发送端逐层封装,接收端逐层解封装"。

CRC 校验是什么

CRC 的全称是循环冗余校验,是一种常见的检错方式。

它的基本思路是:

  1. 发送方根据数据内容通过特定算法计算出一个校验值。
  2. 把这个校验值附加到数据后面一起发送。
  3. 接收方收到后,用同样算法重新计算一次。
  4. 如果结果一致,说明数据大概率没有出错;如果不一致,说明传输过程中可能发生了错误。

CRC 的重点是"发现错误",而不是"纠正错误"。它广泛出现在数据链路层和存储系统中。

如何理解这五层的分工

可以用一句话把五层模型串起来:

  • 物理层负责传比特
  • 数据链路层负责相邻设备之间传帧
  • 网络层负责跨网络传包
  • 传输层负责进程之间传数据
  • 应用层负责具体业务协议

真正学网络时,不要只背定义。更重要的是能回答下面三个问题:

  1. 这一层在解决什么问题
  2. 这一层最核心的标识是什么
  3. 这一层典型协议有哪些

只要这三个问题能答清,网络分层就不是死记硬背,而是清晰的工程分工。

总结

五层模型是整个计算机网络的地图。后面学习 ARP、IP、TCP、HTTP 时,看起来像是分散的知识点,其实都在这张地图上有明确位置。

建议后续继续按这个顺序学习:

  1. IP、子网、MAC、ARP
  2. Ping 与路由转发
  3. TCP 三次握手和四次挥手
  4. HTTP 与 HTTPS

只要顺着这个脉络走,网络知识会越学越顺。


如果这篇文章对你有帮助,欢迎继续阅读本系列后续内容。若文中有不准确或需要补充的地方,也欢迎指出。

相关推荐
551只玄猫4 小时前
【计算机网络 实验报告1】Wireshark软件的使用
计算机网络·测试工具·wireshark·课程设计·实验报告
aaa最北边6 小时前
计算机网络之TCP和UDP的底层机制
tcp/ip·计算机网络·udp
zjeweler1 天前
“网安+护网”终极300多问题面试笔记-2共3-计算机网络相关 - 好淘云
笔记·计算机网络·web安全·面试·职场和发展·护网行动·护网面试
wefg11 天前
【计算机网络】应用层协议(序列化与反序列化/HTTP/HTTPS)
服务器·网络·计算机网络
aaa最北边1 天前
计算机网络-断开连接的四次挥手底层细节
java·网络·计算机网络
aaa最北边2 天前
计算机网络传输层-TCP三次握手底层详情
网络·tcp/ip·计算机网络
头疼的程序员2 天前
计算机网络:自顶向下方法(第七版)第九章 学习分享(二)
学习·计算机网络
锅挤2 天前
计算机网络复习(第一章):计算机网络体系结构
计算机网络
头疼的程序员2 天前
计算机网络:自顶向下方法(第七版)第九章 学习分享(三)
学习·计算机网络