Lista 02 - REdes PDF

Title Lista 02 - REdes
Author Alyson Veras
Course Redes De Computadores
Institution Universidade Federal do Ceará
Pages 17
File Size 200.2 KB
File Type PDF
Total Downloads 434
Total Views 576

Summary

CAPÍTULO 2 - LISTA DE EXERCÍCIOS E REVISÃONome: Alyson Veras de Araújo Matricula: 390245null1. Diferencie arquitetura cliente e servidor e arquitetura P2P.Arquitetura Cliente-Servidor• Servidor Host sempre ativo Endereço de IP permanente Fornece serviços solicitados pelo cliente Espera pra ser conta...


Description

UNIVERSIDADE FEDERAL DO CEARÁ DEPARTAMENTO DE ENGENHARIA DE TELEINFORMÁTICA (DETI) ENGENHARIA DE COMPUTAÇÃO PROFa. ATSLANDS REGO DA ROCHA

CAPÍTULO 2 - LISTA DE EXERCÍCIOS E REVISÃO

Nome: Alyson Veras de Araújo

Matricula: 390245

1. Diferencie arquitetura cliente e servidor e arquitetura P2P. Arquitetura Cliente-Servidor

• Servidor - Host sempre ativo - Endereço de IP permanente - Fornece serviços solicitados pelo cliente - Espera pra ser contatado - Centro de dados para escalabilidade • Cliente - Comunicam-se com o servidor - Podem ser conectado de forma intermitente - Podem ter endereços IP dinâmicos - Não se comunicam diretamente em si

• Arquitetura 2P2

- Não há servidores dedicados - Sistemas finais arbitrários são conectados diretamente intermitentemente e mudam endereço IP. - Auto-escalável (capacidade de serviço e demanda) - Altamente escalável, mas difícil de adminstrar

2. O que os protocolos de aplicação definem? • Tipos de mensagens trocadas: - Ex: request, response • Sintaxe da msg: - quais campos nas mensagens e como são delineados • Semântica da mensagem - Significado da informação nos campos • Regras - Quando e como processos enviam e respondem mensagem •Protocolos abertos - Definidos em RFCs - Permitem interoperabilidade • Protocolos proprietário - Skype.

3. Explique como os requisitos da aplicação influenciam na escolha do protocolo da camada de transporte que deve ser utilizado. Dê um exemplo de uma aplicação para CADA protocolo usado na camada de transporte no modelo TCP/IP e justifique a sua utilização. Os requisitos da aplicação influenciam na escolha levando em conta alguns fatores. Se os dados não precisarão ter uma garantia que chegará intactos e na ordem correta, se os dados tem que ter uma garantia a integridade e ordem de todos os dados, se poderá ter uma sensibilidade ao tempo, ou também se pode ocorrer o processo de vazão. Protocolo TCP O protocolo TCP realiza, além da multiplexação, uma série de funções para tornar a comunicação entre origem e destino mais confiável. São responsabilidades do protocolo TCP: o controle de fluxo e erro, a sequencia e a multiplexação de mensagens. Um programa/aplicação que uso o TCP são os gerenciadores de FTP (File Transfer Protocol), como o FileZilla, pois precisam garantir a integridade do recebimento/envio do arquivo, o que é proporcionado pelo TCP.

Protocolo UDP O protocolo UDP realiza apenas a multiplexação para que várias aplicações possam acessar o sistema de comunicação de forma coerente. Não possui confirmação de entrega e é geralmente usado na transmissão de informações de controle. O UDP usa os aplicativos que precisam garantir envio/recebimento dos dados. Por exemplo o Skype, e a Netiflix que sao programas de áudio/voz por ip.

4. Como funciona o protocolo HTTP? Utilize as mensagens GET e RESPONSE na resposta. TTP é o protocolo que permite web servers e browsers enviarem e receberem dados através da internet. É um protocolo de requisição e resposta -- o cliente faz a requisição e o servidor dá a resposta ao cliente. HTTP usa confiáveis conexões TCP, por default na porta 80. Uma requisição HTTP consiste em três componentes: - Cabeçalho da mensagem - Corpo da mensagem

