瞭解訊息路由

 

適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上次修改主題的時間: 2016-11-28

在您的組織中,Hub Transport Server 和 Edge Transport Server 的主要工作,是將接收自使用者和外部來源的郵件路由傳送至其最終目的地。本主題說明 Microsoft Exchange Server 2010 如何在您的組織中路由傳送郵件。

要尋找與管理傳輸伺服器相關的管理工作嗎?請參閱管理傳輸伺服器

目錄

Exchange 2010 中的郵件路由概觀

路由元件

使用 Active Directory 站台進行路由

Exchange 2010 路由表

接收郵件以進行路由傳送

路由傳送郵件

重新路由傳送及無法存取之佇列

Exchange 2010 中的郵件路由概觀

路由決策是在郵件分類期間完成的。分類程式是 Microsoft Exchange Transport 服務的元件之一,會處理所有內送郵件,並根據預定收件者的相關資訊決定如何處理郵件。分類程式會以數個相依階段來處理郵件,而且在郵件處理過程中,也會用到 Microsoft Exchange Transport 服務的其他元件。當 Exchange 2010 傳輸伺服器收到郵件,而且在 SMTP 接收期間執行的初步處理完成之後,就會將郵件傳遞至提交佇列。郵件會透過分類程式,從提交佇列移往下列階段:

  1. **代理程式處理提交的郵件   **收到郵件要進行分類時,就會在 Hub Transport Server 上執行某些代理程式處理。此階段提供的代理程式,包括選用的 Microsoft Forefront Protection for Exchange Server 防毒代理程式與日誌代理程式。

  2. **收件者解析   **進行此階段時,會解析收件者的電子郵件地址,以判斷該收件者擁有的是 Exchange 組織內的信箱,或者是外部電子郵件地址。

  3. **路由   **完成解析收件者的資訊之後,分類程式的路由元件會判斷郵件的最終目的地以及前往該目的地的路由、選取下一個進行郵件轉送的區段或躍點,然後將下一個躍點資訊解析成實際的伺服器及 IP 位址清單。

  4. 內容轉換   在將郵件轉送至下一個躍點之前,要執行內容轉換,如此才能以收件者能夠閱讀的格式傳送郵件。內容轉換程序可將電子郵件從某種格式轉換成另一種格式,以用於郵件流程或儲存 (例如,從 MAPI 轉換成 MIME,或是從 UUENCODE 轉換成 base64 編碼),或者,用於電子郵件用戶端特有的適當轉換 (例如,HTML、RTF 格式或純文字)。

  5. 代理程式處理路由郵件   決定了特定郵件的路由決策後,傳輸規則代理程式及日誌代理程式便會套用至 Hub Transport Server。提交郵件以及路由郵件時,都會套用日誌代理程式,如此傳輸規則代理程式對郵件所做的任何變更 (例如修改傳遞位址或套用郵件特定的日誌需求),才不會略過日誌代理程式。

  6. 封裝郵件和產生 DSN   組合已完成分類的郵件,然後將它移至傳遞佇列。傳遞狀態通知 (DSN) 也會在此階段產生。

接下來會由 SMTP 傳送、儲存區驅動程式、傳遞代理程式或外部閘道連線處理常式來處理郵件。所用的元件視最終目的地而定。會以動態方式為每個躍點產生傳遞佇列。做出路由決策之後,會將郵件置入這些傳遞佇列。如果找不到收件者的路由,則會將郵件置入無法存取之佇列。

下圖顯示不同的路由階段中如何進行郵件處理,以及如何將郵件置入佇列以傳遞至下一個躍點目的地。

郵件流程中的路由內容

回到頁首

路由元件

若要執行路由決策,Exchange 2010 必須存取儲存在 Active Directory 中的組態資訊。在邊際傳輸伺服器上,組態資訊會儲存於本機伺服器上的 Active Directory 輕量型目錄服務 (AD LDS) 執行個體,並由此存取。MicrosoftWindows 與 Exchange 2010 服務會一起運作,建立組態資料對應。這些對應在路由表中進行快取。當 Exchange 2010 進行路由決策時,會參考這些表。路由拓撲變更時,會更新快取。郵件傳輸期間所使用的 Exchange 服務,都是 Hub Transport server role 與 Edge Transport server role 通用的。不過,Edge Transport server role 不會快取有關 Active Directory 拓撲的資訊。

以下是郵件路由的重要組態和服務元件:

  • Active Directory 站台   Active Directory 站台代表 Hub Transport Server 的路由界限。集線傳輸伺服器會直接傳遞給信箱伺服器、通訊群組擴充伺服器,並傳遞給本機 Active Directory 站台內連接器的來源伺服器,以及傳遞給訂閱該站台的邊際傳輸伺服器。不過,集線傳輸伺服器必須將郵件轉送給另一部集線傳輸伺服器,才能傳送給位於遠端 Active Directory 站台中的收件者、擴充伺服器及連接器。包含其他 Active Directory server role 的每一個 Exchange 2010 站台內,都必須部署集線傳輸伺服器角色。

  • Active Directory IP 站台連結   Active Directory IP 站台連結會定義 Active Directory 站台間的邏輯路徑。Exchange 2010 會參考 IP 站台連結物件,以判斷遠端 Active Directory 站台的最低成本路由路徑。

  • 傳送連接器   傳送連接器是用來將郵件傳送至其他 SMTP 主機。傳送連接器上的位址空間組態用於執行路由決策。當郵件傳遞至外部網域時,路由目的地通常是傳送連接器。需接受來自多個電子郵件網域之郵件的 Exchange 組織,可以建立各個位址空間專用的傳送連接器。如需選擇傳送連接器以將郵件路由傳送至外部網域的詳細資訊,請參閱外部郵件路由

  • 傳遞代理程式   傳遞代理程式是用來將郵件路由傳送至外部系統,該外部系統不使用 SMTP 通訊協定來傳輸郵件。執行路由決策時,會使用傳遞代理程式的位址空間和通訊協定組態。

  • 外部連接器   外部連接器使用放置目錄來將郵件傳送至外部系統,該外部系統不使用 SMTP 通訊協定來傳輸郵件。執行路由決策時,Exchange 會使用外部連接器的組態。

  • 路由群組   路由群組代表 Exchange Server 2003 的路由界限。如果現有的 Exchange 2010 組織中部署了 Exchange 2003,則路由必須考量路由群組內的伺服器位置,以將郵件傳遞給位於 Exchange 2003 上的信箱或連接器。若要實作與 Exchange 2003 的相容性,部署於組織內的執行 Exchange 2010 的所有電腦都應隸屬於同一個全域路由群組。

  • 路由群組連接器   路由群組連接器定義 Exchange 路由群組間的邏輯路徑。如果現有的 Exchange 2010 組織內部署了 Exchange 2003,就需透過路由群組連接器在不同的伺服器版本間路由傳送郵件。部署第一部 Hub Transport Server 時,安裝程序會提示您在全域 Exchange 2010 路由群組和傳統路由群組之間建立路由群組連接器。如需在部署了多種 Exchange 版本的環境下路由傳送郵件的相關資訊,請參閱內部郵件路由

  • Microsoft Exchange Transport 服務   Microsoft Exchange Transport 服務是 Exchange 2010 的 SMTP 提供者,並且控制每一個郵件處理元件,從 SMTP IN 到 SMTP OUT。各種 SMTP 事件會觸發一連串可設定的 SMTP 接收代理程式。當郵件透過 SMTP 傳輸時,在郵件提交給分類程式之前,MicrosoftExchange Transport 服務會啟用這些代理程式來處理郵件,和執行反垃圾郵件、防毒及其他工作。Microsoft Exchange Transport 服務也會使用拓撲探索模組來進行 Exchange 拓撲探索。

  • Microsoft Exchange Active Directory 拓撲服務Microsoft Exchange Active Directory 拓撲服務負責尋找網域控制站及通用類別目錄伺服器,讓 Exchange 2010 用以擷取 Active Directory 的組態及收件者資料。Microsoft Exchange Active Directory 拓撲服務也負責讓 Active Directory 伺服器的 Exchange 2010 站台相似性保持在最新狀態。

  • 路由表   路由表存放了路由元件用以做出路由決策的資訊。路由表是由拓撲元件的對應以及它們彼此間的關係所組成。

  • DNS Exchange 2010 使用增強型網域名稱系統 (DNS) 用戶端 (MicrosoftExchange Transport 服務的元件之一),將下一個躍點選項解析成目標伺服器名稱清單,標準 DNS 用戶端則可用來將該伺服器名稱清單解析成 IP 位址。增強型 DNS 也利用循環配置來向 Exchange 2010 傳輸伺服器提供負載平衡功能。

  • **SMTP   **當郵件在 SMTP 伺服器間轉送時,便使用 SMTP 進行通訊。SMTP 伺服器可以是集線傳輸伺服器、邊際傳輸伺服器、Exchange 2003 伺服器或智慧主機。Hub Transport Server 會使用遠端程序呼叫 (RPC) 將郵件直接傳遞給 Mailbox Server,此部 Mailbox Server 和 Hub Transport Server 擁有相同的 Active Directory 站台成員資格。

