BitTorrent Protocol
Upcoming SlideShare
Loading in...5
×
 

BitTorrent Protocol

on

  • 7,970 views

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

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

Statistics

Views

Total Views
7,970
Slideshare-icon Views on SlideShare
7,969
Embed Views
1

Actions

Likes
5
Downloads
668
Comments
0

1 Embed 1

https://duckduckgo.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    BitTorrent Protocol BitTorrent Protocol Presentation Transcript

      • 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
    • 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
    • Terminology
      • Torrent
      • Peer
      • Seed
      • Leecher
      • Swarm
      • Reseed
      • Tracker
      • Share Ratio
    • Architecture of BitTorrent
      • HTTP Peer – Tracker
      • TCP Peer – Peer
      • Components of BitTorrent System
      • Metainfo File
      • Data
      • Tracker
      • Peers
      • Client
    • 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
      • 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
    • 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
    • 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
    •  
        • 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
        • 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
    • 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
        • 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
    • 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
    • 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
    • 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.
      • 3. A leecher downloads the torrent file from the web server.
      • 4. The leecher connects to the tracker specified in the torrent file.
      • 5. The leecher connects to its peers to retrieve pieces of the files.
    • 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.
    •  
      • 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
    •  
      • 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.
    • 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.
      • 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
      • 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
    • Other File Transfer Methods
      • Typical HTTP file transfer
      • Download Accelerator Plus (DAP)
      • Other Peer to Peer systems
        • Kazaa, eDonkey, Direct Connect ….
    • 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.