第1章 概 述 计算机网络是计算机技术与通信技术紧密结合的产物,是目前计算机应用技术中最活跃的分支。计算机技术与通信技术的巨大发展为计算机网络的发展奠定了良好的技术基础,使计算机网络成为信息存储、管理、传播和共享的有利工具,在当今信息社会中,计算机网络发挥着越来越重要的作用,甚至影响和改变了人们的工作方式和生活方式。 1.1 计算机网络的产生与发展 计算机网络的发展源于计算机技术和通信技术的结合。计算机应用范围的扩大、通信技术的发展和人们对计算机应用需求的增长,共同促进了计算机网络的快速发展。人们一般将计算机网络的形成与发展进程分为四代。 1.1.1 远程联机系统 20世纪50年代,计算机比较少且价格昂贵。人们将分布在远距离的多个终端通过通信线路与某地的中心计算机相连,来使用中心计算机系统的主机资源,这称为远程联机系统。远程联机系统中,远程终端负责收集数据,送往中心计算机处理,中心计算机再将处理结果送回远程终端输出,其结构如图1-1所示。 图1-1 远程联机系统 图1-1中的M是调制解调器(Modem),是计算机与电话线之间进行信号转换的装置,由调制器和解调器两部分组成。调制器是把计算机的数字信号(如文件等)调制成可在电话线上传输的声音信号的装置。在接收端,解调器再把声音信号转换成计算机能接收的数字信号。通过调制解调器和电话线就可以实现计算机之间的数据通信。 简单的联机系统存在着通信线路利用率低、主机负荷重两个严重的缺陷,为了减轻主机的负担,20世纪60年代出现了前端处理机(FEP,或称通信处理机)来负责数据的收发等通信控制和通信处理工作,对一些集中在一个地域的终端则相应设置了集中器来实现多个终端共享一条高速通信线路。这种改进后的系统如图1-2所示。 图1-2 改进后的远程联机系统 具有代表性的远程联机系统是美国在20世纪50年代建立的半自动地面防空系统(SAGE),它将雷达和其他信息从终端输入后,经通信线路送到中心计算机处理。另一个有代表性的远程联机系统是20世纪60年代初在美国建成的全国性航空公司飞机订票系统(SABRE),用一个中央计算机连接了2 000多个遍布全国的售票终端。 1.1.2 计算机网络阶段 20世纪60年代后期,随着计算机拥有量的增加,人们试图将多台计算机连接起来,以实现计算机间数据的传输。在计算机通信网络的基础上,完成了计算机网络体系结构与协议的研究,形成了第二代计算机网络。20世纪60年代后期和20世纪70年代初期发展起来的美国高级研究计划局的ARPAnet网络就是这类系统的典型代表,此时的计算机网络是由若干个计算机互联而成的。ARPAnet建立于1969年,当时是仅具有4个结点的试验网,到1976年全国已有60个IMP(接口信息处理机)和100个主机系统,在地理上已从美国本土延伸到夏威夷和欧洲。20世纪80年代,又发展成具有100个IMP和300个主机系统的网络。到了1990年,ARPAnet被它自己派生出来的新网络代替了,因此它被关闭并拆除了,但是它永远活在世界各地网络研究人员的心中。 1.1.3 网络体系结构的标准化 计算机网络是一个非常复杂的系统,每一个计算机网络又自成体系。20世纪70年代,为适应计算机网络扩充和互联的需要,各网络研制部门开始致力于网络体系结构的研究,提出了多种网络体系结构,其中典型的有:1974年IBM公司提出的系统网络体系(SNA),1975年DEC公司提出的面向分布型网络的数字网络体系(DNA)。国际标准化组织(ISO)也于1977年组织进行了网络体系结构标准化的研究,在1983年颁布了“开放系统互连基本参考模型"(OSI/RM模型)。这些研究工作大大促进了计算机网络的规范化。 20世纪70年代中后期,局域网开始从实验室走入产业界。1975年,美国Xerox公司推出了第一个局域网即以太网。20世纪80年代初期涌现出大量局域网的产品,如3+网、ARCnet、IBM PCnet等,另外还有局域网操作系统产品如NetWare。电气与电子工程师学会IEEE于1980年2月公布了IEEE 802标准用来规范局域网的体系结构,作为局域网的国际标准。 20世纪80年代是广域网迅速发展的时期,各国纷纷组建和发展公用数据网,从而实现了更广泛地理范围上的数据传输。 在开放式网络中,所有的计算机和通信设备都遵循着共同认可的国际标准,从而可以保证不同厂商的网络产品可以在同一网络中顺利地进行通信。事实上,目前存在着两个重要的网络体系,即OSI参考模型和TCP/IP参考模型。在1.5节中会重点讨论OSI参考模型。 1.1.4 计算机网络向全面互联、高速和智能化发展 进入20世纪90年代,网络互联呈现出新的景象。局域网技术发展成熟,出现了光纤、高速网络技术、多媒体和智能网络。一些发达国家提出了“信息高速公路计划",实施网络基础设施的建设,国际性网络Internet迅速在世界范围内扩展开来,综合业务数字网(ISDN)也快速发展。这些都标志着计算机网络进入了一个飞速发展的时期。 由于因特网(Internet)的进一步发展面临着带宽(即网络传输速率和流量)的限制,网络安全管理、多媒体信息传输的实用化和因特网上地址紧缺等各种困难,因此新一代计算机网络应满足高速、大容量、综合性的数字信息传递等多方位需求。20世纪90年代以来,多平台、多协议和客户端/服务器(Client/Server)网络已成为网络发展的主流;各种ATM网络、宽带综合业务数字网络(B-ISDN)和高速信息网络(如ADSL等)相继投入市场。计算机网络朝着高速、宽带、智能和多媒体的总趋势不断发展。有一种观点认为,第四代计算机网络是以宽带综合业务数字化网络和ATM技术为核心来建立的。 1.2 计算机网络的定义与组成 1.2.1 计算机网络定义 人们通常对计算机网络的定义是:为了实现计算机之间的通信交往、资源共享的访问工作,采用通信手段,将地理位置分散的、各自具备自主功能的一组计算机有机地联系起来,并且由网络操作系统进行管理的计算机集合系统。 从这个简单的定义可以看出,计算机网络涉及以下3个要点: (1)一个计算机网络可以包含有多台具有“自主"功能的计算机。所谓的“自主"是指这些计算机离开计算机网络之后,也能独立地工作和运行。因此,通常将这些计算机称为主机(host),在网络中又叫做结点或站点。一般来讲,在网络中的共享资源(即硬件资源、软件资源和数据资源)均分布在这些计算机中。 (2)人们构成计算机网络时需要使用通信的手段,把有关的计算机(结点)连接起来。连接时彼此必须遵循所规定的约定和规则,这些约定和规则就是通信协议。每一个厂商生产的计算机网络产品都有自己的许多协议,这些协议的总体就构成了协议集。 (3)建立计算机网络的主要目的是为了实现通信的交往、信息资源的交流、计算机分布资源的共享或者是协同工作。 1.2.2 计算机网络逻辑组成--资源子网和通信子网 由于计算机网络的基本功能分为数据处理和数据通信两大部分,因此它所对应的结构也可以分成相应的两个部分。其一,负责数据处理的计算机与终端设备;其二,负责数据通信的通信控制处理机CCP(Communication Control Processor)和通信线路。 图1-3表示了计算机网络的逻辑组成结构,即计算机网络按其逻辑功能分为资源子网和通信子网。 图1-3 资源子网和通信子网 1.计算机资源子网 1)资源子网的组成 资源子网由主计算机系统、终端、终端控制器、联网的外部设备、软件资源和数据资源组成。 (1)主计算机(host)。在计算机网络中主计算机可以是大型机、中型机、小型机、终端工作站或者微型机(PC)。主计算机是资源子网的主要组成单元,它通过高速线路与通信子网的通信控制处理机相连接。普通的用户终端机通过主计算机连接入网,主计算机为本地用户访问网络的其他计算机设备、共享资源提供服务。 随着微型机的飞速发展和普及,联入网络中的微型机与日俱增,它既可以作为主机的一种类型通过通信控制处理机联入网中,也可以通过各种大、中、小型计算机间接地联入网中。 (2)终端(terminal)。终端是用户访问网络的界面装置。终端一般是指没有存储与处理信息能力的简单输入、输出终端,但有时也指带有微处理机的智能型终端。智能型终端除了具有输入、输出信息的基本功能外,本身还具有存储与处理信息的能力。此外,终端既可以通过主机联入网中,也可以通过终端控制器、报文分组组装/拆卸装置或通信控制处理机联入网中。 2)资源子网的基本功能 资源子网负责全网的数据处理业务,并向网络客户提供网络资源和网络服务。 2.计算机通信子网 1)通信子网的组成 通信子网由通信控制处理机、通信线路和其他通信设备组成。 (1)通信控制处理机(CCP)。通信控制处理机是一种在数据通信系统中专门负责网络中数据通信、传输和控制的专门计算机或具有同等功能的计算机部件。它一般由配置了通信功能的软件和硬件的小型机、微型机承担。 通信控制处理机在网络拓扑中被称为网络结点。它一方面作为资源子网的主机、终端的接口结点,将它们联入网中,另一方面又实现通信子网中的报文分组的接收、校验、存储、转发等功能,并且起着将源主机报文准确地发送到目的主机的作用。 (2)通信线路。即通信介质,它为CCP与CCP、CCP与主机之间提供数据通信的通道。通信线路和网络上的各种通信设备一起组成了通信信道。 计算机网络中采用的通信线路的种类很多。如,可以使用架空明线、双绞线、同轴电缆、光导纤维电缆等有线通信线路组成通信信道,也可以使用无线通信、微波通信和卫星通信等无线通信线路组成通信信道。 2)通信子网的基本功能 通信子网负责全网的数据传输、转发及通信处理等工作。 1.3 网络分类 初次接触网络时,人们可能会首先见到或听到各种各样的网络,诸如广域网、局域网、星型网、以太网、Novell网等,如果不了解网络的分类可能就会感到眼花缭乱、不知所措,学习网络的分类可以帮助人们理清思路,从而更好地学好网络。学习网络分类是学习网络的一种方法,掌握方法往往比学习本身更为重要,在学习网络分类的过程中也就逐步掌握了各种网络技术。 网络分类有不同的方法,可以按照网络的地理范围、拓扑结构、使用的协议等来划分。下面按照几种常用的网络分类方法介绍网络的类型。 1.3.1 按照地理范围分类 按照地理范围对网络进行分类是最主要最常用的方法,按照地理范围一般把网络分成广域网、局域网和城域网。 1.局域网 局域网(Local Area Network,LAN)是处于同一建筑、同一大学或方圆几千米地域内的专用网络。局域网的地理范围一般都在几千米以内,最小的局域网可以在一个小型办公室、大学生宿舍甚至家庭里组建。局域网可以分为许多种类,主要有以太网、令牌环网和FDDI环网等。近年来以太网发展速度非常快,所以目前人们所见到的局域网几乎都是以太网。局域网组网方便,价格低廉,技术实现起来比广域网容易,一般用于企业、学校、机关、机构组织等内部网络。局域网按照使用的介质又可以分为有线网和无线网;按照拓扑结构又可以分为总线网、星型网和环型网等。 2.城域网 城域网(Metropolitan Area Network,MAN)基本上是一种大型的LAN,通常使用与LAN相似的技术。它可能覆盖一组临近的公司办公室和一个城市,既可能是私有的也可能是公有的,但是城域网究竟采用什么技术不好规定。按照IEEE的标准,城域网采用DQDB的标准,但是近年来人们在组建城域网时大多数采用ATM网或者更多地采用千兆以太网,所以说城域网可以理解为是一种放大了的局域网或缩小了的广域网。 3.广域网 广域网(Wide Area Network,WAN)是一种跨越大地域的网络,通常包含一个国家或州。广域网与城域网之间有交叉,所以究竟多大范围以上属于广域网没有严格规定,主要还应该看采用什么样的技术。广域网一般包括PSTN、ISDN、DDN专线、X.25专线、ATM和FRN这几种网络实现技术。广域网由于采用的技术种类比较多,因此性能上有差异。例如,一般来说,PSTN公共电话网的传输质量稍差些,而PSTN、ISDN和X.25的传输速率都稍低些。ATM是宽带信元交换网络,具有良好的性能,但其发展在目前也面临着IP网络的竞争。所以,广域网又可以细分为窄带网和宽带网。ATM和IP网络属于宽带多媒体网络,其他网络基本上都属于窄带网。另外广域网有一个比较明显的特点,就是一般都由电信部门经营,是一种公用网络。用户在组建广域网时可以租用电信部门的专线,所以广域网是一种电信通信网。广域网又分成主干网和接入网。用做数据传输的网络干线称为主干网,采用带宽比较宽的卫星通信网或光纤网;用做用户接入广域网的网络支线称为用户接入网,用户接入网一般采用电话、ISDN数字电话、DDN专线、X.25拨号等方式。近年来接入方法有了很大进展,又相继开发了ADSL、Cable Modem和FTTx等各种宽带接入技术。 最后还需指出,由于10 Gbps以太技术和IP网络技术的出现,以太技术已经可以应用到广域网中。这样广域网、城域网与局域网的界限也就越来越模糊了,这一点应该引起读者的注意。 1.3.2 按照拓扑结构分类 在拓扑学中,把事物抽象成结点,把事物间的关系抽象成连线组成的图形称为拓扑。在网络中,结点就是计算机,连线就是数据通道,所以拓扑就是用拓扑学的方法研究计算机之间如何连接。按照拓扑结构分类基本上可以分成两大类。一类是无规则的拓扑,这种拓扑结构只有网状图形,适合于广域网的拓扑结构,称为网状网。还有一类是有规则的拓扑,这种拓扑结构的图形一般是有规则的和对称的,适合于局域网的拓扑结构,又分成星型、树型和总线型。 1.星型拓扑 如果所有计算机都连在一个中心站点上,那么网络使用了星型拓扑,如图1-4(a)所示。多用户联机系统是典型的星型结构。中心结点既要负责数据处理,又要负责数据交换,是网络的控制中心,一旦出现故障容易引起全网瘫痪,故可靠性差。近年来,在以太网中的网络大多数采用这种星型结构,但中心结点不是一台主机,而是一个集线器或交换机。这类设备由于采用大规模集成电路技术,因此是一种非常可靠的组网形式。 2.树型拓扑 使用星型拓扑结构的网络的一个结点如果连接另一台交换机或集线器,就形成了具有分支的树型拓扑结构的网络,如图1-4(b)所示。采用树型拓扑结构的网络在局域网中也经常采用,星型拓扑结构的网络可以看做是树型拓扑结构网络的特例。树型拓扑结构类似于行政部门的分组管理机构,使得网络具有很好的层次性。 3.不规则拓扑 不规则的拓扑结构是一个“网”,如图1-4(c)所示。采用这种拓扑结构的网络特点是结点间的通路比较多,数据在传输时可以选择多条路由。当某一条线路出现故障时,数据分组可以寻找其他线路迂回,最终达到目的地,所以网络具有很高的可靠性。但这种网络控制结构复杂,建网费用较高,一般适用于广域网组网。这种网络中两个结点间传输数据时与其他结点无关,所以又称为点对点的网络。 4.总线拓扑 使用总线拓扑的网络通常有一根连接计算机的长电缆(实际上,总线网络的末端必须被终止,否则电信号会沿着总线反射),如图1-4(d)所示。这种网络当某个结点发送信息时其他结点都能收到,所以又称为广播方式的网络(广播方式还包括星型、树型和环型)。广播方式的机理比较简单,但是容易发生信息间的碰撞导致传输率下降。早期的以太网采用这种方式,网络结构非常简单,组网方便,价格便宜。近年来这种网络结构已经不多 见了。 5.环型网 使用环状拓扑的网络将计算机连接成一个封闭的圆环,一根电缆连接第一台计算机 与第二台计算机,另一根电缆连接第二台计算机与第三台,以此类推,直到一根电缆连 接最后一台计算机与第一台计算机,如图1-4(e)所示。著名的IBM令牌环网和FDDI光纤环网都采用这种网络拓扑结构。但环网近年来没有取得太大的进展,在局域网中已经很少采用。 (a)星型 (b)树型 (c)网状 (d)总线型 (e)环型 图1-4 网络拓扑结构 1.3.3 按照协议分类 按照协议对网络进行分类也是常用的方法,尤其是在局域网中更明显。稍后还将学习到网络的协议是分层的,按照协议分类一般都指网络所使用的底层协议。例如,在局域网中主要有两种协议:一种是以太网;一种是令牌环网。这里用到的网络名字实际上就是指这两种网络所使用的协议。以太网用的网络接口层(底层)协议为802.3标准,这个标准在制定时就参考了以太网协议,所以人们就把这种网络称为以太网。令牌环网的协议标准是802.5,这个标准在制定时参考了IBM公司著名的环网的名字,所以这种网络又称为令牌环网。 广域网也有类似的例子。分组交换网遵循X.25协议的标准,所以经常称这种广域网为X.25网。除此之外还有帧中继网(FRN)和ATM网等。 除了上述3种主要的网络分类方法之外,还经常使用其他的分类方法。例如,按照传输的信息类型把网络分为窄带网和宽带网;按照网络信道的介质,把网络分为有线网、无线网、铜线网、光纤网和卫星通信网等;按照网络所使用的操作系统,把网络分为Novell网和NT网等;按照网络的规模及组网方式,又把网络分为工作组级、部门级和企业网,等等。 1.4 计算机网络体系结构与协议 1.4.1 计算机网络协议 在计算机网络系统中,为了保证通信双方能正确而自动地进行数据通信,针对通信过程的各种情况,制定了一整套约定,这就是网络系统的通信协议。 1.协议的定义与组成 1)协议的定义 通信协议是一套语义和语法规则,用来规定有关功能部件在通信过程中的操作。简单地说,协议是指通信双方必须遵循的控制信息交换规则的集合。常见的网络协议有TCP/IP、NetBEUI、IPX/SPX、NWLink等。 2)协议的组成 一般来说,一个网络协议主要由语义、语法和规则(时序)3个要素组成。 (1)语义。由通信过程的说明构成,它规定了需要发出何种控制信息、完成何种动作以及作出何种应答,对发布请求、执行动作以及返回应答予以解释,并确定用于协调和差错处理的控制信息。例如,在基本型数据链路控制协议中,规定协议元素SOH的语义表示所传输报文的报头开始;而协议元素ETX的语义,则表示正文结束。 (2)语法。指数据与控制信息的结构或格式,确定通信时采用的数据格式、编码及信号电平等。语法是用于规定将若干个协议元素和数据组合在一起来表达一个更完整的内容时所应遵循的格式,即对所表达内容的数据结构形式的一种规定。 (3)规则。是对事件实现顺序的详细说明,指出事件的顺序以及速度匹配。它规定了事件的执行顺序。 为了减小协议设计的复杂性,大多数网络都按层(layer)或级(level)的方式来组织,每一层都建立在它的下层之上,不同的网络,其层的数量,各层的名字、内容和功能都不尽相同。然而,在所有的网络中,每一层的目的都是向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。 一台计算机上的第N层与另一台计算机上的第N层进行对话,通话的规则就是第N层协议,协议基本上是通信双方关于通信如何进行达成的一种约定。 图1-5说明了一个5层的协议,不同计算机里包含对应层的实体叫对等进程(peer)。换言之,正是对等进程利用协议进行通信。 图1-5 协议和接口 数据不是从一台计算机的第N层直接传送到另一台计算机的第N层,而是每一层都把数据和控制信息交给它的下一层,直到最下层,第一层下面是物理介质(physical medium),它进行实际的通信。 每一对相邻层之间都有一个接口,接口定义下层向上层提供的原语操作和服务。 2.协议的功能 作为计算机数据交换语言的协议必须具备以下一些功能。 (1)分割与重组。协议的分割功能,可以把较大的数据单元分割成较小的数据包,其反过程为重组。 (2)寻址。协议的寻址功能使得设备彼此识别,同时可以进行路径选择。 (3)封装和拆装。协议的封装功能是指在数据单元(数据包)的始端或者末端增加控制信息,其相反的过程是拆装。 (4)排序。协议的排序功能是指报文发送与接收顺序的控制。 (5)信息流控制。协议的流量控制功能是指在发送方速度大于接收方时,对发送信息流过大所采取的一系列措施。 (6)差错控制。差错控制功能使得数据按误码率要求的指标,保证数据在通信线路中正确传输。 (7)同步。协议的同步功能可以保证收发双方在数据传输时的一致性。 (8)干路传输。协议的干路传输功能可以使多个用户信息共用干路。 (9)连接控制。协议的连接控制功能可以控制通信实体之间建立和终止链路的过程。 1.4.2 计算机网络体系结构 在分层结构中,每一层协议的基本功能都是实现与另外一个层次结构中对等实体(可以理解为进程)间的通信,因此称之为“对等层协议"。另一方面,每层协议的功能是提供与同一个计算机系统中相邻的上层协议的服务接口,如图1-6所示。 通过对协议进行分层,降低了网络实现的复杂程度,将复杂的计算机系统之间的通信问题划分为若干个层次的功能进行实现。每个层次要解决的问题简单明了,每一层直接利用其下层的功能,而把精力集中在完成本层功能上。协议分层的另一优点是灵活性好,实现每一层时只需保证为其上层提供规定的服务,至于如何实现本层功能、采用什么样的硬件或软件,则没有任何限制。允许任意一层或几层在设计时做灵活变动。 通常将网络功能分层结构以及各层协议统称为网络体系结构。不同的网络体系结构中分层的数量,各层的名称、内容和功能不尽相同。 计算机网络中采用层次结构,可以有以下几个好处: (1)各层之间相互独立。高层并不需要知道低层是如何实现的,而仅需要知道该层通过层间的接口所提供的服务。 (2)灵活性好。当任何一层发生变化时,例如由于技术的进步促进实现技术的变化,只要接口保持不变,则在这层以上或以下各层均不受影响。另外,当某层提供的服务不再需要时,甚至可将这层取消。 (3)各层都可以采用最合适的技术来实现,各层实现技术的改变不影响其他层。 (4)易于实现和维护。因为整个系统已被分解为若干个易于处理的部分,所以这种结构使得一个庞大而又复杂系统的实现和维护变得容易控制。 (5)有利于促进标准化。各国的一些研究机构或大公司都十分重视研究计算机网络的体系结构。比较著名的网络体系结构有国际标准化组织(ISO)提出的开放系统互连体系结构(OSI);美国国防部提出的TCP/IP协议;IBM公司提出的系统网络体系结构(SNA);DEC公司提出的数字网络体系结构(DNA);国际电报电话咨询委员会(CCITT)提出的公共数据网X.25等。这些网络体系结构共同之处在于它们都采用了分层技术,但层次的划分、功能的分配与采用的技术术语均不相同。随着信息技术的发展,各种计算机系统联网和各种计算机网络的互联成为人们迫切需要解决的课题。OSI参考模型就是在这个背景下提出并进行研究的。 1.5 OSI参考模型 国际标准化组织(ISO)是世界上著名的国际标准组织之一,它主要由美国国家标准组织ANSI及其他各国的国家标准组织的代表组成。ISO对网络最主要的贡献是建立并于1981年颁布了OSI参考模型(Open System Interconnection Reference Model),因为它是关于如何把开放式系统(即为了与其他系统通信而相互开放的系统)连接起来的,所以常简称为OSI模型。它的颁布促使所有的计算机网络走向标准化,从而具备了互联的条件。OSI参考模型最终被开发成全球性的网络结构。 1.5.1 OSI参考模型层次划分的原则 ISO/OSI模型把网络系统划分为七层结构,如图1-7所示。将信息从一层传送到下一层是通过命令方式实现的,这里的命令称为原语。被传送的信息称为协议数据单元(Protocol Data Unit,PDU)。在PDU进入下层之前,会在PDU中加入新的控制信息,这种控制信息称为协议控制信息(Protocol Control Information,PCI)。接下来,会在PDU中加入发送给下层的指令,这些指令称为接口控制信息(Interface Control Information,ICI)。PDU、PCI与ICI共同组成了接口数据单元(Interface Data Unit,IDU)。下层接收到IDU后,就会从IDU中去掉ICI,这时的数据包被称为服务数据单元(Service Data Unit,SDU)。随着SDU一层层向下传递,每一层都要加入自己的信息。 OSI参考模型的特点如下: (1)每一层都对整个网络提供服务,因此是整个网络的一个有机组成部分,不同的层次定义了不同的功能。 (2)每一层在逻辑上都是独立的,是根据该层的功能定义的。 图1-7 OSI网络系统结构模型与协议 (3)每一层实现的时候可以各不相同,某一层实现时并不影响其他各层。 1.5.2 OSI参考模型中的数据流 计算机利用协议进行相互通信,根据设计准则,OSI模型工作时,若两个网络设备通信,则每一个设备的同一层同另一个设备的类似层次进行通信。不同结点通信时,同等层次通过附加该层的信息头来进行相互的通信。 在发送方的每一结点内,在它的上层和下层之间传输数据。每经过一层都对数据附加一个信息头部,即封装,而该层的功能正是通过这个“控制头"(附加的各种控制信息)来实现的。由于每一层都对发送的数据发生作用,因此真正发送的数据越来越大,直到构成数据的二进制位流,在物理介质上传输。 在接收方,这七层的功能又依次发挥作用,并将各自的“控制头"去掉,即拆装,同时完成相应的功能,例如检错、传输等。 OSI参考模型中发送/接收数据的数据流,如图1-8所示。 1.5.3 OSI参考模型七层的功能 下面将介绍协议的各种功能是如何分配到每一层,以及每一层所完成的具体功能。 1.物理层 物理层(physical layer)是OSI参考模型的最低层,也是OSI模型的第一层,它利用物理传输介质为数据链路层提供物理连接,主要任务是在通信线路上传输数据比特的电信号。物理层保证数据在目标设备上,以与源设备发送时同样的方式进行读取。 图1-8 OSI参考模型中的数据流 物理层定义了数据编码和流同步,确保发送方与接收方之间的正确传输;定义了比特流的持续时间以及比特流是如何转换为可在通信介质上传输的电或光信号的;定义了信号线如何接到网卡上。例如,它定义了接头有多少针头,每个管脚的功能等;定义了网线上发送数据采用的技术。此层还规定了建立和保持物理连接的电子、电气及机械特性,以及实现的手段。例如,物理层规定的物理规范包含了电缆电压的量值,信号在发送时如何转换为0和1,以及信号的发送顺序。 物理层完成的主要功能如下: (1)传输二进制“位"信号。 (2)指定传输方式的要求。 (3)当建立、维护与其他设备的物理连接时,提供需要的机械、电气等特性,并实现数据传输。 2.数据链路层 数据链路层(data link layer)是OSI模型的第二层。这一层的主要任务是负责在两个相邻结点之间的线路上无差错地传输以帧为单位的数据。帧为数据的逻辑单位,每一帧包括数据和一些必要的控制信息(包括同步信息、地址信息、差错控制信息和流量控制信息等)。这一层将数据分解成帧,然后按顺序传输帧,并负责处理接收端发回的确认帧的信息,即提供可靠的数据传输。 数据链路层用来启动、断开链路,并提供信息流控制、错误控制和同步等功能。它在物理层传送的比特流的基础上,负责建立相邻结点之间的数据链路,提供结点与结点之间的可靠数据传输。它除了将接收到的数据封装成数据帧或包(这些数据帧或包中包含有各种信息,例如,目的地址、源地址、数据以及其他控制信息等)再传送之外,还通过CRC校验等方法,捕获和改正检测到的帧中的数据位错误。 通常该层又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。MAC主要用于共享型网络中多用户对信道竞争的问题,解决网络介质的访问;LLC主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。 数据链路层完成的主要功能如下: (1)数据链路的建立、维护与释放链路的管理工作。 (2)将数据转换为数据帧。 (3)数据帧传输顺序的控制。 (4)差错检测与控制。例如,处理接收端发回的确认帧。 (5)数据流量控制。 3.网络层 网络层(network layer)数据的传输单位是分组或包,是OSI模型的第三层,它负责通过网络传输数据。通常数据在这一层被转换为数据报,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一台网络设备传送到另一台网络设备。 数据通过网络时的设备,被称为中间设备(intermediate devices)。 网络层从源主机那里接收报文,同时将报文转换为数据包,并确保这些数据包直接发往目标设备。网络层还负责决定数据包通过网络的最佳路径。另外,当网络中同时存在太多的数据包时,它们就会争抢通路,形成瓶颈,网络层可以控制这样的阻塞。 网络层实际上是通过执行路由算法,为报文分组通过通信子网选择最适当的路径。它是OSI参考模型中最复杂的一层。 网络层完成的主要功能如下: (1)通过路径选择将信息从最合适的路径由发送端传送到接收端。 (2)将数据转换成数据包。 (3)网络连接的建立和管理。 4.传输层 信息的传输单位是报文,传输层(transport layer)是OSI模型的第四层,它提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时对数据进行分割。然后传输层将数据传递到网络层,并确保数据能正确无误地传送到网络层。因此,传输层负责提供两结点之间数据的可靠传送,当两结点已确定建立联系之后,传输层即负责监督。传输层的目的是向用户透明地传送报文,它向高层屏蔽了下层数据通信的细节。 传输层完成的主要功能如下: (1)分割和重组数据。 (2)提供可靠的端到端服务。 (3)流量控制。 (4)使用面向连接的数据传输(与网络层不同,传输层的连接被视为是“面向连接 的”。通过这一层传送的数据将由目标设备确认,如果在指定的时间内未收到确认信息,则数据将被重发)。 为了实现上述功能,传输层提供了以下几种连接服务: (1)数据段排序。当网络发送大量数据时,有时必须将数据分割成小段。由于网络层有时采用数据包方式,因此这些数据段到达目的地时很可能处于无序状态。所以,传输层在将数据发送到会话层之前,需要将它们重新排序。 (2)传送中的差错控制。传输层使用“校验和"之类的方法来校验数据中的错误。差错控制如果没有收到某一段信息,它将请求重新发送这一数据。差错控制正是通过跟踪数据包的序列号来完成这一任务的。值得注意的是,传输层常常被认为是差错控制层,其实它只保证数据被传送,而不保证数据被正确传送。确认某个信息是否必须改正或重发是由表示层和会话层负责的。 (3)流量控制。传输层是通过确认信息的方法来实现流量控制的。发送设备在收到目标设备的上一段数据包的确认信息之前,是不会发送下一段信息的。 5.会话层 会话层(session layer)是模型的第五层,它是用户应用程序和网络之间的接口,这一层允许不同计算机上的两个应用程序建立、使用和结束会话连接,这就是会话。同时一旦会话关系已经建立,它还要对会话进行有效的管理。 用户可以按照半双工、单工和全双工的方式建立会话。当建立会话时,用户必须提供它们想要连接的远程地址。而这些地址与MAC(介质访问控制)地址或网络地址不同,它们是为用户专门设计的,更便于用户记忆。例如,域名(DN)就是一种网络上使用的远程地址,如www.3721.com等。 会话层完成的主要功能如下: (1)允许用户在设备之间建立维持和终止会话,例如,提供单方向会话或双向同时 会话。 (2)管理对话。 (3)使用远程地址建立连接。 因此,从逻辑上讲,会话层主要负责数据交换的建立、保持和终止,其实际的工作是接收来自传输层的数据,并负责纠正错误。出错控制、会话控制、远程过程调用均是这一层的功能。但应注意,此层检查的错误不是通信介质的错误,而是磁盘空间不够、打印机缺纸等类型的高级错误。 6.表示层 表示层(presentation layer)是OSI模型的第六层,它的主要功能是协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。这一层还负责设备之间所需要的字符集或数字转换;并负责数据压缩,以减少数据传输量,同时也负责数据加密。 表示层完成的主要功能如下: (1)建立数据交换的格式。 (2)处理字符集和数字的转换。 (3)执行数据压缩与恢复。 (4)数据的加密和解密。 7.应用层 应用层(application layer)是OSI参考模型的最高层,它是用户应用程序和网络之间的接口。这一层允许用户使用网络中的应用程序传输文件、发送电子邮件,以及完成用户希望在网络上完成的其他工作。 因此,这一层的主要功能是负责网络中应用程序与网络操作系统之间的联系,包括建立与结束使用者之间的联系,监督、管理相互连接起来的应用系统和所使用的应用资源。这一层还为用户提供各种服务,包括目录服务、文件传送(FTP)、远程登录(Telnet)、电子邮件(E-mail)、虚拟终端、作业传送和操作以及网络管理等。然而,这一层并不包含应用程序本身。例如,它包含目录服务,如Windows界面的Program Manager和资源管理器等,但不包含字处理程序、数据库等。 应用层完成的主要功能如下: (1)作为用户应用程序与网络间的接口。 (2)使用户的应用程序能够与网络进行交互式联系。 8.OSI参考模型每一层的特殊功能 在七层模型中,每一层都提供一个特殊的网络功能。 (1)若从功能的角度观察,下面4层(物理层、数据链路层、网络层和传输层)主要提供电信传输功能,以结点到结点之间的通信为主;上面3层(会话层、表示层和应用层)则以提供使用者与应用程序之间的处理功能为主。也就是说,下面4层属于通信功能,上面3层属于处理功能。 (2)若从网络产品的角度观察,对于局域网来说,最下面3层(物理层、数据链路层、网络层)直接做在网卡上,其余的4层则由网络操作系统来控制。 上述各层最主要的功能可以归纳如下: 应用层:与用户进程的接口,即相当于做什么。 表示层:数据格式的转换,即相当于对方看起来像什么。 会话层:会话的管理与数据传输的同步,相当于轮到谁讲话和从何处讲。 传输层:从端到端透明地传输报文,即相当于对方在何处。 网络层:分组传输和路由选择,即相当于走哪条路可到达该处。 数据链路层:在链路上无差错地传输帧,即相当于每一步应该怎样走。 物理层:将比特流送到物理媒体上传输,即相当于对上一层的每一步应该怎样利用物理媒体。 1.6 通信基础知识 1.6.1 数据通信的基本概念 目前,构成网络的计算机或终端设备都是数字式的,它们之间交换信息的方式都是以离散的二进制数字信号表示的。但是,在数据通信过程中,数字信号以何种方式表示,则要看选用什么样的通信信道。有的通信信道允许传输数字信号,有的通信信道则只允许传输模拟信号,因而便形成基带传输和频带传输两种不同的数据传输方式。基带传输又可分为串行和并行传输。在串行传输中,由于配置不同,又有所谓单工、半双工和双工通信方式之分。另外,在数据的串行传输中,还有一个重要因素,就是数据发送和接收的定时性,也就是异步传输和同步传输的问题。 在网络中,数据通过通信子网进行交换时,可以有所谓线路交换和分组转发交换两种方式。目前,绝大多数网络的数据交换采用分组转发方式。 1.信息和数据 信息是人们用以对客观世界进行直接描述的、可以在人们之间进行传递的知识。也就是说,信息是消息所包含的内容,它的载体是数字、文字、语音、图形和图像等。 数据是信息的具体表现形式,即传递信息的载体。 信息和数据的区别是:信息是观念性的,它涉及数据的内容和解释;数据是物理性的,它涉及事物的表示形式。有时,信息和数据是不加以区分的。 对于数据通信系统来说,它关心的是数据表示方式和传输的方法。数字信号是在时域上离散的信号,而模拟信号则是在时域上连续变化的信号。 2.数据通信 两个实体之间数据交换的过程就是数据通信。数据有数字数据(也称离散数据)和模拟数据之分。信号也可分为数字信号和模拟信号,这些信号在传输介质(通信信道)上传送。数字数据、模拟数据可以用数字信号传送,也可用模拟信号传送,这样数据传送就有4种形式。在网络中,基带局域网采用数字数据-数字信号直接传送,宽带局域网和广域网多采用数字数据-模拟信号传送,而日常生活中的普通电话现在采用模拟数据-模拟信号传送,新型的数字电话则采用的是模拟数据-数字信号传送。 3.数字通信 数字通信是指传送数字信号,即离散的二进制0、1信号,它实际上是指代表0、1的脉冲信号的传送。它包括数据通信中的数字数据-数字信号和模拟数据-数字信号两种传送形式中的数字信号的传送,所以,数据通信和数字通信还是有一定区别的。 4.信道 信道是两个或多个通信设备之间的通信通道。信道也称为链路、线路、电路和路径。在主机环境中,信道是指主机和控制设备之间的通路。在网络中,信道分为物理信道和逻辑信道。物理信道是指用来传送信号或数据的物理通路,它由传输介质及有关通信设备组成。逻辑信道也是网络上的一种通路,它通过结点内部的逻辑连接来实现。因此,通常把逻辑信道称为“连接"。 根据传输介质的不同,物理信道可分为有线信道(如电话线、双绞线等)、无线信道和数字信道。按照信道中传输的数据信号类型来分,物理信道又可分为模拟信道和数字信道。模拟信道传输的是模拟信号,而数字信道直接传输二进制数字脉冲信号。 如果要在模拟信道上传输计算机直接输出的二进制数字脉冲信号,就需要在信道两边分别安装调制解调器,用数字脉冲信号对模拟信号进行调制和解调。 5.信道容量 信道容量是指数字信道能传输信息的最大能力,一般用单位时间内最大可传送的比特数来表示。它有以下两个著名的公式。 (1)理想信道——奈奎斯特(H.Nyquist)定理:一条无噪声理想信道的带宽为BHz,传送的数据由n个离散电平组成,则这条信道的容量为: Rmax=2Blbn (2)有噪声信道——香农(C.Shannon)定理:实际上信道总是有噪声的。若噪声为正态分布,则该信道的容量为: Rmax=Blb(1+S/N) 在上式中,S/N为信噪比,即信噪比=信号功率S/干扰功率N,B与理想信道时的意义相同。 由上述公式可以看出,信道容量由信道的带宽B和信道质量(信噪比)决定。实际应用中的传输速率要小于信道容量,高的传输速率将被信道容量限制而得不到充分利用。如56 Kbps的调制解调器在较差的电话线路上只能达到14.4 Kbps或28.8 Kbps的传输速率。信噪比常用分贝(dB)表示,信噪比(dB)=10lg(S/N)(dB)。 6.数据通信系统中主要技术指标 (1)比特率。比特率是数字信号的传输速率,它表示单位时间内所传送的二进制代码的有效位数,单位采用bps(bit/s,比特每秒)或Kbps(千比特每秒)表示。 (2)波特率。波特率是调制速率,也称波形速率。它是指模拟信号传输过程中,从调制解调器输出的调制信号,每秒钟载波调制状态改变的次数,或者说,是在数据传输过程中,线路上每秒传送的波形个数,其单位为波特(Baud)。 (3)误码率。误码率指信息在传输中的错误率。它是数据通信系统在正常工作状况下传输可靠性的指标。如果传输的信息以码元为单位,则在网络通信系统中,要求误码率低于10-6。 7.带宽和数据传输率 在模拟信道中,“带宽"表示信道传输信息的能力,即传送信息信号的高低频率之差,单位为Hz、kHz、MHz、GHz,如电话信道的带宽为300 Hz~3 400 Hz。在数字信道中,“数据传输率"表示信道传输信息的能力,即每秒传输的比特数,单位为bps、Kbps、Mbps、Gbps,如调制解调器的数据传输率为56 Kbps。 1.6.2 脉码调制 把模拟信号转变成数字信号后进行传输的系统称做数字系统。目前的通信系统有逐渐统一到数字传输系统的趋势,这一趋势也正适应了计算机通信系统传输数字信号的需求。最早使用数字系统的是数字电话系统,数字系统的基本技术是模拟信号与数字信号的变换,称为脉冲编码调制(Pulse Code Modulation,PCM)。PCM使模拟话音数字化,是实现数字电话的主要方法。PCM是一种信源编码,这一信号的变换过程如图1-9所示。 第一步是对输入的模拟信号进行取样,实际上是用离散的取样信号来表示原来的模拟信号,这是将连续信号在时间上离散化的过程。第二步,对所得到的取样值进行量化,即用有限个离散的数值来近似地表示模拟信号,这是将时间上已离散化的取样信号在幅度上也离散化的过程。第三步是对离散化的信号用二进制的方法进行编码,把一个连续的模拟信号变换成离散的数字信号。由脉冲编码调制产生的信号可以在数字信道上传输,到达接收端以后,还要用与原来相反的过程进行还原,主要步骤是解码和滤波,就得到了原来的模拟信号。脉码调制的原理如图1-10所示。 图1-9 信号变换过程 图1-10 PCM的基本原理 图1-10中T称为取样周期。根据取样定理,取样频率应不低于电话信号最高频率的两倍。电话信号的最高频率一般为3.4 kHz,为方便起见,取样频率定为8 kHz,于是T为125μs。图中使用了4位二进制数编码,二进制位数越多,量化的结果越精确,但在数字信道上传输的信息量也将要增加,实际上都选取用8位二进制数编码,也就是说,取样后的模拟电话信号被量化为256个不同的量化等级。 这样,一个话路的模拟电话信号经过变换后,就变成了每秒8 000个脉冲信号在数字信道上传输。因为每个脉冲信号用8位二进制编码,所以,一个话路的信号传输率为64 Kbps。为了有效地利用信道,通常总是将多条话路的PCM信号用时分复用的方法装成帧,然后在线路上以帧的形式进行传输。一帧究竟可以包含多少路PCM信号,目前有两个互不兼容的国际标准,分别是北美和日本的24路PCM(简称为T1)和欧洲的30路PCM(简称为E1),T1的速率是1.544 Mbps,E1的速率是2.048 Mbps,我国采用E1标准。 1.6.3 同步方式 电信号在传输线传输时可以有两种方式——串行和并行,相应地有串行通信和并行通信。并行通信使代表一个数据的电信号的各位二进制码元,在一个选通脉冲的作用下同时传输。并行通信的特点是:信号传输速度快,但需要使用较多的传输线,一般多用于设备内部的信号传输,或主机与较近距离外部设备间传输数据。一般意义下的通信都是指串行通信,串行通信在同步时钟信号作用下使各位二进制码元逐位传送出去。显然,串行通信可以减少传输线的数量,非常适合于远距离通信。但串行通信付出的代价是通信速率低,一般要进行编码,进行串、并行方式转换,所以通信控制复杂。即使如此,目前通信系统中基本上都采用串行传输方式。在串行通信中,往往按照某种规则把通信信号中的数据单元分成一些数据块,把这些数据块称做帧,并且用一些标志来对帧的边界进行识别。 在串行通信的双方中,发送方在发送时钟的作用下把信号一位一位地按位传出,接收方在接收时钟的作用下把信号一位一位地按位接收。发送与接收双方是不同的系统,在串行信号传输中有可能会发生通信不同步的情况。因此,串行通信控制中首先要解决的问题就是串行通信的同步问题,也就是同步方式。 解决同步问题的方法称做串行通信的同步技术。在串行通信的不同层次中都包含同步技术,因此有位同步、帧同步和网同步技术。位同步又称做码元同步,是同步技术的基础。位同步使得接收方能够以与发送方相同的速率逐个码元地接收数据,目前采用的技术主要有外同步法和自同步法。外同步法在发送有效信号的同时利用一个专门信道发送专门的定时信息的特定码组作为位同步信号。自同步法是把同步信号包含在有效的信号中,接收端在接收信号的同时提取位同步信号进行同步。网同步是保证整个数据通信网的各个交换结点以相同的时钟频率和相位统一协调地进行数据转接与交换的技术,目前主要有全网同步和帧同步两种技术。本节主要介绍帧同步技术。帧同步用于控制正确地识别帧的起始与结束的定界,帧同步技术又称做同步方式,目前主要采用起止同步法和同步标志法,起止同步法又称做异步方式,同步标志法又称做同步方式。在串行通信中,一般都采用异步方式和同步方式。 异步方式是在微机串行通信中采用非常多的一种同步方式,这种方式采用字符编码方式传输,每次传输以一个字符编码为基本单位,也就是一个数据帧,如图1-11所示。控制码包括奇偶校验码和同步识别码。奇偶校验码用来控制差错,同步识别码用来控制同步。但这种同步仅仅在完整的一个字符内同步,不能按位实现同步。同步识别码以低电平为起始位(称低电平为空号),以高电平为终止位(称高电平为传号)。当无数据可发时,发送空号,一旦接收方检测到空号,意味着信息的字符编码已到来,于是启动定时装置,当接收完一帧后定时装置回零,同时准备接收下一帧。很显然,异步方式由于同步识别标志占去了较多信道时间,使得传输效率不会太高,数据传输率一般为几万比特每秒。 图1-11 异步传输 同步方式在一帧信息中可以传输任意多的比特数,一帧信息以称为同步字符的同步识别码作边界,但同步方式发送方在每个信息位中加入了一种同步时钟信号,接收方靠提取同步时钟信号达到与发送方按位同步。在同步方式中,有两种帧结构,一种用于以8位字符为基础的帧结构,一种用于以比特为基础的帧结构。以字符为基础的帧结构如图1-12(a)所示,同步标志在一个帧的开始使用ASCII码表中的SYN(0010110)作同步字符。以比特为基础的帧结构如图1-12(b)所示,同步用F标志,一个放在帧的开始,一个放在帧 20 网络技术与应用教程 33 第1章 概述