OSI(Open Systems Interconnection)
OSI模型本身不是网络体系结构的全部内容,这是因为它并未确切地描述用于各层的协议和服务,它仅
仅告诉我们每一层应该做什么。它仅仅是一种网络教学模型。到目前为止,OSI模型还没有实现。
各层之间相互独立,某一层只要了解下一层通过接口所提供的服务,而不需了解其实现细节。灵活性
好,若某一层的内容发生变化,只要接口关系不变,上下层均不受影响。同时,也便于程序的实现、
调试和维护。标准化程度高,由于结构上分割成较小部分,各层都可以选择最适合的实现技术。
应用层(第七层):应用层作为开放系统的最高层,直接为应用进程提供服务,可实现多个系统进程
的相互通信,提供应用程序所需要的应用层协议。比如,上网时,输入了网址要用到浏览器这个应用
程序和HTTP以及DNS这两个应用层协议;telnet也是应用层的,因为telnet本身也是一种应用程序。
表示层(第六层):表示层是处理所有与数据表示及传输有关的问题。表示层服务的一个例子是用大
家一致同意的标准方法对数据编码,目的是为了使不同体系的计算机编码能一致。表示层的主要功能
有语法的转换,语法协商,连接管理。
会话层(第五层):该层对传输的报文提供同步管理服务,当出现传输意外时,此层确定从何处开始恢
复会话。
在会话层及以上的高层中,数据传输的单位统称为报文。会话层提供包括访问验证和会话管
理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
会话层的主
要功能是对话管理、数据流同步和重新同步。在数据传输阶段,两个会话用户之间实现有组织,同步
的数据传输。用户数据单元为SSDU,而协议数据单元为SPDU。会话用户之间的数据传送过程是将SSDU
转换SPDU进行。
传输层(第四层):传输层为上层用户提供不具体网络的高效透明端对端数据传输服务,提供建立、
维护和取消传输连接功能,负责可靠地传输数据,是面向网络通讯的低三层和面向信息处理的最高三
层之间的中间层。传输层要达到提供可靠端对端通信和向会话层提供独立于网络的传输服务的两个目
的。以报文为单位。
网络层(第三层):网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻
辑地址信息--源站点和目的站点地址的网络地址。它的任务是选择合适的路由和交换节点,使源的传
输层传下来的分组信息能够正确无误地按照地址找到目的地,并交给相应的传输层,即完成网络的寻
址功能。
链路层(第二层):数据传输层负责在两个相邻节点间的线路上出差错的传输以帧为单位的数据,每
一帧包括一定数量的数据和一些必要的控制信息。数据链路层要负责建立维持和释放数据的连接。当
检测到出错时就重发这一帧。简言之,数据链路层将数据分成一个个数据帧,以数据帧为单位进行传
输,有应必答,遇错重发。帧含有源站点和目的站点的物理地址。该层应具有如下功能:链路连接的
建立、拆除、分离;帧定界和帧同步;顺序控制;差错检测和恢复;流量控制;等。
物理层(第一层):物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的
环境,它在物理媒体上传输原始的数据比特流。其主要功能有为数据端设备提供传送数据的通路,传
输数据(以比特为单位),完成物理层的一些管理工作。物理层必须要考虑的问题是怎样才能在连接
各种计算机的传输媒体上传输数据的比特流,而不是只连接计算机的物理设备和具体的传输媒体。
通例:以QQ聊天为例,QQ会调用一些应用层的协议或进程,当输入聊天信息后,消息以报文的形式会
由表示层协议生成统一的编码,会话层监控同步并保证出错恢复,然后由传输层建立端到端的连接,
报文经网络层会变为一帧一帧的数据,由于包含源地址和目的地址等信息,通过链路层逐步完成相邻
节点的传输,而这一切表现在物理层便是比特流的形式。