Aller au contenu principal

12. Champs d'en-tête IP (IP Header Fields)

Cette section décrit comment le serveur définit divers champs dans l'en-tête IP lors du relais entre le client et le pair, ou l'inverse. Les descriptions de cette section s'appliquent à (a) lorsque le serveur envoie un datagramme UDP à un pair, ou (b) lorsque le serveur envoie une indication Data ou un message ChannelData au client sur un transport UDP. Les descriptions de cette section ne s'appliquent pas aux messages TURN envoyés du serveur au client sur un transport TCP ou TLS.

Les descriptions ci-dessous sont divisées en deux comportements : un comportement préféré et un comportement alternatif. Un serveur DEVRAIT (SHOULD) implémenter le comportement préféré. Cependant, si cela n'est pas possible pour un champ particulier, alors il DEVRAIT (SHOULD) implémenter le comportement alternatif.

Champ Durée de Vie (Time to Live, TTL)

  • Comportement préféré : Si la valeur entrante est 0, rejeter le paquet entrant. Sinon, définir la Durée de Vie/Nombre de Sauts (Time to Live/Hop Count) sortante à une valeur inférieure à la valeur entrante.

  • Comportement alternatif : Définir la valeur sortante à la valeur par défaut pour les paquets sortants.

Champ Point de Code des Services Différenciés (Differentiated Services Code Point, DSCP) [RFC2474]

  • Comportement préféré : Définir la valeur sortante à la valeur entrante, sauf si le serveur inclut un Classificateur et Marqueur de Services Différenciés (Differentiated Services Classifier and Marker) [RFC2474].

  • Comportement alternatif : Définir la valeur sortante à une valeur fixe, qui par défaut est Meilleur Effort (Best Effort), mais peut être configurable.

  • Dans les deux cas, si le serveur est immédiatement adjacent à un Classificateur et Marqueur de Services Différenciés, alors dans la direction vers le classificateur, le DSCP PEUT (MAY) être défini à n'importe quelle valeur arbitraire.

Champ Notification Explicite de Congestion (Explicit Congestion Notification, ECN) [RFC3168]

  • Comportement préféré : Définir la valeur sortante à la valeur entrante, sauf si le serveur effectue une Gestion Active de File d'Attente (Active Queue Management), auquel cas le champ ECN entrant est défini sur ECT(1) (=0b01) ou ECT(0) (=0b10) et le serveur souhaite indiquer qu'une congestion a été expérimentée, auquel cas définir la valeur sortante sur CE (=0b11).

  • Comportement alternatif : Définir la valeur sortante sur Not-ECT (=0b00).

Champs de Fragmentation IPv4

  • Comportement préféré : Lorsque le serveur envoie un paquet à un pair en réponse à une indication Send qui contient l'attribut DONT-FRAGMENT, définir le bit DF dans l'en-tête IP sortant à 1. Dans tous les autres cas lors de l'envoi d'un paquet sortant contenant des données d'application (par exemple, indication Data, message ChannelData, ou une indication Send sans l'attribut DONT-FRAGMENT), copier le bit DF du bit DF du paquet entrant qui contenait les données d'application.

    Définir les autres champs de fragmentation (Identification, More Fragments, Fragment Offset) comme approprié pour un paquet envoyé par le serveur.

  • Comportement alternatif : Comme dans Préféré, sauf toujours supposer que le bit DF entrant est 0.

  • Dans les deux comportements Préféré et Alternatif, le paquet résultant peut être trop grand pour le lien sortant. Si c'est le cas, alors les règles de fragmentation normales s'appliquent [RFC1122].

Options IPv4

  • Comportement préféré : Le paquet sortant est envoyé sans aucune option IPv4.

  • Comportement alternatif : Identique au Préféré.