1、OSI七层参考体系结构
2、OSI各层次概述
1). 物理层
(1). 任务
在物理介质上正确地、透明地传送比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。
(2). 协议(标准)
规定了物理接口的各种特性和物理设备的标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等;
(3). 功能
实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异,使数据链路层不必关心网络的具体传输介质。
2). 数据链路层(data link layer)
数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路,控制网络层与物理层之间的通信。它完成了数据在不可靠的物理线路上的可靠传递。我们知道,在计算机网络中,由于各种干扰的存在,物理链路是不可靠的。为了保证数据的可靠传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的物理地址以及纠错和控制信息。其中的物理地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错的传递。换句话说,这一层在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
(1). 任务
通过各种数据链路层控制协议,实现数据在不可靠的物理线路上的可靠传递;
(2). 协议
负责提供物理地址寻址、数据的成帧、流量控制、差错控制等功能,确保数据的可靠传输;
(3). 功能与服务
接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。此外,该层还负责提供物理地址寻址、数据的成帧、流量控制、差错控制等功能。差错控制是指处理接收端发回的确认帧的信息(对等层通信),以便提供可靠的数据传输;流量控制是指抑止发送方的传输速率,使接收方来得及接收。
3). 网络层
网络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的一层,也是通信子网的最高一层,它在下两层的基础上向资源子网提供服务。网络层主要任务是将网络地址翻译成对应的物理地址,并通过路由选择算法为分组通过通信子网选择最适当的路径。特别地,网络层将通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点A 到另一个网络中节点B的最佳路径。
网络层是可选的,它只用于当两个计算机系统处于不同的由路由器分割开的网段这种情况,或者当通信应用要求某种网络层或传输层提供的服务、特性或者能力时。对于两台主机处于同一个LAN网段的直接相连这种情况,它们之间的通信只使用LAN的通信机制就可以了,即OSI参考模型的物理层和数据链路层。
(1). 任务
将网络地址翻译成对应的物理地址,并通过路由选择算法为分组通过通信子网选择最适当的路径。
(2). 协议
提供无连接数据报服务的IP协议
(3). 产品
路由器
(4). 路由选择:
网络层最重要的一个功能就是:路由选择。网路层会依据速度、距离(步跳数)、价格和拥塞程度等因素在多条通信路径中找一条最佳路径。所谓路由,一般包括路由表和路由算法两个方面。事实上,每个路由器都必须建立和维护其路由表,一种是静态维护,也就是人工设置,只适用于小型网络;另一种是动态维护,是在运行过程中根据网络情况自动地动态维护路由表。
(5).数据链路层与网络层的差异
一般地,数据链路层是解决同一网络内节点之间的通信,而网络层主要解决不同子网间的通信,例如,广域网间的通信。
寻址:数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一个唯一的地址。由于各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址);
路由算法:当源节点和目的节点之间存在多条路径时,网络层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端;
连接服务:与数据链路层流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。其目的在于防止阻塞,并进行差错检测。
4). 传输层(transport layer)
OSI下3层(物理层,数据链路层和网络层)的主要任务是数据通信,上3层(会话层,表示层和应用层)的任务是数据处理,而传输层恰好是OSI模型的第4层,是通信子网和资源子网的接口和桥梁,起到承上启下的作用。该层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。传输层的作用是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。
传输协议同时进行流量控制,即基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外,传输层按照网络能处理的最大尺寸将较大的数据进行强制分割(例如,以太网无法接收大于1500字节的数据包),发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组,这个过程也叫做排序。
(1). 任务
在源端与目的端之间提供可靠的透明数据传输,使上层服务用户不必关系通信子网的实现细节。
(2). 协议
TCP/IP中的TCP,UDP协议、Novell网络中的SPX协议和微软的NetBIOS/NetBEUI协议。其中,TCP(传输控制协议)具有传输效率低,可靠性强等特点,用于传输可靠性要求高,数据量大的数据;UDP(用户数据报协议)用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的。
(3). 功能与服务:
传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割。然后,传输层将数据传递到网络层,并确保数据能正确无误地传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层则负责监督工作。综上,传输层的主要功能如下:
(4). 传输层的特点:
(5). 传输层与网络层的区别
在协议栈中,传输层位于网络层之上,传输层协议为不同主机上运行的进程提供逻辑通信,而网络层协议为不同主机提供逻辑通信,如下图所示。这个区别很微妙,但是却非常重要,下面的这个网上的例子很好地说明了二者之间的区别。
设想一下有两所房子,一个位于东海岸,而另一个位于西海岸,每所房子里都住着12个小孩。东海岸房子里的小孩和西海岸房子里的小孩是堂兄妹。两所房子里的孩子喜欢互相通信 —— 每个孩子每周都给每一个堂兄妹写一封信,每一封信都由老式的邮局分别用信封来寄,这样,每一家每周就都有144封信要送到另一家(这些孩子如果可以用电子邮件的话就可以省掉很多钱了!)。其中,在每一家中都由一个孩子(西海岸房子里的Ann和东海岸房子里的Bill)负责邮件的收集和分发。所以,每周Ann都从她的兄弟姐妹那里收集起来信件,并将这些信件送到每天都来的邮递服务员那里;当信件到达西海岸的房子时,Ann又将这些信件分发给她的兄弟姐妹。同样地,Bill在东海岸做着同样的工作。
在这个例子中,邮递服务提供着两所房子之间的逻辑通信,也就是说,邮递服务在两所房子之间传递邮件,而不是针对个人的服务。另一方面,Ann和Bill提供堂兄妹之间的逻辑通信,也就是说,Ann和Bill从他们的兄弟姐妹那里收集邮件并将邮件递送给他们。注意,从这些堂兄妹的角度看,Ann和Bill就是邮件的服务人,尽管他们俩只是端到端寄送服务的一部分(终端系统部分)。那么,在这个例子中,与计算机网络体系结构的对应关系为:
实际上,网络层可以看作是传输层的一部分,其为传输层提供服务。但对于终端系统而言,网络层对它们而言是透明的,它们知道传输层的存在,也就是说,在逻辑上它们认为是传输层为它们提供了端对端的通信,这也是分层思想的妙处。
5). 会话层
会话层(Session Layer)是OSI模型的第五层,是用户应用程序和网络之间的接口,负责在网络中的两节点之间建立、维持和终止通信。会话层的功能包括:建立通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送。
有人把会话层称作网络通信的“交通警察”。当通过拨号向你的ISP(因特网服务提供商)请求连接到因特网时,ISP 服务器上的会话层向你与你的PC机上的会话层进行协商连接。若你的电话线偶然从墙上插孔脱落时,你终端机上的会话层将检测到连接中断并重新发起连接。
6). 表示层(Presentation Layer)
表示层是OSI模型的第六层,它对来自应用层的命令和数据进行解释,以确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。这时表示层会实现多种数据格式之间的转换。也就是说,表示层的主要功能是处理用户信息的表示问题,如编码、数据格式转换和加密解密等。表示层的具体功能如下:
数据的加密和解密:可以提高网络的安全性。
7). 应用层(Application layer)
应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务并完成用户希望在网络上完成的各种工作。应用层在其他六层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。
应用层为用户提供的服务和协议有:文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务、域名服务等。上述的各种网络服务由该层的不同应用协议和程序完成,不同的网络操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是很大的。
(1). 任务
为用户的应用进程提供网络通信服务。
(2). 服务
该层具有的各种应用程序可以完成和实现用户请求的各种服务。
(3). 功能:
(4). 协议:
OSI: VTP、MHS、FTAM、DS、…
TCP/IP: Telnet、SMTP、FTP、DNS、HTTP、…
特别地,由于TCP/IP四层模型与OSI七层模型在整体上相似(差别主要在于分层的粒度上),因此,我们在此对TCP/IP四层模型进行简述,若读者想进行深入了解,请见上一节。
1). 应用层
2).传输层
3).网络层
4).网络接口层
网络接口层用来处理连接网络的硬件部分,包括硬件的设备驱动、NIC(Network Interface Card,网卡)及光纤等物理可见部分,还包括连接器等一切传输媒介。也就是说,硬件上的范畴均在链路层的作用范围之内。