O Quadro PPP

01111110 11111111 00000011 Protocolo Informação Verificação 01111110
Flag Endereço Controle 1 ou 2 bytes Comp. variável 2 ou 4 bytes Flag
Formato do quadro de dados PPP

Pela própria definição vista nos requisitos, o quadro PPP deverá ser capaz de enquadrar um pacote proveniente da camada superior, especificar o protocolo ao qual ele pertence e entregar no outro ponto o pacote completo. Para isso o quadro precisa reserva um espaço extra para a informação de controle. O quadro contém os seguintes campos:


Byte Stuffing

O que aconteceria quando um dos bytes de informação fosse igual ao flag? Se não existisse nenhum mecanismo para avisar ao receptor que aquele byte faz parte da informação, este certamente interpretaria o término do quadro. O que poderia então ser feito para evitar este problema?

A precaução mais simples de ser realizada seria negar a possibilidade de transmitir este código de byte pelo canal. Isso porém, estaria desrespeitando um dos requisitos de projeto: a transparência do protocolo. O que foi feito então para contornar o problema foi aplicar a técnica de byte stuffing.

Toda vez que o pacote a ser transmitido contiver um byte igual ao byte de flag, o emissor deverá precedê-lo com um byte a mais de controle de escape. No caso do PPP este byte possui o valor 01111101.  Para o caso de a informação possuir um byte igual ao de escape, o emissor o precederá também com o byte de escape. Assim, quando o receptor encontrar um byte de escape, basta ele retirar o byte e continuar a ler a informação, sabendo que mesmo que seja um byte flag ele deverá ser apenas interpretado como informação.