0% acharam este documento útil (0 voto)
13 visualizações11 páginas

Redes Cap2

O documento aborda a camada de aplicação em redes, detalhando a comunicação entre cliente e servidor, e os protocolos de transporte TCP e UDP. Explora o funcionamento do HTTP, suas variantes persistente e não persistente, e a importância de cookies e caches na web. Também discute o sistema de e-mail, protocolos SMTP e IMAP, a hierarquia do DNS, e os desafios e soluções no streaming de vídeo.

Enviado por

ndavid.alves
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
13 visualizações11 páginas

Redes Cap2

O documento aborda a camada de aplicação em redes, detalhando a comunicação entre cliente e servidor, e os protocolos de transporte TCP e UDP. Explora o funcionamento do HTTP, suas variantes persistente e não persistente, e a importância de cookies e caches na web. Também discute o sistema de e-mail, protocolos SMTP e IMAP, a hierarquia do DNS, e os desafios e soluções no streaming de vídeo.

Enviado por

ndavid.alves
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 11

RESUMO REDES CAP 2

fernando riverson farias beserra

Agora começamos na camada de aplicação. Nela, onde ocorrem as aplicações que


são criadas, como redes sociais e email. Elas conseguem rodar em diferentes
sistemas e comunicam-se entre a rede, assim, não há de escrever softwares para o
núcleo da rede. Aplicações nos sistemas finais permitem rápido desenvolvimento e
disseminação. Nele, utiliza paradigma cliente e servidor, onde existe todo um
processo para se conectarem:

servidor—- cliente—-
sempre ligado comunicam com servidor
IP permanente Ip dinâmicos
data centers conectam qualquer hora

mas também existe o peer-to-peer (P2P) onde você se torna o cliente e o servidor.
exemplo que o renato deu foi o torrent. Assim, não precisa ter o custo de ter um
servidor principal, Distribuição de arquivo e um descentralização.

a comunicação de uma camada de aplicação à outra, acontece utilizando sockets:

Para enviar ou receber mensagens, um dispositivo existe um endereço IP único de 32


bits. Mas somente o IP não é suficiente para a conexão, assim utilizam também o
número de portas. ex: para enviar mensagem HTTP para o servidor web.
gaia.cs.umass.edu:
• endereço IP: 128.119.245.12
• número de porta: 80.

Para que o transporte de uma aplicação aconteça, ela precisa de uma segurança,
integridade dos dados, vazão ou retardos.
existem dois tipos de transporte de protocolos:

serviço TCP:
▪ transporte confiável entre processos remetente e receptor.
▪ controle de fluxo: remetente não vai “afogar” receptor.
▪ controle de congestionamento: estrangula remetente quando a rede estiver
carregada.
▪ orientado a conexão: apresentação requerida entre cliente e servidor.
▪ não provê: garantias temporais ou de banda mínima, segurança.

serviço UDP:
▪ transferência de dados não confiável entre processos remetente e receptor
▪ não provê: confiabilidade, controle de fluxo, controle de congestionamento,
garantias temporais, garantia de vazão, segurança, nem estabelecimento da conexão.

O interesse pelo UDP (User Datagram Protocol) em sistemas como redes peer-to-peer
(P2P) se deve principalmente às suas características de leveza, velocidade e
simplicidade.

para transformar TCP seguro, utilizan-se criptografías, integridade de dados,


autenticação de pontos, utilizam na camada de aplicação TSl que também utiliza tcp.
textos abertos enviados para o socket atravessam a Internet criptografadas.
WEB E HTTP

HTTP: hypertext transfer protocol. É um protocolo na


camada de aplicação da web, utilizam modelo
cliente/servidor, além disso, TCP, cliente cria um socket
ao servidor, porta 80, faz a conexão, recebe a
mensagem http e encerra contato, assim, servidor não
guarda informações sobre pedidos anteriores do
cliente.

O HTTP utiliza dois tipos de conexões TCP:

