考点四:OSI参考模型和TCP/IP模型

考点四:OSI参考模型和TCP/IP模型

前面我们已经讨论了体系结构的基本概念,在具体的实施中有两个重要的网络体系结构的实例:OSI参考模型和TCP/IP参考模型。虽然与OSI模型相关的协议没有被任何人所用,但实际上,它对讨论网络体系结构中每层的功能很重要(理论完美)。TCP/IP协议模型本身没有多大用处,但它的协议却已经广泛应用在工业实践中(实践完美)(知识背一背,轻松把分上)。

1.ISO/OSI参考模型

ISO/OSI参考模型是国际标准化组织(ISO)提出的网络体系结构模型,又称为开放系统互联参考模型(OSI/RM),通常简称OSI参考模型。OSI/RM参考模型有7层,自上而下依次为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层(口诀:从上到下,应表会传网数物)。下面三层统称为通信子网,它的主要功能是完成数据的通信服务,包括路由器、交换机、集线器等设备,对应计算机网络的核心子网(通信子网),完成数据的传输功能;上面三层统称为资源子网,它相当于计算机系统,包含各种资源,包括硬件资源和软件资源,对应计算机网络的边缘子网(资源子网),完成数据的处理等功能。其中传输层承上启下,是面向通信的最高层,也是面向用户(应用)的最低层。

(1)物理层(Physical Layer)关注在一条通信信道上传输原始比特,即无论面对什么样的传输介质(有线或无线)都可以传输比特流。

设计时必须确保当一方发送了比特1时,另一方收到的也是比特1,而不是比特0。这里的典型问题包括用什么电子信号来表示1和0、一个比特持续多长时间、传输是否可以在两个方向上同时进行、初始连接如何建立、当双方结束之后如何撤销连接、网络连接器的形状以及每比特的用途是什么等。这些设计问题主要涉及机械、电子和时序接口,以及物理层之下的物理传输介质等。

(2)数据链路层(Data Link Layer)的主要任务是将一个原始的传输线路转变成一条没有传输错误的线路。数据链路层完成这项任务的做法是将真实的错误掩盖起来,使得网络层看不到。为此,发送方将输入的数据拆分成数据帧,然后按顺序发送这些数据帧(链路层的PDU)。一个数据帧通常为几百个或几千个字节长。

数据链路层的另一个问题是如何避免一个快速发送方的数据“淹没”一个慢速接收方的数据。所以,往往需要一种流量调节机制,以便让发送方知道接收方何时可以接收更多的数据。

广播式网络的数据链路层还有另一个问题:如何控制对共享信道的访问。

(3)网络层(Network Layer)的主要功能是控制通信子网的运行,即如何在两个主机间实现路由选择、分组转发及网络的划分。一个关键的设计问题是如何将数据分组从发送方路由发送到接收方。路由表分为静态路由表或动态路由表(路由表相当于发送数据的地图)。

当一个数据包必须从一个网络传输到另一个网络才能够到达它的目的地时,可能会发生很多问题。例如,第二个网络所使用的寻址方案可能与第一个网络不同;第二个网络可能无法接收这个数据包,因为它太大了;两个网络所使用的协议也可能不一样等。网络层应该解决所有这些问题,从而允许异构网络(采用不同技术、不同设备)相互连接。

(4)传输层(Transport Layer)的基本功能是接收来自上一层的数据,在必要的时候把这些数据分割成较小的单元,然后把这些数据单元传递给网络层,并且确保这些数据单元正确地到达另一端。

传输层还决定了向会话层,也即最终网络用户提供哪种类型的服务。传输层是真正的端到端的层,它自始至终将数据从源端携带到接收方。换句话说,源机器上的一个进程利用报文头和控制信息与目标机器上的一个进程进行会话。第1~3层是链式连接的,而第4~7层是端到端的(抽象成考试术语:端到端的通信;进程到进程的通信)。

(5)会话层(Session Layer)允许不同机器上的用户建立会话。会话通常提供各种服务,包括对话控制(记录该由谁来传递数据)、令牌管理(禁止双方同时执行同一个关键操作),以及同步功能(在一个长传输过程中设置一些断点,以便在系统崩溃之后还能恢复到崩溃前的状态继续运行)。

