Arquitetura de Roteamento no
Exchange Server 2007
Por Anderson Patricio
Neste
artigo estaremos mostrando um
novo conceito introduzido no
Exchange Server 2007 no âmbito
de roteamento de mensagens, as
tradicionais figuras de
Routing Group e Routing
Group Connectors foram
substituídas nesta nova versão, ou melhor, elas
foram removidas e este processo
ficou centralizado no Active
Directory. No Exchange Server
2007 todo o roteamento de mensagens é
feito através dos Sites do
Active Directory. Com isto
nossas implementações de
Exchange agora devem considerar
ainda mais a estrutura física do Active
Directory.
Um pouco de história...
Para
entendermos como funciona nas
Organizações Exchange 2007 é
interessante sabermos como
funcionava no Exchange Server
2003 para visualizarmos de uma
forma melhor como este serviço
foi melhorado na versão atual.
No
Exchange Server 2003 as
mensagens enviadas de uma caixa
para outra no mesmo servidor era
feito através do Store Driver
e SMTP (Simple Message
Transfer Protocol). Quando
um usuário envia uma mensagem o
Store Driver usa uma conexão
MAPI para coletar e enviar a
mensagem para uma caixa SMTP
oculta no servidor no servidor. O Categorizer por sua vez, que
roda como parte do serviço SMTP,
identifica o caminho e próximo
servidor para a mensagem e passa
para o componente SMTP Routing
Engine para entrega. Se a caixa
de destino é no mesmo servidor,
a mensagem é repassada para o
Information Store através do
Store Driver.
Cenários de roteamento das
mensagens
O
processo de entrega de mensagens
sejam internas ou externas foi
totalmente redesenhado para
utilizar o novo formato de
papéis dos servidores e todo o
processo que envolve a entrega e
recebimento de mensagens são
incluídos no componente chamado
Exchange Transport Service,
além disso tivemos a introdução
de Exchange Server Objects (XSO)
que nada mais é que uma API que
utiliza MAPI para comunicação
entre as funções do Exchange
Server 2007, Microsoft Exchange
Mail Submission Service e
mudanças no Store Driver.
O
Exchange Transport Service é
encontrado na função de servidor
de Hub Transport, onde o fluxo
de mensagem pode ser
classificado em 4 (quatro)
tipos, conforme tabela abaixo:
|
Cenário do Fluxo
de Mensagens |
Definição |
|
Inbound |
Mensagens entrantes
na Organização
Exchange provindas
da Internet |
|
Outbound |
Mensagens saindo da
Organização Exchange
para a Internet |
|
Local |
Mensagens enviadas
para recipientes no
mesmo site |
|
Remote |
Mensagens enviadas
para recipientes em
diferentes sites |
Explicando
um pouco mais cada um dos
cenários:
Inbound
Refere-se
a mensagens que chegam
na organização exchange
a partir da Internet.
Esta entrada pode ser
através de um gateway
qualquer (Linux), função
de Edge Transport ou
ainda um Hub Transport,
que aceita a mensagem
provinda da Internet e
faz o roteamento para a
organização Exchange.
Outbound
Mensagens
que estão saindo da
Organização Exchange
para a Internet, isto
ocorre após o Hub
Transport ter processado
a mensagem e ter a
identificado como
domínio externo. Ela
será redirecionado
diretamente ou ainda via
servidor de gateway de
mensageria. Este gateway
pode ser um servidor com
a função de Edge
Transport
Local
É
a mensagem processada em
um Hub Transport em uma
Organização Exchange e
entregue a uma caixa no
mesmo site do Active
Directory.
O
processo interno pode
ser descrito em 4
passos:

