Email : Protocolos de transferência |
Nos anos
80, o mundo da computação foi dramaticamente mudado com
a invenção do computador pessoal. Os PCs começaram
a surgir nas corporações, tomando o lugar de terminais
burros que eram usados para a comunicação com computadores
de grande porte e mini computadores. Muitas
organizações utilizavam algum tipo de servidor de rede
que permitia as estações de trabalho a compartilhar espaço
de disco em servidores de arquivos. Isto criou um novo tipo de servidor
de email que utilizava espaço em disco compartilhado pela rede. Pacotes
modernos de email como o Microsoft Exchange, Novell GroupWise e IBM
Lotus Notes usam programas que acessam uma área comum de disco
contendo as caixas postais. Estas caixas postais são normalmente
contidas em um único banco de dados. Para acessar este banco,
os programas MUAs que eram executados nas estações de
trabalho deveria ser capazes de ler e processar estes bancos. Este método
quase sempre se utilizava de protocolos proprietários para acessas
as caixas postais no banco de dados. Os programas
MTAs freqüentemente se tornavam muito complicados nestes ambientes.
Como o sistema de emails usava banco de dados especiais, o método
de envio de mensagens para sistemas remotos dependia do tipo de sistema
remoto. Se o sistema remoto era do mesmo tipo do sistema que enviou
a mensagem, então o mesmo protocolo proprietário poderia
ser usado para transferir a mensagem. Se o sistema remoto fosse diferente,
o MTA deveria converter, se possível, a mensagem para o formato
padrão e utilizar um protocolo de email padrão para enviar
a mensagem. A figura 5 mostra um exemplo de um sistema proprietário
para uma rede corporativa.
Com sistemas
de email em rede, estações de trabalho dedicadas são
freqüentemente requisitadas a rotear mensagem entre os destinos.
Isto aumenta a chance de falha, já que existe equipamentos e
programas adicionais ao servidor de email envolvidos na transferência
de email. Outro possível
problema com sistemas de email proprietários é o banco
de dados de mensagens. Todas as mensagens são armazenadas em
banco de dados, e o tamanho deste aumenta em proporção
ao numero de mensagens salvas no sistemas. Não é incomum
encontrar banco de dados com mais de 1 GB de tamanho em uma empresa
pequena. Nestas situações, o banco de dados pode se tornar
corrupto, e rotinas de recuperação teriam que ser executadas.
Se estas forem mal sucedidas, todas as mensagens do banco seriam perdidas.
Sistemas UNIX mantém caixas postais individuais para cada usuário.
Se uma caixa postal se torna corrupta, somente um usuário irá
perder suas mensagens, e os outros não serão afetados.
Como falado anteriormente, o qmail leva este tópico a frente,
pois tem a capacidade de criar caixas postais em diretórios,
com cada mensagem correspondendo a uma arquivo no diretório.
Assim, mensagens com problemas não irão destruir toda
a caixa postal. Sistemas proprietários de email não são muito populares. Além disso, tendem a ser muito caros. Usar pacotes de email com código aberto significa que deve-se utilizar protocolos de código aberto para realizar a comunicação de mensagem entre servidores. Existem muitos protocolos que foram desenvolvidos para permitir que as mensagens pudessem ser transmitidas entre servidores de email e que clientes pudessem ler suas mensagens dos servidores de email. Essa seção descreve estes protocolos. Protocolos MTA Os programas MTA devem ser capazes de transferir mensagens para usuários em servidores remotos de email. Para realizar isto, um pacote MTA deve poder realizar uma comunicação com outro pacote MTA para mover não somente a mensagem, mas também as informações de identificações necessárias para que estas fossem identificadas por usuários remotos. Programas MTA utilizam principalmente o seguinte protocolo para transferir mensagens e informação entre servidores remotos: SMTP O Protocolo
de Transferência Simples de Email (Simple Mail Tranfer Protocol
- SMTP) foi desenvolvido como o método primário para transferir
mensagens pela Internet entre servidores MTAs. Qualquer servidor conectado
a Internet pode utilizar o protocolo SMTP para enviar uma mensagem para
um servidor remoto. A tabela
abaixo mostra os comandos mais comuns do protocolo SMTP.
A figura 6 demonstra um conexão SMTP entre dois servidores.
Para cada comando que o cliente envia para o servidor SMTP, este deve responder com uma mensagem. Estas mensagens são compostas de duas partes: a primeira é um código numérico de três dígitos que é utilizado pelo programa SMTP para identificar se o comando foi bem sucedido ou não, e porque; já a segunda parte é uma mensagem de texto para ajuda humanos a entender o significado desta mensagem. Os códigos podem ser divididos em quatro grupos: erro, informação, serviço e ação. A tabela a seguir descreve alguns exemplos destes códigos.
Para identificar
servidores remotos, o protocolo SMTP utiliza o sistema de nomes de domínios
(DNS). O DNS é um banco de dados distribuído na Internet
que permite servidores serem unicamente identificados por um nome, assim
como um endereço IP. Cada área na Internet tem seu servidor
DNS que é responsável por manter os registros DNS para
esta área ou zona. Qualquer servidor Internet nesta zona que
usa um nome registrado no DNS tem uma entrada no banco de dados neste
servidor. Esta entrada mapeia o endereço IP do servidor para
seu nome oficial no DNS. A mensagem de email SMTP é basicamente composta por uma parte chamada cabeçalho, onde vão todos os parâmetros de envio e controle do email e outra chamada de corpo, onde o email em si é transmitido. Protocolos MUA O objetivo
de protocolos MUA é permitir que usuários leiam as mensagens
de suas caixas postais. Em um sistema UNIX com um único usuário
isto não é um problema - o usuário esta autenticado
no sistema pelo terminal. Porém, em um ambiente multiusuários,
existirão múltiplos usuários que necessitam acessar
suas caixas postais para ler as mensagens. Isto seria praticamente impossível
de se fazer utilizando uma única tela de terminal. Para favorecer este cenário, alguns protocolos foram desenvolvidos para permitir que usuários de redes remotas pudessem autenticar e ler as mensagens em suas caixas postais no servidor de email. Cada usuário pode se conectar com sua caixa postal no servidor de email através de seu programa MUA que está em sua estação de trabalho. O programa MUA utiliza protocolos especiais para se conectar ao servidor de email e manipular as mensagens na caixa postal. Os dois mais populares protocolos são: O Protocolo de Agência de Correio O protocolo mais simples de MUA é o Protocolo de Agência de Correio (Post Office Protocol - POP). A versão atual do POP é a versão 3, assim surgindo o termo POP3. Programas MUA na estação de trabalho usam o protocolo POP3 para acessar e ler as mensagens na caixa postal do usuário. A figura 7 mostra um exemplo deste acontecimento.
Um ponto importante a ressaltar é que quando o protocolo POP3 é usado, as mensagens do usuário são lidas da caixa postal e armazenadas na estação de trabalho local. Normalmente, os programas MUA das estações de trabalho apagarão as mensagens da caixa postal do servidor quando estas forem lidas, liberando assim espaço neste. O Protocolo Interativo de Acesso a Mensagens Outro protocolo MUA que é geralmente utilizado é o Protocolo Interativo de Acesso a Mensagens (Interactive Mail Acess Protocol - IMAP). O IMAP está atualmente na versão 4, revisão 1, assim o termo IMAP4rev1 é freqüentemente utilizado. Programas MUA em estações de trabalho podem utilizar o protocolo IMAP para manipular emails em pastas que podem estar localizadas no servidor de email. A figura 8 mostra um exemplo de estação de trabalho utilizando o protocolo IMAP.
Em uma conexão IMAP, todas as mensagens do usuários residem no servidor de email. As mensagens são transmitidas somente para serem mostradas na tela da estação de trabalho. Este protocolo é útil se o usuário deve acessar sua caixa de mensagens de computadores diferentes. Usando o protocolo POP3, a cada momento que o usuário acessar sua caixa postal, as mensagens atuais são baixadas para a estação de trabalho usada para acesso. Isto poderia facilmente distribuir mensagens entre vários computadores diferentes. O IMAP previne esta situação mantendo todas as mensagens no servidor de email, não importando qual a estação de trabalho utilizada para a visualização. Enquanto isto é mais conveniente para o usuário, faz com que o trabalho do administrador de servidores de email mais difícil. Nesta situação, o espaço em disco no servidor poderá rapidamente ser preenchido com mensagens não apagadas e necessita-se de um cuidado especial. |
|||||||||||||||||||||||||||||||||||||||
Trabalho desenvolvido por Alan Rubin - Redes I - 2001/02 - Prof. Otto C.M.B.D. |