OSI七层网络体系模型

1. 什么是OSI七层网络体系模型

  互联网其实就是有一系列的协议构成,OSI协议并不是指单个协议,按照功能不同,分工不同,是人为的将 互联网的过程分为七层,这七层并不存在,是为了人们更好的了解互联网的工作原理。

  七层模型包括应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。从网络功能角度看,前面三层主要是提供用户与应用程序之间的信息和数据处理为主,即完成资源子网的功能;传输层位于中间,起承上启下作用,他的作用是保证数据完好无缺的传输到网络层,并提供相关协议,确保数据完全发送到子网,后三层主要完成点与点之间的通信,提供数据传输和交换等功能。

 

2. 各层的作用

  1. 从发送端来说,顺序为:应用层→表示层→会话层→传输层→网络层→数据链路层→物理层

  2. 从接收端来说,顺序为:物理层→数据链路层→网络层→传输层→会话层→表示层→应用层

 

作  用
应用层 网络服务与用户的一个接口,常见的协议有:HTTP、FTP、SMTP、SNMP、DNS
表示层 数据的表示、安全、压缩,确保一个系统的应用层发送的信息可以被另一个系统的应用层读取
会话层 建立,管理,终止会话,对应主机进程,联系三次握手,四次挥手
传输层 定义传输数据的协议端口号,以及流控和差错校验,常见的协议有TUP、UDP
网络层 进行逻辑地址寻址,实现不同网络之间的路径选择,常见的协议有ICMP、IP、IGMP
数据链路层 在物理层提供比特流服务的基础上,建立相邻结点的数据链路
物理层 建立、维护、断开物理链接,即常见的网卡,交换机等

3.各层的具体功能:

  1. 物理层

    主要功能:在介质上传输比特流

  利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。他的作用是尽可能屏蔽具体传输介质和物理设备的差异,使数据链路层不用过多考虑网络的传输介质等因素。

 

  2. 数据链路层

    主要功能:负责建立和管理节点之间的链路,将数据封装成帧,进行可靠传输

    通过各种协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。分为MAC和LLC两个子层。它会接收来自物理层的比特流数据,封装成帧,传输到网络层;同时也会从网络层接收数据帧,并拆装层比特流数据发到物理层,还负责处理接收接收端发送回来确认帧的信息,保证数据的可靠传输。

    MAC子层:介质访问控制协议,主要任务时解决共享网络中多用户对信道竞争的问题,完成网络介质的访问控制;

    LLC子层:逻辑链路控制协议,主要任务时建立和维护网络连接,执行差错校验、控制流量和链路控制。

  3. 网络层

  主要功能:逻辑寻址,IP寻址,通过路由选择算法,为报文或分组通过子网选择最适当的路径,解决不同子网之间的通信。它控制这数据链路层与传输层之间的数据转发,建立,维持和终止网络的连接,即数据链路层的数据在这一层被转换成数据包,然后通过路径选择,分段组合等控制,将信息传送到另一设备上。

  寻址:数据链路层中使用物理地址(MAC地址),只能解决网络内部的寻址问题,但是在不同子网之间通信,通过逻辑地址(ip地址),来识别和找到网络中的设备,ip地址为唯一的地址。

    交换:规定不同的信息交换方式,常见的交换技术有:线路交换技术和存储转发技术,后者有包括报文交换技术和分组交换技术。

  路由算法:当源节点和目的的节点之间存在多条路径时,本层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传输到接收端。

    

  4. 传输层

    主要功能:提供可靠和不可靠的传输机制,TCP协议和UDP协议

  传输层是通信子网和资源子网的接口和桥梁,承上启下作用,主要向用户提供可靠的端到端的差流和流量控制,保证报文的正确传输。传输层从会话层获取数据后,对数据进行分隔处理,并确保数据正确无误的传送到网络层,有了传输层的协议控制,网络层就无需过多再关注数据的完整性和正确性。

  TCP协议:传输控制协议,TCP协议提供面向连接的服务,安全,可靠,在传递数据之前,会和目标主机进行三次握手来建立连接,且数据传递时会有确认、窗口、重传、拥塞控制机制,数据传输完毕后,会断开连接来节约系统资源。但是也存在缺点:慢,效率低,占用系统资源高,容易被攻击。

  UDP协议:报文传输协议,效率快,比TCP稍安全,他是一个无状态的协议,不存在握手、确认、窗口、重传等机制,所以传递数据非常快,常应用语语音、视频会议等方面。缺点:不可靠稳定,在网络较差的情况下,可能会导致丢包,无法保证传输数据的完整性。

 

  5. 会话层

    主要功能:建立、维护、终止计算机之间的会话连接,向两个计算机实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接成为会话,会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。在建立会话时,用户必须提供连接的远程地址,即域名(www.baidu.com),他们和MAC地址或IP地址不同,更便于记忆。

 

  6. 表示层

    主要功能:封装数据的格式(加密解密、压缩解压缩),对来自应用层的命令和数据进行解释,对各种语法赋予相应的意义,并按照一定的格式传输给会话层。

    数据格式转换:协商和建立数据交换的方式,解决各应用程序之间数据格式表示上的差异。

    数据的编码:处理字符集和数字的格式,用户程序中的数据类型、用户标识等都有可能存在不同的表达方式,因此在设备之间需要具有在不同字符集或格式之间转换的功能。

    压缩和解压缩:为了减少数据的传输数量,这一层还负责数据的压缩和恢复。

    

  7. 应用层

  主要功能:用户与电脑应用程序交互的窗口。应用层是用户或应用程序和网络之间的接口,直接向用户提供服务,完成用户希望在网络上完成的工作。负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,负责协调各个应用程序之间的工作。

  应用层为用户提供的服务和协议有文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。上述的各种网络服务由该层的不同应用协议和程序完成,不同的网络操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是很大的

 

posted @   无敌小豆包  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示