HTTP não-persistente 1. abre conexão TCP, 2. no máximo um objeto é enviado pela


conexão TCP, 3. encerra a conexão TCP. (baixar múltiplos objetos requer o uso de
múltiplas conexões).

HTTP persistente 1. abre conexão TCP com o servidor, 2. múltiplos objetos podem ser
enviados sobre uma única conexão TCP entre cliente e servidor, 3. encerra a conexão
TCP.

Um exemplo de não persistente: você acessa uma página onde tem 3 imagens. você
faz conexão com servidor e recebe uma imagem; servidor encerra conexão. você faz
novamente conexão com servidor e recebe outra imagem; servidor encerra conexão.
você faz novamente conexão com servidor e recebe outra imagem; servidor encerra
conexão. você viu? três imagens baixadas, três conexões feitas.

definição de RTT (Round Trip Time):


intervalo de tempo entre a ida e a volta de um pequeno
pacote entre um cliente e um servidor.
tempo de resposta HTTP (por objeto):

▪ um RTT para iniciar a conexão TCP.


▪ um RTT para o pedido HTTP e o retorno dos primeiros
bytes da resposta HTTP.
▪ tempo de transmissão do objeto/arquivo.
Questões com o HTTP não-persistente:
▪ requer 2 RTTs para cada objeto.
▪ SO aloca recursos do hospedeiro (overhead) para cada conexão TCP.
▪ os navegadores frequentemente abrem conexões TCP paralelas para recuperar os
objetos referenciados.

HTTP Persistente (HTTP 1.1):


▪ o servidor deixa a conexão aberta após enviar a resposta.
▪mensagens HTTP seguintes entre o mesmo cliente/servidor são enviadas nesta
conexão aberta.
▪ o cliente envia os pedidos logo que encontra um objeto referenciado
▪ pode ser necessário apenas um RTT para todos os objetos referenciados (cortando
o tempo de resposta pela metade) .

Os métodos de requisição HTTP:

método POST:
▪ páginas Web frequentemente contêm formulário de entrada.
▪ O conteúdo é enviado para o servidor no corpo da mensagem POST.
método HEAD:
▪ solicita (apenas) cabeçalhos que seriam retornados se a URL especificada fosse
solicitada por um método GET.

método GET (para envio de dados ao servidor):


▪ inclui dados do usuário no campo URL da mensagem de requisição GET (após a
‘?’):

método PUT:
▪ carrega um novo arquivo (objeto) no servidor
▪substitui completamente o arquivo existente numa URL especificada com o
conteúdo no corpo da mensagem de solicitação.

códigos de resposta do status http:


200 ok: sucesso, objeto pedido segue mais adiante nesta mensagem.
301 Moved Permanently:objeto pedido mudou de lugar, nova localização especificado
mais adiante nesta mensagem (no campo Location:).
400 Bad Request: mensagem de pedido não entendida pelo servidor.
404 Not Found: documento pedido não se encontra neste servidor.
505 HTTP Version Not Supported: versão de HTTP do pedido não usado por este
servidor.

lembra do cookies? os servidores não guardam as informações do usuário em cada


conexão, mas, utilizam cookies para manter um estado entre as transações. ex:

Suzana usa navegador num laptop, visita um sítio específico de comércio eletrônico
pela primeira vez.
quando as solicitações iniciais HTTP chegam no sítio, o sítio cria:
• uma ID única (“cookie”).
• uma entrada para a ID no BD de retaguarda
• As solicitações HTTP seguintes de Suzana para este sítio conterá o valor do ID do
cookie, permitindo ao sítio “identificar” Suzana.

O que é um cache web?

Um cache web armazena cópias de recursos web (como páginas HTML, imagens,
vídeos, arquivos CSS/JS) que já foram solicitados, para que não precisam ser
baixados novamente do servidor original a cada acesso.

O que é um servidor proxy cache (ou proxy de cache)?

