h型皮带清扫器:计算机网络的协议与体系结构

来源:百度文库 编辑:中财网 时间:2024/04/28 20:20:17
章 计算机网络的协议与体系结构
在计算机网络的基本概念中,分层次的体系结构是最基本的。我们从计算机网络的体系结构的形成开始讨论,然后讨论分层次的概念。在此基础之上介绍本书使用的计算机网络原理体系结构。本章篇幅不大,但抽象概念较多,在学习时要多思考。学好这些概念对后面的学习将会有很大的帮助。
计算机网络体系结构的形成
计算机网络是个非常复杂的系统。为了说明这一点,可以设想一个最简单的情况:连接在网络上的两台计算机要互相传送文件。
显然,在这两合计算机之间必须有一条传送数据的通路。但这还远远不够,至少还需要完成以下动作:
(1)发起通信的计算机必须将数据通信的通路进行激活(activate)。所谓“激活”就是要发出一些信今,保证要传送的计算机数据能在这条通路上正确的发送和接收。
(2)要告诉网络如何识别将要接收数据的计算机。
(3)发起通信的计算机必须查明对方计算机是否已经准备好接收数据。
(4)发起通信的计算机必须弄清楚,在对方计算机中的文件管理程序是否已做好了文件接收和存储文件的准备工作。
(5)若计算机的文件格式不兼容,则至少其中的一台计算机应完成格式转换功能。
(6)对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个结点交换机出故障等,应当有可靠的措施保证对方计算机最终能够收到正确的文件。
由此可见,相互通信的两台计算机的系统必须高度协调工作才行,而这种“协调”是相当复杂的。为了设计这样复杂的计算机网络,早在最初的ARPANET设计时就提出了分层的方法,“分层’可将庞大而复杂的问题转化为若干较小的局部问题,这些较小的局部问题就比较易于研究和处理了。
1974年,美国的IBM公司宣布了它研制的系统网络体系结构SNA(System Network Architecture),这个著名的网络标准就是按照分层的方法制定的。不久后,其他—些公司也相继推出本公司的一套体系结构,并都采用不同的名称。以后SNA又不断得到改进,更新了几个版本。现在它是世界上使用得相当广泛的一种网络体系结构。
网络体系结构的出现使得一个公司所生产的各种设备都能够很容易地互连成网。这种情况显然有利于一个公司垄断自己的产品。用户一旦购买了某个公司的网络,当需要扩大容量时,就只能再购买原公司的产品。如果同时又再购买了其他公司的产品,那么出于网络体系结构的不同,就很难互相连通。
然而,全球经济的发展使得不同网络体系结构的用户迫切要求能够互相交换信息。为了使不同体系结构的计算机网络都能互连,国际标准化组织IS0于1977年成立了专门机构研究该问题。不久,他们就提出一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型OSI/RM(Open systems Interconnection Reference Model)简称为OSI。“开放”是指:只要遵循OSI标难,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。这一点很像世界范围的电话和邮政系统,这两个系统都是开放系统。“系统”是指在现实的系统中与互连有关的各部分,所以开放系统互连参考模型OSI/RM是个抽象的概念。在1983年形成了开放系统互连基本参考模型的正式文件,即著名的ISO 7498国际标准,也就是所谓的七层协议的体系结构。
OSI试图达到一种理想境界,即全世界的计算机网络都遵循这统一的标准,因而全世界的计算机都将能够很方便地进行互连和交换数据。在20世纪80年代,许多大公司甚至—些国家的政府机构都纷纷表示支持0SI。当时看来似乎在不久的将来全世界一定全都按照OSI制定的标准来构造自己的计算机网络。然而到了20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但由于因特网已抢先在全世界覆盖了相当大的范围,而与此同时却几乎找不到有什么厂家生产出符合OSI标准的商用产品。因此人们得出这样的结论:OSI事与愿违地失败了。现今规模最大的、覆盖全世界的计算机网络因特网并未使用0SI标准。OSI失败的原因可归纳为:OSI的专家们缺乏实际经验,他们在完成OSI标准时没有商业驱动力;OSI的协议实现起来过分复杂,而且运行效率很低;OSI标准的制定周期太长,因而使得按0SI标准生产的设备无法及时进入市场:最后,OSI的层次划分也不太合理,有些功能在多个层次中重复出现。
按照一般的概念,网络技术和设备只有符合有关的国际标准才能在大范围获得工程上的应用。但现在情况却反过来了。得到最广泛应用的不是法律上的国际标准OSI,而是非国际标TCP/IP。这样,TCP/IP就常被称为是事实上的国际标准。从这种意义上说,能够占领市场的就是标准。在过去制定标准的组织中往往以专家、学者为主。但现在许多公司都纷纷挤进各种各样的标准化组织,使得技术标准具有浓厚的商业气息。—个新标准的出现,有时不一定反映出其技术水平是最先进的,而是往往有着一定的市场背景。
协议与划分层次
在计算机网络中要做到有条不紊地交换数据,就必须遵守—些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的(即同频或同频同相)而是广义的,即在一定的条件下应当发生什么事件(如发送一个应答信息),因而同步含有时序的意思。这些为进行网络中的数据交换而建立的规则、标准或约定即称为网络协议。更进一步讲,—个网络协议主要由以下三个要素组成:
(1)语法,即数据与控制信息的结构或格式;
(2)语义,即需要发出何种控制信息,完成何种动作,以及做出何种响应。
(3)同步,即事件实现顺序的详细说明。
由此可见,网络协议是计算机网络的不可缺少的组成部分。
ARPANET的研制经验表明,对于非常复杂的计算机网络协议,其结构应该采用层次式的。我们可以举一个简单的例子来说明划分层次的概念。
现在假定我们在计算机1和计算机2之间通过一个通信网络传送文件。这是一件比较复杂的工作,因为还需要做不少的工作。
我们可以将要做的工作划分为三类,第一类工作与传送文件直接有关。例如,发送方的文件传送应用程序应当确信接收方的文件管理程序已做好接收和存储文件的准备。若两台计算机所用的文件格式不一样.则至少其中的一台计算机应完成文件格式的转换工作。这两件工作可用一个文件传送模块来完成。这样,两个计算机可将文件传送模块作为最高的一层(如图2-1所示。在这两个模块之间的虚线表示两个计算机系统交换文件和一些有关文件交换的命令。

图2-1 划分层次的举例
但是,我们并不想让文件传送模块完成全部工作的细节,这样会使文件传送模块过于复杂。我们可以再设立一个通信服务模块.用来保证文件和文件传送命令可靠地在两个系统之间交换。也就是说,让位于上面的文件传送模块利用下面的通信服务模块所提供的服务。我们还可以看出,如果将位于上面的文件传送模块换成电子邮件模块,那么电子邮件模块同样可以利用在它下面的通信服务模块所提供的可靠通信的服务。
同样道理,我们再构造一个网络接入模块,让这个模块负责做与网络接口细节有关的工作,并向上层提供服务,使上面的通信服务模块能够完成可靠通信的任务。
从上述简单例子可以更好地理解分层可以带来如下好处:
(1)各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现—种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂程度就下降了。
(2)灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。甚至当某层提供的服务不再需要时,还可以将这层取消而不会影响其他的层。
(3)结构上可分割开,各层都可以采用最合适的技术来实现。
(4)易于实现利维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统己被分解为若干个相对独立的子系统。
(5)能促进标准化工作,因为每一层的功能及其所提供的服务都已有了精确的说明。
分层时应注意使每一层的功能非常明确。若层数太少,就会使每一层的协议太复杂。但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。通常每一层所要实现的一般功能往往是下面的一种功能或多种功能。
差错控制 使得和网络对端的相应层次的通信更加可靠; 流量控制 使得发送端的发送速率不要太快,要使接收端来得及接收; 分段和重装 发送端将要发送的数据块划分为更小的单位,在接收端将其还原; 复用和分用 发送端几个高层会话复用一条低层的连接,在接收端再进行分用;
连接建立和释放 在交换数据之前,先交换一些控制信息,以建立一条逻辑连接;当数据传送结束时,将连接释放。
分层当然也有一些缺点,例如,有些功能会在不向的层次中重复出现,因而产生了额外开销。
我们将计算机网络的各层及其协议的集合称为网络的体系结构(architecture),也就是说,计算机网络的体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。需要强调的是:这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现(implementation)的问题。体系结构的英文名词architecture的原意是建筑学或建筑的设计和风格。它和一个具体的建筑物的概念很不相同。例如,我们可以走进一个明代的建筑物中,但不能走进一个明代的建筑风格之中。同理,我们也不能把一个具体的计算机网络说成是一个抽象的网络体系结构。总之,体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
具有五层协议的计算机网络体系结构
2.3.1 从OSI体系结构到原理体系结构
OSI的七层协议体系结构既复杂又不实用,但其概念清楚,体系价格低廉,理论较完整。TCP/IP的协议现在得到了全世界的承认,但它实际上并没有一个完整的体系结构。TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层。但从实质上讲,TCP/IP只有三层,即应用层、运输层和网际层,因为最下面的网络接口层并没有什么具体内容。因此在学习计算机网络的原理时往往采取折衷的办法,也就是综合OSI和TCP/IP的优点,采用一种原理体系结构,它只有五层(如图2-2所示),这样既简洁又能将概念阐述清楚[TANE96]。

图2-2具有五层协议的计算机网络体系结构
下面我们将结合因特网的情况,自上而下地简单介绍各层的主要功能。但只有认真学习完各章的协议后才能真正弄清各层的作用。
1.应用层(application layer)
应用层是原理体系结构中的最高层。应用层确定进程之间通信的性质以满足用户的需要(这反映在用户所产生的服务请求)。这里的进程就是指正在运行的程序。应用层不仅要提供应用进程所需要的信息交换和远地操作,而且还要作为互相作用的应用进程的用户代理(user Agent),来完成一些为进行语义上有意义的信息交换所必须的功能,应用层直接为用户的应用进程提供服务。在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议等等。
2.运输层(transport layer)
运输层的任务就是负责主机中两个进程之间的通信,其数据传输的单位是报文(segment)。运输层具有复用(multiplexing)和分用(demultiplexing)的功能。运输层中的多个进程可复用下面网络层的传输功能,到了目的主机的网络层后,再使用分用功能,将数据交付给相应的进程。
因特网的运输层可使用两种不同协议。即面向连接的传输控制协议TCP(Transmission Control Protocol),和无连接的用户数据报协议UDP(User Datagram Protocol)。面向连接的服务能够提供可靠的交付,但无连接服务则不能提供可靠的交付,它只是“尽最大努力交付(best-effort delivery)”。这两种服务方式都很有用,各有其优缺点。
在分组交换网内的各个交换结点机都没有运输层。运输层只能存在于分组交换网外面的主机之中。运输层以上的各层就不再关心信息传输的问题了。正因为如此,运输层就成为计算机网络体系结构中非常重要的一层。
网络层负责为分组交换网上的不同主机提供通信。在网络层,数据的传送单位是分组或包。在TCP/IP体系中,分组也叫做IP数据报,或简称为数据报:因此不要将运输层的用户数据报和网络层的IP数据报弄混。网络层的任务就是要选样合适的路由,使发送站的运输层所传下来的分组能够按照地址找到目的主机。
这里要强调指出,网络层中的“网络”二字,已不是我们通常谈到的具体的网络,而是在计算机网络体系结构模型中的专用名词。对于由广播信道构成的分组交换网,路由选择的问题很简单,因此这种网络的网络层非常简单,甚至可以没有。
因特网是一个很大的互联网,它的大量的异构(heterogeneous)网络通过路由器(router)相互连接起来。因特网主要的网络层协议是无连接的网际协议IP(Internet Protocol)和许多种路由选择协议,因此因特网的网络层也叫做网际层或IP层。在本书中,网络层、网际层和IP层都是同义语。
数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。每一帧包括数据和必要的控制信息。在传送数据时,若接收结点检测到所收到的数据中有差错,就要通知发方重发这一帧,直到这一帧正确无误地到达接收结点为止。在每一帧所包括的控制信息中,有同步信息、地址信息、差错控制以及流量控制信息等。数据链路层有时也常简称为链路层。
这样,数据链路层就把一条有可能出差错的实际链路,转变成为让网络层向下看去好去是一条不出差错的链路。
5.物理层(physical layer)
物理层的任务就是透明地传送比特流。在物理层上所传数据的单位是比特。传递信息所利用的一些物理媒体.如双绞线、同轴电缆、光缆等,并不在物理层之内而是在物理层的下面。因比也有人把物理媒体当作第0层。
“透明”是一个很重要的术语。它表示:某一个实际存在的事物看起来却好像不存在一样。“透明地传送比特流”表示经实际电路传送后的比特流没有发生变化,因此,对传送比特流来说,由于这个电路并没有对其产生什么影响,因而比特流就“看不见”这个电路。或者说,这个电路对该比特流来说是透明的。这样,任意组合的比特流都可以在这个电路上传送。当然,哪几个比特代表什么意思,则不是物理层所要管的,
物理层要考虑用多大的电压代表“1”或“0”,以及当发送端发出比特“1”时,在接收端如何识别出这是比特“1”而不是比特“0”。物理层还要确定连接电线的插头应当有多少根腿以及各个腿应如何连接。
在因特网所使用的各种协议中,最重要的和最著名的就是TCP和IP两个协议:现在人们经常提到的TCP/IP并不一定是指TCP和IP这两个具体的协议,而往往是表示因特网所使用的体系结构或是指整个的TCP/IP协议族(protocol suite)。
图2-3说明的是应用进程的数据在各层之间的传递过程中所经历的变化。这里为简单起见,假定两个主机是直接相连的。
假定计算机1的应用进程AP1向计算机2的应用进程AP2传送数据。AP1先将其数据交给第5层。第5层加上必要的控制信息H5就变成了下一层的数据单元,第4层收到这数据单层后,加上本层的控制信息H4,再交给第3层,成为第3层的数据单元。依此类推。不过到了第2层(数据链路层)后,控制信息分成两部分,分别加上本层数据单元的首部(H2)和尾部(T2),而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。
请读者注意。我们在画出数据单元时,习惯上是将数据单元的首部画在左边,而将数据部分画在首都的右边,尾部画在最右边。在传送时,都是先传送数据单元的首部,再传送数据部分,最后传送尾部。因此,当我们观察图2-3时,不要误认为“从计算机1向计算机2传送数据时,是先传送数据部分或尾部,而最后传送首部。”

图2-3数据在不同层间的流动
在OSI参考模型中,在对等层次上传送的数据,其单位都称为该层的协议数据单元PDU(Protocol Data Unit)。这个名词现已被许多非OSI标准中采用。
当这—串的比特流经网络的物理媒体传送到目的站时,就从第1层依次上升到第5层。每—层根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层。最后,把应用进程AP1发送的数据交给目的站的应用层进程AP2。
可以用一个简单的例子来比喻上述过程。有—封信从最高层向下传。每经过—层就包上一个新的信封。包有多个信封的信传送到目的站后,从第1层起,每层拆开一个信封后就交给它的上一层。传到最高层后,取出发信人所发的信交给收信用户。
虽然应用进程数据要经过如图2-3所示的复杂过程才能送到对方的应用进程,但这些复杂过程对用户来说都已被屏蔽掉了,以致应用通往AP1觉得好像是直接把数据交给了应用进程AP2。同理,任何两个同样的层次(例如在两个系统的第四层)之间,也好像如同图中的水平虚线所示的那样,将数据(即数据单元加上控制信息)通过水平虚线直接传递结对方。这就是所谓的“对等层”(Peer layers)之间的通信。我们以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。
在文献中也还可以见到术语“协议栈”(protocol stack)。这是因为几个层次画在一起很像一个栈(stack)。
2.3.2 实体、协议、服务和服务访问点
当研究在开放系统中进行交换信息时,发送或接收信息的究竟是一个进程,是一个文件还是一个终端,都没有实质上的影响。为此,可以用实体(entity)这—名词表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。
协议是控制两个对等实体进行通信的规则的集合。协议的语法方面的规则定义了所交换的信息的格式,而协议的语义方面的规则就定义了发送者或接收者所要完成的操作,例如,在何种条件下数据必须重传或丢弃。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
一定要弄清楚,协议和服务在概念上是很不一样的。
首先,协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。
其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。另外,并非在—个层内完成的全部功能都称为服务。只有那些能够被高一层看得见的功能才能称之为“服务”。上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在0SI中称为服务原语。
在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP(Service Access Point)。服务访问点SAP是一个抽象的概念,它实际上就是—个逻辑接口(有些像邮政信箱),但和通常所说的两个设备之间的硬件并行接口或串行接口是很不一样的。OSI将层与层之间交换的数据的单位称为服务数据单元SDU(Service Data Unit)。它可以与PUD不一样。例如,可以是多个SDU合成为一个PDU,也可以是一个SDU划分为几个PDU。
这样,在任何相邻两层之间的关系可概括为图2-4所示的那样。这里要注意的是,某一层向下一层所提供的服务实际上已包括了在它以下各层所提供的服务。所有这些对上一层来说就相当于一个服务提供者。在服务提供者的上一层的实体,也就是“服务用户”,它使用服务提供者所提供的服务。
计算机网络的协议还有一个很重要的特点,就是协议必须将所有不利的条件都事先估计到,而不能假定都是在很顺利的条件下进行通信。例如,两个朋友在电话中约好.晚上8时在某某电影院门口碰头,然后看电影,并且约定“不见不散”。这就是—个很坏的协议,因为任何一方临时有急事来不了,另—方按照协议就必须永远等待下去,这显然是不行的。因此,看一个计算机网络协议是否正确,就要看这个协议能否应付任何不利的情况,哪怕这种不利情况出现的概率极其微小。
下面是一个有关协议的非常著名的例子。
占据东边和西边两个山顶的蓝军与驻扎在这两个山之间的山谷的白军作战。其力量对比是:—个山顶上的蓝军打不过白军,但两个山顶的蓝军协同作战则可战胜白军。东边蓝军拟于次日正午向白军发起攻击。于是用计算机发送电文给西边的友军,但通信线路很不好,电文出错或丢失的可能性较大。因此要求收到电文的友军必须送回一个确认电文。但比确认电文也可能出错或丢失。试问能否设计出一种协议使得两个山顶的蓝军能够实现协同作战因而一定(即100%而不是99.999.%)取得胜利
东边蓝军先发送:“拟于次日下午向白军发起攻击,请协同作战,并确认。”
西边蓝军收到电文后加以确认,回答:“同意。”
然而现在两边的蓝军都不敢贸然下决心进攻。因为,西边蓝军不知道此确认电文对方是否正确地收到了。如未正确收到,东边蓝军必定不敢贸然进攻;在此情况下,如果自己发起进攻就肯定要失败。因此,必须等待东边蓝军的“对确认的确认”。
假定西边蓝军收到了东边蓝军发送的确认。但东边蓝军同样关心自己发出的确认是否已被对方正确地收到。因此还要等待西边蓝军的“对确认的确认的确认”。
这样无限循环下去,两边的蓝军都始终无法确定自己最后发送的电文对方是否已经收到。因此,没有—种协议能够使两边的蓝军能够100%地确定双方将于次日正午发起的协同进攻。
从这个例子可以看出,哪怕看起来是个很简单的问题,要设计—个很可靠的协议则并不简单。
2.3.3 面向连接服务与无连接服务
从通信的角度看,各层所提供的服务可分为两大类.即面向连接的(connection-oriented)与无连接的(connectionless).现分别介绍如下。
1.面向连接服务
所谓连接,就是两个对等实体为进行数据通信而进行的一种结合。面向连接服务是在数据交换之前,必须先建立连接。当数据交换结束后,则应终止这个连接。
面向连接服务具有连接建立、数据传输和连接释放这三个阶段。在传送数据时是按序传送的。这点和电路交换的许多特性很相似,因此面向连接服务在网络层中又称为虚电路服务。“虚”表示:虽然在两个服务用户的通信过程中并没有至始至终占用一条端到端的完整物理电路(注意:采用分组交换时,链路是逐段被占用的),但好像—直占用了一条这样的电路。面向连接服务比较适合于在一定期间内要向同一目的地发达许多报文的情况。对于发送很短的零星报文,面向连接服务的开销就显得过大了。
若两个用户需要经常进行频繁的通信,则可建立永久虚电路。这样就免除每次通信时连接建立和连接释放这两个过程。这点和电话网中的专用电路通信是十分相似的。
2.无连接服务
在无连接服务的情况下,两个实体之间的通信不需要先建立好—个连接,因此其下层的有关资源不需要事先进行预定保留;这些资源将在数据传输时动态地进行分配。
无连接服务的另—特征就是它不需要通信的两个实体同时是活跃的(即处于激活态)。当发送端的实体正在进行发送时,它才必须是活跃的。这时接收端的实体并不—定必须是活跃的。只有当接收端的实体正在进行接收时,它才必须是活跃的。
无连接服务的优点是灵活方便和比较迅速,但无连接服务不能防止报文的丢失、重复或失序。无连接服务特别适合于传送少量零星的报文。
无连接服务有以下三种类型:
(1)数据报(datagram)。它的特点不需要接收端做任何响应,因而是一种不可靠的服务数据报常被描述为“尽最大努力交付”(best effort delivery)。
(2)证实交付(confirmed delivery)。它又称为可靠的数据报。这种服务对每—个报文产生一个证实给发方用户,不过这个证实不是来自接收端的用户而是来自提供服务的层。这种证实只能保证报文已经发给远端的目的站了,但并不能保证目的站用户已收到了这个报文。
(3)请求回答(request-reply)。这种类型的数据报是收端用户每收到一个报文,就向发端用户发送一个应答报文。事务(即transaction,又可译为事务处理或交易)中的“一问—答”方式的短报文,以及数据库中的查询,都很适合使用这种类型的服务。
体系结构
前面已经说过,TCP/IP的体系结构比较简单,它只有四层。图2.4给出了用这种四层协议表示方法的例子。注意,路由器在转发分组时最高只用到网络层而没有使用运输层和应用层。路由器的数据链路层和物理层是在路由器的网络接口板上实现的。
还有一种方法,就是分层次画出具体的协议来表示TCP/IP族,如图2-5所示,它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP中。这种很像沙漏计时器形状的TCP/IP族表明:TCP/IP可以为各式各样的应用提供服务(所谓的everything over IP),同时TCP/IP也可以允许IP在各式各样的网络构成的互联网上运行(所谓的IP over everything)。正因为如此,因特网才会发展到今天的这种全球规模。从图2-5不难看出IP在因特网中的核心作用。

【例1】 下面我们利用协议栈说明在因特网中常用的客户服务器工作方式。
图2-6中的主机A和主机B都各有自己的协议栈。主机A中的应用进程(即客户进程)的位置在最高的应用层。这个客户进程向主机B应用层的服务器进程发出请求,请求建立连接(图中的①)。然后,主机B中的服务器进程接受主机A中的客户进程发来的请求(图中的②)。所有这些通信,实际上都需要使用下面各层所提供的服务。但若仅仅考虑客户进程和服务器进程的交互,则可把它们之间的交互看成是如图2-6中的水平虚线所示的那样。

图2.7画出了三个主机的协议栈。主机C的应用层中同时有两个服务器进程在通信。服务器l在和主机A中的客户1通信,而服务器2在和主机B中的客户2通信。有的服务器进程可以同时向几百个客户进程提供服务。

网络协议的三个要素是什么 各有什么含义? 网络体系结构为什么要采用分层次的结构 试举出—些与分层体系结构的思想相似的日常生活。 试述具有五层协议的原理网络体系结构的要点,包括各层的主要功能。 试举出日常生活中有关“透明”这种名词的例子。 试将TCP/IP和OSI的体系结构进行比较,讨论其异同之处。 解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户服务器方式。 面向连接服务与无连接服务各自和特点是什么? 协议与服务有何区别 有何关系?