Por Daniel Seveso
 

El ruteo de mensajes en Exchange 2003 depende del servicio Microsoft Exchange Routing Engine que corre como parte del Internet Information Service (inetinfo.exe).  Varios componentes forman parte de este esquema como por ejemplo: Link State, Routing Group Masters, Routing Group Connectors, SMTP Connectors, espacios de direcciones y costos…  Los mensajes son ruteados dentro de la organización entre Routing Groups  típicamente a través de Routing Group Connectors aunque también pueden utilizarse SMTP Connectors o X400 Connectors. Para mensajes ruteados fuera de la organización, Exchange 2003 usa comúnmente SMTP Connectors configurados con el espacio de direcciones (Address Space) correspondiente a los dominios con los que se comunicará. Un SMTP Connector hacia Internet, usa por ejemplo un espacio de direcciones “*” que significa cualquier dominio. Las decisiones en la ruta de un mensaje las toma el servicio Routing Engine considerando costos, disponibilidad de los conectores, agendas de activación y espacios de direcciones. La información que necesita el Routing Engine es mantenida en memoria y actualizada dinámicamente por eventos externos como cambio en el estado de un conector, creación de un nuevo conector, modificación en sus restricciones, etc.  Este sistema fue introducido con Exchange 2000 y mejorado en Exchange 2003, aunque aún tiene sus deficiencias en organizaciones muy grandes. El principal inconveniente es mantener esta información actualizada casi en tiempo real en todos los servidores de la organización. Cuando la organización se torna grande en número de servidores y Routing Groups, la cantidad de conectores necesarios también crece, agregando información a lo que se conoce como tabla de Link State. Cuanto mayor es la información en esta tabla, más tráfico, más procesamiento y más tiempo se invierte en su propagación.

En Exchange 2007 este esquema de ruteo fue completamente rediseñado incorporándolo en el proceso de categorización de los mensajes e independizándolo de Internet Information Service. Funcionalmente, también fue separado de los conocidos Routing Groups utilizando los Sites de Active Directory como forma de agrupar servidores con buena conectividad.  Estos cambios simplifican considerablemente el ruteo de mensajes y la predicción de la ruta que un mensaje tomará (no hay elementos dinámicos que se tomen en cuenta para determinar la ruta). El servidor con el rol de HUB es quien tomará la decisión sobre el ruteo del mensaje de forma determinativa y en función de la topología de Sites en Active Directory (no se utiliza más Link State). Exchange 2007 elegirá siempre la ruta de más bajo costo (siempre la misma), mientras los valores de costo, cantidad de saltos y nombre del enlace de sitios no cambien.

Para que este esquema de ruteo funcione, es necesario un servidor con el rol de HUB (por lo menos uno) en cada Site de Active Directory. Absolutamente todo el tráfico de mensajes pasará por un servidor con rol de HUB (incluyendo un mensaje entregado dentro de una misma base de datos). Este rol hará de servidor de puente entre los distintos servidores y distintos Sites.

¿Cómo se determina la ruta de un mensaje dentro de la organización y como se entrega finalmente?

Por omisión, la ruta es calculada en base al menor costo (se suman los costos de los Site Links de Active Directory desde el servidor de origen al servidor de destino), sin embargo, la entrega del mensaje se intenta en forma directa. En caso que la entrega no pueda realizarse directamente a ninguno de los servidores con el rol de HUB en el sitio de destino, el mensaje se entregará para ser encolado al sitio más cercano a su destino final. Esta lógica se aplica sucesivamente si el mensaje tampoco puede ser entregado en este último. La acción de retroceder en los saltos de la ruta para entregar en el último sitio disponible se le llama “Back-off”.

Cuando la entrega directa del mensaje no es deseada o no es posible, puede designarse un sitio como concentrador (Explicit Hub Site) al cual el mensaje deberá ser entregado obligatoriamente en su camino al destino final.  El sitio concentrador deberá estar en el  camino seleccionado por Exchange como de menor costo para ser tomado en cuenta, de otra forma el sitio concentrador será ignorado y la entrega del mensaje se intentará en forma directa.

La aplicación práctica de un sitio concentrador, es cuando no hay conectividad física (o se intenta evitar la conectividad) entre dos sitios determinados, por ejemplo, cuando hay firewalls entre los sitios.

Los Administrative Groups y Routing Groups ya no existen como tal en Exchange 2007. Para preservar compatibilidad con herramientas administrativas y la consistencia en el almacenamiento de información de configuración en Active Directory, se han creado los siguientes nombres Exchange Administrative Group (FYDIBOHF23SPDLT) y Exchange Routing Group (DWBGZMFD01QNBJR), donde residirán todos los servidores Exchange 2007 de la organización.

Estos son los lineamientos básicos del nuevo esquema de ruteo de mensajes dentro de una organización Exchange 2007. Existen por supuesto más detalles con respecto a los protocolos utilizados en cada situación, la aplicación de restricciones, bifurcación de mensajes, coexistencia con los Routing Groups de Echange 2003 y el uso de conectores conjuntamente con el rol de EDGE server para el ruteo de los mensajes externos a la organización. Iremos  desarrollando estos temas en futuros artículos.

Felices Fiestas!

 

Referencias:

New Transport and Routing Functionality

Exchange Server 2007 Active Directory Site and Connector Selection Algorithms