那些王道书里的题目-----计算机网络篇

注:仅记录个人认为有启发的题目

p155
34.下列四个地址块中,与地址块 172.16.166.192/26 不重叠,且与172.16.166.192/26聚合后的地址块不会引入多余地址的是()

A.172.16.166.192/27           B.172.16.166.128/26       

C.172.16.166.0/26               D.172.16.166.0/25

不重叠:表示它们的地址范围没有重叠部分,即地址块 A 中的任何一个地址都不在地址块 B 中,反之亦然。
不会引入多余的地址:表示合并后的地址块包含了原始地址块中所有的地址,而没有额外的、没有利用的地址。

地址块172.16.166.192/26 包含的地址范围为从172.16.166.192到172.16.166.255

A.地址块172.16.166.192/27 包含的地址范围为从172.16.166.192到172.16.166.223

B.地址块172.16.166.128/26 包含的地址范围为从172.16.166.128到172.16.166.191

C.地址块172.16.166.0/26 包含的地址范围为从172.16.166.0到172.16.166.63

D.地址块172.16.166.0/25 包含的地址范围为从172.16.166.0到172.16.166.127

四个选项中,选项A的地址块在 172.16.166.192/26内,也就是有重叠;

选项 B的地址块与172.16.166.192/26 不重叠,聚合后的地址块为 172.16.166.128/25(包含的地址范围为从172.16.166.128到172.16.166.255),聚合后的地址块没有引入多余地址;

选项C的地址块与 172.16.166.192/26 不重叠,聚合后的地址块为 172.16.166.0/24(包含的地址范围为从172.16.166.0到172.16.166.255),聚合后的地址块会引入多余地址;

选项D的地址块与172.16.166.192/26不重叠,聚合后的地址块为172.16.166.0/24(包含的地址范围为从172.16.166.0到172.16.166.255),聚合后的地址块会引入多余地址。

总结:找到聚合后,网络前缀与题目相邻的地址,例如本题就是题目的网络前缀是26,聚合后地址的网络前缀为25,如果聚合后的地址为24,跳过了25,就会出现未被利用的,多余的地址。

答案:B

p155

38.现将一个 IP 网络划分成4个子网,若其中一个子网是 172.16.1.128/26,则下列网络中,不可能是另外三个子网之一的是()

A.172.16.1.0/25        B.172.16.1.64/26        C.172.16.1.96/27        D.172.16.1.224/27

刚开始是想对比有无重叠的地址,但是发现排除不了:

答案:

类似于哈夫曼编码的思想,可以用高度为32 的满二叉树来表示整个P地址空间,因此每个
分支结点都可表示成一个地址块,该分支结点下的所有叶结点的编码都是属于该地址块的地址。下图是以地址块“/24”为根结点的二叉树表示,为了简洁,图中省略了共同前缀 172.162.本题要求找出3个子网与题中的子网构成一个更大的网络,对应到二叉树中,需满足两个条件:
4个子网的地址空间互不重叠,即4个分支结点不存在任何祖先或双亲关系;

4个子网刚好能构成一个新的地址空间,即存在一个结点刚好能覆盖这4个结点下的所有子孙。

现结合选项分析:选项A、D 和 110/27 可与题中子网聚合成/24网络;选项B、00/26、11/26 可与题中子网聚合成/24 网络:选项C若要与题中子网聚合成一个更大的网络,则至少还需要00/26、010/27、11/26,共5个子网,与题意不符。注意,上述对子网号的分析都是用的二进制表示。

p158

65.【2021 统考真题】现将一个 网络划分为3个子网,若其中一个子网是 192.168.9.128126则下列网络中不可能是另外两个子网之一的是()

A.192.168.9.0/25        B.192.168.9.0/26        C.192.168.9.192/26        D.192.168.9.192/27

划分子网的原则是要求划分出来的子网的IP地址空间互不重叠,且原来的IP地址空间不遗漏,求解本题最好的方法是代入选项,观察是否可将原地址空间分割为3个互不重叠的子网。根据题意,将IP网络划分为3个子网。其中一个是192.168.9.128/26。可简写成10/26(省略前面相同的24位前缀,其中10是128的二进制10000000的前两位,因为26-24=2)。同理,选项A可简写成0/25;选项B可简写成00/26;选项C可简写成11/26;选项D可以简写成110/27.采用二叉树形式画出这些子网的地址空间如下图所示。

p158

64.若将 101.200.16.0/20划分为5个子网,则可能的最小子网的可分配地址数是()

A.126        B.254        C.510        D.1022

