网络编程
OSI七层模型(open system interconnection) 开放式系统互联参考模型
V.会话层
会话层(Session Layer),是在发送方和接收方之间进行通信时创建、维持、之后终止或断开连接的地方,与电话通话有点相似。
会话层定义了一种机制,允许发送方和接收方启动或停止请求会话,以及当双方发生拥塞时仍然能保持对话。
会话层包含了一种称为检查点(Checkpoint)的机制来维持可靠会话。检查点定义了一个最接近成功通信的点,并且定义了当发生内容丢失或损坏时需要回滚以便恢复丢失或损坏数据的点,即断点下载的原理。
会话层还定义了当会话出现不同步时,需要重新同步化的机制。
会话层的主要任务是负责两个网络参与者之间进行的通信,这两个网络参与者在通信过程中通常交换一系列的消息或PDU(协议数据单元)。例如:用户登录到数据库上(建立阶段),输入一连串的查询(数据交换阶段),完成任务后退出登录(断开阶段)。
会话层的PDU有各种各样的类型(OSI协议族可以识别超过30种不同的PDU),该层PDU通常称为会话PDU(Session PDU),即SPDU。
VI.表示层
表示层(Presentation Layer),管理到网络上(数据流从其往下到协议栈)和到特定机器或是应用程序上(数据流从其往上到协议栈)的数据的表示方式。
表示层处理一般的、面向网络形式表示的数据到更专用的、面向平台形式表示的数据变换,以及完成相反方向的变换。表示层的这一功能使得完全不同类型的计算机(可能是用不同的方式表示数值和字符)能够跨网络进行相互通信。
一般而言,有一种特殊的操作系统驱动程序驻留在表示层。这种驱动程序,微软术语是叫作重定向器(Redirector),UNIX术语称之为网络外壳(Network Shell,Novell Netware)。
这种特殊的驱动程序,任务就是把对网络资源的请求与对本地资源的请求区分开来,并把这样的请求重定向到恰当的本地子系统或远程子系统上。如此,计算机就无需辨别要访问资源的类型,只使用单个子系统访问各种资源,而不用去管这些资源驻留在本地子系统还是驻留在跨网络的远程计算机上。
对于开发人员而言,表示层可以让开发人员很容易地构建能够随意访问本地或远程资源的应用程序;对于用户而言,表示层能够让用户简单地请求他们所需要的资源,并让重定向器去解决如何满足用户请求这样的难题。
表示层能够为应用程序提供特殊的数据处理功能。协议变换,当应用程序使用的协议不同于网络通信所用协议时,表示层会进行协议的变换,比如在电子商务、数据库或其他面向事务服务的情况下,或者是数据加密(对于出站消息)、数据解密(对于入站消息)、数据压缩(对于出站消息)、数据解压缩(对于入站消息)。
对于协议变换的服务,无论发送方的表示层做了什么,接收方的表示层都必须予以复原,从而使连接的双方在某个时刻分享相似的数据视图。
表示层的PDU有各种各样的类型,被叫做表示PDU。
VII.应用层
应用层(Application Layer),首先确认一点,应用层定义的是应用程序用于请求网络服务的接口,而不是指应用程序本身。
应用层主要定义了应用程序能够从网络上请求使用哪种类型的服务,并且规定了在从应用程序接收消息或向应用程序发送消息时,数据所必须采用的格式。
概括而言,应用层定义了一组对网络的访问控制,该层决定了应用程序能够请求网络完成什么类型的事情,或是网络支持什么类型的活动。例如,应用层规定了对特定文件或服务的访问权限,以及允许哪些用户对特定数据执行什么类型的动作。
应用层的PDU通常被叫做应用PDU。
作者:流年排队
链接:https://www.jianshu.com/p/801e650850b7
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。