redes de computadores - wiki.sj.ifsc.edu.br · “redes de computadores e a internet: uma abordagem...

60
Redes de Computadores 2014 – 2 Área de Telecomunicações slide 1 Instituto Federal de Santa Catarina Redes de Computadores RES 12502

Upload: others

Post on 18-Jun-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 1

Instituto Federal de Santa Catarina

Redes de Computadores RES 12502

Page 2: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 2

O material para essas apresentações foi retirado das apresentações disponibilizadas pela Editora Pearson para o livro

“Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross.

Page 3: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 3

Capítulo 2 Camada de aplicação

© 2014 Pearson. Todos os direitos reservados.

Page 4: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 4

© 2014 Pearson. Todos os direitos reservados.

•  O núcleo do desenvolvimento de aplicação de rede é escrever programas que rodem em sistemas finais diferentes e se comuniquem entre si.

•  Ao desenvolver sua nova aplicação, você precisará escrever um software que rode em vários sistemas finais.

•  Esse software poderia ser criado, por exemplo, em C, Java ou Python.

•  Você não precisará escrever programas que executem nos elementos do núcleo de rede, como roteadores e comutadores.

Princípios de aplicações de rede

Page 5: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 5

© 2014 Pearson. Todos os direitos reservados.

•  A arquitetura de rede é fixa e provê um conjunto específico de serviços.

•  A arquitetura da aplicação é projetada pelo programador e determina como a aplicação é organizada nos vários sistemas finais.

•  Em uma arquitetura cliente-servidor há um hospedeiro sempre em funcionamento, denominado servidor, que atende a requisições de muitos outros hospedeiros, denominados clientes.

Arquiteturas de aplicação de rede

Page 6: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 6

© 2014 Pearson. Todos os direitos reservados.

•  A comunicação de uma aplicação de rede ocorre entre sistemas finais na camada de aplicação.

Arquiteturas de aplicação de rede

Page 7: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 7

© 2014 Pearson. Todos os direitos reservados.

•  A arquitetura P2P utiliza a comunicação direta entre duplas de hospedeiros conectados alternadamente, denominados pares.

•  Uma das características mais fortes da arquitetura P2P é sua autoescalabilidade.

•  As futuras aplicações P2P estão diante de três principais desafios:

1.  ISP Amigável. 2.  Segurança. 3.  Incentivos.

Arquiteturas de aplicação de rede

Page 8: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 8

© 2014 Pearson. Todos os direitos reservados.

Arquiteturas de aplicação de rede

Page 9: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 9

© 2014 Pearson. Todos os direitos reservados.

•  Processos de aplicação, sockets e protocolo de transporte subjacente.

Comunicação entre processos

Page 10: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 10

© 2014 Pearson. Todos os direitos reservados.

•  Uma aplicação de rede consiste em pares de processos que enviam mensagens uns para os outros por meio de uma rede.

•  Um processo envia mensagens para a rede e recebe mensagens dela através de uma interface de software denominada socket.

•  Para identificar o processo receptor, duas informações devem ser especificadas:

1.  o endereço do hospedeiro e 2.  um identificador que especifica o processo receptor no

hospedeiro de destino.

Comunicação entre processos

Page 11: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 11

© 2014 Pearson. Todos os direitos reservados.

•  Transferência confiável de dados

•  Vazão

•  Temporização

•  Segurança

Serviços de transporte disponíveis para aplicações

Page 12: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 12

© 2014 Pearson. Todos os direitos reservados.

•  A Internet disponibiliza dois protocolos de transporte para aplicações, o UDP e o TCP.

•  Requisitos de aplicações de rede selecionadas:

Serviços de transporte providos pela Internet

Page 13: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 13

© 2014 Pearson. Todos os direitos reservados.

•  Aplicações populares da Internet, seus protocolos de camada de aplicação e seus protocolos de transporte subjacentes:

Serviços de transporte providos pela Internet

Page 14: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 14

