一文搞懂OSI七层网络模型,Java面试必备

一文搞懂OSI七层网络模型,Java面试必备!

计网知识记一次忘一次,这次总结一下,从历史发展角度来分析模型,以便复习

简单概述

数据传输分层,是为了细化传输过程,因为计算机网络要解决的问题非常复杂,如果类比成代码就是为了解耦合,每一层只负责自己的活,他并不关心上层传下来的数据是什么意思,只需要将其用自己的逻辑封装好后,交给下一层去处理,这样做对于维护和横向拓展都有好处,每层只关心自己的功能

OSI理论上实现了各种设备使用该协议体系就可以在网络上传输数据

一文搞懂OSI七层网络模型,Java面试必备_第1张图片

例如使用微信发送一条消息

应用层

微信消息就是该层的数据,是最靠近用户的一层,直接为用户提供网络服务,在用户的直观感受就是发送一条消息,消息通过网络传输给了对方的微信程序,实现的数据通路,分层的好处体现出来了,它屏蔽了底层数据传输的复杂性
该层协议会在所要发送的数据前端附加一个首部信息。首部消息表明了要发送的内容和要发送到的地方。
协议:HTTP, FTP,Telnet,SMTP

表示层

表示层更关注数据的具体表现形式。提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
该层功能主要是:数据格式的变换,数据加密工作,数据压缩和恢复
表示层与表示层之间为了识别编码格式也会附加首部信息,从而将实际传输的数据转交给下一层去处理。

会话层

会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。会话层可以选择传输一个数据就建立一次链接,也可以建立长连接,这就是会话层的作用

上边几层负责的都是对用户数据的处理,是端对端的通信,只需要关心接收两端即可

传输层

负责的是两个进程的通信,即端到端的通信,建立两台设备的连接(所以会话层不关心怎么建立的连接,只需要关系会话何时开始和结束)传输单位是报文段或用户数据
该层提供的功能:

  • 可靠传输和不可靠传输
  • 差错控制
  • 流量控制
  • 复用分用

下边几层就需要考虑传输过程了,不仅要考虑端对端,而且还要考虑中转站

网络层

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通讯服务,决定路由选择,网络层将发送者和接收者IP地址由网络层放置到header中
该层的功能:

  • 路由选择
  • 流量控制
  • 差错控制
  • 拥塞控制

数据链路层

物理链路是不可靠的,物理传输过程中会有干扰,数据链路层作用主要是通过差错控制、流量控制方法将有差错的物理信道转换成无差错的,可靠传输链路,数据在这一层称为帧
总结:确保在物理层上从一个结点到另一个结点正确传输数据,当数据包到达时,数据链路层使用MAC地址传输给目标主机

物理层

网络的发展离不开设备间的通信,这也是科学家需要解决的首要问题,计算机使用二进制数存储数据,所以传输也是通过比特流来传输,那两台设备传输如何实现?于是就有了物理层,他定义了物理设备的规范(例如将bit数字转换成电,无线电,光信号时,电压,电压变化时间,物理速率,最大传输距离,负责将0101这样的数据传输到下一个结点),为数据传输屏蔽了物理层面上的硬件设备(实现了比特流的透明传输),使得数据传输不需要考虑用何种物理介质来实现,数据在这一层称为比特流。

传输模式如单工,半双工,全双工

你可能感兴趣的:(计算机网络,java,网络,面试)