Aplicações e Serviços de Rede
Aplicações e serviços de rede são os programas e protocolos que operam na borda da rede e entregam valor aos usuários — desde a web e e-mail até o Sistema de Nomes de Domínio e redes de distribuição de conteúdo — construídos sobre os serviços de transporte subjacentes.
Definition
A camada de aplicação é a camada de protocolo mais superior, onde os processos de aplicação em rede trocam mensagens de acordo com protocolos específicos da aplicação; os serviços de rede são a infraestrutura de suporte, como nomeação e entrega de conteúdo, da qual essas aplicações dependem.
Scope
Esta área abrange a camada de aplicação e os serviços de infraestrutura que a suportam: arquiteturas de aplicação (cliente-servidor e ponto a ponto), protocolos de aplicação centrais como HTTP, SMTP e FTP, o Sistema de Nomes de Domínio que mapeia nomes legíveis por humanos para endereços, redes de distribuição de conteúdo que replicam conteúdo próximo aos usuários, e uma visão geral da segurança de rede conforme se aplica a sistemas de comunicação. Exclui os mecanismos da camada de transporte nos quais se baseia, focando, em vez disso, nos serviços que as aplicações expõem e nos protocolos que utilizam.
Sub-topics
Core questions
- Como as aplicações de rede são estruturadas — cliente-servidor versus ponto a ponto — e quais são as vantagens e desvantagens?
- Como os protocolos de aplicação centrais, como HTTP e SMTP, definem formatos e interações de mensagens?
- Como o Sistema de Nomes de Domínio traduz nomes em endereços de forma escalável e distribuída?
- Como as redes de distribuição de conteúdo reduzem a latência e a carga replicando conteúdo próximo aos usuários?
- Quais propriedades de segurança — confidencialidade, integridade, autenticação — as aplicações em rede devem fornecer e como?
Key concepts
- arquitetura cliente-servidor
- arquitetura ponto a ponto
- HTTP e a web
- protocolos de e-mail (SMTP, IMAP)
- Sistema de Nomes de Domínio (DNS)
- cache e hierarquia DNS
- redes de distribuição de conteúdo (CDNs)
- sockets e APIs de aplicação
- confidencialidade, integridade e autenticação
- segurança da camada de transporte (TLS)
Key theories
- Arquiteturas cliente-servidor e ponto a ponto
- As aplicações são organizadas em torno de servidores sempre ativos que os clientes contatam, o que centraliza o gerenciamento, mas concentra a carga, ou como sistemas ponto a ponto, onde os hosts participantes solicitam e servem, o que escala com a população de usuários, mas complica o gerenciamento e a segurança.
- Nomeação hierárquica e distribuída (DNS)
- O Sistema de Nomes de Domínio resolve nomes para endereços através de uma hierarquia de servidores autoritativos delegados e cache agressivo, fornecendo um serviço de consulta escalável e resiliente que nenhuma organização única controla de ponta a ponta.
- Replicação e distribuição de conteúdo
- As redes de distribuição de conteúdo colocam cópias de conteúdo em servidores próximos aos usuários e direcionam cada solicitação para uma réplica adequada, reduzindo a latência, a carga do servidor de origem e o tráfego de backbone — uma razão fundamental pela qual os serviços de web e streaming em larga escala têm bom desempenho.
Clinical relevance
A camada de aplicação é o que os usuários realmente experimentam: a web, mídia de streaming, mensagens e serviços em nuvem residem todos aqui. O DNS é uma dependência crítica para quase todas as interações online, e suas falhas podem ter efeitos em cascata. As redes de distribuição de conteúdo transportam uma grande parte do tráfego da Internet e são centrais para a entrega de vídeo e software em escala, enquanto a segurança da camada de aplicação via TLS protege a confidencialidade e a integridade da comunicação diária.
History
As primeiras aplicações da Internet foram e-mail e transferência de arquivos; a World Wide Web, inventada por Tim Berners-Lee por volta de 1990 com HTTP e HTML, transformou a Internet em um meio de massa. O Sistema de Nomes de Domínio (Mockapetris, meados da década de 1980) substituiu um arquivo plano de nomes de host por um diretório distribuído escalável. As redes de distribuição de conteúdo surgiram no final da década de 1990 para lidar com o crescimento da web, e a criptografia da camada de aplicação amadureceu de SSL para TLS para proteger as comunicações.
Debates
- Serviços de nuvem cliente-servidor centralizados versus sistemas ponto a ponto descentralizados
- As arquiteturas de nuvem centralizadas oferecem capacidade de gerenciamento e desempenho consistente, mas concentram o controle e criam pontos únicos de falha, enquanto os designs ponto a ponto e descentralizados distribuem a carga e o controle ao custo da complexidade; o equilíbrio se repete em compartilhamento de arquivos, entrega de conteúdo e esforços emergentes da web descentralizada.
Key figures
- Tim Berners-Lee
- Paul Mockapetris
- Roy Fielding
- Jon Postel
Related topics
Seminal works
- kurose2021
- rfc9110
- rfc1035
Frequently asked questions
- O que o Sistema de Nomes de Domínio faz?
- O DNS traduz nomes amigáveis para humanos, como example.com, nos endereços IP que a camada de rede precisa para rotear pacotes. É um banco de dados distribuído e hierárquico com cache, de modo que as consultas são rápidas e o sistema escala para toda a Internet sem que nenhum servidor único contenha todos os nomes.
- Como uma rede de distribuição de conteúdo acelera a web?
- Uma CDN armazena cópias de conteúdo em muitos servidores espalhados pelo mundo e direciona a solicitação de cada usuário para uma cópia próxima. Isso encurta o caminho da rede, reduzindo a latência e a perda de pacotes, ao mesmo tempo em que desafoga o servidor de origem e reduz o tráfego de longa distância, o que, em conjunto, melhora a velocidade e a confiabilidade.