© 2014 Pearson. Todos os direitos reservados.

Um protocolo de camada de aplicação define:

•  Os tipos de mensagens trocadas.

•  A sintaxe dos vários tipos de mensagens, tais como os campos da mensagem e como os campos são delineados.

•  A semântica dos campos, isto é, o significado da informação nos campos.

•  Regras para determinar quando e como um processo envia mensagens e responde a mensagens.

Protocolos de camada de aplicação

Page 15: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 15

© 2014 Pearson. Todos os direitos reservados.

Exercícios de Fixação

1.  Relacione cinco aplicações da Internet não proprietárias e os protocolos de camada de aplicação que elas usam.

2.  Qual é a diferença entre arquitetura de rede e arquitetura de aplicação? 3.  Para uma sessão de comunicação entre um par de processos, qual

processo é o cliente e qual é o servidor? 4.  Que informação é usada por um processo que está rodando em um

hospedeiro para identificar um processo que está rodando em outro hospedeiro?

5.  Suponha que você queira fazer uma transação de um cliente para um servidor remoto da maneira mais rápida possível. Você usaria UDP ou TCP? Por quê?

Page 16: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 16

© 2014 Pearson. Todos os direitos reservados.

•  Talvez o que mais atraia a maioria dos usuários da Web é que ela funciona por demanda.

•  O HTTP — Protocolo de Transferência de Hipertexto (HyperText Transfer Protocol) —, o protocolo da camada de aplicação da Web, está no coração da Web e é definido no [RFC 1945] e no [RFC 2616].

•  O HTTP é executado em dois programas:

1.  um cliente e 2.  outro servidor.

A Web e o HTTP

Page 17: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 17

© 2014 Pearson. Todos os direitos reservados.

•  Uma página Web é constituída de objetos.

•  Um objeto é apenas um arquivo que se pode acessar com um único URL.

•  A maioria das páginas Web é constituída de um arquivo-base HTML e diversos objetos referenciados.

•  O HTTP usa o TCP como seu protocolo de transporte subjacente.

•  O HTTP é denominado um protocolo sem estado.

A Web e o HTTP

Page 18: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 18

© 2014 Pearson. Todos os direitos reservados.

•  Quando a interação cliente-servidor acontece por meio de conexão TCP, o programador da aplicação precisa tomar uma importante decisão:

•  Conexões não persistentes — cada par de requisição/resposta deve ser enviado por uma conexão TCP distinta.

•  Conexões persistentes — todas as requisições e suas respostas devem ser enviadas por uma mesma conexão TCP.

Conexões persistentes e não persistentes

Page 19: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 19

© 2014 Pearson. Todos os direitos reservados.

Mensagem de requisição HTTP

•  Apresentamos a seguir uma mensagem de requisição HTTP típica:

GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu Connection: close User-agent: Mozilla/5.0 Accept-language: fr

Formato da mensagem HTTP

Page 20: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 20

© 2014 Pearson. Todos os direitos reservados.

•  Formato geral de uma mensagem de requisição HTTP

Formato da mensagem HTTP

Page 21: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 21

© 2014 Pearson. Todos os direitos reservados.

Mensagem de resposta HTTP •  Apresentamos a seguir uma mensagem de resposta HTTP típica:

HTTP/1.1 200 OK Connection: close Date: Tue, 09 Aug 2011 15:44:04 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Tue, 09 Aug 2011 15:11:03 GMT Content-Length: 6821 Content-Type: text/html (dados dados dados dados dados ...)

Formato da mensagem HTTP

Page 22: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 22

© 2014 Pearson. Todos os direitos reservados.

•  Formato geral de uma mensagem de resposta HTTP

Formato da mensagem HTTP

Page 23: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 23

© 2014 Pearson. Todos os direitos reservados.

Cookies, definidos no [RFC 6265], permitem que sites monitorem seus usuários.

A tecnologia dos cookies tem quatro 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.

