2复习题
1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; email: SMTP.
2. P51 网络体系结构是指以分层的方式来描述通信过程的组织体系。(例如五层网络结构)另一方面,应用体系
结构是由应用程序的研发者设计,并规定应用程序的主要结构(例如 客户机/服务器或P2P)从应用程序研发者的角度看,网络体系结构是固定的,并为应用程序提供了特定的服务集合。
3. P52 在即时讯息中,发起人连接到中心服务器,查找接收方的IP地址是典型的客户机/服务器模式。在这之后,
即时信息可以在相互通信的双方进行直接的端到端通信。不需要总是打开的中间服务器。 4. P53 发起通信的进程为客户机,等待联系的进程是服务器。
5. No. As stated in the text, all communication sessions have a client side and a server side. In a P2P file-sharing
application, the peer that is receiving a file is typically the client and the peer that is sending the file is typically the server.
6. P54 目的主机的IP地址和目的套接字的端口号。
7. 在日常生活中你或许会使用Web浏览器和邮件阅读器。你或许还会用到FTP用户代理,Telnet用户代理,音频
/视频播放器用户代理(比如Real Networks player),即时信息代理,P2P文件共享代理。
8. There are no good examples of an application that requires no data loss and timing. If you know of one, send an e-mail
to the authors.
9. 当两个通信实体在相互发送数据前第一次交换控制分组信息时使用握手协议。SMTP在应用层使用握手协议。
然而HTTP不是这样。 10. P56、57 因为与这些协议相联系的应用都要求应用数据能够被无差错的有序的接收。TCP提供这种服务,而UDP
不提供。TCP提供可靠的数据传输服务,而UDP提供的是不可靠数据传输。
11. P66 当用户第一次访问一个站点。这个站点返回一个cookie号码。这个cookie码被存储在用户主机上并由浏览
器管理。在随后的每次访问(和购买)中,浏览器将这个cookie码回送该站点。这样当用户访问该站点时,都会被该站点所知道。
12. P62 在非流水线的HTTP持久连接中,客户机只能在接收到服务器发来的前一个响应后才能发出新的请求。在
流水线的HTTP持久连接中,浏览器只要有需要就会发出请求,不需要等待服务器的响应信息。HTTP/1.1的默认模式使用了流水线方式的持久连接
13. P67 Web缓存能够使用户所希望的内容距离用户更近,或许就在用户主机所连接的局域网内。Web缓存能够减
小用户请求的所有对象的时延,即使是该对象没有被缓存,因为缓存能够减少链路上的流量。因此改善了所有应用的性能。因为一般情况下客户机与Web缓存器的瓶颈带宽要比客户机与起始服务器之间的瓶颈带宽大的多。如果用户所请求的对象在Web缓存器上,则该Web缓存器可以迅速将该对象交付给用户。 14. 实验题,应该不考吧。。。。。。
15. P70、71 FTP使用两个并行的TCP连接,一个连接用来传送控制信息(例如一个传送文件的请求),另一个连
接用于准确地传输文件。因为控制信息不是在文件传输地连接上传送,所以FTP的控制信息是带外传送的。 16. P81 信息从Alice的主机发送到她的邮件服务器,使用HTTP协议。然后邮件从Alice的邮件服务器发送到Bob
的邮件服务器,使用SMTP协议。最后Bob将邮件从他的邮件服务器接收到他的主机,使用POP3协议。 17. 无。
18. P80 在下载并删除方式下,在用户从POP服务器取回他的邮件后,信息就被删除调。这就为移动的用户带来一
个问题。因为该用户有可能想从不同的机器上访问邮件。(办公PC,家用PC等)。在下载并保留方式下,在用户取回邮件后,邮件不会被删除。这同样也会带来一些不便。因为每次当用户在一台新的机器上取回存储的邮件时,所有的没有被删除的信息都将会被传送的新的机器上(包括非常老的邮件)。
19. P88 是的,一个机构的邮件服务器和Web服务器可以有完全相同的主机名别名。MX记录被用来映射邮件服务
器的主机名到它的IP地址。如果Type=MX,则Value是别名为Name的邮件服务器的规范主机名。RR:resource record. 为了获得邮件服务器的规范主机名,DNS客户机应当请求一条MX记录;而为了获得其他服务器的规范主机名,DNS客户机应当请求CNAME记录。Type=CNAME
20. P93 P2P文件共享系统的覆盖网络包括参与到文件共享系统中的节点和节点间的逻辑连接。如果A和B之间有
一条非永久性的TCP连接,那么我们说在A和B之间有一条逻辑连接(在图论领域被称为一条“边”)。一个覆盖网络不包括路由器。在Gnutella网络中,当一个节点想要加入到Gnutella网络,它首先发现已经在网络中 的
WRI 研究生0601
一个或多个节点的IP地址。然后它向这些节点发送加入请求信息。当这个节点接收到确认信息时,它就成为了Gnutella网络的一员。节点通过周期性的更新信息保持它们的逻辑连接。(在Gnutella中,对等方形成了一个抽象的逻辑网络,该网络被称为覆盖网络。用图论的术语来说,如果对等方A与另一个对等方B维护了一条TCP连接,那么我们说在A和B之间有一条边。该图由所有活跃的对等方和连接的边(持续的TCP连接)组成,该图定义了当前的Gnutella覆盖网络。
21. Three companies as of this writing (August 2004) are KaZaA, eDonkey, Bit Torrent.
Napster提供集中式目录来跟踪位于对等方中的内容。Gnutella使用全分布方法定位内容。KaZaA结合了前二者的思想,通过指派少量更有权力的对等方作为组长,利用了对等方的不均匀性,形成了一个层次覆盖网络的顶层。
22. P99、104 对于UDP服务器,没有欢迎套接字,所有来自不同客户机的数据通过同一个套接字进入服务器。对
于TCP服务器,有欢迎套接字,每次一个客户机建立一个到服务器的连接,就会建立一个新的 套接字。因此,为了同时支持n个连接,服务器需要n+1个套接字。
23. 对于TCP应用,一旦客户机开始执行,它就试图建立一个到服务器的TCP连接。如果TCP服务器没有运行,
那么客户机就会建立连接失败。对于UDP应用,客户机不需要在其执行的时候立即建立连接(或试图与UDP服务器通信)。
习题
1. a) F P62 b) T P62 c) F P61 d) F P64 Data首部行表示服务器产生并发送响应报文的日期和时间。 2. Access control commands: USER, PASS, ACT, CWD, CDUP, SMNT, REIN, QUIT.
Transfer parameter commands: PORT, PASV, TYPE, STRU, MODE. Service commands: RETR, STOR, STOU, APPE, ALLO, REST, RNFR, RNTO, ABOR, DELE,RMD, MRD, PWD, LIST, NLST, SITE, SYST, STAT, HELP, NOOP. 3. SFTP: 115, NNTP: 119.
4. Application layer protocols: DNS and HTTP Transport layer protocols: UDP for DNS; TCP for HTTP
5. Persistent connections are discussed in section 8 of RFC 2616 (the real goal of this question was to get you to retrieve
and read an RFC). Sections 8.1.2 and 8.1.2.1 of the RFC indicate that either the client or the server can indicate to the other that it is going to close the persistent connection. It does so by including the connection-token \"close\" in the Connection-header field of the http request/reply.
客户机和服务器都可以向对方声明它准备关闭持久连接。通过在HTTP请求/响应中的Connection首部行中包含Connection: close 来完成此项操作。加密服务????
6. The total amount of time to get the IP address is RTT1 + RTT 2+ Λ + RTTn .Once the IP address is known, RTT0 elapses
to set up the TCP connection and another RTT0 elapses to request and receive the small object. The total response time is 2RTT0 + RTT 1+ RTT2 + Λ + RTTn
7. a)RTT 1 + Λ + RTTn+2RTT0+3×2RTT0=8RTT0+RTT 1 + Λ + RTTn b) RTT 1 + Λ + RTTn+2RTT0+2RTT0=4RTT0+RTT 1 + Λ + RTTn c) RTT 1 + Λ + RTTn+2RTT0+RTT0=3RTT0+RTT 1 + Λ + RTTn
8. HTTP/1.0: GET, POST, HEAD.P63 当浏览器请求一个对象时,使用GET方法。HTTP客户机常常在用户提交表
单时使用POST方法,例如用户向搜索引擎提供搜索关键词。实体中包含的就是用户在表单字段中的输入值。当服务器收到HEAD方法的请求时,会用一个HTTP报文进行响应,但是并不返回请求对象。应用程序开发者常用HEAD方法进行故障跟踪。HTTP/1.1: GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE, CONNECT. See RFCs for explanations. PUT方法常与Web发布工具联合使用,它允许用户把对象上传到指定Web服务器的指定路径下。PUT方法也被那些需要向Web服务器上传对象的应用程序使用。DELETE方法允许用户或者应用程序删除Web服务器上的对象。
9. a)通过一个传输速率为R的链路传输长度为L的对象需要的时间是L/R。平均时间是对象的平均大小除以R: Δ=
(900,000 bits)/(1,500,000 bits/sec) = 0.6 sec 链路的流量强度是:βΔ=(1.5 requests/sec)(0.6 sec/request) = 0.9. 因此,平均访问时延是:Δ/(1-βΔ)=(0.6 sec)/(1 -0 .9) = 6 seconds.因此,总的平均响应时间是:6 sec + 2 sec = 8 sec. b) 因为有40%的请求有机构的网络满足,所以访问链路的流量强度减少了40%。因此平均访问时延是:(0.6 sec)/[1 – (0.6)(0.9)] = 1.2 seconds 如果请求由缓存器满足的话,其响应时间近似为0。当缓存器未命中时,平均响应时间是1.2 sec + 2 sec = 3.2 sec 因此平均响应时间是:(0.4)(0 sec) + (0.6)(3.2 sec) = 1.92 seconds 因此平均响应
WRI 研究生0601
时间由8sec减少到1.92sec。 10. 无。
11. UIDL是唯一识别码列表的缩写。当一个POP3客户端发出一个UIDL命令,服务器返回储存在用户邮箱里的所
有邮件的唯一邮件识别码。这个命令对下载并保留方式有用。通过保留上次收取的邮件的列表信息,客户能够使用UIDL命令来确定在服务器上的哪些邮件是已经被阅读过的。 12. a) C: dele 1
C: retr 2
S: (blah blah … S: ………..blah) S: .
C: dele 2 C: quit
S: +OK POP3 server signing off b) C: retr 2 S: blah blah … S: ………..blah S: . C: quit
S: +OK POP3 server signing off c) C: list S: 1 498 S: 2 912 S: . C: retr 1 S: blah ….. S: ….blah S: . C: retr 2
S: blah blah … S: ………..blah S: . C: quit
S: +OK POP3 server signing off
13. a)对于一个给定的域名,IP地址或网络管理员名的输入,whois数据库能被用来定位相应的登记人,whois服务
器,DNS服务器等。
f) 一个入侵者能使用whois数据库和nslookup工具来检测目标机构的IP地址范围,DNS服务器地址等。
g) 通过分析攻击包的源地址信息,受害者能够使用whois来掌握有关于攻击来源的域的信息,并能够通知来源域的管理员。
14. 因为是全双工链路,你在每个方向都有128kbps,上载不会影响下载。然而,对于不对称链路,由于metered acks
上载能够显著的减少下载速率。
15. 在覆盖网络中有N个节点和N(N-1)/2条边。
16. a) 在这种情况下,这五个Gnutella客户都立即知道它们少了一个邻居。考虑五个客户中的一个,比如Bob。假
设当X离开后,Bob只有三个邻居。这是Bob需要同另一个对等点建立TCP连接。Bob要有一个活跃对等点的最新列表;他不断地连接列表中地对等点知道其中一个接收它的TCP连接请求。
b)在这种情况下,Bob不能立即知道X已经离开了。只有当他尝试向X发送信息(query或ping)时,Bob才会知道X已经离开。当Bob尝试发送信息时,Bob的TCP将会产生数个不成功的连接信息。这时Bob的TCP将会通知Gnutella客户机X已经离开。然后Bob将会尝试与一个新的对等点建立TCP连接,以此重建第五个连接。 17. a)在直接连接Bob和Alice的TCP上传送QueryHit信息的优点是QueryHit信息在因特网的基本路由上传送,没
WRI 研究生0601
有经过中间对等点,因此,从Bob到Alice的传送信息的时延要短。缺点是每个有匹配信息的对等点都要求Alice打开一个TCP连接;因此Alice或许不得不为一个查询打开数十或数百个TCP连接。并且,当Alice在NAT后面时情况会更复杂。
b) 当一个Query信息到达一个对等点时,该对等点就将MessageID和与信息到达相关的TCP套接字记录在列表中。当该对等点接收到带有同样MessageID的QueryHit信息时,它就检索列表来查询到它应该将信息发往哪个套接字。
c) 当Query信息到达Bob时,它将包含信息从Alice到达Bob所经过的所有对等点的IP地址的顺序列表。当Bob回传一个QueryHit信息时,它将把这个顺序列表拷贝到信息中,当一个对等点接收到QueryHit信息时,他就能用这个列表来决定它要发送的下一个对等点。
18. 对于Ping/Pong信息的状况答案没有改变,只需把Query信息变为Ping信息,QueryHit信息变为Pong信息。 19. a)每一个超级组长大约负责2002 = 40,000个对等点。因此,我们将需要大约100个超级组长来支持4百万的对
等点。
b) 每个组长将储存其子对等方共享的所有文件的元数据;一个超级组长将储存其子组长所储存的所有元数据。一个普通对等方首先将发送一个query到它的组长。这个组长将以一个匹配回应,并有可能将这个query发送给它的超级组长。超级组长将回应一个匹配信息(通过覆盖网络)。超级组长还有可能进一步将这个query发送给其他的超级组长。
20. Alice发送她的query到至多N个邻居。每个邻居又发送这个query到至多M=N-1个邻居。这些邻居中的每一个
又将这个query发送到至多M个邻居,因此最大的查询报文数为: N + NM + NM2 + … + NM(K-1)= N(1 + M + M2 + … + M(K-1) ) = N(1-MK)/(1-M)= N[(N-1)K- 1]/(N-2) .
21. a)如果先运行TCP客户机,那么客户机将试图与不存在的服务器进程建立TCP连接。TCP连接将无法完成。 b) UDP客户机不和服务器建立TCP连接。因此,先运行UDP客户机,再运行UDP服务器是可以的,不会出错。当客户机和服务器运行起来后,你可以使用该应用程序再客户机上输入一行。
d) 如果使用了不同的端口号,那么客户机将会试图和一个错误的进程或一个不存在的进程建立TCP连接,将会出错。
22. See Web-server programming assignment for this chapter for guidance.
23. 在原来的行中,UDP客户机在创建一个套接字时没有指定端口号,在这种情况下,编码让下面的操作系统选择
一个端口号。在替换行中,当UPD客户机执行时,一个UDP套接字以端口号5432建立。UDP服务器需要知道客户机端口号以便于它能够将分组回送给正确的客户机套接字。查看UDP服务器的编码我们就会看到客户机的端口号不是固定在服务器编码中的;相反,UDP服务器通过拆开它从客户机接收到的数据报(使用getPort())来确定客户机的端口号。因此UDP服务器能与客户机的任何端口号协同工作,包括5432。所以UDP服务器不需要修改。 Before:
Client socket = x (chosen by OS) Server socket = 9876 After:
Client socket = 5432 Server socket = 9876
因篇幅问题不能全部显示,请点此查看更多更全内容