Aller au contenu principal

3.13. Traffic Selector Payload

3.13. Traffic Selector Payload

Le Traffic Selector payload, désigné TS dans le présent document, permet aux pairs d'identifier des flux de paquets pour traitement par les services de sécurité IPsec. Le Traffic Selector payload est constitué de l'en-tête générique de charge utile IKE suivi de Traffic Selectors individuels comme suit :

                    1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload |C| RESERVED | Payload Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of TSs | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ <Traffic Selectors> ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 19 : Format du Traffic Selector payload

  • Number of TSs (1 octet) - Nombre de Traffic Selectors fournis.

  • RESERVED - Ce champ DOIT être envoyé à zéro et DOIT être ignoré à la réception.

  • Traffic Selectors (longueur variable) - Un ou plusieurs Traffic Selectors individuels.

La longueur du Traffic Selector payload inclut l'en-tête TS et tous les Traffic Selectors.

Le type de charge utile pour le Traffic Selector payload est quarante-quatre (44) pour les adresses du côté initiateur de la SA et quarante-cinq (45) pour les adresses du côté répondant.

Il n'est pas exigé que TSi et TSr contiennent le même nombre de Traffic Selectors individuels. Ainsi, ils s'interprètent comme suit : un paquet correspond à un TSi/TSr donné s'il correspond à au moins un des sélecteurs individuels dans TSi et à au moins un dans TSr.

Par exemple, les Traffic Selectors suivants :

TSi = ((17, 100, 198.51.100.66-198.51.100.66),
(17, 200, 198.51.100.66-198.51.100.66))
TSr = ((17, 300, 0.0.0.0-255.255.255.255),
(17, 400, 0.0.0.0-255.255.255.255))

correspondraient à des paquets UDP de 198.51.100.66 vers n'importe où, avec l'une des quatre combinaisons de ports source/destination (100,300), (100,400), (200,300) et (200, 400).

Ainsi, certains types de politiques peuvent exiger plusieurs paires de Child SA. Par exemple, une politique ne correspondant qu'aux ports source/destination (100,300) et (200,400), mais pas aux deux autres combinaisons, ne peut pas être négociée comme une seule paire de Child SA.

3.13.1. Traffic Selector

                    1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TS Type |IP Protocol ID*| Selector Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Start Port* | End Port* |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Starting Address* ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Ending Address* ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 20 : Traffic Selector

*Remarque : Tous les champs autres que TS Type et Selector Length dépendent du TS Type. Les champs illustrés concernent les TS Types 7 et 8, les seules deux valeurs actuellement définies.

  • TS Type (un octet) - Spécifie le type de Traffic Selector.

  • IP protocol ID (1 octet) - Valeur spécifiant un ID de protocole IP associé (tel que UDP, TCP et ICMP). Une valeur zéro signifie que l'ID de protocole n'est pas pertinent pour ce Traffic Selector -- la SA peut transporter tous les protocoles.

  • Selector Length (2 octets, entier non signé) - Spécifie la longueur de cette sous-structure Traffic Selector, y compris l'en-tête.

  • Start Port (2 octets, entier non signé) - Valeur spécifiant le plus petit numéro de port autorisé par ce Traffic Selector. Pour les protocoles sans port défini (y compris le protocole 0), ou si tous les ports sont autorisés, ce champ DOIT être zéro. Les valeurs Type et Code ICMP et ICMPv6, ainsi que les valeurs de Type d'en-tête de mobilité (MH) Mobile IP version 6 (MIPv6), sont représentées dans ce champ comme spécifié à la section 4.4.1.1 de [IPSECARCH]. Les valeurs Type et Code ICMP sont traitées comme un seul numéro de port entier 16 bits, le Type dans les huit bits les plus significatifs et le Code dans les huit bits les moins significatifs. Les valeurs de Type MH MIPv6 sont traitées comme un seul numéro de port 16 bits, le Type dans les huit bits les plus significatifs et les huit bits les moins significatifs à zéro.

  • End Port (2 octets, entier non signé) - Valeur spécifiant le plus grand numéro de port autorisé par ce Traffic Selector. Pour les protocoles sans port défini (y compris le protocole 0), ou si tous les ports sont autorisés, ce champ DOIT être 65535. Les valeurs Type et Code ICMP et ICMPv6, ainsi que les valeurs de Type MH MIPv6, sont représentées dans ce champ comme spécifié à la section 4.4.1.1 de [IPSECARCH]. Les valeurs Type et Code ICMP sont traitées comme un seul numéro de port 16 bits (Type en bits de poids fort, Code en bits de poids faible). Les valeurs de Type MH MIPv6 sont traitées de même avec les huit bits de poids faible à zéro.

  • Starting Address - La plus petite adresse incluse dans ce Traffic Selector (longueur déterminée par TS Type).

  • Ending Address - La plus grande adresse incluse dans ce Traffic Selector (longueur déterminée par TS Type).

Les systèmes conformes à [IPSECARCH] qui souhaitent indiquer des ports « ANY » DOIVENT régler le port de début à 0 et le port de fin à 65535 ; selon [IPSECARCH], « ANY » inclut « OPAQUE ». Les systèmes utilisant [IPSECARCH] qui souhaitent indiquer des ports « OPAQUE » mais pas « ANY » DOIVENT régler le port de début à 65535 et le port de fin à 0.

Les types de Traffic Selector 7 et 8 peuvent aussi se référer aux champs type et code ICMP ou ICMPv6, ainsi qu'aux champs Type MH pour l'en-tête de mobilité IPv6 [MIPV6]. Ni ICMP ni MIPv6 n'ont toutefois de champs source et destination distincts. La méthode de spécification des Traffic Selectors pour ICMP et MIPv6 est illustrée par exemple à la section 4.4.1.3 de [IPSECARCH].

Le tableau suivant liste les valeurs du champ Traffic Selector Type et les données de sélecteur d'adresse correspondantes. Les valeurs ne sont à jour qu'à la date de publication du RFC 4306. D'autres valeurs ont pu être ajoutées depuis ou le seront après la publication du présent document. Les lecteurs doivent consulter [IKEV2IANA] pour les valeurs les plus récentes.

TS TypeValeur
TS_IPV4_ADDR_RANGE7
Une plage d'adresses IPv4, représentée par deux valeurs de quatre octets. La première est l'adresse IPv4 de début (inclusive) et la seconde l'adresse IPv4 de fin (inclusive). Toutes les adresses entre les deux adresses spécifiées sont considérées dans la liste.
TS_IPV6_ADDR_RANGE8
Une plage d'adresses IPv6, représentée par deux valeurs de seize octets. La première est l'adresse IPv6 de début (inclusive) et la seconde l'adresse IPv6 de fin (inclusive). Toutes les adresses entre les deux adresses spécifiées sont considérées dans la liste.