计算机网络原理(谢希仁第八版)第4章课后习题答案
第四章 网络层
1.网络层向上提供的服务有哪两种?是比较其优缺点。网络层向运输层提供 “面向连接”虚电路(Virtual Circuit)服务或“无连接”数据报服务前者预约了双方通信所需的一切网络资源。优点是能提供服务质量的承诺。即所传送的分组不出错、丢失、重复和失序(不按序列到达终点),也保证分组传送的时限,缺点是路由器复杂,网络成本高;后者无网络资源障碍,尽力而为,优缺点与前者互易
2.网络互连有何实际意义?进行网络互连时,有哪些共同的问题需要解决?
网络互联可扩大用户共享资源范围和更大的通信区域
进行网络互连时,需要解决共同的问题有:
不同的寻址方案不同的最大分组长度
不同的网络接入机制
不同的超时控制
不同的差错恢复方法
不同的状态报告方法
不同的路由选择技术
不同的用户接入控制
不同的服务(面向连接服务和无连接服务)
不同的管理与控制方式
3.作为中间设备,转发器、网桥、路由器和网关有何区别?
中间设备又称为中间系统或中继(relay)系统。
物理层中继系统:转发器(repeater)。
数据链路层中继系统:网桥或桥接器(bridge)。
网络层中继系统:路由器(router)。
网桥和路由器的混合物:桥路器(brouter)。
网络层以上的中继系统:网关(gateway)。
4.试简单说明下列协议的作用:IP、ARP、RARP和ICMP。
IP协议:实现网络互连。使参与互连的性能各异的网络从用户看起来好像是一个统一的网络。网际协议IP是TCP/IP体系中两个最主要的协议之一,与IP协议配套使用的还有四个协议。
ARP协议:是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
RARP:是解决同一个局域网上的主机或路由器的硬件地址和IP地址的映射问题。
ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会
因特网组管理协议IGMP:用于探寻、转发本局域网内的组成员关系。
5.IP地址分为几类?各如何表示?IP地址的主要特点是什么?分为ABCDE 5类;每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。各类地址的网络号字段net-id分别为1,2,3,0,0字节;主机号字段host-id分别为3字节、2字节、1字节、4字节、4字节。特点:(1)IP 地址是一种分等级的地址结构。分两个等级的好处是:第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。(2)实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。 (3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。 (4) 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。6.试根据IP地址的规定,计算出表4-2中的各项数据。解:1)A类网中,网络号占七个bit, 则允许用的网络数为2的7次方,为128,但是要
除去0和127的情况,所以能用的最大网络数是126,第一个网络号是1,最后一个网络号是 126。主机号占24个bit, 则允许用的最大主机数为2的24次方,为16777216,但是也要除 去全0和全1的情况,所以能用的最大主机数是16777214。2) B类网中,网络号占14个bit,则能用的最大网络数为2的14次方,为16384,第 一个网络号是128.0,因为127要用作本地软件回送测试,所以从128开始,其点后的还可
以 容纳2的8次方为256,所以以128为开始的网络号为128.0128.255,共256个,以此类 推,第16384个网络号的计算方法是:16384/256=64128+64=192,则可推算出为191.255。主机号占16个 bit, 则允许用的最大主机数为2的16次方,为65536,但是也要除去全0和全 1的情况,所以能用的最大主机数是65534。3)C类网中,网络号占21个bit, 则能用的网络数为2的21次方,为2097152,第一个 网络号是 192.0.0,各个点后的数占一个字节,所以以 192 为开始的网络号为192.0.0192.255.255,共256256=65536,以此类推,第2097152个网络号的计算方法是: 2097152/65536=32192+32=224,则可推算出为223.255.255。主机号占8个bit, 则允许用的最大主机数为2的8次方,为256,但是也要除去全0和全1的情况,所以能用的最大主机数是254。7.试说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址? IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。从而把整个因特网看成为一个单一的、抽象的网络在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。 MAC地址在一定程度上与硬件一致,基于物理、能够标识具体的链路通信对象、IP地址给予逻辑域的划分、不受硬件限制。 8.IP地址方案与我国的电话号码体制的主要不同点是什么?于网络的地理分布无关 9.(1)子网掩码为255.255.255.0代表什么意思? 有三种含义 其一是一个A类网的子网掩码,对于A类网络的IP地址,前8位表示网络号,后24位表示主机号,使用子网掩码255.255.255.0表示前8位为网络号,中间16位用于子网段的划分,最后8位为主机号。第二种情况为一个B类网,对于B类网络的IP地址,前16位表示网络号,后16位表示主机号,使用子网掩码255.255.255.0表示前16位为网络号,中间8位用于子网段的划分,最后8位为主机号。 第三种情况为一个C类网,这个子网掩码为C类网的默认子网掩码。 (2)一网络的现在掩码为255.255.255.248,问该网络能够连接多少个主机? 255.255.255.248即11111111.11111111.11111111.11111000. 每一个子网上的主机为(2^3)=6 台 掩码位数29,该网络能够连接8个主机,扣除全1和全0后为6台。 (3)一A类网络和一B网络的子网号subnet-id分别为16个1和8个1,问这两个子网掩码有何不同? A类网络:11111111 11111111 11111111 00000000 给定子网号(16位“1”)则子网掩码为255.255.255.0 B类网络 11111111 11111111 11111111 00000000 给定子网号(8位“1”)则子网掩码为255.255.255.0但子网数目不同 (4)一个B类地址的子网掩码是255.255.240.0。试问在其中每一个子网上的主机数最多是多少? (240)10=(128+64+32+16)10=(11110000)2 Host-id的位数为4+8=12,因此,最大主机数为: 2^12-2=4096-2=4094 11111111.11111111.11110000.00000000 主机数2^12-2 (5)一A类网络的子网掩码为255.255.0.255;它是否为一个有效的子网掩码?是 10111111 11111111 00000000 11111111 (6)某个IP地址的十六进制表示C2.2F.14.81,试将其转化为点分十进制的形式。这个地址是哪一类IP地址? C2 2F 14 81–à(1216+2).(216+15).(16+4).(816+1)—à194.47.20.129 C2 2F 14 81 —à11000010.00101111.00010100.10000001 C类地址
(7)C类网络使用子网掩码有无实际意义?为什么?
有实际意义.C类子网IP地址的32位中,前24位用于确定网络号,后8位用于确定主机号.如果划分子网,可以选择后8位中的高位,这样做可以进一步划分网络,并且不增加路由表的内容,但是代价是主机数相信减少.
10.试辨认以下IP地址的网络类别。
(1)128.36.199.3 (2)21.12.240.17 (3)183.194.76.253 (4)
192.12.69.248 (5)89.3.0.1 (6)200.3.6.2
(2)和(5)是A类,(1)和(3)是B类,(4)和(6)是C类.
- IP数据报中的首部检验和并不检验数据报中的数据。这样做的最大好处是什么?坏处是什么?
在首部中的错误比在数据中的错误更严重,例如,一个坏的地址可能导致分组被投寄到错误的主机。许多主机并不检查投递给他们的分组是否确实是要投递给它们,它们假定网络从来不会把本来是要前往另一主机的分组投递给它们。数据不参与检验和的计算,因为这样做代价大,上层协议通常也做这种检验工作,从前,从而引起重复和多余。因此,这样做可以加快分组的转发,但是数据部分出现差错时不能及早发现。
12.当某个路由器发现一IP数据报的检验和有差错时,为什么采取丢弃的办法而不是要求源站重传此数据报?计算首部检验和为什么不采用CRC检验码?答:纠错控制由上层(传输层)执行 IP首部中的源站地址也可能出错请错误的源地址重传数据报是没有意义的 不采用CRC简化解码计算量,提高路由器的吞吐量
13.设IP数据报使用固定首部,其各字段的具体数值如图所示(除IP地址外,均为十进制表示)。试用二进制运算方法计算应当写入到首部检验和字段中的数值(用二进制表示)。
4 5 0 28 1 0 0 4 17 10.12.14.5 12.6.7.9
1000101 00000000 00000000-00011100
00000000 00000001 00000000-00000000
00000100 00010001 xxxxxxxx xxxxxxxx
00001010 00001100 00001110 00000101
00001100 00000110 00000111 00001001 作二进制检验和(XOR) 01110100 01001110取反码 10001011 10110001 - 重新计算上题,但使用十六进制运算方法(没16位二进制数字转换为4个十六进制数字,再按十六进制加法规则计算)。比较这两种方法。
01000101 00000000 00000000-00011100 4 5 0 0 0 0 1 C
00000000 00000001 00000000-00000000 0 0 0 1 0 0 0 0 00000100 000010001 xxxxxxxx xxxxxxxx 0 4 1 1 0 0 0 0
00001010 00001100 00001110 00000101 0 A 0 C 0 E 0 5
00001100 00000110 00000111 00001001 0 C 0 6 0 7 0 9
01011111 00100100 00010101 00101010 5 F 2 4 1 5 2 A
5 F 2 4 1 5 2 A 7 4 4 E-à8 B B 1
15.什么是最大传送单元MTU?它和IP数据报的首部中的哪个字段有关系?答:IP层下面数据链里层所限定的帧格式中数据字段的最大长度,与IP数据报首部中的总长度字段有关系
16.在因特网中将IP数据报分片传送的数据报在最后的目的主机进行组装。还可以有另一种做法,即数据报片通过一个网络就进行一次组装。是比较这两种方法的优劣。在目的站而不是在中间的路由器进行组装是由于:
(1)路由器处理数据报更简单些;效率高,延迟小。
(2)数据报的各分片可能经过各自的路径。因此在每一个中间的路由器进行组装可能总会缺少几个数据报片;
(3)也许分组后面还要经过一个网络,它还要给这些数据报片划分成更小的片。如果在中间的路由器进行组装就可能会组装多次。
(为适应路径上不同链路段所能许可的不同分片规模,可能要重新分片或组装) - 一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1200位。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)?
答:第二个局域网所能传送的最长数据帧中的数据部分只有1200bit,即每个IP数据片的数据部分<1200-160(bit),由于片偏移是以8字节即64bit为单位的,所以IP数据片的数据部分最大不超过1024bit,这样3200bit的报文要分4个数据片,所以第二个局域网向上传送的比特数等于(3200+4×160),共3840bit。 18.(1)有人认为:“ARP协议向网络层提供了转换地址的服务,因此ARP应当属于数据链路层。”这种说法为什么是错误的?因为ARP本身是网络层的一部分,ARP协议为IP协议提供了转换地址的服务,数据链路层 使用硬件地址而不使用IP地址,无需ARP协议数据链路层本身即可正常运行。因此ARP不再数据链路层。 (2)试解释为什么ARP高速缓存每存入一个项目就要设置10~20分钟的超时计时器。这个时间设置的太大或太小会出现什么问题? 答:考虑到IP地址和Mac地址均有可能是变化的(更换网卡,或动态主机配置) 10-20分钟更换一块网卡是合理的。超时时间太短会使ARP请求和响应分组的通信量太频繁,而超时时间太长会使更换网卡后的主机迟迟无法和网络上的其他主机通信。 (3)至少举出两种不需要发送ARP请求分组的情况(即不需要请求将某个目的IP地址解析为相应的硬件地址)。在源主机的ARP高速缓存中已经有了该目的IP地址的项目;源主机发送的是广播分组;源主机和目的主机使用点对点链路。19.主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程中总共使用了几次ARP? 6次,主机用一次,每个路由器各使用一次。 20.设某路由器建立了如下路由表: 目的网络 子网掩码 下一跳 128.96.39.0 255.255.255.128 接口m0 128.96.39.128 255.255.255.128 接口m1 128.96.40.0 255.255.255.128 R2 192.4.153.0 255.255.255.192 R3 *(默认) —— R4 现共收到5个分组,其目的地址分别为: (1)128.96.39.10 (2)128.96.40.12 (3)128.96.40.151 (4)192.153.17 (5)192.4.153.90 (1)分组的目的站IP地址为:128.96.39.10。先与子网掩码255.255.255.128相与,得128.96.39.0,可见该分组经接口0转发。 (2)分组的目的IP地址为:128.96.40.12。 ① 与子网掩码255.255.255.128相与得128.96.40.0,不等于128.96.39.0。 ② 与子网掩码255.255.255.128相与得128.96.40.0,经查路由表可知,该项分组经R2转发。 (3)分组的目的IP地址为:128.96.40.151,与子网掩码255.255.255.128相与后得128.96.40.128,与子网掩码255.255.255.192相与后得128.96.40.128,经查路由表知,该分组转发选择默认路由,经R4转发。 (4)分组的目的IP地址为:192.4.153.17。与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.0,经查路由表知,该分组经R3转发。 (5)分组的目的IP地址为:192.4.153.90,与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.64,经查路由表知,该分组转发选择默认路由,经R4转发。 21某单位分配到一个B类IP地址,其net-id为129.250.0.0.该单位有4000台机器,分布在16个不同的地点。如选用子网掩码为255.255.255.0,试给每一个地点分配一个子网掩码号,并算出每个地点主机号码的最小值和最大值4000/16=250,平均每个地点250台机器。如选255.255.255.0为掩码,则每个网络所连主机数=28-2=254>250,共有子网数=28-2=254>16,能满足实际需求。可给每个地点分配如下子网号码
地点: 子网号(subnet-id) 子网网络号 主机IP的最小值和最大值
1: 00000001 129.250.1.0 129.250.1.1—129.250.1.254
2: 00000010 129.250.2.0 129.250.2.1—129.250.2.254
3: 00000011 129.250.3.0 129.250.3.1—129.250.3.254
4: 00000100 129.250.4.0 129.250.4.1—129.250.4.254
5: 00000101 129.250.5.0 129.250.5.1—129.250.5.254
6: 00000110 129.250.6.0 129.250.6.1—129.250.6.254
7: 00000111 129.250.7.0 129.250.7.1—129.250.7.254
8: 00001000 129.250.8.0 129.250.8.1—129.250.8.254
9: 00001001 129.250.9.0 129.250.9.1—129.250.9.254
10: 00001010 129.250.10.0 129.250.10.1—129.250.10.254
11: 00001011 129.250.11.0 129.250.11.1—129.250.11.254
12: 00001100 129.250.12.0 129.250.12.1—129.250.12.254
13: 00001101 129.250.13.0 129.250.13.1—129.250.13.254
14: 00001110 129.250.14.0 129.250.14.1—129.250.14.254
15: 00001111 129.250.15.0 129.250.15.1—129.250.15.254
16: 00010000 129.250.16.0 129.250.16.1—129.250.16.254
22..一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够 传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值? IP数据报固定首部长度为20字节
总长度(字节) 数据长度(字节) MF 片偏移
原始数据报 4000 3980 0 0
数据报片1 1500 1480 1 0
数据报片2 1500 1480 1 185
数据报片3 1040 1020 0 370
23 分两种情况(使用子网掩码和使用CIDR)写出因特网的IP成查找路由的算法。见课本P134、P139
24.试找出可产生以下数目的A类子网的子网掩码(采用连续掩码)。
(1)2,(2)6,(3)30,(4)62,(5)122,(6)250.
(1)255.192.0.0,(2)255.224.0.0,(3)255.248.0.0,(4)255.252.0.0,(5)255.254.0.0,(6)255.255.0.0
25.以下有4个子网掩码。哪些是不推荐使用的?为什么?
(1)176.0.0.0,(2)96.0.0.0,(3)127.192.0.0,(4)255.128.0.0。
只有(4)是连续的1和连续的0的掩码,是推荐使用的
26.有如下的4个/24地址块,试进行最大可能性的聚会。
212.56.132.0/24
212.56.133.0/24
212.56.134.0/24
212.56.135.0/24
212=(11010100)2,56=(00111000)2
132=(10000100)2,
133=(10000101)2
134=(10000110)2,
135=(10000111)2
所以共同的前缀有22位,即11010100 00111000 100001,聚合的CIDR地址块是: 212.56.132.0/22
27.有两个CIDR地址块208.128/11和208.130.28/22。是否有那一个地址块包含了另一个地址?如果有,请指出,并说明理由。
208.128/11的前缀为:11010000 100
208.130.28/22的前缀为:11010000 10000010 000101,它的前11位与208.128/11的前缀是一致的,所以208.128/11地址块包含了208.130.28/22这一地址块。
28.已知路由器R1的路由表如表4—12所示。表4-12 习题4-28中路由器R1的路由表地址掩码 目的网络地址 下一跳地址 路由器接口
/26 140.5.12.64 180.15.2.5 m2
/24 130.5.8.0 190.16.6.2 m1
/16 110.71.0.0 …… m0
/16 180.15.0.0 …… m2
/16 196.16.0.0 …… m1
默认 默认 110.71.4.5 m0
试画出个网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口。对不能确定的情应该指明。图形见课后答案P380
29.一个自治系统有5个局域网,其连接图如图4-55示。LAN2至LAN5上的主机数分别为:
91,150,3和15.该自治系统分配到的IP地址块为30.138.118/23。试给出每一个局域网的地址块(包括前缀)。 30.138.118/23–30.138.0111 011
分配网络前缀时应先分配地址数较多的前缀题目没有说LAN1上有几个主机,但至少需要3个地址给三个路由器用。
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 - 一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是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)和这两个地址都匹配 - 与下列掩码相对应的网络前缀各有多少位?
(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 。 - 已知地址块中的一个地址是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类地址。 - 某单位分配到一个地址块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 - IGP和EGP这两类协议的主要区别是什么?
IGP:在自治系统内部使用的路由协议;力求最佳路由
EGP:在不同自治系统便捷使用的路由协议;力求较好路由(不兜圈子)
EGP必须考虑其他方面的政策,需要多条路由。代价费用方面可能可达性更重要。
IGP:内部网关协议,只关心本自治系统内如何传送数据报,与互联网中其他自治系统使用什么协议无关。
EGP:外部网关协议,在不同的AS边界传递路由信息的协议,不关心AS内部使用何种协议。
注:IGP主要考虑AS内部如何高效地工作,绝大多数情况找到最佳路由,对费用和代价的有多种解释。 - 试简述RIP,OSPF和BGP路由选择协议的主要特点。
主要特点 RIP OSPF BGP
网关协议 内部 内部 外部
路由表内容 目的网,下一站,距离 目的网,下一站,距离 目的网,完整
路径
最优通路依据 跳数 费用 多种策略
算法 距离矢量 链路状态 距离矢量
传送方式 运输层UDP IP数据报 建立TCP连接
其他 简单、效率低、跳数为16不可达、好消息传的快,坏消息传的慢 效率高、路由器频繁交换信息,难维持一致性 规模大、统一度量为可达性 - RIP使用UDP,OSPF使用IP,而BGP使用TCP。这样做有何优点?为什么RIP周期性地和临站交换路由器由信息而BGP却不这样做?
RIP只和邻站交换信息,使用UDP无可靠保障,但开销小,可以满足RIP要求; OSPF使用可靠的洪泛法,直接使用IP,灵活、开销小;
BGP需要交换整个路由表和更新信息,TCP提供可靠交付以减少带宽消耗; RIP使用不保证可靠交付的UDP,因此必须不断地(周期性地)和邻站交换信息才能使路由信息及时得到更新。但BGP使用保证可靠交付的TCP因此不需要这样做。 - 假定网络中的路由器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 不同的下一跳,距离更大,不改变 - 假定网络中的路由器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数据报中,可穿越不支持多播的网络,到达另一个支持多播的网络。 - 什么是VPN?VPN有什么特点和优缺点?VPN有几种类别?
P171-173 - 什么是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-QMSS)+66}=4489122708+682=4489123390 总字节数是N=4489123390字节,发送4489123390字节需时间为:N8/(1010^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.001X=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)=aRTT(i-1)+(1-a)T(i); RTT^(i)=a RTT(i-1)+(1-a)T(i)/2; RTT(1)=a0+(1-a)T(1)= (1-a)T(1); RTT^(1)=a0+(1-a)T(1)/2= RTT(1)/2 RTT(2)= aRTT(1)+(1-a)T(2); RTT^(2)= aRTT(1)+(1-a)T(2)/2; = aRTT(1)/2+(1-a)T(2)/2= RTT(2)/2 RTO=betaRTT,在统计意义上,重传时间最后会减小到使用karn算法的1/2. 5—33 假定TCP在开始建立连接时,发送方设定超时重传时间是RTO=6s。 (1)当发送方接到对方的连接确认报文段时,测量出RTT样本值为1.5s。试计算现在的RTO值。 (2)当发送方发送数据报文段并接收到确认时,测量出RTT样本值为2.5s。试计算现在的RTO值。答: (1)据RFC2988建议,RTO=RTTs+4RTTd。其中RTTd是RTTs的偏差加权均值。 初次测量时,RTTd(1)= RTT(1)/2; 后续测量中,RTTd(i)=(1-Beta)* RTTd(i-1)+Beta¨C12C0.75=4.5(s) (2)RTT(2)=2.5 RTTs(1)=1.5s RTTd(1)=0.75s RTTd(2)=(1-Beta)* RTTd(1)+Beta¨C13C3/4+{1.5-2.5}/4=13/16 RTO(2)=RTTs(1)+4RTTd(2)=1.5+4¨C14C(1-a) +26¨C15Ca+32(1-a)=29.84 RTT3=RTT2¨C16C2+(1500/150000)¨C17C1000=530ms 5段链路的发送时延=960/(48¨C18C5*1000=100ms 所以5段链路单程端到端时延=530+100=630ms 5—36 重复5-35题,但假定其中的一个陆地上的广域网的传输时延为150ms。答:760ms 5—37 在TCP的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一种算法各起什么作用? “乘法减小”和“加法增大”各用在什么情况下?答:慢开始: 在主机刚刚开始发送报文段时可先将拥塞窗口cwnd设置为一个最大报文段 MSS的数值。在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个MSS的数值。用这样的方法逐步增大发送端的拥塞窗口cwnd,可以分组注入到网络的速率更加合理。 拥塞避免: 当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免算法。拥塞避免算法使发送的拥塞窗口每经过一个往返时延RTT就增加一个MSS的大小。快重传算法规定:发送端只要一连收到三个重复的ACK即可断定有分组丢失了,就应该立即重传丢手的报文段而不必继续等待为该报文段设置的重传计时器的超时。快恢复算法:当发送端收到连续三个重复的ACK时,就重新设置慢开始门限 ssthresh与慢开始不同之处是拥塞窗口 cwnd 不是设置为 1,而是设置为ssthresh若收到的重复的AVK为n个(n>3),则将cwnd设置为ssthresh若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。若收到了确认新的报文段的ACK,就将cwnd缩小到ssthresh
乘法减小:是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值乘以 0.5。当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分组数。加法增大:是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口 cwnd增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞
。
5—38 设TCP的ssthresh的初始值为8(单位为报文段)。当拥塞窗口上升到12时网络发生了超时,TCP使用慢开始和拥塞避免。试分别求出第1次到第15次传输的各拥塞窗口大小。你能说明拥塞控制窗口每一次变化的原因吗? 答:拥塞窗口大小分别为:1,2,4,8,9,10,11,12,1,2,4,6,7,8,9.
5—39 TCP的拥塞窗口cwnd大小与传输轮次n的关系如下所示:
cwnd
n 1
1 2
2 4
3 8
4 16
5 32
6 33
7 34
8 35
9 36
10 37
11 38
12 39
13
cwnd
n 40
14 41
15 42
16 21
17 22
18 23
19 24
20 25
21 26
22 1
23 2
24 4
25 8
26
(1)试画出如图5-25所示的拥塞窗口与传输轮次的关系曲线。
(2)指明TCP工作在慢开始阶段的时间间隔。
(3)指明TCP工作在拥塞避免阶段的时间间隔。
(4)在第16轮次和第22轮次之后发送方是通过收到三个重复的确认还是通过超市检测到丢失了报文段?
(5)在第1轮次,第18轮次和第24轮次发送时,门限ssthresh分别被设置为多大?
(6)在第几轮次发送出第70个报文段?
(7)假定在第26轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口cwnd和门限ssthresh应设置为多大?
答:(1)拥塞窗口与传输轮次的关系曲线如图所示(课本后答案):
(2) 慢开始时间间隔:【1,6】和【23,26】
(3) 拥塞避免时间间隔:【6,16】和【17,22】
(4) 在第16轮次之后发送方通过收到三个重复的确认检测到丢失的报文段。在第22轮次之后发送方是通过超时检测到丢失的报文段。
(5) 在第1轮次发送时,门限ssthresh被设置为32 在第18轮次发送时,门限ssthresh被设置为发生拥塞时的一半,即21. 在第24轮次发送时,门限ssthresh是第18轮次发送时设置的21(6) 第70报文段在第7轮次发送出。(7) 拥塞窗口cwnd和门限ssthresh应设置为8的一半,即4.
5—40 TCP在进行流量控制时是以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而引起的分组丢失的情况?如有,请举出三种情况。
答:当Ip数据报在传输过程中需要分片,但其中的一个数据报未能及时到达终点,而终点组装IP数据报已超时,因而只能丢失该数据报;IP数据报已经到达终点,但终点的缓存没有足够的空间存放此数据报;数据报在转发过程中经过一个局域网的网桥,但网桥在转发该数据报的帧没有足够的差错空间而只好丢弃。
5—41 用TCP传送512字节的数据。设窗口为100字节,而TCP报文段每次也是传送100字节的数据。再设发送端和接收端的起始序号分别选为100和200,试画出类似于图5-31的工作示意图。从连接建立阶段到连接释放都要画上。
5—42 在图5-32中所示的连接释放过程中,主机B能否先不发送ACK=x+1的确认? (因为后面要发送的连接释放报文段中仍有ACK=x+1这一信息)
答:如果B不再发送数据了,是可以把两个报文段合并成为一个,即只发送FIN+ACK报文段。但如果B还有数据报要发送,而且要发送一段时间,那就不行,因为A迟迟收不到确认,就会以为刚才发送的FIN报文段丢失了,就超时重传这个FIN报文段,浪费网络资源。
5—43 在图(5-33)中,在什么情况下会发生从状态LISTEN到状态SYN_SENT,以及从状
态SYN_ENT到状态SYN_RCVD的变迁?
答:当A和B都作为客户,即同时主动打开TCP连接。这时的每一方的状态变迁都是: CLOSED—-àSYN-SENT—àSYN-RCVD–àESTABLISHED
5—44 试以具体例子说明为什么一个运输连接可以有多种方式释放。可以设两个互相通信的用户分别连接在网络的两结点上。
答:设A,B建立了运输连接。协议应考虑一下实际可能性:
A或B故障,应设计超时机制,使对方退出,不至于死锁;
A主动退出,B被动退出
B主动退出,A被动退出
5—45 解释为什么突然释放运输连接就可能会丢失用户数据,而使用TCP的连接释放方法就可保证不丢失数据。答:当主机1和主机2之间连接建立后,主机1发送了一个TCP数据段并正确抵达主机2,接着
主机1发送另一个TCP数据段,这次很不幸,主机2在收到第二个TCP数据段之前发出了释放连接请求,如果就这样突然释放连接,显然主机1发送的第二个TCP报文段会丢失。而使用TCP的连接释放方法,主机2发出了释放连接的请求,那么即使收到主机1的确认后,只会释放主机2到主机1方向的连接,即主机2不再向主机1发送数据,而仍然可接受主机1发来的数据,所以可保证不丢失数据。
5—46 试用具体例子说明为什么在运输连接建立时要使用三次握手。说明如不这样做可能会出现什么情况。答: 3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已
准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。
假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两
次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组,在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。 而A发出的分组超时后,重复发送同样的分组。这样就形成了死锁。
5—47 一个客户向服务器请求建立TCP连接。客户在TCP连接建立的三次握手中的最后一个报文段中捎带上一些数据,请求服务器发送一个长度为L字节的文件。假定:(1)客户和服务器之间的数据传输速率是R字节/秒,客户与服务器之间的往返时间是RTT(固定值)。
(2)服务器发送的TCP报文段的长度都是M字节,而发送窗口大小是nM字节。(3)所有传送的报文段都不会出错(无重传),客户收到服务器发来的报文段后就及时发送确认。(4)所有的协议首部开销都可忽略,所有确认报文段和连接建立阶段的报文段的长度都可忽略(即忽略这些报文段的发送时间)。试证明,从客户开始发起连接建立到接收服务器发送的整个文件多需的时间T是: T=2RTT+L/R 当nM>R(RTT)+M
或 T=2RTT+L/R+(K-1)[M/R+RTT-nM/R] 当nM<R(RTT)+M
其中,K=[L/nM],符号[x]表示若x不是整数,则把x的整数部分加1。
解:发送窗口较小的情况,发送一组nM个字节后必须停顿下来,等收到确认后继续发送。共需K=[L/nM]个周期:其中 前K-1个周期每周期耗时M/R+RTT,共耗时(K-1)(M/R+RTT) 第K周期剩余字节数Q=L-(K-1)nM,需耗时Q/R 总耗时=2RTT+(K-1)M/(R+RTT)+Q/R=2*RTT+L/R+(K-1)[( M/R+RTT)-nM/R]
第六章 应用层
6-01 因特网的域名结构是怎么样的?它与目前的电话网的号码结构有何异同之处?答:(1)域名的结构由标号序列组成,各标号之间用点隔开:
… . 三级域名 . 二级域名 . 顶级域名
各标号分别代表不同级别的域名。
(2)电话号码分为国家号结构分为(中国 +86)、区号、本机号。
6-02 域名系统的主要功能是什么?域名系统中的本地域名服务器、根域名服务器、顶级域名服务器以及权限域名权服务器有何区别?
答:域名系统的主要功能:将域名解析为主机能识别的IP地址。
因特网上的域名服务器系统也是按照域名的层次来安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。共有三种不同类型的域名服务器。即本地域名服务器、根域名服务器、授权域名服务器。当一个本地域名服务器不能立即回答某个主机的查询时,该本地域名服务器就以DNS客户的身份向某一个根域名服务器查询。若根域名服务器有被查询主机的信息,就发送DNS回答报文给本地域名服务器,然后本地域名服务器再
回答发起查询的主机。但当根域名服务器没有被查询的主机的信息时,它一定知道某个保存有被查询的主机名字映射的授权域名服务器的IP地址。通常根域名服务器用来管辖顶级域。根域名服务器并不直接对顶级域下面所属的所有的域名进行转换,但它一定能够找到下面的所有二级域名的域名服务器。每一个主机都必须在授权域名服务器处注册登记。通常,一个主机的授权域名服务器就是它的主机ISP的一个域名服务器。授权域名服务器总是能够将其管辖的主机名转换为该主机的IP地址。因特网允许各个单位根据本单位的具体情况将本域名划分为若干个域名服务器管辖区。一般就在各管辖区中设置相应的授权域名服务器。
6-03 举例说明域名转换的过程。域名服务器中的高速缓存的作用是什么?答:(1)把不方便记忆的IP地址转换为方便记忆的域名地址。
(2)作用:可大大减轻根域名服务器的负荷,使因特网上的 DNS 查询请求和回答报文的数量大为减少。
6-04 设想有一天整个因特网的DNS系统都瘫痪了(这种情况不大会出现),试问还可以给朋友发送电子邮件吗?
答:不能;
6-05 文件传送协议FTP的主要工作过程是怎样的?为什么说FTP是带外传送控制信息?主进程和从属进程各起什么作用?
答:(1)FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。
FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
主进程的工作步骤:
1、打开熟知端口(端口号为 21),使客户进程能够连接上。
2、等待客户进程发出连接请求。
3、启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
4、回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。FTP使用两个TCP连接。
控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。
实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。
数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。
6-06 简单文件传送协议TFTP与FTP的主要区别是什么?各用在什么场合?答:(1)文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。TFTP 是一个很小且易于实现的文件传送协议。TFTP 使用客户服务器方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施
TFTP 只支持文件传输而不支持交互。TFTP 没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。
6-07 远程登录TELNET的主要特点是什么?什么叫做虚拟终端NVT?
答:(1)用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回
到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。
(2)TELNET定义了数据和命令应该怎样通过因特网,这些定义就是所谓的网络虚拟终端NVT。
6-08 解释以下名词。各英文缩写词的原文是什么?
www,URL.HTTP,HTML,CGI,浏览器,超文本,超媒体,超链,页面,活动文档,搜索引擎。答: www:万维网WWW(World Wide Web)并非某种特殊的计算机网络。万维网是一个大规模
的、联机式的信息储藏所,英文简称为Web.万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点(也就是所谓的“链接到另一个站点”),从而主动地按需获取丰富的信息。URL:为了使用户清楚地知道能够很方便地找到所需的信息,万维网使用统一资源定位符URL(Uniform Resource Locator)来标志万维网上的各种文档,并使每一个文档在整
个因特网的范围内具有唯一的标识符URL.
HTTP:为了实现万维网上各种链接,就要使万维网客户程序与万维网服务器程序之间的交互遵守严格的协议,这就是超文本传送协议HTTP.HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。CGI:通用网关接口CGI是一种标准,它定义了动态文档应该如何创建,输入数据应如何
提供给应用程序,以及输出结果意如何使用。CGI程序的正式名字是CGI脚本。按照计算机科学的一般概念。浏览器:一个浏览器包括一组客户程序、一组解释程序,以及一个控制程序。
超文本:超文本的基本特征就是可以超链接文档;你可以指向其他位置,该位置可以在当前的文档中、局域网中的其他文档,也可以在因特网上的任何位置的文档中。这些文档组成了一个杂乱的信息网。目标文档通常与其来源有某些关联,并且丰富了来源;来源中的链接元素则将这种关系传递给浏览者。超媒体:超级媒体的简称,是超文本(hypertext)和多媒体在信息浏览环境下的结合。超链:超链接可以用于各种效果。超链接可以用在目录和主题列表中。浏览者可以在浏览器屏幕上单击鼠标或在键盘上按下按键,从而选择并自动跳转到文档中自己感兴趣的那个主题,或跳转到世界上某处完全不同的集合中的某个文档。超链接(hyper text),或者按照标准叫法称为锚(anchor),是使用 标签标记的,可以用两种方式表
示。锚的一种类型是在文档中创建一个热点,当用户激活或选中(通常是使用鼠标)这个热点时,会导致浏览器进行链接。
页面:页面,类似于单篇文章页面,但是和单篇文章不同的是:1.每个页面都可以自定义样式,而单篇文章则共用一个样式。2.页面默认情况一般不允许评论,而单篇文章默认情况允许评论。3.页面会出现在水平导航栏上,不会出现在分类和存档里,而单篇文章会出现在分类和存档里,不会出现在水平导航栏上。活动文档:即正在处理的文档。在 Microsoft Word 中键入的文本或插入的图形将出现在活动文档中。活动文档的标题栏是突出显示的。一个基于Windows的、嵌入到浏览器中的非HTML应用程序,提供了从浏览器界面访问这些应用程序的 功能的方法。搜索引擎:搜索引擎指能够自动从互联网上搜集信息,经过整理以后,提供给用户进行
查阅的系统。
6-09 假定一个超链从一个万维网文档链接到另一个万维网文档时,由于万维网文档上出现了差错而使得超链只想一个无效的计算机名字。这是浏览器将向用户报告什么?答:404 Not Found。
6-10 假定要从已知的URL获得一个万维网文档。若该万维网服务器的Ip地址开始时并不知道。试问:除 HTTP外,还需要什么应用层协议和传输层协议? 答: 应用层协议需要的是DNS。
运输层协议需要的是UDP(DNS)使用和TCP(HTTP使用)。
6-11 你所使用的浏览器的高速缓存有多大?请进行一个试验:访问几个万维网文档,然后将你的计算机与网络断开,然后再回到你刚才访问过的文档。你的浏览器的高速缓存能够存放多少各页面?
6-12 什么是动态文档?试举出万维网使用动态文档的一些例子。
答: Dynamic document 动态文档: 与www文档有关的计算机程序,它能生成所需的文档。当浏览器需要动态文档时,服务器就运行该程序并发送输出到浏览器。动态文档程序对每个需求可生成不同的输出。
6-13 浏览器同时打开多少个TCP连接进行浏览的优缺点如何?请说明理由。答:优点:简单明了方便。缺点:卡的时候容易死机
6-14 当使用鼠标点击一个万维网文档是,若该文档出来有文本外,还有一个本地.gif图像和两个远地.gif图像。试问;需要使用那个应用程序,以及需要建立几次UDP连接和几次TCP连接?答:若使用HTTP/1.0,需要建立0次UDP连接,4次TCP连接。若使用HTTP/1.1,需要建立0次UDP连接,1次TCP连接。
6-15 假定你在浏览器上点击一个URL,但这个URL的ip地址以前并没有缓存在本地主机上。因此需要用DNS自动查找和解析。假定要解析到所要找的URL的ip地址共经过n个DNS服务器,所经过的时间分别是RTT1,RTT2,……RTTn。假定从要找的网页上只需要读取一个很小的图片(即忽略这个小图片的传输时间)。从本地猪寄到这个网页的往返时间是
RTTw.试问从点击这个URL开始,一直到本地主机的屏幕上出现所读取的小图片,一共需要经过多少时间? 解:解析IP地址需要时间是:RTT1+RTT2+…+RTTn。 建立TCP连接和请求万维网文档需要2RTTw。
6-16 在上题中,假定同一台服务器的HTML文件中又链接了三个非常小的对象。若忽略这些对象的发送时间,试计算客户点击读取这些对象所需的时间。
(1)没有并行TCP连接的非持续HTTP;
(2)使用并行TCP连接的非持续HTTP;
(3)流水线方式的持续HTTP。
解:(1)所需时间=RTT1+RTT2+…+RTTn+8RTTw。
(2)所需时间=RTT1+RTT2+…+RTTn+4RTTw。
(3)所需时间=RTT1+RTT2+…+RTTn+3RTTw。
6-17 在浏览器中应当有几个可选解释程序。试给出一些可选解释程序的名称。 答:在浏览器中,HTML解释程序是必不可少的,而其他的解释程序则是可选的。如java可选解释程序,但是在运行java的浏览器是则需要两个解释程序,即HTML解释程序和Java小应用程序解释程序。
6-18 一个万维网网点有1000万个页面,平均每个页面有10个超链,读取一个页面平均要100ms。问要检索整个网点所需的最少时间。 答:t=10010-3101000104 =107 s
6-19 搜索引擎可分为哪两种类型?各有什么特点?
答:搜索引擎的种类很多,大体上可划分为两大类,即全文检索搜索引擎和分类目录搜索引擎。全文检索搜索引擎是一种纯技术型的检索工具。它的工作原理是通过搜索软件到因特网上的各网站收集信息,找到一个网站后可以从这个网站再链接到另一个网站。然后按照一定的规则建立一个很大的在线数据库供用户查询。用户在查询时只要输入关键词,就从已经建立的索引数据库上进行查询(并不是实时地在因特网上检索到的信息)。 分类目录搜索引擎并不采集网站的任何信息,而是利用各网站向搜索引擎提交的网站信息时填写的关键词和网站描述等信息,经过人工审核编辑后,如果认为符合网站登录的条件,则输入到分类目录的数据库中,供网上用户查询。
6-20 试述电子邮件的最主要的组成部件。用户代理UA的作用是什么?没有UA行不行?
答: 电子邮件系统的最主要组成部件:用户代理、邮件服务器、以及电子邮件使用的协议。UA就是用户与电子邮件系统的接口。用户代理使用户能够通过一个很友好的接口来发送和接收邮件。没有UA不行。因为并非所有的计算机都能运行邮件服务器程序。有些计算机可能没有足
够的存储器来运行允许程序在后台运行的操作系统,或是可能没有足够的CPU能力来运
行邮件服务器程序。更重要的是,邮件服务器程序必须不间断地运行,每天24小时都必须不间断地连接在因特网上,否则就可能使很多外面发来的邮件丢失。这样看来,让用户的PC机运行邮件服务器程序显然是很不现实的。
6-21 电子邮件的信封和内容在邮件的传送过程中起什么作用?和用户的关系如何? 答:一个电子邮件分为信封和内容两大部分。电子邮件的传输程序根据邮件信封上的信息(收信人地址)来传送邮件。RFC822只规定了邮件内容中的首部格式,而对邮件的主体部分则让用户自由撰写。用户填写好首部后,邮件系统将自动地将所需的信息提取出来并写在信封上。
6-22 电子邮件的地址格式是怎样的?请说明各部分的意思。
答:TCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下:
收信人邮箱名@邮箱所在主机的域名
符号“@”读作“at”,表示“在”的意思。例如,电子邮件地址
xiexiren@tsinghua.org.cn
6-23 试简述SMTP通信的三个阶段的过程。
答:1. 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP不使用中间的邮件服务器。 2. 邮件传送。3. 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。
6-24 试述邮局协议POP的工作过程。在电子邮件中,为什么需要使用POP和SMTP这两个协议?IMAP与POP有何区别? 答:POP 使用客户机服务器的工作方式。在接收邮件的用户的PC 机中必须运行POP 客户机程序,而在其ISP 的邮件服务器中则运行POP 服务器程序。POP 服务器
只有在用户输入鉴别信息(用户名和口令)后才允许对邮箱进行读取。POP 是一个脱机协议,所有对邮件的处理都在用户的PC 机上进行;IMAP 是一个联机协议,用户可以操纵ISP 的邮件服务器的邮箱。
6-25 MIME与SMTP的关系是什么的?什么是quoted-printable编码和base64编码?答: MIME全称是通用因特网邮件扩充MIME。它并没有改动或取代SMTP。MIME的意图是继续使用目前的RFC 822格式,但增加了邮件主体的结构,并定义了传送非ASCII码的编码规则。也就是说,MIME邮件可以在现有的电子邮件程序和协议下传送。下图表明了MIME和SMTP的关系: quoted-printable编码:对于所有可打印的ASCII码,除特殊字符等号外,都不改变。等号和不可打印的ASCII码以及非ASCII码的数据的编码方法是:先将每个字节的二进制代码用两个十六进制数字表示,然后在前面再加上一个等号。base64编码是先把二进制代码划分为一个24位长的单元,然后把每个24位单元划分为4个6位组。每一个6位组按以下方法替换成ASCII码。6位的二进制代码共有64种不同的值
,从1到63。用A表示0,用B表示1,等等。26个大写字母排列完毕后,接下去再排26个小写字母,再后面是10个数字,最后用+表示62,而用/表示63。再用两个连在一起的等号==和一个等号=分别表示最后一组的代码只有8位或16位。回车和换行都忽略,它们可在任何地方插入。
6-26 一个二进制文件共3072字节长,若使用base64编码,并且每发送完80字节就插入一个回车符CR和一个换行符LF,问一共发送了多少个字节? 解答:在base64 编码方案中,24 比特的组被分成 4 个6 比特单位,每个单位都作为一个合法的ASCII 字符发送。编码规则是A 表示0,B 表示l 等等,接着是26 个小写字母表示26 到51,10 个数字(0 到9)表示52 到61,最后,+和/分别表示62 和63。=和= =分别用来指示最后一组仅包含8位或16位。回 车和换行被忽略不计,因 此可以任意插入它们来保持一行足够短。在本题中,base 64 编码将把报文划分成1024 个单元,每个单元3 字节长。每个单元被编码为4 个字节,所以共有4096 个字节。如果把这些字节每80 字节划分为一行,将需要52 行,所以需要加52 个CR 和52 个LF。4096+52×2=4200。综上所述,该二进制文件用base 64 编码将会有4200 字节长。
6-27 试将数据 11001100 10000001 00111000进行base64编码,并得到最后传输的ASCII数据。解: 对应的ASCII数据为zIE4,对应的二进制代码为: 01111010 01001001 01000101 00110100
6-28 试将数据01001100 10011101 00111001进行quoted-printable编码,并得出最后传送的ASCII数据。这样的数据用quoted-printable编码后其编码开销有多大? 解:01001100 00111101 00111001 01000100 00111001 编码开销为66.7%
6-29 电子邮件系统需要将众的电子邮件地址编成目录以便于查找,要建立这种目录应将人名划分为标准部分(例如,姓,名)。若要形成一个国际标准,那么必须解决哪些问题?答:非常困难。例如,人名的书写方法,很多国家(如英、美等西方国家)是先书写姓。但像中国或日本等国家则是先书写姓再写名。有些国家的一些人还有中间的名。称呼也有非常多种类。还有各式各样的头衔。很难有统一的格式。
6-30 电子邮件系统使用TCP传送邮件。为什么有时我们会遇到邮件发送失败的情况?为什么有时对方会收不到我们发送的邮件?答:
有时对方的邮件服务器不工作,邮件就发送不出去。对方的邮件服务器出故障也会使邮件丢失。
6-31 基于万维网的电子邮件系统有什么特点?在传送邮电时使用什么协议?答:特点:不管在什么地方,只要能上网,在打开万维网浏览器后,就可以收发电子邮件。这时,邮件系统中的用户代理就是普通的万维网。 电子邮件从 A 发送到网易邮件服务器是使用 HTTP 协议。两个邮件服务器之间的传送使用 SMTP。邮件从新浪邮件服务器传送到 B 是使用 HTTP 协议。
6-32 DHCP协议用在什么情况下?当一台计算机第一次运行引导程序时,其ROP中有没有该IP地址,子网掩码或某个域名服务器的IP地址? 答:动态主机配置协议 DHCP 提供了即插即用连网的机制。这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。
6-33 什么是网络管理?为什么说网络管理是当今网络领域中的热闹课题?答:网络管理即网络的运行、处理、维护(Maintenance)、服务提供等所需要的各种活动。网络管理是控制一个复杂的计算机网络使得它具有最高的效率和生产力的过程。
6-34 解释下列术语,网络元素,被管对象,管理进程,代理进程和管理库答:网络元素:被管对象有时可称为网络元素。被管对象:在每一个被管设备中有许多被管对象,被管对象可以是被管设备中的某个硬件(例如,一块网络接口卡),也可以是某些硬件或软件(例如,路由选择协议)的配置参数集合。管理进程:管理程序在运行时就成为管理进程。代理进程:在每一个被管理设备中都要运行一个程序以便和管理站中的管理程序进行通信。这些运行着的程序叫作网络管理代理程序。管理库:在被管理的实体中创建了命名对象,并规定了其类型。
6-35 SNMP使用UDP传送报文,为什么不使用TCP? 答:使用UDP是为了提高网管的效率
6-36 为什么SNMP的管理进程使用轮询掌握全网状态用于正常情况而代理进程用陷阱向管理进程报告属于较少发生的异常情况?答:使用轮询以维持对网络资源的实时监视,系统简单并限制通信量。陷阱的中断方式
更灵活、快