Vous êtes sur la page 1sur 21

UNIVERSITE IBN ZOHR

FACULTE DES SCIENCES

Département Informatique
Filière Sciences Mathématiques et Informatique

NAT et IPv6

RECHERCHE
Réalisé par :
Ismail BERRISS
Anass CHHOU
Fatiha EL HABTI
Hamza LACHHAB
Roufaida BABZZINE

Professeur : M.Abdellah BOULOUZ

Année universitaire 2022-2023


Table des matières
Introduction générale ................................................................................................................... i
Introduction NAT ....................................................................................................................... ii
Static NAT................................................................................................................................. iii
Dynamic NAR .......................................................................................................................... iiii
PAT .........................................................................................................................................iiiii
IPv6 ....................................................................................................................................... iiiiii
Types d'adressage IPv6 ....................................................................................................... iiiiiii
Configuration des interfaces ................................................................................................ iiiiiiii
Introduction générale
A la création de l’internet, l’IPv4 (Internet Protocol version 4) était la première
version du protocole internet sortie au public. Avec l’IPv4, on peut avoir 232 ou bien un
peu presque 4.3 milliards adresses IP publique. L’internet à ce temps-là n’était pas une
grande chose, alors ça ne causait aucun problème. Après l’explosion d’usage d’internet
entre 1986-87, le nombre d’adresses IP utilisées a augmenté. En revanche le nombre
d’adresses offertes diminue. Ce qui va conduire à un problème d’épuisage d’adresses
puisque les 4.3 milliards ne suffisent pas.
Deux solutions ont été proposé pour régler ce problème : NAT (Network Address
Translation) et IPv6.

Introduction NAT
Auparavant, pour accéder à l’internet, on devrait avoir une adresse IP publique pour
chaque hôte. Le NAT (Network Address Translation) est une solution qui permet de diminuer
le nombre d’adresses IP publique utilisées en faisant une conversion d’une ou plusieurs
adresses IP privées en une ou plusieurs adresses IP publiques (l’inverse aussi), pour permettre
plusieurs hôtes à accéder à l’internet avec une seule adresse IP.

Static NAT
Définition :
Ce type de NAT permet d’attribuer une et une seule adresse publique à une et une
seule adresse privée. Chaque adresse privée dans le réseau à son équivalent. Cela veut dire
que si on a 5 hôtes dans un réseau, on doit avoir 5 adresses publique, et à chaque hôte on
attribut une seule adresse publique. Ce type est le mois utilisé, Il ne conserve as les adresses et
coûte plus cher.
Configuration :

La première étape de la configuration est de définir dans le routeur, l’interface qui appartient
au réseau local (inside), et l’interface qui est connecté avec les autres réseaux (outside) :

R1(config)# interface GigabitEthernet0/0


R1(config-if)# ip nat inside

R1(config)# interface Serial0/3/0


R1(config-if)# ip nat outside

Et pour la deuxième et la dernière étape, elle s’agit de donner une adresse publique à mon
hôte :
Dans la commande on indique le type d’adressage NAT avec le mot static, et l’adresse de
l’hôte, ensuite l’adresse publique :

R1(config)# ip nat inside source static 192.168.1.1 41.41.41.41

Pour vérifier ma configuration NAT, on lance une commande qui va afficher l’ensemble des
paquets convertis par le routeur :

R1# debug ip nat

Ensuite, on fait un ping entre les deux hôtes pour envoyer des paquets, et on ferme la capture
des paquets avec :

R1# no debug all


On observe bien dans cet exemple que la conversion est faite, et que la configuration est
réussite.

