二、计算机网络技术——第1章:计算机网络体系结构

发布于:2025-07-02 ⋅ 阅读:(26) ⋅ 点赞:(0)

1.1计算机网络概述

1.1.1计算机网络的概念

一般认为,计算机网络是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。

计算机网络(简称网络)由若干节点(Node,或译为结点)和连接这些节点的链路(Link)组成。网络中的节点可以是计算机、集线器、交换机或路由器等。网络之间还可通过路由器互连,构成一个覆盖范围更广的计算机网络,这样的网络称为互连网(internet)。于是,我们可以这样理解:网络把许多计算机连在一起,而互连网则把许多网络通过路由器连在一起。

 

请读者注意以下两个意思相差很大的名词:internet和Internet。

internet(互连网)是一个通用名词,泛指由多个计算机网络互连而成的计算机网络。在这些网络之间可以使用任意的通信协议作为通信规则,不一定非要使用TCP/IP。

Internet(互联网或因特网)则是一个专用名词,指当前全球最大的、开放的、由众多网络和路由器互连而成的特定计算机网络,它采用TCP/IP族作为通信规则。


1.1.2计算机网络的组成

从不同的角度看,可将计算机网络的组成分为如下几类。

1)从组成部分看,计算机网络主要由硬件、软件、协议三大部分组成。

硬件主要由主机(也称端系统)、通信链路(如双绞线、光纤)、交换设备(如路由器、交换机等)和通信处理机(如网卡)等组成。

软件主要包括各种实现资源共享的软件和方便用户使用的各种工具软件(如E-mail程序、FTP程序、聊天程序等)。

协议是计算机网络的核心,如同交通规则制约汽车驾驶一样,协议规定了网络传输数据时所遵循的规范。

2)从工作方式看,计算机网络(这里主要指Internet,即互联网)可分为边缘部分和核心部分。

边缘部分由所有连接到互联网上的供用户直接使用的主机组成,用来进行通信(如传输数据、音频或视频)和资源共享。

核心部分由大量网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务。图1.1给出了互联网核心部分与边缘部分的示意图。

3)从功能组成看,计算机网络由通信子网和资源子网组成。

通信子网由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交换、控制和存储的能力,实现联网计算机之间的数据通信。

资源子网是实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。

 


1.1.3计算机网络的功能

1.数据通信

数据通信是计算机网络最基本和最重要的功能,用来实现联网计算机之间各种信息的传输。例如,文件传输、电子邮件等应用,离开了计算机网络就无法实现。

2.资源共享

资源共享既可是软件共享、数据共享,又可是硬件共享。它使计算机网络中的资源互通有无、分工协作,从而极大地提高了硬件资源、软件资源和数据资源的利用率。

3.分布式处理

当计算机网络中的某个计算机系统负荷过重时,可将其处理的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源来提高整个系统的利用率。

4.提高可靠性

计算机网络中的各台计算机可以通过网络互为替代机。

5.负载均衡

将工作任务均衡地分配给计算机网络中的各台计算机。除了以上几大主要功能,计算机网络还可实现电子化办公与服务、远程教育、娱乐等功能,满足了社会的需求,方便了人们的学习、工作和生活,具有巨大的经济效益。

 


1.1.4电路交换报文交换与分组交换

在网络核心部分起重要作用的是路由器(Router),它对收到的分组进行存储转发来实现分组交换。

1.电路交换

最典型的电路交换网是传统电话网,其电路交换示意图如图1.2所示。从通信资源分配的角度看,交换就是按照某种方式动态地分配传输线路的资源。电路交换分为三步:建立连接(开始占用通信资源)、传输数据(一直占用通信资源)和释放连接(归还通信资源)。在进行数据传输前,两个用户之间必须先建立一条专用的物理通信路径(由通信双方之间的交换设备和链路逐段连接而成)。在数据传输过程中,这一物理通信路径始终被两个用户独占,直到通信结束后才被释放。

