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

Slides:



Advertisements
Similar presentations
P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Advertisements

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Digital Library Service – An overview Introduction System Architecture Components and their functionalities Experimental Results.
Evaluating scalability Peer-to-Peer File Sharing Networks of Sayantan Mitra Vibhor Goyal.
1 Dynamic DNS. 2 Module - Dynamic DNS ♦ Overview The domain names and IP addresses of hosts and the devices may change for many reasons. This module focuses.
Incentives Build Robustness in BitTorrent Bram Cohen.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
1 Internet Networking Spring 2006 Tutorial 8 DNS and DHCP as UDP applications.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Configuring and Testing Your Network Network Fundamentals – Chapter 11.
Spotlighting Decentralized P2P File Sharing Archie Kuo and Ethan Le Department of Computer Science San Jose State University.
Other File Systems: AFS, Napster. 2 Recap NFS: –Server exposes one or more directories Client accesses them by mounting the directories –Stateless server.
Responder Anonymity and Anonymous Peer-to-Peer File Sharing. by Vincent Scarlata, Brian Levine and Clay Shields Presentation by Saravanan.
Peer-to-Peer Intro Jani & Sami Peltotalo.
Comparing Hybrid Peer-to-Peer Systems Beverly Yang and Hector Garcia-Molina Presented by Marco Barreno November 3, 2003 CS 294-4: Peer-to-peer systems.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 10: Application Layer Network Basics.
Mastering Windows Network Forensics and Investigation Chapter 11: Text Based Logs.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
KaZaA: Behind the Scenes Shreeram Sahasrabudhe Lehigh University
1 Spring Semester 2009, Dept. of Computer Science, Technion Internet Networking recitation #2 DNS and DHCP.
P2P File Sharing Systems
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
IT 210 The Internet & World Wide Web introduction.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Introduction Widespread unstructured P2P network
Syllabus outcomes Describes and applies problem-solving processes when creating solutions Designs, produces and evaluates appropriate solutions.
A Survey of P2P Filesharing Applications James Kirk CS February 3, 2004.
Peer to Peer Network Anas Hardan. What is a Network? What is a Network? A network is a group of computers and other devices (such as printers) that are.
思科网络技术学院理事会. 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
Socket Lab Info. Computer Network. Requirement Use TCP socket to implement a pair of programs, containing a server and a client. The server program shall.
14 Publishing a Web Site Section 14.1 Identify the technical needs of a Web server Evaluate Web hosts Compare and contrast internal and external Web hosting.
Simple Mail Transfer Protocol (SMTP)
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Introduction of P2P systems
Skype P2P Kedar Kulkarni 04/02/09.
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
TCP/IP Transport and Application (Topic 6)
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
The Start Shawn Fanning (19-yr-old student nicknamed Napster) developed the original Napster application and service in January 1999 while a freshman.
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
MapReduce and GFS. Introduction r To understand Google’s file system let us look at the sort of processing that needs to be done r We will look at MapReduce.
Open Source Evaluation - FileZilla Michael Nye ITEC 400 Assignment 14-1 Professor D’Andrea Franklin University April 10, 2008.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
An analysis of Skype protocol Presented by: Abdul Haleem.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
GFS. Google r Servers are a mix of commodity machines and machines specifically designed for Google m Not necessarily the fastest m Purchases are based.
Prepared by Emre Aydemir & Arif Çanakoglu CMPE 473 Project
Client/Server Socket Programming Project
Socket Programming.
Peer to Peer Network Design Discovery and Routing algorithms
Project 3 Overview Spring 2010 Recitation #9.
PEAR TO PEAR PROTOCOL. Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change.
Web Design Terminology Unit 2 STEM. 1. Accessibility – a web page or site that address the users limitations or disabilities 2. Active server page (ASP)
Configuring and Testing Your Network Network Fundamentals.
Electronic mail News File transfer protocol Chat Instant messaging Online services Online shopping.
Skype.
DISTRIBUTED FILE SYSTEM- ENHANCEMENT AND FURTHER DEVELOPMENT BY:- PALLAWI(10BIT0033)
Network security Presentation AFZAAL AHMAD ABDUL RAZAQ AHMAD SHAKIR MUHAMMD ADNAN WEB SECURITY, THREADS & SSL.
An example of peer-to-peer application
Configuring and Testing Your Network
Chapter 10: Application Layer
Lecture 2 Overview.
File Transfer Protocol
Peer-to-Peer Reputations
Hyper Text Transfer Protocol
FTP AND COMMAND PROCESSING IN FTP
Presentation transcript:

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 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

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

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

High Level Network Diagram

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

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

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

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