Dynamic NAT :
Définition :
Le NAT dynamique permet de partager une adresse IP routable (ou un nombre réduit
d'adresses IP routables) entre plusieurs machines en adressage privé
Dans ce type de NAT, plusieurs adresses IP privées sont mappées à une plage des adresses IP
publiques. Il est utilisé lorsqu’on connaît le nombre d'utilisateurs fixes qui souhaitent accéder
à Internet à un moment donné.
Le nombre des adresses privées qu’on peut mapper est égale au nombre d’adresses qu’on a
dans la plage d’adresses publiques.
Par exemple, si on a une plage contenant trois adresses publiques alors on peut traduire trois
adresses privées.

Mécanisme :
La translation d'adresses réseau dynamique :
Quand une machine envoi des données, le routeur prend l’adresse privée source et l’adresse
destination, et échange l’adresse privée source par la 1ère adresse publique disponible dans la
plage des adresses publiques, puis il envoie les données vers la destination et sauvegarde
l’adresse privée avec l’adresse publique utilisée dans la table NAT.
Quand les données reviennent, le routeur prend l'adresse destination et la compare avec
l’adresse publique dans la table NAT. S’il trouve une correspondance, il échange l’adresse
publique par l’adresse privée convenable et il envoie les données. Après la fin d'échange des
données, l’adresse publique retournera à la plage des adresses public pour la réutiliser dans les
prochaines actions d'échanges
Configuration :

Comme la configuration statique, la première étape est de définir dans le routeur les interfaces
(inside) et (outside) :

R1(config)# interface GigabitEthernet0/0

R1(config-if)# ip nat inside


R1(config)# interface Serial0/3/0
R1(config-if)# ip nat outside

Dans l’étape suivante, on indique l’adresse de notre réseau (inside pour crée un groupe
(inside) :

R1(config-if)# access-list 7 permit 192.168.1.0 0.0.0.255

Pour définir le groupe(outside) on utilise la commande :


“nat pool (nom de la plage d’adresse) (adresse ip de départ) (adresse ip
de fin) netmask (le mask)”

R1(config-if)# nat pool SMI5 51.51.51.1 51.51.51.3 netmask 255.255.255.0

La troisième étape est d’activer le NAT entre les deux groupes par la commande suivante :

R1(config-if)# ip nat inside source list 7 pool smi5


On vérifie la configuration du NAT dynamique :

PAT :
Définition :
PAT : ”Port Address Translation” ou “la surcharge du NAT” est le type le plus utilisé. Dans
ce type on peut traduire plusieurs adresse IP privées en une seule adresse IP publique. Ceci
est, souvent, le plus utilisé car des milliers d'utilisateurs peuvent être connectés à Internet en
utilisant une seule adresse IP publique en utilisant les numéros de ports.
Un numéro de port est un moyen d'identifier un processus spécifique auquel un message
Internet ou autre réseau doit être transmis lorsqu'il arrive sur un serveur. Les numéros de port
sont utilisés pour distinguer le “trafic”.

Mécanisme :
Lorsque votre machine envoie des données au routeur, ce dernier prend l’adresse source et
son numéro de port, et l’adresse destination et son numéro de port. Dans ce processus, le
numéro de port est très important et précis, car il fait la distinction entre les machines, et leurs
processus applicatifs, il connait précisément de quelle machine et de quel processus provient
les données. Le routeur échange l’adresse privé et le numéro de port de la source par une
adresse public et un numéro de port publique, le numéro de port restera souvent le même mais
s'il est déjà utilisé, le prochain numéro de port disponible sera sélectionné, le routeur construit
une table de NAT pour distinguer de quelle adresse publique appartient à quelle adresse
privée. Une fois que le routeur permute les adresses et l'ajoute à la table de NAT, il
reconstruire les données et il les envoie vers la destination (serveur d’une application web par
exemple).
Les données reviennent, le routeur prend l’adresse de destination et leur numéro de port il la
compare avec les adresses publiques et leur numéro de port dans la table de NAT s’il la trouve
il prend son équivalent parmi les adresses privées avec numéro de port et les permute, puis il
les envoie vers la destination (la machine source).

Une fois la machine a les données, le numéro de port indiquera à quelle application va
envoyer les données.

Configuration :

La première étape est de définir dans le routeur les interfaces (inside) et (outside) :

R1(config)# interface GigabitEthernet0/0

R1(config-if)# ip nat inside


R1(config)# interface Serial0/3/0
R1(config-if)# ip nat outside

La deuxième étape est de créer un groupe dans notre réseau local :

R1(config-if)# access-list 7 permit 192.168.1.0 0.0.0.255

On ne peut pas créer un groupe(outside) car les adresses publiques sont données par le ISP
(Internet Service Provider) à travers l’interface(outside) dans notre cas est ”interface
Serial0/3/0”
La troisième étape est d’activer le NAT par la commande suivante :

R1(config-if)# ip nat inside source list 7 interface Serial0/3/0 overload

On vérifie la configuration de PAT :

Passons maintenant au IPv6 :

Introduction IPv6 :
Comparaison entre IPv4 et IPv6 :
Quand l’internet était développé pour la première fois, les développeurs n’ont pas
réalisé qu’il sera énorme. Ils ont pensé que IPv4, qui nous permet d’avoir 4 milliards
d’adresse sera insuffisant. Mais à nos jours ce nombre d’adresse n’est plus suffisant, ce qui
nous force à trouver une solution. Une nouvelle mise à jour au protocole pour résoudre le
problème d’insuffisance des adresses : c’est le IP version 6(IPv6).
IPv6 est la nouvelle génération des adresses IP. La grande différence entre IPv4 est
IPv6 est la longueur des adresses.
L’adresse IPv4 est une adresse numérique composée de 32 bits, l’adresse IPv6 est
composée de 128 bits hexadécimaux, c’est-à-dire qu’elle utilise les nombres et les alphabets
dans sa définition. Avec ce type d’adresse IPv6n on peut produire plus de 3.4x1038 adresses.
On peut conclure donc que l’IPv6 est plus que suffisant.
Adresse IPv6 :
Exemple d’une adresse IPv6 :
3002 :4DC9 :0000 :1100 :A222 :B444:D666 :BAC9
L’adresse IPv6 a une longueur de 128 bits, elle est divisée en 8 sections en hexadécimal
séparée par deux points (:), chaque section est appelée hextet.

Les sections : réseaux et hôte :


Une adresse IPv6 a aussi une partie réseau et une partie hôte. Pour préciser ces parties, on
précise un nombre après un slash dans l’adresse pour préciser le nombre de bits de la partie
réseau.

Exemple : 3002 :4DC9 :0000 :1100 :A222 :B444:D666 :BAC9/64

Partie réseau : 3002 :4DC9 :0000 :1100


Partie hôte : A222 :B444:D666 :BAC9

Important : lorsque on a une adresse qui s’écrit comme :


2001:0DB8:ACAD:0000:0000:0000:0000:0000/48
Elle devient : 2001:0DB8:ACAD::/48 en remplaçant tous les octets qui sont que
des 0 par :: a condition qu’ils soient consécutif.
Dans chaque adresse IPv6, on a une seule fois la possibilité d’utiliser les deux points.

IPv6 paquet :
Paquet IPv6 vs paquet IPv4 :
Comme on a vu précédemment, les adresse IPv6 sont plus longues que celles de l’IPv4, donc
on peut bien comprendre pourquoi la taille de l’en-tête IPv6 est bien plus grand que celle de
l’IPv4. Aussi un en-tête IPv6 est plus filtré car il contient moins de champ.

• Le champ correspond à la longueur de l’en-tête IPv4 a était


éliminer dans l’Ipv6, car l’en-tête IPv4 a une longueur variable, par
contre en IPv6 elle est d’une taille fixe de 40 octets.
• En IPv6, les routeurs ne traitent pas la fragmentation, c’est la
responsabilité des hôtes. Aussi, ils se chargent de la fragmentation
si la taille maximale du paquet a été dépassée. Les champs qui
aident à la fragmentation n’existeront plus dans l’en-tête IPv6.
• En IPv6, c’est la couche liaison qui permet de détecter les erreurs
de transfert, donc le champ header checksum qui effectue cette
vérification en IPv4, sera supprimé en IPv6.
• Les champs option et padding ne servent plus en IPv6.

Représentation d’un en-tête IPv6 :

L’en-tête IPv6 contient 8 champs :


• Version : qui identifie la version du protocole, 6 pour IPv6 et 4
pour IPv4.
• Traffic class : il permet de marquer une priorité sur les paquets
sortant.
• Flow label : est utilisé pour marquer les flux avec des valeurs
différentes afin de pouvoir les différencier sur les réseaux.
• Payload lenght : indique la longueur totale de paquet IP (en-tête
et data) en bytes.
• Next header : permet d’identifier l’en-tête suivant.
• Hop limit : indique le nombre maximal du saut qu’un paquet peut
faire, qui est 255. La valeur initiale du champ est 255 et à chaque
fois que le paquet traverse un routeur, ce chiffre se décrémente.
• Source address : la source de paquet.
• Destination address : la destination du paquet.
Les différents types d’adressage IPV6 :
Les adresses IPV6 Unicast :
L'adresse Unicast sert à communiquer deux hôtes identifies chacun par une adresse réseau
unique. Un hôte peut avoir différente adresses unicast. Il existe certaines classes réservées aux
certains usages :

Link Local : préfixe (FE80 :: /64)


Adresse non routable unique permet à l’hôte de communiquer avec ses voisins de son
domaine de diffusion et notamment découvrir son routeur de voisinage.
Une interface d’un hôte aura obligatoirement une adresse Link local, qui peut être auto
attribuée ou construite à partir de l’adresse Mac, leur masque est obligatoirement /64.

FE80… ID de l’hôte

64 bits 64 bits

Unique Local : préfixe (FD ::/8 ou FC)


Adresse routable sur site qui permet la communication à l’intérieur d’une organisation,
correspond à une adresse locale dans IPV4, ne peut pas dépasser le routeur du site.
Sa configuration peut être manuelle, dynamique à l’aide du serveur (DHCP), ou bien auto
configurée par l’hôte.
FDxx… ID de l’hôte

Global Unicast : préfixe (2000 ::/3)


Adresse routable sur internet peut être affecter à un hôte et qui lui permet d’être directement
joignable sur internet, correspond à une adresse public dans IPV4.
Sa configuration peut être statique ou dynamique.

2000 ou 3000... ID de l’hôte

Unspecified : préfixe ( ::/128)


Adresse qui permet de définir des routes par défaut sur les routeurs.
LoopBack : préfixe ( ::1/128)
Adresse de bouclage, équivalente a 127.0.0.1 dans l’IPV4, qui a pour rôle de faire les
tests et aussi permet a l’équipement de pouvoir communiquer avec lui-même.
Les adresses IPV6 Multicast :
Multicast (multidiffusion en français) sert à diffuser la requête envoyée par une
adresse unicast vers un groupe de machines précis (group multicast), qui sont caractérisées
par une adresse group multicast.
Le protocole IGMP (Internet Group Management Protocol) permet à un PC de s'enregistrer au
groupe tandis que le protocole IP/Multicast permet d'envoyer un même paquet à plusieurs
utilisateurs.
Le préfixe de l’adresse Multicast débute par FFxx ::/8.(xx signifie valeurs différentes). Les
adresses Multicast se divisent en deux types : (Well known FF00 ::/12 – Transient
FF10 ::/12 ).

FFxx… ID de l’hôte

16bits 112bits

F F O R P Scope
T

4bits x x

Le premier x présente 4 bits, chaque bit a une caractéristique précise.


Le premier bit : O >> signifie réserver.
Le deuxième bit : R>> signifie point d’intersection.
Le troisième bit : P>> signifie Network préfixe.
Le quatrième bit : T>> peut avoir deux valeurs

0 1
Réservé par l’IANA adresse dynamiquement
qui présente le type attribuée. Qui présente
Well known. le type Transient.
Alors le type well known représente les adresses multicast qui identifient des services
bien connus, réservée par IANA.
Et le type Transient présente les adresses multicast dynamiquement créer.
Le deuxième x qui présente 4 bits permet de définir le domaine de diffusion, s’identifie
avec les valeurs suivantes :
0 : Réservé
1 : Interface-portée locale
2 : Portée lien-local
Les principaux 3 : Portée domaine-local
Valeurs sont 4 : Portée Admin-Local
1,2 et 5 5 : Portée Site-Local
8 : Organisation-Périmètre local
E : Portée mondiale
F : Réservé

Exemple d’adresse multicast (les groupes) :

Nœud IPV6 : FF02 ::1 équivalente à l’adresse de broadcast en IPV4.


Routeurs IPV6 : FF02 ::2 tous les routeurs sur un segment.
Messages OSPF : « FF02 ::5, FF02 ::6 »
Serveur DHCP : FF05 ::1 :3
Serveur NTP : FF05 ::101 tous les serveurs Network time protocol sur le réseau local
Etc…

Pour le site local (Solicied Node) :

Une adresse IPv6 Solicited-Node Multicast sert à joindre une interface dont on veut connaître
l’adresse de couche 2. Elle est sous forme de FF01::1 :FFxx :xxxx .

Son principe se divise en deux parties :

Network (ces étapes sont faite par le routeur) :

On spécifie d’abord l’adresse group multicast.


Exemple :
Si l’adresse link local est FE80 ::E8C :D4FF :FEA9:7B00
L’adresse multicast de nœud sollicite est : FF02 ::1 ::FFA9:7B00.
➔ Cette méthode s’appelle Mapping.

Data Link :

On spécifie l’adresse Ethernet mac ipv6 multicast du groupe : 33 :33 :FF :A9:7B :00
Le routeur, après son appartenance au groupe, diffuse un message de type Neighbor
solicitation à toutes les machines pour qu’il s’assure que son adresse link local est unique.
Ou cas ou le routeur ne reçoit aucun message d’erreur, il s’auto attribue son adresse link local
puis il diffuse le paquet (neighbor advertisment) vers tous les machines qui activent le OSPF
vers une destination de well known (FF02 ::1).
L’utilité du mapping est de permettre à la carte réseau Ethernet d'examiner l'adresse
mac de la destination et de déterminer s'il faut transmettre les données encapsulées à un
protocole de couche supérieure pour le traitement.
Les adresses IPV6 Anycast :

Les adresses Anycast est un ensemble d’interface partageant un même préfixe réseau qui
appartient au même groupe. Lorsqu’un paquet est adressé à une adresse Anycast, il ne sera
pas délivré qu’à une seule interface du groupe le plus proche (de coté distance et bande
passante).
Le principe des adresses Anycast est simple, présenter par le schéma suivant :

Supposant que le Serveur0 et le Serveur1 ayant la même adresse global unicast « grâce a
l’Anycast adresse ».
Le routeur0 veut transférer des données vers l’un de ses serveurs.
Le protocole du routing (OSPF v3) contient la notion de la métrique qui permit de préciser la
distance entre la source est ses différentes destinations ayant la même adresse et de vérifier la
bande passante.
Supposant que la distance vers serveur0 est 20, et le serveur1 est 10.
La route vers le serveur0 est devenue optionnelle. Or la route vers le serveur1 est principal, si
la bande passante du serveur1 est pleine, il opte pour la première.

Configuration des interfaces :


Un espace réseau IPv6 est segmenté en sous- réseaux afin de prendre en charge la
conception hiérarchique et logique du réseau.

Exemple réseau :
Bloc d’adresses IPv6/48

Prefixe de routage global ID de sous-réseau ID d’interfaces

48 bits 16 bits 64 bits


Bloc d’adresses : 2001:0DB8:ACAD::/48

2001:0DB8:ACAD:0000::/64

2001:0DB8:ACAD:0001::/64

2001:0DB8:ACAD:0002::/64

2001:0DB8:ACAD:0003::/64

2001:0DB8:ACAD:0004::/64
Incrémenter l’ID de sous- réseau
2001:0DB8:ACAD:0005::/64
pour créer 65 536 sous- réseaux
2001:0DB8:ACAD:0006::/64

2001:0DB8:ACAD:0007::/64

2001:0DB8:ACAD:0008::/64

………………..

2001:0DB8:ACAD:FFFF::/64

Exemple de segmentation :
Attribution de sous-réseaux IPv6

2001:0DB8:ACAD:0001::/64

2001:0DB8:ACAD:0002::/64

2001:0DB8:ACAD:0003::/64

2001:0DB8:ACAD:0004::/64
2001:0DB8:ACAD:0003::/64

2001:0DB8:ACAD:0005::/64
Configuration des interfaces :
On configure les interfaces en exécutant les commandes suivantes :

➔ Configuration du routeur1(R1) :

Router>enable

Router# configure terminal

Router(config)# hostname R1 -

R1(config)# show IPv6 interface brief -> Vérifier si les interfaces sont configurées.

R1(config)# interface FastEthernet0/0

R1(config-if)# IPv6 address 2001:0DB8:ACAD:1::1/64

R1(config-if)# no shutdown

R1(config-if)# exit

R1(config)# interface FastEthernet0/1

R1(config-if)# IPv6 address 2001:0DB8:ACAD:2::1/64

R1(config-if)# no shutdown

R1(config-if) # exit

R1(config)# interface Serial0/0/0

R1(config-if) # IPv6 address 2001:0DB8:ACAD:3::1/64

R1(config-if)# no shutdown

R1(config-if) # exit
Routage statique :

Prenons toujours l’exemple de R1 :

R1# Voir table de routage

R1# conf t
Activer le routage
R1(config)# show IPv6 route

R1# conf t

R1(config)# IPv6 unicast-routing Dans le routage statique, il faut


mentionner @IPv6 destination
R1(config)# IPv6 route 2001:0DB8:ACAD:4::/64 2001:0DB8:ACAD:3::2
et @IPv6 du next-hop.
R1(config)# IPv6 route 2001:0DB8:ACAD:5::/64 2001:0DB8:ACAD:3::2

Routage par défaut :

R1#

R1# conf t

R1(config)# IPv6 unicast-routing

R1(config)# IPv6 route ::/0 2001:0DB8:ACAD:3::2

Configuration du protocole RIPng :


Comparaison entre RIP et RIPng :
RIP-2 --> IPv4. RIPng --> IPv6.
Contrairement au protocole RIP-2, le protocole RIPng est activé sur une interface, mais pas
en mode de configuration du routeur.
En fait, on va plus travailler avec la commande : network address
A la place, on va utiliser les commandes suivantes :
Création d’un processus RIPng :

R1(config)# ipv6 unicast-routing

R1(config)# ipv6 router rip test_RIPNG

R1(config-rtr)# exit

Application du processus aux interfaces :

R1(config)# interface FastEthernet0/0

R1(config-if)# ipv6 rip test_RIPNG enable

R1(config)# interface FastEthernet0/1

R1(config-if)# ipv6 rip test_RIPNG enable

R1(config)# interface Serial0/0/0

R1(config-if)# ipv6 rip test_RIPNG enable

Propager une route par défaut :

R1

Se0/2/0

R3

R2 3001::/64
➢ Une route statique par défaut au moyen de la commande de configuration globale

IPv6 route 0::/0 passerelle

R3# conf t

R3(config)# IPv6 route 2001:0DB8:ACAD::/48 3001::/64

➢ Pour propager une route par défaut, on utilise la commande du mode de


configuration d’interface :

IPv6 rip test_RIPNG default-information originate

R2(config)#

R2(config)# interface Serial 0/2/0

R2(config-if)# IPv6 rip test_RIPNG default-information originate

Vous aimerez peut-être aussi