网络基础

提示

该系列笔记主要参考《数据通信与IP网络技术》、《TCP/IP协议及应用》、《数据通信与计算机网络》、《从实践中学习TCP/IP协议》、《TCP/IP入门经典(第5版)》、《TCP/IP网络协议分析与应用》《TCP/IP详解(卷1:协议)》、《一本书读懂TCP/IP》。

定义

计算机网络至今无确切的定义,处于不同阶段或从不同角度可以给出不同的定义。

计算机网络最简单的定义是:以实现远程通信为目的,一些互连的、独立自治的计算机的集合。这里,“互连”是指各计算机之间通过有线通信信道或无线通信信道彼此交换信息,“独立自治”则强调它们之间没有明显的主从关系。按此定义,早期的面向终端的计算机系统只能称为联机系统。但随着硬件价格的下降,许多“终端”都具有一定的智能,“终端”和“自治的计算机”之间的严格界限逐渐模糊。因此,早期面向终端的计算机系统也可称为计算机网络。

随着计算机网络技术的发展,特别是计算机网络体系结构的标准化,一般认为,计算机网络应具有以下三个主要组成部分(或要素)。

① 能向用户提供服务的若干主机;

② 由一些专用的通信处理机(即通信子网中的结点交换机)和连接这些结点的通信链路所组成的一个或数个通信子网;

③ 为主机与主机、主机与通信子网,或者通信子网中各个结点之间通信而建立的一系列协议,即通信双方事先约定的、共同遵守的一组规则。

顺便指出,计算机网络与分布式系统是两个容易混淆的术语,它们确有相似之处,但两者并不等同。它们之间的主要区别是:分布式系统的用户视整个系统为一个虚拟的大系统,多台主计算机的存在对用户是透明的(transparent)。而计算机网络则不然,用户必须先在欲运行程序的计算机上登录,然后按照该计算机的网络地址,将程序通过网络传送给该计算机去运行,最后根据用户的命令将结果由运行的计算机送回用户指定的计算机。这就是说,计算机网络范围内的一切活动均需用户参与管理。由此可见,它们之间的区别不在于硬件,而在于高层软件,尤其是分布式系统的管理软件应具有高度的全局性和透明性。因此,计算机网络不一定是分布式系统,但分布式系统却是一种颇具特色的计算机网络。

分类

对计算机网络分类方法有多种,下面介绍几种常见的分类方法。

(1)不同拓扑结构的网络

拓扑结构是指网络的结构构形。按网络的拓扑结构可分为星形、树状、总线形、环形和网格形,如下图所示。

image

星形结构的结点有主从之分,各从结点之间不能直接通信,必须经主结点(或称中心结点)转接。因此,网络中的所有信息流都流经中心结点,中心结点的可靠性基本上决定了整个网络的可靠性。通常在终端较集中处,设置集中器或复用器。此时网络构形呈树状。由于集中器是智能的,其输入链路容量之和可以超过输出链路的容量。集中式网络一般采用星形和树状的结构。

总线形结构是将所有结点均连接在一条总线上,诸结点共享总线资源。

环形结构将各结点连接成一个闭合的环,数据沿环传送。为了提高环的可靠性,可采用双环结构。环形和总线形是局域网最常采用的拓扑结构。

网格形结构中的任一结点至少与其他两个结点直接相连,甚至可能是全连接的,因而它的可靠性最高。分布式网络常采用网格形结构。现有网络的主干网大多是分布式的,而非主干网则是集中式的。

(2)不同覆盖范围的网络

根据网络的地理覆盖范围可分为互联网、广域网、局域网、城域网和个人区域网。

① 互联网(Internet)。把两个或多个网络连接起来而构成的网络。因特网是目前世界上最大最典型的互联网。

② 广域网WAN(Wide Area Network)。覆盖范围通常为几十到几千千米。主干线路采用具有较高通信容量的高速链路。广域网又称远程网。

③ 城域网MAN(Metropolitan Area Network)。覆盖范围介于广域网和局域网(或校园网)之间,如一个城市所管辖的范围。其作用距离为5~50km,传输速率比局域网高。从网络的组成层次来看,城域网是广域网和局域网(校园网)的桥接区。

④ 局域网LAN(Local Area Network)。覆盖范围较小(如1km左右),一般采用微型计算机或工作站通过高速通信线路相连,其传输速率通常在10Mb/s以上。在一个校园或企业内部把多个局域网互连起来,就构成了校园网或企业网。

⑤ 个人区域网PAN(Personal Area Network),简称个域网。个域网是在个人工作区内把使用的电子设备(如便携式计算机等)用无线技术连接起来的网络,作用范围在10m左右。

对于相距很近的中央处理机(如仅1m或更短),通常称为多处理机系统,而不称为计算机网络。

(3)不同服务对象的网络

网络的服务对象可分公用和专用两种。公用网是对全社会开放,提供多种服务的网络,如国家电信部门经营的公用数据网,只要按规定缴费便可提供服务。专用网是某个部门(如军队、铁路、电力、公安、金融等)因特殊需要而建造的网络。

(4)不同通信方式的网络

