In linea di principio Internet è solo una rete di computer molto grande e per molti aspetti non dif­fe­ri­sce dalla rete domestica Local Area Network (LAN). Tuttavia, ciò non è del tutto vero: a causa delle di­men­sio­ni e della posizione degli Internet provider e dei loro server, anche la rete globale ha bisogno della propria tec­no­lo­gia. Una di queste tec­no­lo­gie è il Point-to-Point Protocol over Ethernet (PPPoE). Qual è esat­ta­men­te lo scopo di questo pro­to­col­lo?

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

Per stabilire una con­nes­sio­ne a Internet il PC di casa (o un altro terminale analogo) deve uti­liz­za­re il router. L’accesso è reso di­spo­ni­bi­le da un Internet Provider (ISP), che deve anche ve­ri­fi­ca­re se il client possiede l’au­to­riz­za­zio­ne di accesso. Quando Internet è entrato nelle abi­ta­zio­ni private, al tempo ancora tramite ISDN, per questo controllo si uti­liz­za­va il Point-to-Point-Protocol (PPP). Al tal fine il supporto di accesso remoto (modem o router) sta­bi­li­sce una con­nes­sio­ne diretta al punto d’in­ter­scam­bio dell’Internet Provider, che verifica i dati e consente la na­vi­ga­zio­ne su Internet.

Per gli Internet provider PPP aveva il vantaggio che il pro­to­col­lo non  con­trol­la­va solo l'au­to­riz­za­zio­ne di accesso, ma anche la quantità di dati tra­sfe­ri­ti e il tempo di con­nes­sio­ne. Dato che all’epoca era ancora con­sue­tu­di­ne pagare prezzi al minuto per l’utilizzo di Internet, i fornitori hanno tratto un gran beneficio dal pro­to­col­lo. Con l’avvento della tec­no­lo­gia DSL e in con­si­de­ra­zio­ne della tendenza che spesso più di un di­spo­si­ti­vo per famiglia è online con­tem­po­ra­nea­men­te, era ne­ces­sa­ria una nuova tec­no­lo­gia.

Il pro­to­col­lo PPPoE offre gli stessi vantaggi del pro­to­col­lo PPP, ma consente alla tec­no­lo­gia di fun­zio­na­re su Ethernet. Questa tec­no­lo­gia di rete è ora standard ovunque e consente con­nes­sio­ni rapide e complesse. In tale contesto la nota parte PPP del pacchetto dati viene integrata nel frame Ethernet.

Fatto

Il pro­to­col­lo PPPoE è stato definito per la prima volta nel 1999 nella RFC 2516.

Struttura e fun­zio­na­men­to di PPP over Ethernet

PPPoE fa parte della suite di pro­to­col­li TCP/IP e si trova sul livello più basso, l’accesso alla rete. Il pro­to­col­lo opera in due diverse fasi, che in­flui­sco­no a loro volta sulla struttura. Si inizia in­nan­zi­tut­to con il PPPoE Discovery. In questa fase il pro­to­col­lo comunica l’indirizzo MAC del nodo, che con­sen­ti­rà l’utilizzo di Internet. Questa ricerca funziona tramite un broadcast: i pacchetti di dati vengono quindi inviati alla rete senza una de­sti­na­zio­ne specifica. Il nodo, chiamato anche Point of Presence (PoP), risponde e sta­bi­li­sce così un livello di co­mu­ni­ca­zio­ne tra i due utenti di rete.

Suc­ces­si­va­men­te inizia la seconda fase, la PPPoE Session, in cui vengono prima negoziati i dettagli, ad esempio il nodo controlla l’au­to­riz­za­zio­ne di accesso del client. Poi segue l’utilizzo effettivo di Internet, che fa ancora parte della fase della PPPoE Session.

