內部郵件路由
適用版本: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
上次修改主題的時間: 2007-08-21
本主題說明內部郵件傳遞的路由處理程序。內部郵件傳遞包含利用下列方式轉送電子郵件:
- 從 Microsoft Exchange Server 2007 Hub Transport Server 至不同 Active Directory 目錄服務站台中的 Hub Transport Server
- 從 Hub Transport Server 至位在相同 Active Directory 站台中的 Mailbox Server
- 從 Hub Transport Server 至執行 Microsoft Exchange Server 2003 或 Exchange 2000 Server 的伺服器,以傳遞至位在 Exchange 2003 或 Exchange 2000 電腦上的收件者信箱。
接收電子郵件以進行路由傳送
郵件可以用下列任一方式到達 Hub Transport Server:
- 從網際網路對向簡易郵件傳送通訊協定 (SMTP) 伺服器接收電子郵件,以傳遞至 Exchange 組織中的收件者或內部轉送公認網域中的收件者。
- 從 Exchange 組織中的其他 Hub Transport Server 中接收電子郵件,以傳遞至位在該 Active Directory 站台之 Mailbox Server 上的收件者信箱。
- 從 Exchange 2003 或 Exchange 2000 伺服器接收電子郵件,以傳遞至位在 Exchange 2007 Mailbox Server 的收件者信箱中。
- 透過 Hub Transport Server 從 Exchange 2007 Mailbox Server 擷取電子郵件。
在提交佇列中,開始處理 Hub Transport Server 接收的所有電子郵件以進行分類。
從 Mailbox Server 擷取郵件
在此案例中,於 Mailbox Server 上執行的 Microsoft Exchange 郵件提交服務會通知位在相同 Active Directory 站台中的 Hub Transport Server,已經可以從寄件者的寄件匣中擷取郵件。而每個 Mailbox Server 都會維護位在相同 Active Directory 站台中的 Hub Transport Server 清單。此 Hub Transport Server 清單稱為提交伺服器清單。伺服器探索處理程序會每十分鐘重複執行一次,讓清單保持最新版本。
如果多部 Hub Transport Server 與提交可以擷取郵件之通知的 Mailbox Server 位在相同 Active Directory 站台中,則會處理下列選項:
- 如果本機 Mailbox Server 也執行 Hub Transport server role,則會通知本機伺服器。如果未執行本機 Microsoft Exchange 傳輸服務,或本機 Hub Transport Server 因背壓而無法處理新的郵件提交,則會通知另一個可用的 Hub Transport Server。如需背壓的相關資訊,請參閱了解背壓。
- 如果本機 Mailbox Server 未執行 Hub Transport server role,則會使用循環配置在 Hub Transport Server 之間對通知進行負載平衡。
- 如果無法連絡選取的 Hub Transport Server,則 Microsoft Exchange 郵件提交服務會容錯移轉至位在相同 Active Directory 站台中的不同 Hub Transport Server。失敗伺服器會標示為非使用中,而且會選取提交伺服器清單中的下一部 Hub Transport Server。如果本機 Active Directory 站台中沒有可用的 Hub Transport Server,則提交伺服器清單會是空的。在此情況下,會記錄一則事件,而且會暫時停止郵件提交通知。而系統會在五分鐘之後重試標示為非使用中的 Hub Transport Server。
Microsoft Exchange 郵件提交服務預設會在站台的 Hub Transport Server 之間對通知事件進行負載平衡,讓每個 Hub Transport Server 所接收要處理的通知事件有平均地分配。在某些情況下,提供平均分配可能不是最佳的解決方案。並非所有 Hub Transport Server 都具有相同的容量,而且某些郵件需要額外進行處理。例如,Hub Transport Server 處理具有大型附件或許多收件者的郵件所需的時間,會比處理只寄給一個收件者的小型郵件所需的時間還要久。如果想要建立 Mailbox Server 應該通知之 Hub Transport Server 的靜態清單,可以在 Exchange 管理命令介面中使用 Set-MailboxServer 指令程式。使用 SubmissionServerOverrideList 參數,則可以指定本機 Mailbox Server 在有郵件需要擷取時會通知的 Hub Transport Server 清單。如需如何設定此設定的相關資訊,請參閱 Set-MailboxServer。
Hub Transport Server 在接收到來自 Mailbox Server 的郵件提交通知之後,會使用儲存區驅動程式來擷取信箱資料庫中的郵件,並將它放入 Hub Transport Server 的提交佇列中。使用 Exchange 遠端程序呼叫 (RPC),可以將郵件從 Mailbox Server 傳輸至 Hub Transport Server。
路由傳送郵件,以傳遞至 Exchange 2007 伺服器
在 Hub Transport Server 接收到郵件之後,會將郵件傳遞至提交佇列。郵件會透過分類程式,從提交佇列中移動。在分類郵件時,會將收件者的電子郵件地址解析為 Active Directory 中的物件。此查詢會決定與該電子郵件地址關聯的信箱,以及主控該信箱的 Mailbox Server。
解析收件者的資訊之後,下一步是將 Mailbox Server 解析至 Active Directory 站台。系統會將此 Active Directory 站台資訊戳記到郵件上,作為 NextHopSolutionKey 屬性。Microsoft Exchange 傳輸服務的增強型 DNS 元件會存取拓撲資訊,以決定哪些 Hub Transport Server 與目的 Mailbox Server 位於相同站台中。接著會參考 Active Directory 站台中的 Hub Transport Server 清單,以決定郵件的路由傳送目標。如果目的 Mailbox Server 與查詢 Hub Transport Server 位於相同站台中,則該 Hub Transport Server 會將郵件置入佇列中,以進行本機傳遞。如果目的 Mailbox Server 位於不同站台中,則本機 Hub Transport Server 會將郵件置入佇列中,以遠端傳遞至 Active Directory 站台。
儲存區驅動程式會將置入佇列中以進行本機傳遞的郵件提交給目的信箱儲存區。使用 Exchange RPC,可以將郵件從 Hub Transport Server 傳輸至 Mailbox Server。
置入佇列以傳遞至遠端 Active Directory 站台的郵件,則是使用 SMTP 進行傳輸。轉送郵件之前,分類程式的路由元件必須選取最低成本路由路徑。
選取最低成本路由路徑
藉由計算指派給存在於兩個站台之間的 Active Directory IP 站台連結的所有成本,可以決定遠端 Active Directory 站台的最低成本路由路徑。連結會進行橋接,而且會進行直接連線。Exchange 2007 Hub Transport Server 一律會選取單一決定性最低成本路由路徑。在選擇路由路徑時不需要考慮基礎連線或目的伺服器的可用性,而且不用考慮任何替代路由路徑。
最低成本路由路徑計算可在將郵件傳遞給下一個躍點失敗時,用以決定輪詢路徑。在 Exchange 2007 中,「輪詢」是當直接轉送因任何原因 (例如網路問題或伺服器離線) 而無法運作時,會順著最低成本的路由路徑,在過渡躍點上傳遞郵件的機制。路由元件會在連線建立之前,嘗試透過輪詢,一個躍點接著一個躍點,順著最低成本路由路徑,盡可能地將郵件傳遞至最接近的目的地上。首先,會嘗試連線至目的 Active Directory 站台的每部 Hub Transport Server。如果 Active Directory 站台內的 Hub Transport Server 均沒有回應,就會檢查最低成本路由路徑以判斷如何從傳遞站台開始進行輪詢。目標是要將郵件盡量傳遞到最接近目的地的位置,並在那個 Active Directory 站台的 Hub Transport Server 將郵件排入佇列。
下列是用來選取最低成本路由路徑的邏輯:
- 首先,加總必須周遊才能到達目的地之 IP 站台連結的成本,來計算最低成本路由路徑。如果可行的路由路徑有數條,則只會使用彙總成本最低的路由路徑。
- 如果多條路由路徑的彙總成本相同,則會評估每個路由路徑中的躍點數,然後使用躍點數最少的路由路徑。
- 如果仍有多條路由路徑可用,就會考量在目的地之前的 Active Directory 站台或路由群組連接器所獲指派的名稱。Active Directory 站台最接近目的地且英數字元順序最低的路由路徑會獲得採用。如果對於受評估的所有路由路徑而言,站台和目的地都一樣接近,那麼可能會使用字元順序較優先的站台名稱。
下圖顯示 Exchange 組織的路由拓撲。下列範例會使用此拓撲,示範路由演算法用以選取最低成本路由路徑的邏輯。
範例 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 2007 路由元件就不會考量替代的路由路徑。
路由無法辨識未部署任何 Hub Transport Server 的 Active Directory 站台,而且此類站台不會加入 Exchange 拓撲。不過,如果部署 Hub Transport Server 的站台之間的最低成本路由路徑沿途有這類站台,則在計算最低成本路由路徑時也需要考量將該站台連線至其他站台之連結所需的 IP 站台連結成本。
選擇好最低成本路由路徑後,路由會判斷該路由路徑沿途是否有中樞站台。中樞站台會覆寫直接連線,並強制由中樞站台中的 Hub Transport Server 處理郵件。在 Exchange 管理命令介面中使用 Set-AdSite 命令,可以將 Active Directory 站台設為中樞站台。
此組態適用於連線能力可能會妨礙站台之間的直接 SMTP 轉送時。每當供郵件傳遞使用的最低成本路由路徑沿途有中樞站台存在時,在將郵件轉送給其最終目的地之前,郵件會進入中樞站台內 Hub Transport Server 的佇列,並由該部 Hub Transport Server 處理。若最低成本路由路徑上有多個中樞站台,郵件就會停留在路由路徑沿途的每個中樞站台。如需如何設定中樞站台的相關資訊,請參閱如何設定中樞站台。
控制 IP 站台連結成本
如果認為 Active Directory IP 站台連結成本及流量模式並不是 Exchange 2007 的最理想狀態,則可以調整 Microsoft Exchange 評估的成本。作為 Exchange 系統管理員,您不能且不應使用 Active Directory 工具來修改指派給 IP 站台連結的成本。請您改為在 Exchange 管理命令介面中使用 Set-ADSiteLink 指令程式,將 Exchange 特定成本指派給 IP 站台連結。例如,若基於郵件路由傳送目的,想在 IP 站台連結 SITELINKAB 上設定不同的成本,請在 Exchange 管理命令介面中執行下列命令:
Set-AdSiteLink -Identity SITELINKAB -ExchangeCost 25
將 Exchange 成本指派給 IP 站台連結後,Exchange 成本會覆寫用於郵件路由的 Active Directory 成本,而路由在評估最低成本的路由路徑時,只會將 Exchange 成本列入考量。否則,會使用 Active Directory 複寫成本。如需相關資訊,請參閱如何在 Active Directory IP 站台連結上設定 Exchange 成本。
Exchange 2007 Service Pack 1 中的新功能
Exchange 2007 Service Pack 1 (SP1) 支援設定 Active Directory IP 站台連結的郵件大小上限。依預設,對於不同 Active Directory 站台內的 Hub Transport Server 之間轉送的郵件,Exchange 2007 不會規定郵件大小上限。如果使用 Set-AdSiteLink 指令程式來設定 Active Directory IP 站台連結的郵件大小上限,當郵件大於在最低成本路由路徑中的任何 Active Directory 站台連結上設定的郵件大小上限時,路由會產生未傳遞回報 (NDR)。而不會考慮任何替代路由路徑。如果郵件傳送至必須在低頻寬連線上通訊的遠端 Active Directory 站台,則此組態適用於限制這類郵件的大小。如果設定 Active Directory 站台連結的郵件大小上限,則也應該將該站台連結的 Exchange 成本設定得高一點,防止路由傳送偏好使用大小受限的路由路徑,而不是沒有大小限制的路由路徑。如需相關資訊,請參閱如何設定內部路由的郵件大小限制。
路由傳送郵件,以傳遞至 Exchange Server 2003 或 Exchange 2000 伺服器
如果郵件是從 Hub Transport Server 轉送至 Exchange 2003 或 Exchange 2000 伺服器,以傳遞至位在 Exchange 2003 或 Exchange 2000 伺服器上的收件者信箱,則郵件必須透過路由群組連接器進行轉送。所有 Exchange 2007 伺服器都會與單一路由群組 Exchange 路由群組 (DWBGZMFD01QNBJR) 關聯,以在 Exchange 2007 與 Exchange 2003 或 Exchange 2000 共存於相同的組織中時,路由傳送至舊版 Exchange Server。並不支援將 Exchange 2007 與舊版 Exchange Server 放在相同的路由群組中。因此,至少一定要有一個路由群組連接器來隔開 Exchange 2007 伺服器與 Exchange 2003 或 Exchange 2000 伺服器。
請注意: |
---|
請勿將 Exchange 2007 伺服器從 Exchange 路由群組 (DWBGZMFD01QNBJR) 移出,而且請勿使用低階目錄編輯器重新命名 Exchange 路由群組 (DWBGZMFD01QNBJR)。Exchange 2007 必須使用此路由群組與舊版 Exchange Server 進行通訊。我們不支援將 Exchange 2007 伺服器移出 Exchange 路由群組 (DWBGZMFD01QNBJR),或是重新命名 Exchange 路由群組 (DWBGZMFD01QNBJR)。 |
附註: |
---|
您必須在 Exchange 管理命令介面中使用 New-RoutingGroupConnector 指令程式,建立路由群組連接器,其會將 Exchange 2007 Hub Transport Server 併入作為來源或目的伺服器。使用 Set-RoutingGroupConnector 指令程式,則可以修改用來將 Exchange 2007 路由群組與舊版 Exchange Server 連線的路由群組連接器組態。如需相關資訊,請參閱如何建立從 Exchange 2007 到 Exchange Server 2003 的路由群組連接器。 |
在決定到達舊版 Exchange Server 的最低成本路由路徑時,Microsoft Exchange 傳輸服務的路由元件會先評估到達目的 Exchange 2003 伺服器的可能路由路徑,但只會考慮所有必須跨越才能到達該目的地之路由群組連接器的累積成本。接著,會使用本主題稍早的<選取最低成本路由路徑>一節中所描述的演算法,來決定到達所選取路由路徑的第一個路由群組連接器的成本。一律會使用跨路由群組連接器的最低成本路由路徑。而且,在跨路由群組連接器的兩個路由路徑的成本相同時,只會考慮到達第一個路由群組連接器的成本。
下列演算法可用來選取到達執行舊版 Exchange Server 之電腦的最低成本路由路徑:
- 檢查跨路由群組連接器的所有可能路由路徑,並選取總成本最低的路由路徑。
- 如果多條路由路徑的成本相同,則檢查跨 IP 站台連結到達第一個路由群組連接器的所有可能路由路徑,並選取總 IP 站台連結成本最低的路由路徑。
- 如果多條路由路徑的路由群組成本相同,而且 IP 站台連結成本也相同,則會選取躍點數最少的路由路徑。
- 如果多條路由路徑的路由群組成本相同、IP 站台連結成本相同,而且躍點數相同,則會選取在目的站台前的最後一個 Active Directory 站台名稱具有最小英數值的路由路徑。
下圖顯示 Exchange 2007 及 Exchange 2003 共存的路由拓撲範例。
在此範例中,郵件會從站台 A 的 Hub Transport Server 路由傳送至位在路由群組 2 的 Exchange 2003 伺服器。可以到達路由群組 2 的可能路由路徑有兩個:
- 選項 1:從路由群組連接器 A3 (成本 10) 至路由群組連接器 2-3 (成本 20)。這條路由路徑的總成本是 30。
- 選項 2:從路由群組連接器 C1 (成本 10) 至路由群組連接器 1-2 (成本 10)。這條路由路徑的總成本是 20。
在此範例中,選項 2 的總路由群組連接器成本較低,而且郵件是從站台 A 的 Hub Transport Server 路由傳送至站台 C 的 Hub Transport Server,郵件在此會置入佇列,以使用路由群組連接器 C1 進行傳遞。
在下圖中,路由群組連接器 2-3 的成本會變更為 10。
Exchange 2007 及 Exchange 2003 共存的路由拓撲 (其路由群組連接器成本已修訂)
同樣地,可以到達路由群組 2 的可能路由路徑有兩個:
- 選項 1:從路由群組連接器 A3 (成本 10) 至路由群組連接器 2-3 (成本 10)。這條路由路徑的總成本是 20。
- 選項 2:從路由群組連接器 C1 (成本 10) 至路由群組連接器 1-2 (成本 10)。這條路由路徑的總成本是 20。
在此範例中,兩個選項的總路由群組連接器成本都相同。路由傳送接著會評估必須跨越才能到達第一個路由群組連接器之 IP 站台連結的成本。從站台 A 中,到達路由群組連接器 A3 的 IP 站台連結成本是零,而到達路由群組連接器 C1 的成本是 20。因此,會選取選項 1 中所述的路由路徑。
重要事項: |
---|
Exchange 2007 量產發行 (RTM) 版本不支援在將 Exchange 2007 Hub Transport Server 併入為來源或目的伺服器的 Active Directory 站台連結或路由群組連接器上,設定郵件大小上限。Exchange 2007 RTM 也無法辨識設定於使用舊版 Exchange Server 建立之路由群組連接器上的任何郵件大小限制。因此,Exchange 2003 或 Exchange 2000 接收到從 Exchange 2007 轉送的郵件時,Exchange 2003 或 Exchange 2000 伺服器可能會重新評估路由路徑,以符合郵件大小限制。這可能會導致郵件重新路由傳送回 Exchange 2007,因而造成路由迴圈。若要避免此情況,建議您在組織中安裝 Exchange 2007 時,移除路由群組連接器的所有郵件大小限制。 |
Exchange 2007 SP1 中的新功能
Exchange 2007 SP1 支援設定路由群組連接器的郵件大小上限。依預設,對於在 Hub Transport Server 與 Exchange 2003 或 Exchange 2000 之間轉送的郵件,Exchange 2007 不會規定郵件大小上限。如果您使用 Set-RoutingGroupConnector 指令程式來設定路由群組連接器的郵件大小上限,路由傳送會針對大小超過最低成本路由路徑中任何路由群組連接器上所設定郵件大小上限的郵件,產生 NDR。而不會考慮任何替代路由路徑。
如果郵件傳送至必須透過低頻寬連線通訊的遠端路由群組,則此組態適用於限制這類郵件的大小。如果設定路由群組連接器的郵件大小上限,則也應該將該路由群組連接器的成本設定得高一點,防止路由傳送偏好使用大小受限的路由路徑,而不是沒有大小限制的路由路徑。如需相關資訊,請參閱如何設定內部路由的郵件大小限制。
Exchange 2007 RTM 也無法辨識在舊版 Exchange Server 上設定為連線路由群組的非 SMTP 連接器。計算到達 Exchange 2003 或 Exchange 2000 路由群組的最低成本路由路徑時,並不會考慮非 SMTP 連接器。Exchange 2007 SP1 包含的支援可以讓 Microsoft Exchange 傳輸服務的路由元件,在計算最低成本路由路徑時辨識非 SMTP 連接器。
相關資訊
如需相關資訊,請參閱下列主題:
若要確保您目前閱讀的是最新資訊,並尋找其他的 Exchange Server 2007 說明文件,請造訪 Exchange Server 技術資源中心.