(6)表示层(Presentation Layer)以下的各层最关注的是如何传递数据位,而表示层关注的是所传递信息的语法和语义。不同的计算机可能有不同的内部数据表示法,为了让这些计算机能够进行通信,它们所交换的数据结构必须以一种抽象的方式来定义,同时还定义使用的标准编码方法。

(7)应用层(Application Layer)包含了用户通常需要的各种各样的协议。一个得到广泛使用的应用协议是超文本传输协议(HyperText Transfer Protocol,HTTP),它是万维网(World Wide Web,WWW)的基础。当浏览器需要一个Web页面时,它通过HTTP将所要页面的名字发送给服务器,然后服务器将页面发回给浏览器。其他一些应用协议可用于文件传输、电子邮件及网络新闻等。

OSI/RM参考模型的层次结构及其各层功能如图1-8所示。

图1-8 OSI/RM参考模型的层次结构及其各层功能

注意:考生需要掌握每层的数据格式和功能。

2.TCP/IP模型

TCP/IP模型如图1-9所示,TCP/IP模型仅有4层结构,各层的总结如表1-1所示。

图1-9 TCP/IP模型

表1-1 TCP/IP模型各层的总结

3.OSI/RM参考模型和TCP/IP模型的区别和联系

OSI/RM参考模型和TCP/IP模型都是以协议栈为基础,对计算机网络的功能进行分层设计,但是OSI/RM参考模型和TCP/IP模型的特性存在一些差异,对比如表1-2所示。

表1-2 OSI/RM参考模型和TCP/IP模型的特性对比

4.5层教学模型

OSI/RM参考模型是7层模型(太复杂),TCP/IP模型是4层模型(太简略),教学中和学习中采用的是5层模型,本书的教学安排也按照5层结构来进行,如图1-10所示。这5层模型中,上三层来自于TCP/IP模型,下两层来自于OSI/RM参考模型。考生在学习中不要搞混了。

图1-10 5层教学模型

5.数据流动示意图

假定主机1的应用进程AP1向主机2的应用进程AP2传送数据,如图1-11所示。AP1先将其数据交给本主机的第5层(应用层)。第5层加上必要的控制信息H5,就变成了下一层的数据单元。第4层(传输层)收到这个数据单元后,加上本层的控制信息H4,再交给第3层(网络层),成为第3层的数据单元,以此类推。不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H2)和尾部(T2),而第1层(物理层)由于是比特流的传送,因此不再加上控制信息。请注意,传送比特流时应从首部开始传送。上述过程称为封装。

当这一串的比特流离开主机1经网络的物理媒体传送到路由器时,就从路由器的第1层依次上升到第3层。每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层。当分组上升到了第3层时,就根据首部中的目的地址查找路由器中的转发表,找出转发分组的接口,然后往下传送到第2层,加上新的首部和尾部后,再到最下面的第1层,然后在物理媒体上把每个比特发送出去。

当这一串的比特流离开路由器到达目的站主机时,就从主机2的第1层按照上面讲过的方式,依次上升到第5层。最后,把应用进程AP1发送的数据交给目的站的应用进程AP2。上述过程称为解封装。

可以用一个简单例子来比喻上述过程。假如大家初试考得很好,想给意向导师发邮件,有一封邮件从最高层向下传。每经过一层就包上一个新的信封,写上必要的地址信息。包有多个信封的信件传送到目的站后,从第1层起,每层拆开一个信封后就把信封中的信交给它的上一层。传到最高层后,取出发信人所发的邮件交给收信人。

图1-11 数据流动示意图

【政哥点拨】

1.开放系统互联参考模型(OSI/RM)将整个网络功能划分为7层,它们从低到高的次序为( )。

A.物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

B.物理层、传输层、数据链路层、会话层、网络层、表示层、应用层

C.物理层、传输层、数据链路层、网络层、会话层、表示层、应用层

D.物理层、数据链路层、传输层、网络层、会话层、表示层、应用层

