From Centralization to Distribution: A Comparison of File Sharing Protocols



Similar documents
CGHub Client Security Guide Documentation

Lecture 28: Internet Protocols

Virtual Private Network Using Peer-to-Peer Techniques

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

ReadyNAS Remote White Paper. NETGEAR May 2010

Directory and File Transfer Services. Chapter 7

A Comparison of Mobile Peer-to-peer File-sharing Clients

SSH Secure Client (Telnet & SFTP) Installing & Using SSH Secure Shell for Windows Operation Systems

Introduction to computer networks and Cloud Computing

Measurement Study of Wuala, a Distributed Social Storage Service

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

Optimizing Congestion in Peer-to-Peer File Sharing Based on Network Coding

The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

Improved Digital Media Delivery with Telestream HyperLaunch

Java Bit Torrent Client

Virtual Server and DDNS. Virtual Server and DDNS. For BIPAC 741/743GE

Network: several computers who can communicate. bus. Main example: Ethernet (1980 today: coaxial cable, twisted pair, 10Mb 1000Gb).

Secure, Reliable Messaging Comparisons between PHINMS, SFTP, and SSH. Public Health Information Network Messaging System (PHINMS)

Scan Report Executive Summary. Part 2. Component Compliance Summary IP Address :

File Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi

Parallels Plesk Panel. VPN Module for Parallels Plesk Panel 10 for Linux/Unix Administrator's Guide. Revision 1.0

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

MC-FTP (Multicast File Transfer Protocol): Implementation and Comparison with

Configure WorkGroup Bridge on the WAP131 Access Point

Introduction to Computer Networks

Experian Secure Transport Service

Three short case studies

How To Test The Speed Of Bittorrent On A Bitt Client And Torrent On A Pc Or Ipad (For Free) On A Microsoft Flash Get 2.5 (For A Free) Computer (For Pc Or Mac) On An Ip

1 Data information is sent onto the network cable using which of the following? A Communication protocol B Data packet

EXPLORER. TFT Filter CONFIGURATION

Sage ERP Accpac Online

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking

Sage 300 ERP Online. Mac Resource Guide. (Formerly Sage ERP Accpac Online) Updated June 1, Page 1

Remote Access Options to University Resources. Samuel Petreski IT Security Office

First Semester Examinations 2011/12 INTERNET PRINCIPLES

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Purpose Computer Hardware Configurations... 6 Single Computer Configuration... 6 Multiple Server Configurations Data Encryption...

finger, ftp, host, hostname, mesg, rcp, rlogin, rsh, scp, sftp, slogin, ssh, talk, telnet, users, w, walla, who, write,...

Introduction: Why do we need computer networks?

UPPER LAYER SWITCHING

Connecting to the School of Computing Servers and Transferring Files

A host-based firewall can be used in addition to a network-based firewall to provide multiple layers of protection.

MEGA Web Application Architecture Overview MEGA 2009 SP4

DDoS Vulnerability Analysis of Bittorrent Protocol

CPS221 Lecture: Layered Network Architecture

UDR: UDT + RSYNC. Open Source Fast File Transfer. Allison Heath University of Chicago

VPN. Date: 4/15/2004 By: Heena Patel

Steelcape Product Overview and Functional Description

How Do I Upgrade Firmware and Save Configurations on PowerConnect Switches?

Final Year Project Interim Report

Chapter 3. Internet Applications and Network Programming

Network Models OSI vs. TCP/IP

FTP Server Configuration

COMPUTER NETWORK TECHNOLOGY (300)

Signiant Agent installation

GS1 Trade Sync Connectivity guide

Ethernet. Ethernet. Network Devices

Chapter 9A. Network Definition. The Uses of a Network. Network Basics

Parallels Plesk Panel

Media Exchange really puts the power in the hands of our creative users, enabling them to collaborate globally regardless of location and file size.

Quick Start Guide. Cerberus FTP is distributed in Canada through C&C Software. Visit us today at

Higher Computing Networking 1

RWC4YD3S723QRVHHHIZWJXPTQMO6GKEQR

An apparatus for P2P classification in Netflow traces

The Algorithm of Sharing Incomplete Data in Decentralized P2P

P2P: centralized directory (Napster s Approach)

Interoperability of Peer-To-Peer File Sharing Protocols

FUGU - SFTP FOR MACS- REFERENCE GUIDE

Frequently Asked Questions

Protocols. Packets. What's in an IP packet

Remote Access and Control of the. Programmer/Controller. Version 1.0 9/07/05

Fig : Packet Filtering

