应用层是OSI参考模型的最高层
,它是计算机用户,以及各种应用程序和网络之间的接口
,是网络应用程序使用的,即使用互联网的计算机应用,例如谷歌,火狐。这些应用不驻留于应用层,但是它们使用应用层的各种网络协议,例如:HTTP协议,HTTPS协议。有几十个应用层协议,于各种功能在这一层,这些协议组成了各种网络服务的基础,例如域名解析协议DNS协议,文件传输是借助FTP协议完成的,对于电子邮件,则使用SMTP协议。其次,应用层通过协议为网络提供服务,执行用户的活动。
表示层从应用层接收数据
,这些数据是以字符和数字的形式出现的,表示层将这些数据转换成为机器可以理解的二进制格式,也就是封装数据,和格式化数据。例如:将ASCII码转化为别的编码,这个功能称为“翻译”。在传输数据之前,表示层减少了用来表示原始数据的比特数,这个过程被称为数据压缩,它可以是无损或者有损的,数据压缩减少了存储原始数据所需的空间,所以它可以在很短的时间内到达目的地,数据压缩对实时视频和音频的传输有很大的帮助。
为了保持完整性的数据,传输前的会给数据加密,而加密和解密是敏感数据的安全保障,在中心端,数据在接受端被加密,数据被解密为SSL协议或者安全套接字。所以,表示层执行三个基本功能:翻译、压缩和加密/解密
。
会话层是用户应用程序和网络之间的接口
(注意要于应用层区分),主要任务是:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。
会话层在建立和管理连接、启用、发送和接受数据,会有一个助手叫做APIs或应用程序接口。NetBLOS,即为网络基本输入输出系统,它可以作为APIs的一个例子,它允许不同计算机上面的应用程序互相通信,在服务器建立会话或连接之前,服务器回执行一项称为身份验证的功能,通过验证之后,将会给被检查的用户授权,授权是服务器来确定你是否有权限访问文件的过程,否则,你将会收到一条消息,您未被授权访问此页面,身份验证和授权这两个功能都有会话层执行。会话层还提供正在下载的文件的追踪,文本、图像等,这些文件以数据包的形式被接收。
OSI下3层的主要任务是数据通信,上3层的任务是数据处理。而传输层是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。
传输层通过分段,流量控制和差错控制来控制通信的可靠性
,从会话层接收的数据会被分成称为段的小数据单元
每个网段都包含一个源端口号,目的端口号和序列号,这些号码有助于引导每个网段指向正确的应用程序,序列号有助于,按照正确的顺序重新组合段,以便接收者收到正确的消息,
在流量控制中,传输层控制传输的数据量,假设一台电脑连接了某个服务器,服务器最大可以传输100Mbps的数据,而我们的电脑最大可以处理10Mbps的数据,现在我们要在服务器上下载一个文件,但是服务器以50Mbps的速度发送数据,这比我们电脑处理的速率要高,所以我们的电脑可以告诉服务器,将速率降低到10Mbps,这样就不会会数据丢失,同理服务器以5Mbps速率传输数据,我们的电脑会让服务器增加传输速率,来保持我们的性能。如果某些数据没有到达,目标传输层将使用自动重复请求方案,来重新传输丢失或损坏的数据。传输层向每个段添加一组称为“校验和”的位。得以找出所接收到的传输层协议和控制协议,或TCP以及UDP的更新段。
传输层执行两种类型的服务,面向连接的传输和无连接的传输。面向连接的传输是TCP通过来实现的。面向无连接的传输是通过UDP来实现。UDP比TCP更快。因为它不会提供任何关于数据是否真正交付的反馈,而TCP提供反馈。因此,丢失的数据可以在TCP中重新传输。使用UDP时,我们是否接收到所有数据并不重要,例如,只有流媒体电影、歌曲、游戏、IP语音、TFTP,DNS等。另一方面,TCP用于必须进行完全数据传递的场合,例如,万维网、电子邮件、FTP等。因此,传输层涉及到分段、流量控制、差错控制、面向连接和无连接传输。
传输层将数据段传递到网络层。网络层用于将接收到的数据段从一台计算机传输到位于不同网络中的另一台计算机。
网络层的数据单元称为数据包。网络层的功能是逻辑寻址、路由和路径确定。
在网络层进行的IP寻址称为逻辑寻址。网络中的每台计算机都有一个唯一的IP地址。网络层为每个网段分配发送方和接收方的IP地址,形成一个IP数据包。分配IP地址是为了确保每个数据包都能到达正确的目的地。
路由是一种将数据包从源端移动到目的端的方法,它是基于逻辑上在此之前的IP格式,假设计算机A与一台网络1相连,计算机B与一个网络2相连。我们从B电脑请求访问CSDN网站。现在有了来自计算机B中CSDN服务器的回复,这些将以数据包的形式出现,而且这个数据包需要传送到计算机B。
由于在网络中,每个设备都有一个唯一的IP地址。所以这两个计算机都有一个唯一的IP地址,而且CSDN服务器已经在包中添加了发送方和接收方的IP地址。
假设掩码使用225.2 25.255.0,这个掩码表示,前三个组合代表网络,而最后一种组合表示主机或计算机B,将要这样基于IP地址格式接收数据包,移动到计算机B网络和终端来。所以在计算机网络中,根据IP地址和掩码路由决定。
路径选择,计算机可以通过多种方式连接到计算机的Internet服务器。从源到目标的数据传递的最佳可能路径称为“路径选择”,第三层设备使用的协议有OSPF、边界网关协议、以及中间系统到中间系统(IS-IS)协议,以确定数据传递的最佳可能路径。
数据链路层从网络层接收数据包,数据包 包含发送方和接收方的IP地址。有两种寻址方式:逻辑寻址和物理寻址。
逻辑寻址在网络层完成,其中发送方和接收方IP地址被分配给每个段以形成数据包。
物理寻址是在数据链路层完成的,其中MAC地址或发送者和接收者 被分配给每个数据包以形成一个帧。
MAC地址是由计算机制造商嵌入到计算机的网卡中的十二位字母数字号码。数据链路层中的数据单元称为 帧 数据。链路层作为计算机的软件网络接口卡嵌入,以及提供经由本地介质将数据从一台计算机,传送到另一台计算机的装置。本地媒体包括铜线,光纤或无线电信号。
数据链路层执行两个基本功能。它允许上层使用成帧之类的各种技术来访问介质,控制如何放置和接收来自介质的数据。
考虑两台不同的主机,一台笔记本电脑和一台台式机相互通信时,笔记本计算机和台式机连接到不同的网络,他们将使用网络层协议,例如IP协议来相互通信。
在这个例子中,这些东西通过网线连接到路由器,路由器R1和R2连接到某地方,而笔记本电脑通过无线连接 连接到路由器。现在下一步是将一些数据发送到笔记本电脑上,通过R1数据链路,在IP数据包的头部和尾部添加一些数据并将其转换为帧。在这种情况下,相当奇怪的一个接收到 这个互联网帧的数据到一个IP数据包,然后再次计算它形成一个帧。这样它就可以更接近光链路来到达R2。
路由器R2将再次对接收到的帧进行封装并再次计算,以形成无线数据链路帧,笔记本电脑收到这个无线数据链路帧D并计算它,然后将IP数据包转发到网络层,最后数据到达应用层,应用层协议将接收到的数据显示在计算机屏幕上。因此,网络层或更高级别的层能够在数据链路层的帮助下,在介质(Media)上传输数据。也就是说,数据链路层为OSI模型更高层的用户,提供了对介质(Media)的访问。数据链路层还控制如何放置数据和从介质接收数据。
用于获取媒体的帧的技术称为媒体访问控制。可能有多个设备连接到公共介质。如果两个或多个连接到同一媒体的设备同时发送数据,那么这两个消息可能会发生冲突,从而导致一个没有收件人能够理解的无用信息
(接链路层的后半部分)为了避免这些情况,数据链路层会密切关注什么时候共享的媒体是空闲的,这样设备就可以为接收端传输数据。这就是所谓的CSMA(载波侦听多路访问)技术,因此数据链路层及其媒体访问控制方法控制着数据的传输。每一帧的数据 包含用于在接收的帧中检测错误的位。错误的发生是由于传输数据的介质的某些限制。
最后一层是物理层
,到目前为止,应用层的数据已经通过传输层进行了分割,分割成了网络层的数据包,现在是一种二进制序列,在物理层将这些二进制序列转换成信号并在本地媒体上传输。它可以是铜缆情况下的电信号,也可以是光缆情况下的光信号,也可以是空气情况下的无线电信号。
因此物理层产生的信号,取决于用于连接接收器上的两个设备的介质类型,物理地接收信号,将其转换为位,并将其传递到数据链路层,就像数据在较高层移动时,帧被解封一样。最后,数据被移动到应用程序的实时应用层协议。它使发送者的消息在接收方的计算机屏幕中可见。
通过这种方式,或者作为一个模型,可以帮助在不同的主机之间传输数据,通过这种方式,OSI模型有助于在远程主机之间传输数据。
解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。它主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。
它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
在计算机网络中由于各种干扰的存在,物理链路是不可靠的。该层的主要功能就是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。
它的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层的数据叫做帧。
计算机网络中如果有多台计算机,怎么找到要发的那台?如果中间有多个节点,怎么选择路径?这就是路由要做的事。
该层的主要任务就是:通过路由选择算法,为报文(该层的数据单位,由上一层数据打包而来)通过通信子网选择最适当的路径。这一层定义的是IP地址,通过IP地址寻址,所以产生了IP协议。
当发送大量数据时,很可能会出现丢包的情况,另一台电脑要告诉是否完整接收到全部的包。如果缺了,就告诉丢了哪些包,然后再发一次,直至全部接收为止。
简单来说,传输层的主要功能就是:监控数据传输服务的质量,保证报文的正确传输。
虽然已经可以实现给正确的计算机,发送正确的封装过后的信息了。但我们总不可能每次都要调用传输层协议去打包,然后再调用IP协议去找路由,所以我们要建立一个自动收发包,自动寻址的功能。于是会话层出现了:它的作用就是建立和管理应用程序之间的通信。
表示层负责数据格式的转换,将应用处理的信息转换为适合网络传输的格式,或者将来自下一层的数据转换为上层能处理的格式。
应用层是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。
OSI 7层模型的小结:
在7层模型中,每一层都提供一个特殊的网络功能。从网络功能的角度观察:下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;而上3层(会话层、表示层和应用层)则以提供用户与应用程序之间的信息和数据处理功能为主。简言之,下4层主要完成通信子网的功能,上3层主要完成资源子网的功能。