Point to Point Protocol
Il protocollo PPP consiste di tre componenti:
- Incapsulamento di datagrammi IP su linea seriale , asincrona a 8 bit
per carattere e senza parita' o sincrona orientata al bit.
- Un protocollo Link Control per stabilire, configurare e testare la connessione dati
- Una famiglia di Protocolli di Controllo di Rete (Network Control Protocols - NCP), tra cui
protocolli per IP, rete OSI, DECnet e AppleTalk.
Il protocollo PPP e' definito in RFC1331
ed RFC1332.
Il formato delle trame PPP ricorda quello delle trame ISO HDLC.
I primi tre campi, Flag, Indirizzo e Controllo, sono fissi. Il campo Protocollo prevede valori diversi
per protocolli diversi, tra cui che riguardano il modello DoD sono:
0x0021 - datagramma IP
0xc021 - dati di controllo link
0x8021 - dati di controllo rete
Il campo CRC e' un controllo di ridondanza ciclica per la detezione degli errori. La trama termina
con il carattere di flag con cui e' iniziata, 0x7e.
Sequenze di Escape
Comunicazione Asincrona
Il flag di guardia alla trama e' nascosto da un carattere di escape., che lo precede. Anche tutti
i caratteri inferiori al decimale 32 sono preceduti dall'escape, per impedire che
vengano interpretati come caratteri di controllo della linea seriale.
Il carattere di escape e' 0x7d. Ogni volta che il carattere di escape compare nella trama PPP, il carattere
che segue ha avuto il sesto bit complementato a 1. Percio' ad esempio:
il flag 0x7e compare come byte 0x7d 0x5e
il byte 0x7d compare come 0x7d 0x5d
il carattere di controllo 0x01 compare come 0x7d 0x21, ecc.
Comunicazione Sincrona
Si fa' uso di bit stuffing.
Vantaggi di PPP
- Supporto a protocolli multipli sulla stessa linea seriale
- Campo di controllo errori su ciascuna trama
- Negoziazione dinamica degli indirizzi prima dello scambio dati, usando lo IP Network Control
Protocol
- Compressione delle testate IP e TCP con algoritmo di Van Jacobson, simile a CSLIP. Inoltre molte
implementazioni negoziano l'omissione dei campi Flag e Indirizzo e la riduzione del
campo Protocollo ad un solo byte.
- Abbondanza di opzioni, negoziabili dal Link Control Protocol