Mis-configuration Safe Secure P2P Node appliance
A virtual peer to peer node configured with p2p clients and IP rate limiting tool
Features
Collegiate:
Yes
One-line Description:
A virtual peer to peer node configured with p2p clients and IP rate limiting tool
Filename:
p2pappliance-gulati.tar.bz2
Size Compressed:
891
Allocated Memory:
256
Username:
vmc
Password:
vmc
VMware Tools Installed?:
Yes
Operating System:
Linux (Debian distribution, kernel version 2.6.14-2)
Torrent?:
No
Applications:
Azureus, Gtk-Gnutella, Knapster2, Mozilla-browser, KMLDonkey
Description:
Replace this text with a text or HTML description of your virtual appliance.
Please describe the following in terms that a typical technical end-user would understand:
1. What does the appliance do, and what are its uses and benefits to the intended audience in the VMware community. The judging panel is interested to know what is unique about this appliance, why users will want to download and run it, and how they will use it.
2. How was the appliance built, summarizing the steps involved. Describe what optimizations were made, for example any changes you made to the underlying operating system to optimize it for size or functionality, or any special application configurations you made that increase the usefulness of the appliance.
3. Detailed instructions to start using the Appliance and the location of any other documentation.
4. The names of any licensed operating systems, applications, or other components in your appliance, and the licenses (names or URLs) under which you are using them.
Peer to Peer networks have grown quite rapidly in recent years. Many P2P clients
have emerged for sharing different kinds of documents but most of the traffic is
drive by media files (both audio and video) and images. Inspite of the huge
utility of being able to search and get desired content on these networks, most
users are skeptical of the actual content of the file. This leads to P2P
pollution, where the actual content can be malicious for the common user. Hence
even the consumer well versed in using Internet and a computer are skeptical of
joining and contributing to these networks. This gives us the motivation to
design a P2P node virtual appliance that consumers can use to search and share
content on these P2P networks.
Some challanges and our solutions in using P2P clients:
1) Controlling Network Usage: A node running a bunch of P2P clients can consume
a lot of network resources causing poor performance for the host OS. Hence one
would like to do traffic shaping to restrict the traffic in and out of p2p
appliance. For that we use a traffic shaper based on "leaky bucket" control. The
"leaky bucket" control is defined as 3 parameters: average rate, bucket size and
maximum rate. Each request needs tokens in the buckets to get fulfilled. These parameters are defined as follows:
a) Average Rate (R): The rate at which tokens are put in the bucket.
b) Bucket Size (B): This control the maximum burst size which is possible. Hence an
idle stream cannot accumulate an unbounded amount of tokens.
c) Maximum rate (M): This is the maximum rate at which tokens can be consumed by the
user.
Mathematically, in any time interval (a,b], the number of bytes sent is bounded
by min{ M(b-a), B+R(b-a)}.
2) Storing huge amounts of data: A P2P client might want to save a big file
(1-2 GB) and may not have enough space on its virtual disk because of various
constraints. For this a user can mount a directory at some point in its
namespace and use that as the storage backend for files that one has downloaded
and tested using an anti-virus program.
We have built NFS support into our virtual appliance for this reason.
Although we haven't included any antivirus programs for linux but one can
download/buy one for linux and use it.
***********************************************************************
Support for running all the P2P clients and using these utilities is explained
in file "RUN-UTILIES.txt"
***********************************************************************
Building the appliance:
------------------------
The appliance is built using debian linux and during the installation we picked up the minimal amount of utilities required to make it work. Initially we had to install some extra utilities such as gcc and other packages to set up the vmware tools but even those were later crafted out of it to minimize the resulting image. One issue we faced was that the disk image is significantly larger than the filesystem utilization. It would be good to have a tool that can reduce the size of disk image by going through the filesystem data structures and create a disk image closer to the filesystem size. We installed several popular P2P clients supporting BitTorrent, Gnutella, Emule/Edonkey. This included the GNU gij Java runtime. We also wrote scripts to configure bandwidth rate limiting using token bucket filtering to limit the impact of client upload bandwidth. We also provide support mounting a remote NFS filesystem to copy files to the remote machine after being checked by an antivirus program.
Using the appliance:
---------------------
Once the login window appears, one can login using the following account:
login: vmc
password: vmc
Password for root is also "vmc". A user might need root password to run the scripts for traffic shaping and mounting remote filesystems.
The desktop has a "question mark" icon which can be clicked to see the documentation on running various p2p clients and other utilities.
Licensing and Software details:
--------------------------------
Everything that is used in building this appliance comes under GPL licence. All the software packages and operating system are available on the following websites:
www.debian.org, www.kernel.org, sourceforge.net.
Technical Specifications
Operating System:
Linux (Debian distribution, kernel version 2.6.14-2)
VMware Tools installed: No
Size: 891MB
Allocated Memory (RAM): 256
Applications Installed:
Azureus, Gtk-Gnutella, Knapster2, Mozilla-browser, KMLDonkey
Virtual Appliance Account Information
Download link provided by the submitter, not VMware. Report broken downloads here.