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

INFO 3020 Introduction aux réseaux d’ordinateurs Philippe Fournier-Viger Département d’informatique, U.de M. Bureau D216,

Présentations similaires


Présentation au sujet: "INFO 3020 Introduction aux réseaux d’ordinateurs Philippe Fournier-Viger Département d’informatique, U.de M. Bureau D216,"— Transcription de la présentation:

1 INFO 3020 Introduction aux réseaux d’ordinateurs Philippe Fournier-Viger Département d’informatique, U.de M. Bureau D216, philippe.fournier-viger@umoncton.ca Automne 2014 1

2 Aujourd’hui Chapitre 4 – couche transport (suite) ◦ Le protocole TCP (fin) ◦ Le protocole UDP ◦ Les codes de détection d’erreurs Autres ◦ netstat ?  connexions TCP, mais aussi adresses IP de l’ordinateur distant. 2

3 La couche « transport » du modèle OSI TCP, UDP … HTTP, FTP… IP … 3

4 LE PROTOCOLE UDP 4

5 Le protocole UDP RFC 768 offre des fonctions de base de la couche transport, les unités de données envoyées par UDP sont appelés des datagrammes, pas de connexion, ◦ pas de mécanisme de retransmission, ◦ pas d’ordonnancement, ◦ pas de contrôle de flux 5

6 Le protocole UDP (suite) transmission « au mieux » détection d’erreur notion de ports son utilisation créé moins de surcharge que TCP: ◦ les données sont envoyées directement sans avoir besoin d’établir une connexion, ◦ utilise une entête de 8 octets au lieu de 20 octets, 6

7 Le protocole UDP (suite) Ex. de protocoles basés sur UDP: DNS, DHCP, RIP, SNTP… Ex. d’applications: téléphonie, jeux en ligne, vidéo, … ◦ il est important que les informations arrivent rapidement à destination, ◦ perte de données acceptable. 7

8 Le protocole UDP (suite) UDP est souvent utilisé pour envoyer des données qui entrent dans un seul datagramme. Si les données ne peuvent entrer dans un seul datagramme, plusieurs datagrammes doivent être envoyés. L’ordonnancement et réassemblage n'est pas géré par UDP. Si l’ordre est important, cela doit être géré par l’application  8

9 Réception des datagrammes UDP 9

10 Comparaison du format UDP et TCP 10

11 Taille d’un datagramme Taille maximale théorique: ◦ 65535 octets, car le champs « longueur » est sur 16 bits. ◦ il faut enlever 8 octets pour l’entête, donc il reste 65527 octets. Taille maximale réelle: ◦ 65,507 octets (causé par le protocole IP de la couche inférieure: il faut enlever un 20 octets additionnel pour l’entête IP). 11

12 Serveurs UDP Comme pour TCP, des numéros de ports réservés sont affectés aux applications serveurs, Lorsqu’un datagramme est reçu, il est transféré à l’application qui correspond au numéro de port. 12

13 Clients UDP Le client choisi un port aléatoirement dans la plage de ports 49152 à 65535 pour communiquer au serveur. ◦ Le choix aléatoire est fait pour une question de sécurité. ◦ Si le choix de port était le résultat d’un mécanisme prévisible, les ports serait plus susceptibles d’être attaqués.  13

14 Clients UDP (suite) La communication est initiée par le client. Le datagramme envoyé au serveur contient le port du client comme origine et le port du serveur comme destination. Les ports sont inversés dans les datagrammes de réponse du serveur (s’il y en a). 14

15 Illustration – requêtes à un serveur 15

16 Illustration – réponses du serveur 16

17 LA DÉTECTION D’ERREURS DANS TCP ET UDP 17

18 Détection d’erreur Pourquoi? pour éviter que les données soient corrompues lors de la transmission. La détection d’erreur peut être faites dans plusieurs couches pour détecter différents types d’erreurs. ◦ ex.: couches supérieures ◦ ex.: couche transport (ex.: TCP) ◦ ex.: couche liaison de données (trames ethernet) 18

19 Quelques causes d’erreurs Défectuosité de l’interface réseau ◦ par exemple, certains bits peuvent être modifiés ◦ ce type d’erreur peut être géré par les pilotes (drivers) Erreurs de mémoire Erreurs lors de la transmission sur le support de communication 19

20 Quelques causes d’erreurs (suite) Erreurs logicielles: ◦ au niveau des hôtes ◦ au niveau des routeurs ◦ … Erreurs dans l’implémentation des algorithmes de compression (ex.: ne pas bien comprendre les RFC). Erreurs au niveau des applications … 20

