Chapter 2: Application layer

Slides:



Advertisements
Présentations similaires
droit + pub = ? vincent gautrais professeur agrégé – avocat
Advertisements

Objectif Trouver les facteurs dun nombre. Objective Find the factors of a number.
Fractions impropres et nombres fractionnaires
RAPPORT et TAUX Objectif.
Les pronoms compléments
Table des matières En famille Part 1 Ma famille Subject pronouns
Présentation IDP Sondes de détection d’intrusion
Why? Extended language Sentence level work Cultural Find out new language Stimulus for creativity Reinforce everything children do in English Fun for.
Primary French PowerPoints What’s Your Name?.
OTB Analog module: Input configuration with TSX PREMIUM (TSXCPP110)
Questions II How do you Form Questions in French??
Direct and Indirect Object Pronouns in French
Time with minutes French II Le 30 Octobre.
Smoking a regular verb cigar: the –er version The keys to putting together what you want to say!
Cliquez et modifiez le titre Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau 23/01/2014©
Status report SOLEIL April 2008
Minimisation Techniques 1 Assimilation Algorithms: Minimisation Techniques Yannick Trémolet ECMWF Data Assimilation Training Course March 2006.
What is todays date and when is your birthday Ask someone what star sign they are and answer Say and ask for the time Say what you do for your birthday.
Reading an analog clock
Université Des Sciences Et De La Technologie DOran Mohamed Boudiaf USTO République Algérienne Démocratique et Populaire Département de linformatique Projet.
Français I Leçon 2B Une semaine au lycée Au Debut #7 (for the dates of November 5 and 6) Please Translate the Following: 1. I love the math course. (Adorer.
Second part Album Keet.
un crayon un ordinateur un stylo un taille-crayon.
C RIMINALITY I N F RANCE By Louis Lépinette. S TATISTICS Damage to goods Voluntary attempt to a persons physical integrity Financial fraud 1.
1 Le Store WebContent Benjamin NGUYEN UVSQ & INRIA-SMIS Spyros ZOUPANOS U.Paris Dauphine & INRIA-LEO Workshop Sources Ouvertes et Service – Caen 2010.
Rules Each group answers every question. A student will be selected at random to answer the question. If that team misses, a 2 nd name is drawn, and they.
The interrogative structure indicates that the speaker is searching for information In other words, we use the interrogative to ask questions.
Les pluriels Sometimes you cant just take one!. Les articles… There are « DEUX » articles that can show that something is plural. Les = the Les ciseaux,
TM.
Electronic Portfolio/ Portfolio électronique QPAT
Les matières WALT: Talk about school subjects in French Give our opinion about subjects and say why.
Quelle heure est-il? What time is it?.
9e Année - Français Cadre
Protocoles… compléments php FTP Courrier: smtp pop imap… DNS P2P
DELF Le 12 au 15 avril POURQUOI DELF? Official French language diplomas (DELF-DALF) - Why take the DELF and the DALF ? The Diplôme dEtudes en Langue.
2: Application Layer1 Pair à Pair. 2: Application Layer2 P2P file sharing Example r Alice runs P2P client application on her notebook computer r Intermittently.
AFNOR NF Z – "Online Consumer Reviews
Les Questions dInformation. Information Questions Information questions are open-ended. They request new information and cannot be answered with a simple.

