欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

第 1 章 计算机网络架构

最编程 2024-04-18 09:39:39
...

1.1 计算机网络概述

1.1.1 计算机网络的概念

计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。

计算机网络是互连的、自治的计算机集合。

互连-通过通信链路互联互通
自治-无主从关系

1.1.2 计算机网络的发展

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1.1.3 计算机网络的功能

计算机网络的功能很多,现今的很多应用都与网络有关。主要有以下五大功能。

1.数据通信
它是计算机网络最基本和最重要的功能,用来实现联网计算机之间各种信息的传输,并将分散在不同地理位置的计算机联系起来,进行统一的调配、控制和管理。例如,文件传输、电子邮件等应用,离开了计算机网络将无法实现。

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

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

4.提高可靠性
计算机网络中的各台计算机可以通过网络互为替代机。

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

1.1.4 计算机网络的组成

在这里插入图片描述
在这里插入图片描述
从不同的角度,可以将计算机网络的组成分为如下几类。

1)从组成部分上看,一个完整的计算机网络主要由硬件、软件、协议三大部分组成,缺一不可。硬件主要由主机(也称端系统)、通信链路(如双绞线、光纤)、交换设备(如路由器、交换机等)和通信处理机(如网卡)等组成。软件主要包括各种实现资源共享的软件和方便用户使用的各种工具软件(如网络操作系统、邮件收发程序、FTP程序、聊天程序等)。软件部分多属于应用层。协议是计算机网络的核心,如同交通规则制约汽车驾驶一样,协议规定了网络传输数据时所遵循的规范。

2)从工作方式上看,计算机网络(这里主要指Internet,即因特网)可分为边缘部分和核心部分。边缘部分由所有连接到因特网上、供用户直接使用的主机组成,用来进行通信(如传输数据、音频或视频)和资源共享;核心部分由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务。图1.1给出了这两部分的示意图。
在这里插入图片描述
3)从功能组成上看,计算机网络由通信子网和资源子网组成。通信子网由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交换、控制和存储的能力,实现联网计算机之间的数据通信。资源子网是实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。

1.1.5 计算机网络的分类

在这里插入图片描述
1、按分布范围分类
广域网(WAN)、城域网(MAN)、局域网(LAN)、个人区域网(PAN)
注意:若*处理器之间的距离非常近(如仅 1m的数量级或甚至更小),则一般称为多处理器系统,而不称为计算机网络。

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

2)点对点网络。
每条物理线路连接一对计算机。若通信的两台主机之间没有直接连接的线路,则它们之间的分组传输就要通过中间结点进行接收、存储和转发,直至目的结点。
是否采用分组存储转发与路由机制是点对点式网络与广播式网络的重要区别,广域网基本都属于点对点网络。

3、按拓扑结构分类
网络拓扑结构是指由网中结点(路由器、主机等)与通信线路(网线)之间的几何关系(如总线形、环形)表示的网络结构,主要指通信子网的拓扑结构。
在这里插入图片描述

4、按使用者分类
1)共用网
2)专用网

5、按交换技术分类
交换技术是指各台主机之间、各通信设备之间或主机与通信设备之间为交换信息所采用的数据格式和交换装置的方式。按交换技术可将网络分为如下几种。

1)电路交换网络
在源结点和目的结点之间建立一条专用的通路用于传送数据,包括建立连接、传输数据和断开连接三个阶段。最典型的电路交换网是传统电话网络。
该类网络的主要特点是整个报文的比特流连续地从源点直达终点,好像是在一条管道中传送。优点是数据直接传送、时延小。缺点是线路利用率低、不能充分利用线路容量、不便于进行差错控制。

2)报文交换网络
用户数据加上源地址、目的地址、校验码等辅助信息,然后封装成报文。整个报文传送到相邻结点,全部存储后,再转发给下一个结点,重复这一过程直到到达目的结点。每个报文可以单独选择到达目的结点的路径。
报文交换网络也称存储-转发网络,主要特点是整个报文先传送到相邻结点,全部存储后查找转发表,转发到下一个结点。优点是可以较为充分地利用线路容量,可以实现不同链路之间不同数据传输速率的转换,可以实现格式转换,可以实现一对多、多对一的访问,可以实现差错控制。缺点是增大了资源开销(如辅助信息导致处理时间和存储资源的开销),增加了缓冲时延,需要额外的控制机制来保证多个报文的顺序不乱序,缓冲区难以管理(因为报文的大小不确定,接收方在接收到报文之前不能预知报文的大小)。

