• The TCP IP Suite of protocols actually covers a significant number of familiar and unfamilar protocols within it, including:
    • TCP
    • IP
    • UDP
    • ARP
    • FTP
    • POP3
    • IMAP
    • SMTP
    • BitTorrent
    • DNS
    • HTTP
    • ICMP

FTP

  • File Transfer Protocol allows files to be uploaded or downloaded from a server. Therefore, it uses client-server principles rather than peer-to-peer
    • One end needs an FTP server (where files reside), the other an FTP client
  • The FTP connection is established, sometimes with credentials
    • Anonymous connections can be established without the user having to identify themselves first
    • The FTP server can have commands sent to the server
      • e.g. change directory, get file, put file, etc.
  • Issues & P2P
    • As the files are between only two computers, the server’s connections speed is a limiting factor
    • Should the server go down, the file is unreachable

BitTorrent

  • BitTorrent is a peer-to-peer torrent file sharing protocol. There are different protocols (BitTorrent is just one) and many clients written to utilise these protocols

  • The advantages of BitTorrent are:

    • Multiple files shared on the network means you can retrieve files even when one of the nodes goes down
      • FTP is limited to the one server’s connection, especially if its busy serving many people
    • Should a node go offline, others can still provide the file
    • Beneficial for large files
  • The BitTorrent protocol offloads some of the file tracking work to a central server (called a tracker)

    • This only saves each peer having to search the file, it doesn’t contain the files themselves
  • With P2P, some people downloading files and immediately disconnect without allowing others to obtain files from their system, which is called leeching

    • BitTorrent uses a principle called tit-for-tat
      • Meaning that to get files you have to give
    • The more you share, the faster the downloads are
  • To make better use of the available Internet bandwidth (data transmission pipeline), BitTorrent downloads different pieces of the file you want to simultaneously from multiple computers

  • Because P2P communicates with regular computer users, their connections commonly upload much slower than download

    • Therefore, simultaneous downloading is often much faster
    • However, BitTorrent downloads random pieces, which is not suitable for streaming, where the “random access” method does not work
  • You open a web page and click on a link for the file you want

  • BitTorrent client software communicates with a tracker to find other computers running BitTorrent that have the complete file (seed computers) and those with a portion of the file (peers that may be downloading the file)

    • The tracker identifies the swarm, which is the connected computers that have all of or a portion of the file
  • The tracker helps the client software trade random pieces of the file you want with other computers in the swarm. Your computers receive multiple pieces of the file simultaneously

  • If you continue to run the BitTorrent client software after your download is complete, others can receive .torrent files from your computer; your future download rates improve because you are ranked higher in the “tit-for-tat” system

  • Key Terms

    • Leeches
      • People who download files but do not share files on their own computer with others
    • Seed or seeder
      • A computer with a complete copy of a BitTorrent file (At least one seed computer is necessary for a BitTorrent download to operate)
    • Swarm
      • A group of computers simultaneously sending (uploading) or receving (downloading) the same file
    • .torrent
      • A pointer file that directs your computer to the file your want to download
    • Tracker
      • A server that manages the BitTorrent file-transfer process

How Client-Server Transfers Work

To understand how BitTorrent works and why it is different from other file-server methods

When you download a file from a Website, it works like this:

  1. You open a Web page and click a link to download a file to your computer
  2. The Web browser software on your computer (the client) tells the server (a central computer that holds the Web page and the file you want to download) to transfer a copy of the file to your computer
  3. The transfer is handled by a protocol such as FTP or HTTP (HyperText Transfer Protocol)
  • The transfer speed is affected by a number of variables including
    • the type of protocol
    • amount of traffic on the server
    • the number of other computers that are downloading the file
  • If the file is both large and popular, the demands on the server are great, and the download will be slow

How P2P Transfer Works

  • Peer-to-peer file sharing is different. You use the software program to locate computers that have the file you want
    • because these are ordinary computers like yours, as opposed to server, they are called peers
  • The process works like this:
    • You run peer-to-peer file-sharing software (for example, a Gnutella program) on your computer and send out a request for the file you want to download
    • To locate the file, the software queries other computers that are connected to the Internet and running the file-sharing software
    • When the software finds a computer that has the file you want on its hard drive, the download begins
    • Others using the file-sharing software can obtain files they want from your computers storage

HTTP

  • Hypertext Transfer Protocol is the dominant protocol for file transfer on the World Wide Web

  • Hypertext is the structured text that uses links (hyperlinks) between nodes