计算机网络

1 计算机网络基础知识

第一讲 计算机网络的产生与发展

计算机网络是现代通信技术与计算机技术相结合的产物。网络技术的进步正在对当前信息产业的发展产生着重要的影响。纵观计算机网络的发展历史可以发现,计算机网络与其他事物的发展一样,也经历了从简单到复杂、从低级到高级、从单机到多机的过程。在这一过程中,计算机技术和通信技术紧密结合,相互促进,共同发展,最终产生了计算机网络。计算机网络的发展大体上可以分为 4 个阶段:面向终端的通信网络阶段、计算机互连阶段、网络互连阶段、Internet与高速网络阶段。

1.面向终端的通信网络阶段

1946 年,世界上第一台数字计算机ENIAC 的问世是人类历史上划时代的里程碑,但最初的计算机数量稀少,并且非常昂贵。当时的计算机大都采用批处理方式,用户使用计算机首先要将程序和数据制成纸带或卡片,再送到中心计算机进行处理。1954 年,出现了一种被称为收发器(Transceiver)的设备,人们使用这种终端首次实现了将穿孔卡片上的数据通过电话线路发送到远地的计算机。此后,电传打字机也作为远程终端和计算机相连,用户可以利用计算机在远地电传打字机上输入自己的程序,而计算机计算出来的结果也可以传送到远地的电传打字机上并打印出来,计算机网络的基本原型就这样诞生了。

2.计算机互连阶段

随着计算机应用的发展以及计算机的普及和价格的降低,出现了多台计算机互连的需求。这种需求主要来自军事、科学研究、地区与国家经济信息分析决策、大型企业经营管理,希望将分布在不同地点且具有独立功能的计算机通过通信线路互连起来,彼此交换数据、传递信息。网络用户可以通过计算机使用本地计算机的软件、硬件与数据资源,也可以使用连网的其他地方的计算机软件、硬件与数据资源,以达到计算机资源共享的目的。

这一阶段研究的典型代表是美国国防部高级研究计划局(AdvancedResearch Projects Agency,ARPA)的 ARPANET(通常称为 ARPA 网)。ARPANET 是世界上第一个实现了以资源共享为目的的计算机网络,所以人们往往将ARPANET 作为现代计算机网络诞生的标志,现在计算机网络的很多概念都来自于ARPANET。

在这一阶段中,公用数据网(Public Data Network,PDN)与局部网络(Local Network,LN)技术也得到了迅速的发展。总而言之,计算机网络发展的第二阶段所取得的成果对推动网络技术的成熟和应用极其重要,所研究的网络体系结构与网络协议的理论成果为以后网络理论的发展奠定了坚实的基础,很多网络系统经过适当修改与充实后至今仍在广泛使用。目前国际上应用广泛的 Internet 就是在 ARPANET 的基础上发展起来的。但是,20 世纪 70 年代后期人们已经看到了计算机网络发展中出现的问题,即网络体系结构与协议标准的不统一限制了计算机网络自身的发展和应用。网络体系结构与网络协议标准必须走国际标准化的道路。

3.网络互连阶段

计算机网络发展的第 3 个阶段——网络互连阶段是加速体系结构与协议国际标准化的研究与应用的时期。1984年,经过多年卓有成效的工作,国际标准化组织(International Organization for Standardization,ISO)正式制定和颁布了“开放系统互连参考模型”(Open System Interconnection Reference Model,OSI RM)。ISO/OSI RM 已被国际社会所公认,成为研究和制订新一代计算机网络标准的基础。OSI 标准使各种不同的网络互连、互相通信变为现实,实现了更大范围内的计算机资源共享。我国也于 1989 年在《国家经济系统设计与应用标准化规范》中明确规定选定 OSI标准作为我国网络建设的标准。1990年 6 月,ARPANET 停止运行。随之发展起来的国际 Internet的覆盖范围已遍及全球,全球各种各样的计算机和网络都可以通过网络互连设备连入 Internet,实现全球范围内的数据通信和资源共享。

ISO/OSI RM 及标准协议的制定和完善正在推动计算机网络朝着健康的方向发展。很多大的计算机厂商相继宣布支持 OSI 标准,并积极研究和开发符合OSI 标准的产品。各种符合 OSIRM与协议标准的远程计算机网络、局部计算机网络与城市地区计算机网络已开始广泛应用。随着研究的深入,OSI 标准将日趋完善。

4.Internet 与高速网络阶段

目前,计算机网络的发展正处于第4 个阶段。这一阶段计算机网络发展的特点是互连、高速、智能与更为广泛的应用。Internet是覆盖全球的信息基础设施之一。对用户来说,Internet 是一个庞大的远程计算机网络,用户可以利用 Internet 实现全球范围的信息传输、信息查询、电子邮件、语音与图像通信服务等功能。实际上 Internet 是一个用网络互连设备实现多个远程网和局域网互连的国际网。

在 Internet 发展的同时,随着网络规模的增大与网络服务功能的增多,高速网络与智能网络(IntelligentNetwork,IN)的发展也引起了人们越来越多的关注和兴趣。高速网络技术的发展表现在宽带综合业务数据网(Broadband Integrated Service Digital Network,B-ISDN)、帧中继、异步传输模式(Asynchronous TransferMode,ATM)、高速局域网、交换式局域网与虚拟网络上。

提问:

计算机网络的发展可以分为几个阶段?每个阶段各有什么特点?

第二讲 计算机网络概述及拓扑结构

所谓计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。

计算机网络主要包含连接对象、连接介质、连接的控制机制和连接的方式 4 个方面。“对象”主要是指各种类型的计算机(如大型机、微型计算机、工作站等)或其他数据终端设备;“介质”是指通信线路(如双绞线、同轴电缆、光纤、微波等)和通信设备(如网桥、网关、中继器、路由器等);“控制机制”主要是指网络协议和各种网络软件;“连接方式”主要是指网络所采用的拓扑结构(如星型、环型、总线型和网状型等)。

1.通信子网

通信子网由通信控制处理机(Communication ControlProcessor,CCP)、通信线路和其他网络通信设备组成,主要承担全网的数据传输、转发、加工、转换等通信处理工作。

通信控制处理机在网络拓扑结构中通常被称为网络节点。其主要功能一是作为主机和网络的接口,负责管理和收发主机和网络所交换的信息;二是作为发送信息、接收信息、交换信息和转发信息的通信设备,负责接收其他网络节点送来的信息,并选择一条合适的通信线路发送出去,完成信息的交换和转发功能。

通信线路是网络节点间信息传输的通道,通信线路的传输媒体主要有双绞线、同轴电缆、光纤、无线电和微波等。

2.资源子网

资源子网主要负责全网的数据处理业务,向全网用户提供所需的网络资源和网络服务。资源子网主要由主机(Host)、终端(Terminal)、终端控制器、连网外部设备以及软件资源和信息资源等组成。

主机是资源子网的重要组成单元,既可以是大型机、中型机、小型机,也可以是局域网中的微型计算机。主机是软件资源和信息资源的拥有者,一般通过高速线路和通信子网中的节点相连。终端是直接面向用户的交互设备。终端的种类很多,如交互终端、显示终端、智能终端、图形终端等。

连网外部设备主要是指网络中的一些共享设备,如高速打印机、绘图仪和大容量硬盘等。

3.计算机网络的功能

1).数据通信

数据通信是计算机网络最基本的功能,为网络用户提供了强有力的通信手段。计算机网络建设的主要目的之一就是使分布在不同物理位置的计算机用户相互通信和传送信息(如声音、图形、图像等多媒体信息)。计算机网络的其他功能都是在数据通信功能基础之上实现的,如发送电子邮件、远程登录、连机会议、WWW 等。

2).资源共享

(1)硬件和软件的共享。计算机网络允许网络上的用户共享不同类型的硬件设备,通常有打印机、光驱、大容量的磁盘以及高精度的图形设备等。软件共享通常是指某一系统软件或应用软件(如数据库管理系统),如果占用的空间较大,则可将其安装到一台配置较高的服务器上,并将其属性设置为共享,这样网络上的其他计算机即可直接利用,极大地节省了计算机的硬盘空间。

(2)信息共享。信息也是一种宝贵的资源,Internet 就像一个浩瀚的海洋,有取之不尽、用之不竭的信息与数据。每一个连入 Internet 的用户都可以共享这些信息资源(如,各类电子出版物、网上新闻、网上图书馆和网上超市等)。

3).均衡负荷与分布式处理

当网络中某台计算机的任务负荷太重时,可将任务分散到网络中的各台计算机上进行,或由网络中比较空闲的计算机分担负荷。这样既可以处理大型的任务,使其中一台计算机不会负担过重,又提高了计算机的可用性,起到了均衡负荷和分布式处理的作用。

4).提高计算机系统的可靠性

提高计算机系统的可靠性也是计算机网络的一个重要功能。在计算机网络中,每一台计算机都可以通过网络为另一台计算机备份以提高计算机系统的可靠性。这样,一旦网络中的某台计算机发生了故障,另一台计算机可代替其完成所承担的任务,整个网络可以照常运转。

4. 计算机网络的分类和拓扑结构

用于计算机网络分类的标准很多,如拓扑结构、应用协议、传输介质、数据交换方式等。但是,这些标准只能反映网络某方面的特征,不能反映网络技术的本质。最能反映网络技术本质特征的分类标准是网络的覆盖范围。按网络的覆盖范围可以将网络分为局域网(Local Area Network,LAN)、广域网(WideArea Network,WAN)、城域网(Metropolitan Area Network,MAN)和国际互联网(Internet),如表 1-1 所示。

网络种类覆盖范围分布距离
局域网LAN一个建筑群内或一个学校几千米以内
城域网MAN城市内几千米到几十千米
广域网WAN跨地区、跨城市、跨国家几百千米到几千千米
国际互联网Internet将同类和不同类的物理网络(局域网、广域网和城域网)通过某种协议互连起来的一种高层技术。一千KM以上

(1)局域网。局域网的地理分布范围在几千米以内,一般局域网络建立在某个机构所属的一个建筑群内或一个学校的校园内部,甚至几台计算机也能构成一个小型局域网络。由于局域网的覆盖范围有限,数据的传输距离短,因此局域网内的数据传输速率都比较高,一般在 10~100Mbit/s,现在高速的局域网传输速率可达到 1 000 Mbit/s。

(2)广域网。广域网也称为远程网,是远距离的、大范围的计算机网络。这类网络的作用是实现远距离计算机之间的数据传输和信息共享。广域网可以是跨地区、跨城市、跨国家的计算机网络,覆盖范围一般是几百千米到几千千米的广阔地理区域,通信线路大多借用公用通信网络(如公用电话网 PSTN)。由于广域网涉辖的范围很大,连网的计算机众多,因此广域网上的信息量非常大,共享的信息资源极为丰富。但是广域网的数据传输速率比较低,一般在 64 kbit/s~2 Mbit/s。

(3)城域网。城域网的覆盖范围在局域网和广域网之间,一般为几千米到几十千米,通常在一个城市内。

(4)国际互联网。Internet 并不是一种具体的网络技术,而是将同类和不同类的物理网络(局域网、广域网和城域网)通过某种协议互连起来的一种高层技术。

5 .计算机网络的拓扑结构

常见的计算机网络拓扑结构有星型、环型、总线型、树型和网状型。

(1)星型拓扑网络。在星型拓扑网络结构中,各节点通过点到点的链路与中央节点连接,如图 1-4 所示。中央节点可以是转接中心,起到连通的作用;也可以是一台主机,此时具有数据处理和转接的功能。星型拓扑网络的优点是很容易在网络中增加和移动节点,容易实现数据的安全性和优先级控制;缺点是属于集中控制,对中央节点的依赖性大,一旦中央节点有故障就会引起整个网络的瘫痪。

