首页 > 其他分享 >深入浅出OSI七层参考

深入浅出OSI七层参考

时间:2022-12-12 15:37:16浏览次数:40  
标签:表示层 七层 深入浅出 网络层 OSI 传输 地址 主机 数据

本篇博客是笔者阅读《图解TCP/IP》所记录下的笔记,有兴趣的朋友可以去看一看这本书。

OSI七层参考模型

​ 本小节以电子邮件通信为例,分别来阐述OSI七层模型的每一层是如果进行通信处理的。

​ 假定用户 A要给用户B发一封电子邮件 “早上好!”,在用户A和用户B的通信过程中,网络是如何处理的呢,下面对应着OSI七层参考模型,从上至下来分析一下。

应用层

​ 用户A在主机A上新建一封电子邮件,指定收件人为主机B上的用户B,并输入邮件的内容 “早上好!”。

​ 接收和发送邮件的软件,从功能上可以分为两大类,一类是与通信无关的功能,例如:新建邮件,指定收件人,输入邮件内容为 “早上好”,这部分功能就是与通信无关的功能。而另一类就是与通信有关的功能,在用户点击 “发送” 按钮的那一刻,就开始进行了应用层协议的处理。

​ 该协议会在所要传输数据的前端附加一个 “首部” 标签,其中包含的信息有:邮件的内容 "早上好",收件人B(目标主机)。

因此,此处的 输入电子邮件内容后发送给目标地址 也就相当于应用层。

表示层

​ 表示层具有 “表示“,”演示“的意思,因此更关心 数据格式①的表现形式,此外应用软件的本身不同也会导致数据格式的表现形式截然不同, 例如用户A与用户B所使用的客户端软件(qq邮箱,网易邮箱,Google邮件)不同,或者用户A与用户B所使用的终端设备不同,就有可能会造成数据格式的不同。

​ 可以利用表示层来解决这类问题,通过表示层将数据从 “某个计算机特定的格式” 转换为 “统一的网络数据格式” ,在将 "统一的网络格式" 恢复为 "某个计算机的特定格式",从而进行数据的在网络中的准确传输,然后再进行相应的处理,如果未能按照特定格式编码进行转换,有可能在客户端收到的电子邮件中出现乱码的情况。

​ 因此,表示层与表示层之间为了识别编码格式也会附加首部信息,从而将实际传输的数据交给下一层处理,将数据从主机的特有格式到网络标准的传输格式之间的相互转换就是表示层所做的事情

①数据格式:是数据保存在文件或记录中的编排格式,最典型的汉字的编码格式有GB2312 、BIG 、ISO8859-1等。

会话层

会话层主要是决定数据以何种方式建立连接。例如用户A向用户B发送5封邮件,此时用户A向用户B建立连接的方式有多种,1.可以每发送一封邮件建立一次连接,随后断开。 2.可以建立一次连接发送5封邮件。 3.可以同时建立5个连接,同时发送邮件。

​ 会话层也像应用层和表示层那样,在其收到的数据前端加上首部标识,其中包含在建立连接的方式,然后再转发给下一层。

传输层

​ 到此为止,我们通过例子说明了在应用层写入数据会经由表示层格式化编码,再由会话层标识以何种方式进行数据传输的大致过程,然而会话层并不具备传输数据的功能。真正负责在网络上传输具体数据是会话层以下的 “无名英雄”。

​ 主机A确保与主机B之间的通信并准备发送数据。这一过程叫做 ”建立连接“。有了这个通信连接就可以使主机 A发送电子邮件到达主机B,并有主机B处理程序获取最终数据。当传输结束后,则需要将连接断开,减少资源的浪费。

​ 如上,进行建立连接或断开连接的处理,在两个主机之间创建逻辑上的通信连接既是传输层的主要功能。此外,传输层为确保所传输的数据到达目标地址,会在通信两端的计算机进行确认,如果数据没有到达目标主机,或者因为网络波动的原因,数据有所缺失,他会负责重新发送。在传输层保证了数据的可靠传输

网络层

​ 然而,实际上将数据传输给对端的处理是由网络层来完成的,网络层负责将数据发送至最终的目的地址,这个地址是进行通信的网络中唯一指定的序号,也可以把他想象中我们日常生活中的手机号码,这要这个地址确定了,就可以在众多将计算机中选出该地址所对应的主机发送数据。

​ 在不同的网络体系结构下,网络层又是也不能保证数据的可达性。例如在TCP/IP 网络层的IP协议中,就不能保证数据一定会发送都对端地址。因此,数据传输过程中,会出现数据丢失,数据顺序混乱等问题,想这样没有可靠性的传输的网络层中,可以由传输层负责提供 “正确传输数据的处理 ”。TCP/IP中,网络层与传输层相互协作,从在最终保证了数据的可靠性、有序性传输。

数据链路层、物理层

​ 通信传输实际上是通过物理的传输介质实现的。数据链路层的作用就是在这些通过传输介质互联的设备上进行数据处理。

​ 物理层中,将数据的0,1转换为电压和脉冲光传输给物理的传输介质,而相互直连的设备通过地址进行传输,这种地址称之为MAC地址,也可以称之为硬件地址,或者物理地址。因此在这一层中,将包含MAC地址的首部附加到网络层转发过来的数据上,在将其发送到网络上。

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

标签:表示层,七层,深入浅出,网络层,OSI,传输,地址,主机,数据
From: https://www.cnblogs.com/shiwukong/p/16976153.html

相关文章