在电路交换中,电路建立后,除源节点和目的节点外,电路上的任何节点都采取“直通方式”发送数据和接收数据,即不存在存储转发所耗费的时间。在电路交换的整个通信阶段,比特流连续地从源节点直达目的节点,就好像在一个管道中传送。

电路交换技术的优点:

1)通信时延小。因为通信线路为通信双方专用,数据直达,所以传输速率高。

2)有序传输。双方通信时按发送顺序传送数据,不存在失序问题。

3)没有冲突。不同的通信双方拥有不同的信道,不会出现争用物理信道的问题。

4)实时性强。通信双方之间的物理通路一旦建立,双方就可随时通信。

电路交换技术的缺点:

1)建立连接时间长。电路交换的平均连接建立时间对计算机通信来说太长。

2)线路利用率低。物理通路被通信双方独占,即使线路空闲,也不能供其他用户使用。

3)灵活性差。物理通路中的任何一点出现故障,就必须重新拨号建立新的连接。

4)难以实现差错控制。中间节点不具备存储和检验数据的能力,无法发现并纠正错误。

计算机之间的数据传送往往是突发式(高频、少量)的,当使用电路交换来传送数据时,已被用户占用的通信线路资源在绝大部分时间里都是空闲的,其利用率往往不到10%甚至1%。

 


2.报文交换

数据交换的单位是报文,用户数据加上源地址、目的地址等信息后,后封装成报文(Message)。报文交换采用存储转发技术,整个报文先传送到相邻的节点,全部存储后查找转发表,转发到下一个节点,如此重复,直至到达目的节点。每个报文都可单独选择到达目的端的路径。

报文交换技术的优点:

1)无建立连接时延。通信前无须建立连接,没有建立连接时延,用户可随时发送报文。

2)灵活分配线路。交换节点存储整个报文后,选择一条合适的空闲线路,转发报文。若某条传输路径发生故障,则可重新选择另一条路径传输数据。

3)线路利用率高。报文在一段链路上传送时才占用这段链路的通信资源。

4)支持差错控制。交换节点可对缓存下来的报文进行差错检验。

报文交换技术的缺点:

1)转发时延高。交换节点要将报文整体接收完后,才能查找转发表转发到下一个节点。

2)缓存开销大。报文的大小没有限制,这就要求交换节点拥有较大的缓存空间。

3)错误处理低效。报文较长时,发生错误的概率相对更大,重传整个报文的代价也很大。

 


3.分组交换

分组交换也采用存储转发技术,但解决了报文交换中报文过长的问题。若报文太长,则对交换节点的缓存容量就有很大的需求,在错误处理方面也比较低效。源主机在发送之前,先把较长的报文划分成若干较小的等长数据段,在每个数据段前面添加一些由必要控制信息(如源地址、目的地址和编号信息等)组成的首部,构成分组(Packet),如图1.3所示。

源主机将分组发送到分组交换网中,分组交换网中的分组交换机收到一个分组后,先将其缓存,然后从其首部中提取目的地址,据此查找自己的转发表,再后将分组转发给下一个分组交换机。经过多个分组交换机的存储转发后,分组最终到达目的主机。

分组交换除继承报文交换的诸多优点外,还有如下优点:

1)方便存储管理,存储转发开销小。因为分组的长度固定,所以相应缓冲区的大小也固定。

2)传输效率高。分组是逐个传输的,可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线方式减少了报文的传输时间。

3)减少了出错概率和重传代价。因为分组较短,其出错概率必然减小,所以每次重发的数据量也就大大减少,这样不仅提高了可靠性,还减小了传输时延。

分组交换技术的缺点:

1)存在存储转发时延。尽管分组交换比报文交换的传输时延小,但相对于电路交换仍存在存储转发时延,且其节点交换机必须具有更强的处理能力。

2)需要传输额外的信息量。每个小数据段都要加上控制信息以构成分组,这使得传送的信息量增大了5%~10%,进而使得控制复杂,降低了通信效率。

3)当分组交换网采用数据报服务时,可能出现失序、丢失或重复分组的情况,分组到达目的主机时,要对分组按编号进行排序等工作,而这些工作很麻烦。若采用虚电路服务,则虽然没有失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。图1.4给出了三种交换方式的比较。当要连续传送大量的数据,且其传送时间远大于连接建立时间时,采用电路交换较为合适。从提高整个网络的信道利用率看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,也更为灵活,尤其适合突发式数据传送。


1.1.5计算机网络的分类

1.按分布范围分类

1)广域网(WAN)。广域网的任务是提供长距离通信,运送主机所发送的数据,其覆盖范围通常是直径为几十米到几千千米的区域。广域网是互联网的核心部分。连接广域网的各节点交换机的链路一般都是高速链路,具有较大的通信容量。

2)城域网(MAN)。城域网的覆盖范围可以跨越几个街区甚至整个城市,覆盖区域的直径为5~50km。城域网大多采用以太网技术,因此有时也常并入局域网的范围讨论。

3)局域网(LAN)。局域网一般用主机通过高速线路相连,覆盖范围较小,通常是直径为几十到几千米的区域。传统上,局域网使用广播技术,而广域网使用交换技术。

4)个人区域网(PAN)。个人区域网是指在个人工作的地方将消费电子设备(如平板电脑、智能手机等)用无线技术连接起来的网络,也称无线个人区域网(WPAN)。

2.按传输技术分类

1)广播式网络。所有联网计算机都共享一个公共通信信道。当一台计算机利用共享通信信道发送报文分组时,所有其他计算机都会“收听”到这个分组。“收听”到该分组的计算机将通过检查目的地址来决定是否接收该分组。局域网基本上都采用广播式通信技术,广域网中的无线、卫星通信网络也采用广播式通信技术。

2)点对点网络。每条物理线路连接一对计算机。若通信的两台主机之间没有直接连接的线路,则它们之间的分组传输就要通过中间节点进行存储和转发,直至目的主机。

3.按拓扑结构分类

网络拓扑结构是指由网中节点(路由器、主机等)与通信线路之间的几何关系表示的网络结构,主要指通信子网的拓扑结构。按拓扑结构,网络可分为总线形、星形、环形和网状网络等,如图1.5所示。星形、总线形和环形网络多用于局域网,网状网络多用于广域网。

1)总线形网络。用单根传输线把计算机连接起来。优点是建网容易、增/减节点方便、节省线路。缺点是重负载时通信效率不高、总线任意一处对故障敏感。

2)星形网络。每个终端或计算机都以单独的线路与中央设备相连。中央设备一般是交换机或路由器。优点是便于集中控制和管理。缺点是成本高、中央设备对故障敏感。

3)环形网络。所有计算机接口设备连接成一个环。环形网络最典型的例子是令牌环局域网。环既可以是单环,又可以是双环,环中信号是单向传输的。

4)网状网络。一般情况下,每个节点至少有两条路径与其他节点相连,多用在广域网中。其有规则型和非规则型两种。优点是可靠性高。缺点是控制复杂、线路成本高。

4.按使用者分类

1)公用网(PublicNetwork)。指电信公司出资建造的大型网络。“公用”的意思是指所有愿意按电信公司的规定缴纳费用的人都可使用这种网络。

2)专用网(PrivateNetwork)。指某个单位为满足本单位特殊业务的需要而建造的网络。这种网络不向本单位外的人提供服务,如铁路、电力、军队等部门的专用网。

5.按传输介质分类

传输介质可分为有线和无线两大类,因此网络可分为有线网络和无线网络有线网络文可分为双绞线网络、同轴电缆网络等,而无线网络又可分为蓝牙、微波、无线电等类型


1.1.6计算机网络的性能指标

1.速率(Speed)