(2)环型拓扑网络。在环型拓扑网络中,节点通过点到点的通信线路连接成闭合环路,如图 1-5 所示。环中数据将沿一个方向逐站传送。环型拓扑网络结构简单,传输延时确定,但是环中每个节点与连接节点之间的通信线路都会成为网络可靠性的屏障。环中某一个节点出现故障就会造成网络瘫痪。另外,对于环型网络,网络节点的增加和移动以及环路的维护和管理都比较复杂。

(3)总线型拓扑网络。在总线型拓扑网络中,所有节点共享一条数据通道,如图 1-6 所示。一个节点发出的信息可以被网络上的每个节点接收。由于多个节点连接到一条公用信道上,所以必须采取某种方法分配信道,以决定哪个节点可以优先发送数据。

总线型网络结构简单,安装方便,需要铺设的线缆最短,成本低,并且某个站点自身的故障一般不会影响整个网络,因此是普遍使用的网络之一。其缺点是实时性较差,总线上的故障会导致全网瘫痪。

(4)树型拓扑网络。在树型拓扑结构中,网络的各节点形成了一个层次化的结构,如图 1-7 所示。

树中的各个节点通常都为主机,树中低层主机的功能和应用有关,一般都具有明确定义功能,如数据采集、变换等;高层主机具备通用的功能,以便协调系统的工作,如数据处理、命令执行等。一般来说,树型拓扑网络的层次数量不宜过多,以免转接开销过大,使高层节点的负荷过重。若树型拓扑结构只有两层,就变成了星型结构,因此,可以将树型拓扑结构视为星型拓扑结构的扩展结构。

(5)网状型拓扑网络。在网状型拓扑网络中,节点之间的连接是任意的,没有规律,如图 1-8所示。其主要优点是可靠性高,但结构复杂,必须采用路由选择算法和流量控制方法。广域网基本上都是采用网状型拓扑结构。

download-1546670828258.jpg

提问:

1.按照覆盖范围来分,计算机网络可以分为哪几类?4

2.局域网、城域网和广域网的主要特征是什么?

3.计算机网络可以应用在哪些领域?分别举例说明。?

2数据通信技术(物理层+链路层)

数据通信的基本概念及常见的传输介质

通信的目的是交换信息(Information)。一般认为,信息是人们对现实世界事物存在方式或运动状态的某种认识。信息的载体可以是数值、文字、图形、声音、图像以及动画等。任何事物的存在都伴随着相应信息的存在,信息不仅能够反映事物的特征、运动和行为,还能够借助媒体(如空气、光波、电磁波等)传播和扩散。这里把“事物发出的消息、情报、数据、指令、信号等当中包含的意义”定义为信息。数据是指把事件的某些属性规范化后的表现形式,可以被识别,也可以被描述。数据按其连续性可分为模拟数据与数字数据。模拟数据取连续值,数字数据取离散值。在数据被传送之前,要变成适合于传输的电磁信号——模拟信号或数字信号。可见,信号(signal)是数据的电磁波表示形式,一般以时间为自变量,以表示信息(数据)的某个参量(振幅、频率或相位)为因变量。

1.数据通信的技术指标

(1)传输速率。传输速率是指信道上传输信息的速度,是描述数据传输系统的重要技术指标之一。传输速率一般有两种表示方法,即信号速率和调制速率。信号速率是指单位时间内所传送的二进制位代码的有效位数,以每秒多少比特数计,单位为比特/秒(bit/s)。数字信号的速率通常用“比特/秒”来表示。调制速率是指每秒传送的脉冲数,即波特率,单位为波特/秒(Baud/s),是指信号在调制过程中调制状态每秒钟转换的次数。一“波特”即模拟信号的一个状态,不仅表示一位数据,而且代表了多位数据。所以,“波特”与“比特”的意义是不同的,模拟信号的速率通常用“波特/秒”来表示。

(2)信道带宽。信道带宽是指信道中传输的信号在不失真的情况下所占用的频率范围,单位用赫兹(Hz)表示。为了更好地理解带宽的概念,不妨用人的听觉系统打个比方:人耳所能感受的声波范围是 20~20 000 Hz,低于这个范围的称为次声波,高于这个范围的称为超声波,人的听觉系统无法将次声波和超声波传递到大脑,所以用 20 000 Hz 减去 20 Hz 所得的值就好比是人类听觉系统的带宽。数据通信系统的信道传输的不是声波,而是电磁波(包括无线电波、微波、光波等),其带宽就是所能传输电磁波的最大有效频率减去最小有效频率所得到的值。

(3)信道容量。信道容量是衡量一个信道传输数字信号的重要参数。信道的传输能力是有一定限制的,某个信道传输数据的速率有一个上限,即单位时间内信道上所能传输的最大比特数,单位为比特/秒(bit/s),将其称为信道容量。无论采用何种编码技术,传输数据的速率都不可能超过信道容量上限,否则信号就会失真。

(4)信道带宽和信道容量的关系。理论分析证明,信道的容量与信道带宽成正比关系,即信道带宽越宽,信道容量就越大,所以人们有时愿意将“带宽”作为信道所能传送的“最高速率”的同义语,尽管这种叫法不太严格。

2.通信方式

按照信号传送方向与时间的关系,可以将数据通信分为以下 3 种方式。

(1)单工通信。单工通信是指通信双方只能由一方将数据传输给另一方,数据信号只能沿一个方向传输,发送方只能发送不能接收,接收方只能接收而不能发送,任何时候都不能改变信号的传送方向,如图 2-2 所示。例如,有线电视广播就是一种单工通信方式,电视台只能发送信息,用户的电视机只能接收信息。

(2)半双工通信。半双工通信是指通信的双方都可以发送和接收信息,但不能同时发送(当然也不能同时接收),只能交替进行。这种通信方式是一方发送信息,另一方接收信息,一段时间后再反过来(通过开关装置进行切换),如图 2-3 所示。例如,对讲机和步话机的工作方式就是典型的半双工通信。

(3)全双工通信。全双工通信是指通信的双方可以同时发送和接收信息。全双工通信需要两条信道,一条用来接收信息,另一条用来发送信息,其通信效率很高,但结构复杂、成本高,如图 2-4 所示。例如,在电话系统中,用户既可以打电话,又可以接电话。在正常的电话通信过程中,通话的一方在说话,另一方在听电话,当然在不同的时刻,说话和听电话的双方是可以相互转换的,这时的电话通信就属于半双工的通信方式。如果通话的双方发生争吵,同时发表意见,采用的就是全双工通信方式。

目前大多数网络中的通信都实现了全双工通信。

1546671025320.png

3.传输介质的主要特性和应用

网络上数据的传输需要有“传输媒体”,好比是车辆必须在公路上行驶一样,道路质量的好坏会影响到行车的安全舒适。同样,网络传输介质的质量好坏也会影响数据传输的质量。

常用的网络传输介质可分为两类:一类是有线的,另一类是无线的。有线传输介质主要有双绞线(Twisted Pair,包括屏蔽双绞线和非屏蔽双绞线)、同轴电缆(Coaxial Cable)及光纤(Fiber Optics),如图 2-9 所示;无线传输介质有无线电波、红外线等。

双绞线是由相互绝缘的两根铜线按一定扭矩相互绞合在一起的类似于电话线的传输媒体,每根铜线加绝缘层并有颜色标记,。成对线的扭绞旨在使电磁辐射和外部电磁干扰减到最小。双绞线的性能好、价格低,因此是目前使用最广泛的传输介质。

双绞线可以用于传输模拟信号和数字信号,传输速率根据线的粗细和长短而变化。一般来讲,线的直径越大,传输距离就越短,传输速率也就越高。

局域网中使用的双绞线分为屏蔽双绞线(Shielded TwistedPair,STP)和非屏蔽双绞线(Unshielded Twisted Pair,UTP)两类。两者的差异在于屏蔽双绞线在双绞线和外皮之间增加了一个铅箔屏蔽层,如图 2-11(a)所示,目的是提高双绞线的抗干扰性能,但其价格是非屏蔽双绞线的两倍以上。屏蔽双绞线主要用于安全性要求较高的网络环境中,如军事网络、股票网络等,而且使用屏蔽双绞线的网络为了达到屏蔽的效果,所有的插口和配套设施均使用屏蔽的设备,否则就达不到真正的屏蔽效果,所以整个网络的造价会比使用非屏蔽双绞线的网络高出很多,因此至今一直未被广泛使用。

同轴电缆也是一种常用的传输介质。这种电缆在实际中的应用很广泛,如有线电视网。组成同轴电缆的内外两个导体是同轴的,如图 2-15 所示,“同轴”之名正是由此而来。同轴电缆的外导体是一个由金属丝编织而成的圆柱形的套管,内导体是圆形的金属芯线,一般都采用铜制材料。内外导体之间填充着绝缘介质。同轴电缆可以是单芯的,也可以将多条同轴电缆安排在一起形成同轴电缆。同轴电缆绝缘效果佳、频带宽、数据传输稳定、价格适中、性价比高,因此是早期局域网中普遍采用的一种传输介质。

同轴电缆又可分为两类:细缆和粗缆。经常提到的 10 Base-2 和 10 Base-5 以太网就是分别使用细同轴电缆和粗同轴电缆组网的。使用同轴电缆组网时需要在两端连接50 Ω 的反射电阻,这就是通常所说的终端匹配器。同轴电缆组网的其他连接设备随细缆与粗的差别而不尽相同,即使名称一样,其规格、大小也是有差别的。

光纤由纤芯、包层和保护层组成,如图 2-18 所示。每根光纤只能单向传送信号,因此要实现双向通信,光缆中至少应包括两条独立的导芯,一条发送,另一条接收。光纤两端的端头都是通过电烧烤或化学环氯工艺与光学接口连接在一起的。一根光缆可以包括两根至数百根光纤,并用加强芯和填充物来提高机械强度。

光束在玻璃纤维内传输,防磁防电,传输稳定,质量高。由于可见光的频率大约是10 14 Hz,因而光传输系统可使用的带宽范围极大,多适用于高速网络和骨干网。光纤传输系统中的光源可以是发光二极管(Light-Emitting Diode,LED),也可以是注入式二极管(InjectLight Diode,ILD)。当光通过这些器件时发出光脉冲,光脉冲通过光缆从而传输信息。光脉冲出现表示为“1”,不出现表示为“0”。在光缆的两端都要有一个装置来完成电/光信号和光/电信号的转换,接收端将光信号转换成电信号时,要使用光电二极管(PositionIntrinsic-Negatioe,PIN)检波器或 APD 检波器。

1.jpg

提问:

1. 什么是数字信号,什么是模拟信号?两者的区别是什么?

2. 什么是信道?信道可以分为哪两类?

  1. ​ 什么是传输速率?表示传输速率的基本方法有哪两种,分别适用于什么场合?

数据编码及差错控制技术

数据是信息的载体,计算机中的数据是以离散的“0”“1”二进制比特序列方式表示的。为了正确地传输数据,就必须对原始数据进行编码,而数据编码类型取决于通信子网的信道所支持的数据通信类型。

根据数据通信类型的不同,通信信道可分为模拟信道和数字信道两类。相应地,数据编码的方法也分为模拟数据编码和数字数据编码两类。网络中基本的数据编码方式归纳如图 2-35所示。
6996b3280e6fedb9aed957265e88a296-1546671514334.jpg

1.数字编码技术

