Aller au contenu principal

Exercices de la semaine 10

Best effort delivery

Expliquez ce que signifie le concept du service au meilleur effort ou best effort delivery pour IP.

Fournissez un exemple de décision d’ingénierie en lien avec IP suivant la philosophie du best effort delivery.

Réponse

Le best effort delivery signifie que les paquets seront acheminés à la bonne destination si possible, mais sans aucune garantie. Si une situation malencontreuse survient lors de l’acheminement d’un paquet, un routeur peut tout simplement détruire le paquet, ce qui fournit une échappatoire au routeur lorsque sa mémoire d’entrée ou de sortie est pleine.

Cette approche reflète le principe bout-en-bout (end-to-end) qui a largement influencé le développement de TCP/IP: Les fonctions tels qu'offrir une livraison paquets dans l'ordre et de retransmettre les paquets manquants sont implantés en périphérie (dans les postes) et non dans le réseau.

Maintien de l'ordre des messages avec IP

Vous développez une application internet nécessitant l’acheminement de datagrammes dans un certain ordre. Pouvez-vous compter sur IP pour effectuer ce travail?

Réponse

Non, IP ne fournit aucune garantie quant à l’ordre d’arrivée des paquets. Cela est dû au fait qu’IP est un service au meilleur effort et qu’il ne maintient pas de connexion.

Cependant, certains protocoles de plus haut niveau dans la pile internet fournissent cette garantie.

Somme de contrôle IP

Pourquoi implémenter une somme de contrôle au niveau d’IP? Les protocoles de transport n’implémentent-ils pas déjà une somme de contrôle lorsque nécessaire?

Réponse

Il est d’abord important de noter que la somme de contrôle IP ne couvre que l’entête. La somme de contrôle IP ne couvre donc pas les mêmes données que celle des protocoles de transport!

Cependant, la question reste quant à l’utilité d’une somme de contrôle au niveau d’IP. De plus, puisque le champ TTL est modifié à chaque saut, la somme de contrôle est recalculée à chaque saut.

Aujourd’hui, les protocoles comme Ethernet et Wifi offrent une détection d’erreur efficace à la couche liaison. Combiné avec une somme de contrôle à la couche transport, une somme de contrôle à la couche réseau n’ajoute pas de protection significative. En fait, la somme de contrôle n’existe plus dans l’entête IPv6.

Dernière version d'IP

En théorie, quel serait le numéro de la dernière version d’IP possible en conservant le format d’entête courant. Supposez que les versions seront toujours nommées en ordre croissant.

Réponse

Puisque 4 bits sont alloués au champ version pour les entêtes IPv4 et IPv6, la version maximale d’IP serait IPv15.1

Trames plus grandes que le MTU

Que se passe-t-il lorsqu’un datagramme IPv4 arrive à un routeur qui doit envoyer la trame correspondante sur un lien ne supportant pas la taille de la trame? Que se passe-t-il pour un datagramme IPv6?

Réponse

Le datagramme sera fragmenté. Des trames seront créées permettant de respecter le MTU du lien. Chaque fragment sera identifié et se comportera comme un datagramme à part entière jusqu’à son arrivée à destination. Les fragments ne seront assemblés qu’une fois arrivé à destination.

Dans le cas d’IPv6, le datagramme sera abandonné par le routeur. Le routeur produira un message d’erreur délivré par le protocole ICMP à la source du datagramme. Ce sera alors à la source (et non au routeur) de fragmenter le datagramme en plusieurs plus petits fragments respectant le MTU ayant causé la perte du datagramme.

Taille des trames

Un datagramme IPv4 de 1500 octets arrive à l’entrée d’un lien ayant un MTU de 1500 octets. Quelle sera la taille de la trame Ethernet envoyée sur le lien? Le datagramme sera-t-il fragmenté?

Réponse

La trame Ethernet comportera 1518 octets puisque l’entête Ethernet comporte 18 octets (en comptant le CRC à la fin de la trame).

Non, le datagramme ne sera pas fragmenté. Le MTU est la taille maximale du contenu (payload) d’une trame Ethernet, et non la taille de la trame elle-même. Le datagramme respecte le MTU Ethernet pour ne pas être fragmenté.

Fragmentation

Un datagramme IPv4 de 1500 octets est envoyé du poste A au poste B.

Topologie à utiliser pour les exercices sur la fragmentation

Topologie à utiliser pour les exercices sur la fragmentation

Le datagramme est-il fragmenté? Si oui, à quel endroit est-il fragmenté? À quel endroit est-il réassemblé?

Réponse

Oui, le datagramme sera fragmenté. Il sera fragmenté par le routeur R22, puis réassemblé par le poste B. Les routeurs ne réassemblent jamais de datagrammes fragmentés.

Fragmentation (suite)

Un datagramme IPv6 de 1500 octets est envoyé du poste A au poste B.

Le datagramme est-il fragmenté? Si oui, à quel endroit est-il fragmenté? À quel endroit est-il réassemblé?

Réponse

Le routeur B envoie un message d’erreur au poste A indiquant la limite du MTU de 1400 octets. Le poste A pourra diminuer la taille du datagramme selon le message d’erreur reçu et retransmettre.

Champ protocol de l'entête IPv4

À quoi sert le champ protocol de l’entête IPv4?

Réponse

