1 / 10

eMule behind the scenes

eMule behind the scenes. 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. eMule Client.

prichards
Download Presentation

eMule behind the scenes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

More Related