数字信号可以利用数字通信信道来直接传输(即基带传输),此时需要解决的问题是数字数据的数字信号表示以及收发两端之间的信号同步两个方面。

在基带传输中,数字数据的数字信号编码主要有以下 3 种方式。

(1)非归零码(Non-Return to Zero,NRZ)。非归零码可以用低电平表示“0”,用高电平表示“1”。必须在发送 NRZ 码的同时,用另一个信号同时传送同步时钟信号,如图 2-38(a)所示。

(2)曼彻斯特编码(Manchester)。其编码规则是:每比特的周期 T 分为前 T/2 与后 T/2。前T/2 传送该比特的反码,后 T/2传送该比特的原码,如图2-38(b)所示。

(3)差分曼彻斯特编码(Difference Manchester)。其编码规则是:每比特的值根据开始边界是否发生电平跳变来决定。一个比特开始处出现电平跳变表示“0”,不出现跳变表示“1”,每比特中间的跳变仅用来作为同步信号,如图 2-38(c)所示。差分曼彻斯特编码和曼彻斯特编码都属于“自含时钟编码”,发送时不需要另外发送同步信号。
72ab901d739c96e856e5843316b94217.jpg

2.差错产生的原因与差错类型

我们通常将发送的数据与通过通信信道后接收到的数据不一致的现象称为传输差错,简称为差错。

差错的产生是无法避免的。信号在物理信道中传输时,线路本身电器特性造成的随机噪声、信号幅度的衰减、频率和相位的畸变、电器信号在线路上产生反射造成的回音效应、相邻线路间的串扰以及各种外界因素(如大气中的闪电、开关的跳火、外界强电流磁场的变化、电源的波动等)都会造成信号的失真。在数据通信中,将会使接收端收到的二进制数位和发送端实际发送的二进制数位不一致 “0”变成“1”或由“1”变成“0”的差错,差错控制的目的和任务就是面对现实承认传输线路中的出错情况,分析差错产生的原因和差错类型,采取有效的措施,即差错控制方法来发现和纠正差错,以提高信息的传输质量。

传输中的差错都是由噪声引起的。噪声有两大类:一类是信道固有的、持续存在的随机热噪声;另一类是由外界特定的短暂原因所造成的冲击噪声。

热噪声由传输介质导体的电子热运动产生,是一种随机噪声,所引起的传输差错为随机差错,这种差错的特点是所引起的某位码元(二进制数字中每一位的通称)的差错是孤立的,与前后码元没有关系。热噪声导致的随机错误通常较少。

冲击噪声是由外界电磁干扰引起的,与热噪声相比,冲击噪声幅度较大,是引起传输差错的主要原因。冲击噪声所引起的传输差错为突发差错,这种差错的特点是前面的码元出现了错误,往往会使后面的码元也出现错误,即错误之间有相关性

误码率是指二进制码元在数据传输系统中被传错的概率,在数值上近似等于 P e =N e /N。其中 N为传输的二进制码元总数,N e 为被传错的码元数。

在理解误码率定义时应注意以下 3 个问题。

(1)误码率是衡量数据传输系统正常工作状态下传输可靠性的参数。

(2)对于一个实际的数据传输系统,不能笼统地说误码率越低越好,要根据实际传输要求提出误码率指标;在数据传输速率确定后,误码率越低,传输系统设备越复杂,造价也越高。

(3)对于实际数据传输系统,如果传输的不是二进制码元,则要换算成二进制码元来计算。

在实际的数据传输系统中,人们需要一种通信信道进行大量、重复测试,才能求出该信道的平均误码率,或者给出某些特殊情况下的平均误码率。根据测试,目前电话线路在 300 bit/s~2 400 bit/s传输速率时,平均误码率在 10 −4 ~10 −6 。而计算机通信的平均误码率要求低于 10 −9 。因此,普通通信信道如不采取差错控制技术是不能满足计算机通信要求的。

3.差错的控制

提高数据传输质量的方法有两种。第一种方法是:改善通信线路的性能,使错码出现的概率。

降低到满足系统要求的程度。但这种方法受经济上和技术上的限制,达不到理想的效果。第二种方法是:虽然传输中不可避免地会出现某些错码,但可以将其检测出来,并用某种方法纠正检出的错码,以达到提高实际传输质量的目的。第二种方法最为常用的是采用抗干扰编码和纠错编码。

目前广泛采用的有奇偶校验码、方块码和循环冗余码等。。

1.奇偶校验

奇偶校验称为字符校验、垂直奇偶校验(VerticalRedundancy Check,VRC)。奇偶校验是以字符为单位的校验方法,是最简单的一种校验方法。在每个字符编码的后面另外增加一个二进制位,该位称为校验位。其主要目的是使整个编码中 1 的个数成为奇数或偶数。如果使编码中 1 的个数成为奇数则称为奇校验;反之,则称为偶校验。

例如,字符 R 的 ASCII 编码为 1010010,后面增加一位进行奇校验 10100100(使 1 的个数为奇数),传送时其中一位出错,如传成了 10110100,奇校验就能检查出错误。若传送有两位出错时,如 10111100,奇校验就不能检查出错误了。实际传输过程中,偶然一位出错的机会最多,故这种简单的校验方法还是很有用处的。但这种方法只能检测错误,不能纠正错误,不能检测出错在哪一位,故一般只能用于通信要求较低的环境。

2.方块校验

方块校验又称为报文校验、水平垂直奇偶校验(LevelRedundancy Check,LRC)。这种方法是在奇偶校验方法的基础上,在一批字符传送之后,另外增加一个检验字符,该检验字符的编码方法是使每一位纵向代码中 1 的个数也成为奇数(或偶数)。例如:

a61573e7961d2f44cce3226b7cb428dd.jpg

采用这种方法之后,不仅可以检验出 1 位、2 位或 3 位的错误,还可以自动纠正 1 位出错,使误码率降至原误码率的百分之一到万分之一,纠错效果十分显著,因此方块校验适用于中、低速传输系统和反馈重传系统中。

循环冗余码(Cyclic Redundancy Code,CRC)是使用最广泛并且检错能力很强的一种检验码。CRC 的工作方法是在发送端产生一个循环冗余码,附加在信息位后面一起发送到接收端,接收端收到的信息按发送端形成循环冗余码同样的算法进行校验,若有错,需重发。该方法不产生奇偶校验码,而是把整个数据块当成一串连续的二进制数据。从代数结构来说,把各位看成是一个多项式的系数,则该数据块就和一个 n 次的多项式相对应。

2d35296b73e1816c77e7cd24a71afb0e.jpg

(2)CRC 校验的基本思想和运算规则。循环冗余校验的基本思想是:把要传送的信息码看成是一个多项式 M(X)的系数,在发送前,将多项式用生成多项式 G(X)来除,将相除结果的余数作为校验码跟在原信息码之后一同发送出去。在接收端,把接收到的含校验码的信息码再用同一个生成多项式来除,如果在传送过程中无差错,则应该除尽,即余数应为 0;若除不尽,则说明传输过程中有差错,应要求对方重新发送一次。

CRC 校验中求余数的除法运算规则是:多项式以 2 为模运算,加法不进位,减法不借位。加法和减法两者都与异或运算相同。长除法同二进制运算是一样的,只是做减法时按模 2 进行,如果减出的值最高位为 0,则商为 0;如果减出的值最高位为1,则商为 1。

(3)CRC 检验和信息编码的求取方法。设 r 为生成多项式 G(X)的阶。

① 在数据多项式 M(X)的后面附加 r 个“0”,得到一个新的多项式 M'(X)。

② 用模 2 除法求得 M' (X)/G(X)的余数。

③ 将该余数直接附加在原数据多项式 M(X)的系数序列的后面,结果即为最后要发送的检验和信息编码多项式 T(X)。

提问:

计算CRC:

59e81340ce485b5a013c5aa017959fe5.jpg

8d87f202f61cab4859252c5b0adaf663.jpg

39de8e53f6bc836fc207161dc9c8aea0.jpg

链路层协议

1.关键性假设

56f576df85ca11caabb0c0c0bd667bb0.jpg

2.无限制单工协议(协议1)

552b218dc1b8905d9ac3281120efc1b3.jpg

!d782bf73cfdb05df4b9b7e5581028d43.jpg

1. 无错信道上的单工停-等协议(协议2)

78a6469b67fbd94f8c930b04b544d30f.jpg

577425987db1f0bc53591b5c03d9ad77.jpg

  1. 有错信道上的单工停-等协议

5c96382e73862249dc6974787a439e2a.jpg

daffa48e770898034a7de7b7bc5863bb.jpg

[图片上传中...(03cf1dd0f38b88241ed35cb4a776963f.jpg-4e93f6-1546693121440-0)]

  1. 滑动窗口协议

d48db65e44a5db0062f8fa25d41a3083.jpg

5200407f842439f12a9a9ad3636b1ea6.jpg

提问:

1. 讲解链路层协议的工作过程及代码原理?

3 计算机网络体系结构与协议

网络体系结构与协议概述

体系结构(Architecture)是研究系统各部分组成及相互关系的技术科学。计算机网络体系结构是指整个网络系统的逻辑组成和功能分配,定义和描述了一组用于计算机及其通信设施之间互连的标准和规范的集合。研究计算机网络体系结构的目的在于定义计算机网络各个组成部分的功能,以便在统一的原则指导下进行计算机网络的设计、建造、使用和发展。

1.网络协议的概念

从最根本的角度上讲,协议就是规则。例如,在公共交通公路上行驶的各种交通工具需要遵守交通规则,这样才能减少交通阻塞,有效地避免交通事故的发生。又如,不同国家的人使用的是不同的语言,如果事先不约定好使用同一种语言,那么进行沟通时将会非常困难。

在计算机网络的通信过程中,数据从一台计算机传输到另一台计算机称为数据通信或数据交换。同理,网络中的数据通信也需要遵守一定的规则,以减少网络阻塞,提高网络的利用率。网络协议就是为进行网络中的数据通信或数据交换而建立的规则、标准或约定。连网的计算机以及网络设备之间要进行数据与控制信息(一种用于控制设备如何工作的数据)的成功传递就必须共同遵守网络协议。

网络协议主要由以下 3 个要素组成。

(1)语法(Syntax)。语法规定了通信双方“如何讲”,即确定用户数据与控制信息的结构与格式。

(2)语义(Semantics)。语义规定通信的双方准备“讲什么”,即需要发出何种控制信息,完成何种动作以及做出何种应答。

(3)时序(Timing)。时序又可称为“同步”,规定了双方“何时进行通信”,即事件实现顺序的详细说明。

下面以两个通话人为例来说明网络协议的概念。

甲要打电话给乙,首先甲拨通乙的电话号码,对方电话振铃,乙拿起电话,然后甲、乙开始通话,通话完毕后,双方挂断电话。在这个过程中,甲、乙双方都遵守了打电话的协议。其中,电话号码是“语法”的一个例子,一般电话号码由 8 位阿拉伯数字组成,如果是长途就要加区号,国际长途还有国家代码等;甲拨通乙的电话后,乙的电话会振铃,振铃是一个信号,表示有电话打进,乙选择接电话,这一系列的动作包括了控制信号、相应动作等,就是“语义”的例子;“时序”的概念更好理解,因为甲拨通了电话,乙的电话才会响,乙听到铃声后才会考虑要不要接,这一系列事件的因果关系十分明确,不可能没有人拨乙的电话而乙的电话会响,也不可能在电话铃没响的情况下,乙拿起电话却从话筒里传出甲的声音。

2.网络协议的分层

