OSI 七层网络模型主要是作为一个参考的模型,主要分为以下七层:

image.png

OSI 模型的目的:为了解决主机之间的网络通讯。

物理层

我们要发送的数据在计算机之间是以二进制传输的。物理层的作用就是把这些比特用不同的媒介传输出去。

可以用电、光或者电磁波传输信号。

物理层考虑的是怎样才能在链接各种计算机的传输媒体上传输数据比特流。

数据链路层

数据要渠道哪里是需要定向的,不可能一条线直接走到底,而是会经过一个复杂的网络拓扑结构。

于是此时数据链路层发挥作用,在数据链路层这里,比特会被封装成帧。帧内会包含发送方和接收方的 MAC 地址,以及一个数据校验码,避免传输的过程中出现差错。

二层的网络设备是交换机,交换机接收到帧后,如果知道接收端的 MAC 地址,就可以直接把数据包发送过去了。

网络层

如果仅仅使用 MAC 地址的话很难确定网络传输的方向。因为 MAC 地址往往是和网卡和接口绑定的,不能随意改变,可以把 MAC 地址看作是一个名字是一个局域网内的唯一标识。但是只有名字的话很难跨网络找到具体的位置。因此我们可以引入 IP 地址来进行寻址和路由选择。

IP 地址是实现端到端通信的基础,而不是像 MAC 地址一样实现跳到跳传输。

三层的网络设备是路由器。

传输层

有了 MAC 地址和 IP 地址我们基本可以完成互联网上从一台主机到另一台主机上传输数据。

但是但是我们无法确定具体将数据传输到对方主机上的哪个应用程序。

所以传输层在网络层的端到端传输的基础上又实现了服务进程到服务进程之间的传输。常见的传输层协议有 TCP 和 UDP。

会话层