41
1 Couche Réseau Prof. Rami Langar LIGM/UPEM [email protected] http://perso.u-pem.fr/~langar

Couche Réseau - University of Paris-Est Marne-la-Vallée

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Couche Réseau - University of Paris-Est Marne-la-Vallée

1

Couche Réseau Prof. Rami Langar LIGM/UPEM [email protected] http://perso.u-pem.fr/~langar

Page 2: Couche Réseau - University of Paris-Est Marne-la-Vallée

2

Plan o  Fonctionnalités de la couche réseau o  Modèle de service : Circuit virtuel/Datagramme o  Service IP o  Datagramme IP o  Adressage IP et CIDR o  Network Address Translation: NAT o  Protocole ICMP o  Quelques exemples: Ping et Traceroute o  Algorithmes de routage:

n  Vecteur de distance n  Etat de liens

Page 3: Couche Réseau - University of Paris-Est Marne-la-Vallée

3

Fonctionnalités de la couche réseau o  Transporter des paquets de

l’émetteur vers le récepteur o  Les protocoles de couche réseau

s’exécutent dans chaque hôte et routeur.

o  Trois fonctions principales : n  Choix du chemin : route suivie par

les paquets de la source à la dest. Algorithmes de routage

n  Commutation : transporter les paquets du port d’entrée vers le bon port de sortie.

n  Mise en place de l’appel : Dans les réseaux à commutation de circuits, la mise en place du circuit est effectuée par la couche réseau.

Page 4: Couche Réseau - University of Paris-Est Marne-la-Vallée

4

Service IP o  Utilise un service minimum

n  envoi d'une unité de transfert d'un point à ses voisins n  voisin : partage la même connexion physique

o  Rend un service minimum n  service en mode non connecté

o  absence d'états dans les routeurs o  transmission de datagrammes

n  remise best effort o  service non fiable

n  service de connectivité o  Avantages

J  robustesse J  efficace pour les échanges brefs J  simplicité d'utilisation

Page 5: Couche Réseau - University of Paris-Est Marne-la-Vallée

5

Que fait un routeur ? Pour chaque datagramme IP qui traverse le routeur, IP :

n  vérifie le checksum, si faux èdestruction du datagramme n  détermine si ce sont des données utilisateur ou de contrôle destinées au

routeur n  décrémente la durée de vie, si nulle è destruction du datagramme n  décide du routage n  fragmente le datagramme si nécessaire n  reconstruit l’en-tête IP avec les champs mis à jour n  transmet le(s) datagramme(s) au protocole d’accès de l'interface réseau de

sortie avec l’adresse de sous-réseau correspondante A réception dans l’hôte destinataire, IP :

n  vérifie le checksum n  s’il y a eu fragmentation, mémorise puis réassemble n  délivre au niveau supérieur les données

Page 6: Couche Réseau - University of Paris-Est Marne-la-Vallée

6

Le datagramme IP

0 4 8 16 19 24 31

version IHL ToS total length

identification flags fragment offset

TTL protocol checksum

source address

destination address

options padding

header

data

Page 7: Couche Réseau - University of Paris-Est Marne-la-Vallée

7

Les champs de l'en-tête IP o  version : identification de la version

courante du protocole (4 pour IPv4) o  IHL (IP Header Length) : longueur de

l'en-tête IP (en mots de 32 bits) o  TOS (Type Of Service) : type de service

à appliquer au paquet en fonction de certains paramètres comme le délai de transit, la sécurité

o  total length : longueur totale du datagramme (en octets)

o  identification : valeur fournie par la source aidant la destination au réassemblage des différents fragments du datagramme

o  flags : utilisé par la fragmentation et composé de

