还记得 OSI、TCP/IP 网络参考模型吗?

79 阅读5分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 18天,点击查看活动详情

分层的缘由

计算机网络硬件层面只要有主机、链路和交换设备其实就可以让两个用户在硬件上建立连接,实现数据交换。这些顺利交换信息的背后,其实是因为通信的双方都遵循着相同的协议。试想下计算机网络这么一个复杂的系统,肯定不可能只有一个或少数几个协议就能约定网络通信过程中所要遵循的所有规则的,所以,在指定网络协议的时候采用了将复杂的网络通信功能划分为若干协议去完成,然后再将这些协议组装起来完成通信层面的所有功能。最典型的划分方式是按分层的方式来划分的。上一层的协议依托于下一层的协议,且每一层内都要遵循一定的通信原则(协议)。早期由于许多电脑厂商都先后开发了自己的计算机网络系统,例如:IBM开发了系统网络体系结构(System Network Architecture,SNA);数字设备公司也发展了自己的网络体系结构(Digital Network Architecture,DNA)。从而导致了不同厂家间的通信障碍,故制定一个统一的网络体系结构标准变的什么重要。典型的层次化结构为OSI参考模型和TCP/IP参考模型

Tips

计算机网络体系结构:是计算机网络划分的层次以及各层协议所组成的集合

OSI网络参考模型

OSI网络模型是由国际标准化组织ISO参考IBM的SNA和一些其他计算机厂商制定的体系结构后提出了开放系统互联(open system interconnection)参考模型。按照这个标准构建的计算机网络中的设备都可以进行相互通信。 OSI参考模型分为7层,结构如下最高层是7应用层,最底层是1物理层:

image.png

  • 应用层:可以理解为是为用户提供服务的层级,例如:文件传递、邮件等应用。
  • 表示层:主要用于处理实体间数据交换的格式问题,从而为用户提供一个规整的数据格式,使不同设备之间即使符号、格式存在差异也能正常通信。
  • 会话层:是指用户和用户之间的连接,通过在两台计算机间建立连接、管理和终止通信来完成对话。可以简单理解为你和你的好友都在使用QQ互相聊天的感觉。
  • 传输层:是一个端到端的层次,实际是两个主机进程之间的通信。因此传输层需要具备:复用/分解、可靠传输、连接控制、流量控制、拥塞控制等能力。
  • 网络层:主要解决分组数据如何通过交换网络传至目的地,网络层的功能主要就是数据的转发和路由,所以网络层具备对进入交换网络的通信量的控制权和网络寻址能力。
  • 数据链路层:主要实现网络中相邻结点间的可靠数据传输。该层提供了“成帧”功能,即为了有效的控制差错,该层提供了一种以“帧”为单位的数据库传输方式。通过在数据后加上一定位数的循环码,就可以实现数据链路层的差错控制功能。
  • 物理层:主要就是在传输介质上实现无机构比特率传输,说的通俗点就是不关心比特流实际表达的含义,只管将比特数据以合适的信号传输到目的地。

TCP/IP网络参考模型

实际的网络中几乎没有严格按照OSI标准来执行,OSI参考模型更多的意义是作为一种构建计算机网络的理论体系。下图左侧则是对应的TCP/IP网络模型,总体简化为四个层级。 image.png

  • 应用层:参考了OSI网络模型,并把应用层、表示层、会话层都整合到了应用层来实现,在网上常见的一些应用,用户通过应用层来使用Internet提供的各种服务,例如:文件传输(应用层协议是FTP)、电子邮件(应用层协议是SMTP和POP3)等。
  • 传输层:应用层按照特定协议将用户封装好后交给传输层,传输层负责将数据传输到目的地对等的应用层程序。
  • 网络互连层:本层可以是说是TCP/IP模型中最为核心的一层,主要解决上层数据分组转发数据的问题(路由选择、网络层寻址)。本层的核心协议是IP(无连接不可靠网络协议),负责定义分组的格式和传输。目的地接收的分组数据可能存在顺序、丢失等问题。
  • 网络接口层:可以理解为包含了七层模型中数据链路层和物理层,主要是为上层网络互连层提供访问接口,协助上层传递IP分组。网络层IP分组被封装到底层网络的链路层数据帧中,最终以比特流的形式在物理介质上进行传输。

五层参考模型

借鉴于 OSI 7层模型和 TCP/IP 4层模型,衍生出最接近实际网络的五层参考模型。分别是:应用层、传输层、网络层、数据链路层、物理层。

image.png

基于五层参考模型的整个网络通信过程是用户的数据在应用层以报文的形式开始向下层进行封装,形成传输层的、再向下封装成网络层的数据报、然后封装成链路层的,最后以比特流形式在物理层进行传输。