浅析OSI体系结构

一、 OSI体系结构的由来

为了解决计算机网络复杂而庞大的问题,我们把大问题分解成小问题,因此产生了按功能划分的分层结构。
世界上第一个提出一个网络体系结构的是IBM公司,它提出的是SNA网络体系结构。在此之后的很多公司提出了自己的网络体系结构,导致使用不同的产品就要使用不同的网络体系结构,这就阻碍了整个网络上的互联互通。因此,为了支持异构网络系统的互联互通、支持不同的网络体系结构、支持不同厂家商家的网络进行一个互联,所以产生了OSI参考模型。
OSI参考模型是国际标准化组织(ISO)在1984年所提出的开放系统互联参考模型,这里的“开放”指的是非垄断的意思。这种开放的网络体系结构是全球通用的,不同的网络、设备、软件、硬件都可以在一个网络上面进行连接,从而实现了整个网络上的互联互通。
虽然OSI参考模型的理论很成功,对于我们的学习和研发有非常多的借鉴意义,但是在市场上的应用却是失败的。
OSI参考模型失败的一些原因,可以给它归纳为4种:
第一,OSI专家们比较缺乏实际经验,只是构想的很好,但是实际操作上面没有什么经验,像一个乌托邦一样的构想;
第二,OSI协议实现起来较为复杂,而且运行效率非常低;
第三,OSI标准的制定周期太长,所以使得OSI参考模型出来的时候没有办法及时的进入市场,而且有非常好的TCP/IP体系结构已经使用上了,生不逢时;
第四,OSI参考模型的层次划分不是很合理,有些功能会在多个层次当中重复的出现,会有一些弊端,不太适用于市场的需求,而这个TCP/IP比较适合现在市场的应用。
所以OSI体系结构就被TCP/IP体系结构打败了,只能成为一个历史、一个标准。
OSI参考模型是一个7层的结构,自下而上也是物理层,数据链层,网络层,传输层,会话层,表示层,应用层。计算机网络按照功能可以分为资源资网和通信子网,通信子网对应的就是OSI体系结构当中的下面三层,通信子网对应的上面的三层,而传输层是这个资源子网以及通信子网的接口。

二、 OSI体系结构解释通信过程

在这里插入图片描述
在OSI体系结构中,设备A向设备B发送数据时,所要发送的数据自应用层由上往下,每过一层就打包一遍该层的协议。等到数据在链路上开始传播,遇到中间系统,如遇到交换机、网桥等则解析到数据链路层,遇到路由器则解析到网络层,然后再进行转发,直到到达设备B后,再依次解析,不断向上层传递消息。
一般而言,上面四层由于屏蔽了底层的细节,让人感觉到A<->B之间是直接连着的,直接在交互着的,所以又称是端到端的。举个例子:你打开QQ,给B发送文件的时候,会觉得自己是直接发送给对面,而不会去考虑底层的诸多发送过程。这样的过程让人感觉对面的电脑与自己相连一般,这就是端到端。端到端通信指的是运行在不同主机内两个进程之间的通信,而每一个进程都会用一个编号来标识它,即端口号,所以是进程与进程之间的通信,也就是端到端的通信。
而下三层,由于它们发送的数据是在不断的寻找下一个节点,就像快递一样不断的寻找下一个转运中站,所以它们又被称为是点到点的。

三、 OSI体系结构各层功能

1. 应用层

根据OSI参考模型图示,可以看出应用层和主机是最离最近的、最相邻的。它是是面向用户的,是用户与网络的界面。应用层的定义就是所有能和用户交互并且产生网络流量的程序,什么叫做能够产生网络流量呢?只要是连上网才可以使用的程序,就是属于应用层的范畴,但是比如记事本这样不需要联网的程序,它就不算应用层的范围。典型应用层服务:文件传输(FTP)、电子邮件(SMTP)、万维网(HTTP)。

2. 表示层

