19
The eMule Project Prepared by Emre Aydemir & Arif Çanakoglu CMPE 473 Project

The eMule Project Prepared by Emre Aydemir & Arif Çanakoglu CMPE 473 Project

Embed Size (px)

Citation preview

The eMule Project

Prepared by Emre Aydemir & Arif ÇanakogluCMPE 473 Project

Outline

Introduction Protocol

TCP Protocol Client – Server Communication Client – Client Communication

UDP Protocol Client – Server Communication Client – Client Communication

Introduction

P2P file sharing application Extended from eDonkey protocol Based on both TCP and UDP

Client Side Open source

Server Side

eMule Network Diagram

Picture from www.emule-project.com

Protocol

TCP Communication Client – Server Client - Client

UDP Communication Client – Server Client - Client

Client – Server Protocol

Login Process Connection startup File Search Callback Mechanism

Login Process

LowID HighID

Connection startup Client sends shared

file list Server provides

Server status List of servers Source lists

File Search Search for a file Get list of sources

Callback Mechanism Access from highId client to lowId client

Client – Client Protocol

Handshaking File requests Upload Queue Operations Data Transfer

Handshaking Initial message for

connection Symmetric

File Requests

Checks whether source supplies the file Gets available list of sources

Upload Queue Operations Upload Request

Start Transfer Enter upload queue

Reaching Top of Upload Queue Request part Cancel Transfer

Data Transfer Transfer of file

parts eMule supports

compression

Client Server UDP Communication

UDP is used for : Server status checks Enhanced file search Enhanced file-source searches

Optional

Client-Client UDP Communication

Used in checking position in source queue

Application

Queue Management Credit System Download part ordering Corrupted download recovery

Thank you...