IP, ARP和ICMP
4.8为什么ARP查询要在广播帧中发送,而ARP响应要用单播帧? 4.9分类IP地址分为哪几类?各如何表示?IP地址的主要特点是什么?
4.10对于分类编址方式,分别计算A、B、C三类网络各自可容纳的主机数量。 4.11试说明IP地址与硬件地址的区别。为什么要使用这两种不同的地址? 4.12试辨认分类编址方式中以下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
4.13 IP数据报中的首部检验和并不检验数据报中的数据。这样做的最大好处是什么?坏处是什么?
4.14简述IP数据报首部中的寿命字段(TTL)的作用。 4.15当某个路由器发现一IP数据报的检验和有差错时,为什么采取丢弃的办法而不是要求源站重传此数据报?计算首部检验和为什么不采用CRC检验码?
4.16什么是最大传送单元MTU?它和IP数据报首部中的哪个字段有关系?
4.17在因特网中将IP数据报分片传送的数据报在最后的目的主机进行组装。还可以有另一种做法,即数据报片通过一个网络就进行一次组装。试比较这两种方法的优劣。
4.18一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1200比特。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)? 4.19回答以下有关ARP的问题: (1) 有人认为:“在因特网中,当计算机A要与计算机B通信时,若A不知道计算机B的物理地址,要先通过ARP将B的IP地址解析为物理地址,然后再利用该物理地址向B发送报文。”这种说法正确吗?
(2) 试解释为什么ARP高速缓存每存入一个项目就要设置10 ~ 20分钟的超时计时器。这个时间设置得太大或太小会出现什么问题?
(3) 至少举出两种不需要发送ARP请求分组的情况(即不需要请求将某个目的IP地址解析为相应的硬件地址)。
4.20主机A发送IP数据报给主机B,途中经过了5个路由器(若连接的都是局域网)。试问在IP数据报的发送过程中总共使用了几次ARP?
4.21某单位分配到地址块129.250.0.0/28。该单位有4000台机器,平均分布在16个不同的地点。试给每一个地点分配一个网络地址和子网掩码,并算出每个地点主机号码的最小值和最大值。 4.22一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值? 4.23路由器转发IP数据报的基本过程。
4.24有两个CIDR地址块208.128/11和208.130.28/22。是否有哪一个地址块包含了另一个地址?如果有,请指出,并说明理由。
4.25有如下的4个/24地址块,试进行最大可能的聚合。 212.56.132.0/24
6
212.56.133.0/24 212.56.134.0/24 212.56.135.0/24
4.26某主机的IP地址是227.82.157.177/20。试问该主机所连接的网络的网络前缀是什么?该网络的网络地址是什么?主机号占多少位?主机号的二进制表示是什么?
4.27设某路由器建立了如表4-8所示的路由表(这三列分别是目的网络、子网掩码和下一跳路由器,若直接交付则最后一列表示应当从哪一个接口转发出去):
表4-8
目 的 网 络 128.96.39.0 128.96.39.128 128.96.40.0 192.4.153.0 *(默认) 某路由器的路由表 子 网 掩 码 255.255.255.128 255.255.255.128 255.255.255.128 255.255.255.192 — 下 一 跳 接口0 接口1 R2 R3 R4 现共收到5个分组,其目的站IP地址分别为: (1) 128.96.39.10 (2) 128.96.40.12 (3) 128.96.40.151 (4) 192.4.153.17 (5) 192.4.153.90
试分别计算这些分组转发的下一跳。 4.28考虑某路由器具有下列路由表项:
表4-9 某路由器的路由表
网络前缀 142.150.64.0/24 142.150.71.128/28 142.150.71.128/30 142.150.0.0/16 下一跳 A B C D (1)假设路由器接收到一个目的地址为142.150.71.132的IP分组,请确定该路由器为该IP分组选择的下一跳,并解释说明。
(2)在上面的路由表中增加一条路由表项,该路由表项使以142.150.71.132为目的地址的IP分组选择“A”作为下一跳,而不影响其他目的地址的IP分组转发。
(3)在上面的路由表中增加一条路由表项,使所有目的地址与该路由表中任何路由表项都不匹配的IP分组被转发到下一跳“E”。
(4)将142.150.64.0/24划分为4个规模尽可能大的等长子网,给出子网掩码及每个子网的主机IP地址范围。
4.29IP如图4-57所示,某单位有两个局域网(各有120台计算机),通过路由器R2连接到因特网,现获得地址块108.112.1.0/24,为这两个局域网分配CIDR地址块,并为路由器R2的接口1、接口2分配地址(分配最小地址)。配置R2的路由表(目的地址,子网掩码,下一跳),在R1的路由表中增加一条项目使该单位的网络获得正确路由。
7
192.168.10.1/30接口1因特网R1R2192.168.10.2/30LAN1接口2LAN2 图4-57 习题4-29的图 4.30一个自治系统有5个局域网,其连接图如图4-58示。LAN2至LAN5上的主机数分别为:91, 150, 3和15。该自治系统分配到的IP地址块为30.138.118/23。试给出每一个局域网的地址块(包括前缀)。 LAN2 91 个主机LAN3 150 个主机LAN4 3 个主机LAN5 15 个主机LAN130.138.118/23 图4-58 习题4-30的图 4.31已知某地址块中的一个地址是140.120.84.24/20。试问该地址块中的第一个地址是什么?这个地址块共包含有多少个地址?最后一个地址是什么? 4.32某主机的IP地址为140.252.20.68,子网掩码为255.255.255.224,计算该主机所在子网的网络前缀(采用CIDR地址表示法a.b.c.d/x),该子网的地址空间大小和地址范围(含特殊地址)。 4.33某组织分配到一个地址块,其中的第一个地址是14.24.74.0/24。这个组织需要划分为11个子网。具体要求是:具有64个地址的子网2个;具有32个地址的子网2个;具有16个地址的子网3个;具有4个地址的子网4个(这里的地址都包含全1和全0的主机号)。试设计这些子网。分配结束后还剩下多少个地址? 4.34以下地址中的哪一个和86.32/12匹配?请说明理由。 (1) 86.33.224.123; (2) 86.79.65.216; (3) 86.58.119.74; (4) 86.68.206.154。 4.35以下的地址前缀中的哪一个地址和2.52.90.140匹配?请说明理由。 (1) 0/4; (2) 32/4; (3) 4/6; (4) 80/4。
4.36 IGP和EGP这两类协议的主要区别是什么?
4.37考虑RIP,假定网络中的路由器B的路由表有如下的项目(目的网络、距离、下一跳) N1 7 A N2 2 C N6 8 F N8 4 E N9 4 F
现在B收到从C发来的路由信息(目的网络、距离): (N2, 4)、(N3, 8)、(N6, 4)、(N8, 3)、(N9, 5),试求路由器B更新后的路由表(详细说明每项的原因)。
4.38考虑RIP,假定网络中的路由器A的路由表有如下的项目(目的网络、距离、下一跳): N1 4 B N2 2 C N3 1 F N4 5 G
现在A收到从C发来的路由信息(目的网络、距离): (N1, 2)、(N2, 1)、(N3, 3)、(N4, 7),试求路
8
由器A更新后的路由表(详细说明每项的原因)。
4.39试简述RIP, OSPF和BGP路由选择协议的主要特点。
4.40 RIP使用UDP,OSPF使用IP,而BGP使用TCP。这样做有何优点?为什么RIP周期性地和邻站交换路由信息而BGP却不这样做?
4.41为何BGP可以避免“坏消息传播得慢”的问题? 4.42比较交换机和路由器各自的特点和优缺点。
4.43路由器的输入端口和输出端口都有排队功能,什么情况下分组会在输入端口排队,而什么情况下分组会在输出端口排队?如果能让路由器处理分组足够快,是否能使输入和输出端口都避免出现分组排队(假定输入/输出线路速率相同)? 4.44简述IGMP和多播选路协议的作用。
4.45什么是可重用地址和专用地址?什么是虚拟专用网VPN?
4.46内联网(Intranet)和外联网(Extranet)是怎样的网络?它们的区别是什么?
4.47考虑图4-41中的基本NAT方法,假设NAT路由器只拥有1个全球IP地址,若有多台专网主机想同时访问因特网上资源会出现什么问题?当采用NAPT情况有会怎样?
4.48因特网的多播是怎样实现的?为什么因特网上的多播比以太网上的多播复杂得多? 4.49 IP多播为什么需要两种协议?这两种协议各自的主要功能是什么?
4.50为什么IGMP要使用IP多播进行传输,并且其IP数据报的TTL被设置为1?
4.51在IGMP中有了离开组报文和成员报告报文,是不是可以不需要路由器周期性发送成员查询报文了?请说明原因。
4.52请说明IGMP中组成员对多播路由器成员查询报文进行延迟响应的作用。 4.53多播路由选择有哪两种基本的方法?
4.54为什么说移动IP对于任何与移动主机进行通信的固定主机来说都是完全透明的? 4.55在移动IP中,若采用同址转交地址方式,请重画图4-49。 4.57当前的移动IP标准包括哪三个主要部分? 4.58从IPv4过渡到IPv6的方法有哪些?
4.59在IPv4首部中有一个“协议”字段,但在IPv6的固定首部中却没有。这是为什么?
第5章
5.1试说明运输层在协议栈中的地位和作用。运输层的通信和网络层的通信有什么重要区别? 5.2当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是无连接的? 5.3接收方收到有差错的UDP用户数据报时应如何处理? 5.4在“滑动窗口”概念中,“发送窗口”和“接收窗口”的作用是什么?如果接收方的接收能力不断地发生变化,则采取何种措施可以提高协议的效率。 5.5简述TCP和UDP的主要区别。
5.6为什么在TCP首部中有一个首部长度字段,而UDP的首部中就没有这个字段? 5.7如果因特网中的所有链路都提供可靠的传输服务,TCP可靠传输服务将会是完全多余的吗?为什么?
5.8解释为什么突然释放运输连接就可能会丢失用户数据,而使用TCP的连接释放方法就可保证不丢失数据。
5.9试用具体例子说明为什么在运输连接建立时要使用三次联络。说明如不这样做可能会出现什么情况。
9
5.10一个TCP报文段的数据部分最多为多少个字节?为什么?如果用户要传送的数据的字节长度超过TCP报文段中的序号字段可能编出的最大序号,问还能否用TCP来传送? 5.11主机A和B使用TCP通信。在B发送过的报文段中,有这样连续的两个:ack = 120和ack = 100。这可能吗(前一个报文段确认的序号还大于后一个的)?试说明理由。
5.12在使用TCP传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据的重传。试说明理由。
5.13请简要比较TCP的可靠传输实现与GBN算法的主要异同。
5.14在5.3.3节曾讲过,若收到的报文段无差错,只是未按序号,则TCP对此未作明确规定,而是让TCP的实现者自行确定。试讨论两种可能的方法的优劣: (1) 把不按序的报文段丢弃;
(2) 先把不按序的报文段暂存于接收缓存内,待所缺序号的报文段收齐后再一起上交应用层。 5.15设TCP使用的最大窗口为64 KB,即64 ? 1024字节,而传输信道的带宽可认为是不受限制的。若报文段的平均往返时延为20 ms,问所能得到的最大吞量是多少?
5.16试计算一个包括5段链路的运输连接的单程端到端时延。5段链路程中有两段是卫星链路,有三段是广域网链路。每条卫星链路又由上行链路和下行链路两部分组成。可以取这两部分的传播时延之和为250 ms。每一个广域网的范围为1500 km,其传播时延可按150 000 km/s来计算。各数据链路速率为48 kbit/s,帧长为960 bit。
5.17重复上题,但假定其中的一个陆地上的广域网的传输时延为150 ms。
5.18 TCP接收方收到3个重复ACK就执行快速重传。为什么不在收到对报文段的第一个重复ACK后就快速重传?
5.19用TCP传送512字节的数据。设窗口为100字节,而TCP报文段每次也是传送100字节的数据。再设发送方和接收方的起始序号分别选为100和200,试画出类似于图5-15的工作示意图。从连接建立阶段到连接释放都要画上。 5.20在图5-17中所示的连接释放过程中,主机B能否先不发送ack ? u ? 1的确认?(因为后面要发送的连接释放报文段中仍有ack ? u ? 1这一信息)
5.21在图5-17所示的连接释放过程中,主机A在发送完对B的连接释放请求报文段的确认后,为什么还要等待一段超时时间再彻底关闭连接?
5.22在图5-18中,在什么情况下会发生从状态LISTEN到状态SYN_SENT,以及从状态SYN_SENT到状态SYN_RCVD的变迁?
5.23是否TCP和UDP都需要计算往返时延RTT? 5.24在TCP的往返时延的估计中,你认为为什么TCP忽略对重传报文段的往返时延测量值RTT样本。
5.25什么是Karn算法?在TCP的重传机制中,若不采用Karn算法,而是在收到确认时都认为是对重传报文段的确认,那么由此得出的往返时延样本和重传时间都会偏小。试问:重传时间最后会减小到什么程度?
5.26某个应用进程使用运输层的用户数据报UDP,然后继续向下交给IP层后,又封装成IP数据报。既然都是数据报,是否可以跳过UDP而直接交给IP层?哪些功能UDP提供了但IP没有提供? 5.27使用TCP对实时话音数据的传输有没有什么问题?使用UDP在传送数据文件时会有什么问题?
5.28 TCP在进行拥塞控制时是以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而引起的分组丢失的情况?如有,请举出三种情况。 5.29一个应用程序用UDP,到了IP层将数据报再划分为4个数据报片发送出去。结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传UDP,而IP层仍然划分为4个数据报
10