Aller au contenu principal

5. Questions de taille

5. Questions de taille (Size Issues)

5.1 Identifiants de contexte (Context Identifiers)

Les identifiants de contexte peuvent avoir une longueur de 8 ou 16 bits. Leur taille n'a aucune incidence sur la recherche du contexte. Un CID de 8 bits avec la valeur 2 et un CID de 16 bits avec la valeur 2 sont équivalents.

Les espaces de CID TCP et non-TCP sont séparés, de sorte qu'un CID TCP et un CID non-TCP n'identifient jamais le même contexte, même s'ils ont la même valeur. Cela double l'espace de CID disponible lors de l'utilisation de CID avec le même nombre de bits. Il est toujours possible de déterminer si un en-tête complet ou compressé est destiné à un paquet TCP ou non-TCP, donc aucune confusion ne peut survenir.

Les en-têtes compressés non-TCP utilisent un bit dans le deuxième octet de l'en-tête compressé pour encoder la taille du CID. Un CID de 8 bits permet une taille minimale d'en-tête compressé de 2 octets pour les paquets non-TCP, le CID utilisant le premier octet, et le bit de taille et la valeur de génération de 6 bits tenant dans le deuxième octet.

Pour TCP, la seule taille de CID disponible est 8 bits, comme décrit dans [RFC-1144]. 8 bits peuvent être suffisants car les connexions TCP sont toujours point à point.

La taille de CID de 16 bits peut ne pas être nécessaire pour les liaisons point à point ; elle est destinée aux liaisons multi-accès, où un espace de CID plus grand peut être nécessaire pour sélectionner efficacement les CID.

La principale difficulté avec les liaisons multi-accès est que plusieurs compresseurs partagent l'espace de CID du décompresseur. Les CID ne peuvent plus être sélectionnés indépendamment par les compresseurs, car des conflits peuvent survenir. Ce problème peut être résolu en permettant au décompresseur d'avoir des espaces de CID séparés pour chaque compresseur. Avoir des espaces de CID séparés exige que le décompresseur puisse identifier quel compresseur a envoyé un paquet compressé, peut-être en utilisant les informations de couche liaison pour déterminer qui a envoyé la trame de couche liaison. Si ces informations ne sont pas disponibles, tous les compresseurs sur une liaison multi-accès peuvent être énumérés, automatiquement ou autrement, et leur numéro fourni comme partie du CID. Cette dernière approche nécessite un grand espace de CID.

5.2 Taille du contexte (Size of the context)

La taille du contexte DEVRAIT être limitée pour simplifier l'implémentation du compresseur et du décompresseur, et pour imposer des limites à leur mémoire. Limiter la taille du contexte prévient également les attaques par déni de service en envoyant des paquets avec de nombreux en-têtes d'extension.

La taille du contexte est déterminée par les sous-en-têtes dans l'en-tête complet. Seuls les sous-en-têtes jusqu'à un certain sous-en-tête inclus sont stockés. Cela est indiqué par un bit dans le type de paquet de couche liaison, qui indique combien de l'en-tête complet est stocké. Si certaines parties finales du paquet sont omises, elles ne sont pas stockées dans le contexte.

Ce bit dans le type de paquet de couche liaison, combiné aux valeurs des champs d'en-tête suivant, détermine de manière unique le format de l'en-tête compressé. Par conséquent, si les parties finales sont omises, la couche liaison perdra les informations sur la longueur des parties finales, et les parties finales ne peuvent donc pas contenir de rembourrage.

Des informations plus détaillées se trouvent dans la section 13.