comunicaÇÃo de dados lesi 2012’13 post office protocol 3 pop3

26
COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

Upload: internet

Post on 21-Apr-2015

111 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

Post Office Protocol 3

POP3

Page 2: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Este protocolo permite a transferência de todas as mensagens de uma caixa de correio localizada num determinado servidor online, para um dado cliente de email local, possibilitando ao utilizador fazer a gestão do seu correio eletrónico localmente.

POP3

Page 3: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

Este protocolo compreende 4 áreas:

1. Inicialização do serviço2. Comunicação3. Respostas4. Sessão

Page 4: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Na fase inicial, o servidor de e-mail inicia o serviço POP3 e começa a ouvir: • Porta TCP 110,• Porta 995 se a ligação utilizar o protocolo SSL.

• A conexão feita é sobre TCP, uma vez que interessa ter um feed-back sobre a transferência entre o emissor e o recetor.

• Após o estabelecimento da conexão, o servidor POP3 envia uma mensagem de saudação ao cliente a qual confirma a ligação ao servidor.

1. Inicialização do Serviço

Page 5: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Enquanto a comunicação não for fechada ou abortada, o cliente de email está constantemente a trocar comandos e respostas com o servidor de POP3.

• Os comandos interpretados pelo POP3 são constituídos por palavras-chave, seguidos ou não de um ou mais argumentos em case-insensitive.

2. Comunicação

Page 6: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• As respostas no protocolo POP3 são constituídas por um indicador de estado e uma palavra-passe, seguidos ou não de informações adicionais e terminadas por um CRLF.• CRLF -> Mudança de linha

• Na versão 3 do protocolo POP, existem dois indicadores de estados: • Positivo: “+OK”• Negativo: “-ERR”

3. Resposta

Page 7: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Uma sessão no protocolo POP3 é caracterizada por um conjunto de estados durante o seu “tempo de vida”.

• Após o envio da saudação ao cliente, o protocolo entra no estado de AUTHORIZATION (Autorização).

• Nesta fase o servidor pede a autenticação ao cliente e se esta operação for bem sucedida, estão reunidas as condições para avançar para o estado de TRANSACTION (Transação).

• No estado de TRANSACTION , o cliente faz pedidos ao servidor POP3.

• Quando o cliente envia o comando QUIT a sessão entra no estado UPDATE (Atualização), liberta os recursos alocados no estado anterior e fecha a conexão TCP.

4. Sessão

Page 8: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

ESTADOS DE SESSÃO POP3AUTHORIZATION > TRANSCTION > UPDATE

Page 9: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

Autorization

Ligação bem sucedida:

Servidor: +OK POP3 server ready

USER: [email protected]

PASS: 1234

Bloqueio caixa de entrada

Estado TRANSACTION

Fecha a sessão

Com SUCESSO

Sem SUCESSO

Page 10: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• O cliente pode efetuar comandos repetidamente, sendo que a seguir a cada comando, o servidor emite uma resposta.

• Comandos exclusivos da sessão TRANSACTION:a) STATb) LISTc) RETRd) DELEe) NOOPf) RSET

Transaction

Page 11: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Este comando não tem argumentos.

• Dá uma resposta positiva “+OK” seguido de um espaço, número de mensagens na pasta de entrada, seguido de espaço e tamanho da pasta de entrada em octetos.

• Exemplo de um pedido de STAT:

CLIENTE: STATSERVIDOR: +OK 2 320

a)STAT

Page 12: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Tem parâmetro (opcional) o número de uma determinada mensagem.• O número não se pode referir a uma mensagem marcada como eliminada.• Se o comando for invocado com argumento, o servidor responde com uma linha que

contem a informação sobre a mensagem indicada. Quando o comando é enviado sem parâmetros, o servidor responde com um status positivo seguido do número de mensagens na pasta de entrada e efetua uma listagem em modo multilinha.

• Exemplo:

CLIENTE: LISTSERVIDOR: +OK 2 messagesSERVIDOR: 1 120SERVIDOR: 2 200

b)LIST

Page 13: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• O comando RETR tem como argumento (obrigatório) o número da mensagem• O número não se pode referir a uma mensagem marcada como eliminada.

• Quando o comando RETR é invocado, o servidor POP3 envia uma resposta positiva seguida da informação relativa à mensagem na forma multilinha (conteúdo da mensagem).

c) RETR

Page 14: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• O comando DELE tem como argumento (obrigatório) o número da mensagem.• o número não se pode referir a uma mensagem marcada como eliminada.

• Quando o comando RETR é invocado, o servidor POP3 marca a mensagem como eliminada.

• A mensagem só é removida definitivamente quando a sessão passar para o modo UPDATE.

• Enquanto não transita para o estado UPDATE, qualquer comando que for invocado sobre o número dessa mensagem, será gerada uma mensagem de erro.  

• Exemplo:

CLIENTE: DELE 1SERVIDOR: +OK message 1 deleted

d)DELE

Page 15: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• O comando NOOP não tem argumentos e quando invocado não tem qualquer ação prática, apenas dá uma resposta positiva.

e)NOOP

Page 16: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• O comando RSET não tem argumentos;• Quando invocado, desmarca as mensagens;• Informa do número de mensagens desmarcadas.

• Exemplo:• C: RSET• S: +OK maildrop has 2 messages

f) RSET

Page 17: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

Update

Estado TRANSACTION