回到頁首

使用 Active Directory 站台進行路由

Active Directory 站台是以實體網路層面為基礎的邏輯組態元件。建立 Active Directory 站台的主要用途是定義網路中的哪些子網路,是以最佳化 Active Directory 複寫流量控制的方式連線。Active Directory 站台代表 Exchange 2010 的路由界限。裝有集線傳輸伺服器角色的電腦,會根據 Active Directory 站台拓撲來做出路由決策。

決定站台成員資格

Active Directory 樹系預設只會包含一個 Active Directory 站台。此 Active Directory 站台的預設名稱為 Default-First-Site-Name。如果沒有建立其他 Active Directory 站台,則樹系中的所有網域成員電腦都會是 Default-First-Site-Name 的成員。您不需要設定子網路到站台 (subnet-to-site) 的關聯。如果有建立其他的 Active Directory 站台,您就必須指定要指派給該 Active Directory 站台的子網路。

每個 Active Directory 站台可與一或多個 IP 子網路關聯。系統管理員可以針對設定為網域控制站及通用類別目錄伺服器的電腦,指派 Active Directory 站台成員資格。設定 Exchange 伺服器之類的網域成員電腦使用的 IP 位址位在與 Active Directory 站台關聯的 IP 子網路中時,就會自動將 Active Directory 站台成員資格指派給它們。擁有相同 Active Directory 站台成員資格的電腦,應該可有良好的網路連線性。伺服器則一律是單一 Active Directory 站台的成員。

若某個應用程式能夠判斷電腦所安裝位置的 Active Directory 站台成員資格,以及樹系內其他電腦的站台成員資格,然後使用這項資訊來控制通訊流程,這就是站台感知式應用程式。當站台感知式應用程式必須使用其他伺服器的服務時,例如網域控制站或通用類別目錄伺服器,會優先考慮與要求那些服務之電腦擁有相同 Active Directory 站台成員資格的伺服器。

Exchange 2010 是站台感知式應用程式,而且會使用 Active Directory 拓撲進行郵件路由,以及與在裝有其他 Exchange 2010 伺服器角色之電腦上執行的服務進行通訊。Active Directory 站台不只是路由界限,也是服務探索界限。

判斷網域成員電腦的站台成員資格,需根據一連串 DNS 查詢,來將本機 IP 位址和定義的子網路相比較,然後判定適當的站台成員資格關聯。為了降低與 DNS 查詢相關的額外負荷,新增的Exchange 2010Active Directory 架構包含 Exchange 伺服器物件的 msExchServerSite 屬性。此屬性值是 Exchange 伺服器的 Active Directory 站台辨別名稱。此屬性是每個 Exchange 伺服器物件的內容。將站台成員資格相似性儲存為伺服器物件屬性後,便可以直接從 Active Directory 讀取目前的拓撲而不用依賴 DNS 查詢,對於如已訂閱邊際傳輸伺服器等的非網域電腦,則會啟用站台成員資格關聯。

Microsoft Exchange Active Directory 拓撲服務會填入 msExchServerSite 屬性的值,並讓該值保持在最新狀態。Windows 型的電腦啟動時,Net Logon 服務即會判斷該部電腦的站台成員資格。Net Logon 服務會使用那項資訊尋找和本機電腦位於相同 Active Directory 站台的網域控制站,然後將授權和驗證要求直接送往那些伺服器。Microsoft Exchange Active Directory 拓撲服務會使用 DsGetSiteName API 呼叫,從 Net Logon 服務擷取站台成員資格值,並將 Active Directory 站台的辨別名稱寫入 Exchange 內 Active Directory 伺服器物件的 msExchServerSite 屬性。

下表顯示組織可能會如何定義 Active Directory 站台。在此範例中,定義了三個 Active Directory 站台,而且每個 Active Directory 站台都與一個以上的 IP 子網路關聯。

Active Directory 站台對子網路關聯的範例

Active Directory 站台名稱 關聯的 IP 子網路

站台 A

192.168.1.0/24

192.168.2.0/24

站台 B

192.168.3.0/24

192.168.4.0/24

站台 C

192.168.5.0/24

192.168.6.0/24

如果名為 HubTransportA 的伺服器具有 IP 位址 192.168.1.1,代表它是站台 A 的成員。透過變更伺服器的 IP 位址,即可變更該伺服器的站台成員資格。如果您將 HubTransportA 的 IP 位址變更為 192.168.2.1,這樣並不會變更該伺服器的 Active Directory 站台成員資格,因為該子網路還與站台 A 關聯。不過,如果您移動了伺服器,並將 IP 位址變更為 192.168.3.1,則該伺服器就會被視為站台 B 的成員。

如果您變更子網路對 Active Directory 站台的關聯,站台成員資格也會有所變更。例如,如果您移除子網路 192.168.3.0,使其不再與站台 B 關聯,然後建立該子網路與站台 A 的關聯,那麼,IP 位址為 192.168.3.1 的伺服器,其站台成員資格也會隨之變更成站台 A。每當站台成員資格有所變更時,Exchange 2010 就必須更新其組態資料,如此當 Exchange 2010 在進行路由決策時,才會將變更列入考量。從 Active Directory 站台成員資格發生變更,直到完全傳播拓撲變更,期間可能會有些微的時間延遲。必須以下列順序進行下列通訊,方能傳播拓撲變更:

  1. 將站台成員資格的變更寫入網域控制站。更新的資訊會在樹系內每個 Active Directory 站台中的網域控制站之間複寫。將變更完全傳播至整個樹系所需的時間,需視站台連結所定義的 Active Directory 複寫拓撲以及排程而定。

  2. Net Logon 服務會在所有 Windows 型電腦上執行,而且會經常輪詢 Active Directory 站台成員資格的變更。Net Logon 服務每隔 5 分鐘輪詢一次。因此,本機網域控制站收到更新後,Net Logon 服務在 5 分鐘內就會偵測到變更。

  3. Microsoft Exchange Active Directory 拓撲服務會每 15 分鐘查詢 Net Logon 服務一次,以判斷本機 Active Directory 伺服器的 Exchange 站台成員資格。如果偵測到變更,Microsoft Exchange Active Directory 拓撲服務就會更新 MsExchServerSite 屬性。

  4. 接著,將 Exchange 伺服器組態物件變更後的站台屬性值,複寫到整個組織。組織中的 Exchange 伺服器都偵測到此一變更。接下來,就會以新的 Active Directory 站台成員資格屬性值來更新路由表。

