还有谁不知道OSI模型,还不快进来看!

373 阅读6分钟

前言

为什么出现了OSI模型?为什么前端人要知道OSI模型呢?OSI模型有什么用?

开篇三连,问的我头皮发麻...让我们一起来详细的了解下OSI模型吧!

OSI模型

OSI模型又叫开放式系统互联通信参考模型,是由ISO(国际标准化组织)制定的,他现世的目的最主要的是为了统一标准,这样各大厂商都按照统一的标准来建立网络,更利于软件开发和维护。

OSI七层协议

OSI将计算机网络体系结构分为以下七层(从上到下):

  • 应用层
  • 表示层
  • 会话层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层

OSI与TCP_IP模型 (3).jpg

详细说说!

OSI模型 (1).jpg

物理层

物理层的传输单位是比特,功能是在物理媒体上为数据端设备透明地传输原始比特流。

物理层主要定义数据终端设备和数据通信设备的物理与逻辑连接方法,所以物理层协议也成物理层接口标准。

  • 通信链路与通信结点的连接需要一些电路接口,物理层规定了这些接口的参数,如电脑上的网线接口,就是物理层规定的内容之一。

  • 物理层也规定了通信链路上传输的信号的意义和电器特征。比如规定信号A为0,当节点要传输信号0,就发出信号A,当结点接收到信号A,就知道自己接收的是0,就是定义常量。

注意: 传输信息所用的一些物理媒体,如光缆、网线,并不在物理层之内,而在物理层下面,有人把他们称为”实体层

数据链路层

数据链路层的传输单位是帧,将网络层传来的IP数据报组装成帧(把原始比特流数据变为逻辑传输电路)。功能可以概括为成帧、差错控制、流量控制和传输管理等。

  • 差错控制

由于外界噪声的干扰,原始的物理连接在传出比特流时发生错误,比如传输的信号A变成了信号B,接收的结点以为传的是B,如果两个结点规定了数据链路层协议,就可以检测输出差错,然后把收到的错误信息丢弃。

  • 流量控制

两个相邻结点的性能不同,可能出现发送结点的传送速度大于接收结点的传输速度,如果不加以控制,接收结点会丢弃来不及接收的数据,造成传输线路效率下降。通过流量控制来协调两个结点的速率,就可以有效的解决问题。

网络层

网络层的传输单位是数据报,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为不同主机提供通信服务。通过进行路由选择,实现流量控制、拥塞控制、差错控制和网际互联等功能

我们知道因特网是由成千上万个结点织成的一张大网,他们互相连接,网络层的作用就是根据网络的情况,利用相应的路由算法计算出一条合适的路径,使分组能顺利到达目的地。

  • 差错控制

差错控制是通信两结点之间约定的特定检错规则,接收方根据这个规则检查是否出现差错,若出现差错,那么能纠错就纠错,不能就丢弃,确保向上层提交的数据是无误的。

  • 流量控制

    和数据链路层的流量控制一样,都是协调发送结点和接收结点的传输效率

  • 拥塞控制

    结点都处于来不及接收分组而要丢弃大量分组的情况,网络就处于拥塞状态,使得两个结点不能正常通信。

因特网是一个很大的互联网,它由大量异构网络通过路由器相互连接。因特网的主要网络层协议是无连接的网际协议(Internet Protocol,IP)和许多路由选择协议,因此因特网的网络层也成网际层或IP层

传输层

传输层的传输单位是报文段(TCP)或用户数据段(UDP),传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。

数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。通俗地说,点到点可以理解为主机到主机之间的通信,一个点是指一个硬件地址或IP地址,网络中参与通信的主机是通过硬件地址或IP地址标识的;端到端的通信是指运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识,所以称为端到端通信。

使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在。通过传输层的屏蔽,高层用户看不到子网的交替和变化。由于一台主机可同时运行多个进程,因此传输层具有复用和分用的功能。复用是指多个应用层进程可同时使用下面传输层的服务,分用是指传输层把收到的信息分别交付给上面应用层中相应的进程。

会话层

会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。 会话层可以使用校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步。

会话层允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务,向表示层提供服务。这种服务主要为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也成建立同步(SYN)。

表示层

表示层主要处理在两个通信系统中交换信息的方式。不同机器采用的编码和表示方法不同,使用的数据结构也不同。

为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩、加密解密、转换翻译也是数据层提供的数据表示变换功能。

应用层

应用层为特定类型的网络应用提供访问OSI参考模型环境的手段。

应用层是最复杂的一层,使用的协议也最多。因为用户的实际应用多种多哦样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求。

网络协议对照

OSI模型-协议对照.jpg

总结

OSI模型是面试常问的一个问题,因为它是最新的计算机网络体系结构,作为一名合格的程序员,怎么能不知道这么重要的计算机网络知识呢。

若有不对,请各位大佬指正!😝

优秀的程序员都会给我一个赞👍的吧!嘿嘿 ^_^