资讯专栏INFORMATION COLUMN

带大家一起去OSI七层楼看看

IT那活儿 / 532人阅读
带大家一起去OSI七层楼看看



背景介绍


OSI协议可是大家大户,从下到上共七层楼,这七层楼中几乎包含了一台联网设备的全部,网络是一种介乎于虚实之间的东西,怎么说呢?那我们就用最直观的问题,和有点啰嗦的回答来理解这其中的关系,废话不多说直接上图


一、物理层

最开始,世界上只存在一台计算机,用来计算数据,但是造价极高,体积庞大,有人在想可不可以发明一种体积小一些,价格便宜一些的机器呢?于是科学家朝着这个方向努力,慢慢的计算机体积越来越小,科学家又开始在想,计算机开始多起来了,能不能让他们之间可以传输一些数据呢?将他们串联起来呢?

于是发明了物理层:

物理层为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的、电子的、功能的和规范的特性。设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境,它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。如果这些晦涩难懂,那么您应该记住一个词“信号和介质”。虽然我们可以更好的形容描述物理层,但是这两个词也确实包含着物理层主要的特性。


二、数据链路层


计算机之间已经可以通过物理层建立通信了,发送一些数据流通过物理层进行传输然后到达目标主机,但是数据传输我不希望仅仅依靠一种线路来传输,我希望有更多的介质参与进来,增加传输速度,满足我的各种需求,还要保证传输过去数据流是正确的,能保证我传输的数据词义相同,不要被扰乱从而保证数据传输的正确性。

于是发明了数据链路层:

数据链路层定义了在单个链路上如何传输数据。为数据传输提供可靠的和透明的数据传送基本服务。可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心;透明性是指该层上传输的数据免去对丢失信息、干扰信息及顺序不正确等的担心。可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心。在物理层中这些情况都可能发生,在数据链路层中必须用纠错码来检错与纠错。数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路。


三、网络层


数据已经可以正常发送了,但是我发现我的邻居小伙伴变多了,我给谁发呢?我要经过多少个门口才能到达我想要到达的小伙伴家呢?走哪一条路是最近的呢?这些问题一直困扰着我。

于是发明了网络层:

它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。这样我就可以保证我的数据包传输过程中不会走错路,也不会找错人了。


四、传输层


现在的我已经可以将数据发送到另外一台主机上了,我也能够保证数据的正确性,也能找到快速并且正确的道路来传输了,但是当我发送大量数据的时候,需要等待漫长的事件才能够将所有的数据传输完成,在传输大的数据时,网络会存在波动存在中断。

那么,我必须要保证我在传输大批量的数据时仍然可以保证数据的准确性,于是,我要对发送的数据进行打包封装,向快递的一个个包裹一样传输,从而保证数据的准确性。

于是乎发明了传输层:

传输层是整个网络体系结构的关键层次之一,主要负责向两个主机中进程之间的通信提供服务。由于一个主机同时运行多个进程,因此运输层具有复用和分用功能。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制来保证数据传输的可靠性。传输层的一些协议是面向链接的,这就意味着传输层能保持对分段的跟踪,并且重传那些失败的分段。这样数据传输的道路我也已经铺设好了。


五、会话层


现在我已经可以正确的、快速的给计算机发送数据包了,但是新的问题又出现了,工作量有点大,每次发送数据时,我都要自己去调动协议去封装数据包,再调动协议去寻找道路,我能不能让他自己去封装,自己去收发数据包,自动去寻路呢?

于是发明了会话层:

会话层建立在传输层之上,利用传输层提供的服务,使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。


六、表示层


现在我可以保证数据自动收发了,也可以保证数据包自己寻址,但是不同的计算机系统所发送的编译语法不同,我应该怎样保证不同的系统平台之间如何沟通呢?如何保证不同的语言语法之间的互通呢?

于是表示层应运而生:

表示层为在应用过程之间传送的信息提供表示方法的服务,它只关心信息发出的语法和语义。表示层的出现让两个不同“国家的人”可以无障碍的交流沟通。


七、应用层


现在我已经万事具备了,传输路径,传输速到,传输的正确性和可靠性我都可以保证了,剩下的我就交给应用程序吧,你们去设定你们干什么,我来保证数据包有效的传输。

应用层直接和应用程序接口并提供常见的网络应用服务。应用层也向表示层发出请求。应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务.其服务元素分为两类:公共应用服务元素CASE和特定应用服务元SASE。

这就是一些过于OSI七层模型的一些见解,如有不对之处,请多多指教!


END


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129974.html

相关文章

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<