1.7 计算机网络体系结构
在计算机网络的基本概念中,分层次的体系结构是最重要的。计算机网络体系结构的抽象概念较多,在学习时要多思考。这些概念对后面的学习很有帮助。
1.7.1 计算机网络体系结构的形成
计算机网络是个非常复杂的系统。为了说明这一点,可以设想一个最简单的情况:连接在网络上的两台计算机要互相传送文件。
显然,在这两台计算机之间必须有一条传送数据的通路。但这还远远不够。至少还有以下几件工作需要去完成:
(1)必须保证要传送的计算机数据能在这条通路上正确发送和接收。
(2)要告诉网络如何识别接收数据的计算机。
(3)发起通信的计算机必须查明对方计算机是否已开机,并且与网络连接正常。
(4)发起通信的计算机中的应用程序必须弄清楚,在对方计算机中的文件管理程序是否已做好文件接收和存储文件的准备工作。
(5)若计算机的文件格式不兼容,则至少其中的一个计算机应完成格式转换功能。
(6)对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个结点交换机出故障等,应当有可靠的措施保证对方计算机最终能够收到正确的文件。
还可以举出一些要做的其他工作。由此可见。相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。为了设计这样复杂的计算机网络,早在最初的ARPANET设计时即提出了分层的方法。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
1974年,美国的IBM公司宣布了系统网络体系结构SNA(System Network Architecture)。这个著名的网络标准就是按照分层的方法制订的。现在用IBM大型机构建的专用网络仍在使用SNA。不久后,其他一些公司也相继推出自己公司的具有不同名称的体系结构。
不同的网络体系结构出现后,使用同一个公司生产的各种设备都能够很容易地互连成网。这种情况显然有利于一个公司垄断市场。用户一旦购买了某个公司的网络,当需要扩大容量时,就只能再购买原公司的产品。如果购买了其他公司的产品,那么由于网络体系结构的不同,就很难互相连通。
然而全球经济的发展使得不同网络体系结构的用户迫切要求能够互相交换信息。为了使不同体系结构的计算机网络都能互连,国际标准化组织ISO于1977年成立了专门机构来研究该问题。不久,他们就提出一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model),简称为OSI。“开放”是指非独家垄断的。因此只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。这一点很像世界范围的电话和邮政系统,这两个系统都是开放系统。“系统”是指在现实的系统中与互连有关的各部分(我们知道,并不是一个系统中的所有部分都与互连有关。OSI/RM参考模型是把与互连无关的部分除外,而仅仅考虑与互连有关的那些部分)。所以OSI/RM是个抽象的概念。在1983年形成了开放系统互连基本参考模型的正式文件,即著名的ISO7498国际标准,也就是所谓的七层协议的体系结构。
OSI试图达到一种理想境界,即全世界的计算机网络都遵循这个统一的标准,因而全世界的计算机将能够很方便地进行互连和交换数据。在20世纪80年代,许多大公司甚至一些国家的政府机构纷纷表示支持OSI。当时看来似乎在不久的将来全世界一定会按照OSI制定的标准来构造自己的计算机网络。然而到了20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但由于因特网已抢先在全世界覆盖了相当大的范围,而与此同时却几乎找不到有哪个厂家生产出符合OSI标准的商用产品。因此人们得出这样的结论:OSI只获得了一些理论研究的成果,但在市场化方面OSI则事与愿违地失败了。现今规模最大的、覆盖全世界的因特网并未使用OSI标准。OSI失败的原因可归纳为:
(1)OSI的专家们缺乏实际经验,他们在完成OSI标准时缺乏商业驱动力;
(2)OSI的协议实现起来过分复杂,而且运行效率很低;
(3)OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场;
(4)OSI的层次划分不太合理,有些功能在多个层次中重复出现。
顺便说一下,虽然OSI在一开始是由ISO来制订的,但后来的许多标准都是ISO与原来的国际电报电话咨询委员会CCITT联合制订的。从历史上来看,CCITT原来是从通信的角度考虑一些标准的制定,而ISO则关心信息的处理。但随着科学技术的发展,通信与信息处理的界限变得比较模糊了。于是,通信与信息处理就都成为CCITT与ISO所共同关心的领域。CCITT的建议书X.200就是关于开放系统互连参考模型,它和上面提到的ISO7498基本上是相同的。
按照一般的概念,网络技术和设备只有符合有关的国际标准才能大范围地获得工程上的应用。但现在情况却反过来了。得到最广泛应用的不是法律上的国际标准OSI,而是非国际标准TCP/IP。这样,TCP/IP就常被称为是事实上的国际标准。从这种意义上说,能够占领市场的就是标准。在过去制定标准的组织中往往以专家、学者为主。但现在许多公司都纷纷挤进各种各样的标准化组织,使得技术标准具有浓厚的商业气息。一个新标准的出现,有时不一定反映出其技术水平是最先进的,而是往往有着一定的市场背景。
1.7.2 协议与划分层次
在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式,以及需要发出何种控制信息和响应(包括事件实现顺序)。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(network protocol)。网络协议也可简称为协议。
由此可见,网络协议是计算机网络的不可缺少的组成部分。实际上,只要我们想让连接在网络上的另一台计算机做点什么事情(例如,从网络上的某台主机下载文件),我们都需要有协议。但是当我们经常在自己的PC上进行文件的读写操作时,就不需要任何网络协议,除非这个用来存储文件的磁盘是网络上的某个文件服务器的磁盘。
协议通常有两种不同的形式。一种是使用便于人来阅读和理解的文字描述。另一种是使用让计算机能够理解的程序代码。这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释。
ARPANET的研制经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的。我们可以举一个简单的例子来说明划分层次的概念。
现在假定我们在主机1和主机2之间通过一个通信网络传送文件。这是一件比较复杂的工作,因为需要做不少的工作。
我们可以将要做的工作划分为三类。第一类工作与传送文件直接有关。例如,发送端的文件传送应用程序应当确信接收端的文件管理程序已做好接收和存储文件的准备。若两台主机所用的文件格式不一样,则至少其中的一台主机应完成文件格式的转换。这两件工作可用一个文件传送模块来完成。这样,两台主机可将文件传送模块作为最高的一层(见图1-14)。在这两个模块之间的虚线表示两台主机系统交换文件和一些有关文件交换的命令。
图1-14 划分层次的举例
但是,我们并不想让文件传送模块完成全部工作的细节,这样会使文件传送模块过于复杂。可以再设立一个通信服务模块,用来保证文件和文件传送命令可靠地在两个系统之间交换。也就是说,让位于上面的文件传送模块利用下面的通信服务模块所提供的服务。我们还可以看出,如果将位于上面的文件传送模块换成电子邮件模块,那么电子邮件模块同样可以利用在它下面的通信服务模块所提供的可靠通信的服务。
同样道理,我们再构造一个网络接入模块,让这个模块负责做与网络接口细节有关的工作,并向上层提供服务,使上面的通信服务模块能够完成可靠通信的任务。
从上述简单例子可以更好地理解分层可以带来很多好处。例如:
(1)各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂程度就降低了。
(2)灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。当某层提供的服务不再需要时,甚至可以将这层取消。
(3)结构上可分割开。各层都可以采用最合适的技术来实现。
(4)易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统。
(5)能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。
分层时应注意使每一层的功能非常明确。若层数太少,就会使每一层的协议太复杂。但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。通常各层所要完成的功能主要有以下一些(可以只包括一种,也可以包括多种):
① 差错控制 使得和网络对等端的相应层次的通信更加可靠。
② 流量控制 使得发送端的发送速率不要太快,要使接收端来得及接收。
③ 分段和重装 发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
④ 复用和分用 发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
⑤ 连接建立和释放 交换数据前先建立一条逻辑连接。数据传送结束后释放连接。
分层当然也有一些缺点,例如,有些功能会在不同的层次中重复出现,因而产生了额外开销。
我们把计算机网络的各层及其协议的集合,称为网络的体系结构(architecture)。换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。需要强调的是:这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现(implementation)的问题。体系结构的英文名词architecture的原意是建筑学或建筑的设计和风格。它和一个具体的建筑物的概念很不相同。例如,我们可以走进一个明代的建筑物中,但却不能走进一个明代的建筑风格之中。同理,我们也不能把一个具体的计算机网络说成是一个抽象的网络体系结构。总之,体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
1.7.3 具有五层协议的体系结构
OSI的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。TCP/IP体系结构则相反,但它现在却得到了非常广泛的应用。TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层。不过从实质上讲,TCP/IP只有最上面的三层,因为最下面的网络接口层并没有什么具体内容。因此在学习计算机网络的原理时往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构(见图1-15),这样既简洁又能将概念阐述清楚。
图1-15 具有五层协议的计算机网络体系结构
现在结合因特网的情况,自上而下地、非常简要地介绍一下各层的主要功能。实际上,只有认真学习完本书各章的协议后才能真正弄清各层的作用。
(1)应用层(application layer)
应用层是体系结构中的最高层。应用层直接为用户的应用进程提供服务。这里的进程(process)就是指正在运行的程序。在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,等等。
(2)运输层(transport layer)
运输层的任务就是负责向两台主机中进程之间的通信提供服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用则是运输层把收到的信息分别交付上面应用层中的相应的进程。
运输层主要使用以下两种协议:
① 传输控制协议TCP(Transmission Control Protocol)——面向连接的,数据传输的单位是报文段(segment),能够提供可靠的交付。
② 用户数据报协议UDP(User Datagram Protocol)——无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付(best-effort delivery)”。
(3)网络层(network layer)
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫作IP数据报,或简称为数据报。
请注意:不要将运输层的“用户数据报UDP”和网络层的“IP数据报”弄混。
还有一点也请注意:无论在哪一层传送的数据单元,习惯上都可笼统地用“分组”来表示(特别是在网络层讨论问题时)。在阅读国外文献时,特别要注意packet(分组或包)往往是作为任何一层传送的数据单元的同义词。
网络层的另一个任务就是要使源主机运输层所传下来的分组,能够通过网络中的路由器找到合适的路由,最后到达目的主机。例如,在图1-11(b)中,从主机H1发送到H5的分组,有的沿路由H1→R1→R2→R4→R5→H5传送,而有的沿路由H1→R1→R3→R5→H5传送。
这里要强调指出,网络层中的“网络”二字,已不是我们通常谈到的具体的网络,而是在计算机网络体系结构模型中的专用名词。
对于由广播信道构成的分组交换网,路由选择的问题很简单,因此这种网络的网络层非常简单,甚至可以没有。
因特网是一个很大的互联网,它由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来。因特网主要的网络层协议是无连接的网际协议IP(Internet Protocol)和许多种路由选择协议,因此因特网的网络层也叫做网际层或IP层。在本书中,网络层、网际层和IP层都是同义语。
(4)数据链路层(data link layer)
数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,也就是说,在两个相邻结点之间(主机和路由器之间或两个路由器之间)传送数据是直接传送的(点对点)。这时就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上“透明”地传送帧(frame)中的数据。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。典型的帧长是几百字节到一千多字节。
“透明”是一个很重要的术语。它表示:某一个实际存在的事物看起来却好像不存在一样(例如,你看不见在你前面有100%透明的玻璃的存在)。“在数据链路层透明传送数据”表示无论什么样的比特组合的数据都能够通过这个数据链路层。因此,对所传送的数据来说,这些数据就“看不见”数据链路层。或者说,数据链路层对这些数据来说是透明的。
在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。
控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,而且要纠错),那么就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层的协议复杂些。
(5)物理层(physical layer)
在物理层上所传送的数据的单位是比特。物理层的任务就是透明地传送比特流。也就是说,发送方发送1(或0)时,接收方应当收到1(或0)而不是0(或1)。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚,以及各条引脚应如何连接。当然,哪几个比特代表什么意思,则不是物理层所要管的。请注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面。因此也有人把物理媒体当做第0层。
在因特网所使用的各种协议中,最重要的和最著名的就是TCP和IP两个协议。现在人们经常提到的TCP/IP并不一定是单指TCP和IP这两个具体的协议,而往往是表示因特网所使用的整个TCP/IP协议族(protocol suite)。
图1-16说明的是应用进程的数据在各层之间的传递过程中所经历的变化。这里为简单起见,假定两台主机是直接相连的。
图1-16 数据在各层之间的传递过程
假定主机1的应用进程AP1向主机2的应用进程AP2传送数据。AP1先将其数据交给本主机的第5层(应用层)。第5层加上必要的控制信息H5就变成了下一层的数据单元。第4层(运输层)收到这个数据单元后,加上本层的控制信息H4,再交给第3层(网络层),成为第3层的数据单元。依此类推。不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H2)和尾部(T2);而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送。
OSI参考模型把对等层次之间传送的数据单位称为该层的协议数据单元PDU(Protocol Data Unit)。这个名词现已被许多非OSI标准采用。
当这一串的比特流离开主机1经网络的物理媒体传送到目的站主机2时,就从主机2的第1层依次上升到第5层。每一层根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层。最后,把应用进程AP1发送的数据交给目的站的应用进程AP2。
可以用一个简单例子来比喻上述过程。有一封信从最高层向下传,每经过一层就包上一个新的信封,写上必要的地址信息。包有多个信封的信件传送到目的站后,从第1层起,每层拆开一个信封后就把信封中的信交给它的上一层。传到最高层后,取出发信人所发的信交给收信人。
虽然应用进程数据要经过如图1-16所示的复杂过程才能送到终点的应用进程,但这些复杂过程对用户来说,却都被屏蔽掉了,以致应用进程AP1觉得好像是直接把数据交给了应用进程AP2。同理,任何两个同样的层次(例如在两个系统的第4层)之间,也好像如同图1-16中的水平虚线所示的那样,将数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层(peer layers)”之间的通信。我们以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。
在文献中还可以见到术语“协议栈(protocol stack)”。这是因为几个层次画在一起很像一个栈(stack)的结构。
1.7.4 实体、协议和服务
当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词来表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。
协议是控制两个对等实体(或多个实体)进行通信的规则的集合。协议的语法方面的规则定义了所交换的信息的格式,而协议的语义方面的规则就定义了发送者或接收者所要完成的操作,例如,在何种条件下数据必须重传或丢弃。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
一定要弄清楚,协议和服务在概念上是很不一样的。
首先,协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。下面的协议对上面的实体是透明的。
其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。另外,并非在一个层内完成的全部功能都称为服务。只有那些能够被高一层实体“看得见”的功能才能称之为“服务”。
计算机网络的协议还有一个很重要的特点,就是协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。例如,两个朋友在电话中约好,下午3时在某公园门口碰头,并且约定“不见不散”。这就是一个很不科学的协议,因为任何一方临时有急事来不了而又无法通知对方时(如对方的电话或手机都无法接通),则另一方按照协议就必须永远等待下去。因此,看一个计算机网络协议是否正确,不能只看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。
下面是一个有关网络协议的非常著名的例子。
【例1-1】 占据东、西两个山顶的蓝军1和蓝军2与驻扎在山谷的白军作战。其力量对比是:单独的蓝军1或蓝军2打不过白军,但蓝军1和蓝军2协同作战则可战胜白军。现蓝军1拟于次日正午向白军发起攻击。于是用计算机发送电文给蓝军2。但通信线路很不好,电文出错或丢失的可能性较大(没有电话可使用)。因此要求收到电文的友军必须回送一个确认电文。但此确认电文也可能出错或丢失。试问能否设计出一种协议使得蓝军1和蓝军2能够实现协同作战因而一定(即100%而不是99.999…%)取得胜利?
解:蓝军1先发送:“拟于明日正午向白军发起攻击,请协同作战和确认。”
假定蓝军2收到电文后发回了确认。
然而现在蓝军1和蓝军2都不敢下决心进攻。因为,蓝军2不知道此确认电文对方是否正确地收到了。如未正确收到,则蓝军1必定不敢冒然进攻。在此情况下,自己单方面发起进攻就肯定要失败。因此,必须等待蓝军1发送“对确认的确认”。
假定蓝军2收到了蓝军1发来的确认。但蓝军1同样关心自己发出的确认是否已被对方正确地收到。因此还要等待蓝军2的“对确认的确认的确认”。
这样无限循环下去,蓝军1和蓝军2都始终无法确定自己最后发出的电文对方是否已经收到(见图1-17)。因此,在本例题给出的条件下,没有一种协议可以使蓝军1和蓝军2能够100%地确保胜利。
图1-17 无限循环的协议
这个例子告诉我们,看似非常简单的协议,设计起来要考虑的问题还是比较多的。
1.7.5 TCP/IP的体系结构
前面已经说过,TCP/IP的体系结构比较简单,它只有四层。图1-18给出了用这种四层协议表示方法的例子。请注意,图中的路由器在转发分组时最高只用到网络层而没有使用运输层和应用层。
图1-18 TCP/IP四层协议的表示方法举例
还有一种方法,就是分层次画出具体的协议来表示TCP/IP协议族(见图1-19),它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP协议中。这种很像沙漏计时器形状的TCP/IP协议族表明:TCP/IP协议可以为各式各样的应用提供服务(所谓的everything over IP),同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行(所谓的IP over everything)。正因为如此,因特网才会发展到今天的这种全球规模。从图1-19不难看出IP协议在因特网中的核心作用。
图1-19 沙漏计时器形状的TCP/IP协议族示意
【例1-2】 利用协议栈的概念,说明在因特网中常用的客户-服务器工作方式。
解:图1-20中的主机A和主机B都各有自己的协议栈。主机A中的应用进程(即客户进程)的位置在最高的应用层。这个客户进程向主机B应用层的服务器进程发出请求,请求建立连接(图中的❶)。然后,主机B中的服务器进程接受A的客户进程发来的请求(图中的❷)。所有这些通信,实际上都需要使用下面各层所提供的服务。但若仅仅考虑客户进程和服务器进程的交互,则可把它们之间的交互看成是如图1-20中的水平虚线所示的那样。
图1-20 在应用层的客户进程和服务器进程的交互
图1-21画出了三台主机的协议栈。主机C的应用层中同时有两个服务器进程在通信。服务器1在和主机A中的客户1通信,而服务器2在和主机B中的客户2通信。有的服务器进程可以同时向几百个客户进程提供服务。
图1-21 主机C的两个服务器进程分别向A和B的客户进程提供服务
本章的重要概念
● 计算机网络(可简称为网络)把许多计算机连接在一起,而互联网则把许多网络连接在一起。因特网是世界上最大的互联网。
● 以小写字母i开始的internet(互联网或互连网)是通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议(即通信规则)可以是任意的。
● 以大写字母I开始的Internet(因特网)是专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信规则,且其前身是美国的ARPANET。
● 因特网现在采用存储转发的分组交换技术,以及三层ISP结构。
● 因特网按工作方式可划分为边缘部分与核心部分。主机在网络的边缘部分,其作用是进行信息处理。路由器在网络的核心部分,其作用是按存储转发方式进行分组交换。
● 计算机通信是计算机中的进程(即运行着的程序)之间的通信。计算机网络采用的通信方式是客户-服务器方式和对等连接方式(P2P方式)。
● 客户和服务器都是指通信中所涉及的两个应用进程。客户是服务请求方,服务器是服务提供方。
● 按作用范围的不同,计算机网络分为广域网WAN、城域网MAN、局域网LAN和个人区域网PAN。
● 计算机网络最常用的性能指标是:速率、带宽、吞吐量、时延(发送时延、传播时延、处理时延、排队时延)和信道(或网络)利用率。
● 网络协议即协议,是为进行网络中的数据交换而建立的规则。计算机网络的各层及其协议的集合,称为网络的体系结构。
● 五层协议的体系结构由应用层、运输层、网络层(或网际层)、数据链路层和物理层
组成。运输层最重要的协议是TCP和UDP协议,而网络层最重要的协议是IP协议。