网络编程-OSI模型

阿帅啊,长点心吧 / 2025-02-21 / 原文

OSI模型

OSI是open system interconnection的缩写,译为“开放式系统互联”。

OSI模型把网络通信的工作分为7层,从下到上分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。

OSI七层网路模型和TCP/IP四层网络模型的对比。

网络模型:就是进行数据封装的。

当另一台计算机接收到数据包时,会从网络接口层再一层一层往上传输,每传输一层就拆开一层包装,直到最后的应用层,就得到了最原始的数据,这才是程序要使用的数据。

在互联网上传输一份数据是多么地复杂,而我们却感受不到,这就是网络模型的厉害之处。我们只需要在代码中调用一个函数,就能让下面的所有网络层为我们工作。

两台计算机进行通信时,必须最遵守以下原则:

  • 必须是同一层进行通信,比如,A计算机的应用层和B计算机的传输层就不能通信,因为他们不再一个层次,数据的拆包会遇到问题。

  • 每一层的功能都必须相同,也就是拥有完全相同的网络模型。如果网络模型都不同,那不就乱套了。

  • 数据只能逐层传输,不能跃层。

  • 每一层可以使用下层提供的服务,并向上层提供服务。