Fluxo de E-mail no Exchange Server 2013

Esse post pode ser utilizado para entendimento do fluxo de e-mails no Exchange Server 2013.

O Exchange Server 2013 possui as Seguintes funções:

Servidor de Caixa de correio (Mailbox Server): Função que hospeda a função de Banco de Dados de caixa de correio, Serviço de Transporte de Rede (HUB Transport) e Unified Messaging.

Servidor de Acesso ao Cliente (Client Access Server): Função de autenticação de usuário, redirecionamento e proxy, oferece protocolos de acesso de clientes como: HTTP\HTTPS (Outlook Anywhere, ActiveSync e Web Services), POP, IMAP e SMTP, RPC sobre HTTPS e MAPI sobre HTTPS).

Servidor de Borda (Edge Server): Função que controla o fluxo de e-mail de/para a Internet, proteção de antispam e antivírus. Hospedado numa rede DMZ.

No Exchange Server 2013 a arquitetura foi redesenhada sendo que as funções de Client Access e Mailbox não são totalmente dependentes um do outro como em versões anteriores do Exchange Server, pois todo o processamento e realizado no servidor Mailbox. Outras melhorias são fornecidas com essa nova arquitetura, porém nesse post iremos abordar somente o assunto de Fluxo de E-mails.

Pipeline de Transporte

O fluxo de mensagens ocorre através da pipeline de transporte que é uma coleção de serviços, conexões, componentes e filas que trabalham juntos para rotear mensagens no Exchange Server 2013, o pipeline de transporte agora é composto por três serviços:

FrontEnd Transport Service: Serviço executado em todos os servidores de Client Access, atuando diretamente com um proxy para tráfego SMTP. Este serviço não faz nenhuma inspeção no conteúdo da mensagem, mais pode fazer uma filtragem básica de e-mail baseado em conexões, domínios, remetentes e destinatários.  Este serviço se comunica com o serviço de Transporte e não armazena nenhuma fila de mensagens localmente.

Transport Service: esse serviço faz todas as funções que a antiga função de HUB Transport executava, porém não se conecta diretamente com um banco de dados para entrega da mensagem. Ele lida com todo o fluxo de e-mails SMTP para a organizaão, executa categorização e inspeção de conteúdo. Esse serviço se comunica com o servço de FrontEnd Transport Service e Mailbox Transport através de SMTP e utiliza fila para armazenamento de mensagens.

Mailbox Transport Service: executado em todos os servidores de caixa de correio e separa por dois serviços.

Mailbox Delivery Transport Service: Esse serviço é responsável por receber mensagens SMTP do serviço de Transporte e entregar a mensagem para o Mailbox Database através do protocolo RPC.

Mailbox Submission Transport Service: Se conecta no Mailbox Database através do protocolo RPC para enviar mensagens ao serviço de transporte via SMTP.

 

O controle de roteamento e entrega e feito através do serviço de Transport Services armazenado em todos os servidores com a função de Mailbox, as mensagens chegam no serviço de transporte através de quatro maneiras:

  1. Por meio de um conector de recebimento;
  2. Através dos diretório Pickup eReplay;
  3. Através do serviço Mailbox Transport Service;
  4. Através do submission agente.

O Serviço Transport Service é segmentado em três serviços: SMTP Receive, Submission e Categorizer.

SMTP Receive: quando uma mensagem é recebida pelo serviço de transporte, o SMTP receive faz inspeção de conteúdo, inspeção anti-spam/anti-mailware e aplica regras de transporte.

 Submission: é o processo utilizado para colocar e-mails na fila de envio real e pode acontecer de três maneiras:

  1. Por meio de um conector de recebimento SMTP;
  2. Através dos diretórios de Pickup e Replay;
  3. Através de agente.

Categorizer: capta uma mensagem de cada vez na file de envio e completa os seguintes passos:

  • Resolução de Destinatário: se o endereço de e-mail tem uma caixa de correio na organização Exchange ou é um endereço de e-mail externo;
  • Resolução de roteamento: define a rota para o destinatário e o próximo salto;
  • Conversão de conteúdo: converte uma mensagem para um formato que pode ser lido pelo destinatário.

Após esses três processos a mensagem é colocada em na fila de entrega, que é baseada no destino do usuário que pode ser um Mailbox Database, um DAG, um Site do AD, uma floresta do AD ou um domínio externo.