解析 A 本题考查OSI 7层参考模型,属于记忆题。OSI/RM参考模型如图1-12所示(与TCP/IP 4层参考模型比较)。

图1-12 OSI/RM参考模型

由图1-12可以看出,OSI/RM将整个网络分成7层,由下而上、从底层到高层依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。故而,本题选择A项。

2.在TCP/IP网络体系结构中,( )实现了端到端的通信服务,( )实现了点到点的通信服务。

A.数据链路层 B.网络层 C.传输层 D.应用层

解析 C、B 如图1-13所示,端到端传输指的是在数据传输前,经过各种各样的交换设备,在两端设备间建立一条链路,就像它们是直接相连的一样,链路建立后,发送端就可以发送数据,直至数据发送完毕,接收端确认接收成功。

点到点系统指的是发送端把数据传给与它直接相连的设备,这台设备在合适的时候又把数据传给与之直接相连的下一台设备,通过一台一台直接相连的设备把数据传到接收端。

图1-13 端到端与点到点通信

在TCP/IP网络体系结构中,传输层实现了端到端的通信服务(进程之间的通信服务),网络层实现了点到点的通信服务(主机与主机之间的通信服务)。故而,本题选择C、B项。

3.在OSI参考模型中,提供流量控制功能的层是第(1)层;提供建立、维护和拆除端到端的连接的层是(2);为数据分组提供在网络中路由功能的是(3);传输层提供(4)的数据传送;为网络层实体提供数据发送和接收功能的是(5)。

(1)A.1、2、3 B.2、3、4 C.3、4、5 D.2、3、4、5、6、7

(2)A.物理层 B.数据链路层 C.会话层 D.传输层

(3)A.物理层 B.数据链路层 C.网络层 D.传输层

(4)A.主机进程之间 B.网络之间 C.数据链路之间 D.物理线路之间

(5)A.物理层 B.数据链路层 C.会话层 D.传输层

解析 D、D、C、A、B

(1)在计算机网络中,流量控制指的是通过限制发送方发出的数据流量,从而使得其发送速率不超过接收方能力的一种技术。流量控制功能可以存在于数据链路层及其之上各层。也就是除物理层之外的各层都能提供流量控制功能。但是,各层的流量控制对象不一样,各层的流量控制功能在各层实体之间进行。

在OSI参考模型中,在对等层之间传送的数据,其单位都称为协议数据单元PDU;具体来讲,在传输层称为报文段(TCP)或用户数据报(UDP),在网络层称为分组或数据报,在数据链路层称为帧,在物理层称为比特。

(2)在OSI参考模型中,物理层实现了比特流在传输介质上的透明传输;数据链路层将有差错的物理链路变成无差错的数据链路,实现相邻节点之间即点到点的数据传输。网络层的主要功能是路由选择、拥塞控制和网际互联等,实现主机到主机的通信;传输层实现主机的进程之间即端到端的数据传输。因此D项正确。

(3)参考(2)中的解释,C项正确。

(4)参考(2)中的解释,A项正确。

(5)下一层为上一层提供服务,而网络层的下一层是数据链路层,所以为网络层实体提供数据发送和接收功能的是数据链路层。B项正确。

政哥应试提醒:在考研中,结合真题的出题规律,本考点的每层的功能、数据格式、协议以及硬件设备等是考查的重点,几乎年年考查,大家多注意。

难度系数:★

牛刀小试

1.在OSI中,为实现有效、无差错数据传输,必须对传输操作进行严格的控制和管理。完成这项工作的层次是( )。

A.传输层 B.网络层 C.数据链路层 D.物理层

2.下列能够正确描述OSI参考模型中数据封装过程的是( )。

A.数据链路层在分组上增加了源MAC地址和目的MAC地址

B.传输层将数据流封装成数据帧,并增加了可靠性和流量控制信息

C.网络层将高层协议产生的数据流封装成分组,并增加了IP地址和控制信息

D.表示层将高层协议产生的数据分割成数据段,并增加了源端口和目的端口

3.在TCP/IP网络模型中,下列属于应用层协议的是( )。

