OSI网络参考模型学习

插图来源:《图解TCP/IP》

一.计算机与网络的发展

计算机从上世纪50年代开始普及,以下是我结合《图解TCP/IP》中的知识,按自己的理解整理而成计算机与网络的大致发展例程。

1.1 批处理系统

所谓批处理,就是将程序和数据放在存储介质中,比如卡带、磁盘,计算机按照一定的顺序读取执行程序的过程。

在这里插入图片描述

批处理系统的运行需要人为地把程序和数据的内容放入计算机,并且一次只能执行一个程序为一个用户服务,主要用于大规模计算或处理。

1.2 分时系统

上面的批处理系统是每时每刻只能由一个程序运行,即服务于一个用户。分时系统的出现改善了这种状况,分时系统的一个主机配有多个终端,可以在每一个终端上访问主机,主机上实现分时处理,从终端上看就相当于买个终端都是一个独立的计算机。

在这里插入图片描述

分时系统的最大特点就是独占性,即各个终端之间相互不影响,系统中每一个终端与主机都是独立的通信线路。

1.3 计算机之间的通信

分时系统只是终端与主机之间的通信,还不能够直接实现计算机之间的通信,以前计算机之间的通信是通过人工搬移存储介质实现的。

分布式处理则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网络连接起来,在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统。

初代计算机之间的通信系统(可以理解为分布式处理系统)如图:

在这里插入图片描述

这时候各个计算机之间的通信是通过主机之间的连线实现的,用户可以在一个终端中执行程序,将得出的数据通过主机传给另一个主机,在另一个主机下的终端可以处理得到的数据或者直接打印数据,这就是初代计算机之间的通信方式,有一点现代分布式处理的雏形。

1.4 基于分组交换技术的计算机网络

上面介绍的计算机之间的通信有一定的限制,那就是不同架构(或者厂商)之间的计算机可能无法进行有效通信。

分组交换技术(Packet switching technology)也称包交换技术,是将用户传送的数据划分成一定的长度,每个部分叫做一个分组,通过传输分组的方式传输信息的一种技术。它是通过计算机和终端实现计算机与计算机之间的通信,在传输线路质量不高、网络技术手段还较单一的情况下,应运而生的一种交换技术。每个分组的前面有一个分组头,用以指明该分组发往何地址,然后由交换机根据每个分组的地址标志,将他们转发至目的地,这一过程称为分组交换。

所以,计算机网络就应运而生了,基于分组交换技术的计算机网络可以使各种各样的计算机之间进行相互通信连接,如图:

在这里插入图片描述

1.5 互联网时代的计算机网络

互联网时代的计算机网络,是可以将不同厂商、不同架构的计算机连接在一起,与此同时,建立在计算机网络连接基础上的各种信息传播方式迎来了爆发式的发展,电子邮件、万维网等信息传播方式进入千家万户。

现如今,人们只要接入互联网,理论上就可以通过互联网络与世界上任意一个有网络连接的设备进行通信。

在这里插入图片描述

1.6 计算机网络中协议的规定

随着互联网的发展,人们不再满足仅仅建立连接,人们开始追求更加安全稳定的连接,随之规定了计算机网络的传输协议,将庞大的计算机网络通信分层来进行分析,这样不仅仅有助于人们理解庞大的计算机网络,还助于协议的规定与修正。

互联网中常用到的协议有IP、TCP、HTTP等,而TCP/IP协议就是计算机网络协议的集大成者,现在基本所有可以联网的设备都支持TCP/IP协议,当然还有其他类型的网络体系结构,如图:

在这里插入图片描述

在计算机通信中,从物理连接层面到应用程序的软件层面,各个组件都必须严格遵循事先达成的约定(协议)才可以进行通信,只要某一部分稍有差错就可能导致整个通信系统无法正常运行。所以,规定统一的协议十分有必要,那么问题来了,这么重要的协议由谁来规定好呢?

1.7 协议的标准化

为了解决协议的标准化,ISO(国际标准化组织)制定了一个国际标准OSI(开放式通信系统参考模型)来对通信系统进行标准化。ISO在指定标准化OSI之前,对网络体系结构的相关问题进行了讨论,最终提出了作为通信协议设计指标的OSI参考模型。戏剧的是当时OSI所定义协议并没有得到普及,但是在设计OSI协议之初作为指导方针的OSI参考模型却经常被用于网络协议的制定当中。

OSI参考模型将复杂的协议整理分为了七层,如图:

在这里插入图片描述
下面就介绍一下OSI各层的详细情况!

二.OSI七层参考模型概述

开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架,定义于ISO/IEC 7498-1。

OSI参考模型的七层结构放如图:

在这里插入图片描述

各层的主要功能以及概览如下:

在这里插入图片描述
总的来说,应用层决定数据发送的内容;表示层负责转化数据格式;会话层负责选择连接方式;传输层负责确定连接;网络层负责地址管理和路由选择;数据链路层负责互连设备之间的数据传输;物理层以电信号来传输数据。

2.1 应用层

应用层处于OSI七层模型的最顶层,也是面向用户(或者说程序)的,比如发送一封邮件。

A主机给B主机发送一封邮件,“输入邮件内容和收件者”就是应用层的操作,在用户点击发送邮件后,就进入了应用层的协议处理,应用层协议会在传输的数据前端加上一个首部信息,这个首部信息中表明了信息内容以及收件人。

在这里插入图片描述

