Loop detection in Microsoft Exchange Server uses standard X.400 internal and external trace information. It also uses Microsoft Exchange-specific information contained in the per-domain bilateral information of a message or the additional information of a report. This information is used to support multinational enterprises without undue configuration complexity and to avoid triggering X.400 loop detection.
External trace information documents the actions taken on a message, probe, or report by each MD through which the message passes. Each MD the message enters indicates whether the message was relayed or rerouted, plus any other actions (such as redirection or distribution list expansion) performed by that MD. If the message enters the same MD twice without rerouting, redirection, or distribution list expansion, the message loop is detected and it generates an NDR.
Internal trace information is maintained for messages that are routed within an MD. Each MTA the message enters indicates whether the message was relayed or rerouted, plus any other actions (such as redirection or DL expansion) performed by that MTA. If the message enters the same MTA twice without a reroute, redirection, or distribution list expansion, the message loop is detected and an NDR is generated. Note that the internal trace information is removed from a message when it is transferred out of an MD.
An X.400 MD is uniquely defined by the c, a, and p components of the O/R address space. These fields are collectively termed the MD's global domain identifier (GDI). Because Microsoft Exchange Server uniquely identifies sites by using the c, a, p, and o components of the O/R address space, it is possible for a message to traverse a site that has the same c, a, and p values as a different site traversed earlier. To prevent loop detection in this situation, each Microsoft Exchange Server site adds Microsoft Exchange-specific per-domain bilateral information to messages and additional information to reports, including the site distinguished name for the site being traversed. If Microsoft Exchange Server or the MTA detects a loop in the external trace information, it searches the current site distinguished name for in the Microsoft Exchange-specific information. If the current site distinguished name is not found, it is not a real loop, and therefore X.400 loop detection is suppressed.