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 !) :
Binaire
Décimal
Hexadécimal
Utilisation
Binaire
Décimal
Hexadécimal
Utilisation
0000 0000
0
00
Routage/Filtrage
0111 1111
127
ef
Loop back/routage
1000 0000
128
80
Masque de réseau
1111 1000
248
f0
Masque
1100 0000
192
00
Masque
1111 1100
252
00
Masque
1110 0000
224
00
Masque
1111 0000
240
00
Masque
1111 1110
254
00
Masque
1111 1111
255
ff
Diffusion/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 !) :
Binaire
Décimal
Hexadécimal
Binaire
Décimal
Hexadécimal
Binaire
Décimal
Hexadécimal
Binaire
Décimal
Hexadécimal
0000
0
0
0100
4
4
1000
8
8
1100
12
c
0001
1
1
0101
5
5
1001
9
9
1101
13
d
0010
2
2
0110
6
6
1010
10
a
1110
14
e
0011
3
3
0111
7
7
1011
11
b
1111
5
f
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écimale
Ré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 :
DHCPDISCOVER : Un hôte recherche un serveur DHCP et demande une adresse
DHCPOFFER : Des serveurs DHCP se signalent et proposent une adresse
DHCPREQUEST : L'hôte accepte le serveur le plus rapide et demande l'adresse proposée
DHCPACK : Le serveur choisi confirme le choix de l'adresse
DHCPREQUEST : Quand le bail approche de l'échéance, l'hôte redemande l'adressequ'il utilise ou
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
Protocole
Origine
Port
Destination
Port
Action
Commentaire
TCP
0.0.0.0 /0
*
172.16.0.0 /16
80
Accept
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
TCP
172.16.250.1 /32
*
10.129.254.253 /32
3306
accept
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.