计算机网络是一个非常复杂的系统,因此网络通信也比较复杂。网络通信的涉及面极广,不仅涉及网络硬件设备(如物理线路、通信设备、计算机等),还涉及各种各样的软件,所以用于网络的通信协议必然很多。实践证明,结构化设计方法是解决复杂问题的一种有效手段,其核心思想就是将系统模块化,并按层次组织各模块。因此,在研究计算机网络的结构时,通常也按层次进行分析。

计算机网络中采用分层体系结构,主要有以下一些好处。

(1)各层之间可相互独立。高层并不需要知道低层是采用何种技术来实现的,而只需要知道低层通过接口能提供哪些服务。每一层都有一个清晰、明确的任务,实现相对独立的功能,因而可以将复杂的系统性问题分解为一层一层的小问题。当属于每一层的小问题都解决了,那么整个系统的问题也就接近于完全解决了。

(2)灵活性好,易于实现和维护。如果把网络协议作为一个整体来处理,那么任何方面的改进必然都要对整体进行修改,这与网络的迅速发展是极不协调的。若采用分层体系结构,由于整个系统已被分解成了若干个易于处理的部分,那么这样一个庞大而又复杂的系统的实现与维护也就变得容易控制了。当任何一层发生变化时(如技术的变化),只要层间接口保持不变,则其他各层都不会受到影响。外,当层提供的服务不再被其他层需要时,可以将该层直接取消。

(3)有利于促进标准化。这主要是因为每一层的协议已经对该层的功能与所提供的服务做了明确的说明。

网络协议都是按层的方式来组织的,每一层都建立在下一层之上。不同的网络,其层次数、各层的名字、内容和功能都不尽相同。然而,在所有的网络中,每一层的目的都是向上一层提供一定的服务,而上一层根本不需要知道下一层是如何实现服务的。

每一对相邻层次之间都有一个接口(Interface),接口定义了下层向上层提供的原语操作(即命令)和服务,相邻两个层次都是通过接口来交换数据的。当网络设计者在决定一个网络应包括多少层、每一层应当做什么的时候,其中一个很重要的考虑就是要在相邻层次之间定义一个清晰的接口。为达到这些目的,又要求每一层能完成一组特定的有明确含义的功能。低层通过接口向高层提供服务。只要接口条件不变、低层功能不变,低层功能的具体实现方法与技术的变化就不会影响整个系统的工作。计算机网络的层次模型如图 3-1 所示。

56e1d32c4e199abc1cbc97f5863cb629.jpg

每一层中的活动元素通常称为实体(Entity)。实体既可以是软件实体(如一个进程),也可以是硬件实体(如智能输入/输出芯片)。不同通信节点上的同一层实体称为对等实体(Peer Entity)。

例如,网络中一个通信节点上的第 3 层与另一个通信节点上的第 3 层进行对话时,通话双方的两个程就是对等实体,通话的规则即为第 3 层上的协议。在计算机网络中,正是对等实体利用该层的协议在互相通信。但是在实际的通信过程中,数据并不是从节点 1 的第 3 层直接传送到节点2 的第 3 层,而是每一层都把数据和控制信息交给下一层,直到第 1 层。第 1 层下面是物理传输介质,进行实际的数据传输。对等实体间的通信过程如图 3-2 所示。

93e4381019bf5b4b12e5b1a01b587c8c.jpg

提问:

1. 什么是网络协议?网络协议在网络中的作用是什么?

2. 网络协议采用层次结构模型有什么好处?简述网络层次间的关系?

OSI与TCP/IP模型概念及比较

在 20 世纪 70 年代中期,美国 IBM 公司推出了系统体系结构(System NetworkArchitecture,SNA)。以后 SNA 又不断进行了版本更新,它是一种世界上广泛使用的体系结构。随着全球网络应用的不断发展,不同网络体系结构的网络用户之间需要进行网络的互连和信息的交换。1984 年,国际标准化组织(InternationalOrganization for Standardization,ISO)发表了著名的ISO/IEC 7498标准,定义了网络互连的 7 层框架,这就是开放系统互连参考模型,即 ISO/OSI RM(ReferenceModel of Open SystemInterconnection)。这里的“开放”是指只要遵循 OSI 标准,一个系统就可以与位于世界上任何地方、同样遵循 OSI 标准的其他任何系统进行通信。

1.OSI模型的层次结构

ISO/OSI 只给出了一些原则性的说明,并不是一个具体的网络。OSI 参考模型将整个网络的功能划分成 7 个层次,最高层为应用层,面向用户提供网络应用服务;最低层为物理层,与通信介质相连实现真正的数据通信。两个用户计算机通过网络进行通信时,除物理层之外,其余各对等层之间均不存在直接的通信关系,而是通过各对等层的协议来进行通信。只有两个物理层之间通过通信介质进行真正的数据通信。

1ddc1792c06f0540dd8703f31b85af89.jpg

2.OSI的分层

ISO 已经为各层制定了标准,各个标准作为独立的国际标准公布。下面以从低层到高层的顺序依次介绍OSI 参考模型的各层。

物理层(Physical Layer)是 OSI 参考模型的最低层。物理层的主要任务就是透明地传送二进制比特流,即经过实际电路传送后的比特流没有发生变化。但是物理层并不关心比特流的实际意义和结构,只是负责接收和传送比特流。作为发送方,物理层通过传输介质发送数据;作为接收方,物理层通过传输介质接收数据。物理层的另一个任务就是定义网络硬件的特性,包括使用什么样的传输介质以及与传输介质连接的接头等物理特性。

物理层定义的典型规范代表有 EIA/TIA RS-232、EIA/TIARS-449、V.35、RJ-45 等。值得注意的是,传送信息所利用的物理传输介质,如双绞线、同轴电缆、光纤等,并不在物理层之内而是在物理层之下。

数据链路层(Data Link Layer)是 OSI 参考模型的第 2 层。数据链路层的主要任务是在两个相邻节点间的线路上无差错地传送以帧(Frame)为单位的数据,使数据链路层对网络层显现为一条无差错线路。由于物理层仅仅接收和传送比特流,并不关心比特流的意义和结构,所以数据链路层要产生和识别帧边界。另外,数据链路层还提供了差错控制与流量控制的方法,保证在物理线路上传送的数据无差错。广播式网络在数据链路层还要处理新的问题,即如何控制各个节点对共享信道的访问。数据链路层协议的代表有 SDLC、HDLC、PPP、STP、帧中继等。

网络层(Network Layer)是OSI 参考模型的第3 层,在这一层,数据的单位为数据分组(Packet)。网络层的关键问题是如何进行路由选择,以确定数据分组(数据包)如何从发送端到达接收端。如果在子网中同时出现的数据分组太多,将会互相阻塞,影响数据的正常传输。因此,拥塞控制也是网络层的功能之一。另外,当数据分组需要经过另一个网络以到达目的地时,第二个网络的寻址方法、分组长度、网络协议可能与第一个网络不同,因此,网络层还要解决异构网络的互连问题。网络层协议的代表有 IP、IPX、RIP、OSPF 等。

传输层(Transport Layer)是 OSI 参考模型的第 4 层。传输层从会话层接收数据,形成报文(Message),并且在必要时将其分成若干个分组,然后交给网络层进行传输。

传输层的主要功能是:为上一层进行通信的两个进程之间提供一个可靠的端到端服务,使传输层以上的各层看不见传输层以下的数据通信细节,传输层以上的各层不再关心信息传输的问题。端到端是指进行相互通信的两个节点不是直接通过传输介质连接起来的,相互之间有很多交换设备(如路由器)。这样的两个节点之间的通信就称为端到端通信。传输层协议的代表有 TCP、UDP、SPX 等。

会话层(Session Layer)是 OSI 参考模型的第 5 层。会话层允许不同机器上的用户建立会话关系,主要是针对远程访问,主要任务包括会话管理、传输同步以及数据交换管理等。会话一般都是面向连接的,如当文件传输到中途时建立的连接突然断掉,是从文件的开始重传还是断点续传,这个任务由会话层来完成。会话层协议的代表有 NetBIOS、ZIP(AppleTalk 区域信息协议)等。

表示层(Presentation Layer)是 OSI 参考模型的第 6 层。表示层关心的是所传输的信息的语法和语义。表示层的主要功能是:用于处理在多个通信系统之间交换信息的表示方式,主要包括数据格式的转换、数据加密与解密、数据压缩与恢复等。表示层协议的代表有 ASCII、ASN.1、JPEG、MPEG 等。

应用层(Application Layer)是 OSI 参考模型的最高层。应用层为网络用户或应用程序提供各种服务,如文件传输、电子邮件、网络管理和远程登录等。应用层协议的代表有 Telnet、FTP、HTTP、SNMP 等。

  1. TCP/IP模型

TCP/IP 标准由一系列的文档定义组成,这些文档定义描述了 Internet 的内部实现机制,以及各种网络服务或服务的定义。TCP/IP 标准并不是由某个特定组织开发的,实际上是由一些团体所共同开发的,任何人都可以把自己的意见作为文档发布,但只有被认可的文档才能最终成为Internet 标准。

作为一套完整的网络通信协议,TCP/IP 实际上是一个协议簇。除了其核心协议——TCP 和 IP之外,TCP/IP 簇还包括一系列其他协议,包含在 TCP/IP 簇的 4 个层次中,形成了TCP/IP 栈,如图 3-6 所示。

TCP/IP 参考模型的主机—网络层与 OSI 参考模型的数据链路层和物理层相对应;TCP/IP 参考模型的互连层与 OSI 参考模型的网络层相对应;TCP/IP参考模型的传输层与 OSI 参考模型的传输层相对应;TCP/IP 参考模型的应用层与 OSI 参考模型的应用层相对应。

根据 OSI 模型的经验,会话层和表示层对大多数应用程序没有用处,所以 TCP/IP 参考模型将其排除在外。TCP/IP 参考模型各层次的功能如下。

主机—网络层(Host to Network Layer)是 TCP/IP 参考模型中的最低层。事实上,TCP/IP 参考模型并没有真正定义这一部分,只是指出在这一层上必须具有物理层和数据链路层的功能,以实现从网络层传送下来的数据发送到目的主机的网络层。至于在这一层上使用哪些标准,则不是TCP/IP 参考模型所关心的。在主机—网络层中包含了多种网络层协议,如以太网协议(Ethernet)、令牌环网协议(Token Ring)、分组交换网协议(X.25)等。

互连层(Internet Layer)是 TCP/IP 参考模型中的第 2 层,是整个 TCP/IP 参考模型的关键部分。互连层提供的是无连接的服务,主要负责将源主机的数据分组(Packet)发送到目的主机。源主机与目的主机既可以在同一个物理网内,也可以不在一个物理网内。互连层上定义了正式的数据分组格式和协议,即网际协议(Internet Protocol,IP)。除了 IP之外,还包括一些用于互连层的控制协议,如 Internet 控制报文协议(Internet Control Message Protocol,ICMP)、地址解析协议(Address Resolution Protocol,ARP)、反向地址解析协议(ReverseAddress Resolution Protowl,RARP)等。这些协议将在第 7 章中进行详细的介绍。

互连层的主要功能包括以下几点。

(1)处理来自传输层的分组发送请求。在接收到分组发送请求之后,将分组装入 IP 数据报,填充报头,选择发送路径,然后将数据报发送到相应的网络。

(2)处理接收到的数据报。在接收到其他主机发送的数据报之后,检查目的地址,若需要转发,则选择发送路径,转发出去;如果目的地址为节点 IP 地址,则除去报头,将分组交送到传输层处理。

(3)进行流量控制与拥塞控制。

