Aller au contenu principal

2. Le champ ID IPv4

Le champ d'identification IPv4 (ID) a été initialement conçu pour prendre en charge la fragmentation et le réassemblage des datagrammes. Selon RFC 791, le champ ID doit être unique dans la durée de vie maximale des segments (MSL) pour les datagrammes avec la même adresse source, adresse de destination et protocole. Cependant, avec l'augmentation des vitesses réseau et l'évolution des besoins des applications, les implémentations actuelles se sont écartées de la spécification d'origine.


2.1 IPv4 ID pour la fragmentation

Le champ ID IPv4 est principalement utilisé pour prendre en charge la fragmentation et le réassemblage des datagrammes. Lorsqu'un datagramme doit traverser une liaison avec une unité de transmission maximale (MTU) plus petite, le routeur intermédiaire peut fragmenter le datagramme en plusieurs fragments plus petits. Chaque fragment contient la même valeur d'ID afin que le nœud de destination puisse réassembler ces fragments en datagramme d'origine.

Dans les environnements à haute vitesse, le champ ID de 16 bits peut s'épuiser rapidement. Par exemple, sur une liaison 10 Gbps avec une taille moyenne de datagramme de 1500 octets, environ 833 333 datagrammes peuvent être transmis par seconde, épuisant l'espace ID de 16 bits en environ 0,079 seconde.

Pour résoudre ce problème, ce document introduit les concepts de datagrammes atomiques et datagrammes non atomiques:

  • Datagrammes atomiques: Datagrammes avec le drapeau DF défini. Ils ne sont pas fragmentés par les routeurs intermédiaires.
  • Datagrammes non atomiques: Datagrammes sans le drapeau DF défini. Ils peuvent être fragmentés par les routeurs intermédiaires.

2.2 IPv4 ID pour la détection des doublons

En plus de la fragmentation, le champ ID IPv4 peut être utilisé pour détecter les datagrammes en double. Cependant, dans les environnements à haute vitesse, le champ ID peut se répéter rapidement, le rendant peu fiable pour la détection des doublons.

RFC 1122 indique que les protocoles de transport devraient utiliser leurs propres mécanismes pour détecter les datagrammes en double. Ce document réaffirme que le champ ID IPv4 est principalement utilisé pour la fragmentation et le réassemblage, pas pour la détection des doublons.


2.3 Contexte des problèmes de réassemblage IPv4 ID

Dans les environnements à haute vitesse, la limitation de 16 bits du champ ID peut entraîner:

  1. Épuisement du champ ID: L'espace ID peut s'épuiser rapidement
  2. Erreurs de réassemblage: Des fragments de différents datagrammes peuvent être incorrectement combinés
  3. Dégradation des performances: Limitation du débit pour éviter l'épuisement de l'ID

RFC 4963 discute en détail de ces problèmes et note que la spécification actuelle du champ ID IPv4 n'est plus applicable dans les environnements à haute vitesse.


Navigation: