第一组答案 第二组答案
LAN1 30.138.119.192/29 30.138.118.192/27
LAN2 30.138.119.0/25 30.138.118.0/25
LAN3 30.138.118.0/24 30.138.119.0/24
LAN4 30.138.119.200/29 30.138.118.224/27
LAN5 30.138.119.128/26 30.138.118.128/27
30. 一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是192.77.33/24.公司的网络布局如图4-56示。总部共有五个局域网,其中的LAN1-LAN4都连接到路由器R1上,R1再通过LAN5与路由器R5相连。R5和远地的三个部门的局域网LAN6~LAN8通过广域网相连。每一个局域网旁边标明的数字是局域网上的主机数。试给每一个局域网分配一个合适的网络的前缀。
见课后答案P380
31.以下地址中的哪一个和86.32/12匹配:请说明理由。
(1)86.33.224.123:(2)86.79.65.216;(3)86.58.119.74; (4)86.68.206.154。
86.32/12 è 86.00100000 下划线上为12位前缀说明第二字节的前4位在前缀中。
给出的四个地址的第二字节的前4位分别为:0010 ,0100 ,0011和0100。因此只有(1)是匹配的。
32.以下地址中的哪一个地址2.52.90。140匹配?请说明理由。
(1)0/4;(2)32/4;(3)4/6(4)152.0/11
前缀(1)和地址2.52.90.140匹配
2.52.90.140 è 0000 0010.52.90.140
0/4 è 0000 0000
32/4 è 0010 0000
4/6 è 0000 0100
80/4 è 0101 0000
33.下面的前缀中的哪一个和地址152.7.77.159及152.31.47.252都匹配?请说明理由。
(1)152.40/13;(2)153.40/9;(3)152.64/12;(4)152.0/11。
前缀(4)和这两个地址都匹配
34. 与下列掩码相对应的网络前缀各有多少位?
(1)192.0.0.0;(2)240.0.0.0;(3)255.254.0.0;(4)255.255.255.252。
(1)/2 ; (2) /4 ; (3) /11 ; (4) /30 。
35. 已知地址块中的一个地址是140.120.84.24/20。试求这个地址块中的最小地址和最大地址。地址掩码是什么?地址块中共有多少个地址?相当于多少个C类地址?
140.120.84.24 è 140.120.(0101 0100).24
最小地址是 140.120.(0101 0000).0/20 (80)
最大地址是 140.120.(0101 1111).255/20 (95)
地址数是4096.相当于16个C类地址。
36.已知地址块中的一个地址是190.87.140.202/29。重新计算上题。
190.87.140.202/29 è 190.87.140.(1100 1010)/29
最小地址是 190.87.140.(1100 1000)/29 200
最大地址是 190.87.140.(1100 1111)/29 207
地址数是8.相当于1/32个C类地址。
37. 某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:
(1)每一个子网的网络前缀有多长?
(2)每一个子网中有多少个地址?
(3)每一个子网的地址是什么?
(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?
(1)每个子网前缀28位。
(2)每个子网的地址中有4位留给主机用,因此共有16个地址。
(3)四个子网的地址块是:
第一个地址块136.23.12.64/28,可分配给主机使用的
最小地址:136.23.12.01000001=136.23.12.65/28
最大地址:136.23.12.01001110=136.23.12.78/28
第二个地址块136.23.12.80/28,可分配给主机使用的
最小地址:136.23.12.01010001=136.23.12.81/28
最大地址:136.23.12.01011110=136.23.12.94/28
第三个地址块136.23.12.96/28,可分配给主机使用的
最小地址:136.23.12.01100001=136.23.12.97/28
最大地址:136.23.12.01101110=136.23.12.110/28
第四个地址块136.23.12.112/28,可分配给主机使用的
最小地址:136.23.12.01110001=136.23.12.113/28
最大地址:136.23.12.01111110=136.23.12.126/28
38. IGP和EGP这两类协议的主要区别是什么?
IGP:在自治系统内部使用的路由协议;力求最佳路由
EGP:在不同自治系统便捷使用的路由协议;力求较好路由(不兜圈子)
EGP必须考虑其他方面的政策,需要多条路由。代价费用方面可能可达性更重要。
IGP:内部网关协议,只关心本自治系统内如何传送数据报,与互联网中其他自治系统使用什么协议无关。
EGP:外部网关协议,在不同的AS边界传递路由信息的协议,不关心AS内部使用何种协议。
注:IGP主要考虑AS内部如何高效地工作,绝大多数情况找到最佳路由,对费用和代价的有多种解释。
39. 试简述RIP,OSPF和BGP路由选择协议的主要特点。
主要特点RIPOSPFBGP
网关协议内部内部外部
路由表内容目的网,下一站,距离目的网,下一站,距离目的网,完整路径
最优通路依据跳数费用多种策略
算法距离矢量链路状态距离矢量
传送方式运输层UDPIP数据报建立TCP连接
其他简单、效率低、跳数为16不可达、好消息传的快,坏消息传的慢效率高、路由器频繁交换信息,难维持一致性
规模大、统一度量为可达性
40. RIP使用UDP,OSPF使用IP,而BGP使用TCP。这样做有何优点?为什么RIP周期性地和临站交换路由器由信息而BGP却不这样做?
RIP只和邻站交换信息,使用UDP无可靠保障,但开销小,可以满足RIP要求;
OSPF使用可靠的洪泛法,直接使用IP,灵活、开销小;
BGP需要交换整个路由表和更新信息,TCP提供可靠交付以减少带宽消耗;
RIP使用不保证可靠交付的UDP,因此必须不断地(周期性地)和邻站交换信息才能使路由信息及时得到更新。但BGP使用保证可靠交付的TCP因此不需要这样做。
41. 假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”)
N1 7 A
N2 2 B
N6 8 F
N8 4 E
N9 4 F
现在B收到从C发来的路由信息(这两列分别表示“目的网络”“距离”):
N2 4
N3 8
N6 4
N8 3
N9 5
试求出路由器B更新后的路由表(详细说明每一个步骤)。
路由器B更新后的路由表如下:
N1 7 A 无新信息,不改变
N2 5 C 相同的下一跳,更新
N3 9 C 新的项目,添加进来
N6 5 C 不同的下一跳,距离更短,更新
N8 4 E 不同的下一跳,距离一样,不改变
N9 4 F 不同的下一跳,距离更大,不改变
42. 假定网络中的路由器A的路由表有如下的项目(格式同上题):
N1 4 B
N2 2 C
N3 1 F
N4 5 G
现将A收到从C发来的路由信息(格式同上题):
N1 2
N2 1
N3 3
N4 7
试求出路由器A更新后的路由表(详细说明每一个步骤)。
路由器A更新后的路由表如下:
N1 3 C 不同的下一跳,距离更短,改变
N2 2 C 不同的下一跳,距离一样,不变
N3 1 F 不同的下一跳,距离更大,不改变
N4 5 G 无新信息,不改变
43.IGMP协议的要点是什么?隧道技术是怎样使用的?
IGMP可分为两个阶段:
第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员。本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器。
第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。
隧道技术:多播数据报被封装到一个单播IP数据报中,可穿越不支持多播的网络,到达另一个支持多播的网络。
44. 什么是VPN?VPN有什么特点和优缺点?VPN有几种类别?
P171-173
45. 什么是NAT?NAPT有哪些特点?NAT的优点和缺点有哪些?NAT的优点和缺点有哪些?
P173-174
第五章 传输层
5—01 试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?
答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务
运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。
各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
5—02 网络层提供数据报或虚电路服务对上面的运输层有何影响?
答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。
但提供不同的服务质量。
5—03 当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向无连接的?
答:都是。这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。
5—04 试用画图解释运输层的复用。画图说明许多个运输用户复用到一条运输连接上,而这条运输连接有复用到IP数据报上。
5—05 试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。
答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。
有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。
因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
5—06 接收方收到有差错的UDP用户数据报时应如何处理?
答:丢弃
5—07 如果应用程序愿意使用UDP来完成可靠的传输,这可能吗?请说明理由
答:可能,但应用程序中必须额外提供与TCP相同的功能。
5—08 为什么说UDP是面向报文的,而TCP是面向字节流的?
答:发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,课分拆/合并),但维持各字节
5—09 端口的作用是什么?为什么端口要划分为三种?
答:端口的作用是对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信。
熟知端口,数值一般为0~1023.标记常规的服务进程;
登记端口号,数值为1024~49151,标记没有熟知端口号的非常规的服务进程;
5—10 试说明运输层中伪首部的作用。
答:用于计算运输层数据报校验和。
5—11 某个应用进程使用运输层的用户数据报UDP,然而继续向下交给IP层后,又封装成IP数据报。既然都是数据报,可否跳过UDP而直接交给IP层?哪些功能UDP提供了但IP没提提供?
答:不可跳过UDP而直接交给IP层
IP数据报IP报承担主机寻址,提供报头检错;只能找到目的主机而无法找到目的进程。
UDP提供对应用进程的复用和分用功能,以及提供对数据差分的差错检验。
5—12 一个应用程序用UDP,到IP层把数据报在划分为4个数据报片发送出去,结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传UDP,而IP层仍然划分为4个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:在目的站能否将这两次传输的4个数据报片组装成完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。
答:不行
重传时,IP数据报的标识字段会有另一个标识符。
仅当标识符相同的IP数据报片才能组装成一个IP数据报。
前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此不能组装成一个IP数据报。
5—13 一个UDP用户数据的数据字段为8192季节。在数据链路层要使用以太网来传送。试问应当划分为几个IP数据报片?说明每一个IP数据报字段长度和片偏移字段的值。
答:6个
数据字段的长度:前5个是1480字节,最后一个是800字节。
片偏移字段的值分别是:0,1480,2960,4440,5920和7400.
5—14 一UDP用户数据报的首部十六进制表示是:06 32 00 45 00 1C E2 17.试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器发送给客户?使用UDP的这个服务器程序是什么?
解:源端口1586,目的端口69,UDP用户数据报总长度28字节,数据部分长度20字节。
此UDP用户数据报是从客户发给服务器(因为目的端口号<1023,是熟知端口)、服务器程序是TFFTP。
5—15 使用TCP对实时话音数据的传输有没有什么问题?使用UDP在传送数据文件时会有什么问题?
答:如果语音数据不是实时播放(边接受边播放)就可以使用TCP,因为TCP传输可靠。接收端用TCP讲话音数据接受完毕后,可以在以后的任何时间进行播放。但假定是实时传输,则必须使用UDP。
UDP不保证可靠交付,但UCP比TCP的开销要小很多。因此只要应用程序接受这样的服务质量就可以使用UDP。
5—16 在停止等待协议中如果不使用编号是否可行?为什么?
答:分组和确认分组都必须进行编号,才能明确哪个分则得到了确认。
5—17 在停止等待协议中,如果收到重复的报文段时不予理睬(即悄悄地丢弃它而其他什么也没做)是否可行?试举出具体的例子说明理由。
答:
收到重复帧不确认相当于确认丢失
5—18 假定在运输层使用停止等待协议。发送发在发送报文段M0后再设定的时间内未收到确认,于是重传M0,但M0又迟迟不能到达接收方。不久,发送方收到了迟到的对M0的确认,于是发送下一个报文段M1,不久就收到了对M1的确认。接着发送方发送新的报文段M0,但这个新的M0在传送过程中丢失了。正巧,一开始就滞留在网络中的M0现在到达接收方。接收方无法分辨M0是旧的。于是收下M0,并发送确认。显然,接收方后来收到的M0是重复的,协议失败了。
试画出类似于图5-9所示的双方交换报文段的过程。
答:
旧的M0被当成新的M0。
5—19 试证明:当用n比特进行分组的编号时,若接收到窗口等于1(即只能按序接收分组),当仅在发送窗口不超过2n-1时,连接ARQ协议才能正确运行。窗口单位是分组。
解:见课后答案。
5—20 在连续ARQ协议中,若发送窗口等于7,则发送端在开始时可连续发送7个分组。因此,在每一分组发送后,都要置一个超时计时器。现在计算机里只有一个硬时钟。设这7个分组发出的时间分别为t0,t1…t6,且tout都一样大。试问如何实现这7个超时计时器(这叫软件时钟法)?
解:见课后答案。
5—21 假定使用连续ARQ协议中,发送窗口大小事3,而序列范围[0,15],而传输媒体保证在接收方能够按序收到分组。在某时刻,接收方,下一个期望收到序号是5.
试问:
(1) 在发送方的发送窗口中可能有出现的序号组合有哪几种?
(2) 接收方已经发送出去的、但在网络中(即还未到达发送方)的确认分组可能有哪些?说明这些确认分组是用来确认哪些序号的分组。
5—22 主机A向主机B发送一个很长的文件,其长度为L字节。假定TCP使用的MSS有1460字节。
(1) 在TCP的序号不重复使用的条件下,L的最大值是多少?
(2) 假定使用上面计算出文件长度,而运输层、网络层和数据链路层所使用的首部开销共66字节,链路的数据率为10Mb/s,试求这个文件所需的最短发送时间。
解:(1)L_max的最大值是2^32=4GB,G=2^30.
(2) 满载分片数Q={L_max/MSS}取整=2941758发送的总报文数
N=Q*(MSS+66)+{(L_max-Q*MSS)+66}=4489122708+682=4489123390
总字节数是N=4489123390字节,发送4489123390字节需时间为:N*8/(10*10^6)=3591.3秒,即59.85分,约1小时。
5—23 主机A向主机B连续发送了两个TCP报文段,其序号分别为70和100。试问:
(1) 第一个报文段携带了多少个字节的数据?
(2) 主机B收到第一个报文段后发回的确认中的确认号应当是多少?
(3) 如果主机B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少字节?
(4) 如果A发送的第一个报文段丢失了,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认。试问这个确认号应为多少?
解:(1)第一个报文段的数据序号是70到99,共30字节的数据。
(2)确认号应为100.
(3)80字节。
(4)70
5—24 一个TCP连接下面使用256kb/s的链路,其端到端时延为128ms。经测试,发现吞吐量只有120kb/s。试问发送窗口W是多少?(提示:可以有两种答案,取决于接收等发出确认的时机)。
解:
来回路程的时延等于256ms(=128ms×2).设窗口值为X(注意:以字节为单位),假
定一次最大发送量等于窗口值,且发射时间等于256ms,那么,每发送一次都得停下来期待
再次得到下一窗口的确认,以得到新的发送许可.这样,发射时间等于停止等待应答的时间,
结果,测到的平均吞吐率就等于发送速率的一半,即
8X÷(256×1000)=256×0.001
X=8192
所以,窗口值为8192.
5—25 为什么在TCP首部中要把TCP端口号放入最开始的4个字节?
答:在ICMP的差错报文中要包含IP首部后面的8个字节的内容,而这里面有TCP首部中的源端口和目的端口。当TCP收到ICMP差错报文时需要用这两个端口来确定是哪条连接出了差错。
5—26 为什么在TCP首部中有一个首部长度字段,而UDP的首部中就没有这个这个字段?
答:TCP首部除固定长度部分外,还有选项,因此TCP首部长度是可变的。UDP首部长度是固定的。
5—27 一个TCP报文段的数据部分最多为多少个字节?为什么?如果用户要传送的数据的字节长度超过TCP报文字段中的序号字段可能编出的最大序号,问还能否用TCP来传送?
答:65495字节,此数据部分加上TCP首部的20字节,再加上IP首部的20字节,正好是IP数据报的最大长度65535.(当然,若IP首部包含了选择,则IP首部长度超过 20字节,这时TCP报文段的数据部分的长度将小于65495字节。)
数据的字节长度超过TCP报文段中的序号字段可能编出的最大序号,通过循环使用序号,仍能用TCP来传送。
5—28 主机A向主机B发送TCP报文段,首部中的源端口是m而目的端口是n。当B向A发送回信时,其TCP报文段的首部中源端口和目的端口分别是什么?
答:分别是n和m。
5—29 在使用TCP传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据的重传。试说明理由。
答:还未重传就收到了对更高序号的确认。
5—30 设TCP使用的最大窗口为65535字节,而传输信道不产生差错,带宽也不受限制。若报文段的平均往返时延为20ms,问所能得到的最大吞吐量是多少?
答:在发送时延可忽略的情况下,最大数据率=最大窗口*8/平均往返时间=26.2Mb/s。
5—31 通信信道带宽为1Gb/s,端到端时延为10ms。TCP的发送窗口为65535字节。试问:可能达到的最大吞吐量是多少?信道的利用率是多少?
答:
L=65536×8+40×8=524600
C=109b/s
L/C=0.0005246s
Td=10×10-3s
0.02104864
Throughput=L/(L/C+2×Td)=524600/0.0205246=25.5Mb/s
Efficiency=(L/C)//(L/C+2×D)=0.0255
最大吞吐量为25.5Mb/s。信道利用率为25.5/1000=2.55%
5—32 什么是Karn算法?在TCP的重传机制中,若不采用Karn算法,而是在收到确认时都认为是对重传报文段的确认,那么由此得出的往返时延样本和重传时间都会偏小。试问:重传时间最后会减小到什么程度?
答:Karn算法:在计算平均往返时延RTT时,只要报文段重传了,就不采用其往返时延样本。
设新往返时延样本Ti
RTT(1)=a*RTT(i-1)+(1-a)*T(i);
RTT^(i)=a* RTT(i-1)+(1-a)*T(i)/2;
RTT(1)=a*0+(1-a)*T(1)= (1-a)*T(1);
RTT^(1)=a*0+(1-a)*T(1)/2= RTT(1)/2
RTT(2)= a*RTT(1)+(1-a)*T(2);
RTT^(2)= a*RTT(1)+(1-a)*T(2)/2;
= a*RTT(1)/2+(1-a)*T(2)/2= RTT(2)/2
RTO=beta*RTT,在统计意义上,重传时间最后会减小到使用karn算法的1/2.
2021-07-09 14:57
2021-07-08 14:39
2021-07-08 14:39
2021-07-08 14:27
2021-07-08 14:26
2021-07-08 14:25
2021-07-07 15:33
2021-07-07 15:32
2021-07-07 15:31
2021-07-07 15:08
2021-07-07 15:06
2021-07-06 14:23
2021-07-06 14:22
2021-07-06 14:21