3.2 OSI参考模型
3.2.1 OSI参考模型的概念
在20世纪70年代中期,美国IBM公司推出了系统体系结构(System Network Architecture,SNA)。以后SNA又不断进行了版本更新,它是一种世界上广泛使用的体系结构。随着全球网络应用的不断发展,不同网络体系结构的网络用户之间需要进行网络的互连和信息的交换。1984年,国际标准化组织(International Organization for Standardization,ISO)发表了著名的ISO/IEC 7498标准,定义了网络互连的7层框架,这就是开放系统互连参考模型,即ISO/OSI RM(ReferenceModel of Open System Interconnection)。这里的“开放”是指只要遵循OSI标准,一个系统就可以与位于世界上任何地方、同样遵循OSI标准的其他任何系统进行通信。OSI参考模型的结构如图3-4所示。
图3-4 OSI参考模型的结构
ISO/OSI只给出了一些原则性的说明,并不是一个具体的网络。OSI参考模型将整个网络的功能划分成7个层次,最高层为应用层,面向用户提供网络应用服务;最低层为物理层,与通信介质相连实现真正的数据通信。两个用户计算机通过网络进行通信时,除物理层之外,其余各对等层之间均不存在直接的通信关系,而是通过各对等层的协议来进行通信。只有两个物理层之间通过通信介质进行真正的数据通信。
在OSI标准的制定过程中,采用的方法是将整个庞大而复杂的问题划分为若干个容易处理的小问题。这就是分层体系结构方法,分层的原则如下。
(1)根据不同层次的抽象分层。
(2)每层应当实现一个定义明确的功能。
(3)每层功能的选择应该有助于制定网络协议的国际标准。
(4)各层边界的选择应尽量减少跨过接口的通信量。
(5)层数应足够多,以避免不同的功能混杂在同一层中,但也不能太多,否则体系结构会过于庞大。
3.2.2 OSI参考模型各层的功能
ISO已经为各层制定了标准,各个标准作为独立的国际标准公布。下面以从低层到高层的顺序依次介绍OSI参考模型的各层。
1.物理层
物理层(Physical Layer)是OSI参考模型的最低层。物理层的主要任务就是透明地传送二进制比特流,即经过实际电路传送后的比特流没有发生变化。但是物理层并不关心比特流的实际意义和结构,只是负责接收和传送比特流。作为发送方,物理层通过传输介质发送数据;作为接收方,物理层通过传输介质接收数据。物理层的另一个任务就是定义网络硬件的特性,包括使用什么样的传输介质以及与传输介质连接的接头等物理特性。
物理层定义的典型规范代表有EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
值得注意的是,传送信息所利用的物理传输介质,如双绞线、同轴电缆、光纤等,并不在物理层之内而是在物理层之下。
2.数据链路层
数据链路层(Data Link Layer)是OSI参考模型的第2层。数据链路层的主要任务是在两个相邻节点间的线路上无差错地传送以帧(Frame)为单位的数据,使数据链路层对网络层显现为一条无差错线路。由于物理层仅仅接收和传送比特流,并不关心比特流的意义和结构,所以数据链路层要产生和识别帧边界。另外,数据链路层还提供了差错控制与流量控制的方法,保证在物理线路上传送的数据无差错。广播式网络在数据链路层还要处理新的问题,即如何控制各个节点对共享信道的访问。
数据链路层协议的代表有SDLC、HDLC、PPP、STP、帧中继等。
3.网络层
网络层(Network Layer)是OSI参考模型的第3层,在这一层,数据的单位为数据分组(Packet)。网络层的关键问题是如何进行路由选择,以确定数据分组(数据包)如何从发送端到达接收端。如果在子网中同时出现的数据分组太多,将会互相阻塞,影响数据的正常传输。因此,拥塞控制也是网络层的功能之一。
另外,当数据分组需要经过另一个网络以到达目的地时,第二个网络的寻址方法、分组长度、网络协议可能与第一个网络不同,因此,网络层还要解决异构网络的互连问题。
网络层协议的代表有IP、IPX、RIP、OSPF等。
4.传输层
传输层(Transport Layer)是OSI参考模型的第4层。传输层从会话层接收数据,形成报文(Message),并且在必要时将其分成若干个分组,然后交给网络层进行传输。
传输层的主要功能是:为上一层进行通信的两个进程之间提供一个可靠的端到端服务,使传输层以上的各层看不见传输层以下的数据通信细节,传输层以上的各层不再关心信息传输的问题。端到端是指进行相互通信的两个节点不是直接通过传输介质连接起来的,相互之间有很多交换设备(如路由器)。这样的两个节点之间的通信就称为端到端通信。
传输层协议的代表有TCP、UDP、SPX等。
5.会话层
会话层(Session Layer)是OSI参考模型的第5层。会话层允许不同机器上的用户建立会话关系,主要是针对远程访问,主要任务包括会话管理、传输同步以及数据交换管理等。会话一般都是面向连接的,如当文件传输到中途时建立的连接突然断掉,是从文件的开始重传还是断点续传,这个任务由会话层来完成。
会话层协议的代表有NetBIOS、ZIP(AppleTalk区域信息协议)等。
6.表示层
表示层(Presentation Layer)是OSI参考模型的第6层。表示层关心的是所传输的信息的语法和语义。表示层的主要功能是:用于处理在多个通信系统之间交换信息的表示方式,主要包括数据格式的转换、数据加密与解密、数据压缩与恢复等。
表示层协议的代表有ASCII、ASN.1、JPEG、MPEG等。
7.应用层
应用层(Application Layer)是OSI参考模型的最高层。应用层为网络用户或应用程序提供各种服务,如文件传输、电子邮件、网络管理和远程登录等。
应用层协议的代表有Telnet、FTP、HTTP、SNMP等。
3.2.3 OSI参考模型中的数据传输过程
图3-5所示为OSI参考模型中的数据传输过程。
图3-5 OSI参考模型中的数据传输过程
从图3-5中可以看出,OSI参考模型中的数据传输过程包括以下几步。
(1)应用进程A将要发送的数据传送到应用层、表示层直至物理层。
(2)物理层通过连接该主机系统与通信控制处理机CCPA的传输介质将数据传送到通信控制处理机CCPA。
(3)通信控制处理机CCPA的物理层接收到主机A传送的数据后,通过数据链路层检查是否存在传输错误,然后通过网络层的路由选择,确定下一个节点是通信控制处理机CCPB。
(4)通信控制处理机CCPA将数据传送到通信控制处理机CCPB,CCPB采用相同的方法将数据传送到主机B。
(5)主机B将接收到的数据从物理层向高层传送直至应用层。最后将数据传送给主机B的应用进程B。
在整个通信过程中,需要注意的一点是:虽然数据的实际传输方向是垂直的,但从用户的角度来看却好像数据一直是水平传输的。例如,当发送方主机的传输层从会话层得到数据后,形成报文,并把报文发送给接收方主机的传输层。从发送方主机传输层的观点来看,实际上必须先把报文传给本机的网络层,但这只是一个技术细节问题。这就如同一位说汉语的外交官在联合国大会上发言时,他认为自己是在向在座的其他国家外交官讲话,事实上,他只是在向同声翻译讲话。