La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Ingénieurs 2000 – Année 2004/ Ludovic LELION"— Transcription de la présentation:

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

2 Sommaire Présentation Fonctionnement Démonstration Export de données
Avantages / Inconvénients Conclusion

3 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 …) Peer to peer classique : chaque client partage une partie de sa bande passante pour partager des fichiers

4 Présentation : Glossaire
Torrent Client Seeder Leecher Tracker Torrent : Extension du fichier contenant les informations sur les données à télécharger Seeder : Client ne faisant que d’uploader (possède tout le fichier) Leecher : Client désirant télécharger des parties (ne possède pas l’intégralité des données) Tracker : Chef d’orchestre du téléchargement. Contient les informations concernant les clients

5 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 Récupération d’un fichier d’informations Torrent A partir d’Internet Sur d’autres systèmes Peer to Peer (Emule, Gnutella, …)

6 Fonctionnement : Architecture
LEECHER LEECHER SEEDER TRACKER SEEDER Fichier .torrent

7 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])

8 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

9 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

10 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

11 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

12 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.

13 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.

14 Démonstration

15 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é

16 Avantages / Inconvénients
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

17 Conclusion Protocole très efficace Améliorations possibles
Différents clients Azureus BitTornado jAne (bientôt) Concurrence Slurpie PDTP ou Squall Bittorrent 2


Télécharger ppt "Ingénieurs 2000 – Année 2004/ Ludovic LELION"

Présentations similaires


Annonces Google