2 24 4 25 8 26
《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子47
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 发来的任何数据分组,只等待连接确 认应答分组。
《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子48
而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 其中,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 总耗时=2*RTT+(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 回答报文给本地域名服务器,然后本地域名 《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子49 服务器再回答发起查询的主机。但当根域名服务器没有被查询的主机的信息时,它一 定知道某个保存有被查询的主机名字映射的授权域名服务器的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的主要区别是什么?各用在什么场合? 答: 《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子50 (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 脚本。按照计算机科学的一般概念。 浏览器:一个浏览器包括一组客户程序、一组解释程序,以及一个控制程序。 超文本:超文本的基本特征就是可以超链接文档;你可以指向其他位置,该位 置可以在当前的文档中、局域网中的其他文档,也可以在因特网上的任何位置的文 档中。这些文档组成了一个杂乱的信息网。目标文档通常与其来源有某些关联,并 《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子51 且丰富了来源;来源中的链接元素则将这种关系传递给浏览者。 超媒体:超级媒体的简称,是超文本(hypertext)和多媒体在信息浏览环 境下的结合。 超链:超链接可以用于各种效果。超链接可以用在目录和主题列表中。浏览者