Dependendo da localização do destinatário a mensagem pode ser encaminhada para:

  • O serviço de Mailbox Transport Service no mesmo sevidor Mailbox.
  • O serviço de Mailbox Transport Service em um servidor diferente que faz parte do mesmo DAG.
  • O Serviço de Mailbox Transport Service em um servidor DAG diferente, um outro site ou floresta do AD.
  • O Servico de FrontEnd Transport Service em um servidor Client Access para enviar a mensagem para a internet.

Abaixo a imagem a seguir foi retirada do technet e pode ser utilizada como referencia para tudo que falamos até agora.

image0021353440138153

 Roteamento de Mensagens

O principal objetivo do serviço de transporte (presente em todos os servidores Mailbox) é fazer o roteamento de mensagens. As decisões de roteamento são feitas durante a categorização de mensagens, sendo o categorizador o componente do serviço de transporte que processa todas as mensagens e determina o que fazer com ela.

No Exchange Server 2013, todos os servidores Mailbox executam a função de transporte, o processo de encaminhamento está totalmente integrado ao DAG, usando uma DAG como um limite de roteamento. Servidores que não são membros de um DAG utilizam um site do AD como limite de roteamento.

Como em versões anteriores o destino final de roteamento é chamado Routing Destination que podem ser um:

Mailbox Database: qualquer destinatário que tenham uma caixa e correio no Exchange server tem um Mailbox Database como Rounting Destination.

Conector: pode ser um conector de envio SMTP, conector de agente de entraga ou um conector externo.

Distribution Group Expansion Server: quando um grupo de distribuição tem um servidor responsável por expandir a lista de membros, este é o destino de roteamento.

Cada destino de roteamento tem uma coleção de um ou mais servidores de transporte que são responsáveis pela entrega de mensagens para esse destino de roteamento, conhecido com grupo de remessa.

Existem 5 tipos de grupo de remessa:

Routable DAG: uma coleção de servidores de caixa de correio que pertence a um DAG. Depois que a mensagem chega ao serviço de Transporte em um servidor Mailbox em um DAG ele encaminha a mensagem para o servidor Mailbox do DAG que possui a cópia ativa do Mailbox Database.

Mailbox Delivery Group: Uma coleção de servidores Exchange da mesma versão localizada em um site do AD. Um Site do AD e um limite do grupo de distribuição.

Connector Source Server: Uma coleção mista de servidores de transporte de HUB do Exchange Server 2010 e\ou Exchange Server 2013 que são escopo de origem para um conector de envio, um conector de agente de entrega ou um conector externo.

Site do AD: em alguns momentos, um site do AD não é o destino final de uma mensagem, a mensagem deve ser encaminhada para um outro servidor Mailbox em outro site.

Lista de Servidores: um coleção de um ou ais servidores de Exchange Server 2010  e\ou Exchange Server 2013 que são configurados como servidores de expansão de um grupo de distribuição.

A lógica de roteamento para uma mensagem é calculada da mesma forma que no Exchange Server 2010:

  1. Calcular o caminho de roteamento de menor custo levando em consideração o custo dos links de site IP que devem ser percorridos para chegar ao destino. Se o destino for um conector, o custo atribuído ao espaço de endereço é adicionar ao custo de roteamento. Se vários caminhos estão disponíveis o caminho com menor custo será escolhido.
  2. Se mais de um caminho de roteamento tiver o mesmo custo, o caminho de roteamento com o menor número de saltos é utilizada.
  3. Se ainda sim mais de um caminho estiver disponível o nome atribuído ao Site do AD é considerado.

FrontEnd Transport Service

Quando uma mensagem entra na organização e é recebida pelo FrontEnd Transport Service o(s) destinatário(s) são resolvidos para um grupo de remessa responsável pela entrega desse serviço. Com base no número e tipo de destinatário o serviço FrontEnd Transport Service toma uma das seguintes ações:

  1. Para mensagens com um único destinatário, o serviço ira selecionar m servidor de caixa de correio no grupo de entrega do destino e dar preferência para um servidor no mesmo site.
  2. Para mensagens com múltiplos destinatários de caixa de correio, os 20 primeiros destinatários são levados em consideração para selecionar um servidor de caixa de correio mais próximo em seu site.
  3. Se as mensagens não tem destinatários de caixa de correio na organização o servidor selecionará um servidor de caixa de correio aleatoriamente no seu site do AD.