- Requisição A requisição aparece na primeira linha. Cada requisição HTTP pode usar um dos muitos métodos de requisição existente, a versão HTTP/1.1 suporta sete tipos de requisição. Um dos mais usado é o GET. Similar as requisições, uma resposta HTTP consiste em três componentes: - Status-protocolo Descrição-código - Cabeçalhos de resposta - Corpo da entidade Tanto a requisição quanto a resposta apresentam um cabeçalho com algumas informações

5. Qual o formato da mensagem GET HTTP? E da mensagem RESPONSE HTTP? Quais informações elas contêm? Sugestão: Use o lab do wireshark. GET HTTP: GET /wireshark-labs/HTTP-wireshark-file1.html HTTP/1.1\r\n Host: gaia.cs.umass.edu\r\n Connection: keep-alive\r\n Upgrade-Insecure-Requests: 1\r\n User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36\r\n Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,ap plication/signed-exchange;v=b3;q=0.9\r\n Accept-Encoding: gzip, deflate\r\n Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7\r\n \r\n

• LINHA INICIAL 1 - Um método HTTP, no caso o GET 2 – O alvo da requisição, normalmente uma URL. 3 – A versão HTTP • CABEÇALHO 1 – Cabeçalhos Gerais : Vias, que se aplicam à mensagem como um todo 2 – Cabeçalhos de requisição: User agent, Accet-Type, modificam a requisição , especificando mais, como o Accept Language 3 – Cabeçalhos de entidade: Tem o

Content- Legth que se aplicam À mensagem

como um todo, na qual precisa ter um CORPO na requisição. • CORPO É a parte final da requisição. Nem todas possuem um. Os corpos podem ser divididos em duas categorias: - Corpos de recurso simples: Definido pelo dois cabeçalhos, Content-Type e ContentLength. - Corpos de recurso múltiplos: que consistem em um corpo em multiplas partes. É tipicamente associado para formulário HTML. RESPONSE HTTP: HTTP/1.1 200 OK\r\n Date: Mon, 17 Aug 2020 21:01:42 GMT\r\n Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.9 mod_perl/2.0.11 Perl/v5.16.3\r\n Last-Modified: Mon, 17 Aug 2020 05:59:04 GMT\r\n ETag: "80-5ad0c77cc561b"\r\n Accept-Ranges: bytes\r\n

Content-Length: 128\r\n [Content length: 128] Keep-Alive: timeout=5, max=100\r\n Connection: Keep-Alive\r\n Content-Type: text/html; charset=UTF-8\r\n \r\n • LINHA DE STATUS 1 – Versão do protocolo, normalmente HTTP/1.1 2 – Um código de status, indincando sucesso ou falhas. No nosso caso foi o 200. 3 – Um texto de status. No nosso caso a palavra “OK” • CABEÇALHOS - Cabeçalhos Gerais: Vias, que se aplicam à mensagem como um todo. - Cabeçalhos de resposta: Como Vary e Accept-Ranges, dão informação adicional sobre o servidor, que não cabe na linha de status - Cabeçalhos de entidade: Como content-Length, estes aplicam ao corpo da resposta. No mesmo caso da requisição,só será transmitidos se houver um corpo. • CORPO Do mesmo modo é a ultima parte da resposta. Aqui os corpos podem ser divididos em 3 partes. - Corpos de recurso simples que consistem em um único arquivo de tamanho conhecido definidos pelo Content-Type e Content-Length. - Corpos de recurso simples que consistem em um único arquivo de tamanho desconhecido, codificado aos pedaços com Transfer-Encoding ajustado para chucked. - Corpos de recurso múltiplo, que consiste em um corpo com múltiplas partes, cada uma contendo diferentes seções de informação. Estes são relativamente raros.

6. Por que o protocolo HTTP é conhecido como protocolo "sem estado"? O servidor envia ao cliente os arquivos solicitados sem armazenar qualquer informação de estado sobre o cliente. Porém se o cliente solicita o mesmo objeto duas vezes em um período de poucos segundos, o servidor não responde dizendo que acabou de enviá-lo; em vez disso, manda de novo o objeto, pois já esqueceu por completo o que fez antes. Como o servidor HTTP não mantém informação alguma sobre clientes, o HTTP é denominado um protocolo sem estado.

