TABLE OF CONTENTS
TOC o “1-3” h z u CHAPTER ONE PAGEREF _Toc511644432 h 2INTRODUCTION PAGEREF _Toc511644433 h 21.0 Background of the study PAGEREF _Toc511644434 h 21.1 Statement of the problem PAGEREF _Toc511644435 h 31.2 Purpose of the study PAGEREF _Toc511644436 h 51.3 Objectives of the Study PAGEREF _Toc511644437 h 51.3.1 General Objectives PAGEREF _Toc511644438 h 51.3.2 Specific Objectives PAGEREF _Toc511644439 h 61.4 Research Questions PAGEREF _Toc511644440 h 61.5 Significance of the study PAGEREF _Toc511644441 h 61.6 Limitations of the study PAGEREF _Toc511644442 h 7CHAPTER TWO PAGEREF _Toc511644443 h 8LITERATURE REVIEW PAGEREF _Toc511644444 h 82.0 Introduction PAGEREF _Toc511644445 h 82.1 File Sharing PAGEREF _Toc511644446 h 82.2 File Sharing Technologies PAGEREF _Toc511644447 h 102.2.1 The Cloud PAGEREF _Toc511644448 h 102.2.2 P2P File Sharing PAGEREF _Toc511644449 h 162.3 Microprocessors PAGEREF _Toc511644450 h 232.4 Microcomputer PAGEREF _Toc511644451 h 242.4.1 Raspberry Pi PAGEREF _Toc511644452 h 242.5 Microcontrollers PAGEREF _Toc511644453 h 262.5.1 Adruino PAGEREF _Toc511644454 h 272.6 Raspberry Pi vs Adruino PAGEREF _Toc511644455 h 27References PAGEREF _Toc511644456 h 30
CHAPTER ONEINTRODUCTION1.0 Background of the studyLooking through history, we would realize that the human race has always had the desire to share information; from oral communication, printed pages, technologies to facilitate oral communication, and today’s modern-day internet CITATION Cas l 1033 (Casanova, n.d.).
Throughout the world, computer users share files housed on their personal computers to other users in different locations. Punched tapes, punched cards, magnetic tape, and cassette tapes were the very beginning of file-sharing. In the early 1970s, file-sharing became more popular with the introduction of floppy disks. In the 1990s file-sharing through file transfer protocols and the World Wide Web took off. The mid 90s brought about instant messaging and email. The late 90s brought about the inception of file-sharing software Napster, that used a peer-to-peer network to share strictly music. The likes of BitTorrent was created in 2001 CITATION And12 l 1033 (Andrew, 2012).
File-sharing through cloud storage has now become popular. The emergence of “the cloud” has made the sharing of files easy. The cloud is a metaphor for the internet. Cloud storage sharing platforms such as Dropbox allows users to backup files, and access those files from anywhere. These cloud storage platforms do not only provide mere online storage; it allows data syncing and possesses data sharing capabilities across multiple devices. It reduces the need for a physical means of storage. These technologies allow users to share files housed on their personal computers over the internet. Files shared can be music files, pdf files, video files, to name a few. Most computer users resort to using peer-to-peer networks. Such networks include BitTorrent, LimeWire, and uTorrent. Other than peer-to-peer networks, file sharing can be done physically (using storage devices), through emails, social media, cloud storage, etc. This has eliminated instances where one would have to stop by a friend’s house just to share music or photos. Though these means have proven beneficial, it does pose a significant amount of security risks.
In an attempt to mitigate the vulnerabilities and threats present in file-sharing mediums such as peer-to-peer networks and other hardware devices, a MOBILE SHARING SYSTEM has been designed and developed. The Mobile Sharing System makes use of the Raspberry Pi; a single-board computer, that acts as a personalized webserver, providing a Wi-Fi hotspot from which the intended party with which a file is to be shared connects to the hotspot and downloads whichever files are made available by the owner of the files being shared. This document details the development cycle and implementation of the aforementioned system .1.1 Statement of the problem
In as much as there are numerous advantages of file-sharing technologies, one cannot discount the unending security threats these technologies pose to its users. One of such sharing technologies happens to be P2P applications. Peer-to-peer (P2P) applications, such as those used to share music files, are some of the most common forms of file-sharing technology. However, P2P applications introduce security risks that may put your information or your computer in jeopardy. CITATION Min10 l 1033 (Mindi, Wrisley, & Dormann, 2010). Many of the hundreds of millions of people around the world who swap music, movies and other digital content on their personal computers over the Internet have inadvertently put themselves at risk of identity theft. Users of popular file-sharing services such as LimeWire have found themselves victims of identity theft when their personal information was inadvertently shared on a so-called peer-to-peer network. And recent high-profile breaches via these networks have put thousands of people’s financial information at risk. CITATION Jos07 l 1033 (Avila, 2007). The threats these network pose is likely not to decrease anytime soon as “an average of more than 28 million users share files through P2P networks every day” CITATION Tec l 1033 (Tecxipio Magazine: File Sharing, n.d.). Some of the numerous risks associated with P2P file-sharing are highlighted below:
data privacy and confidentiality: P2P file sharing requires you to first configure a location on your computer which stores the files you want to share or upload. However, if you are not careful during the setup or if you download an application that had been intentionally configured to expose your entire drive partition, you may unknowingly share more than you know on the Internet, such as your emails, reports, pictures and other sensitive or personal information, like financial data, medical records etc., they may then be further propagated like wildfire to other P2P users.
copyright infringement and unwanted pornography: most materials downloaded from P2P software may contained pirated software and pornography all of which may be copyright protected. Should any of such materials be found on a user’s computer he or she can be convicted and face penalties such fines or jail term.
exposure to hidden malicious software: most often than not, it is almost impossible to verify the authenticity of files downloaded from P2P networks. Some, if not all of these files come incorporated with viruses, worms, spyware or trojan horse. Opening such files will infect users’ computers.
increased vulnerability exposure: depending on the P2P software in use, user maybe required to open on or more ports in order to transmit or receive files. This in turn in allows malicious users to exploit the vulnerabilities of the P2P software CITATION Cha12 l 1033 (June, 2012).
denial of service: Downloading files causes a significant amount of traffic over the network. This activity may reduce the availability of certain programs on your computer or may limit your access to the internet CITATION Min10 l 1033 (Mindi, Wrisley, ; Dormann, 2010).Even though computer users can minimize the amount of risks they face with the use of up to date anti-viruses and by enabling their firewalls, they cannot completely eliminate the risks as that would require total avoidance from the use of the software. This simply points to the fact users have little or no power as to the kind of security threats they may be prone to by using these softwares.
1.2 Purpose of the studyThe purpose of this study is to describe the main security vulnerabilities and threats associated with P2P file-sharing technologies and how to mitigate these flaws if not totally eliminating them. This study proposes the implementation of a Mobile Sharing System designed using a Raspberry Pi, thus providing a different means of file-sharing in an attempt to mitigate the security vulnerabilities and threats associated with P2P file-sharing technologies.
1.3 Objectives of the Study1.3.1 General ObjectivesThe objective of this project is to design and develop a system where users are in absolute control of the files they share without having to use third party software. Users would only require hardware in the form of the Raspberry Pi programmed to host the files intended to be shared. Files are made available for download through an offline website that can be accessed by connecting to the hotspot provided by the system.
1.3.2 Specific ObjectivesThe following are the specific objectives of the project:
to develop a personalized webserver for hosting files
to design and build a robust digital file repository and graphical user interface for easy identification of resources
to develop a system that provides a Wi-Fi hotspot for offline downloads
1.4 Research QuestionsIn what way will a personalized web server be designed for hosting files?
What method will the system use to make files available for download?
What procedures will be used to design a robust digital file repository?
1.5 Significance of the studyThe development of the proposed system will significantly improve the efficiency, effectiveness and ease of digital file-sharing. Below are some of the other significances of the study:
The system will minimize the spread of malicious code
Users can easily trace the source of malicious code
The system will save cost incurred on internet services
The system will reduce cost incurred on hosting services
The system will allow for simultaneous access of a single resource by multiple users
The system will reduce time taken to get access to files
1.6 Limitations of the studyThe proposed system would not be able to:
provide access to resources to parties outside the range of the Wi-Fi hotspot
allow users other than the owner to upload files into the system
function without constant power supply
CHAPTER TWOLITERATURE REVIEW2.0 IntroductionIn the current technological age, the need for effective, efficient and creative means of digital file transfer has risen rapidly and continues to increase. The sharing of digital files has become an integral part of content dissemination for industries like entertainment industry, schools and for individuals as well. This chapter will discuss and review some literature and research work that are related to digital file sharing.
2.1 File SharingFile sharing is the practice of sharing or offering access to digital information or resources, including documents, multimedia (audio/video), graphics, computer programs, images and e-books. It is the private or public distribution of data or resources in a network with different levels of sharing privileges.File sharing can be done using several methods. The most common techniques for file storage, distribution and transmission include the following:
Removable storage devices
Centralized file hosting server installations on networks
World Wide Web-oriented hyperlinked documents
Distributed peer-to-peer networks
File sharing is a multipurpose computer service feature that evolved from removable media via network protocols, such as File Transfer Protocol (FTP). File sharing is a multipurpose computer service feature that evolved from removable media via network protocols, such as File Transfer Protocol (FTP). Beginning in the 1990s, many remote file-sharing mechanisms were introduced, including FTP, hotline and Internet relay chat (IRC). Operating systems also provide file-sharing methods, such as network file sharing (NFS). Most file-sharing tasks use two basic sets of network criteria, as follows:
Peer-to-Peer (P2P) File Sharing: This is the most popular, but controversial, method of file sharing because of the use of peer-to-peer software. Network computer users locate shared data with third-party software. P2P file sharing allows users to directly access, download and edit files. Some third-party software facilitates P2P sharing by collecting and segmenting large files into smaller pieces.
File Hosting Services: This P2P file-sharing alternative provides a broad selection of popular online material. These services are quite often used with Internet collaboration methods, including email, blogs, forums, or other mediums, where direct download links from the file hosting services can be included. These service websites usually host files to enable users to download them.
Once users download or make use of a file using a file-sharing network, their computer also becomes a part of that network, allowing other users to download files from the user’s computer. File sharing is generally illegal, with the exception of sharing material that is not copyrighted or proprietary. Another issue with file-sharing applications is the problem of spyware or adware, as some file-sharing websites have placed spyware programs in their websites. These spyware programs are often installed on users’ computers without their consent and awarenessCITATION Fil l 1033 (File Sharing, n.d.) .
2.2 File Sharing Technologies2.2.1 The CloudFirst of all, what is the cloud? In the simplest terms, cloud computing means storing and accessing data and programs over the Internet instead of your computer’s hard drive. The cloud is just a metaphor for the Internet CITATION Eri16 l 1033 (Griffith, 2016). The term ‘cloud’ is simply how a network or remote servers can be accessed via an internet connection store and manage information CITATION Eli18 l 1033 (Moreau, 2018).
It was a gradual evolution that started in the 1950s with mainframe computing.
Multiple users were capable of accessing a central computer through dumb terminals, whose only function was to provide access to the mainframe. Because of the costs to buy and maintain mainframe computers, it was not practical for an organization to buy and maintain one for every employee. Nor did the typical user need the large (at the time) storage capacity and processing power that a mainframe provided. Providing shared access to a single resource was the solution that made economic sense for this sophisticated piece of technology.
After some time, around 1970, the concept of virtual machines (VMs) was created.
Using virtualization software like VMware, it became possible to execute one or more operating systems simultaneously in an isolated environment. Complete computers (virtual) could be executed inside one physical hardware which in turn can run a completely different operating system.
The VM operating system took the 1950s’ shared access mainframe to the next level, permitting multiple distinct computing environments to reside on one physical environment. Virtualization came to drive the technology and was an important catalyst in the communication and information evolution.
In the 1990s, telecommunications companies started offering virtualized private network connections.
Historically, telecommunications companies only offered single dedicated point–to-point data connections. The newly offered virtualized private network connections had the same service quality as their dedicated services at a reduced cost. Instead of building out physical infrastructure to allow for more users to have their own connections, telecommunications companies were now able to provide users with shared access to the same physical infrastructure.
The following list briefly explains the evolution of cloud computing:
• Grid computing: Solving large problems with parallel computing• Utility computing: Offering computing resources as a metered service• SaaS: Network-based subscriptions to applications• Cloud computing: Anytime, anywhere access to IT resources delivered dynamically as a service CITATION Max14 l 1033 (Neto, 2014).
This encompasses a myriad of it resources that are provided over the internet which, in this context, has broadly become known as the cloud. Some characteristics of cloud services are elasticity and self-provisioning; that is customers can provision services when they want and shut them down when no longer necessary. Also, cloud-based technology lets organizations access software, storage, compute and other IT infrastructure elements without the burden of maintaining and upgrading them. Customer typically subscribe to cloud services under the monthly billing system, rather than paying for software licenses and supporting server and network infrastructure upfront. this approach makes a cloud-based technology an operational expense, rather than a capital expense.
The usage of cloud services has become closely associated with common cloud offerings, such as software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) CITATION Mag161 l 1033 (Rouse M. , Cloud Services, 2016)SaaS
Software as a service is a way of delivering centrally hosted applications over the Internet—as a service. That is, instead of installing and maintaining software, you simply access it via the Internet, freeing yourself from complex software and hardware management. The provider manages access to the application, including security, availability, and performance. SaaS applications run on a SaaS provider’s servers and are usually accessed by users using a thin client via a web browser. Examples include G Suite formerly Google Apps, Microsoft Office 365, Salesforce and Workday
Platform as a service (PaaS) is a cloud computing model in which a third-party provider delivers hardware and software tools usually those needed for application development to users over the internet without download or installation. A PaaS provider hosts the hardware and software on its own infrastructure. As a result, PaaS frees users from having to install in-house hardware and software to develop or run a new application. Examples include Amazon Web Services’ Elastic Beanstalk, Microsoft Azure which refers to its PaaS offering as Cloud Services and Salesforce’s App Cloud.
Infrastructure as a service (IaaS) is a form of cloud computing that provides virtualized computing resources over the internet. It involves outsourcing the equipment used to support operations, including storage, hardware, servers and networking components, all of which are made accessible over a network. In an IaaS model, a cloud provider hosts the infrastructure components traditionally present in an on-premises data center, including servers, storage and networking hardware, as well as the virtualization or hypervisor layer. Examples include Amazon Web Services, IBM Bluemix and Microsoft Azure. SaaS, PaaS and IaaS are sometimes referred to collectively as the SPI model.
Amazon Web Services
Amazon Web Services (AWS) was a little known, infrequently thought about part of Amazon.com Inc. until 2016. It is made up of so many different cloud computing products and services. The highly profitable Amazon division provides servers, storage, networking, remote computing, email, mobile development and security. AWS can be broken into two main products: EC2, Amazon’s virtual machine service and S3, Amazon’s storage system. AWS is so large and present in the computing world that it’s now at least 10 times the size of its nearest competitor and hosts popular websites like Netflix Inc. (NFLX) and Instagram (Subsidiary of Facebook Inc.) (Page, 2016).
Google Cloud Platform is a suite of open cloud computing services offered by Google. The platform incorporates a scope of hosted services for compute, storage and application development that run on Google hardware. Google Cloud Platform services can be accessed by software developers, cloud administrators and other enterprise IT professionals over the public internet or through a dedicated network connection CITATION Mag17 l 1033 (Rouse M. , Google Cloud Platform (GCP) , 2017).
Microsoft Azure which was released in February 1, 2010 as “Windows Azure” is a cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services through a global network of Microsoft-managed data centers. It provides software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) and supports many different programming languages, tools and frameworks, including both Microsoft-specific and third-party software and systems CITATION Mic18 l 1033 (Microsoft Azure, 2018).
Cloud storage is defined as the storage of data online in the cloud, wherein a company’s data is stored in and accessible from multiple distributed and connected resources that comprise a cloud.
Cloud storage can provide the benefits of greater accessibility and reliability; rapid deployment; strong protection for data backup, archival and disaster recovery purposes; and lower overall storage costs as a result of not having to purchase, manage and maintain expensive hardware. There are many benefits to using cloud storage, however, cloud storage does have the potential for security and compliance concerns that are not associated with traditional storage systems CITATION Van18 l 1033 (Beal, 2018).
Dropbox founded in 2007 by MIT students Arash Ferdowsi and Drew Houston is an online backup facility which stores your data on server using cloud Storage so that you can share the files with other using file synchronization. The concept behind Dropbox is that digital data can be easily accessed from anywhere in the world and also easily shared with others. The best part of Dropbox is its synchronization, any files you save to Dropbox will also immediately reflect the same in your computers, Phones, iPad and Dropbox Websites.
Google Drive launched on April 24,2012 by Google is a file storage and synchronization service that allows users to store files on their servers, synchronize files across devices, and share files. Google Drive encompasses Google Docs, Sheets and Slides, and office suite that permits collaborative editing of documents, spreadsheets, presentations, drawings, forms, and more. Files created and edited through the office suite are saved in Google Drive. Google Drive also offers apps with offline capabilities for Windows and macOS computers, and Android and iOS smartphones and tablets.
OneDrive is a file-hosting service operated by Microsoft as part of its suite of online services. It allows users to store files as well as other personal data like Windows settings in the cloud. Files can be synced to a PC and accessed from a web browser or a mobile device, as well as shared publicly or with specific people.it was previously SkyDrive, Windows Live SkyDrive, and Windows Live Folders CITATION One18 l 1033 (OneDrive, 2018).s
2.2.2 P2P File Sharing
The term P2P refers to peer-to-peer networking. A peer-to-peer network allows computer hardware and software to communicate without the need for a server. Peer-to-peer file sharing refers to the distribution of digital media over a P2P network, in which the files are located on individuals’ computer and shared with other members of the network, rather than on a centralized server CITATION Bra17 l 1033 (Mitchell, 2017).
Peer-to-peer file sharing is the distribution and sharing of digital media using peer-to-peer (P2P) networking technology. P2P file sharing allows users to access media files such as books, music, movies, and games using a P2P software program that searches for other connected computers on a P2P network to locate the desired content. The nodes (peers) of such networks are end-user computers and distribution servers (not required).
Peer-to-peer file sharing technology has evolved through several design stages from the early networks like Napster, which popularized the technology, to the later models like the BitTorrent protocol. Microsoft uses it for Update distribution (Windows 10) and online playing games (e.g. the mmorpg Skyforge use it as their content distribution network for downloading large amounts of data without incurring the dramatic costs for bandwidth inherent when providing just a single source.
Several factors contributed to the widespread adoption and facilitation of peer-to-peer file sharing. These included increasing Internet bandwidth, the widespread digitization of physical media, and the increasing capabilities of residential personal computers. Users are able to transfer one or more files from one computer to another across the Internet through various file transfer systems and other file-sharing networks CITATION Pee18 l 1033 (Peer-to-peer file sharing, 2018).
Suppose you want to download a file, you simply get yourself connected to the P2P network via a client and will be called as a “leech”. The client will then search for other computers on the network called “seeds” which might be hosting your desired file using some link, you can name it as “magnet link” if are using a BitTorrent client.
After the client successfully found and connected you to the relevant seed, the file sharing process begins. There is one catch in the process – the files hosted by a seed are fragmented or in laymen terms, divided into small parts of around 1 MB size. A particular seed may not have all the fragments at its disposal CITATION Adi16 l 1033 (Tiwari, 2016). BitTorrent is reviewed in this paper.
BitTorrent is a decentralized peer to peer (P2P) distribution of content which uses the upload bandwidth of each individual who is downloading the content, and those who have downloaded, to transfer the content.
The bittorrent transfer is initiated through either a .torrent file or a magnet link. Either of these is associated with specific content and when opened in a bittorrent client, transfer of that associated content begins.
From its unpromising start in 2001, bittorrent has grown to one of the major forces on the internet. Estimates of bandwidth use by bittorrent are one third, and upwards, of all internet use.There are presently over 17 million torrents active and many petabytes of content associated with those torrents.
Unfortunately, the use of bittorrent to illegally distribute copyrighted content has overshadowed bittorrent’s advantages in the distribution of legal content.
Comparison of Distribution Methods
Central Server – Traditional downloads from the internet use a central server to provide the bandwidth for the transfer. All who want the download, obtain their copy from the same source.
Traditional P2P – The first incarnations of peer to peer transfers (Napster etc.) worked similarly to central server. An individual served as a server distributing content to others using the upload bandwidth of that individual’s internet connection. While the distribution method was similar, P2P was “off the main grid” and involved distribution between individuals, hence the peer to peer (P2P) designation.
Bittorrent – was the next step in the evolution of transfers and P2P. It differs from traditional central server and traditional P2P distribution, in that it involves the use of multiple sources for the distribution of the content. Each active user is involved in the distribution of the content through their upload bandwidth. It also provides a fail safe against the corruption of distributed content.
Advantages of Bittorrent over Traditional Distribution Methods
Virtuous Circle vs Viscous Circle
Bittorrent – the more users active on a torrent provides for greater speed for each of the users.
Central Server ; Traditional P2P – The more users active on a download results in decreased speed for each of the users.
In bittorrent the upload bandwidth of every active user on a torrent is used to transfer the content. This means that the more popular the content, the greater the download speed for each user.
A central server, or individual serving as a central server in traditional P2P, has a limited amount of bandwidth for distribution. The more users seeking the content, the less the download speed of each user.
Integrity of Content
Bittorrent – The torrent file or the magnet link that is used to initiate the distribution contains unique and specific information on the content that will be downloaded through either. The content is broken down to bits to facilitate distribution among the active users. If any of these bits becomes corrupt during transfer, and therefore does not match the information within the torrent or magnet link, then it will be rejected by the bittorrent client and replaced with an uncorrupted bit. This ensures that when the download is complete it will be an exact copy of the distributed content.
Central Server – Distribution through a central server always involves some risk of corruption and this issue is worsened when the demand for the content is high. There is no fail-safe guard against such corruption of content.
Traditional P2P – Suffers from the same issues as a central server. Since traditional P2P is “off the grid”, the risk of distribution of malware is increased, making this the most dangerous of distribution methods.
Definitions of Common Bittorrent Terms
Definitions of common bittorrent terms in simple (hopefully) language.Torrent – A small text file that contains information about specific (associated) content, file and folder names within the content and about tracker(s). These are used to begin download of the associated content when opened in a bittorrent client. A torrent file will only download when the content and file and folder names are identical.
Magnet Links are similar to torrents in that they are used to download associated content when opened in a bittorrent client. They differ in that they are not files, only links. The magnet link only contains information on the content and no tracker or file and folder information.This is an advantage for bittorrent search sites as they do not need to store files, only bits of data relating to the magnet link. Additionally, this further decentralizes bittorrent as a tracker is no longer needed.This is also an advantage for users as the magnet link looks for the content only. If the file or folder names are different, the magnet link may still download. This could help increase download speed, particularly if the content is rare.
Torrent Search Site – A site that indexes torrent files and their associated content.
Tracker – A communications hub that helps people active on a torrent connect to each other.
Bittorrent Client – A program that opens torrent files to transfer of the content associated with the torrent.
Seeds – Those who have 100% of the torrent’s associated content and are uploading to Peers (Leechers).
Peers – Two definitions.
Those active on a torrent who have less than 100% of the content associated with the torrent. They download from seeds and other peers and upload to other peers. (Most bittorrent clients use the term this way).
All of those active on a torrent, i.e., those who have 100% and those who have less than 100%. (Most torrent search sites use this definition).
Leechers – Two definitions
Those who have less than 100% of the content. They download from seeds and other leechers and upload to other leechers. (Some torrent search sites use this term).
Those who download 100% of a torrent’s associated content, but do not upload back at least 100% of that content. (Used by all. This negative connotation is why bittorrent clients use peers for the above definition.)
Ratio – The amount uploaded divided by the amount downloaded. Usually shown per torrent and overall within the bittorent client.
Swarm – The group of people active on a single torrent. (Same as definition 2 of Peers, above)
DHT – Short for Distributed Hash Table. A way of connecting to other users without the tracker being involved. Especially useful when a tracker goes down or for hosting tracker-less torrents.
PEX – Short for Peer Exchange. A way of connecting to other users without the tracker, through people that you are already connected to. Especially useful if tracker is down.
Encryption – Primarily designed to help users avoid interference from an Internet Service Provider (ISP).
How it Works
This is a non-technical description of the bittorrent process.
A user goes to a torrent search site to search for content. When the user finds wanted content, the user downloads the .torrent file (or magnet link) associated with the content. When the torrent (or magnet link) is opened in a bittorrent client, transfer of the associated content begins.
When the download is begun with a torrent, the bittorrent client communicates to a tracker through the information contained in the .torrent file. A tracker essentially serves as a communications hub for this swarm of individuals, helping them find each other. DHT and PEX also help users to find each other. With a magnet link, the bittorrent client uses DHT and PEX to find other users with identical content.
Bittorrent works by splitting content files into hundreds of smaller “bits” and sharing those bits, using the upload bandwidth of the active users, across a swarm of linked users. These bits are downloaded randomly, so the content is generally not useable until the download is complete. The bittorrent client will reject any bits that do not match the information contained in the torrent file. This ensures that the completed download will be an uncorrupted copy of the content CITATION Wha15 l 1033 (What is Bittorent?, 2015).
2.3 MicroprocessorsA microprocessor is an integrated circuit (IC) which incorporates core functions of a computer’s central processing unit (CPU). It is a programmable multipurpose silicon chip, clock driven, register based, accepts binary data as input and provides output after processing it as per the instructions stored in the memory.
A processor is the brain of a computer which basically consists of Arithmetical and Logical Unit (ALU), Control Unit and Register Array. As the name indicates ALU performs all arithmetic and logical operations on the data received from input devices or memory. Register array consists of a series of registers like accumulator (A), B, C, D etc. which acts as temporary fast access memory locations for processing data. As the name indicates, control unit controls the flow of instructions and data throughout the system CITATION Lig17 l 1033 (George, 2017).
The microprocessor is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and provides results as output. Microprocessors contain both combinational logic and sequential digital logic. Microprocessors operate on numbers and symbols represented in the binary numeral system. The integration of a whole CPU onto a single chip or on a few chips greatly reduced the cost of processing power. Integrated circuit processors are produced in large numbers by highly automated processes resulting in a low per unit cost. Single-chip processors increase reliability as there are many fewer electrical connections to fail. As microprocessor designs get faster, the cost of manufacturing a chip (with smaller components built on a semiconductor chip the same size) generally stays the same. Before microprocessors, small computers had been implemented using racks of circuit boards with many medium- and small-scale integrated circuits CITATION Jou l 1033 (Journal of Electrical Engineering and Electronic Technology, n.d.).
2.4 MicrocomputerA microcomputer is an electronic device with a microprocessor as its central processing unit (CPU). Microcomputer was formerly a commonly used term for personal computers, particularly any of a class of small digital computers whose CPU is contained on a single integrated semiconductor chip. Thus, a microcomputer uses a single microprocessor for its CPU, which performs all logic and arithmetic operations. The system also contains a number of associated semiconductor chips that serve as the main memory for storing program instructions and data and as interfaces for exchanging data of this sort with peripheral equipment—namely, input/output devices (e.g., keyboard, video display, and printer) and auxiliary storage units. Smaller microcomputers first marketed in the 1970s contain a single chip on which all CPU, memory, and interface circuits are integrated CITATION Hos08 l 1033 (Hosch, Lewis, Shukla, & Young, 2008). A good example of a microcomputer is the raspberry pi.
2.4.1 Raspberry Pi
The Raspberry Pi was conceived of by Eben Upton, formerly a lecturer at the University of Cambridge, U.K., who created the Raspberry Pi Foundation to make it a real product. Mr. Upton previously worked at Broadcom, designing the kind of chips that make it possible to sell a complete computer for less ($35 in this context) CITATION Pri14 l 1033 (Sachdeva & Katchii, 2014).
The Raspberry Pi is a low cost, credit-card sized computer CITATION Ras l 1033 (Raspberry Pi Foundation, n.d.). The Raspberry Pi is a micro-computer initially designed for education. It has all of the components you would see on a normal family desktop PC – a processor, RAM, HDMI port, audio output and USB ports for adding peripherals like a keyboard and mouse. It also runs a full desktop operating system based on Linux Debian, called ‘Raspbian’ CITATION Wha l 1033 (What is a Raspberry Pi?, n.d.).
Raspbian Operating System
The Raspbian OS is Based on the Linux distribution Debian Wheezy, Raspbian has been optimized for the Raspberry Pi. It was developed by a small team independent of the Raspberry Pi Foundation who support the educational goals of the foundation. Raspbian is currently the recommended operating system by the Raspberry Pi Foundation.
The OS can be operated in either Console / Terminal mode or in graphical (GUI) desktop mode. In Console mode, commands are entered as text in a non-graphical, command line. Console mode requires familiarity with Linux commands. In Desktop mode, a graphical display of applications is shown and operated using a mouse and keyboard interface
Raspbian includes many pre-installed applications in categories of Programming, Internet, Games, Accessories and Tools. Some notable applications include:
Archiver – file compression tool to create or extract.
Calculator – calculator with basic, scientific and paper modes.
File Manager – Lightweight graphical manager for files.
Image Viewer – basic image / picture viewer.
LXTerminal – Linux command line shell / terminal.
Python 2 – Integrated Development Environment for Python programming – for version 2.x Python.
Python 3 – same as Python 2 but for version 3.x Python.
zScratch –graphical programming environment designed to teach programming concepts
Web Browser – Raspbian’s internet web browser.
Raspbian is very stable and an excellent choice for those who want to get the Pi up and running very quickly in either Console or Desktop mode. For those with little to no Linux command experience, the Desktop mode is ideal for learning about the Pi, creating projects or discovering programming.
Raspbian supports both Pi 1 and Pi 2 (OS versions 1.3.11 and later) CITATION Ras15 l 1033 (Raspberry Pi Operating Systems, 2015).
A microcontroller is a compact integrated circuit designed to govern a specific operation in an embedded system. A typical microcontroller includes a processor, memory and input/output (I/O) peripherals on a single chip. Sometimes referred to as an embedded controller or microcontroller unit (MCU), microcontrollers are found in vehicles, robots, office machines, medical devices, mobile radio transceivers, vending machines and home appliances among other devices.
A microcontroller’s processor will vary by application. Options range from the simple 4-bit, 8-bit or 16-bit processors to more complex 32-bit or 64-bit processors. In terms of memory, microcontrollers can use random access memory (RAM), flash memory, EPROM or EEPROM. Generally, microcontrollers are designed to be readily usable without additional computing components because they are designed with sufficient onboard memory as well as offering pins for general I/O operations, so they can directly interface with sensors and other components.
Microcontroller architecture can be based on the Harvard architecture or von Neumann architecture, both offering different methods of exchanging data between the processor and memory. With a Harvard architecture, the data bus and instruction are separate, allowing for simultaneous transfers. With a Von Neumann architecture, one bus is used for both data and instructions CITATION Mar17 l 1033 (Rouse M. , 2017).
2.5.1 AdruinoArduino refers to an open-source electronics platform or board and the software used to program it. Arduino is designed to make electronics more accessible to artists, designers, hobbyists and anyone interested in creating interactive objects or environments. A pre-assembled Arduino board includes a microcontroller, which is programmed using Arduino programming language and the Arduino development environment. In essence, this platform provides a way to build and program electronic components. Arduino programming language is a simplified from of C/C++ programming language based on what Arduino calls “sketches,” which use basic programming structures, variables and functions. These are then converted into a C++ program CITATION wha l 1033 (what is an Adruino?, n.d.) .
2.6 Raspberry Pi vs AdruinoGeneral purpose
While both the Arduino and the Raspberry Pi are very versatile little machines, they both have specific things that they’re good at. The Arduino, for example, is a microcontroller, which means it excels at controlling small devices like sensors, motors, and lights.
The Raspberry Pi, on the other hand, isn’t a microcontroller, and isn’t made for controlling sensors and other things like that. It’s an entire computer, with its own operating system, and is intended to be used as one. The operating system is rather minimal, so you’ll need some coding knowledge to get the most of it, but that’s one of the things the Raspberry Pi is great at: helping people learn to code.
The Arduino’s power supply requirements are very simple; you can plug it into your computer or a battery pack, and it will start running code immediately.
Raspberry Pi, on the other hand, because it has a more full-featured computing system in place, should be shut down like a regular computer, and can be damaged by power cuts.
The Raspberry Pi comes ready to be connected to the internet; it has a built-in ethernet port, and it’s very easy to get a USB Wi-Fi dongle to give it wireless connectivity as well. This is one of the reasons why the Pi is the device of choice for things like personal web servers, printer servers, and VPNs.
The Arduino, on the other hand, doesn’t have any built-in capability for connectivity. If you want to connect it to the internet, you’ll need to add an extra piece of hardware that includes an ethernet port.
The Arduino comes with 32 KB of onboard storage, which is just enough to store the code that provides instructions for its current program.
The Raspberry Pi, on the other hand, doesn’t come with any onboard storage, but it does have a micro SD port, so you can add as much storage as you’d like.
The Raspberry Pi comes stocked with a fully functional operating system called Raspbian. This OS is based on Debian Linux and was created specifically for the Pi. There are a number of other operating systems that you can use with the board, most of which are Linux-based, but Android can also be installed.
The Arduino doesn’t come with any software per se. It has very basic capabilities to interpret the code that it receives and alter the functions of the hardware that it’s connected to, but the board doesn’t have an operating system CITATION Ard16 l 1033 (Arduino vs Raspberry Pi: A Detailed Comparison, 2016)
References BIBLIOGRAPHY Andrew. (2012, April 22). Retrieved from http://torrentfreak.com/the-history-of-filesharing-120422/
Arduino vs Raspberry Pi: A Detailed Comparison. (2016, September 26). Retrieved from Beebom: https://beebom.com/arduino-vs-raspberry-pi/
Avila, J. D. (2007, November 7). The Hidden Risk Of File-sharing. Retrieved from The Wall Street Journal: https://www.wsj.com/articles/SB119439635925584578?mg=prod/accounts-wsj
Beal, V. (2018, March 29). webopedia. Retrieved from Cloud storage: https://www.webopedia.com/TERM/C/cloud_storage.html
Casanova, L. (n.d.). The History of File Sharing. Retrieved from Indiana University of Pennsylvannia: https://www.iup.edu/WorkArea/DownloadAsset.aspx?id=92432
File Sharing. (n.d.). Retrieved from Techopedia: https://www.techopedia.com/definition/16256/file-sharing
George, L. (2017, April 05). What is a Microprocessor? Retrieved from electroSome: https://electrosome.com/microprocessor/
Griffith, E. (2016, May 3). What Is Cloud Computing? Retrieved from PCMag: https://www.pcmag.com/article2/0,2817,2372163,00.asp
Hosch, W. L., Lewis, R., Shukla, G., ; Young, G. (2008, December 29). Microcomputer. Retrieved from Britannica: britannica.com/technology/microcomputer
Journal of Electrical Engineering and Electronic Technology. (n.d.). Retrieved from scitechnol: https://www.scitechnol.com/embedded-system/microprocessor-microcontroller.php
June, C. (2012, May). Peer-to-Peer (P2P) File Sharing Security Risks. Retrieved from Nanyang Technological Unoversity: http://enewsletter.ntu.edu.sg/(X(1)S(pi4k3ydteby1rvl35pgqk14k))/itconnect/2012-05/Pages/P2PFileSharingRisks.aspx?AspxAutoDetectCookieSupport=1
Microsoft Azure. (2018, March 29). Retrieved from Wikipedia: https://en.wikipedia.org/wiki/Microsoft_Azure
Mindi, M., Wrisley, B., ; Dormann, W. (2010, May 19). Security Tip (ST05-007). Retrieved from US-CERT: https://www.us-cert.gov/ncas/tips/ST05-007
Mitchell, B. (2017, August 25). Understanding P2P File Sharing. Retrieved from Lifewire: https://www.lifewire.com/definition-of-p2p-818026
Moreau, E. (2018, January 11). What Is ‘The Cloud’ In Cloud Computing? Retrieved from Lifewire: https://www.lifewire.com/what-is-the-cloud-in-computing-3486259
Neto, M. D. (2014, March 18). A brief history of cloud computing. Retrieved from IBM: https://www.ibm.com/blogs/cloud-computing/2014/03/a-brief-history-of-cloud-computing-3/
OneDrive. (2018, March 9). Retrieved from Wikipedia: https://en.wikipedia.org/wiki/OneDrive
Peer-to-peer file sharing. (2018, January 18). Retrieved from Wikipedia: https://en.wikipedia.org/wiki/Peer-to-peer_file_sharing
Raspberry Pi Foundation. (n.d.). What is a Raspberry Pi? Retrieved from Raspberry PI: https://www.raspberrypi.org/help/what-%20is-a-raspberry-pi/
Raspberry Pi Operating Systems. (2015, August 13). Retrieved from MBTechWorks: https://www.mbtechworks.com/software/raspberry-pi-operating-systems.html
Rouse, M. (2016, December). Cloud Services. Retrieved from TechTarget: https://searchcloudprovider.techtarget.com/definition/cloud-services
Rouse, M. (2016, December). Cloud Services. Retrieved from TechTarget: https://searchcloudprovider.techtarget.com/definition/cloud-services
Rouse, M. (2017, August 23). Google Cloud Platform (GCP) . Retrieved from TechTarget: http://searchcloudcomputing.techtarget.com/definition/Google-Cloud-Platform
Rouse, M. (2017, June 6). What is microcontroller? – Definition from WhatIs.com. Retrieved from IoT Agenda: http://internetofthingsagenda.techtarget.com/definition/microcontroller
Sachdeva, P., ; Katchii, S. (2014). A Review Paper on Raspberry Pi. International Journal of Current Engineering and Technology, 1-2.
Tecxipio Magazine: File Sharing. (n.d.). Retrieved from Tecxipio: https://www.tecxipio.com/statistics-file-sharing
Tiwari, A. (2016, January 6). What Is P2P File Sharing And How It Works? Retrieved from Fossbytes: https://fossbytes.com/what-is-p2p-file-sharing-and-how-it-works/
What is a Raspberry Pi? (n.d.). Retrieved from Lifewire: https://www.lifewire.com/what-is-raspberry-pi-4042337
what is an Adruino? (n.d.). Retrieved from Techopedia: https://www.techopedia.com/definition/27874/arduino
What is Bittorent? (2015, October 23). Retrieved from Techsupportalert: https://www.techsupportalert.com/what-is-bittorrent