OSI七层模型详解

05月06日 收藏 0 评论 1 java开发

OSI七层模型详解

转载声明:文章来源https://blog.csdn.net/m10_2339656216/article/details/119752566

一、什么是OSI七层模型呢?

其实互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。

OSI七层模型:开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。

在七层模型中,每一层都提供一个特殊的网络功能。从网络功能的角度观察:下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;而上3层(会话层、表示层和应用层)则以提供用户与应用程序之间的信息和数据处理功能为主。简言之,下4层主要完成通信子网的功能,上3层主要完成资源子网的功能.。

二、各层功能简介

它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

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

三、以送信为例来理解这个模型

应用层:
公司的部门领导们,每个人相当于对应一个应用程序,每个人自己决定决定信的内容。

表示层:
文书助理们(不止一个哦),响应领导们的请求,给经理写信,有人用英文,有人中文,有人用法文等。

会话层:
相当于公司中收寄信、写信封与拆信封的秘书(这个可能说的不是很清楚)

传输层:
送信员,接收信件,送往邮局。

网络层:
各地邮局的分发信件工人,按照目的地址一级级传送。(村、乡、县、市…)

数据链路层:
公司在邮局安排的内线人物(呵呵,有点恐怖了)统计公司发了多少信,看看信的内容有跟公司领导的原意有没有啥不同。

物理层:
邮车,运输上面的所有信息,包括各层封装的信息。

第一层:物理层
主要功能:在介质上传输比特流
利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。

第二层:数据链路层
主要功能:负责建立和管理节点间的链路,将数据封装成帧,进行可靠传输
通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。
MAC子层:主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制;
LLC子层:主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。
数据链路层的具体工作:接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层;并且,还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。

第三层:网络层
主要功能:逻辑寻址,IP地址,在下两层的基础上向资源子网提供服务
通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。
一般地,数据链路层是解决同一网络内节点之间的通信,而网络层主要解决不同子网间的通信。例如在广域网之间通信时,必然会遇到路由(即两节点间可能有多条路径)选择问题。
在实现网络层功能时,需要解决的主要问题如下:
寻址:数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一个唯一的地址。由于各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)。
交换:规定不同的信息交换方式。常见的交换技术有:线路交换技术和存储转发技术,后者又包括报文交换技术和分组交换技术。
路由算法:当源节点和目的节点之间存在多条路径时,本层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端。
连接服务:与数据链路层流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。其目的在于防止阻塞,并进行差错检测。

第四层:传输层
主要功能:提供可靠和不可靠的传输机制,TCP、UDP
该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。该层常见的协议:TCP/IP中的TCP协议、Novell网络中的SPX协议和微软的NetBIOS/NetBEUI协议。提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割。然后,传输层将数据传递到网络层,并确保数据能正确无误地传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层则负责监督工作。
传输连接管理:提供建立、维护和拆除传输连接的功能。传输层在网络层****的基础上为高层提供“面向连接”和“面向无接连”的两种服务**。
处理传输差错:提供可靠的“面向连接”和不太可靠的“面向无连接”的数据传输服务、差错控制和流量控制。在提供“面向连接”服务时,通过这一层传输的数据将由目标设备确认,如果在指定的时间内未收到确认信息,数据将被重发。

第五层:会话层
主要功能:建立、终止、管理实体间的会话连接
向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。用户可以按照半双工、单工和全双工的方式建立会话。当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与MAC(介质访问控制子层)地址或网络层的逻辑地址不同,它们是为用户专门设计的,更便于用户记忆。域名(DN)就是一种网络上使用的远程地址例如:www.3721.com就是一个域名。
会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。例如提供单方向会话或双向同时会话,并管理会话中的发送顺序,以及会话所占用时间的长短。
会话流量控制:提供会话流量控制和交叉会话功能。
寻址:使用远程地址建立会话连接。
出错控制:从逻辑上讲会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠正错误。会话控制和远程过程调用均属于这一层的功能。但应注意,此层检查的错误不是通信介质的错误,而是磁盘空间、打印机缺纸等类型的高级错误。

第六层:表示层
主要功能:封装数据的格式(加密解密、压缩解压缩)
对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。处理用户信息的表示问题,如编码、数据格式转换和加密解密”等。
数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
数据的编码:处理字符集和数字的转换。例如由于用户程序中的数据类型(整型或实型、有符号或无符号等)、用户标识等都可以有不同的表示方式,因此,在设备之间需要具有在不同字符集或格式之间转换的功能。
压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。
数据的加密和解密:可以提高网络的安全性。

第七层:应用层
主要功能:人与机器电脑交互的窗口
它是计算机用户,以及各种应用程序和网络之间的接口,直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。
应用层为用户提供的服务和协议有:文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。上述的各种网络服务由该层的不同应用协议和程序完成,不同的网络操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是很大的
用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
实现各种服务:该层具有的各种应用程序可以完成和实现用户请求的各种服务。

四、数据封装和解封装过程
封装:传输层:数据DATA添加TCP包头---->数据段
网络层:数据段DATA添加IP包头------->数据包
数据链路层:数据包DATA添加MAC、LLC包头------>数据帧
物理层:数据帧转化成比特流,Bit
解封装:逆向拆掉各个包头,还原数据到另一端应用层


五、总结

OSI七层模型太过于理想化,现实的生产环境下比较少用上。
优点:将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整.。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;。
缺点:既复杂又不实用,运行效率低;OSI标准的制定周期太长;OSI的层次划分不太合理。

C 1条回复 评论
呵呵

收藏从未停止,学习从未开始

发表于 2022-09-11 23:00:00
0 0