從 Active Directory 站台成員資格變更生效,直到其他 Exchange 2010 伺服器能夠使用更新的資訊,期間可能會有些微的時間延遲。如需 Exchange 2010 如何處理這些組態變更類型的相關資訊,請參閱本主題稍後提供的<重新路由傳送及無法存取之佇列>。

IP 站台連結

站台連結是 Active Directory 站台間的邏輯路徑。站台連結物件代表一組站台,能透過指定的站台間傳輸方式以一致的成本相互通訊。站台連結和在實體網路上傳送網路封包的實際路徑沒有對應關係。不過,系統管理員指派給站台連結的成本通常和基礎網路可靠性、速度以及可用頻寬有關。例如,跟速度為 10 Mbps 的網路連線相比,Active Directory 系統管理員對於速度每秒 100 MB (Mbps) 的網路連線會指派較低的成本。

所有站台連結預設均為可轉移。這表示如果站台 A 連結至站台 B,且站台 B 連結至站台 C,則站台 A 間接地連結至站台 C。站台 A 與站台 C 之間的間接連結稱為站台連結橋接

Active Directory 站台連結可設定為使用 IP 或 SMTP 作為通訊的傳輸通訊協定。SMTP 站台連結僅限用於可使用該通訊協定來複寫的資料類型,且其設計目的是在無可靠網路連結的 Active Directory 站台間提供複寫的儲存及轉寄機制。IP 站台連結上可複寫的資料類型沒有限制。Exchange 2010 只會使用 IP 站台連結來決定路由拓撲。計算路由表時,Exchange 2010 的路由元件會考量指派給 IP 站台連結的成本。這些成本可用來計算將郵件送往最終目的地的最低成本路由路徑。

每個 Active Directory 站台必須與至少一個 IP 站台連結關聯。有一個預設 IP 站台連結,名稱為 DEFAULTIPSITELINK。當您建立一個 Active Directory 站台時,您必須將該站台與 IP 站台連結關聯。您可以建立額外的 IP 站台連結以實作所需的拓撲,也可以將每個 Active Directory 站台都與 DEFAULTIPSITELINK 建立關聯。屬於 IP 站台連結一部的每個 Active Directory 站台,都能以一致的成本與該連結中所有其他站台直接通訊。

在下圖中,樹系中已設定四個 Active Directory 站台。每個站台都已經與 DEFAULTIPSITELINK 建立關聯。因此,每個 Active Directory 均能使用相同的成本量值,與其他每個站台直接通訊。其中顯示了多條通訊路徑,但只定義了一個 IP 站台連結。

包含單一 IP 站台連結的完整網狀拓撲

在下圖中,樹系中已設定四個 Active Directory 站台。在此拓撲中,系統管理員利用已設定的 IP 站台連結來建立 Active Directory 站台的中樞與支點拓撲。每個支點站台均可與中心站台直接通訊,而且支點站台能使用可轉移的 IP 站台連結來彼此通訊。

Active Directory IP 站台連結的中樞與支點拓撲

請務必注意,Exchange 只有在決定最低成本路徑時才會使用站台連結,但一律會嘗試直接將郵件傳遞至目的集線傳輸伺服器。例如,如果上圖所示拓撲中站台 B 的使用者,將郵件傳送給站台 C 中的其他使用者,則站台 B 中的 Hub Transport Server 會直接連接至站台 C 中的 Hub Transport Server。若您希望強制郵件經過站台 A,則必須啟用該站台作為中樞站台。如需中樞站台的詳細資訊,請參閱本主題稍後的<實作中樞站台>。

Active Directory 系統管理員會實作最能呈現樹系的連線性與通訊需求的拓撲。因為 Exchange 2010 會使用相同的拓撲,所以您必須確定目前的拓撲支援有效率的郵件通訊。

站台連結的預設成本是 100。有效的站台連結成本可以是 1 到 99,999 的任何數字。如果您指定多餘的連結,則一律會優先選擇具有最低成本指派的連結。Exchange 組織系統管理員可將 Exchange 特定成本指派給 IP 站台連結。如果將 Exchange 成本指派給 IP 站台連結,Exchange 2010 就會使用該成本。否則,會使用 Active Directory 成本。如需如何針對 IP 站台連結設定 Exchange 成本的相關資訊,請參閱本主題稍後提供的<控制 IP 站台連結成本>。隸屬 Enterprise Administrators 群組成員的系統管理員才能建立額外的 IP 站台連結。

如需 Active Directory 站台組態的相關資訊,請參閱設計站台拓撲

控制 IP 站台連結成本

Active Directory IP 站台連結成本是依據與 WAN 中所有網路連線相較之下的相對網路速度而定,而且是為了產生可靠且有效的複寫拓撲所設計。因此,在多數情況下,現有 IP 站台連結成本應該適用於 Exchange 2010 郵件路由。不過,若在記載現有 Active Directory 站台及 IP 站台連結拓撲之後,您確定 Active Directory IP 站台連結成本與流量模式並不是 Exchange 2010 最理想的狀態,您可以調整 Exchange 所評估的成本。使用 Active Directory 工具變更指派給 IP 站台連結的成本,會影響整個環境。請改為在 Exchange 管理命令介面中使用 Set-AdSiteLink 指令程式,將 Exchange 特定成本指派給 IP 站台連結。例如,若基於郵件路由傳送目的,想在 IP 站台連結 SITELINKAB 上設定不同的成本,請在命令介面中執行下列命令:

Set-AdSiteLink -Identity SITELINKAB -ExchangeCost 25

將 Exchange 成本指派給 IP 站台連結後,Exchange 成本會覆寫用於郵件路由的 Active Directory 成本,而路由在評估最低成本的路由路徑時,只會將 Exchange 成本列入考量。

當郵件路由拓撲與 Active Directory 複寫拓撲必須分開時,調整 IP 站台連結成本會很有用。Exchange 成本可用來強制所有郵件路由使用中樞站台。當與 Active Directory 站台的通訊失敗時,Exchange 成本也可以用來控制郵件的佇列位置。下圖顯示具有四個站台的 Active Directory 拓撲。

包含在 IP 站台連結上設定之 Exchange 成本的拓撲

在上圖中,站台 C 與站台 D 之間的網路連線是低頻寬連線,只能用於 Active Directory 複寫,不應用於郵件路由。不過,Active Directory IP 站台連結成本會導致將該連結納入其他任何 Active Directory 站台至站台 D 的最低成本路由路徑中。因此,傳遞至站台 D 的郵件會佇列在站台 C。Exchange 系統管理員反而希望最低成本路由路徑包含站台 B,這樣一來,當站台 D 無法使用時,郵件將會佇列在站台 B。在站台 C 與站台 D 之間的 IP 站台連結上設定較高的 Exchange 成本,可防止該 IP 站台連結被納入站台 D 的最低成本路由路徑中。

Exchange 2010 支援設定 Active Directory IP 站台連結的郵件大小上限。依預設,對於不同 Exchange 2010 站台內的集線傳輸伺服器之間轉送的郵件,Active Directory 不會規定郵件大小上限。如果使用 Set-AdSiteLink 指令程式來設定 Active Directory IP 站台連結的郵件大小上限,當郵件大於在最低成本路由路徑中的任何 Active Directory 站台連結上設定的郵件大小上限時,路由會產生未傳遞回報 (NDR)。如果郵件傳送至必須在低頻寬連線上通訊的遠端 Active Directory 站台,則此組態適用於限制這類郵件的大小。如需詳細資訊,請參閱瞭解郵件大小限制

實作中樞站台

在 Exchange 組織中,您可能必須強制透過特定的 Active Directory 站台來轉送所有的郵件傳遞作業。在此情況下,連線能力可能會妨礙站台之間的直接 SMTP 轉送。因此,必須先經由過渡站台來轉送郵件,才能傳送至其目的地。因為 Exchange 組織內部原則的關係,系統管理員可能也會想要透過特定站台來轉送所有郵件。您可以使用命令介面指令程式,指定 Active Directory 站台作為中樞站台。將 Active Directory 站台指定為中樞站台,有可能因為涉入郵件傳遞的伺服器變多,導致整體負荷加重。例如,假設郵件從站台 A 傳送至站台 E。如果最低成本路由路徑是「站台 A - 站台 B - 站台 C - 站台 D - 站台 E」,而且您指定站台 C 為中樞站台,則郵件會從站台 A 轉送至站台 C,再從站台 C 轉送至站台 E。

您要使用 Set-AdSite 指令程式來指定 Active Directory 站台作為中樞站台。每當供郵件傳遞使用的最低成本路由路徑沿途有中樞站台存在時,在將郵件轉送到其最終目的地之前,郵件會進入中樞站台內 Hub Transport Server 的佇列,並由該 Hub Transport Server 處理。

選擇最低成本路由路徑後,路由會判斷該路由路徑沿途是否有中樞站台。若有設定中樞站台,則郵件會先停留在中樞站台的 Hub Transport Server,再轉送到目的地。若最低成本路由路徑上有多個中樞站台,郵件就會停留在路由路徑沿途的每個中樞站台。

當中樞站台位於最低成本路由路徑時,此項直接轉送路由的變化形式才有作用。下圖顯示中樞站台的正確用法。在此圖表中,站台 B 被設定為中樞站台。從站台 A 轉送至站台 D 的郵件會先轉送至站台 B,然後再傳遞給站台 D。

利用中樞站台的郵件傳遞

下圖顯示 IP 站台連結成本如何影響前往中樞站台的路由選擇。在此情況中,已將站台 B 指定為中樞站台。不過,因為該站台並不位於其他任何站台間的最低成本路由路徑,所以郵件在傳遞至目的地之前,並不會先佇列於站台 B。如果某個 Active Directory 站台並不在兩個其他站台間的最低成本路由路徑上,則該站台永不作為中樞站台使用。

設定錯誤的中樞站台

您可以將任何 Active Directory 站台設定為中樞站台。不過,您必須在中樞站台內部署至少一部 Hub Transport Server,此組態才能正常運作。

拓撲探索

Exchange 2010 拓撲依賴 Active Directory 站台拓撲,而且沒有自己的組態。有了下列必要元素,Active Directory 就能使用 Exchange 2010 拓撲:

  • Microsoft Exchange Active Directory 拓撲服務

  • Microsoft Exchange Transport 服務內的拓撲探索模組

除了邊際傳輸伺服器角色之外,Microsoft ExchangeActive Directory 拓撲服務可在所有 Exchange 2010 伺服器角色上執行。這些 Exchange 2010 伺服器會使用 Microsoft ExchangeActive Directory 拓撲服務來探索 Exchange 伺服器能使用的網域控制器與通用類別目錄伺服器,以便讀取與寫入 Active Directory 資料。每當 Exchange 必須讀取或寫入 Active Directory 時,Exchange 2010 就會繫結至已識別的目錄伺服器。

拓撲探索模組是 Microsoft Exchange Transport 服務的一部分,而且可提供有關 Exchange 伺服器的 Active Directory 拓撲資訊。此 API 會探索組織中的 Exchange 伺服器與角色,並判斷它們與 Active Directory 組態物件的關係。接著從 Active Directory 擷取組態資料後加以快取,如此便可供電腦上執行的 Exchange 服務存取。

拓撲探索模組會執行下列步驟以產生 Exchange 路由拓撲:

  1. 從 Active Directory 讀取資料。擷取下列所有物件:

    • Active Directory 站台。

    • IP 站台連結。

    • 所有 Exchange 伺服器。這包括那些伺服器上所部署之 Exchange 2010 server role 的相關資訊。

  2. 步驟 1 擷取的資料會用來建立初始拓撲,然後開始連結和對應相關的組態物件。

  3. 透過從 Active Directory 中所儲存的 Exchange 伺服器物件擷取站台屬性值,將 Exchange 伺服器對應至 Active Directory 站台。

  4. 以所擷取的資訊集合更新路由表。

此程序可使每部 Exchange 2010 伺服器注意到組織中的其他 Exchange 伺服器,以及 Exchange 伺服器彼此間關係的緊密度。

回到頁首

Exchange 2010 路由表

當 Microsoft Exchange Transport 服務啟動時,會根據從 Active Directory 或邊際傳輸伺服器上的 AD LDS 擷取的資訊快照集,來計算一組路由表。儲存在 AD LDS 中的組態資訊包括可用的連接器以及公認的網域,但不包括拓撲資料。

路由元件會參考路由表,來決定將郵件送給收件者的路徑。當組態有所變更時,就會重新建立路由表,接著使用新的路由表來路由傳送新的內送郵件。如果路由元件判斷遠端傳遞佇列中的郵件會受到組態變更的影響,則也會重新路由傳送那些郵件。如需重新路由傳送郵件的相關資訊,請參閱本主題中稍後的<重新路由傳送及無法存取之佇列>。

下列組態資料是從 Active Directory 擷取而來,而且可供 Hub Transport Server 的路由元件使用:

  • Active Directory 站台

  • Active Directory IP 站台連結

  • Exchange 伺服器及其與 Active Directory 站台的關係

  • SMTP 連接器

  • 非 SMTP 連接器

    注意事項附註:
    非 SMTP 連接器包括 Exchange 2010 傳遞代理程式連接器、外部連接器,以及共存案例中任何由 Exchange 2003 所主控的非 SMTP 連接器。
  • 路由群組

  • 路由群組連接器

  • 信箱儲存區 (私人郵件資料庫 (MDB))

  • 公用資料夾儲存區 (公用 MDB)

  • 公用資料夾階層

根據此項資料,Microsoft Exchange Transport 服務的路由元件會傳播路由表,協助簡化路由決策。路由表跟建立拓撲對應的資料有關聯。此拓撲對應包含下列元素:

  • 連結的連接器對應   此對應會將本機伺服器上的接收連接器識別碼與連結的傳送連接器建立關聯。

  • 伺服器對應   組織中的所有 Exchange 2010 和 Exchange 2007 Hub Transport Server、Edge Transport Server、信箱伺服器,以及 Exchange 2003 伺服器,都包含在伺服器對應中。此對應會將每個 Exchange 伺服器的辨別名稱與伺服器路由資料關聯。這包括到達該伺服器的總成本。

  • 傳統伺服器對應   組織中的所有 Exchange Server 2007 Hub Transport Server、Edge Transport Server、信箱伺服器,以及 Exchange 2003 伺服器,都包含在傳統伺服器對應中。此對應會將每個 Exchange 伺服器的傳統辨別名稱與伺服器路由資料關聯。這包括到達該伺服器的總成本。此對應支援儲存區覆寫功能。儲存區覆寫功能是公用資料夾特有的功能。如需詳細資訊,請參閱內部郵件路由中的<路由傳送至公用資料夾>。

  • MDB 對應   MDB 對應中包含了組織中的所有 MDB。此對應會將每個 MDB 的辨別名稱與伺服器路由資料建立關聯。這包括到達該伺服器的總成本。

  • Active Directory 站台對應 此對應會將每個 Active Directory 站台與包含最低成本路由路徑 (從本機站台至其他各個站台) 的結構關聯。該對應還包括最低成本路由路徑沿途的任何中樞站台。每個路由路徑躍點也會識別出增強型 DNS 元件使用之站台中的所有 Hub Transport Server。

  • 路由群組對應   此對應會將總成本及第一個躍點路由群組連接器 (來自 Exchange 2010 路由群組的最低成本路由路徑),與各個傳統路由群組建立關聯。

  • 傳送連接器對應   此對應會識別組織中設定的傳送連接器,以及每個連接器的來源伺服器。

