SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Introduction
                                            • A P2P file distribution protocol
             Bit Torrent                    • Designed by Bram Cohen circa July,
                                              2001.
            By Bram Cohen
                                            • BT’s mechanisms achieve pareto
               - Suman Karumuri               efficiency, while off loading
                                              bandwidth cost to downloaders.




        Popularity of BT                          Usage Patterns
• About 18-35% of internet traffic is
  BT traffic.
• Why?
  –   Ease of use through HTTP.
  –   Reduce the hosting costs.
  –   Useful for legitimate purposes too.
  –   Fairness




                                                                                   1
Why BitTorrent?
• Previous work
  – is not robust enough when large number
    of peers and files are involved.
  – Do not account Selfish users.                       BT Overview
  – Doesn’t account for high churn rate.
  – Is not be fair.




           First contact                         Finding each other
• Obtain a torrent                           • Trackers help find peers each other.
  – A Publisher (thepiratebay.com)
  – email                                    • Simple Custom protocol on top of HTTP.
  – Quantum teleportation.                   • Client sends file hash and connection
• A torrent contains                           info.
  –   File name
  –   File length                            • Tracker returns a random list of peers
  –   Hashing information                      currently downloading the file.
  –   Tracker information                      (Anonymity issue!)




                                                                                        2
Rock n Roll                                Seeder
•   Connect to peers.                      • Downloader with a complete copy of
•   Ask what pieces of file they have.       the file.
•   Download required pieces of a file.    • Only uploads the file.
•   Advertise your pieces to your peers.
•   Upload downloaded pieces.




      Overview animation                                 Files
                                           • A file is broken into pieces of .25-
                                             .5MB each before it is distributed.
                                           • File integrity: SHA1 hash inside the
                                             torrent.




                                                                                    3
TCP friendly                                    Piece selection
• While transferring files many requests are         • Strict priority
  pending.                                             – One piece after another.
• Pipelining
                                                     • Rarest First
  –   Break each piece into further 16kb pieces.
  –   Send one piece after the other.
                                                       – Improves availability of file.
  –   Only have 5 requests in queue at once.           – Improves download performance.
  –   Saturates most connections.                      – Handles churn well.




  Piece selection (contd)                                Choking Algorithms
• Random First Piece                                 • Peers reciprocate by uploading to
  – Give peer a chance to start upload quickly.        peers which upload to them.
  – Rarest first slows things down.
                                                     • Unutilized connections are uploaded
• Endgame mode
                                                       on a trial basis to see if better rates
  – Last pieces are obtained from faster peers, to
    complete downloads quicker.                        can be obtained.
  – Again addresses churn.                           • Achieves pareto efficiency.




                                                                                                 4
Choking Algo.                          Optimistic unchoking
• Unchoke a fixed number of peers           • There may be peers with better
  (defualt 4)                                 download rates.
• Every 10secs:                             • Every 30 seconds:
  – Compute the download rate for 20          – If previous peer better:
    second window for all active peers          • Make active peer
  – Keep the peers with highest download      – Unchoke another peer.
    bandwidth. Choke others.




        Anti-snubbing                                 Upload only
• If no data downloaded from peer in        • Once download finished:
  last 60 seconds:                            – Upload to peers with good upload rates.
  – Assume snubbed.                           – Upload to peers that no one else is
  – Stop uploading to that peer.                uploading to.
  – Use optimistic unchoke to find better
    peers




                                                                                          5
Splitstream/Bullet
          comparision
• Ad-hoc design to address real world issues.
• BT Not designed for streaming. ( So no fancy
  erasure codes)
• No tree-structure.
• BT takes advantage of upload capacity at peers.            BT Extensions
• Handles churn well.
• Less overhead to transmit info about what peers
  have what.
• BT achieves Pareto efficiency.




         Super seeders                                       Anonymity
• Used when there is only 1 seed.                   • Trackerless and encryption for
• Seeder claims no pieces at outset.                  anonymity.
• Uploads a new piece only after it                 • Hide content from network shapers.
  finds the previous uploaded pieces                • Proxying through Tor anonymity
  are uploaded atleast once.                          network.




                                                                                           6
