版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章计算机网络概述1.1计算机网络的定义和功能1.2计算机网络的产生和发展1.3网络协议与体系结构1.4计算机网络的组成1.5计算机网络的分类习题计算机网络的主要功能包括如下几个方面。
1.数据通信利用计算机网络进行数据信息的传递是一种全新的电子传递方式,比现有的其他通信工具有更多的优点,比如它不像电话,需要通话者同时在场,也不像广播系统,只能单方向传递信息;在速度上也比其他方式快得多,通过网络还可以传递声音、图像和视频等多媒体信息。通过网络环境,还可以建立一种新型的协作方式,实现网络计算机协同工作,它消除了地理上的距离限制。1.1计算机网络的定义和功能
2.资源共享在计算机网络中,有许多昂贵的资源,例如大型数据库、巨型计算机等,要使这些资源为每一用户所拥有,即用户可以共享这些资源。共享资源包括硬件资源的共享,如打印机、大容量磁盘等;也包括软件资源的共享,如程序、数据等。资源共享的结果是避免重复投资和劳动,从而提高资源的利用率,使系统的整体性能价格比得到改善。
3.增加可靠性在单个系统内,某个资源或计算机的暂时失效将导致系统瘫痪,或者通过替换资源的办法来维持系统的继续运行。但在计算机网络中,每种资源(尤其程序和数据)可以存放在多个地点,而用户可以通过多种途径来访问网内的某个资源,从而避免了单点失效对用户产生的影响。
4.提高系统处理能力单机系统的处理能力是有限的,且由于种种原因,各计算机的忙闲程度也不均匀。从理论上讲,在同一个网络系统的多台计算机通过协同操作和并行处理来提高整个系统的处理能力,并使各计算机负载均衡。由于计算机网络具备上述功能,因此得到了广泛的应用。在计算机网络的支持下,银行系统实现异地通存通兑,而且加快了资金的流转速度;医疗专家系统的各科医生可以联合为一个病人治疗、诊断;由科学家们组成的各个领域的研究圈通过网络来进行学术交流和研究,及时发表最新的思想和研究成果。1.2.1面向终端的计算机通信网在计算机刚问世后的几年里,数量非常少,且非常昂贵,因此计算机和通信并没有什么关系。1954年,人们开始使用一种叫做收发器(transceiver)的终端,人们使用这种终端首次实现了将穿孔卡片上的数据通过电话线路送到远地的计算机的功能。后来,电传打字机也作为远程终端和计算机相连,用户可在远地的电传打字机上键入自己的程序,而计算机的处理结果又可以传送到远地的电传打字机上并打印出来。计算机网络的基本原型就这样诞生了。1.2计算机网络的产生和发展由于当初计算机是为成批处理而设计的,因此计算机与远程终端相连时,必须在计算机上增加一个接口,并且这个接口应当对计算机原来的硬件和软件的影响尽可能小。于是,就出现了所谓的“线路控制器”(LineController)(因为在通信线路上采用串行传输而在计算机内采用的是并行传输,因此线路控制器的主要功能是进行串行和并行传输的转换以及简单的差错控制)。在通信线路的两端还必须各加上一个调制解调器。这是因为电话线路本来是为传送模拟的话音信号而设计的,它不适合于传送计算机的数字信号。调制解调器的主要作用就是把计算机或终端使用的数字信号与电话线路上传送的模拟信号进行模/数或数/模转换。随着远程终端数量的增多,为了避免一台计算机使用多个线路控制器,在20世纪60年代初,出现了多重线路控制器(MultilineController),它可和多个远程终端相连接(见图1-1),构成面向终端的计算机通信网,它是最原始的计算机网络(有人称其为第一代计算机网络)。这里,计算机是网络的中心和控制者,终端围绕中心计算机分布在各处,而计算机的主要任务也还是进行成批处理,故称其为联机系统,以区别于早先使用的脱机系统。当人们认识到计算机还可用作数据处理时,计算机的用户数量就迅速增长。但是,每当需要增加一个新的远程终端时,上述的这种线路控制器就要进行许多硬件和软件的改动,以便与新加入的终端的字符集和传输速率等特性相适应。然而,这种线路控制器对主机却造成了相当大的额外开销。人们终于认识到应当设计出另一种不同硬件结构的设备来完成数据通信的任务,这就导致了具有较多智能的通信处理机的出现。通信处理机也称为前端处理机(FEP,FrontEndProcessor),或简称为前端机。前端处理机分工完成全部的通信任务,而让主机专门进行数据的处理。这样就大大地提高了主机进行数据处理的效率。图1-1面向终端的计算机通信网图1-2表示用一个前端处理机与多个远程终端相连的情况。由于可采用较便宜的小型计算机充当大型计算机的前端处理机,因此这种面向终端的计算机通信网获得了很大的发展。一直到现在,大型计算机组成的网络仍使用前端处理机,而对于目前接入局域网的个人计算机,其使用的接口网卡在原理上就相当于这种前端处理机。图1-2用前端处理机实现的联机系统1.2.2基于交换的计算机通信网在面向终端的计算机网络中,用户通过终端命令以交互方式使用计算机,从而将单一计算机系统的各种资源共享给各个用户。这种网络系统的应用极大地刺激了用户使用计算机的热情,使计算机用户的数量迅速增加。但这种网络系统也存在着一定的缺点:如果计算机的负荷较重,会导致系统响应时间过长;如果主机系统可靠性降低,一旦计算机发生故障,将导致整个网络系统瘫痪。为了克服第一代计算机网络的缺点,提高网络的可靠性和可用性,人们开始研究利用类似电话系统中的线路交换思想将多台计算机相互连接起来。这种基于交换技术的通信网络系统对网络的发展有着极其重要的作用,它成为现代计算机网络技术的基础。电路交换技术本来是为电话通信而设计的,对于计算机网络来说,建立通路的呼叫过程太长,必须寻找新的适合于计算机通信的交换技术。1964年8月,Baran(巴兰)在美国Rand(兰德)公司的《论分布式通信》的研究报告中提出了存储转发思想。在1962~1965年,美国国防部的高级研究计划署(ARPA,AdvancedResearchProjectsAgency)和英国的国家物理实验室(NPL,NationalPhysicsLaboratory)都对新型的计算机通信网进行过研究。1966年6月,NPL的Davies(戴维斯)首次提出“分组”(Packet)这一概念。1969年12月,美国的分组交换网ARPANET投入运行,当时仅有4个结点。ARPANET的成功,标志着计算机网络的发展进入了一个新纪元。
ARPANET网的成功运行使计算机网络的概念发生了根本变化。早期的面向终端的计算机网络是以单台主机为中心的星形网(见图1-3(a)),各终端通过电话网共享主机的硬件和软件资源。而分组交换网则实际以网络(通信子网)为中心,主机和终端都处在网络的边缘(见图1-3(b))。主机和终端构成了用户资源子网(以区别于通信子网),用户不仅共享通信子网的资源,而且还可共享用户资源子网丰富的硬件和软件资源。这种以通信子网为中心的计算机通信网被称为第二代计算机网络,它比第一代网络在功能上扩大了很多,成为20世纪七八十年代计算机网络的主要形式。图1-3从以单个主机为中心演变到以通信子网为中心在以分组交换为核心的第二代通信网络中,多台计算机通过通信子网构成一个有机的整体,既分散又统一,从而使整个系统性能大大提高;原来单一主机的负载可以分散到全网的各个机器上,使得网络系统的响应速度加快;在这种系统中,单机故障也不会导致整个网络系统的全面瘫痪。必须指出,分组交换网之所以能得到迅速的发展,很重要的一个原因就是:分组交换技术给用户带来了经济上的好处,其费用比使用电路交换更为低廉。1.2.3计算机网络体系结构的形成在网络中,相互通信的计算机必须高度协调工作,而这种“协调”是相当复杂的。为了降低网络设计的复杂性,早在当初设计ARPANET时专家就提出了层次模型思想。分层次设计方法可以将庞大而复杂的物体转化为若干较小且易于处理的子问题。1974年,IBM公司提出了它研制的“系统网络体系结构”(SNA,SystemNetworkArchitecture),它是按照分层的方法制定的,成为世界上使用得较为广泛的一种网络体系结构。DEC公司当时也提出了自己的网络体系结构——数字网络体系结构(DNA,DigitalNetworkArchitecture)。有了网络体系结构,使得一个公司所生产的各种机器和网络设备可以非常容易地被连接起来,这种情况显然有利于一个公司垄断自己的产品。用户一旦购买了某个公司的网络,当需要扩展时,就只能再购买原公司的产品。因为各个公司的网络体系结构各不相同,所以不同公司之间的网络不能互连互通。然而全球经济的发展使得不同网络体系结构的用户迫切要求能够互相交换信息。为了使不同体系结构的计算机网络都能互连,国际标准化组织(ISO)于1977年成立了专门机构研究该问题。不久,他们就提出了一个使各种计算机能够互连的标准框架,即著名的开放系统互连参考模型(OSI/RM,OpenSystemsInterconnection/ReferenceModel),简称为OSI,它将网络划分为七层,并规定了每层的功能(详见1.3节)。它的“开放”思想是:只要遵循OSI标准,一个网络系统就可以和位于世界上任何地方并也遵循同一标准的任何其他系统进行通信(这一点很像世界范围的电话和邮政系统,这两个系统都是开放系统)。OSI/RM参考模型的提出,意味着计算机网络发展到了第三代。
OSI参考模型的推出使网络发展走向标准化,而网络标准化的最大体现就是Internet的飞速发展,现在Internet已成为全球最大的商用计算机互联网。它遵循TCP/IP参考模型,由于TCP/IP仍然使用分层结构思想(但与OSI参考模型有很大不同),因此Internet仍属于第三代计算机网络。1.2.4局域网的形成在计算机网络的发展过程中,另一个重要阶段就是在20世纪80年代初发展起来的局域网。由于微型计算机的出现和应用普及,人们迫切需要将众多的微机组成网络,局域网就是在一个有限区域范围内将众多微型计算机连接在一起实现信息交换和信息共享的网络。作为网络的一个重要分支,局域网连网简单,只要在微型计算机中插入一个接口板就能实现连网。由于局域网价格便宜,传输速率高,使用方便,因此在20世纪80年代开始得到了快速发展,特别是微机的大量推广和普及,对局域网的应用起到了很大的推动作用,对当今计算机网络技术的发展产生了重要影响。1.2.5Internet时代的到来进入20世纪80年代末期以来,在计算机网络领域最引人注目的就是起源于美国的Internet的飞速发展。Internet的原意就是互联网,全国自然科学名词审定委员会推荐的译名是“因特网”。本书仍用英文原名。现在Internet已发展成为世界上最大的国际性计算机互联网。Internet对世界的冲击之大,影响之深是人们所未能预料的,这就使得20世纪90年代成为Internet时代。
Internet已经成为世界上规模最大和增长速率最快的计算机网络,没有人能够准确说出Internet究竟有多大。特别是到了20世纪90年代,Internet得到了迅猛发展,成指数级增长趋势。1998年初的统计是:已有超过60万个网络连在Internet上,而上网的计算机超过2000万台;Internet上的数据通信量每月约增加10%;Internet已连通了世界上180多个国家和地区。由于Internet存在着技术上和功能上的不足,加上用户数量猛增,使得现有的Internet不堪重负。因此1996年美国的一些研究机构和34所大学提出研制和建造新一代Internet的设想。同年10月,美国宣布在今后5年内用5亿美元的联邦资金实施“下一代Internet计划”,即“NGI计划”(NextGenerationInternetInitiative)。
NGI计划要实现的一个目标是:开发下一代网络结构,以比现在的Internet高100倍的速率连接至少100个研究机构,以比现在的Internet高1000倍的速率连接10个类似的网点;其端到端的传输速率要超过100 Mb/s至10 Gb/s。另一个目标是使用更加先进的网络服务技术和开发许多带有革命性的应用,如远程医疗、远程教育、有关能源和地球系统的研究、高性能的全球通信、环境监测和预报、紧急情况处理等。NGI计划将使用超高速全光网络,能实现更快速的交换和路由选择,同时具有为一些实时应用保留带宽的能力。在整个Internet的管理和保证信息的可靠性和安全性方面也会有很大的改进。1.2.6计算机网络发展的前景计算机网络经过第一代、第二代和第三代的发展,表现出其巨大的使用价值和广阔的应用前景。从技术的发展看,推动网络发展的主要因素是微电子技术、大规模集成电路技术、光通信技术和计算机技术等。微电子技术用于通信,发展了数字电话、ISDN、数字移动电话、宽带ISDN以及异步传输模式ATM等。光通信技术的发展提高了传送速度和性能,预计到2010年传输速率可达到105Mb/s,传输性能达到50Mb·km/s(即50兆位千米每秒)。从网络技术本身的发展来看,为了满足日益增长的市场需求,以及迎接十分激烈的竞争和挑战,在20世纪90年代人们主要通过改进网络结构、传输技术、交换技术和网络管理,从而提高性能、增加服务、减低成本、满足用户的需要,已经定义了同步光纤网SONET标准,速率分别达到155 Mb/s、622 Mb/s和2.5 Gb/s的系统已经推出,异步传输模式ATM已进入实用阶段,并开始用于宽带ISDN和多媒体通信等高速网络。高速网络的应用开发主要包括图像、多媒体、实时系统和分布计算。图像应用包括图像文本管理、可视化工具、医疗图像、出版、计算机辅助设计和辅助制造、建筑设计制图和指纹验证等。多媒体应用包括计算机支持合作工作、会议系统、分布多媒体学习环境、电视点播系统等。实时系统应用包括安全系统、远程控制和操作、在线事务处理等。分布计算应用包括分布处理、分布数据库、客户/服务器系统等。由此可见,网络技术正迅速朝着高速化、实时化、智能化、集成化和多媒体化的方向发展。1.3网络协议与体系结构1.3.1分层次的网络体系结构
1.网络协议要想使两台计算机进行通信,必须使它们采用统一的信息交换规则。在计算机网络中,把用于规定信息格式以及如何发送和接收信息的一套规则(标准、约定)称为网络协议(或称通信协议)。在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的网络协议。一个网络协议主要由以下三个要素组成:语法,即数据与控制信息的结构、格式和编码。语义,即需要发出何种控制信息,完成何种动作以及做出何种应答。同步,即事件实现顺序的详细说明。由此可见,网络协议是计算机网络不可缺少的组成部分。
2.协议分层为了减少网络协议设计的复杂性,协议的设计者并不是设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而是把复杂的通信问题按一定层次划分为许多相对独立的子功能,然后为每一个子功能设计一个单独的协议,即每层对应一个协议。这样做使得每个协议的设计、分析、编码和测试变得简单易行,这是协议分层的根本目的。从层次角度看,一个网络系统就是按照分层次的方式来组织和实现的。狭义地说,协议分层就是按照信息的流动过程将网络的整体功能分解为一个个的功能层,每个功能层用对应的协议规定其功能,不同机器上的同等功能层之间采用相同的协议,同一机器上的相邻功能层之间通过接口进行数据传递。为了便于理解协议分层的概念,在现实生活中可以找到许多协议分层思想,下面以邮政送递系统为例进行说明。人们平常写信时,实际上都有信件的格式和内容约定。首先必须采用双方都懂的语言文字和文体,开头是对方称谓,最后是落款等。这样,对方收到信后,才可以看懂信中的内容,知道是谁写的,什么时候写的等。当然还可以有其他的一些特殊约定,如书信的编号、密写手段等。信写好之后,必须用信封将信件进行封装并交由邮局寄发。其次,寄信人和邮局之间也要有约定,即规定信封的写法并贴足邮票。在中国寄信必须先写收信人地址、姓名和邮编,然后才写寄信人的地址、姓名和邮编。邮局收到信后,要按邮寄地点和信件种类进行分拣和分类,打包并附上标签后,交付有关运输部门进行运输,如航空信交民航,平信交铁路、公路或水路等运输部门。同样,邮局和运输部门也有约定,要规定打包标签上的格式,如到站地点、时间、包裹形式等。信件运送到目的地后进行相反的过程,最终将信件送到收信人手中,收信人依照约定的格式才能读懂信件。如图1-4所示,整个过程被划分成三个子系统,即用户子系统、邮政子系统和运输子系统。图1-4邮政系统分层模型从上面例子可以看出,各种约定都是为了达到将信件从一个源地送到某一个目的地这个目标而设计的,这就是说,它们是因信息的流动而产生的。可以将这些约定分为同等机构间的约定(如用户之间的约定、邮政局之间的约定和运输部门之间的约定)以及不同机构间的约定(如用户与邮政局之间的约定、邮政局与运输部门之间的约定)。虽然两个用户、两个邮政局、两个运输部门分处甲、乙两地,但它们都分别对应同等机构,同属一个子系统;而同处一地的不同机构则不在一个子系统内,而且它们之间的关系是服务与被服务的关系。很显然,这两种约定是不同的,前者为部门内部的约定,而后者是不同部门之间的约定。在计算机网络环境中,两台计算机中两个进程之间进行通信的过程与邮政通信的过程十分相似。用户进程对应于用户,计算机中进行通信的进程对应于邮局,通信设施对应于运输部门。为了减少网络设计的复杂性,人们往往按功能将计算机网络划分为多个不同的功能层。网络中同等层之间的通信规则就是该层使用的协议,如有关第N层的通信规则的集合就是第N层的协议。而同一计算机的不同功能层之间的通信规则称为接口,在第N层和第(N+1)层之间的接口称为N/(N+1)层接口。总的来说,协议是不同机器同等层之间的通信约定,而接口是同一机器相邻层之间的通信约定。不同的网络,分层数量、各层的名称和功能以及协议都各不相同。然而,在所有的网络中,每一层的目的都是向它的上一层提供一定的服务。协议分层方法将整个网络通信功能划分为垂直的层次后,在通信过程中下层将向上层隐蔽其实现细节。层次的划分应首先确定分层数以及每层应完成的任务,原则上划分时应按逻辑组合功能,要有足够的层次,以使每层易于处理,但层次也不能过多,以免产生难以负担的处理开销。协议层次化不同于程序设计中模块化的概念。在程序设计中,各模块可以相互独立、任意拼装或者并行,而协议层次则一定有上下之分,它是依数据流的流动而产生的。
3.网络体系结构网络体系结构是指网络中分层模型和各层协议的集合。网络体系结构的描述必须包括足够的信息,以方便为每一功能层进行硬件设计或编写程序,并使之符合相关协议。值得注意的是,网络协议实现的细节不属于网络体系结构的内容,因为它们隐含在机器内部,对外部来说是不可见的。总之,体系结构是抽象的,而实现则是具体的。为了加深对网络体系结构概念的理解,暂时回避OSI/RM和TCP/IP这些具体协议体系,这里先构造一个原理性的网络体系结构(如图1-5所示),虽然是原理性的(只有5层),但它综合了OSI和TCP/IP协议分层的优点,既简明又能将概念阐述清楚。各层的主要功能简述如下。图1-5一个原理性的网络体系结构
1)物理层物理层的任务就是透明地传送比特流。在物理层上所传数据的单位是比特,它关心的问题是:使用什么样的物理信号来表示数据“0”和“1”;“0”和“1”持续的时间多长;数据传输是否可同时在两个方向上进行;最初的连接如何建立和完成通信后连接如何终止;物理接口(插头和插座)有多少针以及各针的功能。该层还规定设计物理层接口的机械、电气、功能和过程特性等通信工程领域的一些问题。传递信息所利用的一些物理介质,如双绞线、同轴电缆、光缆等,不属于物理层范围之内,而在物理层的下面。
2)数据链路层数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧(Frame)为单位的数据。每一帧包括数据和必要的控制信息。在传送数据时,若接收结点检测到所收到的数据中有差错,就要通知发方重发这一帧,直到这一帧正确无误地到达接收结点为止。在每一帧所包括的控制信息中,有同步信息、地址信息、差错控制以及流量控制信息等。这样,数据链路层就把一条有可能出差错的实际链路转变成为让网络层向下看起来好像是可靠的一条链路。
3)网络层在计算机网络中进行通信的两个计算机之间可能要经过许多个结点和链路,也可能还要经过好几个不同的通过路由器互连的通信子网。在网络层,数据的传送单位是分组(或包),因此要将发送方主机送来的报文分割成若干个分组。网络层的任务就是完成主机间的报文传输;选择合适的路由,使发送方报文能够正确无误地按照地址找到目的站,并交付给目的站。这就是网络层的寻址功能。如果在子网中出现过多的报文,子网可能形成拥塞,因此网络层还要避免拥塞。在局域网中,由于没有路由问题,网络层是冗余的,因此可以没有。
4)传输层传输层的任务是根据下面通信子网的特性最佳地利用网络资源,并以可靠和经济的方式为两端主机(也就是源站和目的站)的进程之间建立一条传输连接,以透明地传送报文。或者说,传输层为进行通信的两个进程之间提供一个可靠的端到端的服务,使它们看不到传输层以下的数据通信的细节。在通信子网内的各个交换结点以及连接各通信子网的路由器中都没有传输层。传输层只能存在于通信子网外面的主机之中。传输层以上的各层就不再关心信息传输的问题了。正因为如此,传输层就成为计算机网络体系结构中非常重要的一层。
5)应用层应用层在体系结构中是最高层。它的任务是确定进程之间通信的性质以满足用户的需要。应用层不仅要提供应用进程所需要的信息交换和远地操作,而且还要作为互相作用的应用进程的用户代理,来完成一些为进行语义上有意义的信息交换所必需的功能。应用层直接为用户的应用进程提供服务。需要注意的是,应用层协议并不是解决用户各种具体应用的协议。图1-6说明了一个应用进程的数据在各层之间的传递过程中所经历的变化。这里为简单起见,假定两个主机是直接相连的。图1-6数据在各层之间的传递过程假定计算机1的应用进程AP1向计算机2的应用过程AP2传送数据。AP1先将其数据交给第5层。第5层加上必要的控制信息H5就变成了下一层的数据单元。第4层收到这个数据单元后,加上本层的控制信息H4,再交给第3层,成为第3层的数据单元。依次类推。不过到了第2层(数据链路层)后,控制信息分成两部分,分别加到本层数据单元的首部(H2)和尾部(T2),而第1层(物理层)由于是比特流的传送,所以不再加控制信息。在OSI参考模型中,在对等层次上传送的数据,其单位都称为该层的协议数据单元(PDU,ProtocolDataUnit)。这个名词现已被许多非OSI标准采用。当这一串比特流经网络的物理介质传送到目的站时,就从第1层依次上升到第5层。每一层根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层。最后,把应用进程AP1发送的数据交给目的站的应用进程AP2。可以用一个简单的例子来比喻上述过程。有一封信从最高层向下传。每经过一层就包上一个新的信封。包有多个信封的信传送到目的站后,从第1层起,每层拆开一个信封后就交给它的上一层。传到最高层后,取出发信人所发的信交给收信用户。虽然应用进程数据要经过如图1-6所示的复杂过程才能送到对方的应用进程,但这些复杂过程对用户来说,却都被屏蔽掉了,以致应用进程AP1觉得好像是直接把数据交给了应用进程AP2。同理,任何两个同样的层次(例如在两个系统的第4层)之间,也好像如同图中的水平虚线所示的那样,将数据(即数据单元加上控制信息)通过水平虚线直接传递给了对方。这就是所谓的“对等层”(PeerLayers)之间的通信。我们以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。在文献中也还可以见到术语“协议栈”(ProtocolStack)。这是因为几个层次画在一起很像一个堆栈(Stack)。1.3.2网络服务与实体服务在计算机网络中是一个极其重要的概念。在网络体系结构中,所谓服务,就是网络中的各层向其相邻上层提供一组操作,是相邻两层之间的界面。由于网络分层结构中的单向依赖关系,使得网络中相邻层之间的界面也是单向的,也就是说,下层是服务提供者,上层是服务用户,而服务的表现是原语,比如库函数或系统调用。另一方面,在研究网络进行信息交换时,用实体(Entity)来表示任何可发送或接收信息的硬件或软件对象,每一层至少存在一个实体,在不同主机上同一层内的实体称为对等实体,N层实体实现的服务为N+1层所利用,而N层则要利用N-1层所提供的服务。N层实体可以向N+1层提供几类服务。一定要弄清楚,协议和服务是两个截然不同的概念。第一,协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议,下面的协议对上面的服务用户是透明的。第二,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。还应注意到,并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层看得见的功能才能称之为“服务”。上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点(SAP,ServiceAccessPoint)。服务访问点(SAP)是一个抽象的概念,它实际上就是一个逻辑接口,有些像邮政信箱(写信人和邮局的接口),但和通常所说的两个设备之间的硬件并行接口或串行接口不一样。OSI将层与层之间交换的数据的单位称为服务数据单元(SDU,ServiceDataUnit),它可以与PDU不一样。例如,可以由多个SDU合成为一个PDU,也可以将一个SDU划分为几个PDU。这样,任何相邻两层之间的关系可概括为如图1-7所示的那样。这里要注意的是,某一层向上一层所提供的服务实际上已包括了在它以下各层所提供的服务。所有这些对上一层来说就相当于一个服务提供者。在服务提供者上一层的实体,也就是“服务用户”,它使用服务提供者所提供的服务。从通信的角度看,各层向其相邻的上层所提供的服务可分为两大类,即面向连接的服务(Connection-oriented)和无连接的服务(Connectionless)。所谓连接,就是两个对等实体为进行数据通信而进行的一种结合。面向连接的服务在数据交换之前必须先建立连接。在数据交换结束后,则应终止这个连接。图1-7相邻两层之间的关系面向连接的服务具有连接建立、数据传输和连接释放这三个阶段。在传送数据时是按序传送的,各数据包不需要携带目的地址,而使用连接号。这点和电路交换的许多特性很相似,因此面向连接服务在传输层中又称为虚电路服务。“虚”是指虽然在两个服务用户的通信过程中并没有自始至终占用一条端到端的完整物理电路(注意:采用分组交换时,链路是逐段被占用的),但却好像一直占用了一条这样的电路。面向连接的服务比较适合于在一定期间内向同一目的地发送许多报文的情况。这种服务可以看做是电话系统服务模式的抽象。若两个用户需要经常进行频繁的通信,则可以建立永久虚电路。这样可免除每次通信时连接建立和连接释放这两个过程。这点和电话网中的专线通信十分相似。在无连接服务的情况下,两个实体之间的通信不需要先建立好一个连接,因此每个报文要带有完整的目的地址,每个报文在系统中独立传送。这种服务可以看做是邮政系统服务模式的抽象。在无连接服务模式下,不能保证报文到达的先后顺序,原因是不同的报文可能经不同的路径到达目的地,所以先发的报文不一定先到。无连接服务也不对出错报文进行恢复或重传,不能防止报文的丢失、重复或失序。换句话说,它不保证报文传输的可靠性,因此这种无连接服务只适合于传送少量零星的报文。1.3.3服务原语“服务”在形式上是用一组原语来描述的,这些原语供用户和其他实体访问该服务,或者向用户实体报告某事件的发生。服务原语可以划分为如表1-1所示的4类。服务用户用“请求”原语提出某项服务请求,如请求建立连接和发送数据。服务提供者执行这一请求后,将用“指示”原语通知接收方的用户实体。例如,发出“连接请求”(CONNECT.request)原语之后,该原语地址段内所指向的接收方的对等实体会得到一个“连接指示”(CONNECT.indication)原语,通知它有人想要与它建立连接。接收到“连接指示”原语的实体使用“连接响应”(CONNECT.response)原语表示它是否愿意接受建立连接的建议。但无论接收方是否接受该请求,请求建立连接的一方都可以通过接收“连接确认”(CONNECT.confirm)原语而获知接收方的态度(事实上传输层及其他层的服务用户要拒绝建立连接请求,不是采用CONNECT.response原语,而是采用DISCONNECT.request原语)。原语可以带参数,而且大多数原语都带有参数。“连接请求”原语的参数可以指明它要与哪台机器连接,需要的服务类别和拟在该连接上使用的最大报文长度。“连接指示”原语的参数可以包含呼叫者的标志,指明需要的服务类别、建议的最大报文长度。如果被呼叫的实体不同意呼叫实体建立的最大报文长度,它可能在“连接响应”原语中提出一个新的建议,呼叫方会从“连接确认”原语中获知。这一协商过程的细节属于协议的内容。例如,在两个关于最大报文长度的建议不一致的情况下,协议可能规定选择较小的值。服务有“有确认”和“无确认”之分。有确认的服务包括“请求”、“指示”、“响应”和“确认”四个原语。无确认服务只有“请求”和“指示”两个原语。建立连接的服务总是有确认服务,可用“连接响应”作肯定应答,表示同意建立连接;或者用“断连请求”(DISCONNECT.request)表示拒绝,作否定应答。数据传送既可以是有确认的,也可以是无确认的,这取决于发送方是否需要确认。为了使服务原语的概念更具体化一些,举一个电话系统的例子说明面向连接服务的应用,有助于理解这些原语是如何应用的。电话系统使用了下述8个服务原语。
(1)连接请求:服务用户请求建立一个连接。
(2)连接指示:服务提供者向被呼叫方示意有人请求建立连接。
(3)连接响应:被呼叫方用来表示接受建立连接的请求。
(4)连接确认:服务提供者通知呼叫方建立连接的请求已被接受。
(5)数据请求:请求服务提供者把数据传给对方。
(6)数据指示:表示数据到达。
(7)断连请求:请求释放连接。
(8)断连指示:释放连接请求到达对等端。在本例中,连接是有确认服务((1)~(4)表明需要有一个明确的答复),而断连是无确认的((7)、(8)表明不需要应答)。考查一下A打电话邀请B到家来喝茶的步骤:
(1)连接请求:A拨B家的电话号码。
(2)连接指示:B家的电话铃响了。
(3)连接响应:B拿起了电话。
(4)连接确认:A听到响铃停止。
(5)数据请求:A邀请B来喝茶。
(6)数据指示:B听到了A的邀请。
(7)数据请求:B说她很高兴来。
(8)数据指示:A听到B接受邀请。
(9)断连请求:A挂断电话。
(10)断连指示:B听到了,也挂断电话。图1-8表示上面例子使用原语的时序。由以上例子可知,服务原语的每一步都涉及其中一台计算机内两相邻层之间的信息交换。每一个“请求”或“响应”稍后都在对方产生一个“指示”或“确认”动作。本例中服务用户(A和B)在N+1层,服务提供者(电话系统)在N层。图1-8服务原语的应用1.3.4ISO-OSI的体系结构前面一般性地讨论了协议分层和网络体系结构,下面将具体分析和讨论两个重要的网络体系结构。自从ARPANET出现后,市场上推出了许多商品化的网络系统,这些系统都是由各个公司自行设计开发的,在体系结构上存在很大差异,导致它们相互之间不兼容,更难于互连。为此许多标准化组织积极开展了网络体系结构标准化方面的工作,其中最有权威的就是国际标准化组织ISO提出的开放系统互连参考模型OSI/RM。它的目标是将各种开放式系统连接在一起。
OSI参考模型中采用了七个层次的体系结构,也就是将前面所讲的原理性体系结构中的应用层再划分为三个层次。这三个层次从上到下的名称是:应用层、表示层和会话层。会话层不参与具体的数据传输,但它却对数据传输进行管理。它在两个互相通信的进程之间建立、组织和协调其交互,例如确定是双工工作(每一方同时发送和接收)还是半双工工作(每一方交替发送和接收)。表示层主要解决用户信息的语法表示。表示层将欲交换的数据从适合于某一用户的抽象语法(AbstractSyntax)变换为适合于OSI系统内部使用的传送语法(TransferSyntax)。应用层对应用进程进行了抽象,它只保留应用进程中与进程间交互有关的那些部分。经过抽象后的应用进程就成为OSI应用层中的应用实体。OSI的应用层并不是要把各种应用进行标准化,而仅仅对一些应用进程经常使用的功能以及实现这些功能所要使用的协议进行描述。1.3.5TCP/IP的体系结构
TCP/IP最初是为ARPANET开发的网络体系结构,该体系结构主要由两个重要协议,即TCP协议和IP协议而得名。实际上,TCP/IP体系包含了大量的协议和应用,它是由大量协议组成的集合,简称为TCP/IP协议集。虽然TCP/IP不是ISO倡导的标准,但它有广泛的商业应用,因此TCP/IP是一种事实上的标准。由于Internet已经得到了全世界的承认,因而Internet所使用的TCP/IP体系在计算机网络领域中就占有特殊的重要地位。
TCP/IP协议体系分为四个层次(如图1-9所示)。由于TCP/IP协议集中没有考虑具体的物理传输介质,因此在TCP/IP的标准中并没有对数据链路层和物理层做出规定,而只是将最低的一层取名为网络接口层,规定了与物理网络的接口。这样,如果不考虑网络接口层,那么TCP/IP体系实际上就只有三个层次:应用层、传输控制层和网络互连层。
TCP/IP的最高层是应用层。在这层中有许多著名协议,如远程登录协议TELNET、文件传送协议FTP、简单邮件传送协议SMTP等。再往下的一层是TCP/IP的传输控制层,也叫做主机到主机层。这一层可使用两种不同的协议:一种是面向连接的传输控制协议(TCP,TransmissionControlProtocol),另一种是无连接的用户数据报协议(UDP,UserDataProtocol)。传输层传送的数据单位是报文(Message)或数据流(Stream)。报文也常称为报文段(Segment)。传输层下面是TCP/IP的网络互连层,其主要的协议就是无连接的网络互连协议(IP,InternetProtocol)。该层传送的数据单位是分组(Packet)。与IP协议配合使用的还有三个协议,那就是Internet控制报文协议(ICMP,InternetControlMessageProtocol)、地址解析协议(ARP,AddressResolutionProtocol)和逆地址解析协议(RARP,ReverseAddressResolutionProtocol)。有关TCP/IP的详细内容在第8章做介绍。图1-9给出了TCP/IP与OSI这两种体系结构的对比。值得注意的是,在一些问题的处理上,TCP/IP与OSI有很大不同。图1-9TCP/IP与ISO-OSI体系结构的对比
(1) TCP/IP一开始就考虑到多种异构网的互连问题,并将网际协议IP作为TCP/IP的重要组成部分。但ISO和CCITT最初只考虑到使用一种标准的公用数据网将各种不同的系统互连在一起。后来,ISO认识到了网际协议IP的重要性,然而已经来不及了,只好在网络层中划分出一个子层来完成类似TCP/IP中IP的作用。
(2) TCP/IP一开始就对面向连接服务和无连接服务并重,而OSI在开始时只强调面向连接服务,一直到很晚OSI才开始制定无连接服务的有关标准。无连接服务的数据报对于互联网中的数据传送以及分组话音通信(即在分组交换网里传送话音信息)都是十分方便的。
(3) TCP/IP有较好的网络管理功能,而OSI到后来才开始考虑这个问题。当然,TCP/IP也有不足之处。例如,TCP/IP的模型对“服务”、“协议”和“接口”等概念并没有很清楚地区分开。因此在使用一些新的技术来设计新的网络时,采用这种模型就可能会遇到一些麻烦。另外,TCP/IP模型的通用性较差,很难用它来描述其他种类的协议栈。还有,TCP/IP的网络接口层严格来说并不是一个层次而仅仅是一个接口,而其下根本没有数据链路层和物理层,但实际上这两个层还是很重要的。最后要说一下,虽然OSI在一开始是由ISO来制定的,但后来的许多标准都是ISO与原来的国际电报电话咨询委员会CCITT联合制定的。从历史上来看,CCITT原来从通信的角度考虑一些标准的制定,而ISO则关心信息的处理。但随着科学技术的发展,通信与信息处理的界限变得比较模糊了。于是,通信与信息处理就都成为CCITT与ISO所共同关心的领域。CCITT的建议书X.200就是关于开放系统互连参考模型的,它和上面提到的ISO7498基本上是相同的。1.4计算机网络的组成1.4.1通信子网与资源子网从概念上讲,计算机网络由通信子网和资源子网两部分构成。通信子网负责计算机间的数据通信,也就是信息的传输。通信子网覆盖的地理范围可能只是很小的局部区域,甚至就在一幢大楼内或一间房间内;也可能是远程的,甚至跨越国界,直至洲际或全球。通信子网中除了包括传输信息的物理介质外,还包括中继器(Repeater)、交换机(Switch)、路由器(Router)等各种通信设备。信息在通信子网中的传输方式可以从源出发经过若干中间设备的转发或交换才最终到达目的地。通过通信子网互连在一起的计算机则负责运行对信息进行处理的应用程序,它们是网络中信息流动的源与宿,向网络用户提供可共享的硬件、软件和信息资源,构成资源子网。将网络中纯粹负责通信任务的子网与应用部分的计算机工作站点分离开来,就可对这两部分进行单独规划和管理,使整个网络的设计和运行简化。在近程的局部范围内,一个单位可同时拥有通信子网和资源子网,但是在远程广域范围内则通常是另一种情况。比如说,通信子网可以由政府部门或电信经营公司拥有并向社会公众开放服务,如同电话交换网那样。拥有计算机工作站点资源的单位希望连网的话,只要遵循通信子网所要求的接口标准,提出申请并付一定的费用,都可以接入该通信子网,利用其提供的服务来实现特定资源子网的数据通信任务,这类通信子网称为公用网。公用网中传输的是数字化的数据,为了与电话交换网这类传输如声音数据的模拟网区分,有时也将其称为公用数据网(PDN,PublicDataNetwork)。1.4.2因特网(Internet)目前世界范围内广泛使用的一个最大的计算机网络就是因特网(Internet)。Internet并不是一个单一的计算机网络,而是由许多网络互连在一起的一个网际网。Internet的运行和使用为全球信息基础设施(即全球信息高速公路)的建立奠定了基础。许多计算机正是通过因特网而和全球范围内的其他计算机互连的。在美国政府宣布其国家信息基础设施(NII,NationalInformationInfrastructure,俗称信息高速公路)计划后,又有人提出全球信息高速公路计划,1995年召开的Internet年会的主题就是向全球信息高速公路进军。要更确切地了解Internet究竟是什么,最好先回顾一下该网络的发展历史。
Internet的起源可追溯到其前身ARPANET,它是美国1969年为支持国防研究项目而建立的一个试验网络。该网络将美国许多大学和研究机构从事国防研究的计算机连接到一起,是一个广域网。20世纪70年代末,随着大规模集成电路(LSI)技术的发展,大量小型和微型计算机涌现,许多局域网(LAN)技术开始发展,比主机多得多的小型和微型计算机在小范围内通过LAN互连,并产生了远程相互通信的需要。此时,ARPANET开始了一个称为Internet的研究计划,主要研究如何将各种LAN和广域网(WAN)互连起来。参加该项目的研究人员都有一台连接到Internet上的计算机,通过ARPANET相互通信而共同进行研究。该项目的一个非常重要的成果就是称为网际协议IP和传输控制协议TCP的两个使不同的计算机和网络可以相互通信的约定,即协议。这两个协议和过去某些计算机公司自己开发和实现的协议不同点在于它是完全开放的,其所有的技术和规范都是公开的,任何公司都可以利用其来开发兼容的产品。以这两个协议为核心,以ARPANET为主干网开始将许多不同的网络互连在一起,就构成了Internet的原型,并对TCP/IP协议及技术进行试验。到1983年,Internet已开始从一个试验型的网络转变成一个实用型的网络,其主干仍为ARPANET,其协议则以TCP/IP为核心。在Internet发展过程中,另一个值得一提的是NSFNET。NSFNET是在美国国家科学基金(NSF,NationalScienceFoundation)资助下建立的一个计算机网络,最初用来连接全美的五个超级计算机中心,该网络也使用TCP/IP协议,并和Internet相连,这样使得在美国100多所大学的科研人员都可以通过NSFNET来使用超级计算机中心的资源分析其实验数据。NSFNET也是一个广域网,其能力不断加强,到1988年已取代原有的ARPANET而成为Internet的主干网,该网络由长途电话公司MCI提供长途传输线路,计算机制造商IBM公司提供广域网中的专用计算机和软件,而由密执安州的一个组织MERIT来管理。
由NSF资助建立的该网络是向全社会(当时主要还是学校和科研机构)开放的,成为全国性的学术研究和教育网络,并得到了迅速发展。当网上的流量接近线路的实际负载时,NSF批准了对网络进行轻微的重组,将每条干线的传输速率提高了三倍,达到1.544Mb/s,即1.544兆比特每秒,这也就是有些资料上常说的T1或者DS1的数据速率。1990年,在历史上起过重要作用的ARPANET正式宣布关闭。
Internet发展太快了,到1991年底,NSFNET主干网也达到其极限。同时,NSF意识到单靠美国政府已很难担负整个Internet的费用,因而开始要求私人公司来承担某些责任。1.4.3常用的网络设备网络适配器:又称网络接口控制器、网络接口卡(NIC,NetworkInterfaceCard),通常简称为网卡,它插在计算机的总线上,外面通过传输介质(如双绞线、同轴电缆和光纤等)将计算机连接到其他网络设备上。网络适配器中一般只实现网络物理层和数据链路层的功能。网络收发器:是网络适配器和传输介质间的接口设备,它提供信号电平转换和信号地的隔离。网络介质转换设备:是网络中不同传输介质间的转换设备,如双绞线和光纤、单模光纤和多模光纤间的转换。多路复用器:是终端控制器的一种,用于提高通信信道的利用率。中继器:通过将整形放大接收到的电信号再传递出去,延伸传输介质的距离,如以太网中继器就可用来连接不同的以太网段(每个网段有最大距离的限制),以构成一个以太网,有时也译为转发器。集线器:英文为HUB,可以看成是多端口中继器(一般的中继器是双端口的)。网络收发器、网络介质转换设备、多路复用器和中继器都是工作在物理层的网络设备。网桥:是工作在物理层和数据链路层的网络连接设备,可将两个局域网互连成一个逻辑上的局域网。交换机:早期的交换机实质上相当于一个多端口网桥,可更明确地称之为帧交换机。路由器:是工作在网络层的多个网络间的互连设备,它可在网络间提供路径选择功能。网关:可以看成是多个网络间互连设备的统称,但一般专指在传输层以上实现多个网络互连的设备,又称应用层网关。1.5.1局域网局域网(LAN,LocalAreaNetwork)是指范围在几百米到十几千米内的办公楼群或校园内的计算机相互连接所构成的计算机网络。计算机局域网被广泛应用于连接校园、工厂以及机关的个人计算机或工作站,以利于个人计算机或工作站之间共享资源(如打印机)和数据通信。局域网区别于其他网络主要体现在下面三个方面:网络所覆盖的物理范围;网络所使用的传输技术;网络的拓扑结构。1.5计算机网络的分类
局域网中经常使用共享信道,即所有的机器都接在同一条电线上。传统局域网具有高数据传输率(10Mb/s或100Mb/s)、低延迟和低误码率的特点。新型局域网的数据传输率可达千兆位每秒甚至更高。局域网有不同的拓扑结构,常用的有总线型、星型和环型等(如图1-10所示)。图1-10局域网常用的拓扑结构1.5.2城域网城域网(MAN,MetroPolitanAreaNetwork)所采用的技术基本上与局域网相类似,只是规模上要大一些。城域网既可以覆盖相距不远的几栋办公楼,也可以覆盖一个城市,既可以是专用网,也可以是公用网。城域网既可以支持数据和话音传输,也可以与有线电视相连。
将城域网作为一种网络类型的主要原因是其有标准并已推行,该标准的名称为分布式队列双总线(DQDB,DistributedQueueDualBus),它现在已经成为国际标准,编号为IEEE802.6。DQDB的工作范围一般是160km,数据传输率为44.736Mb/s。
DQDB采用两条平行的单向总线(如图1-11所示),这两条平行的单向总线贯穿于整个城市,每个站点都同时与这两条总线相连。其中每条总线都有一个端接点,各自产生一个53字节的信元流。每个信元都从端接点沿着总线往下传,当它到达终点时,就从总线中消失。图1-11DQDB城域网示意图每个信元带有44字节的有效载荷,而且每个信元中带有两个标志位:“忙”(Busy)位和“请求”(Request)位。当“忙”标志位为1时,表示该信元已被占用;当某站点想发出请求时,将信元的“请求”标志位设置为1。每个站点在发送信元之前必须知道目的站点是位于其左方还是右方。如果目的站点位于它的右方,发送站点使用总线A,否则使用总线B。在DQDB中,每个站点的数据是通过“线或”电路输入到相应的总线中的,因此某个站点的失效不会造成整个网络的瘫痪。在IEEE802.6标准中,站点按照先进先出的原则进行排队发送数据。发送站点发送数据时必须等到其下方的站点发送完后才能发送。这样做的目的是为了防止离端接点最近的站点将经过它的所有空闲信元全部捕获并填入内容,致使其他站点被抛弃。1.5.3广域网广域网(WAN,WideAreaNetwork)通常跨接很大的物理范围,如一个行业、一个国家。广域网包含很多用来运行用户应用程序的机器集合,通常把这些机器叫做主机(Host)。把这些主机连接在一起的是通信子网(CommunicationSubnet),通信子网的作用是在主机之间传送报文。广域网通常将网络中的纯通信部分的子网与应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中生社会实践安全注意事项故事解读
- 零售业数字化转型服务协议
- 智能家居智能控制合作协议
- 童年赏析生活细微之处的真挚情感
- 安防产业智能家居安防控制与管理解决方案
- 新能源技术发展趋势预测
- 油气行业安全监控与智能报警分析系统
- 草房子作文赏析与创作思考
- 2024年度华南地区投资顾问服务合同
- 了不起的英语图书馆学以致用故事解读
- 《米奇妙妙屋》课件
- 王二小的故事【拼音版】
- 质量手册(依据ISO9001:2023年标准)
- 路灯更换施工方案
- 大力弘扬教育家精神争做新时代大先生PPT以文化人的弘道追求展现了中国特有的教育家精神PPT课件(带内容)
- 生产工艺过程说明书
- 辽宁省营口市鲅鱼圈区2023-2024学年数学四年级第一学期期末复习检测试题含答案
- 中小学铁路安全知识主题教育课件
- RoboCup中型组机器人比赛规则MSLR
- 抗生素使用强度降低PDCA
- 工程施工安全交底
评论
0/150
提交评论