指连接到网络上的节点在数字信道上传送数据的速率,也称数据传输速率、数据率或比特率,单位为b/s(比特/秒)或bit/s(有时也写为bps)。当数据率较高时,可用kb/s(k=10³)、Mb/s(M=10⁶)或Gb/s(G=109)表示。

 

2.带宽(Bandwidth)

带宽原本表示通信线路允许通过的信号频率范围,单位是赫兹(Hz)。但在计算机网络中,带宽表示网络的通信线路所能传送数据的能力,是数字信道所能传送的“最高数据传输速率”的同义语,单位是比特/秒(b/s)。

 

 

3.吞吐量(Throughput)

指单位时间内通过某个网络(或信道、接口)的实际数据量。吞吐量常用于对实际网络的测量,以便获知到底有多少数据量能够通过网络。

4.时延(Delay)

指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需的总时间,它由4部分构成:发送时延、传播时延、处理时延和排队时延。

发送时延,也称传输时延。节点将分组的所有比特推向链路所花的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所花的时间。发送时延=分组长度/发送速率

传播时延。电磁波在信道(传输介质)中传播一定的距离所花的时间,即一个比特从链路的一端传播到另一端所需的时间。传播时延=信道长度/电磁波在信道上的传播速率

注意区分传输时延和传播时延。传输时延是节点将分组推向网络所需的时间,它取决于分组长度和发送速率。传播时延是一个比特从一个节点传播至另一节点所需的时间,它取决于两个节点之间距离和信道所使用的传输介质,而与分组长度或发送速率无关。

处理时延。分组在交换节点为存储转发而进行的一些必要处理所花的时间。例如,分析分组的首部、差错检验或查找合适的路由等。

排队时延。分组在路由器的输入队列或输出队列中排队等待所花的时间。因此,数据在网络中经历的总时延就是以上4部分时延之和:总时延=发送时延+传播时延+处理时延+排队时延

 

5.时延带宽积

指发送端发送的第一个比特即将到达终点时,发送端已发出了多少比特

时延带宽积=传播时延×信道带宽。

如图1.6所示,考虑一个代表链路的圆柱形管道,其长度表示链路的传播时延,横截面积表示链路带宽,则时延带宽积表示该管道可以容纳的比特数量。

 

 

6.往返时延(Round-TripTime,RTT)

指从发送端发出一个短分组,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认)总共经历的时间。在互联网中,往返时、延还包括各中间节点的处理时延、排队时延及转发数据时的发送时延。

7.信道利用率

用来指出某个信道有百分之多少的时间是有数据通过的。         信道利用率=有数据通过的时间/(有数据通过的时间+无数据通过的时间)

信道利用率并非越高越好,信道利用率太低会浪费网络资源;信道利用率太高会产生较大的时延,导致网络拥塞。这就好比当公路上的车流量很大时,容易出现拥堵。

 




1.2计算机网络体系结构与参考模型

1.2.1计算机网络分层结构

计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。换言之,计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义。需要强调的是,这些功能究竟是用何种硬件或软件完成的,是一个遵循这种体系结构的实现(Implementation)问题。体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。计算机网络体系结构通常都具有可分层的特性,它将复杂的大系统分成若干较容易实现的层次。

分层的基本原则如下:

1)每层都实现一种相对独立的功能,降低大系统的复杂度。

2)各层之间的接口自然清晰,易于理解,相互交流尽可能少。

3)各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。

4)保持下层对上层的独立性,上层单向使用下层提供的服务。

5)整个分层结构应能促进标准化工作。

在网络分层结构中,第n层的活动元素通常称为第n层实体。具体来说,实体指任何可发送或接收信息的硬件或软件进程,通常是某个特定的软件模块。不同机器上的同一层称为对等层,同一层的实体称为对等实体。第n层向第n+1层提供的服务包括在其以下各层提供的服务。第n层的实体称为服务提供者,服务提供者上一层的实体称为服务用户。

