Accueil | MEET | PFEG | IGC | STG | BTS IG | BTS SIO | Cours | Didactique | Exos | Glossaire | Labo | Sujets | Outils Imprimer cette page



Rechercher
 
 
 
 
 
 
 
 
 
 
 
 
 

ÉLÉMENTS DE CORRIGÉ

Partie 1

1.1-

Passerelle R1 :

Adresse réseau

Masque réseau

Adresse passerelle

Interface

Metrique

0.0.0.0

0.0.0.0

200.100.40.254

200.100.40.1

1

127.0.0.0

255.0.0.0

127.0.0.1

127.0.0.1

1

200.100.40.0

255.255.255.0

200.100.40.1

200.100.40.1

1

200.100.40.1

255.255.255.255

127.0.0.1

127.0.0.1

1

200.100.40.255

255.255.255.255

200.100.40.1

200.100.40.1

1

200.100.50.0

255.255.255.0

200.100.50.1

200.100.50.1

1

200.100.50.1

255.255.255.255

127.0.0.1

127.0.0.1

1

200.100.50.255

255.255.255.255

200.100.50.1

200.100.50.1

1

200.100.60.0

255.255.255.0

200.100.40.2

200.100.40.1

2

La route par défaut est un cas particulier, sa métrique est de 1.

Passerelle R2

Adresse réseau

Masque réseau

Adresse passerelle

Interface

Metrique

0.0.0.0

0.0.0.0

200.100.40.254

200.100.40.2

1

127.0.0.0

255.0.0.0

127.0.0.1

127.0.0.1

1

200.100.40.0

255.255.255.0

200.100.40.2

200.100.40.2

1

200.100.40.2

255.255.255.255

127.0.0.1

127.0.0.1

1

200.100.40.255

255.255.255.255

200.100.40.2

200.100.40.2

1

200.100.60.0

255.255.255.0

200.100.60.1

200.100.60.1

1

200.100.60.1

255.255.255.255

127.0.0.1

127.0.0.1

1

200.100.60.255

255.255.255.255

200.100.60.1

200.100.60.1

1

Remarque : R2 ne sait pas aller au réseau 200.100.50.0

1.2-

cor.jpg (34312 octets)

 

Adresse réseau

Masque réseau

Adresse passerelle

Interface

Metrique

127.0.0.0

255.0.0.0

127.0.0.1

127.0.0.1

1

200.100.30.0

255.255.255.0

200.100.50.2

200.100.50.1

2

200.100.40.0

255.255.255.0

200.100.40.1

200.100.40.1

1

200.100.40.1

255.255.255.255

127.0.0.1

127.0.0.1

1

200.100.40.255

255.255.255.255

200.100.40.1

200.100.40.1

1

200.100.50.0

255.255.255.0

200.100.50.1

200.100.50.1

1

200.100.50.1

255.255.255.255

127.0.0.1

127.0.0.1

1

200.100.50.255

255.255.255.255

200.100.50.1

200.100.50.1

1

200.100.60.0

255.255.255.0

200.100.40.2

200.100.40.1

2

 

1.3-

Message RIP diffusé par R1

Adresse réseau

Métrique

200.100.30.0

2

200.100.40.0

1

200.100.50.0

1

200.100.60.0

2

1.4-

Passerelle R2

Adresse réseau

Masque réseau

Adresse passerelle

Interface

Metrique

0.0.0.0

0.0.0.0

200.100.40.254

200.100.40.2

1

127.0.0.0

255.0.0.0

127.0.0.1

127.0.0.1

1

200.100.30.0

255.255.255.0

200.100.40.1

200.100.40.2

3

200.100.40.0

255.255.255.0

200.100.40.2

200.100.40.2

1

200.100.40.2

255.255.255.255

127.0.0.1

127.0.0.1

1

200.100.40.255

255.255.255.255

200.100.40.2

200.100.40.2

1

200.100.50.0

255.255.255.0

200.100.40.1

200.100.40.2

2

200.100.60.0

255.255.255.0

200.100.60.1

200.100.60.1

1

200.100.60.1

255.255.255.255

127.0.0.1

127.0.0.1

1

200.100.60.255

255.255.255.255

200.100.60.1

200.100.60.1

1

 

Partie 2

2.1-

Type octet : intervalle (1..255)

structure adresse_IP

octet1 : octet

octet2 : octet

octet3 : octet

octet4 : octet

fin structure

2.2- Datagramme IP transmis de R3 à R1

Elément de Tent_ip_util

Valeur

Commentaires

TTL

256

Valeur par défaut sous NT

Adr_ip_emt

200.100.50.2

 

Adr_ip_dest

200.100.50.1

 

Protrans

17

 

2.3-

R2 reçoit un paquet dont l'adresse IP de destinataire est 200.100.40.2 donc l'exécution de la fonction TEST_ADR_RES renvoie VRAI car le routage n'est pas nécessaire.

La procédure TRAIT_PAQ permet d'analyser le protocole de transport, ici 17, ce qui permet l'exécution de la procédure TRAIT_UDP puis TRAIT_RIP car il s'agit d'un message RIP transporté par le datagramme UDP.

