《计算机网络》阅读笔记(一)——计算机网络概述

第一章 计算机网络概述

1.1 计算机网络在信息时代中的作用

21 世纪的一些重要特征就是数字化网络化信息化,现在的时代是一个以网络为核心的信息时代

网络已成为信息社会的命脉和发展知识经济的重要基础,网络是指下列“三网”:

  • 电信网络:向用户提供电话、电报及传真等服务;
  • 有线电视网络:向用户传送各种电视节目;
  • 计算机网络:使用户能够在计算机之间传送数据文件,发展最快的并起到核心作用的也是计算机网络。

互联网之所以能够向用户提供许多服务,就是因为互联网具有以下两个重要基本特点:

  • 连通性(connectivity):就是互联网使上网用户之间,不管相距多远(例如,相距数千公里),都可以非常便捷、非常经济(在很多情况下甚至是免费的)地交换各种信息(数据,以及各种音频视频),好像这些用户终端都彼此直接连通一样。但应注意,互联网具有虚拟的特点,例如,当你从互联网上收到一封电子邮件时,你可能无法准确知道对方是谁(朋友还是骗子),也无法知道发信人的地点(在附近,还是在地球对面);
  • 共享:就是指资源共享,资源共享的含义是多方面的,可以是信息共享、软件共享,也可以是硬件共享,由于网络的存在,这些资源好像就在用户身边一样地方便使用。

互联网+”是指“互联网+各个传统行业”,我们可以利用信息通信技术和互联网平台来创造新的发展生态,实际上“互联网+”代表一种新的经济形态,其特点就是把互联网的创新成果深度融合于经济社会各领域之中,这就大大地提升了实体经济的创新力和生产力。

1.2 互联网概述

1.2.1 网络的网络

计算机网络(简称为网络)由若干结点(node)和连接这些结点的链路(link)组成,网络中的结点可以是计算机、集线器、交换机或路由器等。下图给出了一个具有四个结点和三条链路的网络,我们可以看到,有三台计算机通过三条链路连接到一个集线器上,构成了一个简单的计算机网络,而且在很多情况下,我们可以用一朵云表示一个网络,这样做的好处是可以不去关心网络中的相当复杂的细节问题,因而可以集中精力研究涉及到与网络互连有关的一些问题:
在这里插入图片描述
我们可以看到,在上图中,网络之间还可以通过路由器互连起来,这就构成了一个覆盖范围更大的计算机网络,这样的网络称为互连网(internetwork或internet),因此互连网是“网络的网络”(network of networks),需要注意的是,这里是互连网,不是互联网,在之后会有解释。

网络把许多计算机连接在一起,而互连网则把许多网络通过路由器连接在一起,与网络相连的计算机常称为主机。现在由于智能手机中有中央处理机CPU,因此也可以把连接在计算机网络上的智能手机称为主机。

还有一点也必须注意,就是网络互连并不是把计算机仅仅简单地在物理上连接起来,因为这样做并不能达到计算机之间能够相互交换信息的目的,我们还必须在计算机上安装许多使计算机能够交换信息的软件才行,因此当我们谈到网络互连时,就隐含地表示在这些计算机上已经安装了适当的软件,因而在计算机之间可以通过网络交换信息。

1.2.2 互联网基础结构发展的三个阶段

第一阶段是从单个网络ARPANET向互连网发展的过程,我们需要注意以下两个意思相差很大的名词Internet和internet:

  • 以大写字母I开始的Internet(互联网或因特网)是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,它采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET;
  • 以小写字母i开始的internet (互连网)则是一个通用名词,它泛指由多个计算机网络互连而成的计算机网络,在这些网络之间的通信协议(即通信规则)可以任意选择,不一定非要使用TCP/IP协议,任意把几个计算机网络相互连接起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网(internet),而不是互联网(Internet)。

第二阶段是建成了三级结构的互联网,分为主干网地区网校园网或企业网

第三阶段是逐渐形成了多层次ISP结构的互联网,ISP(Internet Service Provider)是指互联网服务提供者,在许多情况下,ISP就是一个进行商业活动的公司,因此ISP又常译为互联网服务提供商,例如,中国电信、中国联通和中国移动等公司都是我国最有名的ISP。

ISP可以从互联网管理机构申请到很多IP地址(互联网上的主机都必须有IP地址才能上网),同时拥有通信线路(大ISP自己建造通信线路,小ISP则向电信公司租用通信线路)以及路由器等连网设备,因此任何机构和个人只要向某个ISP交纳规定的费用,就可从该ISP获取所需IP地址的使用权,并可通过该ISP接入到互联网。所谓“上网”就是指通过某ISP获得的IP地址接入到互联网,IP地址的管理机构不会把一个单个的IP地址分配给单个用户(不“零售”IP地址),而是把一批IP地址有偿租赁给经审查合格的ISP(只“批发”IP地址),由此可见,现在的互联网已不是某个单个组织所拥有而是全世界无数大大小小的ISP所共同拥有的。

根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP 也分为不同层次的ISP:

  • 主干ISP:由几个专门的公司创建和维持,服务面积最大(一般都能够覆盖国家范围),并且还拥有高速主干网(例如10 Gbit/s或更高),有一些地区ISP 网络也可直接与主干ISP相连;
  • 地区ISP:是一些较小的ISP,这些地区ISP通过一个或多个主干ISP连接起来,它们位于等级中的第二层,数据率也低一些;
  • 本地ISP:给用户提供直接的服务(这些用户有时也称为端用户,强调是末端的用户),绝大多数的用户都是连接到本地ISP的,而本地ISP可以连接到地区ISP,也可直接连接到主干ISP。本地ISP可以是一个仅仅提供互联网服务的公司,也可以是一个拥有网络并向自己的雇员提供服务的企业,或者是一个运行自己的网络的非营利机构(如学院或大学)。