协议数据单元(PDU):对等层之间传送的数据单位。第n层的PDU记为n-PDU。各层的PDU都分为服务数据单元和协议控制信息两部分。

服务数据单元(SDU):层与层之间交换的数据单位。第n层的SDU记为n-SDU。

协议控制信息(PCI):控制协议操作的信息。第n层的PCI记为n-PCI。

每层的协议数据单元都有一个通俗的名称,如物理层的PDU称为比特流,数据链路层的PDU称为帧,网络层的PDU称为分组,传输层的PDU称为报文段。

当在各层之间传输数据时,将从第n+1层收到的PDU作为第n层的SDU,加上第n层的PCI,就封装成了第n层的PDU,交给第n-1层后作为SDU发送,接收方接收时做相反的处理,因此n-SDU+n-PCI=n-PDU=(n-1)-SDU,网络各层数据单元的联系如图1.7所示。

具体地,层次结构的含义包括如下几方面:

1)第n层的实体不仅要使用第n-1层的服务来实现自身定义的功能,还要向第n+1层提供本层的服务,该服务是第n层及其下面各层提供的服务总和。

2)最低层只提供服务,是整个层次结构的基础;最高层面向用户提供服务。

3)上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务。

4)通信时,对等层在逻辑上有一个直接信道,表现为能直接将信息传送到对方。


1.2.2计算机网络协议、接口、服务的概念

1.协议

要在网络中做到有条不紊地交换数据,就必须遵循一些事先约定好的规则,其规定子所交换数据的格式及有关的同步问题。为了在网络中进行数据交换而建立的这些规则、标准或约定称为网络协议(NetworkProtocol),是控制在对等实体之间进行通信的规则的集合,是水平的。不对等实体之间是没有协议的,如用TCP/IP栈通信的两个节点A和节点B,节点A的传输层和节点B的传输层之间存在协议,但节点A的传输层和节点B的网络层之间不存在协议。协议由语法、语义和同步三部分组成。

1)语法。数据与控制信息的格式。例如,TCP报文段格式就是由TCP的语法定义的。

2)语义。即需要发出何种控制信息、完成何种动作及做出何种应答。例如,在建立TCP连接时每次握手所执行的操作就是由TCP的语义定义的。

3)同步(或时序)。执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。例如,建立TCP连接的三次握手操作的时序关系就是由TCP的同步定义的。

2.接口

同一节点内相邻两层的实体交换信息的逻辑接口称为服务访问点(ServiceAccessPoint,SAP)。每层只能在紧邻的层之间定义接口,而不能跨层定义接口。服务是通过SAP提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方。

3.服务

服务是指下层为紧邻的上层提供的功能调用,是垂直的。对等实体在协议的控制下,使得本层能为上层提供服务,但要实现本层协议,还需要使用下层提供的服务。

注意:协议和服务概念上是不一样的。首先,只有本层协议的实现才能保证向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但是,服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。另外,并非在一层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才称为服务。协议、接口、服务三者之间的关系如图1.8所示。

计算机网络提供的服务可按以下三种方式分类。

(1)面向连接服务与无连接服务

在面向连接服务中,通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和占用的资源。因此这种服务可分为连接建立、数据传输和连接释放三个阶段。例如,TCP就是一种面向连接服务的协议。在无连接服务中,通信前双方不需要先建立连接,需要发送数据时可直接发送,将每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。这种服务常被描述为“尽最大努力交付”,是一种不可靠的服务。例如,IP、UDP就是一种无连接服务的协议。

(2)可靠服务和不可靠服务

可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。不可靠服务是指网络只是尽量让数据正确、可靠地传送到目的地,是一种尽力而为的服务。对于提供不可靠服务的网络,其网络的正确性、可靠性要由应用或用户来保障。例如,用户收到信息后要判断信息的正确性,若不正确,则用户就要把出错信息报告给信息的发送者,以便发送者采取纠正措施。通过用户的这些措施,可将不可靠服务变成可靠服务。

