第 1 章 概 述

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

1.1.1  计算机网络的定义

1.电信网络  有线电视网络  计算机网络

2.如何称呼 Internet? 因特网:推荐,但却长期未得到推广。 互联网:目前流行最广,事实上的标准译名。

互联网 ≠互连网。 互连网:局部范围互连起来的计算机网

1.1.2  计算机网络的特点

3.互联网的 2 个重要基本特点

连通性 (connectivity)  使上网用户之间可以非常便捷、非常经济地交换各种信息 好像这些用户终端都彼此直接连通一样。

资源共享 (Sharing)  实现信息共享、软件共享、硬件共享。 由于网络的存在,这些资源好像就在用户身边一样地方便使用。

1.2 互联网概述

1.2.1 网络的网络

计算机网络: 由若干节点(node)和连接这些节点的链路(link)组成。

节点可以是计算机、集线器、交换机或路由器等。

互连网 (internetwork 或 internet): 多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更大的计算机网络。 “网络的网络”(network of networks)。互连网:把许多网络通过一些路由器连接在一起。与网络相连的计算机常称为主机。

用“云”表示网络:主机在“云”外

网络:把许多计算机连接在一起。

互连网 (internet) ≠ 互联网 (Internet)

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

第一阶段:1969 – 1990  从单个网络 ARPANET 向互联网发展。

ARPANET:最初只是一个单个的分组交换网,不是一个互连网。

1983 年,TCP/IP 协议成为 ARPANET 上的标准协议,使得所有使用 TCP/IP 协议的计算机都能利用互连网相互通信。 人们把 1983 年作为互联网的诞生时间。 1990 年,ARPANET 正式宣布关闭。

第二阶段:1985 – 1993 建成了三级结构的互联网 。

国家科学基金网 NSFNET。 三级结构:主干网、地区网和校园网(或企业网)。 覆盖了全美国主要的大学和研究所,并且成为互联网中的主要组成部分。

第三阶段:1993 – 现在 全球范围的多层次 ISP 结构的互联网。

出现了互联网服务提供者 ISP (Internet Service Provider): 提供接入到互联网的服务。 需要收取一定的费用。

多层次 ISP 结构: 主干 ISP、地区 ISP 和本地 ISP。 覆盖面积大小和所拥有的 IP 地址数目的不同

互联网交换点 IXP (Internet eXchange Point):允许两个网络直接相连并快速交换分组。 常采用工作在数据链路层的网络交换机。 世界上较大的 IXP 的峰值吞吐量都在 Tbit/s 量级。

内容提供者 (Content Provider):在互联网上向所有用户提供视频等内容的公司。不向用户提供互联网的转接服务。

20 世纪 90 年代:万维网 WWW 的问世:由欧洲原子核研究组织 CERN 开发。 成为互联网指数级增长的主要驱动力。 2019 年 3 月底,互联网的用户数已超过了 43.8亿。

1.2.3 互联网的标准化工作

标准发表:以 RFC 的形式

RFC:Request For Comments (请求评论)。

所有的 RFC 文档都可从互联网上免费下载。

任何人都可以用电子邮件随时发表对某个文档的意见或建议。

但并非所有的 RFC 文档都是互联网标准。只有很少部分的 RFC 文档最后才能变成互联网标准。 RFC 文档按发表时间的先后编上序号(即 RFCxxxx,xxxx 是阿拉伯数字)。

标准化过程

 1.3 互联网的 组成

1.3.1   互联网的边缘部分

从互联网的工作方式上看,可以划分为两大块:

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

核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)。

处在互联网边缘部分的就是连接在互联网上的所有的主机。这些主机又称为端系统 (end system)。 端系统在功能上可能有很大差别:

小的端系统:普通个人电脑、智能手机、网络摄像头等。

大的端系统:非常昂贵的大型计算机或服务器。

端系统的拥有者:可以是个人、单位、或某个 ISP。 

“计算机之间通信”的含义

实际上是指: 主机 A 的某个进程和主机 B 上的另一个进程进行通信。

端系统之间的两种通信方式

客户/服务器方式  Client / Server 方式 简称为 C/S 方式

客户/服务器方式所描述的是进程之间服务和被服务的关系。

