Course: CISC 856 TCP/IP & Upper layer protocols

advertisement
Course: CISC 856 TCP/IP & Upper layer protocols
Semester: Fall 08
Document: Gnutella Homework
Mail : abu@udel.edu
Q1. What is an overlay network in a P2P file-sharing system? Does the overlay
network include routers? What are the edges in the overlay network? How is the
Gnutella overlay network created and maintained?
Q2. (Refer Computer Networking: Top Down Approach – Kurose and Ross)Consider
query flooding as we have discussed in the class. Suppose that each peer is connected
to 3 neighbours in an overlay network that contain about 1000 nodes and TTL is 4.
Also assume there is no loop between any two nodes.
a. What is the upper bound on the number of messages that are sent into
the overlay network for each query that a node makes ?
b. What is the lower bound ?
Q3. Suppose there are N active peers in the Gnutella network, and each pair of peers
has an active TCP connection. Additionally, suppose that TCP connections pass
through a total of M routers. How many nodes and edges are there in the
corresponding overlay network?
Q4. In this problem we want to explore what happens when a peer leaves the Gnutella
network. Suppose every participating node maintains TCP connections to at least four
distinct peers at all times. There is a Peer X, which has five TCP connections to other
peers, wants to leave.
1. Peer X takes a graceful departure behavior, that is X explicitly closes
his application and closes its five TCP connections. What actions
would each of the five formerly connected peers take?
2. If Peer X abruptly disconnects from the Internet without notifying its
five neighbors. What would happen to those neighbors?
Q5. Query flooding in P2P networks. Here, we explore the reverse-path routing
of the QueryHit messages in Gnutella. Suppose that Alice issues a Query
message. Furthermore, suppose that Bob receives the Query message (which
may have been forwarded by several intermediate peers) and has a file that
matches the query.
a. Recall that when a peer has a matching file, peer sends a QueryHit message
along the reverse path of the corresponding Query message. An alternative
design would be for Bob to establish a direct TCP connection with
Alice and send the QueryHit message over this connection. What are the
advantages and disadvantages of such an alternative design?
b. In the Gnutella protocol, when the peer Alice generates a Query message,
with a unique ID in the message’s MessageID field. When the
peer Bob has a match, peer generates a QueryHit message using the same
MessageID as the Query message. Describe how peers can use the MessageID
field and local routing tables to accomplish reverse-path routing.
c. An alternative approach, which does not use message identifiers, is as follows.
When a query message reaches a peer, before forwarding the message, the peer augments the query message with its IP address. Describe
how peers can use this mechanism to accomplish reverse-path routing.
Q6. What is the well known port number used by a Gnutella client?
Q7. Name atleast 3 client software that uses Gnutella protocol.
Q8. How a query flooding is limited in Gnutella overlay network?
Q9. Consider a Gnutella network with 7 nodes. Refer the figure 1.
E
B
A
F
C
D
G
Figure 1
i). Node A sends a ping message to the neighbouring nodes with TTL = 4.
a) How many pong messages does node A receives?
b) What is loop detection in Gnutella and how is it done?
c) Did you identify any loop in this scenario? If yes, between which nodes?
ii). Node A sends a query message to the neighbouring nodes with TTL = 3.
a) The requested file is available with node C and node F. But only node F sends
query hit message to node A. Why node C didn’t send the query hit message to
node A?
b) What will be the descriptor id in the query hit message sent by node F to node
A?
iii) How does node D checks whether it is connected to node G or not?
Q10. What is GWebcache? How it works?
Download