瞭解 RPC Client Access

 

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

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

在 MicrosoftExchange Server 2007 中,引入了 Client Access server role 來處理對 Exchange 信箱的連入用戶端連線。儘管大多數類型的用戶端連線是對 Client Access Server 進行,但當它在內部以 MAPI 通訊協定執行時,Microsoft Office Outlook 仍舊會直接連線至信箱伺服器。

Exchange Server 2010 引入了一項新的服務,可讓 Client Access Server 來處理這些 MAPI 連線。RPC 用戶端存取服務可讓您透過單一、常見的 Client Access Server 路徑來存取資料,但公用資料夾要求仍然會直接對信箱伺服器建立連線。這項改變可更一致地將企業邏輯套用到用戶端,並且能在發生容錯移轉時提供更好的用戶端經驗。

目錄

RPC 用戶端存取服務和通訊錄服務

RPC 用戶端存取服務的優點

Client Access Server 陣列

設定 RPC 用戶端存取服務和通訊錄服務

RPC 用戶端存取服務和通訊錄服務

除了將連入 Outlook 信箱連線的處理移至 Client Access Server 外,在 Exchange 2010 中,目錄存取也由 Client Access Server 處理。如需有關目錄存取的詳細資訊,請參閱瞭解通訊錄服務

Microsoft Outlook 仍然會直接連線到信箱伺服器,以存取公用資料夾資料庫。如果用戶端嘗試連線至信箱伺服器以存取公用資料夾,RPC 用戶端存取服務 (MsExchangeRpc) 會回應 RPC 端點。如果端點位於已安裝 Mailbox server role 的伺服器上,RPC 用戶端存取服務將只會允許公用資料夾登入,並且會轉介至 Client Access Server 或 Client Access Server 陣列。如果端點位於 Client Access Server 或 Client Access Server 陣列上,它將只會允許私人資料夾登入,並會轉介至信箱資料夾以存取公用資料夾。

Exchange 2007 和 Exchange 2010 之間用戶端連線的差異

RPC 用戶端存取服務的優點

RPC 用戶端存取服務具有許多的優點。用戶端在信箱容錯移轉期間的停機時間變少,因為所有連線都是透過 Client Access Server 進行。當 Exchange 2007 中發生容錯移轉時,根據其網路組態,Outlook 用戶端會從信箱伺服器中斷連線一段時間。在 Exchange 2010 中,如果 Client Access Server 陣列中的單一 Client Access Server 發生故障,用戶端會立即重新導向到陣列中的其他 Client Access Server。如果屬於資料庫可用性群組 (DAG) 的某部信箱伺服器故障,用戶端中斷連線的時間僅為裝載容錯移轉資料庫所需的時間。

Client Access Server 的負載平衡陣列可讓您將流量負載平均分配在陣列中的所有 Client Access Server 上。

其他由這個新架構解決的問題包括下列各項:

  • 以不同方式在不同的用戶端上顯示訊息的一些問題。

  • 將憑證上載至全域通訊清單的問題。

  • 無法建立隱藏使用者的設定檔。

  • 對用戶端的商業邏輯應用程式不一致。

  • 連線至信箱伺服器而不是 Client Access Server 上之 RPC 用戶端存取服務的公用資料夾。

此外,已移除 DSProxy 服務,並由新的通訊錄服務負責更新憑證和通訊群組清單成員資格,以及維護 Outlook 用戶端的委派資訊。

MAPI 用戶端連線

在 Exchange 2007 中,Outlook 和其他 MAPI 用戶端會與 Client Access Server 通訊以進行諸如 Exchange Web 服務 (包括可用性服務和外出設定) 的 HTTPS 連線和離線通訊錄下載,但是會直接與信箱伺服器上的 MAPI RPC 元件進行通訊,以及與通用類別目錄伺服器上的 NSPI 端點進行目錄服務查詢。

在 Exchange 2010 中,會對 Client Access Server 或 Client Access Server 陣列上的 MAPI RPC 連線點進行這些連線。

通訊錄服務

在舊版的 Exchange 中,DSProxy (一個告知 Outlook 用戶端可以去哪裡尋找名稱服務提供者介面 (NSPI) 端點的轉介服務) 會負責將 Outlook 導向至通用類別目錄伺服器。DSProxy 位於信箱伺服器上。DSProxy 已在 Exchange 2010 中遭到排除,並以通訊錄服務取代。

目前當 Outlook 用戶端建立 Client Access Server 的要求時,會執行兩種可能行動中的其中一種行動。

  • 如果使用者的信箱位於 Exchange 2010 信箱伺服器上,則其要求是由目前 Active Directory 站台中的 Client Access Server 處理,如果使用者的信箱位於不同的 Active Directory 站台,則會將其要求 Proxy 處理至目的地 Active Directory 站台。

  • 如果使用者的信箱位於舊版 Exchange 信箱伺服器上,則會將目錄要求轉介至使用者的信箱伺服器。舊版的信箱伺服器不能直接與 Exchange 2010 Client Access Server 通訊,以取得目錄資訊。

通訊錄服務也提供可寫入網域控制站以及全域通訊清單存取的相關資訊。如需通訊錄服務的詳細資訊,請參閱瞭解通訊錄服務

Client Access Server 陣列

除了 RPC 用戶端存取服務之外,Exchange 2010 引入了新的邏輯結構到 Exchange 組織:Client Access Server 陣列。在 Active Directory 站台中定義 Client Access Server 陣列時,它可當做該 Active Directory 站台中所有用戶端連線的單一連絡點。Client Access Server 陣列可以包含一個或多個 Client Access Server。

Client Access Server 陣列的架構。

每一個 Active Directory 站台可以有單一 Client Access Server 陣列。Client Access Server 陣列不提供負載平衡。因此,仍然需要不同的負載平衡解決方案。如需負載平衡的詳細資訊,請參閱瞭解 Exchange 2010 中的負載平衡

即使組織中只有單一 Client Access Server,還是建議您建立 Client Access Server 陣列。建立 Client Access Server 陣列時,用戶端會透過 Client Access Server 陣列的虛擬名稱連線,而不是直接連線至單一 Client Access Server 的完整網域名稱 (FQDN)。如果 Active Directory 站台中的單一 Client Access Server 需要更換,或需要新增第二部 Client Access Server,用戶端不需要更新設定檔。

在 Active Directory 站台中定義 Client Access Server 陣列之後,該 Active Directory 站台中的所有 Client Access Server 會自動成為 Client Access Server 陣列的一部分。

設定 RPC 用戶端存取服務和通訊錄服務

若要設定 RPC 用戶端存取服務和通訊錄服務,您必須執行下列步驟。

  1. 建立用戶端存取陣列

  2. 設定負載平衡

  3. 設定 IP 連接埠

  4. 設定 RPC 加密設定

  5. 設定信箱資料庫

  6. 確保低延遲以及足夠的網路速度

建立用戶端存取陣列

您可以使用下列命令在 Active Directory 站台中建立用戶端存取陣列。

New-ClientAccessArray -Name name -Site site_name -FQDN internal_only_CAS_Array_FQDN
注意事項附註:
建立用戶端存取陣列後,您還需要在 DNS 中建立位址,並將其與用戶端存取陣列使用的虛擬 IP 位址產生關聯。

請注意,命令中指定的 (FQDN) 僅可供內部解析使用。如果該名稱也要讓外部能夠解析,則這些外部用戶端將會試圖經由 TCP 連線,而不是 HTTPS 連線到陣列。

設定負載平衡

建議將負載平衡用於高可用性、容錯移轉以及流量負載平均分配在多部伺服器上,有助於提高效能。選擇負載平衡解決方案時,請考慮下列事項:

  • Windows 容錯移轉叢集伺服器上不支援 Windows 網路負載平衡。

  • 您無法在多個 Active Directory 站台上使用用戶端存取陣列。而是要分別在各個站台中建立兩個用戶端存取陣列和負載平衡。

  • 硬體負載平衡器通常會監視傳回流量、連接埠可用性或服務可用性,以確保無法回應用戶端要求的伺服器沒有指定的網路連線。

  • 某些負載平衡解決方案 (如 ISA 2006 或 TMG 2010) 無法進行 RPC 負載平衡或監視 RPC 服務。除非所有用戶端都經由 Outlook 無所不在連線,且所有流量都封裝在 HTTP 內,否則不建議使用這些解決方案。

如需負載平衡的詳細資訊,請參閱瞭解 Exchange 2010 中的負載平衡

設定 IP 連接埠

IP 連接埠是一個開放通路,資訊可透過它從原始電腦傳遞到目的地電腦。依據預設,Windows Server 2008 R2 上連出連線的動態連接埠範圍是從 49152 到 65535。Exchange 2010 用戶端存取會將此範圍變更為從 6005 到 65535。大型部署會將範圍擴大,以提供足夠的延展。這是大範圍的連接埠,以平衡穿透用戶端和 Client Access Server 或用戶端存取陣列間的防火牆。

藉由修正 MAPI 和目錄端點,您可以大幅減少負載平衡所需的連接埠數目。MAPI 端點可以在登錄中靜態設定,而目錄端點可在組態檔中加以修正。

若要修正 MAPI 端點,請使用登錄中的下列設定值。

[HKLM\SYSTEM\CurrentControlSet\ Services\MSExchangeRPC\ParametersSystem\TCP/IP Port [DWORD]] 是要使用的 IP 連接埠值。

若要修正目錄服務端點,請編輯登錄中的 RpcTcpPort 值。

HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeAB\Parameters\RpcTcpPort [String] 是要使用的 IP 連接埠值。

