Resumo
- O modo COMPRESSED separava dados literais, repetição de qualquer byte e preenchimento definido pela representação; só o preenchimento omitia o valor.
TYPEcompletava a instrução: espaço em ASCII/EBCDIC e byte zero em Image/Local byte.- Uma captura MODE C pode guardar todos os bits e ainda não permitir a reconstrução se perder a cronologia dos parâmetros.
Uma contagem válida que não pede amostra
O descritor de preenchimento começa com 11; os seis bits restantes dão a quantidade. O item termina ali. RFC 765 e RFC 959 definem outra forma para repetições arbitrárias: classe 10, seis bits de contagem e um byte seguinte d, usado como amostra.
Logo, “há uma contagem e não há valor” não é diagnóstico suficiente. Depois de 10, a falta da amostra indica truncamento. Depois de 11, buscar uma amostra é que corrompe a análise, pois o parser consumirá o começo do próximo item.
Dados comuns usam ainda uma terceira promessa: bit alto zero, contagem positiva de sete bits, no máximo 127, e exatamente n bytes literais. A classe determina o que vem depois.
O TYPE entregava o material
Para ASCII, o preenchimento era espaço, código 32. Para EBCDIC, espaço, código 64. Para Image e Local byte, era zero. Portanto, o mesmo descritor pode produzir brancos ou zeros sem qualquer mudança na conexão de dados.
O RFC 959 diz que representação e transmissão são basicamente independentes, mas registra a exceção: em COMPRESSED, a natureza do filler depende do tipo. A frase é a chave do formato compacto. MODE informa que há uma série e quantos elementos ela tem; TYPE informa qual valor aparece.
Um arquivo de captura que elimina o canal de controle retém a gramática parcial. Seu hash prova os bytes codificados, não qual objeto decodificado eles formaram naquela sessão.
Repetição não era sinônimo de preenchimento
A classe 10 pode repetir qualquer valor porque carrega a amostra. A classe 11 só pode representar o valor privilegiado pela representação. Uma série de zeros em ASCII continua sendo repetição comum, pois o filler ASCII é espaço. Em Image, zeros podem ser inferidos.
O ganho vinha de uma categoria semântica, não apenas da frequência. O protocolo removia a amostra porque a negociação já havia reduzido as alternativas a uma só.
Informações de controle tinham uma quarta via: byte de escape zero seguido por um descritor com os códigos de BLOCK, aplicados à série posterior. Antes de materializar o arquivo, o receptor distinguia literal, réplica explícita, filler implícito e controle.
Espaços de impressão custavam rede
O RFC 959 apresentava COMPRESSED como troca de algum processamento por largura de banda em grandes transmissões. Destacava arquivos de impressora, inclusive os gerados por hosts RJE. Formulários de largura fixa e margens produziam longas faixas de espaço.
Nesse cenário, reservar uma forma de um byte para o espaço era uma economia concreta. Para representações binárias, o zero ocupava papel análogo. Não era uma afirmação sobre toda compressão futura, mas um desenho vinculado ao significado dos formatos e ao custo operacional daquele período.
O acoplamento também traz risco de auditoria. Um log que atribua TYPE I a uma transferência feita em TYPE A altera a futura saída de filler sem tocar em nenhum bit capturado. Uma biblioteca que exija amostra após toda contagem recusará tráfego válido.
Respostas aceitas criavam épocas de parser
TYPE, STRU e MODE eram parâmetros da conexão de controle. A trilha correta precisa guardar comando e resposta: uma tentativa rejeitada não muda o estado. Cada transferência deve apontar para os parâmetros vigentes quando começou.
Depois de uma alteração aceita, abre-se nova época de decodificação. Guardam-se limites, estado inicial e final, fluxo bruto e resultado. Segmentos TCP e chamadas de leitura podem cortar qualquer forma e não estabelecem fronteiras sintáticas.
Comando base não significava argumento universal
O RFC 959 atribuiu S, B e C, deixando Stream como padrão. RFC 1123 definiu depois o mínimo apenas com Stream. MODE C pertence ao desenho padronizado, mas isso não demonstra presença em todos os produtos, muito menos nos atuais.
RFC 5797 e o registro da IANA mantêm MODE como comando base de parâmetros. O registro coordena nome e referência; não testa C, casos extremos do parser ou preservação após armazenamento.
Conservar a entrada e a reconstrução
Uma evidência útil contém fluxo, tamanho e hash; linha do tempo de TYPE/STRU/MODE aceitos; classe, quantidade e extensão esperada de cada item; controles; estado terminal; e hash do arquivo canônico. Mesmo que filler e réplica produzam bytes iguais, suas proveniências continuam diferentes.
Canários devem executar o mesmo 11 sob ASCII, EBCDIC, Image e Local byte; compará-lo a 10 com uma amostra equivalente; separar descritor e amostra entre leituras; e encerrar após uma réplica incompleta. Quem determina a resposta é a gramática combinada com o contexto.
O remetente não enviou o byte porque a sessão já o havia nomeado. Se a economia toma significado emprestado do estado, o arquivo de prova precisa devolver esse estado aos bytes.
Fontes
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance
