开放式系统互联模型(OSI)是1984年由国际标准化组织(ISO)提出的一个参考模型。OSI模型是一种严格的理论模型,并不是一种特定的硬件设备或一套软件方案,而是不同制造商在设计硬件和软件时必须遵循的一套通信准则,就像是口语中的语法一样。OSI模型准则指出了:
· 网络设备之间如何联系,使用不同协议的设备如何通信。
· 网络设备如何获知何时传输或不传输数据。
· 如何安排、连接物理网络设备。
· 确保网络传输被正确接收的方法。
· 网络设备如何维持数据流的恒定速率。
· 电子数据在网络介质上如何表示。
OSI将通信过程定义为7层,即将联网计算机间传输信息的任务划分为7个更小、更易于处理的任务组。每一个任务或任务组则被分配到各个OSI层。每一层都是独立存在的,分配到各层的任务能够独立地执行。这样使得变更其中某层提供的方案时不影响其他层,如图1-11所示。
图1-11 OSI层
物理层(Physical Layer)在OSI模型的最底层,它建立在通信介质的基础上,作为系统和通信介质的接口,用来实现数据链路实体间比特(bit)流的透明传输。
物理层规定:为传输数据所需要的物理链路建立、维持、拆除而提供具有机械的、电子的、功能的和规范的特性。简单地说,物理层确保原始的数据可在各种物理媒体上传输。
在将数据从网卡送到通信系统中时,由物理层(Physical Layer)产生电流脉冲和光学信号脉冲。物理层的处理单位是比特(bit),即0和1。物理层还定义了电压的高低、电压变化的频率、数据传输速率、最大传输距离、物理连接装置及其他类似的特性。
物理层的协议:CCITT V.24、EIA RS-443、EIA RS-232C和ISO-2593等。
具有物理层功能的设备:RJ-45、各种线缆及接线设备。
数据链路层(Data Link Layer)是将比特收集起来,即将物理层传来的0、1信号组成数据包(也称为帧,Frame)的格式,在相邻网络实体之间建立、维持和释放数据链路连接,并传输数据链路服务数据单元。该层完成发送包前的最后封装,以及对到达包的首次检视。该层还负责在传送过程中的侦错和恢复,它将纠错码加到即将发送的包中,并对收到的包计算校验和,不完整及有缺陷的包在该层都将被丢弃。如果能够判断出有缺陷包的来处,即返回一个错误包。
数据链路层关注的内容包括:物理地址(网络地址是逻辑地址)、网络拓扑、线路的规划(终端用户如何使用网络线路)、错误通告、数据帧的有序传输和流量控制。
数据链路层的协议:ATM、IEEE 802.2、帧中继(Frame Relay)和HDLC(High-Level Data Link Control)等。
数据链路层的设备:集线器和交换机等。
网络层(Network Layer)主要规划数据在网络中最佳的传输路径。当局域网(LAN)超过了一定的规模或超越了一定的地理范围后,就必须划分为较小的逻辑网络,用以解决广播风暴和远程数据传输问题。路由器、网桥和网关等设备均可用于分割局域网,创建较小的子网。网络层为穿越多个设备的包提供路由(即传输路径),以确保包能到达正确的子局域网中的设备上。
本层维护路由表(就像是标明到达各路口的一张地图),并确定哪一个路由是最快捷的,以及何时使用替代路由(也就是说,当一条路禁止通行时,如何通过其他的路径绕道到达目的地)。这是设备对包进行过滤的第一个层次,只允许传送到其他网络的包通过,而那些在本网段内进行传输的包将被禁止通过,从而减轻了网络负载。由于数据包在网际间传输的路径不只一条,因此,该层的另一项功能是在各数据包到达目的地后再将其重新组合恢复成原来的顺序。
具有网络层功能的协议:IP、IPX和X.25。
具有网络层功能的设备:路由器(Router)和三层交换机(Switch)等。
传输层(Transport Layer)把数据分段并组装成数据流。由于应用层、表示层和会话层关心的是应用程序,而后面的4层则是处理与数据传输相关的问题。
传输层为数据的传输提供服务,对上层屏蔽传输层执行的细节。传输层作为一个转换层,即最后一个管理路由包和错误恢复的层,用于弥补网络层的任何不足。该层主要监督两节点在建立连接的状态下,将数据安全无误地送达至目的地。若数据在传送过程中发生遗失、错误、重复等,本层能够立即侦测到并更正。如果包在网络层就可靠地接收到了,那么本层的处理就很简单了。如果通信系统不能提供可靠的包传输,那么本层将通过复杂的机制予以补偿。
为了提供可靠的服务,传输层提供建立、维护和有序地中断虚电路、传输差错校验与恢复,以及信息流控制机制(防止从一个系统到另外一个系统的数据传输过程)。
具有传输层功能的协议:TCP、SPX和NetBIOS。
会话层(Session Layer),也称会晤层,主要负责建立、管理和终止两节点应用程序之间的会话。例如,两节点在正式通信前,需先协商好双方所使用的通信协议、通信方式(全双工或半双工)、如何侦错及复原,以及如何结束通信等内容。
在许多网络设置中,要求在两个通信实体间建立正式的连接,这种连接使得信息的收发具有高可靠性。当网络的可靠性成为问题时,这种面向连接的措施就是必需的。为此,面向会晤便成为大多数主机通信的标准。由于局域网通常被认为是高可靠的,所以会晤控制在局域网通信中并不普遍。
会话层为表示层提供服务,同时,也同步表示层实体之间的对话,管理它们之间的数据交换。除了会话层的这些基本规则以外,会话层也提供会话单元之间的同步、服务类别,并且报告会话层、表示层与应用层中产生的错误。在会话层,建立和断开一个连接的过程,实际上是一个“捆绑”和“解捆”的会话。由于是面向连接的,所以在本层假定包是可靠的。
表示层(Presentation Layer)确保一个系统应用层发送的信息能够被另外一个系统的应用层所识别。如果有必要,表示层还可以使用一个通用的数据表示格式在多种数据格式之间进行转换。也就是说,本层完成应用层所用数据所需的任何转换,能够将数据转换成计算机或系统程序所能读懂的格式。数据压缩和解压缩;以及数据加密和解密可能在表示层进行。当然,数据加密和压缩可由运行在OSI应用层以上的用户来完成。
具有表示层功能的协议:HTTP/HTML、FTP、Telnet和ASN.1。
应用层(Application Layer)处于最高层,也是最靠近用户的一层,为用户的应用程序提供网络服务。应用层虽然不为OSI模型7层协议中的任何其他层提供服务,但却为在OSI模型以外的应用程序提供服务。这些应用程序包括:电子数据表格程序、字处理程序、数据库程序,以及网络安全程序等。
应用层识别并证实目的通信方的可用性,使协同工作的应用程序之间进行同步,建立传输错误纠正和数据完整性控制方面的协议。它还判断是否为所需的通信过程留有足够的资源。
具有应用层功能的协议:FTP、SMTP和POP。