下图是具有三层ISP结构的互联网的概念示意图,但这种示意图并不表示各ISP的地理位置关系,图中还给出了主机A经过许多不同层次的ISP与主机B通信的示意图:
在这里插入图片描述
从原理上讲,只要每一个本地ISP都安装了路由器连接到某个地区ISP,而每一个地区ISP也有路由器连接到主干ISP那么在这些相互连接的ISP的共同合作下,就可以完成互联网中的所有的分组转发任务。但随着互联网上数据流量的急剧增长,人们开始研究如何更快地转发分组,以及如何更加有效地利用网络资源,于是,互联网交换点IXP(Internet Exchange Point)就应运而生了。

互联网交换点IXP的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组,例如,在上图中右方的两个地区ISP通过一个IXP连接起来了,这样,主机A和主机B交换分组时,就不必再经过最上层的主干ISP, 而是直接在两个地区ISP之间用高速链路对等地交换分组,这样就使互联网上的数据流量分布更加合理,同时也减少了分组转发的迟延时间,降低了分组转发的费用。

现在许多IXP在进行对等交换分组时,都互相不收费,但本地ISP或地区ISP通过IXP向高层的IXP转发分组时,则需要交纳一定的费用。

IXP的结构非常复杂,典型的IXP由一个或多个网络交换机组成,许多ISP再连接到这些网络交换机的相关端口上,IXP常采用工作在数据链路层的网络交换机,这些网络交换机都用局域网互连起来。

1.2.3 互联网的标准化工作

互联网的标准化工作对互联网的发展起到了非常重要的作用,缺乏国际标准将会使技术的发展处于比较混乱的状态,而盲目自由竞争的结果很可能形成多种技术体制并存且互不兼容的状态,给用户带来较大的不方便。

所有的互联网标准都是以RFC的形式在互联网上发表的,RFC(Request For Comments)的意思就是“请求评论”,所有的RFC文档都可从互联网上免费下载,而且任何人都可以用电子邮件随时发表对某个文档的意见或建议

但应注意,并非所有的RFC文档都是互联网标准,互联网标准的制定往往要花费漫长的时间,并且是一件非常慎重的工作,只有很少部分的RFC文档最后能变成互联网标准。RFC文档按发表时间的先后编上序号(即RFC xxxx,这里的xxxx是阿拉伯数字),一个RFC文档更新后就使用一个新的编号,并在文档中指出原来老编号的RFC文档已成为陈旧的或被更新,但陈旧的RFC文档并不会被删除,而是永远保留着,供用户参考。

制定互联网的正式标准要经过以下三个阶段:

  • 互联网草案(Internet Draft):互联网草案的有效期只有六个月,在这个阶段还不能算是RFC文档;
  • 建议标准(Proposed Standard):从这个阶段开始成为RFC文档;
  • 互联网标准(Internet Standard):达到正式标准后,每个标准就分配到一个编号STD xx,
    一个标准可以和多个RFC文档关联。

1.3 互联网的组成

互联网的拓扑结构虽然非常复杂,并且在地理上覆盖了全球,但从其工作方式上看,可以划分为以下两大块:

  • 边缘部分:由所有连接在互联网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享;
  • 核心部分:由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连通性和交换):
    在这里插入图片描述

1.3.1 互联网的边缘部分

处在互联网边缘的部分就是连接在互联网上的所有的主机,这些主机又称为端系统(end system),“端”就是“末端”的意思(即互联网的末端),边缘部分利用核心部分所提供的服务,使众多主机之间能够互相通信并交换或共享信息。

“主机A和主机B进行通信”,实际上是指“运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信”,由于“进程”就是“运行着的程序”,因此这也就是指“主机A的某个进程和主机B上的另一个进程进行通信”,这种比较严密的说法通常可以简称为“计算机之间通信”。

在网络边缘的端系统之间的通信方式通常可划分为两大类:

  • 客户/服务器方式(C/S方式);
  • 对等方式(P2P方式)。

1.3.1.1 客户/服务器方式

客户(client)和服务器(server)都是指通信中所涉及的两个应用进程,客户/服务器方式所描述的是进程之间服务和被服务的关系,在下图中,主机A运行客户程序而主机B运行服务器程序,在这种情况下,A是客户而B是服务器,客户A向服务器B发出服务请求,而服务器B向客户A提供服务:
在这里插入图片描述

客户/服务器方式最主要的特征就是:客户是服务请求方,服务器是服务提供方。但需要注意的是,服务请求方和服务提供方都要使用网络核心部分所提供的服务

在实际应用中,客户程序和服务器程序通常还具有以下一些主要特点:

  • 客户程序

    1. 被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务),因此,客户程序必须知道服务器程序的地址

    2. 不需要特殊的硬件和很复杂的操作系统

  • 服务器程序

    1. 是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求

    2. 系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求,因此,服务器程序不需要知道客户程序的地址

    3. 一般需要有强大的硬件和高级的操作系统支持

需要注意的是,客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据

