Vá para uma página ou matéria
Prática · Redes de Computadores · 20/09/2026
Processo é um programa rodando dentro de um hospedeiro. Dois processos no mesmo hospedeiro se comunicam pela comunicação entre processos definida pelo sistema operacional. Processos em hospedeiros diferentes se comunicam trocando mensagens pela rede. Em cada sessão, o processo que inicia a comunicação é o cliente, e o que espera ser contatado é o servidor. Quem envia mais dados não importa para essa definição. Mesmo nas aplicações P2P existem processos clientes e processos servidores, porque cada par assume um papel em cada sessão.
O TCP é orientado a conexão (exige preparação entre cliente e servidor) e oferece transporte confiável, controle de fluxo (o emissor não sobrecarrega o receptor) e controle de congestionamento (o emissor é contido quando a rede está sobrecarregada). Ele não oferece temporização, vazão mínima nem segurança. O UDP faz uma transferência não confiável, sem conexão, confiabilidade, controle de fluxo, controle de congestionamento, temporização, vazão ou segurança. Por isso SMTP, Telnet, HTTP e FTP usam TCP, multimídia em tempo real usa UDP ou TCP, e telefonia por Internet (SIP, RTP) usa tipicamente UDP. Mesmo sem garantias, essas aplicações funcionam: a Internet atual atende razoavelmente aplicações sensíveis ao tempo, só não garante isso.
Na arquitetura cliente-servidor, o servidor é um hospedeiro sempre ligado, com IP fixo, que atende as requisições dos clientes. Os clientes podem se conectar de forma intermitente, podem ter IP dinâmico e não se comunicam diretamente entre si. Na P2P, os pares se comunicam diretamente e ficam principalmente em casas, escritórios e universidades. Eles se conectam de forma intermitente e mudam de IP, o que torna a arquitetura muito escalável, mas difícil de administrar. O Skype clássico juntava as duas: autenticação, diretório e cobrança nos servidores, e mídia e supernodes em P2P. Por isso é o exemplo típico de arquitetura híbrida.
Um processo envia e recebe dados pela rede por meio de uma interface de software chamada socket. O socket funciona como uma porta: o processo empurra a mensagem pela porta e conta com a infraestrutura de transporte do outro lado para levá-la até o socket do processo receptor. Ele fica entre a camada de aplicação e a de transporte dentro da máquina e também é chamado de API entre o aplicativo e a rede. O desenvolvedor controla o lado da aplicação e, do lado do transporte, pode escolher o protocolo e talvez alguns parâmetros. A garantia de entrega vem do protocolo escolhido, como o TCP, e não do socket.
As aplicações são a razão de existir de uma rede de computadores. Criar uma aplicação de rede é escrever programas que rodam em sistemas finais diferentes e se comunicam pela rede, como nas aplicações web. Não é preciso escrever software para os dispositivos do núcleo (roteadores, switches), porque eles não executam aplicações do usuário: apenas encaminham os dados. Por isso o desenvolvimento fica restrito aos sistemas finais.
PDU (Protocol Data Unit) é o bloco de dados trocado entre as camadas, e ele muda de nome conforme desce a pilha. Cada camada acrescenta suas próprias informações de cabeçalho. Na camada 4 (transporte), a PDU é o segmento (TCP) ou o datagrama (UDP), com as portas de origem e destino. Na camada 3 (rede), o OSI chama a PDU de pacote, com os IPs de origem e destino e o campo de protocolo; na nomenclatura do Kurose ela se chama datagrama. Na camada 2 (enlace), a PDU é o quadro (frame), com MAC de destino, MAC de origem, o campo de tipo e o FCS no final para detectar erros. Na camada 1 (física), são os bits.
Os serviços de transporte se classificam em quatro dimensões. A transferência confiável de dados garante a entrega, e perdas são inaceitáveis em e-mail, transferência de arquivos e aplicações financeiras, enquanto streaming de áudio e vídeo tolera algumas. A vazão é a taxa com que o remetente consegue enviar bits ao destinatário: aplicações sensíveis à largura de banda, como multimídia, precisam de um mínimo, e aplicações elásticas, como transferência de arquivos, usam o que houver. A temporização garante prazos de entrega, como cada bit em menos de 100 ms, e importa para VoIP, teleconferência e jogos. A segurança cobre criptografia, integridade dos dados e autenticação das pontas.
Os dois se baseiam em pilhas de protocolos independentes, e as camadas têm funções parecidas. O OSI tem três conceitos centrais: serviço (o que a camada faz, e não como), interface (como os processos acessam a camada) e protocolo (responsabilidade da própria camada). Como o OSI foi criado antes dos protocolos, ficou genérico e flexível, e seus protocolos são mais bem encapsulados e fáceis de substituir, embora tenham surgido incompatibilidades. O TCP/IP surgiu em 1974 com a ARPANET, que juntava redes de universidades e órgãos públicos, depois recebeu redes de rádio e satélite e precisava sobreviver à perda de hardware das sub-redes. Nele os protocolos vieram primeiro, o modelo não separa bem serviço, interface e protocolo, a camada de acesso ao meio é mal especificada e o modelo não se adapta a outras pilhas.
Para receber mensagens, tanto o hospedeiro quanto o processo precisam de um identificador. O hospedeiro tem um endereço IP exclusivo de 32 bits (IPv4), mas o IP sozinho não basta, porque vários processos rodam no mesmo hospedeiro. O identificador completo é o endereço IP mais o número de porta do processo. Exemplos: servidor web HTTP na porta 80 e HTTPS na 443, correio SMTP na 25 e SMTPS/submissão na 587. A lista oficial de portas é mantida pela IANA. Processos não têm IP próprio, e o MAC identifica apenas a placa.
O OSI tem, de cima para baixo: aplicação (7), apresentação (6), sessão (5), transporte (4), rede (3), enlace de dados (2) e física (1). O TCP/IP tem 4 camadas: aplicação, transporte, inter-redes e acesso ao meio (host/rede). O modelo híbrido, que é a pilha da Internet, tem 5: aplicação, transporte, rede, enlace e física. Em nenhum dos dois existem as camadas de apresentação e sessão, e o que elas fariam fica a cargo da aplicação.