Inclusion de l’identifiant de fragmentation et des éléments d’en-tête d’extension IPv6 dans les modèles IPFIX sur les routeurs MX Series
À partir de Junos OS version 14.2, les attributs suivants peuvent être contenus dans les modèles de flux IPFIX qui sont envoyés au collecteur de flux :
identification des fragments (ID de l’élément 54)
ExtensionHeaders ipv6 (id d’élément 64)
Un flux peut recevoir de nombreux fragments dans un intervalle donné. Pour un ensemble donné de fragments d’un paquet, il existe un fragment unique Identification. Par conséquent, plusieurs de ces valeurs peuvent être reçues dans un intervalle donné. RFC 5102 pour le fragment L’identification 54 n’indique pas clairement l’identification des fragments à expédier dans les informations de l’enregistrement de flux (premier fragment observé après l’envoi des informations de l’enregistrement du flux ou dernier observé avant l’expédition de l’information de l’enregistrement de flux). Toutefois, le dernier fragment observé L’identification d’un flux donné est également transmise au collecteur de flux.
Contrairement à IPv4, les routeurs IPv6 ne fragmentent jamais les paquets IPv6. Les paquets dépassant la taille de l'unité de transmission maximale de la liaison de destination sont supprimés et cette condition est signalée par un message Packet Too Big ICMPv6 de type 2 au nœud d'origine, de même que la méthode IPv4 lorsque le bit Don't Fragment (DF) est défini.
L’élément fragmentIdentification est pris en charge pour les modèles de flux IPv4 et IPv6. L’élément d’identification du fragment est ajouté dans le modèle d’enregistrement. L’attribut d’identification du fragment est de 32 bits pour IPv4 et IPv6. Pour IPv6, ce champ est présent dans l’en-tête d’extension du fragment et l’identifiant de fragment est mis à jour comme 0 s’il n’y a pas d’en-tête d’extension fragment.
Les ports font partie de la clé utilisée pour identifier un flux et les paquets suivants après le premier paquet fragmenté ne disposent pas des informations de port. Pour un paquet fragmenté destiné au routeur, les paquets qui sont divisés supposent des flux différents (le premier et les paquets suivants). De plus, comme le port est désigné comme zéro pour les paquets fragmentés, tout le trafic destiné à une destination particulière en provenance d’une source particulière peut être signalé comme le même flux, bien qu’il n’existe aucune association entre eux en termes de ports de destination. L’ID de fragment ne fait pas partie de la clé. Bien que l’attribut d’ID de fragment soit unique entre chaque source et chaque destination, ils peuvent se retrouver comme les mêmes flux dans le routeur intermédiaire.
Les ports étant utilisés dans la clé pour la recherche de flux, les paquets fragmentés d’un flux sont comptabilisés dans deux flux différents. Le premier paquet fragmenté, qui contient les informations de port dans son paquet, fait partie d’un seul flux. Les paquets suivants après les premiers fragments, qui ne contiennent pas les informations de port, sont comptabilisés sous un flux différent. Le deuxième flux ne contenant pas les informations de port permettant de s’identifier, il consolide tous les autres flux de trafic avec les mêmes préfixes d’adresse IP source et de destination (inclut également les paquets non-premiers fragmentés envoyés sur différents ports).
Les nœuds ou points de terminaison de destination dans IPv6 doivent effectuer la détection de MTU de chemin pour déterminer la taille maximale des paquets à envoyer, et le protocole de couche supérieure doit limiter la taille de la charge utile. Toutefois, si le protocole de couche supérieure n’est pas en mesure de le faire, l’hôte d’envoi peut utiliser l’en-tête d’extension Fragment pour effectuer la fragmentation de bout en bout des paquets IPv6. Toute couche de liaison de données transportant des données IPv6 doit pouvoir fournir un paquet IP contenant 1 280 octets sans qu’il soit nécessaire d’invoquer une fragmentation de bout en bout au niveau de la couche IP.
L’élément d’information ipv6ExtensionHeaders est un ensemble de champs 32 bits. Chaque bit de cet ensemble représente un en-tête d’extension IPv6. Un bit d’en-tête d’extension est défini si cet en-tête d’extension particulier est observé pour le flux. Le bit est défini sur 1 si un paquet observé de ce flux contient l’en-tête d’extension IPv6 correspondant. Dans le cas contraire, si aucun paquet observé de ce flux ne contenait l’en-tête d’extension IPv6 respectif, la valeur du bit correspondant est 0. L’élément ipv6ExtensionHeaders est ajouté au modèle d’enregistrement. Le nombre de flux créés dépend du nombre de paquets IPv6 qui incluent l’attribut d’en-tête IPv6 extender.
Pour permettre l’inclusion d’ID d’élément, 54, fragmentIdentification et ID d’élément, 64, ipv6ExtensionHeaders dans les modèles de flux IPFIX qui sont exportés vers le collecteur de flux, incluez l’instruction ipv6-extended-attrib
au niveau de la [edit chassis fpc slot-number inline- services flow-table-size]
hiérarchie. La collecte des ID de fragmentation IP4 s’effectue automatiquement sans avoir à configurer ce paramètre explicitement.
[edit chassis] fpc slot-number { inline-services { flow-table-size { ipv6-extended-attrib; } } }
À partir des versions 17.3R4, 17.4R3, 18.1R4, 18.2R2, 18.3R2 et 18.4R1, les valeurs des options IPv6 et leurs fonctions contenues dans les paquets IPv6 sont décrites dans le tableau 1.
Valeur bit |
IPv6 Option |
Code d’en-tête suivant |
Description |
---|---|---|---|
0 |
DST |
60 |
En-tête de l’option de destination |
1 |
HOP |
0 |
En-tête d’option saut par saut |
2 |
Res |
Sans objet |
Réservés au |
3 |
UNK |
Sans objet |
En-tête de couche 4 inconnu (compressé, chiffré, non pris en charge) |
4 |
FRA0 |
44 |
En-tête de fragment – premier fragment |
5 |
RH |
43 |
En-tête de routage |
6 |
FRA1 |
44 |
En-tête de fragmentation – pas le premier fragment |
7 |
Res |
Sans objet |
Réservés au |
8 à 11 |
Res |
Sans objet |
Réservés au |
12 |
FOULE |
135 |
Mobilité IPv6 (RFC3775) |
13 |
ESP |
50 |
Charge utile de sécurité chiffrée |
14 |
AH |
51 |
En-tête d’authentification |
15 |
PAYER |
108 |
En-tête de compression de charge utile |
Entre 16 et 31 |
Res |
Sans objet |
Réservés au |
Pour les versions Junos OS antérieures à 17.3R4, 17.4R3, 18.1R4, 18.2R2 et 18.3R2, les valeurs des options IPv6 et de leurs fonctions contenues dans les paquets IPv6 sont décrites dans le tableau 2.
Valeur bit |
IPv6 Option |
Code d’en-tête suivant |
Description |
---|---|---|---|
0 |
Res |
Sans objet |
Réservés au |
1 |
FRA1 |
44 |
En-tête de fragmentation |
2 |
RH |
43 |
En-tête de routage |
3 |
FRA0 |
44 |
En-tête du fragment – premier fragment |
4 |
UNK |
Sans objet |
En-tête de couche 4 inconnu (compressé, chiffré, non pris en charge) |
5 |
Res |
Sans objet |
Réservés au |
6 |
HOP |
0 |
En-tête d’option saut par saut |
7 |
DST |
60 |
En-tête de l’option de destination |
8 |
PAYER |
108 |
En-tête de compression de charge utile |
9 |
AH |
51 |
En-tête d’authentification |
10 |
ESP |
50 |
Charge utile de sécurité chiffrée |
Entre 11 et 31 |
Res |
Sans objet |
Réservés au |