传输层(Transport Layer)是 TCP/IP 参考模型中的第 3 层。传输层的主要功能是使发送方主机和接收方主机上的对等实体可以进行会话。从这一点上看,TCP/IP 参考模型的传输层和 OSI

在传输层上定义了以下两个端到端的协议。

(1)传输控制协议。传输控制协议(Transmission Control Protocol,TCP)是一个面向连接的协议,允许从源主机发出的字节流无差错地传送到网络上的其他主机上。在发送端,TCP 把应用层的字节流分成多个报文段并传给互连层。在接收端,TCP 把收到的报文段再封装成字节流,送往应用层。TCP 同时还要处理流量控制,以避免高速发送方主机向低速接收方主机发送的报文过多而造成接收方主机无法处理的情况。

(2)用户数据报协议。用户数据报协议(User Datagram Protocol,UDP)是一个不可靠的、无连接的协议。UDP 主要用于不需要数据分组顺序到达的传输环境中,同时也被广泛地应用于只有一次的、客户/服务器(Client/Server,C/S)模式的请求应答查询,以及快速传送比准确传送更重要的应用程序(如传输语音或影像)中。

应用层(Application Layer)是 TCP/IP 参考模型的最高层。应用层负责向用户提供一组常用的应用程序,如电子邮件、远程登录、文件传输等。应用层包含了所有 TCP/IP 簇中的高层协议,如文件传输协议(File Transfer Protocol,FTP)、电子邮件协议(SimpleMail Transfer Protocol,SMTP)、超文本传输协议(HyperText Transfer Protocol,HTTP)、简单网络管理协议(SimpleNetwork Management Protocol,SNMP)和域名系统协议(DomainName System,DNS)等。应用层协议一般可以分为 3 类:一类是依赖于面向连接的 TCP,如文件传输协议、电子邮件协议等;一类是依赖于无连接的 UDP,如简单网络管理协议;还有一类则既依赖于 TCP 又依赖于 UDP,如域名系统协议。

  1. 两种模型的比较

OSI 参考模型和 TCP/IP 参考模型有很多相似之处,都是基于独立的协议栈的概念(按照层次结构思想对计算机网络模块化的研究,形成了一组从上到下单向依赖关系的栈式结构),而且层的功能也大体相似。除了这些基本的相似之外,两个模型也有很多差别。

OSI 模型有 3 个主要概念:服务、接口和协议。每一层都为上一层提供一些服务。服务定义该层做什么,而不管上面的层如何访问或该层如何工作。某一层的接口告诉其上面的进程如何访问接口,接口定义了需要什么参数以及预期结果是什么。同样,接口也和该层如何工作无关。某一层中使用的协议是该层的内部事务,可以使用任何协议,只要能完成工作(如提供规定的服务)即可,并且某一层协议的改变不会影响到其他层。

这些思想和现代的面向对象的编程技术非常吻合。一个对象(如同一个层)有一组方法(操作),该对象外部的进程可以使用这些方法。这些方法的语义定义了该对象所提供的服务。方法的参数和结果就是该对象的接口。对象内部的代码即是协议,并且在该对象外部是不可见的。TCP/IP 参考模型最初没有明确区分服务、接口和协议。后来,人们试图将其改变以便接近于OSI。因此,OSI 参考模型中的协议比 TCP/IP 参考模型的协议具有更好的隐藏性(在技术发生变化时能相对比较容易地替换掉)。而最初把协议分层的主要目的之一就是希望能做这样的替换。

OSI 参考模型产生在协议发明之前。这意味着该模型没有偏向于任何特定的协议,因此非常通用;不利的方面是设计者在协议方面没有太多的经验,因此不知道该把哪些功能放在哪一层好。TCP/IP 则恰好相反,首先出现的是协议,模型实际上是对已有协议的描述。因此,不仅不会出现协议不能匹配模型的情况,而且配合得还相当好。两个模型间明显的差别是层的数量:OSI 模型有 7 层,而 TCP/IP 参考模型只有 4 层。两者都有互连(网络)层、传输层和应用层,但其他层并不相同。另一个差别是面向连接的和无连接的通信。OSI 参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而 TCP/IP 参考模型在网络层仅有无连接通信方式,但在传输层支持两种方式,这就给了用户选择的机会。

提问:

  1. ISO 在制定 OSI 参考模型进行层次划分的原则有哪些?

2.分别简述 OSI 参考模型各层的主要功能和特点。

3.描述在 OSI 参考模型中数据传输的基本过程。

4.TCP/IP 仅仅包含 TCP 和 IP 两个协议吗?为什么?

5.描述 OSI 参考模型与 TCP/IP 参考模型层次间的对应关系,并简述 TCP/IP 各层次的主要功能。

6.为什么说 TCP 和 IP 为 Internet 提供了可靠传输保障?

7.比较 OSI 参考模型与 TCP/IP 参考模型的异同点和各自的优缺点。

8.在学习网络体系结构和网络协议时,应采取什么样的一种折中方法?

4 局域网(网络层)

局域网的特点及其基本组成及相关技术

局域网是计算机网络的一种,在计算机网络中占有非常重要的地位。局域网既具有一般计算机网络的特点,又有自己的特征。局域网是在一个较小的范围(一个办公室、一幢楼、一个学校等)内,利用通信线路将众多的微机及外部设备连接起来,以达到资源共享、信息传递和远程数据通信的目的。对于微机用户来讲,了解和掌握局域网尤为重要。

局域网的研究工作始于 20 世纪 70 年代,1975 年美国 Xerox(施乐)公司推出的实验性以太网(Ethernet)和 1974 年英国剑桥大学研制的剑桥环网(Cambridge Ring)是最初局域网的典型代表。20 世纪 80 年代初期,随着通信技术、网络技术和微机的发展,局域网技术得到了迅速的发展和完善,一些标准化组织也致力于局域网的有关协议和标准的制定。20 世纪 80 年代后期,局域网的产品进入专业化生产和商品化的成熟阶段,获得了大范围的推广和普及。进入 20 世纪90 年代,局域网步入了更高速的发展阶段,已经渗透到了社会的各行各业,使用已相当普遍。局域网技术是当今计算机网络研究与应用的一个热点,也是目前非常活跃的技术领域之一,其发展推动着信息社会不断前进。

1.局域网的特点

概括地讲,局域网主要具有以下特点。

(1)覆盖的地理范围比较小。局域网主要用于单位内部连网,范围在一座办公大楼或集中的建筑群内,一般在几千米范围内。

(2)信息传输速率高、时延小,并且误码率低。局域网的传输速率一般为 10~100 Mbit/s,传输时延也一般在几毫秒至几十毫秒。由于局域网一般都采用有线传输介质传输信息,并且两个站点之间具有专用通信线路,因此误码率低,仅为 10 −12 ~10 −8 。

(3)局域网一般为一个单位所建,在单位或部门内部控制管理和使用,由网络的所有者负责管理和维护。

(4)便于安装、维护和扩充。由于局域网应用的范围小,网络上运行的应用软件主要为本单位服务,因此,无论从硬件系统还是软件系统来讲,网络的安装成本都较低、周期短,维护和扩充都十分方便。

(5)一般侧重于共享信息的处理,通常没有中央主机系统,而带有一些共享的外部设备。

2.局域网的基本组成

(1)网络硬件。网络硬件主要包括网络服务器、工作站、外部设备、网卡、传输介质。此外,根据传输介质和拓扑结构的不同,还需要集线器(Hub)、集中器(Concentrator)等,如果要进行网络互连,还需要网关、网桥、路由器、中继器以及网间互连线路等。

① 服务器。在局域网中,服务器可以将 CPU、内存、磁盘、数据等资源提供给各个网络用户使用,并负责对这些资源进行管理,协调网络用户对这些资源的使用。因此,要求服务器具有较高的性能,包括较快的数据处理速度、较大的内存、较大容量和较快访问速度的磁盘等。

② 工作站。工作站是网络各用户的工作场所,通常是一台微机或终端,也可以是不配有磁盘驱动器的“无盘工作站”。工作站通过插在其中的网络接口板——网卡,经传输介质与网络服务器相连,用户通过工作站就可以向局域网请求服务和访问共享资源。工作站可以有自己单独的操作系统并独立工作,通过网络从服务器中取出程序和数据后,用自己的 CPU 和内存进行运算处理,处理结果还可以再存到服务器中去。在考虑网络工作站的配置时,主要注意以下几个方面。

● CPU 的速度和内存的容量。

● 总线结构和类型。

● 磁盘控制器及硬盘的大小。

● 扩展槽的数量和所支持的网卡类型。

● 工作站网络软件要求。

③ 外部设备。外部设备主要是指网络上可供网络用户共享的设备,通常网络上的共享外部设备包括打印机、绘图仪、扫描器、Modem 等。

④ 网卡。网卡用于把计算机同传输介质连接起来,进而把计算机连入网络,每一台连网的计算机都需要有一块网卡。网卡的基本功能包括基本数据转换、信息包的装配和拆装、网络存取控制、数据缓存、生成网络信号等。一方面,网卡要和主机交换数据;另一方面,数据交换还必须以网络物理数据的路径和格式来传送或接收数据。如果网络与主机 CPU 之间速率不匹配,就需要缓存以防数据丢失。由于网卡处理数据包的速度比网络传送数据的速度慢,也比主机向网卡发送数据的速率慢,因而往往成为网络与主机之间的瓶颈。

⑤ 传输介质。局域网中常用的传输介质主要有同轴电缆、双绞线和光缆。

(2)网络软件。网络软件也是计算机网络系统中不可缺少的重要资源。网络软件所涉及和解决的问题要比单机系统中的各类软件都复杂得多。根据网络软件在网络系统中所起的作用不同,可以将其分为 5 类:协议软件、通信软件、管理软件、网络操作系统和网络应用软件。

① 协议软件。用以实现网络协议功能的软件就是协议软件。协议软件的种类非常多,不同体系结构的网络系统都有支持自身系统的协议软件,体系结构中的不同层次上也有不同的协议软件。对某一协议软件来说,将其划分到网络体系结构中的哪一层是由协议软件的功能决定的。

② 通信软件。通信软件的功能是使用户在不必详细了解通信控制规程的情况下,能够对自己的应用程序进行控制,同时又能与多个工作站进行网络通信,并对大量的通信数据进行加工和管理。目前,几乎所有的通信软件都能很方便地与主机连接,并具有完善的传真功能、文件传输功能和自动生成原稿功能等。

③ 管理软件。网络系统是一个复杂的系统,对管理者而言,经常会遇到许多难以解决的问题。网络管理软件的作用就是帮助网络管理者便捷地解决一些棘手的技术难题,如避免服务器之间的任务冲突、跟踪网络中用户的工作状态、检查与消除计算机病毒、运行路由器诊断程序等。

④ 网络操作系统。局域网的网络操作系统(Network Operating System,NOS)就是网络用户和计算机网络之间的接口,网络用户通过网络操作系统请求网络服务。网络操作系统具有处理机管理、存储管理、设备管理、文件管理以及网络管理等功能,与微机的操作系统有着很密切的关系。目前较流行的局域网操作系统有微软公司的 Windows 2000 Server、Windows Server 2003,Novell 公司的 Netware 等。

⑤ 网络应用软件。网络应用软件是在网络环境下,直接面向用户的网络软件,是专门为某一个应用领域而开发的软件,能为用户提供一些实际的应用服务。网络应用软件既可以用于管理和维护网络本身,也可以用于一个业务领域,如网络数据库管理系统、网络图书馆、远程网络教学、远程医疗、视频会议等。

  1. 局域网的拓扑结构