客户是服务的请求方,服务器是服务的提供方。

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

客户程序和服务器程序主要特点

客户程序

被用户调用后运行,需主动向远地服务器发起通信(请求服务)。必须知道服务器程序的地址。 不需要特殊的硬件和很复杂的操作系统。

服务器程序

专门用来提供某种服务的程序,可同时处理多个客户请求。

一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。不需要知道客户程序的地址。 一般需要强大的硬件和高级的操作系统支持。

对等方式   Peer to Peer 方式 简称为 P2P 方式

两台主机在通信时不区分服务请求方和服务提供方。

只要都运行了 P2P 软件,就可以进行平等的、对等连接通信。

对等连接方式从本质上看仍然是使用客户服务器方式,只是对等连接中的每一个主机既是客户又是服务器。

1.3.2   互联网的核心部分

典型交换技术包括: 电路交换 分组交换 报文交换 等。

互联网的核心部分采用分组交换技术。

电路交换

1. 电路交换的主要特点

2. 使用交换机

当电话机的数量增多时,使用电话交换机将这些电话连接起来。

每一部电话都直接连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。 这种交换方式就是电路交换 (circuit switching)。 

3.“交换 (switching)”的含义

转接:把一条电话线转接到另一条电话线,使它们连通起来。
从通信资源的分配角度来看,就是按照某种方式动态地分配传输线路的资源。 


4.电路交换特点 

分为三个阶段:

建立连接:建立一条专用的物理通路(占用通信资源)。

通话:主叫和被叫双方互相通电话(一直占用通信资源)。

释放连接:释放刚才使用的专用的物理通路(归还通信资源)。

这种必须经过“建立连接(占用通信资源)、通话(一直占用通信资源)、释放连接(归还通信资源)”三个步骤的交换方式称为电路交换。

电路交换特点:

1.通话的两个用户始终占用端到端的通信资源

2.采用存储转发技术。

在发送端,先把较长的报文划分成更小的等长数据段。

数据段前面添加首部就构成了分组 (packet)。

分组交换以“分组”作为数据传输单元

互联网采用分组交换技术。分组是在互联网中传送的数据单元。

发送端依次把各分组发送到接收端。

接收端收到分组后剥去首部,还原成原来的报文

假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。

分组交换

根据首部中包含的目的地址、源地址等重要控制信息进行转发。

每一个分组在互联网中独立选择传输路径。

位于网络核心部分的路由器负责转发分组,即进行分组交换。

路由器要创建和动态维护转发表。

在路由器 A 暂存 查找转发表 找到转发的端口 转发

在路由器 C 暂存 查找转发表 找到转发的端口 转发

在路由器 E 暂存 查找转发表 找到转发的端口 转发

最后到达目的主机 H5

分组交换的优点

分组交换带来的问题

排队延迟:分组在各路由器存储转发时需要排队。

不保证带宽:动态分配。

增加开销:各分组必须携带控制信息;路由器要暂存分组,维护转发表等。

报文交换

在 20 世纪 40 年代,电报通信就采用了基于存储转发原理的报文交换 (message switching)。 但报文交换的时延较长,从几分钟到几小时不等。 现在报文交换已经很少有人使用了。

三种交换方式的比较

1.若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。

2.报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。

3.由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

1.4  计算机网络在我国的发展(略)

1.5 计算机网络的类别

1.5.1     计算机网络的定义

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

1.“可编程的硬件”表明:这种硬件一定包含有中央处理器 CPU。

2.计算机网络所连接的硬件包括: 一般的计算机; 智能手机、电视 等。

3计算机网络可以: 传送数据; 支持多种应用(包括今后可能出现的各种应用)。

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

可以按以下方法分类:

(1) 按照网络的作用范围进行分类;

 若中央处理机之间的距离非常近(如仅 1 米甚至更小些),则一般就称之为多处理机系统,而不称它为计算机网络。

(2)按照网络的使用者进行分类;

公用网和专用网都可以传送多种业务。如传送的是计算机数据,则分别是公用计算机网络和专用计算机网络。 

(3)用来把用户接入到互联网的网络。

接入网 AN (Access Network)

又称为本地接入网或居民接入网。 用于将用户接入互联网。