A.IP、TCP、UDP B.ARP、IP、UDP C.FTP、SMTP、TELNET D.ICMP、RARP、ARP

4.在TCP/IP的5层模型中,主要的功能为提供端到端的透明数据传输服务差错控制和流量控制的层次是( )。

A.物理层 B.数据链路层 C.网络层 D.传输层

5.在ISO/OSI参考模型中,网络层的主要功能是( )。

A.提供可靠的端到端服务,透明传输报文

B.路由选择、拥塞控制与网络互联

C.在通信实体之间传送以帧为单位的数据

D.数据格式转换、数据加密和解密、数据压缩和恢复

6.下列功能中,哪个最好地描述了OSI模型中的数据链路层?( )

A.保证数据正确、无错和完整 B.处理信号通过介质的传输

C.提供用户与网络的接口 D.控制报文通过网络的路由选择

7.TCP/IP体系结构中,与ISO/OSI参考模型的1、2层对应的一层是( )。

A.网络层 B.传输层 C.应用层 D.网络接口层

8.在OSI参考模型中的网络分层,通信子网和资源子网的分界层是( )。

A.网络层 B.传输层 C.应用层 D.会话层

9.在TCP/IP模型中,哪层协议负责控制数据的可靠性、流量控制和错误恢复?( )

A.应用层 B.传输层 C.网络层 D.网络接口层

10.网络传输中对数据进行统一的标准编码在OSI体系中由哪层实现?( )

A.物理层 B.网络层 C.传输层 D.表示层

11.在ISO/OSI 模型中,( )描述了数据帧的传输规则。

A.物理层 B.数据链路层 C.网络层 D.传输层

12.在OSI环境下,下层能向上层提供的两种不同形式的服务是( )。

A.面向连接的服务与面向对象的服务 B.面向对象的服务与无连接的服务

C.面向对象的服务与面向客户的服务 D.面向连接的服务与无连接的服务

13.协议栈通常基于OSI模型或TCP/IP模型,这两种模型都具有的层是( )。

Ⅰ.网络层 Ⅱ.传输层 Ⅲ.应用层 Ⅳ.数据链路层

A.Ⅰ、Ⅲ和Ⅳ B.Ⅱ、Ⅲ和Ⅳ C.Ⅰ、Ⅱ和Ⅲ D.Ⅰ、Ⅱ和Ⅳ

牛刀小试解析

1.C 解析 本题考查数据链路层的功能。物理层通过通信解析,实现不同实体之间的链路的建立、维护和拆除,形成物理链接。但是物理层只接收和发送一串比特信息,不考虑信息的含义和信息的机构。故而,物理层不能解决真正的数据传输和控制,如异常情况处理、差错控制与恢复、信息格式等。

为了进行真正有效的、无差错的数据传输,需要对传输操作进行严格的控制和管理,这就是数据链路层传输控制协议。数据链路层协议是建立在物理层基础上的。通过数据链路层的协议,在不太可靠的物理链路上实现无差错的数据传输。

2.C 解析 本题考查OSI参考模型中的数据封装过程。

数据链路层在分组增加了帧头部,而不仅仅增加源MAC地址和目的MAC地址,A项错误。传输层将应用程序递交下来的数据流封装成报文,加上了报头,增加了可靠性和流量控制信息,B项错误。D项描述的是传输层,而不是表示层。

3.C 解析 本题考查常见的应用层协议。A项中,IP协议是网络层协议,TCP和UDP是传输层协议,所以A项错误。B项中,ARP是网络层协议。C项都是应用层协议。D项都是网络层协议。

4.D 解析 本题考查传输层的功能。本题只要看到“端到端”,考生心里就应该有底了。TCP/IP的5层模型中,自下而上第一个提供端到端服务的是传输层。

【经典总结】

物理层在各链路上透明传输比特流。

数据链路层使得相邻节点之间的不太可靠的链路上能够无差错地传输帧。

网络层在数据链路层的基础上提供路由选择、流量控制,防止阻塞和死锁的发生,并提供网络互联的功能。