网络前缀为 20 位,将 101.200.16.0/20 划分为5个子网,为了保证有子网的可分配IP地址数尽可能小,即要让其他子网的可分配IP地址数尽可能大,不能采用平均划分的方法,而要采用变长的子网划分方法,也就是最大子网用1位子网号,第二大子网用2位子网号,以此类推。

p158

66.【2021统考真题】若路由器向 MTU=800B的链路转发一个总长度为1580B的IP数据报,首部长度为 20B)时进行分片,且每个分片尽可能大,则第2个分片的总长度字段和 MF 标志位的值分别是()

A.796,0        B.796,1        C.800,0        D.800,1

链路层MTU=800B。IP分组首部长20B。片偏移以8个字节为偏移单位,因此除了最后个分片,其他每个分片的数据部分长度都是8B的整数倍。所以,最大分片的数据部分长度776B。在总长度为1580B的IP数据报中,数据部分占1560B,1560B/776B=2.01…,需要分成3片。所以第2个分片的总长度字段为796,MF为1(表示还有后续的分片)。

推荐看看这一篇,有助于厘清知识点:

http://t.csdnimg.cn/sdmPV

p195 

25.假设R1、R2、R3采用RIP协议交换路由信息,且均已收敛。若R3检测到网络201.1.2.0/25不可达,并向R2通告一次新的距离向量,则R2更新后,其到达该网络的距离是()

A.2        B.3        C.16        D.17

根据题目所给“R3检测到网络201.1.2.0/25不可达”可知,R3与该网络是直连的。又根据题目所给“R1、R2、R3采用RIP协议交换路由信息,且均已收敛”可知先前它们各自的路由表中关于该目的网络的路由条目分别是:

又因为,题目所给“R3检测到网络201.1.2.0/25不可达,并向R2通告一次新的距离向量”,可知,R3与该网络之间的链路出现了故障,当R3检测到该故障时,将自己到达该网络的路由条目距离修改为16,表示该网络不可达。

并且向R2发送关于这条路由条目的通告。

R2收到后,更新自己相应的路由条目,并将距离修改为16。

根据题目所给“则R2更新后”可知,R1给R2发送了关于该路由条目的RIP更新报文。

R2听信了谣言,误认为到达该目的网络可以通过R1的转发,距离为3。

至此本题的答案就是B

但是继续补充一下:

R2现在到达目的网络的路由条目为201.1.2.0/25,下一跳为R1,距离为3,他会继续将这一路由信息转发给R1,R1误认为可以通过R2到达目的网络,所以更新路由条目为:201.1.2.0/25,下一跳为R2,距离为3+1(4)

R2收到R1发来的路由条目,误认为能通过R1到达目的网络,所以更新路由条目为:

201.1.2.0/25,下一跳为R1,距离为4+1(5)

如此循环,大概就是这样的流程:

只有当R1和R2的路由表中,到达目的网络的路由条目中的距离都增加到16后,R1和R2才知道目的网络不可达,也就是才收敛,在这期间R1和R2之间出现了路由环路,时间长达数分钟。

总结:

这就是RIP中的“坏消息传得慢”的问题。“坏消息传播得慢”又称为路由环路或距离无穷计数问题,这是距离向量算法的一个固有问题。
可以采取多种措施减少出现该问题的概率或减小该问题带来的危害:

限制最大路径距离为15(16表示不可达)

•当路由表发生变化时就立即发送更新报文(即“触发更新”),而不仅是周期性发送

•让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(即“水平分割”)

注:使用上述措施也不能彻底避免环路问题,路由环路是距离向量算法的本质所决定的。

p195

23.某分组交换网络的拓扑如下图所示,各路由器使用 OSPF 协议且均已收敛,各链路的度量已在图中标注。假设各段链路的带宽均为100Mb/s。分组长度为1000B,其中分组的首部长度为20B。若主机A向主机B发送一个大小为980000B的文件,忽略分组的传播时延和封装/解封时间,从A发送开始到B接收完毕为止,需要的时间是()

A.80.08ms        B.80.16ms        C.80.32ms        D.80.64ms

根据 OSPF 算法,从A到B转发经过的链路代价依次为2、3、1、1、2,一共经过4个路由器。分组长度为1000B,首部长度为20B,数据长度为980B,所以共有980000/980=1000个分组,每次存储转发时延为1000B / 100Mb/s=0.08ms,第一个分组从A到B的时间为0.08x5=0.4ms,剩下的 999 个分组每经过 0.08ms 就到达一个,所以总时间为0.4+0.08x999=80.32ms。

这里考察的是流水线的计算,在第一章也有类似的题型,例如,单选题18,19,20

p9 

18.在下图所示的采用存储转发方式的分组交换网中,主机A向B发送两个长为1000B的分组,路由器处理单个分组的时延为 10ms (假设路由器同时最多只能处理一个分组,若在处理某个分组时有新的分组到达,则存入缓存区),忽略链路的传播时延,所有链路的数据借输速率为 1Mb/s,则分组从A发送开始到B接收完为止,需要的时间至少是()

A.34ms        B.36ms        C.38ms        D.52ms

分组长度为1000B,所有链路的数据传输速率为1M/,因此,每段链路的发送时延为1000B / 1Mb/s = 8ms,第一个分组从A到达B的时间为8+10+8=26ms,此后又经过10ms,第二个分组才到达B,所以总时间为26+10=36ms,下图是传送过程的时空图。此题还可扩展为发送更多分组的情况。

p9

19.【2010统考真题】在下图所示的采用“存储-转发”方式的分组交换网络中,所有链路的数据传输速率为 100Mb/s,分组大小为 1000B,其中分组头大小为 20B,若主机 H1向主机 H2发送一个大小为 980000B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从 H1发送开始到 H2 接收完为止,需要的时间至少是()

A.80ms        B.80.08ms        C.80.16ms        D.80.24ms

分组交换的传输过程类似于流水线的方式,因此本题也可采用流水线的思路。在连续传输的过程中,每个存储转发设备在同一时刻发送不同的分组,这类似于不同的部件在同一时刻执行不同的指令。所有链路的数据传输速率相同,表示各流水段的时间相同,设为r,最短路径有3段链路,则传输m个分组需要的时间t=3r+(m-1)*r。也就是说,第一个分组从流水线中流出所需的时间为 3r,当第一个分组从流水线中流出后,每隔时间 r 就从流水线中流出一个分组。求得r=0.08ms,因此=3r+(m-1)*r=3x0.08+(1000-1)x0.08=80.16ms。

p9

20.【2013 统考真题】主机甲通过一个路由器(存储转发方式)与主机乙互连,两段链路的数据传输速率均为 10Mb/s,主机甲分别采用报文交换和分组大小为10kb的分组交换向主机乙发送一个大小为8Mb(1M=10^6)的报文,若忽略链路传播延迟、分组头开销和分组拆装时间,则两种交换方式完成该报文传输所需的总时间分别为()

A.800ms、1600ms
B.801ms、1600ms
C.1600ms、800ms
D.1600ms、801ms

传输图为:甲--路由器--乙
在题中没有明确说明的情况下,不考虑排队时延和处理时延,只考虑发送时延和传播时延,本题中忽略传播时延,因此只针对报文交换和分组交换计算发送时延。

计算报文交换的发送时延。报文交换直接传输信息,其发送时延是每个结点转发报文的时间。而对于每个结点,均有发送时延T = 8Mb / 10Mb/s=0.8s,因为数据从甲发出,又被路由器转发1次因此共有2个发送时延,所以总发送时延为1.6s,即报文交换的总时延为1.6s

计算分组交换的发送时延。简单画出前3个分组的发送时间示意图,如下所示。 

时刻0:甲开始发送分组1。时刻r:路由器开始发送分组1,甲开始发送分组2。时刻2r:
分组1到达,路由器开始发送分组2,甲开始发送分组3……

可以看出,分组1到达乙所需的时间为2r,当分组1到达后,每隔时间r就有一个分组到达。甲和乙通过一个路由器相连,也就是2个流水段,两段链路的数据传输速率相同,表示流水段的时间相同,即r=10kb / 10Mb/s=1ms,则传输m个分组所需的时间 t=2r+(m-1)*r,因为忽略分组头开销,分组数m=8Mb / 10kb=800,所以得出总发送时延 t=2+(800-1) *1=801ms。

p243

22.A和B之间建立了TCP连接,A向B发送了一个报文段,其中序号字段的seq=200,确认号字段 ack=201,数据部分有2个字节,则在B对该报文的确认报文段中()

A.seq=202,ack=200        B.seq=201,ack=201

C.seq=201,ack=202        D.seq=202,ack=201