Mardi 20 Novembre 2012 Recap I can
TortoiseSVN N°. Subversion : pour quoi faire ? Avoir un espace de stockage commun – Tous les étudiants du SIGLIS ont un espace svn commun Partager vos.
Pair à pair. quelques principes les nœuds offrent des fonctionnalités identiques (pair) volatilité importante (apparition/disparition) grande échelle.
Laboratoire de Bioinformatique des Génomes et des Réseaux Université Libre de Bruxelles, Belgique Introduction Statistics.
L’ensemble microcanonique
BBoard Fonctionne pas. BBoard Copier le répertoire dézippé dans le répertoire modules de post nuke Renommer ce répertoire en yabbse. Entrer le chemin.
1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012.
14 mai 2003TSTG Barcelona Meeting - Gilbert1 TSTG General Meeting: Configure and Makefile issues Gilbert Grosdidier LAL-Orsay/IN2P3/CNRS & LCG.
Systèmes distribués Le futur des systèmes dinformation est: Networked Diverse Numerous Mobile Ubiquitous Systèmes multiagents Middlewares: CORBA JINI HLA.
Un chat deux chats deux chiens Un chien deux chevaux Un cheval
Jeudi le 7 novembre. F 3 DUE: Virtual tour in LMS by 7:30 for the 70! DUE: Flashcards also for the 70 today (50 Friday) 1. Poem practice Le dormeur du.
Finger Rhyme 6 Summer Term Module 6 Culturethèque-ifru2013 May not be copied for commercial purposes.
Cours 7 (18 novembre 2011 DNS, Pair à pair.
Donnez l’heure “Time”… it’s a ticking!.
J’aime ma culture francophone, j’aime notre façon d’être, notre joie de vivre, nos traditions, nos manies. Je veux que mes enfants vivent ça et qu’ils.
Différencier: NOMBRE PREMIER vs. NOMBRE COMPOSÉ
Branche Développement Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire.
Leçon 4: L’heure Mlle Muhr French 1. The Hour There are 60 minutes in every hour. Each hour can be divided into 4 parts: 15/60 or 1/
Study & revise the numbers carefully.
Quelle heure est-il? What time is it ?.
Formatting of Game © Candace R. Black, Al rights reserved. Révisions!
When do we use numbers? Why are they important? Why is it important to know numbers in French (or any other language)? Can you think of some REAL WORLD.
Orbitales “s” Figure:
Français 2, 29 Septembre 2014 Ouvrez vos livres à la page 20. Faites #26. Why is it important to be on-time for work if you're a computer security specialist?
Ministère de l’Éducation, du Loisir et du Sport Responsables des programmes FLS et ELA: Diane Alain et Michele Luchs Animateurs: Diane Alain et Michael.
Répondons 1 2 vends 2 3 L e s C a s e s C a c h é e s Je/ perdre Elles/ entendre Nous/ répondre Tu/ vendre Les Verbes RE.
To practice: Quantities Un, une, des, de Du, de la, de l’, de Le, la, l’, les.
WINS Windows Internet Name Service. What is WINS?  It does name resolution (?!) DNS resolves IP numbers and FQDN ARP resolves IP numbers and MAC addresses.
PERFORMANCE One important issue in networking is the performance of the network—how good is it? We discuss quality of service, an overall measurement.
IP Multicast Text available on
Qu’est-ce que tu as dans ta trousse?
Transcription de la présentation:

Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 Socket programming with UDP 2.8 Socket programming with TCP H. Fauconnier M2-Internet

P2P file sharing Alice chooses one of the peers, Bob. File is copied from Bob’s PC to Alice’s notebook: HTTP While Alice downloads, other users uploading from Alice. Alice’s peer is both a Web client and a transient Web server. All peers are servers = highly scalable! Example Alice runs P2P client application on her notebook computer Intermittently connects to Internet; gets new IP address for each connection Asks for “Hey Jude” Application displays other peers that have copy of Hey Jude. H. Fauconnier M2-Internet

Pair à pair quelques principes applications les nœuds offrent des fonctionnalités identiques (pair) volatilité importante (apparition/disparition) grande échelle et dispersion géographique dynamicité importante applications partage de fichiers messagerie téléphone (Skype) … différent du client-serveur H. Fauconnier M2-Internet

Partage de fichiers Communication basée sur deux types de protocoles différents découverte et localisation des fichiers recherche des données mettre en contact deux (ou plusieurs) utilisateurs parmi des millions téléchargement des fichiers H. Fauconnier M2-Internet

Découverte-localisation Base publication des fichiers partagés avec des méta-données découverte des fichiers disponibles localisation des sources à télécharger (En plus identification des doublons détection des fichiers corrompus forums) H. Fauconnier M2-Internet

Architecture du réseau Centralisée: un serveur ou un cluster sur lequel les clients se connectent (Napster) Décentralisée: il n'y a que des clients (Gnutella) Faiblement centralisée: des clients et des serveurs (Edonkey) Hybride: les clients peuvent devenir des serveurs H. Fauconnier M2-Internet

P2P: problems with centralized directory Single point of failure Performance bottleneck Copyright infringement file transfer is decentralized, but locating content is highly centralized H. Fauconnier M2-Internet

Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change IP addresses Three topics: File distribution Searching for information Case Study: Skype peer-peer H. Fauconnier M2-Internet

File Distribution: Server-Client vs P2P Question : How much time to distribute file from one server to N peers? us: server upload bandwidth Server ui: peer i upload bandwidth u1 d1 u2 d2 us di: peer i download bandwidth File, size F dN Network (with abundant bandwidth) uN H. Fauconnier M2-Internet

File distribution time: server-client server sequentially sends N copies: NF/us time client i takes F/di time to download F u2 u1 d1 d2 us Network (with abundant bandwidth) dN uN = dcs = max { NF/us, F/min(di) } i Time to distribute F to N clients using client/server approach increases linearly in N (for large N) H. Fauconnier M2-Internet

File distribution time: P2P Server server must send one copy: F/us time client i takes F/di time to download NF bits must be downloaded (aggregate) F u2 u1 d1 d2 us Network (with abundant bandwidth) dN uN fastest possible upload rate: us + Sui dP2P = max { F/us, F/min(di) , NF/(us + Sui) } i H. Fauconnier M2-Internet

Server-client vs. P2P: example Client upload rate = u, F/u = 1 hour, us = 10u, dmin ≥ us H. Fauconnier M2-Internet

Quelques exemples H. Fauconnier M2-Internet

Query flooding: Gnutella fully distributed no central server public domain protocol many Gnutella clients implementing protocol overlay network: graph edge between peer X and Y if there’s a TCP connection all active peers and edges is overlay net Edge is not a physical link Given peer will typically be connected with < 10 overlay neighbors H. Fauconnier M2-Internet

Gnutella: protocol File transfer: HTTP Query message sent over existing TCP connections peers forward Query message QueryHit sent over reverse path Query QueryHit Scalability: limited scope flooding H. Fauconnier M2-Internet

Gnutella: Peer joining Joining peer X must find some other peer in Gnutella network: use list of candidate peers X sequentially attempts to make TCP with peers on list until connection setup with Y X sends Ping message to Y; Y forwards Ping message. All peers receiving Ping message respond with Pong message X receives many Pong messages. It can then setup additional TCP connections H. Fauconnier M2-Internet

Exploiting heterogeneity: KaZaA Each peer is either a group leader or assigned to a group leader. TCP connection between peer and its group leader. TCP connections between some pairs of group leaders. Group leader tracks the content in all its children. H. Fauconnier M2-Internet

KaZaA: Querying Each file has a hash and a descriptor Client sends keyword query to its group leader Group leader responds with matches: For each match: metadata, hash, IP address If group leader forwards query to other group leaders, they respond with matches Client then selects files for downloading HTTP requests using hash as identifier sent to peers holding desired file H. Fauconnier M2-Internet

KaZaA tricks Limitations on simultaneous uploads Request queuing Incentive priorities Parallel downloading H. Fauconnier M2-Internet

File distribution: BitTorrent P2P file distribution tracker: tracks peers participating in torrent torrent: group of peers exchanging chunks of a file obtain list of peers trading chunks peer H. Fauconnier M2-Internet

BitTorrent (1) file divided into 256KB chunks. peer joining torrent: has no chunks, but will accumulate them over time registers with tracker to get list of peers, connects to subset of peers (“neighbors”) while downloading, peer uploads chunks to other peers. peers may come and go once peer has entire file, it may (selfishly) leave or (altruistically) remain H. Fauconnier M2-Internet

BitTorrent (2) Pulling Chunks Sending Chunks: tit-for-tat Alice sends chunks to four neighbors currently sending her chunks at the highest rate re-evaluate top 4 every 10 secs every 30 secs: randomly select another peer, starts sending chunks newly chosen peer may join top 4 “optimistically unchoke” Pulling Chunks at any given time, different peers have different subsets of file chunks periodically, a peer (Alice) asks each neighbor for list of chunks that they have. Alice sends requests for her missing chunks rarest first H. Fauconnier M2-Internet

BitTorrent: Tit-for-tat (1) Alice “optimistically unchokes” Bob (2) Alice becomes one of Bob’s top-four providers; Bob reciprocates (3) Bob becomes one of Alice’s top-four providers With higher upload rate, can find better trading partners & get file faster! H. Fauconnier M2-Internet

Rechercher H. Fauconnier M2-Internet

Recherche par diffusion simple les clients ne publient rien et ne font que des requêtes une requête est diffusée à tous les clients: avec une limite de portée (TTL) en évitant les cycles (identification unique de la requête, la requête contient le son chemin …) recherche en profondeur ou en largeur un client répond par le chemin emprunté par la requête H. Fauconnier M2-Internet

Filtres de Bloom Principe: un ensemble E de n éléments une fonction de hachage de E sur {1,m} un vecteur de m bits (le filtre) tester si x appartient à E si le bit h(x)=0 non si le bit h(x)=1 oui (mais peut être faux-positif) on peut diminuer les faux positifs en utilisant plusieurs fonctions de hachage Pour m et n donné le k optimal est m/n ln 2 et la probabilité de faux-positifs est (1/2)k utilisé dans Gnutelel H. Fauconnier M2-Internet

Filtres de Bloom Utilisation: Si le client possède le document les bits des mot-clés correspondant sont à 1 Les clients s'échangent les filtres Les requêtes ne sont propagées que vers les clients qui ont le bon filtre H. Fauconnier M2-Internet

Recherche par indexation Les clients publient les fichiers qu'ils partagent sur les serveurs sur lesquels ils sont connectés Les serveurs indexent les descriptions des fichiers Les clients envoient des requêtes aux serveurs pour trouver les fichiers et les localiser H. Fauconnier M2-Internet

Recherche par DHT Distributed hash table: Des nœuds et des données Un espace de clés (exemple clés de 160 bits) Un répartition des clés (qui possède les clés?) Un "overlay" de connexion entre les nœuds pour qui permet de savoir quel nœud possède quelle clé. H. Fauconnier M2-Internet

DHT Stocker un fichier f de contenu data: Rechercher un fichier f: Un hachage (SHA1 par exemple) produit une clé de 160 bits k à partir du nom f Par un put(k, data) sur l'overlay trouver le nœud responsable pour la clé k et lui transférer les donnés Rechercher un fichier f: Par hachage (SHA1) obtenir la clé k associée à f Rechercher sur l'overlay le nœud responsable de k et récupérer les données H. Fauconnier M2-Internet

DHT: hachage consistant On associe à chaque document (ou mot-clé) un identificateur unique (hachage) On associe à chaque client un identificateur unique de même taille ID On définit une métrique pour définir la distance d entre les clés-ID Un nœud ID i possède les clés j telles que d(j,i) est minimal parmi les ID (chaque nœud possède les clés les plus proches) Un retrait ou l'ajout d'un nœud ne modifie que les voisins H. Fauconnier M2-Internet

Distributed Hash Table (DHT) DHT = distributed P2P database Database has (key, value) pairs; key: ss number; value: human name key: content type; value: IP address Peers query DB with key DB returns values that match the key Peers can also insert (key, value) peers H. Fauconnier M2-Internet

DHT Identifiers Assign integer identifier to each peer in range [0,2n-1]. Each identifier can be represented by n bits. Require each key to be an integer in same range. To get integer keys, hash original key. eg, key = h(“Led Zeppelin IV”) This is why they call it a distributed “hash” table H. Fauconnier M2-Internet

How to assign keys to peers? Central issue: Assigning (key, value) pairs to peers. Rule: assign key to the peer that has the closest ID. Convention in lecture: closest is the immediate successor of the key. Ex: n=4; peers: 1,3,4,5,8,10,12,14; key = 13, then successor peer = 14 key = 15, then successor peer = 1 H. Fauconnier M2-Internet

DHT exemple Chord: points sur un cercle la distance est la longueur de l'arc orienté. L'espace des clés est décomposé en segments. Si i et j sont des nœuds adjacents, i a toutes les clés comprises entre i et j Anneau de taille 2m (clés de 0 à 2m-1) Hachage par SHA1 (ID-clés réparties de façon uniforme) Chaque nœud maintient une liste de K successeurs et K prédécesseurs sur l'anneau H. Fauconnier M2-Internet

Chord Chercher le successeur de k pour nœud n: Soit C(k) le premier nœud successeur de (n+ 2 k-1) mod 2 m Si k appartient à ]n, successor]: trouvé Sinon transmettre la demande au plus près prédecesseur f de k dans C(k) Si les nœuds sont répartis uniformément on y arrive en m étapes (log(2m)) à chaque appel la distance entre le nœud et k H. Fauconnier M2-Internet

