A arquitetura TCP/IP

A arquitetura TCP/IP visualiza a rede de computadores em quatro camadas: interface de rede, inter-redes (internet), transporte e aplicação.

Interface de rede

Esta camada, com o menor nível de abstração na arquitetura TCP/IP, usa padrões para conexão à rede física, seja esta local (Ethernet-CSMA/CD, Token Ring, FDDI, ATM) ou de longa distância (HDLC, X.25, ATM).

Como a camada interface de rede opera com endereços físicos, protocolos de conversão entre endereços físicos e lógicos são definidos. São estes o ARP (Address Resolution Protocol) e o RARP (Reverse ARP).

Inter-redes

Esta camada estabelece os protocolos para transporte não-confiável de mensagens (IP - Internet Protocol), para controle da comunicação e informe de erros (ICMP - Internet Control Message Protocol) e para roteamento de mensagens (EGP - Exterior Gateway Protocol, RIP - Routing Information Protocol).

Endereços para comunicação entre máquinas (host-to-host) são lógicos (endereços IP), já usando o nível adicional de abstração oferecido pela camada inferior.

Na versão mais usual do protocolo (IPv4), endereços IP ocupam 32 bits e são divididos em cinco classes. As classes A, B e C têm seus endereços estruturados em um prefixo de identificação de classe (binários 0, 10 e 110, respectivamente), identificador de subrede (7, 14 e 21 bits) e identificador de host. A classe D (prefixo 1110) é utilizada para multicast, enquanto que endereços da classe E (11110) são reservados para uso futuro.

Usualmente, endereços IP são representados por uma quádrupla de valores decimais correspondente aos quatro grupos de 8 bits do endereço. Nessa forma de representação, endereços iniciados por valores entre 0 e 127 são da classe A; entre 128 e 191, classe B; entre 192 e 223, classe C; entre 224 e 239, classe D; e entre 240 e 247, classe E.

Existe também uma forma de representação simbólica de endereços IP baseada em nomes de domínios. Domínios são partições da rede Internet organizados hierarquicamente em estruturas de domínios e sub-domínios.

O mapeamento entre endereços IP representados simbolicamente e numericamente é realizado por servidores de nome distribuídos pela Internet. Esse serviço é denominado Sistemas de Nomes de Domínio (DNS).

Transporte

Esta camada estabelece protocolos para transporte confiável de dados por conexão (TCP/IP - Transfer Control Protocol/IP) e para transporte de datagramas, sem conexão (UDP - User Datagram Protocol).

Em termos de endereçamento, esta camada introduz o conceito de porta, um nível de endereço adicional que identifica a aplicação na máquina. Um endereço completo nesse nível é estabelecido por um par (host, port).

Aplicação

Esta camada, de maior nível de abstração, define o conjunto de serviços manipulados por usuários.

Os serviços definidos utilizam a arquitetura de distribuição cliente-servidor. Os servidores são processos que oferecem o serviço e estabelecem um endereço (host,port) para sua disponibilização. Os clientes devem entrar em contato com o servidor nesse endereço para requisitar o serviço.

Algumas portas de serviços TCP/IP já são pré-definidas, sendo denominadas de portas notáveis. Exemplos de portas notáveis incluem: