Prepared by Emre Aydemir & Arif Çanakoglu CMPE 473 Project The eMule Project Prepared by Emre Aydemir & Arif Çanakoglu CMPE 473 Project
Outline Introduction Protocol TCP Protocol UDP Protocol Client – Server Communication Client – Client Communication UDP Protocol This is the outline of our presentation
Introduction P2P file sharing application Client Side Server Side Extended from eDonkey protocol Based on both TCP and UDP Client Side Open source Server Side Introduction: Emule is p2p file sharing application. Emule is Emule has server client architechture and cl-cl arch
eMule Network Diagram Picture from www.emule-project.com --You can see this in this diagram This is emule client(show center) these are servers and these are other clients. This connects to one of the server directly with tcp. And other server via UDP. And clients can connect with using udp and tcp with other clients we will talk about this later. Picture from www.emule-project.com
Protocol TCP Communication UDP Communication Client – Server Client - Client UDP Communication There are twotypes of protocol one of them is tcp other is udp UDP is optional and both is used in client and server connections
Client – Server Protocol Login Process Connection startup File Search Callback Mechanism Firstly ı want to talk about
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...