前面已经讲到了网络拓扑结构的基本含义以及常见的一些网络拓扑结构。网络拓扑结构对整个网络的设计、功能、可靠性、成本等方面具有重要的影响。目前,大多数局域网使用的拓扑结构主要有星型、环型、总线型和网状型等多种。星型、环型和网状型拓扑结构使用的是点到点连接,总线型使用的是多点连接。下面介绍几种常见的拓扑结构。

1.星型(Star)

这种结构是目前在局域网中应用得最为普遍的一种,在企业网络中采用的几乎都是这一方式。星型网络几乎是 Ethernet(以太网)网络专用,由网络中的各工作站节点设备通过一个网络集中设备(如集线器或交换机)连接在一起,各节点呈星状分布。

这类网络目前用得最多的传输介质是双绞线。星型网络基本连接如图 4-1 所示。

星型网络主要有以下几个特点。

(1)容易实现、成本低。星型结构网络所采用的传输介质一般都是通用的双绞线,它相对于同轴电缆和光纤来说比较便宜。这种拓扑结构主要应用于 IEEE 802.2、IEEE 802.3标准的以太局域网中。

(2)节点扩展、移动方便。节点扩展时只需要从集线器

或交换机等集中设备中拉一条线即可,而要移动一个节点只需要把相应节点设备移到新节点即可,而不会像环型网络那样“牵其一而动全局”。

(3)维护容易。一个节点出现故障不会影响其他节点的连接,可任意拆走故障节点。

(4)采用广播信息传送方式。任何一个节点发送信息时,在整个网络中的其他节点都可以收到。这在网络方面存在一定的隐患,但在局域网中使用影响不大。

(5)对中央节点的可靠性和冗余度要求很高。每个工作站直接与中央节点相连,如果中央节点发生故障,全网则趋于瘫痪。所以,通常要采用双机热备份,以提高系统的可靠性。

2.环型(Ring)

环型网络是用一条传输链路将一系列节点连成一个封闭的环路,如图 4-2 所示。实际上,大多数情况下这种拓扑结构的网络不会是所有计算机连接成真正物理上的环型,在一般情况下,环的两端是通过一个阻抗匹配器来实现环的封闭,因为在实际组网过程中因地理位置的限制不可能真正做到环的两端物理连接。

在环型网络中信息流只能单方向进行传输,每个收到信息包的节点都向下游节点转发该信息包。当信息包经过目标节点时,目标节点根据信息包中的目标地址判断出自己是接收方,并把该信息复制到自己的接收缓冲区中。

为了决定环上的哪个节点可以发送信息,平时在环上流通着一个名为“令牌”(Token)的特殊信息包,只有得到“令牌”的节点才可以发送信息,当一个节点发送完信息后就把“令牌”向下传送,以便下游的节点可以得到发送信息的机会。环型网络的优点是能够高速运行,而且为了避免冲突其结构相当简单。

3.总线型(Bus)

总线拓扑结构所采用的传输介质一般是同轴电缆(包括粗缆和细缆),也有采用光缆作为总线型传输介质的,所有的节点都通过相应的硬件接口直接与总线相连,如图 4-3 所示。总线型网络采用广播通信方式,即任何一个节点发送的信号都可以沿着总线介质传播,而且能被网络上其他所有节点所接收。

总线型网络主要有以下几个特点。

(1)组网费用低。从示意图中可以看出,这样的结构一般不再需要额外的互连设备,直接通过一条总线进行连接,所以组网费用较低。

(2)网络用户扩展较灵活。需要扩展用户时只需要添加一个接线器即可,但受通信介质本身物理性能的局限,总线的负载能力是有限度的。所以,总线结构网络中所能连接的节点数量是有限的。如果工作站节点的个数超出了总线的负载能力,就需要采用分段等方法,并加入相应的网络附加部件,使总线负载符合容量要求。

(3)维护较容易。单个节点失效不影响整个网络的正常通信。但是如果总线一旦发生故障,则整个网络或者相应的主干网段就断了。

(4)由于网络各节点共享总线带宽,因此,数据传输速率会随着接入网络的用户的增多而下降。

(5)若有多个节点需要发送数据信息,一次仅能允许一个节点发送,其他节点必须等待。

提问:

1.什么是局域网?局域网的主要特点是什么?

2.局域网由哪两大部分组成?

3.局域网的物理拓扑结构有哪几种形式,分别有哪些特点

IP地址与子网划分

我们把整个因特网看成为一个单一的、抽象的网络。IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。

IP 地址现在由因特网名字与号码指派公司ICANN (Internet Corporation for Assigned Names and Numbers)进行分配

最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。

1. A类IP地址

一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。

2. B类IP地址

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。

3. C类IP地址

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。

4. D类地址用于多点广播(Multicast)。

D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

5. E类IP地址

以“llll0”开始,为将来使用保留。

全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。

fc42ef528217c07da6652026ab9ec477.jpg

  1. ARP协议

地址解析ARP:从已知的IP地址找出对应物理地址的映射过程;

反向地址解析RARP:从已知的物理地址找出对应IP地址的映射过程。

6c26b0a61dbf4a17c79c7c02b602a2fb.jpg

为了减少网络上的通信量,主机 A 在发送其 ARP 请求分组时,就将自己的IP 地址到硬件地址的映射写入ARP 请求分组。

当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的这一地址映射写入主机 B 自己的 ARP 高速缓存中。这对主机 B 以后向 A 发送数据报时就更方便了。

  1. IP数据报的结构

1240

  1. 子网划分

子网划分定义:Internet组织机构定义了五种IP地址,有A、B、C三类地址。A类网络有126个,每个A类网络可能有16777214台主机,它们处于同一广播域。而在同一广播域中有这么多节点是不可能的,网络会因为广播通信而饱和,结果造成16777214个地址大部分没有分配出去。可以把基于每类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于每类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。

RFC 950定义了子网掩码的使用,子网掩码是一个32位的2进制数,其对应网络地址的所有位置都为1,对应于主机地址的所有位置都为0。

由此可知,A类网络的默认子网掩码是255.0.0.0,B类网络的默认子网掩码是255.255.0.0,C类网络的默认子网掩码是255.255.255.0。将子网掩码和IP地址按位进行逻辑“与”运算,得到IP地址的网络地址,剩下的部分就是主机地址,从而区分出任意IP地址中的网络地址和主机地址。

子网掩码常用点分十进制表示,我们还可以用CIDR的网络前缀法表示掩码,即“/;”。如138.96.0.0/16表示B类网络138.96.0.0的子网掩码为255.255.0.0。

IP判断

子网掩码告知路由器,IP地址的前多少位是网络地址,后多少位(剩余位)是主机地址,使路由器正确判断任意IP地址是否是本网段的,从而正确地进行路由。

例如,有两台主机,主机一的IP地址为222.21.160.6,子网掩码为255.255.255.192,主机二的IP地址为222.21.160.73,子网掩码为255.255.255.192。现在主机一要给主机二发送数据,先要判断两个主机是否在同一网段。

主机一

222.21.160.6即:11011110.00010101.10100000.00000110

255.255.255.192即:11111111.11111111.11111111.11000000

按位逻辑与运算结果为:11011110.00010101.10100000.00000000

十进制形式为(网络地址):222.21.160.0

主机二

222.21.160.73 即:11011110.00010101.10100000.01001001

255.255.255.192即:11111111.11111111.11111111.11000000

按位逻辑与运算结果为:11011110.00010101.10100000.01000000

十进制形式为(网络地址):222.21.160.64

C类地址判断前三位是否相同,即可确定2个IP地址是否在同一网段内,但本例中的222.21.160.6与222.21.160.73不在同一网段,因为这两个C类IP地址已经做了子网划分就不能只判断前三位是否相同就确认这两个IP是否在同一网段。其中222.21.160.6在222.21.160.1-222.21.160.62 段,222.21.160.73在222.21.160.65-222.21.160.126段,所以不在同一网段[2] ,如果要通信需要通过路由器转发。

设置

子网划分是通过借用IP地址的若干位主机位来充当子网地址从而将原网络划分为若干子网而实现的。

划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,而每个子网中的可用主机数逐渐减少。以C类网络为例,原有8位主机位,2的8次方即256个主机地址,默认子网掩码255.255.255.0。借用1位主机位,产生2个子网,每个子网有126个主机地址;借用2位主机位,产生4个子网,每个子网有62个主机地址……每个网中,第一个IP地址(即主机部分全部为0的IP)和最后一个IP(即主机部分全部为1的IP)不能分配给主机使用,所以每个子网的可用IP地址数为总IP地址数量减2;根据子网ID借用的主机位数,我们可以计算出划分的子网数、掩码、每个子网主机数,列表如下:

① 划分子网数② 子网位数 ③子网掩码(二进制) ④ 子网掩码(十进制) ⑤ 每个子网主机数

① 1~2 ② 1 ③ 11111111.11111111.11111111.10000000 ④255.255.255.128 ⑤ 126

① 3~4 ② 2 ③ 11111111.11111111.11111111.11000000 ④255.255.255.192 ⑤ 62

① 5~8 ② 3 ③ 11111111.11111111.11111111.11100000 ④255.255.255.224 ⑤ 30

① 9~16 ② 4 ③ 11111111.11111111.11111111.11110000 ④255.255.255.240 ⑤ 14

① 17~32 ② 5 ③ 11111111.11111111.11111111.11111000 ④255.255.255.248 ⑤ 6

① 33~64 ② 6 ③ 11111111.11111111.11111111.11111100 ④255.255.255.252 ⑤ 2

如上表所示的C类网络中,若子网占用7位主机位时,主机位只剩一位,无论设为0还是1,都意味着主机位是全0或全1。由于主机位全0表示本网络,全1留作广播地址,这时子网实际没有可用主机地址,所以主机位至少应保留2位。

计算步骤

1、确定要划分的子网数

2、求出子网数目对应二进制数的位数N及主机数目对应二进制数的位数M。

3、对该IP地址的原子网掩码,将其主机地址部分的前N位置取1或后M位置取0 即得出该IP地址划分子网后的子网掩码。

机位还有11位,2的11次方=2048,去掉主机位全0和全1的情况,还有2046个主机ID可以分配,而子网能容纳200台主机就能满足需求,按照上述方式划分子网,每个子网能容纳的主机数目远大于需求的主机数目,造成了IP地址资源的浪费。为了更有效地利用资源,我们也可以根据子网所需主机数来划分子网。还以上例来说,128<200<256,即2^7<200<2^8,也就是说,在B类网络的16位主机位中,保留8位主机位,其它的16-8=8位当成子网位,可以将B类网络135. 41.0.0划分成256(2^8)个能容纳256-1-1=254台(去掉全0全1情况)主机的子网。此时的子网掩码为11111111.11111111.11111111.00000000,转换为十进制为255.255.255.0。

在上例中,我们分别根据子网数和主机数划分了子网,得到了两种不同的结果,都能满足要求,实际上,子网占用5~8位主机位时所得到的子网都能满足上述要求,那么,在实际工作中,应按照什么原则来决定占用几位主机位呢?

注意事项

在划分子网时,不仅要考虑目前需要,还应了解将来需要多少子网和主机。对子网掩码使用必须要更多的子网位,可以得到更多的子网,节约了IP地址资源,若将来需要更多子网时,不用再重新分配IP地址,但每个子网的主机数量有限;反之,子网掩码使用较少的子网位,每个子网的主机数量允许有更大的增长,但可用子网数量有限。一般来说,一个网络中的节点数太多,网络会因为广播通信而饱和,所以,网络中的主机数量的增长是有限的,也就是说,在条件允许的情况下,会将更多的主机位用于子网位。

