PPPoE: Protocollo per DNS

In linea di principio Internet è solo una rete di computer molto grande e per molti aspetti non differisce dalla rete domestica Local Area Network (LAN). Tuttavia, ciò non è del tutto vero: a causa delle dimensioni e della posizione degli Internet provider e dei loro server, anche la rete globale ha bisogno della propria tecnologia. Una di queste tecnologie è il Point-to-Point Protocol over Ethernet (PPPoE). Qual è esattamente lo scopo di questo protocollo?

A cosa serve il Point-to-Point Protocol over Ethernet?

Per stabilire una connessione a Internet il PC di casa (o un altro terminale analogo) deve utilizzare il router. L’accesso è reso disponibile da un Internet Provider (ISP), che deve anche verificare se il client possiede l’autorizzazione di accesso. Quando Internet è entrato nelle abitazioni private, al tempo ancora tramite ISDN, per questo controllo si utilizzava il Point-to-Point-Protocol (PPP). Al tal fine il supporto di accesso remoto (modem o router) stabilisce una connessione diretta al punto d’interscambio dell’Internet Provider, che verifica i dati e consente la navigazione su Internet.

Per gli Internet provider PPP aveva il vantaggio che il protocollo non  controllava solo l'autorizzazione di accesso, ma anche la quantità di dati trasferiti e il tempo di connessione. Dato che all’epoca era ancora consuetudine pagare prezzi al minuto per l’utilizzo di Internet, i fornitori hanno tratto un gran beneficio dal protocollo. Con l’avvento della tecnologia DSL e in considerazione della tendenza che spesso più di un dispositivo per famiglia è online contemporaneamente, era necessaria una nuova tecnologia.

Il protocollo PPPoE offre gli stessi vantaggi del protocollo PPP, ma consente alla tecnologia di funzionare su Ethernet. Questa tecnologia di rete è ora standard ovunque e consente connessioni rapide e complesse. In tale contesto la nota parte PPP del pacchetto dati viene integrata nel frame Ethernet.

Fatto

Il protocollo PPPoE è stato definito per la prima volta nel 1999 nella RFC 2516.

Struttura e funzionamento di PPP over Ethernet

PPPoE fa parte della suite di protocolli TCP/IP e si trova sul livello più basso, l’accesso alla rete. Il protocollo opera in due diverse fasi, che influiscono a loro volta sulla struttura. Si inizia innanzitutto con il PPPoE Discovery. In questa fase il protocollo comunica l’indirizzo MAC del nodo, che consentirà l’utilizzo di Internet. Questa ricerca funziona tramite un broadcast: i pacchetti di dati vengono quindi inviati alla rete senza una destinazione specifica. Il nodo, chiamato anche Point of Presence (PoP), risponde e stabilisce così un livello di comunicazione tra i due utenti di rete.

Successivamente inizia la seconda fase, la PPPoE Session, in cui vengono prima negoziati i dettagli, ad esempio il nodo controlla l’autorizzazione di accesso del client. Poi segue l’utilizzo effettivo di Internet, che fa ancora parte della fase della PPPoE Session.

È possibile riconoscere di quale fase si tratta nel campo tipo del frame Ethernet, dove è indicato 0x8863 per il Discovery oppure 0x8864 per la sessione. Il frame PPPoE, incapsulato nell’area dati del frame Ethernet, segue il campo tipo. La parte PPPoE può a sua volta essere suddivisa in diverse sezioni. Innanzitutto viene trasferita la versione di PPPoE. Tuttavia, poiché esiste soltanto una versione del protocollo, qui è possibile trovare solo il valore 1. Segue poi il tipo PPPoE, che è sempre impostato su 1.

Mentre le prime due parti occupano ciascuna solo 4 bit, ora segue un campo di codice a 1 byte (8 bit), che è importante soprattutto per la fase PPPoE Discovery e indica in quale fase sono attualmente i due partecipanti alla comunicazione. Se si è già nella fase della sessione, il campo ha semplicemente il valore 0x00. Invece nella fase di Discovery sono possibili 5 valori diversi:

  • 0x09: PPPoE Active Discovery Initiation (PADI)
  • 0x07: PPPoE Active Discovery Offer (PADO)
  • 0x19: PPPoE Active Discovery Request (PADR)
  • 0x65: PPPoE Active Discovery Session-confirmation (PADS)
  • 0xa7: PPPoE Active Discovery Termination (PADT)

