3.13. Traffic Selector Payload (Payload selettore di traffico)
3.13. Traffic Selector Payload (Payload selettore di traffico)
Il Traffic Selector payload, indicato come TS in questo documento, consente ai peer di identificare flussi di pacchetti per l'elaborazione da parte dei servizi di sicurezza IPsec. Il Traffic Selector payload consiste nell'intestazione generica IKE dei payload seguita da singoli Traffic Selector come segue:
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> ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 19: Formato del Traffic Selector payload
-
Number of TSs (1 ottetto) - Numero di Traffic Selector forniti.
-
RESERVED - Questo campo DEVE essere inviato a zero e DEVE essere ignorato in ricezione.
-
Traffic Selectors (lunghezza variabile) - Uno o più Traffic Selector individuali.
La lunghezza del Traffic Selector payload include l'intestazione TS e tutti i Traffic Selector.
Il tipo di payload per il Traffic Selector payload è quarantaquattro (44) per gli indirizzi al lato dell'iniziatore della SA e quarantacinque (45) per il lato del rispondente.
Non è richiesto che TSi e TSr contengano lo stesso numero di Traffic Selector individuali. Si interpretano così: un pacchetto corrisponde a un dato TSi/TSr se corrisponde ad almeno un selettore individuale in TSi e ad almeno uno in TSr.
Ad esempio, i seguenti Traffic Selector:
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))
corrisponderebbero a pacchetti UDP da 198.51.100.66 verso ovunque, con una qualsiasi delle quattro combinazioni di porte sorgente/destinazione (100,300), (100,400), (200,300) e (200, 400).
Pertanto alcuni tipi di policy possono richiedere più coppie di Child SA. Una policy che corrisponde solo alle porte (100,300) e (200,400), ma non alle altre due combinazioni, non può essere negoziata come singola coppia di 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* ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 20: Traffic Selector
*Nota: Tutti i campi tranne TS Type e Selector Length dipendono dal TS Type. I campi mostrati sono per TS Type 7 e 8, gli unici due valori attualmente definiti.
-
TS Type (un ottetto) - Specifica il tipo di Traffic Selector.
-
IP protocol ID (1 ottetto) - Valore che specifica un ID protocollo IP associato (come UDP, TCP, ICMP). Zero significa che l'ID protocollo non è rilevante per questo Traffic Selector -- la SA può trasportare tutti i protocolli.
-
Selector Length (2 ottetti, intero senza segno) - Specifica la lunghezza di questa sottostruttura Traffic Selector inclusa l'intestazione.
-
Start Port (2 ottetti, intero senza segno) - Valore che specifica il numero di porta minimo consentito. Per protocolli senza porta (incluso protocollo 0), o se tutte le porte sono consentite, questo campo DEVE essere zero. I valori Type e Code ICMP e ICMPv6, nonché i valori Type MH MIPv6, sono rappresentati in questo campo come specificato nella sezione 4.4.1.1 di
[IPSECARCH]. Type e Code ICMP sono trattati come un singolo intero a 16 bit, Type negli otto bit più significativi e Code nei meno significativi. I Type MH MIPv6 sono trattati come intero a 16 bit con Type negli otto bit alti e gli otto bit bassi a zero. -
End Port (2 ottetti, intero senza segno) - Valore che specifica il numero di porta massimo consentito. Per protocolli senza porta o se tutte le porte sono consentite, questo campo DEVE essere 65535. ICMP/ICMPv6 e MIPv6 MH come nella sezione 4.4.1.1 di
[IPSECARCH]. -
Starting Address - L'indirizzo minimo incluso in questo Traffic Selector (lunghezza determinata dal TS Type).
-
Ending Address - L'indirizzo massimo incluso in questo Traffic Selector (lunghezza determinata dal TS Type).
I sistemi conformi a [IPSECARCH] che vogliono indicare porte «ANY» DEVONO impostare la porta iniziale a 0 e quella finale a 65535; secondo [IPSECARCH], «ANY» include «OPAQUE». Per indicare solo «OPAQUE» senza «ANY», DEVONO impostare inizio 65535 e fine 0.
I tipi di Traffic Selector 7 e 8 possono riferirsi anche ai campi type e code ICMP o ICMPv6 e ai campi Type MH per l'intestazione di mobilità IPv6 [MIPV6]. Tuttavia né ICMP né MIPv6 hanno campi sorgente e destinazione separati. Il metodo per specificare i Traffic Selector per ICMP e MIPv6 è mostrato per esempio nella sezione 4.4.1.3 di [IPSECARCH].
La tabella seguente elenca i valori del campo Traffic Selector Type e i corrispondenti dati del selettore di indirizzo. I valori sono aggiornati alla data di pubblicazione del RFC 4306; per i valori più recenti vedere [IKEV2IANA].
| TS Type | Valore |
|---|---|
| TS_IPV4_ADDR_RANGE | 7 |
| Intervallo di indirizzi IPv4 rappresentato da due valori di quattro ottetti. Il primo è l'indirizzo IPv4 iniziale (inclusivo) e il secondo quello finale (inclusivo). Tutti gli indirizzi tra i due estremi sono considerati nella lista. | |
| TS_IPV6_ADDR_RANGE | 8 |
| Intervallo di indirizzi IPv6 rappresentato da due valori di sedici ottetti. Il primo è l'indirizzo IPv6 iniziale (inclusivo) e il secondo quello finale (inclusivo). Tutti gli indirizzi tra i due estremi sono considerati nella lista. |