我们为什么需要七层 OSI 网络模型?

实现不同网络之间的数据传输 。它进一步将网段或数据报分解成更小的数据包,并使用 IP 地址找到通往最终目的地的最佳路由 。这一过程被称为路由选择 。我们为什么需要网络协议来传输数据?
连接互联网的各种设备需要用它们能理解的语言进行通信 。各种计算机系统使用 OSI(Open Systems Interconnectio)模型规定的标准相互通信 。
OSI 模型有七个抽象层 , 每个层都有不同的职责和协议 。
下图显示了 OSI 模型中每一层的功能 。每个中间层都为其上层提供功能,并由其下层提供服务 。

我们为什么需要七层 OSI 网络模型?

文章插图
图片
01 应用层应用层最接近终端用户 。大多数应用程序都位于这一层 。我们从后端服务器请求数据 , 无需了解数据传输的具体细节 。这一层的协议包括 HTTP、SMTP、FTP、DNS 等 。
02 表现层这一层处理数据编码、加密和压缩,为应用层准备数据 。例如,HTTPS 利用 TLS 实现客户端与服务器之间的安全通信 。
03 会话层该层用于打开和关闭两个设备之间的通信 。如果数据量较大,会话层就会设置检查点 , 避免从头开始重新发送 。
04 传输层【我们为什么需要七层 OSI 网络模型?】该层处理两个设备之间的端到端通信 。它在发送方将数据分解成段 , 然后在接收方重新组装 。这一层有流量控制,以防止拥塞 。这一层的主要协议是 TCP 和 UDP 。
05 网络层这一层实现不同网络之间的数据传输 。它进一步将网段或数据报分解成更小的数据包,并使用 IP 地址找到通往最终目的地的最佳路由 。这一过程被称为路由选择 。
06 数据链路层这一层允许在同一网络的设备之间传输数据 。数据包被分解成?。?这些帧被限制在局域网内 。
07 物理层这一层通过电缆和交换机发送比特流 , 因此与设备之间的物理连接密切相关 。
既然我们已经了解了每一层的职责,那就让我们来总结一下图中的数据传输过程 。这就是所谓的封装(encapsulation)和解封装(decapsulation) 。
封装是指在数据向目的地传输的过程中为数据添加报头(header) 。解封装会移除这些报头,以获取原始数据 。
  • 步骤 1:当设备 A 使用 HTTP 通过网络向设备 B 发送数据时,最初会在应用层添加一个 HTTP 报头 。
  • 步骤 2:在数据中添加 TCP 或 UDP 报头 。它在传输层被封装成 TCP segments 。报头包含源端口、目的端口和序列号 。
  • 步骤 3:在网络层用 IP 报头对这些段落进行封装 。IP 报头包含源 IP 地址和目的 IP 地址 。
  • 步骤 4:在数据链路层为 IP 数据报添加 mac 报头 , 其中包含源 MAC 地址和目的 MAC 地址 。
  • 第 5 步:封装帧被发送到物理层,并作为比特流在网络上发送 。
  • 步骤 6-10:设备 B 从网络接收到比特流后,会启动解封装过程,这与封装过程相反 。报头逐层去除,直到设备 B 可以访问原始数据 。
请注意,每一层都使用报头来处理指令 , 而不需要解封上一层的数据 。
TCP/IP 模型与理论上的 OSI 模型相比,TCP/IP 模型提供了一个更实用的框架 。它包含四个关键层:
  • 应用层 支持 HTTP、SMTP 等最终用户进程
  • 传输层 处理主机到主机的通信(TCP、UDP)
  • 网络层 寻址和路由数据包(IP 协议)
  • 链路层 通过网络的物理电线、电缆或无线信道移动比特
这一模型更贴近现实世界的互联网通信,将七个 OSI 层压缩为这四个关键层 。




    推荐阅读