Protocole bittorrent
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

Protocole BitTorrent PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Protocole BitTorrent

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.


D monstration

Démonstration


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


  • Login