注意事項附註:
不建議您變更 Outlook 無所不在的連接埠預設值。

設定 RPC 加密設定

在 Exchange 2010 的 RTM 版本中,預設會將 RPC 端點加密。不過,Outlook 2003 不會強制加密 MAPI 連線。當您將組織升級至 Exchange 2010 的 RTM 版本,執行 Outlook 2007 或更新版本的用戶端會自動與 RPC 用戶端存取的變更相容,這是因為它們預設支援 RPC 加密。Outlook 2003 不使用 RPC 加密,不過,RPC 用戶端存取依預設會需要它。如果您沒有關閉 RPC 加密 (不建議如此設定),您的使用者需要為「群組原則」設定 Outlook 2003,以強制 Outlook 2003 使用 RPC 加密。

這個問題的徵狀包括下列錯誤訊息:

  • 無法啟動 Microsoft Office Outlook。無法開啟 Office 視窗。無法開啟這組資料夾。

  • 無法開啟預設的電子郵件資料夾。無法開啟資訊儲存庫。

如果您的使用者使用快取 Exchange 模式,則 Office 不會顯示錯誤,但將會以中斷連線模式啟動。

Exchange 2010 Service Pack 1 (SP1) 預設不會加密 RPC 端點。如果已在您的組織中完成安裝 Exchange 2010 SP1,Outlook 2003 用戶端將可以連線到 Exchange 伺服器,而不需要進一步設定。

如需此問題的詳細資訊,包括因應措施,請參閱 Outlook 與 Exchange 2010 信箱連線問題

設定 Outlook 2003 使用 RPC 加密

若要設定 Outlook 2003 使用 RPC 加密,請使用下列步驟。

  1. 按一下 [工具] > [電子郵件帳戶] > [檢視或變更現有帳戶]

  2. 選取帳戶,並按一下 [更多設定]

  3. 選取 [安全性] 索引標籤。

  4. 選取 [加密 Microsoft Office Outlook 與 Microsoft Exchange Server 之間的資料]

  5. 按一下 [確定]。

設定您的信箱資料庫

每個信箱資料庫都包含 RPCClientAccessServer 值。這個值會在建立資料庫時建立,而其判斷用戶端 (信箱位於該信箱伺服器上) 將使用的 Client Access Server 或用戶端存取陣列。這個值也決定 RPC 端點的位置。Outlook 2007 和 Outlook 2010 用戶端會從自動探索服務取得此值。

RPCClientAccessServer 的預設值會根據下列規則來決定:

  • 如果您已在 Active Directory 站台中設定 Client Access Server 陣列,則會使用該陣列的位址。

  • 如果 Active Directory 站台中沒有陣列,且您在相同實體伺服器上同時擁有 Client Access server role 和 Mailbox server role,則特定信箱伺服器的 RPCClientAccessServer 屬性值將會與信箱伺服器相同。

  • 否則,特定信箱伺服器的 RPCClientAccessServer 屬性值將會設為 Active Directory 站台中的隨機 Client Access Server。

    注意事項附註:
    不建議您在同時也是網域控制站的單一電腦上安裝所有伺服器角色。雖然支援這種組態,但不建議使用。
  • 如果您在建立用戶端存取陣列或在 Active Directory 站台中安裝 Client Access Server 之前建立了信箱資料庫,則您需要重新設定 RPCClientAccessServer 屬性的值。如果在建立信箱資料庫時 Active Directory 站台中沒有 Client Access Server 存在,則會將 RPCClientAccessServer 屬性的值設為信箱伺服器的 FQDN。若要設定 RPCClientAccessServer 屬性的值,請使用下列命令進行。

    Set-MailboxDatabase <name> -RPCClientAccessServer <internal_only_CAS_Array_FQDN>
    

延遲和頻寬需求

對於不以 Exchange 快取模式 (離線) 執行 Outlook 的使用者,用戶端和伺服器之間的高延遲時間會直接影響到 Outlook 無法回應的頻率。一般而言,對主要信箱伺服器存在大於 200 毫秒 (ms) 的延遲將會導致用戶端效能不佳。

由於 Client Access Server 和信箱之間的延遲應小於 10 ms,因此建議您將 RPCClientAccessServer 屬性的值一律設定為作用中信箱資料庫站台中的用戶端存取陣列。

注意事項附註:
變更 RPCClientAccessServer 屬性的值將會強制所有用戶端重新連線。

設定通訊錄服務

通訊錄服務是透過 Microsoft.Exchange.AddressBook.Service.config 檔案設定。此檔案可讓您設定下列各項:

  • 每個使用者 (預設的限制值是 50) 同時連線的數目。

  • 停用或啟用記錄。

  • 記錄檔的位置、大小和保留期間。

若要啟用記錄,請使用下列值:

< add key="ProtocolLoggingEnabled" value="true" />

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