顺便要说一下,上面所说的客户和服务器本来都指的是计算机进程(软件), 使用计算机的人是计算机的“用户”(user)而不是“客户”(client), 但在许多国外文献中,经常也把运行客户程序的机器称为client(在这种情况下也可把client 译为“客户机"),把运行服务器程序的机器称为server。 因此我们应当根据上下文来判断client或server是指软件还是硬件。通常在表示机器时,我们也使用“客户端"(或“客户机”)或“服务器端”(或服务器)来表示“运行客户程序的机器”或“运行服务器程序的机器”。

1.3.1.2 对等方式

对等连接(peer-to-peer, 简写为P2P)是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方,只要两台主机都运行了对等连接软件(P2P软件),它们就可以进行平等的对等连接通信,这时,双方都可以下载对方已经存储在硬盘中的共享文档。

在下图中,主机C,D,E和F都运行了P2P软件,因此这几台主机都可进行对等通信(如C和D,E和F,以及C和F),实际上,对等连接方式从本质上看仍然是使用客户/服务器方式,只是对等连接中的每一台主机既是客户又同时是服务器,例如主机C,当C请求D的服务时,C是客户,D是服务器,但如果C又同时向F提供服务,那么C又同时起着服务器的作用:
在这里插入图片描述

1.3.2 互联网的核心部分

互联网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在互联网的边缘部分,在互联网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。此外,通信网络的主干线路也往往由一些高速链路构成,这样就可以以较高的数据率迅速地传送计算机数据。

网络核心部分是互联网中最复杂的部分,网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据),在网络核心部分起特殊作用的是路由器(router),路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

1.3.2.1 电路交换

在了解什么是分组交换之前,我们先来看一看什么是电路交换(circuit switching),下面给出一张电话机的不同连接方式的示意图:
在这里插入图片描述
我们从图中可以看到,2部电话机相连,需要1对电线,5部电话机相连,需要10对电线, N部电话机相连,需要N(N-1)/2对电线, 当电话机的数量很大时,这种连接方法需要的电线对的数量与电话机数的平方成正比。所以,要使得每一部电话能够很方便地和另一部电话进行通信,就应当使用电话交换机将这些电话连接起来,如上图(c)所示,每一部电话都连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信

在电路交换中,交换(switching)的含义就是转接,也就是把一条电话线转接到另一条电话线,使它们连通起来,而从通信资源的分配角度来看,就是按照某种方式动态地分配传输线路的资源

在使用电路交换通话之前,必须先拨号请求建立连接,当被叫用户听到交换机送来的振铃音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路,这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用,此后主叫和被叫双方就能互相通电话,通话完毕挂机后,交换机释放刚才使用的这条专用的物理通路(即把刚才占用的所有通信资源归还给电信网)。

这种必须经过建立连接(占用通信资源)→通话(一直占用通信资源)→释放连接(归还通信资源)三个步骤的交换方式称为电路交换,需要注意的是,如果用户在拨号呼叫时电信网的资源已不足以支持这次的呼叫,则主叫用户会听到忙音,表示电信网不接受用户的呼叫,用户必须挂机,等待一段时间后再重新拨号。

下图为电路交换的示意图,应当注意的是,用户线是电话用户到所连接的交换机的连接线路,是用户独占的传送模拟信号的专用线路,而交换机之间拥有大量话路的中继线(这些传输线路早已都数字化了)则是许多用户共享的,正在通话的用户只占用了中继线里面的一个话路在这里插入图片描述
电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源,而当使用电路交换来传送计算机数据时,其线路的传输效率往往很低,这是因为计算机数据是突发式地出现在传输线路上的,因此线路上真正用来传送数据的时间往往不到10%甚至1%,已被用户占用的通信线路资源在绝大部分时间里都是空闲的,这就造成了通信线路资源的大量浪费,所以我们接下来介绍传送计算机数据时所用到的传输方式——分组交换。

1.3.2.2 分组交换

分组交换采用存储转发技术,通常我们把发送的整块数据称为一个报文(message),把一个报文进行分割,分割为等长的小数据段,在每一个小数据段前面加上必要的控制信息组成的首部(header)后,就构成一个分组 (packet),分组又称为“包”,而分组的首部也称为“包头”,分组是在互联网中进行传送的数据单元,分组中的“首部”是非常重要的,正是由于分组的首部包含了目的地址、源地址以及编号等重要的控制信息,每一个分组才能够在网络中独立的选择传输路径,并在被正确地交付到分组传输的终点后,所有的分组在一起被完整地还原为本来的信息,下图给出了分组交换的示意图:
在这里插入图片描述
位于网络边缘的主机和位于网络核心部分的路由器都是计算机,但它们的作用却很不一样,主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息,而路由器则是用来转发分组的,即进行分组交换的

路由器处理分组的过程是:

  1. 把收到的分组先放入缓存(暂时存储);
  2. 检查分组首部,按照首部中的目的地址,查找转发表,找出到某个目的地址应从哪个端口转发;
  3. 把分组送到适当的端口转发出去,分组被交给下一个路由器。

如此循环,一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。需要注意的是,各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新

当我们讨论互联网的核心部分中的路由器转发分组的过程时,往往把单个的网络简化成一条链路,而路由器成为核心部分的结点,如下图所示:
在这里插入图片描述
这里要注意,路由器暂时存储的是一个个短分组,而不是整个的长报文,且短分组是暂存在路由器的存储器(即内存)中而不是存储在磁盘中的,这就保证了较高的交换速率。在上图中只画了一对主机H1和H5在进行通信,实际上,互联网可以容许非常多的主机同时进行通信,而一台主机中的多个进程(即正在运行中的多个程序)也可以各自和不同主机中的不同进程进行通信。