3)分组交换网络(包交换)
其原理是,将数据分成较短的固定长度的数据块,在每个数据块中加上目的地址、源地址等辅助信息组成分组(包),以存储-转发方式传输。其主要特点是单个分组(它只是整个报文的一部分)传送到相邻结点,存储后查找转发表,转发到下一个结点。除具备报文交换网络的优点外,分组交换网络还具有自身的优点:缓冲易于管理;包的平均时延更小,网络占用的平均缓冲区更少;更易于标准化;更适合应用。现在的主流网络基本上都可视为分组交换网络。

6、按传输介质分类
有线与无线

1.1.6 计算机网络的标准化工作及相关组织(新版大纲已经删除)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.1.7 计算机网络的性能指标

速率
在这里插入图片描述
带宽(Bandwidth)
本来表示通信线路允许通过的信号频带范围,单位是赫兹(Hz)。而在计算机网络中,带宽表示网络的通信线路所能传送数据的能力,是数字信道所能传送的”最高数据传输速率“的同义词,单位是比特/秒(b/s)。

吞吐量
在这里插入图片描述
时延
在这里插入图片描述
在这里插入图片描述
时延带宽积
在这里插入图片描述
在这里插入图片描述
往返时延RTT
在这里插入图片描述
往返时延(Round-Trip Time,RTT)。指从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认),总共经历的时延。在互联网中,往返时延还包括各中间结点的处理时延、排队时延及转发数据时的发送时延。

利用率
在这里插入图片描述

1.1.8 本节试题精选


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

1.2.1 计算机网络分层结构

我们把计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。换言之,计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义,它是计算机网络中的层次、各层的协议及层间接口的集合。需要强调的是,这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现(Implementation〉问题。体系结构是抽象的,而实现是具体的,是真正在运行的计算机硬件和软件

计算机网络的体系结构通常都具有可分层的特性,它将复杂的大系统分成若干较容易实现的层次。分层的基本原则如下:
1)每层都实现一种相对独立的功能,降低大系统的复杂度。
2)各层之间界面自然清晰,易于理解,相互交流尽可能少。
3)各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
4)保持下层对上层的独立性,上层单向使用下层提供的服务。
5)整个分层结构应能促进标准化工作。

依据一定的规则,将分层后的网络从低层到高层依次称为第1层、第2层……第n层,通常还为每层取一个特定的名称,如第1层的名称为物理层。

在计算机网络的分层结构中,第n层中的活动元素通常称为第n层实体。具体来说,实体指任何可发送或接收信息的硬件或软件进程,通常是一个特定的软件模块。不同机器上的同一层.为对等层,同一层的实体称为对等实体。第n层实体实现的服务为第n+1层所利用。在这种情况下,第n层称为服务提供者,第n+1层则服务于用户。

每一层还有自己传送的数据单位,其名称、大小、含义也各有不同。

在计算机网络体系结构的各个层次中,每个报文都分为两部分:一是数据部分,即SDU; 二是控制信息部分,即PCI,它们共同组成PDU。

服务数据单元(SDU):为完成用户所要求的功能而应传送的数据。第n层的服务数据单元记为n-SDU。

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

协议数据单元(PDU):对等层次之间传送的数据单位称为该层的PDU。第n层的协议数据单元记为n-PDU。在实际的网络中,每层的协议数据单元都有一个通俗的名称,如物理层的PDU称为比特,数据链路层的PDU称为帧,网络层的PDU称为分组,传输层的PDU称为报文段。

在这里插入图片描述
具体地,层次结构的含义包括以下几方面:
1)第n层的实体不仅要使用第n-1层的服务来实现自身定义的功能,还要向第n +1层提供本层的服务,该服务是第n层及其下面各层提供的服务总和。
2)最低层只提供服务,是整个层次结构的基础;中间各层既是下一层的服务使用者,又是上一层的服务提供者;最高层面向用户提供服务。
3)上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务:下一层所提供服务的实现细节对上一层透明。
4)两台主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方。

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