在A发向B的报文中,seq表示发送的报文段中数据部分的第一个字节在A的发送缓存区中的编号,ack 表示A期望收到的下一个报文段的数据部分的第一个字节在B的发送缓存区中的编号。因此,同一个TCP报文中的 seq和 ack 的值是没有联系的。在B发给A的报文(捎带确认中,seq值应和A发向B的报文中的ack值相同,即201,表示期待接收到B的201序号开头的报文段;

ack值表示B期望下次收到A发出的报文段的第一个字节的编号,由于数据部分有2个字节(200,201),所以B的ack应为202,表示202之前的字节已经正确接收,期望收到202开头的报文段。

答案:C

p245

43.【2011 统考真题】主机甲向主机乙发送一个(SYN=1,seq=11220)的TCP段,期望与主机乙建立 TCP 连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确的 TCP段可能是
A.(SYN=0,ACK=0,seq=11221,ack=11221)
B.(SYN=1,ACK=1,seq=11220,ack=11220)
C.(SYN=1,ACK=1,seq=11221,ack=11221)
D.(SYN=0,ACK=0,seq=11220,ack=11220)

在确认报文段中,同步位 SYN 和确认位 ACK必须都是1;返回的确认号ack是甲发送的初始序号seq=11220加1,即ack=11221;同时乙也要选择并消耗一个初始序号seq,seq 值由乙的TCP进程任意给出,它与确认号、请求报文段的序号没有任何关系。

p243

24.假设 TCP 客户与 TCP 服务器的通信已结束,端到端的往返时间为 RTT。t时刻 TCP客户请求断开连接,则从t时刻起TCP服务器释放该连接的最短时间是()

A.0.5RTT        B.1RTT        C.1.5RTT        D.2RTT

t时刻 TCP 客户请求断开连接,发出连接释放 FIN 报文段;题目问的是最短时间,所以当TCP服务器收到 TCP 客户发来的 FIN 报文段后不再发送数据,因此同时发出确认 ACK 报文段和连接释放 FIN 报文段,即直接跳过 CLOSE-WAIT 状态;TCP 客户收到FIN 报文段后必须发出确认;TCP 服务器收到确认后就进入CLOSED状态,共经历1.5个RTT。

答案:C

补充对于TCP客户端而言,即直接跳过了FIN-WAIT2,所以客户机发出FIN报文段时刻算起,客户机释放连接的最短时间为1RTT+2MSL,服务器释放连接的最短时间为1.5RTT

p243

26.A发起与B的 TCP连接,A选择的初始序号为 1666,连接建立过程中未发送任何数据,TCP 连接建立后,A给B发送了1000B 数据,B正确接收后发送给A的确认序号是()

A.1667         B.2666        C.2667        D.2668

A的初始序号为1666,建立连接的第一个报文段不携带数据,但要消耗一个序号。A给B发送的第二个报文段的序号是1667,该报文段不携带数据,因此不消耗序号。下一个数据报文段的序号仍是1667,1000B的序号范围是1667~2666,所以B接收后发送给A的确认序号是 2667。

p244

29.在一个TCP连接中,MSS为1KB,当拥塞窗口为 34KB时发生了超时事件,若在接下来的4个RTT内报文段传输都是成功的,则当这些报文段均得到确认后,拥塞窗口的大小是()

A.8KB        B.9KB        C.16KB        D.17KB

若在拥塞窗口为 34KB 时发生了超时事件,则慢开始门限值就被设定为17KB,且cwnd重新设为1KB。按照慢开始算法,第一个RTT后cwnd=2KB,第二个RTT后cwd=4KB,第三个RTT后cwnd=8KB。当第四个RTT发出去的8个报文段的确认都收到后,cwnd=16KB(此时还未超过慢开始门限值)。注意,题中“这些报文段均得到确认后”这句话很重要。

p244

32.甲和乙刚建立 TCP 连接,并约定最大段长为 2KB,假设乙总是及时清空缓存,保证接收窗口始终为20KB,ssthresh为16KB,若双向传输时间为10ms,发送时延忽略不计,且没有发生拥塞的情况,则经过()甲的发送窗口第一次达到 20KB。

A. 40ms        B.50ms        C.60ms        D.70ms

当拥塞窗口小于 ssthresh 时,拥塞窗口以指数方式增长,拥塞窗口从2KB到16KB 需经过3个RTT(第一个RTT后cwnd=4KB,第二个RTT后cwnd=8KB,第三个RTT后cwnd=16KB),超过16KB后,每经过一个RTT,拥塞窗口加1,所以从16KB到20KB经过了4个RTT,共经过了7个RTT,RTT=10ms,所以经过70ms后甲的发送窗口第一次为20KB。

p244

36.A和B建立TCP 连接,MSS为1KB。某时,慢开始门限值为2KB,A的拥塞窗口为4KB,在接下来的一个RTT内,A向B发送了4KB的数据(TCP的数据部分),并且得到了B的确认,确认报文中的窗口字段的值为2KB。在下一个RTT中,A最多能向B发送 ()数据。

A.2KB        B.8KB        C. 5KB        D.4KB

本题中出现了拥塞窗口和接收端窗口,为了保证B的接收缓存不发生溢出,发送窗口应该取两者的最小值。先看拥塞窗口,由于慢开始门限值为2KB,第一个RTT中A拥塞窗口为4KB,按照拥塞避免算法,收到B的确认报文后,拥塞窗口增长为5KB。再看接收端窗口,B通过确认报文中窗口字段向A通知接收端窗口,则接收端窗口为 2KB。因此在下一次发送数据时,A的发送窗口应该为 2KB,即一个 RTT内最多发送2KB。所以选项A正确。

p244

30.若甲向乙发起了一条 TCP 连接,最大段长为 1KB,乙每收到一个数据段都会发出一个接收窗口为 10KB 的确认段,若甲在t时刻发生超时,此时拥塞窗口为 16KB。则从t时刻起,在不再发生超时的情况下,经过10个RTT后,甲的发送窗口是()

A.10KB        B.12KB        C.14KB        D.15KB

接收窗口等于 10KB。发生超时后,拥塞窗口重设为1,经过10个RTT后,拥塞口一定大于10KB。但甲的发送窗口取拥塞窗口和接收窗口中的较小值,即10KB。

p246

46.【2014 统考真题】主机甲和乙建立了 TCP 连接,甲始终以 MSS=1KB 大小的段发送数据,并一直有数据发送;乙每收到一个数据段都会发出一个接收窗口为10KB的确认段。若甲在t时刻发生超时的时候拥塞窗口为8KB,则从t时刻起,不再发生超时的情况下,经过 10个RTT后,甲的发送窗口是()

A.10KB        B.12KB        C.14KB        D.15KB

当t时刻发生超时时,把ssthresh 设为8的一半,即4,把拥塞窗口设为1KB。然后经历10个RTT后,拥塞窗口的大小依次为2,4,5,6,7,8,9,10,11,12,而发送窗口取当时的拥塞窗口和接收窗口的最小值,接收窗口始终为10KB,所以此时的发送窗口为10KB。实际上,接收窗口一直为10KB,发送窗口必然小于或等于10KB,只有选项A满足条件。

p245

38.甲向乙发起一个 TCP 连接,最大段长MSS=1KB,RTT=3ms,乙的接收缓存为 16KB,且乙的接收缓存仅有数据存入而无数据取出,则甲从连接建立成功至发送窗口达到8KB,需经过的最小时间以及此时乙的接收缓存的可用空间分别为()

A. 3ms,15KB        B.9ms,9KB        C.6ms,13KB        D.12ms,8KB

本题要求的是最小时间,且题目未给出拥塞窗口的门限值,所以拥塞窗口一直按指数增长是最快的。拥塞窗口从1KB增长到8KB需要3个RTT,即9ms,并在第1个RTT内发送1KB,在第二个 RTT内发送 2KB,在第三个RTT内发送4KB,累积发送1+2+4=7KB,这时乙的接收缓存还剩 16-7=9KB,此时的发送窗口=min{拥塞窗口,接收窗口}=8KB,所以选 B。

p246

47.【2015 统考真题】主机甲和主机乙新建一个 TCP 连接,甲的拥塞控制初始值为 32KB,甲向乙始终以 MSS=1KB大小的段发送数据,并一直有数据发送;乙为该连接分配 16KB接收缓存,并对每个数据段进行确认,忽略段传输延迟。若乙收到的数据全部存入缓存,不被取走则甲从连接建立成功时刻起,未出现发送超时的情况下,经过4个RTT后,甲的发送窗口是()

A.1KB        B.8KB        C.16KB        D.32KB

发送窗口=min{接收窗口,拥塞窗口}。因为乙的接收缓存仅有数据存入而不取走,所以每个RTT后的接收窗口等于接收缓存 - 累积收到的数据。在前4个RTT中,因为拥塞窗口一直小于接收窗口,所以发送窗口就等于拥塞窗口的大小,4个RTT后,乙收到的数据全部存入缓存不被取走,接收窗口还剩1KB(16-1-2-4-8=1)缓存,使得甲的发送窗口为1KB。

p246

48.【2017统考真题】若甲向乙发起一个 TCP 连接,最大段长 MSS=1KB、RTT=5ms,乙开辟的接收缓有为 64KB,则甲从连接建立成功至发送窗口达到 32KB,需经过的时间至少()

A.25ms        B.30ms        C.160ms        D.165ms

发送窗口=min{接收窗口,拥塞窗口},题中接收窗口(接收缓存)为64KB,注意本题没有说明“接收缓存仅有数据存入而不取走”,因此不用考虑之前发送的数据占用缓存。按照慢开始算法,初始拥塞窗口为最大报文段长度1KB,每经过一个RTT,拥塞窗口加倍,因此若没有发生超时事件,则至少经过5个RTT,拥塞窗口才能达到32KB。

p245

42.【2010统考真题】主机甲和主机乙之间已建立一个 TCP 连接,TCP 最大段长为 1000B,若主机甲的当前拥塞窗口为 4000B,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的第一个段的确认段,确认段中通告的接收窗口大小为2000B、则此时主机甲还可以向主机乙发送的最大字节数是()

A.1000        B.2000        C.3000        D.4000      

发送方的发送窗口的上限值取接收窗口和拥塞窗口这两个值中的较小一个,于是此时发送方的发送窗口为 min{4000,2000}=2000B。因为确认段是对第一个段的确认,所以 2000B 的含义是甲发送第一个段后还能再发送 2000B,又因为之前甲连续发送了两个最大段,也就是说,第二个段还未收到确认,所以甲还能继续向乙发送的最大字节数是2000-1000=1000B。

p247 

55.【2021 统考真题】设主机甲通过 TCP 向主机乙发送数据,部分过程如下图所示。甲在t0时刻发送一个序号seq=501、封装200B数据的段,在t1时刻收到乙发送的序号seq=601,确认序号 ack _seq=501、接收窗口rcvwnd=500B 的段,则甲在未收到新的确认段之前,可以继续向乙发送的数据序号范围是()

A.501~1000        B.601~1100        C.701~1000        D.801~1100

主机甲发送 200B 数据的段后,继续发送数据的段的序号 seq=701。因为甲收到乙发来的确认序号为 501、接收窗口为 500 的段,即从序号 501开始,甲累积还能发送 500B 的数据。因为甲此时己发送从序号 501开始的 200B 数据,所以甲在未收到新的确认段之前,还能发送的数据字节数为500-200=300B,还能发送的数据序号范围是 701~1000。

p269

1.域名与()具有一一对应的关系。

A.IP地址        B.MAC地址         C.主机        D.以上都不是

若一台主机通过两块网卡连接到两个网络(如服务器双线接入),则就具有两个地址,每个网卡对应一个 MAC 地址,显然这两个IP地址可以映射到同一个域名上。此外,多台主机也可以映射到同一个域名上(如负载均衡),一台主机也可以映射到多个域名上(如虚拟主机)。因此,A、B 和C和域名均不具有一一对应的关系。

p270

11.【2010 统考真题】若本地域名服务器无缓存,则在采用递归方法解析另一网络某主机域名时,用户主机和本地域名服务器发送的域名请求条数分别为()

A.1条,1条        B.1条,多条        C.多条,1条        D.多条,多条

用户主机向本地域名服务器采用递归查询,所以只会向本地域名服务器发送1条DNS请求。本地域名服务器向其他域名服务器采用迭代查询,所以本地域名服务器会分别向根域名服务器、顶级域名服务器、权限域名服务器发送 DNS 请求,所以会发出多条 DNS 请求。

答案:B

p270

12.【2016统考真题】假设所有域名服务器均采用迭代查询方式进行域名解析。当主机访问规范域名为 www.abc.xyz.com 的网站时,喊名服务器在完成该域名解析的过程中,可能发出 DNS 查询的最少和最多次数分别是()

A.0,3        B.1,3        C.0,4        D.1,4

最少情况:当本地域名服务器中有该域名的DNS信息时,不需要查询任何其他域名服务器,最少发出0次DNS查询。最多情况:因为均采用迭代查询方式,在最坏情况下,本地域名服务器需要依次迭代地向根域名服务器、顶级域名服务器(.com)、权限域名服务器(xyzcom)、权限域名服务器(abc.xyz.com)发出DNS 查询请求,因此最多发出4次 DNS查询。

答案:C

p270

14.【2020 统考真题】假设下图所示网络中的本地域名服务器只提供递归查询服务,其他域名服务器均只提供迭代查询服务;局域网内主机访问Internet 上各服务器的往返时间(RTT)均为 10ms,忽略其他各种时延。若主机H通过超链接http://www.abc.com/index.html请求浏览纯文本Web页 index.html,则从单击超链接开始到浏览器接收到index.html页面为止,所需的最短时间与最长时画分别是()

A.10ms,40ms

B.10ms,50ms

C.20ms,40ms

D.20ms,50ms

题中 RTT 均为局域网内主机(主机H、本地域名服务器)访问Internet 上各服务器的往返间,且忽略其他时延,因此H向本地域名服务器的查询时延忽略不计。

最短时间:H有该域名到IP地址映射的记录,因此没有 DNS 查询时延,直接和www.abc.com 服务器建立TCP连接再进行资源访问,TCP连接建立的三次握手需要1.5个RTT,并在第3次握手报文中捎带了对资源求,然后服务器返回所请求的资源需要0.5个RTT,共2个RTT,即20ms。

最长时间:H送B查询本地域名服务器(延时忽略),本地域名服务器依次迭代查询根域名服务器、com顶级域名服务器、abc.com域名服务器,共3个RTT,查询到IP地址后,返回给主机,H和www.abc.com服务器建立TCP连接再进行资源访问,共2个RTT,合计3+2=5个RTT,即50ms。

p291

17.【2022 统考真题】假设主机 H 通过 HTTP/1.1 请求浏览某 Web 服务器 S上的 Web 页news408.html,news408.html引用了同目录下的1幅图像,news408.html文件大小为 1MSS(最大段长),图像文件大小为3MSS,H访问S的往返时间 RTT=10 ms,忽略 HTTP响应报文的首部开销和 TCP 段传输时延。若H已完成域名解析,则从H请求与S建立TCP连接时刻起,到接收到全部内容止,所需的时间至少是()

A.30ms        B. 40ms        C.50ms        D.60ms

HTTP/1.1 默认使用持续连接,所有请求都是连续发送的。要求最少时间,理想的情况是TCP在第3次握手的报文段中捎带了 HTTP 请求,以及传输过程中的慢开始阶段不考虑拥塞。假设接收方有足够大的缓存空间,即发送窗口等同于拥塞窗口,共需要经过:第1个RTT,进行TCP连接建立的前两次握手;第2个RTT,主机C发送第3次握手报文并捎带了对html文件的HTTP请求,TCP连接刚建立时服务器S的发送窗口=1MSS,服务器S发送大小为1MSS 的 html文件;第3个RTT,主机C发送对 html 文件的确认并捎带了对图形文件的 HTTP请求,服务器S收到确认后发送窗口变为 2MSS,然后服务器S发送大小为2MSS的图像文件;第4个RTT,主机C向服务器S发送对收到的部分图像文件的确认,服务器S收到确认后发送窗口变为4MSS,然后服务器S发送剩下的 1MSS 图像文件,完成传输,共需要4个RTT,即 40ms。整个传输过程如下图所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/484543.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

day06vue2学习

day06 路由的封装抽离 问题:所有的路由配置都堆在main.js中不太合适么?不好,会加大代码的复杂度 目标:将路由模块抽离出来。好处:差分模块,利于维护。 大致的做法就是,将路由相关的东西都提…

codeTop102:二叉树的层序遍历

前言 在已知BFS的方式后,知道每次从队列中取一个节点,就要将这个节点的所有子节点按照顺序放入队列。 难点在于怎么确定将同一层的节点放在一个数组里面的输出,也就是输出一个二维数组? 解决方法: 每次while循环将队列上轮放入的…

蓝桥集训之矩形牛棚

蓝桥集训之矩形牛棚 核心思想&#xff1a;单调队列 模板&#xff1a;Acwing.131.直方图矩形面积首先遍历所有下界 然后确定以该下界为底的直方图 求最大矩形 #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N 30…

Java学习day2

命名规则 在JAVA中&#xff0c;公共类的明朝必须与包含该类的源文件的文件名向匹配&#xff0c;即 这两个名称要一致 变量类型 与c/c基本一致 需要注意的是&#xff0c;long类型的数据在后面需要加上l或L&#xff08;建议加L&#xff0c;l可能会被误判&#xff09;&#xff…

【Redis】优惠券秒杀

全局唯一ID 全局唯一ID生成策略&#xff1a; UUIDRedis自增snowflake算法数据库自增 Redis自增ID策略&#xff1a;每天一个key&#xff0c;方便统计订单量ID构造是 时间戳 计数器 Component public class RedisIdWorker {// 2024的第一时刻private static final long BEGIN…

【C语言】编译和链接----预处理详解【图文详解】

欢迎来CILMY23的博客喔&#xff0c;本篇为【C语言】文件操作揭秘&#xff1a;C语言中文件的顺序读写、随机读写、判断文件结束和文件缓冲区详细解析【图文详解】&#xff0c;感谢观看&#xff0c;支持的可以给个一键三连&#xff0c;点赞关注收藏。 前言 欢迎来到本篇博客&…

易语言学习第一天(安装破解和配置)

一、引言 易语言是一个自主开发&#xff0c;适合国情&#xff0c;不同层次不同专业的人员易学易用的汉语编程语言。易语言降低了广大电脑用户编程的门槛&#xff0c;尤其是根本不懂英文或者英文了解很少的用户&#xff0c;可以通过使用本语言极其快速地进入Windows程序编写的大…

全新的分布式锁,功能简单且强大

分布式锁是分布式系统中一个极为重要的工具。 目前有多种分布式锁的设计方案&#xff0c;比如借助 redis&#xff0c;mq&#xff0c;数据库&#xff0c;zookeeper 等第三方服务系统来设计分布式锁。 tldb 提供的分布式锁&#xff0c;主要是要简化这个设计的过程&#xff0c;提…

安全之剑:深度解析 Apache Shiro 框架原理与使用指南

在现代软件开发中&#xff0c;安全性一直是至关重要的一个方面。随着网络攻击和数据泄露的不断增加&#xff0c;我们迫切需要一种强大而灵活的安全框架来保护我们的应用。Shiro框架就是这样一把利剑&#xff0c;它能够轻松地集成到你的项目中&#xff0c;为你的应用提供可靠的安…

用户增长的底层逻辑:从原理到实践

在互联网行业的洪流中&#xff0c;用户增长被视为企业生命力与竞争力的重要标志。理解并掌握用户增长的底层逻辑&#xff0c;是每一位产品经理、市场营销人员以及创业者不可或缺的基本功。 用户增长的底层逻辑&#xff1a;从原理到实践© 由 ZAKER科技 提供 一、用户增长的…

02.percona Toolkit工具pt-archiver命令实践

1.命令作用 Percona Toolkit有的32个命令&#xff0c;可以分为7大类 工具类别 工具命令 工具作用 备注 开发类 pt-duplicate-key-checker 列出并删除重复的索引和外键 pt-online-schema-change 在线修改表结构 pt-query-advisor 分析查询语句&#xff0c;并给出建议&#x…

深度学习知识点:神经网络

深度学习知识点&#xff1a;神经网络 前言神经网络激活函数的优缺点为什么ReLU常用于神经网络的激活函数&#xff1f;梯度消失和梯度爆炸的解决方案&#xff1f;梯度爆炸引发的问题&#xff1f;如何确定是否出现梯度爆炸&#xff1f;神经网络中有哪些正则化技术&#xff1f;批量…

知识图表示学习中的负抽样研究综述

摘要 知识图表示学习(KGRL)或知识图嵌入(KGE)在知识构建和信息探索的人工智能应用中起着至关重要的作用。这些模型旨在将知识图中的实体和关系编码到低维向量空间中。在KGE模型的训练过程中&#xff0c;使用正样本和负样本是区分的必要条件。然而&#xff0c;直接从现有的知识…

Qt 写一个邮件发送程序

最近在完成一个邮箱代替的告警功能&#xff0c;写了一个邮件发送的demo 以下为代码&#xff1a; #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include<QTcpSocket> namespace Ui { class MainWindow; }class MainWindow : public QMainWin…

C语言字节对齐关键字#pragma pack(n)的使用

0 前言 在进行嵌入式开发的过程中&#xff0c;我们经常会见到对齐操作。这些对齐操作有些是为了便于实现指针操作&#xff0c;有些是为了加速对内存的访问。因此&#xff0c;学习如何使用对齐关键字是对于嵌入式开发是很有必要的。 1 对齐规则 1.0 什么叫做对齐 众所周知&a…

深度学习pytorch——多层感知机反向传播(持续更新)

在讲解多层感知机反向传播之前&#xff0c;先来回顾一下多输出感知机的问题&#xff0c;下图是一个多输出感知机模型&#xff1a; 课时44 反向传播算法-1_哔哩哔哩_bilibili 根据上一次的分析深度学习pytorch——感知机&#xff08;Perceptron&#xff09;&#xff08;持续更新…

Django Ajax

【一】Json 【1】介绍 JSON&#xff08;javascript object otaition&#xff09;是一种轻量级的数据交换格式JSON使用了Javascript的一部分语法来定义其数据格式&#xff0c;但Json是独立于语言的Json采用完全独立于语言的文本格式&#xff0c;使得Json成为理想的数据交互语言…

从这15个简洁B端系统控制台页面,你悟到了什么?

从这15个简洁英文 B 端系统控制台页面中&#xff0c;我可以得出以下一些结论&#xff1a; 系统注重简洁性&#xff1a;这些页面采用了简洁的设计风格&#xff0c;避免了过多的装饰和冗余的信息&#xff0c;使用户界面更加清晰和易于使用。用户导航清晰&#xff1a;这些页面通常…

get_ipython()函数使用

今天发现一个很有意思的函数&#xff0c; 在jupyter notebook中&#xff0c;我也可以用命令实现这些值 get_ipython().system(nvidia-smi)结果如下 get_ipython().system(pwd)

学习大数据之JDBC(使用JAVA语句进行SQL操作)

文章目录 DCL语句创建用户授权用户撤销授权查看权限删除用户修改用户密码修改普通用户密码 JDBCjdbc介绍JDBC准备JDBC开发步骤以及详解JDBC注册驱动JDBC获取连接JDBC实现增删改操作JDBC 工具类的使用 DCL语句 我们现在默认使用的都是root用户&#xff0c;超级管理源&#xff0…