課後習題和問題 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服務器通信)。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章