狀態伺服器設計考慮
注意
從 Windows Server 2008 開始,網際網路驗證服務 (IAS) 已重新命名為網路原則伺服器 (NPS) 。 本主題的內容適用于 IAS 和 NPS。 在整個文字中,NPS 是用來參考服務的所有版本,包括原本稱為 IAS 的版本。
根據您的設計,您可能需要伺服器來追蹤目前登入網路的使用者。 狀態伺服器的主要挑戰是讓狀態伺服器資料庫中的資訊與實際登入的人員保持同步。 如果狀態伺服器中的資訊未同步處理,當使用者未獲授權時,可能會成功擁有多個會話。 此外,沒有多個會話的使用者可能會不小心受到損害。
在實作狀態伺服器時,應考慮下列事項:
- 狀態伺服器必須在幾秒鐘內線上做出決策。 基於這個理由,狀態伺服器需要可調整的基礎結構,每秒可支援許多更新和查詢。 關係資料庫不適用於具有同時更新的這類大型查詢。 關係資料庫主要是為了保持資料一致而建置,並提供一致的資料檢視給所有取用者。 它們不是針對快速更新而建置的。
- 多個物件之間更新的交易一致性並不重要。 這是因為狀態伺服器可以容許一小部分的機會。 不過,如果其中一部 RADIUS 伺服器在更新中間關閉,單一更新的交易一致性很重要,若要減少讓狀態伺服器保持不一致狀態的機會。
- 持續性 (將網路狀態儲存到持續性儲存體) 並不重要,因為持續性資訊會快速與網路的實際狀態不同步。
- 如果網路上支援 ISDN 或其他形式的多重連結,則狀態伺服器應該能夠處理使用這些功能的案例。
其中一個可能的設計是同時實作驗證延伸模組 DLL 和授權延伸模組 DLL。 這些 DLL 都可以透過網路與資料庫進行通訊。 授權延伸模組 DLL 可以使用目前登入網路的人員相關資訊來更新資料庫。 驗證延伸模組 DLL 可以查詢資料庫以取得這項資訊,以決定是否要接受或拒絕特定使用者的驗證要求;如果使用者已經登入,則會拒絕要求。
擁有授權延伸模組 DLL 更新狀態伺服器資料庫的優點是授權延伸模組 DLL 可以存取已驗證使用者的詳細資訊。 授權延伸模組 DLL 可以存取 NPS 授權機制的所有授權屬性。 例如,有些使用者可能會有授權,可讓他們擁有多個會話。 狀態伺服器應將這類使用者視為特殊案例。