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 应用,客户机不需要在其执行的时候立即建立连接(或试图与 UD P
服务器通信)。
习题
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 RTT
1
+ RTT
2
+ Λ + RTT
n
.Once the IP address is known,
RTT
0
elapses
to set up the TCP connection and another
RTT
0
elapses to request and receive the small object. The total response time
is 2 RTT
0
+ RTT
1
+ RTT
2
+ Λ + RTT
n
7. a) RTT
1
+ Λ + RTT
n
+ 2 RTT
0
+ 3 × 2 RTT
0
= 8 RTT
0
+ RTT
1
+ Λ + RTT
n
b) RTT
1
+ Λ + RTT
n
+ 2 RTT
0
+ 2 RTT
0
= 4 RTT
0
+ RTT
1
+ Λ + RTT
n
c) RTT
1
+ Λ + RTT
n
+ 2 RTT
0
+ RTT
0
= 3 RTT
0
+ RTT
1
+ Λ + RTT
n
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 因此平均响应