表示层是应用层紧邻的一个层次,它主要负责是最后呈现在设备上面的东西,所以它主要是用于处理在两个通信系统中交换信息的表示方式,通常是语法和语义的处理。两个通信系统指的就是两台设备,交换信息就是在这两台设备之间进行一个数据传递的过程。
功能可分为以下几种:
功能一:数据格式交换(翻译)
就是数据格式的变化。数据格式变换原因,是因为不同的主机的编码以及表示方式都可能不太一样。为了使不同的主机能够进行数据或者信息的交换,就需要表示层实现数据格式变换,有翻译官的角色。
功能二:数据加密解密
假如我们可能会在微信聊天或者QQ聊天里告诉好友我的的微信支付密码是xxx,这样一句话放在链路上,传输的时候就要在发送端进行加密之后再放到链路上面传输,如果不加密的话,有人可能就会从这个链路上面抓包,把这个信息拿下来,相当于得到了你的支付密码,这就是非常危险的,所以就需要一个加密的过程。然后到了接收端,就是到你发送的那个人的手机那边,就会对这条数据进行解密的过程,解密下来的结果就是那句话。这就是一个加密和解密的过程。
功能三:数据压缩和恢复
假如我们跟别人视频聊天的时候,聊天的图像非常大,要先把图像进行压缩,然后再传到链路上面,最后到接收端再把压缩的文件解压缩,或者说是恢复的过程,然后这个图像就可以呈现在接收端的那边的屏幕上。
表示层的主要协议:JPEG,ASCII。

3. 会话层

会话层是位于表示层下面的层次,它指的就是向表示层的实体/用户进程提供建立连接,并且在连接上面有序的传输数据。会话层可以判断数据是否需要进行网络传递,假如说用户写的是一个word文档,那么到会话层就结束了,因为直接保存到硬盘就行了,不是类似与邮件之类的需要网络传递的东西。它适用于传输大文件
会话层的功能:建立、管理、中止会话;使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。
会话层的主要协议:ADSP、ASP。

4. 传输层

传输层作为自下而上第一个面向端到端通信的层次,同时也是上面三层资源子网和下面三层通信子网之间的一个接口。传输层主要负责主机当中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。上面4层是端到端通信,而下面三层都是点到点的通信,因为我们知道在两台主机进行通信的过程当中还需要一些中间的系统,比如说路由器、交换机等等,这些设备只需要经过下面三个层次:网络层、数据链路层和物理层就可以了;而两个端系统或者说两个主机,需要经过全部7个层次。
功能可分为以下几种:
功能一:可靠传输、不可靠传输
假如发送一个大文件,先把它切成报文段,切成一个传输单位,然后一个一个的放到链路上传输,传输到接收端之后,对于每一个收到的报文的接收端都会返回给发送端一个确认信息,发送端收到了确认信息之后才能够继续发送报文段。如果发送端没有收到确认信息就要再发送一遍刚才的数据报,直到收到确认信息才能再往下继续发作新的报文段,这个就是可靠传输,一个基于确认机制的过程。不可靠传输就是不需要建立连接,也不用管数据报会不会丢,也不用管什么确认机制,就直接把这个数据包放上去发就可以了。
功能二:差错控制
对于发生的任何差错进行控制,比如传送的一些报文段丢失了、顺序错了或者丢了一些报文段,传输层就会负责来纠正这些错误,来把这些错误改邪归正。
功能三:流量控制
流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发送回源地址实现的。
功能四:复用分用
发送端几个高层会话复用一条低层的连接,在接收端在进行分用。复用指的是多个应用层进程可同时使用下面传输层的服务;而分用指的是传输层把受到的信息分别交付给上面应用层中相应的进程。
传输层的主要协议有TCP和UDP。

5. 网络层

也叫做这个IP层、网际层,它是自下而上的第三个层次,也是我们七层当中最重要的一个层次。网络层主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据包。
功能主要为:
功能一:路由选择
路由选择就是选择合适的路由。发送端要发送发送一个数据报给接收端,具体选择什么方式要看当时的网络情况,而且要经过相应的路由算法,选出最合适的一个路由方式,才能使这个分组从发送端正确顺利的到达接收端。
功能二:流量控制
流量控制要协调发送端和接收端的一个速度问题,假如说发送端发送的太快了,接收端来不及接收,它就要告诉发送端慢点发,这就是对于发送端速度的控制。
功能三:差错控制
差错控制,是通信两节点之间约定一些特定的规则。从发送方传送的一些报文段丢失了、顺序错了或者丢了一些报文段,接受方就会根据规则检查收到的分组有什么错啊,如果能纠错就纠错,不能纠错就把这个分组扔掉,这样就可以确保传输层所提交的数据都是没有问题的。
功能四:拥塞控制
流量控制主要是限制发送方的速度,但是拥塞控制是全局的宏观上控制速度。拥塞控制主要是若所有节点都来不及接收分组了,而要丢弃大量分组,网络就处于一个拥塞状态,因此要采取一定措施,缓解这种拥塞。
网络层和传输层的区别在于,网络层提供的是主机之间的逻辑通信机制,而传输提供的是应用进程之间的逻辑通信机制,位于网络层之上,并且依赖网络层服务。
网络层的主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF。

