Je vous suggère fortement de revoir aussi les chapitres réseau des semestres précédents

Adressage IPV4

Binaire de base

Exercices de conversion

Convertir les octets du binaire en décimal ou inversement, selon le cas :

  • 1110 0001
  • 1101 1010
  • 1001 1001
  • 1100 0000
  • 1110 0000
  • 1111 0000
  • 42
  • 84
  • 162
  • 127
  • 255
  • 224

Nombres remarquables

Certains octets ou décimaux sont remarquable car souvent utilisés en réseau. On trouvera les suivants (qui sont à apprendre par coeur !) :

BinaireDécimalHexadécimalUtilisation BinaireDécimalHexadécimalUtilisation
0000 0000000Routage/Filtrage 0111 1111127efLoop back/routage
1000 000012880Masque de réseau 1111 1000248f0Masque
1100 000019200Masque 1111 110025200Masque
1110 000022400Masque 1111 000024000Masque
1111 111025400Masque 1111 1111255ffDiffusion/Filtrage

Abaque de conversion des quartets (demi octets)

De même, certains quartets sont aussi souvent utilisés (qui sont à apprendre par coeur, surtout ceux surlignés !) :

BinaireDécimalHexadécimal BinaireDécimalHexadécimal BinaireDécimalHexadécimal BinaireDécimalHexadécimal
000000 010044 100088 110012c
000111 010155 100199 110113d
001022 011066 101010a 111014e
001133 011177 101111b 11115f

 

Adressage

Utilité

L'adressage IP en version 4 sert à adresser individuellement les hôtes (postes de travail, imprimantes, ...) d'un réseau local.

Cet version est plus simple à comprendre que la V6 par le format des adresses utilisé.

Par ailleurs, la version V4 est plus connue des équipes d'administrateurs en place.

Format des adresses

Les adresses IPv4 sont composées de 4 octets.
Les octets sont séparés par des points. Pour améliorer la lisibilité, on place un espace entre chaque groupe de 4 bits.

Exemple : 0000 1010.1000 0001.0000 0000.1100 1011

 

L'utilisation des octets étant fastidieuse, ceux-ci sont souvents représentés par des nombres décimaux.

Exemple : 0000 1010.1000 0001.0000 0000.1100 1011 est converti en : 10.129.0.203

 

Le plus compliqué étant d'effectuer la conversion binaire <-> décimal (voir plus haut).

Adressage et masque de (sous) réseau

Afin de permettre de regrouper des hôtes, on défini un groupe de bits au début de l'adresse qui doivent être communs à toutes les adresses des hôtes d'un même réseau local.

Ce groupe est souvent nommé préfixe réseau ou adresse de réseau.

Adresse de réseau, adresse de diffusion

L'adresse de réseau (ou préfixe réseau) reprend tous les bits identiques des postes et est complétée par des zéros (0).

On représente le groupe de bits identiques par un masque d'adresse avec :

  • un nombre de bits : /23,
  • une simili adresse en remplaçant tous les bits du préfixe par des 1 et tous les autres par des 0.

L'adresse de diffusion reprend aussi tous les bits identiques des postes et est complétée par des uns (1).

Exemple :

Soit le (sous) réseau 10.100.64.0

Son préfixe a une longueur de 24 bits communs à tous les hôtes. On écrira :

Représentation décimaleRéalité binaire
Adresse de réseau  10.100. 64.  0 <=> 0000 1010.0110 0100.0100 0000.0000 0000
Masque de (sous) réseau 255.255.255.  0 <=> 1111 1111.1111 1111.1111 1111.0000 0000
Adresse de diffusion  10.100. 64.255 <=> 0000 1010.0110 0100.0100 0000.1111 1111

Le masque sert donc à vérifier que différentes adresses sont dans le même réseau ou non.

Exemple 1, même réseau :

Analyse Adresse en décimal Adresse réelle en binaire Conclusion
Adresse de réseau  10.100. 64.  0 <=> 0000 1010.0110 0100.0100 0000.0000 0000
Masque de (sous) réseau 255.255.255.  0 <=> 1111 1111.1111 1111.1111 1111.0000 0000
L'adresse de l'hôte A, est-elle dans le sous réseau ?  10.100. 64. 13 <=> 0000 1010.0110 0100.0100 0000.0000 1101 Oui, elle est identique à l'@ réseau pour chaque bits du masque à 1

Exemple 2, réseau différent :

Analyse Adresse en décimal Adresse réelle en binaire Conclusion
Adresse de réseau  10.100. 64. 0 <=> 0000 1010.0110 0100.0100 0000.0000 0000
Masque de (sous) réseau 255.255.255. 0 <=> 1111 1111.1111 1111.1111 1111.0000 0000
L'adresse de l'hôte B, est-elle dans le sous réseau ?  10.100. 65.13 <=> 0000 1010.0110 0100.0100 0001.0000 1101 Non, elle est différente à l'@ réseau au dernier bits du masque
Appliquer le masque (faire un ET logique, bit à bit) : 255.255.255. 0 <=> 1111 1111.1111 1111.1111 1111.0000 0000 On constate que le 3ème octet du résultat est différent du 3ème octet du réseau.
Donc B n'est pas dans le même sous-réseau.
Résultat :  10.100. 65. 0 <=> 0000 1010.0110 0100.0100 0001.0000 0000
Comparer le résultat avec l'adresse réseau :  10.100. 64. 0 <=> 0000 1010.0110 0100.0100 0000.0000 0000

 