Circle DHT O(N) messages Who’s resp on avg to resolve for key 1110 ? 0001 O(N) messages on avg to resolve query, when there are N peers Who’s resp for key 1110 ? I am 0011 1111 1110 0100 1110 1110 1100 1110 0101 1110 Define closest as closest successor 1110 1010 1000 H. Fauconnier M2-Internet

Circular DHT with Shortcuts 1 3 4 5 8 10 12 15 Who’s resp for key 1110? Each peer keeps track of IP addresses of predecessor, successor, short cuts. Reduced from 6 to 2 messages. Possible to design shortcuts so O(log N) neighbors, O(log N) messages in query H. Fauconnier M2-Internet

Peer Churn Peer 5 abruptly leaves 1 3 4 5 8 10 12 15 To handle peer churn, require each peer to know the IP address of its two successors. Each peer periodically pings its two successors to see if they are still alive. Peer 5 abruptly leaves Peer 4 detects; makes 8 its immediate successor; asks 8 who its immediate successor is; makes 8’s immediate successor its second successor. What if peer 13 wants to join? H. Fauconnier M2-Internet

Téléchargement protocoles ad-hoc (Edonkey, Bittorrent) ou http Swarming (essaim) téléchargement d'un fichier en téléchargeant différentes parties en parallèle depuis plusieurs clients téléchargement multiple le fichier est décomposé en n blocs calcul du hachage de chaque bloc fichier est identifié par le hachage des blocs H. Fauconnier M2-Internet