传输层在网络层的基础上,实现端到端的差错纠正和流量控制,并实现两个终端系统之间的分组无差错、无丢失、无重复和保证数据的按序到达。

5.B 解析 本题考查网络层的主要功能。网络层在数据链路层的基础上提供路由选择、流量控制,防止阻塞和死锁的发生,并提供网络互联的功能。

6.A 解析 处理信号通过介质的传输,是物理层的功能;控制报文通过网络的路由选择,是网络层的功能;提供用户与网络的接口必然不是数据链路层的功能,而应该是高层的功能。

数据链路层在物理层提供的服务基础上,将网络层递交来的数据单元在邻接的两节点之间,实现透明的、高可靠的传输,保证数据的正确、无错和完整。

7.D 解析 TCP/IP和ISO/OSI非常重要,图1-14对TCP/IP和ISO/OSI的层次结构进行了比较,并总结了TCP/IP网络体系结构中常见的网络协议所在的层次。

图1-14 TCP/IP和ISO/OSI的层次结构对比

从图1-14中可以看出,TCP/IP体系结构中,与ISO/OSI参考模型的第1、2层对应的一层为网络接口层,故而本题选择D项。

8.B 解析 OSI参考模型的第5层及其以上各层为高层协议,实现了资源子网的功能,其实体为进程,实现端到端的通信;下4层协议(底层)实现了通信子网的功能,其通信实体为网络互联设备和网络通信介质,实现了点到点的通信。

高层协议的功能是处理用户接口、数据格式及应用访问,主要由操作系统实现。低层协议定义了数据如何在网络传输介质之间传送,以及数据如何通过网线和网络设备传输到期望的终端。

9.B 解析 本题考查传输层的主要功能。传输层的功能包括连接管理、流量控制、差错检测等方面。

连接管理定义了用户建立连接的规则,实现了可靠传输。

流量控制就是以网络普遍接受的速度发送数据,从而防止网络拥塞造成数据报的丢失。传输层独立于低层而运行,它定义了端到端用户之间的流量控制。

数据链路层的差错检测功能提供了可靠的链路传输,但无法检测源点和目的之间的传输错误。传输层的差错检测机制会检测到这种类型的错误。

10.D 解析 本题考查OSI参考模型中表示层的基本功能。

会话层可以看成用户与网络之间的接口,其基本任务是负责两台主机之间的原始报文的传输。通过会话层提供一个面向用户的连接任务,为合作的会话层用户之间的对话和活动提供组织和同步所必需的手段,并对数据的传输进行控制和管理。

表示层提供了语法转换、语法选择和连接管理三项功能。语法转换涉及代码转换和字符集的转换、数据格式的修改、数据结构操作的适配、数据压缩、数据加密等。语法选择是提供初始选择的一种语法和随后修改这种选择的手段。表示层的基本功能是网络的安全和保密管理、文本的压缩与打包,虚拟终端协议。

应用层是OSI的最高层,为网络用户之间的通信提供专用的应用程序,如WWW、FTP、TELNET等。

11.B 解析 数据链路层的传输单位是帧,其定义了成帧、透明传输、流量控制等机制。

12.D 解析 计算机网络提供的服务可按以下三种方式进行分类:

(1)面向连接服务与无连接服务。

在面向连接服务中,通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和所占用的资源。

在无连接服务中,通信前双方不需要先建立连接,需要发送数据时就直接发送,把每个带有目的地址的数据报发送到数据线路上,系统根据一些协议选定发送数据的路径,是一种不可靠的服务。这种服务常被描述为“尽最大努力交付”,并不保证通信的可靠性。

(2)可靠服务和不可靠服务。

可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。不可靠服务是指网络只是尽量正确、可靠地传送,但不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。不可靠服务也是一种尽最大努力的服务,不能保证服务质量,但是也不会随意丢弃数据。

(3)有应答服务和无应答服务。

有应答服务是指接收方在收到数据后向发送方给出相应的应答。无应答服务是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。

在选项中,只有D选项符合。

13.C 解析 OSI模型有7层,TCP/IP(参考)模型只有4层,它们都有网络层(或网际层)、传输层和应用层,但是其他的层并不相同。