26

Les réseaux TCP/IPvps275670.ovh.net/static/info/1-Generalites/reseaux.13.pdf · 2015-04-06 · 2.Cours de télécommunications ... connecter les machines entre elles sur un réseau

Embed Size (px)

Citation preview

Les réseaux TCP/IP

Croix-Rouge. ISEN-Brest. F. Kany

Table des matières

1 Le modèle OSI 3

2 La couche 1 42.1 Le matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Topologie du réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 La couche 2 63.1 Adresse MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.3 Le commutateur (switch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.3.1 Aiguillage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.3.2 VLAN (Virtual Local Area Network). . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.4 Travaux Pratiques : adresse MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 La couche 3 94.1 L'adresse IP et le masque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.1.1 Le réseau et la machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.1.2 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2 Découpage d'une plage d'adresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.2.1 Méthode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.2.2 Méthode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.2.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.3 Le routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.3.1 Protocole IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.3.2 Travaux Pratiques : analyse d'une trame . . . . . . . . . . . . . . . . . . . . . . . . 144.3.3 Routeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.3.4 Travaux Pratiques : trouver son itinéraire . . . . . . . . . . . . . . . . . . . . . . . 164.3.5 Autres protocoles : ARP et ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5 La couche 4 185.1 Architecture client/serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.2 Communication entre applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.2.1 Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.2.2 TCP et UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.3 NAT et port forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.3.1 Rôle du NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.3.2 Fonctionnement du NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.3.3 Le port forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.3.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.4 Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1

6 Les services réseaux de la couche 7 216.1 Service DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.2 Service DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.3 Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.4 Service HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

7 Annexe : le codage 227.1 Codages binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

7.1.1 Codage NRZ (Non Retour à Zéro) . . . . . . . . . . . . . . . . . . . . . . . . . . . 227.1.2 Codage NRZI (No Return to Zero Inverted on Space) . . . . . . . . . . . . . . . . 237.1.3 Codage Manchester (ou diphasé) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237.1.4 Codage CMI (Code Mark Inversion) . . . . . . . . . . . . . . . . . . . . . . . . . . 24

7.2 Codages à trois niveaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257.2.1 Codage RZ (Retour à Zéro) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257.2.2 Codage AMI/MLT3 (Alternate Mark Inversion/ Multi Level Transmit 3) . . . . . 25

Bibliographie

1. OpenClassroom - TCP/IP - Eric Lalitte & Romain Guichardhttp://openclassrooms.com/courses/apprenez-le-fonctionnement-des-reseaux-tcp-ip

2. Cours de télécommunicationshttp://iut-tice.ujf-grenoble.fr/tice-espaces/GTR/jmd/wupload/File/TransNum/Telecom2-chap3_

v060516.pdf

3. Lexique de Termes et Acronymes Reseaux & Telecomhttp://lexique.reseaux.free.fr/Fichiers/Lexique%20de%20Termes%20et%20Acronymes%20Reseaux%

20&%20Telecom.pdf

2

1 Le modèle OSI

Les communications entre ordinateurs reposent sur le modèle OSI (Open System Interconnection).L'idée est de décomposer - théoriquement - la transmission de données en 7 couches 1.

Les 4 couches inférieures sont orientées communications et sont fournies par le système d'exploitation.(Les termes explicitement dans le programme de PTSI-PT �gurent en gras).

application

présentation

session

transport

réseau

liaison de données

physique

7

6

5

4

3

2

1

La couche 1 ou couche physique :Rôle : o�rir un support de transmission pour la communication.(La transmission des signaux se fait sous forme binaire (bit)).Matériel associé : le hub, ou concentrateur en français.Ex : ADSL (Asymmetric Digital Subsciber Line) ; Bluetooth ; 10base-T

La couche 2 ou couche liaison :Rôle : connecter les machines entre elles sur un réseau local.Rôle secondaire : détecter les erreurs de transmission.(L'adressage physique se fait sous forme de trame (adresse MAC))Matériel associé : le switch, ou commutateur.Ex : CAN (Controller Area Network) ; Ethernet ; HDLC (High-level Data Link Control) ; I2C (Inter Integrated Circuit) ; LocalTalk ;PPP (Point-to-Point Protocol) ; STP (Spanning Tree Protocol) ; WiFi

La couche 3 ou couche réseau :Rôle : interconnecter les réseaux entre eux.Rôle secondaire : fragmenter les paquets.(Le parcours est déterminé par l'adressage logique (adresse IP))Matériel associé : le routeur.Ex : IPv6 (Internet Protocol) ; ARP (Address Resolution Protocol) ;RIP (Routing Information Protocol)

La couche 4 ou couche transport :Rôle : gérer les connexions applicatives.Rôle secondaire : garantir la connexion.(La connexion et le contrôle des �ux de segments se fait par port)Ex : TCP (Transmisson Control Protocol) ; UDP (User DatagramProtocol)

Les 3 couches supérieures sont orientées application et sont réalisées par des programmes.

La couche 5 ou couche session :Rôle : gérer la synchonisation des échanges entre les di�érentes applications (communication interhost)Ex : AppleTalk ; SOCKS

La couche 6 ou couche présentation :Rôle : gérer le chi�rement et le déchi�rement des données (pour qu'elles soient exploitables).ASCII (American Standard Code for Information Interchange) ; Unicode ; UUCP (Unix to Unix CopyProtocol) ; JPEG ; MP3 ; MPEG

La couche 7 ou couche application :Matériel associé : le proxy.Ex : DNS (Domain Name System) ; FTP (File Transfer Protocol) ; HTTP (HyperText Transfer Proto-col) ; IMAP (Internet Message Access Protocol) ; IRC (Internet Relay Chat) ; NFS (Network File Sys-tem) ; POP3 (Post O�ce Protocol) ; SMTP( Simple Mail Transfert Protocol) ; Telnet ; VoIP (Voix sur IP)

1. Moyens mnémotechniques : Pour Le Réseau Tout Se Passe Automatiquement ; il faut être 2 pour avoir une liaison ;le 4×4 est un moyen de transport

3

Le modèle OSI repose sur deux règles :

1. Chaque couche est indépendante :cela permet de faire évoluer une couche sans toucher aux autres (par ex : lorsque l'on est passé deIPv4 à IPv6 dans la couche 3).

2. Chaque couche ne peut communiquer qu'avec une couche adjacente :lorsqu'on communique par l'intermédiaire d'un navigateur (FireFox, Chome,. . .), les données sontémises successivement de la couche 7 à la couche 1 ; puis reçues successivement de la couche 1 à lacouche 7.

Nous ne nous intéresserons par la suite qu'aux 4 couches inférieures.

2 La couche 1

Les bits sont transmis sous forme de signaux électriques (ex : 0V pour le symbole 0 ; 5V pour lesymbole 1 ; voir : � 7) ; de signaux optiques ou de signaux électromagnétiques.

2.1 Le matériel

1. Pour les signaux électriques, on utilise :� les câbles coaxiaux (voir cours de physique) : les données sont transmises par le �l central.

Ex : câble 10B5 (10 : débit = 10 Megabits/seconde ; B : binaire ; 5 : longueur max du réseau :5× 100 m). Il n'est presque plus utilisé : on se connectait dessus avec une prise vampire : onfaisait un trou dans le câble pour atteindre le �l central.Ex : câble 10B2 (10 : débit = 10 Megabits/seconde ; B : binaire ; 2 : longueur max du réseau :2× 100 m). On se connecte dessus avec une prise BNC (cf. oscilloscope en TP)

câble coaxial prise vampire BNC� la paire torsadée (90% des connections) : elle est constituée de 4 paires de �ls ; néanmoins la

plupart des réseaux n'utilise que 2 paires sur les 4 (les �ls (1, 2) et (3,6)) : une paire de �ls sertà émettre les données, une autre sert à les recevoir. Les �ls sont torsadés pour mieux résisteraux perturbations électromagnétiques.Ex : câble 10BT (10 Megabits/seconde ; binaire ; torsadé). On se connecte dessus avec une priseRJ45.Ex : câble 10BTx (x pour réseau commuté 2).

paire torsadée prise RJ45 hub = concentrateur

2. Réseau partagé par plusieurs ordinateurs où l'on entre en communication avec n'importe quel autre. Exemple : leréseau téléphonique standard.

4

Lorsque l'on relie deux machines ensemble, il faut faire attention :� si l'on connecte deux ordinateurs ensembles, il faut utiliser un câble croisé (émission ordi-

nateur A → réception ordinateur B et réciproquement).� si l'on connecte plusieurs ordinateurs ensemble sur un hub 3, il faut utiliser un câble droit.

Plus généralement, les stations terminales (PC) et les routeurs sont des DTE (Data TerminalEquipment). Les hubs et les switches sont des DCE (Data Connexion Equipment : ils serventà connecter des DTE entre eux). On utilise un câble croisé pour connecter des équipementsidentiques DTE/DTE (PC à PC ; routeur à routeur ; PC à routeur) ou DCE/DCE (hub àhub ; switch à switch ; hub à switch). On utilise un câble droit pour connecter des équipementsdi�érents DTE/DCE (PC à hub ; PC à switch ; switch à routeur).

Aujourd'hui, la plupart des cartes réseau savent reconnaître la position du signal et inverserles connections automatiquement si besoin.

2. Pour les signaux lumineux, on utilise la �bre optique. Ex : 1000BF (1 Gigabits/seconde ; Binaire ;Fibre). On distingue� les �bres multi-modes : fonctionnent à plusieurs longueur d'onde ; dispersion (vitesse variant

avec la longueur d'onde entrainant un élargissement temporel des impulsions) ; distance maxi-male faible.

� les �bres mono-modes : fonctionnent à une seule longueur d'onde ; pas de dispersion ; distancemaximale grande (dizaines de km).

3. Pour les signaux électromagnétiques, on utilise des ondes électromagnétiques à 2,4 GHz (Wi�).

3. Si un ordinateur émet des données vers un hub, celui-ci les re-transmet vers tous les autres ports ; les ordinateursbranchés sur le hub véri�ent s'ils sont bien récepteurs du message. Le hub a une topologie �bus� (voir � suivant).

5

2.2 Topologie du réseau

On distingue plusieurs topologie de réseau :

bus anneau étoile� Dans la con�guration �bus� : une seule machine peut communiquer en même temps. On doit

donc attendre que le canal soit libre (c'est di�cile à gérer car une machine à une extrémitédu bus peut croire que le canal est libre alors que la machine à l'autre extrémité a commencé àémettre). Pour limiter les collisions entre messages, on utilise le CSMA/CD : Carrier Sense MultipleAccess/Collision Detection. Cela consiste à écouter en permanence le bus pour savoir si quelqu'unparle ou s'il y a une collision ; à parler uniquement si le canal est libre ; en cas de collision : se taireet attendre un temps aléatoire avant de re-tenter de prendre la parole. On dit que la carte réseaufonctionne en half duplex 4.

� Dans la con�guration en �anneau� : un jeton tourne en permanence dans l'anneau et distribue letemps de parole.

� Dans la con�guration en �étoile� : toutes les machines dialoguent avec le point central. (Au niveau1, le point central est constitué par un hub : les messages sont ré-émis vers toutes les machines etl'on se retrouve �nalement dans la topologie �bus"). Au niveau 2, le point central est constitué parun switch qui se charge de dispatcher les messages vers les bons destinataires. Si il y a plusieursémissions simultanées à destination d'une même machine réceptrice, le point central peut mettreen mémoire les données a�n de réguler les émissions. Les machines émettrices n'ont pas besoind'écouter avant de parler (pas de CSMA/CD) ; on dit que la carte réseau fonctionne en fullduplex 5. La con�guration en �étoile� est la plus utilisée actuellement.

3 La couche 2

3.1 Adresse MAC

Chaque machine est identi�ée par l'adresse MAC de sa carte réseau. Cette adresse est unique ; elles'écrit en hexadécimal (base 16 : 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f) ; par exemple : 00 :23 :5e :bf :45 :6a. Elleest codée sur 6 octets 6, soit 48 bits, soit 248 ' 2, 81.1014 adresses possibles. N.B. les 3 premiers octetsidenti�ent le constructeur de la carte réseau.

L'adresse � :� :� :� :� :� (les 48 bits à 1) s'appelle l'adresse de broadcast ; elle correspond à uneadresse universelle désignant toutes les cartes réseau.

3.2 Ethernet

Le protocole (i.e. le langage) le plus utilisé pour communiquer entre deux machines est Ethernet.Il dé�nit le format de la trame des échanges. Les 6 premiers octets dé�nissent l'adresse MAC du des-tinataire ; les 6 octets suivants indiquent l'adresse MAC de l'émetteur ; les 2 octets suivants identi�entle protocole de la couche 3 (cf. modèle OSI) ; puis les données à envoyer (encapsulées avec l'en-tête des

4. Sont donc en half duplex : les connections PC/hub, les connections hub/switch et les connections par câble coaxial(puisqu'il n'y a qu'une seule ligne pour émettre et recevoir).

5. Sont donc en full duplex les connections PC/switch.N.B. Si on réalise une connection PC/hub en full duplex, ce PC va monopoliser la parole sur le hub.Aujourd'hui les cartes sont capables de déterminer elles-mêmes le duplex à utiliser.

6. Rappel : un octet = 8 bits

6

couches supérieures) et, en�n, les 4 derniers octets correspondent à un code correcteur d'erreur (CRC :Contrôle de Redondance Cyclique).

Le CRC est une valeur calculée à l'aide des données à envoyer, il permet de véri�er que les donnéesreçues n'ont pas été corrompues (si le destinataire calcule la même valeur que le CRC reçu, il est trèsprobable que les données ont été correctement transférées).

Au �nal, la trame fait entre 64 et 1518 octets (dont 18 pour l'en-tête et le CRC).

MAC destinataire MAC expéditeur protocole couche 3 données encapsulées CRCTrame Ethernet

Les données encapsulées sont elles-mêmes de la forme :

en-tête couche 3 en-tête couche 4 données à envoyerdonnées encapsulées (voir plus loin datagramme IP � 4.3.1)

3.3 Le commutateur (switch)

switch = commutateur

3.3.1 Aiguillage

Le switch lit l'en-tête de la trame et associe chaque adresse MAC à un de ses ports (prise RJ45femelle).

En pratique, cette association se fait grâce à une table qui est créée dynamiquement : la CAM (Contentaddressable memory). Si on branche 2 machines A et B sur un switch vide, le commutateur va lire l'en-tête des messages envoyés par A pour créer une association entre le port où est branché A et l'adresseMAC de A. Le commutateur va ensuite renvoyer le message sur tous les autres ports (comme un hub entopologie bus) ; lorsque la machine B répond qu'elle est bien la destinataire, le switch met à jour la tableCAM en indiquant que le port où est branchée la machine B correspond à l'adresse MAC de B.

Cette association entre adresses MAC et ports n'est valable qu'un certain temps : TTL (Time To Live).

Le switch est un élément passif (il n'est jamais le destinataire �nal des données : il n'a pas d'adresseMAC (sauf s'il est administrable) ; il ne va pas chercher les adresses MAC des ordinateurs qui sont bran-chés sur ses ports : il attend leurs réponses).

Une fois la table CAM établie, le switch fonctionne en topologie étoile.

N.B. Le brigde est un switch avec seulement 2 ports.

3.3.2 VLAN (Virtual Local Area Network).

Dans un switch, on peut regrouper certains ports ensemble et les isoler de l'ensemble des autres ports(de façons à ce que les deux ensembles ne puissent pas communiquer entre eux). L'intérêt est, par exempledans une école, de dissocier le réseau administration, le réseau profs et le réseau élèves.

3.4 Travaux Pratiques : adresse MAC

Dans la ligne de commande (Menu Démarrer/cmd), taper : ipconfig /all, trouver l'adresse MACde votre carte réseau.

7

Dans Menu Démarrer/Panneau de con�guration/Réseau et Internet/Centre Réseau et Partage/A�-cher l'état et la gestion du réseau/Modi�er les paramètres de la carte

Panneau de con�guration/Réseau et Internet/Connexions réseau/Modi�er les paramètres de cetteconnexion puis Con�gurer/Avancé.

8

Pour aller plus loin : télécharger le simulateur http://www.reseaucerta.org/sites/default/files/simulateur.zip

4 La couche 3

Maintenant que les machines sont connectées sur le même réseau, on utilise le protocole d'InternetIP : Internet Protocol pour faire communiquer les machines entre elles.

4.1 L'adresse IP et le masque

4.1.1 Le réseau et la machine

L'adresse IP sert à identi�er les adresses du réseau ET de la machine lorsqu'on inter-connecte lesréseaux. Elle est composée de 4 octets (= 32 bits) que l'on écrit sous forme décimale de 0.0.0.0 (tous lesbits à 0) à 255.255.255.255 (tous les bits à 1).

Une partie contiguë des bits sert à coder l'adresse du réseau ; l'autre partie contiguë sert à coderl'adresse de la machine. Le partage entre les deux parties se fait par l'intermédiaire d'un masque : les bitsde gauche à 1 représentent la partie réseau ; les bits de droite à 0 représentent la partie machine.

On écrit donc l'adresse IP suivie du masque. Exemple : 192.168.0.1/255.255.255.0 ou en notationCIDR (Classless Inter-Domain Routing) 192.168.0.1/24 (car 255.255.255.0 est représenté par 24 bits à 1 ;suivis de 8 bits à 0). On calcule l'adresse du réseau en e�ectuant la multiplication binaire entre l'adresseIP et le masque. Ainsi :

adresse IP 192.168.0.1 11000000.10101000.00000000.00000001masque 255.255.255.0 11111111.11111111.11111111.00000000réseau IP ⊗masque 11000000.10101000.00000000.00000000 192.168..machine IP ⊗ not(masque) 00000000.00000000.00000000.00000001 ..0.1

Si le masque possède n zéros, on pourra, a priori, connecter jusqu'à 2n machines sur le réseau. Néan-moins, on réserve la première adresse (tous les bits à 0) pour l'adresse du réseau lui-même et la dernièreadresse (tous les bits à 1) pour l'adresse de broadcast (toutes les machines du réseau). Le nombre maxi-mum e�ectif de machines sera donc 2n − 2.

Attention : une adresse de broadcast ne �nit pas obligatoirement par 255 (mais elle est forcémentimpaire) ; une adresse de réseau ne �nit pas obligatoirement par 0 (mais elle est forcément paire).

Remarque : lorsqu'on branche un seul ordinateur sur Internet par un fournisseur de services Internet,celui-ci fournit une adresse IP dynamique qui n'est pas la même chaque fois qu'on entre en ligne.

Exemple de masques :

9

masque décimal masque binaire masque (CIDR) nombre maximum d'hôtes255.255.252.0 11111111.11111111.11111100.00000000 22 1024-2=1022255.255.254.0 11111111.11111111.11111110.00000000 23 512-2=510255.255.255.0 11111111.11111111.11111111.00000000 24 256-2=254255.255.255.128 11111111.11111111.11111111.10000000 25 128-2=126255.255.255.192 11111111.11111111.11111111.11000000 26 64-2=62255.255.255.224 11111111.11111111.11111111.11100000 27 32-2=30255.255.255.240 11111111.11111111.11111111.11110000 28 16-2=14255.255.255.248 11111111.11111111.11111111.11111000 29 8-2=6255.255.255.252 11111111.11111111.11111111.11111100 30 4-2=2255.255.255.254 11111111.11111111.11111111.11111110 31 2a

255.255.255.255 11111111.11111111.11111111.11111111 32 1b

4.1.2 Exercices

Pour l'IP et le masque 192.168.0.1/255.255.0.0, donner la partie réseau et la partie machine.

�masque 255.255.0.0 11111111.11111111.00000000.00000000adresse IP 192.168.0.1 11000000.10101000.00000000.00000001

Pour l'IP et le masque 192.168.0.1/255.255.240.0, donner la partie réseau et la partie machine.

�masque 255.255.240.0 11111111.11111111.11110000.00000000adresse IP 192.168.0.1 11000000.10101000.00000000.00000001

Pour l'IP et le masque 192.168.0.0/255.255.240.0, donner l'adresse réseau et l'adresse de broadcast.

masque 255.255.240.0 11111111.11111111.11110000.00000000adresse IP 192.168.0.0 11000000.10101000.00000000.00000000 → réseau

broadcast → 11000000.10101000.00001111.11111111 192.168.15.255L'adresse 192.168.0.15/255.255.255.240 est-elle une adresse de broadcast ? quelle est l'adresse du réseau ?

masque 255.255.255.240 11111111.11111111.11111111.11110000adresse IP 192.168.0.15 11000000.10101000.00000000.00001111 broadcast

réseau → 11000000.10101000.00000000.00000000 → 192.168.0.0

Pour les adresses suivantes, dire s'il s'agit d'une adresse de machine, de réseau ou de broadcast.192.168.0.15/255.255.255.0

� Réseau allant de 192.168.0.0 à 192.168.0.255 → Adresse de machine192.168.1.0/255.255.255.0

� Réseau allant de 192.168.1.0 à 192.168.1.255 → Adresse de réseau192.168.1.0/255.255.254.0

� Réseau allant de 192.168.0.0 à 192.168.1.255 → Adresse de machine10.8.65.29/255.255.255.224

� Réseau allant de 10.8.65.0 à 10.8.65.31 → Adresse de machine10.8.65.31/255.255.255.224

� Réseau allant de 10.8.65.0 à 10.8.65.31 → Adresse de broadcast10.0.0.255/255.255.254.0

� Réseau allant de 10.0.0.0 à 10.0.1.255 → Adresse de machine

4.2 Découpage d'une plage d'adresses

Pour dé�nir un réseau personnel, il faut s'assurer que la plage d'adresses ne correspond à aucun sitesur Internet. La RFC 1918 impose : 10.0.0.0/255.0.0.0 (ou /8) ou bien 172.16.0.0/255.240.0.0 (ou /12) oubien 192.168.0.0/255.255.0.0 (ou /16)

A l'intérieur d'une de ses plages, on peut vouloir dé�nir plusieurs sous-réseaux (ex : 20 adresses pourles directeurs, 200 adresses pour les professeurs, 1000 adresses pour les élèves). L'idée est de commencerpar le sous-réseau le plus grand : un petit réseau pourra toujours démarrer sur un multiple d'un grandréseau sans empiéter sur une autre plage.

a. selon la RFC (Request For Comment) 3021 : pas de broadcast, adresse de réseau utilisée pour une machineb. adresse individuelle

10

4.2.1 Méthode 1

Supposons que l'on souhaite créer les sous-réseaux ci-dessus à partir de l'adresse 10.0.0.0/16.IP : 00001010.00000000.00000000.00000000 (avec masque 11111111.11111111.00000000.00000000)

On calcule le nombre total d'adresses nécessaires. Ici 20+200+1000=1220 adresses.20 = 1; 21 = 2; 22 = 4; 23 = 8; 24 = 16; 25 = 32; 26 = 64; 27 = 128; 28 = 256; 29 = 512; 210 = 1024; 211 =2048 > 1220. Il faut au moins un masque /(32− 11) = /21. Le masque /16 est donc possible.

Calcul des masquesOn classe les sous-réseaux par taille décroissante (1000/200/20). On cherche le plus petit masque

compatible avec le nombre d'adresses.On commence par le plus grand sous-réseau (ici 1000). On a 210 = 1024 > 1000 ; on crée donc un

masque /(32-10)=/22 soit 255.255.252.0Pour le second sous-réseau (ici 200), on a : 28 > 200 ; on crée donc un masque /(32-8)=/24 soit

255.255.255.0.En�n pour le plus petit sous-réseau (ici 20), on a : 25 > 10 ; on crée donc un masque /(32-5)=/27 soit

255.255.255.224

Calcul des plagesOn commence par le plus grand sous-réseau et on lui a�ecte la première adresse.Le premier sous-réseau est donc : 10.0.0.0/255.255.252.0 (11111111.11111111.11111100.00000000) ;

son adresse IP initale est : 00001010.00000000.00000000.00000000 soit 10.0.0.0 (adresse réseau)son adresse IP �nale est : 00001010.00000000.00000011.11111111 soit 10.0.3.255 (adresse broadcast).

Le second sous-réseau démarre juste après :10.0.4.0 avec le masque 255.255.255.0 (11111111.11111111.11111111.00000000) ;son adresse IP initale est : 00001010.00000000.00000100.00000000 soit 10.0.4.0 (adresse réseau)son adresse IP �nale est : 00001010.00000000.00000100.11111111 soit 10.0.4.255 (adresse broadcast).

Le dernier sous-réseau démarre juste après :10.0.5.0 avec le masque 255.255.255.224 (11111111.11111111.11111111.11100000) ;son adresse IP initale est : 00001010.00000000.00000101.00000000 soit 10.0.5.0 (adresse réseau)son adresse IP �nale est : 00001010.00000000.00000101.00011111 soit 10.0.5.31 (adresse broadcast).

4.2.2 Méthode 2

PrésentationOn appelle o l'octet signi�catif du masque (le premier octet non nul en partant de la droite). Par

exemple dans 255.224.0.0, o = 224. On appelle o′ l'octet de l'adresse IP correspondant à o. Par exempledans 192.168.0.1, o′ = 168

On calcule o′′ = 256− o. Par exemple : 256-224=32.On calcule o′′′ le premier multiple de o′′ = 256 − o strictement supérieur à o′. Par exemple : 32, 64,

96, 128, 160, 192 >168La première adresse est o′ suivi d'un ou plusieurs 0. La dernière adresse est o′′′ − 1 suivi d'un ou

plusieurs 255. Par exemple, première adresse : 192.168.0.0 ; dernière adresse : 192.191.255.255.

Exemple 1Soit le réseau 192.168.160.0/255.255.224.0 à partager en 10 directeurs ; 130 professeurs et 550 élèves.o = 224 ; o′ = 160 ; o′′ = 256− 224 = 32 ; o′′′ = 32× 6 = 192 > o′.Première adresse : 192.168.160.0 ; dernière adresse : 192.168.191.255.Pour le sous-réseau le plus important (550), on démarre à l'adresse 192.168.160.0.

On a : 210 = 1024 > 550. Il faut au moins un masque /(32-10)=/22 soit 255.255.252.0. D'où o = 252 ;o′ = 160 ; o′′ = 256− 252 = 4 ; o′′′ = 4× 41 = 164 > o′.La dernière adresse est : 192.168.163.255.

Pour le second sous-réseau (130), on démarre juste après le sous-réseau précédent : 192.168.164.0.On a : 28 = 256 > 130. Il faut au moins un masque /(32-8)=/24 soit 255.255.255.0. D'où o = 255 ;

11

o′ = 164 ; o′′ = 256− 255 = 1 ; o′′′ = 1× 165 > o′.La dernière adresse est : 192.168.164.255.

Pour le plus petit sous-réseau (10), on démarre juste après le sous-réseau précédent : 192.168.165.0.On a 24 = 16 > 10. Il faut donc au moins un masque /(32-4)=/28 soit 255.255.255.240. D'où o = 240 ;o′ = 0 ; o′′ = 256− 240 = 16 ; o′′′ = 16× 1 > o′.La dernière adresse est : 192.168.165.15.

Résumé :réseau : 192.168.160.0 masque : 225.225.224.011000000.10101000.10100000.00000000 11111111.11111111.11100000.00000000sous-réseau 550 postes : 192.168.160.0 masque 225.225.252.011000000.10101000.10100000.00000000 11111111.11111111.11111100.00000000sous-réseau 130 postes : 192.168.164.0 masque 225.225.255.011000000.10101000.10100100.00000000 11111111.11111111.11111111.00000000sous-réseau 10 postes : 192.168.165.0 masque 225.225.255.24011000000.10101000.10100101.00000000 11111111.11111111.11111111.11110000

Exemple 2Si on veut ajouter un sous-réseau plus grand (ex : 120 postes) aux réseaux précédents (550/130/10), il

peut être nécessaire de sauter une certaine plage d'adresses.

En e�et, si pour le quatrième réseau (120), on démarre juste après le sous réseau précédent : 192.168.165.16.On a : 27 = 128 > 120. Il faut donc au moins un masque /(32-7)=/25 soit 255.255.255.128. D'où o = 128 ;o′ = 16 ; o′′ = 256− 128 = 128 ; o′′′ = 128× 1 > o′.La dernière adresse est : 192.168.165.127 : il n'y a que 112 adresses (127-16+1) ; les autres empiètent surla plage des directeurs !

Il faut donc sauter une plage et démarrer au nombre o′′′ suivant (ici. 192.168.165.128)

Résumé :réseau : 192.168.160.0 masque : 225.225.224.011000000.10101000.10100000.00000000 11111111.11111111.11100000.00000000sous-réseau 550 postes : 192.168.160.0 masque 225.225.252.011000000.10101000.10100000.00000000 11111111.11111111.11111100.00000000sous-réseau 130 postes : 192.168.164.0 masque 225.225.255.011000000.10101000.10100100.00000000 11111111.11111111.11111111.00000000sous-réseau 10 postes : 192.168.165.0 masque 225.225.255.24011000000.10101000.10100101.00000000 11111111.11111111.11111111.11110000sous-réseau 120 postes (début) : 192.168.165.16 masque 225.225.255.12811000000.10101000.10100101.00010000 11111111.11111111.11111111.10000000sous-réseau 120 postes (�n) : 192.168.165.127 masque 225.225.255.12811000000.10101000.10100101.01111111 11111111.11111111.11111111.10000000sous-réseau 120 postes : 192.168.165.128 masque 225.225.255.12811000000.10101000.10100101.10000000 11111111.11111111.11111111.10000000

4.2.3 Exercices

Exercice 1Découpez la plage suivante en trois sous-réseaux : 10.47.192.0/255.255.240.0, avec les populations sui-

vantes : 880 élèves ; 400 professeurs ; 60 directeurs.

� o = 240 ; o′ = 192 ; o′′ = 256− 240 = 16 ; o′′′ = 16 ∗ 13 = 208 > o′.La première adresse est 10.47.192.0 ; la dernière adresse : 10.47.207.255

Pour le plus grand sous-réseau (880) , on démarre à l'adresse : 10.47.192.0.On a 210 = 1024 > 880. Il faut au moins un masque /(32-10)=/22 soit 255.255.252.0. D'où o = 252 ;o′ = 192 ; o′′ = 256− 252 = 4 ; o′′′ = 4× 49 = 196 > o′.La dernière adresse est 10.47.195.255.

12

Pour le second sous-réseau (400), on démarre juste après le sous-réseau précédent : 10.47.196.0.On a : 29 = 512 > 400. Il faut au moins un masque /(32-9)=/23 soit 255.255.254.0. D'où o = 254 ;o′ = 196 ; o′′ = 256− 254 = 2 ; o′′′ = 2 ∗ 99 = 198 > o′.La dernière adresse est 10.47.197.255.

Pour le dernier sous-réseau (60), on démarre juste après le sous-réseau précédent : 10.47.198.0.On a : 26 = 64 > 60. Il faut au moins un masque /(32-6)=/26 soit 255.255.255.192. D'où o = 192 ; o′ = 0 ;o′′ = 256− 192 = 64 ; o′′′ = 64× 1 > o′.La dernière adresse est : 10.47.198.63

Remarque le dernier masque : 255.255.255.192 ne permet que 64-2=62 machines.Si on besoin de 63 machines, il faut choisir le masque /(32-7)=/25 soit 255.255.255.128. D'où o = 128 ;o′ = 0 ; o′′ = 256− 128 = 128 ; o′′′ = 128× 1 > o′.La dernière adresse est : 10.47.198.127

Résumé :réseau : 10.47.192.0 masque : 225.225.240.000001010.00101111.11000000.00000000 11111111.11111111.11110000.00000000sous-réseau 880 postes : 10.47.192.0 masque 255.255.252.000001010.00101111.11000000.00000000 11111111.11111111.11111100.00000000sous-réseau 400 postes : 10.47.196.0 masque 255.255.254.000001010.00101111.11000100.00000000 11111111.11111111.11111110.00000000sous-réseau 60 postes : 10.47.198.0 masque 255.255.255.19211000000.10101000.11000110.00000000 11111111.11111111.11111111.11000000

Exercice 2Idem exercice 1 (avec 65 directeurs) mais en commençant par le plus petit sous-réseau.

� Pour le premier sous-réseau (65), on démarre à l'adresse : 10.47.192.0.On a : 27 = 128 > 65. Il faut au moins un masque /(32-7)=/25 soit 255.255.255.128. D'où o = 128 ;o′ = 0 ; o′′ = 256− 128 = 128 ; o′′′ = 128× 1 > o′.La dernière adresse est : 10.47.192.127

Pour le second sous-réseau (400), on démarre juste après le sous-réseau précédent : 10.47.192.128.On a : 29 = 512 > 400. Il faut au moins un masque /(32-9)=/23 soit 255.255.254.0. D'où o = 254 ;o′ = 192 ; o′′ = 256− 254 = 2 ; o′′′ = 2× 97 = 194 > o′.La dernière adresse est 10.47.193.255. Or de 2×255 à 128, il n'y a pas 400 adresses !

Il faut donc commencer à la plage suivante : 10.47.194.0.D'où o = 254 ; o′ = 194 ; o′′ = 256− 254 = 2 ; o′′′ = 2× 98 = 196 > o′.La dernière adresse est : 10.47.195.255.

Pour le dernier sous-réseau (880), on démarre juste après le sous-réseau précédent : 10.47.196.0On a 210 = 1024 > 880. Il faut au moins un masque /(32-10)=/22 soit 255.255.252.0. D'où o = 252 ;o′ = 196 ; o′′ = 256− 252 = 4 ; o′′′ = 4× 50 = 200 > o′.La dernière adresse est 10.47.199.255

Résumé :réseau : 10.47.192.0 masque : 225.225.240.000001010.00101111.11000000.00000000 11111111.11111111.11110000.00000000sous-réseau 65 postes : 10.47.192.0 masque 255.255.255.12800001010.00101111.11000000.00000000 11111111.11111111.11111111.10000000sous-réseau 400 postes (début) : 10.47.192.128 masque 255.255.254.000001010.00101111.11000000.10000000 11111111.11111111.11111110.00000000sous-réseau 400 postes (�n) : 10.47.193.255 masque 255.255.254.000001010.00101111.11000001.11111111 11111111.11111111.11111110.00000000sous-réseau 400 postes : 10.47.194.0 masque 255.255.254.000001010.00101111.11000010.00000000 11111111.11111111.11111110.00000000sous-réseau 880 postes : 10.47.196.0 masque 255.255.252.000001010.00101111.11000100.00000000 11111111.11111111.11111100.00000000N.B. Que l'on distribue les adresses IP par sous-réseaux de tailles croissantes ou décroissantes, on utilise

le même nombre d'adresses (mais les adresses non utilisées ne sont pas placées aux mêmes endroits).

13

4.3 Le routage

4.3.1 Protocole IP

L'Internet Protocol est le langage de communication de la couche réseau (couche 3) lorsque deuxmachines ne sont pas dans le même réseau. Les données sont empaquetées dans un datagramme qui acette forme :

. . . Adresse IP source Adresse IP destination Données à envoyerDatagramme IP

Les données à envoyer sont elles-mêmes d'une certaine forme (voir plus loin TCP � 5.2.2 ou UDP).

Ce datagramme sera inséré dans la trame Ethernet au niveau des données encapsulées. Ainsi, lors del'émission de données, chaque couche ajoute son propre en-tête et, lors de la réception, chaque couche litet enlève l'en-tête qui lui correspond. On peut résumer l'échange de données entre deux machines A etB sous la forme suivante :

application

présentation

session

transport

réseau

liaison de données

physique

7A

6A

5A

4A

3A

2A

1A

données

4|données

3|4|données

2|3|4|données|CRC

application

présentation

session

transport

réseau

liaison de données

physique

7B

6B

5B

4B

3B

2B

1B

4.3.2 Travaux Pratiques : analyse d'une trame

Télécharger le logicielwireshark : https://www.wireshark.org/download.html (lien direct : https://1.eu.dl.wireshark.org/win64/Wireshark-win64-1.12.4.exe).Dan la colonne Capture, choisir : StartDans Filter, taper : ip.addr==(votre adresse IP) par exemple : ip.addr==172.18.7.79.Ouvrir un navigateur, ouvrir une page web (par exemple www.google.fr et bloquer la capture (carrérouge dans la barre du haut).On observe la requête émise par le navigateur et la réponse qu'il reçoit.

No Time Source Destination Protocol Length Info3530 205.172524000 172.18.7.79 54.243.208.198 TCP 55 [TCP Keep-Alive] 51909->443 [ACK] Seq=3054 Ack=5832 Win=65536 Len=13533 205.274281000 54.243.208.198 172.18.7.79 TCP 66 [TCP Keep-Alive ACK] 443->51909 [ACK] Seq=5832 Ack=3055 Win=21760 Len=0 SLE=3054 SRE=3055

Si on sélectionne la requête émise par le navigateur, on lit :Couche 1 :

Frame 3530: 55 bytes on wire (440 bits), 55 bytes captured (440 bits) on interface 0

Couche 2 (on reconnaît les adresses MAC de la source et de la destination) :

Ethernet II, Src: Pegatron_b0:f7:a9 (70:71:bc:b0:f7:a9), Dst: IntelCor_eb:f7:36 (00:15:17:eb:f7:36)Destination: IntelCor_eb:f7:36 (00:15:17:eb:f7:36)

Address: IntelCor_eb:f7:36 (00:15:17:eb:f7:36).... ..0. .... .... .... .... = LG bit: Globally unique address (factory default).... ...0 .... .... .... .... = IG bit: Individual address (unicast)

14

Source: Pegatron_b0:f7:a9 (70:71:bc:b0:f7:a9)Address: Pegatron_b0:f7:a9 (70:71:bc:b0:f7:a9).... ..0. .... .... .... .... = LG bit: Globally unique address (factory default).... ...0 .... .... .... .... = IG bit: Individual address (unicast)

Type: IP (0x0800)

Couche 3 (on reconnaît les adresses IP de la source et de la destination) :

Internet Protocol Version 4, Src: 172.18.7.79 (172.18.7.79), Dst: 54.243.208.198 (54.243.208.198)Version: 4Header Length: 20 bytesDifferentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))Total Length: 41Identification: 0x5b55 (23381)Flags: 0x02 (Don't Fragment)Fragment offset: 0Time to live: 128Protocol: TCP (6)Header checksum: 0x0000 [validation disabled]Source: 172.18.7.79 (172.18.7.79)Destination: 54.243.208.198 (54.243.208.198)Source GeoIP: UnknownDestination GeoIP: Unknown

4.3.3 Routeur

De la même façon que le switch assure la circulation à l'intérieur d'un même réseau (couche 2), le routeurassure l'aiguillage des paquets d'un réseau à l'autre. Il sert à relayer les données : il lit les paquets qu'il reçoit dela part d'un réseau (même s'il n'est pas le destinataire �nal des données) et les transmet à un autre réseau.

Un ordinateur possédant deux cartes réseau peut faire o�ce de routeur.En pratique : le routeur reçoit une trame Ethernet au format [MAC routeur dest. | MAC routeur source

précédent | protocole IP | ... | IP machine source | IP machine dest. | données | CRC ]L'adresse MAC de destination correspond à l'adresse du routeur (puisqu'il a reçu la trame) mais l'adresse

IP de destination correspond au destinataire �nal du message. Le routeur va alors chercher dans une table deroutage vers quelle passerelle (gateway) il faut aiguiller ce message pour qu'il atteigne le réseau qui contient ladestination �nale.

La table de routage du routeur contient la liste de tous les réseaux auxquels le routeur est relié et la liste despasserelles correspondantes (c-à-d les adresses IP des routeurs permettant d'accéder à ces réseaux). Si le routeurreçoit une trame à destination d'un réseau ne �gurant pas dans cette liste, on dé�nit une passerelle par défaut.

Chaque machine relié au réseau possède également sa table de routage.Par exemple :

15

La table de routage du routeur1 est :Réseau à rejoindre passerelle192.168.0.0/24 192.168.0.254 (l'adresse du routeur vu de ce réseau)192.168.1.0/24 192.168.1.254 (l'adresse du routeur vu de ce réseau)

La table de routage de la machine 192.168.0.1 est :Réseau à rejoindre passerelle192.168.0.0/24 192.168.0.1 (la machine elle-même)192.168.1.0/24 192.168.0.254 (l'adresse du routeur vu de la machine)

Exemple plus complexe :

La table de routage du routeur1 est :Réseau à rejoindre passerelle192.168.0.0/24 192.168.0.254

}Réseaux directement connectés au routeur192.168.1.0/24 192.168.1.254

0.0.0.0/0 192.168.1.253 Route par défaut10.0.0.0/24 192.168.0.253 Autre réseau

La table de routage de la machine 192.168.0.1 est :Réseau à rejoindre passerelle192.168.0.0/24 192.168.0.1 : la machine elle-même0.0.0.0/0 192.168.0.254 : adresse du routeur par défaut (vu de la machine)10.0.0.0/24 192.168.0.253 : adresse des routeurs vers les autres réseaux (vu de la machine)

Un algorithme (type Dijkstra ou Bellman-Ford) calcule le plus court chemin vers la destination �nale.

4.3.4 Travaux Pratiques : trouver son itinéraire

Si l'on reprend le TP adresse MAC (� 3.4), on voit que la commande ipconfig permet de connaître la passerellepar défaut.

Toujours dans la ligne de commande (Menu Démarrer/cmd), taper : route print pour obtenir la table deroutage de votre machine. (On peut aussi faire netstat -r).

16

La première ligne 0.0.0.0 indique le routeur par défaut.On peut communiquer avec cette passerelle grâce à la commande ping :

C:\WINDOWS\system32>ping 192.168.0.1

Envoi d'une requête 'Ping' 192.168.0.1 avec 32 octets de données :Réponse de 192.168.0.1 : octets=32 temps=36 ms TTL=64Réponse de 192.168.0.1 : octets=32 temps=2 ms TTL=64Réponse de 192.168.0.1 : octets=32 temps=6 ms TTL=64Réponse de 192.168.0.1 : octets=32 temps=3 ms TTL=64

Statistiques Ping pour 192.168.0.1:Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),

Durée approximative des boucles en millisecondes :Minimum = 2ms, Maximum = 36ms, Moyenne = 11ms

De la même façon, on peut communiquer avec un autre réseau, par exemple : ping www.google.fr.

Toujours dans la ligne de commande (Menu Démarrer/cmd), taper : tracert www.google.fr. Vous obtenezle chemin de la connexion de votre PC jusqu'à l'adresse d'un site donné (ici : www.google.fr).

Cliquez sur Démarrer, puis Panneau de con�guration et choisissez Connexions réseau. Vous cliquez avec lebouton droit sur la connexion que vous voulez voir, puis dans la nouvelle fenêtre, cliquez sur Protocole Internet(TCP/IP) et en�n sur Propriétés

17

On voit que l'adresse IP de la machine est fournie automatiquement par le routeur (mais on peut aussi la �xermanuellement).

4.3.5 Autres protocoles : ARP et ICMP

ARP (Adress Resolution Protocol) est un protocole qui permet d'associer une adresse MAC de la couche 2à une adresse IP de la couche 3. Une fois que l'association est établie (par une requête en broadcast), le résultatest stocké dans une table temporaire. On peut visualiser cette table ARP par la commande : ARP -a :

C:\WINDOWS\system32>arp -a

Interface : 192.168.0.12 --- 0x2Adresse Internet Adresse physique Type192.168.0.1 00-10-18-de-ad-05 dynamique192.168.0.255 ff-ff-ff-ff-ff-ff statique224.0.0.22 01-00-5e-00-00-16 statique224.0.0.251 01-00-5e-00-00-fb statique224.0.0.252 01-00-5e-00-00-fc statique239.255.255.250 01-00-5e-7f-ff-fa statique255.255.255.255 ff-ff-ff-ff-ff-ff statique

Interface : 192.168.56.1 --- 0x9Adresse Internet Adresse physique Type192.168.56.255 ff-ff-ff-ff-ff-ff statique224.0.0.22 01-00-5e-00-00-16 statique224.0.0.251 01-00-5e-00-00-fb statique224.0.0.252 01-00-5e-00-00-fc statique239.255.255.250 01-00-5e-7f-ff-fa statique

N.B. La table ARP étant temporaire et étant régulièrement mise à jour, il est possible de détourner les tramesdestinées à une certaine adresse IP (IPA) correspondant à une adresse MAC (MACA) en associant cette adresseIPA à une autre adresse MAC : MACB . Ainsi la machine B récupèrera les trames à destination de la machine A.

arp -s 157.55.85.212 00-aa-00-62-c6-09 .... Ajoute une entrée statique.

Il existe également le protocole ICMP (Internet Control Message Protocol) pour trouver les erreurs decon�guration d'un réseau.

5 La couche 4

5.1 Architecture client/serveur

Un serveur fournit un service (accès page web, envoi/réception de mails,. . .) ; c'est un programme qui écouteen permanence le réseau pour savoir si on le sollicite. La liste des serveurs peut être obtenue ainsi :

18

C:\WINDOWS\system32>netstat

Connexions actives

Proto Adresse locale Adresse distante ÉtatTCP 127.0.0.1:1032 acer-v5:50701 ESTABLISHEDTCP 127.0.0.1:1036 acer-v5:1037 ESTABLISHEDTCP 127.0.0.1:1037 acer-v5:1036 ESTABLISHEDTCP 127.0.0.1:2904 acer-v5:2905 ESTABLISHEDTCP 127.0.0.1:2905 acer-v5:2904 ESTABLISHEDTCP 127.0.0.1:50701 acer-v5:1032 ESTABLISHEDTCP 192.168.0.12:2833 157.55.236.116:https ESTABLISHEDTCP 192.168.0.12:2846 r-062-042-234-077:http ESTABLISHEDTCP 192.168.0.12:2907 74.125.71.16:imaps ESTABLISHEDTCP 192.168.0.12:3129 nwi2:http TIME_WAIT

L'état peut être LISTEN (serveur en attente) ; ESTABLISHED (en train de fournir un service) ; TIME_WAIT(en cours de cloture).

Un client est un programme qui se connecte à un service pour l'utiliser (ex : Firefox est un client web ;Thunderbird est un client de messagerie ; Filezilla est un client FTP,. . .).

En peer-to-peer, on est à la fois client et serveur.

5.2 Communication entre applications

5.2.1 Port

Tout comme l'adresse MAC (resp. l'adresse IP) est l'identi�ant de la couche 2 (resp. la couche 3), le port estl'identi�ant de la couche 4 ; c'est un nombre entre 0 et 65 535 qui représente l'adresse d'une application sur lamachine. La commande netstat indique pour chaque IP le port correspondant au format : IP:port.

Par exemple, un serveur web utilise le port 80. On peut taper dans la barre d'URL : 74.125.230.0:80 Si onimpose un autre port (par exemple 22 : 74.125.230.0:22), il est probable que le port se bloque pour des raisonsde sécurité.

Les ports habituels sont :

web 80mail 25ssh 22imap 143proxy 8080https 443ftp 20/21DNS 53

5.2.2 TCP et UDP

Tout comme Ethernet (resp. IP) est le protocole de la couche 2 (resp. 3), TCP et UDP sont les protocoles dela couche 4.

TCP (Transmission Control Protocol) : TCP est un protocole de transport �able créant une connexionbidirectionnelle entre les 2 ordinateurs. L'expéditeur s'attend à une con�rmation du destinataire sur réception.

Exemple d'utilisation : FTP utilise le protocole TCP, il découpe le �chier en plusieurs paquets.Principe : Au moment de l'envoi d'un segment, l'ordinateur expéditeur démarre un chronomètre :

1. si après un délai �xé, aucun accusé de réception n'est reçu, l'expéditeur renvoie le segment une autre fois

2. si le destinataire reçoit un segment correctement, il envoie un accusé de réception

3. si le destinataire détecte un segment erroné, il jette le segment.

Remarque : les segments peuvent être reçus dans n'importe quel ordre ; un numéro de séquence est donc inclusdans chaque segment permettant ainsi d'identi�er la position des données dans le �chier.

Des �ags sont nécessaires pour gérer la communication (SYN pour la synchronisation, ACK pour acknowled-gement [accusé de réception], FIN, RST pour arrêter la connexion, PSH, URG)

19

N◦ du port source N◦ du port destination . . . Flags . . . checksum . . . donnéesFormat du segment TCP

Concrètement, les données représentent des ordres envoyés par une application (par exemple, un client Webenverra une requêt du style GET http://74.125.230.0 pour aller sur www.google.fr). Ce segment TCP serainséré dans un datagramme IP (� 4.3.1 au niveau de la couche 3), qui sera lui-même inséré dans une trameEthernet (� 3.2 au niveau de la couche 2).

UDP (User Datagram Protocol) : UDP est un protocole non �able, ne garantissant pas la livraison dupaquet, ne délivrant aucune con�rmation de réception et ne maintient aucune connexion entre les 2 ordinateurs.

N◦ du port source N◦ du port destination Largeur du paquet UDP CRCFormat du paquet UDP

5.3 NAT et port forwarding

5.3.1 Rôle du NAT

Normalement, lorqu'on crée un réseau privé, on doit respecter la norme RFC 1918 et utiliser comme IP :10.0.0.0/8, 172.16.0.0/12 ou bien 192.168.0.0/16.

Si on ne le fait pas, l'adresse de notre réseau privé risque d'être en con�it avec un réseau public. Le NAT(Network Address Translation) permet de cacher n adresses d'utilisateurs de ce réseau privé et de les transformeren une seule adresse publique.

Le NAT permet ainsi d'économiser des adresses IP publiques. (Le rôle du NAT est transparent : ni la source,ni le destinataire ne réalisent qu'ils communiquent - en réalité - avec un routeur NAT).

5.3.2 Fonctionnement du NAT

Lorsqu'une des n machines envoit une requête sur Internet, le NAT note son IP privée et lui impose le portqu'elle doit utiliser 7. L'IP privée est transformée en une IP publique (l'adresse publique du routeur qui fait lapasserelle vers l'extérieur). Lorsque le NAT reçoit la réponse de la requête, il retrouve - dans sa table - la corres-pondance en sens inverse entre le port utilisé et l'adresse IP privée a�n de pouvoir aiguiller la réponse extérieurevers la bonne machine intérieure.

N.B. L'ARP n'est pas concernée par le NAT car l'ARP est un protocole local (basé sur le broadcast), il nepasse jamais le routeur vers le réseau extérieur.

5.3.3 Le port forwarding

Une machine extérieure ne peut pas joindre directement un serveur situé sur un réseau avec une adresseprivée. La machine extérieure doit s'adresser au routeur du réseau privé (le seul à avoir une IP publique) ; c'est lerouteur qui se chargera d'aiguiller la demande extérieure vers le serveur intérieur à l'aide du port forwarding. Parexemple, dans le cas d'un serveur web (port 80), le routeur NAT se charge transformer l' �IP publique:port� en�IP privée:port�.

Ce mécanisme améliore la sécurité du réseau intérieur car le NAT peut n'autoriser l'ouverture que de certainsports. L'inconvénient est que l'on ne peut pas avoir dans le même réseau privé deux serveurs web avec le port 80ou bien deux serveurs ssh avec le port 22,. . .

5.3.4 Exemple

Soit le réseau privé 10.0.0.0/23 contenant :� les machines : 10.0.0.1 à 10.0.0.254� les serveurs

� 5 serveur SSH (port TCP 22) : 10.0.1.1, 10.0.1.2, 10.0.1.3, 10.0.1.4, 10.0.1.5� 4 seveurs web (port TCP 80) : 10.0.1.6, 10.0.1.7, 10.0.1.8, 10.0.1.9� 2 serveurs DNS (port UDP 53) : 10.0.1.10, 10.0.1.11

7. On parle alors de NAPT (network address and port translation) ; le fait d'imposer un port est une opération de niveau4. La majorité des NAT étant - en réalité - des NAPT, on a tendance à les classer dans les matériels de niveau 4 (alorsqu'initialement les NAT n'agissaient qu'au niveau 3 sur l'IP).

20

L'administrateur a acheté une plage (publique) d'adresses sur Internet : 194.34.56.0/29 c'est-à-dire194.34.56.0/255.255.255.248.

On a : o = 248, o′ = 0, o′′ = 256 − o = 256 − 248 = 8, o′′′ = 8 × 1 = 8 > o′. Soit la plage de 194.34.56.0à 194.34.56.7 (o′′′ − 1 = 7). 194.34.56.0 est l'adresse réseau, 194.34.56.7 est l'adresse de broadcast, il reste lesadresses 194.34.56.1 à 194.34.56.6 pour le port forwarding des 11 serveurs (de 3 types di�érents).

On obtient :

IP externe Port externe IP interne Port interne194.34.56.1 TCP 22 (SSH) 10.0.1.1 TCP 22194.34.56.1 TCP 80 (web) 10.0.1.6 TCP 80194.34.56.1 UDP 53 (DNS) 10.0.1.10 TCP 53194.34.56.2 TCP 22 (SSH) 10.0.1.2 TCP 22194.34.56.2 TCP 80 (web) 10.0.1.7 TCP 80194.34.56.2 UDP 53 (DNS) 10.0.1.11 TCP 53194.34.56.3 TCP 22 (SSH) 10.0.1.3 TCP 22194.34.56.3 TCP 80 (web) 10.0.1.8 TCP 80194.34.56.4 TCP 22 (SSH) 10.0.1.4 TCP 22194.34.56.4 TCP 80 (web) 10.0.1.9 TCP 80194.34.56.5 TCP 22 (SSH) 10.0.1.3 TCP 22

5.4 Firewall

A�n d'améliorer la sécurité, on place - avant ou après le routeur, avant ou après le NAT - un pare-feu (�rewall)qui dé�nit un ensemble de règles de �ltrage. Par exemple :

Règle Action IP source IP dest Protocol Port source Port dest1 Accept 192.168.10.20 194.154.192.3 tcp any 252 Accept any 192.168.10.3 tcp any 803 Accept 192.168.10.0/24 any tcp any 804 Deny any any any any any

La plupart des �rewalls travaillent au niveau des couches 4 (TCP, UDP,. . .), 3 (IP,. . .) et 2 (Ethernet,. . .)À cela s'ajoutent des �rewalls-logiciels qui e�ectuent un �ltrage au niveau de la machine de l'utilisateur

(lorsqu'il n'y a pas d'ordinateur dédié pour réaliser le �ltrage à l'entrée du réseau ou bien lorsque l'on souhaiteun �ltrage plus strict que le �rewall à l'entrée du réseau).

6 Les services réseaux de la couche 7

6.1 Service DHCP

Le protocole DHCP (Dynamic Host Con�guration Protocol) o�re une con�guration dynamique des adresses IPet des informations associées. DHCP permet à tout utilisateur qui éteint ou met en veille son ordinateur portableavant de passer sur un nouveau réseau d'obtenir automatiquement une nouvelle adresse IP lors du rallumage dela machine.

6.2 Service DNS

Domain Name Server : Serveur a�ectant à une machine un nom de domaine validé par le centre d'informationsdu segment Internet Local (NIC). Le Système de Noms de Domaine est un élément clé d'Internet ; il fournit unmécanisme pour résoudre les noms d'hôte en adresses IP. Ainsi, grâce au DNS, pour accéder à Google, il su�tde taper dans la barre d'URL (Universal Resource Locator) : www.google.fr (et non 74.125.230.0 l'une desadresses de Google).

6.3 Proxy

Un proxy est un relais applicatif . C'est en fait une application de couche 7 qui reçoit des requêtes et lestransmet à la machine destination comme si c'était elle qui faisait les requêtes.

Les intérêts de mettre en place un proxy peuvent être divers :� une entreprise veut pouvoir centraliser les requêtes d'une application donnée, comme le web, pour voir

tout ce qui sort de son réseau ;� un proxy peut aussi servir de cache, c'est-à-dire qu'il va enregistrer les pages web qu'il a visitées, et ainsi

les renvoyer lors d'une demande identique, sans avoir à refaire une requête ;

21

� un proxy peut aussi �ltrer les requêtes en fonction de critères, comme le type des sites web demandés(comme un �rewall mais au niveau 7) ;

� en�n, on entend parfois parler de proxy "anonyme" pour faire en sorte que ce soit l'adresse du proxy quisoit vue et non la nôtre.

N.B. Contrairement au NAT, le proxy n'a pas un rôle transparent : la source doit être con�gurée pour adresserses requêtes au proxy et la destination croit réellement qu'elle traite directement avec le proxy (le proxy a un rôlede mandataire).

6.4 Service HTTP

Le fonctionnement du web s'appuie sur le protocole applicatif HTTP. Le serveur web met à disposition lespages web qu'il héberge et le protocole HTTP les transporte sur le réseau pour les amener au client.

Le service web le plus connu est Apache.

7 Annexe : le codage

Les informations (0 et 1) circulant dans la couche 1 peuvent être codées de di�érentes façons.

7.1 Codages binaires

7.1.1 Codage NRZ (Non Retour à Zéro)

normes : V24, RS421, RS422, RS485On peut faire du codage NRZ avec une tension unipolaire ou bipolaire.Aux valeurs logiques 0 et 1, on fait correspondre les tensions :

Valeur logique Tension unipolaire Tension bipolaire0 0 −E1 +E +E

0

1

horl

oge

NRZ unipolaire

0

1

données

0 1 2 3 4 5 6 7 8 9 10temps

5

0

5

signal

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

fréquence ( ffe

)

0.0

0.1

0.2

0.3

0.4

0.5

densi

té s

pect

rale

de p

uis

sance

NRZ unipolaire

22

0

1

horl

oge

NRZ bipolaire

0

1

données

0 1 2 3 4 5 6 7 8 9 10temps

5

0

5

signal

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

fréquence ( ffe

)

0.0

0.1

0.2

0.3

0.4

0.5

densi

té s

pect

rale

de p

uis

sance

NRZ bipolaire

La densité spectrale de puissance est maximale à f = 0. C'est un inconvénient car les signaux continus peuventprovoquer un claquage des composants électroniques si on émet une suite continue d'éléments binaires identiques.

Avantages :� simple à mettre en ÷uvre� bon rapport signal

bruit

Inconvénients :� perte de synchronisation sur les séquences de bits identiques� le canal doit passer le continu� nécessité de repérer les �ls pour avoir la bonne polarité

7.1.2 Codage NRZI (No Return to Zero Inverted on Space)

On change le signal uniquement lorsqu'on code l'information 0.

Valeur logique Tension unipolaire0 inversion de la tension : +E → 0 ou 0→ +E1 maintient de la tension : +E → +E ou 0→ 0

0

1

horl

oge

NRZI unipolaire

0

1

données

0 1 2 3 4 5 6 7 8 9 10temps

5

0

5

signal

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

fréquence ( ffe

)

0.0

0.1

0.2

0.3

0.4

0.5

densi

té s

pect

rale

de p

uis

sance

NRZI unipolaire

Mêmes avantages que NRZ mais moins d'inconvénients : la polarité peut être modi�ée.

7.1.3 Codage Manchester (ou diphasé)

normes : Ethernet 10Base5, 10Base2, 10BaseTValeur logique Tension bipolaire

0 front descendant +E! −E

1 front montant −E +E

23

0

1

horl

oge

Manchester

0

1

données

0 1 2 3 4 5 6 7 8 9 10temps

5

0

5

signal

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

fréquence ( ffe

)

0.0

0.1

0.2

0.3

0.4

0.5

densi

té s

pect

rale

de p

uis

sance

Manchester

Pas de composante continue.Avantages :� présence de fronts de synchronisation� le canal ne doit pas passer le continuInconvénients :� bande passante doublée� nécessité de repérer les �ls pour avoir la bonne polarité

7.1.4 Codage CMI (Code Mark Inversion)

normes : �bres optiquesMixte entre Manchester et NRZI.

Valeur logique Tension bipolaire0 inversion de la tension : +E → −E ou −E → +E1 front montant −E

+E

0

1

horl

oge

CMI

0

1

données

0 1 2 3 4 5 6 7 8 9 10temps

5

0

5

signal

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

fréquence ( ffe

)

0.0

0.1

0.2

0.3

0.4

0.5

densi

té s

pect

rale

de p

uis

sance

CMI

Avantages :� présence de fronts de synchronisation� le canal ne doit pas passer le continuInconvénients :� bande passante doublée

24

7.2 Codages à trois niveaux

7.2.1 Codage RZ (Retour à Zéro)

On peut faire du codage RZ avec une tension unipolaire ou bipolaire.Aux valeurs logiques 0 et 1, on fait correspondre les tensions :

Valeur logique Tension unipolaire Tension bipolaire0 0 front montant −E

0

1 front descendant +E! 0 front descendant +E

! 0

0

1

horl

oge

RZ unipolaire

0

1

données

0 1 2 3 4 5 6 7 8 9 10temps

5

0

5

signal

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

fréquence ( ffe

)

0.0

0.1

0.2

0.3

0.4

0.5

densi

té s

pect

rale

de p

uis

sance

RZ unipolaire

0

1

horl

oge

RZ bipolaire

0

1

données

0 1 2 3 4 5 6 7 8 9 10temps

5

0

5

signal

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

fréquence ( ffe

)

0.0

0.1

0.2

0.3

0.4

0.5

densi

té s

pect

rale

de p

uis

sance

RZ bipolaire

La densité spectrale de puissance est maximale à f = 0.Avantages :� présence de fronts de synchronisation (en bipolaire ou raies spectrale à 1

Thorloge)

Inconvénients :� bande passante doublée� rapport signal

bruitréduit

� le canal doit passer le continu� nécessité de repérer les �ls pour avoir la bonne polarité

7.2.2 Codage AMI/MLT3 (Alternate Mark Inversion/ Multi Level Transmit 3)

normes : Fast Ethernet (100BaseTX, 100BaseT4)

Valeur logique Tension bipolaire0 maintient de la tension : +E → +E ou 0→ 0 ou −E → −E1 transition selon un cycle : +E → 0→ −E → 0→ +E → . . .

25

0

1

horl

oge

AMI MLT3

0

1

données

0 1 2 3 4 5 6 7 8 9 10temps

5

0

5

signal

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

fréquence ( ffe

)

0.0

0.1

0.2

0.3

0.4

0.5

densi

té s

pect

rale

de p

uis

sance

AMI MLT3

26