Comando QUIT

SEM SUCESSO na autenticação ou inatividade

Estado UPDATE(remove mensagens

marcadas)

Estado AUTHORIZATIO

NTermina sessão

Page 18: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Os comandos opcionais permitem ao cliente uma liberdade maior no tratamento das mensagens, preservando a implementação simples do protocolo POP3.

• Existem apenas 4 comandos opcionais:• TOP• UIDL• USER• PASS• APOP

Comandos Opcionais

Page 19: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• O comando TOP tem dois argumentos obrigatórios: • Número da mensagem;• Número de linhas a serem apresentadas.

• Se o servidor responder positivamente (+OK), então a resposta é multilinha.• O servidor envia o cabeçalho da mensagem, seguido de uma linha em branco, fazendo a

separação entre o cabeçalho e o corpo da mensagem, e depois o número de linhas do corpo da mensagem.

• No caso do número de linhas pedidas pelo cliente ser superior ao número de linhas do corpo da mensagem, o servidor retorna a mensagem completa. 

• Exemplo:

CLIENTE: TOP 1 10SERVIDOR: +OK SERVIDOR: <o servidor enviará o cabeçalho, linha em branco, e as 10 primeiras linhas do corpo da mensagem>

a)TOP

Page 20: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Tem argumento (opcional) o número de uma determinada mensagem. • Se for fornecido o argumento e o servidor responder positivamente (+OK), então a linha

retornada é chamada “unique-id listing” para a mensagem indicada. • Se não for fornecido o argumento e o servidor responder positivamente (+OK), a resposta é

multilinha.• Após a resposta inicial, para cada mensagem na caixa de correio o servidor responde com

uma linha contendo informação dessa mensagem. • O identificador único de uma mensagem é uma palavra arbitrária gerada pela servidor. Esta

identifica singularmente a mensagem, e que é persistente entre sessões. • Exemplo:

CLIENTE:UIDLSERVIDOR:+OKSERVIDOR:1 wqtererQ000WBkdjhjd

b)UIDL

Page 21: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Tem argumento (obrigatório) o nome da caixa de correio (utilizador). • Para se autenticar utilizando os comandos USER e PASS, o cliente primeiramente

fará uso do comando USER. • Se o servidor responder positivamente (+OK), então o cliente poderá utilizar o

comando PASS para finalizar o processo de autenticação, ou então utilizar o comando QUIT para terminar a sessão.

• Em caso de resposta negativa(-ERR) o cliente poderá tentar nova autenticação ou utilizar o comando QUIT para terminar a sessão.

•  • Exemplo:

CLIENTE: USER silvaSERVIDOR: +OK silva is a real hoopy frood

c) USER

Page 22: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Tem argumento (obrigatório) uma palavra-chave. • Quando é utilizado o comando PASS, o servidor usa conjuntamente os comandos

USER e PASS para determinar se o cliente tem acesso ou não à caixa de correio.  • Exemplo:

CLIENTE: USER piresSERVIDOR: +OK pires is a real hoopy froodCLIENTE: PASS secretSERVIDOR: +OK pires’s maildrop has 2 messages(320 octets)

d)PASS

Page 23: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• Tem dois argumentos (ambos obrigatórios):• Nome da caixa de correio;• Chave MD5.

• Método de autenticação alternativo ao USER/PASS.• O envio da autenticação é encriptada. • Os servidores que tenham implementada a funcionalidade APOP, irão incluir na sua

mensagem de boas vindas um “timestamp” (carimbo do tempo), que deverá ser sempre diferente a cada mensagem de boas vindas.

• A palavra-chave MD5, é calculada aplicando um algoritmo, definido na RFC1321, ao carimbo do tempo (incluindo os parênteses de ângulo) seguido de uma palavra chave partilhada .

• Esta palavra chave é conhecida apenas pelo cliente e servidor POP3.

e)APOP

Page 24: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• A chave MD5 é composta por 16 octetos, enviados em hexadecimal, recorrendo ao uso de caracteres minúsculos.

• Quando o servidor recebe um comando APOP, verifica a chave MD5. • Se a chave estiver correta, responde positivamente e passa ao estado de TRANSACTION,

senão responde negativamente e continua no estado de AUTORIZATION.• Exemplo:

SERVIDOR: +OK POP3 server ready<[email protected]>CLIENTE: APOP mrose c4c9334bac560ecc979e58001b3e22fbSERVIDOR: +OK maildrop hás 1 message (369 octets) Neste exemplo, a palavra-chave partilhada é “tanstaff”. O algoritmo MD5 aplicado a esta palavra:<[email protected]>tanstaaf que produz a chave MD5: c4c9334bac560ecc979e58001b3e22fb

e)APOP (cont.)

Page 25: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

• O protocolo POP3 apresenta-se como um protocolo simples e ideal para máquinas com pouca capacidade de processamento.

• Como este protocolo está apenas conectado ao servidor durante o tempo necessário para descarregar as mensagens da pasta de entrada, este é recomendado em situações em que o custo da ligação é proporcional ao tempo de uso.

Conclusão

Page 26: COMUNICAÇÃO DE DADOS LESI 2012’13 Post Office Protocol 3 POP3

COMUNICAÇÃO DE DADOSLESI 2012’13

Trabalho realizado por:

#7996 Anthony Cardante#7829 Luís Pereira #7999 Paulo Silva