No Trackers                                      Private Trackers
• Use DHT like Kademilia                              • Too many selfish users.
• Allows a client to use torrents that                • Private trackers provide
  do not have working BT tracker.                       – High quality peers (uses statistics).
                                                        – Ensures fairness.
                                                        – Better download rates.




          BT Streaming
• BiToS
  – Divide file into 3 sets :
     • Received pieces
     • High Priority ( Next frames + rare)
     • Remaining pieces.
  – Chose a set with probability p. In the set, get
                                                                   Questions?
    rarest first.
  – P can be dynamically computed.
     • Using number of missed frames.
     • Bandwidth of client.
     • Size of High Priority set.




                                                                                                  7

Más contenido relacionado

La actualidad más candente

Black Ops of TCP/IP 2011 (Black Hat USA 2011)
Black Ops of TCP/IP 2011 (Black Hat USA 2011)Black Ops of TCP/IP 2011 (Black Hat USA 2011)
Black Ops of TCP/IP 2011 (Black Hat USA 2011)Dan Kaminsky
 
Genkidama:実装と課題
Genkidama:実装と課題Genkidama:実装と課題
Genkidama:実装と課題Takuya ASADA
 
Multi tier-app-network-topology-neutron-final
Multi tier-app-network-topology-neutron-finalMulti tier-app-network-topology-neutron-final
Multi tier-app-network-topology-neutron-finalSadique Puthen
 
Scaling Instagram
Scaling InstagramScaling Instagram
Scaling Instagramiammutex
 
Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?APNIC
 
Openstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaS
Openstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaSOpenstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaS
Openstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaSSadique Puthen
 
Promise of Push (HTTP/2 Web Performance)
Promise of Push (HTTP/2 Web Performance)Promise of Push (HTTP/2 Web Performance)
Promise of Push (HTTP/2 Web Performance)Colin Bendell
 
Nginx Scalable Stack
Nginx Scalable StackNginx Scalable Stack
Nginx Scalable StackBruno Paiuca
 
Design Reviewing The Web
Design Reviewing The WebDesign Reviewing The Web
Design Reviewing The Webamiable_indian
 
HTTP/2 for Developers
HTTP/2 for DevelopersHTTP/2 for Developers
HTTP/2 for DevelopersSvetlin Nakov
 
BIND 9 logging best practices
BIND 9 logging best practicesBIND 9 logging best practices
BIND 9 logging best practicesMen and Mice
 
How happy they became with H2O/mruby and the future of HTTP
How happy they became with H2O/mruby and the future of HTTPHow happy they became with H2O/mruby and the future of HTTP
How happy they became with H2O/mruby and the future of HTTPIchito Nagata
 
H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP serverKazuho Oku
 
IETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentationIETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentationAPNIC
 
Service workers - Velocity 2016 Training
Service workers - Velocity 2016 TrainingService workers - Velocity 2016 Training
Service workers - Velocity 2016 TrainingPatrick Meenan
 

La actualidad más candente (20)

Black Ops of TCP/IP 2011 (Black Hat USA 2011)
Black Ops of TCP/IP 2011 (Black Hat USA 2011)Black Ops of TCP/IP 2011 (Black Hat USA 2011)
Black Ops of TCP/IP 2011 (Black Hat USA 2011)
 
Genkidama:実装と課題
Genkidama:実装と課題Genkidama:実装と課題
Genkidama:実装と課題
 
Multi tier-app-network-topology-neutron-final
Multi tier-app-network-topology-neutron-finalMulti tier-app-network-topology-neutron-final
Multi tier-app-network-topology-neutron-final
 
Just curl it!
Just curl it!Just curl it!
Just curl it!
 
Scaling Instagram
Scaling InstagramScaling Instagram
Scaling Instagram
 
Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?
 
Dmk bo2 k8_bh_fed
Dmk bo2 k8_bh_fedDmk bo2 k8_bh_fed
Dmk bo2 k8_bh_fed
 
Openstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaS
Openstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaSOpenstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaS
Openstack on Fedora, Fedora on Openstack: An Introduction to cloud IaaS
 
Dmk blackops2006
Dmk blackops2006Dmk blackops2006
Dmk blackops2006
 
DNS over HTTPS
DNS over HTTPSDNS over HTTPS
DNS over HTTPS
 
Promise of Push (HTTP/2 Web Performance)
Promise of Push (HTTP/2 Web Performance)Promise of Push (HTTP/2 Web Performance)
Promise of Push (HTTP/2 Web Performance)
 
Nginx Scalable Stack
Nginx Scalable StackNginx Scalable Stack
Nginx Scalable Stack
 
Design Reviewing The Web
Design Reviewing The WebDesign Reviewing The Web
Design Reviewing The Web
 
Http2
Http2Http2
Http2
 
HTTP/2 for Developers
HTTP/2 for DevelopersHTTP/2 for Developers
HTTP/2 for Developers
 
BIND 9 logging best practices
BIND 9 logging best practicesBIND 9 logging best practices
BIND 9 logging best practices
 
How happy they became with H2O/mruby and the future of HTTP
How happy they became with H2O/mruby and the future of HTTPHow happy they became with H2O/mruby and the future of HTTP
How happy they became with H2O/mruby and the future of HTTP
 
H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP server
 
IETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentationIETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentation
 
Service workers - Velocity 2016 Training
Service workers - Velocity 2016 TrainingService workers - Velocity 2016 Training
Service workers - Velocity 2016 Training
 

Destacado

PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup Suman Karumuri
 
Practical Byzantine Fault Tolerance
Practical Byzantine Fault TolerancePractical Byzantine Fault Tolerance
Practical Byzantine Fault ToleranceSuman Karumuri
 
the bike map - a look into a practical application of graph theory
the bike map - a look into a practical application of graph theorythe bike map - a look into a practical application of graph theory
the bike map - a look into a practical application of graph theoryCharlie Hsu
 

Destacado (7)

Dream Language!
Dream Language!Dream Language!
Dream Language!
 
Phobos
PhobosPhobos
Phobos
 
PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup
 
Gpu Join Presentation
Gpu Join PresentationGpu Join Presentation
Gpu Join Presentation
 
Practical Byzantine Fault Tolerance
Practical Byzantine Fault TolerancePractical Byzantine Fault Tolerance
Practical Byzantine Fault Tolerance
 
the bike map - a look into a practical application of graph theory
the bike map - a look into a practical application of graph theorythe bike map - a look into a practical application of graph theory
the bike map - a look into a practical application of graph theory
 
bluespec talk
bluespec talkbluespec talk
bluespec talk
 

Similar a Bittorrent

Peer-to-Peer Systems
Peer-to-Peer SystemsPeer-to-Peer Systems
Peer-to-Peer SystemsUwe Schmidt
 
CSTalks - Peer-to-peer - 16 Feb
CSTalks - Peer-to-peer - 16 FebCSTalks - Peer-to-peer - 16 Feb
CSTalks - Peer-to-peer - 16 Febcstalks
 
Creating Media Content for Microsoft Silverlight Using Microsoft Expression E...
Creating Media Content for Microsoft Silverlight Using Microsoft Expression E...Creating Media Content for Microsoft Silverlight Using Microsoft Expression E...
Creating Media Content for Microsoft Silverlight Using Microsoft Expression E...goodfriday
 
BitTorrent-like P2P Networks
BitTorrent-like P2P NetworksBitTorrent-like P2P Networks
BitTorrent-like P2P NetworksKshitij Agarwal
 
Spotify: P2P music-on-demand streaming
Spotify: P2P music-on-demand streamingSpotify: P2P music-on-demand streaming
Spotify: P2P music-on-demand streamingRicardo Vice Santos
 
Rhonda Layfield Sniffing Your Network With Netmon 3.3
Rhonda Layfield   Sniffing Your Network With Netmon 3.3Rhonda Layfield   Sniffing Your Network With Netmon 3.3
Rhonda Layfield Sniffing Your Network With Netmon 3.3Nathan Winters
 