综上所述,子网掩码的设置关系到子网的划分。子网掩码设置的不同,所得到的子网不同,每个子网能容纳的主机数目不同。若设置错误,可能导致数据传输错误。

提问:

\1. 已分配了一个C类地址:201.222.5.0,假设需要20个子网,每个子网有5台主机,试确定各子网地址和子网掩码。

\2. 一个大型跨国公司的管理者从网络管理中心获得一个A类IP地址121.0.0.0;需要划分1000个子网,请给出该所有子网的IP地址范围。

A公司被分配了一个B类地址132.132.0.0,使用子网掩码,A公司的每台主机和路由器配置前三个字节作为网络地址,最后一个字节作为主机地址。每台主机和路由器被分配了一个255.255.255.0的子网掩码。问A公司可以创建几个子网,每个子网可以有多少主机?

5 传输层

TCP和UDP协议

运输层向它上面应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层。

两个主机进行通信实际上就是两个主机中的应用进程互相通信。应用进程之间的通信又称为端到端的通信。

应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。

运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。运输层还要对收到的报文进行差错检测。

运输层需要有两种不同的运输协议:

(1)用户数据报协议 UDP (User Datagram Protocol)

UDP 在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。

(2)传输控制协议 TCP (Transmission Control Protocol)

TCP 则提供面向连接的服务。TCP不提供广播或多播服务。由于TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。

1.用户数据报协议 UDP

UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。

UDP 是无连接的,即发送数据之前不需要建立连接。

UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。

UDP 是面向报文的。UDP 没有拥塞控制,很适合多媒体通信的要求。

UDP 支持一对一、一对多、多对一和多对多的交互通信。

UDP 的首部开销小,只有 8个字节。

1f599f7848bbf14a008c57120dbde858.jpg

发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。所以应用程序必须选择合适大小的报文。

UPD首部格式如下:

9aa380a7ffc7ff7d637cc8e3bb9ae9d7.jpg

  1. 传输控制协议 TCP

TCP 是面向连接的运输层协议,就是说应用程序在使用TCP协议之前,必须先建立TCP连接,传送完数据之后,必须释放连接。

每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)的。

TCP 提供可靠交付的服务,保证数据无差错、不丢失、不重复、按序到达。

TCP 提供全双工通信。

TCP是面向字节流,下图展示了字节流的发送、接受过程:

1ac56aff22d26f715382853a44e494aa.jpg

TCP 连接是一条虚连接而不是一条真正的物理连接。TCP 对应用进程一次把多长的报文发送到TCP 的缓存中是不关心的。TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)。TCP 可把太长的数据块划分短一些再传送。TCP 也可等待积累有足够多的字节后再构成报文段发送出去。

TCP 连接的端点不是主机,不是主机的IP 地址,不是应用进程,也不是运输层的协议端口。TCP 连接的端点叫做套接字(socket)或插口。

端口号拼接到IP 地址即构成了套接字。

套接字 socket = (IP地址: 端口号)

每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定。即:

TCP 连接 ::= {socket1, socket2}

​ ={(IP1: port1), (IP2: port2)}

TCP虽然是面向字节流的,但TCP传送的数据单元却是报文段。一个TCP 报文段分为首部和数据两部分。

TCP报文段首部的前20个字节是固定的,后面的字节是根据需要增加的。首部格式如下:

TCP的连接控制

运输连接就有三个阶段,即:连接建立、数据传送和连接释放。运输连接的管理就是使运输连接的建立和释放都能正常地进行。

连接建立过程中要解决以下三个问题:

(1)要使每一方能够确知对方的存在。

(2)要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。

(3)能够对运输实体资源(如缓存大小,连接表中的项目等)进行分配。

TCP 连接的建立都是采用客户服务器方式。主动发起连接建立的应用进程叫做客户(client)。被动等待连接建立的应用进程叫做服务器(server)。

TCP的连接建立(三次握手)

d797fb27701767a2e8df64cdd4f2d5a1.jpg

上图中,B的服务器进程先创建传输控制块TCB,准备接受客户进程的连接请求。然后服务器进程就处于LISTEN(监听)状态,等待客户的连接请求。

A的TCP客户进程也是首先创建传输控制块TCB,然后向B发出连接请求报文段,这时首部中的同步位SYN=1,同时选择一个初始序号seq=x。TCP规定,SYN报文段不能携带数据,但要消耗掉一个序号。这时,TCP客户进程进入SYN-SENT(同步已发送)状态。

B收到连接请求报文段后,如同意建立连接,则向A发送确认。在确认报文段中应把SYN位和ACK为都置1,确认好ack=x+1,同时也为自己选择一个初始序号seq=y。这个报文段也不能携带数据,但同样要消耗一个序号。这时TCP服务器进程进入SYN-RCVD(同步收到)状态。

TCP客户进程收到B的确认后,还要向B给出确认。确认报文段的ACK置1.确认号ack=y+1,而自己的序号seq=x+1。TCP的标准规定,ACK报文段可以携带数据,但如果不携带数据则不消耗序号。这时,TCP连接已建立,A进入ESTABLISHEN(已建立连接)状态。

当B收到A的确认后,也进入ESTABLISHEN状态。

上面的过程称为三次握手。

TCP的连接释放(四次挥手)

0d4bedfd274c791fa247377a931df219.jpg

数据传输结束后,A和B处于ESTABLISHEN状态。A的应用进程先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接。A把连接释放报文段首部的FIN置1,其序号seq=u,等于前面已经传送过的数据的最后一个字节的加1.这时A进入FIN-WAIT-1(终止等待1)状态,等待B的确认。

B收到连接释放报文段后即发出确认,确认号是ack=u+1,而这个报文段自己的序号是v。等于B前面已经传送过的数据的最后一个字节的序号加1。然后B进入CLOSE-WAIT(关闭等待)状态。TCP服务器进程这时应通知高层应用进程,因而从A到B这个方向的连接就释放了,这时的TCP连接处于半关闭状态。即A已经没有数据要发送了,但B若发送数据,A仍要接受。

A收到来自B的确认后,就进入FIN-WAIT-2(终止等待2)状态,等待B发出的连接释放报文段。

若B已经没有要向A发送的数据,其应用进程就通知TCP释放链接。这时B发出的报文段必须使FIN=1。现假定B的序号为w(在半关闭状态B可能由发送了一些数据)。B还必须重复上次已经发送过的确认号ack=u+1。这时B就进入LAST-ACK(最后确认)状态,等待A的确认。

A在收到B的连接释放报文段后,必须对此发出确认。在确认报文段中把ACK置1,确认号ack=w+1,而自己的序号是seq=u+1。然后进入到TIME-WAIT(时间等待)状态。请注意,现在TCP连接还没有释放掉。必须经过时间等待计时器设置的时间2MSL后,A才进入到CLOSED状态。时间MSL叫做最长报文段寿命(Maximum Segment Lifetime)。

TCP的有限状态机

TCP 有限状态机的图中每一个方框都是 TCP 可能具有的状态。每个方框中的大写英文字符串是 TCP 标准所使用的 TCP 连接状态名。状态之间的箭头表示可能发生的状态变迁。箭头旁边的字,表明引起这种变迁的原因,或表明发生状态变迁后又出现什么动作。

629b489b4c6d0ba5ddec8251f74091ec.jpg

图中有三种不同的箭头:

粗实线箭头表示对客户进程的正常变迁。

粗虚线箭头表示对服务器进程的正常变迁。

另一种细线箭头表示异常变迁。

提问:

提问:TCP和UDP有什么区别?

6 Internet知识(应用层)

21 世纪是一个计算机与网络的时代。在这个时代中,信息及信息的交流、获取和利用将成为个人成长与社会发展、经济增长和社会进步的基本要素。因此,每一个希望在这个时代有所作为的人都应该学习、掌握和使用 Internet 应用中的各种技巧和方法。这对每个人来说,既是一种机遇,也是一种挑战。

本章主要讨论 Internet 在当今社会和家庭中应用的各个方面。首先介绍 Internet 应用于家庭用户,包括家庭用户如何连入 Internet,如何利用浏览器来浏览网页以及家庭娱乐等;然后阐述 Internet在电子商务中的应用,包括电子商务的内容、特点及工作模式等;最后简要叙述Internet 带来的社会问题以及Internet 的应用发展趋势与研究热点等问题。本章的实践性很强,着重体现了对Internet 的应用操作和对动手能力的培养。学好本章将为进一步增强 Internet 的应用实践能力奠定良好的基础。。

1.电话拨号连入Internet

联网过程包括完成安装 Modem 和建立拨号连接两方面。

(1)安装 Modem。买一块内置 Modem 卡,打开机盖,将 Modem 卡插在主板白色的 PCI 插

槽内即可,注意一定要完全插入并用螺丝固定。Modem 卡的挡板上一般有 4 个插孔,两个方形和两个圆形。方形插孔都是用来插电话线的,一个是输入端口,一个是输出端口。家里的电话线插在输入端口,输出端口接一根电话线到电话机,这样电话即使在不开机的情况下也能照样使用,不过在上网的时候就不能用了。两个圆形插孔是接耳机和麦克风的,是实现语音通话的装备。但是一般这两个接口都用不着,因为用 Modem上网的网速较慢,通话效果不是很理想。盖上机箱后开机,系统会自动提示“发现新硬件,是否搜索驱动程序”,此时把 Modem 的安装程序光盘放进光驱,让系统在光盘里自动搜寻,片刻就能装好驱动程序,这样Modem 就安装完成了。

(2)建立拨号连接。以 Windows 10 操作系统为例,介绍拨号连接的建立过程。

2.利用 ADSL 连入 Internet

首先,用户要向当地电信局申请 ADSL 服务,并注册合法的用户名和密码。然后,根据图 9-7完成 ADSL 设备的安装,并进行软件设置,建立 ADSL 连接。

① 安装网卡。安装网卡的方法和安装 Modem 卡的方法基本相同,也是将网卡插入主板的白色 PCI 扩展插槽,然后安装网卡驱动程序。由于现在计算机中的部件越来越多,所以在网卡的安装中最容易出现的问题就是中断冲突,因此要注意调整避免冲突的发生。

② 安装滤波器。滤波器有 3 个接口,分别为电话信号输入(PHONE)、电话信号输出(LINE)和数据信号输出(Digital Swbscriber Line,DSL)。输入端连接入户线,如果家里有分机,不能在分线器后面接入滤波器。电话信号输出接电话机,这样就可以在上网的同时进行通话。

③ 安装 ADSL Modem。当前市面上的 ADSL 宽带 Modem 主要分为以太网接口和 USB 接口两种。USB 接口类型的 ADSL Modem 不需要网卡,安装和使用都很方便。但在家庭中使用最普遍的还是带以太网接口的ADSL Modem。其安装方法为:接上电源后,首先将数据信号输出接到ADSL Modem 的电话 LINK 端口,当正确连接时,其面板上面的电话 LINK 指示灯会亮;然后用交叉双绞线将 ADSL Modem 和网卡连接起来,一端接到网卡的 RJ-45 端口上,另一端接到 ADSLModem 的以太网(Ethernet)端口上,当 ADSL Modem 面板的 Ethernet 指示灯也亮了时就说明其正常工作了。

(2)建立宽带连接。ADSL 接入 Internet 的方式分为专线接入和虚拟拨号两种方式。专线接入方式如同局域网操作,一般提供静态 IP 地址,无须拨号,打开计算机即可接入 Internet。虚拟拨号方式是指 ADSL 接入时,要输入用户名和密码,但并不是真的去拨号,只是模拟虚拟拨号过程。虚拟拨号使用 PPPoE 协议,我们需要在 Windows 10 中建立一个 ADSL 宽带连接。在 Windows10 中建立 ADSL 宽带连接的方法与建立一个电话拨号连接非常相似,不同就是在图 9-3 所示窗口中选择“宽带(PPPoE)”,然后在图 9-8 所示的对话框中输入在电信局合法注册的用户名和密码即可。最后显示宽带连接对话框,如图 9-9 所示,单击“确定”按钮即可。