Interação usuário-servidor: cookies

Page 24: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 24

© 2014 Pearson. Todos os direitos reservados.

•  Mantendo o es tado do usuário com cookies.

Interação usuário-servidor: cookies

Page 25: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 25

© 2014 Pearson. Todos os direitos reservados.

•  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.

Clientes requisitando objetos por meio de um cache Web:

Caches Web

Page 26: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 26

© 2014 Pearson. Todos os direitos reservados.

•  GET condicional – mecanismo que permite que um cache verifique se seus objetos estão atualizados.

GET condicional

Page 27: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 27

© 2014 Pearson. Todos os direitos reservados.

Exercícios de Fixação

1.  O que significa protocolo de apresentação (handshaking protocol)? 2.  Por que o HTTP roda sobre TCP e não sobre UDP? 3.  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?

4.  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 deles? Por quê?

Page 28: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 28

© 2014 Pearson. Todos os direitos reservados.

•  Em uma sessão FTP típica, o usuário quer transferir arquivos de

ou para um hospedeiro remoto.

•  HTTP e FTP são protocolos de transferência de arquivos e têm muitas características em comum.

Transferência de arquivo: FTP

Page 29: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 29

© 2014 Pearson. Todos os direitos reservados.

•  FTP transporta arquivos entre sistemas de arquivo local e remoto:

Transferência de arquivo: FTP

Page 30: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 30

© 2014 Pearson. Todos os direitos reservados.

•  Conexões de controle e de dados:

Transferência de arquivo: FTP

Page 31: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 31

© 2014 Pearson. Todos os direitos reservados.

Alguns dos comandos mais comuns são descritos a seguir:

•  USER username: usado para enviar identificação do usuário ao servidor.

•  PASS password: usado para enviar a senha do usuário ao servidor.

•  LIST: usado para pedir ao servidor que envie uma lista com todos os arquivos existentes no atual diretório remoto.

•  RETR filename: usado para extrair um arquivo do diretório atual do hospedeiro remoto.

Camadas e respostas FTP

Page 32: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 32

© 2014 Pearson. Todos os direitos reservados.

•  STOR filename: usado para armazenar um arquivo no diretório atual do hospedeiro remoto.

Algumas respostas típicas, junto com suas possíveis mensagens, são as seguintes:

•  331 Nome de usuário OK, senha requisitada

•  125 Conexão de dados já aberta; iniciando transferência

•  425 Não é possível abrir a conexão de dados

•  452 Erro ao escrever o arquivo

Camadas e respostas FTP

Page 33: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 33

© 2014 Pearson. Todos os direitos reservados.

Exercícios de Fixação

1.  Por que se diz que o FTP envia informações de controle “fora da banda”?

2.  O que são o modo passivo e o modo ativo para FTP?

Page 34: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 34

© 2014 Pearson. Todos os direitos reservados.

•  Uma visão do sistema de e-mail da Internet.

Correio eletrônico na Internet

Page 35: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 35

© 2014 Pearson. Todos os direitos reservados.

•  O SMTP transfere mensagens de servidores de correio remetentes para servidores de correio destinatários.

Alice envia uma mensagem a Bob:

SMTP

Page 36: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 36

© 2014 Pearson. Todos os direitos reservados.

•  Um cabeçalho de mensagem típico é semelhante a:

From: [email protected] To: [email protected] Subject: Searching for the meaning of life.

•  Após o cabeçalho da mensagem, vem uma linha em branco e, em seguida, o corpo da mensagem (em ASCII).

•  Você pode usar o Telnet para enviar a um servidor de correio uma mensagem que contenha algumas linhas de cabeçalho, inclusive Subject:. Para tal, utilize o comando telnet serverName 25.

Formatos de mensagem de correio

Page 37: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 37

© 2014 Pearson. Todos os direitos reservados.

•  Protocolos de e-mail e suas entidades comunicantes

Protocolos de acesso ao correio

Page 38: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 38