每當傳輸伺服器啟動時就會建立路由表,而且此表格會在接收到組態變更時重新計算。下列任何一種方式均可偵測出組態變更:

  • Active Directory 變更通知   從接收到通知起,直到將變更寫入路由表,這期間會稍有延遲。此一延遲可讓路由元件批次處理變更,以及利用單一作業處理多項變更。依預設,每項通知會讓路由元件延遲 5 秒才處理。例如,如果連續收到 5 項通知,而每項通知跟前一項通知的間隔恰好均為 1 秒鐘,路由總計會延遲 9 秒鐘才進行處理。

  • **因服務控制命令而導致重新載入組態   **重新啟動 Microsoft Exchange Transport 服務時,路由元件就會重新載入組態資料。

  • 定期重新載入以追蹤 Active Directory 通知不支援的變更   依預設,路由會定期載入組態資料,以確保能追蹤到所有變更。組態會每隔 6 小時重新載入一次。

路由表中的資訊會記錄到路由記錄。依預設,這些記錄位於 C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\Routing 資料夾中。每次計算過路由表後,就會產生新的記錄。如果因為某些原因造成集線傳輸伺服器無法連絡 Active Directory,路由會繼續根據目前快取的資料來做出路由決策,即使該資料不是最新資料。如需相關資訊,請參閱瞭解路由表記錄

回到頁首

接收郵件以進行路由傳送

郵件可以用下列任一方式到達 Hub Transport Server:

  • 從網際網路對向 SMTP 伺服器接收電子郵件,以傳遞至 Exchange 組織中的收件者或內部轉送公認網域中的收件者。

  • 從 Exchange 組織中的其他 Hub Transport Server 接收電子郵件,以傳遞至位在該 Active Directory 站台之信箱伺服器上的收件者信箱。

  • 從 SMTP 用戶端接收電子郵件。一般而言,您的環境中可能會存在 POP3 或 IMAP4 使用者。

  • 從 Hub Transport Server 上的收取目錄和重新顯示目錄接收電子郵件。這些目錄通常是由外部連接器用來將郵件傳輸至您的 Exchange 基礎結構。

  • 透過集線傳輸伺服器從 Exchange 2010 信箱伺服器擷取電子郵件。

  • 從 Exchange 2007 或 Exchange 2003 伺服器接收電子郵件,以傳遞至位在 Exchange 2010 信箱伺服器上的收件者信箱。

在提交佇列中,開始處理 Hub Transport Server 接收的所有電子郵件以進行分類。

從 Edge Transport Server、其他 Exchange Hub Transport Server 以及 SMTP 用戶端接收郵件

此案例使用標準 SMTP 連線,從 Edge Transport Server、Hub Transport Server 或其他協力廠商 SMTP 主機接收郵件。遠端主機會初始化 SMTP 連線,並將郵件傳輸至 Hub Transport Server。Hub Transport Server 會使用接收連接器來接受傳入的 SMTP 連線。每個 Hub Transport Server 都有兩個在安裝期間所建立的接收連接器。其中一個連接器用於從其他 Exchange 伺服器接收已驗證的 SMTP 連線。第二個連接器用來從 SMTP 用戶端接收 SMTP 連線,這些用戶端是由您組織中的 POP3 或 IMAP4 使用者所使用。這兩個接收連接器擁有根據其預定用途所設定的不同權限。若要深入了解接收連接器,請參閱瞭解接收連接器

預設情況下,Hub Transport Server 不接受未驗證的匿名連線。如果您需要啟用此功能,建議您建立不同的接收連接器來處理匿名連線。如需詳細資訊,請參閱允許接收連接器上的匿名轉送

從收取和重新顯示目錄收集郵件

不使用 SMTP 作為傳輸通訊協定的郵件系統可以使用外部連接器連接到您的 Exchange 組織。當郵件從遠端系統傳送給 Exchange 使用者時,外部連接器會將該郵件寫入集線傳輸伺服器上稱為收取目錄的特殊目錄。Hub Transport Server 會定期檢查收取目錄中是否有新郵件。當集線傳輸伺服器偵測到新郵件時,會將郵件轉換成 Exchange 電子郵件,並當作一般郵件路由傳送。若要深入了解收取和重新顯示目錄的使用方式,請參閱了解收取及重新顯示目錄

從 Mailbox Server 擷取郵件

在此案例中,於信箱伺服器上執行的 Microsoft Exchange 郵件提交服務會通知位在相同 Active Directory 站台中的集線傳輸伺服器,可以從寄件者寄件匣擷取郵件。每個信箱伺服器會維護一份位於相同 Active Directory 站台中的 Hub Transport Server 清單。此 Hub Transport Server 清單稱為提交伺服器清單。伺服器探索處理程序會每十分鐘重複執行一次,讓清單保持最新版本。

如果多部 Hub Transport Server 與提交可以擷取郵件之通知的信箱伺服器位在相同 Active Directory 站台中,則會使用下列程序來選取伺服器:

  • 若本機信箱伺服器也執行集線傳輸伺服器角色,且不加入資料庫可用性群組 (DAG),則會通知本機伺服器。如果未執行本機 Microsoft Exchange Transport 服務,或本機 集線傳輸伺服器因回堵而無法處理新的郵件提交,則會通知另一個可用的集線傳輸伺服器。如需背壓的相關資訊,請參閱了解背壓

  • 若本機信箱伺服器也執行集線傳輸伺服器角色且加入 DAG,則會在通知本機集線傳輸伺服器前,先嘗試通知站台上的任何集線傳輸伺服器。此一動作可避免在相同的伺服器硬體上出現多餘的郵件複本。若要進一步了解使用 DAG 時信箱與集線傳輸伺服器角色共存的相關資訊,請參閱使用 DAG 時共存的 Hub Transport 和 Mailbox Server 角色

  • 如果本機信箱伺服器未執行 Hub Transport server role,則會使用循環配置在 Hub Transport Server 之間對通知進行負載平衡。

  • 如果無法連絡選取的集線傳輸伺服器,則 Microsoft Exchange 郵件提交服務會容錯移轉至位在相同 Active Directory 站台中的不同集線傳輸伺服器。失敗伺服器會標示為非使用中,而且會選取提交伺服器清單中的下一部 Hub Transport Server。如果本機 Active Directory 站台中沒有可用的 Hub Transport Server,則提交伺服器清單會是空的。在此情況下,會記錄一則事件,而且會暫時停止郵件提交通知。而系統會在五分鐘之後重試標示為非使用中的 Hub Transport Server。