1、协议
协议,就是规则的集合。在网络中要做到有条不紊地交换数据,就必须遵循一些事先约定好的规则。这些规则明确规定了所交换的数据的格式及有关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(Network Protocol),它是控制两个(或多个)对等实体进行通信的规则的集合,是水平的。不对等实体之间是没有协议的,比如用TCP/P协议栈通信的两个结点,结点A的传输层和结点B的传输层之间存在协议,但结点A的传输层和结点B的网络层之间不存在协议。网络协议也简称为协议。

协议由语法、语义和同步三部分组成。语法规定了传输数据的格式;语义规定了所要完成的功能,即需要发出何种控制信息、完成何种动作及做出何种应答:同步规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能。

2、接口
接口是同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。每层只能为紧邻的层次之间定义接口,不能跨层定义接口。在典型的接口上,同一结点相邻两层的实体通过服务访问点(Service Access Point,SAP)进行交互。服务是通过SAP提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方。每个SAP都有一个能够标识它的地址。SAP是一个抽象的概念,它实际上是一个逻辑接口(类似于邮政信箱),但和通常所说的两个设备之间的硬件接口是很不一样的。

3、服务
在这里插入图片描述
在这里插入图片描述
计算机网络提供的服务可按以下三种方式分类。
(1)面向连接服务与无连接服务
在面向连接服务中,通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和所占用的资源。因此这种服务可以分为连接建立、数据传输和连接释放三个阶段。例如TCP就是一种面向连接服务的协议。

在无连接服务中,通信前双方不需要先建立连接,需要发送数据时可直接发送,把每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。这是-一种不可靠的服务。这种服务常被描述为“尽最大努力交付”(Best-Effort-Delivery),它并不保证通信的可靠性。例如IP、UDP就是一种无连接服务的协议。

(2)可靠服务与不可靠服务
可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。

不可靠服务是指网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。

对于提供不可靠服务的网络,其网络的正确性、可靠性要由应用或用户来保障。例如,用户收到信息后要判断信息的正确性,如果不正确,那么用户要把出错信息报告给信息的发送者,以便发送者采取纠正措施。通过用户的这些措施,可以把不可靠的服务变成可靠的服务。

注意:在一层内完成的全部功能并非都称为服务,只有那些能够被高一层实体“看得见”的功能才能称为服务。

(3)有应答服务和无应答服务
有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现。所发送的应答既可以是肯定应答,也可以是否定应答,通常在接收到的数据有错误时发送否定应答。例如,文件传输服务就是一种有应答服务。

无应答服务是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。例如,对于wwW服务,客户端收到服务器发送的页面文件后不给出应答。

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

1、OSI参考模型
在这里插入图片描述
下面详述OSI参考模型各层的功能。
(1)物理层(Physical Layer)
物理层的传输单位是比特,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明地传输原始比特流。

物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法,所以物理层协议也称物理层接口标准。由于在通信技术的早期阶段,通信规则称为规程(Procedure),因此物理层协议也称物理层规程。
在这里插入图片描述
(2)数据链路层(Data Link Layer)
在这里插入图片描述
(3)网络层(Network Layer)
网络层的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。

在这里插入图片描述
(4)传输层(Transport Layer)
传输层也称运输层,传输单位是报文段(TCP)或用户数据报(UDP),传输层负贵主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。

数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。通俗地说,点到点可以理解为主机到主机之间的通信,一个点是指一个硬件地址或P地址,网络中参与通信的主机是通过硬件地址或P地址标识的;端到端的通信是指运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识,所以称为端到端通信。

使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在。通过传输层的屏蔽,高层用户看不到子网的交替和变化。由于一台主机可同时运行多个进程,因此传输层具有复用和分用的功能。复用是指多个应用层进程可同时使用下面传输层的服务,分用是指传输层把收到的信息分别交付给上面应用层中相应的进程。

传输层的协议有TCP、UDP。

在这里插入图片描述
2、TCP/IP模型
在这里插入图片描述
网络接口层的功能类似于OSI参考模型的物理层和数据链路层。它表示与物理网络的接口,但实际上TCP/IP本身并未真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便在其上传递P分组。具体的物理网络既可以是各种类型的局域网,如以太网、令牌环网、令牌总线网等,也可以是诸如电话网、SDH、X.25、帧中继和 ATM等公共数据网络。网络接口层的作用是从主机或结点接收IP分组,并把它们发送到指定的物理网络上。