La fase di Discovery inizia dunque con il broadcast (PADI). In questa fase il client trasmette anche il proprio indirizzo MAC per poter ricevere una risposta. Nel successivo pacchetto dati del PoP il client comunica il proprio indirizzo MAC e il suo nome (PADO). È molto probabile che più nodi rispondano al broadcast del client. Il computer di casa o il router deve quindi selezionare, mediante il nome, il PoP da contattare e lo comunica al nodo attraverso un’altra trasmissione (PADR). Successivamente, il PoP contatta nuovamente l’utente di rete, conferma quindi la connessione e assegna al dispositivo un ID di sessione (PADS). La connessione Internet è ora stabilita. Se uno degli utenti desidera terminare la connessione, lo comunica all’altro dispositivo con un pacchetto dati conclusivo (PADT).

Dopo che la connessione è stata stabilita e il Point of Presence ha assegnato un ID di sessione, intervengono gli altri campi all’interno del frame. Innanzitutto qui si inserisce l’ID di sessione. Sarà così possibile identificare tutti i successivi pacchetti di dati. A questo punto si specifica la lunghezza del campo del payload finale. Grazie a questa precisazione è possibile garantire che nessuna informazione sia andata persa durante la trasmissione. Il seguente campo protocollo indica quale protocollo si utilizza per il payload, ad esempio IPv4 o IPv6. Questi tre campi hanno ciascuno una lunghezza di 2 byte. Infine, i dati effettivi previsti per la trasmissione sono contenuti nel campo del payload. Questa sezione può avere una lunghezza variabile (precedentemente riportata) e chiude il frame PPPoE.

Vantaggi di PPPoE

Il Point-to-Point Protocol over Ethernet è strettamente legato allo sviluppo della tecnologia DSL e alla diffusione generale di Internet. Il precedente protocollo PPP era concepito per le linee dial-up come la ISDN. Con il DSL anche lo standard Ethernet ha trovato la sua strada ovunque, per cui il vecchio protocollo, che aveva avuto molto successo fino a quel momento, doveva essere adattato. Ethernet consente inoltre a diversi dispositivi di condividere la stessa linea per accedere a Internet. Anche questo non era possibile con il comune Point-to-Point Protocol.

Nella maggior parte dei casi un router prende contatto diretto con l’Internet provider e quindi stabilisce anche l’accesso a Internet. Con PPPoE, tuttavia, è anche possibile che un singolo dispositivo comunichi con il PoP stesso. A tal fine nel router deve essere attivato il cosiddetto passthrough PPPoE. Il router consente quindi la richiesta di connessione del dispositivo. La sequenza completa di Discovery e Session si svolge quindi tra (ad esempio) il PC e il PoP.

Inoltre PPPoE presenta un aspetto positivo, che anche PPP aveva: l’autorizzazione d’accesso del client può essere richiesta in modo relativamente semplice tramite il protocollo. Al riguardo sono disponibili vari metodi: il modo più semplice è richiedere una password utilizzando il Password Authentication Protocol (PAP). Il client deve fornire una password segreta. Anche se, in linea di principio, questa tecnica funziona bene, non è più completamente sicura, poiché la trasmissione della password non è crittografata e potrebbe quindi essere letta da terzi.

Il Challenge Handshake Authentication Protocol (CHAP) offre maggior sicurezza. Qui si scambia una combinazione crittografata di password e valore specifico. Poiché la password è nota al server dell’operatore di rete, quest’ultimo può di nuovo decodificare  la combinazione e quindi controllare l’autorizzazione. Una terza opzione per l’autenticazione è l’Extensible Authentication Protocol (EAP), un tipo di framework che offre varie opzioni di autenticazione.

N.B.

Nel contesto di PPPoE anche il termine DHCP compare ripetutamente, poiché entrambi sono meccanismi specificati dall’Internet provider per connettersi a Internet. Tecnicamente parlando si tratta di due protocolli diversi. Mentre PPPoE serve per creare un tunnel verso il nodo, DHCP si utilizza per assegnare dinamicamente un indirizzo IP.


Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.