21 Exemple: Amazon, 2008 Le centre de données S3 est composé de plusieurs serveurs. Une communication de type « rumeurs » permet aux serveurs de partager des informations sur leur état aux autres serveurs. Pour chaque message inter-serveur pour des données régulières, une somme de contrôle MD5 est utilisée pour vérifier si les messages sont corrompus. Or pour les communications sur l’état des serveurs, il n’y avait pas de code de détection d’erreur. 21

22 Exemple: Amazon (suite) La corruption d’un seul bit dans les messages sur l’état des serveurs s’est propagé d’un serveur à l’autre. Les messages corrompus ont causés une panne du centre de données S3 pendant plusieurs heures. http://status.aws.amazon.com/s3- 20080720.html http://status.aws.amazon.com/s3- 20080720.html 22

23 Détection d’erreur - TCP Est réalisé grâce à un champs de 16 bits nommé « Somme de contrôle ». La méthode est décrite dans RFC793. 23

24 Détection d’erreur - TCP (suite) Calcul de la somme de contrôle pour un segment TCP 1. Considérer les octets constituants (1) l’entête avec le code CRC à 0, (2) et les données sous forme de mots de 16 bits. 2. Faire la somme des mots de 16 bits (one’s complement sum***  et mettre le résultat dans un mots de 32 bits, et conserver seulement les 16 derniers bits. 3. Inverser les bits du résultat 24

25 Exemple Opération de la somme avec 4 mots de 16 bits. 1000 0110 0101 1110 1010 1100 0110 0000 0111 0001 0010 1010 1000 0001 1011 0101 25

26 Exemple 1000 0110 0101 1110 First 16-bit value + 1010 1100 0110 0000 Second 16-bit value --------------------- 1 0011 0010 1011 1110 Produced a carry-out, which gets added + \----------------> 1 back into LBb --------------------- 0011 0010 1011 1111 + 0111 0001 0010 1010 Third 16-bit value --------------------- 0 1010 0011 1110 1001 No carry to swing around (**) + 1000 0001 1011 0101 Fourth 16-bit value --------------------- 1 0010 0101 1001 1110 Produced a carry-out, which gets added + \----------------> 1 back into LBb --------------------- 0010 0101 1001 1111 (ceci doit ensuite être inversé) http://mathforum.org/library/drmath/view/54379.html 26

27 Détection d’erreur - TCP (suite) À la réception d’un segment TCP, la somme est recalculée. Si elle ne correspond plus à la valeur dans le champs « somme de contrôle » calculée par l’hôte d’origine, ◦ le segment est jeté, ◦ une demande de retransmission est formulée. Plutôt que de tenter de corriger les erreurs détectées, les segments sont retransmis. 27

28 Détection d’erreur - TCP (suite) La façon dont la « somme de contrôle » de TCP est calculée n’est pas nécessairement la meilleure solution, mais pour assurer la compatibilité avec les périphériques utilisant déjà TCP, elle est conservé ainsi. 28

29 Détection d’erreur - UDP La somme de contrôle est optionnelle pour UDP. Le champ « somme de contrôle » peut être laissé à 0 s’il n’est pas utilisé. La « somme de contrôle » de UDP est calculée de façon similaire à TCP. À la réception d’un datagramme, la somme est recalculée. Si elle ne correspond plus à la valeur « somme de contrôle » calculée par l’hôte d’origine, le datagramme est jeté. Il n’y a pas de retransmission prévue par UDP. 29

30 Détection d’erreurs Il existe d’autres codes permettant de détecter les erreurs. Voici un exemple:  30

31 Bit de parité « Il consiste à ajouter à la fin de chaque bloc de n-1 bits un bit supplémentaire choisi de telle sorte que le nombre total de bits égaux à 1 dans le bloc de n bits soit pair. Si, à la réception, le nombre de bits dans un bloc est impair, on détecte une erreur » http://www.enseignement.polytechnique.fr/informatique/profs /Georges.Gonthier/pi97/perrin/codes.html http://www.enseignement.polytechnique.fr/informatique/profs /Georges.Gonthier/pi97/perrin/codes.html Permet de détecter une erreur, mais pas de la corriger! 31

32 Le code ISBN Le code ISBN est utilisé sur les livres. Il permet de détecter une erreur. Pour un ISBN à 10 chiffres, le 10ième chiffre est la clé de contrôle. Ex. de ISBN: 2-266-11156-6. La clé de contrôle peut prendre une valeur de 0 à 10. 10 est représenté par X. 32

33 = 170 Calcul de la clé de contrôle 33

34 Le code ISBN (suite) Formellement, la somme pondérée peut être représentée ainsi: 34 terme représentant le 10 ième chiffre (la clé de contrôle) termes représentant les 9 premier chiffres d’un ISBN

35 La vérification du code de contrôle: ◦ On effectue le même calcul sur le code ISBN, mais en incluant la clé de contrôle avec une pondération de 1. ◦ Si la somme pondérée n’est pas un multiple de 11, le code ISBN est erroné. Vérification de la clé de contrôle 35

36 Le code ISBN (suite) permet de détecter un chiffre erroné. permet de restituer un nombre effacé. plus généralement, le code permet de détecter toutes erreurs tel que le modulo 11 de la somme pondérée n’est pas 0. 36

37 Le code ISBN (suite) 37

38 Le code ISBN (suite) ISBN permet aussi de détecter l’inversion de deux chiffres pas nécessairement adjacents.  38

39 Inversion de deux chiffres 39

40 Codes d’erreurs similaire ◦ les codes postaux aux États-Unis sous forme de codes barre (POSTNet) ◦ sur les chèques ◦ les codes barre sur les produits (UPC) 40

41 POSTNet Le neuvième chiffre est la clé de contrôle Peut détecter, erreur sur un chiffre et certaines tranposition. Ex.: ac  ca, abc  cba …. http://www-math.ucdenver.edu/~wcherowi/ 41

42 Les codes correcteurs Il existe des codes correcteurs qui permettent de détecter et de réparer une erreur. Exemple  42

43 Le code de Hamming Nous souhaitons encoder m bits de données et ajouter k bits de correction pour détecter les erreurs. Selon le code de Hamming, il faut choisir k tel que m ≤ 2 k - k-1. Par exemple, si k=3 alors m= 4 bits. 43

44 Le code de Hamming - encodage Les bits de correction sont situés aux indices « puissance de 2 »: 1, 2, 4… Ex.: Le message 1110 est codé comme: 0010110. Les bits 3, 5, 6, 7 contiennent les données. Les bits 1, 2, 4 sont les bits de corrections, calculés ainsi: ◦ b1 = b3 + b5 + b7 ◦ b2 = b3 + b6 + b7 ◦ b4 = b5 + b6 + b7 Explication: b1 est calculé à l’aide des bits 3, 5 et 7 parce que 3, 5 et 7 s’écrivent à l’aide du bit 1 en binaire. 44

45 Le code de Hamming - décodage Supposons que le message 0010110 arrive à destination sous la forme de: 0010010 (le bit 5 a été modifié). Les bits de corrections sont recalculés ce qui donne: 101 Les bits de contrôle qui diffèrent indiquent le bit en erreur: 101 = le bit 5 ! 45

46 Le code de Hamming - décodage Supposons que le message 0010110 arrive à destination sous la forme de: 0110110 (le bit 2 a été modifié). Les bits de corrections sont recalculés ce qui donne: 010 Les bits de contrôle qui diffèrent indiquent le bit en erreur: 010 = le bit 2! 46

47 Le code de Hamming étendu Le code Hamming ne permet de détecter et de corriger qu’une seule erreur. Une extension qui permet de détecter deux erreurs est d’ajouter un bit de parité, mais cela ne permet pas de corriger deux erreurs. 47

48 QUIZ CHAPITRE 4 48

49 Question 1 49

50 Question 2 50

51 Question 3 51

52 Question 4 52

53 Question 5 53

54 Question 6 54

55 Question 7 55

56 Question 8 56

57 Question 9 57

58 Références Chapitre 4 de CCNA Exploration 1 RFC 793 – TCP « When the CRC and TCP checksum disagree », J. Stone & C. Partridge. J. H. van Lint, Introduction to Coding Theory, Springer, 1982 http://www.enseignement.polytechnique.fr/informatique/profs /Georges.Gonthier/pi97/perrin/codes.html http://www.enseignement.polytechnique.fr/informatique/profs /Georges.Gonthier/pi97/perrin/codes.html http://www.ee.unb.ca/tervo/ee4253/hamming.shtml http://fr.wikipedia.org/wiki/International_Standard_Book_Nu mber#Calcul_du_chiffre_cl.C3.A9_d.27un_num.C3.A9ro_IS BN_.C3.A0_10_chiffres http://fr.wikipedia.org/wiki/International_Standard_Book_Nu mber#Calcul_du_chiffre_cl.C3.A9_d.27un_num.C3.A9ro_IS BN_.C3.A0_10_chiffres http://www-math.ucdenver.edu/~wcherowi/ 58


Télécharger ppt "INFO 3020 Introduction aux réseaux d’ordinateurs Philippe Fournier-Viger Département d’informatique, U.de M. Bureau D216,"

Présentations similaires


Annonces Google