Data Management and Streaming Strategies in Drakensang Online
Data Management and Streaming Strategies in Drakensang OnlineData Management and Streaming Strategies in Drakensang Online
Data Management and Streaming Strategies in Drakensang OnlineAndre Weissflog
 
Wuala, P2P Online Storage
Wuala, P2P Online StorageWuala, P2P Online Storage
Wuala, P2P Online Storageadunne
 
UNRAVEILING BIT-TORRENT
UNRAVEILING BIT-TORRENTUNRAVEILING BIT-TORRENT
UNRAVEILING BIT-TORRENTSudhansu Dash
 
Designing and Attacking DRM (RSA 2008)
Designing and Attacking DRM (RSA 2008)Designing and Attacking DRM (RSA 2008)
Designing and Attacking DRM (RSA 2008)Nate Lawson
 
Mo and Tao 魔与道
Mo and Tao 魔与道Mo and Tao 魔与道
Mo and Tao 魔与道Austin Chou
 

Similar a Bittorrent (20)

Peer-to-Peer Systems
Peer-to-Peer SystemsPeer-to-Peer Systems
Peer-to-Peer Systems
 
CSTalks - Peer-to-peer - 16 Feb
CSTalks - Peer-to-peer - 16 FebCSTalks - Peer-to-peer - 16 Feb
CSTalks - Peer-to-peer - 16 Feb
 
Creating Media Content for Microsoft Silverlight Using Microsoft Expression E...
Creating Media Content for Microsoft Silverlight Using Microsoft Expression E...Creating Media Content for Microsoft Silverlight Using Microsoft Expression E...
Creating Media Content for Microsoft Silverlight Using Microsoft Expression E...
 
P2P Lecture.ppt
P2P Lecture.pptP2P Lecture.ppt
P2P Lecture.ppt
 
BitTorrent Protocol
BitTorrent ProtocolBitTorrent Protocol
BitTorrent Protocol
 
BitTorrent-like P2P Networks
BitTorrent-like P2P NetworksBitTorrent-like P2P Networks
BitTorrent-like P2P Networks
 
Nodeconf npm 2011
Nodeconf npm 2011Nodeconf npm 2011
Nodeconf npm 2011
 
Spotify: P2P music-on-demand streaming
Spotify: P2P music-on-demand streamingSpotify: P2P music-on-demand streaming
Spotify: P2P music-on-demand streaming
 
Rhonda Layfield Sniffing Your Network With Netmon 3.3
Rhonda Layfield   Sniffing Your Network With Netmon 3.3Rhonda Layfield   Sniffing Your Network With Netmon 3.3
Rhonda Layfield Sniffing Your Network With Netmon 3.3
 
Peer to peer(p2 p)
Peer to peer(p2 p)Peer to peer(p2 p)
Peer to peer(p2 p)
 
Bittorrent
BittorrentBittorrent
Bittorrent
 
Data Management and Streaming Strategies in Drakensang Online
Data Management and Streaming Strategies in Drakensang OnlineData Management and Streaming Strategies in Drakensang Online
Data Management and Streaming Strategies in Drakensang Online
 
Spotify: P2P music streaming
Spotify: P2P music streamingSpotify: P2P music streaming
Spotify: P2P music streaming
 
Wuala, P2P Online Storage
Wuala, P2P Online StorageWuala, P2P Online Storage
Wuala, P2P Online Storage
 
Bittorrent
BittorrentBittorrent
Bittorrent
 
UNRAVEILING BIT-TORRENT
UNRAVEILING BIT-TORRENTUNRAVEILING BIT-TORRENT
UNRAVEILING BIT-TORRENT
 
Designing and Attacking DRM (RSA 2008)
Designing and Attacking DRM (RSA 2008)Designing and Attacking DRM (RSA 2008)
Designing and Attacking DRM (RSA 2008)
 
Mo and Tao 魔与道
Mo and Tao 魔与道Mo and Tao 魔与道
Mo and Tao 魔与道
 
HDFS Architecture
HDFS ArchitectureHDFS Architecture
HDFS Architecture
 
