protocole bittorrent
Download
Skip this Video
Download Presentation
Protocole BitTorrent

Loading in 2 Seconds...

play fullscreen
1 / 17

Protocole BitTorrent - PowerPoint PPT Presentation


  • 113 Views
  • Uploaded on

Protocole BitTorrent. Ingénieurs 2000 – Année 2004/2005 - Ludovic LELION. Sommaire. Présentation Fonctionnement Démonstration Export de données Avantages / Inconvénients Conclusion. Présentation : Généralités. Protocole de type " Peer to Peer " Inventé par Bram Cohen Objectif

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Protocole BitTorrent' - tam


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
protocole bittorrent

Protocole BitTorrent

Ingénieurs 2000 – Année 2004/2005 - Ludovic LELION

sommaire
Sommaire
  • Présentation
  • Fonctionnement
  • Démonstration
  • Export de données
  • Avantages / Inconvénients
  • Conclusion
pr sentation g n ralit s
Présentation : Généralités
  • Protocole de type "Peer to Peer"
  • Inventé par Bram Cohen
  • Objectif

Faciliter la distribution de gros fichiers en diminuant la charge sur les serveurs

  • Succès croissant

Nombreuses organisations proposent des téléchargements via ce protocole (RedHat, Eclipse …)

pr sentation glossaire
Présentation : Glossaire
  • Torrent
  • Client
  • Seeder
  • Leecher
  • Tracker
fonctionnement bases
Fonctionnement : Bases
  • Pas de système de recherche
  • Récupération d’un fichier d’informations Torrent
  • Téléchargement d’un ensemble de fichiers
  • Chaque client contient une ou toutes les parties des données à télécharger
fonctionnement architecture
LEECHER

LEECHER

SEEDER

SEEDER

Fonctionnement : Architecture

TRACKER

Fichier .torrent

fonctionnement encodage du fichier torrent bencoding
Fonctionnement : Encodage du fichier Torrent (BEncoding)
  • Integer

Préfixé par "i" et terminé par "e"

Ex : i123e (123) ou i-231e (-231)

  • String

Préfixé par la longueur de la chaîne, suivi d’un ":"

Ex : 10:Bittorrent ("Bittorrent")

  • List

Préfixé par "l" et terminé par "e"

Ex : li3el3:Sub4:Listee (la liste [3, ["Sub", "List"]])

  • Dictionarie

Préfixé par "d" et terminé par "e"

Ex : d3:key5:value6:numberi7ee (le dictionnaire [key : value, number : 7])

fonctionnement structure d un fichier torrent
Fonctionnement : Structure d’un fichier Torrent
  • Contient les informations concernant les fichiers et le Tracker :
    • announce : URL du Tracker
    • info : informations sur les fichiers
      • name : nom du fichier torrent
      • files : description des fichiers
        • length : taille d’un fichier
        • path : chemin d’un fichier
      • piece length : taille d’une partie
      • pieces : chaîne de taille multiple de 20, représentant le code SHA1 de chaque parties
fonctionnement connexion au tracker
Fonctionnement : Connexion au Tracker
  • Obtenir des informations concernant les clients connectés
  • Envoi d’une requête HTTP avec les paramètres :
    • peer_id : identifiant du client
    • info_hash : le code SHA1 du dictionnaire "info"
    • ip : adresse IP du client
    • port : port du client
fonctionnement r ponse du tracker
Fonctionnement : Réponse du Tracker
  • Encodée au format BEncoding
  • Dictionnaire contenant :
    • interval : Intervalle à attendre avant de contacter le tracker
    • peers : liste des clients connectés
      • ip : adresse IP d’un client
      • peer_id : identifiant d’un client
      • port : port d’un client
  • Les clients sont renvoyés de manière aléatoire
fonctionnement communication inter clients
Fonctionnement : Communication inter clients
  • Basé sur le protocole TCP
  • Notion d’état :
    • "Choked" : toutes les requêtes seront annulées
    • "Interested" : si le client est intéressé
  • Handshake
    • pstrlen : Longueur de l’identifiant de protocole
    • pstr : Identifiant du protocole
    • reserved : 8 zéros
    • info_hash : Code SHA1 du dictionnaire info
    • peer_id : Identifiant du client (20 octets)
  • Messages
    • length prefix : Longueur du message
    • message ID : Identifiant du message
    • payload : Contenu du message
fonctionnement echanges
Fonctionnement : Echanges
  • Au début tout le monde est Leecher
  • Objectif : devenir Seeder
  • Lors des échanges, chaque client indique les parties qu’il a récupéré
  • Les Seeders envoient les parties qui ne sont pas présentes
  • Les Leechers s’envoient les parties récupérées
  • Dans la base du protocole, un client est connecté à 4 autres clients.
fonctionnement algorithmes
Fonctionnement : Algorithmes
  • Encouragement au téléchargement

Un client envoie en priorité aux clients chez qui il télécharge le plus rapidement

  • Rarest First

Envoi en priorité les parties les plus rares

  • Optimistic Unchoking

Toutes les 30s, un client devient "Unchoked".

Un nouveau client a 3 fois plus de chance d’être sélectionnée.

export de donn es
Export de données
  • Partager ses fichiers sur Bittorrent
  • Création du fichier Torrent par les logiciels clients
    • Choix des fichiers
    • Choix du tracker
  • Envoi à un tracker
  • Diffuser le fichier Torrent
  • Rester connecté
avantages inconv nients
Avantages / Inconvénients
  • Avantages
    • Pas de files d’attentes
    • Protocole très rapide
    • Diminution de la charge des serveurs
  • Inconvénients
    • Pas de fonction de recherche
    • Pas de support des clients derrière un Firewall ou un réseau NAT
    • Démarrage lent d’un téléchargement
    • Non persistance des données
conclusion
Conclusion
  • Protocole très efficace
  • Améliorations possibles
  • Différents clients
    • Azureus
    • BitTornado
    • jAne (bientôt)
  • Concurrence
    • Slurpie
    • PDTP ou Squall
  • Bittorrent 2
ad