从以上所述可知,分组交换在传送数据之前不必先占用一条端到端的链路的通信资源,分组在哪段链路上传送才占用这段链路的通信资源,分组到达一个路由器后,先暂时存储下来,查找转发表,然后从一条合适的链路转发出去,分组在传输时就这样一段一段地断续占用通信资源,而且还省去了建立连接和释放连接的开销,因而数据的传输效率更高。采用存储转发的分组交换,实质上是采用了在数据通信的过程中断续(或动态)分配传输带宽的策略,这对传送突发式的计算机数据非常合适,使得通信线路的利用率大大提高了。

互联网还采取了专门的措施,保证了数据的传送具有非常高的可靠性,当网络中的某些结点或链路突然出现故障时,在各路由器中运行的路由选择协议(protocol)能够自动找到转发分组最合适的路径。而且,为了提高分组交换网的可靠性,互联网的核心部分常采用网状拓扑结构,使得当发生网络拥塞或少数结点、链路出现故障时,路由器可灵活地改变转发路由而不致引起通信的中断或全网的瘫痪。

分组交换也带来一些新的问题。例如,分组在各路由器存储转发时需要排队,这就会造成一定的时延,因此,必须尽量设法减少这种时延。此外,由于分组交换不像电路交换那样通过建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽。还有,分组交换时各分组必须携带的控制信息也造成了一定的开销(overhead),以及整个分组交换网还需要专门的管理和控制机制

1.3.2.3 电路交换和分组交换的总结

优点 缺点
电路交换 ①连接建立后,数据以固定的传输率被传输,传输延迟小;②由于物理线路被单独占用,因此不可能发生冲突;③适用于实时大批量连续的数据传输 ①建立连接将跨多个设备或线缆,则会需要花费很长的时间;②连接建立后,由于线路是专用的,即使空闲,也不能被其它设备使用造成一定的浪费; ③对通信双方而言,必须做到双方的收发速度、编码方法、信息格式和传输控制等一致才能完成通信
分组交换 高效:动态分配传输带宽,对通信链路是逐段占用;②灵活:以分组为传送单位和查找路由;③迅速:不必先建立连接就能向其他主机发送分组;④可靠:保证可靠性的网络协议,分布式的路由选择协议使网络有很好的生存性。 时延:分组在各结点存储转发时需要排队,这就会造成一定的时延;②无法确保通信时端到端所需的带宽;③开销:分组必须携带的首部(控制信息)造成了一定的开销;④整个分组交换网需要专门的管理和控制机制

需要注意的是,断续分配传输带宽的存储转发原理并非是完全新的概念,在20世纪40年代,电报通信也采用了基于存储转发原理的报文交换(message switching), 报文交换的时延较长,从几分钟到几小时不等,现在报文交换已经很少有人使用了,我们可以通过下图大概地了解三种交换方式它们的差异:
在这里插入图片描述

  • 电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送,若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快
  • 报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点,不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率;
  • 分组交换:单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点,不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率,但由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

1.4 计算机网络的类别

1.4.1 计算机网络的定义

计算机网络的精确定义并未统一,关于计算机网络的较好的定义是这样的:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号),这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用

根据这个定义:

  1. 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机;
  2. 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用);
  3. “可编程的硬件”表明这种硬件一定包含有中央处理机CPU。

1.4.2 几种不同类别的计算机网络

  • 按照网络的作用范围进行分类:

    1. 广域网WAN(Wide Area Network):广域网的作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network),广域网是互联网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据,连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量;

    2. 城域网MAN(Metropolitan Area Network):城域网的作用范围一般是一个城市,可跨越几个街区甚至整个城市,其作用距离约为5 ~ 50 km,城域网可以为一个或几个单位所拥有,但也可以是一种公用设施,用来将多个局域网进行互连,目前很多城域网采用的是以太网技术,因此有时也常并入局域网的范围进行讨论;

    3. 局域网LAN(Local Area Network):局域网一般用微型计算机或工作站通过高速通信线路相连(速率通常在10 Mbit/s 以上),但地理上则局限在较小的范围(如1 km左右),在局域网发展的初期,一个学校或工厂往往只拥有一个局域网,但现在局域网已非常广泛地使用,学校或企业大都拥有许多个互连的局域网(这样的网络常称为校园网或企业网);

    4. 个人区域网PAN(Personal Area Network):个人区域网就是在个人工作的地方把属于个人使用的电子设备(如便携式电脑等)用无线技术连接起来的网络,因此也常称为无线个人区域网WPAN(Wireless PAN),其范围很小,大约在10 m左右。

  • 按照网络的使用者进行分类:

    1. 公用网(public network):是电信公司(国有或私有)出资建造的大型网络,“公用”的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络,因此公用网也可称为公众网

    2. 专用网(private network):是某个部门为满足本单位的特殊业务工作的需要而建造的网络,这种网络不向本单位以外的人提供服务,例如,军队、铁路、银行、电力等系统均有本系统的专用网。