Hdfs Dhruba
Hdfs DhrubaHdfs Dhruba
Hdfs Dhruba
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Bittorrent

  • 1. Introduction • A P2P file distribution protocol Bit Torrent • Designed by Bram Cohen circa July, 2001. By Bram Cohen • BT’s mechanisms achieve pareto - Suman Karumuri efficiency, while off loading bandwidth cost to downloaders. Popularity of BT Usage Patterns • About 18-35% of internet traffic is BT traffic. • Why? – Ease of use through HTTP. – Reduce the hosting costs. – Useful for legitimate purposes too. – Fairness 1
  • 2. Why BitTorrent? • Previous work – is not robust enough when large number of peers and files are involved. – Do not account Selfish users. BT Overview – Doesn’t account for high churn rate. – Is not be fair. First contact Finding each other • Obtain a torrent • Trackers help find peers each other. – A Publisher (thepiratebay.com) – email • Simple Custom protocol on top of HTTP. – Quantum teleportation. • Client sends file hash and connection • A torrent contains info. – File name – File length • Tracker returns a random list of peers – Hashing information currently downloading the file. – Tracker information (Anonymity issue!) 2
  • 3. Rock n Roll Seeder • Connect to peers. • Downloader with a complete copy of • Ask what pieces of file they have. the file. • Download required pieces of a file. • Only uploads the file. • Advertise your pieces to your peers. • Upload downloaded pieces. Overview animation Files • A file is broken into pieces of .25- .5MB each before it is distributed. • File integrity: SHA1 hash inside the torrent. 3
  • 4. TCP friendly Piece selection • While transferring files many requests are • Strict priority pending. – One piece after another. • Pipelining • Rarest First – Break each piece into further 16kb pieces. – Send one piece after the other. – Improves availability of file. – Only have 5 requests in queue at once. – Improves download performance. – Saturates most connections. – Handles churn well. Piece selection (contd) Choking Algorithms • Random First Piece • Peers reciprocate by uploading to – Give peer a chance to start upload quickly. peers which upload to them. – Rarest first slows things down. • Unutilized connections are uploaded • Endgame mode on a trial basis to see if better rates – Last pieces are obtained from faster peers, to complete downloads quicker. can be obtained. – Again addresses churn. • Achieves pareto efficiency. 4
  • 5. Choking Algo. Optimistic unchoking • Unchoke a fixed number of peers • There may be peers with better (defualt 4) download rates. • Every 10secs: • Every 30 seconds: – Compute the download rate for 20 – If previous peer better: second window for all active peers • Make active peer – Keep the peers with highest download – Unchoke another peer. bandwidth. Choke others. Anti-snubbing Upload only • If no data downloaded from peer in • Once download finished: last 60 seconds: – Upload to peers with good upload rates. – Assume snubbed. – Upload to peers that no one else is – Stop uploading to that peer. uploading to. – Use optimistic unchoke to find better peers 5
  • 6. Splitstream/Bullet comparision • Ad-hoc design to address real world issues. • BT Not designed for streaming. ( So no fancy erasure codes) • No tree-structure. • BT takes advantage of upload capacity at peers. BT Extensions • Handles churn well. • Less overhead to transmit info about what peers have what. • BT achieves Pareto efficiency. Super seeders Anonymity • Used when there is only 1 seed. • Trackerless and encryption for • Seeder claims no pieces at outset. anonymity. • Uploads a new piece only after it • Hide content from network shapers. finds the previous uploaded pieces • Proxying through Tor anonymity are uploaded atleast once. network. 6
  • 7. No Trackers Private Trackers • Use DHT like Kademilia • Too many selfish users. • Allows a client to use torrents that • Private trackers provide do not have working BT tracker. – High quality peers (uses statistics). – Ensures fairness. – Better download rates. BT Streaming • BiToS – Divide file into 3 sets : • Received pieces • High Priority ( Next frames + rare) • Remaining pieces. – Chose a set with probability p. In the set, get Questions? rarest first. – P can be dynamically computed. • Using number of missed frames. • Bandwidth of client. • Size of High Priority set. 7