Bit Chat: A Peer-to-Peer Instant Messenger

The Problem with TCP. Overcoming TCP s Drawbacks

Exam Questions SY0-401

Transport Layer Protocols

Sync Security and Privacy Brief

Chapter 17. Transport-Level Security

EE984 Laboratory Experiment 2: Protocol Analysis

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Computer Networks. A Top-Down Approach. Behrouz A. Forouzan. and. Firouz Mosharraf. \Connect Mc \ Learn. Hill

DSI File Server Client Documentation

Detailed Table of Contents

Using UDP Packets to Detect P2P File Sharing

Lecture 6 Content Distribution and BitTorrent

Strategies. Addressing and Routing

Chapter 8: Computer Networking. AIMS The aim of this chapter is to give a brief introduction to computer networking.

File Protection using rsync. Setup guide

Multicast vs. P2P for content distribution

Linux Network Security

Overview - Using ADAMS With a Firewall

13.1 Backup virtual machines running on VMware ESXi / ESX Server

How To Understand The Layered Architecture Of A Network

Remote Logging. Tanveer Brohi(14cs28)

FL EDI SECURE FTP CONNECTIVITY TROUBLESHOOTING GUIDE. SFTP (Secure File Transfer Protocol)

File Transfer Protocol (FTP) & SSH

Should Internet Service Providers Fear Peer-Assisted Content Distribution?

Secured Voice over VPN Tunnel and QoS. Feature Paper

Transcription:

From Centralization to Distribution: A Comparison of File Sharing Protocols Xu Wang, Teng Long and Alan Sussman Department of Computer Science, University of Maryland, College Park, MD, 20742 August, 2015 Abstract File sharing service is a fundamental module for many modern collaboration and communication services. The traditional server/client repository model of file sharing has been widely used in many systems, but when it comes to fully decentralized systems, a decentralized file sharing service is also greatly needed. In this paper, we have selected three different protocols, SSH File Transfer Protocol (SFTP), Trivial File Transfer Protocol (TFTP) and BitTorrent (BT), implemented an experimental file sharing service for each of them, and evaluated their performance and scalability over different shared file size and number of sharing participants. The results show that BT has shortest time cost with the best scalability, while the TFTP is the slowest in downloading and uploading files whereas the SFTP speed is in between. Introduction File sharing service is an essential module for many collaboration and communication services. Traditionally, the server/client model is widely used when there exists a 1

centralized server that can be accessed by all sharing parties, and light-weight protocols such as FTP and similar ones can be easily adopted. However, with high bandwidth internet available to more and more ordinary users, some systems may require a broader sharing of files with larger size. The traditional server may become a bottleneck in this case. Besides, there are also many decentralized systems that do not have a centralized server but need to implement their file sharing services. For these reasons, we need to investigate alternative protocols for such file sharing services. File sharing protocols play a key role in communication network and govern the computers communication and interaction when the computers are connected in the network [1] to deliver data between computers or between computers and terminals [2]. A communication protocol defines the rules allowing blocks of data to communicate from one node in a network to another node. Protocols are normally defined in a layered manner and provide all parts of the services specified by a layer of the OSI (Open Systems Interconnection) reference model [3] and are usually implemented by writing a number of programs. In the past, many protocols had been developed such as Transmission Control Protocol (TCP), Hypertext Transfer Protocol (HTTP), and so on. Decided by the underlying network protocol used, there are UDP based ones such as File Service Protocol, Trivial File Transfer Protocol (TFTP), and TCP based ones like FTAM, HTTP and Secure copy. Also judged by the topology of file transportation parties, the most traditional way is the client/server model, where there is one server which is the central location and multiple clients can exist to share and access network resources. Shared data is in one 2

location so it is easy to back up information. A lot of protocols implement it including FTP and SFTP, HTTP etc. P2P is another model, which also consists of multiple computers, but there is no central location for authenticating users, files or resources. Instead, each client functions not only as a client and but also as a server, and there is no central security. The popular implementations include Bittorrent, Ares and OpenNap, etc. In these protocols, FTP is the most typical server client protocol over TCP-based networks and is built on a client-server architecture. FTP protocol has a lot of advantages. It allows to add items to a queue to be uploaded or downloaded. Compared to HTTP, there is no size limitation on a single transfer. It is also able to resume a transfer after reconnection. However, FTP also has some disadvantages, for example, it does not encrypt user name and password, so it could make user account security an issue. Direct connect protocol, on the other hand, differs from FTP and it is a P2P protocol. It is a text-based computer protocol, where the information are sent in clear text. All these protocols have the same basic functionalities to facilitate communicating and sharing computer resources. However, each of them has different purposes and accomplishes different tasks. They also have their own advantages and restrictions. The goal of this paper is to analyze and compare different protocols by evaluating their correctness and performance. We selected three representatives of communication protocols, SFTP, TFTP, and BT, then evaluated their performance from functional requirements, quality requirements and design 3