6. 数据链路层

数据链路层的主要任务是把网络层传下来的数据报组装成帧。它的传输单位是帧。
功能可分为以下几种:
功能一:成帧(定义帧的开始和结束)
在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点的链路上传送帧,每一帧包括数据和必要的控制信息。在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束,这样数据链路层再收到一个帧后,就可以从中提取出数据部分,上交网络层。
功能二:差错控制 (帧错+位错)
控制信息还使接收端能够检测到所收到的帧中有无差错,这里的差错,包括帧错和位错。数据链路层会有相应的检测纠错方法,如果发现有差错,数据链路层可能就会简单的丢弃差错的帧里面,以免继续在网络传下去会浪费资源。如果需要纠错,就可以用一些可靠传输协议来纠正出现的差错。在这个差错控制可以检错也可以纠错,这个是要针对不同的错误的情况。
功能三:流量控制
和传输层和网络层一样,它是对于这个发送方和接收方一个速度的协调问题。如果接收方的缓存不够用,再发来的数据全都要丢弃掉,接收方就会告诉发送方慢点发,等缓存有空间了才可以加快速度。
功能四:访问(接入)控制
主要呢是对于信道的访问控制。如果在这个广播式网络当中,数据链路层就要处理访问接入控制的问题,需要控制一下哪台主机现在可以占用信道。因为在广播式网络当中,同一时间只能有一个人在发送信息,其他人都处于监听状态。所以这个数据链路层它可以控制大家对于共享信道的访问。
数据链路层的主要协议:SDLC、HDLC、PPP、STP。

7. 物理层

物理层的功能比较简单了,只需要把比特流转成电信号的形式,放到应用上面进行一个传输就可以了,不需要对数据有什么改动,也不需要切割,所以物理层的主要任务就是在物理媒体上实现比特流的透明传输。物理媒体可以是任何一种物理的传输介质,比如同轴电缆、双绞线、无线电波等等;透明传输指的是不管所传的数据是怎样的比特组合都可以在链路上传送。物理层传输单位是比特。
功能分为:
功能一:定义接口特性
要确定连接电缆的插头应该要多少根引脚、每一条引脚应该如何连接,都属于接口特性的部分
功能二:定义传输模式(单工、半双工、双工)
传输模式有三种:单工指的就是只可以单方向,如果两个人进行通信,只可以同一时间有一个人在发送,另一个人就一直是在接收,发送端和接收端就完全确认好了;而半双工,是介于单工和双工之间的一种通信方式,两个人都可以作为发送方和接受方,但是同一时间还是只能有一个人发送信息,好像在用对讲机的时候,你同一时间只能有一个人在说话;双工就是两个人可以双向同时的说话,好像打电话一样。
功能三:定义传输速率
我们生活中的百兆网、十兆网,十兆百兆就是指发送端的发送速率或传输速度。
功能四:比特同步
比特同步就是指发送方发送一个1,接收方就可以准确无误的接收到一个1。
功能五:比特编码
比如查分曼彻斯特编码等等,它主要就是把0和1进行规定,用怎样的电压表示1,什么样的电压表示0。
物理层的常见的协议:Rj45、802.3。

参考文献

[1]谢希仁:《计算机网络》,北京:电子工业出版社2017年版。
[2]王道论坛:《计算机网络考研复习指导》,北京:电子工业出版社2019年版。

本文文本源自哔哩哔哩网站王道论坛的视频“2019 王道考研 计算机网络 P7 OSI参考模型(2)”

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值