简介
开放式系统互联模型(英语:Open System Interconnection Model,缩写:OSI;简称为OSI模型)是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。定义于ISO/IEC 7498-1。
该模型将通信系统中的数据流划分为七个层,从分布式应用程序数据的最高层表示到跨通信介质传输数据的物理实现。每个中间层为其上一层提供功能,其自身功能则由其下一层提供。功能的类别通过标准的通信协议在软件中实现。
开放式系统互联模型的开发始于上世纪70年代后期,用以支持各种计算机联网方法的出现。在上世纪80年代,该模型成为国际标准化组织(ISO)开放系统互连小组的工作产品。
作用
承上启下,虚拟化上一层,向下一层提供服务。
让每一层具有互连性、互操作性和应用的可移植性的功能。
物理层(Physical Layer)第一层
主要功能为定义了网络的物理结构,传输的电磁标准,Bit流的编码及网络的时间原则,如分时复用及分频复用。决定了网络连接类型(端到端或多端连接)及物理拓扑结构。说的通俗一些,这一层主要负责实际的信号传输。
PS:实际的主要作用传输比特流,也就是物理现象表示的0或1,比如电流的电压差,电磁波的波形等。
透明传输:屏蔽不同的物理层介质和通信协议。
数据链路层(Data Link Layer)第二层
负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成信息框(Info Box)。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。
分为两个子层:逻辑链路控制(logical link control,LLC)子层和介质访问控制(Media access control,MAC)子层。
PS:个人理解的作用为成帧和寻址,成帧就是将比特流切割成一个个帧,以太网根据帧头尾的帧定界符分割以太网帧。
以太网使用MAC进行链路内的寻址,物理层只管点对点传输,数据链路有了标识之后,用于广播网络,可进行单播通信。
根据帧后面的CRC进行校验帧的完整性。
网络层(Network Layer) 第三层
主要负责路由,选择合适的路径,进行阻塞控制等功能。
PS:为什么有了MAC地址寻址,还需要IP地址呢? 因为当时的链路层协议并不是一个,所以可以通过IP连接不同的计算机网络。
且IP可被路由,不需要广播寻址信息。可以说在互联网上,主机的唯一标识就是IP地址。
其实每一层本质上都是对上一层的虚拟化、逻辑化。
传输层(Transport Layer)第四层
向拥护提供可靠的端到端(End-to-End)服务,它屏蔽了下层的数据通信细节,让用户及应用程序不需要考虑实际的通信方法。
PS:为什么有了IP地址了,咋还要传输层呢?
IP地址只能代表主机本身,不能区分主机上的不同应用。比如同一个服务器有DNS和HTTP服务,就可以通过53和80端口区分。
TCP也有提供可靠传输的作用。
会话层(Session Layer)第五层
主要负责两个会话进程之间的通信,即两个会话层实体之间的信息交换,管理数据的交换。
PS:比如说做一个语音通话,表示层需要做拨号、呼叫、通话、暂停、挂断。
表示层(Presentation Layer)第六层
把数据转换为能与接收者的系统格式兼容并适合传输的格式。
PS:数据的压缩、加密、转换服务。比如说视频编码H.264,安全协议TLS。
其实会话层和表示层出现都没有大规格单独实现过,都由应用层去实现。划分这两层的作用是为了让千千万万个应用共享标准的会话层和表示层。
像IP地址一样,应用不需要考虑数据在第三层是怎么传输的。
应用层(Application Layer) 第七层
提供为应用软件而设计的接口,以设置与另一应用软件之间的通信。例如:HTTP、HTTPS、FTP、Telnet、SSH、SMTP、POP3等。
现实
由于OSI是一个理想、学术上的模型,实际应用中表示层和会话层并不被单独实现。所以TCP/IP 五层模型更加接近现实。