(3)有应答服务和无应答服务

有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现。发送的应答既可以是肯定应答,又可以是否定应答,通常在接收到的数据有错误时发送否定应答。例如,文件传输服务就是一种有应答服务。无应答服务是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。例如,对于WWW服务,客户端收到服务器发送的页面文件后不给出应答。


1.2.3  ISO/OSI参考模型和TCP/IP模型

1.OSI参考模型

国际标准化组织(ISO)提出的网络体系结构模型称为开放系统互连参考模型(OSI/RM),简称OSI参考模型。OSI参考模型有7层,自下而上(第1~7层)依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。OSI参考模型的层次结构如图1.9所示。

 

①物理层

传输单位是比特,功能是在物理介质上为数据端设备透明地传输原始比特流。下图表示的是两个通信节点及它们之间的一段通信链路,物理层主要研究以下内容:

 

①通信链路与通信节点的连接需要一些电路接由,物理层规定了这些接口的一些参数,如机械形状和尺寸、引脚的数量和排列等,例如笔记本电脑上的网线接口。

②物理层规定了通信链路上所传输的信号的意义和电气特征。例如,若规定信号X代表数字0,则当节点传输0时就发出信号X,而当节点接收到信号X时就知道收到的是0。注意,传输信息所用的一些物理介质(如双绞线、光缆、无线信道等)并不在物理层协议之内,而在物理层协议下面。因此,有人将物理介质当作第0层。

②数据链路层

(DataLinkLayer)传输单位是帧。两台主机之间的数据传输总是在一段一段的链路上进行的,这就需要使用专门的链路层协议。主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路。数据链路层将网络层交来的IP分组封装成帧,并且可靠地传输到相邻节点的网络层,实现节点之间的差错控制和流量控制的功能。

因为外界噪声的干扰,所以原始的物理连接在传输比特流时可能发生错误。如图1.10所示,节点A想向节点B传输数字0,于是发出信号X;但在传输过程中受到干扰,信号X变成了信号Y,而信号Y又刚好代表1,节点B接收到信号Y时,误以为节点A传送了数字1,从而发生差错。差错控制可以检测出这些差错,然后将收到的错误信息丢弃。如图1.10所示,在两个相邻节点之间传送数据时,节点A的发送速率可能比节点B的接收速率快,若不加以控制,则节点B就会丢弃很多来不及接收的正确数据,造成传输线路效率下降。流量控制可以协调两个节点的速率,使节点A的发送速率刚好是节点B的接收速率。广播式网络在数据链路层还要处理新的问题,即如何控制对共享信道的访问。

③网络层

传输单位是数据报。它关心的是通信子网的运行控制,主要任务是将网络层的协议数据单元(分组)从源主机传输到目的主机,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。网络层既提供有连接可靠的虚电路服务,又提供无连接不可靠的数据报服务。注意:无论是在哪一层传送的数据单元,都可以笼统地用“分组”来表示。

在如图1.11所示的某网络结构图中,当节点A向节点B传输一个分组时,既可经过边a、c、g,也可经过边b、h,有多条可以选择的路由,而网络层的作用是根据网络的情况,利用相应的路由算法计算出一条合适的路径,使这个分组可以顺利地到达节点B。

 流量控制与数据链路层的流量控制的含义一样,都是协调A的发送速率和B的接收速率。若图1.11中的节点都来不及接收分组而丢弃大量分组,导致节点间无法正常通信,则网络处于拥塞状态。网络层要采取措施来缓解这种拥塞,这就是拥塞控制。差错控制是通信节点之间约定的特定检错规则,接收方根据该规则检查接收到的分组是否出错,若出错,则能纠错就纠错,不能纠错就丢弃,确保向上层提交的数据都是无误的。

④传输层