É um intermediário entre o cliente (navegador) e o servidor web. Ele recebe as


requisições do usuário e:

Verifica se já tem o conteúdo em cache. Se tiver, entrega diretamente sem consultar o


servidor original. Se não tiver, busca o conteúdo no servidor original, salva no cache
e depois envia para o cliente.

vantagens: rapidez no carregamento, menor consumo de banda, menos cargas nos


servidores e mais segurança.

Cache no navegador: GET Condicional

É uma requisição HTTP GET em que o navegador pergunta ao servidor:


“Eu já tenho esse arquivo armazenado. Ele ainda está atualizado?”
Se o servidor disser "sim, nada mudou", o navegador utiliza o que está no cache.
Se o servidor disser "não, foi modificado", ele envia a nova versão.

vantagens: menos tráfego de rede, melhor desempenho e atualização automática.

Já vimos muita informação, que tal responder algumas perguntas?


1-Explique a camada de aplicação, quais paradigmas utiliza.
2-O que é sockets? Como funciona na prática?
3- Quais os dois tipos de transporte de protocolos? Explique cada um.
4-Fale sobre HTTP, HTTP persistente e não persistente.
5- Os métodos de requisição HTTP:
6- códigos de resposta do status http:
7- fale sobre cookies e memória cache.

TUDO SOBRE EMAIL

O sistema de e-mail funciona como um serviço de mensagens assíncronas. As


mensagens são compostas e enviadas por um usuário, armazenadas em servidores
e, depois, acessadas pelo destinatário quando ele quiser. Existem os componentes
principais:
Agente de Usuário (UA): é o programa que você usa para enviar e receber e-mails (ex:
Outlook, Gmail, Apple Mail).
Servidor de Correio (Mail Server): responsável por armazenar e encaminhar
mensagens.
Fila de mensagens: armazena os e-mails que ainda não foram entregues.
Protocolo SMTP: realiza a entrega da mensagem entre os servidores.

mais detalhes sobre o SMTP:


Como dito anteriormente, protocolo utilizado para enviar e-mails. Trabalha com TCP
na porta 25, garantindo entrega confiável. Utiliza modelo push: o servidor do
remetente empurra (envia) a mensagem para o servidor do destinatário.

Comunicação é feita por comandos e respostas em texto ASCII:

●​ HELO → saudação inicial​

●​ MAIL FROM → especifica o remetente​

●​ RCPT TO → especifica o destinatário​

●​ DATA → envia o conteúdo do e-mail​

●​ QUIT → encerra a conexão

IMAP (Internet Message Access Protocol)

Protocolo usado para acessar os e-mails


armazenados no servidor. Permite que o usuário
veja pastas, marque mensagens como lidas,
organize e-mails etc. Ao contrário do POP3,
mantém os e-mails no servidor, trabalha
geralmente na porta 143 (ou 993 com SSL).

DNS – Domain Name System​

O DNS é um sistema distribuído que funciona como a "agenda de contatos da


Internet". Ele converte nomes de domínio legíveis por humanos (como
www.google.com) em endereços IP (como 142.250.190.36), que os computadores
realmente usam para se comunicar. Sem o DNS, teríamos que decorar IPs numéricos
para acessar sites, o que seria impraticável.

O DNS é descentralizado e organizado hierarquicamente em diferentes tipos de


servidores. A descentralização torna o DNS escalável, resiliente e eficiente, por isso
não é centralizado.
Servidor Raiz (Root DNS)- Primeiro nível da hierarquia. Redireciona para os
servidores TLD. Existem 13 servidores lógicos, mas centenas de cópias físicas ao
redor do mundo.​

Servidor TLD (Top-Level Domain)- Gerencia domínios como .com, .org, .edu, .br.​
responde informando o servidor autoritativo do domínio solicitado.

Servidor Autoritativo- contém a resposta final: o endereço IP do domínio específico