目前市场上的网络浏览器可以说是硝烟四起,竞争激烈,都想在Internet 这一全球最大的网络资源市场上占有一席之地。知名的浏览器软件有微软 IE 浏览器、谷歌 Chrome 浏览器、360 浏览器、火狐浏览器以及Opera 等。任何一款好的浏览器都应具有以下一些基本特点。

● 对文本和图形的显示速度快。

● 支持超文本标识语言的增强功能,并同时支持 Java 等功能。

● 集成 Internet 上的所有服务功能,包括远程电子邮件、文件传输、远程登录、超文本传输协议以及新闻组和查寻检索等。

● 具有广泛的搜索功能,让用户跟着软件的指引搜遍网络世界的所有资源。

● 友好易用的操作界面。

在这样的一种搜索环境下,用户不需要具备太多的网络知识。复杂的网络系统变成了一个黑箱,技术隐藏在后台,前台为用户提供种种方便。对于没有太多计算机专业知识和网络经验的用户,一个好的浏览器就是探索网络世界最理想的工具。

Microsoft Internet Explorer(简称 IE)是基于 WorldWide Web 的网络浏览客户端软件,当用户通过拨号或专线方式连入 Internet 后,运行 IE 浏览器就可以进行 WWW 浏览,并在 IE 浏览器提供的菜单、选项按钮指引下,实现对 Internet 资源的调用。本节主要针对 Microsoft IE 11.0 浏览器的使用进行详细的介绍。

电子商务源于英文 Electronic Commence,简写为 E-commerce。顾名思义,其内容包括两个方面:一是电子方式,二是商贸活动。电子商务是一种商务活动的新形式,是以现代信息技术手段(如数字化通信网络和计算机装置等为工具)进行商品交易的过程。

电子商务可以通过多种电子通信方式来完成。简单地说,可以通过电话或发传真的方式与客户进行商贸活动,但现在所说的电子商务主要是指以 EDI(ElectronicDigital Interchange,电子数据交换)和 Internet 来实现商贸活动,尤其是随着 Internet 技术的日益成熟,电子商务真正的发展将建立在 Internet 技术的基础上。电子商务到现在已进入了第二代时期,即利用 Internet 进行全部的贸易活动,在网上可将信息流、商流、资金流和部分物流完整地实现,也就是说,商家从寻找客户开始,从洽谈、订货、在线(收)付款、开具电子发票一直到电子报关、电子纳税等,均可通过 Internet 一气呵成。

电子商务主要涵盖了 3 个方面的内容:一是政府贸易管理的电子化,即采用网络技术实现数据和资料的处理、传递和存储;二是企业级电子商务,即企业间利用计算机技术和网络技术实现和供应商、用户之间的商务活动;三是电子购物,即企业通过网络为个人提供的服务及商业行为。总的来说,电子商务就是指利用电子网络进行的商务活动,利用一种前所未有的网络方式将顾客、销售商、供货商和雇员联系在一起。授权用户可以利用高速网络环境检索连网厂家的商品,在选中适当的商品后向生产厂家直接购买,并在测试满意后由网络经银行直接转账付款;或在未选中合适的商品时,通过网络和自己认为合适的厂家进行交流,将自己的需求告诉对方,并由厂家在要求的时间内加工生产后由网络直接转账付款。

  1. Internet的一些问题

Internet 为人们提供了很多丰富有用的科研、文化、学术、综合等情报信息,但是,有一点不能忽视,那就是在带来文明与进步的同时也带来了污垢。

(1)黄色污染。全世界的男、女、老、少都很容易通过 Internet 接触网上的各种信息,而网络上有许多色情传播系统在传播着大量的黄色信息。目前传播和使用色情信息在各个国家已经是一个十分严重的问题。例如,美国所成立的一个专门调查网络色情的小组曾经在 2003 年的一次调查中发现“美国电子网”中有 90 多万张黄色图片,而且这类信息每天被大量地复制保存到了用户的个人计算机中。另一个统计结果更发人深省:在 7 个星期中,只有 100 多万人接通和使用了一所大学的信息库,而有名的色情杂志《花花公子》的信息中心在一个星期中就被 470 万人使用。由此可见,黄色信息的污染问题日趋严重,带来的社会问题则更为严重。

(2)意识形态领域的渗透。使用 Internet 更多地是接收信息,这意味着我们将比以往更多地受到国外特别是西方媒体和信息的影响。美国和西方国家通过网络在政治和意识形态上的影响和渗透已经引起了亚洲及其发展中国家的高度重视。每个国家在政治、经济、文化等方面都保持相对的独立性和平等性,都有其自己的特点,是决不允许受到其他国家干涉的。西方资产阶级始终把意识形态领域的渗透作为颠覆和破坏社会主义国家的主要手段,这应当引起大家高度的重视和警惕。

(3)网络犯罪日益严重。由于 Internet 所崇尚的开放性和自由化,使网络的安全防范面临重重压力。有些计算机天才利用专业知识专门盗用他人电话号码、私人账号、信用卡密码,甚至危害国家安全。例如,英国一名网络黑客通过自己设计的软件探测到五角大楼计算机系统中的数百个用户名称、账号,包括弹道武器研究、战斗机研制方案等绝密资料。又如美国联邦调查局抓获的一名犯罪分子,通过盗窃可移动电话公司的软件,给公司造成数百万美元的损失。可以说,凡是在网上的国家经济、政治等方面的绝密信息都有可能被泄密,这些问题已引起世界各国的普遍关注。

(4)信息的可靠性将降低。网络信息是自下而上的,每个 Internet 上的用户都可以自由地制造信息,向网络上成千上万的用户传输信息,而无须接受任何审查和核实。这样一来,大量虚假新闻及信息将充斥在网络中,无形中大大降低了网络信息的真实性和可靠性。

创新是 Internet 不变的主题,融合再创新是 Internet 不变的旋律。现在,在世界范围内 Internet正在发生裂变,在这次巨大的变革浪潮中,新技术、新应用成为变化后沉积的成果。在整个发展过程中,一个个创业神话崛起于世界 Internet 的舞台上,一批批创业传奇人物前仆后继……今后的 Internet 会沿着一条怎样的轨道向前迈进?

(1)业务应用趋向人性化。未来的 Internet 产业将围绕“以人为本”的宗旨来发展,不管如何创新,其目的都是让用户获得更大的便利。基于 IP 网络的 P2P(Peer-to-Peer,对等)模式将是未来 Internet 运作的主流模式,当前任何一个运营商网络流量的 50%~70%已经是用户与用户之间的 P2P 传输。目前,在Internet 上用 P2P 传输视频已经超过了 MP3,估计在未来 5~10 年里,P2P 模式将横扫 Internet乃至通信业,其影响将会非常深远。在广播电视方面,今后大多数非实时的电视节目都存储在 Internet 上,用户可以非常方便地搜索收看,也可以共享各自的资源。因此从 Internet 资源上看,P2P 模式可以突破瓶颈,通过一个分布式的共享结构,在未来的文件共享、协同工作甚至移动通信方面发挥巨大作用。同时,P2P 模式将会不可避免地给Internet 带来 QoS(服务质量)问题,由于以用户为核心而变得难以保证。如何把这种高性能的、最能反映 Internet本质的东西与未来的应用结合起来是 Internet 产业今后面临的一大挑战。

另外,未来网站的经营模式也逐渐朝着“以人为本”的方式过渡。当前以生活娱乐内容为主的无线增值业务、网络游戏等都呈现出迅猛的增长势头,未来 Internet 用户的上网目的会从功能应用转向生活娱乐。10 年之后中国将有大约 4.5 亿年龄在 24 岁以下的 Internet 用户,这些用户最主要的需求是电子娱乐,而网站获得盈利的突破性应用也将来源于此。

(2)操作技术趋向简捷化。如同计算机操作系统从命令行到可视化界面的变革一样,“以人为本”的趋势要求Internet 界面对于用户来说应充分体现“所见即所得”的简单快捷,减少使用Internet的复杂度。随着人们的需求趋向简单快捷,搜索技术也将会向简单化的方向发展,人们有理由获得更便捷、更先进的搜索方式。桌面搜索将会是未来的趋势,搜索将脱离浏览器,简化人们的操作步骤。也许再过几年,很少会有人再去登录百度、Google 之类的搜索引擎去搜索资源,绝大部

分用户都将在桌面上直接进行搜索,因为浏览器跟搜索没有了任何关系,搜索将变得极其简单。如果用户发现一个内容,用鼠标单击就可以解决,则根本不用打开浏览器在地址栏里搜索。(3)基础平台趋向融合化。在网络上承载的各种业务能力集合在一起称为融合。随着业务应用的多样化与用户需求的简单化之间的矛盾日益突出,一个能够融合多种应用的业务平台成为大势所趋,这种融合的实现不仅仅是在业务上,还要在基础设施和边缘行业上。当前研究的首要热点问题是如何实现基础设施的融合。Internet 的基础设施、电信的基础设施如何更加有效地融合起来将是今后一段时间的热门话题。现在国际上已经有固定网络和移动网络融合的联盟,可以让移动用户的手机到了家里就可以连到家庭网络,变成宽带固定上网设备,这样既可以对空中的资源有效利用,又可以使固定运营商在整个业务链中得到应有的产业地位。在

业务融合中如何在产业链上正确定位是第二个热点。从产业发展来看,在基于网络的业务体系上针对网络的特点应该有一个什么样的产业环境以及政府、资本、技术、经营、市场分别起到什么样的作用将是今后面临的又一大挑战。

(4)网站服务趋向多样化。网站是 Internet 企业的载体,也是企业赢利的主要来源。经历了十多年的风雨洗礼,Internet 从业者已经认识到,为了满足用户对 Internet 业务个性化的需求,网站的建设、运营不可能再仅仅靠追求“大而全”的门户模式,而要趋向门户与专业网站并重的多元化,以满足用户的个性化需求。未来门户网站的发展方向就是真正将“门户”定位成 Internet的港口,用户不仅在门户网站中获得信息,更重要的是能通过门户网站的导航作用访问到整个Internet 的信息海洋,获得所有能想象得到的服务。例如,现在国内最主要的行业门户网站慧聪网为超过 100 万的中国企业提供商情咨询服务,每天点击量超过 1 200 万次。其主要特征是:面向专业人士而非大多数人;网上网下相结合的搜集方式,信息披露度高;符合 B2B(商家对商家)的要求,网络、刊物、搜索引擎、综合服务相结合;不欢迎非商务人士访问;提高用户信任度,“来得勤,走得快”;行业商情搜索引擎追求精、准、快;交易方式上,复杂产品以企业自销为主……未来 Internet 中的专业网站将会越来越多,在满足用户个性化需求的同时,也将对企业运营乃至整个国民经济的发展发挥巨大的作用。

提问:

1.简述家庭用户接入Internet 的基本方法和基本步骤。

2.一个好的浏览器应具有哪几个特点?

3.简述在 IE 11.0 中关闭浏览器加载图片的功能的步骤。

4.如何在 IE 11.0 中保存图片到本地硬盘?

5.列举 5 个搜索引擎的网址。

6.简述组建无线局域网络的基本步骤。

转载于:https://www.cnblogs.com/yancy9862/p/10226275.html

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值