OSI模型由7个层组成,层层堆积:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都处理某特定的通信任务,使用基于协议的通信来与协议栈的下一层交换数据。两个网络设备间的通信就是通过在每一设备的协议栈中上上下下来完成的。例如,有一工作站要与一服务器进行通信,任务从工作站的应用层开始,经由较低的层格式化某类信息,直至数据到达物理层,然后通过网络传输到服务器。服务器于协议栈的物理层获取信息,向上层发送信息以解释信息,直到到达应用层。每一层可用其名称称呼,也可用其在协议栈中的位置表明。例如,最底层可称为物理层或第1层。
最底层执行的功能与物理通信相关,如构建帧、传输含有包的信号;中间层协调结点间的网络通信,如确保通信会话无中断、无差错地持续进行。最高层的工作直接影响软件应用和数据表示,包括数据格式化、加密以及数据与文件传输管理。总括起来,这些层称为协议栈。在后续章节中,我们将详细讨论这7个层。
1、物理层
OSI模型的最底层为物理层。包含以下各项:
. 数据传输介质(电线电缆、光纤、无线电波和微波)。
. 网络插头。
. 网络拓扑结构。
. 信令与编码方法。
. 数据传输设备。
. 网络接口。
. 信令出错检验。
物理层使用的设备要传输、接收包含数据的信号,需负责产生、携带并检查电压。网络信号传输有模拟和数字两种。模拟传输可不断变化,如同具有正负级电压的波形。模拟传输应用的实例如普通无线电信号和电话信号,因为它们对于声音再生可以有无限的范围。与此类似,模拟电视和计算机的监视器可以在任一范围再现上百万种颜色。在使用模拟调制解调器进行通信的WAN中使用的便是模拟通信,例如,用户可以通过Internet服务提供商( ISP )利用该调制解调器进行Internet 访问。
在信号传输中,物理层处理数据传输速率,监控数据出错频率,并处理电压电平。物理网络问题,如通信电缆裂断、电磁干扰等均会影响物理层性能。附近的电力马达、高压线、照明设备和其他电气设备都会引起干扰。电磁干扰 (Electromagnetic Interference,EMI )和无线电频率干扰(Radio Frequency Interference,RFI )是物理层干扰的两大起因。风扇、电梯电动机、轻便加热器和空调设施等电力设备产生的磁场会产生电磁干扰;网络信号传输中要用到的电力设备(如有线电视部件、广播电视站、业余无线电报务器、荧光灯中的镇流设备、计算机或电视以及C B电台)将以相同的频率释放无线电波,而这种无线电波就是无线电频率干扰的起因。
2、数据链路层
LAN中数据链路层的作用是构造帧。每一帧均以特定的方式格式化,使得数据传输可以同步以将数据可靠地在结点间传送。这一层将格式化数据,以便作为帧编码为传输结点发送的电子信号,由接收结点解码,并检验错误。数据链路层创建了所谓的“数据链路帧”,包含着由地址和控制信息组成的域,如下所示:
. 帧的起始点( SOF )。
. 发送帧的设备的地址(源地址)。
. 接收帧的设备的地址(目标地址)。
. 管理或通信控制信息。
. 数据。
. 差错检验信息。
. 报尾(或称帧的末端)标识符。
只要在两个结点间建立了通信,它们的数据链路层就在物理(通过物理层)和逻辑(通过协议)上连接起来了。通信首先由用于数据流定时的短信号集的传输建立。链接一确立,接收端的数据链路层就将信号解码为单独的帧。数据链路层检查接收的信号,以防接收到的数据重复、不正确或是接收不完整。如果检测到了错误,就要求从发送结点一帧接一帧地重新传输数据。数据链接错误检测过程由循环冗余校验 (Cyclic Redundancy Check,CRC )处理。循环冗余校验( CRC )是一种错误检测方法,为帧中包含的整个信息域( SOF,寻址方法、控制信息、数据、CRC和EOF )计算出一个值。这个值由数据链路层插入到发送结点靠近帧的末端的位置上。当数据链路层将帧向上传送到上一层时,该值可确保帧是以接收时的顺序发送的。
数据链路层包含两个重要的子层:逻辑链接控制(Logic Link Control,LLC )和介质访问控制(Media Access Control,MAC )。LLC可对两个结点间的通信链接进行初始化,并防止链接的中断,从而确保了可靠的通信。而MAC则用来检验包含在每一帧中的地址信息。例如,工作站上的MAC子层检验工作站接收的每一个帧,如果帧的地址与工作站的地址相匹配,就将大多数网络设备都有自己唯一的地址,永久存在于设备的网络接口设备的芯片上。
该地址称为设备地址或物理地址,以16进制进行编码,如0004AC8428DE。地址的前半部分指示特定的网络厂商;如果设备只有一个接口,那么后半部分对于接口或设备而言是唯一的。许多厂商在后半部分中用一个编码来标识设备(如计算机、网桥、路由器或网关)的类型。
两种网络设备不能拥有同样的物理地址,这一点是很重要的。这是网络设备生产商们实施的一种保护措施。如果两个以上的设备拥有同样的地址,在网络上传递帧时就会引起混淆。
用于LLC子层和网络层(协议栈中数据链路层的高一级)间的通信的服务有两种。类型1是无连接服务,无连接服务并不建立发送和接收结点间的逻辑连接。这里并不检查帧是否是按发送时的顺序接收的,也并不回答帧已经被接受,而且也没有错误恢复。
类型2是面向连接的服务。在面向连接的服务中,在完整的通信开始之前,会在发送结点和接收结点之间建立逻辑连接。帧中包含有顺序号,由接收结点来检查,以确保其按发送时的顺序进行处理。由于建立了通信,所以发送结点不会让传输数据的速度高于接收结点处理数据的速度。当数据成功传输后,接收结点会通知发送结点已经接收到数据。如果发现了错误,就要重新传输数据。
3、网络层
协议栈中向上的第3层为网络层。这一层沿网络控制包的通路。所有的网络都由物理路由 (电缆路径)和逻辑路由(软件路径)组成。网络层读取包协议地址信息并将每一个包沿最优路径 (包括物理的和逻辑的)转发以进行有效传输。这一层允许包通过路由器从一个网络发送到另一个网络。网络层控制包的通路,有些象交通控制器,沿几条不同路径中最有效的那一条来路由包。为确定最优路径,网络层需要持续地收集有关各个网络和结点地址的信息,这一过程称为发现。并非所有的协议都在网络层包含信息,这些协议是不可路由的。两种典型的不能被路由的网络协议是DEC公司的LAT和Microsoft 公司的NetBEUI。这两种协议通常不在需要路由的中型和大型网络中实施。可以将多个目标地址指定为一个组。带有组目标地址的包将被传递到多个计算机或网络设备。
网络层可以通过创建虚拟(逻辑)电路在不同的路径上路由数据。虚拟电路是用来发送和接收数据的逻辑通信路径。虚拟电路只针对于网络层。既然网络层沿着多个虚拟电路管理数据,那么数据到达时就有可能出现错误的顺序。网络层在将包传输给下一层前检查数据的顺序,如有必要就对其进行改正。网络层还要对帧编址并调整它们的大小使之符合接收网络协议的需要,并保证帧传输的速度不高于接收层接收的速度。
4、传输层
与数据链路层和网络层一样,传输层的功能是保证数据可靠地从发送结点发送到目标结点。例如,传输层确保数据以相同的顺序发送和接收,并且传输后接收结点会给出响应。当在网络中采用虚拟电路时,传输层还要负责跟踪指定给每一电路的唯一标识值。这一 I D称为端口、连接标识或套接字,是由会话层指定的。传输层还要确定包错误校验的级别,最高的级别可以确保包在可以接受的时间内无差错地从结点发送到结点。
用于在传输层间通信的协议采用了多种可靠性措施。0类是最简单的协议,不执行错误校验或流控制,依靠网络层来执行这些功能。1类协议监控包传输错误,如果检查到了错误,就通报发送结点的传输层让它重新发送包。2类协议监控传输层和会话层间的传输错误并提供流控制。流控制确保设备不会以高于网络或接收设备接收信息的速度来发送信息。3类协议除提供1类和2类协议的功能外,还可以在某些环境下恢复丢失的包。最后, 4类协议除执行3类协议的功能外,还具有扩展的错误监控和恢复能力。
传输层的另一种功能就是当网络使用不同的要求包大小各异的协议时,将消息分段为较小的单元。发送网络上由传输层分割的数据单元被接收端的传输层重新以正确的顺序组合, 以便网络层解释。
5、会话层
会话层负责建立并维护两个结点间的通信链接,也为结点间通信确定正确的顺序。例如,它可以确定首先传输哪个结点。会话层还可以确定结点可以传输多远的距离以及如何从传输错误中恢复。如果传输在低层中无意地中断了,会话层将努力重新建立通信。在某些工作站操作系统中,可以将工作站从网络上断开,然后重新连接,之后无须登录便可继续工作。这是因为物理层断开又重新连接后,会话层也重新进行了连接。
这个层使每一个给定的结点与唯一的地址一一对应起来,就像邮政编码只与特定的邮政区域相关联。一旦通信会话结束,这一层就与结点断开了。
说明这一层上的通信的示例发生在工作站访问Internet上的服务器时。工作站和服务器都有唯一的用点号分开的二进制Internet 协议(IP)地址,如122.72.15.122和145.19.20.22。会话层使用这一地址信息来帮助建立结点间的联系。一旦建立了联系,工作站可以登录了,通信会话就通过会话层建立起来了。
6、表示层
这一层处理数据格式化问题,由于不同的软件应用程序经常使用不同的数据格式化方案,所以数据格式化是必需的。在某种意义上,表示层有些像语法检查器。它可以确保数字和文本以接收结点的表示层可以阅读的格式发送。例如,从IBM大型机上发送的数据可能使用的是EBC DIC字符格式化,要使运行Windows 95或Windows 98的工作站可以读取信息,就必须将其解释为ASCII字符格式。
表示层还负责数据的加密。加密是将数据编码,让未授权的用户不能截取或阅读的过程。例如,计算机的帐户密码可以在LAN上加密,或者信用卡号可以通过加密套接字协议层 (Secure Sockets Layer,SSL )在WAN上加密。
表示层的另一功能是数据压缩。当数据格式化后,在文本和数字中间可能会有空格也格式化了。数据压缩将这些空格删除并压紧数据,减小其大小以便发送。数据传输后,由接收结点的表示层来解压缩。
7、应用层
应用层是OSI模型的最高层,控制着计算机用户绝大多数对应用程序和网络服务的直接访问。这里的网络服务包括文件传输、文件管理、远程访问文件和打印机、电子邮件的消息处理和终端仿真。计算机程序员便是使用该层来将工作站连接到网络服务上,例如,可将应用程序链接到电子邮件中,或在网络上提供数据库访问。
Microsoft Windows 转向器贯穿应用层工作。转向器是使一台计算机对另一台可见,从而使得另一台计算机可以通过网络来访问它的一种网络服务。当用户共享Microsoft 网络上的文件夹时,其他计算机可以发现这台计算机并可以使用转向器访问该文件夹。