Presentation is loading. Please wait.

Presentation is loading. Please wait.

EMule behind the scenes. Overview Extends the eDonkey protocol File sharing network Several hundreds of eMule servers Millions of eMule clients Each server.

Similar presentations


Presentation on theme: "EMule behind the scenes. Overview Extends the eDonkey protocol File sharing network Several hundreds of eMule servers Millions of eMule clients Each server."— Presentation transcript:

1 eMule behind the scenes

2 Overview Extends the eDonkey protocol File sharing network Several hundreds of eMule servers Millions of eMule clients Each server is an independent centralized indexing service and does not store any files

3 eMule Client Preconfigured with a list of servers and a list of shared files Uses a single TCP connection for logging into the network Uses several TCP connections to upload/ download files to/from other clients

4 Client to Server Connection Upon startup the client connects using TCP a single eMule server  Receives a client ID that is valid only through the connection lifetime  Sends its list of shared files  Sends its download list  Receives a download sources lists The connection is kept open during all the client’s session After establishment  Further search queries can be made and replied with sources list  A filename query is answered with a set of matching hashes

5 Client to Client Connection An eMule client connects another client (source) to download a file Files are fragmented and clients may download fragments of the same file form several sources concurrently When two clients connect the uploading client serves the downloading client or adds it to its downloading queue When a downloading client reaches the head of an uploading client the uploading client initiates a connection in order to send him the needed fragments

6 High Level Network Diagram

7 Data Transfer Compressed to save bandwidth Erasure coded to support fast recovery When a complete chunk of 9500 kilobytes is downloaded and verified this data is also shared by the downloader

8 Client ID A client can receive a low-id or a high-id A low-id is assigned if the server fails to initiate a TCP connection to the client Low-id restricts the clients use of the network and might result with the server rejecting the client High-id is based on the client IP address and will remain constant as long as the IP address does not change

9 Call back Mechanism Allows high-id clients to utilize low-id clients in case they are connected to the same server The server sends the low-id client the high-id client’s IP address The low-id client then initiates a TCP connection to the high-id client and serve it

10 Credit System A local “tit-for-tat” mechanism to encourage uploads A downloading client may identify itself upon clients connection establishment through a simple RSA challenge response Clients records the upload/download ratio for other clients and promote friendly clients in their queues


Download ppt "EMule behind the scenes. Overview Extends the eDonkey protocol File sharing network Several hundreds of eMule servers Millions of eMule clients Each server."

Similar presentations


Ads by Google