Le champ protocol sert à identifier le protocole des données contenues dans le datagramme. Cette valeur est utilisée pour démultiplexer les datagrammes en fonction du protocole de transport (ou autre) transporté par IP. Dans l’entête IPv6, le champ Next Header rempli ce rôle.

Introduction au routage

Un datagramme a pour adresse destination 132.203.189.82. Le datagramme entre dans le routeur R1 par l’interface eth0. La table de routage du routeur R1 est implémentée comme suit.

PréfixeInterface
0.0.0.0/32eth0
132.203.189.96/28eth1
132.203.189.64/26eth2
132.203.189.0/24eth3

Par quel interface le datagramme est-il acheminé?

Réponse

Le datagramme sera acheminé vers l’interface eth2.

Les préfixes associés aux interfaces eth0 et eth3 correspondent bien à l’adresse destination du datagramme.

Cependant, ces préfixes sont moins spécifiques que celui de l'interface eth2. Le routeur choisi le chemin où le match le plus long du préfixe est obtenu.

Bien que 132.203.189.96/28 soit plus spécifique que 132.203.189.64/26, le préfixe associé à l’interface eth1 ne correspond pas à l’adresse destination. Vous pouvez comparer la représentation en binaire de 82 et 96 pour vous en convaincre.

132.203.189.64/26 est ainsi le préfixe le plus spécifique qui correspond avec l’adresse destination du datagramme.

Introduction au routage (suite)

Soit la table de routage suivante. Vers quelle interface sera dirigé un datagramme dont la destination est:

  • 132.203.33.144?
  • 132.203.34.1?
  • 132.203.36.11?
  • 255.255.255.255?
PréfixeInterface
132.203.0.0/16eth0
132.203.32.0/22eth1
132.203.32.0/24eth2
132.203.33.0/25eth3
defaulteth4
Réponse

  • 132.203.33.144 sortira sur l'interface eth1
  • 132.203.34.1 sortira sur l'interface eth1
  • 132.203.36.11 sortira sur l'interface eth0
  • 255.255.255.255 est une adresse de broadcast limitée au sous-réseau. Il ne sera pas acheminé par le routeur IP.

Boucles dans un réseau IP

STP (Spanning Tree Protocol) permet d’éviter les boucles dans un réseau Ethernet. Existe-t-il un problème similaire pour IP?

Réponse

Non, le protocole IP n’a pas de problème équivalent. IP implémente un champ TTL (ou Hop Limit dans le cas d’IPv6). Un paquet ne peut donc pas boucler bien longtemps avant d’être détruit par un routeur.

Rôle des plans sur les routeurs

Le routeur est représenté par deux plans: le plan de commutation et le plan de contrôle. Quelles sont les fonctionnalités respectives de chacun de ces plans?

Réponse

Le plan de contrôle calcule la table de routage. C’est ainsi dans le plan de contrôle que les algorithmes de routage sont implémentés. Le plan de contrôle contient les services plus lents et typiquement calculés à l’avance par le routeur.

Le plan de commutation contient la matrice de commutation. Il contient aussi la table d’acheminement (programmée dans la mémoire des interfaces d’entrée) calculée par le plan de contrôle. Le rôle du plan de commutation est d’utiliser l’information du plan de contrôle afin d’acheminer des datagrammes le plus rapidement possible.

Matrice de commutation

Quel est le rôle de la matrice de commutation dans un routeur? Quelles sont les conséquences d’une matrice de commutation trop lente pour la quantité de datagrammes à traiter?

Réponse

La matrice de commutation achemine les datagrammes à l’entrée du routeur vers leur interface de sortie correspondant.

Lorsque la matrice de commutation est trop lente, des datagrammes s’accumulent dans la mémoire d’entrée du routeur. Si la mémoire d’entrée du routeur est trop pleine, celui-ci pourrait décider de supprimer certains datagrammes.

Architecture d'un routeur

Remplissez le diagramme suivant en répondant aux questions ci-dessous.

Diagramme d'architecture d'un routeur.

Diagramme d'architecture d'un routeur.
  • À quel endroit trouve-t-on la table d’acheminement?
  • À quel endroit se retrouvent les processus de protocole de routage?
  • À quel endroit retrouve-t-on la prise de décision pour l’acheminement du datagramme IP?
  • Expliquer à quel endroit un datagramme IP est sujet à un délai de mise en file d’attente.
  • À quel endroit un datagramme IP peut-il être supprimé, et expliquez la cause.
Réponse

  • Dans les ports (interfaces) d'entrée
  • Dans le processeur de routage (plan de routage)
  • Dans les ports (interfaces) d'entrée
  • Un délai de mise en file d'attente se produit dans l'interface de sortie, et survient lorsque plusieurs datagrammes en entrée sont dirigés vers une même interface de sortie. Une mise en file d'attente peut survenir sur l'interface d'entrée lorsque un bloquage en tête de ligne survient (Head of line blocking). Ce bloquage survient lorsque des datagrammes sont en attente de la matrice de commutation.
  • Un datagramme peut être supprimé à l'interface de sortie lorsque survient un dépassement de la mémoire disponible.

Notes de bas de page

  1. https://www.iana.org/assignments/version-numbers/version-numbers.xhtml

  2. Plus de détail sur la fragmentation sera couvert au chapitre 10: UDP.