(ex: www.unicamp.br). É mantido pela empresa ou organização responsável pelo
domínio.

Servidor DNS local (ou recursivo)- Mantido pelo provedor de internet (ISP) ou pela
rede local.É o primeiro lugar onde o computador pergunta por uma tradução DNS.Ele
pode já saber a resposta (cache) ou consultar a hierarquia inteira.

existem alguns tipos de consulta dns:

Consulta Interativa- O servidor responde com a próxima etapa (ex: “não sei, mas
pergunte ao servidor TLD .com”).

Consulta Recursiva- O servidor resolve tudo para você, indo atrás das respostas até
encontrar o IP final, mas acaba sobrecarregando o servidor.

Para aumentar o desempenho, servidores DNS armazenam as respostas em cache


por um tempo (TTL – Time To Live). Assim, consultas repetidas podem ser
respondidas rapidamente sem refazer todo o processo.​

DNSSEC (DNS Security Extensions): adiciona autenticação e integridade nas


respostas DNS.Ajuda a evitar ataques como DNS spoofing, onde hackers tentam
redirecionar o usuário para um site falso.​

Streaming de vídeo e CDNs: contexto

O que é Streaming de Vídeo?

Streaming é o processo de transmitir áudio e vídeo pela internet em tempo real ou


quase em tempo real, sem necessidade de baixar o conteúdo inteiro antes de
começar a assistir.

Existem dois tipos principais:

Streaming sob demanda (VoD – Vídeo on Demand): o usuário escolhe quando assistir
(Netflix, YouTube).

Streaming ao vivo (live streaming): transmissão em tempo real (YouTube Live, Twitch,
videoconferências).

existem alguns desafios que precisam ser enfrentados:

Atraso (latência), Perda de Pacotes,Jitter (variação de atraso), Vazão (throughput)​

existem algumas soluções para esses problemas:

Buffering
Pequeno armazenamento temporário no cliente para compensar variações de atraso e
perda de pacotes.​
Ex: quando o vídeo “carregar” antes de iniciar.​

Streaming Adaptativo – DASH (Dynamic Adaptive Streaming over HTTP)


O vídeo é dividido em segmentos curtos de vários níveis de qualidade.
O cliente escolhe dinamicamente o segmento mais adequado, com base na banda de
rede disponível.​
Usa o protocolo HTTP e portas padrão, o que facilita a travessia de firewalls e NATs.​

CDN (Content Delivery Network) é uma rede de servidores distribuídos


geograficamente que armazenam cópias de conteúdos (vídeos, imagens, páginas
web) mais próximos dos usuários finais. ele reduz a latência, aumenta a
confiabilidade, economia de banda larga e melhor escalabilidade.

Exemplo prático: assistindo a um filme na Netflix:

Você acessa o catálogo da Netflix (servidor central).


Ao clicar em um filme, o conteúdo é entregue de um servidor de borda próximo à sua
localização, reduzindo o atraso.​
Se sua conexão cair, o vídeo continua por alguns segundos por causa do buffer.​
Se sua internet oscilar, o DASH ajusta a qualidade do vídeo automaticamente para
evitar travamentos.​
Relação com protocolos da camada de transporte

●​ TCP é comum em streaming sob demanda, pois garante entrega correta.​

●​ UDP + RTP pode ser usado para transmissões ao vivo, pois oferece menor
latência, mesmo com possível perda de pacotes.​

●​ Em geral, o HTTP (sobre TCP) é o mais usado, pois é compatível com proxies,
firewalls e cache web.

para finalizar, algumas perguntas


1-Explique o sistema de e-mail e como funciona.
2-Explique o protocolo SMTP e o IMAP.
3- fale sobre o DNS e sua hierarquia explicando cada uma.
4- como funciona a consulta interativa e rescursiva
5- fale sobre os problemas dos streams de vídeo e como são resolvidos.
6-Como é feito a interação do socket utilizando tcp e udp.

Você também pode gostar