7. Descreva

a utilização de cookies pelos servidores. Como são armazenados nos

clientes? Quais os beneficios para os clientes em utilizá-los? Os cookies possuem 4 componentes: 1 uma linha de cabeçalho de cookie na mensagem de resposta HTTP. (2) uma linha de cabeçalho de cookie na mensagem de requisição HTTP. (3) um arquivo de cookie mantido no sistema final do usuário e gerenciado pelo navegador do usuário. (4) um banco de dados de apoio no site. Quando os clientes acessam determinados sites através de um navegador, o servidor desses sites criam um número de identificação exclusivo e uma entrada no seu banco de dados de apoio, que é indexado pelo seu número de identificação. Logo, esses servidores de sites responde ao navegador dos clientes incluindo uma resposta HTTP, um cabeçalho Set-cookie que contém o número de idetificação. Assim, quando o navegador do cliente acessa o site, ele irá vê o cabeçalho Set-cookie e, então anexa uma linha de arquivo especial de cookies que ele gerencia. Ela inclui o nome do hospedeiro e o seu número de identificação. Dentro do site, toda vez que o cliente requisita uma página seu navegador consulta seu arquivo de cookie, extrai seu número de identificação para o site e insere uma requisição HTTP na linha de cabeçãlho do cookie. Sendo assim, o servidor de tal site pode monitorar a atividade do cliente em seu site. Sabendo quais requisições de páginas foram feitas, em que ordem e horário. O que gera uma vantagem enorme para o servidor, Pois a partir disso pode oferecer sugestôes baseadas em seu historico de requisições. Em sites comerciais essa prática é muito utilizada.

8. Qual a diferença entre HTTP persistente e HTTP não persistente? Qual dos dois é usado pelo HTTP/1.1? A versão HTTP/1.0 utiliza conexões TCP não persistentes na comunicação clienteservidor. Já a versão 1.1 deste protocolo utiliza conexões persistentes. • Conexões não persistente Neste tipo de conexão, cada objeto requisitado pelo cliente ao servidor é transportado por uma conexão TCP, que se encerra imediatamente após a confirmação do recebimento do objeto. Desta forma, se um documento HTML, por exemplo, referenciar outros objetos, como arquivos JPEG, GIF, entre outros, novas conexões TCP deverão ser estabelecidas para transferência destes arquivos, além da conexão para obtenção do próprio arquivo HTML. Os browsers podem ter interpretações diferentes, pois o HTTP define apenas o protocolo de comunicação entre o cliente e o servidor. Podem ser configuradas conexões paralelas reduzindo o tempo de resposta. Por padrão, os browsers utilizam entre 5 e 10 conexões paralelas. • Conexões Persistentes As conexões do tipo persistente são caracterizadas pelo fato da conexão TCP permanecer aberta após o envio da resposta, ou seja, a conexão persiste durante o recebimento de todos os objetos referenciados. A requisição e a resposta utilizam-se da mesma conexão, esta só será encerrada ou fechada quando não for usada por um tempo que pode ser configurável. Desta forma, apenas uma conexão TCP é necessária para o recebimento completo de uma página Web. Além disso, outras páginas Web que estejam no mesmo servidor podem ser completamente recebidas pelo cliente através desta mesma conexão TCP. Existem duas versões de conexões persistentes: sem paralelismo e com paralelismo. Na primeira, uma nova requisição só é feita após a resposta da anterior, portanto, requer um RTT para cada objeto e pode permanecer ociosa aguardando outra requisição. Naquelas com paralelismo, o cliente emite requisições assim que encontra referências, ou seja, não aguarda respostas das requisições anteriores. Nesse caso, necessita apenas um RTT para todos os objetos e fica ociosa uma fração menor de tempo.

9. Quais as melhorias existentes no protocolo HTTP 2.0? Explique os novos mecanismos dessa versão do protocolo. O HTTP2 é uma tecnologia que surgiu em decorrência de um projeto anterior, o protocolo experimental SPDY desenvolvido pelo Google. O objetivo era diminuir a latência de carregamento das páginas web através da redução dos principais problemas encontrados no HTTP/1.1.