计算机网络有多种类别,以上仅是两种不同分类方式所划分的类别,我们还需了解一种特殊的网络,这种网络就是接入网AN(Access Network), 它又称为本地接入网居民接入网,是用来把用户接入到互联网的网络。由于从用户家中接入到互联网可以使用的技术有许多种,因此就出现了可以使用多种接入网技术连接到互联网的情况。接入网本身既不属于互联网的核心部分,也不属于互联网的边缘部分,接入网是从某个用户端系统到互联网中的第一个路由器(也称为边缘路由器之间的一种网络。从覆盖的范围看,很多接入网还属于局域网。从作用上看,接入网只是起到让用户能够与互联网连接的“桥梁”作用。在互联网发展初期,用户多用电话线拨号接入互联网,速率很低(每秒几千比特到几十千比特),因此那时并没有使用接入网这个名词,直到最近,由于出现了多种宽带接入技术,宽带接入网才成为互联网领域中的一个热门课题。

1.5 计算机网络的性能

1.5.1 计算机网络的性能指标

性能指标从不同的方面来度量计算机网络的性能,下面介绍常用的七个性能指标:

  • 速率:网络技术中的速率指的是数据的传送速率,它也称为数据率(data rate)或比特率(bit rate),是计算机网络中最重要的一个性能指标。速率的单位是bit/s(比特每秒)或b/s,有时也写为bps,即bit per second,当数据率较高时,就常常在bit/s的前面加上一个字母,如kb/s,Mb/s,Gb/s 等。另外要注意的是,当提到网络的速率时,往往指的是额定速率或标称速率,而并非网络实际上运行的速率

  • 带宽:带宽(bandwidth)有以下两种不同意义:

    1. 带宽本来是指某个信号具有的频带宽度,而信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围,单位是赫(或千赫、兆赫、吉赫等)。在过去很长的一段时间,通信的主干线路传送的是模拟信号(即连续变化的信号),因此,表示某信道允许通过的信号频带范围就称为该信道的带宽(或通频带)。

    2. 在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率”,这种意义的带宽的单位就是数据率的单位bit/s,是“比特每秒”。

    在“带宽”的上述两种表述中,前者为频域称谓,而后者为时域称谓,其本质是相同的,也就是说,一条通信链路的“带宽"越宽,其所能传输的“最高数据率”也越高

  • 吞吐量:吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的实际的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。显然,吞吐量受网络的带宽或网络的额定速率的限制。需要注意的是,有时吞吐量还可用每秒传送的字节数或帧数来表示。

  • 时延:时延(delay或latency)是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间,有时也被称为延迟迟延。网络中的时延由以下几个不同的部分组成:

    1. 发送时延:发送时延(transmission delay)是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
      在这里插入图片描述

    2. 传播时延:传播时延(propagation delay)是电磁波在信道中需要传播一定的距离而花费的时间。需注意,发送时延与传播时延有本质上的不同, 信号发送速率和信号在信道上的传播速率是完全不同的概念。
      在这里插入图片描述

    3. 处理时延:处理时延是主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间

    4. 排队时延:分组在经过网络传输时,要经过许多路由器,但分组在进入路由器后要先在输入队列中排队等待处理,在路由器确定了转发接口后,还要在输出队列中排队等待转发,也就是说,排队时延就是分组在路由器输入输出队列中排队等待处理所经历的时间。排队时延的长短往往取决于网络当时的通信量,当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大。

    这样,数据在网络中经历的总时延就是以上四种时延之和:
    在这里插入图片描述
    在这里插入图片描述
    一般说来,小时延的网络要优于大时延的网络,在某些情况下,一个低速率、小时延的网络很可能要优于一个高速率但大时延的网络。

    需要注意的是,在总时延中,究竟是哪一种时延占主导地位,必须具体分析,不能笼统地认为:“数据的发送速率越高,其传送的总时延就越小”,更不能说: “在高速链路(或高带宽链路)上,比特会传送得更快些”。对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率,提高数据的发送速率只是减小了数据的发送时延

  • 时延带宽积:链路的时延带宽积又称为以比特为单位的链路长度
    在这里插入图片描述

  • 往返时间:互联网上的信息不仅仅单方向传输,而是双向交互的,因此,有时需要知道双向交互一次所需的时间。往返时间RTT(Round-Trip Time)表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。 在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。当使用卫星通信时,往返时间相对较长,是很重要的一个性能指标。

  • 利用率:网络利用率有两种,分别是:信道利用率、网络利用率, 信道利用率指出某信道有百分之几的时间是被利用的(有数据通过),信道利用率越高,说明网络越繁忙,完全空闲的信道的利用率是零,网络利用率则是全网络的信道利用率的加权平均值。

    当某信道的利用率增大时,该信道引起的时延也就迅速增加,若令D0表示网络空闲时的时延,D表示网络当前的时延,则在适当的假定条件下,可以用下面的简单公式表示D和D0之间的关系:
    在这里插入图片描述
    在这里插入图片描述
    由上图可知,当网络的利用率达到其容量的1/2时,时延就要加倍,当网络的利用率接近最大值1时,网络的时延就趋于无穷大,因此我们必须有这样的概念:信道或网络的利用率过高会产生非常大的时延。因此一些拥有较大主干网的ISP通常控制信道利用率不超过50%。如果超过了就要准备扩容,增大线路的带宽。

1.5.2 计算机网络的非性能特征

计算机网络还有一些非性能特征也很重要,这些非性能特征与前面介绍的性能指标有很大的关系,下面简单地加以介绍:

  • 费用:网络的价格(包括设计和实现的费用)总是必须考虑的,因为网络的性能与其价格密切相关,一般说来,网络的速率越高,其价格也越高。

  • 质量:网络的质量取决于网络中所有构件的质量,以及这些构件是怎样组成网络的。网络的质量影响到很多方面,如网络的可靠性、网络管理的简易性,以及网络的一些性能,但网络的性能与网络的质量并不是一回事。

  • 标准化:网络的硬件和软件的设计既可以按照通用的国际标准,也可以遵循特定的专用网络标准,不过最好采用国际标准的设计,这样可以得到更好的互操作性,更易于升级换代和维修,也更容易得到技术上的支持。

  • 可靠性:可靠性与网络的质量和性能都有密切关系,高速网络的可靠性不一定很差,但高速网络要可靠地运行,则往往更加困难,同时所需的费用也会较高。

  • 可扩展性和可升级性:在构造网络时就应当考虑到今后可能会需要扩展(即规模扩大)和升级(即性能和版本的提高),网络的性能越高,其扩展费用往往也越高,难度也会相应增加。

  • 易于管理和维护:网络如果没有良好的管理和维护,就很难达到和保持所设计的性能。

1.6 计算机网络体系结构

1.6.1 计算机网络体系结构的形成

计算机网络是个非常复杂的系统,为了说明这一点,可以设想一种最简单的情况:连接在网络上的两台计算机要互相传送文件,显然,在这两台计算机之间必须有一条传送数据的通路,但这还远远不够,至少还有以下几项工作需要去完成:

  1. 发起通信的计算机必须将数据通信的通路进行激活(activate),所谓“激活”就是要发出一些信令,保证要传送的计算机数据能在这条通路上正确发送和接收;

  2. 要告诉网络如何识别并找到接收数据的计算机

  3. 发起通信的计算机必须查明对方计算机是否已开机,并且与网络连接正常

  4. 发起通信的计算机中的应用程序必须弄清楚,在对方计算机中的文件管理程序是否已做好接收文件和存储文件的准备工作

  5. 若计算机的文件格式不兼容,则至少其中一台计算机应完成格式转换功能

  6. 对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个结点交换机出现故障等,应当有可靠的措施保证对方计算机最终能够收到正确的文件

由此可见,相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的,为了设计这样复杂的计算机网络,早在最初的ARPANET设计时即提出了分层的方法,“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

随着全球经济的发展,不同网络体系结构的用户迫切要求能够互相交换信息,为了使不同体系结构的计算机网络都能互连,国际标准化组织ISO提出了一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model),简称为OSI,“开放”是指非独家垄断的,因此只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。