PARTIE 3

Fonction TEST_ADR_DEST (entrée adr : adresse_IP) : booléen

/* pour déterminer si le paquet est adressé à l'ordinateur, nous regardons si l'adresse IP passée en paramètre correspond à une des adresses des interfaces du routeur */

i : entier

trouve : booléen

Début

i = 0 /* on suppose que le tableau tabroutes est indicé à partir de 0 */

trouve = FAUX

tantque i < nbentrées et non trouve

si adr = tabrout[i].interface

trouve = VRAI

finsi

fin pour

retourner (trouve)

Fin

PARTIE 4

4.1- fonction de calcul d'adresse réseau

Fonction EXTRACT_ADR_RES (entrée adr_ip : adresse_IP, netmask : adresse_IP) : adresse_IP

Début

retourner (decIP(et(binIP(adr_ip),binIP(netmask))))

Fin

4.2- Procedure ROUTAGE

Procedure ROUTAGE (entrée paquet : Tent_ip_util)

i : entier

trouve : booléen

DEBUT

si paquet.ttl = 0 /* le paquet a atteint la limite de sa durée de vie */

alors rejet(paquet)

sinon

i = 0 /* on suppose que la table de routage est indicée à partir de 0 */

trouve = FAUX

paquet.ttl = paquet.ttl - 1 /* décrémentation du temps de vie */

/* Choix du chemin */

/* Recherche d'une entrée correspondant à l'adresse IP du réseau à atteindre */

tantque i < nbentrées et non trouve

si tabrout[i].network = paquet.adr_ip_dest OU

tabrout[i].network = EXTRACT_ADR_RES (paquet.adr_ip_dest,tabrout[i].netmask)

alors

Choix interface de routage /* Code décrit ci-après */

trouve = VRAI

finsi

i = i + 1

fintantque

/* La recherche d'une entrée correspondant à l'adresse IP a échoué.

Recherche d'une route par défaut dans la table de routage */

si non trouve

alors

i = 0

tantque i < nbentrées et non trouve

si tabrout[i].network = 0

alors

Choix interface de routage

trouve = VRAI

finsi

i = i + 1

fintantque

finsi

si non trouve /* Il n'y a pas de route par défaut définie */

alors icmp(paquet) /* génération d'un message ICMP en cas de problème */

finsi

FIN ROUTAGE

Choix interface de routage

si tabrout[i].metric = 1

alors

envoi(paquet,tabrout[i].interface)

sinon

si tabrout[i].metric <> 16

alors

envoi_gateway(paquet,tabrout[i].interface,tabrout[i].gateway)

sinon /* le chemin n'est pas valide */

icmp(paquet) /* génération d'un message ICMP en cas de problème */

finsi

finsi

Fin Choix interface de routage

 

4.3-

En cas de bouclage entre deux routeurs, notre procédure fonctionnera car le TTL est décrémenté à chaque traitement du paquet et le paquet est rejeté quand le TTL est égal à zéro.

4.4-

Un exemple trivial de bouclage peut être celui de deux routeurs s'adressant mutuellement par défaut.

PARTIE 5

5.1-

Procédure MAJRIP (entrée paquet : Tent_ip_util, chemin : Tmsg_rip)

/* la première chose que fait notre procédure est d'incrémenter la variable metric, car toutes les adresses fournies par un autre routeur nécessitent un saut de plus pour les atteindre. */

i : entier

trouve : booléen

Début

i = 0 /* on suppose la table de routage indicée à partir de 0 */

chemin.metric = chemin.metric + 1

tantque i < nbentrées et non trouve

si tabrout[i].network = chemin.network

alors

si chemin.metric = 16 ET tabrout[i].gateway = paquet.adr_ip_emt

alors /* invalidation de l'entrée */

suprout (tabrout,i)

sinon

si (tabrout[i].metric > chemin.metric)

alors majtabrout(tabrout,i,chemin,paquet.adr_ip_emt)

/* La table est mise à jour avec la nouvelle route, la passerelle actuelle sera

remplacée par l'adresse du routeur émetteur du message RIP. Si la métrique

est 16, il faut invalider la route */

finsi

finsi

trouve = VRAI

finsi

i = i + 1

fintantque

si non trouve /* On suppose que la table est correctement dimensionnée, donc pas de test de

dépassement d'indice */

alors /* la route n'existe pas, il faut la créer */

majtabrout(tabrout,i,chemin,paquet.adr_ip_emt)

nbentrées = nbentrées + 1 /* Le nombre d'entrées dans la table est incrémenté */

finsi

Fin MAJRIP

5.2-

La route la plus courte n'est pas forcément la plus rapide car elle peut emprunter des lignes à bas débit. Pour éviter cet inconvénient certaines versions de RIP incrémente artificiellement le vecteur de distance de ces liaisons.

5.3-

Il n'y aurait pas de messages RIP et la procédure ROUTAGE devrait être réécrite, on traiterait uniquement deux cas : le cas où le paquet est destiné à l'ordinateur et le cas où il faut l'envoyer à la passerelle par défaut.

   

_____________________________________________  
© - Réseau C E R T A 

Ministère de l'Éducation Nationale