Aula28

9
Instituto de Informática - UFRGS Redes de Computadores DNS (término da aula passada) Aula 27 Redes de Computadores 2 Instituto de Informática - UFRGS A. Carissimi -7-déc.-09 Mensagens DNS ! DNS usa porta 53 (UDP/TCP) ! Duas mensagens: requisição e resposta com um cabeçalho de formato comum ! Seção pergunta ! Informações sobre a consulta (nome/tipo) ! Seção resposta ! RR que satisfazem a consulta ! Seção autoridade ! Registros de outros servidores com autoridade ! Seção adicional ! RR úteis Query Response Redes de Computadores 3 Instituto de Informática - UFRGS A. Carissimi -7-déc.-09 Respostas DNS ! Authoritative ! Gerada por um servidor que possui autoridade para o domínio do nome a ser resolvido ! Resposta representa o que está nos arquivos de configuração de zona ! Non-authoritative ! Gerada por servidores que não possuem autoridade no domínio do nome a ser resolvido ! Resposta não é confiável pois as informações podem ter sido modificadas nos arquivos de configuração de zona, mas ainda não foram propagadas ! Respostas de cache são sempre non-authoritative ! Indicam os servidores com autoridade no respectivo domínio Redes de Computadores 4 Instituto de Informática - UFRGS A. Carissimi -7-déc.-09 Leituras complementares ! Tanenbaum, A. Redes de Computadores (4 a edição), Campus, 2000. ! Capítulo 6, seção 6.1 ! Capítulo 7, seção 7.1 ! Carissimi, A.; Rochol, J.; Granville, L.Z.; Redes de Computadores . Série Livros Didáticos. Bookman 2009. ! Capítulo 7, seção 7.1

description

 

Transcript of Aula28

Inst

ituto

de

Info

rmát

ica

-UFR

GS Redes de Computadores

DNS (término da aula passada)

Aula 27Redes de Computadores 2

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Mensagens DNS

! DNS usa porta 53 (UDP/TCP)! Duas mensagens: requisição e resposta com

um cabeçalho de formato comum! Seção pergunta

! Informações sobre a consulta (nome/tipo)! Seção resposta

! RR que satisfazem a consulta! Seção autoridade

! Registros de outros servidores com autoridade

! Seção adicional! RR úteis

Query

Response

Redes de Computadores 3

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Respostas DNS

! Authoritative! Gerada por um servidor que possui autoridade para o domínio do nome a ser

resolvido! Resposta representa o que está nos arquivos de configuração de zona

! Non-authoritative! Gerada por servidores que não possuem autoridade no domínio do nome a

ser resolvido! Resposta não é confiável pois as informações podem ter sido modificadas

nos arquivos de configuração de zona, mas ainda não foram propagadas! Respostas de cache são sempre non-authoritative

! Indicam os servidores com autoridade no respectivo domínio

Redes de Computadores 4

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Leituras complementares

! Tanenbaum, A. Redes de Computadores (4a edição), Campus, 2000.! Capítulo 6, seção 6.1! Capítulo 7, seção 7.1

! Carissimi, A.; Rochol, J.; Granville, L.Z.; Redes de Computadores. Série Livros Didáticos. Bookman 2009.! Capítulo 7, seção 7.1

Inst

ituto

de

Info

rmát

ica

-UFR

GS Redes de Computadores

Correio eletrônico (SMTP, POP e IMAP)HyperText Transfer Protocol (HTTP)

Aula 28Redes de Computadores 6

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Correio eletrônico

! Uma das aplicações mais populares da Internet! Originalmente criada em analogia a sistemas de memorando! Disponibilizado aos usuários através de:

! Um software cliente para compor e ler mensagens! Um software servidor usado para transferir mensagens

Redes de Computadores 7

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Componentes do sistema de correio eletrônico

! Caixa postal e correio eletrônico! Mail user Agents (MUA)

! Software responsável pela interação entre o usuário e o sistema de e-mail! Permite ler e compor uma mensagem

! Exemplos: Netscape, outlook, eudora, mozilla, elm, Mail, mail, pine etc...! Mail Transport Agents (MTA)

! Software que transfere o e-mail de um sistema local para um sistema remoto.! Exemplos (unix): sendmail, postfix , smail v 3.2, qmail, exim etc

! Local Delivery Agent (LDA)! Separação funcional do MTA especializado em transferir e-mails para a

mailbox do usuário! Em sistemas Unix, o LDA mais comum é o procmail

Redes de Computadores 8

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Caixa postal (mailbox)

! Caixa postal de entrega da mensagem eletrônica! Uma por usuário! Área de armazenamento em disco

! Permissão para escrita para o software de correio eletrônico! Permissão de leitura/escrita apenas para o usuário

! Endereço eletrônico:! Formato geral: mailbox@computador

Caixa de correio(usuário)

•Localização da caixa de correio•Empregado o domínio (computador registro MX)

Redes de Computadores 9

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Formato da caixa de mensagens (mailbox)

! Formato da mailbox serve para delimitar e-mails:! MMDF, BABYL, MH, qmail, maildir, .mbx, etc...

! Uma mailbox é um arquivo (ou diretório)! Em UNIX, normalmente são armazenados nos diretórios /usr/spool/mail e

/var/mail! Novos e-mails:

! São inseridos no final do arquivo de mailbox! Formam um novo arquivo (maildir)! Ler e-mail → ler o arquivo de mailbox

Redes de Computadores 10

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Mensagem de correio eletrônico

! Mensagem possui envelope, cabeçalho e corpo! Formato simples

! Texto ASCII separado em duas partes por uma linha em branco (CR/LF)

! Informações:! Remetente, receptor, data, formato do

conteúdo, etc.! Ex.: To, cc, Bcc, From, Sender, Received,

Return-path, Reply-to, Subject,...! Corpo:

! Conteúdo da mensagem! Software de e-mail interpreta palavra-chave

! Se não reconhece, passa para próxima

Corpo

Linha em branco (CR/LF)

Cabeçalho

[palavra-chave: informação]

....

[palavra-chave: informação]

Redes de Computadores 11

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Padrão MIME

! Projeto original previa somente texto em ASCII! Necessidade de enviar dados binários (binário, imagem, aúdio etc)

! Codificação de dados binários em ASCII ! Remetente codifica e o receptor faz a decodificação

! Multipurpose Internet Mail Extensions (MIME)! Forma para coordenar e unificar a codificação e decodificação de dados! Inclusão de palavras-chaves adicionais no cabeçalho

! Indica que MIME está sendo usado! Definição da codificação a ser usado! Divisão do corpo da mensagem em partes e definição de como eles

devem ser codificados e decodificados independentemente

Redes de Computadores 12

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Especificação MIME

! Adiciona 5 novos cabeçalhos! MIME-Version: informa destino o uso do

formato MIME e sua versão! Content-Description: string que informa o

conteúdo da mensagem! Content-Id: identificador da mensagem! Content-Transfer-Encoding: código do

corpo da mensagem! ASCII (7 bits), ASCII 8-bits, base64,

quoted-printable! Content-Type: natureza do corpo da

mensagem! texto,imagem, audio, vídeo, multipart,

etc...

MIME-version: 1.1Content-type: type/subtype; boundary=xxxxContent-transfer-encoding: image/jpegContent-Id: 67824Content-description: jpeg image

MIME MIME

SMTP SMTPASC-II

ASC-II ASC-II

Redes de Computadores 13

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Arquitetura do Sistema de Correio Eletrônico

MUA(sender)

MTA(receiver)

MTA(sender)

LDA

Notifier

MailboxBob

MUA(receiver)

MUA: Mail User Agent (mailer)MTA: Mail Transport AgentLDA: Local Delivery AgentNotifier:Mailbox:

Protocolo(SMTP) Originalmente, conexão via

sessão remota com o servidor de e-mail

Redes de Computadores 14

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Envio de mensagem

! Agente do usuário remetente envia a mensagem para o servidor do remetente

! Servidor do remetente armazena a mensagem na fila! Servidor do remetente envia a mensagem para o servidor do

destinatário! Consulta o DNS, solicitando os registros MX associados ao domínio do

usuário destinatário! Em caso de falha, servidor do remetente mantém a mensagem na fila e tenta

reenviar! Servidor do destinatário armazena a mensagem na respectiva caixa

de mensagens

Redes de Computadores 15

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Leitura de mensagens

! Agente do usuário recupera mensagens da caixa de mensagens do servidor de correio do usuário

! Acesso Direto! Agente usuário executa na mesma estação em que reside o arquivo que

contém a caixa de mensagens do usuário! Acesso via Protocolo de Acesso

! Agente usuário pode executar em estação diferente daquela em que reside o arquivo que contém a caixa de mensagens do usuário

! Adota os protocolos específicos para “baixar as mensagens”

Redes de Computadores 16

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Protocolos do Sistema de Correio Eletrônico

! Os diferentes componentes (MUA, MTA, LDA) interagem entre si através de protocolos

! Protocolos do sistema de Correio Eletrônico! SMTP! POP! IMAP

Redes de Computadores 17

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Simple Mail Transfer Protocol (SMTP)

! Protocolo de aplicação baseando na troca de strings ASCII! Mensagens passam em texto aberto

! Usado para transferir e-mail entre MUA e MTA ou entre dois MTAs.! Serviço disponível através de uma conexão TCP na porta 25

! Existe um daemon que atende na porta 25/TCP e que “fala”” SMTP

smtp(porta 25)

smtp(porta 25)

Servidor e-mail local Servidor e-mail remoto

SMTPSMTP

Redes de Computadores 18

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Problemas do SMTP

! Mensagem enviada em texto claro! Não possui mecanismo de autenticação forte

! Qualquer usuário acesso servidor de e-mail! Possibilidade de forjar endereços de origem

! Soluções possíveis são externas ao SMTP. Alguns exemplos:! Aceitar mensagens de máquinas de uma mesma rede! Verificar a existência de mensagem! Consultas a DNS reverso! Cifragem de dados

Redes de Computadores 19

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Simple Mail Transfer Protocol (SMTP)

! Conjunto de comandos e respostas! Composto por mensagens de texto e códigos de comandos e respostas

! Comandos do protocolo! HELO – identifica o cliente ao servidor! MAIL – indica o remetente da mensagem! RCPT – informa o destinatário da mensagem! DATA – envio o conteúdo da mensagem! QUIT – finaliza a sessão! TURN – inverte a direção de envio! RSET – aborta a transição de correio! VRFY – verifica a validade de um usuário! EXPN – identifica a composição de uma lista

Redes de Computadores 20

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Exemplo de interação SMTP

S: 220 mail.acme.comC: HELO mail.inf.ufrgs.brS: 250 mail.acme.com Hello mail.inf.ufrgs.br, pleased to meet youC: MAIL From: <[email protected]>S: 250 <[email protected]>... Sender okC: RCPT To: <[email protected]>S: 250 <[email protected]>... Recipient okC: DATAS: 354 Enter mail, end with “.” on a line by itselfC: TesteC: .S: 250 Message accepted for deliveryC: QUITS: 221 mail.acme.com closing connection

Redes de Computadores 21

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Post Office Protocol (POP)

! Protocolo utilizado para acessar e-mails de um servidor! Porta 110/TCP (POP3)! Orientado a texto

! Três etapas distintas! Acesso/autenticação! Leitura/modificação (transação)! Atualização

! Dois modos de operação: ! ler-e-apagar e ler-e-guardar

! Desvantagem:! Não há comandos para criar e gerenciar pastas

POP (porta 110)

Servidor e-mail

POP

Redes de Computadores 22

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Internet Message Access Protocol (IMAP)

! Protocolo utilizado para acessar e-mails de um servidor! Porta 143/TCP (IMAP4)! Orientado a texto

! Principal vantagem:! Comandos para criação e gerenciamento de

pastas no servidor

IMAP (porta 143)

Servidor e-mail

IMAP

Redes de Computadores 23

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Webmail

! Software que permite que usuários acessem servidores de e-mail através do http! http é usado apenas para transferir dados! Servidor de webmail “conversa” com servidores de e-mail usando protocolos

como POP3 e IMAP4 (mais comum)

Browser web Servidor web

http

Servidor e-mail

POP/IMAP

OU

DaemonMTA

Redes de Computadores 24

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Hyper Text Transfer Protocol (HTTP)

! Protocolo de aplicação da web ! Define forma como clientes solicitam páginas web aos servidores e

como esses as transferem para os clientes! Determina apenas como os dados são transferidos: não indica, nem impõem

tipos de dados e determina nenhum tipo de processamento! Browser é que determina como os dados são processados

! Emprega conexões TCP na porta 80 (default)! Protocolo stateless (sem estado) e orientado a mensagens

! Servidor não mantém nenhuma informação sobre o cliente! Possuem três versões: HTTP 0.9, HTTP 1.0 e HTTP 1.1

Redes de Computadores 25

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Conexões não-persistentes

! Usada nas versões 0.9, 1.0 e 1.1! Uma conexão para cada objeto

! Cada conexão transporta exatamente uma requisição/resposta! Cliente abre a conexão, envia a requisição, o servidor envia a resposta e

fecha a conexão (ex: uma página com 5 figuras envolve seis conexões, uma para página e uma para cada figura)

! Conexões podem ser feitas em paralelo para páginas com mais de um objeto! Número máximo de conexões é uma configuração do cliente

! Desvantagens:! Tempo para estabelecimento! Consumo de recursos do sistema (memória e descritores)! Cada conexão sofre o processo de partida lenta (slow start) do TCP

Redes de Computadores 26

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Conexões persistentes

! Disponível na versão HTTP/1.1! Uma conexão pode atender várias requisições/respostas

! A conexão é fechada pelo servidor em resposta a uma requisição de encerramento feita pelo cliente ou por time-out! Configurado no servidor

! Duas versões:! Sem paralelismo: cliente envia requisição i após ter recebido respostas da

requisição i-1! Com paralelismo: envio de várias requisições sem esperar pela resposta