Microsoft Exchange 郵件提交服務預設會在站台的集線傳輸伺服器之間對通知事件進行負載平衡,讓每個集線傳輸伺服器所接收要處理的通知事件平均地分配。在某些情況下,提供平均分配可能不是最佳的解決方案。並非所有 Hub Transport Server 都具有相同的容量,而且某些郵件需要額外進行處理。例如,Hub Transport Server 處理具有大型附件或許多收件者的郵件所需的時間,會比處理只寄給一個收件者的小型郵件所需的時間還要久。如果想要建立信箱伺服器應該通知之 Hub Transport Server 的靜態清單,可以在命令介面中使用 Set-MailboxServer 指令程式。使用 SubmissionServerOverrideList 參數來指定在本機信箱伺服器有信件要擷取時,該伺服器會通知的集線傳輸伺服器清單。如需如何設定此設定的相關資訊,請參閱Set-MailboxServer

Hub Transport Server 在接收到來自信箱伺服器的郵件提交通知之後,會使用儲存區驅動程式來擷取信箱資料庫中的郵件,並將它放入 Hub Transport Server 的提交佇列中。使用 Exchange RPC,可以將郵件從信箱伺服器傳輸至 Hub Transport Server。

從舊版的 Exchange 伺服器接收郵件

由於 Exchange 2010 中的 Exchange 伺服器物件 (XSO) 模型的變更,因此 Exchange 2010 集線傳輸伺服器無法從 Exchange 2007 信箱伺服器收取郵件,也不能遞送郵件至信箱伺服器。同樣地,Exchange 2007 Hub Transport Server 無法與 Exchange 2010 信箱伺服器通訊。所有從 Exchange 2007 收件者傳送而來的郵件,會先由 Exchange 2007 Hub Transport Server 從信箱伺服器收取,然後轉送至 Exchange 2010 Hub Transport Server。若要深入了解與 Exchange 2007 共存時的郵件路由,請參閱從 Exchange 2007 Transport 升級

相較於 Active Directory 站台,Exchange 2003 使用路由群組來路由傳送郵件。路由群組使用路由群組連接器互相連接。當 Exchange 2010 已安裝在 Exchange 2010 組織中時,為了支援這兩個路由拓撲之間的共存,所有 Exchange 2003 伺服器都會自動新增到單一路由群組。所有源自 Exchange 2003 信箱的郵件,都會透過 Exchange 2010 路由群組和 Exchange 2003 路由群組之間的路由群組連接器,傳遞至 Exchange 2010 環境。若要深入了解與 Exchange 2003 共存時的郵件路由,請參閱從 Exchange 2003 Transport 升級

回到頁首

路由傳送郵件

集線傳輸伺服器或邊際傳輸伺服器在收到郵件後,會判定最終目的地,並使用 Exchange 拓撲和連接器組態來決定最低成本路由路徑。在決定路由路徑後,郵件將會傳遞至路由路徑中的下一個躍點。

雖然本主題說明 Exchange 通常如何執行路由決策,下列兩個主題提供特定路由案例的其他資訊。內部郵件路由主題討論將郵件傳遞至信箱伺服器、公用資料夾和傳統伺服器。外部郵件路由主題則討論將郵件路由傳送至 Exchange 組織外部的收件者。該主題也討論傳送連接器、傳遞代理程式連接器和外部連接器的角色。

決定最終目的地

上一節描述 Hub Transport Server 可從該處接收郵件的不同來源。Hub Transport Server 收到郵件時,必須將該封郵件分類。郵件分類的第一個階段是解析收件者。完成解析收件者之後,便可以決定最終目的地。下一個階段為路由傳送,需決定到達目的地的最佳途徑。會選擇單一且決定性的路徑。除非路由組態有所變更,否則不會重新計算該路由。

從傳送伺服器的觀點來看,每個傳遞佇列均代表特定郵件的目的地。當 Hub Transport Server 或 Edge Transport Server 選擇郵件的目的地之後,目的地就會以 NextHopSolutionKey 屬性的形式,在收件者上加上戳記。如果有一封郵件要傳送給多位收件者,那麼每一位收件者都會有 NextHopSolutionKey 屬性。接收伺服器也會執行郵件分類,並將郵件放入佇列以等候傳遞。郵件放入佇列之後,您可以檢查特定佇列的傳遞類型,以判斷郵件是否會在抵達下一個躍點目的地時再次進行轉送。

郵件的目的地會被分類為下列其中一種傳遞類型:

  • DNS 連接器傳遞   使用本機伺服器是來源伺服器的 SMTP 傳送連接器,來將郵件放入佇列等候傳遞給外部收件者。該連接器是設定為使用 DNS 解析收件者地址。

  • 智慧主機連接器傳遞   使用本機伺服器是來源伺服器的 SMTP 傳送連接器,來將郵件放入佇列等候傳遞給外部收件者。該連接器是設定為使用智慧主機進行傳遞。

  • 對 Edge Transport Server 之 Active Directory 站台中的 SMTP 轉送   使用來源伺服器為本機 Active Directory 站台所訂閱之 Edge Transport Server 的 SMTP 傳送連接器,將郵件放入佇列等候傳遞給外部收件者。

  • 對 Hub Transport Server 之 Active Directory 站台中的 SMTP 轉送   郵件會排入佇列,以等候傳遞給和本機伺服器位於相同 Active Directory 站台中的 Hub Transport Server。目的伺服器可以是 Exchange 2007 集線傳輸伺服器、傳送連接器的來源伺服器、傳遞代理程式連接器或外部連接器、路由群組連接器的來源伺服器,或是通訊群組擴充伺服器。

  • 對遠端 Active Directory 站台的 SMTP 轉送   郵件會排入佇列,以等候傳遞給遠端 Active Directory 站台內的 Hub Transport Server。遠端 Active Directory 站台內的最終目的伺服器可以是下列任何項目:

    • 連接器 (設定來傳輸郵件給外部收件者) 的來源伺服器

    • 路由群組連接器的來源伺服器

    • 通訊群組擴充伺服器

    • 位於遠端 Active Directory 站台內的信箱伺服器

    郵件會傳遞給目的站台內的其中一部 Hub Transport Server。必要時,接收伺服器會在 Active Directory 站台內轉送郵件。

  • 對傳統路由群組的 SMTP 轉送 郵件會排入佇列,以等候傳遞給用以到達 Exchange 2003 路由群組的第一個躍點路由群組連接器。最終目的伺服器可以是下列任何項目:

    • 連接器的來源伺服器

    • 擴充伺服器

    • 負責將郵件傳遞給路由群組內之信箱收件者的 Exchange 2003 Bridgehead 伺服器

  • **MAPI 傳遞   **郵件會排入佇列,以等候傳遞給位於本機 Active Directory 站台中信箱伺服器上的收件者信箱、公用資料夾或公用資料夾儲存區。

  • 非 SMTP 閘道傳遞   使用本機伺服器是來源伺服器的傳遞代理程式連接器或外部連接器,將郵件放入佇列等候傳遞給外部收件者。只有要將郵件傳遞給本機伺服器上的傳遞代理程式連接器或外部連接器放置目錄時,才會使用此種傳遞類型。

  • **無法存取   **無法決定送往收件者的路由路徑,因此郵件放在無法存取之佇列中。

決定最低成本路由路徑

藉由計算指派給存在於兩個站台之間的 Active Directory IP 站台連結的所有成本,可以決定遠端 Active Directory 站台的最低成本路由路徑。連結會進行橋接,而且會進行直接連線。Exchange 2010 集線傳輸伺服器一律會選取單一決定性最低成本路由路徑。在選擇路由路徑時不需要考慮基礎連線或目的伺服器的可用性,而且不用考慮任何替代路由路徑。