© 2014 Pearson. Todos os direitos reservados.

Exercícios de Fixação

1.  Suponha que Alice envie uma mensagem para Bob por meio de uma conta de e-mail da Web (como o Outlook ou gmail) e que Bob acesse o e-mail dele pelo 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 dois hospedeiros.

2.  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.

3.  Examine seus e-mails recebidos e veja o cabeçalho de uma mensagem enviada de um usuário com um endereço eletrônico ifsc.edu.br. É 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.

Page 39: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 39

© 2014 Pearson. Todos os direitos reservados.

•  Há duas maneiras de identificar um hospedeiro — por um nome de hospedeiro e por um endereço IP.

•  Para conciliar isso, é necessário um serviço de diretório que traduza nomes de hospedeiro para endereços IP.

•  Esta é a tarefa principal do DNS da Internet.

•  O DNS é (1) um banco de dados distribuído executado em uma hierarquia de servidores de DNS, e (2) um protocolo de camada de aplicação que permite que hospedeiros consultem o banco de dados distribuído.

DNS: o serviço de diretório da Internet

Page 40: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 40

© 2014 Pearson. Todos os direitos reservados.

O DNS provê alguns outros serviços importantes além da tradução de nomes de hospedeiro para endereços IP:

•  Apelidos (aliasing) de hospedeiro.

•  Apelidos de servidor de correio.

•  Distribuição de carga.

DNS: o serviço de diretório da Internet

Page 41: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 41

© 2014 Pearson. Todos os direitos reservados.

•  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.

Parte da hierarquia de servidores DNS

DNS: o serviço de diretório da Internet

Page 42: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 42

© 2014 Pearson. Todos os direitos reservados.

•  Servidores DNS raiz em 2012 (nome, organização, localização)

DNS: o serviço de diretório da Internet

Page 43: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 43

© 2014 Pearson. Todos os direitos reservados.

•  Interação dos diversos servidores DNS:

DNS: o serviço de diretório da Internet

Page 44: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 44

© 2014 Pearson. Todos os direitos reservados.

•  O DNS explora extensivamente o cache para melhorar o desempenho quanto ao atraso e reduzir o número de mensagens DNS que dispara pela Internet.

•  Consultas recursivas em DNS:

DNS: o serviço de diretório da Internet

Page 45: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 45

© 2014 Pearson. Todos os direitos reservados.

•  Um registro de recurso é uma tupla de quatro elementos que contém os seguintes campos:

(Name, Value, Type, TTL)

•  Formato da mensagem DNS

Registros e mensagens DNS

Page 46: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 46

© 2014 Pearson. Todos os direitos reservados.

Exercícios de Fixação

1.  É 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, ifsc.edu.br)? Qual seria o tipo RR que contém o nome de hospedeiro do servidor de correio?

Page 47: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 47

© 2014 Pearson. Todos os direitos reservados.

Distribuição de arquivos P2P

•  Na distribuição de arquivos P2P, cada par pode redistribuir qualquer parte do arquivo recebido para outros pares, auxiliando, assim, o servidor no processo de distribuição.

•  O tempo de distribuição é o tempo necessário para que todos os N pares obtenham uma cópia do arquivo.

•  O BitTorrent é um protocolo P2P popular para distribuição de arquivos.

Aplicações P2P

Page 48: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 48

© 2014 Pearson. Todos os direitos reservados.

Distribuição de arquivos P2P

Um problema ilustrativo de distribuição de arquivo

Aplicações P2P

Page 49: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 49

© 2014 Pearson. Todos os direitos reservados.

Distribuição de arquivos P2P

Tempo de distribuição para arquiteturas P2P e cliente-servidor

Aplicações P2P

Page 50: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 50

© 2014 Pearson. Todos os direitos reservados.

Distribuição de arquivos P2P

Distribuição de arquivos com o BitTorrent

Aplicações P2P

Page 51: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 51

© 2014 Pearson. Todos os direitos reservados.