È possibile ri­co­no­sce­re 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, in­cap­su­la­to nell’area dati del frame Ethernet, segue il campo tipo. La parte PPPoE può a sua volta essere suddivisa in diverse sezioni. In­nan­zi­tut­to viene tra­sfe­ri­ta la versione di PPPoE. Tuttavia, poiché esiste soltanto una versione del pro­to­col­lo, 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 è im­por­tan­te so­prat­tut­to per la fase PPPoE Discovery e indica in quale fase sono at­tual­men­te i due par­te­ci­pan­ti alla co­mu­ni­ca­zio­ne. Se si è già nella fase della sessione, il campo ha sem­pli­ce­men­te il valore 0x00. Invece nella fase di Discovery sono possibili 5 valori diversi:

  • 0x09: PPPoE Active Discovery Ini­tia­tion (PADI)
  • 0x07: PPPoE Active Discovery Offer (PADO)
  • 0x19: PPPoE Active Discovery Request (PADR)
  • 0x65: PPPoE Active Discovery Session-con­fir­ma­tion (PADS)
  • 0xa7: PPPoE Active Discovery Ter­mi­na­tion (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 suc­ces­si­vo pacchetto dati del PoP il client comunica il proprio indirizzo MAC e il suo nome (PADO). È molto probabile che più nodi ri­spon­da­no al broadcast del client. Il computer di casa o il router deve quindi se­le­zio­na­re, mediante il nome, il PoP da con­tat­ta­re e lo comunica al nodo at­tra­ver­so un’altra tra­smis­sio­ne (PADR). Suc­ces­si­va­men­te, il PoP contatta nuo­va­men­te l’utente di rete, conferma quindi la con­nes­sio­ne e assegna al di­spo­si­ti­vo un ID di sessione (PADS). La con­nes­sio­ne Internet è ora stabilita. Se uno degli utenti desidera terminare la con­nes­sio­ne, lo comunica all’altro di­spo­si­ti­vo con un pacchetto dati con­clu­si­vo (PADT).

Dopo che la con­nes­sio­ne è stata stabilita e il Point of Presence ha assegnato un ID di sessione, in­ter­ven­go­no gli altri campi all’interno del frame. In­nan­zi­tut­to qui si inserisce l’ID di sessione. Sarà così possibile iden­ti­fi­ca­re tutti i suc­ces­si­vi pacchetti di dati. A questo punto si specifica la lunghezza del campo del payload finale. Grazie a questa pre­ci­sa­zio­ne è possibile garantire che nessuna in­for­ma­zio­ne sia andata persa durante la tra­smis­sio­ne. Il seguente campo pro­to­col­lo indica quale pro­to­col­lo 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 tra­smis­sio­ne sono contenuti nel campo del payload. Questa sezione può avere una lunghezza variabile (pre­ce­den­te­men­te riportata) e chiude il frame PPPoE.

Vantaggi di PPPoE

Il Point-to-Point Protocol over Ethernet è stret­ta­men­te legato allo sviluppo della tec­no­lo­gia DSL e alla dif­fu­sio­ne generale di Internet. Il pre­ce­den­te pro­to­col­lo 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 pro­to­col­lo, che aveva avuto molto successo fino a quel momento, doveva essere adattato. Ethernet consente inoltre a diversi di­spo­si­ti­vi di con­di­vi­de­re 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 sta­bi­li­sce anche l’accesso a Internet. Con PPPoE, tuttavia, è anche possibile che un singolo di­spo­si­ti­vo comunichi con il PoP stesso. A tal fine nel router deve essere attivato il co­sid­det­to pas­sth­rou­gh PPPoE. Il router consente quindi la richiesta di con­nes­sio­ne del di­spo­si­ti­vo. 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’au­to­riz­za­zio­ne d’accesso del client può essere richiesta in modo re­la­ti­va­men­te semplice tramite il pro­to­col­lo. Al riguardo sono di­spo­ni­bi­li vari metodi: il modo più semplice è ri­chie­de­re una password uti­liz­zan­do il Password Au­then­ti­ca­tion Protocol (PAP). Il client deve fornire una password segreta. Anche se, in linea di principio, questa tecnica funziona bene, non è più com­ple­ta­men­te sicura, poiché la tra­smis­sio­ne della password non è crit­to­gra­fa­ta e potrebbe quindi essere letta da terzi.

Il Challenge Handshake Au­then­ti­ca­tion Protocol (CHAP) offre maggior sicurezza. Qui si scambia una com­bi­na­zio­ne crit­to­gra­fa­ta di password e valore specifico. Poiché la password è nota al server dell’operatore di rete, quest’ultimo può di nuovo de­co­di­fi­ca­re  la com­bi­na­zio­ne e quindi con­trol­la­re l’au­to­riz­za­zio­ne. Una terza opzione per l’au­ten­ti­ca­zio­ne è l’Ex­ten­si­ble Au­then­ti­ca­tion Protocol (EAP), un tipo di framework che offre varie opzioni di au­ten­ti­ca­zio­ne.

N.B.

Nel contesto di PPPoE anche il termine DHCP compare ri­pe­tu­ta­men­te, poiché entrambi sono mec­ca­ni­smi spe­ci­fi­ca­ti dall’Internet provider per con­net­ter­si a Internet. Tec­ni­ca­men­te parlando si tratta di due pro­to­col­li diversi. Mentre PPPoE serve per creare un tunnel verso il nodo, DHCP si utilizza per assegnare di­na­mi­ca­men­te un indirizzo IP.

Vai al menu prin­ci­pa­le