o  DF (Don't Fragment) o  MF (More Fragment) o  réservé

o  offset : déplacement par rapport au datagramme initial (en multiple de 8 octets)

o  TTL (Time To Live) : limite supérieure du temps de vie d'un datagramme

o  protocol : protocole utilisé pour le champ de données

o  1 pour ICMP o  6 pour TCP o  17 pour UDP

o  checksum : zone de contrôle d'erreur portant uniquement sur l’en-tête du datagramme

o  source address : @ IP de la source du datagramme

o  destination address : @ IP de la destination du datagramme

o  options : fonctions de contrôle utiles dans certaines situations (estampillage temporel, sécurité, routage particulier, etc.)

o  padding : pour aligner l'en-tête sur 32 bits

Page 8: Couche Réseau - University of Paris-Est Marne-la-Vallée

8

Adressage IP o  adressage

n  pour l'identification d'un équipement réseau n  pour le routage

o  plan d'adressage homogène n  format : 4 octets è 4,3 milliards d'adresses ??? n  notation décimale pointée : x1.x2.x3.x4

o  adresse globalement unique et hiérarchique o  format : <réseau> <machine>

n  localisateur ou préfixe réseau : identificateur de réseau n  identificateur : identificateur de machine

localisateur identificateur

réseau machine

Page 9: Couche Réseau - University of Paris-Est Marne-la-Vallée

9

Attribution des adresses

délègue

attribue un préfixe réseau

alloue un identificateur

ICANN organismes régionaux

site

ICANN : Internet Corporation for Assigned Names and Numbers

Page 10: Couche Réseau - University of Paris-Est Marne-la-Vallée

10

Classes d'adresses o  le découpage <réseau> / <machine> n'est pas fixe Ä  5 classes d'adresses

0

110

1110

1111

réseau

réseau

réseau

adresse de multidestination

machine

machine

machine A

B

C

D

31 0 8 16 24

réservé E

10

Page 11: Couche Réseau - University of Paris-Est Marne-la-Vallée

11

Classes d'adresses o  classe A : 27 réseaux (128)

n  réservé: 0.0.0.0 et 127.0.0.0 n  disponible: 1.0.0.0 à 126.0.0.0

o  126 réseaux classe A et 16 777 214 machines/réseau o  classe B : 214 réseaux (16 384)

n  réservé: 128.0.0.0 et 191.255.0.0 n  disponible 128.1.0.0 à 191.254.0.0

o  16 382 réseaux classe B et 65 534 machines/réseau o  classe C : 221 réseaux (2 097 152)

n  réservé 192.0.0.0 et 223.255.255.0 n  disponible 192.0.1.0 à 223.255.254.0

o  2 097 150 réseaux classe C et 254 machines/réseau

Page 12: Couche Réseau - University of Paris-Est Marne-la-Vallée

12

Subnetting o  Problème

n  distinction <réseau> / <hôte> insuffisante en pratique

H H

H H

sous-réseau 1

sous-réseau 2

142.68.1.0

142.68.2.0

142.68.1.23

142.68.2.6

140.201.0.0 142.68.0.0

site 1 site 2

Page 13: Couche Réseau - University of Paris-Est Marne-la-Vallée

13

Sous-adressage o  Principe

n  ajout d'un niveau hiérarchique dans l'adressage o  adresse de sous-réseau

n  subdivision de la partie <hôte>

o  le sous-réseau n  est un réseau physique (i.e. un réseau IP connexe) du réseau de site n  a une visibilité purement interne (transparent vis à vis de l'extérieur).

réseau sous-réseau machine

identificateur théorique

Page 14: Couche Réseau - University of Paris-Est Marne-la-Vallée

14

Le masque de sous-réseau o  Le masque indique la frontière entre la partie <sous-réseau> et la partie

<machine> o  Le masque est propre au site et il est de 32 bits o  Bits du masque de sous-réseau (subnet mask)

n  positionnés à 1 è partie réseau n  positionnés à 0 è partie machine

o  Exemple n  11111111 11111111 11111111 00000000 Ä  3 octets pour le champ réseau, 1 octet pour le champ machine

o  Notations n  décimale pointée

o  exemple : 255.255.255.0 n  adresse réseau/masque

o  exemple : 193.49.60.0/27 (27 = nombre de bits contigus du masque)

Page 15: Couche Réseau - University of Paris-Est Marne-la-Vallée

15

Masque de sous-réseau o  Utilisation :

o  Exemple : n  le réseau 142.68.0.0 (classe B!) a comme masque 255.255.255.0 n  soit l'hôte d'@IP 142.68.2.6

Ä  l'hôte est sur le sous-réseau numéro 2, et a comme identificateur 6 n  Le netmask permet de savoir si la machine source et destination sont sur le

même sous-réseau.

réseau

machine classe

masque réseau

réseau

ss-réseau machine

interne au site &&

10001110.01000100.00000010.00000110 11111111.11111111.11111111.00000000

10001110.01000100.00000010.00000000

142.68.2.6 255.255.255.0 &&

= 142.68.2.0

Page 16: Couche Réseau - University of Paris-Est Marne-la-Vallée

16

Le masque de sous-réseau o  Le choix du découpage <réseau> / <hôte> dépend des

perspectives d’évolution du site n  exemple classe B :

o  8 bits pour la partie sous réseau è 256 sous réseaux de 254 machines

o  3 bits pour la partie sous réseau è 8 sous-réseaux de 8190 machines

n  exemple classe C : o  4 bits pour la partie sous-réseau è 16 sous-réseaux de 14 machines

Page 17: Couche Réseau - University of Paris-Est Marne-la-Vallée

17

Adresse IP : CIDR o  Adressage par classe :

n  utilisation inefficace de l’espace d’adressage n  Ex : une adresse de classe B a assez de place pour pour 65K hôtes, même

si il n’y a que 2K hôtes dans ce réseau o  CIDR : Classless InterDomain Routing

n  La taille de la partie réseau est arbitraire n  Format de l’adresse : a.b.c.d/x, où x est le # de bits dans la partie réseau de

l’adresse n  Ex: 128.96.0.0/16 : regroupe les numéros de 128.96.0.0 à 128.96.255.255

=> équivalent d’une classe B en notation classique

Page 18: Couche Réseau - University of Paris-Est Marne-la-Vallée

18

Les adresses privées et le NAT o  Adresses privées (RFC 1918)

n  des adresses qui ne seront jamais attribuées (adresses illégales) et qui ne sont pas routables sur l'Internet

n  classe A : de 10.0.0.0 à 10.255.255.255 n  classe B : de 172.16.0.0 à 172.31.255.255 n  classe C : de 192.168.0.0 à 192.168.255.255

o  Si une entreprise qui utilise des adresses privées souhaitent tout de même disposer d'une connexion à l'Internet, il faut n  demander une adresse publique n  faire des conversions adresse privée <--> adresse publique

Page 19: Couche Réseau - University of Paris-Est Marne-la-Vallée

19

Les adresses privées et le NAT o  NAT (RFC 3022) - Network Address Translator

n  mise en correspondance d'une adresse privée et d'une adresse publique

n  traduction statique ou dynamique (lors de la connexion) n  une solution au manque d'adresses IP publiques : quelques

adresses IP publiques pour beaucoup d'adresses IP privées mais le NAT est coûteux en perf.

o  Fonctionnement du NAT n  une table stockée dans le NAT fait la correspondance entre

(@IP_src privée, port_src) et une @IP_publique n  quand le paquet part : @IP_src devient @IP_publique, port_src

devient la référence de l'entrée dans la table n  quand la réponse revient : port_dest du paquet permet de retrouver

dans la table @IP et port src

Page 20: Couche Réseau - University of Paris-Est Marne-la-Vallée

20

NAT

Page 21: Couche Réseau - University of Paris-Est Marne-la-Vallée

21

Routage o  fonction déterminant un chemin

vers une adresse destinataire Ä  table de routage

n  informations nécessaires pour atteindre le prochain nœud

n  Contient 3 informations: o  Destination, Chemin, cout

Ä  algorithme de routage n  calcul d’un chemin optimal pour

atteindre une adresse destinataire Ä  protocole de routage

n  échange d'informations de routage n  dépend du domaine dans lequel se

trouve le routeur n  ex : RIP, OSPF, …

Hôte A

Hôte B

Routeur

Routeur

Routeur

B 3

B 2

B 3

1

4 2

3

1 3

2

1

2 3

: 

: 

Page 22: Couche Réseau - University of Paris-Est Marne-la-Vallée

22

Table de routage

Page 23: Couche Réseau - University of Paris-Est Marne-la-Vallée

23

Protocole et algorithmes de routage

o  Deux classes de protocole de routage n  Les protocoles de routage Intra-domaine n  Les protocoles de routage Inter-domaine

o  Deux types d’algorithme de routage n  État de lien n  Vecteur de distance

Page 24: Couche Réseau - University of Paris-Est Marne-la-Vallée

24

Modèle théorique de réseau o  Un réseau est représenté par un graphe

n  Les nœuds représentent les routeurs n  Les liens représentent les liaisons

o  Un algorithme de routage consiste à identifier le parcours entre un expéditeur et un destinataire dont la somme des liaisons est la plus faible

Page 25: Couche Réseau - University of Paris-Est Marne-la-Vallée

25

Algorithme de routage par état de lien o  Chaque nœud du réseau diffuse l’état des liaisons

auxquelles il est rattaché o  Avec les informations sur les états des liens venant des

autres nœuds dans le réseau, chaque nœud possède une connaissance sur la topologie complète du réseau

o  Chaque nœud applique l’algorithme de Dijkstra sur cette topologie pour trouver les chemins les plus courts vers chaque destination

Page 26: Couche Réseau - University of Paris-Est Marne-la-Vallée

26

Algorithme de Dijkstra (1) o  Pour un nœud source A

n  C(i,j) : coût du lien direct (i,j) n  D(v) : coût du chemin du nœud source au destinataire

v n  P(v) : Nœud précédant du destinataire v n  N : groupe du nœud source et des nœuds destinataires

dont les chemins les plus courts sont définitivement trouvés

Page 27: Couche Réseau - University of Paris-Est Marne-la-Vallée

27

Algorithme de Dijkstra (2)

Page 28: Couche Réseau - University of Paris-Est Marne-la-Vallée

28

Algorithme de Dijkstra (3)

Page 29: Couche Réseau - University of Paris-Est Marne-la-Vallée

29

Afficher la table de routage o  Windows

n  C> route PRINT

n  C> ipconfig /all o  Voir la passerelle par défaut

Page 30: Couche Réseau - University of Paris-Est Marne-la-Vallée

30

Utilitaires TCP/IP o  host

n  Interrogation dns n  host [-l][-v][-w][-r][-d][-t types] [-a] machine [serveur] n  Machine = @IP ou nom + domaine local (extrait via

hostname) n  Serveur : nom ou @IP d'un serveur DNS spécifique n  -v: mode verbeux n  -r: supprime la recherche récursive n  -l: liste d'un domaine complet n  -t: précise un type d'enregistrement (filtre sur recherche

sur l'ensemble d'un domaine) -t mx

Page 31: Couche Réseau - University of Paris-Est Marne-la-Vallée

31

Utilitaires TCP/IP o  [langar@localhost ~]$ host www.lpi.org

n  www.lpi.org has address 24.215.7.162 o  [langar@localhost ~]$ host www.ipsl.jussieu.fr

n  www.ipsl.jussieu.fr is an alias for weberie.ipsl.jussieu.fr. n  weberie.ipsl.jussieu.fr has address 192.168.1.56

Page 32: Couche Réseau - University of Paris-Est Marne-la-Vallée

32

Configuration réseaux o  Configurer le réseau sur un poste Linux c'est définir :

n  une adresse IP + un masque de réseau + une adresse de diffusion n  la route par défaut n  la méthode de résolution de noms (serveur DNS) n  un nom de machine

o  Nommage des cartes réseau sous Linux n  eth0, eth1, eth2,... n  Commande dmesg renseigne entre autres sur les interfaces

présentes et leur alias (ethx) n  Fichiers de configuration

/etc/sysconfig/network-scripts/ifcfg-eth0

Page 33: Couche Réseau - University of Paris-Est Marne-la-Vallée

33

Configuration réseaux o  /sbin/ifconfig

n  Utilitaire de configuration des interfaces réseau n  ifconfig -a : affiche l'état de la configuration de toutes les

interfaces

Page 34: Couche Réseau - University of Paris-Est Marne-la-Vallée

34

Configuration réseaux o  Modifier dynamiquement sa configuration

n  Commande ifconfig

(1) eth0 : nom de l'interface (2)192.168.45.1 : adresse IP de l’hôte (3) netmask 255.255.255.0 : masque de réseau (4) broadcast 192.168.45.255 : adresse de diffusion du réseau (5) up : active l'interface

o  Démarrer manuellement une interface n  Commande ifup interface

o  Stopper manuellement une interface n  Commande ifdown interface

Page 35: Couche Réseau - University of Paris-Est Marne-la-Vallée

35

Configuration réseaux o  netstat

n  Commande très utilisée qui affiche les connexions réseau, les tables de routage, les statistiques d'interface, les connexions masquées, les messages netlink, les membres multicast

n  - i : liste des interfaces n  - n : mode numérique. Affiche les adresses plutôt que des noms n  - a : affiche également les sockets d'écoute des serveurs n  - p : affiche les processus réseau (PID, user) n  - r : affiche les informations de route n  - v : verbose

o  Gestion des routes n  route : affiche, ajoute et supprime les routes de la table de routage

locale n  route add [options] cible n  route del [options] cible

Page 36: Couche Réseau - University of Paris-Est Marne-la-Vallée

36

Configuration réseaux o  La table de routage locale indique le chemin que doit

emprunter le trafic hors réseau local n  L'utilitaire route permet de contrôler et de modifier les routes locales n  #route add default gw <@ de la passerelle> n  #route del default n  #route ou #netstat -rn pour afficher les routes définies

UG: identification de la passerelle

Page 37: Couche Réseau - University of Paris-Est Marne-la-Vallée

37

Protocole ICMP o  Internet Control Message Protocol), RFC 792 o  Objectif