实际上就是本地 ISP 所拥有的网络,它既不是互联网的核心部分,也不是互联网的边缘部分。

是从某个用户端系统到本地 ISP 的第一个路由器(也称为边缘路由器)之间的一种网络。

从覆盖的范围看,很多接入网还是属于局域网。

1.6 计算机网络的性能

1.6.1   计算机网络的性能指标

1. 速率

最重要的一个性能指标。

指的是数据的传送速率,也称为数据率 (data rate) 或比特率 (bit rate)。

单位:bit/s,或 kbit/s、Mbit/s、 Gbit/s 等。     例如 4  1010  bit/s 的数据率就记为 40 Gbit/s。 速率往往是指额定速率或标称速率,非实际运行速率。

2. 带宽 (bandwidth) 

频域

某个信号具有的频带宽度。

单位是赫(或千赫、兆赫、吉赫等)。

某信道允许通过的信号频带范围称为该信道的带宽(或通频带)。

时域

网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的“最高数据率”。

单位就是数据率的单位 bit/s。

两者本质相同。 一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。

3. 吞吐量 (throughput)

单位时间内通过某个网络(或信道、接口)的实际数据量。

受网络的带宽或网络的额定速率的限制。

额定速率是绝对上限值。

可能会远小于额定速率,甚至下降到零!

有时可用每秒传送的字节数或帧数来表示。

4. 时延 (delay 或 latency)

指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。

有时也称为延迟或迟延。

组成: (1)发送时延

也称为传输时延。 是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

(2)传播时延

是电磁波在信道中传播一定的距离需要花费的时间。

电磁波传播速率: 自由空间的传播速率是光速 = 3.0 ⅹ 105 km/s 在铜线电缆中的传播速率约 = 2.3 ⅹ 105 km/s 在光纤中的传播速率约 = 2.0 ⅹ 105 km/s

注意:发送时延与传播时延有本质上的不同。

发送时延发生在机器内部的发送器中,与传输信道的长度(或信号传送的距离)没有任何关系。 传播时延则发生在机器外部的传输信道媒体上,而与信号的发送速率无关。信号传送的距离越远,传播时延就越大。

(3)处理时延

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

(4)排队时延

分组在路由器输入输出队列中排队等待处理和转发所经历的时延。

排队时延的长短往往取决于网络中当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大。

 一般说来,小时延的网络要优于大时延的网络。 在某些情况下,一个低速率、小时延的网络很可能要优于一个高速率但大时延的网络。在总时延中,究竟是哪一种时延占主导地位,必须具体分析。

以下说法是错误的: “在高速链路(或高带宽链路)上,比特会传送得更快些”。

对于高速网络链路,我们提高的仅仅是数据的发送速率,而不是比特在链路上的传播速率。

提高数据的发送速率只是减小了数据的发送时延。

结点 A 要将一个数据块通过 1000 km 的光纤链路发送给结点 B。假设忽略处理时延和排队时延。请分别计算下列情况时的总时延,并验证“数据的发送速率越高,其传送的总时延就越小”的说法是否正确。

(1)数据块大小为 100 MB,信道带宽为 1 Mbit/s

(2)数据块大小为 100 MB,信道带宽为 100 Mbit/s

(3)数据块大小为 1 B,信道带宽为 1 Mbit/s

(4)数据块大小为 1 B,信道带宽为 1 Gbit/s

解:    

 5. 时延带宽积

链路的时延带宽积又称为以比特为单位的链路长度。 管道中的比特数表示从发送端发出但尚未到达接收端的比特数。 只有在代表链路的管道都充满比特时,链路才得到了充分利用。

6. 往返时间 RTT (Round-Trip Time) 

表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。

在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。

当使用卫星通信时,往返时间 RTT 相对较长,此时,RTT 是很重要的一个性能指标。 

 

 

7. 利用率

信道利用率

某信道有百分之几的时间是被利用的(即有数据通过)。 完全空闲的信道的利用率是零。

网络利用率

全网络的信道利用率的加权平均值。

时延与网络利用率的关系

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

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

1.提出了不同体系结构

最初的 ARPANET 设计时提出了分层的设计方法。

分层:将庞大而复杂的问题,转化为若干较小的局部问题。

