eMule behind the scenes - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

eMule behind the scenes

Description:

Each server is an independent centralized indexing service and does not store any files ... Erasure coded to support fast recovery ... – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 11
Provided by: webcourse
Category:
Tags: behind | emule | erasure | scenes

less

Transcript and Presenter's Notes

Title: eMule behind the scenes


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
    clients 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
    clients 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
Write a Comment
User Comments (0)
About PowerShow.com