admin 管理员组文章数量: 1087649
第 19 章 计算机网络体系结构
19.1 基本概念
19.1.1 计算机网络概述
1.计算机网络的定义、组成与功能
计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
计算机网络的定义如图 19 - 1 所示。计算机系统不仅仅指的是计算机,还可以表示 ipad、手机等可联网的设备。这些计算机系统并不是孤立的,它们需要通过通信设备以及线路连接起来,例如我们需要使用路由器和网线来充当通信设备以及线路。最后还需要安装上软件。一台刚刚出厂的计算机,是没有办法和别人进行通信的,需要安装上浏览器、微信等软件才可以通信。2.计算机网络的分类
计算机网络可以根据不同的划分标准,分为不同的类别。
按照覆盖范围的不同,计算机网络可以分为广域网、城域网和局域网。按照拓扑结构的不同,计算机网络可分为总线、星形、环形、网状等多种类型。按照交换技术的不同,计算机网络也可以分为电路交换网络、报文交换网络和分组交换网络。3.计算机网络主要性能指标
了解了计算机网络的定义之后,接下来就会带来一个问题:如何去评价一个计算机网络的质量好不好?
在日常生活中,我们可能会用测网速的方式衡量计算机网络质量的优劣,实际上网速也是一个衡量标准,但也不能仅只有这一个标准。我们可以使用性能指标去对计算机网络进行描述和评价。下面介绍一些常见的性能指标。
(1)速率:计算机网络上主机在数字信道上传送数据的速率,也称为数据率(data rate)。它表示的是单位时间(秒)传输信息(比特)量,单位是 b/s 或(bps),kb/s,Mb/s,Gb/s。例如,当速率为 10 kb/s 时,代表一秒钟可以传输 10 000 比特的数据。
(2)带宽:带宽有两种定义 —— 频带宽度和网络带宽。① 频带宽度:“带宽” 原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)(在奈氏定理和香农定理中会用到)。
② 网络带宽:表示在单位时间内从网络中的某一点到另一点所能通过的 “最高数据率”,单位为 b/s。当带宽表示这个意思时,和速率是一样的。
(3)吞吐量:表示在单位时间内通过某个网络(或信道、接口)的数据量,单位为 b/s,kb/s 和 Mb/s。吞吐量受网络的带宽或网络的额定速率的限制。这里注意区分吞吐量和带宽的区别。带宽指的是最高数据率,是一个理想情况下的速率;而吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量通过网络。
(4)时延:是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间,单位是 s。总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。发送时延、传播时延、处理时延和排队时延如图 19 - 2 所示。① 发送时延:主机或路由器发送数据帧所需要的时间,即从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
② 传播时延:电磁波在信道中传播一定的距离需要花费的时间。
③ 处理时延:主机或路由器在收到分组时要花费一定的时间进行处理。
④ 排队时延:分组在进入路由器后要先在输入队列中排队等待处理。排队时延的长短往往取决于网络当时的通信量。
(5)时延带宽积:把传播时延和带宽相乘,即时延带宽积 = 传播时延 × 带宽。单位为 b,kb,Mb。
(6)利用率:计算机网络中的利用率主要有信道利用率和网络利用率两种。信道利用率 = 有数据通过的时间 /(有数据通过的时间 + 没有数据通过的时间)
网络利用率:网络利用率是全网络的信道利用率的加权平均值。
19.1.2 计算机网络体系结构
1.计算机网络分层结构
接下来我们思考,作为一名程序员,应如何去实现一个计算机网络?
计算机网络包括的内容很多,当它是一个整体的时候我们无从下手,这时就需要将其化整为零,将一个庞大的计算机网络系统划分为多个小的模块,让不同的模块去实现不同的事情,再让各个模块相互交互。这就是计算机网络的分层思想。
分层有以下好处。①.各层之间是独立的。
②.灵活性好。
③.结构上可分割开,各层都可以采用最合适的技术来实现。
④.易于实现和维护。
⑤.能促进标准化工作。
2.计算机网络协议、接口、服务等概念
为了描述一个分层,可以对协议、接口和服务这 3 个名词进行定义。协议、接口和服务如图 19 - 3 所示。(1)协议:在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则就是协议。协议主要由以下 3 个要素组成。
1.语法:数据与控制信息的结构或格式。
2.语义:需要发出何种控制信息、完成何种动作以及做出何种响应。
3.同步:事件实现顺序的详细说明。
(2)接口:在网络分层结构中,相邻两层之间存在一个接口,它是较低层次向较高层次提供服务的入口。
(3)服务:为保证上层对等体之间能相互通信,下层向上层提供的功能。
记住一点:协议是 “水平的”,即协议是控制对等实体之间通信的规则。但服务是 “垂直的”,即服务是由下层向上层通过层间接口提供的。两个第 n 层的实体使用第 n 层的协议进行通信,并通过接口对第 n + 1 层的实体提供服务。3.ISO/OSI 参考模型和 TCP/IP 参考模型
ISO/OSI 参考模型(见图 19 - 4)是一个法定标准,由国际标准化组织提出,可以支持异构网络系统的互联互通。该模型分为 7 层。
1.应用层:ISO/OSI 参考模型中最靠近用户的一层,它直接提供文件传输、电子邮件、网页浏览等服务给用户。
2.表示层:处理两个应用实体之间进行数据交换的语法问题,解决数据交换中存在的数据格式不一致以及数据表示方法不同等问题。如加密解密、转换翻译、压缩以及解压缩等。
3.会话层:不同机器上的用户之间建立和管理会话。
4.传输层:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。
5.网络层:为处在不同网络系统中的两个结点设备通信提供一条逻辑通路。其基本任务包括路由选择、拥塞控制与网络互联等功能。
6.数据链路层:负责在两个相邻结点之间,无差错地传送以 “帧” 为单位的数据。每一帧包括一定数量的数据和若干控制信息。
7.物理层:传输二进制位流,即透明的传输比特。
如图 19 - 5 所示,TCP/IP 参考模型是一个事实模型,该模型分为 4 层,包含应用层、传输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题)。不过从实质上讲,TCP/IP 参考模型只有最上面的 3 层,因为最下面的网络接口层并没有什么具体内容。
1.应用层:等同于 ISO/OSI 参考模型的会话层 + 表示层 + 应用层。它是最靠近用户的一层,为用户提供各种服务。
2.传输层:负责应用进程之间的端 - 端通信,和 ISO/OSI 参考模型的传输层类似,只是 ISO/OSI 参考模型的传输层只支持面向连接的通信;而 TCP/IP 参考模型的传输层支持无连接和面向连接的通信。
3.网际层:等同于 ISO/OSI 参考模型的网络层的无连接网络服务(ISO/OSI 参考模型的网络层可以提供无连接的服务,也可以提供有连接的服务)。
4.网际接口层:等同于 ISO/OSI 参考模型的数据链路层 + 物理层。它负责通过网络发送和接收 IP 数据报。
在学习计算机网络原理时,往往采取折中的办法,即综合 OSI 和 TCP/IP 参考模型的优点,采用一种只有 5 层协议的体系结构(上 3 层来自 TCP/IP 参考模型,下两层来自 ISO/OSI 参考模型),如图 19 - 6 所示。这样既简洁又能将概念阐述清楚。所以在后面的章节中,将按照物理层、数据链路层、物理层、运输层(传输层)和应用层的顺序进行讲解。
19.2 计算机网络概述精选习题与解析
19.2.1 精选习题
1.计算机网络是分布在不同地理位置的多个独立的自治计算机的集合,下列关于计算机网络的划分以及划分所使用的技术,说法正确的是( )。
Ⅰ. 计算机网络分为广域网、局域网和城域网,其划分的主要依据是网络的作用范围
Ⅱ. 在较小范围内布置的一定是局域网,而在较大范围内布置的一定是广域网
Ⅲ. 分布在一座大楼或一集中建筑群中的网络可称为局域网
Ⅳ. 子网掩码用于将一个 IP 地址划分为网络地址和主机地址
Ⅴ. CIDR(无类别域间路由)是一种网络划分和地址分配的方案
Ⅵ. VLAN(虚拟局域网)是一种逻辑上的网络划分方法,允许在同一物理网络上创建多个虚拟局域网
Ⅶ. 网关只是用于连接两个不同网络,进行数据传输的设备
A. Ⅰ,Ⅱ,Ⅴ,Ⅵ
B. Ⅰ,Ⅲ,Ⅳ,Ⅴ,Ⅵ
C. Ⅰ,Ⅳ,Ⅴ,Ⅵ,Ⅶ
D. Ⅱ,Ⅲ,Ⅳ,Ⅴ,Ⅵ,Ⅶ1.答案:B。
计算机网络按覆盖范围分为广域网、城域网、局域网。广域网的覆盖范围通常是直径为几十千米到几千千米的区域,城域网的覆盖区域直径范围是 5 - 50 km,局域网的覆盖范围较小,通常是直径为几十米到几千米的区域。因此 Ⅰ 正确。
广域网和局域网之间的差异不仅在于它们所覆盖范围的不同,还在于它们所采用的协议和网络技术的不同,广域网使用点对点等技术,局域网使用广播技术。区别局域网与广域网的关键在于所采用的协议,而非覆盖范围。因此 Ⅱ 错误。
局域网主要是指小范围内的计算机互联网络。这个 “小范围” 可以是一个家庭、一所学校、一家公司,或者是一个政府部门。因此 Ⅲ 正确。
子网掩码用于将一个 IP 地址划分为网络地址和主机地址。子网掩码与 IP 地址结合使用,可以确定主机所属的网络。这是网络划分的重要概念。因此 Ⅳ 正确。
CIDR(无类别域间路由)是一种网络划分和地址分配的方案,它通过将 IP 地址分为网络前缀和主机标识部分,灵活地分配 IP 地址,以适应不同规模和需求的网络。这是网络划分的一种常见方式,是正确的。因此 Ⅴ 正确。
VLAN(虚拟局域网)是一种逻辑上的网络划分方法,它可以在同一物理网络上创建多个虚拟局域网。通过 VLAN,可以将不同的设备划分到不同的虚拟局域网中,实现逻辑上的隔离和管理。这也是网络划分的一种常见方式,因此 Ⅵ 正确。
网关不仅仅用于连接两个不同网络进行数据传输,还可以用于连接一个局域网到互联网或连接一个网络到另一个网络。网关是一个网络结点,负责在不同网络之间进行数据转发和协议转换。因此,网关不仅仅限于连接两个不同网络之间的数据传输,还可以在网络中起到重要的中继和转发作用。因此 Ⅶ 错误。
综上所述,答案选择 B。2.下列关于计算机网络拓扑结构,说法错误的是( )。
A. 计算机网络拓扑主要是指通信子网结点之间连接的结构,其中,星形拓扑中各结点的分布处理能力较弱
B. 广域网的拓扑结构通常采用总线
C. 总线拓扑不能保证信息的及时传送,且不具有实时功能
D. 总线拓扑具有经济性、简单性和灵活性,但其共享带宽的特点可能会导致性能瓶颈2.答案:B。
网络拓扑结构是指由网中结点(路由器、主机等)与通信线路(网线)之间的几何关系(如总线、环形)表示的网络结构,主要指通信子网的拓扑结构。按网络的拓扑结构,主要分为总线、星形、环形和网状网络等。星形网络便于集中控制和管理,因为端用户之间的通信必须经过中央设备,因此各结点分布处理能力较弱。因此 A 正确。
广域网覆盖范围较广、结点较多,为了保证可靠性和可扩展性,通常需采用网状结构。星形、总线和环形网络多用于局域网。因此 B 错误,答案选择 B。
总线拓扑结构的各结点要介质访问控制功能,不能保证消息的及时传送,不具有实时功能。因此 C 正确。
总线结构使用共享的传输介质(总线),可以减少物理布线的成本。由于所有结点都连接到同一个总线,故障检测和故障处理相对较为容易。除此之外,还可以根据需求轻松地添加或删除结点,而无须对整个拓扑结构进行大规模更改。总线结构中的结点之间通信需要共享总线带宽,可能会导致性能瓶颈。因此 D 正确。3.下列关于计算机网络的组成,说法正确的是( )。
Ⅰ. 一个完整的计算机网络主要由硬件、软件、通信介质三大部分组成
Ⅱ. 计算机网络可以从工作方式上分为边缘部分和核心部分,边缘部分由所有连接到网络上的主机组成,核心部分由网络和路由器组成
Ⅲ. 通信子网用来进行数据传输,资源子网用来提供共享服务,并且通信子网位于资源子网的下层
Ⅳ. 计算机网络的核心是协议,它的作用类似于交通规则
A. Ⅱ,Ⅳ
B. Ⅰ,Ⅲ
C. Ⅰ,Ⅳ
D. Ⅱ,Ⅲ,Ⅳ3.答案:D。
计算机网络主要由硬件、软件和协议 3 大部分组成。硬件包括主机、通信链路、交换设备和通信处理机等;软件包括各种实现资源共享的软件和方便用户使用的各种工具软件;协议是计算机网络的核心,规定了网络传输数据时所遵循的规范。因此 Ⅰ 错误。
计算机网络从工作方式上可分为边缘部分和核心部分。边缘部分由所有连接到网络上的主机组成,用来进行通信和资源共享;核心部分由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务。因此 Ⅱ 正确。
计算机网络由通信子网和资源子网组成。通信子网由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交换、控制和存储的能力,实现连网计算机之间的数据通信;资源子网是实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。其中,通信子网对应于低三层(物理层、数据链路层、网络层),资源子网对应于高三层(会话层、表示层、应用层)。因此通信子网位于资源子网下层。因此 Ⅲ 正确。
计算机网络的核心是协议,它的作用类似于交通规则。协议是计算机网络的核心,规定了网络传输数据时所遵循的规范,起到了类似于交通规则的作用。因此 Ⅳ 正确。
综上所述,答案选择 D。4.性能指标从不同方面度量计算机网络的性能。关于常用性能指标,下列说法错误的是( )。
A. 带宽指数字信道最高数据传输率。传输时延 = 信道长度 / 电磁波在信道上的传播速率
B. 往返时延包括中间节点的处理时延、排队时延和发送时延
C. 网络抖动可以使用数据从发送端到接收端所需的时间的变化范围来描述
D. 网络吞吐量是指在单位时间内通过网络传输的数据量或信息量,是衡量网络传输能力的指标4.答案:A。
在计算机网络中,带宽表示网络的通信线路所能传送数据的能力,是数字信道所能传送的 “最高数据传输率” 的同义语。传输时延又称发送时延,是主机或路由器发送数据帧所需的时间,即从数据帧的第 1 比特算起,到该数据帧的最后 1 比特发送完毕所需要的时间。计算公式是:发送时延 = 数据帧长度 / 信道带宽。传播时延是电磁波在信道中传播一定的距离所花费的时间。计算公式是:传播时延 = 信道长度 / 电磁波在信道上的传播速率。这里应注意区分传输时延和传播时延,因此 A 选项错误,答案选择 A。
往返时延指从发送端发出一个短分组,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认),总共经历的时延。在互联网中,除了传播时延,往返时延还包括各中间结点的处理时延、排队时延及转发数据时的发送时延。因此 B 正确。
网络抖动是指数据从发送端到接收端所需的时间的变化范围。它衡量了网络传输的时延变化情况,用于描述数据包之间的不稳定性或波动性。因此 C 正确。
网络吞吐量是指在计算机网络中,在单位时间内通过网络传输的数据量或信息量。它是衡量网络传输能力的指标,表示网络在特定时间段内能够传输的数据量大小。网络吞吐量通常以每秒传输的数据位数、字节数或帧数来表示。较高的网络吞吐量意味着网络具有更大的传输能力,能够在较短的时间内传输更多的数据。因此 D 正确。5.主机 A 和主机 B 由一条带宽为 100 Mb/s、长度为 M m 的链路互连,信号传播速率为 250 000 km/s。假设主机 A 从 t = 0 时刻开始向主机 B 发送分组,分组长度为 512 bit,使带宽时延积刚好为一个分组长度的链路长度 M 是( )。(1 k = 10³,1 M = 10⁶)
A. 512 km
B. 5.12 km
C. 1280 km
D. 1.28 km5.答案:D。
时延带宽积是计算网络中传输性能的重要参数,用来衡量网络链路传输数据时的效率和延迟。它是指链路的传输时延和带宽的乘积,通常用比特(bit)或字节(byte)作为单位。计算如下。
时延带宽积 = 传播时延 × 带宽
512 = M/250 000 km/s×100 Mb/s
M = (512/100 000 000)×250 000 = 1.28 km6.在一个现实以太网的数据传输场景中,一台计算机发送一个数据包到另一台计算机,其间经过了 3 台路由器。其中发送端的发送速率为 100 Mb/s,数据包大小为 1500 bytes,物理链路的总长度为 500 m,信号传播速度为 2×10⁸ m/s,并且假设处理延迟为 2 ms,排队延迟为 1 ms,请计算数据包的总时延。
19.3 计算机网络体系结构精选习题与解析
19.3.1 精选习题
1.下列关于网络模型分层的说法,错误的是( )。
A. 网络分层需要提供标准语言,定义标准界面
B. 网络分层需要定义功能执行的方法,增加功能之间的独立性
C. 网络层负责实现数据的分组和路由选择
D. 应用层提供应用服务和功能,该层次是用户直接接触和使用的网络层次1.答案:B。
分层属于计算机网络的体系结构的范畴。计算机网络的各层及其协议的集合称为网络体系结构。网络体系结构是抽象的,不应该包括各层协议及功能的具体实现细节(定义功能执行的方法)。这些内部实现细节应该由工作人员完成,我们并不需要知道,因此分层并不需要定义功能执行的具体方法,B 错误,答案选择 B。
选项 A 是网络模型分层的目的。
对计算机网络模型进行分层的目的有以下几个。
(1)模块化设计:通过将整个网络系统划分为多个层次,可以将网络功能划分为不同的模块,使网络设计和开发更加模块化和可管理。每个层次负责特定的功能,使网络的设计、实现和维护变得更加简单和可扩展。
(2)接口统一:通过定义每个层次之间的接口和协议,使不同层次的组件可以相互交互和通信。每个层次定义了自己的服务和接口,上层使用下层提供的服务,从而实现了模块之间的统一和协作。
(3)独立性和可替换性:每个层次的实现是相对独立的,可以根据需要进行独立的改进、更新或替换,而不会对其他层次产生影响。这种独立性和可替换性使网络的发展和演进更加灵活和可控。
(4)简化复杂性:通过将网络功能划分为不同的层次,复杂的网络问题被分解为更小的、易于处理的子问题。每个层次关注特定的任务和功能,从而简化了整个网络系统的设计和管理。
(5)促进标准化:网络分层模型提供了一个框架和共同的术语,促进了网络技术的标准化和互操作性。每个层次的标准化有助于不同厂商和组织之间的协作和通信,提高了网络的互操作性和可扩展性。
总之,通过对计算机网络模型进行分层,可以实现模块化设计、接口统一、独立性和可替换性、简化复杂性以及促进标准化,从而提高网络的可管理性、可扩展性和可靠性。
根据计算机网络分层模型,不同层次有不同的功能和责任。具体如下。
(1)物理层:负责传输比特流,处理物理介质上的电信号转换。
(2)数据链路层:负责在相邻结点之间传输帧,提供点对点的可靠数据传输。
(3)网络层:负责数据的分组和路由选择,将数据从源主机传送到目的主机。
(4)传输层:负责端到端的可靠数据传输,提供进程之间的通信。
(5)应用层:提供了网络应用程序与网络基础设施之间的接口和交互。
具体而言,应用层为用户提供了各种网络应用服务和功能,如电子邮件、文件传输、远程登录、Web 浏览等。它是用户直接接触和使用的网络层次,通过应用层,用户可以进行各种网络活动和信息交流。2.下列关于计算机网络分层结构说法错误的是( )。
A. 两相邻层实体通过服务访问点(SAP)来交换数据
B. 协议数据单元(PDU) = 服务数据单元(SDU) + 协议控制信息(PCI)
C. 下一层的实现细节对上一层不透明
D. 一层内完成的功能并非都是该层所提供的服务2.答案:C。
同一结点相邻两层的实体通过服务访问点(SAP)进行交互。服务是通过 SAP 提供给上层使用的,第 n 层的 SAP 就是第 n + 1 层可以访问第 n 层服务的地方。因此 A 正确。
在计算机网络体系结构的各个层次中,每个报文都分为两部分:一是数据部分,即 SDU;二是控制信息部分,即 PCI。它们共同组成 PDU。因此 B 正确。
下一层所提供服务的实现细节对上一层透明,上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务。因此 C 错误,答案选择 C。
只有那些能够被高一层实体 “看得见” 的功能才能称为服务,因此 D 正确。3.为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,下列关于网络协议说法错误的是( )。
A. 协议由语法、语义和同步 3 部分组成
B. 协议可以是水平的,也可以是垂直的
C. 协议规定了线路的建立与释放
D. 结点 A 的传输层和结点 B 的网络层之间不存在协议3.答案:B。
网络协议主要由以下 3 个要素组成。① 语法:用户数据与控制信息的结构与格式。② 语义:需要发出何种控制信息,以及完成的动作与做出的响应。③ 时序:对事件实现顺序的详细说明。因此 A 正确。
协议是控制两个(或多个)对等实体进行通信的规则的集合,是水平的,因此 B 错误,答案选择 B。
一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能。因此 C 正确。
不对等实体之间是没有协议的,结点 A 的传输层和结点 B 的传输层之间存在协议,但是结点 A 的传输层和结点 B 的网络层之间不存在协议。因此 D 正确。4.物理层、数据链路层、网络层、传输层的传输单位(或 PDU)分别是( )。
Ⅰ. 帧
Ⅱ. 比特
Ⅲ. 报文段
Ⅳ. 数据报
A. Ⅰ,Ⅱ,Ⅳ,Ⅲ
B. Ⅱ,Ⅰ,Ⅳ,Ⅲ
C. Ⅰ,Ⅳ,Ⅱ,Ⅲ
D. Ⅲ,Ⅳ,Ⅱ,Ⅰ4.答案:B。
协议数据单元是指对等层次之间传递的数据单位。
物理层的 PDU 是数据位(bit)。
数据链路层的 PDU 是数据帧(frame)。
网络层的 PDU 是数据报(packet)。
传输层的 PDU 是报文段(segment)。
其他更高层次的 PDU 是报文(message)。5.在 OSI 参考模型中,当两台计算机进行通信时,希望可以使用加解密算法在二者之间建立一个安全连接,这个动作发生在( )。
A. 表示层
B. 会话层
C. 网络层
D. 应用层5.答案:B。
表示层主要处理在两个通信系统中交换信息的表示方式,包括数据格式的变换、数据的加密与解密、数据的压缩与恢复等功能。因此 A 错误。
会话层负责管理不同应用程序之间的会话连接,例如通过会话请求、会话建立和会话终止来调节会话。当两台计算机进行通信时,会层可以使用 SSL 或 TLS 协议进行握手,使用加、解密算法来交换会话密钥,从而建立安全连接。因此 B 正确。
网络层对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。因此 C 错误。
应用层是 OSI 参考模型的最高层,是用户与网络的界面。因此 D 错误。6.用户在网上银行和电子商务等场景中输入隐私信息(如密码)时,可以使用 OSI 参考模型第( )层的功能实现对隐私信息进行加、解密。
A. 4 B. 5 C. 6 D. 7
6.答案:C。
OSI 参考模型会话层和表示层都可以进行加、解密,但是它们的加、解密对象和目的不同。下面是它们的区别。
(1)加、解密对象不同。
会话层的加、解密对象是整个会话连接,它可以通过 SSL 和 TLS 等协议来提供安全连接服务。当客户端与服务器之间建立连接时,它们使用 SSL 或 TLS 协议进行握手,建立安全连接,并使用加、解密算法来交换密钥。之后,它们可以使用私钥和公钥加密算法来保护数据的传输安全性。
表示层的加、解密对象是数据表示格式,它可以通过加密算法对数据进行加密和解密,如使用 DES,3DES,AES,RSA 等加密算法进行数据加密。表示层的加密和解密主要用于数据格式转换、数据压缩和加密、数据加密和解密等方面,例如在电子商务、网上银行、电子邮件等场景中使用。
(2)加、解密目的不同。
会话层的加、解密目的是保护整个会话连接的安全性,包括数据的机密性、完整性和可靠性。会话层的加密和解密可以防止截获攻击、信息泄露、数据篡改和重放攻击等。
表示层的加解密目的是保护数据的安全性,包括数据的机密性和完整性。表示层的加密和解密可以用于数据压缩、数据加密、数据格式转换等方面,以保护数据的安全性和保密性。
综上所述,会话层和表示层都可以进行加、解密,但它们的加解密对象和目的不同。会话层主要用于保护整个会话连接的安全性,而表示层主要用于保护数据的安全性和保密性。
本题考查对隐私信息的加密,因此选择第 6 层表示层,答案选择 C 选项。7. 下列功能中,属于 OSI 参考模型的表示层提供的是( )。
A. 交互管理
B. 透明传输
C. 死锁管理
D. 文本压缩7.答案:D。
应用层是用户与网络的界面,提供交互管理,因此 A 错误。
物理层实现比特流的透明传输,因此 B 错误。
计算机网络不提供死锁管理,因此 C 错误。
表示层主要处理在两个通信系统中交换信息的表示方式,包括数据格式的变换、数据的加密与解密、数据的压缩与恢复等功能。因此 D 正确。8. 传输线上的位流信号同步,应属于下列 OSI 的( )处理。
A. 物理层
B. 网络层
C. LLC 层
D. 数据链路层8.答案:A。
第 1 层:物理层,负责原始的二进制传输,协议数据单元是 bit(比特流)。
第 2 层:数据链路层,负责介质访问,协议数据单元是 frame(帧)。
第 3 层:网络层,负责路由和转发,确定地址和最佳路径,协议数据单元是 packet(包)。
第 4 层:传输层,负责端到端连接,协议数据单元是 segment(段)。
第 5 层:会话层,互连主机通信。
第 6 层:表示层,数据表示。
第 7 层:应用层,为应用程序提供网络服务。
第 5 - 7 层为结点传输,负责发送和接收消息。
综上所述,负责比特流传输的只有物理层,因此答案选择 A 选项,物理层。9. 当数据由计算机 A 传送至计算机 B 时,不参与数据封装工作的是( )。
A. 物理层
B. 数据链路层
C. 应用层
D. 网络层9.答案:A。
物理层的作用是透明地传输比特流,不参与数据的封装,只是将帧给转换为比特流,A 正确。
数据链路层的功能包括封装成帧、差错控制、流量控制和传输管理,需要将网络层传递的数据报封装成帧,因此 B 错误。
应用层是 OSI 参考模型的最高层,是用户与网络的界面,需要将用户的输入封装成应用数据。因此 C 错误。
网络层对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能,需要将传输层传递的报文封装成数据报,因此 D 错误。10. 当一台计算机从 FTP 服务器下载文件时,在该 FTP 服务器上对数据进行封装的 5 个转换步骤是( )。
A. 数据、报文、IP 分组、数据帧、比特流
B. 数据、IP 分组、报文、数据帧、比特流
C. 报文、数据、数据帧、IP 分组、比特流
D. 比特流、IP 分组、报文、数据帧、数据10.答案:A。
FTP 服务器的数据要经过应用层、传输层、网络层、链路层才到达物理层,每个层次都对数据进行封装,对应的封装分别是数据、报文、IP 分组、数据帧,最后是比特。
封装的具体过程如下。
(1)应用层封装:FTP 服务器的应用层将文件数据进行封装,将文件内容划分为合适的数据块,并为每个数据块添加 FTP 应用层协议头部,以标识文件传输的相关信息,如文件名、文件大小等。
(2)传输层封装:封装完成后的 FTP 数据块将被传输层处理。传输层将 FTP 数据块进行分段,每个分段添加传输层协议头部,如 TCP 头部,以提供可靠的数据传输服务。传输层还负责将数据分段进行编号和排序,以确保数据的有序性和可靠性。
(3)网络层封装:传输层封装后的数据块将被网络层处理。网络层负责将数据块封装成数据报,每个数据报添加网络层协议头部,如 IP 头部,以标识源 IP 地址和目的 IP 地址,并进行路由选择。
(4)数据链路层封装:网络层封装后的数据包将被数据链路层处理。数据链路层负责将数据包封装成数据帧,每个数据帧添加数据链路层协议头部,如以太网头部,以标识源 MAC 地址和目的 MAC 地址,并进行数据帧的传输和接收。
(5)物理层封装:数据链路层封装后的数据帧将通过物理层进行传输。物理层负责将数据帧转换为比特流,并通过物理介质进行传输,如通过以太网电缆或无线信道进行传输。
综上所述,答案选择 A 选项。11. 计算机网络中有两个重要的参考模型,分别是 OSI 参考模型和 TCP/IP 参考模型。结合这两个参考模型,比较它们的异同,并分析它们在实际网络中的应用情况。
11.答案如下。
OSI 参考模型和 TCP/IP 参考模型都是用于描述计算机网络体系结构的参考模型,它们在组织网络协议和功能方面有着不同的设计思想和层次结构。
(1)结构层次。
OSI 参考模型:OSI 参考模型由 7 个层次组成,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
TCP/IP 参考模型:TCP/IP 参考模型由 4 个层次组成,分别是网际接口层、网际层、传输层和应用层。
(2)层次功能。
OSI 参考模型:每个层次有特定的功能,通过不同层次之间的协议交互实现数据传输和服务提供。每个层次负责不同的任务,如数据封装、路由选择、错误检测和纠正、数据格式转换等。
TCP/IP 参考模型:TCP/IP 参考模型的层次功能比较简化,每个层次的功能相对集成。网际接口层负责物理传输和数据链路管理,网际层负责数据传输和路由,传输层提供端到端的可靠数据传输,应用层提供应用程序的接口。
(3)协议套件。
OSI 参考模型:OSI 参考模型定义了一系列的协议标准,如 TCP,UDP,IP,Ethernet 等。每个层次都有对应的协议。
TCP/IP 参考模型:TCP/IP 参考模型是基于 TCP 和 IP 协议的网络体系结构,TCP 协议提供可靠的数据传输,IP 协议提供数据路由和分组传输。
(4)实际应用。
OSI 参考模型:OSI 参考模型在理论上提供了完备的网络体系结构,但在实际应用中并没有广泛采用。然而,OSI 的概念和思想对于理解网络协议和通信原理仍然具有重要意义。
TCP/IP 参考模型:TCP/IP 参考模型是实际网络中最常用的参考模型,广泛应用于互联网和大部分局域网。它的简化结构和实用性使其成为网络通信的主流。
综上所述,OSI 参考模型和 TCP/IP 参考模型在结构层次、层次功能、协议套件和实际应用方面存在差异。第 20 章 物理层
20.1 基本概念
20.1.1 通信基础
1.信道、信号、带宽、码元、波特、速率、信源与信宿等基本概念
码元是指用一个固定时长的信号波形(数字脉冲)代表不同离散数值的基本波形,是数字通信中数字信号的计量单位,这时长内的信号称为 k 进制码元,而该时长称为码元宽度。当码元的离散状态有 M 个时(M 大于 2),码元为 M 进制码元。
1 个码元可以携带多个比特的信息量。1 个 M 进制码元可以携带log2M个比特。例如,在使用二进制编码时,只有两种不同的码元,分别是 0 和 1。在使用四进制编码时,有 4 种不同的码元,分别是 00,01,10,11。
数据传输速率也叫数据率,表示单位时间内传输的数据量。可以用码元传输速率和信息传输速率表示。1.码元传输速率:别名码元速率、波形速率、调制速率、符号速率等,它表示单位时间内数字通信系统所传输的码元个数,也可称为脉冲个数或信号变化的次数,单位是波特(Baud)。1 波特表示数字通信系统每秒传输一个码元。
2.信息传输速率:别名信息速率、比特率等,表示单位时间内数字通信系统传输的二进制码元个数(即比特数),单位是比特 / 秒(b/s)。
码元传输速率和信息传输速率(波特率与比特率)的关系是:若一个码元携带 n bit 的信息量,则 M Baud 的码元传输速率所对应的信息传输速率为 M×n bit/s。
信道是信号的传输媒介。一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一条发送信道和一条接收信道。2.奈奎斯特定理与香农定理
对于信道来说,越好的信道所具备的数据传输速率越高,但是数据传输速率也是存在一个极限值的,这就是信道的极限容量。
我们通常会使用奈奎斯特定理和香农定理去计算信道的极限容量。
奈奎斯特定理:在理想低通(无噪声,带宽受限)条件下,为了避免码间串扰,极限码元传输速率为 2W Baud,W 是信道带宽,单位是 Hz,V 代表几进制码元率。
理想低通信道下的极限数据传输率 = 2Wlog2V(b/s)
香农定理:在带宽受限且有噪声的信道中,为了不产生误差,信息的数据传输速率有上限值。
信道的极限数据传输速率 = Wlog2(1+S/N)(b/s)3.编码与调制
信道如果按照传输的信号种类划分,可以分为模拟信道和数字信道。在实际生活中,这两种信号也是可以互相转换的。将数据转化成数字信号称为编码,将数据转化为模拟信号,称为调制。
由于数据也被分为两种,数字数据和模拟数据。因此,编码也被分为两种:一种是将数字数据转为数字信号的编码,另一种是将模拟数据转为数字信号的编码。
首先介绍第一种情况。将数字数据转为数字信号的编码方式如图 20 - 1 所示。对于第二种情况,将模拟数据转为数字信号的编码,常采用 PCM 脉冲编码方法。该方法一般需要 3 个步骤:采样、量化和编码。
(1)采样:按时间间隔进行采样。例如,每 1 s 进行一次采样(采样的频率被称为采样率)。
(2)量化:因为模拟信号本质上是一连串连续的值,我们可以对这些值进行等级划分(量化的等级),这样步骤一的采集到的样品就可以被划分到不同的等级。
(3)编码:量化步骤中的不同等级可以表示不同的编码。连续的模拟信号最终可以转换 0101 的数字信号。
调制有 3 种基本方法,即调相、调频和调幅,如图 20 - 2 所示。4.电路交换、报文交换与分组交换
众所周知,信号是在信道中传输的,那么信号在信道里是如何进行传输的?是一次性发送,还是一点点发送?这就涉及数据的交换方式。
常见的交换方式有 3 种,分别是电路交换、报文交换和分组交换,如图 20 - 3 所示。(1)电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
(2)报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
(3)分组交换:单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。
5. 数据报与虚电路
分组交换也会模仿打电话所使用的面向连接的通信方式,这种方式被称为虚电路(VC)。
如图 20 - 4 所示,当两台计算机进行通信时,先建立连接,即在分组交换中建立一条虚电路,以预留双方通信所需的一切网络资源;然后双方就沿着已建立的虚电路发送分组;等分组传输完成后,再断开虚电路。
分组交换还有一种数据报的方式:网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。
图 20 - 5 给出了网络提供数据报服务的示意图。主机 H1 向 H2 发送的分组各自独立地选择路由,并且在传送的过程中还可能丢失。20.1.2 传输媒体
1.双绞线、同轴电缆、光纤与无线传输媒体
传输媒体可分为两大类,即导引型传输媒体和非导引型传输媒体。在导引型传输媒体中,电磁波被导引沿着固体媒体(铜线或光纤)传播,而非导引型传输媒体是指自由空间,在非导引型传输媒体中电磁波的传输常称为无线传输。
双绞线:是一种导引型传输媒体,也称为双扭线,是最古老但又是最常用的传输媒体。把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合起来就构成了双绞线。绞合可减少对相邻导线的电磁干扰。
同轴电缆:是一种导引型传输媒体,由内导体铜质芯线(单股实心线或多股绞合线)、绝缘层、网状编织的外导体屏蔽层(也可以是单股的)以及保护塑料外层所组成。
光纤通信:是一种导引型传输媒体,利用光导纤维(简称光纤)传递光脉冲来进行通信。有光脉冲表示 1,无光脉冲表示 0。而可见光的频率约为 108 MHz,因此光纤通信系统的带宽远远大于目前其他各种传输媒体的带宽。
利用无线电波在自由空间的传播就可较快地实现多种通信。由于这种通信方式不使用之前介绍的各种导引型传输介质,因此就将自由空间称为 “非导引型传输媒体”。
根据频段划分,常见非导引型传输媒体有短波通信、无线电微波通信、红外通信、激光通信,甚至可以使用两台距离较近的主机相互传输数据。2.物理层接口的特性
可以看到,在物理层中传输媒体和通信手段都有多种方式,可以使用电路交换的通信手段,也可以采用分组交换的通信手段,那么物理层如何向上层屏蔽这些区别呢?这就需要使用物理层的 4 个接口特性。
可以将物理层的主要任务描述为确定与传输媒体的接口有关的一些特性,具体如下。机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等。平时常见的各种规格的接插件都有严格的标准化规定。
电气特性:指明在接口电缆的各条线上出现的电压的范围。
功能特性:指明某条线上出现的某一电平电压的意义。
过程特性:指明对于不同功能的各种可能事件的出现顺序。
通过定义这 4 个接口特性,可以描述物理层的主要任务,从而屏蔽传输媒体和通信手段的区别。20.1.3 物理层设备
1.中继器
了解了物理层的 4 个接口特性之后,接着学习使用这 4 个接口特性的物理层设备。
物理层设备有两个,中继器(转发器)和集线器,如图 20 - 6 所示。中继器(转发器)可以解决信号在传递过程中存在损耗、逐渐衰减的问题,它能对信号进行再生和还原,对衰减的信号进行放大,保持与原数据相同,以增加信号传输的距离,延长网络的长度。
2. 集线器
集线器实质上是一个多端口的中继器,工作在物理层。它可以对信号进行再生放大转发,对衰减的信号进行放大,接着转发到其他所有(除输入端口外)处于工作状态的端口上,以增加信号传输的距离,延长网络的长度。它不具备信号的定向传送能力,是一个共享式设备。
由于集线器具有将收到的信号转发给除输入端口外的所有端口的特点,所以它并不能分割冲突域和广播域。20.2 通信基础精选习题与解析
20.2.1 精选习题
1.下列说法错误的是( )。
A. 衡量网络上数据传输速率的单位是 bps,其含义是每秒钟传输构成数据代码的二进制比特数
B. 波特率等于每秒可能发生的信号变化次数
C. 比特率表示单位时间内数字通信系统传输的二进制码元个数
D. 若一个码元携带 n 比特的信息量,则 M 波特率的码元传输速率所对应的信息传输速率为 M/n(b/s)1.答案:D
bps 的全称为 bit per second,译为比特每秒,即每秒传送多少个二进制位。在网络技术中,速率是指数据的传输速率。因此 A 正确。
码元传输速率又称波特率,表示单位时间内数字通信系统所传输的码元个数,也可称为脉冲个数或信号变化的次数。因此 B 正确。
比特率表示单位时间内传送比特的数目,用于衡量数字信息的传送速度,因此 C 正确。
码元传输速率与信息传输速率在数量上有一定的关系,若一个码元携带 n 比特的信息量,则 M 波特率的码元传输速率所对应的信息传输速率为 M×n(b/s),因此 D 错误,答案选择 D 选项。2.在异步通信中,每个字符包含 1 位起始位、7 位数据位、1 位奇偶位和 2 位终止位,若每秒传送 100 个字符,采用 4 相位调制,则码元速率为( )。
A. 50 Baud/s
B. 500 Baud/s
C. 550 Baud/s
D. 1100 Baud/s2.答案:C。
采用 4 相位调制,表示有 4 种波形,为了标识这 4 种波形,至少需要两位,即用两位来表示一个码元。
每个字符共 11 位,每秒 100 个字符,则比特率为 1100 bit/s;两位表示一个码元,则码元的速率为 1100 (bit/s)/2 = 550 Baud/s,因此 C 正确。3.从通信双方信息交换的方式来看,信道通信方式可以分为单向通信、半双工通信、全双工通信,下列说法正确的是( )。
Ⅰ. 单向通信的方向可变
Ⅱ. 半双工通信的双方都可发送或接收信息,但任何一方都不能同时发送和接收信息
Ⅲ. 半双工通信只需要一条信道,以太网可以使用这种半双工模式工作
Ⅳ. 全双工通信需要两条信道,常见的使用全双工通信的现代网络设备和协议有全双工以太网、TCP/IP 协议
A. Ⅰ,Ⅱ
B. Ⅱ,Ⅳ
C. Ⅰ,Ⅱ,Ⅳ
D. Ⅱ,Ⅲ,Ⅳ3.答案:B。
单向通信:单向通信表示在一个单一不变的方向上进行信息传输的通信方式,只有一个方向不变的单向信道连接了两个设备。这种通信方式类似广播电视的单向传输,接收方无法直接回复或发送信息。因此 Ⅰ 错误。
半双工通信:半双工通信表示通信双方都可以发送信息,但不能双方同时发送,需要一条信道,以太网也可以采用全双工的方式进行,因此 Ⅲ 错误。半双工通信常见于以太网的半双工模式,其中同一物理链路上的数据传输是双向的,但在同一时刻只能有一方发送数据。这种通信方式类似于对讲机,一方说话时,另一方只能听,不能同时发言,因此 Ⅱ 正确。
全双工通信:全双工通信表示通信双方可以同时发送和接收信息,即两设备之间存在两条不同方向的信息传输通道,可以同时在两个方向上传输数据。全双工通信常见于现代网络设备和协议,如全双工以太网、TCP/IP 协议等,双方可以同时发送和接收数据,实现双向的即时通信。这种通信方式类似于电话通信,双方可以同时说话和听对方的回复。因此 Ⅳ 正确。4.设待传送数据总长度为 L 位,分组长度为 P 位,其中头部开销长度为 H 位,源结点到目的结点之间的链路数为 h,每个链路上的延迟时间为 D 秒,数据传输率为 B b/s,电路交换建立连接的时间为 S 秒,则传送所有数据,电路交换所需的时间是( )s。
A. hD + L/B
B. S + hD + L/P
C. S + hD + L/B
D. S + L/B4.答案:C。
电路交换首先建立连接,然后进行数据传输,注意这里使用电路交换,因此传输的数据应该是报文,即待传送数据总长度 L。因此传送所有数据所需的时间 = 连接建立时间 + 发送时间 + 链路延迟,即 S + hD + L/B。5.在无噪声情况下,若某通信链路的起始位宽为 4 kHz,采用 8 个相位,每个相位具有 4 种振幅的 QAM 调制技术,则该通信链路的最大数据传输速率是( )。
A. 10 kb/s
B. 20 kb/s
C. 30 kb/s
D. 40 kb/s5.答案:D。
无噪声情况下,使用奈奎斯特定理,可求出信道容量 C = 2Hlog2N。其中,C 表示信道容量,H 表示信道带宽,N 表示一个码元所取的有效离散值个数。对于本题,H = 4 kHz,N = 8×4,可计算得到 C = 2×4 klog2^32 = 40 kb/s。因此,选择 D 选项。6.假设在一个无噪声的信道中,信道长度为 1000 m,信道带宽为 1.5 MHz,信号传播速率为 2000 m/s,则这段信道中可以存在的最大码元数是( )。
A. 0.5 M
B. 1 M
C. 1.5 M
D. 2 M6.答案:C。
无噪声情况下,使用奈奎斯特定理,可知最大码元传输速率为:C = 2H。其中,C 表示最大码元传输速率,H 表示信道带宽,计算得出最大码元传输速率为 2×1.5 = 3×10⁶(Baud)。
根据信道长度和信号传播速率,可以计算出该信道的传播时延为 1000 m/2000(m/s) = 0.5 s。
参考时延带宽积的公式,传播时延 × 数据传输速率,可以得到这个信道中可存在的最大比特数;同理,传播时延 × 码元传输速率,可以得到这个信道中可存在的最大码元数。
因此,这个信道中可存在的最大码元数为 0.5 s×3×10⁶ Baud = 1.5 M。答案选择 C 选项。7.一个传输数字信号的模拟信道的信号功率是 0.62 W,噪声功率是 0.02 W,频率范围为 3.5 - 3.9 MHz,该信道的最高数据传输速率是( )。
A. 1 Mb/s
B. 2 Mb/s
C. 4 Mb/s
D. 8 Mb/s7.答案:B。
首先计算信噪比 S/N = 0.62/0.02 = 31;带宽 H = 3.9 MHz - 3.5 MHz = 0.4 MHz,由香农公式可知,最高数据传输率 C = Hlog2(1 + S/N) = 0.4×log2(1 + 31) Mb/s = 2 Mb/s。8.下面关于奈奎斯特定则和香农定理说法正确的是( )。
A. 为了避免采样失真,信号的带宽为 20 kHz 的音频系统所采用的采样率至少是 40 kHz
B. 在一个数字音频系统中,采样率为 96 kHz,采用 24 位 PCM 编码,则每秒可传输的码元量为 2.304 B
C. 奈奎斯特定则和香农定理都只适用于模拟信号传输
D. 奈奎斯特定则指出,由于码间串扰的存在,码元传输速率越小越好8.答案:A。
为了避免采样失真,采样率应至少是带宽的两倍,即应该保障每一个码元都能至少对应一个采样点,否则将有可能导致采样后的波形无法还原原波形。A 选项正确。
每个采样点占用 24 位,每秒采样点为 96 k,则每秒采样数据量为 96 k×24 bit = 2.304 Mb,因此,每秒可传输的数据量为 2.304 Mb。而选项询问的是码元,则每秒可传输的码元为 2.304×24B。B 选项错误。
香农定理可用于模拟信号传输,也可用于数字信号传输,C 选项错误。
码元传输速率并非越小越好,太小将会导致传输效率低下,资源利用率低等问题,D 选项错误。9.在一个网络的物理线路上抓到波形图片段,如下所示,下列说法不正确的是( )。
A. 该编码方式有可能是 RZ 编码
B. 该编码方式有可能携带同步信息
C. 该波形图传递的一定是数字数据
D. 该波形图不可能是从以太网抓取的9.答案:C。
观察题目发现,每一个周期内的波形图没有跳变,因此排除曼彻斯特、差分曼彻斯特和归零编码,有可能是不归零编码和反向不归零编码。
RZ 编码就是不归零编码,A 选项正确。
该波形图有可能是反向不归零编码,该编码方式会携带同步信息,B 选项正确。
该波形图传递的是数字信号,但所传递的数据不一定是数字数据,模拟数据也可以编码成数字信号。C 选项错误。
以太网默认使用曼彻斯特编码,该波形图无跳变,不可能是曼彻斯特编码,D 选项正确。10. 在数字通信中,( )技术可以将多个比特映射到同一个码元进行传输,从而提高传输速率。
A. 前向纠错编码
B. 后向纠错编码
C. 16QAM 调制方法
D. 多路复用10.答案:C。
在 16QAM 调制方法中,每个码元可以携带 4 比特的信息,将 4 个比特映射到一个码元上,符合题意,答案选择 C 选项。
前向纠错编码和后向纠错编码都是差错控制的一种方式,不符合题目,A 和 B 选项错误。
多路复用技术是指在一条通信线路上传输多路信号,以提高通信线路利用率的技术,常见有频分复用、时分复用、码分复用和波分复用。该技术是一种共享带宽或者时间的技术,并不能将多个比特映射到一个码元上,D 选项错误。11. 有关曼彻斯特编码的正确叙述是( )。
A. 将时钟与数据取值都包含在信号中
B. 将每个信号起始边界作为时钟信号有利于同步
C. 这种模拟信号的编码机制特别适合传输声音
D. 每位的中间不跳变时表示信号的取值为 011.答案:A。
曼彻斯特编码的特点是在每个码元的中间都出现电平跳变,位中间的跳变作为时钟信号,每个码元的电平作为数据信号。因此 A 选项正确,答案选择 A 选项。
曼彻斯特编码将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,位中间的跳变作为时钟信号用于同步。因此 B 选项错误。
曼彻斯特编码用于将数字数据编码为数字信号,而不是模拟信号,因此不适合传输声音。因此 C 选项错误。
曼彻斯特编码将每个码元分成两个相等的间隔。前面一个间隔为高电平而后一个间隔为低电平表示码元 1,码元 0 正好相反;也可以采用相反的规定。因此 D 选项错误。12. 包含同步信息的编码是( )。
Ⅰ. 归零编码
Ⅱ. 非归零编码
Ⅲ. 曼彻斯特编码
Ⅳ. 差分曼彻斯特编码
A. Ⅱ,Ⅲ
B. Ⅰ,Ⅲ,Ⅳ
C. Ⅲ,Ⅳ
D. Ⅱ,Ⅲ,Ⅳ12.答案:B。
归零编码(RZ)中用高电平代表 1、低电平代表 0(或者相反),每个时钟周期的中间均跳变到低电平(归零),接收方根据该跳变调整本方的时钟基准,这就为传输双方提供了自同步机制。因此 Ⅰ 正确。
非归零码(NRZ)是最简单的一种编码方法,它用 0 表示低电平,用 1 表示高电平;或者反过来。由于每个码元之间并没有间隔标志,所以它不包含同步信息,因此 Ⅱ 错误。
曼彻斯特编码的特点是在每个码元的中间都出现电平跳变,位中间的跳变作为时钟信号用于同步,因此 Ⅲ 正确。差分曼彻斯特编码,位开始边界有跳变表示 0,位开始边界没有跳变表示 1,在每个码元的中间都有一次电平的跳转,可以实现自同步,因此 Ⅳ 正确。
13. 一个网络的物理线路上抓到波形图片段如下所示。该线路不可能采用( )编码方式。
A. 不归零编码
B. 曼彻斯特编码
C. 差分曼彻斯特编码
D. 归零编码13. 答案:A。
各编码方式特点如下。
(1)不归零编码。
① 使用两个电平表示二进制的 0 和 1,通常是高电平和低电平。
② 简单直观,易于实现和解码。
③ 传输速率较低,效率较低,需要较宽的带宽。
(2)曼彻斯特编码。
① 将每个位的数据编码为两个相等时间间隔的信号,通过信号的变化来表示二进制的 0 和 1。
② 每个位周期内都有信号变化,有较好的同步性和时钟恢复能力。
③ 传输速率较低,效率较低,需要较宽的带宽。
(3)差分曼彻斯特编码。
① 类似于曼彻斯特编码,但信号的变化表示二进制的 0,信号的不变表示二进制的 1。
② 每个位周期内都有信号变化,有较好的同步性和时钟恢复能力。
③ 传输速率较低,效率较低,需要较宽的带宽。
(4)归零编码。
① 每个位周期内的中间位置(过零点)表示二进制的 0,而两个极性信号的变化表示二进制的 1。
② 信号中总是存在过零点,有较好的同步性和时钟恢复能力。
③ 传输速率较低,效率较低,需要较宽的带宽。
观察题目发现,在一个周期内,信号出现了跳变,则不可能是不归零编码,因此不归零编码在一个周期内要么是高电平要么是低电平。因此答案选择 A 选项。14. 关于基带传输和频带传输,下列说法错误的是( )。
A. 传输基带数字信号时,可采用曼彻斯特编码。基带传输通常用于局域网。利用模拟通信信道传输数字信号的方法称为频带传输
B. 基带传输适用于短距离传输,而频带传输适用于长距离传输。基带传输的传输速率高于频带传输
C. 基带传输使用调制技术将数字信号直接传输到信道上,而频带传输将数字信号调制成模拟信号后传输
D. 远距离传输或无线传输时,数字信号可以用基带传输技术进行传输14. 答案:D。
在信道中传输数字信号时最简单的方法是用两个高低电平来表示二进制数字,常用的编码方法有不归零编码和曼彻斯特编码。在计算机内部或在相邻设备之间近距离传输时,可以不经过调制就在信道上直接进行的传输方式称为基带传输。它通常用于局域网,把基带信号经过调制后送到通信线路(模拟信道)上的方式称为频带传输,它通常用于长距离传输。因此 D 选项错误,答案选择 D。
基带传输和频带传输是两种不同的传输方式,其特点如下。
(1)基带传输。
① 使用调制技术将数字信号直接传输到信道上,不进行模拟信号的调制过程。
② 传输信号占据的频谱范围与数字信号的频带宽度相同,通常使用窄带信道进行传输。
③ 适用于短距离传输,如在局域网中进行数据传输。
④ 传输速率较高,能够实现高速数据传输。
(2)频带传输。
① 将数字信号调制成模拟信号,然后进行传输。
② 传输信号占据的频谱范围比数字信号的频带宽度要宽,通常使用宽带信道进行传输。
③ 适用于长距离传输,如在广域网中进行数据传输。
④ 传输速率较低,受到信道带宽和噪声等因素的限制。15. 调制解调技术主要使用在( )通信方式中。
A. 模拟信道传输数字数据
B. 模拟信道传输模拟数据
C. 数字信道传输数字数据
D. 数字信道传输模拟数据15. 答案:A。
数字数据调制技术在发送端将数字信号转换为模拟信号,而在接收端将模拟信号还原为数字信号。这两种方式分别对应于调制解调器的调制和解调过程。基本的数字调制方法有移幅键控法(ASK)、移频键控法(FSK)、移相键控法(PSK)和正交振幅调制制法(QAM)。16. 通过改变载波信号的相位值来表示数字信号 1,0 的方法是( )。
A. ASK
B. FSK
C. PSK
D. PPP16. 答案:C。
移幅键控法(ASK)、移频键控法(FSK)和移相键控法(PSK)是数字调制的 3 种基本形式。
(1)在 ASK 方式下,用载波的两种不同幅度来表示二进制的两种状态。
(2)在 FSK 方式下,用载波频率附近的两种不同频率来表示二进制的两种状态。
(3)在 PSK 方式下,用载波信号相位移动来表示数据。17. 电路交换的优点是( )。
Ⅰ. 分组按序到达
Ⅱ. 传输时延小
Ⅲ. 无须建立连接
Ⅳ. 线路利用率高
A. Ⅰ,Ⅱ
B. Ⅱ,Ⅲ
C. Ⅰ,Ⅳ
D. Ⅲ,Ⅳ17. 答案:A。
在使用电路交换方式进行数据传输时,通信双方之间必须事先建立一条物理通信线路,这一通信线路在整个数据传输期间一直被独占,直至通信结束才被释放。
通信时,电路交换是按发送顺序传输数据的,所以不存在失序问题,分组按序到达,因此 Ⅰ 正确。
由于通信线路为通信双方专用,且传输过程中,不需要在中间结点停留,所以传输时延小,因此 Ⅱ 正确。
在使用电路交换方式进行数据传输时,通信双方之间必须事先建立一条物理通信线路,这一通信线路在整个数据传输期间一直被独占,直至通信结束才被释放。因此 Ⅲ 错误。
由于被用户占用的通信线路资源在绝大部分时间里都是空闲的,所以线路利用率低,因此 Ⅳ 错误。18. 在下列数据交换方式中,数据经过网络的传输延迟长而且不固定,不能用于语音数据传输的是( )。
A. 电路交换
B. 报文交换
C. 数据报交换
D. 虚电路交换18. 答案:B。
电路交换通信线路为通信双方用户专用,数据直达,传输数据的时延非常小,因此 A 错误。
在报文交换中,交换的数据单元是报文。由于报文大小不固定,在交换结点中需要较大的存储空间,另外报文经过中间结点的接收、存储和转发的时间较长而且也不固定,因此不能用于实时通信应用环境(如语音、视频等)。因此 B 正确,答案选择 B 选项。
数据报交换和虚电路交换是分组交换网中,在源地址和目的地址之间,每个包(分组)都通过通信链路和结点,直到到达目的结点。分组交换简化了存储管理(相对于报文交换)。因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。因此 C 和 D 错误。19. 分组交换网中,( )不是包(分组)在交换机的任务。
A. 检查包中传输的数据内容
B. 检查包的目的地址
C. 将包送到交换机端口进行发送
D. 从缓冲区中提取下一个包19. 答案:A。
分组交换限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块,再加上一些必要的控制信息(如源地址、目的地址和编号信息等),构成分组(packet)。网络结点根据控制信息把分组送到下一个结点,下一个结点接收到分组后,暂时保存并排队等待传输,然后根据分组控制信息选择它的下一个结点,直到到达目的结点。分组交换网中,在源地址和目的地址之间,每个包(分组)都通过通信链路和结点,直到到达目的结点。包交换机收到一个包后,先暂时存储,再检查其首部,查找转发表,按照首部中的目的地址,将包送到交换机端口进行发送,最后从缓冲区中提取下一个包。
交换机分为两种,直通式交换机和存储转发式交换机。对于直通式交换机,只会查看目的地址并转发,并不会检查包是否正确,因此答案选择 A 选项。20. 有关交换技术的论述以下哪个是正确的?( )
A. 电路交换要求在通信的双方之间建立起一条实际的物理通路,但通信过程中,这条通路可以与别的通信方共享
B. 电路交换可以满足实时或交互式的通信要求,因此现有的公用数据网都采用电路交换技术
C. 电路交换在传输过程中使用固定大小的数据单元,而分组交换和报文交换则使用可变大小的数据单元
D. 分组交换将一个大报文分割成分组,并以分组为单位进行存储转发,在接收端再将各分组重新装成一个完整的报文20. 答案:D。
电路交换是在通信双方之间建立起一条实际的物理通路,通信过程中,这条通路可以与别的通信方式共享,A 选项错误。
电路交换在建立连接后提供可靠的、实时的传输,适用于对传输延迟要求较高的应用。而分组交换和报文交换适用于非实时传输,如互联网上的数据传输。但是现有的公用数据网多采用分组交换技术,B 选项错误。
电路交换和分组交换都可以使用可变大小的数据单元,而报文交换使用固定大小的数据单元,C 选项错误。
分组交换限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块,再加上一些必要的控制信息(如源地址、目的地址和编号信息等),构成分组(packet)。网络结点根据控制信息把分组送到下一个结点,下一个结点接收到分组后,暂时保存并排队等待传输,然后根据分组控制信息选择它的下一个结点,直到到达目的结点。因此 D 选项正确。21. 下列关于虚电路的说法,正确的是( )。
A. 虚电路建立连接和发送数据都不进行路由选择。虚电路适用于短距离传输,如在局域网中进行数据传输
B. 因为虚电路建立了预先分配的线路,因此虚电路采用的是电路交换技术
C. 在通信的两个站点之间可以建立多条虚电路。虚电路提供面向连接的服务,数据传输过程中保持连接状态
D. 虚电路在通信前需要建立专用的通信路径,在虚电路上传送的同一个会话的数据分组可以走不同的路径21. 答案:C。
虚电路只在建立时需要进行路由选择,并且一旦建立连接,就固定了虚电路所对应的物理路径。虚电路可以适用于长距离传输和短距离传输,与传输距离没有直接关联。A 错误。
电路交换是真正的物理线路交换,如电话线路;虚电路交换是多路复用技术,虚电路属于分组交换的一种,它和电路交换有着本质的差别,每条物理线路可以进行多条逻辑上的连接,B 错误。
虚电路之所以是 “虚” 的,是因为这条电路不是专用的,每个结点到其他结点之间可能同时有若干虚电路通过,它也可能同时与多个结点建立虚电路。虚电路提供面向连接的服务,通信双方在建立连接后保持连接状态进行数据传输。C 正确。
虚电路在通信开始前需要建立一条专用的通信路径,类似于电路交换。一个特定会话的虚电路是事先建立好的,因此它的数据分组所走的路径也是固定的,D 错误。22. 以下有关数据报的说法,正确的是( )。
Ⅰ. 网络结点要为每个分组做出路由选择,同一报文的不同分组可能经过不同的传输路径
Ⅱ. 每个分组在传输过程中都必须带有目的地址和源地址
Ⅲ. 数据报传输不保证可靠性
Ⅳ. 某个结点若因故障而丢失分组,其他分组仍可正常传输
A. Ⅰ,Ⅱ
B. Ⅱ,Ⅲ
C. Ⅰ,Ⅱ,Ⅲ,Ⅳ
D. Ⅱ,Ⅲ,Ⅳ22. 答案:C。
数据报服务中,网络为每个分组独立地选择路由,传输不保证可靠性,同一报文的不同分组可能经过不同的传输路径。Ⅰ 正确。
数据报发送的分组中要包括发送端和接收端的完整地址,以便可以独立传输。Ⅱ 正确。
数据报网络尽最大努力交付,传输不保证可靠性,所以可能丢失,为每个分组独立地选择路由,转发的路径可能不同,因而分组不一定按序到达目的结点。Ⅲ 正确。
数据报服务当某个交换结点或一条链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强。Ⅳ 正确。23. 有关虚电路服务和数据报服务的特性,正确的是( )。
A. 虚电路服务和数据报服务都是无连接的服务
B. 数据报服务中,分组在网络中沿同一条路径传输,并且按发出顺序到达
C. 虚电路在建立连接后,分组中只需携带虚电路标识
D. 虚电路中的分组到达顺序可能与发出顺序不同23. 答案:C。
虚电路服务在分组发送之前,要求在发送方和接收方建立一条逻辑上的相连,数据报发送分组前不需要建立连接。发送方可随时发送分组,网络中的结点可随时接收分组。A 选项错误。
数据报服务中,网络为每个分组独立地选择路由,传输不保证可靠性,也不保证分组的按序到达。B 选项错误。
虚电路建立后,传送路径就决定了,它只需要跟着路径就可以传送到目的地址,但是它要携带虚电路号,以区别本系统中的其他虚电路。C 选项正确。
属于同一条虚电路的分组,根据该分组的相同虚电路标识,按照同一路由转发,保证分组的有序到达。D 选项错误。20.3 传输媒体精选习题与解析
20.3.1 精选习题
1.下列关于双绞线和同轴电缆的说法,错误的是( )。
A. 双绞线分为屏蔽和非屏蔽两种,100BASE-T 中的 T 代表双绞线
B. 双绞线由两根具有绝缘保护层的铜导线按一定密度互相绞在一起组成,这样可以降低成本信号干扰的程度。模拟传输和数字传输都可使用双绞线
C. 同轴电缆具有更高的传输带宽,而双绞线具有更好的抗干扰能力
D. 同轴电缆适用于长距离传输,而双绞线适用于短距离传输1.答案:B。
双绞线是把两根相互绝缘的铜导线并排放在一起,然后用规则的方法绞合起来构成的。双绞线分为屏蔽双绞线和非屏蔽双绞线,一般屏蔽双绞线比非屏蔽双绞线好,价格也比非屏蔽双绞线高。100BASE-T 是在双绞线上传送 100 Mb/s 基带信号的星形拓扑以太网。100 表示理论最大的传输速率,BASE 是 baseband 的缩写,表示使用基带传输,T 表示 twisted pair cable,表明传输的介质是双绞线。A 选项正确。
绞合的目的是减少两根导线的相互电磁干扰。模拟传输和数字传输都可使用双绞线,其通信距离一般为几千米到数十千米。距离太远时,对于模拟传输,要用放大器放大衰减的信号;对于数字传输,要用中继器将失真的信号整形。B 选项错误,答案选择 B 选项。
同轴电缆:同轴电缆由中心导体、绝缘层、金属屏蔽层和外层绝缘层组成。它适用于较长距离的传输,并具有较高的传输带宽。同轴电缆常用于有线电视和以太网等应用场景。
双绞线:双绞线由两根绝缘的导线组成,它们以一定的方式绞合在一起。双绞线具有较好的抗干扰能力,能够减少电磁干扰和射频干扰对信号的影响。双绞线适用于较短距离的传输,常用于电话线和局域网等应用场景。
因此,C 和 D 选项正确。2.下列关于光纤的说法,错误的是( )。
A. 在常用的传输介质中,光纤的带宽最宽,信号传输衰减最小
B. 光纤不受电磁干扰或噪声影响
C. 光纤系统的实际速率主要受限于光电转换的速率
D. 双绞线、光纤、同轴电缆、无线电中,光纤的误码率最高2.答案:D。
光纤具有传输损耗小、中继距离长、抗雷电和电磁干扰性能好、通信容量大、无串音干扰、体积小、重量轻等优点。A 选项正确。
光纤抗雷电和电磁干扰性能好,无串音干扰,保密性好。B 选项正确。
光的频率非常高,达 108 MHz,其传输带宽非常大,实际速率主要受限于光电转换的速率。C 选项正确。
光纤采用光通信,特点是带宽大,误码率小。D 选项错误,答案选择 D 选项。3.下列关于卫星通信的说法,错误的是( )。
A. 卫星通信的通信距离大,覆盖的范围广
B. 使用卫星通信易于实现广播通信和多址通信
C. 卫星通信不受气候的影响,误码率很低
D. 通信费用高,时延较大是卫星通信的不足之处3. 答案:C。
卫星通信是微波通信的一种特殊形式,通过将地球同步卫星作为中继器来转发微波信号,可以克服地面微波通信距离的限制。卫星通信的优点是通信距离远、费用与通信距离无关、覆盖面积大、通信容量大、不受地理条件的制约、易于实现多址和移动通信,其缺点是费用较高、传输延迟大、对环境气候较为敏感。C 选项错误,因此答案选择 C 选项。4.同轴电缆比双绞线的传输速度更快,得益于( )。
A. 同轴电缆的铜芯比双绞线粗,能通过更大的电流
B. 同轴电缆的阻抗比较标准,减少了信号的衰减
C. 同轴电缆具有更高的屏蔽性,同时有更好的抗噪声性
D. 以上都对4. 答案:C。
同轴电缆以硬铜线为芯,外面包上一层绝缘的材料,绝缘材料的外面包裹上一层密织的网状导体,导体的外面又覆盖上一层保护性的塑料外壳。同轴电缆的这种结构使其具有更高的屏蔽性,从而既有很高的带宽,又有很好的抗噪特性。所以,同轴电缆的传输速度更快得益于它的高屏蔽性。C 选项正确。5.下列关于单模光纤与多模光纤间的比较,正确的是( )。
A. 单模光纤可以传输多个光信号,而多模光纤只能传输一个光信号
B. 单模光纤的核心直径较大,多模光纤的核心直径较小
C. 单模光纤适用于长距离传输,而多模光纤适用于短距离传输
D. 单模光纤具有较低的带宽,而多模光纤具有较高的带宽5. 答案:C。
单模光纤和多模光纤是常见的光纤传输介质,它们在传输特性和用途上有一些区别。
(1)单模光纤:单模光纤的核心直径很小,只允许一条光线沿着光轴传输。它的传输距离较长,损耗较小,适用于需要传输大量数据的长距离应用场景,如广域网(WAN)和光纤通信等。
(2)多模光纤:多模光纤的核心直径相对较大,允许多条光线以不同的角度沿着光轴传输。它的传输距离较短,适用于短距离传输需求,如局域网(LAN)、数据中心和视频传输等。
单模光纤可以传输一个光信号,而多模光纤能传输多个光信号。A 选项错误。
单模光纤只需要传输一个光信号,核心直径较小,多模光纤需要传输多个光信号,核心直径较大。B 选项错误。
光纤的直径减小到只有一个光的波长时,光纤就像一根波导那样,可使光线一直向前传播,而不会产生多次反射,这样的光纤就是单模光纤。C 选项正确。
单模光纤具有较高的带宽,而多模光纤具有较低的带宽。D 选项错误。6.描述一个物理层接口引脚处于高电平时的含义,该描述属于( )。
A. 机械特性
B. 电气特性
C. 功能特性
D. 规程特性6. 答案:C。
机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等。
电气特性:规定传输二进制位时,线路上信号的电压高低、阻抗匹配、传输速率和距离限制等。
功能特性:指明某条线路上出现的某一电平表示的意义,以及接口部件的信号线的用途。此题考查高电平的含义,是功能特性的范畴,故选择 C 选项。
过程特性:或称规程特性。指明对于不同功能的各种可能事件的出现顺序。20.4 物理层设备精选习题与解析
20.4.1 精选习题
1.下列关于中继器和集线器的说法,不正确的是( )。
A. 二者都工作在 OSI 参考模型的物理层
B. 二者都可以对信号进行放大和整形
C. 通过中继器或集线器互联的网段数量不受限制
D. 二者都不能连接两个速率不同的网段1.答案:C。
中继器是用来扩大网络规模的最简单廉价的互联设备,集线器本质上是一个多端口中继器,中继器和集线器均工作在物理层,A 选项正确。
中继器的主要功能是将信号整形并放大再转发出去,以消除信号经过一长段电缆后而产生的失真和衰减,使信号的波形和强度达到所需要的要求,中继器和集线器都能对信号进行放大和整形。B 选项正确。
因为中继器不仅传送有用信号,也传送噪声和冲突信号,所示互相串联的个数只能在规定的范围内进行,否则网络将不可用。注意 “5 - 4 - 3 规则”。C 选项错误,答案选择 C 选项。
如果某网络设备没有存储转发功能,那么认为它不能连接两个不同的协议。中继器和集线器没有存储转发功能,因此它不能连接两个速率不同的网段,它们两端的网段一定要使用同一个协议。D 选项正确。2.假设有 X 台计算机连接到一个 Y Mb/s 的集线器上,其中有几台计算机需要传输大量数据,其他计算机只需要传输少量数据。为了确保每台计算机分得的带宽基本相同,可以采用( )方法。
A. 为每台计算机分配固定的带宽
B. 采用令牌桶算法对每台计算机的带宽进行限制
C. 将这些计算机连接到不同的集线器上
D. 增大集线器的带宽2.答案:B。
为了确保每台计算机分得的带宽基本相同,可以采用限制算法对每台计算机的带宽进行限制。其中,令牌桶算法是一种常用的带宽限制算法。在令牌桶算法中,集线器为每台计算机分配一个令牌桶,每个令牌桶都有一个固定的容量和一个固定的速率。当计算机需要传输数据时,必须从令牌桶中获取令牌,每个令牌代表着一定量的带宽。如果令牌桶中没有足够的令牌,则该计算机无法进行数据传输,直到令牌桶中有足够的令牌为止。
固定分配带宽并不能满足各台计算机不同的带宽需求,选项 A 错误。
通过令牌桶算法,可以限制每台计算机的带宽,以确保每台计算机分得的带宽基本相同。选项 B 正确。
将这些计算机连接到不同的集线器上会增加集线器数量,增加了成本和复杂度。选项 C 错误。
增大集线器的带宽只是增加了总带宽,而并不能解决各台计算机分配带宽不均的问题。选项 D 错误。3.以下哪个选项最能描述集线器的特性?( )
A. 集线器可以过滤网络流量,只将需要的数据包转发出去
B. 集线器可以隔离冲突域和广播域,从而提高网络的吞吐率
C. 集线器可以连接不同类型的网络,例如将局域网和广域网连接起来
D. 集线器不能分割冲突域,所有连接的工作站都属于同一个冲突域3.答案:D。
集线器不能过滤网络流量,它只是一个简单的物理层设备,只能将信号整形放大再转发出去,无法对数据包进行处理和过滤,也无法识别不同类型的数据包。因此,所有连接到集线器上的设备都会收到所有发送到网络上的数据包,不管它们是否需要这些数据包。A 选项错误。
集线器不能隔离冲突域和广播域,因为所有连接到集线器上的设备都属于同一个冲突域和广播域。这意味着如果一个设备向网络发送数据包,其他设备也会收到这个数据包,可能会导致碰撞和数据包丢失。B 选项错误。
集线器不能连接不同类型的网络,因为它只是一个物理层设备,不能理解和转换不同类型的数据包。例如,如果一个集线器连接在一个局域网和一个广域网之间,它只能将数据包从一个网络传递到另一个网络,但不能实现不同网络之间的协议转换和处理。C 选项错误。
集线器不能分割冲突域,所有连接到集线器上的设备都属于同一个冲突域。这意味着如果多个设备同时发送数据包,这些数据包将会发生碰撞,导致网络性能下降。此外,集线器也无法识别数据包,因此无法实现分割广播域。D 选项正确。4.为了使模拟信号传输得更远,可以采用的设备是( );为了使数字信号传输得更远,可采用的设备是( )。
A. 中继器
B. 放大器
C. 交换机
D. 路由器4.答案:B,A。
使模拟信号传播得更远,就需要对其进行放大,而放大信号是物理设备应执行的功能,所以交换机(数据链路层)和路由器(网络层)可以排除,C,D 选项错误。
中继器和放大器都可以放大信号,但是两者的区别在于中继器放大数字信号,放大器放大模拟信号。因此答案选择 B,A。5.关于数字信号、模拟信号、数字传输和模拟传输的描述,正确的是( )。
A. 数字信号是连续的信号,模拟信号是离散的信号。模拟传输采用调制技术将数字信号转换为模拟信号进行传输,数字传输采用解调技术将模拟信号转换为数字信号进行传输
B. 模拟传输适用于短距离传输和低速数据传输。由于模拟信号的传输质量相对较低,适用于音频和传感器数据等需要连续变化的信号传输领域
C. 数字信号具有抗干扰能力强、传输质量稳定的特点,适用于近距离传输
D. 数字传输适用于高速数据传输。由于数字信号的传输质量较高,可以有效地传输大量数据,适用于网络视频通信、互联网和数字化系统等领域5.答案:D。
解析:在计算机网络中,数字信号和模拟信号是常见的信号类型,数字传输和模拟传输是相应的传输方式。
数字信号:数字信号是离散的信号,它表示信号的数值以离散的形式表达,通常使用二进制表示。数字信号具有抗干扰能力强、传输质量稳定等特点。
模拟信号:模拟信号是连续的信号,它表示信号的数值以连续的形式表达,可以采用各种数学函数进行表示。
数字传输:数字传输将模拟信号转换为数字信号进行传输。在数字传输中,数字信号经过调制技术转换为模拟信号,在传输过程中能够克服干扰和衰减,保持较高的传输质量。接收端使用解调技术将模拟信号还原为数字信号。
模拟传输:模拟传输将数字信号转换为模拟信号进行传输。在模拟传输中,数字信号经过调制技术转换为模拟信号,传输过程中容易受到干扰和衰减的影响,传输质量相对较低。接收端使用解调技术将模拟信号转换为数字信号。
数字信号是离散的信号,模拟信号是连续的信号。模拟传输采用调制技术将数字信号转换为模拟信号进行传输,数字传输采用解调技术将模拟信号转换为数字信号进行传输。A 选项错误。
模拟传输适用于短距离传输和低速数据传输。由于模拟信号的传输质量相对较低,适用于音频、视频和传感器数据等需要连续变化的信号传输领域。B 选项错误。
数字信号具有抗干扰能力强、传输质量稳定的特点,适用于远距离传输。C 选项错误。
数字传输适用于高速数据传输。由于数字信号的传输质量较高,可以有效地传输大量数据,适用于网络通信、互联网和数字化系统等领域。D 选项正确。6.使用中继器连接 LAN 的电缆段是有限制的,任何两个数据终端设备允许的传输通路中可使用的中继器个数最多是( )。
A. 1 个
B. 3 个
C. 4 个
D. 5 个6.答案:C。
网络标准中对信号的延迟范围做了具体的规定,中继器只能在此规定范围内进行有效的工作,否则会引起网络故障。例如,在采用粗同轴电缆的 10 - 5 以太网规范中,互相串联的中继器连接必须遵守 “5 - 4 - 3 规则”(4 中继器限制),即用 4 个中继器连接 5 个网段,其中只有 3 个网段可以连接站点。7.在一个小型办公楼中,多台计算机通过物理层设备进行网络连接。请回答下面的问题。
(1)办公楼内部的电缆布线较长,存在信号衰减的问题。为了解决这个问题,网络管理员安装了中继器,请解释中继器的作用,并说明其工作原理。
(2)与中继器相比,集线器(hub)有什么不同之处?
(3)如果在该办公楼中只使用集线器,当多台计算机同时发送数据时会引发哪些问题?请说明并提出解决方案。7.答案如下。
(1)中继器的作用是扩展网络的传输距离并增强信号强度。它通过接收来自发送设备的信号,对信号进行整形放大和重新发送,以确保信号能够在长距离传输过程中保持强度稳定。
(2)集线器是多端口设备,它将收到的信号广播给所有连接在其上的设备。而中继器只有两个端口。集线器本质上是多端口的中继器。
(3)由于集线器是共享带宽的设备,同时发送的数据包会产生冲突,导致数据传输错误和网络性能下降。解决方案:使用交换机(switch)替代集线器。交换机是一种智能化的网络设备,它可以分析数据包的目标地址,并将数据包只发送到目标设备,从而避免了广播和冲突问题。交换机提供了更高的性能和更可靠的数据传输。8.两个主机 A 和 B 通过存储转发方式进行数据交换,A 和 B 之间连有一个交换机,链路传输速率为 8 Mb/s。假设数据传输不受拆装时间和传播延迟的影响。
(1)主机 A 需要向主机 B 传输一个大小为 146 000 B 的文件。采用分组交换方式,每个分组大小为 1500 字节(包括分组头和有效载荷),其中分组头大小为 40 字节。请计算从主机 A 发送开始到主机 B 接收完毕所需的最少时间。
(2)如果主机 A 采用报文交换方式向主机 B 发送相同大小的文件。计算从主机 A 发送开始到主机 B 接收完毕所需的最少时间。8.答案如下。
(1)计算文件需要被划分成多少个分组。分组大小(包括分组头和有效载荷):1500 字节 = 1500 B;分组头大小:40 字节 = 40 B;每个分组的有效载荷大小为:1500 字节 - 40 字节 = 1460 字节 = 1460 B。
分组数 = 文件大小 / 每个分组的有效载荷大小 = 146 000 B/1460 B = 100。
每个分组的传输时间:传输时间 = 分组大小 / 链路传输速率 = (1500 B×8 bits)/(8 Mb/s) = 1500 μs。
由于存在一个交换机,第一个分组到达 B 传输时间 = (1500μs×2) = 3000 μs。
总传输时间 = (第一个分组到达 B 时间 + 其他分组传输时间)= 3000 μs + (100 - 1)×1500μs = 151 500 μs = 151.5 ms。
(2)在报文交换方式下,整个报文作为一个单位进行传输。
一条链路传输时间 = 文件大小 / 链路传输速率 = 146 000 B/(8 Mb/s) = 146 000 μs = 146 ms;
总传输时间 = (链路数 × 一条链路传输时间)= 146 ms×2 = 292 ms。9.N 名用户共享一条 2 Mb/s 线路,假定每个用户传输时以连续的 1 Mb/s 传输,但每个用户在使用线路的过程中传输的时间占总时间的 20%。
回答下列问题。
(1)如果使用电路交换,N 最大为多少?
(2)如果使用分组交换,N = 3,是否会产生排队延时?为什么?
(3)根据上述问题,分别说明电路交换和分组交换的优缺点。9.答案如下。
(1)N 最大为 2。因为电路交换具有独占性,最多只能支持 2 个用户同时使用线路。
(2)会。但 3 个用户同时开始传输时,总传输速率为 3 Mb/s,大于线路的带宽,所以会产生排队时延。
(3)电路交换的优点如下。1.确保了传输的实时性和连续性,适用于实时音视频通信等对时延要求较高的应用。
2.固定的带宽分配,可以提供稳定的传输质量。
电路交换的缺点如下。1.带宽资源的浪费,因为在整个通话期间,即使用户不传输数据,带宽仍然被保留给该用户。
2.当用户数量增加时,难以动态分配和管理带宽资源。
3.对于不连续的数据传输,可能会出现带宽浪费的情况。
分组交换的优点如下。1.带宽资源的灵活利用,按需分配带宽,多个用户可以共享线路的带宽。
2.更好地适应不连续数据传输,如 Web 浏览、文件下载等非实时应用。
3.能够处理不同数据优先级,实现流量控制和拥塞控制。
分组交换的缺点如下。1.可能引入排队时延和分组丢失,特别是在网络拥塞时。
2.对时延和延迟敏感的应用可能受到影响,如实时音视频通信。
3.需要更复杂的路由和转发机制,增加了网络的复杂性和管理难度。
第 21 章 数据链路层
21.1 基本概念
21.1.1 数据链路层的功能
数据链路层至少需要提供以下 5 个功能:为网络层提供服务、链路管理、组帧、透明传输、差错控制和流量控制。
数据链路层主要为网络层提供 3 种服务:无确认无连接的服务、有确认无连接的服务和有确认有连接的服务。
链路管理,即连接的建立、维持、释放,主要用于面向连接的服务。
组帧、透明传输、差错控制和流量控制的内容较多,将在下面的小节中进行讲述。21.1.2 组帧
在物理层,数据是以比特流的形式进行传输的,它不能识别数据报。因此,数据链路层需要将网络层的 IP 数据报封装成帧,并添加一些控制信息,以便物理层能够正确地接收和解码数据帧。
在帧的数据部分的前面和后面分别添加首部和尾部,构成了一个完整的帧,这就是封装成帧,如图 21 - 1 所示。在其他层次,控制信息全部放在帧首部,数据链路层能否也这样实现?为什么非得加上一个帧尾部呢?
这是因为,帧首部和帧尾部还有一个重要作用 —— 帧定界。
帧定界:确定一个数据帧的开始和结束位置,以便在物理层上进行传输和接收,从而保障数据传输的可靠性。
根据使用的帧首部和帧尾部的不同,组帧有 4 种方法。1.字节计数法:帧首部使用一个计数字段(第一个字节,8 比特)来标明帧内字符数。
2.字符填充法:使用 “SOH” 和 “EOT” 的控制字符标识帧的开始和结束。这样操作有一个问题,如果数据部分也包括 “SOH” 和 “EOT” 控制字符,就会产生误识别。为了解决这个问题,实现透明传输,在发送端,数据部分如果出现控制字符 “SOH”“EOT”、转义字符 “ESC”,就在其前面插入一个转义字符 “ESC”;而在接收端,数据部分如果出现转义字符 “ESC”,就删除它。
3.零比特填充法:使用特定的比特序列 01111110(连续的 6 个 1)表示帧的开始和结束。如果在数据部分出现了连续的 6 个 1,就有可能产生误识别问题。为了解决这个问题,发送方在数据部分中只要发现有连续的 5 个 1,就在后面填入一个 0。而接收方收到数据,如果出现了连续的 5 个 1,就把后面的 0 去掉。
4.违规编码法:曼彻斯特编码方式,将 “1” 编码成 “高 - 低” 电平对,将数据比特 “0” 编码成 “低 - 高” 电平对。而 “高 - 高” 电平对和 “低 - 低” 电平对是违规的(即没有采用)。可以利用它们来表示帧的起始和终止。
21.1.3 差错控制
1. 检错编码
组帧完成之后,需要将数据帧发送出去,这时会面临一个问题 —— 发送出去的帧和收到的帧不一样怎么办?可以采用差错控制的方法来解决这个问题。这里要注意,差错控制只能解决比特位出错,而不能解决帧出错的问题。
差错控制分为两类方法:检错编码和纠错编码。
检错编码:接收方能够检测出数据传输中的错误。常见的检错编码包括奇偶校验码、循环冗余码 CRC。奇偶校验码分为奇校验码和偶校验码。
奇校验码:通过添加冗余位,使 1 的个数为奇数。
偶校验码:通过添加冗余位,使 1 的个数为偶数。
循环冗余码 CRC 可以通过添加冗余信息来检测数据传输过程中出现的差错。下面是一个简单的例子。
(1)准备数据:现假定待传送的数据()。
(2)双方协商除数(生成多项式):发送方和接收方需要事先协商好一个长度为(n+1)位的除数P。例如,3 阶生成多项式P(X)=X3+X2+X0,那么每个次幂所对应的系数连起来可以得到除数P=1101。
(3)处理数据:将数据M乘以2n,这相当于在M后面添加n个 0(因为此时并不知道冗余码是什么,那就假设冗余码全为 0)。
(4)计算冗余码:使用除数对步骤(3)中产生的数进行模 2 除,除法使用同 0 异 1 的方式进行,得到n位余数R=001,这n位二进制数就是冗余码,也被称为校验码,计算过程如图 21 - 2 所示。
(5)发送数据:这个余数R就作为冗余码拼接在数据M的后面发送出去。
(6)校验数据:接收端把收到的每一个帧都使用同样的除数P进行模 2 除,然后检查得到的余数R。如果余数为 0,说明没有差错;否则,说明出现了差错。2. 纠错编码
当接收方检测到错误时,可以利用添加的冗余数据信息进行错误的纠正,而不需要重新传输数据。常见的纠错编码包括海明码等。
海明码的原理是:让一比特的数据被多个校验码所校验。下面是海明码的步骤。
(1)确定校验码位数:设数据有m位,冗余码(校验码)有r位,那么它们之间应该满足海明不等式,即2k⩾n+k+1。
(2)确定校验码和数据位置:确定发送的数据应该是m+r位的,将校验码放在序号为2n的位置,如 1,2,4 等。放好校验码后,在剩下的空余位置,将原始数据依次填上。
(3)求出校验码的值:在海明码中,每一个校验码都会校验一部分数据。第i个校验码将会校验第x位的数据,其中x符合:x的二进制从后往前数的第i位为 1。将校验码和校验码所校验的数据一起进行异或计算,结果为 0 的校验码的数字就是校验码的值。
(4)检错:当接收方收到数据后,将会进行校验。使用校验位和该校验位检测的所有数据求异或。如果结果全部等于 0,说明数据没有出错;否则,说明数据出错。
(5)纠错:使用校验位和该校验位检测的所有数据求异或。将所有求到的结果按照倒序拼接起来,就是出错位数的二进制值。21.1.4 流量控制与可靠传输机制
1. 流量控制、可靠传输与滑动窗口机制
要确保帧的比特位不出现差错,可能还要面对一个问题:发送方发出的帧太多,接收方处理不了,导致数据溢出,该如何处理?
这就需要用到流量控制。
流量控制:如果出现较高的发送速度和较低的接收能力的不匹配情况,就会造成传输出错。为了避免这种情况的出现,流量控制会对发送方的发送速率进行控制,从而使发送方和接收方的速度匹配。
流量控制如何实现?这就需要应用滑动窗口技术。2. 滑动窗口
操作系统内核会维持一组发送窗口和接收窗口。在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;接收方也维持一组连续的允许接收的帧的序号,称为接收窗口。
根据发送窗口与接收窗口大小,滑动窗口协议可以分为 3 种:停止 - 等待协议、后退N帧协议(GBN)和选择重传协议(SR)。
1)停止 - 等待协议
发送窗口 = 1,接收窗口 = 1。“停止 - 等待” 就是每发送完一帧就停止发送,等待对方的确认。在收到确认后再发送下一帧,如图 21 - 3 所示。停止 - 等待协议的优点是简单,缺点是信道利用率太低,它的信道利用率公式为TD/(TD+RTT+TA)。TD是发送方发送帧所需要的时间,RTT是双向传播时延,TA是发送方接收确认帧所需要的时间。
2)后退N帧协议(GBN)
发送窗口 > 1,接收窗口 = 1。GBN 协议的接收方一般采用累积确认的方式。即不必对收到的帧逐个发送确认,而是对按序到达的最后一帧发送确认,这样就表示:到这个帧为止所有的帧都已正确收到。若采用n个比特对帧编号,那么发送窗口的尺寸W应满足:1⩽W⩽2^n −1。因为发送窗口尺寸过大,会使接收方无法区别新帧和旧帧。
3)选择重传协议(SR)
发送窗口 > 1,接收窗口 > 1。当接收方发现某帧出错后,其后续继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧,且只需要重传出错的帧。由于接收方窗口 > 1,可以不按照顺序接收数据帧,因此,需要对每一个收到的数据帧进行确认。特点是收谁确认谁,不再使用累计确认的方式。若采用n个比特对帧编号,那么发送窗口的尺寸W应满足:1⩽W⩽2n−1。发送窗口最好等于接收窗口,如果发送窗口不等于接收窗口,则发送窗口 + 接收窗口 = 2n。
后退N帧协议(GBN)和选择重传协议(SR)的是连续 ARQ 协议,都满足连续发送多个数据的特点。虽然这两个协议需要的接收方窗口大小不同,但是计算信道利用率的公式是一样的,因为接收方窗口并不影响信道利用率。连续 ARQ 协议的信道利用率公式为W×TD/(TD+RTT+TA) ,其中,W是发送窗口大小,TD是发送方发送帧所需要的时间,RTT是双向传播时延,TA是发送方接收确认帧所需要的时间。21.1.5 介质访问控制
在发送帧的过程中,可能会发生冲突。如图 21 - 4 所示,主机 1 访问主机 3,主机 2 想访问主机 4,由此可能会产生冲突。
为了解决这个问题,介质访问控制应运而生。介质访问控制的内容是,采取一定的措施,使两对结点之间的通信不会发生互相干扰的情况。即阻止冲突的发生。
根据不同方法,介质访问控制可以被划分为以下几类:信道划分、随机访问和轮询访问。1. 信道划分
信道划分介质访问控制(静态划分信道):将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。常用有以下 4 种方法。
(1)频分多路复用:用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
(2)时分多路复用:将时间划分为一段段等长的时分复用帧,每个用户占用固定的时分复用帧的一种技术。
(3)波分多路复用:其实就是光的频分复用。
(4)码分多路复用:给每一个站分配各不相同且互相正交的码片序列,根据发送的是 1 或 0 决定发送码片或码片的反码。由于码片是相互正交的,因此各用户之间不会造成干扰。2. 随机访问
随机访问介质访问控制的核心思想是:胜利者通过争用获得信道,从而获得信息的发送权。常见方法有以下 4 种。
1)ALOHA 协议
(1)纯 ALOHA 协议思想:不监听信道,不按时间槽发送,想发就发,随机重发。
(2)时隙 ALOHA 协议:把时间分成若干个相同的时间片,只有在时间片开始时才能发数据,若发生冲突,则必须随机等到下一个时间片开始时刻再发送。
2)CSMA 协议
CSMA(载波监听多路访问):发送帧之前,监听信道。根据监听到的情况,CSMA 采用 3 种不同的方法处理,如图 21 - 5 所示。图 21 - 5 CSMA d 3 种不同方法
信道空闲
信道忙
1 - 坚持 CSMA
马上发
继续持续监听
非坚持 CSMA
马上发
放弃监听,等一个随机时间再监听
p - 坚持 CSMA
p 概率,马上发;1 - p 概率,下一个时隙再发
持续监听,等空闲时再以 p 概率发出
3)CSMA/CD 协议
CSMA/CD(载波监听多路访问 / 冲突检测)的核心思想是:先听后发、边听边发、冲突停发、随机重发。为了保证发送方在收到冲突信息时还在发送数据(这样才能冲突停发),帧的传输时延至少要两倍于信号在总线中的传播时延。由此,就得到了最小帧长公式:最小帧长 = 2ε×传输速率,其中,ε是单向传播时延,2ε也被称为争用期。发送方在收到冲突信息后,要使用截断二进制指数退避算法等待一段随机时间再发送。用于解决碰撞所采用的截断二进制指数退避算法如下。
(1)确定基本退避时间为2ε。
(2)设重传次数为k,且k⩽10,即重传次数k=min[重传次数,10]。
(3)从离散的整数集合[0,1,...,(2k−1)]中随机取出一个数r,重传的退避时间 = 2rε。
(4)当重传达 16 次仍不能成功时,则丢弃该帧,并向高层报告。
4)CSMA/CA 协议
CSMA/CA(载波监听多点接入 / 避免碰撞):和 CSMA/CD 协议不同,该协议采用碰撞避免的方式来降低碰撞发生的可能,常见于无线网中。流程如下。
(1)发送数据前,先检测信道是否空闲。
(2)空闲则等待一段时间 DIFS 后,再发出请求发送帧 RTS;信道忙则等待。
(3)接收端收到 RTS 后,再等待一段时间 SIFS(短帧间间隔)后,将响应允许发送帧 CTS(clear to send)。
(4)发送端收到 CTS 后,再等待一段时间 SIFS 后,发送一个数据帧。
(5)如果接收方正确收到了 A 发来的数据帧,在等待时间 SIFS 后,就发送确认帧 ACK(停等协议)。
(6)发送方收到 ACK 就进行下一个数据帧的发送;若没有收到,使用二进制指数退避算法进行超时重传。3. 轮询访问
轮询访问控制协议:特点是既不产生冲突,又在发送时占有所有带宽。常见的有令牌传递协议。
令牌传递协议:在所有结点直接轮流传递令牌,持有令牌才可以发送数据。21.1.6 局域网
局域网简称 LAN,覆盖范围一般是方圆几千米之内,使用广播信道。一般来说,局域网采用星形拓扑、总线拓扑、环形拓扑和树形拓扑。常用的传输介质有双绞线、同轴电缆、光纤和电磁波。局域网的介质访问控制协议通常为 CSMA/CD 协议。
1. 局域网的基本概念与体系结构
为了使数据链路层能更好地适应多种局域网标准,IEEE 802 委员会就把局域网的数据链路层拆成两个子层,即逻辑链路控制(LLC)子层和媒体接入控制(MAC)子层,如图 21 - 6 所示。与接入到传输媒体有关的内容都放在 MAC 层,而 LLC 层则与传输媒体无关,只负责识别网络层协议,然后对数据报进行封装。
MAC 子层分配单独的局域网地址,该地址被称为硬件地址或物理地址,或 MAC 地址(因为这种地址用在 MAC 帧中)。这是一种 48 位的全球地址,是由网络设备制造商生产时烧录在网卡的 ROM 上的地址。
IEEE802 委员会还将局域网划分为多个种类,常见的有以太网和无线局域网。2. 以太网与 IEEE 802.3
以太网是应用最为广泛的局域网,采用 IEEE 802.3 标准,包括标准以太网(10 Mb/s)、快速以太网(100 Mb/s)、千兆以太网(1000 Mb/s)和 10 GB 以太网,使用 CSMA/CD。以太网的 MAC 帧格式如图 21 - 7 所示。
3. IEEE 802.11 与无线局域网
无线局域网(wireless local area network,WLAN)采用 IEEE 802.11 标准,分为有固定基础设施无线局域网、无固定基础设施无线局域网的自组织网络。无线局域网的 MAC 帧格式如图 21 - 8 所示。
无线局域网的数据帧最特殊的地方是有 4 个地址字段。地址 4 用于自组网络。这里只讨论前 3 种地址。这 3 个地址的内容取决于数据帧是 “去往 AP”(发送到接入点)还是 “来自 AP”(从接入点发出),如图 21 - 9 所示为无线局域网的 MAC 帧的 4 个地址。
4. VLAN 基本概念与基本原理
在日常生活中,当用户使用以太网交换机发送一个广播帧时,整个网络都会收到这个数据,但是用户只希望这个网络中一半的用户收到这个数据,另外一半收不到,能否实现?
根据上面自学习和广播域的内容可以知道,以太网交换机会将广播帧向所有端口转发,似乎最可行的方案是更改网络拓扑(如不用以太网交换机),但是修改网络拓扑太过麻烦,这时就可以使用以太网交换机去完成一个虚拟局域网(VLAN)的服务。
VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个 VLAN。
注意明确一点:虚拟局域网其实只是局域网给用户提供的一种服务,是通过安装在交换机上的软件来实现的,并不是一种新型局域网。
交换机是通过识别虚拟局域网的 MAC 帧(802.1Q 帧)来实现虚拟局域网的功能的,如图 21 - 10 所示,帧首部有 VID 字段,可以用来标识该数据帧需要交给哪些计算机。例如,想交给网络中的 1 号、2 号主机,不想让 3 号、4 号主机收到。那就给 1 号、2 号主机设置一个一样的 VID,对于不在这个 VID 里的主机就不转发帧。21.1.7 广域网
1. 广域网的基本概念
广域网通常跨接很大的物理范围,使用的是点对点网络。常用的数据链路层协议是 PPP 协议。
2. PPP 协议
PPP 协议是用户计算机和 ISP 进行通信时所使用的协议,目前成为各种主机、路由器之间简单连接的一种解决方案。
PPP 协议由 3 个组成部分。1.一个将 IP 数据报封装到串行链路的方法。PPP 协议的帧格式如图 21 - 11 所示。
2.链路控制协议(LCP):用来建立、配置和测试数据链路连接。
3.网络控制协议(NCP):可支持多种网络层协议,为网络层协议建立和配置逻辑连接。
21.1.8 数据链路层设备
在计算机网络体系结构中,数据链路层设备只包括物理层和数据链路层,因此学习数据链路层设备可以帮助我们更好地理解数据链路层在实际生活中的应用。
常见的数据链路层设备包括网桥和以太网交换机。网桥只有两个接口,以太网交换机相当于多接口网桥,它的每个接口都直接与一台主机或另一个以太网交换机相连,并通过自学习的方式,让接收到的帧转发到正确的主机或以太网交换机上。自学习的流程如下。
首先收到一个数据帧,查看源 mac 地址,如果该 mac 地址不在交换表中,则填入交换表。
然后检查目标 mac 地址,并匹配 mac 地址表。1.没匹配上,向除了输入端口之外的所有端口广播。
2.匹配上了,且匹配端口不是输入端口,向该匹配端口转发。
3.匹配上了,但是匹配端口就是输入端口,则丢弃。
由于物理层设备(集线器)并不能分割冲突域和广播域,那么以太网交换机如何呢?4.由于交换机有转发表,使用存储转发的方式来发送数据,交换机只可能向某一个端口转发数据,根据冲突域的定义,可以知道交换机的一个端口属于同个冲突域,交换机能分隔冲突域。
5.当交换机收到一个广播帧后,由于在转发表中没有匹配上,就会向除了输入端口之外的所有端口广播。根据广播域的定义,交换机的所有端口属于同一个广播域,交换机不能分隔广播域。
21.2 数据链路层的功能精选习题与解析
21.2.1 精选习题
1.数据链路层在物理层提供服务的基础上向网络层提供服务,其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。下列说法错误的是( )。
A. 数据链路层可为网络层提供无确认无连接服务、有确认无连接服务和有确认的面向连接服务
B. 为了避免传输过程中帧的丢失,数据链路层可采用的方法有计时器超时重发
C. 对于信道比较可靠并且对通信实时性要求高的网络,采用无确认的无连接数据链路层服务比较合适
D. 在数据链路层中,网络互连表现为连接不同体系结构的网络1.答案:D。
连接是建立在确认机制的基础上的,因此数据链路层没有无确认的面向连接服务。一般情况下,数据链路层会为网络层提供 3 种可能的服务:无确认的无连接服务、有确认的无连接服务、有确认的面向连接服务。A 选项正确。
为防止在传输过程中帧丢失,在可靠的数据链路层协议中,发送方对发送的每个数据帧设计一个定时器,当计时器到期而该帧的确认帧仍未到达时,发送方将重发该帧。B 选项正确。
无确认的无连接服务是指源机器向目标机器发送独立的帧,目标机器并不对这些帧进行确认。事先并不建立逻辑连接,事后也不用释放逻辑连接。若由于线路上有噪声而造成某一帧丢失,则数据链路层并不会检测这样的丢帧现象,也不会回复。当错误率很低时,这一类服务非常合适,这时恢复任务可以留给上面的各层来完成。这类服务对于实时通信也是非常合适的,因为实时通信中数据的迟到比数据损坏更好。C 选项正确。
数据链路层的主要任务是将一个原始的传输设施(物理层设备)转变成一条逻辑的传输线路。数据链路层的传输单元为帧,网络层的传输单元为报文,物理层的传输单元为比特,而连接不同体系结构的网络的工作是在网络层完成的。D 选项错误。21.3 组帧精选习题与解析
21.3.1 精选习题
1.在 PPP 协议帧的数据段中出现比特串 010111110100101,则经位填充法与字节填充法填充后输出的二进制序列分别为( )。
A. 010111110100101,0111111100101111101001010111110
B. 010111101001001,01111100101111101001010111110
C. 0101011110100101,011110101011111010010101111101
D. 01011101110100101,01111101011111010010101111011.答案:B。
PPP 协议规定同步传输时通常用硬件实现比特填充法,即采用 “零比特插入、删除” 技术来实现透明传输。“零比特插入、删除” 技术是指发送端的数据比特流中出现 5 个连续的 1 时将自动在输出比特流中插入一个 0;接收端遇到 5 个连续的 1,且后面紧跟的是 0 的比特流时,将自动将 0 删除。
PPP 协议规定异步传输时,通常用硬件实现字节填充法。起始和结束标记均为 0x7E,表示帧的开始和结束。当数据中出现与起始和结束标记相同的字符(0x7E 即 01111110)时,发送方会插入一个转义字符(0x7D 即 01111101)作为转义,接收方在解析数据时进行还原。但逐个字符(字节)传输时,010111110100101 不会出现上述情况,加入开始与结束标记即可。21.4 差错控制精选习题与解析
21.4.1 精选习题
1.循环冗余校验所具有的特征是( )。
A. 逐个校验每一个字符,没有奇偶校验可靠
B. 能查出任意奇数个比特出错的差错
C. 查不出偶数个比特出错的差错
D. 主要关注数据传输的完整性和错误检测,用于加密数据1.答案:B。
解析:循环冗余校验(CRC)是广泛用于数据链路层的一种校验方式,每个 CRC 标准都能检测小于r+1比特的突发差错,每个 CRC 标准也都能检测任何奇数个比特的差错。循环冗余校验码是一种根据数据内容生成校验值的方法,用于检测数据在传输过程中是否发生错误。CRC 算法通过对数据进行多项式计算,生成一个固定长度的校验码,并将该校验码附加到原始数据中一起传输。接收方根据接收到的数据和校验码再次进行 CRC 计算,如果生成的校验码与接收到的校验码一致,说明数据传输没有错误;如果不一致,则表示数据传输中存在错误。循环冗余校验码的特点可总结为以下 3 点。
(1)可检测出所有奇数位错。
(2)可检测出所有双比特的错。
(3)可检测出所有小于、等于校验位长度的突发错。
除此之外,循环冗余校验码还可用于检测数据传输错误,通过生成校验码并进行比对来确定数据的完整性,并不用于加密数据,压缩数据以及提高数据传输速度等。
因此选择 B。2.采用 CRC 进行差错校验,生成多项式为G(x)=x^4+x+1,信息码字为 10111,则计算出的 CRC 校验码是( )。
A. 0000
B. 0100
C. 0010
D. 11002.答案:D。
解析:假设一个帧有m位,其对应的多项式为G(x),则计算冗余码的步骤如下。
(1)加 0。假设G(x)的阶为r,在帧的低位端加上r个 0。
(2)模 2 除。利用模 2 除法,用G(x)对应的数据串去除(1)中计算出的数据串,得到的余数即为冗余码(共r位,前面的 0 不可省略)。
多项式以 2 为模运算。按照模 2 运算规则,加法不进位,减法不借位,刚好是异或操作。乘除法类似于二进制运算,只是在做加减法时按模 2 规则进行。根据以上算法计算可得答案为 D。3.为了检测 2 比特的错误,编码的海明距应该为( ),为了纠正 2 比特的错误,编码的海明距应该为( ),如果冗余位为 4,那么信息位最多可以用到( )位。
A. 5,3,11
B. 3,5,11
C. 5,3,12
D. 3,5,123.答案:B。
解析:海明码检错d位,只需码距为d+1,为了检测 2 比特的错误,编码的海明距应该为2+1=3。
“纠错”d位,需要码距为2d+1,为了纠正 2 比特的错误,编码的海明距应该为2×2+1=5。
海明码的编码规则:如果有n个数据位和k个冗余校验位,那么必须满足2^k −1⩾k+n,此处k=4,因此有n⩽2^4 −1−k=16−1−4=11,即n最大为 11。21.5 流量控制与可靠传输机制精选习题与解析
21.5.1 精选习题
1.流量控制涉及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每个帧。下列说法正确的是( )。
Ⅰ. 从滑动窗口的观点看,当发送窗口为 1、接收窗口也为 1 时,相当于 ARQ 的停止 - 等待方式
Ⅱ. 若采用后退N帧的 ARQ 协议进行流量控制,帧编号字段为 7 位,则发送窗口的最大长度为 128
Ⅲ. 一个使用选择重传协议的数据链路层协议,如果采用了 5 位的帧序列号,那么可以选用的最大接收窗口是 16
Ⅳ. 后退N帧协议接收窗口为 1,采用n比特对帧编号,若其发送窗口的尺寸大于2n−1,则会造成无法分辨新帧和旧帧
A. Ⅰ,Ⅱ,Ⅲ,Ⅳ
B. Ⅰ,Ⅲ,Ⅳ
C. Ⅲ,Ⅳ
D. Ⅳ1.答案:B。
解析:停止 - 等待协议的工作原理是:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,那么发送方必须一直等待。Ⅰ 正确。
在后退N帧的 ARQ 协议中,发送窗口WT⩽2^7 −1=127。Ⅱ 错误。
在选择重传协议中,若采用n比特对帧进行编号,为避免接收端向前移动窗口后,新的窗口与旧的窗口产生重叠,接收窗口的最大尺寸应该不超过序号范围的一半,即WR⩽2^4=16。Ⅲ 正确。
后退N帧协议的发送窗口的尺寸WT应满足1⩽WT⩽2n−1。Ⅳ 正确。2.若数据链路的发送窗口尺寸WT=4,采用后退N帧协议,在发送 3 号帧并接到 2 号帧的确认帧后,发送方还可连续发送的帧数是( )。
A. 2
B. 3
C. 4
D. 12.答案:B。
解析:本题考查滑动窗口的机制,这里收到 2 号帧的确认后,2 号帧及以前的帧已经正确接收,目前已经发送了 3 号帧,发送并等待确认的帧只有 3 号帧一帧,因此还可连续发送的帧数是:窗口大小 - 已经发送的帧数,即4−1=3。3.流量控制是计算机网络中实现发送方和接收方速度一致性的一项基本机制,实现这种机制所采取的措施是( )。
A. 增大接收方接收速度
B. 减小发送方发送速度
C. 接收方向发送方反馈信息
D. 增加双方的缓冲区3.答案:C。
解析:流量控制是指让发送方的发送速度不要太快,使接收方来得及接收。在流量控制过程中,接收方根据自身接收能力选择一个合适的接收窗口值,将它写到 TCP 报头中,并将当前接收方的接收状态告诉发送方。发送方的发送窗口不能超过接收窗口值。4.在( )情况下,停止 - 等待协议的效率会变得很低。
A. 当源主机和目的主机之间的距离很近而且传输速率很高时
B. 当源主机和目的主机之间的距离很远而且传输速率很高时
C. 当源主机和目的主机之间的距离很近而且传输速率很低时
D. 当源主机和目的主机之间的距离很远而且传输速率很低时4.答案:B。
解析:信道利用率公式为TD/(TD+RTT+TA)。其中,TD表示发送端传输分组的时间,TA表示接收端传输确认分组的时间,RTT表示往返时间。本题中,若信道的传输速率一定,则距离越远,RTT越大,分母越大;传输速率越高,TD越小,分子越小。因此,当源主机和目的主机之间的距离很远,而且传输速度很高时,停止 - 等待协议的效率会变得很低。5.结点 1 与结点 2 通过卫星链路通信时,假设传播延迟为 500 ms,数据速率为 64 Kb/s,帧长 8000 bit,若采用 GBN 协议通信,用 4 比特对帧编号,确认帧由数据帧捎带,则最大链路利用率为( )。
A. 12.5%
B. 20%
C. 50%
D. 100%5.答案:D。
解析:信道传播时延为0.5s,一个帧的发送时间=8000bit/(64Kb/s)=0.125s,则每个帧的传输周期为0.125s+0.5s+0.125s+0.5s=1.25s。
在后退N帧协议中,接收窗口尺寸为 1,采用 4 比特对帧编号,发送窗口大小为24−1=15,在第一个帧的数据传输周期1.25s内,连续发送 15 帧,需要的时间为15×0.125s=1.875s>1.25s,表明在此条件下可以不间断地发送帧,信道利用率是100%。6.一个 2 Mb/s 的网络,线路长度为 1 km,传输速度为 20 m/ms,分组大小为 100 字节,应答帧大小可以忽略。若采用停止 - 等待协议,则实际数据速率是( )。
A. 2 Mb/s
B. 1 Mb/s
C. 8 Kb/s
D. 16 Kb/s6.答案:C。
解析:停止 - 等待协议每发送完一个分组,需要收到确认后才能发送下一个分组,传播延迟=1000m/(20m/ms)=50ms=0.05s;发送延迟=8×100/(2×1000000)=0.0004s;最小间隔=0.0004s+0.05s×2=0.1004s;故数据速率=8×100bit/(0.1004s)≈8Kb/s。7.一台发送方通过选择重传协议向一台接收方发送数据包。数据包大小为 1000 字节,信道传输速率为 1 Mb/s,单向传播时延为 8 ms。忽略误码率、确认帧长、处理时间和数据包首部。为使信道利用率最大,此时窗口大小至少为( );为使信道利用率最小,此时发送方的吞吐量约为( )。
A. 3,333.3 Kb/s
B. 4,666.6 Kb/s
C. 3,666.6 Kb/s
D. 4,333.3 Kb/s7.答案:A。
解析:信道利用率公式为
数据包大小为 1000 字节,信道传输速率为 1 Mb/s,计算可知TD为 8 ms。单向传播时延为 8 ms,则RTT为 16 ms;忽略确认帧长,则TA=0。
为使信道利用率最大,则信道利用率最大为100%,代入信道利用率公式可知W=3。
为使信道利用率最小,观察公式发现,分母是固定值,分子越小,信道利用率越小,则W=1。在一个周期时间TD+RTT+TA=24ms内,发送了一个大小为 1000 字节的数据包,则吞吐量为1000×8bit/24ms=333.3Kb/s。
综上所述,答案选择 A 选项。8.一个信道的比特速率为 4 kb/s,传导延迟为 20 ms,帧至少有多大,停止 - 等待协议才有至少 50% 的效率?
9.甲乙双方进行数据传输,使用选择重传协议(SR)进行可靠传输。甲方发送方每次发送一个数据包,乙方接收方每次收到数据包后会产生一个 ACK 分组。
请回答以下问题。
(1)假设数据包的序号为 3 bit 编码,则发送窗口最大尺寸是多少?
(2)在(1)的基础上,如果发送窗口和接收窗口的尺寸都为 5,那么会导致错误,为什么?请举例说明(序号从 1 开始)。
(3)假设窗口大小为 4,甲方发送方已发送了数据包 1,2,3,4,乙方接收方正确接收到了数据包 1,2,3,甲方只收到数据包 2 和 3 的 ACK 分组。此时,甲方发送窗口中第一个数据包的序号是多少?乙方呢?
(4)在(3)的基础上,甲方发生了超时,重传数据包 1,乙方接收到数据包后,会返回一个 ACK 分组,该 ACK 分组的序号是多少?9.答案:
(1)如果数据包的序号是 3 位编码,那么发送窗口的最大尺寸是23−1=4。
(2)可能会发生无法判断到来的分组是新的分组还是重传的分组。举例说明:假设发送方发送了序号为 1 到 5 的数据包,接收方正确接收到了这些数据包并发送了 ACK 分组。但是这些 ACK 分组全部丢失。此时甲方的发送窗口内数据包为 1,2,3,4,5,乙方的接收窗口内是 6,7,8,1,2。然后发送方发生超时,重传数据包 1,则接收方无法判断该数据包是重传的数据包还是新的数据包。
(3)在这种情况下,甲方发送窗口中第一个数据包的序号是 4。虽然甲方已发送了数据包 1,2,3,4,但由于只收到了数据包 2 和 3 的 ACK 分组,因此甲方窗口的起始位置不变,仍然是数据包 1。对于乙方,已经接收到数据包 1,2,3,所以将更新接收窗口到数据包 4。
(4)在超时后,甲方重新发送数据包 1。当乙方接收到重传的数据包 1 后,会返回一个 ACK 分组。该 ACK 分组的序号是 1,表示乙方已成功接收并确认了序号为 1 的数据包。10.回答下列问题。
(1)采用 GBN 协议进行数据传输时,发送方有没有可能接收到落在其当前窗口之外的 ACK 分组?如果有,请举例说明;如果没有,请说明理由。
(2)采用 SR 协议进行数据传输时,发送方有没有可能接收到落在其当前窗口之外的 ACK 分组?如果有,请举例说明;如果没有,请说明理由。10.答案:
(1)有可能,例如发送方的窗口为 1,2,3,4,发送方发送窗口内的数据后,接收方收到了 1,3,4,返回的 ACK 序号为 1,1,1(GBN 使用累计确认),发送方接收到第一个 ACK 后,会向前移动窗口,后两个 ACK 便落在了窗口之外。
(2)有可能,例如发送方发送了一个窗口的数据,接收方接收到所有数据并发回所有 ACK,但是发送方提前超时,发送方就会再发送一次数据,经过同样的过程后,接收方会再发送一遍 ACK。当第一次发送的 ACK 被接收后,滑动窗口移动,第二次发送的 ACK 就会落在窗口之外。21.6 介质访问控制精选习题与解析
21.6.1 精选习题
1.用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制子层,常见的介质访问控制方法有静态划分信道和动态分配信道,下列关于静态划分信道说法错误的是( )。
A. STDM 具有动态分配时隙的功能
B. TDM 不会发生碰撞
C. FDM 适合传输数字信号,TDM 适合传输模拟信号
D. 将物理信道的总频带宽分割成若干个子信道,每个子信道传输一路信号,这种复用技术称为频分多路复用1.答案:C。
解析:时分多路复用(TDM)可分为同步时分多路复用和异步时分多路复用(又称统计时分复用)。同步时分多路复用是一种静态时分复用技术,它预先分配时间片(即时隙),而异步时分多路复用则是一种动态时分复用技术,它动态地分配时间片(时隙)。A 选项正确。
TDM 属于静态划分信道的方式,各结点分时使用信道,不会发生碰撞,B 选项正确。
TDM 与 FDM 相比,抗干扰能力强,可以逐级再生整形,避免干扰的积累,而且数字信号比较容易实现自动转换,所以根据 FDM 和 TDM 的工作原理,FDM 适合于传输模拟信号,TDM 适合于传输数字信号。C 选项错误,答案选择 C 选项。
频分多路复用以信道频带作为分割对象,通过为多个子信道分配互不重叠的频率范围的方法实现多路复用,D 选项正确。2.共有 4 个站进行码分多址通信。4 个站的码片序列为:
①(−1−1+1+1−1+1+1)
②(−1−1+1−1+1+1+1−1)
③(−1+1−1+1+1+1−1−1)
④(−1+1−1−1−1+1−1)
现收到这样的码片序列 S:(−1+1−3+1−1−3+1+1)。则下列说法错误的是( )。
A. ①发送的是 1
B. ②发送的是 0
C. ③发送的是 1
D. ④发送的是 12.答案:C。
解析:将①②③④每个的码片与收到的码片序列,逐个进行乘法。
例:将①中第一位 -1 与 S 中第一位 -1 相乘得 +1,第二位(−1)×(+1)=−1,以此类推,得(+1,−1,+3,+1,−1,+3,+1,+1),对所得相加等于 8,用 8 除以码片长度 8 得 1,则 A 站发送的是 1。
②③④用相同方法计算。
① ①发送 1;
② ②发送 0;
③ ③无发送;
④ ④发送 1。
答案选择 C 选项。3.下面关于多路复用器的主要功能及其应用场景说法错误的一项是( )。
A. 可以执行数 / 模转换;应用于电信领域的电话交换系统
B. 可以结合来自多条线路的传输;应用于数据中心的服务器集群
C. 可以执行串 / 并转换;应用于无线通信网络中的基站
D. 可以减少主机的通信处理强度;应用于家庭网络中的路由器3.答案:D。
解析:多路复用的主要功能是要结合来自多条线路的传输,从而提高线路的使用率。选项 A,B,C 中的应用场景都是正确的。多路复用器在电信领域的电话交换系统中广泛应用,用于将多个电话信号合并成一个复合信号进行传输。在数据中心的服务器集群中,多路复用器用于将多个服务器的数据传输合并到一个传输线路上。在无线通信网络中的基站,多路复用器用于将多个用户的通信信号合并到一个传输线路上。选项 D 中的路由器虽然也是网络设备,但通常不是多路复用器的直接应用场景。4.以太网媒体访问控制技术 CSMA/CD 的机制是( )。
A. 循环使用带宽
B. 按优先级分配带宽
C. 预约带宽
D. 争用带宽4.答案:D。
解析:CSMA/CD 即载波监听多点接入 / 冲突检测。载波监听是指无论在发送前,还是在发送中,每一个站都不停地检测信道。若在发送数据前检测到信道上有其他站正在发送数据,则自己暂时不发送数据,以免发生冲突,等到信道空闲时再发送。在发送中检测信道,是为了及时发现冲突。多点接入是指计算机以多点接入的方式连接到一根总线上。冲突检测是指边发送边监听,即适配器一边发送数据,一边检测信道上信号电压的变化情况,以判断自己在发送数据时是否有其他站也在发送数据。因此,以太网媒体访问控制技术 CSMA/CD 的机制是争用带宽。5.CSMA/CD 以太网中,发生冲突后,重发前的退避时间最大为( )。
A. 65536 个时间片
B. 65535 个时间片
C. 1024 个时间片
D. 1023 个时间片5.答案:D。
解析:CSMA/CD 采用截断二进制指数退避算法来确定碰撞后重发的时间。这种算法让发生碰撞的站在停止发送数据后,不是等待信道空闲后再立即发送数据,而是推迟一个随机的时间。假定在[0,1,2,...,(2k−1)]中随机选定一个数作为 r,推迟的时间就是 r 倍的争用期。k 的取值按照公式k=Min[重发次数,10] 计算。从这个公式可以看出,当重发次数不超过 10 时,参数 k 等于重发次数;当重发次数超过 10 时,k 取值为 10。当重发达 16 次仍不能成功时,就丢弃该帧。因此发生冲突后,重发前的退避时间最大为210−1=1023个时间片。6.对于基带 CSMA/CD 而言,为了确保发送站点在传输时能检测到可能存在的冲突,数据帧的传输时延至少要等于信号传播时延的( );除此之外,还可以采用( )方法来降低冲突发生的可能。
A. 1 倍,增加传输距离
B. 2 倍,增加传输距离
C. 1 倍,增加传输速率
D. 2 倍,增加传输速率6.答案:D。
解析:为了增加冲突检测的可能性,就要让数据包尽快地到达接收方。减少传输距离可以让数据包尽快地到达接收方,增加传输速率也可以让数据包尽快地到达接收方。
假设信号传播时延为 t,传输时延为 2t。这样,发送端将在 t 时间内将数据帧发送到传输介质上,然后信号需要再传播 t 时间才能到达接收端。接收端再在 t 时间内进行处理,这样总共需要 2t 的时间才能完成数据帧的传输。如果传输时延小于信号传播时延的 2 倍,如只有 t 的时间,那么在信号传播过程中可能还没有完成传输,就开始进行接收端的处理,这将导致数据丢失或错误。因此,为了确保数据的可靠传输,传输时延至少要等于信号传播时延的 2 倍。
综上所述,答案选择 D 选项。7.一个速度为 2 Gb/s、跨距为 2 km 的 CSMA/CD 网络,假设不使用中继器,传播速率为 5 km/μs,请问该网络的最小帧长为( )。
A. 100 B
B. 200 B
C. 100 bit
D. 200 bit7.答案:B。
解析:根据 CSMA/CD 的工作原理,一个数据的最小帧长应该等于双倍的单程传播时延与传输速率的乘积。双倍的单程传播时延是 0.8 μs,则最小帧长=0.8μs×2Gb/s=1600bit。
最小帧长是 1600 bit,即 200 B。8.A,B 两站位于长 2 km 的基带总线局域网的两端,C 站位于 A,B 站之间,数据传输速率为 10 Mb/s,信号传播速度为 200 m/μs,B 站接收完毕 A 站发来的一帧数据所需的时间是 80 μs,则数据帧长为( )。若 A,C 两站同时向对方发送一帧数据,4 μs 后两站发现冲突,则 A,C 两站的距离为( )。
A. 750 bit,400 m
B. 700 bit,400 m
C. 750 bit,800 m
D. 700 bit,800 m8.答案:D。
解析:B 站接收完毕 A 站发来的一帧数据所需时间 = 传输时间 + 传播时间。
其中,传输时间 = 数据帧长度 / 数据传输速率,传播时间 = 距离 / 信号传播速度。
由题意可知,传播时间为 10 μs。设数据帧的长度为 H,则有H/10Mb/s=70μs,解得H=700bit,即数据帧的长度为 700 bit。
A,C 同时向对方发送一帧数据,则必然会在二者的中点发生碰撞,4 μs 为 A(或 C)到达其中点再返回 A(或 C)所需要的时间。那么从 A 到 C 所需要的传播时延为 4 μs。A,C 两站的距离为4μs×200m/μs=800m。9.一个 CSMA/CD 基带总线网长度为 4000 m,信号传播速度为2×108m/s,假如位于总线两端的两台计算机在发送数据时发生了冲突,试问:
(1)两台计算机间的信号传播延迟是多少?往返传播时间是多少?
(2)每台计算机最多需要多长时间可以检测到冲突?
(3)若建立传输速率为 10 Mb/s 的网络,最短帧长为多少?21.7 局域网精选习题与解析
21.7.1 精选习题
1.以下关于 MAC 的说法,错误的是( )。
A. MAC 地址是动态生成的,用来标识网络设备的物理地址
B. MAC 地址一共有 48 bit,它们从出厂时就被固化在网卡中
C. MAC 地址也称作物理地址,计算机的硬件地址
D. MAC 地址可用于以太网中的设备识别和寻址,以及无线局域网(Wi - Fi)中的设备身份验证1.答案:A。
解析:MAC 地址是出厂时就被固化在网卡中的,不是动态生成的,A 选项错误,答案选择 A 选项。MAC 地址又称为硬件地址或物理地址,应用 DHCP 协议能动态生成 IP 地址。MAC 地址长 6 字节,一般用由连字符(或冒号)分隔的 12 个十六进制数表示,高 24 位为厂商代码,低 24 位为厂商自行分配的网卡序列号。严格来讲,局域网的 “地址” 应是每个站的 “名字” 或标识符。MAC 地址在以太网中被用于设备的识别和寻址,通过 MAC 地址可以确定数据应该发送给哪个设备。在无线局域网(Wi - Fi)中,MAC 地址被用于设备的身份验证,用于控制设备的接入和安全性。2.通过 IEEE 802.3 局域网传送 ASCII 码信息 “Good morning!”,若封装成一个 MAC 帧,则该帧的数据字段有效字节为( ),需要填充( )字节。
A. 2,44
B. 3,43
C. 12,34
D. 13,332.答案:D。
解析:一个 ASCII 码的大小为 1 字节,“Good morning!” 共有 13 个字符,因此该帧的数据字段有效字节为 13。
以太网的 MAC 帧最短帧长为 64 字节,除去帧首和帧尾的 18 字节,数据字段应该有 46 字节,因此还需要填充 46 - 13 = 33 字节的数据。因此答案选 D。3.决定局域网特性的主要技术中最重要的是( )。
A. 传输介质
B. 拓扑结构
C. 介质访问控制技术
D. 数据交换技术3.答案:C。
解析:决定局域网特性的技术主要包括以下几项。
(1)网络的拓扑结构。常见的局域网拓扑结构主要有星形结构、环形结构、总线结构、星形和总线结合的复合型结构。
(2)传输介质。局域网可以使用双绞线、铜缆和光纤等多种传输介质,其中双绞线为主流传输介质。
(3)介质访问控制技术。局域网的介质访问控制方法主要有 CSMA/CD、令牌总线和令牌环,其中前两种方法主要用于总线局域网,令牌环主要用于环形局域网。
其中最重要的技术是介质访问控制技术,它决定了局域网的技术特性,答案选择 C 选项。4.下列关于令牌环网络的描述,错误的是( )。
A. 令牌环网络不存在冲突,数据从一个结点到另一结点的时间可以计算
B. 令牌环网的主要功能是提供可靠的数据冲突检测与解决机制
C. 使用令牌在网络中轮流传递,同一时刻,环上只有一个数据在传输
D. 令牌环网通常应用于高速局域网(LAN)环境和无线传感网络4.答案:D。
解析:令牌环网的原理是通过一个特殊的令牌在网络中轮流传递。只有持有令牌的设备才能发送数据,其他设备在没有令牌的情况下只能等待。令牌环网采用环状的物理拓扑结构,数据沿着环路传递,每个设备接收到令牌时可以发送数据。令牌环网通过令牌传递的方式控制数据访问,提供了可靠的数据冲突检测与解决机制。
令牌环网通常应用于高速局域网(LAN)环境和数据中心网络,其中有较高的数据传输需求和对数据可靠性的要求。令牌环网可以提供有序的数据传输和冲突的避免,适用于这些场景。广域网(WAN)连接与无线传感网络等则通常不会使用令牌环网。答案选择 D 选项。5.下列说法错误的是( )。
A. IEEE 802.3 标准定义的以太网中,实现 “给帧加序号” 功能的层次是逻辑链路控制子层(LLC)
B. IEEE 802.3 标准的 MAC 帧中,目的地址字段为全 “1” 时,表示广播地址
C. IEEE 802.3 标准规定,若采用同轴电缆作为传输介质,在无中继的情况下,传输介质的最大长度不能超过 500 m
D. 由 IEEE 802.11 定义的介质访问控制方法是 CSMA/CD5.答案:D。
解析:以太网没有网络层。物理层的主要功能是:信号的编码和译码、比特的接收和传输;MAC 子层的主要功能是:组帧和拆帧、比特差错检测、寻址、竞争处理;LLC 子层的主要功能是建立和释放数据链路层的逻辑连接、提供与高层的接口、差错控制、给帧加序号。A 选项正确。
目的地址是全 “1”,即广播目的的 MAC 是 FF - FF - FF - FF - FF - FF,表示这一帧是广播帧。B 选项正确。
以太网常用的传输介质有 4 种:粗缆、细缆、双绞线和光纤。同轴电缆分 50Ω 基带电缆和 75Ω 宽带电缆两类。基带电缆又分细同轴电缆和粗同轴电缆。
10Base - 5:粗缆以太网,数据率为 10 Mb/s,每段电缆最大长度为 500 m;使用特殊的收发器连接到电缆上,收发器完成载波监听和冲突检测的功能。
10Base - 2:细缆以太网,数据率为 10 Mb/s,每段电缆最大长度为 185 m;使用 BNC 连接器形成 T 形连接,无源部件。
因此,C 选项正确。
IEEE 802.11 是无线局域网标准,介质访问控制方法是用 CSMA/CA。无线局域网不能简单地使用 CSMA/CD 协议,特别是碰撞检测部分,原因如下:第一,在无线局域网的适配器上,接收信号的强度往往远小于发送信号的强度,因此若要实现碰撞检测,那么硬件上的花费就会过大;第二,在无线局域网中,并非所有站点都能听见对方,由此引发了隐蔽站和暴露站问题,而 “所有站点都能够听见对方” 正是实现 CSMA/CD 协议必备的基础。D 选项错误,答案选择 D。6.下面有关 VLAN 的说法正确的是( )。
A. 一个 VLAN 组成一个广播域,VLAN 的作用是提供网络安全隔离和管理
B. 一个 VLAN 是一个冲突域,实现不同物理网络的互联
C. 各个 VLAN 之间不能通信,以此增强网络的安全性
D. VLAN 可以用于分割不同部门或用户组的网络流量,实现跨楼层或跨建筑的网络连接,连接广域网(WAN)和局域网(LAN)6.答案:A。
解析:VLAN(虚拟局域网)逻辑上把网络资源和网络用户按照一定的原则进行划分,把一个物理上实际的网络划分为多个小的逻辑网络。一个 VLAN 形成一个小的广播域,各 VLAN 之间不能直接通信。必须是 3 层及以上的交换机才可以被用来构建 VLAN。VLAN 的主要功能是提供网络安全隔离和管理。通过将逻辑上相关的设备划分到不同的 VLAN 中,可以实现对不同 VLAN 间的流量隔离和访问控制,增强网络的安全性。
VLAN 的应用场景包括分割不同部门或用户组的网络流量,实现网络资源的隔离和管理;构建虚拟私有网络(VPN),提供安全的远程访问;实现跨楼层或跨建筑的网络连接,简化网络布线和管理。连接广域网(WAN)和局域网(LAN)不是 VLAN 的应用场景。7.假设有一台计算机 A 要向另一台计算机 B 发送一个以太网帧。已知以太网帧的最大数据传输单元为 1500 字节。现在探测到两个数据包如下。
帧 1:目的 MAC 地址为 00:11:22:33:44:55,源 MAC 地址为 AA:BB:CC:DD:EE:FF,以太网类型为 IPv4 (0x0800)。
帧 2:目的 MAC 地址为 AA:BB:CC:DD:EE:FF,源 MAC 地址为 00:11:22:33:44:55,以太网类型为 ARP (0x0806)。
回答以下问题。
(1)以太网帧的最大帧长是多少?
(2)请分别写出计算机 A、B 的 MAC 地址。
(3)ARP 属于 OSI 模型中哪一层的协议?7.答案:
(1)根据题目中提供的信息,以太网帧的最大数据传输单元为 1500 字节。以太网帧头部 + 尾部的大小为 18 字节(目的 MAC 地址 6 字节 + 源 MAC 地址 6 字节 + 以太网类型 2 字节 + 4 字节的校验(FCS))。因此,最大帧长 = 1500 + 18 = 1518 字节。
(2)根据题目中提供的信息,帧 2 应当是 ARP 响应帧,因为 ARP 请求帧是广播的,目的 MAC 应该是 FF - FF - FF - FF - FF - FF,而帧 2 的目的 MAC 并不是广播地址,因此判断帧 2 是 ARP 响应帧。
由于题目要求 A 给 B 发送信息,所以 A 应该使用 ARP 协议广播询问 B 的 MAC 地址,而 B 收到 ARP 请求帧时,会返回一个 ARP 响应帧,帧 2 是 B 发送的。因此 B 的 MAC 地址为 00:11:22:33:44:55,A 的 MAC 地址为 AA:BB:CC:DD:EE:FF。
(3)ARP(address resolution protocol)属于 OSI 模型中的第二层(数据链路层)协议。它用于将 IP 地址解析为对应的 MAC 地址,以实现在网络中的通信。8.某公司的网络拓扑中有两台交换机,分别是交换机 A 和交换机 B。交换机 A 上连接了两台主机,分别是主机 X 和主机 Y,交换机 B 上连接了两台主机,分别是主机 Z 和主机 W。现在公司决定使用 VLAN 来划分网络,要求如下:主机 X 和主机 Y 属于同一个 VLAN,主机 Z 和主机 W 属于同一个 VLAN。交换机 A 和交换机 B 之间通过 Trunk 连接,并允许 VLAN 的传输。
请根据以上情况回答下列问题。
(1)请给出划分后的 VLAN 编号,以及每个主机所属的 VLAN 编号。
(2)X 和 Y 通信的数据帧中,是否会携带 VLAN 标记?为什么?
(3)在交换机 B 上再连接一个主机 M。M 和 X,Y 同属于一个 VLAN,X 和 M 的通信是否会携带 VLAN 标记?
(4)该网络拓扑中有多少个广播域?
(5)如果主机 X 想要给主机 Z 发送数据,能否实现?如果不能实现,请给出解决办法。8.答案:
(1)划分后的 VLAN 编号如下。
VLAN1:主机 X 和主机 Y 所属的 VLAN;
VLAN2:主机 Z 和主机 W 所属的 VLAN。
每个主机所属的 VLAN 编号如下。
主机 X:VLAN1;
主机 Y:VLAN1;
主机 Z:VLAN2;
主机 W:VLAN2。
(2)X 和 Y 通信的数据帧中不会携带 VLAN 标记。原因是 X 和 Y 的通信不会经过 Trunk,而携带 VLAN 标签的帧是 802.1Q 帧,它是用于跨越 Trunk 的帧。
(3)X 和 M 通信的数据帧中会携带 VLAN 标记。因为该帧需要跨越 Trunk。
(4)在该网络拓扑中广播域的个数为 2 个,即每个 VLAN 对应一个广播域。主机 X 和主机 Y 属于 VLAN1,主机 Z 和主机 W 属于 VLAN2,它们分别在各自的 VLAN 中进行广播。
(5)如果主机 X 想要给主机 Z 发送数据,由于它们属于不同的 VLAN(VLAN1 和 VLAN2),不同 VLAN 的主机直接进行通信是不可行的。解决这个问题的一种常见方法是通过路由器连接不同的 VLAN,实现跨 VLAN 的通信。可以在网络中添加一个路由器,将交换机 A 和交换机 B 连接到路由器上,并在路由器上配置对应的 VLAN 接口。这样主机 X 就可以通过路由器转发数据给主机 Z。21.8 广域网精选习题与解析
21.8.1 精选习题
1.下列关于 PPP 中的 LCP 协议和 NCP 协议的说法正确的是( )。
A. LCP 协议在建立状态阶段协商数据链路层协议的选项
B. LCP 协议负责配置网络层协议并进行安全控制,保护通信双方的数据安全
C. NCP 协议负责处理网络层协议的配置和多路复用,检查数据链路层的错误,并通知错误信息
D. NCP 协议提供链路层连接的建立和维护,实现数据链路层的错误检测和纠正21.8.2 答案与解析
1.答案:A。
解析:PPP 帧在默认配置下,地址和控制域总是常量,所以 LCP 提供了必要的机制,允许双方协商一个选项。在建立状态阶段,LCP 协商数据链路层协议中的选项,它并不真正关心这些选项本身,只提供一个协商选择的机制。LCP 协议的主要功能是提供链路层连接的建立和维护。它用于协商和配置链路层参数,例如链路的最大传输单元(MTU)和链路的数据压缩方式。NCP 协议的主要功能是处理网络层协议的配置和多路复用。它用于配置和管理网络层协议(如 IP 协议)以及处理多个网络层协议的共存和切换。
PPP 主要由 3 个部分组成。
(1)一个将 IP 数据报封装到串行链路的方法。
(2)一个链路控制协议(LCP)。其用于建立、配置和测试数据链路连接,并在它们不需要时将它们释放。
(3)一套网络控制协议(NCP)。其中每个协议支持不同的网络层协议,用来建立和配置不同的网络层协议。21.9 数据链路层设备精选习题与解析
21.9.1 精选习题
1.交换机能够识别( )。
A. IP 地址
B. TCP 端口号
C. MAC 地址
D. IP 分组的版本号(IPv4,IPv6)1.答案:C。
解析:交换机是工作在数据链路层的设备,只能够识别 MAC 地址。2.交换机收到一个帧,但该帧的目的地址在其 MAC 地址表中找不到对应,交换机将( )。
A. 丢弃
B. 退回
C. 洪泛
D. 转发给网关2.答案:C。
解析:一个帧在交换机的 MAC 地址表中找不到目的地址对应的接口时,将洪泛。洪泛是指向除了信息进入的那个端口以外的端口以普通帧的形式发送消息。3.下列关于交换机的叙述,正确的是( )。
A. 以太网交换机本质上是一种多端口网桥
B. 通过交换机互连的一组工作站构成一个冲突域
C. 交换机每个端口所连网络构成一个独立的广播域
D. 以太网交换机可实现采用不同网络层协议的网络互连3.答案:A。
解析:以太网交换机本质就是多接口网桥,A 选项正确。
交换机隔离冲突域,连接在交换机不同端口上的设备不在一个冲突域中,因此 B 选项错误。
路由器隔离广播,而交换机不能,因此交换机所有端口所连接的网络构成一个广播域,因此 C 选项错误。
路由器可以实现不同网络层协议的网络互连,而交换机不能,因此 D 选项错误。4.假设一个局域网(LAN)中有 5 台计算机(A,B,C,D,E)连接到一个以太网交换机,它们共享同一个以太网段。每台计算机的 MAC 地址如下。
A:00:11:22:33:44:55;B:11:22:33:44:55:66;C:22:33:44:55:66:77;D:33:44:55:66:77:88;E:44:55:66:77:88:99。
交换机的转发表初始为空。
现在,假设计算机 A 要发送一个数据帧给计算机 E,要求回答以下问题。
(1)A 发送数据帧时,数据帧中的目标 MAC 地址是什么?源 MAC 地址是什么?
(2)交换机收到数据帧后,将会把数据帧发往交换机的哪个端口(假设交换机连接 A,B,C,D,E 的端口分别为 1,2,3,4,5)?
(3)计算机 E 在收到数据帧后,给 A 发送了一个回复帧。在 A 收到来自计算机 E 的数据帧之后,MAC 地址表中的条目会是什么样子?4.答案:
(1)A 发送数据帧时,数据帧中的目标 MAC 地址是计算机 E 的 MAC 地址 44:55:66:77:88:99。源 MAC 地址是计算机 A 的 MAC 地址 00:11:22:33:44:55。
(2)交换机收到数据帧后,会检查数据帧中的目标 MAC 地址。由于 MAC 地址表为空,交换机无法直接确定计算机 E 的位置。因此,交换机将广播(broadcast)数据帧到所有与它连接的端口上,除了接收到该数据帧的端口外,即 2,3,4,5 端口。
(3)交换机在处理完数据帧后,MAC 地址表中会有以下条目。
端口 1:MAC 地址 00:11:22:33:44:55(对应计算机 A);
端口 5:MAC 地址 44:55:66:77:88:99(对应计算机 E)。第 22 章 网络层
22.1 基本概念
22.1.1 网络层的功能
网络层是在数据链路层提供的两个相邻结点之间的帧的传送功能上(数据链路层提供的功能基础上),进一步管理网络中的数据通信,将数据设法从源端经过若干个中间结点传送到目的端(点到点),从而向传输层提供最基本的端到端的数据传送服务。
为了 IP 数据报从源端经过若干个中间结点传送到目的端,网络层需要提供以下功能。
1.异构网络互联
各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。这种使用 IP 协议的虚拟互连网络可简称为 IP 网。2.路由与转发
在路由表中,对每一条路由最主要的是以下两个信息 —— 目的网络地址、下一跳地址。网络层可以让路由器去维护路由表,并通过路由表 IP 数据报的下一跳地址。简单来说就是:先提取 IP 地址的网络地址,再查路由表。3.SDN 基本概念
SDN(软件定义网络)的核心思想是将网络交换机中的数据转发和控制功能分离,实现网络的可编程性、智能化和自动化。它将控制层面单独抽出来,不再放到所有路由器上,使用控制层去统筹管理整个网络拓扑结构,这样就可以让控制层去快速地计算路由表,再分发给各个路由器。4.拥塞控制
拥塞现象是指到达通信子网中某一部分的分组数量过多,使该网络来不及处理以致引起该部分乃至整个网络性能下降的现象。拥塞控制用开环方法和闭环方法的方式来解决,也就是说,可以在系统设计之初制定预防策略,也可以在系统运行时动态调整。22.1.2 路由算法
思考一个问题,如果路由表已知,那么让 IP 数据报根据路由表来进行转发是很简单的,问题就在于这个表如何产生。这时就要用到路由算法和路由协议了。
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。这里需要注意路由算法和路由协议的区别。算法指的是解决问题的一个思路,而协议指的是算法的具体实现方案。比如说 RIP 协议采用了距离向量路由算法的方式,但是使用了距离向量路由算法的不止 RIP 协议。
路由算法的目的是找到一条从源路由器到目的路由器的 “好” 路径(即具有最低费用的路径),路由表就是通过路由算法生成的。
1.静态路由与动态路由
倘若从路由算法能否随网络的通信量或拓扑自适应地进行调整变化来划分,则路由选择算法只有两大类,即静态路由选择算法与动态路由选择算法。这里主要介绍两种动态路由选择算法:距离向量路由算法和链路状态路由算法。
1)距离向量路由算法:在距离向量路由算法中,所有结点都定期地将它们的整个路由选择表传送给所有与之直接相邻的结点,结点收到路由选择表后可能会对自己的路由选择表进行更新。
1.只向相邻的路由器发送路由信息。
2.发送的信息是该路由器的路由选择表。
3.定时向相邻结点发送路由选择表。
2)链路状态路由算法:链路状态路由算法要求每个参与该算法的结点都具有完全的网络拓扑信息。其特点如下。
1.向本自治系统中所有路由器发送信息,这里使用的方法是泛洪法,即路由器通过除自己之外的其他所有端口发送信息。
2.发送的信息是与路由器相邻的所有路由器的链路状态,是说明本路由器与哪些路由器相邻及该链路的 “度量”。例如距离、带宽、费用、时延等。
3.只有当链路状态发生变化时,路由器才向所有路由器发送此消息。
2.层次路由
当网络规模变得很大的时候,路由表也会非常大,路由算法的消耗也会很大,那么有没有办法减少路由算法的消耗?这时就需要使用层次路由。
层次路由会将整个互联网划分为许多较小的自治系统(AS)。自治系统有权自主地决定在本系统内应采用何种路由选择协议。例如,自治系统内部可以决定本系统使用 RIP 协议还是 OSPF 协议。22.1.3 IPv4
IPv4 协议是网络层最重要的协议,这里我们需要理解 IPv4 报文格式和 IPv4 报文的传输规则。
1.IPv4 分组
一个 IP 数据报由首部和数据两部分组成。首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。在首部固定部分的后面是一些可选字段,其长度是可变的。图22-1所示的就是IP数据报的格式。
注意一下片偏移字段,片偏移以 8 个字节为单位,这说明每个分片的长度必须是 8 个字节的整数倍(最后一个分片除外)。例如分片长度是 32 字节,那么片偏移字段应该填入 4。
同时我们还注意到,IP 数据报中有源地址和目的地址字段,这就是发送方和接收方的 “名字”,也被称为 IP 地址。2.IPv4 地址与 NAT
IP 地址就是给互联网上每一台主机(或路由器)的每一个接口分配一个在全世界范围内唯一的 32 位的标识符。
IP 地址的编址方法共经过了 3 个历史阶段。1.分类的 IP 地址。这是最基本的编址方法,在 1981 年就通过了相应的标准协议。
2.子网的划分。这是对最基本的编址方法的改进。
3.构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。
所谓 “分类的 IP 地址” 就是将 IP 地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成。
第一个字段是网络号(net-id),它标志主机(或路由器)所连接到的网络。一个网络号在整个互联网范围内必须是唯一的。
第二个字段是主机号(host-id),它标志该主机(或路由器)。一台主机号在它前面的网络号所指明的网络范围内必须是唯一的。由此可见,一个 IP 地址在整个互联网范围内是唯一的。图 22 - 2 给出了各种 IP 地址的网络号字段和主机号字段,这里 A 类、B 类和 C 类地址都是单播地址(一对一通信),是最常用的。
现在思考一个问题,IP 地址总共只有 32 位,如果所有的地址都用完了,怎么办?
一个解决方法就是,让已经被使用的 IP 地址再次使用,但是这样就会违反 IP 地址的唯一性,该如何解决?人们想到了使用 NAT 技术来实现。
通过 NAT 技术,仅在机构内部使用的计算机就可以由本机构自行分配其 IP 地址(这种地址称为本地地址或者专用地址),而不需要向互联网的管理机构申请全球唯一的 IP 地址(这种地址称为全球地址)。这样就可以大大节约宝贵的全球 IP 地址资源。
在互联网中,对目的地址是专用地址的数据报一律不进行转发;需要采用 NAT 技术,将专用地址转换为全球 IP 地址才能转发。图22-3给出了NAT路由器的工作原理。
3. 子网划分、路由聚集、子网掩码与 CIDR
使用了 NAT 技术之后,IP 地址仍面临被耗尽的风险,又应该如何解决呢?
从 1985 年起在 IP 地址中又增加了一个子网号字段,使两级 IP 地址变为三级 IP 地址,它能够较好地解决上述问题,并且使用起来也很灵活。这种做法叫作子网划分。
子网划分的基本思路如下。(1)一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网(subnet)。划分子网纯属一个单位内部的事情。本单位以外的网络看不见这个网络由多少个子网组成,因为这个单位对外仍然表现为一个网络。
(2)划分子网的方法是从网络的主机号借用若干位作为子网号(subnet-id),当然主机号也就相应减少了同样的位数。于是两级 IP 地址在本单位内部就变为三级 IP 地址:网络号、子网号和主机号。也可以用以下记法来表示。
凡是从其他网络发送给本单位某台主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到 IP 数据报后,会按目的网络号和子网号找到目的子网,然后再把 IP 数据报交付目的主机。
进行子网划分的网络对外表现仍为原网络,从 IP 数据报的首部无法看出源主机或目的主机所连接的网络是否进行了子网的划分。那么该如何将子网号区分出来呢?
可以使用子网掩码。子网掩码也是 32 位的,如果 IP 地址的对应位为网络号或者子网号,子网掩码为 1;如果 IP 地址的对应位为主机号,子网掩码为 0。
不难发现,划分子网后,网络中所能分配的 IP 地址数量变少了,但是网络数量(包括子网数)变多了。
随着网络设备的增加,哪怕我们已经用上了划分子网的方法来增加 IPv4 地址的利用率,但是 B 类地址还是不可避免地即将用完,该如何解决这个问题?
这时可以使用 CIDR 构成超网的方式来解决。
CIDR 最主要的特点有两个。(1)CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而能更加有效地分配 IPv4 的地址空间,并且在新的 IPv6 使用之前容许互联网的规模继续增长。
(2)CIDR 把 32 位的 IP 地址划分为前、后两个部分。前面部分是 “网络前缀”(network-prefix),用来指明网络,后面部分则用来指明主机。因此 CIDR 又使 IP 地址从三级编址(使用子网掩码)到了两级编址。
相比子网划分,CIDR 有路由聚合和最长前缀匹配的功能。
1.路由聚合:将多个子网聚合成一个较大的子网。方法是让所有子网的网络前缀取交集,最后结果就是较大的子网的网络前缀。
2.最长前缀匹配:在查找路由表时可能会得到不止一个匹配结果。应当从匹配结果中选择具有最长网络前缀的路由。因为网络前缀越长,其地址块就越小,因而路由就越具体。
4.ARP 协议、DHCP 协议与 ICMP 协议
下面我们介绍 IP 协议的使用 —— 与 IPv4 有关的 3 个协议(ARP 协议、DHCP 协议和 ICMP 协议)(由于 IPv6 的协议不在考纲中,这里只介绍与 IPv4 有关的协议)。1)ARP 协议:在主机 ARP 高速缓存中存放一个从 IP 地址到硬件地址的映射表,从而实现 IP 地址和 MAC 地址的转换。原理是让发送方在本局域网上广播发送一个 ARP 请求分组,如果接收方收到,就向发送方发送 ARP 响应分组,ARP 协议如图22-4所示。
2)DHCP 协议:可以让主机从服务器动态获取 IP 地址、子网掩码、默认网关、DNS 服务器 IP 地址等 IP 参数。下面是 DHCP 协议自动分配 IP 参数的流程。
(1) 客户端广播 DHCP 发现报文(DHCPDISCOVER):以广播方式发送来寻找 DHCP 服务器。
(2)DHCP 服务端广播 DHCP 提供报文(DHCPOFFER):向客户端发送一个包含分配的 IP 地址及相关配置。
(3)客户端广播 DHCP 请求报文(DHCPREQUEST):客户端收到 DHCP 提供报文后,选择第一个接收到的提供信息。
(4)DHCP 服务器广播 DHCP 确认报文(DHCPACK):DHCP 服务器收到 DHCP 请求报文后,回复一个包含它所提供的 IP 地址和其他设置的 DHCP 确认报文,告诉客户端可以使用它提供的 IP 地址。
3)ICMP 协议:ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。图 22-5给出了几种常用的ICMP报文类型。
22.1.4 IPv6
1.IPv6 的主要特点
前面我们学习了使用 NAT 技术、划分子网和 CIDR 的方式来解决 IPv4 地址不够用的问题。但是这些方法还是治标不治本。IP 地址不够用的关键在于,IPv4 地址最多能提供232个地址,而随着互联网的发展,232个网络设备显然是不够用的,因此人们就提出了 IPv6 的方法,将地址位数从 32 位变成了 128 位,最多可以提供2128个地址。这个地址空间在可预见的将来是不会被用完的。
IPv6 所引进的主要变化如下。1.更大的地址空间。
2.灵活的首部格式。IPv6 数据报的首部和 IPv4 的并不兼容。IPv6 定义了许多可选的扩展首部。
3.改进的选项。IPv6 允许数据报包含有选项的控制信息,因而可以包含一些新的选项。但 IPv6 的首部长度是固定的,其选项放在有效载荷中。
4.支持即插即用(即自动配置)。
5.支持资源的预分配。IPv6 支持实时视像等要求保证一定的带宽和时延的应用。
6.IPv6 首部改为 8 字节对齐(即首部长度必须是 8 字节的整数倍)。
7.在传输路径中,IPv6 不允许路由器对其分片。
8.在 ICMP 协议中,增加 “分组过大” 类型。
IPv6 报文格式如图 22 - 6 所示。
2.IPv6 地址
IPv6 地址共 128 位,为了使地址再稍简洁些,IPv6 使用冒号十六进制记法,它把每个 16 位的值用十六进制值表示,各值之间用冒号分隔。
例如,一个使用冒号十六进制记法的地址可表示为 2001:0db8:85a3:08d3:1319:8a2e:0370:7344。其中 2001 表示 16 位二进制数。22.1.5 路由协议
1.自治系统
层次路由会将整个互联网划分为许多较小的自治系统(AS)。自治系统是在单一技术管理下的一组路由器。这些路由器使用一种自治系统内部的路由选择协议和共同的度量。
因此,一个自治系统是一个互联网,其最重要的特点就是自治系统有权自主决定在本系统内应采用何种路由选择协议。2.域内路由与域间路由
在学习了层次路由和自治系统之后,可以将动态路由算法按照应用范围分为以下两大类。(1)内部网关协议(IGP):在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。
(2)外部网关协议(EGP):若源主机和目的主机处在不同的自治系统中(这两个自治系统可能使用不同的内部网关协议),当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议。目前使用最多的外部网关协议是 BGP 的版本 4(BGP - 4)。
自治系统之间的路由选择也叫作域间路由选择,而在自治系统内部的路由选择叫作域内路由选择。
3.RIP 路由协议
RIP 是一种典型的距离向量路由算法的路由选择协议。
RIP 协议会通过相邻路由器发生的 RIP 报文去尽力寻找最短距离。对每一个相邻路由器发送过来的 RIP 报文,进行以下操作。(1)对地址为X 的相邻路由器发来的 RIP 报文,先把报文中的所有 “下一跳” 字段的地址都改为 X,并把所有 “距离” 字段的值加 1。
(2)对修改后的 RIP 报文中的每一个项目,进行以下操作。
1.当原来的路由表中没有目的网络 N 时,把该项目添加到路由表中。
2.当原来的路由表中有目的网络 N 且下一跳地址是 X 时,用收到的项目替换原表中的相应项目。
3.当原来的路由表中有目的网络 N 且下一跳地址不是 X 时,若收到项目中的 d 小于原表,则用收到的项目更新路由表,否则不进行操作。
(3)若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器(置跳数为 16)。
(4)返回。RIP 协议最大的优点就是实现简单,开销较小。RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器(好消息传得快,坏消息传得慢)。
4.OSPF 路由协议
OSPF 协议是一个典型的链路状态路由算法。其原理是路由器之间频繁交换链路状态信息,从而建立起一个链路状态数据库(实际上就是全网的拓扑结构),然后每个路由器根据这个拓扑结构使用 Dijkstra 最短路径算法计算自己到各目的网络的最短路径,以此构造路由表。5.BGP 路由协议
BGP 协议用于不同自治系统间的通信。
每一个自治系统的管理员要选择至少一个路由器作为该自治系统的 “BGP 发言人”。在 BGP 发言人互相交换了网络可达性的信息后,各 BGP 发言人就根据所采用的策略从收到的路由信息中找出到达各自治系统的较好路由。22.1.6 IP 组播
1.组播的概念
接下来思考一下,我们应该如何去转发这些协议中要用到的 IP 数据报呢?先来看看目前有哪些常见的数据传输方式。(1)单播:传统的点对点通信,发送者和每一接收者之间需要单独的数据信道。
(2)广播:一点对多点的通信,分组被交付到网络中的所有计算机。发送者发出一个数据报,会被网络中的所有主机收到。
在 IP 协议中,其实还有一种组播的方式。
组播(多播):当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的结点后才开始复制和分发,属于一点对多点的传输方式。组播既可以明显地减少网络中资源的消耗,又可以将数据报发送给特定的主机。IP组播的过程如图22-7所示。2.IP 组播地址
IP 组播使用 D 类地址格式,它的前 4 位为 1110,能表示的范围为 224.0.0.0~239.255.255.255。22.1.7 移动 IP
1.移动 IP 的概念
不同地点的网络号不同,如果人们处在高速运输的高铁上,网络号就会频繁变化,那么上网就会断断续续。为了解决这个问题,人们提出了移动 IP 技术。这种技术允许计算机移动到外地时,仍然保留其原来的 IP 地址。2.移动 IP 通信的过程
移动 IP 通信的过程如图 22 - 8 所示。22.1.8 网络层设备
1.路由器的组成和功能
路由器只包括网络层、数据链路层和物理层,是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。路由表结构如图 22 - 9 所示。1.输入端口:主要负责完成查找与转发,以便转发到路由器交换结构部分的分组能出现在适当的输出端口。
2.路由选择处理机:根据所选定的路由选择协议构造路由表,同时经常或定期地和相邻路由器交换路由,从而不断地更新和维护路由表。
3.交换结构:根据转发表来对分组进行转发,交换结构完全包容在路由器内部,即它是一台网络路由器中的网络。
4.输出端口:输出端口存储经过交换结构分组,并将这些分组传输到输出链路。
在之前的章节中,我们学习了物理层设备和数据链路层设备的冲突域和广播域,那么网络层设备又如何呢?
首先,路由器是网络层设备,当它收到一个分组时,会通过路由表来查看下一个地址,因此路由器端口只可能向某一个端口转发数据。根据冲突域的定义,路由器的一个端口属于一个冲突域,不同端口属于不同冲突域,路由器能分割冲突域。
路由器收到一个广播数据报后,会去这个广播数据报所指明的目的网络中进行广播。而路由器可以分隔异构网络,即路由器的一个端口对应着一个网络,广播数据报只会在一个端口内转发。因此路由器一个端口是一个广播域,路由器能分割广播域。
路由器、交换机和集线器的冲突域和广播域总结如图 22 - 10 所示。2.路由表与分组转发
在路由表中,对每一条路由最主要的是以下两个信息:目的网络地址、下一跳地址。
现在如果想给一台主机发信息,如何使用 IP 地址和路由表发送呢?分组转发算法归纳如下。1.从数据报的首部提取目的主机的 IP 地址 D,得出目的网络地址为 N。
2.如果 N 就是某一条路由表项,就把数据报传送给路由表中所指明的下一跳路由器(主机)。
3.如果 N 和所有路由表项都没有匹配上,就报告转发分组错误。
总结来说:先提取 IP 地址的网络地址,再查表。
22.2 网络层的功能精选习题与解析
22.2.1 精选习题
1.网络互连时,在由路由器进行互连的多个局域网的结构中,要求每个局域网的( )。
A. 物理层协议可以不同,而数据链路层及数据链路层以上的高层协议必须相同
B. 物理层、数据链路层协议可以不同,而数据链路层以上的高层协议必须相同
C. 物理层、数据链路层、网络层协议可以不同,而网络层以上的高层协议必须相同
D. 物理层、数据链路层、网络层及高层协议都可以不同1.答案:C。
解析:路由器是工作在网络层的设备,向网络层以上的层次隐藏下层的具体实现,因此每个局域网的物理层、数据链路层和网络层协议可以不同。而路由器不能处理网络层以上的协议数据,因此每个局域网的网络层以上的高层协议必须相同。2.在计算机网络中,网络层的主要功能是什么?请简要描述。
2.答案:
网络层在计算机网络中具有以下主要功能。(1)路由选择:网络层负责选择最佳路径来传输数据包从源主机到目标主机。它使用路由选择算法来决定数据包在网络中的传输路径,并确保数据能够有效地到达目标主机。
(2)IP 地址分配:网络层使用 IP 地址作为主机在网络中的唯一标识。它负责分配和管理 IP 地址,以确保每个主机都具有独特的标识,并能够正确地进行数据包的发送和接收。
(3)分组传输:网络层将传输层提供的数据分割成较小的数据包(也称为分组或数据报),并为每个数据包添加必要的控制信息,如源 IP 地址、目标 IP 地址和其他相关信息。这些数据包独立传输,并在目标主机上重新组装成完整的数据。
(4)数据报的转发和路由:网络层负责将数据包从源主机转发到目标主机。它使用路由器或交换机等设备来进行数据包的转发,并根据目标主机的 IP 地址来选择适当的路径和下一跳。
(5)拥塞控制:网络层在整个通信过程中负责监测网络的拥塞情况,并采取措施来控制和避免拥塞的发生。它可以根据网络负载情况调整数据包的发送速率或选择其他路径来减轻网络拥塞。
3.虚拟互连网络(逻辑互连网络)的概念是指( )。
A. 通过将多个物理层设备连接起来,实现物理层互连
B. 使用数据链路层协议将多个局域网连接在一起
C. 通过使用网际协议(IP)使不同性能的物理网络在网络层上看起来像一个统一的网络
D. 将不同类型的网络协议转换成统一的高层协议3.答案:C。
解析:“通过将多个物理层设备连接起来,实现物理层互连” 描述的是物理层的互连,而非虚拟互连网络。A 选项错误。
“使用数据链路层协议将多个局域网连接在一起” 描述的是数据链路层的互连,而非虚拟互连网络。B 选项错误。
虚拟互连网络是一种逻辑概念,它通过使用网际协议(IP)使不同性能的物理网络在网络层上看起来像一个统一的网络。这样,在 IP 网络上的主机进行通信时,它们看不见互连的各网络的具体异构细节(如具体的编址方案、路由选择协议等)。C 选项正确。
“将不同类型的网络协议转换成统一的高层协议” 描述的是网关在网络层以上进行协议转换,而非虚拟互连网络。D 选项错误。4.关于异构网络互连,以下哪种说法是正确的?( )
A. 使用相同的网络协议可以简化网络互连任务
B. 将不同类型的网络互相连接的任务非常简单
C. 用户需求的单一性和网络技术的不变性是网络互连的基础
D. 虚拟互连网络使性能各异的物理网络在物理层上看起来像是一个统一的网络4.答案:A。
解析:使用相同的网络协议(如 IP 协议)可以简化网络互连任务,因为它使互连的各个网络在网络层上看起来像是一个统一的网络。这种统一性有助于屏蔽网络之间的异构性,使通信更加简单。A 选项正确。
“将不同类型的网络互相连接的任务非常简单”,表述错误。实际上将不同类型的网络互连是一个复杂的任务,需要解决诸如寻址方案、路由选择技术等多种问题。B 选项错误。
“用户需求的单一性和网络技术的不变性是网络互连的基础”,表述错误。用户需求多样化,网络技术不断发展,正是因为这些原因,我们需要将异构网络互连起来。C 选项错误。
“虚拟互连网络使性能各异的物理网络在物理层上看起来像是一个统一的网络”,表述错误。虚拟互连网络实际上是在网络层上看起来像一个统一的网络,而非物理层。D 选项错误。5.采用 SDN 架构的网络相比于传统网络具有( )优势。
A. 更高的数据传输速率
B. 更好的硬件性能
C. 更灵活的网络管理和控制
D. 更高的网络层协议兼容性5.答案:C。
解析:SDN 架构的目标是提高网络管理和控制的灵活性,而不是直接提高数据传输速率。数据传输速率主要取决于网络设备、链路和传输介质等硬件因素。尽管 SDN 可以更有效地管理网络资源以优化性能,但它本身并不直接提高数据传输速率。A 选项错误。
SDN 架构主要关注软件层面的优化,使网络控制和管理更加灵活。虽然 SDN 可能有助于更好地利用硬件资源,但它并不直接改善硬件性能。硬件性能取决于具体的设备和组件,例如处理器、内存和交换机等。B 选项错误。
SDN 架构相比于传统网络的主要优势在于网络管理和控制的灵活性。通过将控制层与数据层分离,SDN 使得网络管理员可以通过编程方式轻松地调整、优化和扩展网络。这种架构能够更好地应对不断变化的业务需求,简化网络管理,提高网络的可扩展性和敏捷性。C 选项正确。
SDN 架构的目的是将控制层与数据层分离,使网络管理和控制更加灵活。虽然这种分离可以使得控制层的协议和数据层的协议独立演进,但 SDN 本身并不直接提高网络层协议的兼容性。网络层协议兼容性主要取决于网络设备和系统如何实现和支持各种协议标准,以及网络管理者如何配置和维护这些协议。D 选项错误。6.在 SDN 架构中,以下哪个组件负责进行网络中的路由和策略决策?( )
A. 数据平面
B. 控制平面
C. 网络控制器
D. 传统路由器6.答案:B。
解析:数据平面主要负责处理和转发网络流量,实现数据包在网络设备间的传输。虽然数据平面设备执行路由决策,但这些决策是由控制平面提供的。因此,数据平面不负责制定路由和策略决策。A 选项错误。
在 SDN 架构中,控制平面负责进行网络中的路由和策略决策。控制平面通常由一个或多个集中式的网络控制器组成,它们通过编程方式管理和控制数据平面设备,如交换机和路由器。这使得网络管理员可以灵活地调整、优化和扩展网络。B 选项正确。
网络控制器是控制平面的核心组件,用于管理和控制数据平面设备。虽然网络控制器在实践中负责制定路由和策略决策,但从架构层面来看,这些决策是在整个控制平面中进行的。因此,将网络控制器视为负责路由和策略决策的唯一组件可能会导致误解。C 选项错误。
传统路由器在非 SDN 网络中负责进行路由和策略决策。然而,在 SDN 架构中,这些决策由控制平面负责,将其从数据平面设备(如路由器和交换机)中分离出来。因此,在 SDN 架构中,传统路由器并不直接负责制定路由和策略决策。D 选项错误。7.OpenFlow 是一个与 SDN 相关的协议,下面说法正确的是( )。
A. OpenFlow 确保数据平面设备之间的安全通信
B. OpenFlow 1.0 的流表中包含了源 IP 地址、生存时间 TTL 和协议字段
C. OpenFlow 可以为 SDN 控制器和数据平面设备之间提供通信接口
D. OpenFlow 可以提供网络设备的硬件加速功能7.答案:C。
解析:OpenFlow 协议的主要目标并不是确保数据平面设备之间的安全通信。虽然 OpenFlow 可以支持加密和认证机制来提高控制器与数据平面设备之间的通信安全性,但其核心功能是为 SDN 控制器和数据平面设备之间提供通信接口。A 选项错误。
OpenFlow 1.0 的流表并没有包含生存时间 TTL。B 选项错误。
OpenFlow 是一个与 SDN 相关的协议,它的主要作用是为 SDN 控制器和数据平面设备(如交换机和路由器)提供通信接口。通过 OpenFlow 协议,SDN 控制器可以下发流表项、查询设备状态和收集网络统计信息等,从而实现对数据平面设备的集中式管理和控制。C 选项正确。
OpenFlow 协议本身并不提供硬件加速功能。它主要关注 SDN 控制器与数据平面设备之间的通信,使网络控制和管理更加灵活。硬件加速功能通常与特定的硬件组件和技术有关。例如网络处理器、ASIC(应用特定集成电路)和 FPGA(现场可编程门阵列)等,它们可以在数据平面设备中实现更高效的数据包处理和转发。D 选项错误。22.3 路由算法精选习题与解析
22.3.1 精选习题
1.使用距离 - 向量路由协议的路由器( )。
A. 把路由表发送到整个路由域中的所有路由器
B. 使用最短通路算法确定最佳路由
C. 根据邻居发来的信息更新自己的路由表
D. 维护整个网络的拓扑数据1.答案:C。
解析:采用距离向量路由算法的典型协议是 RIP 协议。运行距离 - 向量路由协议的路由器根据邻居发送过来的路由表信息来更新自己的路由表,不是将路由表信息发送到所有的路由器,而是发送给相邻的路由器。距离向量路由算法不维护整个网络的拓扑数据,链路状态路由算法维护的是整个网络拓扑的数据库。2.当多个异构网络通过路由器互连时,要实现在网络层的负载均衡,以下哪种路由选择算法可能更合适?( )
A. 距离向量路由算法
B. 链路状态路由算法
C. 层次路由算法
D. 静态路由算法2.答案:B。
解析:距离向量路由算法依赖于相邻路由器之间的信息交换。因此,每个路由器并不具备全局的网络拓扑视图。这限制了它们在计算最优路径和实现负载均衡时的准确性。相比之下,链路状态路由算法中的每个路由器都维护了一个完整的网络拓扑视图,能够更准确地计算路径。A 选项错误。
链路状态路由算法是一种动态路由选择算法,它通过收集链路状态信息来计算最佳路径。链路状态算法可以根据网络中的实时情况进行路由选择,因此在实现网络层负载均衡方面更为合适。B 选项正确。
层次路由使用分层的路由器结构来降低路由算法的复杂度。虽然这使它们在大型网络中更高效,但这种优化可能会导致负载不均衡。相比之下,链路状态路由算法的计算复杂度较低,并且可以在更大的网络中计算最短路径。C 选项错误。
静态路由算法是一种手动配置的路由选择算法,没有动态调整路由的能力,因此不适用于实现网络层负载均衡。D 选项错误。3.下列关于分层路由的描述,( )是错误的。
A. 采用分层路由后,路由器被划分成区域
B. 每个路由器不仅知道如何将分组路由到自己区域的目标地址,而且知道如何路由到其他区域
C. 采用分层路由后,可以将不同的网络连接起来
D. 对于大型网络,可能需要多级的分层路由来管理3.答案:D。
解析:分层路由是一种将网络分成若干个较小的区域并在区域间建立连通性的方法。在这种方法下,路由器会被划分成若干个区域,每个区域由一个或多个路由器组成。这些路由器被称为区域内部路由器。通过将网络划分为较小的区域,可以将路由器的复杂性降低,降低路由协议的计算成本,并提高网络的可伸缩性。A 选项正确。
在分层路由的网络中,每个路由器不仅知道如何将分组路由到自己区域内的目标地址,还知道如何将分组路由到其他区域。这是通过区域边界路由器之间的路由信息交换实现的。在路由信息交换过程中,区域边界路由器会告诉其他路由器如何到达该区域,并将其他区域的路由信息传递给其他区域的路由器。B 选项正确。
分层路由可以将不同的网络连接起来,使其成为一个单一的逻辑网络。这是通过在不同区域之间建立连接来实现的。这些连接可以是物理连接,如串行线路或光纤线路,也可以是虚拟连接,如 VPN 隧道。通过将不同的网络连接起来,可以实现跨地理位置的互联,并为用户提供统一的访问方式。C 选项正确。
对于大型网络,多级的分层路由是必要的。分层路由是一种将网络分成若干个较小的区域并在区域间建立连通性的方法,以简化路由器的复杂性和降低路由协议的计算成本。通常,分层路由可以使用两层或三层设计,其中较小的网络被组织成区域,每个区域有一个或多个路由器,这些路由器称为区域边界路由器。区域边界路由器之间使用协议(如 OSPF、EIGRP 等)通信,以确定最佳的路由路径。D 选项错误。22.4 IPv4 精选习题与解析
22.4.1 精选习题
1.在因特网中,IP 数据报从源结点到目的结点可能需要经过多个网络和路由器,在整个传输过程中,IP 数据报报头中的( )。
A. 源 IP 地址和目的 IP 地址都不会发生变化
B. 源 IP 地址可能发生变化,而目的 IP 地址不会发生变化
C. 目的 IP 地址可能发生变化,而源 IP 地址不会发生变化
D. 源 IP 地址和目的 IP 地址都有可能发生变化1.答案:A。
解析:在因特网中进行 IP 通信,源 IP 地址和目的地址均不会发生变化。从网络层向下层数据链路层交付时,需要知道路由器和主机的 MAC 地址,MAC 地址是不断变化的。2.若对 IP 地址 183.194.76.22 属于( )类地址,默认的子网掩码是( )。
A. B,255.255.255.0
B. B,255.255.0.0
C. C,255.255.255.0
D. C,255.255.0.02.答案:B。
解析:A 类 IP 地址网络范围是 1~126,子网掩码是 225.0.0.0;B 类 IP 地址网络范围是 128.1~191.255、子网掩码是 255.255.0.0;C 类 IP 地址网络范围是 192.0.1~223.255.255,子网掩码是 255.255.255.0。3.当 TTL 字段减到 0 时,IP 包依然没有到达目的地,则路由器会发送以下哪个消息?( )
A. ICMP 超时报文
B. ICMP 终点不可达
C. ICMP 参数错误消息
D. ICMP 重定向消息3.答案:A。
解析:常见的 ICMP 差错报告报文有终点不可达、时间超过、参数问题和改变路由(重定向)4 种。当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。A 选项错误。
当路由器收到生存时间(TTL)字段为 0 的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文,即 ICMP 超时报文。B 选项正确。
当路由器或目的主机收到的数据报的首部中的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。C 选项错误。
路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。D 选项错误。4.在一条点对点链路上,使用( )作为子网掩码能够减少地址的浪费。
A. 255.255.255.230
B. 255.255.255.240
C. 255.255.255.252
D. 255.255.255.2554. 答案:C。
解析:点对点链路中,需要网络地址、广播地址和 2 个 IP 主机地址,主机号只需要 2 比特,即网络号有 30 位,因此子网掩码为 255.255.255.252。5.关于 IP 头部的检验和,下列说法正确的是( )。
A. IP 数据报检验和的计算范围是整个 IP 数据报
B. 计算一份数据报的 IP 检验和,首先把检验和字段置为 0,然后对首部中每个 16 比特进行反码求和存入检验和字段
C. 如果 IP 发现检验和错误,那么 IP 就丢弃收到的数据报并发送差错报文
D. IP 数据报检验和的计算需要加入一个伪首部5. 答案:B。
解析:IP 头部检验和只检验 IP 数据报的首部,不包括数据部分,A 选项错误。
计算数据报的 IP 检验和,首先对数据报首部进行划分并将检验和字段置为 0,然后反码求和存入检验和字段,B 选项正确。
如果 IP 发现检验和错误,那么 IP 就丢弃收到的数据报,不发送差错报文,C 选项错误。
IP 数据报检验和的计算不需要加入伪首部。D 选项错误。6.下面关于 IP 地址与硬件地址的叙述,错误的是( )。
A. 在局域网中硬件地址又称为物理地址或 MAC 地址
B. 硬件地址是数据链路层和物理层使用的地址,IP 地址是网络层和以上各层使用的地址
C. IP 地址不能直接用来进行通信,在实际网络链路上传送数据帧必须使用硬件地址
D. RARP 解决同一个局域网上的主机或路由器的 IP 地址和硬件地址映射问题6. 答案:D。
解析:硬件地址是数据链路层和物理层使用的地址,而数据链路层和物理层通常是在物理介质上进行通信,如以太网、无线局域网等。A 选项正确。
网络层和以上各层通常不关心物理介质的细节,只需要关注数据的逻辑传输路径。B 选项正确。
在实际的数据通信中,数据帧需要经过多个网络设备进行转发和处理,而每个网络设备只能根据硬件地址来判断数据帧的转发方向。C 选项正确。
ARP(地址解析协议)用来解决同一个局域网上的主机或路由器 IP 地址和硬件地址映射问题。RARP(reverse address resolution protocol)是一种用于解决主机的硬件地址到 IP 地址的映射问题的协议,而不是 IP 地址和硬件地址的映射问题。RARP 主要用于在无法使用 DHCP 或手动配置 IP 地址的情况下,使主机能够在启动时自动获取 IP 地址。它通过主机的 MAC 地址查找 IP 地址,从而使主机能够与其他网络设备进行通信。D 选项错误,答案选择 D。7.以下哪个命令用于测试网络连通?( )
A. telnet
B. ipconfig
C. ping
D. ftp7. 答案:C。
解析:Telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登录服务的标准协议和主要方式,在终端使用者的计算机上通过 telnet 来连接到服务器。A 选项错误。
ipconfig 是 DOS 命令,用于显示 IP 地址信息。B 选项错误。
ICMP 的一个重要应用是分组网间探测 ping,用于测试两台主机之间的连通性。C 选项正确。
ftp 命令用于文件的传输。D 选项错误。8.当一台主机从一个网络移动到另一个网络时,以下说法正确的是( )。
A. 必须改变它的 IP 地址和 MAC 地址
B. 必须改变它的 IP 地址,但不需要改动 MAC 地址
C. 必须改变它的 MAC 地址,但不需要改动 IP 地址
D. MAC 地址、IP 地址都不需要改动8. 答案:B。
解析:当一台主机从一个网络移到另外一个网络时,因为各个网络的地址不同,所以 IP 地址需要修改;而 MAC 地址是固化在网卡中的,全球唯一且不需要修改。9.设有下面 4 条路由:190.170.129.0/24、190.170.130.0/24、190.170.132.0/24、190.170.133.0/24。如果进行路由汇聚,能覆盖这 4 条路由的地址是( )。
A. 190.170.128.0/21
B. 190.170.128.0/22
C. 190.170.130.0/22
D. 190.170.132.0/239. 答案:A。
解析:将给出的 4 个 IP 地址中的第 3 个字节用二进制表示,分别为 190.170.10000001.0、190.170.10000010.0、190.170.10000100.0 和 190.170.10000101.0。将第 3 个字节的前 5 位进行汇聚,可以得到 190.170.10000000.0,即能覆盖这 4 条路由的地址是 190.170.128.0/21。10.一个 UDP 用户数据报的数据字段为 8192 B。在数据链路层要使用以太网传输,那么应该分成( )个 IP 数据片。
A. 3
B. 4
C. 5
D. 610. 答案:B。
解析:以太网的数据链路层帧的数据部分的最大长度为 1500 B,即网络层的最大长度为 1500 B。网络层的首部固定长度为 20 B,则网络层数据部分最大长度为 1480 B,并且 1480 是 8 的整数倍,则分片的数据部分最大长度为 1480。UDP 用户数据的数据字段为 8192 B,首部长度为 8 B,所以总长度为 8192 B + 8 B = 8200 B。这 8200 B 作为网络层数据部分,将 8200 B 依次进行分片,每一个分片的首字节依次是 0~1479,1480~2959,2960~4439,4440~5919,5920~7399,7400~8200,即可以分成 6 个 IP 数据片。11.如果 IPv4 分组太大,则会在传输中被分片,那么在( )将对分片后的数据报重组。
A. 中间路由器
B. 下一跳路由器
C. 核心路由器
D. 目的端主机11. 答案:D。
解析:当要传输的分组太大被分片时,网络上传输的是分组的分片,这些分片在经过路由器时不会被重组,因为这些分片可能是经过不同的路径到达目的主机的,一个路由器收集不到一个分组的所有分片,不能进行重组,所以分片是在目的端主机重组的。12.当一个长度为 3000 字节的 TCP 报文段需要从源主机发送到目的主机时,假设源主机和目的主机之间的路径上的 MTU 为 1400 字节,假设在网络传输过程中不发生丢包、重传等问题,下面说法正确的是( )。
A. 为了将 TCP 报文段正确传输到目的主机,源主机需要分为 3 个 IP 数据报,且 IP 数据报的总长度分别为 1400,1400 和 260
B. 第 3 个分片的 MF 标志位为 0,DF 标志位为 1
C. 如果第 1 个分片的标志位是 12345,则第 2 个分片的标志位是 12346,第 3 个分片的标志位是 12347
D. 在收到最后一个 IP 数据报之后,目的主机需要查看每个 IP 数据报的 MF 标志位,将数据报的 TCP 数据字段按照顺序依次组装成一个完整的 TCP 报文段12. 答案:D。
解析:TCP 报文段总长度为 3000 B,则传递给网络层的 IP 数据报的数据部分长度为 3000 B。MTU 为 1400,包括 20 的首部和 1380 的数据部分,但是这里注意,分片长度要是 8 的整数倍,1380 并不是 8 的整数倍,要找到距离 1380 最近且是 8 的整数倍的数字,则是 1376,分片的最大数据部分应该是 1376。
数据报的数据部分是 3000,因此可以分成 1376、1376、248 这 3 个分片。由于题目问的是总长度,还需要加上 20 的首部,因此 3 个分片的总长度分别为 1396,1396 和 268。A 选项错误。
MF 表示的是后面是否还有分片,对于第 3 个分片来说,后面没有分片,因此 MF = 0,DF 表示是否允许分片,由于此网络已经对 IP 数据报进行了分片,所以肯定是允许分片,DF = 0 表示允许分片。B 选项错误。
IP 数据报的标识字段用于标识属于同一个 IP 数据报的分片,因此应该设置为同一个值,以便目的主机将多个分片组装成原始的 TCP 报文段。C 选项错误。
在收到最后一个 IP 数据报之后,目的主机需要查看每个 IP 数据报的 MF 标志位,将数据报的 TCP 数据字段按照顺序依次组装成一个完整的 TCP 报文段。在本题中,由于 MF 标志位的设置,目的主机需要将前两个 IP 数据报的 TCP 数据字段拼接起来,再加上最后一个 IP 数据报的 TCP 数据字段,组成完整的 TCP 报文段。D 选项正确。13.下面的地址中,分别属于单播地址和广播地址的是( )。
A. 172.31.128.255/18,192.168.0.255/24
B. 10.255.255.255,172.16.255.255
C. 192.168.24.59/30,198.162.1.255/24
D. 224.105.5.211,255.255.255.25513. 答案:A。
解析:172.31.128.255/18 的后两个字节用二进制表示,即 172.31.10000000.11111111,其中前 18 位表示网络号,后 18 位为主机号非全 1,这是一个单播地址。192.168.0.255/24 的后 8 位为主机号,且为全 1,则这是一个广播地址。A 选项正确。
10.255.255.255 的网络号为 10,主机号为 3 个 255,主机号全 1 表示这是一个广播地址。172.16.255.255 是一个 B 类地址,网络号为 172.16,主机号全 1 表示这是一个广播地址。B 选项错误。
将 IP 地址的最后一个字节用二进制表示,即 192.168.24.00111011,可知主机号为 11,也是一个广播地址。198.162.1.255/24 是一个广播地址。C 选项错误。
IP 地址属于 D 类地址,是多播地址。255.255.255.255 是全网广播地址。D 选项错误。14.某端口的 IP 地址为 172.16.7.131/26,则该 IP 地址所在网络的广播地址是( )。
A. 172.16.7.255
B. 172.16.7.129
C. 172.16.7.191
D. 172.16.7.25214. 答案:C。
解析:将给定的 IP 地址的最后一个字节用二进制表示,即 172.16.7.10000011,其网络前缀部分占 26 位,主机号占 6 位。广播地址是主机号为全 1 的地址,因此该 IP 地址的广播地址为 172.16.7.10111111,即 172.16.7.191。15.IP 地址块 202.111.15.128/28、202.111.15.144/28 和 202.111.15.160/28 经过聚合后可用的地址数为( )。
A. 30
B. 62
C. 64
D. 3215. 答案:B。
解析:将 IP 地址的最后一个字节用二进制表示,分别为 202.111.15.10000000/28,202.111.15.10010000/28,202.111.15.10100000/28。
将最后一个字节进行聚合,得到 202.111.15.10000000/26。后 6 位作为主机号,其中主机号为全 0 表示本网络,主机号为全 1 表示广播地址,因此可用的地址数为26−2=62个。16.一个路由器的路由表如下图所示,当该路由器接收到的 IP 数据报的目的地址为 c4.6D.31.2e 时,它将该数据报投递到( )。
A. A
B. B
C. C
D. D16. 答案:B。
解析:将路由器收到的 IP 数据报的目的地址和路由表中掩码长度为 12 的地址的子网掩码相 “与”,计算过程如下。11000100.01101101.00110001.00101110 (目的地址)
11111111.11110000.00000000.00000000 (子网掩码)
11000100.01100000.00000000.00000000 (c4.60.0.0)得到的网络地址和下一跳为 B 的网络相同,所以将该数据报投递到 B。
17.出于安全考虑,管理员希望阻止由外网进入的 ping 的嗅探,那么管理员需要阻止哪个协议?( )
A. SNMP
B. IGRP
C. IGMP
D. ICMP17. 答案:D。
解析:SNMP(simple network management protocol,简单网络管理协议),用于远程监视和配置网络设备,如路由器、交换机、防火墙等。它使用管理工作站和网络设备之间的消息传递来实现网络管理的自动化。SNMP 消息包含管理请求和设备响应,可以用于查询设备状态、配置设备参数、收集性能数据等。A 选项错误。
IGRP(interior gateway routing protocol,内部网关路由协议),用于在企业内部网络中选择最佳路径并转发数据。它基于距离向量路由算法,考虑多个因素(如带宽、延迟、可靠性等)来计算路由距离,并根据距离来选择最佳路径。IGRP 只在 Cisco 路由器之间使用,并已被现代的路由协议(如 OSPF,EIGRP 等)所取代。B 选项错误。
IGMP(internet group management protocol,Internet 组管理协议),用于管理主机加入或离开多播组,并向网络中的路由器通知多播组成员的信息。它可以减少多播组的网络流量,提高网络效率,并为用户提供更好的体验。IGMP 在多播协议(如 PIM,DVMRP 等)中扮演重要的角色,用于实现多播流量的转发和控制。C 选项错误。
ping 是一种使用 ICMP(internet control message protocol,Internet 控制报文协议)的工具,用于测试网络连接和故障排除。因此,为了防止外部主机使用 ping 工具对网络进行探测,管理员需要阻止由外网进入的 ICMP 报文。ICMP 报文包含不同类型和代码,如 ICMP 回显请求和回显响应,可以通过配置防火墙等网络安全设备来过滤和阻止外部 ICMP 报文的进入。D 选项正确。18.关于 ICMP 协议,下面的描述正确的是( )。
A. 通过 ICMP 可以把全局地址转换为本地地址,找到与 MAC 地址对应的 IP 地址
B. ICMP 协议用于在网络设备之间传输用户数据,而 IGMP 协议用于检测和修复网络中的错误
C. IGMP 是用于动态分配 IP 地址
D. ICMP 可传送 IP 通信过程中出现的错误信息18. 答案:D。
解析:ICMP 是一种在 IP 网络中用于发送错误和控制信息的协议。它通常用于检测网络故障和进行网络诊断,以及与其他协议一起用于网络管理和安全等。
在网络中,MAC 地址和 IP 地址是两种不同的地址类型,它们在不同的网络层级上使用。MAC 地址是数据链路层的地址,用于在同一局域网中寻找目标主机。而 IP 地址是网络层的地址,用于在不同的网络之间寻找目标主机。ICMP 并不涉及 MAC 地址和 IP 地址的映射关系。找到与 MAC 地址对应的 IP 地址的协议是 RARP(逆地址解析协议)。
全局地址和本地地址是 IP 地址的两种不同的类型。全局地址是公共的、全球唯一的 IP 地址,可以用于在全球范围内寻找目标主机。而本地地址是私有的、局域网内部使用的 IP 地址,仅在局域网范围内有效。ICMP 并不涉及地址类型的转换。把全局地址转换为本地地址的协议是 NAT(网络地址转换)协议。A 选项错误。
ICMP 是一种网络层协议,用于在网络设备之间传输控制消息,例如错误报告、回显请求和回显应答等。它主要用于网络故障诊断和错误通知。
IGMP 是一种运行在网络层的协议,用于在主机和多播路由器之间传输组播消息。它使主机可以加入或离开一个组播组,并向路由器提供组播组成员的信息。
因此 ICMP 协议用于在网络设备之间传输控制消息,而 IGMP 协议用于在主机和多播路由器之间传输组播消息。B 选项错误。
动态分配 IP 地址通常使用的协议是 DHCP(dynamic host configuration protocol,动态主机配置协议),它可以为主机自动分配 IP 地址、子网掩码、网关等参数。IGMP 并不涉及 IP 地址的分配和配置。C 选项错误。
ICMP 报文包含不同类型和代码,如 ICMP 回显请求和回显响应、ICMP 目的不可达、ICMP 时间超时等,可以用于传送 IP 通信过程中出现的错误信息。D 选项正确。19.运营商指定本地路由器接口的地址是 200.15.10.6/29,路由器连接的默认网关的地址是 200.15.10.7,这样配置后发现路由器无法 ping 通任何远程设备,原因是( )。
A. 默认网关的地址不属于这个子网
B. 默认网关的地址是子网中的广播地址
C. 路由器接口的地址是子网的广播地址
D. 路由器接口的地址是组播地址19.答案:B。
解析:将运营商指定的本地路由器接口地址 200.15.10.6/29 的最后一个字节用二进制表示,即 200.15.10.00000110/29,可知这个路由器接口地址的广播地址是 200.15.10.00000111/29,即 200.15.10.7。因此,这个默认网关的地址是一个广播地址,不能使用。20.如果指定的地址掩码是 255.255.254.0,则有效的主机地址是( )。
A. 126.17.3.0
B. 174.15.3.255
C. 20.15.36.0
D. 115.12.4.020.答案:A。
解析:子网掩码 255.255.254.0 用二进制表示为 11111111.11111111.11111110.00000000,后 9 位为主机号。
A 选项的后两个字节用二进制表示为 126.17.00000011.00000000,这个地址既不是广播地址,又不是网络地址,所以是有效的主机地址。A 选项正确。
B 选项的后两个字节用二进制表示为 174.15.00000011.11111111,主机号为全 1,表示这个地址是广播地址,不能使用。B 选项错误。
C 选项的后两个字节用二进制表示为 20.15.00100100.00000000,主机号为全 0,表示这个地址是网络地址,不能使用。C 选项错误。
D 选项的后两个字节用二进制表示为 115.12.00000100.00000000,主机号为全 0,表示这个地址是网络地址,不能使用。D 选项错误。21.以下关于 ARP 协议的说法错误的是( )。
A. ARP 协议是一种解析网络层(IP)地址和物理地址之间对应关系的协议
B. ARP 协议需要广播 ARP 请求来查找目标 IP 地址对应的物理地址
C. ARP 协议缓存已经解析的 IP 地址和物理地址对应关系,以便加速后续的通信
D. ARP 协议只能在同一子网内查找目标 IP 地址对应的物理地址21.答案:D。
解析:ARP 协议用于解析网络层(IP)地址和物理地址之间的对应关系,以便在网络上进行通信。当主机需要与另一个主机通信时,它需要知道目标主机的物理地址。为了获取目标主机的物理地址,主机会先在本地缓存中查找地址是否已经有对应关系,如果没有则发送 ARP 请求广播来查找目标 IP 地址对应的物理地址。如果收到了目标主机的 ARP 响应,就将这个对应关系缓存起来,以便后续的通信。因为 ARP 请求只能在本网络中广播,它不可以跨越不同的子网。因此,选项 D 中的说法是错误的。22.ICMP 协议数据单元封装在( )中发送。
A. IP 数据报
B. TCP 报文
C. 以太帧
D. UDP 报文22.答案:A。
解析:ICMP 是一种在 IP 网络中用于发送错误和控制信息的协议,它通常用于检测网络故障和进行网络诊断,以及与其他协议一起用于网络管理和安全等。ICM 数据单元被封装在 IP 数据报中发送,这样它们就可以通过 Internet 上的任何 IP 路由器进行传输。当 ICMP 消息到达目标主机时,目标主机通常会响应 ICMP 消息,将响应消息通过 IP 数据报封装并发送回到源主机。因此,ICMP 数据单元是通过 IP 数据报进行传输的。23.使用 ping 命令 ping 另一台主机,并收到正确的应答,也不能说明( )。
A. 目的主机可达
B. 源主机的 ICMP 软件和 IP 软件运行正常
C. 目的主机的 ICMP 软件和 IP 软件运行正常
D. ping 报文经过的网络具有相同的 MTU23.答案:D。
解析:使用 ping 命令,收到了正确的应答,说明目的主机一定是可到达的。ping 命令使用的是 ICMP 协议,而 ICMP 报文又封装在 IP 协议中,作为 IP 协议的数据部分。源主机和目的主机使用 ping 命令并收到正确的应答,说明源主机和目的主机的 ICMP 软件和 IP 软件运行正常。当源主机和目的主机在不同的网络中时,采用的 MTU 是不一样的。24.下列与地址 152.77.159.15 及 152.31.47.252 都匹配的是( )。
A. 152.40.0.0/13
B. 153.40.0. 0/9
C. 152.64.0.0/12
D. 152.0.0.0/1124.答案:D。
解析:将 IP 地址 152.7.77.159 和 152.31.47.252 的第二个字节用二进制表示。
将这两个地址分别和子网掩码 255.11111000.0.0 相 “与”,计算过程如下。
152.00000111.77.159
255.11111000.0.0
152.00000000.0.0
得到的网络地址为 152.0.0.0。
152.00011111.47.252
255.11111000.0.0
152.00010000.0.0
得到的网络地址为 152.24.0.0。
可以看出,IP 地址 152.7.77.159 和 152.31.47.252 与 152.40.0.0/13 都不匹配。A 选项错误。
将这两个地址分别和子网掩码 255.10000000.0.0 相 “与”,计算过程如下。
152.00000111.77.159
255.10000000.0.0
152.00000000.0.0
得到的网络地址是 152.0.0.0。
152.00011111.47.252
255.10000000.0.0
152.00000000.0.0
得到的网络地址为 152.0.0.0。
可以看出,IP 地址 152.7.77.159 和 152.31.47.252 与 153.40.0.0/9 都不匹配。B 选项错误。
将这两个地址分别和子网掩码 255.11110000.0.0 相 “与”,计算过程如下。
152.00000111.77.159
255.11110000.0.0
152.00000000.0.0
得到的网络地址是 152.0.0.0。
152.00011111.47.252
255.11110000.0.0
152.00010000.0.0
得到的网络地址为 152.16.0.0。
可以看出,IP 地址 152.7.77.159 和 152.31.47.252 与 152.64.0.0/12 都不匹配。C 选项错误。
将这两个地址分别和子网掩码 255.11100000.0.0 相 “与”,计算过程如下。
152.00000111.77.159
255.11100000.0.0
152.00000000.0.0
得到的网络地址为 152.0.0.0。
152.00011111.47.252
255.11100000.0.0
152.00000000.0.0
得到的网络地址为 152.0.0.0。
可以看出,IP 地址 152.7.77.159 和 152.31.47.252 与 152.0.0.0/11 都匹配。D 选项正确。25.在通常情况下,下列哪一种说法是错误的?( )
A. 高速缓冲区中的 ARP 表是由人工建立的
B. 高速缓冲区中的 ARP 表是由主机自动建立的
C. 高速缓冲区中的 ARP 表是动态的
D. 高速缓冲区中的 ARP 表保存了主机 IP 地址与物理地址的映射关系25.答案:A。
解析:ARP 是地址解析协议,它是一个网络层协议,功能是将 IP 地址映射成物理地址。在本地主机中有一个 ARP 高速缓存,这个缓存里面存储了本局域网上 IP 地址到物理地址的映射表,称为 ARP 表。初始时,ARP 高速缓存中没有存储映射关系,在经过发送 ARP 请求分组和收到 ARP 响应分组后,本地主机在 ARP 高速缓存中记录这个 IP 地址到物理地址的映射。
这个 “记录” 的动作是自动的,不是手工配置的,因此 ARP 表不是由人工建立的。
ARP 表是动态的,在 ARP 高速缓存中存放的每一条映射,都有生存时间,超过了生存时间的项目就从 ARP 高速缓存中删除掉。需要重新发送 ARP 请求分组来得到主机 P 地址到物理地址的映射。26.下面关于 NAT(network address translation,网络地址转换)的描述,哪一个是错误的?( )
A. NAT 可以实现多个主机共享同一个公网 IP 地址
B. NAT 通过修改数据包的 IP 头,将私有 IP 地址转换为公网 IP 地址
C. NAT 通常被用于在局域网与公网之间进行网络连接共享
D. NAT 可以将 IPv6 地址转换为 IPv4 地址26.答案:D。
解析:NAT 可以实现多个主机共享同一个公网 IP 地址,这种技术被广泛应用于家庭和办公室网络,使多台计算机可以通过一个公网 IP 地址访问互联网。在这种情况下,NAT 路由器将多个内部主机的私有 IP 地址映射到公网 IP 地址上,以实现内部主机与互联网之间的通信。A 选项正确。
在传输数据包时,NAT 路由器会检查数据包的源 IP 地址和目的 IP 地址,并将其转换为公网 IP 地址和内部主机的私有 IP 地址,以保护内部网络的安全。B 选项正确。
NAT 通常被用于在局域网与公网之间进行网络连接共享。在这种情况下,NAT 路由器作为网络的边界设备,通过将内部主机的私有 IP 地址转换为公网 IP 地址,使多台计算机可以共享同一个公网 IP 地址来访问互联网。C 选项正确。
NAT 是一种在网络层进行地址转换的技术,主要用于在私有网络(如局域网)与公共网络(如互联网)之间进行通信。NAT 通过修改 IP 数据报头部的源 IP 地址和目的 IP 地址,将私有 IP 地址转换为公网 IP 地址,以实现多个主机共享同一个公网 IP 地址。目前,NAT 主要被用于 IPv4 网络,不支持将 IPv6 地址转换为 IPv4 地址。D 选项错误,答案选择 D。27. 某公司总部和 3 个分公司申请的网络为 202.119.110.0/24,公司总部要求主机数为 50 台,子公司 A 的主机数为 25 台,子公司 B 和子公司 C 的主机数均为 10 台,请完善下面的对各子网的 IP 地址和子网掩码的分配表。
部门
可分配的 IP 地址
子网掩码
总部
202.119.110.129 - ①
255.255.255.192
子公司 A
② - 202.119.110.94
③
子公司 B
202.119.110.97 - ④
255.255.255.240
子公司 C
⑤ - ⑥
255.255.255.240
27.答案如下。
(1)在①中的公司总部,要分配 50 台主机。将公司总部的子网掩码的最后一个字节用二进制表示为 255.255.255.11000000,总部可分配 IP 地址的起始地址最后一个字节用二进制表示,即 202.119.110.10000001。从起始地址开始加上 49 即为总部主机的最后地址 202.119.110.10110010,即 202.119.110.178。
(2)子公司 A 有 25 台主机,将可分配 IP 地址的最后地址最后一个字节用二进制表示,即 202.119.110.01011110。将最后一个字节的后 5 位作为主机号,减去 24,得到子公司 A 的主机的起始地址为 202.119.110.01000110,即 202.119.110.70。子网掩码为 255.255.255.224。
(3)子公司 B 有 10 台主机,将可分配 IP 地址的开始地址的最后一个字节用二进制表示,即 202.119.110.01100001,加上 9 就是子公司 B 的最后地址,即 202.119.110.01101001,即 202.119.110.106。
(4)子公司 C 的子网掩码和子公司 B 的子网掩码一致,并且主机数均为 10 台,其中子公司 B 需要 10 台主机则至少应分配 4 位主机号,即子公司 B 实际拥有的 IP 地址范围为 202.119.110.97~202.119.110.112,因此子公司 C 可分配的 IP 地址为 202.119.110.113~202.119.110.128,又因为子公司 C 也需要 10 台主机,所以子公司 C 可分配的 IP 地址应为 202.119.110.113~202.119.110.122。
总部、子公司 A、子公司 B、子公司 C 的 IP 地址和子网掩码如下表所示。28.某路由器的路由表如下。
现收到 3 个分组,请根据它们如下的目的 IP 地址分别计算下一站。
(1)128.96.39.139。
(2)128.96.40.151。
(3)192.4.153.88。28.答案如下。
(1)将目的 IP 地址的最后一个字节用二进制表示,即 128.96.39.10001011,将这个 IP 地址与子网掩码 255.255.255.128 相 “与”,计算结果如下。
128.96.39.10001011
255.255.255.10000000
128.96.39.10000000
这个结果是 128.96.39.128,和表格中给出的第二条相同,所以 128.96.39.139 的下一站是接口 1。
(2)将目的 IP 地址的最后一个字节用二进制表示,即 128.96.40.10010111,将这个 IP 地址与子网掩码 255.255.255.128 相 “与”,计算结果如下。
128.96.40.10010111
255.255.255.10000000
128.96.40.10000000这个结果是 128.96.40.128,和目的网络都不匹配。再观察路由表第 4 条,是 192 开头对网络号,而目的 IP 地址是 128 开头的网络号,因此第 4 条必然不匹配,只能从表格给出的最后一条转发出去,所以下一站是 R4。
(3)将目的 IP 地址的最后一个字节用二进制表示,即 192.4.153.01011000,将这个 IP 地址和子网掩码 255.255.255.192 相 “与”,计算结果如下。
192.4.153.01011000
255.255.255.11000000
192.4.153.01000000
结果是 192.4.153.64,和目的网络都不匹配,只能从表格给出的最后一条转发出去,所以下一站是 R4。29.一个 IPv4 分组的头部如下。
45 00 09 60
01 a6 00 00
6d 06 11 79
0e 1d b3 ee
ac 14 0a 03
(1)分组的源地址和目的地址各是什么?
(2)该分组的标识号是多少?
(3)该分组数据部分的长度是多少?
(4)如果该分组发向 700 字节 MTU 的一条链路,将产生多少分片?在生成的数据报中,哪些字段的值将发生变化?29. 答案如下。
(1)源地址:0x0e1db3ee(14.29.179.238);目的地址:0xac140a03(172.20.10.3)。
(2)标识号:0x01a6(422)。
(3)首部中的总长度字段为 0x0960(2400)字节,首部长度字段是 0x5,由于首部长度是以 4 字节为单位,因此首部长度为 20 字节。数据部分长度 = 总长度 - 首部长度 = 2400 - 20 = 2380。
(4)如果该分组发向 700 字节 MTU 的链路,则帧的最大数据部分是 700,分片最大长度为 700,减去 20 的首部长度后,分片的数据部分最大长度为 680。由于要求分片的数据部分长度是 8 的整数倍,680 是 8 的整数倍,因此分片的最大数据部分长度为 680。2380 = 680 + 680 + 680 + 340。加上 20 字节的首部后,前 3 个分片长度为 700 字节,最后一个分片长度为 360 字节。
在生成的数据报中,标志位的值发生变化,用于指示是否有后续分片以及是否是最后一个分片,片偏移字段的值根据分片的位置而变化,总长度字段被调整为每个分片的长度,校验和字段也会发生变化,因为校验和是基于整个 IP 首部计算得出的。30.某局域网的网络地址是 192.168.1.0/24。局域网内有 A 和 B 两台主机,它们分配到的 IP 地址分别为 192.168.1.10 和 192.168.1.11。该局域网中有一台路由器,该路由器接入 Internet,某 Web 服务器的地址为 176.106.194.111,现在 ISP 为路由器分配地址 240.57.139.4。路由器支持 NAT,NAT 转换表如下。
(1)该局域网内接口的 IP 地址的最大范围是多少?
(2)A 向 Web 服务器建立 TCP 连接,IP 数据报从 A 发出后,该 IP 数据报的目的地址是多少?源地址是多少?
(3)A,B 都向 Web 服务器建立 TCP 连接,且都使用 3345 端口,请提供 NAT 的表项。30. 答案如下。
(1)局域网的网络地址是 192.168.1.0/24,其中的 / 24 表示子网掩码为 255.255.255.0。因此,该局域网内接口的 IP 地址为 192.168.1.1~192.168.1.254,其中 192.168.1.0 是网络地址,192.168.1.255 是广播地址,所以可以使用的 IP 地址是 192.168.1.11~92.168.1.254。
(2)当局域网内的主机向 Web 服务器建立 TCP 连接时,该 IP 数据报发往广域网后,目的地址将是 Web 服务器的地址,即 176.106.194.111。源地址是局域网内该主机的 IP 地址。
(3)根据提供的 NAT 转换表,可以为该主机的两个 TCP 连接设置 NAT 表项,NAT 表如下表所示。
WAN 地址
WAN 端口
LAN 地址
LAN 端口
240.57.139.4
3345
192.168.1.10
3345
240.57.139.4
3346
192.168.1.11
3345
上述 NAT 转换表项中的 WAN 地址是 ISP 为路由器分配的地址,LAN 地址是局域网内该主机的 IP 地址,WAN 端口是路由器对外通信的端口,LAN 端口是路由器与该主机之间的通信端口。注意 WAN 端口是随机分配的,但是不能出现重复。
31.某网络拓扑如下图所示。其中,N1,N2,N3 是子网的名称;R1,R2,R3,R4 是路由器的名称。子网的 IP 地址和路由器的接口名称如下图所示。
路由表的格式如下。
回答下列问题:
(1)配置 R1 的路由表,使发往子网 N3 的流量都通过接口 3 发送。
(2)配置 R3 的路由表,使其存在发往 N1,N2,N3 的路由,并使路由表项尽可能少。31.答案如下。
(1)R1 的路由表如下。
(2)R3 的路由表如下。
或者32.某路由器的转发表如下。
回答下列问题。
(1)请给出每个接口的目的地址范围。
(2)对于目的地址 172.17.0.0,该路由器如何转发?32.答案如下。
(1)地址范围如下。
接口 0 的目的地址范围为 192.168.0.0~192.168.0.255。
接口 1 的目的地址范围为 192.168.1.0~192.168.1.127。
接口 2 的目的地址范围如下:
目的地址范围 1 为 10.0.0.0~10.63.255.255。
目的地址范围 2 为 172.16.0.0~172.31.255.255。
(2)答案如下。
根据(1),目的地址 172.17.0.0 应该被转发到接口 2。22.5 IPv6 精选习题与解析
22.5.1 精选习题
1.一个 IPv6 的简化写法为 8::DO:123:CDEF:89A,那么它的完整地址应该是( )。
A. 8000:0000:0000:0000:00D0:1230:CDEF:89A0
B. 0008:0000:0000:0000:00D0:0123:CDEF:89A0
C. 8000:0000:0000:0000:D000:1230:CDEF:89A0
D. 0008:0000:0000:0000:00D0:0123:CDEF:089A1.答案:D。
解析:IPv6 的地址是 128 位,表示将 128 位分成 8 段,每段有 16 个二进制位。IPv6 使用冒号十六进制记法,把每个 16 位的值用十六进制表示,各值之间用冒号分隔。在十六进制记法中,允许把数字前面的 0 省略,也允许零压缩,即一连串的 0 可以用一对冒号取代。2.以下关于 IPv6 和 IPv4 的说法,哪一个是错误的?( )
A. IPv6 支持 QoS(quality of service,服务质量)机制,可以提供不同等级的服务质量
B. IPv6 通过引入扩展头部实现对 IPv4 中选项字段的扩展,可以在数据包中添加更多的信息
C. IPv6 协议是下一代互联网协议,使用 64 位地址空间,解决了 IPv4 地址耗尽的问题,而 IPv4 协议使用 32 位地址空间
D. IPv6 引入了一种新的多播地址,称为 “任播地址”,用于标识一组主机中的任意一个主机2.答案:C。
解析:IPv6 支持 QoS 机制,可以通过 Traffic Class 字段和 Flow Label 字段实现对数据包的不同服务质量的标记和区分。Traffic Class 字段可用于指定差异化服务,包括服务等级、流量控制和拥塞控制等。Flow Label 字段用于标识具有相同流标签值的数据包属于同一数据流,可用于实现快速路径缓存、流量工程和多路径选择等。A 选项正确。
IPv6 引入了扩展头(extension headers)机制,可以在数据包的基础头部之后添加一系列扩展头,以实现对数据包的功能扩展。IPv6 的扩展头可以在数据包中添加更多的信息,如路由头、分段头、认证头、加密头等。B 选项正确。
IPv6 是下一代互联网协议,为了解决 IPv4 地址耗尽的问题而设计。它使用 128 位地址空间,提供了约3.4×1038个可用的 IP 地址,大大增加了地址的数量。除了更大的地址空间,IPv6 还引入了其他改进,例如简化的地址分配、更高效的路由和增强的安全性。C 选项错误,答案选择 C 选项。
IPv6 引入了一种新的多播地址,称为 “任播地址”(anycast address),用于标识一组主机中的任意一个主机。当数据包发送到一个任播地址时,它将被路由转发到最近的一个目的地。在 IPv6 中,任播地址是单播地址和多播地址之间的一种中间形式,一个任播地址可以被多个主机共享,但只有其中的一个主机会接收到该地址的数据包。D 选项正确。3.某公司正在部署 IPv6 网络,并分配了一个 IPv6 地址段,即 2001:0DB8:ACAD::/48。回答以下问题(写出结果表达式即可)。
(1)这个 IPv6 地址段的前缀长度是多少?
(2)这个地址段最多可以支持多少个子网?
(3)如果每个子网都使用 64 的前缀长度,每个子网可以分配多少个主机地址?
(4)如果将前 3 个子网分别分配给 3 个不同的部门,每个部门分别需要 100 个主机地址,那么每个子网的前缀长度应该是多少?
(5)给定一个 IPv6 地址 2001:0DB8:ACAD:0000:0000:0000:0001:2345,它属于这个地址段吗?3.答案如下。
(1)这个 IPv6 地址段的前缀长度是 48。
(2)这个地址段最多可以支持2128−48−2=278个子网。
(3)如果每个子网都使用 64 的前缀长度,每个子网可以分配2128−64−2=264−2个主机地址。这个计算通过将 IPv6 地址空间中的总地址数(2128−64)减去两个保留地址(全 0 和全 1),得到可用于主机分配的地址数量。
(4)如果每个部门需要 100 个主机地址,那么每个子网的前缀长度应该是128−7=121。它能容纳的主机地址>。
(5)给定的 IPv6 地址(2001:0DB8:ACAD:0000:0000:0000:0001:2345)属于这个地址段。因为这个地址段的有效范围是2001:0DB8:ACAD:0000:0000:0000:0000~2001:0DB8:ACAD:FFFF:FFFF:FFFF:FFFF。
22.6 路由协议精选习题与解析
22.6.1 精选习题
1.假定网络中路由器 A 的路由表有如下表所示的项目(这 3 列分别表示 “目的网络”“距离” 和 “下一跳路由器”)。
现在路由器 A 收到从 C 发来的路由信息(这两列分别表示 “目的网络” 和 “距离”),更新后的路由表如下。
试求出路由器 A 更新后的路由表(详细说明每一个步骤)。1.答案如下。
(1)将从 C 发来的路由信息进行更改,将路由表信息的 “下一跳” 字段中的地址都改为 C,每一条路由的 “距离” 字段的数值加 1。更改后如下表所示。
(2)N1 网络在路由器 A 的路由表中,路由器 A 的路由表中 N1 目的网络下一跳是 B,与更改后的 C 发来的路由表目的网络 N1 下一跳相比,不相等。再比较距离,C 发来的 N1 网络的路由信息距离更短,于是更新 A 路由表信息。更新后的路由表信息如下表所示。
(3)N2 网络在路由器 A 的路由表中,路由器 A 的路由表中 N2 目的网络下一跳是 C,与更改后的 C 发来的路由表目的网络 N2 下一跳相比,相等。则不再比较距离,直接将信息用 C 发来的 N2 网络信息进行替换。更新后的路由表信息如下表所示。
(4)N3 网络在路由器 A 的路由表中,路由器 A 的路由表中 N3 目的网络下一跳是 F,与更改后的 C 发来的路由表目的网络 N3 下一跳相比,不相等。再比较距离,C 发来的 N3 网络的路由信息距离更长,故不更新 A 路由表信息。
综上所述,路由器 A 的路由表在更新后如下表所示。2.在 RIP 协议中,可以采用水平分割法(Split Horizon)解决路由环路问题,下面的说法中,正确的是( )。
A. 把网络分割成不同的区域以减少路由循环
B. 不要把从一个邻居学习到的路由再发送回该邻居
C. 设置邻居之间的路由度量为无限大
D. 路由器必须把整个路由表发送给自己的邻居2.答案:B。
解析:RIP 是一种距离向量路由协议,它要求路由器周期性地和相邻路由器交换路由表信息,并且把这种路由信息通过逐步交换扩散到网络中所有的路由器,这种逐步交换会形成路由环路。
水平分割的思想:路由器有选择地将路由表中的信息发送给邻居,而不是向邻居发送整个路由表,一条路由信息不会被发送给该信息的来源方向。水平分割是距离向量路由协议中常用的避免形成路由环路的解决方案之一。3.下列关于 OSPF 协议和 BGP 协议的描述,最准确的是( )。
A. OSPF 协议根据链路状态法计算最佳路由,需要存储网络拓扑信息
B. BGP 协议是用于自治系统之间的外部网关协议,例如互联网服务提供商之间的路由交换,其通过交换邻居属性信息来决定最佳路径,以实现自治系统之间的互联
C. OSPF 协议不能根据网络通信情况动态地改变路由,因此只能适应于小型网络
D. OSPF 协议是一种内部网关协议(IGP),用于在自治系统内部传输路由信息,而 BGP 协议是一种外部网关协议(EGP),但无法连接不同的自治系统,只能用于路由3.答案:A。
解析:OSPF(开放最短路径优先)协议是内部网关协议,会根据链路的状态动态地改变路由。它使用链路状态路由算法,通过交换链路状态信息来计算最短路径,并维护一个链路状态数据库(LSDB)来存储网络拓扑信息。OSPF 协议支持 VLSM(可变长度子网掩码)和路由汇总等功能,以提高路由的灵活性和效率。A 选项正确。
BGP(边界网关协议)协议是一种外部网关协议(EGP),用于在不同自治系统之间传输路由信息。它是互联网中最重要的路由协议之一,用于连接不同的自治系统,例如互联网服务提供商之间的路由交换。BGP 协议基于路径矢量路由算法,通过交换路径属性信息来决定最佳路径,以实现自治系统之间的互联。B、D 选项错误。
OSPF 协议可以根据网络通信情况动态地改变路由,以适应网络拓扑结构的变化。OSPF 协议使用 SPF(shortest path first)算法计算最短路径,可以适应网络拓扑结构的变化。
OSPF 协议可以应用于中等规模和大型网络。OSPF 协议的设计目标之一就是支持大型网络,它可以通过划分区域来减少路由表的大小,并且支持多层级的区域设计。因此,OSPF 协议在大型企业网络和互联网服务提供商的骨干网络中得到广泛应用。C 选项错误。22.7 IP 组播精选习题与解析
22.7.1 精选习题
1.关于 IGMP 协议,以下说法错误的是( )。
A. IGMP 协议用于主机加入或离开一个组播组
B. IGMP 协议是运行在网络层的协议
C. IGMP 协议使用组播地址作为目的地址
D. IGMP 协议是因特网标准协议之一1.答案:D。
解析:IGMP 协议的主要功能之一是让主机通知它所连接到的网络上的路由器,该主机希望加入或者离开某个组播组。A 选项正确。
IGMP 协议运行在因特网的网络层,主要用于组播管理,控制组播报文的传送。B 选项正确。
IGMP 协议使用组播地址作为目的地址,以确保组播报文只被组内的主机接收。C 选项正确。
IGMP 协议是一个互联网工程任务组(IETF)制定的标准协议,而非因特网标准协议之一。D 选项错误,答案选择 D 选项。2. 在一个局域网中,主机 A,B,C 分别加入了组播组 G,以下哪个选项是正确的?( )
A. 只有主机 A 才能接收到组播组 G 发来的数据
B. 只有主机 B 和 C 才能接收到组播组 G 发来的数据
C. 主机 A,B,C 都可以接收到组播组 G 发来的数据
D. 只有主机 B 或 C 才能接收到组播组 G 发来的数据,取决于主机 A 是否发送了组播数据2.答案:C。
解析:当主机 A,B,C 加入组播组 G 时,它们会向自己所在的网络中的路由器发送 IGMP 报文,通知路由器它们想要接收组播组 G 的数据。路由器收到这些报文后,就会把组播组 G 的数据报转发到这个网络中,被加入组播组 G 的主机 A,B,C 都可以接收到这些数据报。因此,选项 C 是正确的。22.8 移动 IP 精选习题与解析
22.8.1 精选习题
1.移动 IP 定义了 3 种功能实体:移动结点、归属代理和外部代理。以下说法错误的是( )。
A. 移动结点不具有永久 IP 地址
B. 归属代理执行移动结点的移动管理功能
C. 外部代理在归属网络中代表移动结点执行移动管理功能
D. 归属代理和外部代理都是移动代理的一种1.答案:A。
解析:移动结点具有永久 IP 地址,它的 IP 地址不会随着移动位置的变化而变化。A 选项错误。移动结点是指具有永久 IP 地址的移动设备,当移动结点移动到其他网络或子网时,它的 IP 地址不会改变,但它的归属网络和位置信息会发生改变。归属代理是在移动结点归属网络中代表移动结点执行移动管理功能的实体。归属代理根据移动结点的位置信息维护移动结点的路由信息,将到达移动结点的数据包转发到移动结点所在的网络或子网。B 选项正确。
外部代理是在归属网络之外的网络中帮助移动结点完成移动管理功能的实体。当移动结点移动到另一个网络时,外部代理可以为移动结点提供注册、路由和数据包传输等服务,以保持其连接性。C 选项正确。
归属代理是在归属网络中帮助移动结点完成移动管理功能的代理,而外部代理是在归属网络之外的网络中帮助移动结点完成移动管理功能的代理。两者都是为了保证移动结点在漫游过程中的连接性而存在的。D 选项正确。2.移动 IP 技术的基本通信流程中,移动节点在外地网络中通信的方式是( )。
A. 使用固定的 IP 地址进行通信
B. 根据移动结点的位置变化不断更换 IP 地址
C. 通过本地代理进行通信
D. 通过外部代理进行通信2. 答案:C。
解析:在移动 IP 技术的基本通信流程中,当移动结点移动到外地网络时,它仍然使用固定的 IP 地址进行通信,但为了能够与通信对端发给它的 IP 分组,需要向本地代理注册当前的位置地址,即转交地址,本地代理会构建一条通向转交地址的隧道,将截获的发给移动结点的 IP 分组通过隧道送到转交地址处,在转交地址处解除隧道封装,恢复原始的 IP 分组,最后送到移动结点,这样移动结点在外网就能够收到这些发送给它的 IP 分组。同时,移动结点在外网通过本地代理向通信对端发送 IP 数据包。22.9 网络层设备精选习题与解析
22.9.1 精选习题
1.关于路由器的说法,正确的是( )。
A. 路由器处理的信息量比交换机少,因而转发速度比交换机快
B. 路由器是用于连接不同局域网的设备,主要功能是选择最佳路径并转发数据包。对于同一目标,路由器只提供延迟最小的最佳路由
C. 通常的路由器可以支持多种网络层协议,并提供不同协议之间的分组转换,用于连接不同的局域网(LAN)或广域网(WAN),并实现数据包的转发
D. 路由器不但能够根据逻辑地址进行转发,而且可以根据物理地址进行转发1.答案:C。
解析:路由器是网络层设备,处理的内容比数据链路层设备交换机要多,因而转发速度比交换机慢。虽然一些路由协议可以把延迟等作为参数进行路由选择,但是路由协议使用最多的参数是传输距离。路由器不能根据物理地址进行转发,只能根据逻辑地址(即 IP 地址)进行转发。
路由器具有以下主要功能。
(1)路由选择:根据路由表中的路由信息,选择最佳路径将数据包从源地址传输到目的地址。路由器使用路由协议(如 OSPF,BGP 等)来交换和更新路由信息。
(2)数据包转发:根据目的地址和路由选择,将数据包从一个接口转发到另一个接口,实现跨网络的数据传输。
(3)分割广播域:路由器将不同的局域网分割成独立的广播域,控制广播和多播流量的传播范围,提高网络性能和安全性。
(4)网络地址转换(NAT):在连接互联网的情况下,路由器可以执行网络地址转换,将内部网络中的私有 IP 地址转换为公共 IP 地址,实现多个设备共享一个公网 IP 地址。2.在路由表中,当有多个匹配项与目的地址相符时,路由器通常会选择哪一个匹配项?( )
A. 匹配项中最长的前缀掩码所对应的路由表项
B. 匹配项中最短的前缀掩码所对应的路由表项
C. 匹配项中最大的度量值所对应的路由表项
D. 匹配项中最小的度量值所对应的路由表项2.答案:A。
解析:当路由表中有多个匹配项与目的地址相符时,路由器通常会选择最长匹配前缀掩码所对应的路由表项。前缀掩码是用于将 IP 地址划分成网络和主机部分的一种技术,它的作用是将一个 IP 地址分成两部分,一部分是网络地址,另一部分是主机地址。在路由表中,每个表项都会有一个目的地址和一个前缀掩码,路由器在匹配目的地址时会将目的地址与路由表项中的前缀掩码进行逐位比较,找到最长匹配的路由表项。
举个例子,假设有两个路由表项:目的地址分别为 192.168.1.0/24 和 192.168.0.0/16。当路由器收到一个目的地址为 192.168.1.10 的数据包时,它会先与第一个路由表项进行比较,发现前 24 位匹配,然后再与第二个路由表项进行比较,发现前 16 位也匹配,但是最长匹配前缀掩码为 24 位,因此路由器会选择第一个路由表项进行转发。
这种选择最长匹配前缀掩码的方式可以确保路由器选择的路由表项最精确地匹配目的地址,从而提高路由的准确性和效率。3.路由选择算法的核心是构造路由表,以下哪种说法不正确?( )
A. 路由表总是用软件来实现的
B. 转发表可以用特殊的硬件来实现
C. 转发表中含有一个分组将要发往的目的地址,以及分组的下一跳地址
D. 为了减少转发表的重复项目,可以使用一个默认路由代替所有具有相同下一跳的项目,并将默认路由设置得比其他项目的优先级低3.答案:A。
解析:路由表的实现可以采用硬件和软件相结合的方式,如专用的路由器硬件可以直接在硬件中实现路由表的查找和转发操作,提高路由器的转发性能。A 选项错误,答案选择 A。
由于路由器的核心功能是分组转发,因此实现高效的分组转发是路由器设计的重要目标。在硬件实现转发表方面,路由器可以采用专用芯片或者 FPGA 等可编程硬件进行实现,以提高转发效率和处理能力。B 选项正确。
在路由器的转发决策中,通过查找转发表来确定目的地址所对应的下一跳地址,以实现分组的转发。因此,转发表中不仅包含目的地址,还需要记录下一跳地址等相关信息。C 选项正确。
为了减少转发表的重复项目,可以使用一个默认路由代替所有具有相同下一跳地址的项目,并将默认路由设置得比其他项目的优先级低。这样可以在转发表中减少重复记录,提高路由表和转发表的查询效率和处理能力。同时,设置默认路由可以应对在路由表中找不到目的地址对应的路由的情况,使分组能够顺利地被转发。D 选项正确。第 23 章 传输层
23.1 基本概念
23.1.1 传输层提供的服务
网络层的 IP 协议虽然可以把分组交给目的主机,但是真正实现通信的实际上是主机中的进程,网络层并不足以将分组真正地交到目的地。从传输层的角度来看,通信的两端并不是主机,而是主机中的进程,它需要把这个通信的一个数据包交给主机的进程。
1.传输层的功能
在实际的使用过程中,一台主机通常会有多个应用进程和另一台主机的多个应用进程进行通信。这时就可以让发送方不同的应用进程都可以使用同一个传输层协议传送数据,这就是复用;接收方的传输层在剥去报文的首部后能够把这些数据正确交付目的应用进程,这就是分用。
传输层的两大功能是:实现进程和进程之间的通信,以及实现复用和分用。
除此之外,传输层还有其他功能。1.对收到的报文进行差错检测。
2.提供面向连接的 TCP 协议和无连接的 UDP 协议。
2.传输层寻址与端口
在分用和复用的过程中,哪个进程把数据交给了传输层?传输层又需要把数据交给哪个进程?这个问题很重要。因此,需要给每个应用进程赋予一个非常明确的标志,也就是说,给进程起名字。这个名字,就被称为协议端口号,或通常简称为端口。3.无连接服务与面向连接服务
了解了传输层的功能之后,接下来将介绍传输层的两大协议,提供面向连接的 TCP 协议和无连接的 UDP 协议。1.面向连接的 TCP 协议:应用程序在使用 TCP 协议之前,必须先建立 TCP 连接。在传送数据完毕后,必须释放已经建立的 TCP 连接。也就是说,应用进程之间的通信好像在 “打电话”,通话前要先拨号建立连接,通话结束后要挂机释放连接。
2.无连接的 UDP 协议:发送数据之前不需要建立连接(当然,发送数据结束时也没有连接可释放),因此减少了开销和发送数据之前的时延。
23.1.2 UDP 协议
1.UDP 数据报
UDP 协议只在 IP 的数据报服务之上增加了复用和分用功能以及差错检测功能,UDP 只做传输层协议能做的最少工作。
UDP 的主要特点如下。1.UDP 是无连接的。
2.UDP 使用尽最大努力交付,即不保证可靠交付。
3.UDP 是面向报文的。
4.UDP 没有拥塞控制。
5.UDP 支持一对一、一对多、多对一和多对多的交互通信。
6.UDP 的首部开销小,只有 8 个字节。
UDP 报文结构如图 23 - 1 所示,报文段有两个部分:数据和首部。首部很简单,只有 8 个字节,由 4 个字段组成,每个字段的长度都是两个字节。各字段的意义如下。1.源端口:源端口号,在需要对方回信时选用。不需要时可用全 0。
2.目的端口:目的端口号,在终点交付报文时必须使用,此字段可以实现复用。
3.长度:UDP 用户数据报的长度,最小值是 8。
4.检验和:检测 UDP 用户数据报在传输中是否有错,有错就丢弃。
2.UDP 校验
图 23 - 2 所示为 UDP 数据报用伪首部计算首部检验和过程。注意,伪首部既不向下传送也不向上递交,其仅是为了计算检验和,因此,在计算 UDP 长度时不需要将伪首部长度计算进去。23.1.3 TCP 协议
TCP 是 TCP/IP 体系中非常复杂的一个协议,其在不可靠的 IP 层之上实现了可靠传输。下面介绍 TCP 的主要特点。
1.TCP 是面向连接的传输层协议。
2.每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)。
3.TCP 提供可靠交付的服务。通过 TCP 连接传送的数据,无差错、不丢失、不重复,并且按序到达。
4.TCP 提供全双工通信。
5.面向字节流。
1.TCP 段
TCP 报文格式如图 23 - 3 所示。TCP 报文段首部的前 20 个字节是固定的,后面有 4n 字节是根据需要而增加的选项(n 是整数)。因此 TCP 首部的最小长度是 20 字节。
注意:TCP 的确认号指的是期望收到对方下一个报文段的第一个数据字节的序号。例如,B 正确收到了 A 发送过来的一个报文段,其序号字段值是 501,而数据长度是 200 字节(序号 501 - 700),这表明 B 正确收到了 A 发送的到序号 700 为止的数据。因此,B 期望收到 A 的下一个数据序号是 701,于是 B 在发送给 A 的确认报文段中把确认号置为 701。2.TCP 连接管理
TCP 是面向连接的协议,如图 23 - 4 所示,TCP 的连接一共有 3 个阶段。首先介绍 TCP 使用 “三报文握手” 建立连接的具体过程,如图 23 - 5 所示。
(1)第一次握手:TCP 客户进程在打算建立 TCP 连接时,向 TCP 服务器进程发送 TCP 连接请求报文段,并进入同步已发送状态。由于建立 TCP 连接是由 TCP 客户进程主动发起的,因此称为主动打开连接。同步位 SYN 被置为 1,序号字段 seq 被设置为一个初始值 x。
(2)第二次握手:TCP 服务器收到 TCP 请求连接报文段后,如果同意建立连接,则向 TCP 客户进程发送 TCP 连接请求确认报文段,并进入同步已接收状态。同步位 SYN 和确认位 ACK 都被置为 1,序号段 seq 被设置为一个初始值 y,确认号字段 ack 的值被设置成 x + 1。
(3)第三次握手:TCP 客户进程收到 TCP 连接请求确认报文段后,还需要向 TCP 服务器进程发送一个普通的 TCP 确认报文段,并进入连接已建立状态。确认位 ACK 被置为 1,确认号字段 ack 的值被设置成 y + 1,序号字段 seq 被设置为 x + 1。
数据传输结束后,TCP 双方可以通过 “四报文挥手” 释放连接。具体过程如下。
(1)第一次挥手:假设使用 TCP 客户进程来主动关闭 TCP 连接。TCP 客户进程会发送 TCP 连接释放报文段,并进入终止等待 1 状态。终止位 FIN 和确认位都被设置为 1,确认号字段 ack 的值设置为 v,序号字段 seq 设置为 u。
(2)第二次挥手:TCP 服务器进程收到 TCP 连接释放报文段(第一次挥手)后,会发送一个普通的 TCP 确认报文段,并进入关闭等待状态。确认位 ACK 被设置为 1,序号 seq 字段的值为 v,确认号字段 ack 设置为 u + 1。TCP 客户进程收到 TCP 确认报文(第二次挥手)后,就进入终止等待 2 状态。等待 TCP 服务器进程发送的 TCP 连接释放报文段。
(3)第三次挥手:若使用 TCP 服务器已经没有数据发送了,高层应用进程就会通知 TCP 服务器进程释放连接。TCP 服务器进程发送 TCP 连接释放报文段并进入最后确认状态。终止位 FIN 和确认位都被设置为 1,确认号字段 ack 的值为 u + 1,序号 seq 字段的值为 w。
(4)第四次挥手:TCP 客户进程收到 TCP 连接释放报文段后,必须针对该报文段发送普通的 TCP 确认报文段,之后进入时间等待状态。确认位 ACK 被设置为 1,序号 seq 字段的值为 u + 1,确认号 ack 的值为 w + 1。
3. TCP 可靠传输
TCP 的连接并不能完全保证数据传输过程中不出错,我们还需要使用 TCP 的可靠传输,才能确保数据无差错、不丢失、不重复,并且按序到达。
TCP 的可靠传输是基于可变窗口大小的滑动窗口来实现的。和数据链路层类似,发送方会维持一组允许发送的帧的序号,即发送窗口;接收方维持一组允许接收的帧的序号,称为接收窗口。和数据链路层的区别在于,TCP 的滑动窗口是以字节为单位的。
那么发送窗口和接收窗口的大小要如何确认呢?这就要使用到流量控制和拥塞控制。
4. TCP 流量控制
由于较高的发送速度和较低的接收能力的不匹配,会造成传输出错,所以要使用流量控制。为了让发送方的发送速度和接收方的接收能力匹配,应该让接收方告诉发送方,它所能接收的最大发送速度是多少。这也就是接收窗口。因此,接收方可以提供确认报文告知发送方自己的接收窗口大小,这样发送方就可以根据接收方的接收窗口大小来确认能够发送的数据。接收窗口大小应该根据接收方的剩余缓存大小确定,而发送窗口应该不大于接收窗口。
5. TCP 拥塞控制
在广播式网络中,并不是只存在一个发送方和一个接收方,有可能这对发送方和接收方之间,二者发送和接收的速率匹配,但是接收方可能不止接收一台主机发送的数据,发送方也可能不止发送给一台主机,发送方和接收方之间的数据传输,随时可能受到网络中其他主机的干扰。
因此,我们就需要使用拥塞控制,计算拥塞窗口,从而重新衡量发送窗口大小。
TCP 进行拥塞控制的算法有 4 种,即慢开始、拥塞避免、快重传和快恢复。1.慢开始:建立了 TCP 连接并开始发送报文段时,令拥塞窗口 cwnd = 1(即一个最大报文长度 MSS),并在每次收到一个对新的报文段的确认后,使 cwnd + 1,从而使每经过一个往返时延 RTT 后拥塞窗口 cwnd 加倍(即 cwnd 的大小呈指数增长),直到 cwnd 增大到慢开始门限 ssthresh。
2.拥塞避免:发送端的拥塞窗口 cwnd 每经过一个往返时延 RTT 就增加一个 MSS 的大小(按线性增长);直到出现一次超时(网络拥塞),令慢开始门限 ssthresh 等于当前 cwnd 的一半,同时重新设置 cwnd 为 1。
3.快重传:当发送端连续收到 3 个重复冗余的 ACK 报文时,直接重传对方尚未收到的报文段,而不必等待超时计时器超时。
4.快恢复:快恢复算法要求当发送方连续收到 3 个重复确认时,就执行 “乘法减小” 算法,把慢开始门限 ssthresh 减小为当前 cwnd 的一半,再令 cwnd 等于新的 ssthresh,之后执行拥塞避免算法,使 cwnd 线性增长。图23-7是快重传算法、快恢复算法和拥塞避免算法一起使用的例子。
为了避免发送网络拥堵,因此发送窗口不能大于拥塞窗口;同时为了发送方发出的数据能够被接收方及时处理,发送窗口也不能大于接收窗口,得到公式:
发送窗口大小 = min (拥塞窗口,接收窗口)23.2 传输层提供的服务精选习题与解析
23.2.1 精选习题
1.下列哪个不是传输层提供的服务?( )
A. 网络进程间的逻辑通信
B. 主机间的逻辑通信
C. 分用和复用
D. 帧的封装和解封装1.答案:D。
解析:传输层的主要作用是为运行在不同主机上的进程提供逻辑通信服务,是面向通信部分的最高层,同时也是用户功能中的最低层。因此,选项 A 和 B 都是传输层提供的服务,它们分别是面向网络层和面向应用层的服务。网络进程间的逻辑通信例如 Web 浏览器和 Web 服务器之间的通信,主机间的逻辑通信例如传输层的协议(如 FTP)可用于将文件从一个主机传输到另一个主机。选项 A,B 正确。
复用和分用是传输层的一个重要特点,它允许发送方的不同应用进程使用同一个传输层协议传送数据,同时接收方的传输层也能够把这些数据正确交付到目的应用进程。传输层使用端口号来标识不同的应用程序或服务,实现多个应用程序同时使用网络连接的能力。选项 C 正确。
帧的封装和解封装是数据链路层的功能,用于把网络层的数据报封装成数据链路层的帧,以便在物理层进行传输。因此,选项 D 不是传输层提供的服务。选项 D 错误,答案选择 D。2.传输层的复用和分用功能是指什么?( )
A. 发送方不同的应用进程都可使用同一个传输层协议传送数据;接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程
B. 将多个数据帧合并成一个较大的帧进行传输;接收方在收到较大帧后需要将其拆分成多个数据帧
C. 将数据分成多个分片进行传输;接收方需要对所有分片进行汇总和重组
D. 将一个数据帧分成多个分片进行传输;接收方需要对所有分片进行汇总和重组2.答案:A。
解析:选项 A,“发送方不同的应用进程都可使用同一个传输层协议传送数据;接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程”,是指传输层的复用和分用功能。传输层提供复用和分用的功能,复用是指发送方不同的应用进程都可使用同一个传输层协议传送数据,分用是指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。这样,传输层可以通过复用将多个应用进程的数据打包成一个报文段,从而减少了网络通信的开销。而分用则是接收方对报文段进行解析和处理,将数据交付到相应的应用进程。选项 A 正确。
选项 B、C、D 的描述不是传输层的复用和分用的功能,而是数据链路层和网络层的一些功能。3.下列关于套接字的描述,哪个是错误的?( )
A. 套接字是唯一标识网络中主机和应用进程的通信端点
B. 套接字是由 IP 地址和端口号组成的,套接字可以用来区分不同的网络通信连接
C. 套接字标识了不同的主机,但不能标识不同的应用进程
D. 套接字是一种用于在计算机之间建立通信连接的软件接口3. 答案:C。
解析:套接字是网络通信中唯一标识主机和应用进程的通信端点,由 IP 地址和端口号组成。在网络通信中,发送方和接收方各有一个套接字,它们通过不同的 IP 地址和端口号来区分不同的网络通信连接。通过套接字的 IP 地址和端口号的不同,可以区分不同的网络通信连接。例如,在一个客户端和服务器端的网络通信中,每个连接都有独立的套接字用于标识和区分。A、B 选项正确。
套接字不仅能标识不同的主机,也能标识不同的应用进程。由于同一个主机上可能有多个应用程序在同时运行,所以套接字还需要通过端口号来区分不同的应用进程。选项 C 错误,答案选择 C 选项。
套接字是计算机网络编程中的概念,它提供了一种机制,使应用程序可以通过网络进行通信。套接字通过一组接口函数提供了在网络上发送和接收数据的方法,使应用程序能够建立、使用和终止网络连接。选项 D 正确。
套接字的功能如下。
(1)建立通信连接:套接字允许应用程序在不同的计算机之间建立通信连接。这些连接可以是客户端 - 服务器模式,也可以是对等模式。
(2)数据传输:套接字提供了发送和接收数据的方法,应用程序可以使用套接字发送数据到远程计算机或接收远程计算机发送的数据。
(3)地址和端口管理:套接字使用 IP 地址和端口号来标识和管理网络上的不同主机和服务。每个套接字都关联了一个本地地址和端口以及一个远程地址和端口。
(4)连接管理:套接字提供了连接的建立、终止和管理功能。它可以管理连接的状态、处理连接的错误和异常情况,并提供可靠的数据传输机制。4.如果在网络的入口处通过访问控制列表 ACL 封锁 TCP 和 UDP 端口 21,25 和 80,则能够访问该网络的应用是( )
A. FTP
B. DNS
C. HTTP
D. SMTP4. 答案:B。
解析:21 是 FTP 的端口号,25 是 SMTP 的端口号,80 是 HTTP 的端口,所以在入口处封锁了 21、25 和 80 端口后,只能访问 DNS(端口号为 53)。5.以下关于无连接服务的描述,哪一项是正确的?( )
A. 无连接服务提供端到端的可靠数据传输,确保数据包按顺序到达目的地
B. 无连接服务使用 UDP 协议进行数据传输,提供流量控制和拥塞控制机制
C. 无连接服务不需要建立连接,直接将数据包发送到目的地,但无法保证可靠性和顺序性
D. 无连接服务只适用于小规模的局域网环境,不适用于广域网环境5. 答案:C。
解析:无连接服务是计算机网络中的一种数据传输方式,它与有连接服务相对。无连接服务的主要特点如下。
(1)无须建立连接:无连接服务在数据传输之前不需要建立连接,直接将数据包发送到目的地。
(2)缺乏可靠性:由于无连接服务不提供可靠性保证,因此无法确保数据包的完整性、正确性和按顺序到达目的地。
(3)没有流量控制和拥塞控制:无连接服务不提供流量控制和拥塞控制机制,因此在网络拥塞或高负载情况下可能导致数据丢失。
(4)较低的延迟:由于无连接服务省略了建立连接的过程,因此具有较低的延迟,适用于实时性要求较高的应用场景。
无连接服务主要提供了快速的数据传输方式,因为它不需要在每个数据包中维护连接状态和控制信息,从而减少了通信的开销。它适用于一次性的短期通信,如简单的请求 - 响应模式。在无连接服务中,每个数据包都包含了足够的信息(如目标地址、源地址、校验和等)来独立地进行路由和传输。每个数据包都是独立处理的,接收端根据数据包的信息进行处理,而无须维护连接状态。无连接服务通常可以用于媒体流传输、DNS 解析、广播通信等。除此之外,无连接服务可以适用于不同规模的网络环境,不限于局域网或广域网。23.3 UDP 协议精选习题与解析
23.3.1 精选习题
1.下列关于 UDP 的说法正确的是( )。
A. UDP 不能用于多播,UDP 的检验和是可选的,UDP 可以复用 / 分用
B. UDP 协议适用于实时应用程序和简单请求 - 响应模式的通信
C. UDP 协议使用流量控制和拥塞控制来管理网络传输
D. 接收方发现收到的 UDP 数据报有差错时,会请求发送方重新传送该数据报1.答案:B。
解析:UDP 可以用于多播。UDP 的检验和是可选的,如果不使用检验和,则将检验和字段设置为 0。如果检验和的计算结果为 0,则将检验和置为全 1。UDP 相对 IP 数据报服务,增加了复用 / 分用功能。A 选项错误。
UDP 协议的主要功能是提供快速、无连接的数据传输,它不提供可靠性和完整性的保证。UDP 协议具有较低的开销和延迟,适合于实时应用程序和简单的请求 - 响应模式。B 选项正确。
UDP 协议不提供流量控制和拥塞控制,这些功能由 TCP 协议提供。C 选项错误。
接收方收到的 UDP 数据报有差错时,会直接丢弃这个 UDP 数据报。D 选项错误。2.下列哪个应用层协议使用了 UDP 协议进行数据传输?( )
A. FTP
B. SMTP
C. DNS
D. HTTP2.答案:C。
解析:FTP 使用的是 TCP 协议进行数据传输,因为 FTP 需要可靠传输和流量控制的特性。A 选项错误。
Telnet 需要可靠传输、流量控制和会话管理的特性。B 选项错误。
DNS 是一种将域名解析为 IP 地址的系统。DNS 的主要任务是将域名映射为 IP 地址,它的查询 - 响应模型可以容忍一些数据包的丢失,因此使用 UDP 协议可以提高查询效率。同时,DNS 查询请求通常比响应小,UDP 的首部开销相对较小,这也符合 DNS 的数据传输需求。C 选项正确。
HTTP 需要可靠传输和流量控制的特性。D 选项错误。3.下列关于 UDP 的说法正确的是( )。
A. UDP 协议适用于需要不可靠性传输的应用,如电子邮件和文件传输
B. UDP 协议的首部格式包含 12 个字节,其中包含了源端口号、目的端口号、数据包长度等信息
C. UDP 协议和 TCP 协议的一个主要区别是:UDP 协议是面向连接的,而 TCP 协议是面向无连接的
D. UDP 协议常用于实时应用,如 VoIP 和在线游戏,因为它可以快速地传输数据,但不保证数据的可靠性3.答案:D。
解析:UDP 协议适用于需要不可靠性传输的应用,但是电子邮件和文件传输并不是不可靠性的应用,二者都要求数据的可靠性。A 选项错误。
UDP 协议的首部格式包含 8 个字节,B 选项错误。
UDP 协议是无连接的,TCP 是面向连接的,C 选项错误。
UDP 协议常用于实时应用,因为 UDP 不需要连接,传输数据快,比较适合用于实时性要求高、可靠性要求低的场景,因此 D 选项正确。4.以下关于 UDP 协议的主要特点的描述,错误的是( )。
A. UDP 报头主要包括端口号、长度、校验和等字段
B. UDP 长度字段是 UDP 数据报的长度,包括伪首部的长度
C. UDP 校验和对伪首部、UDP 报文头及应用层数据进行校验
D. 伪首部包括 P 分组报头的一部分4.答案:B。
解析:伪首部只是在计算校验和时临时添加的,不计入 UDP 的长度。
UDP 校验和的计算方法和 IP 数据报首部校验和的计算方法相似。不同的是,IP 数据报的校验和只检验 IP 数据报的首部,但 UDP 的校验和则检查首部和数据部分。
发送方首先把全零放入校验和字段并添加伪首部,然后把 UDP 数据报视为许多 16 位的字串接起来。若 UDP 数据报的数据部分不是偶数个字节,则要在数据部分末尾填入一个全零字节(但此字节不发送)。然后按二进制反码计算出这些 16 位字的和,将此和的二进制反码写入校验和字段,并发送。接收方把收到的 UDP 数据报加上伪首部(如果不为偶数个字节,那么还需补上全零字节)后,按二进制反码求这些 16 位字的和。当无差错时其结果应为全 1,否则就表明有差错出现,接收方应该丢弃这个 UDP 数据报。5.下列说法中,错误的是( )。
Ⅰ. TCP 不支持广播服务
Ⅱ. 如果用户程序使用 UDP,则应用层必须承担数据传输的可靠性
Ⅲ. UDP 数据报首部包含 UDP 源端口、UDP 目的端口、UDP 数据报首部长度与校验和
Ⅳ. TCP 采用的滑动窗口协议能够解决拥塞控制问题
A. 仅 Ⅲ,Ⅳ
B. 仅 Ⅱ,Ⅲ
C. 仅 Ⅰ,Ⅲ
D. 仅 Ⅰ,Ⅲ,Ⅳ5.答案:A。
解析:TCP 提供的是一对一全双工可靠的字节流服务,所以 TCP 并不支持广播,故 Ⅰ 正确。
传输层协议主要包括:创建进程到进程的通信,提供流量控制机制。UDP 使用端口号完成进程到进程的通信,但在收到用户数据报时没有流量控制的机制,也没有确认,而只是提供有限的差错控制,因此 UDP 是一个无连接、不可靠的协议。如果用户应用程序使用 UDP 进行数据传输,必须在传输层的上层,即应用层提供可靠性方面的全部工作,故 Ⅱ 正确。
UDP 数据报的首部格式包括 UDP 源端口号、UDP 目的端口号、UDP 报文长度(2 字节)和校验和,不包括 UDP 数据报首部长度。因为 UDP 首部为固定 8B,所以 UDP 首部长度字段可以省略,故 Ⅲ 错误。
拥塞控制是一个全局性的过程,涉及所有的主机、路由器以及与降低网络传输性能有关的所有因素。而滑动窗口协议仅仅是对于点对点的通信进行控制,即 TCP 采用的滑动窗口协议只能够解决流量控制,故 Ⅳ 错误。6.主机 A 的一个进程有一个端口号为 6789 的 UDP 套接字,假如主机 B 和 C 都向主机 A 发送 UDP 报文段。回答下列问题。
(1)当封装该报文段的 IP 数据报到达主机 A 时,网络层如何知道应该将该报文段交给上一层的 UDP 而不是 TCP?
(2)如果来自 B,C 的报文段都使用相同的源端口号,UDP 如何区分它们是来自不同主机的报文段?
(3)UDP 和 IPv4 都提供检验和(checksum),它们有什么区别?6.答案如下。
(1)在 IP 数据报头中,有一个字段称为协议号,该字段指示应该向上提交给哪个协议。
(2)如果来自主机 B 和 C 的报文段都使用相同的源端口号,UDP 通过结合源 IP 地址和源端口号来区分它们是来自不同主机的报文段。在 UDP 报文段头中,有两个字段:源端口号和源 IP 地址。虽然源端口号相同,但是由于源 IP 地址不同,主机 A 可以通过组合源 IP 地址和源端口号来区分来自不同主机的报文段。
(3)UDP 和 IP 提供的校验和的区别是:UDP 的校验和检查整个报文段,而 IPv4 的校验和只检查 IP 数据报头部。23.4 TCP 协议精选习题与解析
23.4.1 精选习题
1.TCP “三次握手” 过程中,第二次 “握手” 时,发送的报文中( )标志位被置为 1。
A. SYN
B. ACK
C. ACK 和 RST
D. SYN 和 ACK1.答案:D。
解析:在 TCP 三次握手过程中,第二次握手时,SYN 和 ACK 标志位均被置为 1。
TCP 三次握手的步骤如下。
(1)客户机的 TCP 首先向服务器的 TCP 发送连接请求报文段。这个特殊报文段的首部中的同步位 SYN 置 1,同时选择一个初始序号 seq = x。TCP 规定,SYN 报文段不能携带数据,但要消耗掉一个序号。这时,TCP 客户进程进入 SYN - SENT(同步已发送)状态。
(2)服务器的 TCP 收到连接请求报文段后,如同意建立连接,则向客户机发回确认,并为该 TCP 连接分配缓存和变量。在确认报文段中,把 SYN 位和 ACK 位都置 1,确认号是 ack = x + 1,同时也为自己选择一个初始序号 seq = y。注意,确认报文段不能携带数据,但也要消耗掉一个序号。这时,TCP 服务器进程进入 SYN - RCVD(同步收到)状态。
(3)当客户机收到确认报文段后,还要向服务器给出确认,并为该 TCP 连接分配缓存和变量。确认报文段的 ACK 位置 1,确认号 ack = y + 1,序号 seq = x + 1。该报文段可以携带数据,若不携带数据则不消耗序号。这时,TCP 客户进程进入 ESTABLISHED(已建立连接)状态。2.释放连接时四次挥手报文中 FIN 出现的次数是( )。
A. 1
B. 2
C. 3
D. 42.答案:B。
解析:TCP 四次挥手如下图所示。3.下列关于 TCP 的叙述,正确的是( )。
Ⅰ. TCP 是一个点到点的通信协议
Ⅱ. TCP 提供了无连接的可靠数据传输
Ⅲ. TCP 将来自上层的字节流组织成 IP 数据报,然后交给网络层
Ⅳ. TCP 将收到的报文段组成字节流交给上层
A. Ⅰ,Ⅱ,Ⅳ
B. Ⅰ,Ⅳ
C. 仅 Ⅳ
D. Ⅲ,Ⅳ3.答案:C。
解析:TCP 是端到端的协议,Ⅰ 错误;TCP 将收到的报文段去掉首部,形成字节流交给上层,Ⅲ 错误;TCP 提供面向连接的、可靠的传输服务,Ⅱ 错误。4.TCP 连接的发送方和接收方都已经调整好了滑动窗口大小,其中发送方的拥塞窗口大小为 1000 B,接收方的窗口大小为 800 B。当前已经发送了 500 B,并且接收方已经确认接收了 300 B。接下来发送方最多可以发送( )。
A. 600 B
B. 700 B
C. 800 B
D. 900 B4.答案:A。
解析:发送窗口 = min (拥塞窗口,接收窗口) = 800。此时,已经发送了 500 B,收到确认 300 B,说明仍有 500 - 300 = 200 B 已发送但未收到。因此,发送方还可以发送 800 - 200 = 600 B 的数据。5.若主机甲与主机乙建立 TCP 连接时发送的 SYN 中的序号为 1000,若主机乙接受该连接请求,则主机乙向主机甲发送的 TCP 段可能是( )。
A. (SYN=0,ACK=0,seq=1023,ack=1001)
B. (SYN=1,ACK=1,seq=1000,ack=1001)
C. (SYN=0,ACK=0,seq=1000,ack=1000)
D. (SYN=1,ACK=1,seq=1023,ack=1000)5.答案:B。
解析:主机乙向主机甲发送的是第二次握手,第二次握手的 SYN 和 ACK 均为 1,其中 SYN 为 1 代表连接统一,ACK 为 1 代表这是对上一次握手的确认。排除 A,C 选项。
第二次握手的 ack 应该为第一次握手的序号 + 1,表示刚刚收到了 1000 的数据,现在期待收到 1001 的数据。排除 D 选项,答案选择 B。6.若客户 C 和服务器 S 已建立一个 TCP 连接、通信往返时间 RTT=100 ms,客户向服务器请求断开连接后,服务器同意了,问从客户向服务器请求断开连接开始,到服务器进入 CLOSE 状态为止,最少需要多长时间?( )
A. 100 ms
B. 150 ms
C. 200 ms
D. 250 ms6.答案:B。
解析:四次挥手的步骤如下。
(1)客户机打算关闭连接时,向其 TCP 发送连接释放报文段,并停止发送数据,主动关闭 TCP 连接,该报文段的终止位 FIN 置 1,序号 seq = u,它等于前面已传送过的数据的最后一个字节的序号加 1,FIN 报文段即使不携带数据,也消耗掉一个序号。这时,TCP 客户进程进入 FIN - WAIT - 1(终止等待 1)状态。TCP 是全双工的,即可以想象为一条 TCP 连接上有两条数据通路,发送 FIN 的一端不能再发送数据,即关闭了其中一条数据通路,但对方还可以发送数据。
(2)服务器收到连接释放报文段后即发出确认,确认号 ack = u + 1,序号 seq = v,等于它前面已传送过的数据的最后一个字节的序号加 1。然后服务器进入 CLOSE - WAIT(关闭等待)状态。此时,从客户机到服务器这个方向的连接就释放了,TCP 连接处于半关闭状态。但服务器若发送数据,客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭。
(3)若服务器已经没有要向客户机发送的数据,就通知 TCP 释放连接,此时,其发出 FIN = 1 的连接释放报文段。设该报文段的序号为 w(在半关闭状态服务器可能又发送了一些数据),还需重复上次已发送的确认号 ack = u + 1。这时服务器进入 LAST - ACK(最后确认)状态。
(4)客户机收到连接释放报文段后,必须发出确认。把确认报文段中的确认位 ACK 置 1,确认号 ack = w + 1,序号 seq = u + 1。此时 TCP 连接还未释放,必须经过时间等待计时器设置的时间 2MSL(最长报文段寿命)后,客户机才进入 CLOSED(连接关闭)状态。
假设在第二次挥手和第三次挥手之间没有数据需要传递,则第二次挥手和第三次挥手可以连续发送。最短时间应该是 1.5 RTT。7.假设主机甲和主机乙已建立一个 TCP 连接,最大段长 MSS=1KB,接收窗口大小始终为 10 KB,当甲的拥塞窗口为 16 KB 时,计时器发生了超时,在接下来未发送超时的情况下,经过 4 个 RTT 后,甲的发送窗口大小为( )。
A. 9 KB
B. 8 KB
C. 11 KB
D. 10 KB7.答案:A。
发送窗口 = min (接收窗口,拥塞窗口)
经过 4 个 RTT 后,指的是第 5 次发送数据的时候。
在第 0 s 时,即第 1 次发送数据时,门限值为 8,拥塞窗口为 1,接收窗口为 10,发送窗口为 1。
经过 1 个 RTT 后,即第 2 次发送数据时,门限值为 8,拥塞窗口为 2,接收窗口为 10,发送窗口为 2。
经过 2 个 RTT 后,即第 3 次发送数据时,门限值为 8,拥塞窗口为 4,接收窗口为 10,发送窗口为 4。
经过 3 个 RTT 后,即第 4 次发送数据时,门限值为 8,拥塞窗口为 8,接收窗口为 10,发送窗口为 8。
经过 4 个 RTT 后,即第 5 次发送数据时,门限值为 8,拥塞窗口为 9,接收窗口为 10,发送窗口为 9。8.假设在没有发生拥塞的情况下,在一条往返时延 RTT 为 10 ms 的线路上采用慢开始控制策略。如果接收窗口的大小为 24 KB,最大报文段 MSS 为 2 KB。那么发送方能发送出第一个完全窗口(即发送窗口达到 24 KB)需要的时间是( )。
A. 30 ms
B. 40 ms
C. 50 ms
D. 60 ms8.答案:B。
解析:按照慢开始算法,发送窗口的初始值为拥塞窗口的初始值,即 MSS 的大小 2 KB,然后依次增大为 4 KB,8 KB,16 KB,然后是接收窗口的大小 24 KB,即到达第一个完全窗口。因此到达第一个完全窗口所需要的时间为4RTT = 40ms。9.在一个 TCP 连接中,MSS 为 1KB,当拥塞窗口为 34 KB 时收到了 3 个重复 ACK 报文段。如果在接下来报文段传输都是成功的,那么当这些报文段均得到确认后,拥塞窗口的大小达到 20KB 需要经过( )个 RTT。
A. 1
B. 2
C. 3
D. 49.答案:C。
解析:当收到 3 个重复确认时,进行快重传和快恢复。快重传就是立刻进行重传,而不是等重传计时器超时再重传。快恢复就是把拥塞窗口值更新为收到 3 个重复确认时拥塞窗口值的一半,然后使用拥塞避免算法将拥塞窗口值线性加 1。
对于本题,当收到 3 个重复确认时,拥塞窗口值更新为 34 KB/2 = 17 KB,并立即开始拥塞避免算法。
第 1 个 RTT 后,拥塞窗口值加 1 变为 18 KB。
第 2 个 RTT 后,拥塞窗口值加 1 变为 19 KB。
第 3 个 RTT 后,拥塞窗口值加 1 变为 20 KB。10.一个 TCP 连接使用 256 kbit/s 的链路,其端到端时延为 128 ms。经测试,发现吞吐量只有 120 kbit/s。假定当接收端在收完一批数据的最后才发出确认,发送窗口是( )。
A. 57 825 B
B. 37 720 B
C. 228 B
D. 61 440 B10.答案:C。
解析:端到端时延为 128 ms,一个传输周期内,从发送第一个报文段到收到所有的确认时间为 W/R + 2×T,其中 w 为发送窗口的大小,R 为链路速率,T 为端到端时延。因此,吞吐量 TP = W/(W/R + 2×T),求得 W = 7228 B。11.本地主机 A 的一个应用程序使用 TCP 协议与同一局域网内的另一台主机 B 通信。用 Sniffer 工具捕获本机 A 以太网发送和接收的所有通信流量,目前已经得到 8 个 IP 数据报。下图以十六进制格式逐字节列出了这些 IP 数据报的全部内容,其中,编号 2,3,6 为主机 A 收到的 IP 数据报,其余为主机 A 发出的 IP 数据报。假定所有数据报的 IP 和 TCP 校验和均是正确的。
注意,IP 分组头结构和 TCP 段头结构分别如下图所示。
协议域为 1,6,17,89 分别对应 ICMP,TCP,UDP,OSPF 协议。本题中窗口域描述窗口时使用的计量单位为 1 B。请回答下列问题。
(1)表 1 的 IP 分组中,哪几个完成了 TCP 连接建立过程中的三次握手?根据三次握手报文提供的信息,连接建立后,如果 B 发数据给 A,那么首字节的编号是多少?
(2)根据表 1 中的 IP 分组,A 上的应用程序已经请求 TCP 发送的应用层数据的总字节数是多少?
(3)如果 8 号 IP 分组之后,B 正确收到了 A 已发出的所有 IP 分组,那么 B 发给 A 的 TCP 报文段中 ack 号应当是多少(十六进制)?如果在 8 号 IP 分组之后,A 上的应用程序请求 TCP 发送新 65 495 B 的应用层数据,那么,按 TCP 协议,在 A 未能得到 B 的任何确认报文之前,TCP 可以发送到网络中的应用层数据最多是多少字节?11.答案如下。
(1)编号 2,3,6 包为主机 A 收到的 IP 数据报,其他均为主机 A 发送的数据报,由主机 A 发送的数据报中的源 IP 地址可知主机 A 的 IP 地址为 c0 a8 00 15。对比编号 2,3,6 包,可知 2 号数据报是来自一个发送方,3,6 号是来自同一个发送方,由 2 号帧的 IP 地址和目的 IP 地址以及其协议字段(ICMP 协议)可知该数据报来自不知名的一方(可能是网络中某个结点),而 3,6 号来自主机 B,则主机 B 的 IP 地址为 c0 a8 00 c0,所以三次握手应该是编号为 1,3,4 的 3 个数据报。
连接建立后,由主机 A 最后的 4 号确认报文段以及之后发送的 5 号报文段可知 seq 字段为 22 68 b9 91,ack 为 5b 9f 7f 1d,可知主机 A 期望收到对方的下一个报文段的数据中的第一个字节的序号为 5b 9f 7f 1d,也就是说,如果 B 发送数据给 A,那么首字节的编号就应该是 5b 9f 7f 1d。
(2)主机 A 从 4 号报文段才携带应用层数据,所以只需将 4,5,7,8 报文中的数据部分加起来即可,观察 4,5,7,8 号报文的头部长度字段,均为 5,表示 TCP 头部长度均为 5×4 B = 20 B,由图表可知,从第三行开始的内容均为要传输的数据,其和为 0 + 16 + 16 + 32 = 64 B。
(3)主机 B 接收到主机 A 的 IP 分组后,会在 8 号报文段的序号字段的基础之上,加上其发送的数据字节数,即 (22 68 b9 a1) 16 + 32=(22 68 b9 c1) 16。
B 在 6 号报文段中指出自己的窗口字段为 (20 00)=8192 B,说明此时 B 还能接收到这么多数据。而之后 A 发送了两个报文段。由 7 号和 8 号报文段的序号和确认号可知,8 号是 7 号的重复发送数据,所以 B 只需要接收 8 号的数据部分,也就是 32 B,因此之后 A 还可以发送的字节数为 8192 B - 32 B = 8160 B。12. TCP reno 的行为如下图所示。
请回答如下问题。
(1)在第 1 个 RTT,慢开始门限被设置为多少?
(2)第 16 个 RTT 后,慢开始门限会怎么设置?
(3)第 16 个 RTT 后,发送方是如何检测到报文段丢失的?
(4)第 23 个 RTT 后,发送方是如何检测到报文段丢失的?
(5)第 73 个报文段在哪个 RTT 内被发送?12.答案如下。
(1)在第 1 个 RTT,慢开始门限被设置为 32。
(2)第 16 个 RTT 后,慢开始门限会被设置为当前拥塞窗口的一半,所以慢开始门限会被设置为 21。
(3)第 16 个 RTT 后,发送方通过收到 3 个冗余 ACK 来检测到报文段的丢失。因为触发了快恢复。
(4)第 23 个 RTT 后,发送方通过超时重传来检测报文段的丢失。因为 cwnd 从 1 开始。
(5)第 73 个报文段在第 7 个 RTT 内被发送。已发送的报文段数量如下表所示。13. 假设有两台主机 A 和 B,A 通过 TCP 连接向 B 发送了 4500 字节的数据,假设 A 的初始序号为 3001。回答下列问题。
(1)TCP 连接结束时,A 收到的最后一个报文段的确认号是多少?
(2)假如该报文段通过 IPv4 发送,在链路层使用以太网,那么应该被分为多少个 IP 数据报?说明每一个 IP 数据报的数据报长度和片偏移。13.答案如下。
(1)计算最后一个报文段的确认号时,注意要加上连接请求报文段和连接释放报文段(都消耗一个序号)即 3001 + 4500 + 2 = 7503。
(2)IPv4 数据报的最大长度为 65 535 字节(包括 IP 头部和数据部分),但是以太网的最大帧大小为 1500 字节(不包括以太网头部和尾部的帧控制信息)。因此,TCP 报文段的 4520 字节(包含 20 字节的首部)将会被分为多个 IP 数据报进行传输。
IP 数据报的分片是根据 MTU(最大传输单元)来进行的。常见的以太网 MTU 是 1500 字节。TCP 报文段的 4500 字节将被分为 4 个 IP 数据报。1.第一个 IP 数据报的数据报长度为 1500 字节(包括 IP 头部和数据部分),片偏移为 0(因为这是第一个分片),标志字段中的 “更多片(more fragments)” 位将被设置为 1,表示还有更多分片。
2.第二个 IP 数据报的数据报长度为 1500 字节,片偏移为 1480,标志字段中的 “更多片” 位也将被设置为 1。
3.第三个 IP 数据报的数据报长度为 1500 字节,片偏移为 2960,标志字段中的 “更多片” 位也将被设置为 1。
4.第四个 IP 数据报的数据报长度为 100 字节(4520 - 1480 - 1480 - 1480 + 20),片偏移为 4440,标志字段中的 “更多片” 位将被设置为 0,表示这是最后一个分片。
14. 在一个 TCP 连接中,发送方向接收方传输数据。假设发送方已经发送了 3 个 TCP 报文段,第一个报文段的序号为 200,第二个报文段的序号为 250,第三个报文段的序号为 300。第三个报文段的长度是 100 字节。已知第二个报文段丢失,但其他两个报文段都已到达接收方。回答下列问题。
(1)在接收方最后发回的确认报文中,确认号是多少?
(2)发送方超时后,再次发送第二个报文段,接收方正确接收后,发回的确认报文中的确认号是多少?
(3)如果该连接采用的是 GBN 协议,在第二个报文段超时时,发送方会发送几个报文段?14.答案如下。
(1)在接收方发回的确认报文中,确认号是 250。确认号是接收方期望接收的下一个字节的序号,因此当接收方接收到序号为 200 的报文段时,确认号会设置为 201;当接收方接收到序号为 300 的报文段时,确认号会设置为 301。由于第二个报文段丢失,所以接收方期望接收的下一个字节的序号仍然是 250。
(2)发回的确认报文中的确认号是 400。因为第三个报文段被接收方缓存,不会被直接丢弃。
(3)在 GBN 协议中,当一个报文段超时时,发送方会重新发送该报文段及其之后的所有报文段。这是因为 GBN 协议要求接收方按序接收报文段,并发送累积确认,即确认已经接收到的最后一个报文段的序号。如果一个报文段超时时,意味着之后的报文段可能已经丢失,因此发送方会重新发送该报文段及其之后的所有报文段,以确保接收方正确接收到所有报文段。第 24 章 应用层
24.1 基本概念
24.1.1 网络应用模型
在学习应用层之前,先思考一个问题:传输层已经为应用进程提供了通信服务,为什么我们还需要应用层?
对于一个网络应用,其内部必然存在很多不同的进程。例如微信中存在注册进程、登录进程、发送数据进程等。传输层仅是解决一对进程之前相互通信的问题,对于有很多进程的情况,传输层并不能解决。这个时候,就需要使用应用层来对不同的网络应用和网络应用中不同的进程制定不同的通信规则。因此,对于特定的网络应用,为它们的进程交互制定不同的规则就是应用层要完成的任务。
网络应用模型是最基本的应用层模型,不同的应用程序都是使用这个基本模型来实现的。网络应用模型有两种,分别是客户 / 服务器模型和 P2P 模型。1.客户 / 服务器(C/S)模型
客户 / 服务器模型:客户和服务器都是指通信中所涉及的两个应用进程。客户 / 服务器方式所描述的是进程之间服务和被服务的关系。如图 24 - 1 所示,客户是服务请求方,服务器是服务提供方。服务请求方和服务提供方都要使用网络核心部分所提供的服务。2.对等(P2P)模型
P2P 模型:对等连接 peer - to - peer,简写为 P2P。是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。如图 24 - 2 所示,只要两台主机都运行了对等连接软件(P2P 软件),它们就可以进行平等的、对等连接通信。介绍完网络应用模型之后,就是特定的应用了,在计算机网络的考纲中,我们只需要掌握 DNS、FTP、电子邮件系统和万维网。
24.1.2 DNS
1.层次域名空间
域名系统(domain name system,DNS)是互联网使用的命名系统,用来把便于人们使用的机器名字转换为 IP 地址。DNS 是基于 UDP 的,采用客户 / 服务器模型。
互联网采用了层次树状结构的命名方法。采用这种命名方法,任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。域还可以划分为子域,而子域还可继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等。
从语法上讲,每一个域名都由标号(label)序列组成,而各标号之间用点隔开(注意:是小数点 “.”,不是中文的句号 “。”),如图 24 - 3 所示。2.域名服务器
互联网上的 DNS 域名服务器也是按照层次安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。根据域名服务器所起的作用,可以把域名服务器划分为以下 4 种不同的类型。
(1)根域名服务器:最高层次的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。
(2)顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名。
(3)权限域名服务器:负责一个区的域名服务器。这里注意,在解析域名的过程中,有可能存在 1 个或多个权限域名服务器。
(4)本地域名服务器:当一台主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器,由本地域名服务器代为查询。3.域名解析过程
图 24 - 4 所示为递归查询和迭代查询(域名的解析过程的不同方法)示意图。注意,为了方便起见,图 24 - 4 的例子只画了一个权限域名服务器,实际上可能存在多个权限域名服务器。24.1.3 FTP
1.FTP 的工作原理
FTP(file transfer protocol,文件传送协议)是互联网上使用得非常广泛的文件传送协议。FTP 基于的传输协议是 TCP,使用客户 / 服务器模型。FTP 的服务器进程由两部分组成:一个主进程,负责接收新的请求;另外有若干个从属进程,负责处理单个请求。
主进程的工作步骤如下。
(1)打开熟知端口(端口号为 21),使客户进程能够连接上。
(2)等待客户进程发出连接请求。
(3)启动从属进程处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
(4)回到等待状态,继续接收其他客户进程发来的请求。主进程与从属进程的处理是并发进行的。2.控制连接与数据连接
FTP 的工作情况如图 24 - 5 所示。图中的椭圆圈表示在系统中运行的进程,服务器端有两个从属进程:控制进程和数据传送进程,从而去进行控制连接和数据连接。
(1)控制连接:控制连接在整个会话期间一直保持打开状态,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。
(2)数据连接:实际用于传输文件的是数据连接。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建数据传送进程和数据连接,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭数据传送连接并结束运行。24.1.4 电子邮件
1.电子邮件系统的组成结构
电子邮件(e - mail)是互联网上使用非常多且极受用户欢迎的一种应用。电子邮件系统的 3 个主要组成构件是:用户代理、邮件服务器,以及邮件发送协议(如 SMTP)和邮件读取协议(如 POP3)。电子邮件系统的组成结构如图 24 - 6 所示。2.电子邮件格式与 MIME
用户可以在用户代理上写电子邮件,这里的电子邮件应该被分为信封和内容两部分,邮件内容首部包括一些关键字,后面加上冒号,例如以下常见关键字。“To:”:后面填入一个或多个收件人的电子邮件地址。
“Subject:”:后面填入邮件的主题。
“From:”:后面一般自动填写发件人信息。
用户写好内容首部后,邮件系统自动地将信封所需的信息提取出来并写在信封上。所以用户不需要填写电子邮件信封上的信息。
一般来说,电子邮件传输的都是 ASCII 码邮件。若想传输非 ASCII 码邮件,可以使用 MIME 协议将非 ASCII 码转换为 ASCII 码,再进行传输。
用户代理将信件发出后,信件就到了邮件服务器上。3.SMTP 协议与 POP3 协议
SMTP 协议规定了在两个相互通信的 SMTP 进程之间应如何交换信息。由于 SMTP 使用客户 / 服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。
SMTP 是一种采用 “推” 的方式进行邮件传输的协议,其通信主要有以下 3 个阶段。
(1)连接建立:发件人的邮件送到发送方邮件服务器的邮件缓存后,SMTP 客户每隔一定时间就对邮件缓存扫描一次,若发现有邮件,就使用 SMTP 的熟知端口号 25 与接收方邮件服务器的 SMTP 服务器建立 TCP 连接。
(2)邮件传送:邮件的传送从 MAIL 命令开始,MAIL 命令后面有发件人的地址。
(3)连接释放:邮件发送完毕后,SMTP 客户应发送 QUIT 命令。
POP3 也使用客户服务器的工作方式。这是一种采用 “拉” 的方式进行邮件传输的协议,在传输层使用 TCP 协议,端口号是 110。POP3 协议的一个特点就是只要用户从 POP 服务器读取了邮件,POP 服务器就把该邮件删除。
在电子邮件传输的整体过程中,需要 SMTP 和 POP3 协议的综合使用,整体流程如图 24 - 7 所示。24.1.5 万维网
万维网(world wide web,WWW)并非某种特殊的计算机网络,如图 24 - 8 所示。WWW 是一个大规模的、联机式的信息储藏所。万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点(也就是所谓的链接到另一个站点),从而主动地按需获取丰富的信息。
1.WWW 的概念与组成结构
要实现万维网就要解决 3 个问题。
(1)怎样标志分布在整个互联网上的万维网文档?
(2)用什么样的协议来实现万维网上的各种链接?
(3)怎样使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接?
针对这 3 个问题,人们使用统一资源定位符 URL、超文本传送协议 HTTP 和超文本标记语言 HTML 来解决。
URL 负责标识万维网上的各种文档,且每个文档在整个万维网范围内具有唯一的标识符 URL,它的一般形式为 <协议>://< 主机 >:< 端口 >/< 路径 >。
其中,指出 < 协议 > 来获取该万维网文档,例如 http;< 主机 > 指出这个万维网文档是在哪一台主机上;< 端口 > 指出,是这台主机的哪一个进程提供服务;< 路径 > 指出文件在这台主机的哪个位置。< 端口 > 和 < 路径 > 有时可省略。
要使任何一台计算机都能显示出任何一个万维网服务器上的页面,就必须解决页面制作的标准化问题。超文本标记语言 HTML(hyper text markup language)就是一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍。但需要注意,HTML 并不是应用层的协议,它只是万维网浏览器使用的一种语言。
HTML 定义了许多用于排版的命令,即 “标签”(tag)。例如,<i>表示后面开始用斜体字排版,而</i>则表示斜体字排版到此结束。通过这些标签,可以指出这段话属于网页的哪一部分(如标题还是段落),从而可以让所有计算机显示出相同的内容。2.HTTP 协议
HTTP 协议定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
HTTP 的工作流程如图 24 - 9 所示。(1)浏览器分析超链接指向页面的 URL。
(2)浏览器向 DNS 请求解析安徽商贸职业技术学院的 IP 地址。
(3)域名系统 DNS 解析出服务器 IP 地址。
(4)浏览器与服务器建立 TCP 连接。
(5)浏览器发出取文件命令:GET /chn/yxsz/index.htm。
(6)服务器给出响应,把文件 index.htm 发给浏览器。
(7)TCP 连接释放。
(8)浏览器显示文件 index.htm 中的所有文本。
HTTP 使用了面向连接的 TCP 作为传输层协议,在传送结束之后,有两种方式:持续连接和非持续连接。持续连接方式指的是,万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。非持续连接指的是,在客户端收到一个响应之后,就要断开这个 TCP 连接。
HTTP 有如下两类报文。
(1)请求报文:从客户向服务器发送请求报文。
(2)响应报文:从服务器到客户的回答。
图 24 - 10 所示为两类报文的格式。
24.2 网络应用模型精选习题与解析
24.2.1 精选习题
1.客户 / 服务器模型和 P2P 模型的区别在于( )。
A. 客户 / 服务器模型中,客户端和服务器之间的通信是对等的,而在 P2P 模型中,通信是单向的
B. 客户 / 服务器模型中,客户端只能向服务器请求服务,而在 P2P 模型中,所有结点都可以充当客户端和服务器
C. 客户 / 服务器模型具有去中心化和灵活性的优点,但存在安全性难以保证和性能难以优化的缺点
D. 客户 / 服务器模型和 P2P 模型没有本质区别1.答案:B。
解析:客户 / 服务器模型中,客户端只能向服务器请求服务,而在 P2P 模型中,所有结点都可以充当客户端和服务器。在客户 / 服务器模型中,服务器通常扮演被动的服务提供者的角色,而客户端则是主动请求方。但在 P2P 模型中,结点之间的通信是对等的,每个结点都可以提供服务和请求服务。这意味着 P2P 模型中不存在固定的服务器,每个结点都可以充当服务器的角色。
(1)客户 / 服务器模型。
客户 / 服务器模型是一种网络应用模型,其中服务器提供服务,客户端请求服务。客户端向服务器发送请求,服务器处理请求并发送响应。客户 / 服务器模型通常涉及两个不同的设备,即服务器和客户端,客户端请求并接收服务器提供的服务。它是一种中心化的模型,服务器作为中心点,提供各种服务。
优点如下。①服务由服务器提供,用户可以更方便地获得所需的信息和资源。
②安全性较高,服务器可以对所有客户端进行统一的管理和安全控制。
③可扩展性强,可以通过添加更多的服务器来满足不断增长的用户需求。
缺点如下。①依赖于服务器,服务器的故障或瘫痪会导致整个网络瘫痪。
②需要服务器维护和管理,成本高。
(2)P2P 模型。
P2P 模型是一种网络应用模型,其中没有中央服务器。所有计算机都可以作为服务器和客户端,它们可以共享文件和资源,而不依赖于中央服务器。
优点如下。①不需要中央服务器,所以没有单点故障的风险。
②资源共享可以更加自由,没有限制。
③更具弹性,可以随着结点的增加来扩展。
缺点如下。①安全性较低,难以管理和控制。
②性能和速度可能会受到结点数量和网络带宽的限制。
③需要更多的用户来共享和分发资源。
综上,客户 / 服务器模型更适合需要集中管理和控制的环境,而 P2P 模型更适合分散、去中心化的环境。24.3 DNS 精选习题与解析
24.3.1 精选习题
1.关于 DNS 下列叙述错误的是( )。
A. DNS 系统运行在 TCP 协议之上,并且采用客户 / 服务器工作模式
B. DNS 的主要功能是将域名解析为相应的 IP 地址,并且是全球范围内的域名解析系统
C. 域名不能反映计算机所在的物理地址,域名的命名原则是采用层次结构的命名树
D. DNS 是一种分布式数据库系统。DNS 可以使用 TCP 协议进行大型数据包的传输1.答案:A。
解析:DNS 是在 UDP 协议之上运行的,因为 DNS 本身是一种轻量级的请求 / 响应协议,不需要建立长连接或保证数据传输的可靠性。客户机向 DNS 服务器发送请求,DNS 服务器响应并返回请求结果,类似于客户 / 服务器模型。因此,DNS 是一种典型的客户 / 服务器应用程序。A 选项错误。
DNS 的主要功能是将域名解析为相应的 IP 地址,实现域名和 IP 地址之间的映射。通过 DNS,用户可以使用易记的域名来访问互联网上的资源,而无须记住复杂的 IP 地址。DNS 不仅限于内部网络中的主机名解析,而是全球范围内的域名解析系统。B 选项正确。
DNS 采用了分层的域名空间命名规则,这个空间被组织成树形结构,每个结点都表示一个域名,以点号分隔。根结点在最上面,下面是一级域名、二级域名,以此类推。例如,www.example表示 com 域名下 example 二级域名下的 www 主机。DNS 主要负责将域名翻译成 IP 地址,而不是物理地址。IP 地址是用于在网络上标识计算机的数字地址,而物理地址则是用于在数据链路层上标识网络设备的地址。物理地址也称为 MAC 地址,由数据链路层协议控制。因此,DNS 无法直接反映计算机所在的物理地址。C 选项正确。
DNS 本身是一种分布式数据库系统,在网络中的层次为应用层。DNS 通常使用 UDP 协议进行域名查询,但也可以使用 TCP 协议进行大型数据包的传输。D 选项正确。2.域名系统 DNS 的组成包括( )。
Ⅰ. 域名空间
Ⅱ. 分布式数据库
Ⅲ. 域名服务器
Ⅳ. 从内部 IP 地址到外部 IP 地址的翻译程序
A. Ⅰ 和 Ⅱ
B. Ⅰ,Ⅱ 和 Ⅲ
C. Ⅱ,Ⅲ
D. Ⅰ,Ⅱ,Ⅲ 和 Ⅳ2.答案:B。
解析:因特网采用了层次树状结构的命名方法,任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name),故需要有一个域名空间。这里,域(domain)是名字空间中一个可被管理的划分。域还可以继续划分为子域,如二级域、三级域等。Ⅰ 正确。
因特网的域名系统 DNS 被设计成为一个联机分布式数据库系统,并采用客户机 / 服务器方式。DNS 让大多数名字都在本地解析,仅少量解析需要在因特网上通信,因此系统的效率很高。由于 DNS 是分布式系统,即使单个计算机出了故障,也不会妨碍整个系统的正常运行。Ⅱ 正确。
域名的解析是由若干个域名服务器程序完成的,人们也常把运行该程序的机器称为域名服务器。Ⅲ 正确。
DNS 中没有实现内部 IP 到外部 IP 的翻译,该功能是由具有 NAT 功能的路由器完成的。Ⅳ 错误。3.在 DNS 域名系统中,下面哪个代表商业组织?( )
A. com
B. net
C. gov
D. edu3.答案:A。
解析:com 代表商业组织,net 代表网络服务机构,gov 代表政府,edu 代表教育机构。4.下列说法错误的是( )。
A. Internet 上提供客户访问的主机一定要有域名
B. 同一域名在不同时间可能解析出不同的 IP 地址
C. 多个域名可以指向同一台主机 IP 地址
D. IP 子网中的主机可以由不同的域名服务器来维护其映射4.答案:A。
解析:Internet 上提供客户访问的主机不一定要有域名,可以使用 IP 地址。A 选项错误,答案选择 A 选项。
域名和 IP 地址之间的映射关系是可以动态变化的,例如当一个域名对应的主机由于故障而需要切换到另一个 IP 地址时,就会产生 IP 地址变化。B 选项正确。
在 DNS 解析过程中,一个 IP 地址可以对应多个域名,而且通常在实际应用中也经常出现这种情况,例如一个网站可能有多个域名别名。C 选项正确。
域名解析的过程是通过 DNS 分布式数据库来完成的,这些数据库可以分布在不同的主机上,负责不同 IP 子网的域名解析。因此,一个 IP 子网中的主机的域名解析可以由不同的域名服务器来维护。D 选项正确。5.在 DNS 的递归查询中,由( )给客户端返回地址。在 DNS 的迭代查询中,由( )给客户端返回地址。
A. 最开始连接的服务器,最开始连接的服务器
B. 最后连接的服务器,最开始连接的服务器
C. 最开始连接的服务器,目的地所在服务器
D. 最开始连接的服务器,最后连接的服务器5.答案:A。
解析:DNS 递归查询是指客户端向本地域名服务器发出域名解析请求,本地域名服务器向根域名服务器查询,直到得到最终的解析结果,然后返回给客户端的查询过程。
具体的过程如下。
(1)客户端向本地域名服务器发送域名解析请求,请求的域名通常是客户端要访问的主机名或 URL。
(2)如果本地域名服务器的缓存中没有相应的解析结果,就向根域名服务器发送一个查询请求。根域名服务器是 DNS 层次结构中的最高一级,主要负责解析顶级域名服务器(如, 等)的 IP 地址。
(3)根域名服务器查找并返回客户端查询请求中的顶级域名服务器(如, 等)的 IP 地址给本地域名服务器。
(4)本地域名服务器收到顶级域名服务器的 IP 地址后,再向顶级域名服务器发送一个查询请求,请求顶级域名服务器解析二级域名服务器(如baidu)的 IP 地址。
(5)顶级域名服务器查找并返回客户端查询请求中的二级域名服务器(如baidu)的 IP 地址给本地域名服务器。
(6)本地域名服务器收到二级域名服务器的 IP 地址后,再向二级域名服务器发送一个查询请求,请求它解析客户端请求的主机名(如www.baidu)的 IP 地址。
(7)如果二级域名服务器缓存中没有相应的解析结果,就向下一级域名服务器发出查询请求,直到找到负责解析该主机名的域名服务器,然后返回查询结果给本地域名服务器。
(8)本地域名服务器收到最终的解析结果后,将结果缓存起来,然后返回给客户端。
在递归查询过程中,客户端只需要向本地域名服务器发送一次查询请求,然后等待本地域名服务器返回结果即可。由于本地域名服务器会负责查询 DNS 层次结构中的各级域名服务器,因此这种查询方式被称为递归查询。
DNS 迭代查询是一种域名解析的过程,用于获取给定域名对应的 IP 地址。它涉及多个 DNS 服务器之间的交互,直到找到目标域名的 IP 地址或者确定目标域名不存在为止。以下是 DNS 迭代查询的具体过程。
(1)客户端发起查询:当用户在浏览器或其他应用程序中输入一个域名时,操作系统的 DNS 解析器会向本地 DNS 服务器发起查询请求。
(2)本地 DNS 服务器查询:本地 DNS 服务器首先检查自己的缓存中是否存在目标域名的 IP 地址。如果存在,它将直接返回缓存中的 IP 地址给客户端,查询结束。如果缓存中不存在目标域名的 IP 地址,本地 DNS 服务器进入迭代查询过程。
(3)根域名服务器查询:本地 DNS 服务器向根域名服务器发起查询请求。根域名服务器负责管理顶级域名服务器(如,, 等)。本地 DNS 服务器会向根域名服务器询问,哪个顶级域名服务器负责目标域名的解析。
(4)顶级域名服务器查询:本地 DNS 服务器收到根域名服务器返回的顶级域名服务器信息后,向相应的顶级域名服务器发起查询请求。顶级域名服务器负责管理二级域名(如example)的解析。
(5)权威域名服务器查询:本地 DNS 服务器收到顶级域名服务器返回的权威域名服务器信息后,向权威域名服务器发起查询请求。权威域名服务器是负责管理具体域名解析的服务器,它保存着该域名的 IP 地址记录。
(6)返回查询结果:如果权威域名服务器存在目标域名的 IP 地址记录,它将返回该 IP 地址给本地 DNS 服务器。本地 DNS 服务器收到 IP 地址后,将其存入缓存,并将查询结果返回给客户端。客户端可以使用该 IP 地址与目标域名进行通信。
在整个迭代查询过程中,本地 DNS 服务器扮演了递归查询的角色。它负责与其他 DNS 服务器之间的交互,并将查询结果逐级返回给客户端。通过迭代查询的方式,DNS 系统能够有效地解析域名并返回相应的 IP 地址。这种查询方式允许不同层级的 DNS 服务器之间进行协作,实现域名解析的可靠性和准确性。6.一台主机希望解析域名www.sut.edu,如果这台主机配置的 DNS 地址为 A(或称为本地域名服务器),Internet 根域名服务器为 B,而存储域名www.sut.edu与其 IP 地址对应关系的域名服务器为 C,那么这台主机通常先查询( )。
A. 域名服务器 A
B. 域名服务器 B
C. 域名服务器 C
D. 不确定6.答案:A。
解析:本机的 DNS 客户端首先向本地域名服务器进行查询,如果本地域名服务器有域名和 IP 地址的映射关系,那么通过 UDP 用户数据报返回给主机;如果本地域名服务器没有域名和 IP 地址的映射关系,那么本地域名服务器访问根域名服务器,让根域名服务器进行下面的查询,最后将查询的结果返回给主机。7.假设一台计算机需要访问www.abc.def,但它本地的 DNS 服务器没有缓存相应的记录。如果该 DNS 服务器采用迭代查询方式,则在完成该域名解析的过程中,本地的 DNS 服务器可能发出 DNS 查询的最少和最多次数分别是( )。
A. 1,3
B. 1,4
C. 2,3
D. 2,47.答案:D。
解析:本地 DNS 服务器需要从根域名服务器开始进行逐级迭代的查询,直到找到对应的 IP 地址或者查询失败。第一次查询:本地 DNS 服务器查询根域名服务器,获得顶级域名服务器的 IP 地址。
第二次查询:本地 DNS 服务器查询顶级域名服务器,获得下一级域名服务器的 IP 地址。
第三次查询:本地 DNS 服务器查询下一级域名服务器,获得所查询主机的 IP 地址。
在上述过程中,第一次和第二次查询的次数是固定的,即每次查询只需向一个服务器查询一次,因此查询次数最少为 2 次。但第三次查询的次数则取决于下一级域名服务器是否有所查询主机的 IP 地址缓存,如果有,则只需进行一次查询;如果没有,则需要继续向下查询,直到找到对应的 IP 地址或查询失败。因此,查询次数最多可能达到 4 次。8.以下协议不是应用层协议的是( )。
A. ICMP
B. DNS
C. RIP
D. BGP8. 答案:A。
解析:ICMP 是互联网控制报文协议,是 TCP/IP 协议族的一个子协议,主要用于在 IP 网络中进行控制和管理。它属于网络层协议,因此答案选择 A 选项。
DNS 是域名系统,也是应用层协议之一,用于把域名解析成 IP 地址。B 选项正确。
RIP 是一种用于在局域网或广域网中实现路由选择的协议,是基于距离向量的路由协议之一,属于应用层协议。C 选项正确。
BGP 是一种用于在互联网中实现路由选择的协议,是路径向量协议之一,属于应用层协议。D 选项正确。
多种协议的层级位置如下。
链路层:PPP,HDLC,CSMA。
网络层:ARP,ICMP,IP,OSPF。
传输层:TCP,UDP。
应用层:DHCP,RIP,BGP,DNS,FTP,POP3,SMTP,HTTP,MIME。24.4 FTP 精选习题与解析
24.4.1 精选习题
1.下列关于 FTP 的描述,不正确的是( )。
A. FTP 使用 TCP 进行可靠传输,实现异构网络中计算机之间的文件传输
B. 在进行文件传输时,FTP 客户端和服务器间需建立两个连接
C. FTP 服务器主进程在 20 端口上监听客户端的连接请求
D. FTP 可用于在两台远程服务器之间进行备份文件传输1.答案:C。
解析:FTP 只提供文件传送的一些基本服务,它使用 TCP 进行可靠传输。由于 FTP 屏蔽了各计算机系统的细节,所以 FTP 适用于在异构网络中任意计算机之间传送文件。A 选项正确。
B 选项:在进行文件传输时,FTP 客户端和服务器间需建立两个并行的 TCP 连接,分别是控制连接和数据连接。B 选项正确。
FTP 服务器进程由两部分组成:① 一个主进程,负责接收新的请求;② 若干从属进程,负责处理单个请求。主进程的工作步骤:① 主进程打开熟知端口(端口号为 21),使客户进程能够连接上;② 等待客户进程发出连接请求;③ 启动从属进程处理客户进程发来的请求;④ 回到等待状态,继续等待其他客户进程发来的连接请求。C 选项错误,答案选择 C。
FTP 协议是一种用于在计算机网络中进行文件传输的协议。它使用可靠的 TCP 协议作为传输层协议,通过远程服务器之间的交互实现文件的上传和下载。主要应用场景包括在远程服务器之间进行文件备份和共享,以及在需要可靠文件传输的场景中使用。它提供了对文件的访问、操作和管理功能,使用户可以方便地进行文件的传输和共享。D 选项正确。2.FTP 客户端发起对 FTP 服务器的连接建立的第一阶段是建立( )。
A. 传输连接
B. 会话连接
C. 数据连接
D. 控制连接2.答案:D。
解析:FTP 首先建立控制连接,然后建立数据连接,数据传送完毕后,首先释放数据连接,然后释放控制连接。控制连接在整个会话期间一直保持打开状态。3.下列关于 FTP 连接的说法,正确的是( )。
A. 数据连接先于控制连接被建立,但是控制连接的关闭,在数据连接关闭以后
B. 控制连接是由客户端发起的,而数据连接是可能是由 FTP 服务器端发起的
C. 数据连接只能用于传送文件,控制连接既可用于传送控制信息,也可以用来传输文件
D. FTP 不允许客户指明文件的类型和格式3.答案:B。
解析:在 FTP 连接中,首先建立的是控制连接,也称为命令连接,该连接用于传输 FTP 命令和回复。在控制连接建立后,FTP 客户端和服务器之间会建立一个或多个数据连接,用于传输文件。因此,控制连接是在数据连接之前建立的,并且控制连接和数据连接是独立的连接,相互独立。控制连接的关闭不一定要等到数据连接关闭后,可以在传输完文件后就关闭控制连接。A 选项错误。
控制连接是由客户端发起的。在 FTP 连接中,客户端通过控制连接向服务器发送命令,服务器通过控制连接回复命令的执行情况。数据连接可能是由客户端发起的,也可能是由服务器发起的,这取决于被动连接还是主动连接。在数据传输完成后,客户端或服务器可以通过控制连接关闭数据连接。B 选项正确。
数据连接和控制连接的作用是不同的。数据连接用于传输文件和目录,而控制连接则用于传输命令和状态信息。数据连接可以建立多个,每个数据连接用于传输一个文件或目录。控制连接只有一个,用于控制整个 FTP 会话。在控制连接中,FTP 客户端可以向服务器发送各种命令,如列出目录、上传文件、下载文件等,服务器会返回相应的状态信息。C 选项错误。
FTP 客户端可以通过命令指定文件的类型和格式,这些命令包括 TYPE、STRU 和 MODE。TYPE 命令用于指定文件的传输类型,可以是 ASCII 或 BINARY;STRU 命令用于指定文件的结构,可以是文件结构、记录结构或页面结构;MODE 命令用于指定文件传输的模式,可以是流模式或块模式。这些命令都可以通过控制连接发送给服务器,从而控制文件的传输方式和格式。D 选项错误。24.5 电子邮件精选习题与解析
24.5.1 精选习题
1.在下面给出的协议中,( )是 TCP/IP 的应用层协议。
A. TCP 和 FTP
B. DNS 和 SMTP
C. RARP 和 DNS
D. IP 和 UDP1.答案:B。
解析:TCP(传输控制协议)、UDP(用户数据报协议)工作在运输层,FTP(文件传送协议)、DNS(域名系统)、SMTP(简单邮件传送协议)工作在应用层,RARP(逆地址解析协议)、IP(网际协议)工作在网络层。2.在 TCP/IP 协议族中,应用层的各种服务是建立在运输层提供的服务基础上的。下列协议中,( )需要使用运输层的 TCP 建立连接。
A. DNS,DHCP,FTP
B. BGP,SMTP,HTTP
C. RIP,FTP,TELNET
D. SMTP,FTP,TFTP2.答案:B。
解析:BGP,SMTP,HTTP 都使用 TCP 建立连接。DNS,DHCP,RIP,TFTP 是基于 UDP 的,FTP 是基于 TCP 的。3.电子邮件的发信人发送邮件使用的协议和收信人从邮件服务器自己的邮箱中取出邮件使用的协议分别是( )。
A. SMTP,IMAP
B. SMTP,POP3
C. SMTP,SMTP
D. IMAP,HTTP3.答案:B。
解析:SMTP 是简单邮件传送协议,用于用户代理向邮件服务器发送邮件或者邮件服务器向邮件服务器发送邮件。POP3 是邮局协议版本 3,用于用户代理从邮件服务器读取邮件。TCP 是传输控制协议。FTP 是文件传送协议。HTTP 协议可以在发送或接收邮件时作为邮件访问的协议(如 163、QQ 邮箱)。IMAP 是一种用于电子邮件客户端和邮件服务器之间进行通信的协议。它允许用户通过邮件客户端远程访问和管理存储在邮件服务器上的电子邮件,可被认为是 POP3 协议的优化。4.下面关于 POP3 协议的表述,( )是错误的。
A. 用户无法在不下载邮件的情况下直接在邮件服务器上进行邮件管理
B. 登录到服务器后,发送的密码是加密的
C. 协议是基于 ASCII 码的,不能发送二进制数据
D. 一个账号在服务器上只能有一个邮件接收目录4.答案:B。
解析:POP3 协议不支持与服务器的持久连接,每次接收邮件时都要与服务器建立一个新的连接。此外,POP3 协议通常只能将邮件下载到本地客户端,而不是与服务器同步。因此,用户无法在不下载邮件的情况下直接在邮件服务器上进行邮件管理。IMAP 协议允许用户在客户端和服务器之间保持持久连接,并在客户端和服务器之间同步邮件状态。也就是说,当你在客户端中删除或移动一封邮件时,服务器上的邮件状态也会随之改变,反之亦然。A 选项正确。
POP3 协议在传输层使用明文来传输密码,并不对密码进行加密。B 选项错误,答案选择 B。
POP3 协议基于 ASCII 码,如果要传输非 ASCII 码的数据,就要使用 MIME 将数据转换成 ASCII 码形式。C 选项正确。
在 POP3 中,用户只有一个邮件接收目录,没有子目录,因此一个账号在服务器上只能有一个邮件接收目录。D 选项正确。5.下列关于 SMTP 的描述,正确的是( )。
A. SMTP 使用 TCP 协议进行可靠传输
B. SMTP 可以在传输中对邮件进行加密处理
C. SMTP 客户端无须先与服务器建立连接,可以直接发送邮件
D. SMTP 协议是面向 ASCII 编码的,它使用 MIME 可以支持 ASCII 的数据传输5.答案:A。
解析:SMTP 是一种基于文本的协议,使用 TCP 协议进行邮件的可靠传输,TCP 协议可以保证传输的可靠性,确保邮件能够成功传输到接收方。A 选项正确。
SMTP 协议本身并不提供加密功能,但是可以和其他协议(如 SSL 或 TLS)结合使用,以实现对邮件的加密传输。B 选项错误。
SMTP 协议中,客户端需要先与服务器建立连接,然后再进行邮件的传输。客户端需要通过向服务器发送 EHLO(或 HELO)命令来初始化 SMTP 会话,然后通过发送 MAIL FROM,RCPT TO,DATA 等命令来传输邮件内容。C 选项错误。
MIME 的意图是继续使用目前的格式,但增加了邮件主题的结构,并定义了传送非 ASCII 码的编码规则。D 选项错误。6.用 Firefox 在 Gmail 中向邮件服务器发送邮件时,使用的是( )协议。
A. HTTP
B. POP3
C. P2P
D. SMTP6.答案:A。
解析:在基于万维网的电子邮件中,用户浏览器与 Hotmail 或 Gmail 邮件服务器之间的邮件发送或接收使用的是 HTTP,而仅在不同邮件服务器之间传送邮件时才使用 SMTP。24.6 万维网精选习题与解析
24.6.1 精选习题
1.在以下 4 个网址中,哪一个网址不符合 WWW 网址的书写规则?( )
A. www.baidu
B. www.863
C. www.syau.edu
D. www.sohu1.答案:C。
解析:域名结构的排列原则是低层的子域名在前面,而它们所属的高层域名在后面,一般格式如下。
... 三级域名。二级域名。顶级域名
对于 C 选项,cn 表示中国,是国家顶级域名,edu 表示教育机构,在这里是二级域名。因此 C 选项的网址不符合 WWW 网址书写规则。2.HTTP 是一个无状态协议,然而 Web 站点经常希望能够识别用户,这时需要用到( )。
A. Web 缓存
B. Cookie
C. 条件 GET
D. 持久连接2.答案:B。
解析:Cookie 允许站点跟踪用户,Cookie 技术由 4 部分组成。
(1)在 HTTP 响应报文中有一个 Cookie 首部行。
(2)在 HTTP 请求报文中有一个 Cookie 首部行。
(3)在用户端系统中保留有一个 Cookie 文件,由用户的浏览器管理。
(4)在 Web 站点有一个后端数据库。通过这些组成部分,服务器实现对客户的跟踪。3.假设一个 Web 页面中有 10 幅 gif 图片,Web 页面的基本 HTML 文件、HTTP 请求报文、TCP 握手报文大小忽略不计,RTT 为 150 ms,一个 gif 图片的发送时延为 35 ms,使用停止 - 等待协议,则使用持续连接非流水线方式访问该页面最少需要的时间为( )ms。
A. 3650
B. 2150
C. 3350
D. 18504.学生 A 希望访问网站www.taobao,A 在其浏览器中输入http://www.taobao并按 Enter 键,直到淘宝网站首页显示在其浏览器中。请问在此过程中,按照 TCP/IP 参考模型,从应用层到网络层都有可能用到哪些协议?( )
Ⅰ. DNS
Ⅱ. HTTP
Ⅲ. TCP
Ⅳ. ARP
Ⅴ. ICMP
A. Ⅰ,Ⅱ
B. Ⅰ,Ⅱ,Ⅲ
C. Ⅰ,Ⅱ,Ⅲ,Ⅳ
D. Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ4.答案:D。
解析:学生 A 访问网站,首先将域名转换成 IP 地址,要用到 DNS 协议;访问网页要用到 HTTP 协议;运输层要用到 TCP 协议,用于客户机与服务器之间建立连接;网络层用到 ARP 协议,将 IP 地址映射成硬件地址;当网络出现问题时,会向主机报告差错,用到 ICMP 协议;进行路由选择,用到路由选择协议。5.某局域网内有一个主机 H1 和一台本地域名服务器。局域网通过一台路由器和 Internet 相连。某一时刻,H1 向www.abc.def发送 HTTP 请求,假设 H1 和 Internet 连接的 RTT 固定为 10 ms,忽略和本地域名服务器连接的时延。HTTP 采用持久连接的非流水线方式。回答下列问题。
(1)本地域名服务器查询后返回 IP 地址给 H1,这个过程最长需要多长时间?
(2)H1 拿到www.abc.def的 IP 地址后,建立与目标服务器的 TCP 连接,假设整个过程没有丢包和重传。从 H1 开始建立 TCP 连接到接收到 HTTP 响应最少需要多长时间?
(3)H1 拿到 HTTP 响应后,解析响应中的 HTML 内容。假设 HTML 页面中包含 5 个图片链接,每个图片大小为 100 KB,H1 需要通过 URL 请求这些图片。不考虑图片传输时间。那么从 H1 发送请求到接收完所有图片的时间最长是多少?5.答案:
(1)本地域名服务器查询后返回 IP 地址给 H1 的过程通常需要如下几个步骤。
① H1 发送 DNS 查询请求到本地域名服务器。
② 本地域名服务器接收到查询请求后,开始查询自身的缓存记录,看是否已经保存了www.abc.def的 IP 地址。如果存在缓存记录且仍然有效,本地域名服务器可以立即返回 IP 地址给 H1。
③ 如果本地域名服务器的缓存中没有www.abc.def的 IP 地址,它将需要向其他域名服务器进行递归查询,以获取目标域名的 IP 地址。
因此,查询www.abc.def的 IP 地址的时间 = 本地域名服务器查询时延(0 ms) + 查询根域名服务器 + 查询 com 域名服务器 + 查询 abc 域名服务器 + 查询 def 域名服务器 = 4RTT = 40 ms。
(2)整个过程包括三次握手和接收到 HTTP 响应,具体如下。
① H1 发送 SYN 包(第一次握手)到目标服务器:H1 发送一个 SYN 包给目标服务器,通知它要建立一个 TCP 连接。
② 目标服务器接收 SYN 包并发送 SYN-ACK 包(第二次握手)回复:目标服务器接收到 H1 的 SYN 包后,确认收到,并发送一个 SYN-ACK 包给 H1,表示同意建立 TCP 连接。
③ H1 接收 SYN - ACK 包并发送 ACK 包(第三次握手)给目标服务器:H1 接收到目标服务器的 SYN - ACK 包后,确认收到,并发送一个 ACK 包给目标服务器,表示连接建立成功。这个 ACK 包可以携带 H1 到服务器的 HTTP 请求。
④ 服务器向 H1 发送 HTTP 响应。
综上所述,从 H1 开始建立 TCP 连接到接收到响应总共需要的时间是 2 个 RTT,即 20ms。
(3)假设 HTML 页面中包含 5 个图片链接,每个图片大小为 100KB,H1 需要通过 URL 请求这些图片。不考虑图片传输时间,H1 会依次发送 5 个图片请求到目标服务器,每个请求的发送时间通常需要一个往返时间(RTT),即 10ms。所以总共需要 50ms。6.浏览器发送的 HTTP POST 请求如下。
POST /login HTTP/1.1
Host: www.example
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
Connection: Keep-Alive
username=johndoe&password=123456
请回答以下问题。
(1)这是一个什么类型的 HTTP 请求?
(2)请求的目标 URL 是什么?
(3)请求的目标主机是什么?
(4)请求的消息体中包含了什么信息?
(5)请求使用的连接类型是什么?6. 答案:
(1)这是一个 HTTP POST 请求。
(2)请求的目标 URL 是 “/login”。
(3)请求的目标主机是www.example。
(4)请求的消息体中包含了用户名和密码的信息。具体内容为 username=johndoe&password=123456。
(5)请求使用的连接类型是 Keep - Alive,即持久连接。
版权声明:本文标题:计算机考研精炼 计网 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1749837657a2767981.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论