在这里插入图片描述
3、TCP/IP模型与OSI参考模型的比较
在这里插入图片描述
两个模型除具有这些基本的相似之处外,也有很多差别。

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

第二,OSI参考模型产生在协议发明之前,没有偏向于任何特定的协议,通用性良好。但设计者在协议方面没有太多经验,不知道把哪些功能放到哪一层更好。TCP/IP模型正好相反,首先出现的是协议,模型实际上是对已有协议的描述,因此不会出现协议不能匹配模型的情况,但该模型不适合于任何其他非TCP/AIP的协议栈。

第三,TCP/P模型在设计之初就考虑到了多种异构网的互联问题,并将网际协议(P)作为一个单独的重要层次。OSI参考模型最初只考虑到用一种标准的公用数据网将各种不同的系统互联。OSI参考模型认识到P的重要性后,只好在网络层中划分出一个子层来完成类似于TCP/TP模型中的P的功能。

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

无论是OSI参考模型还是TCP/P模型,都不是完美的,对二者的讨论和批评都很多。OSI参考模型的设计者从工作的开始,就试图建立一个全世界的计算机网络都要遵循的统一标准。从技术角度来看,他们希望追求一种完美的理想状态,这也导致基于OSI参考模型的软件效率极低。OSI参考模型缺乏市场与商业动力,结构复杂,实现周期长,运行效率低,这是它未能达到预期目标的重要原因。

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

在这里插入图片描述

1.2.4 本节试题精选

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 本章小结及疑难点

1、计算机网络与分布式计算机系统的主要区别是什么?
分布式系统最主要的特点是,整个系统中的各个计算机对用户都是透明的。用户通过输入命令就可以运行程序,但用户并不知道哪台计算机在为它运行程序。操作系统为用户选择一台最合适的计算机来运行其程序,并将运行的结果传送到合适的地方。
计算机网络则与之不同,用户必须先登录欲运行程序的计算机,然后按照计算机的地址,将程序通过计算机网络传送到该计算机中运行,最后根据用户的命令将结果传送到指定的计算机中。二者的区别主要是软件的不同。
2、为什么一个网络协议必须考虑到各种不利的情况?
因为网络协议如果不全面考虑不利的情况,那么当情况发生变化时,协议就会保持理想状况,一直等下去!就如同两位朋友在电话中约好下午3点在公园见面,并且约定不见不散。这一协议很不科学,因为任何一方如果有耽搁而来不了,且无法通知对方,那么另一方就要一直等下去!所以判断一个计算机网络是否正确,不能只看在正确情况下是否正确,还必须非常仔细地检查协议能否应付各种异常情况。
3、因特网使用地IP协议是无连接地,因此其传输是不可靠地,这样容易使人们感到因特网很不可靠。那么为什么当初不把因特网的传输设计为可靠的呢?
传统电信网的主要用途是电话通信,并且通信电话机不是智能的,因此电信公司必须花费巨大的代价把电信网设计得非常好,以保证用户的通信质量。
数据的传送显然必须非常可靠。当初在设计ARPAnet时,很重要的讨论内容之一是:”谁应当负责数据传输的可靠性?“一种意见是主张应当像电信网那样,由通信网络负责数据传输的可靠性(因为电信网的发展历史及其技术水平已经证明,人们可以将网络设计得相当可靠);另一种则坚决主张由用户的主机负责数据传输的可靠性,理由是这样可使计算机网络便宜、灵活。
计算机网络的先驱认为,计算机网络和电信网的一个重大区别是终端设备的性能差别很大。于是他们采用了“端到端的可靠传输”策略,即在传输层是使用面向连接的TCP协议,这样既能使网络部分价格便宜且灵活可靠,又能保证端到端的可靠传输。

5、端到端通信和点到点通信有什么区别?
从本质上说,由物理层、数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务,而传输层为网络中的主机提供端到端的通信。
直接相连的结点之间的通信称为点到点通信,它只提供一台机器到另一台机器之间的通信,不涉及程序或进程的概念。同时,点到点通信并不能保证数据传输的可靠性,也不能说明源主机与目的主机之间是哪两个进程在通信,这些工作都是由传输层来完成的。
端到端通信建立在点到点通信的基础上,它是由一段段的点到点通信信道构成的,是比点到点通信更高一级的通信方式,以完成应用程序(进程)之间的通信。“端”是指用户程序的端口,端口号标识了应用层中不同的进程。