目前普遍使用的通信方式有两种:广播通信方式和点到点通信方式。由此可分为以下两种类型的网络:

① 广播网络(broadcast network)。该网络只有一个信道,网络上的所有机器都共享该信道。广播网络通过采用特殊的地址编码,使得网络中的每一台机器都能接收同一报文。这种模式称为广播(broadcasting)。若仅将报文发送给一部分机器,称为多播(multicasting)。广播通信方式适用于小型网络。

② 点到点网络(point-to-point network)。该网络是由许多连接构成,每一个连接对应于一对机器。在这种网络中,一个报文由源端传送到目的端可能要经过若干台中间结点机,也可能经由不同的路径。因此,寻找到一条合适的路径非常重要。点对点通信方式适用于大型网络。

(5)把用户接入因特网的网络

把用户接入因特网的网络称为接入网AN(Access Network),又称本地接入网或居民接入网。把用户从家中接入因特网可采用多种技术。通常由因特网服务提供者ISP(Internet Service Provider)提供的接入网只是起到让用户与因特网相连接的“桥梁”作用。在因特网发展初期,多数用户是通过电话线拨号接入因特网的。近年来,出现了多种宽带接入技术,宽带接入网已成为因特网的一个热门课题。

功能及应用

功能

计算机网络的主要功能体现在以下五个方面:

(1)资源共享。共享网络资源是开发计算机网络的动机之一。网络资源包括计算机硬件、软件和数据。硬件资源包括处理机、内(外)存储器和输入输出设备等,它是共享其他资源的基础。软件资源指各种语言处理程序、服务程序和应用程序等。数据包括各种数据文件和数据库中的数据等。通过资源共享,消除了用户使用计算机资源受地理位置的限制,也避免了资源的重复设置所造成的浪费。

(2)数据通信。这是计算机网络的基本功能。计算机联网之后,为用户互通信息提供了一个公用通信平台。随着因特网在世界各地的普及,传统通信业务受到很大冲击,电子邮件、网络电话、视频会议等现代通信方式已为世人广泛接受。

(3)提高系统的可靠性。一般来说,计算机网络中的资源是重复设置的,它们分布在不同的位置上,即使发生了少量资源失效的现象,用户仍可以通过网络中的不同路由访问到所需的同类资源,因而只会导致系统的降级使用,不会出现系统瘫痪。计算机网络的资源冗余性能,大大地提高了系统的可靠性。

(4)有利于均衡负荷。计算机网络通过合理的网络管理,将某时刻处于重负荷计算机上的任务分送给轻负荷的计算机去处理,可达到均衡负荷的目的。对地域跨度大的远程网络来说,充分利用时差因素来达到均衡负荷尤为重要。

(5)提供灵活的工作环境。用户通过网络把终端连接到办公地点的计算机上,就可以在家里办公。商务人员随身携带便携式计算机外出,随时可以上网与主管部门交换销售、管理等方面的重要数据,确定商务对策。

应用

计算机网络在工业、农业、交通运输、邮电通信、文化教育、金融贸易、科学研究及国防建设等领域都得到了广泛应用。工矿企业借助计算机网络进行生产过程的检测和控制,实现管理和辅助决策;交通运输部门利用网络进行交通运输信息的收集、分析,实现运行管理和车、船、飞机调度;电信部门则利用遍及全球的通信网为用户提供快速廉价的电信服务;文化教育部门利用网络进行情报资料检索和远程教育;金融贸易部门利用网络实现范围广泛的金融贸易服务;科学研究部门利用它进行大型的科学计算;国防部门则利用计算机网络进行情报收集、跟踪、控制与指挥。计算机网络已成为信息社会的命脉和发展知识经济的重要基础,对社会发展将产生不可逆转的影响。

性能指标

计算机网络的性能是大家十分关心的问题,常用若干性能指标来度量。下面介绍几个常用的性能指标。

1.速率

速率(speed)是指计算机网络中的主机在信道上单位时间内传输的数据量。其单位为比特/秒(即b/s或bps)。当速率较高时,可用kb/s、Mb/s、Gb/s或Tb/s,其中k表示千(103),M表示兆(106),G 表示吉(109),T表示太(1012)。这里所述的速率是指额定速率或标称速率。网络的实际速率往往比额定速率要低,因为它与许多因素(如主机的处理能力、信道容量、信道的拥塞状况等)有关。本书2.2.2小节将对速率进行更详细的解释。

2.带宽

带宽(bandwidth)是指某个信号所具有的频带宽度。由信号的频谱分析可知,一个信号可能包含有不同的频率成份,因此它的带宽也就是该信号的各种不同频率成份所占用的频率范围。过去通信线路传送的是模拟信号,通信线路允许传送的信号频率范围称为线路的带宽(或通频带),单位是赫(或千赫、兆赫等)。如今网络的通信线路可传送数字信号,带宽用来表示通信线路传送数据的能力,即从网络中的某一点到另一点所能达到的最高数据传输速率,单位是比特/秒(b/s)。当速率较高时,可在此单位前加上千(k)、兆(M)、吉(G)和太(T)。

3.吞吐量