Succès… www.slyck.com June 19, 2005 - 23:00 Network Users eDonkey2K 4,379,883 FastTrack 2,482,130 Gnutella 1,598,329 Overnet 745,472 DirectConnect 294,255 MP2P 251,137 Filetopia 3,455 H. Fauconnier M2-Internet

Quelques réseaux Napster Fasttrack (historique) Protocole: architecture centralisée recherche par indexation Fasttrack clients: Kazaa Mldonkey architecture hybride recherche par indexation et diffusion entre ultrapeers identification faible des fichiers (MD5 sur 300ko puis hachage sur 32 bits) http (+ swarming) H. Fauconnier M2-Internet

Quelques réseaux Edonkey Overnet/Kad Clients: Edonkeys, Emule protocole faiblement centralisée recherche par indexation TCP recherche multi-serveurs par UDP téléchargement en duplex avec bitmaps, streaming et swarming (Bittorrent dans les dernières versions) système de crédits pour inciter au partage Overnet/Kad télécharement Edonkey décentralisé DHT (Kademlia) H. Fauconnier M2-Internet

Quelques réseaux Gnutella Bittorrent architecture hybride Recherche par diffusion courte (TTL <8) avec filtres de Bloom Gnutella et Gnutella2 téléchargement par http avec possibilité de swarming Bittorrent pas de découverte, un fichier .torrent contient les infos sur le fichier localisation centralisée pour chaque fichier (tracker) téléchargementavec bitmaps le client commence à forunir du contenu à ses voisins au bout d'un certain temps il bloque les voisins qui ne répondent pas et conserve les quatre meilleurs H. Fauconnier M2-Internet

Quelques réseaux Freenet complètement distribué publication par copie recherche par diffusion en profondeur protocole et contenu cryptés documents signés par signature digitale axé sur l'anonymat H. Fauconnier M2-Internet

P2P Case study: Skype inherently P2P: pairs of users communicate. Skype clients (SC) inherently P2P: pairs of users communicate. proprietary application-layer protocol (inferred via reverse engineering) hierarchical overlay with SNs Index maps usernames to IP addresses; distributed over SNs Skype login server Supernode (SN) H. Fauconnier M2-Internet

Peers as relays Problem when both Alice and Bob are behind “NATs”. NAT prevents an outside peer from initiating a call to insider peer Solution: Using Alice’s and Bob’s SNs, Relay is chosen Each peer initiates session with relay. Peers can now communicate through NATs via relay H. Fauconnier M2-Internet