constraints. The SFTP and TFTP protocols are based on server-client model, however, the BT protocol represents the decentralized model which may better fit the needs of today s decentralized systems. The functional requirement includes system behavior and data format to be transferred; the quality requirement refers to the communication reliability and performance while the design constraint involves the communication environment and interfaces. Experimental Setting Stability and time cost are the key factors used for evaluating the performance of file sharing protocols. In this work, our first step is to set up the connection for transferring files between client and server by using the three different protocols, SFTP, TFTP, and BT, respectively. SFTP is based on SSH protocol to provide secure access to shell accounts on remote servers for exchanging files over a TCP/IP (Internet Protocol) network. With SFTP protocol, all data sent between client and server is encrypted using an agreed upon encryption cipher. SFTP sessions can also be further protected through the use of public and private keys, which offer an alternative form of authentication known as public key authentication [4]. As the name suggests, TFTP is a simple and lock-step protocol for transferring files between machines of different networks by implementing UDP (User Datagram Protocol) and it is designed to be small and easy to implement. TFTP can t list directories and 4

currently has no provisions for user authentication, therefore it not only lacks most of the features of SFTP but also lacks the security offered by SFTP. The only thing it can do is to read files from and write files to a remote server. In common with other internet protocols, it passes 8 bit bytes of data [5]. The third protocol we used in this work is BT which is used to distribute large amounts of data over the internet [6] for the practice of peer-to-peer file sharing. Although SFTP and TFTP use different protocols, both of them use a client-to-server connection. The client of SFTP and TFTP connects directly to a server to download and upload files via the protocol and the download speed is limited by both the speed of client s connection and the speed on the server's connection. In contrast, there is no server in BT to host the file where all the clients can download the parts of the file from other users who already received that part. To get BT connection, three fundamental parts are required, torrent file, tracker and computer. The torrent file contains metadata about files or folders to be distributed and the tracker is a server to regulate the communication between each computer, and the computers share the resources. We evaluated the performance of protocols in different environment by using two computers with different operating systems. The Mac OS X system computer was used for a client, and the Linux Mint acts as a remote server. The experiment is in Verizon 15 M upload and download internet connection. We used org.apache.commons.net library to implement the client side of TFTP and com.jcraft.jsch.channel library to implement the client of SFTP. The org.apache.commons.net library provides fundamental protocol access to make the 5

global functionality of a protocol accessible. It has TFTP packet classes and the TFTP packet send and receive methods so that we are able to construct our custom implementations. By using JSch (Java Secure Channel), programmers are able to connect to an SSH server and use port forwarding. Therefore we can use this library to setup client side to connect with the server. Simultaneously, we created a torrent file by using UTorrent software and selected one of the public active trackers and two computers as peers to share the file where one is creating seeding and uploading the file and the other is downloading from it. We selected three different sizes of files, 10 MB, 100 MB, 500 MB and 1GB to test and compare the protocols performance. To test each protocol s performance, we uploaded and downloaded each file with different size and calculate the time cost for SFTP, TFTP and BT. We did each test 10 times and took their average and standard deviation values to check the protocol s correctness and stability. We also tracked the time cost to evaluate the efficiency of protocols. Result Analysis Figure 1 shows the screen shot of representative time cost results for downloading 100 MB and 10 MB files using SFTP.It takes 90.659 and 117.848 seconds to download 100 MB files for the first and second time by SFTP and it takes 103.218 seconds to download 10 MB files. 6