吞吐量(throughput)是指单位时间内通过某个网络(或信道、接口)的数据量,其单位是比特/秒。吞吐量常用于对某个实际网络的性能测试。吞吐量受网络带宽或额定速率的限制。例如,一个100Mb/s的以太网,其带宽(或额定速率)是100Mb/s,但典型的吞吐量可能只有70Mb/s。吞吐量有时也可用字节/秒(或帧/秒)来表示。

4.时延

时延(delay)是指数据(一个报文或分组或比特)从网络(或链路)的一端传送到另一端所需要的时间。它是一个非常重要的指标。计算机网络的时延由以下几个部分组成。 (1)发送时延(transmission delay)。发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送第一个比特开始,直到该帧的最后一个比特发送完毕所需的时间。因此发送时延也称传输时延。其计算公式是:

image

(2)传播时延(propagation delay)。传播时延是指电磁波在信道中传播一定距离所花费的时间。其计算公式是:

image

电磁波在自由空间中的传播速率为光速,即3.0×105km/s。但在网络信道中的传播速率视采用的传输介质而异,在铜线电缆中的传播速率约为2.3×105km/s,在光缆中的传播速率约为2.0×105km/s。例如,1000km长的光缆产生的传播时延约为5ms。

(3)处理时延。处理时延是指主机或网络结点(结点交换机或路由器)处理分组所花费的时间,包括对分组首部的分析、从分组提取数据部分、进行差错检验和查找合适路由等。

(4)排队时延。排队时延是指分组进入网络结点后,需先在其输入队列中排队等待处理,以及处理完毕后在输出队列排队等待转发的时间。排队时延是处理时延的重要组成部分。排队时延的长短与网络的通信量有关。当网络的通信量很大时,可能产生队列溢出,致使分组丢失,这相当于处理时延为无穷大。

综上所述,数据在网络中的总时延是上述4种时延之和,即:总时延=发送时延+传播时延+处理时延+排队时延

下图表示产生以上4种时延的示意图:

image

处理时延应视主机和路由器的处理速度而定。可见,总时延基本上取决于发送时延。

在计算机网络中,考虑到发送端与接收端的交互关系,有时要用到往返时延RTT(Round-Trip Time)这个性能指标,它表示从发送端发送数据,到发送端接收到来自接收端的确认所经历的时间。如果接收端收到数据立即发送确认,往返时延相当于传播时延的两倍。

上述吞吐量和时延都与网络负荷有关。当负荷低于网络容量时,吞吐量随输入负荷成正比例增大。当负荷接近网络容量时,由于输入负荷的到达使输入队列越来越长,分组被推迟到达终点,源点又因收不到确认而重传分组,这都使得延时和拥塞渐趋严重。当负荷超过网络容量时,因网络结点中的队列已无空位,就必须丢弃一些分组,且原来在网络传输的分组也因未能及时到达终点,源点又会重传这些分组,这都将使网络性能急剧下降。

5.时延带宽积

时延带宽积是指传播时延与带宽之乘积,即:时延带宽积=传播时延*带宽

这一概念可用一个圆柱形管道得以解释。其中,圆柱形管道代表链路,管道的长度为链路的传播时延,而管道的截面积为链路的带宽。因此,时延带宽积就相当于该管道的体积,表示链路中可以容纳的比特数。例如,设某段链路的传播时延为 20ms,带宽为 10Mb/s,则它的时延带宽积=20×10-3×10×106=2×105(b)。它表示,若发送端连续发送数据,则在发送的第一比特即将到达终点时,发送端总共已经发送了20万个比特,这20万个比特都正在链路上传输。因此,链路的时延带宽积又称为以比特为单位的链路长度。

如果发送端和接收端之间要经历若干个网络,上述时延带宽积的概念仍然适用,但管道的时延就不只是网络的传播时延,而是从发送端到接收端的所有时延之总和,包括在各个中间结点所引起的处理时延、排队时延和发送时延。

显然,对于一条正在传送数据的链路,只有在代表链路的管道都充满比特时,链路才得到了充分的利用。

6.利用率

利用率分为信道利用率和网络利用率。信道利用率是指在规定时间内信道上用于传输数据的时间比例。如果信道根本没有传输数据,那么信道利用率就为零。网络利用率则是指全网络的信道利用率的加权平均值。通常,信道利用率力求高些,但并非越高越好。这是因为随着信道利用率的增高,网络通信量也随之增大,分组在网络结点上都须排队等候处理,时延也会迅速增加。在适当的假定条件下,网络利用率可用下式表示:

image

式中,D0是网络空闲时的时延;D 是网络的当前时延;U 的数值在 0 和 1 之间。此式表明,当网络利用率达到1/2时,当前时延就要加倍。而当网络利用率接近最大值1时,当前时延就会趋近于无穷大。这说明信道利用率或网络利用率的提高都会加大时延。因此,一些拥有较大主干网的 ISP 都把信道利用率控制在 50%以内,否则就要采取扩容措施,增大线路的带宽。 除了上面这些性能指标外,计算机网络还有一些非性能指标(如费用、质量、标准化、可靠性、可扩性、可升级性和可维性等),在评估计算机网络性能时也需要考虑。