Segmenter un (sous) réseau

Segmenter un sous-réseau signifie allonger le masque pour imposer un préfixe plus long.

L'intérêt est de diviser un réseau plus grand en morceaux contenant moins d'hôtes afin de mieux pouvoir contrôler les flux de données et la sécurité en filtrant le passage d'un sous-réseau à un autre.

Exemple de segmentation

Soit le réseau global 172.30.0.0/16 qui sera divisé en quatre sous-réseaux contigües :

On allonge le masque de deux bits (2^2=4) :

Exemple 2, réseau différent :

Analyse Adresse en décimal Adresse réelle en binaire Conclusion
Adresse de réseau /16 172. 30.  0. 0 <=> 0000 1010.0001 1110.0000 0000.0000 0000 Le troisième octet est 0000 0000(2) = 0(10)
Masque de (sous) réseau initial (/16) 255.255.  0. 0 <=> 1111 1111.1111 1111.0000 0000.0000 0000
Masque de (sous) réseau +2 bits (/18) 255.255.192. 0 <=> 1111 1111.1111 1111.1100 0000.0000 0000
Premier sous réseau 172. 30.  0. 0 <=> 0000 1010.0001 1110.0000 0000.0000 0000 Le troisième octet est 0000 0000(2) = 0(10)
Second sous réseau 172. 30. 64. 0 <=> 0000 1010.0001 1110.0100 0000.0000 0000 Le troisième octet est 0100 0000(2) = 64(10)
Troisième sous réseau 172. 30.128. 0 <=> 0000 1010.0001 1110.1000 0000.0000 0000 Le troisième octet est 1000 0000(2) = 128(10)
Quatrième sous réseau 172. 30.192. 0 <=> 0000 1010.0001 1110.1100 0000.0000 0000 Le troisième octet est 1100 0000(2) = 192(10)

