Course: CISC 856 TCP/IP & Upper layer protocols Semester: Fall 08 Document: Homework Mail : [email protected]

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 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 without notifying its five neighbors. What would happen to those neighbors?

Q5. Query flooding in P2P networks. Here, we explore the reverse-path 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 mes- sage, 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.

B E

A C F

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?