A mudança está no tráfego das informações entre o cliente: que hoje são navegadores web, sensores, dispositivos diversos e o servidor. O HTTP 2.0 surgiu para garantir significativos ganhos em tranferencia. Os benefícios são: - A necessidade de uso do HTTPS ou HSTS em sites, o HTTP2 funciona apenas utilizando um certificado digital para os navegadores. - Compressão de cabeçalhos - HTTP/2 Server Push Server Push é a habilidade do servidor de enviar conteúdo ao cliente sem que ele tenha requisitado aquele conteúdo ainda. Com as mudanças que ocorreram no protocolo, a comunicação passou a ser feita através de quadros dentro de fluxos de conexão permitindo com que o desenvolvedor possa enviar algum conteúdo antes mesmo do cliente ter feito a requisição. Essa funcionalidade é vantajosa quando se deseja ter uma interação mais dinâmica com o usuário.

10.

Como funciona o cache Web? Quais os benefícios de usá-lo em

uma rede? Um cache Web — também denominado servidor proxy — é uma entidade da rede que atende requisições HTTP em nome de um servidor Web de origem. O cache Web tem seu próprio disco de armazenagem e mantém, dentro dele, cópias de objetos recentemente requisitados. Tem como objetivo Satisfazer a requisição do cliente sem envolver servidor de origem. Funcionamento • Usuário prepara navegador: acessos à Web via cache. • Navegador envia todas as requisições HTTP ao cache. – IF objeto no cache, retorna objeto – ELSE: cache requisita objeto do servidor de origem, depois retorna objeto ao cliente Note que um cache é, ao mesmo tempo, um servidor e um cliente. Quando recebe requisições de um navegador e lhe envia respostas, é um servidor. Quando envia requisições para um servidor de origem e recebe respostas dele, é um cliente.

Os benefícios são que: - Reduz tempo de resposta à requisição do cliente - Reduz tráfego no enlace de acesso de uma instituição - Reduz tráfego da internet como um todo

11.

Para que serve o GET condicional do protocolo HTTP? Como

funciona? Embora o cache reduza os tempos de resposta do ponto de vista do usuário, fazer cache introduz um novo problema — a cópia de um objeto existente no cache pode estar desatualizada. Em outras palavras, o objeto abrigado no servidor pode ter sido modificado desde a data em que a cópia entrou no cache no cliente. No entatno, o HTTP tem um mecanismo que permite que um cache verifique se seus objetos estão atualizados. Esse mecanismo é denominado GET condicional. Seu funcionamento ocorre da seguinte forma: Cliente : especifica data da versão armazenada na requisição HTTP - If-modified-since Servidor: resposta não contém dados se a cópia esta atualizada - HTTP/1.0 304 Not Modified Se a resposta contém dados para atualizar a mensagem, o servidor dará uam resposta http. - HTTP/1.0 200 OK

12.

Quais os principais componentes do correio eletrônico (email)?

Como funciona o envio e a recuperação do email? Quais protocolos são utilizados? São três os componentes principais: • Agentes do usuário

• Servidores de correio • SMTP: Simple Mail Transfer Protocol São utilizados os protocolos HTTP e SMTP. Ambos os protocolos são usados para transferir arquivos de um hospedeiro para outro. O HTTP transfere arquivos (também denominados objetos) de um servidor para um cliente Web (em geral um navegador). O SMTP transfere arquivos (isto é, mensagens de e-mail) de um servidor de correio para outro. Ao transferir os arquivos, o HTTP persistente e o SMTP usam conexões persistentes. Assim, os dois protocolos têm características em comum. Existem, todavia, diferenças importantes. A primeira é que o HTTP é, principalmente, um protocolo de recuperação de informações (pull protocol) — alguém carrega informações em um servidor Web e os usuários utilizam o HTTP para recuperá-las quando quiserem. Em particular, a conexão TCP é ativada pela máquina que quer receber o arquivo. O SMTP, por sua vez, é, primordialmente, um protocolo de envio de informações (push protocol) — o servidor de correio remetente envia o arquivo para o servidor de correio destinatário. Em particular, a conexão TCP é ativada pela máquina que quer enviar o arquivo.

13.

Qual o formato da mensagem de envio do SMTP?

