Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

03 - Protocolos e Padrões da Camada

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

Protocolos e Padrões da Camada de Apresentação

1. Visão Geral

A camada de Apresentação (OSI 6) não possui o mesmo volume de protocolos "famosos" que as camadas de Aplicação ou Transporte, mas abriga padrões fundamentais que sustentam a infraestrutura de internet que usamos hoje. Esta seção cataloga os principais protocolos e padrões historicamente associados à camada 6.

2. SSL/TLS — O Caso Mais Emblemático

Posicionamento Histórico

O SSL (Secure Sockets Layer) foi lançado pela Netscape em 1995 (SSL 2.0) e 1996 (SSL 3.0) explicitamente como uma camada entre TCP (4) e HTTP (7), ou seja, fazendo o papel da camada 6 (e parte da 5). Quando o IETF padronizou a evolução como TLS (RFC 2246, 1999), manteve a posição intermediária, embora no modelo TCP/IP de 4 camadas TLS seja hoje classificado como parte da camada de Aplicação.

Versão Ano RFC Status
SSL 2.0 1995 — Obsoleto (RFC 6176)
SSL 3.0 1996 — Obsoleto (RFC 7568 — POODLE)
TLS 1.0 1999 RFC 2246 Depreciado (2020)
TLS 1.1 2006 RFC 4346 Depreciado (2020)
TLS 1.2 2008 RFC 5246 Amplamente usado
TLS 1.3 2018 RFC 8446 Padrão moderno

Funções que Justificam a Classificação

TLS executa exatamente as três funções clássicas da camada 6:

  1. Tradução de sintaxe: define registros binários (Record Protocol) com tipos específicos.
  2. Criptografia: cifra o payload com AES, ChaCha20, etc.
  3. Compressão: teve suporte opcional a compressão (TLSCompression), removido em TLS 1.3 por vulnerabilidades como CRIME/BREACH.

3. MIME (Multipurpose Internet Mail Extensions)

Definido nas RFCs 2045-2049, o MIME estende o formato original de e-mail (RFC 822, apenas texto ASCII) para suportar:

  • Tipos de conteúdo: text/plain, text/html, application/pdf, image/jpeg, etc. (registrados pela IANA em media-types).
  • Codificações de transferência: 7bit, 8bit, binary, base64, quoted-printable.
  • Multipartes: multipart/mixed, multipart/alternative, multipart/form-data.

Base64 converte dados binários em 64 caracteres ASCII imprimíveis (A-Za-z0-9+/ com padding =), garantindo transportabilidade por protocolos que só aceitam 7 bits. Embora MIME seja usado por protocolos de aplicação (SMTP, HTTP), a transformação de representação é classicamente uma função de camada 6.

4. ASN.1 e Suas Normas

A família ASN.1 (X.680 a X.699) é o pilar mais robusto de sintaxe abstrata já padronizado:

Padrão Conteúdo
X.680 Linguagem ASN.1
X.681 Information Object Class
X.682 Constraint Specification
X.683 Parameterization
X.690 BER, CER, DER
X.691 PER
X.692 ECN (Encoding Control Notation)
X.693 XER (XML Encoding Rules)
X.694 Mapeamento XSD → ASN.1
X.696 OER (Octet Encoding Rules)

5. XDR (External Data Representation)

Padrão da Sun Microsystems (RFC 4506) usado originalmente em NFS (Network File System) e ONC RPC. Define uma serialização binária fixa:

  • Inteiros em 4 bytes, big-endian.
  • Boolean como 0 ou 1 em 4 bytes.
  • Floating point IEEE 754.
  • Strings terminadas em null, alinhadas a 4 bytes.

É mais simples e mais antigo que ASN.1, mas ainda hoje sustenta boa parte do NFSv3 em servidores Linux.

6. NCP (NetWare Core Protocol)

A Novell NetWare, dominante em LANs corporativas dos anos 1980 e 1990, tinha sua própria pilha de protocolos: IPX/SPX/NCP. O NCP operava na camada de aplicação mas realizava funções de apresentação — serialization de registros NetWare — e é um caso histórico de "camada de apresentação proprietária".

Com o declínio da Novell e a vitória do TCP/IP, NCP tornou-se obsoleto. A NetWare 5 (1998) já roda nativamente sobre TCP/IP.

7. Codificações de Caracteres

ASCII (ANSI X3.4, 1963)

7 bits, 128 caracteres. Inclui letras inglesas, dígitos, sinais de pontuação e códigos de controle (CR, LF, TAB, ESC). Ainda é o "denominador comum" da internet — todo protocolo moderno suporta ASCII.

EBCDIC (IBM, 1964)

8 bits, 256 caracteres. Desenvolvido para cartões perfurados da linha IBM System/360. Ainda vivo em mainframes z/OS, criando incompatibilidades lendárias com sistemas Unix. Tradução ASCII ↔ EBCDIC é um caso clássico de uso da camada 6.

Unicode (ISO/IEC 10646)

Padrão universal para todos os scripts do mundo. Codificações práticas:

Codificação Tamanho Uso típico
UTF-8 1-4 bytes Web, JSON, Linux
UTF-16 2-4 bytes Windows, Java
UTF-32 4 bytes fixos Raro, usa muita memória

UTF-8 é compatível com ASCII (caracteres 0-127 são idênticos), o que explica seu domínio na web.

8. Padrões de Compressão Associados

Padrão Ano RFC/Spec Uso típico
LZW 1984 patente USP GIF, compressores históricos
DEFLATE 1996 RFC 1951 gzip, PNG, ZIP
Brotli 2015 RFC 7932 HTTP Content-Encoding: br
Zstandard 2018 RFC 8478 Backup, HTTP Content-Encoding: zstd
JPEG 1992 ITU T.81 Imagens lossy na web
MP3 1993 MPEG-1 L3 Áudio lossy
H.264 2003 ITU H.264 / MPEG-4 AVC Vídeo streaming
H.265/HEVC 2013 ITU H.265 4K streaming

9. Comparação: Protocolos Históricos vs Modernos

Protocolo Era Camada OSI "ideal" Camada prática atual
ASN.1 BER 1988 6 7 (em SNMP, LDAP)
XDR 1985 6 7 (em NFS)
NCP (NetWare) 1983 6/7 obsoleto
SSL/TLS 1995- 6 (original) 5/7 (entre TCP e App)
MIME 1992 6 7
JSON 2001 6 7
Protocol Buffers 2008 6 7
MessagePack 2009 6 7

10. Padrões ISO Específicos de Camada 6

  • ISO/IEC 8822 (X.216) — Serviço de Apresentação.
  • ISO/IEC 8823 (X.226) — Protocolo de Apresentação.
  • ISO/IEC 8824 (X.680) — ASN.1 (sintaxe abstrata).
  • ISO/IEC 8825 (X.690) — BER, DER, CER.
  • ISO/IEC 8826 (X.236) — Protocolo de Controle de Commit.

11. Conclusão

Os protocolos da camada de Apresentação são invisíveis para o usuário final, mas indispensáveis. Sem ASN.1 e DER não haveria certificados X.509 — logo, não haveria HTTPS. Sem MIME não haveria anexos de e-mail. Sem TLS não haveria comércio eletrônico seguro. O legado da camada 6 está vivo, mesmo que o nome formal "Camada de Apresentação" raramente apareça em documentações modernas.