Passa al contenuto principale

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:

  1. Scoperta del MTU del percorso
  2. Negoziazione della MRU (Maximum Receive Unit) durante l'istituzione del tunnel
  3. 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:

  1. Multiplexing delle porte: Più tunnel possono essere stabiliti tra la stessa coppia di indirizzi IP, differenziati dall'ID del tunnel.

  2. Attraversamento NAT: Quando L2TP deve attraversare dispositivi NAT, possono essere necessari meccanismi aggiuntivi (come L2TP/IPsec NAT-T).

  3. Considerazioni sul firewall: I firewall devono consentire la comunicazione bidirezionale sulla porta UDP 1701 per supportare L2TP.

  4. Mappatura QoS: Le implementazioni possono mappare i requisiti QoS dal livello PPP al campo DSCP o TOS del livello IP.