Session created. works here. Session connected. Opening Channel. Connected to xxx.xxx.x.xxx. success! /home/xwang125/desktop/files/100mb Downloading file takes 90659 milliseconds /home/xwang125/desktop/files/100mb Downloading file takes 117848 milliseconds /home/xwang125/desktop/files/10mb Downloading file takes 103218 milliseconds Figure 1 Screen shot downloading 100 MB file by SFTP From time costs for 10 transfers, we are able to average the time cost for each protocol for downloading and uploading the same size files. Table 1 summarized the main results of average time cost for 10 transfers to download and upload 10 MB, 100 MB, 500 MB and 1 GB files. Obviously, the speed of download and upload using BT protocol is fastest and TFTP is slowest. For example, it takes TFTP and SFTP 55.687 seconds and 13.068 seconds to download 10 MB file, respectively, however, it only takes BT 11.584 seconds. The upload speed has the same tendency as the download for SFTP, TFTP and BT. SFTP acts more efficiently than TFTP over transferring and uploading. It might be because TFTP uses UDP, which has no windowing and acknowledgment, therefore TCP need to acknowledge each packet by itself and slows down transferring. BT protocol shows a bigger advantage over the other two protocols for larger size download and upload. For example, BT download of 1 GB file is more than two times faster than SFTP. This is due to the fact that the BT protocol is a peer-to-peer transfer protocol and there is no central location for authenticating users, instead, there are a group of computers connected 7

together to share resources. Each client could be also a server to download files and simultaneously upload files for other users in BTP and the download speed is only limited by your internet connection. Therefore, the time cost of upload and download by BT is the same, as shown in table 1. BT also has the best scalability comparing other two. Table 1 Performance comparison results of TFTP, SFTP, BT. Avg refers to average time; represents the standard deviation; Proto means protocol. Time (s) Download Upload 10 MB 100 MB 500 MB 1 G 10 MB 100 MB 500 MB 1 G Proto TFTP 55.687/ 512.780/ 1037.69/ N/A 58.991/ 524.906/ 1198.608/ N/A 17.943 83.383 138.972 19.226 76.319 137.618 SFTP 13.068/ 119.654/ 667.542/ 1153.56/ 11.426/ 121.645/ 695.544/ 1246.3 2.85 12.43 51.869 98.267 3.53 14.639 45.929 3/96.27 9 BT 11.584/ 67.387/ 361.268/ 494.32/ 11.584/ 67.387/ 361.268/ 494.32/ 1.362 5.927 6.318 6.981 1.362 5.927 6.318 6.981 8

We see from Table 1 that the time cost of download/upload by TFTP and SFTP is proportional to the file size. For example, downloading 10 MB file by TFTP costs 55.687 seconds and it takes the file 512.780 seconds to downloading 100 MB file. Similarity, the time cost for SFTP is 10 times longer for downloading 10 times larger files. However, for BT protocol, such correlation is different from TFTP and SFTP and the time consumption is not proportional to the file size in BT protocol. In this case, the user spends 11 seconds for downloading a 10 MB file but it takes the user 67 seconds to download a 100 MB file. Therefore, the download/upload by BT protocol has the most benefit for file with large scale. At the same time, BT test shows the best stability since the time consumption for the download of same size files changes much less than SFTP and TFTP. In table we can see the standard deviation () result from 10 times of tests for each protocol. For instance, the value of of BT for 500MB files is 6.318, while SFTP and TFTP s are 51.869 and 138.972 respectively, which means the time-cost range of SFTP and TFTP are much wider than BT in the experiment, TFTP takes 53.424 to 105.927 seconds to download a 10 MB file, and SFTP takes 12.327 to 15.429 seconds, while BT takes from 9.372 to 11.966 seconds. Also, when the file s size increases, the of TFTP and SFTP are getting larger, while BT remains almost the same value. It is noted that we could not get the transferred file in client side after the program ran for 1 hour when we studied TFTP performance for the 1 GB file. 9

Conclusion In this paper, we have evaluated and tested the performances of three different communication protocols, SFTP, TFTP and BT measuring the time cost with download/upload with various size files. The speed of download/upload of smaller size file ( 100 MB) by BT is more than 5 times faster than the time for TFTP and it is 3 time faster for a larger size file ( 500 MB). For smaller size files, the speed of BT protocol download is close to the speed of SFTP but it is much faster than SFTP for the download of larger size files. At the same time, BT protocol transfers files more stably since in each transfer the time cost doesn t change too much. References [1]http://www.jscape.com/blog/bid/75602/Understanding-Key-Differences-Between- FTP-FTPS-and-SFTP [2] https://en.wikipedia.org/wiki/trivial_file_transfer_protocol [3] https://en.wikipedia.org/wiki/bittorrent [4] https://tools.ietf.org/html/rfc1350 [5] http://www.tcpipguide.com/tcpipguide_2-0_sec1.pdf [6] http://pluto.ksi.edu/~cyh/cis370/ebook/ch06b.htm [7] Cerf, V. G., & Kahn, R. E. A protocol for packet network intercommunication. IEEE Transactions on Communications, 22, 5 (1971). [8] https://en.wikipedia.org/wiki/ssh_file_transfer_protocol 10