TCP/IP课后习题2011-12-30 11:14 | (分类:默认分类)
1-1 你认为在因特网的发展过程中,哪几件事对其发展起到了非常重要的作用? 1-2 什么是数字地球?
1-3 中国国内第一个被IETF认可的RFC文档是什么文档?
1-4 与因特网相关的机构IAB、IETF、IRTF、ISOC、InterNIC、ICANN、W3C的主要工作分别是什么?
1-5 RFC文档有哪几种可能的状态?各种状态的含义是什么?
1-6 上网查询RFC文档的最新情况。
2-1 网络协议的对等实体之间是如何进行通信的?
2-2 协议分层有什么好处?
2-3 目前主要有哪些无线个域网(WPAN)技术?
2-4 要完成协议的转换,进行转换的层次必须满足什么条件?
2-5 TCP/IP是如何实现数据多路分用的?
2-6 Wi-Fi和WiMAX的含义分别是什么?
2-7 简述OSI参考模型与TCP/IP模型的关系。
3-1 直接广播和受限广播有何不同?
3-2 使用私有网络地址有什么好处?
3-3 现有一个C类网络地址块199.5.6.0,需要支持至少7个子网,每个子网最多9台主机。请进行子网规划,给出各子网的地址、可以分配给
主机的地址范围和子网广播地址。
3-4 子网号为10比特的A类地址与子网号为2比特的B类地址的子网掩码有何不同? 3-5 若IP地址为156.42.72.37,子网掩码为255.255.192.0,其子网地址是什么?
3-6 将以203.119.64.0开始的16个C类地址块构造一个超网,请给出该超网的超网地址和超网掩码。
3-7 若一个超网的地址是204.68.64.0,超网掩码是255.255.252.0,那么下列IP地址中那些地址属于该超网?
204.68.63.26 204.68.67.216 204.68.68.1 204.69.66.26 204.68.66.2
3-8 在下列地址块组中,哪个组可以构成超网?其超网掩码是什么?
a. 199.87.136.0 199.87.137.0 199.87.138.0 199.87.139.0
b. 199.87.130.0 199.87.131.0 199.87.132.0 199.87.133.0
c. 199.87.16.0 199.87.17.0 199.87.18.0
d. 199.87.64.0 199.87.68.0 199.87.72.0 199.87.76.0
3-9 以斜线表示法(CIDR表示法)表示下列IP地址和掩码。
a. IP地址:200.187.16.0,掩码:255.255.248.0
b. IP地址:190.170.30.65,掩码:255.255.255.192
c. IP地址:100.64.0.0,掩码:255.224.0.0
3-10 188.80.164.82/27的网络地址是什么?
3-11 查阅文档RFC 1219和RFC 1519。
4-1 当源主机和目的主机位于同一网络时,ARP协议解析的结果将提供什么样的(什么设备的)物理地址?
4-2 当目的主机位于远程网络时,ARP协议解析的结果将提供什么样的(什么设备的)物理地址?
4-3 当ARP/RARP报文封装在以太网帧中进行发送时,为什么要添加PAD字段?
4-4 物理网络为以太网,其上运行TCP/IP协议,主机A的IP地址为194.120.29.12,物理地址为0x0C00145B2810,主机B的IP地址为
194.120.29.28,物理地址为0x0C0014276A16,给出主机A对主机B进行地址解析的请求报文和应答报文的内容。
4-5 物理网络为以太网,其上运行TCP/IP协议,主机A的IP地址为194.120.29.12,物理地址为0x0C00145B2810,主机A为无盘计算机,RARP服
务器的IP地址为194.120.29.28,物理地址为0x0C0014276A16,给出主机A对本机进行反向地址解析的请求报文和应答报文的内容。
4-6 简述目标主机为远程主机时的信息传输过程。
5-1 IP协议为什么不提供对IP数据报数据区的校验功能?IP协议为什么要对IP数据报首部进行校验?
5-2 当IP数据报在路由器之间传输时,IP首部中哪些字段必然发生变化,哪些字段可能发生变化?
5-3 严格源路由与宽松源路由有什么区别?
5-4 为什么分片的重组必须在信宿机上进行?
5-5 计算下面数据报的校验和并给出校验过程。
5-6 一个首部长度为20字节、数据区长度为2000字节的IP数据报如何在MTU为820字节的网络中传输?
6-1 TCP/IP的可靠性思想是将可靠性问题放到传输层去解决以简化路由设备的实现。那么,请问为什么还要在IP层的ICMP中实现差错报告功
能?
6-2 源抑制包括哪三个阶段?
6-3 ICMP与IP协议是什么关系?
6-4 在利用时间戳请求应答报文进行时钟同步时,主机A的初始时间戳为32530000,接收到主机B应答时的时间戳为32530246,主机B的接收
时间戳和发送时间戳分别为32530100和32530130,主机A和主机B之间的时间差是多少? 6-5 在什么情况下主机决不会收到重定向报文?
7-1 直接传递和间接传递有什么不同?
7-2 路由信息协议RIP和开放最短路径优先OSPF有什么不同?
7-3 RIP在收到路由通告V-D报文后,为什么要将距离值加1后再逐条处理?
7-4 OSPF具有一些什么特点?
7-5 RIP、OSPF和BGP报文分别被封装在什么协议中传输?
8-1 为什么常用的服务器的端口号都采用熟知端口号,而客户端一般采用临时端口号?
8-2 TCP段首部中的序号和确认号的含义和作用是什么?
8-3 TCP段首部中的控制字段各位的含义和作用是什么?
8-4 TCP包含哪些选项?这些选项的作用是什么?
8-5 解释滑动窗口协议是如何实现流量控制的。
8-6 为了避免和消除拥塞,TCP采用了哪些策略来控制拥塞窗口?
8-7 说明图8-12中客户端的状态转换过程。
9-1 递归解析与反复解析有什么不同?
9-2 DNS是如何实现IP地址到域名的反向解析的?
9-3 DNS是如何提高解析效率的?
9-4 DNS服务器的配置文件named.conf通常包含一些什么信息?
9-5 DNS正向查询区域文件通常包含一些什么信息?
9-6 DNS反向查询区域文件通常包含一些什么信息?
10-1. 简述BOOTP协议与RARP协议的异同。
10-2. BOOTP协议和DHCP协议报文格式上存在哪些主要区别,为什么?
10-3. DHCP支持哪3种类型的地址分配?
10-4. 简述DHCP服务器的运行机制。
10-5. DHCP/BOOTP中继代理的作用是什么?
12-1 阐述简单文件传送协议TFTP和文件传送协议FTP的不同点。
12-2 指出文件传送协议FTP的文件类型。
12-3 描述FTP进程模型的五个进程和两个相关。
12-4 指出TFTP协议的五种消息。
12-5 FTP要实现的目标是什么?
12-6 FTP中传输与控制为什么采用独立的连接?
13-1 如果一个电子邮件信息被发向一个邮件列表,该列表中的每个接收方是否都保证能收到一个副本?为什么?
13-2.一些站点运行一个称为mailer的程序,它允许用户为他们自己的电子邮件地址创建任意的别名。用户可以收到发向任一别名的邮件。
允许存在别名的主要优点是什么?主要缺点是什么?
13-3 .试分析比较SMTP、MIME、POP、IMAP之间的主要区别。
13-4.分析电子邮件的格式。
14-1. 说明Telnet协议的作用
14-2. 列出Telnet协议的命令
14-3. 说明Telnet协议选项协商的含义
15-1 写出HTTP协议请求报文的完整格式。
15-2 描述HTTP协议的通信过程。
15-3 查阅有关资料,阐述HTTP1.1协议的主要新增内容。
15-4 试述HTTP的三种通信方式。
15-5 简述SSL的通信工作过程。
15-6 HTTP具有哪些特点?
16-1 什么是MIB,如何访问?
16-2 描述MIB中的主要组的作用。
16-3 简述网络管理模型的组成。
16-4 简述简单网络管理协议的功能。
16-5 数据采集的两种方法是什么?比较它们的优缺点。
17-1 简述移动IP具有的优点。
17-2 简述改善移动IP性能的途径。
17-3 解释通用路由封装GRE技术原理。
17-4 解释主动发现的代理请求消息的格式内容。
17-5 简述归属代理和外区代理以及它们的功能。
17-6 给出三种隧道技术的性能比较。
21-1 请简述IPv6相对IPv4的改进体现在哪些方面。
21-2 简述IPv4和IPv6的地址结构的不同。
21-3 下面是一些由IPv6首部,扩展首部和高层首部组成的IPv6信息包,它们出现的顺序哪些是正确的?
A IPv6首部,路由选择首部,逐跳选项首部,TCP报文段
B IPv6首部,鉴别首部,路由选择首部,TCP报文段
C IPv6首部,路由选择首部,分片首部,TCP报文段
D IPv6首部,路由选择首部,TCP报文段
21-4 请描述向IPv6过渡的隧道技术方案。
21-5 试比较IPv4和IPv6两类地址的相似点和不同点。
21-6 简述双栈网络建设的两种模式和双协议栈的具体工作方式。
21-7 为什么“::”符号在一个IPv6地址中只能出现一次?
第二篇:TCP-IP详解卷习题
1.1 请计算最多有多少个A类、B类和C类网络号。
1.2 用匿名F T P(见2 7 . 3节)从主机n i c . m e r i t . e d u上获取文件n s f n e t / s t a t i s t i c s /
h i s t o r y . n e t c o u n t。该文件包含在N S F N E T网络上登记的国内和国外的网络数。画一 坐标系,横坐标代表年,纵坐标代表网络总数的对数值。纵坐标的最大值是习题1 . 1的结 果。如果数据显示一个明显的趋势,请估计按照当前的编址体制推算,何时会用完所有 的网络地址(3 . 1 0节讨论解决该难题的建议)。
1.3 获取一份主机需求R F C拷贝[Braden 1989a],阅读有关应用于T C P / I P协议族每一层的稳健
性原则。这个原则的参考对象是什么?
1.4 获取一份最新的赋值R F C拷贝。“quote of the day”协议的有名端口号是什么?哪个R F C
对该协议进行了定义?
1.5 如果你有一个接入T C P / I P互联网的主机帐号,它的主I P地址是多少?这台主机是否接入
了I n t e r n e t?它是多接口主机吗?
1.6 获取一份RFC 1000的拷贝,了解R F C这个术语从何而来。
1.7 与I n t e r n e t协会联系,i s o c @ i s o c . o r g或者+1 703 648 9888,了解有关加入的情况。
1.8 用匿名F T P从主机i s . i n t e r n i c . n e t处获取文件a b o u t - i n t e r n i c / i n f o r m a t i o n -a b o u t - t h e - i n t e r n i c。
2.1 如果你的系统支持n e t s t a t( 1 )命令(参见3 . 9节),那么请用它确定系统上的接口及其
M T U。
3.1 环回地址必须是1 2 7 . 0 . 0 . 1吗?
3.2 在图3 - 6中指出有两个网络接口的路由器。
3.3 子网号为16 bit的A类地址与子网号为8 bit的B类地址的子网掩码有什么不同?
3.4 阅读RFC 1219 [Tsuchiya 1991],学习分配子网号和主机号的有关推荐技术。
3.5 子网掩码2 5 5 . 2 5 5 . 0 . 2 5 5是否对A类地址有效?
3.6 你认为为什么3 . 9小节中打印出来的环回接口的M T U要设置为1 5 3 6?
3.7 T C P / I P协议族是基于一种数据报的网络技术,即I P层,其他的协议族则基于面向连接的
网络技术。阅读文献[Clark 1988],找出数据报网络层提供的三个优点。
4.1 当输入命令以生成类似图4 - 4那样的输出时,发现本地A R P快速缓存为空以后,输入命令
bsdi %rsh svr4 arp -a
如果发现目的主机上的A R P快速缓存也是空的,那将发生什么情况?(该命令将在s v r 4 主机上运行a r p-a命令)。
4.2 请描述如何判断一个给定主机是否能正确处理接收到的非必要的A R P请求的方法。
4.3 由于发送一个数据包后A R P将等待响应,因此4 . 2节所描述的步骤7可能会持续一段时间。
你认为A R P将如何处理在这期间收到相同目的I P地址发来的多个数据包?
4.4 在4 . 5节的最后,我们指出Host Requirements RFC和伯克利派生系统在处理活动A R P表目
的超时时存在差异。那么如果我们在一个由伯克利派生系统的客户端上,试图与一个正 在更换以太网卡而处于关机状态的服务器主机联系,这时会发生什么情况?如果服务器 在引导过程中广播一份免费A R P,这种情况是否会发生变化?
5.1 RARP需要不同的帧类型字段吗?A R P和R A R P都使用相同的值0 x 0 8 0 6吗?
5.2 在一个有多个R A R P服务器的网络上,如何防止它们的响应发生冲突?
6.1 在6 . 2节的末尾,我们列出了5种不发送I C M P差错报文的特殊条件。如果这些条件不满足
而我们又在局域网上向一个似乎不存在的端口号发送一份广播U D P数据报,这时会发生 什么样的情况?
6.2 阅读RFC [Braden 1989a],注意生成一个I C M P端口不可达差错是否为“必须”,“应该”
或者“可能”。这些信息所在的页码和章节是多少?
6.3 阅读RFC 1349 [Almquist 1992],看看I P的服务类型字段(见图3 - 2)是如何被I C M P设置
的?
6.4 如果你的系统提供n e t s t a t命令,请用它来查看接收和发送的I C M P报文类型。
7.1 请画出7 . 2节中p i n g输出的时间线。
7.2 若把b s d i和s l i p主机之间的S L I P链路设置为9600 b/s,请计算这时的RT T。假定默认的
数据是5 6字节。
7.3 当前B S D版中的p i n g程序允许我们为I C M P报文的数据部分指定一种模式(数据部分的
前8个字节不用来存放模式,因为它要存放发送报文的时间)。如果我们指定的模式为 0 x c 0,请重新计算上一题中的答案(提示:阅读2 . 4节)。
7.4 使用压缩S L I P(C S L I P,见2 . 5节)是否会影响我们在7 . 2节中看到的p i n g输出中的时间
值?
7.5 在图2 - 4中,p i n g环回地址与p i n g主机以太网地址会出现什么不同?
8.1 当I P将接收到的T T L字段减1,发现它为0时,将会发生什么结果?
8.2 t r a c e r o u t e程序是如何计算RT T的?将这种计算RT T的方法与p i n g相比较。
8.3 (本习题与下一道习题是基于开发t r a c e r o u t e程序过程中遇到的实际问题,它们来自
于t r a c e r o u t e程序源代码注释)。假设源主机和目的主机之间有三个路由器(R 1、R 2 和R 3),而中间的路由器(R 2)在进入T T L字段为1时,将T T L字段减1,但却错误地将该
I P数据报发往下一个路由器。请描述会发生什么结果。在运行t r a c e r o u t e程序时会看 到什么样的现象?
8.4 同样,假设源主机和目的主机之间有三个路由器。由于目的主机上存在错误,因此,它
总是将进入T T L值作为外出I C M P报文的T T L值。请描述这将发生什么结果,你会看到什 么现象。
8.5 在图8 - 8运行例子中,我们可以在s u n和n e t b之间的S L I P链路上运行t c p d u m p程序。如
果指定-v选项,就可以看到返回I C M P报文的T T L值。这样,我们可以看到进入n e t b、 b u t c h、G a b b y和e n s s 1 4 2 . U T . w e s t n e t . n e t的T T L值分别为2 5 5、2 5 3、2 5 2和2 4 9。
这是否为我们判断是否存在丢失路由器提供了额外的信息?
8.6 S u n O S和S V R 4都提供了带-l选项的p i n g版本,以提供松源选路。手册上说明,该选项
可以与-R选项(指定记录路由选项)一起使用。如果已经进入到这些系统中,请尝试同 时用这两个选项。其结果是什么?如果采用t c p d u m p来观测数据报,请描述其过程。
8.7 比较p i n g和t r a c e r o u t e程序在处理同一台主机上客户的多个实例的不同点。
8.8 比较p i n g和t r a c e r o u t e程序在计算往返时间上的不同点。
8.9 我们已经说过,t r a c e r o u t e程序选取开始U D P目的主机端口号为3 3 4 5 3,每发送一个
数据报将此数加1。在1 . 9节中,我们说过暂时端口号通常是1 0 2 4 ~ 5 0 0 0之间的值,因此
t r a c e r o u t e程序的目的主机端口号不可能是目的主机上所使用的端口号。在S o l a r i s 2 . 2
系统中的情况也是如此吗?(提示:查看E . 4节)
8.10 RFC 1393 [Malkin 1993b]提出了另一种判断到目的主机路径的方法。请问其优缺点是什
么?
9.1 为什么你认为存在两类I C M P重定向报文—网络和主机?
9.2 在9 . 4节开头列出的s v r 4主机上的路由表中,到主机s l i p(1 4 0 . 2 5 2 . 1 3 . 6 5)的特定路由
是必需的吗?如果把这一项从路由表中删除会有什么变化?
9.3 考虑有一电缆连接4 . 2 B S D主机和4 . 3 B S D主机。假定网络号是1 4 0 . 1。4 . 2 B S D主机把主机号为
全0的地址识别为广播地址( 1 4 0 . 1 . 0 . 0 ),而4 . 3 B S D通常使用全1的主机号(1 4 0 . 1 . 2 5 5 . 2 5 5)发
送广播。另外,4 . 2 B S D主机在默认条件下要尽力转发接收到的数据报,尽管它们只有一
个
接口。
请描述当4 . 2 B S D主机收到一份目的地址为1 4 0 . 1 . 2 5 5 . 2 5 5的I P数据报时会发生什么事。
9.4 继续前一个习题,假定有人在子网1 4 0 . 1上的某个系统A R P高速缓存中增加了一项(用a r p
命令)内容,指定I P地址1 4 0 . 1 . 2 5 5 . 2 5 5对应的以太网地址为全1(以太网广播地址)。请
描述此时发生的情况。
9.5 检查你所使用的系统上的路由表,并解释每一项内容。
10.1 在图1 0 - 9中哪些路由是从路由器k p n o进入g a t e w a y的?
10.2 假设一个路由器要使用R I P通告3 0个路由,这需要一个包含2 5条路由和另一个包含5条路
由的数据报。如果每过一个小时,第一个包含2 5条路由的数据报丢失一次,那么其结果 如何?
10.3 OSPF报文格式中有一个检验和字段,而R I P报文则没有此项,这是为什么? 10.4 像O S P F这样的负载平衡,对于传输层的影响是什么?
10.5 查阅RFC1058 关于实现R I P的其他资料。在图1 0 - 8中,1 4 0 . 2 5 2 . 1网络的每个路由器只通
告它所提供的路由,而它并不能通过其他路由器的广播中知道任何其他路由。这种技术 的名称是什么?
10.6 在3 . 4节中,我们说过除了图1 0 - 7中所示的8个路由器外,1 4 0 . 2 5 2 . 1子网上还有超过1 0 0个主
机。那么这100个主机是如何处理每30秒到达它们的8个广播信息呢(图10-8)?
11.1 在11 . 5节中,向U D P数据报中写入1 4 7 3字节用户数据时导致以太网数据报片的发生。在
采用以太网IEEE 802封装格式时,导致分片的最小用户数据长度为多少?
11.2 阅读RFC 791[Postel 1981a],理解为什么除最后一片外,其他片中的数据长度均要求为
8字节的整数倍?
11.3 假定有一个以太网和一份8 1 9 2字节的U D P数据报,那么需要分成多少个数据报片,每个
数据报片的偏移和长度为多少?
11.4 继续前一习题,假定这些数据报片要经过一条M T U为5 5 2的S L I P链路。必须记住每一个
数据报片中的数据(除I P首部外)为8字节的整数倍。那么又将分成多少个数据报片? 每个数据报片的偏移和长度为多少?
11.5 一个用U D P发送数据报的应用程序,它把数据报分成4个数据报片。假定第1片和第2片
到达目的端,而第3片和第4片丢失了。应用程序在1 0秒钟后超时重发该U D P数据报,并
且被分成相同的4片(相同的偏移和长度)。假定这一次接收主机重新组装的时间为6 0秒, 那么当重发的第3片和第4片到达目的端时,原先收到的第1片和第2片还没有被丢弃。接 收端能否把这4片数据重新组装成一份I P数据报?
11.6 你是如何知道图11 - 1 5中的片实际上与图11 - 1 4中第5行和第6行相对应?
11.7 主机g e m i n i开机3 3天后,n e t s t a t程序显示48 000 000份I P数据报中由于首部检验和
差错被丢弃1 2 9份,在30 000 000个T C P段中由于T C P检验和差错而被丢弃2 0个。但是,
在大约18 000 000份U D P数据报中,因为U D P检验和差错而被丢弃的数据报一份也没有。 请说明两个方面的原因(提示:参见图11 - 4)。
11.8 在讨论分片时没有提及任何关于I P首部中的选项——它们是否也要被复制到每个数据报
片中,或者只留在第一个数据报片中?我们已经讨论过下面这些 I P选项:记录路由
(7 . 3节)、时间戳(7 . 4节)、严格和宽松的源站选路(8 . 5节)。你希望分片如何处理这些
选项?对照RFC 791检查你的答案。
11.9 在图1 - 8中,我们说U D P数据报是根据目的U D P端口号进行分配的。这正确吗?
12.1 广播是否增加了网络通信量?
12.2 考虑一个拥有5 0台主机的以太网:2 0台运行T C P / I P,其他3 0台运行其他的协议族。主机
如何处理来自运行另一个协议族主机的广播?
12.3 登录到一个过去从来没有用过的U n i x系统,并且打算找出所有支持广播的接口的指向子
网的广播地址。如何做到这点?
12.4 如果我们用p i n g程序向一个广播地址发送一个长的分组,如
它正常工作,但将分组的长度再增加一个字节后出现如下差错:
sun % ping 140.252.13.63 1473
PING 140.252.13.63: 1473 data bytes
sendto: Message too long
究竟出了什么问题?
12.5 重做习题1 0 . 6,假定8个R I P报文是通过多播而不是广播(使用RIP 版本2)。有什么变
化?
13.1 我们知道主机通过设置随机时延来调度I G M P的发送。一个局域网中的主机采取什么措
施才能避免两台主机产生相同的随机时延?
13.2 在[Casner and Deering 1992]中,他们提到U D P缺少两个通过M B O N E传送音频采样数据
的条件:分组失序检测和分组重复检测。你怎样在U D P上增加这些功能?
14.1 讨论一个DNS 名字解析器和一个D N S名字服务器作为客户程序、服务器或同时作为客
户和服务器的情况。
14.2 说明图1 4 - 1 2中构成响应的7 5个字节的含义。
14.3 在1 2 . 3节我们指出,一个既可接受点分十进制形式的I P地址、也可接收主机名的应用程
序,应先假定输入的是I P地址,如果失败,再假定是主机名。如果改变这个测试顺序会 出现什么情况?
14.4 每个U D P数据报有一个相应的长度。一个接收U D P数据报的进程将被告知这个长度。当
名字解析器使用T C P而不是U D P来处理查询请求时,由于T C P是没有任何记录标记的字 节流,那么应用程序是如何知道有多少数据返回?注意在D N S的报文首部(图1 4 - 3)中 没有任何长度字段(提示:查阅RFC 1035)
14.5 我们说一个名字服务器必须知道根名字服务器的I P地址,这一信息可通过匿名F T P获得。
不幸的是当根名字服务器表发生变化时,并不是所有的系统管理员都会更新他们的D N S 配置文件(根名字服务表的确会发生变化,尽管不是经常的)你认为D N S如何处理这个 问题?
14.6 利用习题1 . 8指明的文件来确定谁应负责维护根名字服务器。名字服务器更新的频度是
怎样的?
14.7 维护一个名字服务器和一个无状态的名字解析器高速缓存的问题分别是什么?
14.8 在图1 4 - 1 0的讨论中,我们指出名字服务器将对A类型记录进行排序以便在公共网中的地
址先出现。谁对A类型记录进行这种排序,是名字服务器还是名字解析器?
15.1 阅读Host Requirements RFC,了解如果一个TFTP 服务器收到的请求的目的I P地址是一
个广播地址,它将做什么。
15.2 当T F T P块号由6 5 5 3 5跳回到0时,你认为会发生什么?RFC 1350提到了如何处理这一问
题吗?
15.3 T F T P发送方采用超时重发来处理分组丢失。当T F T P作为引导进程的一部分时,这种方
法对T F T P的使用有何影响?
15.4 使用T F T P时,影响传输文件所需时间的限制性因素是什么?
16.1 我们说B O O T P优于R A R P的一个方面是B O O T P能穿越路由器,而R A R P由于使用链路层
广播则不能。在1 6 . 5节为使B O O T P穿越路由器,我们必须定义特殊的方式。如果在路
由
器中增加允许转发R A R P请求的功能会发生什么?
16.2 我们说过,当有多个客户程序同时向一个服务器发出引导请求时,因为服务器要广播多
个B O O T P应答,BOOTP 客户就必须使用事务标识来使响应与请求相匹配。但在图1 6 - 3 中,事务标识为0,表示这个客户不考虑事务标识。你认为这个客户将如何将这些响应 与其请求匹配。
17.1 我们已经介绍了以下几种分组格式:I P、I C M P、I G M P、U D P和T C P。每一种格式的首
部中均包含一个检验和。对每种分组,说明检验和包括I P数据报中的哪些部分,以及该 检验和是强制的还是可选的。
17.2 为什么我们已经讨论的所有I n t e r n e t协议(I P, ICMP, IGMP, UDP, TCP)收到有检验和错
的分组都仅作丢弃处理?
17.3 T C P提供了一种字节流服务,而收发双方都不保持记录的边界。应用程序如何提供它们
自己的记录标识?
17.4 为什么在T C P首部的开始便是源和目的的端口号?
17.5 为什么T C P首部有一个首部长度字段而U D P首部(图11 - 2)中却没有?
18.1 在1 8 . 2节我们说初始序号(I S N)正常情况下由1开始,并且每0 . 5秒增加6 4 0 0 0,每次执
行一个主动打开。这意味着I S N的最低三位通常总是0 0 1。但在图1 8 - 3中,两个方向上 I S N中的最低三位都是5 2 1。究竟是怎么回事?
18.2 在图1 8 - 1 5中,我们键入1 2个字符,看到T C P发送了1 3个字节。在图1 8 - 1 6中我们键入8
个字符,但T C P发送了1 0个字符。为什么在第1种情况下增加1个字节,而在第2种情况
下增加2个字节?
18.3 半打开连接和半关闭连接的区别是什么?
18.4 如果启动s o c k程序作为一个服务器程序,然后终止它(还没有客户进程与它相连接),
我们能立即重新启动这个服务器程序。这意味着它没有经历2 M S L等待状态。用状态变 迁来解释这一切。
18.5 在1 8 . 6节我们知道一个客户进程不能重新使用同一个本地端口,如果该端口是仍处于
2 M S L等待连接的一部分。但如果s o c k程序作为客户程序连续运行两次,并且连接到 d a y t i m e服务器上,我们就能重新使用同一本地端口。另外,对一个仍处于2 M S L等待
的
连接,也能为它创建一个替身。这将如何做?
Sun % sock –v bsdi daytime
Connected on 140.252.13.33.1163 to 140.252.13.35.13
Wed Jul 7 07:54:51 1993
Connection closed by peer
Sun % sock –v –b1163 bsdi daytime 重用相同的本地端口号
Connected on 140.252.13.33.1163 to 140.252.13.35.13
Wed Jul 7 07:55:01 1993
Connection closed by peer
18.6 在1 8 . 6节的最后,我们介绍了F I N _ WA I T _ 2状态,提到如果应用程序仅过11分钟后实行
完全关闭(不是半关闭),许多具体的实现都将一个连接由这个状态转移到C L O S E D状 态。如果另一端(处于C L O S E _ WA I T状态)在宣布关闭(即发送F I N)之前等待了1 2分
钟,这一端的T C P将如何响应这个F I N?
18.7 对于一个电话交谈,哪一方是主动打开,哪一方是被动打开?是否允许同时打开?是否
允许同时关闭?
18.8 在图1 8 - 6中,我们没有见到一个A R P请求或一个A R P应答。显然主机s v r 4的硬件地址一
定在b s d i的A R P高速缓存中。如果这个A R P高速缓存不存在,这个图会有什么变化? 18.9 解释如下的t c p d u m p输出,并和图1 8 - 1 3进行比较。
18.10 为什么图1 8 - 4中的服务器不将对客户F I N的A C K与自己的F I N合并,从而将报文段数减
少为3个?
1 8 . 11 在图1 8 - 1 6中,R S T的序号为什么是2 6 3 6 8 0 0 2 ?
18.12 TCP向链路层查询M T U是否违反分层的规则?
18.13 假定在图1 4 . 1 6中,每个D N S使用T C P而不是U D P进行查询,试问需要交换多少个报文
段?
18.14 假定M S L为1 2 0秒,
试问系统能够初始化一个新连接然后进行主动关闭的最大速
率是多
少?
18.15 阅读RFC 793,分析处于T I M E _ WA I T状态的主机收到使其进入此状态的重复的F I N时
所发生的情况。
18.16 阅读RFC 793,分析处于T I M E _ WA I T状态的主机收到一个R S T时所发生的情况。 18.17 阅读Host Requirements RFC并找出半双工T C P关闭的定义。
18.18 在图1 - 8中,我们曾提到到来的T C P报文段可根据其目的端口号进行分用,请问这种说
法是否正确?
19.1 考虑一个T C P客户应用程序,它发送一个小应用程序首部(8个字节)和一个小请求
(1 2个字节),然后等待来自服务器的一个应答。比较以下两种方式发送请求时的处理情 况:先发送8个字节再发送1 2个字节和一次发送2 0个字节。
19.2 图1 9 - 4中我们在路由器s u n上运行t c p d u m p。这意味着从右至左的箭头中的数据也需要
经过b s d i,同时从左至右的箭头中的数据已经流经b s d i。当观察一个送往s l i p的报文 段及下一个来自s l i p的报文段时,我们发现它们之间的时间差分别为:3 4 . 8、2 6 . 7、 3 0 . 1、2 8 . 1、2 9 . 9和35.3 ms。现给定在s u n和s l i p之间存在两条链路(一个以太链路和
一个9600 b/s的C S L I P链路),试问这些时间差的含义(提示:重新阅读2 . 1 0节)。 19.3 比较在使用N a g l e算法(图1 9 - 6)和禁止N a g l e算法(图1 9 - 8)的情况下发送一个特殊功
能键并等待其应答所需要的时间。
20.1 在图2 0 - 6中,我们可以看到一个序号为0的字节和一个序号为8 1 9 3的字节,试问这两个字节的含义是什么?
20.2 提前观察图2 2 - 1,并解释主机b s d i设置P U S H标志的含义。
20.3 在一个U s e n e t记录中,有人抱怨说美国和日本之间的一个128 ms时延、速率为256 000 b/s的链
路吞吐量为120 000 b/s(利用率为4 7 %),而当链路通过卫星时其吞吐量则为33 000 b/s(利用
率为1 3%)。试问在这两种情况下窗口大小各为多少(假定卫星链路的时延为500 ms)?卫星
链路的窗口大小应该如何调整?
20.4 如果A P I提供一种方法,使得发送方可以告诉其T C P打开P U S H标志,而接收方可以查询
一个接收的报文段是否被设置了P U S H标志,试问该标志能否被用作一个记录标记? 20.5 在图2 0 - 3中为什么没有合并报文段1 5和1 6?
20.6 在图2 0 - 1 3中,我们假定对应数据报文段之间的间隔,返回的A C K之间的间隔被
分隔得
很好。如果在链路某处进行缓存并使许多A C K同时到达发送方,试问会发生什么情况?
21.1 在图2 1 - 5中第1个超时时间计算为6秒而第2个为1 2秒。如果初始S Y N的确认在1 2秒超时
溢出时还没有到达,则下一次超时在什么时候发生?
21.2 在图2 1 - 5后面的讨论中,我们提到计算的超时间隔分别为图4 - 5中表示的6、2 4和4 8秒。
但是如果观察一个从S V R 4系统到一个不存在的主机的连接,则超时间隔分别为6, 12, 24 和4 8秒。请问发生了什么情况?
21.3 按下面的描述比较T C P滑动窗口协议与T F T P的停止等待协议的性能。在本章中,我们
在3 5秒(图2 1 - 6)内传输3 2 7 6 8字节的数据,其中链路的平均RT T是1 . 5秒(图2 1 -
4)。计
21.4 在第2 1 . 7节,我们提到过收到一个重复的A C K是因为一个报文段丢失或重新进行排序。
在2 1 . 5节我们看到1个丢失的报文段产生一些重复的A C K。请画图表示重新排序也会产 生一些重复的A C K。
21.5 在图2 1 - 6中的时刻2 8 . 8和2 9 . 8之间有一个显而易见的点,请问这是不是一个重传?
21.6 在2 1 . 6节我们提到过,如果目的地址位于一个不同的网络上,4.3BSD Ta h o e版本只执行
慢启动。你认为在这里“不同的网络”是由什么决定的?(提示:参看附录E)。
21.7 在2 0 . 2节我们提到过,在正常情况下,T C P每隔一个报文段进行一次确认,但是在图2 1 -2中,我们看到接收方对每个报文段都进行了确认,请解释其中的原因? 21.8 如果默认路由占优势,那么每路由(p e r- r o u t e)的度量是否真的有用?
22.1 在图2 2 - 3中注意到所有确认(报文段5、7、9、11、1 3、1 5和1 7)的发送时刻为:0.170, 5.170、
1 0 . 1 7 0、1 5 . 1 7 0、2 0 . 1 7 0和2 5 . 1 7 0,还注意到在接收数据和发送A C K之间的时间差分别为:
1 6 4 . 5、1 8 . 5、1 8 . 7、1 8 . 8、1 9 8 . 3、1 8 . 5和19.1 ms。试解释可能会发生的情况。 22.2 在图2 2 - 3中的时刻2 5 . 1 7 4,发送出一个7 6 7字节的通告窗口,而在接收缓存中有7 6 8字节
的可用空间。为什么相差1个字节?
23.1 列出保活功能的一些优点。
23.2 列出保活功能的一些缺点。
24.1 当一个系统发送一个开始的S Y N报文段,其窗口扩大因子为0,这是什么含义? 24.2 如果在图2 4 - 7中的主机b s d i支持窗口扩大选项,则来自v a n g o g h的报文段3的16 bit窗
口大小字段中的期望值是多少?类似地,如果在该图的第2个连接中也使用这个选项, 那么报文段1 3中的窗口通告应该是多少?
24.3 与在建立连接时的固定窗口扩大因子不同,已经定义过的窗口扩大因子能否在扩大因子
变化时也出现呢?
24.4 假定M S L为2分钟,那么在什么速率下序号回绕会成为一个问题呢?
24.5 PAW S被定义为只在一个单独的连接中进行。为了使T C P将PAW S来替换2 M S L等待(即
T I M E _ WA I T状态),需要进行什么改动?
24.6 在2 4 . 4节最后的例子中,为什么s o c k程序在紧接着(具有I P地址和端口)后面的一行
之前,将接收缓存的大小来输出呢?
24.7 假定M S S为1 0 2 4,重新计算2 4 . 8节中的吞吐量。
24.8 时间戳选项是如何影响K a r n算法(见2 1 . 3节)的?
24.9 如果主动建立连接的T C P发送带有S Y N标志的报文段(没有使用我们在2 4 . 7节介绍的扩
展),那么接收T C P应该怎样处理这些数据呢?
24.10 在2 4 . 7节我们提到如果没有使用T / T C P扩展,即使主动开启方发送带有F I N的数据,客
户在接收服务器的响应的时延仍然是两倍的RT T再加上S P T。给出符合这种情况的报文 段。
2 4 . 11 假定支持T / T C P,且源自伯克利系统的最小RTO为0 . 5秒,重做习题1 8 . 1 4。 24.12 如果我们实现了T / T C P,并测量两个主机之间的事务时间,那么可以通过比较什么指
标来确定它的有效性?
25.1 我们说过采用两个不同的U D P端口(1 6 1和1 6 2)可以使得一个系统既可以是管理进程,也可以
是代理进程。如果对管理进程和代理进程采用一个同样的端口,会出现什么情况? 25.2 用g e t - n e x t操作,如何列出一张路由表的完整信息?