1974 年,IBM 按照分层的方法制定并提出了系统网络体系结构 SNA (System Network Architecture) 。

此后,其他一些公司也相继推出了具有不同名称的体系结构。

但由于网络体系结构的不同,不同公司的设备很难互相连通。

2.国际标准:开放系统互连参考模型 OSI/RM

ISO (国际标准化组织) 提出的 OSI/RM (Open Systems Interconnection Reference Model) 是使各种计算机在世界范围内互连成网的标准框架。

OSI/RM 是个抽象的概念。

1983年,形成了著名的 ISO 7498 国际标准,即七层协议的体系结构。

3.但 ISO/OSI 失败了

基于 TCP/IP 的互联网已抢先在全球相当大的范围成功地运行了。

OSI 的专家们在完成 OSI 标准时没有商业驱动力;

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

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

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

3.存在两种国际标准

1.7.2 协议与划分层次

网络协议 (network protocol)

简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。

1.三个组成要素:

语法:数据与控制信息的结构或格式 。

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

同步:事件实现顺序的详细说明。

网络协议是计算机网络的不可缺少的组成部分。

2.协议的两种形式

文字描述:便于人来阅读和理解。

程序代码:让计算机能够理解。

层次式协议结构

ARPANET 的研制经验表明:对于非常复杂的计算机网络协议,其结构应该是层次式的。

划分层次的概念举例:两台主机通过网络传送文件

分层的优点与缺点

各层之间是独立的。 灵活性好。 结构上可分割开。 易于实现和维护 能促进标准化工作。

有些功能会重复出现,因而产生了额外开销。

注意:每一层的功能应非常明确。 层数太少,就会使每一层的协议太复杂。 层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。

各层完成的主要功能

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

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

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

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

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

计算机网络的体系结构

网络的体系结构 (Network Architecture) 是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。

实现 (implementation) 是遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题。

体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

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

应用层

任务:通过应用进程间的交互来完成特定网络应用。

协议:定义的是应用进程间通信和交互的规则。

把应用层交互的数据单元称为报文(message)。 例如:DNS,HTTP,SMTP

运输层

任务:负责向两台主机中进程之间的通信提供通用的数据传输服务。

具有复用和分用的功能。

主要使用两种协议: 传输控制协议 TCP 用户数据报协议 UDP 。

TCP (Transmission Control Protocol): 提供面向连接的、可靠的数据传输服务。 数据传输的单位是报文段 (segment)。

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

网络层

为分组交换网上的不同主机提供通信服务。 两个具体任务:

路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表。 转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器。

互联网使用的网络层协议是无连接的网际协议 IP  (Internet Protocol) 和许多种路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。

IP 协议分组也叫做 IP 数据报,或简称为数据报。

数据链路层

常简称为链路层。

任务:实现两个相邻节点之间的可靠通信。 在两个相邻节点间的链路上传送帧(frame)。

如发现有差错,就简单地丢弃出错帧。

如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层协议复杂。

物理层

任务:实现比特(0 或 1)的传输。

确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。

注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。

数据在各层之间的传递过程

重复上诉过程

对等层与协议数据单元

OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。

任何两个同样的层次把 PDU (即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”之间的通信。

各层协议实际上就是在各个对等层之间传递数据时的各项规定。

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

实体 (entity)

表示任何可发送或接收信息的硬件或软件进程。

协议

控制两个对等实体进行通信的规则的集合。 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。

要实现本层协议,还需要使用下层所提供的服务。

服务访问点 SAP

在同一系统中相邻两层的实体进行交互(即交换信息) 的地方,通常称为服务访问点 SAP (Service Access Point)。

SAP 是一个抽象的概念,它实际上就是一个逻辑接口。

OSI 把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit)。

SDU 可以与 PDU 不一样。 例如:可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。

相邻两层之间的关系

1.7.5TCP/IP 的体系结构

TCP/IP 体系结构

TCP/IP 体系结构的另一种表示方法

现在互联网使用的 TCP/IP 体系结构已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。

沙漏计时器形状的 TCP/IP 协议族

互联网中客户-服务器工作方式

同时运行多个服务器进程同时为多个客户进程提供服务

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值