应用层的主要任务就是规定传输的信息以及传输的目的地,A主机中经过应用层协议处理的信息会发往下一层(表示层)在经过每层的协议处理之后通过通信线路发送至B主机,B主机收到信息之后会逐层解析,最后到达B的应用层,经过应用层解析后就收到了A发送的信息。

2.2 表示层

主机A向主机B发送邮件,邮件内容的数据格式是由A中邮件软件决定的,如果B使用的邮件软件和A一样,那数据直接传过去就可以正常解析了,但是如果A、B使用的软件不一样时,A发送的格式B是直接解析不出来的。

表示层就是解决这种问题的,表示层将A的数据格式转换成网络中通用的标准数据格式,B接收后,在B的表示层将网络中通用的标准数据格式转换成B的数据格式。由于数据被转换为标准的格式后再进行处理使得异构的机型之间也能保持数据的一致性。

表示层是进行统一的网络数据格式与某一计算机特有的数据格式之间转化的分层,表示层之间为了标识编码格式也会添加首部信息,然后将数据交给下一层处理。

在这里插入图片描述

2.3 会话层

会话层已经将通信的数据格式转换为网络中通用的标准数据格式,如果A给B写了10封邮件,那这十封邮件是一件一件发送到B还是一次性发送到B?这就涉及到A、B之间建立的连接方式了,A、B可以建立一次长连接来发送这10封邮件,也可以给每一封邮件建立一次短连接。

会话层决定采用何种连接方法来连接A、B,会话层也会在从表示层收到的数据中添加首部信息,再转发给下一层,首部信息中记录着数据传输的信息。

在这里插入图片描述

2.4 传输层

上面提到的三个层都是在主机内处理信息,为信息的发送做准备,传输层以下就是真正负责在网络中传输数据的部分了。

A、B之间要交流肯定得建立连接吧,传输层就是决定连接的建立和断开的,比如TCP就是传输层协议,TCP保证了数据传输的可靠性,也就是TCP可以建立稳定的连接。

传输层为了确保所传输的数据到达目的地,会在通信俩端的主机之间进行确认,如果数据没有到达,会重新发送,传输层也会在数据附加首部来识别这一层的数据。

在这里插入图片描述

2.5 网络层

网络层的作用是在网络与网络相互连接的环境中,将数据从发送端主机发送到接收端主机,要知道在发送端与接收端之间有很多条传输链路可以走,如何选择最优路径进行传输而又能够准确将信息传到接收端,这就需要网络层的协助了。

在实际传输数据时,目的地址很重要,目的地址是每个设备在网络中的唯一地址,最终数据传输的终点就是这个目的地址。

网络层负责将数据发送至最终的目的地址,所以有了目的地址和网络层的发送处理,就可以将数据发送至实际上任意一台互联设备了,网络层也会数据附加首部来识别这一层的数据。

在这里插入图片描述

2.6 数据链路层与物理层

通信的实际传输是通过传输媒介实现的,数据链路层就是在通过传输介质互联的设备中进行数据处理。

物理层中,将数据的0、1转换为电压和脉冲传输给物理的传输介质,而相互直连的设备之间使用地址实现传输。这种地址被称为MAC地址,也可以称为物理地址或者硬件设备。采用MAC地址,目的是为了识别连接到同一个传输介质上的设备。因此,在这一层将包含MAC地址信息的首部附加到从网络层转发的数据上,将其发送到网络。

网络层与数据链路层都是基于目标地址将数据发送给接收端的,但事实网络层负责将整个数据发送给最终目标地址,而数据链路层只负责发送一个分段内的数据。

在数据发送过程中给,经由路由器转发的信息的传输也涉及到网络层和数据链路层。

在这里插入图片描述

2.7 接收端的处理

在接收端的处理与发送端的处理恰恰相反,从物理层开始逐层解析收到的数据,最终将发送的数据有效内容显示在应用层上。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于零基础学习计算机网络,以下是一些建议: 1. 学习基础概念:开始之前,了解计算机网络的基本概念是很重要的。可以阅读相关的教材、在线教程或观看教学视频来获取基础知识。 2. 学习网络模型:了解计算机网络的体系结构和通信模型,例如OSI模型和TCP/IP模型。理解每个层级的功能和协议将有助于你对整个网络的理解。 3. 学习网络协议:深入研究常见的网络协议,如IP、TCP、UDP等。了解这些协议的工作原理、功能和用途。 4. 实践网络配置:使用模拟器或虚拟机创建自己的网络实验环境,实践配置网络设备、连接网络等操作。这将帮助你更好地理解网络概念和实际应用。 5. 参与在线课程或培训:参与在线课程、网络培训或MOOC平台上的计算机网络课程。这些课程通常具有系统化的学习路径和实践项目,能够帮助你系统地学习计算机网络知识。 6. 阅读相关书籍和参考资料:选择一些经典的计算机网络教材或参考书籍进行深入学习。这些书籍通常包含理论和实践的内容,能够帮助你更全面地掌握计算机网络知识。 7. 加入技术社区:加入计算机网络相关的技术社区、论坛或社交媒体群组,与其他对计算机网络感兴趣的人交流和讨论。这样可以提高你的学习动力,并且可以从其他人的经验中学到更多。 记住,学习计算机网络是一个渐进的过程,需要耐心和持续的努力。不断实践和思考,在解决问题的过程中不断提高自己的理解和技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值