Resumo

  • Cada opção CCP descreve o algoritmo que o receptor aceita usar para descomprimir; ida e volta podem escolher métodos diferentes, e um desacordo deixa apenas aquele sentido sem compressão.
  • Configure-Ack aceita um pedido específico, 0x00FD marca um datagrama comprimido sem dizer o algoritmo e Reset-Ack encerra uma troca de reset. Nenhum comprova sozinho integridade, recuperação de perdas ou entrega à aplicação.

Uma ponta pode ter memória abundante; a outra, não. Uma pode licenciar um método; a outra, recusar. A RFC 1962 transformou essas diferenças em duas negociações locais, não em um requisito de simetria.

O CCP só opera depois de PPP alcançar a fase de protocolos de rede. Dados comprimidos esperam ainda o estado Opened. A opção é escrita do ponto de vista do receptor: ela anuncia o que ele consegue descomprimir nos dados enviados pelo par. O receptor oposto conduz a negociação da outra direção.

Recusar sem derrubar a linha

Uma opção desconhecida recebe Configure-Reject. Um algoritmo conhecido com valores inadequados recebe Configure-Nak contendo valores aceitáveis. Se todos os métodos forem rejeitados, aquele sentido segue sem compressão. A ligação não precisa cair.

Essa saída faz da compatibilidade uma escolha localizada. Velocidade, memória, custo e licença podem produzir algoritmos diferentes na ida e na volta, ou compressão em apenas uma direção. O mínimo comum é a gramática de negociação e de fallback.

Até onde vai o Configure-Ack

O CCP herda o mecanismo do LCP. Pela RFC 1661, Configure-Ack é resposta positiva ao Configure-Request válido correspondente. Ele prova que aqueles bytes de opção foram aceitos naquela troca. Para identificar uma trama posterior, ainda são necessários identificador, direção, parâmetros, época de estado, Opened e ausência de renegociação.

A RFC 2153 generalizou extensões de fornecedor. Um OUI evita colisão de nomes, mas não garante que duas implementações entendam o subtype da mesma forma. A RFC 1915 registra a variance usada quando algoritmos patenteados atravessaram o processo; não registra adoção ou desempenho em uma rede.

0x00FD é uma categoria, não uma identidade

Depois de Opened, 0x00FD indica Compressed Datagram. Em compressão separada por enlace físico de um conjunto multilink, 0x00FB identifica os dados e 0x80FB o controle. A IANA mantém esses números.

A própria RFC diz que 0x00FD não informa o algoritmo. O receptor usa o único método principal vigente naquele sentido. Sem a conversa CCP e sua época, o marcador não escolhe entre LZS, Predictor ou uma extensão proprietária.

Nem sempre a saída é menor. Se houver expansão acima do limite PPP, o emissor pode voltar ao pacote nativo ou usar fragmentação específica. O nome “comprimido” não é recibo de economia.

O mecanismo de detecção vem do perfil

Perder um pacote em compressão com histórico pode desalinhá-lo para os próximos. O CCP genérico não impõe um CRC único. Cada algoritmo deve detectar transporte incorreto ou exigir um transporte confiável como o modo numerado da RFC 1663.

A RFC 1974 mostra opções de sequência, LCB, CRC e vários históricos para Stac LZS. A RFC 1967 organiza verificações e bits de reset de outro modo. Esses controles não estão embutidos no 0x00FD. Classificar e validar são atos separados.

Reset não devolve o que foi descartado

Ao detectar falha, o receptor envia Reset-Request, código 14, e descarta os pacotes comprimidos daquele sentido até receber o Reset-Ack, código 15, com o identificador esperado. O par zera seu compressor de transmissão e responde; o receptor zera o descompressor.

O sentido contrário segue com seu próprio dicionário. Porém, os datagramas descartados durante a espera não voltam. O Ack não comprova o próximo CRC, a confiabilidade do enlace, a retransmissão de TCP ou o resultado de negócio.

O ensinamento histórico cabe na leitura de Heng Lu: documentação e registros descrevem transições executáveis, mas não substituem código em uso e observação. A cadeia é fase de rede, pedido por sentido, Ack, Opened, compressor efetivo, marcador, verificação, reset, primeiro datagrama válido, recebimento final e efeito da aplicação. A robustez nasce de não misturar essas etapas.

Sources