OSI试图达到一种理想境界,即全球计算机网络都遵循这个统一标准,因而全球的计算机将能够很方便地进行互连和交换数据,但是OSI只获得了一些理论研究的成果,在市场化方面事与愿违地失败了,现今规模最大的、覆盖全球的、基于TCP/IP的互联网并未使用OSI标准

OSI失败的原因可归纳为:

  1. OSI的专家们缺乏实际经验,他们在完成OSI标准时缺乏商业驱动力

  2. OSI的协议实现起来过分复杂,而且运行效率很低;

  3. OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场;

  4. OSI的层次划分不太合理,有些功能在多个层次中重复出现。

按照一般的概念,网络技术和设备只有符合有关的国际标准才能大范围地获得工程上的应用,但现在情况却反过来了,得到最广泛应用的不是法律上的国际标准OSI,而是非国际标准TCP/IP, 这样,TCP/IP就常被称为是事实上的国际标准,从这种意义上说,能够占领市场的就是标准

1.6.2 协议与划分层次

在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,这些规则明确规定了所交换的数据的格式以及有关的同步问题,这里所说的同步不是狭义的(即同频或同频同相)而是广义的,即在一定的条件下应当发生什么事件(例如,应当发送一个应答信息),因而同步含有时序的意思

这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(network protocol),网络协议也可简称为协议, 网络协议主要由以下三个要素组成:

  • 语法,即数据与控制信息的结构或格式;

  • 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;

  • 同步,即事件实现顺序的详细说明。

网络协议是计算机网络不可缺少的组成部分,任何网络通信,都必须要有协议,只要我们想让连接在网络上的另一台计算机做点什么事情(例如,从网络上的某台主机下载文件),我们都需要有协议,但是当我们经常在自己的个人电脑上进行文件存盘操作时,就不需要任何网络协议,除非这个用来存储文件的磁盘是网络上的某个文件服务器的磁盘。

协议通常有以下两种不同的形式,这两种不同形式的协议都必须能够对网络上的信息交换过程做出精确的解释:

  • 便于人来阅读和理解的文字描述,如RFC文档;

  • 让计算机能够理解的程序代码

ARPANET的研究经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的,即协议应该采用分层设计,我们可以举一个简单的例子来说明划分层次的概念。

现在假定我们在主机1和主机2之间通过一个通信网络传送文件,这是一项比较复杂的工作,需要做不少的工作,我们可以将要做的工作划分为三类:

  1. 文件传送:该工作与传送文件直接有关,例如,发送端的文件传送应用程序应当确信接收端的文件管理程序已做好接收和存储文件的准备,以及若两台主机所用的文件格式不一样,则至少其中的一台主机应完成文件格式的转换,这两项工作可用一个文件传送模块来完成;

  2. 通信服务:为了避免让文件传送模块完成全部工作的细节而使得文件传送模块过于复杂,可以再设立一个通信服务模块,用来保证文件传送模块中的文件和文件传送命令可靠地在两个系统之间交换;

  3. 网络接入:构造一个网络接入模块,让这个模块负责做与网络接口细节有关的工作,并向上层提供服务,使上面的通信服务模块能够完成可靠通信的任务。

在上述工作中,两台主机将文件传送模块作为最高的层,文件传送模块利用下面的通信服务模块所提供的服务,而通信服务模块则利用下面的网络接入模块所提供的服务,下图是上述工作的示意图:
在这里插入图片描述
在上述简单例子中,可以看到分层带来的很多好处:

  • 各层之间是独立的:某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供的服务,由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题,这样,整个问题的复杂程度就下降了;

  • 灵活性好:当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响,此外,对某一层提供的服务还可进行修改,当某层提供的服务不再需要时,甚至可以将这层取消;

  • 结构上可分割开:各层都可以采用最合适的技术来实现;

  • 易于实现和维护:这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统;

  • 能促进标准化工作:每一层的功能及其所提供的服务都已有了精确的说明。