最低成本路由路徑計算可在將郵件傳遞給下一個躍點失敗時,用以決定輪詢路徑。在 Exchange 2010 中,輪詢是當直接轉送因任何原因 (例如網路問題或伺服器離線) 而無法運作時,會沿著最低成本的路由路徑,在過渡躍點上傳遞郵件的機制。路由元件會在連線建立之前,嘗試透過輪詢,一個躍點接著一個躍點,順著最低成本的路由路徑,盡可能地將郵件傳送至最接近的目的地上。首先,會嘗試連接到目的地 Active Directory 站台中的每個集線傳輸伺服器。如果 Active Directory 站台內的集線傳輸伺服器均沒有回應,就會檢查最低成本路由路徑以判斷如何從傳遞站台開始進行輪詢。目標是要將郵件盡量傳遞到最接近目的地的位置,並在該 Active Directory 站台的集線傳輸伺服器中將郵件排入佇列。

根據個別的郵件路由傳送情況而定,下列因素可能會影響最低成本路由路徑的選擇:

  • 連結的連接器   如果收到郵件的接收連接器就連結至傳送連接器,則無論成本高低,都會將郵件路由傳送至那個傳送連接器。此種組態的優先順序最高。

  • **必須周遊才能到達目的地的 IP 站台連結與路由群組連接器所獲指派的成本   **如果來源伺服器與目的伺服器之間存有多條路由路徑,則會選擇彙總成本最低的路由路徑。

  • 指派給傳送連接器的位址空間   選擇位址空間和目的地最為相符的傳送連接器。

  • **傳送連接器上設定的位址空間所獲指派的成本   **如果有多個傳送連接器獲指派相同的位址空間,路由元件就會比較指派給位址空間的成本。並選擇成本最低的傳送連接器。

  • 連接器範圍 限制只有位於同一 Exchange 2010 站台內且作為該連接器的來源傳輸伺服器的 Active Directory 伺服器,才能使用該連接器。在舊版的 Exchange 中,可以將連接器範圍限制為擁有相同路由群組成員資格的伺服器。

  • 郵件大小限制   連接器上指定的郵件大小限制,必須大於要路由傳送的郵件大小。郵件大小限制小於實際郵件大小的連接器,都不會列入路由考量。

  • 傳送伺服器與目的地間的遠近   路由偏好選擇最接近的伺服器,順序如下:本機伺服器、相同 Active Directory 站台內的伺服器、遠端 Active Directory 站台或路由群組內的伺服器。

  • **指派給 Active Directory 站台的名稱   **如果有多條路由路徑計算後得到相同的彙總成本,路由元件會沿著每條路由路徑,比較在到達目標站台前的各個 Active Directory 站台名稱的英數字元順序。Active Directory 站台最接近目的地且英數字元順序最低的路由路徑會獲得採用。

  • **指派給路由群組連接器的名稱   **如果有多條路由路徑計算後得到相同的彙總成本,路由元件會沿著每條路由路徑,比較在到達目標站台前的各個路由群組連接器名稱的英數字元順序。然後使用路由群組連接器最接近目的地且英數字元順序最低的路由路徑。

  • 連接器狀態Exchange 2010 路由元件在計算路由路徑時,只會考量已啟用的連接器。不過,舊版的 Exchange 並不會考量連接器狀態。

下列邏輯會用來選擇路由路徑:

  1. 首先,加總必須周遊才能到達目的地之 IP 站台連結與路由群組連接器的成本,來計算最低路由路徑。如果目的地是連接器,指派給位址空間的成本也要加總至到達所選取連接器的成本中。如果可行的路由路徑有數條,則只會使用彙總成本最低的路由路徑。

  2. 如果有多條路由路徑的彙總成本相同,則會評估每個路徑中的躍點數量,然後使用躍點數量最少的路由路徑。

  3. 如果仍有多條路由路徑可用,就會考量在目的地之前的 Active Directory 站台或路由群組連接器所獲指派的名稱。Active Directory 站台最接近目的地且英數字元順序最低的路由路徑會獲得採用。如果對於受評估的所有路由路徑而言,最接近目的地的站台是相同的,則會考慮使用字元順序較優先的站台名稱。

下圖顯示 Exchange 組織的路由拓撲。下列範例將使用此拓撲,示範路由演算法用以選擇最低成本路由路徑的邏輯。

Exchange 2010 路由拓撲

範例 1   從站台 A 轉送至站台 D 的郵件能採用的可行路由路徑有 2 條:「站台 A - 站台 B - 站台 D」和「站台 A - 站台 C - 站台 D」。將每一個路由路徑中指派給 IP 站台連結的成本相加起來,可決定郵件路由傳送的總成本。在此範例中,站台 A-站台 B-站台 D 這條路由路徑的彙總成本為 20,而站台 A-站台 C-站台 D 此條路由路徑的彙總成本為 10,所以會選擇站台 A-站台 C-站台 D 這條路徑進行路由傳送。

範例 2   郵件從站台 B 轉送至站台 D。有 3 條可行的路由路徑:「站台 B - 站台 D」成本為 15、「站台 B - 站台 E - 站台 C - 站台 D」成本為 15,「站台 B - 站台 A - 站台 C - 站台 D」成本為 15。因為有一條以上的路由路徑會產生相同成本,路由傳送會選取路由路徑「站台 B - 站台 D」。這個路徑的躍點數最少。

範例 3   郵件從站台 A 轉送至站台 E。有 2 條可行的路由路徑:站台 A-站台 B-站台 E 的成本為 10,而 站台 A-站台 C-站台 E 的成本也為 10。兩條路由路徑的成本相同而且躍點數量也相同。所以比較在站台 E 前的 Active Directory 站台的英數字元順序。站台 B 比站台 C 的英數字元值低,因此會選擇站台 A-站台 B-站台 E 這條路由路徑進行路由傳送。

決定最低成本路由路徑之後,Exchange 2010 路由元件就不會考量替代的路由路徑。

下一個躍點選項

Exchange 2010 集線傳輸伺服器並不會轉送至最低成本路由路徑沿途的每個 Active Directory 站台。決定好路由路徑之後,就會將郵件從來源伺服器直接轉送給下一個躍點。下一個躍點選項會盡量嘗試將郵件傳遞到最接近最終目的地之處。可能需要額外的站台內轉送才能抵達最終目的地。路由傳送到傳統路由群組時,就會直接轉送至 Active Directory 站台,其為第一躍點路由群組連接器的來源伺服器所在。郵件轉送至傳統環境之後,就會執行標準的傳統路由傳送程序。

下圖顯示簡單的 Exchange 拓撲,並說明多個 Exchange 路由元件。

Exchange 拓撲及路由元件

請參考上圖,將郵件從站台 A 的 Mailbox1 傳送給外部收件者 joe@contoso.com 的處理程序如下:

  1. 在 Mailbox1 上執行的 Microsoft Exchange 信箱提交服務,會通知位於相同 Exchange 2010 站台內的 Active Directory 集線傳輸伺服器,有新的郵件項目需要傳輸。

  2. 使用 RPC,相同 Exchange 2010 站台內 Active Directory 集線傳輸伺服器上的儲存區驅動程式元件會擷取郵件,然後將郵件排入本機伺服器的提交佇列。

  3. 郵件會透過分類從提交佇列移出。分類程式首先會執行收件者解析,然後判斷 joe@contoso.com 是一位外部收件者。

  4. 路由元件會選擇用來路由傳送郵件的最佳連接器,以及計算連往該連接器的最低成本路由路徑。在此範例中,某個傳送連接器的位址空間為 *.contoso.com,是路由元件所選取的連接器。此傳送連接器的所有來源伺服器均位於站台 B。

  5. 路由元件會判斷到達傳送連接器之來源伺服器所需的下一個躍點。站台 A 中的 Hub Transport Server 會將郵件排入佇列,以等候 SMTP 傳遞給站台 B。

  6. 如果站台 B 中的接收伺服器是傳送連接器的來源伺服器,就會將郵件排入佇列,以等候傳遞給該傳送連接器。如果接收伺服器不是 *.contoso.com 傳送連接器的來源伺服器,則會使用 SMTP 將郵件轉送至站台 B 中的 Hub Transport Server,其為該連接器的來源伺服器。