Il est aussi possible de faire des regroupements en diminuant la longeur du masque. Ceci est utile pour le filtrage (regrouper des plages d'adresses ou pour avoir des segments de tailles différentes, de grouper des réseaux en réseaux plus importants).

Calcul du nombre d'adresses d'un sous-réseau

Pas le choix, il faut apprendre la formule :

H = 2(32-M) -2

Avec :

  • H= le nombre d'hôtes
  • M= la longueur du masque en bits

Automatiser la configuration avec DHCP

DHCP est un protocole de configuration dynamique des hôtes basé sur un service de distribution d'adresses IP.

Le protocole utilise les ports TCP 67 et 68 et est circonscrit à la zone de diffusion, il n'est pas routable !

 

Il fonctionne avec un algorithme très simple :

  1. DHCPDISCOVER : Un hôte recherche un serveur DHCP et demande une adresse
  2. DHCPOFFER : Des serveurs DHCP se signalent et proposent une adresse
  3. DHCPREQUEST : L'hôte accepte le serveur le plus rapide et demande l'adresse proposée
  4. DHCPACK : Le serveur choisi confirme le choix de l'adresse
  5. DHCPREQUEST : Quand le bail approche de l'échéance, l'hôte redemande l'adressequ'il utilise ou
  6. DHCPRELEASE : Lorsque l'hôte n'a plus besoin de l'adresse, il la libère.

 

Routage

Le routage consiste à orienter les paquets IP d'un réseau "physique" vers un autre dont l'adressage est différent.

Pour cela, il faut connaître trois adresses et les masque correspondants :

  • IP_S = adresse IP source, adresse de l'émetteur du paquet et son masque
  • IP_C = adresse IP cible, adresse du destinataire, cible du paquet et son masque
  • IP_G = adresse IP de la passerelle de l'hôte source du paquet

 

Envoi dans le même réseau

Les adresses IP source et cible sont traduites en adresses MAC d'origine et de destination qui seront ajoutées au paquet d'origine pour former une trame ethernet qui sera envoyée sur le réseau.

C'est le protocole ARP qui se charge de faire la résolution des adresses, c'est à dire, la conversion d'adresses IP en adresses MAC.

Les cartes réseau de la zone de diffusion reçoivent toutes la trame.

Seule la carte ayant l'adresse MAC de destination écoutera la trame et la remontera dans l'hôte. Les autres cartes l'ignoreront.

Envoi dans un réseau différent

La différence de masque et d'adresse réseau indique à l'hôte source que la cible n'est pâs dans le réseau local. Il faut alors faire appel à la passerelle (gateway) afin de transférer les paquets et trames sur les réseaux suivants.

La passerelle est connue par son adresse IP du réseau local de la source et permet d'obtenir une adresse MAC en remplacement de l'adresse MAC de destination (qui est injoignable directement).

Les trames sont donc envoyées à la passerelle, le routeur, qui choisira le réseau suivant pour transférer les paquets.

 

La table de routage

Pour savoir où envoyer quel paquet, le routeur dispose d'une table de ... routage.

La table de routage contient des routes composées de principalement :

  • Une adresse IP de destination avec un masque pour identifier les paquets à traiter par la route
  • L'adresse d'une passerelle à rejoindre
  • L'adresse d'une interface de sortie du du routeur où faire passer le paquet

Il n'y a pas d'adresse IP d'origine car nous ne faisons pas encore de filtrage.

 

Si aucune règle ne correspond à un réseau de destination, il faut ajouter une route par défaut, faute de quoi le paquet sera détruit.

La route par défaut utilise l'adresse de comparaison 0.0.0.0 avec un masque /0 afin d'être toujours valide. Elle doit être placée à la fin de la liste.

 

Exemple de table de routage

Destination /masque Passerelle Interface Commentaire
172.16.0.0 /16 172.16.254.254 Gi0/0.0 Un réseau local de classe B
192.168.0.0 /16 192.168.0.254 Gi0/0.1 Tous les réseaux privés de classe C
10.129.128.0 /18 10.129.254.253 Gi0/1 un sous réseau de classe A
0.0.0.0 /0 10.129.254.253 Gi0/1 Route par défaut

 

Ces règles sont parfois fastidieuses à mettre en place, c'est pourquoi nous utilisons des algorithmes de détermination automatique des routes.

 

NAT, PAT

Le routeur peut aussi rendre un service important qui est de renommer l'adresse IP d'origine du paquet.

Le NAT/PAT consiste à remplacer les données du LAN par ses données à lui avant d'envoyer un paquet sur internet.

 

Certaines adresses, privées, ne peuvent pas circuler sur internet. Le routeur va donc remplacer l'adresse IP d'origine par la sienne et donner aussi un nouveau numéro de port.

Il va noter dans une table la correspondance entre l'adresse IP et le port d'origine du paquet reçu avant modification et le port d'origine du paquet modifié et envoyé.

A la réception de la réponse vers son adresse et le port mémorisé, le routeur remet en place l'adresse et le port initaial avant d'envoyer le paquet vers son destinaitaire.

 

Ce service permet aussi de "masquer" le réseau local vu depuis internet (on ne voit que le routeur frontal)

 

Routage et VLAN

Réseaux virtuels : VLAN

Les réseaux virtuels sont un découpage logique des commutateurs (switch) en plusieurs commutateurs plus petits.

Ce découpage est souvnet fait en parallèle à une segmentation de l'adressage.

Commutateur de niveau 2

Ce découpage se fait en affectant un nom de réseau virtuel à chaque port.

Seuls les ports ayant un même nom de réseau virtuel peuvent encore communiquer librement ensemble.

Les réseaux virtuelles ne peuvent plus communiquer sans l'aide d'un routeur qui permettra de mettre en place un filtrage entre les réseaux connectés

 

Et comment connecter le routeur ?

Le routeur sera connecté éventuellement sur deux ports mais plus souvent sur un seul port du commutateur qui sera associé à plusieurs VLAN simultanément. On dit que c'est un port "trunk" (tronc).

Cette architecture est nommée "router on a stick"

 

Commutateur de niveau 3

Certains commutateurs peuvent faire du routage de base entre les VLAN qui y sont configurés.

Dans le modèle OSI, ils ont donc accès à la couche 3, routage, d'où le nom de commutateur L3.

Attention, ces commutateurs ne font pas de filtrage.

Filtrage IP

Le filtrage IP consiste à autoriser ou interdire le passage de paquets selon des critères de sélection des adresses IP d'origine ou de destination, des ports d'origine ou de destination et du protocole TCP ou UDP.

Ce n'est pas encore un filtrage par ACL, même si ça y ressemble.

Ce n'est pas encore un filtrage de firewall, même si on s'en approche.

Ce filtrage ne garanti pas totalement la sécurité d'une infrastructure mais apporte une protection et la fluidification des flux.

 

La table de filtrage contient des règles composées de principalement :

  • Une adresse IP d'origine avec son masque
  • Un port d'origine
  • Une adresse IP de destination avec son masque
  • Un port de destination
  • Un protocole de transaction (niveau 4, transport)
  • Une des deux actions à réaliser sur le paquet : accept ou reject

Lorsqu'un paquet correspond à la règle, on exécute l'action demandée : accepter le passage ou rejeter le paquet (et le détruire)

Exemple de table de filtrage

ProtocoleOriginePortDestinationPortAction Commentaire
TCP0.0.0.0 /0*172.16.0.0 /1680Accept Autoriser les connexions vers 172.16 sur le port 80
*0.0.0.0 /0*192.0.0.0/8*reject Interdire toute connexion vers les réseaux privés de classe C
TCP172.16.250.1 /32*10.129.254.253 /323306accept Autoriser une machine donnée à se connecter à une autre

Ce qui n'est pas indiqué est généralement interdit. remarquer le masque de /32 pour nommer une machine spécifique.

 

Voilà, voilà.

C'est fini pour l'instant.