SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Dernier (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

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