首页 > 代码库 > 课后习题和问题 review 问题 2.6节 2.7节

课后习题和问题 review 问题 2.6节 2.7节

2.6节

 

R21.在BitTorrent中,假定Alice向Bob提供一个30秒间隔的文件块吞吐量。Bob将必须进行回报,在相同的间隔中向Alice提供文件块吗?为什么?

 

It is not necessary that Bob will also provide chunks to Alice. Alice has to be in the

top 4 neighbors of Bob for Bob to send out chunks to her; this might not occur even if

Alice provides chunks to Bob throughout a 30-second interval.


它是没有必要的鲍勃还将提供块给Alice。Alice有要在

鲍勃前4邻居鲍勃发出大块给她;这可能不会发生,即使

爱丽丝提供在整个30秒间隔块给Bob。


R22.考虑一个新对等方Alice加入BitTorrent而不拥有任何文件块。没有任何块,因此她没有任何东西可上载,她无法成为任何其他对等方的前4位上载者。那么Alice将怎样得到她的第一个文件块呢?


Recall that in BitTorrent, a peer picks a random peer and optimistically unchokes the

peer for a short period of time. Therefore, Alice will eventually be optimistically

unchoked by one of her neighbors, during which time she will receive chunks from

that neighbor.

 

R23.覆盖网络是什么?它包括路由器吗?在覆盖网络中边是什么?

  

The overlay network in a P2P file sharing system consists of the nodes participating

in the file sharing system and the logical links between the nodes. There is a logical

link (an “edge” in graph theory terms) from node A to node B if there is a semi-

permanent TCP connection between A and B. An overlay network does not include

routers.

  

在一个P2P文件共享系统中的覆盖网络包括节点的参与在文件共享系统和节点之间的逻辑链路。

有一个逻辑链路从节点A(在图论术语“边缘”),链接到节点B,如果有一个半A和B的覆盖网络之间永久的TCP连接不包括

路由器。

 

R24.考虑一个具有网状覆盖网络拓扑的DHT(即每个对等方跟踪系统中的所有对等方)。这样设计的优点和缺点各是什么?环形DHT(无捷径)的优点和缺点各是什么?

 

Mesh DHT:它的优点是,以一个路由到对目标(具有ID)的消息

最靠近的关键,仅需要一个hop;

缺点是每一个主机必须跟踪在DHT中所有其他主机。

圆形的DHT:优点是,每个主机需要跟踪只有少数其他主机;

缺点是O(N)hops需要路由一个消息到最接近的key的对方主机。


R25.列出至少4个不同的应用,它们本质上适合P2P体系结构。(提示:文件分布和即时讯息是两个这样的应用。)


a) File Distribution

b) Instant Messaging

c) Video Streaming

d) Distributed Computing

 


2.7节

 

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

 

UDP服务器中,是没有welcoming socket的,来自不同客户机的所有数据

通过该一个scoket进入服务器。

TCP服务器中,有一个welcoming socket,而每个客户机发起到服务器的连接时,一个新的套接字被创建。因此,为支持n个联立连接时,服务器将需要n + 1个socket。


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


对于TCP应用,只要在执行客户端时,它会尝试发起TCP与服务器连接。如果TCP服务器没有运行,则客户端将无法建立连接。对于UDP应用,客户端在立即执行后不发起连接(或试图与UDP服务器通信)。


课后习题和问题 review 问题 2.6节 2.7节