Distributed Hash Tables (DHTs)

•  Vamos considerar como montar uma versão distribuída, P2P, de um banco de dados, que guardará os pares (chave, valor) por milhões.

•  No sistema P2P, cada par só manterá um pequeno subconjunto da totalidade (chave, valor).

•  Permitiremos que qualquer par consulte o banco de dados distribuído com uma chave em particular.

Aplicações P2P

Page 52: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 52

© 2014 Pearson. Todos os direitos reservados.

Distributed Hash Tables (DHTs)

•  O banco de dados distribuído, então, localizará os pares que possuem os pares (chave, valor) correspondentes e retornará os pares chave-valor ao consultante.

•  Qualquer par também poderá inserir novos pares chave-valor no banco de dados.

•  Esse banco de dados distribuído é considerado como uma tabela hash distribuída (DHT — Distributed Hash Table).

Aplicações P2P

Page 53: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 53

© 2014 Pearson. Todos os direitos reservados.

Distributed Hash Tables (DHTs)

•  O DHT circular oferece uma solução bastante elegante para reduzir a quantidade de informação sobreposta que cada par deve gerenciar.

Aplicações P2P

Page 54: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 54

© 2014 Pearson. Todos os direitos reservados.

Distributed Hash Tables (DHTs)

•  Em sistemas P2P, um par pode vir ou ir sem aviso.

•  Suponha que o par 5 da figura anterior saia de modo abrupto.

•  Os dois pares precedentes ao que saiu (4 e 3) saberão que o par saiu, pois não responde mais às mensagens de ping.

•  Os pares 4 e 3 precisam, portanto, atualizar as informações do estado de seu sucessor.

Aplicações P2P

Page 55: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 55

© 2014 Pearson. Todos os direitos reservados.

Distributed Hash Tables (DHTs)

•  Consideraremos agora como o par 4 atualiza seu estado:

1.  O par 4 substitui seu primeiro sucessor (par 5) por seu segundo sucessor (par 8).

2.  O par 4, então, pergunta a seu novo primeiro sucessor (par 8) o identificador e o endereço IP de seu sucessor imediato (par 10). O par 4, então, torna o par 10 seu segundo sucessor.

Aplicações P2P

Page 56: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 56

© 2014 Pearson. Todos os direitos reservados.

•  Há dois tipos de aplicações de rede.

•  Um deles é uma execução cuja operação é especificada em um padrão de protocolo.

•  O outro tipo de aplicação de rede é uma aplicação de rede proprietária.

Programação de sockets com UDP •  Usaremos a aplicação cliente-servidor simples a seguir para

demonstrar a programação de socket para UDP e TCP:

Programação de sockets: criando aplicações de rede

Page 57: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 57

© 2014 Pearson. Todos os direitos reservados.

1.  Um cliente lê uma linha de caracteres (dados) do teclado e a envia para o servidor.

2.  O servidor recebe os dados e converte os caracteres para maiúsculas.

3.  O servidor envia os dados modificados ao cliente.

4.  O cliente recebe os dados modificados e apresenta a linha em sua tela.

Programação de sockets com UDP

Page 58: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 58

© 2014 Pearson. Todos os direitos reservados.

A ap l i c ação cliente-servidor usando UDP

Programação de sockets com UDP

Page 59: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 59

© 2014 Pearson. Todos os direitos reservados.

•  O processo TCPServer tem dois sockets

Programação de sockets com TCP

Page 60: Redes de Computadores - wiki.sj.ifsc.edu.br · “Redes de Computadores e a Internet: Uma Abordagem Top-Down” de Jim Kurose e Keith Ross. s 2014 – 2 Área de Telecomunicações

Red

es d

e C

ompu

tado

res

2014 – 2 Área de Telecomunicações slide 60

© 2014 Pearson. Todos os direitos reservados.

•  A aplicação cliente-servidor usando TCP

Programação de sockets com TCP