Mailbox Transport Service

Mensagem que tem um destinatário dentro da organização são recebidos via SMTP do serviço Transport Services para o serviço de Mailbox Transport Services, o Mailbox Delivery Transport recebe a mensagem e se conecta no banco de dados usando RPC para entregar a mensagem ao usuário final. O Serviço de Mailbox Delivery Transport só ira se conectar em seus bancos de dados ativo, caso um failover ocorra durante esse processo, o serviço de Transport Services é notificado e enviará a mensagem para o servidor Mailbox que hospeda o banco de dados ativo para aquele destinatário.

Para mensagens de saída, o serviço de Mailbox Submission Transport Service se conecta ao banco de dados da caixa via RPC para recuperar mensagens e as envia para o serviço Transport Services via SMTP.

O serviço de Mailbox Transport Service não armazena nenhuma fila localmente, todas as filas são mantidas pelo serviço Transport Services em servidores Mailbox.

Rastreamento de Fluxo de Mensagens

Semelhante ao Exchange Server 2010, podemos usar relatórios de entrega para acompanhar as mensagens enviadas de/para usuários em uma organização Exchange 2013 e verificar o estado de entrega e seu fluxo de e-mails.

Podemos utilizar logs de rastreamento para validarmos o fluxo das mensagens, porém como o Exchange Server 2013 não possui mais as funções de Hub Transport os cmdlets Get-TransportServer foi substituído por dois novos cmdlets:

  • Get-TransportService: retorna informações de configuração de transporte para o serviço de transporte em servidores Mailbox ou servidores Edge.
  • Get-MailboxTransportService: retorna informações de configuração de transporte para o serviço de Mailbox Transport Service no Mailbox Server.

Vamos analisar os logs de rastreio para o fluxo de um e-mail enviado a partir do usuário interno user01 que está em um servidor MBX01 para um usuário interno user02 que está em um servidor MBX2. Usando o shell de gerenciamento do Exchange podemos utilizar o seguinte cmdlet para rastrear a mensagem:

Get-TransportService | Get-MessageTrackingLog –ResultSize Unlimited –Start “18/06/2015” –Sender user01@mscloud365.com -Recipients user02@mscloud365.com –MessageSubject “Testing Mail Flow” | Sort TimeStamp | Select ClientHostname, ServerHostname, ConnectorId, Source, EventId

O e-mail fara o seguinte caminho:

image003

  1. O Serviço de Mailbox Transport Submission usa o Store Drive para conectar ao banco de dados usando RPC e retira o e-mail.
  2. Nesse passo o serviço de Mailbox Transport Submission Service irá procurar o grupo de remessa, que nesse caso será um servidor Mailbox que está no mesmo site. Assim o Store Driver passa o  e-mail para o serviço de Transport Services via SMTP.
  3. O serviço Transport Service no servidor MBX2 recebe o e-mail enviado através de SMTP do serviço Mailbox Transport Submission servisse usando seu conector de recebimento padrão. Inspeção de conteúdo, anti-spam/anti-malware são executadas, as regras de transporte são aplicadas, após esse processa a mensagem é colocada na fila de envio.
  4. O categorizador pega o e-mail na fila de envio, processa e coloca em uma fila de entrega com base no seu destino (nesse caso, um Mailbox Database nesse servidor).
  5. O e-mail é enviado através de SMTP no serviço Transport Service para o serviço Mailbox Transport Delivery Service.
  6. O e-mail é recebido via SMTP.
  7. O serviço Mailbox Transport Delivery Service usa o Store Drive para se conectar no banco de dados via RPC e entrega a mensagem.

Referência

O MVP em Exchange Nuno Mota do Reino unido fez um post explicado o passo a passo para o MailFlow no Exchange Server 2013, esse post utiliza o mesmo como referencia e pode ser encontrado no site: http://www.msexchange.org/articles-tutorials/exchange-server-2013/planning-architecture/exchange-2013-mail-flow-part1.html

Documentação sobre o assunto no TechNet: https://technet.microsoft.com/en-us/library/aa996349(v=exchg.150).aspx

 

 

Anúncios

Uma resposta em “Fluxo de E-mail no Exchange Server 2013

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s