也称运输层,负责主机中两个进程之间的通信,提供端到端的流量控制、差错控制、连接建立与释放、可靠传输管理等服务,传输层仅提供有连接可靠的服务。数据链路层提供的是点到点通信,传输层提供的是端到端通信,两者不同。通俗地说,点到点可理解为主机和主机之间的通信,一个点是指一个硬件地址或IP地址,网络中参与通信的主机是通过硬件地址或IP地址来标识的;端到端通信是指运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识,因此称为端到端通信。通过传输层的屏蔽,高层用户看不到通信子网的交替和变化。因为一台主机可同时运行多个进程,所以传输层具有复用和分用的功能。复用是指多个应用层进程可同时使用下面传输层的服务,分用是指传输层将收到的信息分别交付给上面应用层中相应的进程。

 

⑤会话层

允许不同主机上的各个进程之间进行会话。这种服务主要为表示层实体或用户进程建立连接,并在连接上有序地传输数据,这就是会话,也称建立同步(SYN)。会话层负责管理主机间的会话进程,包括建立、管理和终止进程间的会话。会话层包含一种称为检查点的机制来维持可靠会话,使通信会话在通信失效时从检查点继续恢复通信,即断点下载的原理。

⑥表示层

主要处理在不同主机中交换信息的表示方式。不同机器采用的编码和表示方法不同,为了使不同表示方法的数据和信息之间能够互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。此外,数据压缩、加密和解密也是表示层的功能。

⑦应用层

是OSI参考模型的最高层,是用户与网络的接口。应用层为特定类型的网络应用提供访问OSI参考模型环境的手段。用户的实际应用多种多样,这就要求应用层采用不同的应用协议来满足不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。


2.TCP/IP模型

TCP/IP模型从低到高依次为网络接口层(对应OSI参考模型的物理层和数据链路层)、网际层、传输层和应用层(对应OSI参考模型的会话层、表示层和应用层)。TCP/IP因为得到广泛应用而成为事实上的国际标准。TCP/IP模型的层次结构及各层的主要协议如图1.12所示。

①网络接口层

功能类似于OSI参考模型的物理层和数据链路层,其作用是从主机或节点接收IP分组,并将它们发送到指定的物理网络上。但TCP/IP并未具体描述网络接口层的功能和协议,只是指出主机必须使用某种协议与网络连接,以便在其上传送IP分组。具体的物理网络既可是各种类型的局域网,如以太网、令牌环网等,又可是诸如电话网、ATM等公共数据网络。

②网际层

(主机-主机)是TCP/IP体系结构的关键部分,功能上它与OSI参考模型的网络层非常相似。网际层将分组发往任何网络,并为其独立地选择合适的路由,但不保证各个分组有序地到达,各个分组的有序和可靠交付由高层负责。网际层仅提供无连接不可靠的IP,数据传输的单位是IP数据报。当前采用的IP是第4版,即IPv4,它的下一版本是IPv6。

③传输层

(应用-应用或进程-进程)的功能同样与OSI参考模型中的传输层类似,即使得发送端和目的端主机上的对等实体进行会话。传输层主要使用以下两种协议:

1)传输控制协议(TransmissionControlProtocol,TCP)。它是面向连接的,传输数据之前必须先建立连接,能够提供可靠的交付。数据传输的单位是报文段。

2)用户数据报协议(UserDatagramProtocol,UDP)。它是无连接的,不保证提供可靠的交付,只能提供“尽最大努力交付”。数据传输的单位是用户数据报。

④应用层

(用户-用户)包含所有的高层协议,如虚拟终端协议(Telnet)、文件传输协议(FTP)、域名解析服务(DNS)、电子邮件协议(SMTP)和超文本传输协议(HTTP)。


3.TCP/IP模型与OSI参考模型的比较

TCP/IP模型与OSI参考模型有许多相似之处。首先,二者都采取分层的体系结构,且分层的功能也大体相似。其次,二者都是基于独立的协议栈的概念。最后,二者都可解决异构网络的互联,实现不同厂家生产的计算机之间的通信。TCP/IP模型与OSI参考模型的层次对应关系如图1.13所示。