Usa TCP para transferência confiável de e-mails, porta 25 • Transferência direta: servidor que envia (“cliente”) para o servidor que recebe (“servidor”); • Interação comando/resposta – Comandos: texto ASCII – Resposta: código de estado e frase • Três fases de transferência – Handshaking (apresentação); – Transferência de mensagens; – Fechamento.

• Exemplo S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: S: 250 [email protected] ... Sender ok C: RCPT TO: S: 250 [email protected] ... Recipient ok C: DATA S: 354 Enter mail, end with “.” on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection Onde o cliente é o (C) e o servidor é o (S).

14.

Por que a porta 25 não é mais usada? Sugestão: assista o vídeo da aula

invertida sobre email. O Comitê Gestor da Internet, após anos de negociações com provedores de internet, finalmente decidiu fechar o acesso à porta 25, muito utilizado por spammers para envio de mensagens indesejadas. A porta agora utilizada pelo SMTP é 587.

15.

Compare os protocolos HTTP e o SMTP.

Já vimos que o HTTP difere no SMTP em relação ao envio e recuperação de email. Outra diferença é que o SMTP exige que cada mensagem, inclusive o corpo, esteja no formato ASCII de 7 bits. Se ela contiver caracteres que não estejam nesse formato (por exemplo, caracteres em francês, com acento) ou dados binários (como um arquivo de imagem), terá de ser codificada em ASCII de 7 bits. Dados HTTP não impõem esta restrição. E outra diferença está quanto ao modo como um documento que contém texto e imagem (juntamente com outros tipos possíveis de mídia) é manipulado.

16.

O que é e pra que serve o protocolo DNS?

O DNS é um banco de dados distribuído executado em uma hierarquia de servidores de DNS, e um protocolo de camada de aplicação que permite que hospedeiros consultem o banco de dados distribuído. Os servidores servem para traduzirem nomes para os endereços IP e vice-versa. Os servidores DNS secundários são uma espécie de cópia de segurança dos primários. Além desses serviços, o DNS possui mais alguns como Apelidos (aliasing) de hospedeiro, Apelidos de servidor de correio e Distribuição de carga.

17.

Por que a estrutura do DNS precisa ser distribuída?

Ela precisa ser distribuida, pois se isso nao ocorresse ele enfrentaria varios problemas, como, teria somente um único ponto de falha, ou seja, se ele parasse todo o resto da internet pararia. Também teria um grande volume de tráfego, um banco de dados distantes e uma manutençao constante devido a ter um numero grande de registros de todos os hospedeiros.

18.

Descreva a hierarquia de servidores. Qual a diferença do modo

iterativo e recursivo? O DNS usa um grande número de servidores, organizados de maneira hierárquica e distribuídos por todo o mundo. Nenhum servidor DNS isolado tem todos os mapeamentos para todos os hospedeiros da Internet. Em vez disso, os mapeamentos são distribuídos pelos servidores DNS. Como uma primeira aproximação, há três classes de servidores DNS: raiz, de domínio de alto nível (top-level domain — TLD) e servidores DNS autoritativos — organizados em uma hierarquia.

As três classes interagem da seguinte forma. suponha que um cliente DNS queira determinar o endereço IP para o nome de hospedeiro www.coisa.com. Como uma primeira aproximação, ocorrerão os seguintes eventos. Primeiro, o cliente contatará um dos servidores raiz, que retornará endereços IP dos servidores TLD para o domínio de alto nível com. Então, o cliente contatará um desses servidores TLD, que retornará o endereço IP de um servidor autoritativo para amazon.com. Por fim, o cliente contatará um dos servidores autoritativos para coisa.com, que retornará o endereço IP para o nome de hospedeiro www.coisa.com.

19.

Para que serve o cache DNS? Como ele funciona?

Para fazer o armazenamento do IP em uma máquina ou servidor, agilizando o acesso. Quando o site muda, por exemplo, o IP muda com ele, fazendo com que o cache não permita o acesso por um tempo. Por isso que ele expira a cada três dias (TTL), para que atualize as informações e permita o acesso aos novos endereços que serão armazenados. Se não quiser esperar o TTL (Time To Live), é possível limpar cache DNS manualmen...


Similar Free PDFs