Redes de Computadores 27

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Métodos HTTP

! HTTP foi criado para ser genérico! Tratamento de objetos e definições de métodos para manipulá-los

! Métodos suportados na versão 1.1 (visão do cliente)! GET: usado para solicitar a recuperação de um objeto! POST: similar ao GET, mas envia informações obtidas por formulários! PUT: solicita gravação de um objeto no servidor! PATCH: envia lista de modificações a serem feitas em um objeto! HEAD: solicita leitura apenas do cabeçalho da página! MOVE, COPY, DELETE, LINK e UNLIK: similares aos comandos de

movimentação, cópia, remoção, criação e remoção de aliases em um sistema de arquivos

! OPTION: consulta propriedades do servidor ou de um objeto

Redes de Computadores 28

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Formatos da mensagem HTTP

! Dois formatos básicos:! Requisição e resposta! Mensagem em ASC II (exceto o corpo da mensagem em alguns casos)

! Genericamente possuem três seções:! Linha de requisição/status! Linhas de cabeçalho! Corpo de entidade

Redes de Computadores 29

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Mensagem de requisição

! Linha de requisição possui três campos:! Tipo da requisição (métodos)

! GET, HEAD, POST, PUT, PATCH, COPY, MOVE, DELETE, LINK, UPLINK, OPTION

! Uniform Resource Locator (URL): [protocolo] :// [máquina] : [porta] / [recurso]! Versão HTTP

! Linha(s) de cabeçalho! Conjunto de pares {nome de campo; valor}

! Corpo da entidade! Para métodos como POST que envia parâmetros para um formulário

Redes de Computadores 30

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Cabeçalhos da requisição

! Pares nome e valor! Indicam ao servidor como realizar a requisição! Exemplos:

! Host: nome do servidor onde o objeto se encontra! Connection: se servidor deve encerrar ou não a conexão após enviar objeto! User-agent: tipo do cliente que está fazendo a requisição! Accept-language: idioma de preferência do usuário

Redes de Computadores 31

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Mensagem de requisição: formato e exemplo

GET /somedir/page.html HTTP/1.1

Host: www.someschool.eduConnection: closeUser-agent: Mozilla/4.0Accept-language: fr

Corpo(presente apenas emalgumas mensagens)

Linha em branco (CR/LF)

Cabeçalhos

[nome; valor]

....

[nome; valor]

Requisição

Mensagem de requisição- Método GET não possui corpo- Método POST envia aqui as informações

Redes de Computadores 32

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Mensagem de resposta

! Linha de status define:! Versão HTTP! Código de status! Frase explicativa do código de status

! Linhas de cabeçalho! Conjunto de pares {nome, valor}

! Corpo da entidade! Objeto solicitado

Redes de Computadores 33

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Códigos de status e cabeçalho de resposta

! Códigos mais comuns! 200: requisição processada com

sucesso! 301: objeto solicitado foi movido! 400: erro genérico no

processamento! 404: objeto solicitado não existe! 505: versão requisitada não é

suportada

! Cabeçalhos mais comuns! Connection: informa ao cliente se o

servidor encerrará ou não a conexão! Date: hora e data do envio do objeto! Last-modified: data e hora de

criação ou modificação do objeto! Server: tipo do servidor:! Content-lenght: tamanho da

mensagem em bytes! Content-type: tipo do objeto que

está sendo enviado

Redes de Computadores 34

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Mensagens de resposta: formato e exemplo

Corpo(presente apenas emalgumas mensagens)

Linha em branco (CR/LF)

Cabeçalhos

[nome; valor]

...

[Nome; valor]

Status

Mensagem de resposta

HTTP/1.1 200 OK

Connection: closeDate: Thu, 06 Aug 1998 12:00:15 GMTServer: Apache/1.3.0 (Unix)Last-Modified: Mon,22 jun 199809:23:24 GMTContent-Length: 6821Content-Type: text/html

(data data data .... Data data data data)

Redes de Computadores 35

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Hyper Text Transfer Protocol over SSL (HTTPS)

! Protocolo de aplicação da web que utiliza criptografia! Garante privacidade (criptografia)! Garante a identidade das partes envolvidas em uma transferência! Porta 443/TCP

https://nome_máquina/recurso

Redes de Computadores 36

Inst

ituto

de

Info

rmát

ica

-UFR

GS

A. C

aris

sim

i -7-

déc.

-09

Leituras complementares

! Tanenbaum, A. Redes de Computadores (4a edição), Campus, 2000.! Capítulo 7, seção 7.2 (correio eletrônico) eseção 7.3.4

! Carissimi, A.; Rochol, J; Granville, L.Z; Redes de Computadores. Série Livros Didáticos. Bookman 2009.! Capítulo 7, seções 7.2 a 7.4