两个模型除了具有这些基本的相似之处,也有很多差别。

第一,OSI参考模型的最大贡献是精确定义了三个主要概念:服务、协议和接口,这与现代的面向对象程序设计思想非常吻合。而TCP/IP模型在这三个概念上没有明确区分。

第二,OSI参考模型是7层模型,而TCP/IP模型是4层结构。TCP/IP模型将OSI参考模型的表示层和会话层的功能合并到了应用层,还将数据链路层和物理层合并为网络接口层。

第三,OSI参考模型先有模型,后有协议规范,通用性良好,适合描述各种网络。TCP/IP模型正好相反,即先有协议栈,后建立模型,因此不适合任何其他的非TCP/IP网络。

第四,OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而TCP/IP模型认为可靠性是端到端的问题,因此它在网际层仅有一种无连接的通信模式,但传输层支持无连接和面向连接两种模式。

最后简单介绍使用协议栈进行通信的数据传输过程。每个协议栈的顶端都是一个面向用户的接口,下面各层是为通信服务的协议。用户传输的数据通常是用户能够理解的自然语言,通过应用层将自然语言转化为用于通信的通信数据。通信数据到达传输层,作为传输层的服务数据单元(传输层SDU),加上传输层的协议控制信息(传输层PCI),组成传输层的PDU;下放到网络层后,就成为网络层的SDU,加上网络层的PCI,又组成了网络层的PDU;下放到数据链路层……就这样层层下放,层层包裹,最后形成的数据包通过通信线路传输,到达接收方节点协议栈,接收方逆向逐层地拆开“包裹”,然后将收到的数据提交给用户,如图1.15所示。




1.3本章小结及疑难点

1.互联网使用的IP是无连接的,因此其传输是不可靠的。这样容易使人们感到互联网很不可靠。为什么当初不把互联网的传输设计为可靠的呢?

传统电信网的主要用途是电话通信,并且普通电话机不是智能的,因此电信公司必须花费巨大的代价将电信网设计得非常可靠,以保证用户的通信质量。数据的传送显然必须可靠。当初设计ARPAnet时,很重要的讨论内容之一是“谁应当负责数据传输的可靠性?”一种意见是主张像电信网那样,由通信网络负责数据传输的可靠性(因为电信网的发展史及技术水平已经证明,人们可将网络设计得相当可靠)。另一种意见则主张由用户主机负责数据传输的可靠性,理由是这样可使计算机网络便宜、灵活。计算机网络的先驱认为,计算机网络和电信网的一个重大区别是终端设备的性能差别很大。于是,他们采用了“端到端的可靠传输”策略,即在传输层使用面向连接的TCP,这样既能使网络部分价格便宜且灵活可靠,又能保证端到端的可靠传输。

2.端到端通信和点到点通信有什么区别?

本质上说,由物理层、数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务,而传输层为网络中的主机提供端到端的通信。点到点通信只提供一台主机到另一台主机之间的通信,不涉及程序或进程的概念。点到点通信并不清楚源主机与目的主机之间是哪两个进程正在通信,这些工作都由传输层来完成。端到端通信建立在点到点通信的基础上,由一段段点到点通信信道构成,以完成应用程序(进程)之间的通信。“端”是指用户程序的端口,端口号标识了应用层中的不同进程。

3.如何理解传输速率和传播速率?

传输速率是指主机或路由器在数字信道上发送数据的速率,也称数据率或比特率,单位是比特/秒(b/s),或千比特/秒(kb/s)、兆比特/秒(Mb/s)、吉比特/秒(Gb/s)等。在通信领域中表示速率时,k=10³K=2¹⁰=1024,M=20,G=2³,T=240,,M=10⁶,G=109,T=10¹²。表示存储容量或文件大小时,这与通信领域中的表示方式不同。传播速率是指电磁波在信道中传播的速率,单位是米/秒(m/s)或千米/秒(km/s)。