03 - Protocolos e Padrões da Camada
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:
- Tradução de sintaxe: define registros binários (
Record Protocol) com tipos específicos. - Criptografia: cifra o payload com AES, ChaCha20, etc.
- 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 emmedia-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
0ou1em 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.