260 likes | 394 Views
Post Office Protocol 3 POP3. POP3. 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.
E N D
POP3 • 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.
Este protocolo compreende 4 áreas: • Inicialização do serviço • Comunicação • Respostas • Sessão
Inicialização do Serviço • 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. • Aconexã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.
Comunicação • 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.
Resposta • 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”
Sessão • 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.
Estados de sessão POP3 AUTHORIZATION > TRANSCTION > UPDATE
Com SUCESSO Autorization Estado TRANSACTION Bloqueiocaixa de entrada Ligação bem sucedida: Servidor: +OK POP3 server ready USER: mail@xpto.pt Fecha a sessão PASS: 1234 Sem SUCESSO
Transaction • Ocliente pode efetuar comandos repetidamente, sendo que a seguir a cada comando, o servidor emite uma resposta. • Comandos exclusivos da sessão TRANSACTION: • STAT • LIST • RETR • DELE • NOOP • RSET
STAT • 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: STAT • SERVIDOR: +OK 2 320
LIST • 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: LIST • SERVIDOR: +OK 2 messages • SERVIDOR: 1 120 • SERVIDOR: 2 200
RETR • 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).
DELE • 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 1 • SERVIDOR: +OK message 1 deleted
NOOP • O comando NOOP não tem argumentos e quando invocado não tem qualquer ação prática, apenas dá uma resposta positiva.
RSET • O comando RSET não tem argumentos; • Quando invocado, desmarca as mensagens; • Informa do número de mensagens desmarcadas. • Exemplo: • C: RSET • S: +OK maildrophas 2 messages
Update Comando QUIT Estado UPDATE (remove mensagens marcadas) Termina sessão Estado AUTHORIZATION Estado TRANSACTION SEM SUCESSO na autenticação ou inatividade
Comandos Opcionais • 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
TOP • O comando TOPtem 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. • Oservidor 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 10 • SERVIDOR: +OK • SERVIDOR: <o servidor enviará o cabeçalho, linha em branco, e as 10 primeiras linhas do corpo da mensagem>
UIDL • 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:UIDL • SERVIDOR:+OK • SERVIDOR:1 wqtererQ000WBkdjhjd
USER • 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 silva • SERVIDOR: +OK silva is a real hoopyfrood
PASS • 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 pires • SERVIDOR: +OK pires is a real hoopyfrood • CLIENTE: PASS secret • SERVIDOR: +OK pires’smaildrophas2 messages(320 octets)
APOP • 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.
APOP (cont.) • 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<1896.697170952@dbc.mtview.ca.us> • CLIENTE: APOP mrose c4c9334bac560ecc979e58001b3e22fb • SERVIDOR: +OK maildrop hás 1 message (369 octets) • Neste exemplo, a palavra-chave partilhada é “tanstaff”. O algoritmo MD5 aplicado a esta palavra: • <1896.697170952@dbc.mtview.ca.us>tanstaaf • que produz a chave MD5: c4c9334bac560ecc979e58001b3e22fb
Conclusão • 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.
Trabalho realizado por: #7996 Anthony Cardante #7829 Luís Pereira #7999 Paulo Silva