下表會根據上圖所示的拓撲,提供為數位收件者選取下一個躍點的其他範例。它不是包含所有可能路由的完整清單,只提供拓撲中最常見的範例,如上圖中所示的範例。

上圖中下一個躍點選項的範例

接收伺服器 最終目的地 下一個躍點 佇列傳遞類型

Hub1

Mailbox1

Mailbox1

MAPI 傳遞

Hub1

Mailbox2

Hub3

Active Directory 站台中的 SMTP 轉送

Hub1

Mailbox3

站台 B

到遠端 Active Directory 站台的 SMTP 轉送

Hub1

Mailbox4

路由群組連接器

對傳統路由群組的 SMTP 轉送

Hub1

Recipient@fourthcoffee.com

Edge1

SMTP 轉送到邊際傳輸

Hub3

Mailbox1

Hub1 或 Hub2

Active Directory 站台中的 SMTP 轉送

Hub4

Mailbox1

站台 A

到遠端 Active Directory 站台的 SMTP 轉送

Hub4

Mailbox4

站台 A

到遠端 Active Directory 站台的 SMTP 轉送

Hub4

Recipient@contoso.com

Contoso SMTP 主機

智慧主機傳遞

Hub4

Recipient@fourthcoffee.com

站台 A

到遠端 Active Directory 站台的 SMTP 轉送

Edge1

Recipient@fourthcoffee.com

Fourth Coffee SMTP 主機

DNS 傳遞

計算出最低成本路由路徑並選取下一個躍點目的地之後,除非已設定最低成本路由路徑上的中樞站台,否則 Exchange 2010 路由會嘗試將郵件直接轉送至目的地。

失敗點上的佇列

最低成本路由路徑計算可在將郵件傳遞給下一個躍點失敗時,用以決定輪詢路徑。Exchange 2010 會在連線建立之前,嘗試透過輪詢,一個躍點接著一個躍點,沿著最低成本的路由路徑,盡可能地將郵件傳送至最接近的目的地上。此項行為即為失敗點佇列。當郵件在傳遞路徑的通訊失敗點中進入佇列時,不但可在問題解決後加速傳遞,還可協助您判斷郵件傳遞失敗的原因。

在上圖所示的拓撲中,如果要將郵件從站台 A 傳遞至站台 D,則最低成本路由路徑可能是「站台 A - 站台 B - 站台 C - 站台 D」。最初會嘗試直接從站台 A 傳遞至站台 D。如果站台 D 的 Hub Transport Server 沒有回應,則會嘗試傳遞至站台 C 的 Hub Transport Server。這個過程會一直持續執行,直到有 Hub Transport Server 接受郵件為止。如果所有中繼站台均無法使用,郵件就會進入來源站台的佇列。如果郵件進入站台 C 中的佇列,您可以開始調查站台 D 中的 Hub Transport Server 發生的失敗情形,或是站台 C 與站台 D 之間的網路連線。

失敗點上的佇列

當郵件在失敗點進入佇列時,會將佇列置於重試狀態,而且會根據郵件重試間隔繼續嘗試傳遞,直到傳遞成功或郵件過期。經過預設的 12 小時間隔之後,系統會自動重新提交該佇列,以便重新分類。但有連接器作為下一個躍點目的地的佇列不會進行自動重新提交 (除非組態變更而導致需要重新提交)。如需相關資訊,請參閱郵件重新路由傳送及無法存取之佇列

您可以使用郵件流程疑難排解員,協助診斷有關郵件流程的問題。此項工具是 Microsoft Exchange 疑難排解助理員的元件之一,而且可以從 Exchange 管理主控台的工具箱執行。

在更為複雜的拓撲中,兩個 Active Directory 站台間的最低成本路由路徑可包含許多中繼 Active Directory 站台。如果是在路由路徑前段的某處發生網路問題,那麼從路徑尾端逐個輪詢站台並嘗試傳遞給每個中繼站台,會過於沒有效率。如果路由路徑的躍點超過 4 個,則會實作二進位輪詢,直到剩下 4 個或更少的站台。二進位輪詢表示會在路由路徑的中途點進行下一次連線嘗試。例如,若 Active Directory 站台 A 至站台 G 的最低成本路由路徑是 A - B - C - D - E - F - G,而且站台 B 和站台 C 之間的連結發生網路失敗,則會對站台 G 的所有 Hub Transport Server 進行第一次連線嘗試。當連線嘗試失敗時,接下來會對站台 D 的所有 Hub Transport Server 嘗試連線。此為起點至站台 G 之間的中點。當該次連線嘗試失敗時,則會對站台 C 及站台 B 嘗試連線,因為它們與來源站台較為接近,彼此相距不到 4 個連結。最後,郵件會進入站台 B 中 Hub Transport Server 上的佇列,直到 B-C 連結連線還原。

延遲送出

單封電子郵件可以寄給多位收件者。這些收件者可能擁有內部信箱,或者可能是外部收件者。若要將單一郵件路由傳送給多位收件者,會發生下列步驟:

  1. 收件者解析   郵件的每位收件者都會解析成傳遞目的地。

  2. 路由   決定每位收件者的最低成本路由路徑。其中包括是否設定中樞站台。

  3. 郵件分割   若要將郵件路由傳送至有不同傳遞位置的收件者,就必須將郵件分割成多份複本。

解析過每位收件者,而且決定了每個傳遞目的地的路由路徑之後,Exchange 2010 會比較每位收件者的路由路徑。為了節省頻寬,直到在路由路徑中遇到分支,系統才進行複本發送或將郵件分割成數份。

例如,如果單一郵件的多位收件者共用部分或所有的最低成本路由路徑,那麼 Exchange 會一直傳送郵件的單一複本,直到郵件到達路由路徑中的分支點。路由路徑中發生分歧時,便會分割郵件,為每位收件者建立個別的複本。

在下圖中,單一郵件從站台 A 傳送給站台 C、站台 D 及站台 E 的收件者。在郵件到達站台 B 之前,會共用最低成本路由路徑。在此情況下,含所有收件者的郵件單一複本會轉送至站台 B。這代表路由路徑中的第一個分岔。從站台 B,一份郵件複本會路由傳送至站台 D 內的收件者,而另一份則會轉送至站台 C。郵件會在站台 C 中再次分割。一份郵件傳遞給站台 C 內的收件者,而一份郵件則轉送至站台 E,以傳遞給該站台內的收件者。

延遲郵件送出

回到頁首

重新路由傳送及無法存取之佇列

如果因任何原因而造成路由無法決定有效收件者的路徑,則郵件會置入無法存取之佇列。當系統處理組態變更和重新計算路由表時,此佇列中的郵件就會重新路由傳送。下列情況不會重新路由傳送郵件,而是會回傳 NDR 給寄件者。下列案例會導致將郵件路由傳送至無法存取之佇列:

  • 收件者為非 SMTP 位址,而且找不到符合該位址空間的連接器。

  • 郵件不符合任何相符連接器的郵件大小限制。

並非所有組態變更均需要重新提交佇列中的郵件。例如,對連接器的智慧主機清單所做的變更,不會導致重新路由傳送郵件。如需如何重新路由傳送郵件的相關資訊,請參閱郵件重新路由傳送及無法存取之佇列

回到頁首

 © 2010 Microsoft Corporation. 著作權所有,並保留一切權利。