Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso: informática Turma: 922 Aluno: Rafael Albuquerque Salsa Disciplina: Introdução à rede de computadores Exercícios do capítulo 2: SEÇÃO 2.1 R1. Relacione cinco aplicações da Internet não proprietárias e os protocolos de camada de aplicação que elas usam. Resposta: Navegador Edge, que roda no hospedeiro do usuário; Navegador Google, que roda no hospedeiro do usuário; Navegador FireFox, que roda no hospedeiro do usuário; Servidor Web, que roda na máquina deste; Sistema de compartilhamento de arquivos P2P no qual há um programa em cada máquina que participa da comunidade de compartilhamento de arquivos. R2. Qual é a diferença entre arquitetura de rede e arquitetura de aplicação? Resposta: Do ponto de vista do profissional que desenvolve a aplicação, a arquitetura de rede é fixa e provê um conjunto específico de serviços. Por outro lado, a arquitetura da aplicação é projetada pelo programador e determina como a aplicação é organizada nos vários sistemas finais. R3. Para uma sessão de comunicação entre um par de processos, qual processo é o cliente e qual é o servidor? Resposta: Em uma arquitetura P2P eles não são de propriedade dos provedores de serviço, mas são controlados por usuários de computadores de mesa e laptops, cuja maioria se aloja em residências, universidades e escritórios. Mesmo assim, no contexto de qualquer dada sessão entre um par de processos, ainda podemos rotular um processo de cliente e o outro de servidor. R4. Em uma aplicação de compartilhamento de arquivos P2P, você concorda com a afirmação: “não existe nenhuma noção de lados cliente e servidor de uma sessão de comunicação”? Justifique sua resposta. Resposta: Não, pois para cada par de processos comunicantes normalmente rotulamos um dos dois processos de cliente e o outro, de servidor. Na Web, um navegador é um processo cliente e um servidor Web é um processo servidor. No compartilhamento de arquivos P2P, o par que envia o arquivo é rotulado de cliente e o que recebe, de servidor. R5. Que informação é usada por um processo que está rodando em um hospedeiro para identificar um processo que está rodando em outro hospedeiro? Resposta: O endereço IP do host de destino e o número da portaria do socket de destino. R6. Suponha que você queria fazer uma transação de um cliente remoto para um servidor da maneira mais rápida possível. Você usaria o UDP ou o TCP? Por quê? Resposta: Eu usaria o UDP, pois o cliente descrito acima preza por agilidade e nesse caso (com o UDP) a transação pode ser concluída em um Round Trip Time (RTT), já com o TCP seria necessário dois RTTs. R7. Com referência à Figura 2.4, vemos que nenhuma das aplicações relacionadas nela requer “sem perda de dados” e “temporização”. Você consegue imaginar uma aplicação que requeira “sem perda de dados” e seja também altamente sensível ao atraso? Resposta: Não consigo imaginar, porque o TCP garante a agilidade e falha na segurança de entrega. O UDP garante a segurança da entrega e falha na agilidade. R8. Relacione quatro classes de serviços que um protocolo de transporte pode prover. Para cada uma, indique se o UDP ou o TCP (ou ambos) fornece tal serviço. Resposta: 1.Transferência confiável-TCP 2.Vazão-UDP 3.Temporização-UDP 4.Segurança-TCP. R9. Lembre-se de que o TCP pode ser aprimorado com o SSL para fornecer serviços de segurança processo a processo, incluindo a decodificação. O SSL opera na camada de transporte ou na camada de aplicação? Se o desenvolvedor da aplicação quer que o TCP seja aprimorado com o SSL, o que ele deve fazer? Resposta: O SSL opera na camada de aplicação. O serviço deve fazer o login para ter acesso aos recursos e objetos no sistema. Ele fornece de maneira automática as atualizações recentes, drivers e aprimoramento a computadores Windows, as inscrições de configuração do TCP/IP e as fornecem aos computadores. SEÇÕES 2.2-2.5 R10. O que significa protocolo de apresentação (handshaking protocol)? Resposta: É o estabelecimento da conexão TCP, ou seja, inicialmente deve ocorrer a troca dos parâmetros necessários para realização dos controles de erro, fluxo e congestionamento. R11. Por que HTTP, FTP, SMTP, POP3 rodam sobre TCP e não sobre UDP? Resposta: Porque em todos esses protocolos há troca de mensagens e o TCP oferece um serviço confiável a esses protocolos garantindo que as mensagens cheguem intactas aos clientes. R12. Considere um site de comércio eletrônico que quer manter um registro de compras para cada um de seus clientes. Descreva como isso pode ser feito com cookies. Resposta: Quando um usuário utiliza um site pela primeira vez é criado um número de cookie que fica armazenado num banco de dados. Em visitas posteriores, o navegador envia esse número de cookie para o site, assim ele sabe quando aquele usuário está navegando no site e prepara produtos específicos para aquele cliente. R13. Descreva como o cache Web pode reduzir o atraso na recepção de um objeto requisitado. O cache Web reduzirá o atraso para todos os objetos requisitados por um usuário ou somente para alguns objetos? Por quê? Resposta: O cache web serve para trazer o conteúdo rapidamente, ele reduz o tráfego, melhorando toda a rede. O cache web reduz o atraso para todos os objetos. R14. Digite um comando Telnet em um servidor Web e envie uma mensagem de requisição com várias linhas. Inclua nessa mensagem a linha de cabeçalho If-modified-since: para forçar uma mensagem de resposta com a codificação de estado 304 Not Modified. Resposta: Depois do comando get conditional, essa resposta quer dizer que a versão que está na memória cache é a mesma que está no servidor, ou seja, não foi atualizado desde a última requisição. R15. Por que se diz que o FTP envia informações de controle “fora da banda”? Resposta: Porque ele usa suas conexões TCP separadas, uma para enviar informações e outra para transferir arquivos. R16. Suponha que Alice envie uma mensagem a Bob por meio de uma conta de e-mail da Web (como o Hotmail ou gmail), e que Bob acesse seu e-mail por seu servidor de correio usando POP3. Descreva como a mensagem vai do hospedeiro de Alice até o hospedeiro de Bob. Não se esqueça de relacionar a série de protocolos de camada de aplicação usados para movimentar a mensagem entre os dois hospedeiros. Resposta: A mensagem é primeiramente enviada para o hospedeiro de Alice para seu servidor de correio sobre o HTTP. O servidor de correio de Alice envia a mensagem para o servidor de correio de Bob sobre o SMTP. Bob transfere a mensagem do seu email para seu hospedeiro sobre o POP3. R17. Imprima o cabeçalho de uma mensagem de e-mail que tenha recebido recentemente. Quantas linhas de cabeçalho Received: há nela? Analise cada uma. Resposta: R = Received: from ifal.br by ras17 : 08 Nov 11 20:26:55 From- significa quem enviou o email. By- a quem é destinado. R18. Do ponto de vista de um usuário, qual é a diferença entre o modo ler-e-apagar e o modo ler-e-guardar no POP3? Resposta: O modo ler-e-guardar permite que o usuário releia a mensagem em máquinas diferentes, já o modo ler-e-apagar priva o usuário dessa portabilidade. R19. É possível que o servidor Web e o servidor de correio de uma organização tenham exatamente o mesmo apelido para um nome de hospedeiro (por exemplo, foo.com)? Qual seria o tipo de RR que contém o nome de hospedeiro do servidor de correio? Resposta: Quando um servidor de correio envia correspondência para outros, age como um cliente SMTP. Quando o servidor de correio recebe correspondência de outros, age como um servidor SMTP. R20. Examine seus e-mails recebidos e veja o cabeçalho de uma mensagem enviada de um usuário com um endereço de correio eletrônico .edu. É possível determinar, pelo cabeçalho, o endereço IP do hospedeiro do qual a mensagem foi enviada? Faça o mesmo para uma mensagem enviada de uma conta do gmail. Resposta: SEÇÃO 2.6 R21. No BitTorrent, suponha que Alice forneça blocos para Bob durante um intervalo de 30 s. Bob retornará, necessariamente, o favor e fornecerá blocos para Alice no mesmo intervalo? Por quê? Resposta:Não é necessário que Bob forneça blocos para Alice, pois dependerá da taxa de Bob, se a taxa de transmissão será alta o suficiente para troca em sim, caso os dois pares estejam satisfeitos com a troca, eles colocaram um ao outro nas suas listas de quatro melhores pares e continuarão a trocar até que um dos encontre um parceiro melhor. R22. Considere um novo par, Alice, que entra no BitTorrent sem possuir nenhum bloco. Sem qualquer bloco, ela não pode se tornar uma das quatro melhores exportadoras de dados para qualquer dos outros pares, visto que ela não possui nada para enviar. Então, como Alice obterá seu primeiro bloco? Resposta: Assim que se tornar um novo par, o rastreador selecionará de forma aleatória Alice por um subconjunto de pares para dados concretos. Com a lista de pares, Alice tenta estabelecer conexões TCP simultâneas com todos os pares da lista. Os pares com que Alice conseguirá estabelecer conexões são os chamados "pares vizinhos". Com o tempo algum desses pares poderão sair e outros pares podem tentar estabelecer conexões TCP com Alice. De tempos em tempos, Alice pedirá a cada um de seus pares vizinhos a lista de quais blocos eles têm. E a partir disso, Alice terá um subconjunto de blocos e saberá quais blocos seus vizinhos têm e usará uma técnica chamada de rarest First. R23. O que é uma rede de sobreposição? Ela inclui roteadores? O que são as arestas da rede de sobreposição? Resposta: A rede de sobreposição vai consistir de nós participantes no compartilhamento de arquivos e ligações lógicas entre esses nós. Há uma ligação lógica de um nó A para um nó B se existe uma conexão de TCP semi-permanente entre A e B. Uma rede de sobreposição não inclui roteadores. E com o Gnutella, por exemplo, quando um nó quer se juntar a rede, primeiro ele descobre ("fora da banda") o endereço IP de um ou mais nós que já estão na rede. Em seguida envia mensagens para se juntar a estes nós. Quando o nó recebe confirmações, torna-se membro da rede Gnutella. Os nós mantêm suas ligações lógicas com mensagens de atualizações periódicas. R24. Considere um DHT com uma topologia da rede de sobreposição (ou seja, cada par rastreia todos os pares no sistema). Quais são as vantagens e desvantagens de um DHT circular (sem atalhos)? Resposta: Malha DHT: A vantagem é que a rota para os pares mais próximo da chave, apenas um salto(Hop) é necessário e a desvantagem é que cada par deve rastrear todos os outros pares participantes do DHT. DHT circular: A vantagem obtida é que cada par precisa acompanhar apenas alguns poucos pares e a desvantagem é que O(n) saltos são necessários para encaminhar uma mensagem para um colega responsável pela chave. R25. Relacione pelo menos quatro diferentes aplicações que são apropriadas naturalmente para arquiteturas P2P. (Dica: Distribuição de arquivo e mensagem instantânea são duas.) Resposta: I) Mensagens instantâneas; II) Compartilhamento de arquivos; III) Streaming de vídeo; IV) Computação distribuída; V) Compartilhamento de capacidade de armazenamento. SEÇÃO 2.7 R26. O servidor UDP descrito na Seção 2.7 precisava de um socket apenas, ao passo que o servidor TCP precisava de dois. Por quê? Se um servidor TCP tivesse de suportar n conexões simultâneas, cada uma de um hospedeiro cliente diferente, de quantos sockets precisaria? Resposta: Com o servidor UDP, não existe nenhum socket(porta) de boas-vindas e todos os dados de clientes diferentes entram no servidos através de um socket(porta). Com o servidor TCP, existe um socket de boas vindas, e cada vez que um cliente inicia uma conexão com o servidor, um novo socket é criado. Dessa forma, para o servidor suportar N conexões simultâneas, o servidor teria de n +1 sockets. R27. Para a aplicação cliente-servidor por TCP descrita na Seção 2.7, por que o programa servidor deve ser executado antes do programa cliente? Para a aplicação cliente-servidor por UDP, por que o programa cliente pode ser executado antes do programa servidor? Resposta: Na aplicação TCP, logo que o cliente é executado, ele tenta iniciar uma conexão TCP com o servidor. Se o servidor TCP não está funcionando, então a conexão irá falhar. Na aplicação UDP, o cliente não inicia conexões, nem tenta comunicar-se com o servidor UDP imediatamente após a execução.
Compartilhar