计网习题——第二章

2.1节
R1.列出5种非专用的因特网应用及它们所使用的应用层协议。

web : http
文件传输:FTP
电子邮件:SMTP
BITTORRENT文件共享:BITTORRENT
DNS
TELNET

R2.网络体系结构与应用程序体系结构之间有什么区别?

R3.对两进程之间的通信会话而言,哪个进程是客户,哪个进程是服务器?
发起通信的是客户、等待连接的是服务器。

R4.对一个P2P文件共享应用,你同意“一个通信会话不存在客户端和服务器端的概念”的说法吗?为什么?
错,在P2P中,每一方都可以成为客户端或服务器端,并不代表不存在。

R5.运行在一台主机上的一个进程,使用什么信息来标识运行在另一台主机上的进程?
IP地址和端口号。

R6.假定你想尽快地处理从远程客户到服务器的事务,你将使用UDP还是TCP?为什么?
UDP可以在一个RTT中完成事务,而TCP至少需要两个。

R7.参见图2-4,我们看到在该图中所列出的应用程序没有一个同时既要求无数据丢失又要求定时的。你能设想一个既要求无数据丢失又高度时间敏感的应用程序吗?

R8.列出一个运输协议能够提供的4种宽泛类型的服务。对于每种服务类型,指出是UDP还是TCP (或这两种协议)提供这样的服务?
可靠数据传输:TCP
保证一定的吞吐量:都没有
保证在指定时间内交付数据:都没有
机密性:都没有

2.2~2.5 节
R10.握手协议的作用是什么?
建立连接
如果两个通信实体在相互发送数据之前先交换数据包,则协议使用握手协议。

R11.为什么HTTP、FTP、SMTP及POP3都运行在TCP,而不是UDP上?

因为这些协议都要求应用程序数据以正确的顺序接收且没有间隙。
对实时性要求比较低。

R12.考虑一个电子商务网站需要保留每一个客户的购买记录。描述如何使用cookie来完成该功能?

客户端向服务器发送一个普通HTTP报文,服务器接收到该报文后,生成一个唯一识别码,并以此为索引在其后端数据库中产生一个表项。接下来,服务端发送一个带有SET_COOKIE首部的HTTP响应报文给客户端,浏览器收到该请求报文后,会将服务器主机名和识别码保存到它管理的特定文件中。之后每请求一个WEB页面,浏览器就会查询COOKIE文件并抽取该识别码放到HTTP请求报文中去。

R13.描述Web缓存器是如何减少接收被请求的对象的时延的。Web缓存器将减少一个用户请求的所有对象或只是其中的某些对象的时延吗?为什么?

过程:
浏览器创建一个到WEB缓存器的TCP连接,并向WEB缓存器中的对象发送一个HTTP连接请求,WEB缓存区检查本地储存的对象,如果有,就向浏览器返回该对象。如果没有,他就打开一个与该对象的初试服务器的TCP连接,并发送一个该对象的HTTP请求。在收到该请求后,初试服务器向WEB缓存器发送该HTTP的响应报文。当WEB缓存器接收到该请求后,它在本地储存空间储存一个副本,并向客户的浏览器用HTTP发送该副本。

R14. Telnet到一台Web服务器并发送一个多行的请求报文。在该请求报文中包含If - modified - since :首部行,迫使响应报文中出现“304 Not Modified"状态代码。

R15.为什么说FTP在“带外”发送控制信息?

FTP使用两个并行的TCP连接,一个连接用于发送控制信息,另一个连接用于实际传输文件。因为控制信息不是通过与发送文件相同的连接发送的,所有FTP会带外发送控制信息。

R16.假定Alice使用一个基于Web的电子邮件账户(例如Hotmai 1或gmail)向Bob发报文,而Bob使用 POP3从他的邮件服务器访问自己的邮件。讨论是怎样从Alice主机到Bob主机得到该报文的。要列出在两台主机间移动该报文时所使用的各种应用层协议。

Alice调用她的用户代理并提供BOB的邮件地址,撰写报文,然后指示用户代理发送该报文。用户代理把报文发送给她的邮件服务器,放入报文队列中。邮件服务器上的SMTP客户端发现了该报文,建立一个到BOB邮件服务器上的SMTP服务器的TCP连接。经过一些SMTP握手之后,SMTP通过TCP发送该报文。在BOB的邮件服务器上,SMTP的服务器端接收该报文,并将该报文放到BOB的邮箱中。用户代理打开了一个到邮件服务器端口 110上的TCP连接后,用户代理发送(以明文形式)用户名和口令以鉴别用户。用户代理取回报文;客户发出了quit命令之后,目的是结束该POP3会话;

R18.从用户的观点看,POP3协议中下载并删除模式和下载并保留模式有什么区别吗?

R19. 一个机构的Web服务器和邮件服务器可以有完全相同的主机名别名(例如,foo. com)吗?包含邮件服务器主机名的RR有什么样的类型?
可以、

2.6节
R21.在BitToirent中,假定Alice向Bob提供一个30秒间隔的文件块吞吐量。Bob将必须进行回报,在相同的间隔中向Alice提供文件块吗?为什么?
R22.考虑一个新对等方Alice加入BitTorrent而不拥有任何文件块。没有任何块,因此她没有任何东西可上载,她无法成为任何其他对等方的前4位上载者。那么Alice将怎辱到她的第一个文件块呢?
R23.覆盖网络是什么?它包括路由器吗?在覆盖网络中边是什么?
R24.考虑一个具有网状覆盖网络拓扑的DHT (即每个对等方跟踪系统中的所有对等方)。这样设计的优 点和缺点各是什么?环形DHT (无捷径)的优点和缺点各是什么?

R25.列出至少4个不同的应用,它们本质上适合P2P体系结构。

文件分发
及时通讯
视频流
分布式计算

2.7节
R26. 2. 7节中所描述的UDP服务器仅需要一个套接字,而TCP服务器需要两个套接字。为什么?如果TCP服务器支持n个并行连接,每条连接来自不同的客户主机,那么TCP服务器将需要多少个套接字?

对于UDP服务器,没有欢迎的套接字,并且来自不同客户端的所有数据都通过该套接字进入服务器。对于TCP服务器,有一个欢迎的套接字(用于客户和服务器建立连接),并且每次客户端启动与服务器的连接时,都会创建一个新的套接字。因此为了支持N个同时连接,服务器需要N+1个套接字。

R27.对于2. 7节所描述的运行在TCP之上的客户-服务器应用程序,服务器程序为什么必须先于客户程序运行?对于运行在UDP之上的客户-服务器应用程序,客户程序为什么可以先于服务器程序运行?

对于TCP程序,客户端一旦执行,他将尝试与服务器的TCP连接。如果TCP服务器未运行,则客户端将无法建立连接。对于UDP应用程序,客户端不会在执行后立即启动连接。

P1.是非判断题。
a-假设用户请求由某些文本和3幅图像组成的Web页面。对于这个页面,客户将发送一个请求报文
并接收4个响应报文。 (T)
b. 两个不同的 Web 页面(例如,www. mit. edu/research, html 及 www. tniL edu/students, html)可以通
过同一个持续连接发送。 (F)
c. 在浏览器和初始服务器之间使用非持续连接的话,一个TCP报文段是可能携带两个不同的HTTP
服务请求报文的。 (F)
d. 在HTTP响应报文中的Date:首部指出了该响应中对象最后一次修改的时间。 (F)
e. HTTP响应报文决不会具有空的报文体。(F)

你可能感兴趣的:(计算机网络)