分层当然也有一些缺点:

  • 降低效率

  • 有些功能会在不同的层次中重复出现,因而产生了额外开销

分层时应注意使每一层的功能非常明确,同时要注意层数必须适当,若层数太少,就会使每一层的协议太复杂,但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难,通常各层所要完成的功能主要有以下一些(每层可以只包括一种,也可以包括多种):

  • 差错控制:使相应层次对等方的通信更加可靠;

  • 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快;

  • 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原;

  • 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用;

  • 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。

计算机网络的各层及其协议的集合就是网络的体系结构(architecture),换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义,需要强调的是,这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现(implementation)的问题,我们不能把一个具体的计算机网络说成是一个抽象的网络体系结构,因为,体系结构是抽象的,而实现则是具体的,是真正在运行的计算机件和软件

1.6.3 具有五层协议的体系结构

OSI的七层协议体系结构的概念清晰,理论完整,但是既复杂又不实用,TCP/IP的四层协议体系结构应用广泛,得到了网络厂商的支持和实现, 但是最下层的网络接口层没有具体内容,故在学习网络协议的体系结构时采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构来学习,这种五层协议的体系结构既简洁又能将概念阐述清楚,但需注意的是,五层协议的体系结构只是为学习网络原理而设计的,实际应用还是TCP/IP四层体系结构,下图是三种计算机网络体系结构的示意图:
在这里插入图片描述
现在结合互联网的情况,自上而下地、非常简要地介绍一下各层的主要功能:

  • 应用层(application layer):应用层是体系结构中的最高层,应用层的任务是通过应用进程间的交互来完成特定网络应用,应用层协议定义的是应用进程间通信和交互的规则,这里的进程就是指主机中正在运行的程序。

    对于不同的网络应用需要有不同的应用层协议,在互联网中的应用层协议有很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等。

    我们把应用层交互的数据单元称为报文(message)。

  • 运输层(transport layer):运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务,应用进程则利用该服务传送应用层报文,所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。

    由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能,复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。

    运输层主要使用以下两种协议:

    1. 传输控制协议TCP(Transmission Control Protocol):提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment);

    2. 用户数据报协议UDP(User Datagram Protocol):提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报

  • 网络层(network layer):网络层负责为分组交换网上的不同主机提供通信服务,在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包(packet)进行传送,在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报,在这里把“分组”和“数据报”作为同义词使用。

    需要注意的是,不可将运输层的“用户数据报UDP”和网络层的“IP数据报”弄混,此外,无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。

    网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机

    互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的,互联网使用的网络层协议是无连接的网际协议IP(Internet Protocol)和许多种路由选择协议,因此互联网的网络层也叫做网际层IP层

  • 数据链路层(data link layer):数据链路层常简称为链路层。

    两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。

    在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(frame),在两个相邻结点间的链路上传送帧,每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。

    在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束,这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。

    控制信息还使接收端能够检测到所收到的帧中有无差错,如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源,如果需要改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,而且要纠错),那么就要采用可靠传输协议来纠正出现的差错,这种方法会使数据链路层的协议复杂些。

  • 物理层(physical layer):在物理层上所传数据的单位是比特,发送方发送1(或0)时,接收方应当收到1(或0)而不是0(或1),因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特,而解释比特代表的意思,并不是物理层的任务

    物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接

    需注意的是,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面,因此也有人把物理层下面的物理媒体当作第0层

在互联网所使用的各种协议中,最重要的和最著名的就是TCP和IP两个协议,但现在人们经常提到的TCP/IP并不一定是单指TCP和IP这两个具体的协议,而往往是表示互联网所使用的整个TCP/IP协议族(protocol suite) 。

接下来通过一个简单的例子来说明应用进程的数据在各层之间的传递过程中所经历的变化,假定两台主机通过一台路由器连接起来,主机1的应用进程AP1向主机2的应用进程AP2传送数据:
在这里插入图片描述

  1. AP1将其数据交给本主机的第5层(应用层),第5层加上必要的控制信息H5变成了第4层的数据单元,第4层(运输层)收到这个数据单元后,加上本层的控制信息H4,再交给第3层(网络层),成为第3层的数据单元,依此类推,不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H2)和尾部(T2),而第1层(物理层)由于是比特流的传送,所以不再加上控制信息,需要注意的是,传送比特流时应从首部开始传送

  2. 比特流离开主机1经网络的物理媒体传送到路由器,从路由器的第1层依次上升到第3层,每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层,当分组上升到了第3层时,就根据首部中的目的地址查找路由器中的转发表,找出转发分组的接口,然后往下传送到第2层,加上新的首部和尾部后,再到最下面的第1层,然后在物理媒体上把每一个比特发送出去;

  3. 比特流离开路由器到达目的站主机2,从主机2的第1层按照类似上述的方式,依次上升到第5层,最后,把应用进程AP1发送的数据交给目的站的应用进程AP2。

在上述过程中,OSI参考模型把对等层次之间传送的数据的单位称为该层的协议数据单元PDU(Protocol Data Unit),这个名词也被许多非OSI模型所采用,需要注意的是,协议数据单元并不是数据单元,某一层的数据单元加上控制信息之后才会变成该层的协议数据单元,举个例子,A层的协议数据单元(A层的数据单元带上A层的控制信息)交到下一层B层,成为B层的数据单元,B层再加上控制信息,就变成了B层的协议数据单元。