n  Rapport d’erreurs de la couche Réseau o  Exemple

n  Au cours d’une session HTTP, un message d’erreur « Réseau de destination inaccessible » est affiché

n  Quand un routeur ne peut pas trouver le chemin spécifié par l’application, il génère un message d’erreur à la source

n  Le terminal reçoit le message ICMP et renvoie le code d’erreur à la couche TCP qui à son tour le renvoie à l’application

Page 38: Couche Réseau - University of Paris-Est Marne-la-Vallée

38

Protocole ICMP o  Basé sur IP, Protocol ID = 1 o  Chaque message ICMP est doté d’un champ de

code et de catégorie qui signifie le contenu du message n  Exemples

o  Type = 0, code = 0 : message d’écho o  Type = 8, code = 0 : demande d’écho o  Type = 11, code = 0 : expiration de la durée de vie

Page 39: Couche Réseau - University of Paris-Est Marne-la-Vallée

39

Ping o  Ping

n  Le programme ping envoie à une destination un message ICMP avec type = 8, code = 0 (demande d’écho)

n  La machine destination répond par un message d’écho ICMP (type = 0, code = 0)

n  Le programme affiche le délai du parcours à l’utilisateur

Page 40: Couche Réseau - University of Paris-Est Marne-la-Vallée

40

Traceroute (1) o  Traceroute

n  Le programme traceroute envoie des paquets IP destinés à une destination avec les valeurs TTL incrémentées (1, 2, 3, …)

n  Le Nième routeur va recevoir le Nième paquet dont sa durée de vie expire à ce routeur

n  Les routeurs qui écartent le paquet IP envoie un message ICMP (type=11, code = 0) à la source lui permettant de déterminer les noms et adresses IP de tous les routeurs jalonnant le parcours du paquet ainsi que les délais correspondants

Page 41: Couche Réseau - University of Paris-Est Marne-la-Vallée

41

Traceroute (2)