-
O
processo se inicia
quando um cliente
envia uma mensagem,
a mesma é submetida
para o message store
em um servidor com a
função de Mailbox
Server. Se for um
Outlook a conexão
será MAPI e a
mensagem é escrita
diretamente na pasta
Outbox (Mensagens
Enviadas) da mailbox
do usuário emissor.
-
Quando o Mail
Submission Service
(serviço que roda no
Mailbox Server)
detecta que uma
mensagem está
disponível (que é
aquela aguardando na
pasta Outbox), ele
encontra um servidor
Hub Transport
disponível e envia
um Nova Mensagem de
Notificação (New
Message Notification)
para o Store Driver.
Detalhe: Se
houver mais de um
Hub Transport no
mesmo site do Active
Directory o Mail
Submission Service
irá balancear as
requisições entre os
Hub Transport
existentes.
-
O
Store Driver
recupera a mensagem
do Mailbox Server.
O Store Drive
utiliza XSO
para conectar na
pasta Outbox e
coletar qualquer
mensagem que
necessite ser
entregue. Ele envia
estas mensagens para
o Submission Queue
para o Categorizer
processar e mover
estas mensagens da
pasta Outbox para a
pasta Sent Items
(Mensagens
Enviadas).
-
Para
mensagens destinadas
a um Mailbox Server
no mesmo site do
Active Directory, a
mensagem é colocada
na fila chamada
Local Delivery Queue
e então o Store
Driver entrega a
mensagem no Mailbox
Server utlizando XSO.
Remote
É
a mensagem processada em
um Hub Transport em uma
Organização Exchange e
entregue em uma caixa em
um site do Active
Directory diferente da
caixa de origem.
O
processo de entrega
quando o destinatário da
mensagem é idêntico ao
processo local com
exceção do último passo.
O
processo pode ser
resumido da seguinte
forma: o Categorizer
descobre que a caixa
final não reside no
mesmo site do Active
Directory então ele
identifica o próximo
servidor (hop). Se a
mensagem for para
Internet este
identificador será um
Hub Transport ou um Edge
Transport que seja
responsável pela entrega
desta mensagem externa.
Caso
a mensagem esteja
endereçada para um
usuário da mesma
organização mas em um
site diferente, o Hub
Transport utilizará a
informação do Active
Directory Sites and
Services para determinar
a rota para o site de
destino. Quando o
caminho for determinado,
o Hub Transport irá
fazer uma conexão direta
com o Hub destino, caso
não consigo e tenha
nenhum Hub Transport
disponível no site
remoto a mensagem será
entregue no Hub
Transport mais próximo (Back
off).
Detalhe:
A comunicação entre Hub
Transports é sempre
feita via SMTP.
Um
outro ponto importante
em site remotos é como
funciona a escolha da
melhor rota, em
ambientes menores isto
não chega a ser um ponto
de observação, mas
quando temos dezenas
e/ou centas de sites?
Bom
o Exchange Server 2007
utiliza um algoritmo
determinístico para
definir a rota da
mensagem, a ordem é
feito de acordo com
estes pontos:
-
Caminho com menor
custo do site de
origem para o site
de destino
-
O
caminho com o menor
número de segmentos
(hops)
-
Ordem alfanumérica
do site do AD
Com
isto podemos resumir que
sempre o menor custo
será utilizado para a
entrega da mensagem,
depois que o algoritmo
acima foi decidido
podemos ter a figura de
Hub Sites de Active
Directory. A mensagem
irá parar nestes Hub
Transport localizados em
um Hub Site antes de ser
entregue no destino,
lembrando que elas só
param em um Hub Site se
ele for o menor caminho,
ele não é fator na
escolha da rota acima
descrita.
Outro
ponto importante do
fluxo de mensagem é
quando uma mensagem é
enviada para dois
usuários em sites
diferentes, ela continua
única até chegar um
ponto de bifurcação onde
cada um segue para o seu
respectivo site, aumento
a performance na entrega
de mensagens.
Explanando os componentes da
arquitetura de Transporte
Agora
vamos ver todas os componentes
responsáveis pela funcionamento
do Exchange Transport
Services no Exchange Server
2007. Vamos visualizar o mapa da
arquitetura e depois vamos ver
um breve resumo de cada um dos
componentes, o mapa é mostrado
abaixo:

Os
componentes podem ser resumidos
da seguinte forma:
-
SMTP
Receive
Quando
as mensagens são recebidas
no Edge Transport, é feito
uma série de verificações,
tais como: anti-spam,
antivirus, filtro de
conexões e conteúdo da
mensagem. Este processo no
ajuda a identificar o
emissor e o recipiente da
mensagem enquanto ela é
aceita na organização.
Quando a mensagem é recebida
no Hub Transport, regras de
transporte são aplicadas e
se existem agentes de
anti-spam e antivirus também
são aplicados na mensagem
proporcionando um nível
adicional de segurança.
A
sessão SMTP possui uma série
de eventos que trabalham em
conjunto para validar o
valor da mensagem antes da
mesma ser aceita na
Organização. Depois que a
mensagem passou
completamente através do
SMTP Receive e não foi
rejeitado por eventos de
recebimentos ou ainda
anti-spam ou antivírus ela é
colocado no Submission
queue.
-
Submission
É
o processo de colocar as
mensagens na Submission
queue. O Categorizer
então remove uma mensagem
para categorizar. Ha três
tipos de submission
-
Categorizer:
Pega
uma messagem por período da
fila de Submission. No Edge
Transport é um processo
curto, onde a mensagem é
colocada diretamente na fila
de entrega (delivery queue).
Da fila de entrega a
mensagem é roteada para o
computador que está rodando
o Hub Transport na
Organização Exchange.
-
Local
Delivery
Mensagens
que são enviadas para
recipientes com caixa no
mesmo AD Site que o Hub
Transport. Todas as
mensagens entregues
localmente são removidas da
fila de entrega (delivery
queue) pelo Store Driver e
coloca na Inbox do
recipiente no Mailbox
Server.
-
SMTP Send
Mensagens
que são enviadas para
recipientes em sites do
Active Directory diferentes
do computador que está com a
função de Hub Transport onde
a categorização ocorreu são
entregues remotamente ou
fora da organização
Exchange. Todas as mensagens
enviadas para sites
diferentes, versões antigas
do Exchange Server são
roteadas através de um Send
Connector para um Hub
Transport que pode entregar
a mensagem. Todas mensagens
que requerem entrega através
da Internet devem ser
roteadas através de um Send
Connector para um Edge
Transport que possa enviar
as mensagens para a
Internet.
Segurança no transporte
O
Exchange Server 2007 é seguro
por default, vamos explicar a
questão de segurança no âmbito
da transferência de mensagens
entre Hub Transports e também
via XSO entre o Mailbox Server o
Hub Transport. As mensagens são
entregues de duas formas
distintas, via RPC em um escopo
local e por SMTP quando há
comunicação entre sites.
As
duas formas que temos de
comunicação entre funções, são
explicadas abaixo:
-
Hub
Transport e Mailbox Server:
a implementação RPC da
Microsoft que é feita entre
o Mailbox Server e o Hub
Transport são criptografadas
utilizando criptografia RPC.
Se quisermos aumentar ainda
mais a segurança podemos
utilizar IPSec na
comunicação entre eles.
-
Hub
Transport e Hub Transport:
utiliza uma mecanismo de
segurança chamado Anonymous
TLS, que utiliza
certificados para garantir
que as mensagens entre Hub
Transports é criptografada e
segura.
Este
mecanismo chamado Anonymous
TLS não precisa de um
certificado X.509 emitido
por uma CA. Ele é o
certificado emitido pelo
próprio servidor no momento
da implementação da função
de Hub Transport.
Utilização de Send Connectors
Um
ponto interessante e que deve
ser levado na implementação do
Exchange Server 2007, não
precisamos criar conectores de
envio (Send Connectors) entre os
sites eles são automaticamente
criados em memória e não podemos
gerenciá-los.
Conclusão
Neste
artigo estudamos como funciona a
arquitetura de mensagens no
Exchange Server 2007, como
também a segurança integrada que
é proporcionada em cada tipo de
processo envolvendo a troca de
mensagens entre as funções de
servidores em uma Organização
Exchange.
Anderson
Patricio
http://www.andersonpatricio.org