虽然应用进程数据要经过上述的复杂过程才能送到终点的应用进程,但这些复杂的数据传送过程对用户来说,却都被屏蔽掉了,以致觉得好像是应用进程AP1直接把数据交给了应用进程AP2,同理,任何两个同样的层次之间,就好像如上图中的水平虚线所示的那样,把协议数据单元(即数据单元加上控制信息)通过水平虚线直接传递给对方,这就是所谓的“对等层”(peer layers)之间的通信,前文中经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定

在一些文献中也还可以见到术语“协议栈”(protocol stack),这是因为几个层次画在一起很像一个栈(stack)的结构。

1.6.4 实体、协议、服务和服务访问点

当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词表示任何可发送或接收信息的硬件或软件进程,在许多情况下,实体就是一个特定的软件模块。

协议控制两个对等实体(或多个实体)进行通信的规则的集合协议的语法方面的规则定义了数据传送所交换的信息的格式,而协议的语义方面的规则就定义了发送者或接收者所要完成的操作,例如,在何种条件下,数据必须重传或丢弃。

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层协议,还需要使用下面一层所提供的服务

需要注意的是,协议和服务在概念上是很不一样的:

  1. 协议的实现保证了能够向上一层提供服务,使用本层服务的实体只能看见服务而无法看见下面的协议,也就是说,下面的协议对上面的实体是透明的

  2. 协议是“水平的”,即协议是控制对等实体之间通信的规则,但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的,另外,并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才能称之为服务,上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中被称为服务原语

在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP(Service Access Point),服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口,有点像邮政信箱(可以把邮件放入信箱和从信箱中取走邮件),但这种层间接口和两个设备之间的硬件接口(并行的或串行的)并不一样,OSI把层与层之间交换的数据的单位称为服务数据单元SDU(Service Data Unit), SDU与PDU不一样,例如,可以是多个SDU合成为一个PDU,也可以是一个SDU划分为几个PDU.

这样,在任何相邻两层之间的关系可概括为如下图所示的那样,不过,需要注意的是,第n层的两个“实体(n)”之间通过“协议(n)”进行通信,而第n + 1层的两个“实体(n + 1)”之间则通过另外的“协议(n + 1)” 进行通信,也就是说,每一层都使用不同的协议,还有一点,第n层向上面的第n + 1层所提供的服务实际上包括了第n层自己所提供的服务以及第n层以下各层所提供的服务,第n层的实体对第n + 1层的实体就相当于一个服务提供者,在服务提供者的上一层的实体又称为服务用户,因为它使用下层服务提供者所提供的服务:
在这里插入图片描述
计算机网络的协议还有一个很重要的特点,就是协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的,看一个计算机网络协议是否正确,不能光看在正常情况下是否正确, 而且还必须非常仔细地检查这个协议能否应付各种异常情况, 看是非常简单的协议,设计起来要考虑的问题还是非常多的,因此协议很复杂。

1.6.5 TCP/IP的体系结构

前面已经说过,TCP/IP 的体系结构比较简单,它只有四层,下图给出了用这种四层协议表示方法的例子,需要注意的是,图中的路由器在转发分组时最高只用到网络层而没有使用运输层和应用层
在这里插入图片描述
技术的发展并不是遵循严格的OSI分层概念,实际上现在的互联网使用的TCP/IP体系结构有时已经演变成为如下图所示的那样,即某些应用程序可以直接使用IP层,或甚至直接使用最下面的网络接口层:
在这里插入图片描述
还有一种方法来表示TCP/IP体系结构,就是如下面两张图所示的那样分层次画出具体的协议来表示TCP/IP协议族,它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP协议中。这种很像沙漏计时器形状的TCP/IP协议族表明:TCP/IP协议可以为各式各样的应用提供服务(所谓的everything over IP),同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行(所谓的IP over everything)。正因为如此,互联网才会发展到今天的这种全球规模。
在这里插入图片描述
在这里插入图片描述

1.7 重要知识点整理

  • 计算机网络(可简称为网络)把许多计算机连接在一起,而互连网则把许多网络连接在一起,是网络的网络

  • 以小写字母i开始的internet(互连网)是通用名词,它泛指由多个计算机网络互连而成的网络,在这些网络之间的通信协议(即通信规则)可以是任意的

  • 以大写字母I开始的Internet(互联网)是专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,并采用TCP/IP协议族作为通信规则,且其前身是美国的ARPANET,Internet的推荐译名是“因特网”,但很少被使用。

  • 互联网现在采用存储转发的分组交换技术,以及三层ISP结构:主干ISP、地区ISP和本地ISP

  • 互联网按工作方式可划分为边缘部分核心部分主机在网络的边缘部分,其作用是进行信息处理路由器在网络的核心部分,其作用是按存储转发方式进行分组交换

  • 计算机通信是计算机中的进程(即运行着的程序)之间的通信,计算机网络采用的通信方式是客户/服务器方式和对等连接方式(P2P方式)

  • 客户和服务器都是指通信中所涉及的应用进程,客户是服务请求方,服务器是服务提供方

  • 按作用范围的不同,计算机网络分为广域网WAN、城域网MAN、局域网LAN和个人区域网PAN

  • 计算机网络最常用的性能指标是:速率、带宽、吞吐量、时延(发送时延、传播时延、处理时延、排队时延)、时延带宽积、往返时间和信道(或网络)利用率

  • 网络协议协议,是为进行网络中的数据交换而建立的规则计算机网络的各层及其协议的集合,称为网络的体系结构

  • 五层协议的体系结构由应用层、运输层、网络层(或网际层)、数据链路层和物理层组成,运输层最重要的协议是TCP和UDP协议,而网络层最重要的协议是IP协议

1.8 学习资源

参考资料:《计算机网络》第七版(谢希仁著)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章