BitTorrent Protocol

  • 6,005 views
Uploaded on

Here are some slides on bittorrent protocol.. hope it helps..

Here are some slides on bittorrent protocol.. hope it helps..

More in: Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,005
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
697
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1.
    • Peer to Peer file transfer protocol
    • Transfer of large files
    • Files are shared by many users
    • Active participation of all users
    • Huge success in the file sharing domain
    • 35% of internet traffic
    Introduction
  • 2. Striking Characteristics
    • Not dependent on a single source
    • A central server is not needed
    • No single point of failure
    • More the number of users, greater will be the transfer rate
    • Data available in pieces, not as a single large file
    • Tit for tat strategy
  • 3. Terminology
    • Torrent
    • Peer
    • Seed
    • Leecher
    • Swarm
    • Reseed
    • Tracker
    • Share Ratio
  • 4. Architecture of BitTorrent
  • 5.
    • HTTP Peer – Tracker
    • TCP Peer – Peer
    • Components of BitTorrent System
    • Metainfo File
    • Data
    • Tracker
    • Peers
    • Client
  • 6. Metainfo File
    • Contains all information about a torrent
    • File with a .torrent extension
    • It has the following keys
      • info
      • announce
      • creation date
      • comment
      • created by
    • Keys are encoded before they are sent
  • 7.
    • Encoding scheme used by BitTorrent is called as Bencoding
    • Hash of all the pieces are present in info field of metainfo file
    • File Distribution
    • Files are uploaded in public sites by seeds
    • Users download this file via HTTP and can participate in the torrent transfer
  • 8. Data
      • Data can be a single file or multiple files contained in a directory
      • Data is split into many pieces of equal size
      • Each piece is further divided into many blocks
      • A piece will have a hash, needed for data integrity check
      • Common piece sizes are 256kb, 512kb and 1mb
  • 9. Tracker
      • Manages users participating in a torrent
      • Helps peers find each other
      • It is a HTTP service that works on port 6969
      • Peers request tracker for other peers having the required pieces
      • Tracker responds with a list of peers that have the requested piece
      • A tracker can manage many torrents
  • 10.  
  • 11.
      • HTTP GET message from a peer to a tracker has the following parameters
        • info_hash
        • peer_id
        • uploaded
        • downloaded
        • left
        • port
      • Response message from tracker has the following keys
        • interval
        • tracker_id
        • peers
  • 12.
      • Scraping
      • Querying the state of a given torrent
      • Tracker responds with a scrape page
      • Announce URL : http://example.com/announce
      • Scrape URL : http://example.com/scrape
      • Scrape page has the following keys
        • complete
        • incomplete
        • downloaded
  • 13. Peers
      • Ports 6881 – 6889 are used by peers
      • Peers speak TCP
      • Following are the key strategies used by peers while sharing files
        • Random First Piece
        • Rarest First
        • Endgame Mode
        • Peer Distribution
        • Choking
        • Optimistic Unchoking
  • 14.
      • Peers perform a handshake to start the communication
      • Handshaking involves these messages
        • Character 19 followed by ‘BitTorrent Protocol’
        • 20 bytes hash of the info field from metainfo file
        • 20 bytes peer id
      • Peers start talking to each other
      • They pass a number of messages between them to send data and control the interactions
  • 15. Client
      • Executable program running on user’s machine
      • Co ordinates with OS to perform read write operations
      • A .torrent file must be opened by the client
      • Peers with same client perform better
  • 16. Sub Protocols
      • Tracker HTTP Protocol (THP)
        • Client sends GET request to tracker URL
        • Tracker responds with a dictionary having all the information
        • Client sends requests at regular intervals
      • Peer Wire Protocol (PWP)
        • Peers keep track of each others state
        • A state has two values, interested and choking
  • 17. Working of BitTorrent
    • 1. Seeder generates a torrent file and uploads torrent to a web server.
    • 2. The seeder notifies the tracker that it is sharing the file described in the torrent file.
  • 18.
    • 3. A leecher downloads the torrent file from the web server.
    • 4. The leecher connects to the tracker specified in the torrent file.
  • 19.
    • 5. The leecher connects to its peers to retrieve pieces of the files.
  • 20. Attacks on BitTorrent
    • Pollution Attack
    • The peers receive the peer list from the tracker.
    • One peer contacts the attacker for a chunk of the file.
    • The attacker sends back a false chunk.
    • Attacker requests all chunks from swarm and wastes their upload bandwidth.
  • 21.  
  • 22.
    • DDOS Attack
    • The attacker downloads a large number of torrent files from a web server.
    • Attacker spoofs IP address and port with that of victim and notifies the tracker
    • Tracker directs peers towards victim
    • Victim will be flooded with requests from other peers
  • 23.  
  • 24.
    • Bandwidth Shaping
    • This is done by user’s ISP
    • Unencrypted BitTorrent packets are easily identified and filtered.
    • Sophisticated filtering software can detect BitTorrent like behavior.
    • Comcast has recently admitted to filtering BitTorrent traffic.
  • 25. Current Solutions
    • Pollution Attack
    • Blacklisting
      • Achieved using software such as Peer Guardian or moBlock.
      • Blocks connections from blacklisted IPs which are downloaded from an online database.
  • 26.
    • DDOS Attack
    • Spoofing needs to be avoided in the first place
    • This can be done by using filters
    • Make the tracker validate a peer whether it has the torrent or not
  • 27.
    • Bandwidth Shaping
    • Encryption
      • Most BitTorrent clients can encrypt the packets they send.
      • Simple filters which simply look at the contents of the packet can easily be traversed
    • Tunneling
      • Using VPN software to connect to an unfiltered network.
      • Such tunnels which are free from filters provide easy path to BitTorrent packets
  • 28. Other File Transfer Methods
    • Typical HTTP file transfer
    • Download Accelerator Plus (DAP)
    • Other Peer to Peer systems
      • Kazaa, eDonkey, Direct Connect ….
  • 29. Conclusion
    • BitTorrent is a popular P2P technology deployed across the Internet.
    • The protocol has found a niche as a preferred method for the decentralized distribution of large files.
    • It provides data integrity which ensures that the data will always be genuine and free from flaws.
    • BitTorrent uses tit for tat exchange to increase cooperation among peers and has developed a reputation for being efficient, scalable, and robust.