8. L2TP Over Specific Media (L2TP su media specifici)
Questo capitolo descrive i dettagli implementativi di L2TP su tipi di media specifici. L2TP è progettato per operare su vari media di trasporto pacchetti, tra cui UDP/IP, Frame Relay, ATM, ecc.
8.1 L2TP over UDP/IP (L2TP su UDP/IP)
L2TP utilizza la porta UDP registrata 1701 per la comunicazione tra gli endpoint del tunnel. UDP fornisce il servizio di trasporto pacchetti sia per i messaggi di controllo L2TP che per i messaggi dati.
Assegnazione delle porte:
- Porta sorgente: Il mittente può utilizzare qualsiasi porta UDP disponibile come porta sorgente.
- Porta di destinazione: Deve utilizzare la porta UDP 1701.
Incapsulamento dei pacchetti:
Il formato di incapsulamento per i pacchetti L2TP su UDP/IP è il seguente:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Intestazione IP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Intestazione UDP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Intestazione L2TP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Messaggio di controllo L2TP o |
| Payload PPP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Checksum UDP:
Il checksum UDP dovrebbe essere calcolato e incluso in tutti i pacchetti L2TP. I ricevitori devono verificare il checksum se presente. Se la verifica del checksum fallisce, il pacchetto deve essere scartato.
Considerazioni MTU:
Poiché L2TP aggiunge ulteriori livelli di incapsulamento (intestazione L2TP + intestazione UDP + intestazione IP), le implementazioni devono considerare il MTU del percorso. Overhead di incapsulamento tipico:
- Intestazione IP: 20 byte (IPv4) o 40 byte (IPv6)
- Intestazione UDP: 8 byte
- Intestazione L2TP: Almeno 6 byte (può essere di più a seconda delle opzioni)
Frammentazione:
Si raccomanda alle implementazioni L2TP di evitare la frammentazione IP. Questo può essere ottenuto tramite:
- Scoperta del MTU del percorso
- Negoziazione della MRU (Maximum Receive Unit) durante l'istituzione del tunnel
- Esecuzione della frammentazione a livello PPP anziché a livello IP
8.2 IP (Protocollo Internet)
I pacchetti L2TP utilizzano IP come protocollo di trasporto pacchetti. IP fornisce un servizio di trasporto pacchetti end-to-end per L2TP.
Supporto versioni IP:
L2TP è progettato per operare su IPv4 [RFC791] e IPv6 [RFC2460]. Le implementazioni dovrebbero supportare almeno una versione IP e possono opzionalmente supportare entrambe.
Considerazioni specifiche per IPv4:
- Tipo di protocollo: Quando si utilizza l'incapsulamento UDP, il campo protocollo IP è impostato su 17 (UDP).
- Tipo di servizio (TOS): Le implementazioni L2TP possono impostare il campo TOS IP per indicare i requisiti di qualità del servizio. I messaggi di controllo possono richiedere una priorità più alta rispetto ai messaggi dati.
- Tempo di vita (TTL): Dovrebbe essere impostato un valore TTL appropriato per impedire che i pacchetti circolino indefinitamente nella rete.
Considerazioni specifiche per IPv6:
- Intestazione successiva: Quando si utilizza l'incapsulamento UDP, impostato su 17 (UDP).
- Etichetta di flusso: L'etichetta di flusso IPv6 può essere utilizzata per identificare i flussi di pacchetti appartenenti allo stesso tunnel per l'elaborazione QoS.
- Limite di hop: Equivalente al TTL di IPv4.
Selezione dell'indirizzo:
LAC e LNS devono essere in grado di determinare l'indirizzo IP del peer. Questo può essere ottenuto tramite:
- Configurazione statica
- Risoluzione DNS
- Meccanismi di scoperta dinamica
Considerazioni multi-homing:
Se un endpoint del tunnel ha più indirizzi IP (multi-homing), le implementazioni devono assicurarsi che tutti i pacchetti per un tunnel utilizzino un indirizzo sorgente coerente. Questo è fondamentale per mantenere lo stato del tunnel e prevenire confusione.
Sicurezza:
Quando L2TP opera su IP, si raccomanda vivamente di utilizzare IPsec [RFC2401] per proteggere il traffico del tunnel. IPsec può fornire:
- Riservatezza: Attraverso la crittografia ESP
- Integrità: Attraverso l'autenticazione AH o ESP
- Autenticazione degli endpoint: Attraverso IKE
Le considerazioni dettagliate sulla sicurezza sono trattate nel Capitolo 9.
Note implementative:
-
Multiplexing delle porte: Più tunnel possono essere stabiliti tra la stessa coppia di indirizzi IP, differenziati dall'ID del tunnel.
-
Attraversamento NAT: Quando L2TP deve attraversare dispositivi NAT, possono essere necessari meccanismi aggiuntivi (come L2TP/IPsec NAT-T).
-
Considerazioni sul firewall: I firewall devono consentire la comunicazione bidirezionale sulla porta UDP 1701 per supportare L2TP.
-
Mappatura QoS: Le implementazioni possono mappare i requisiti QoS dal livello PPP al campo DSCP o TOS del livello IP.