共用方式為


查詢期間會發生什麼事

本節說明當 32 位用戶端在自己的網域中搜尋名稱時,網路如何處理查詢。

當您的用戶端應用程式呼叫 RpcNsBindingImportBegin時,位於用戶端電腦上的定位器會嘗試滿足此要求。 如果快取中沒有任何內容,它會將 RPC 的請求轉送至主定位器。 如果主要定位器在其快取中找不到任何內容,它會使用郵件槽廣播,將要求傳送至網域中的所有計算機。 如果有相符條件,每部電腦上的定位裝置都會由定向郵件槽回應。 (例如,如果該電腦上的進程已經匯出介面。)回應會進行定序,且 RPC 會從客戶端的進程定位器完成,這會回復客戶端進程本身。

在網域中,用戶端定位器會在下列位置搜尋主要定位器:

  • 在主要域控制器上
  • 在每個備份域控制器上

如果找不到相符項目,用戶端定位器會宣稱自己是主要定位器。 因此,如果查詢無法在本機滿足,則會進行廣播。

在工作組中,用戶端定位器會維護定位器已廣播的計算機快取。 它會使用已運行最久者作為主要定位器。 如果該電腦無法使用,則會使用下一部最長廣播電腦等等。 如果客戶端需要主定位器且快取是空的,它會發送一個特殊的郵件槽廣播以請求主定位器進行回應,從而補充快取。 如果沒有回應,用戶端定位器會宣告自己為主要定位器,如果無法在本機滿足查詢,則會廣播查詢。

如果您的用戶端應用程式是16位或 MS-DOS 型程式,這會變更。 在此情況下,用戶端計算機上沒有執行定位器,Rpcns1.dll 或 Rpcnslm.rpc 包含尋找主要定位器的程式代碼。 所有要求都會直接轉送至主要定位器。

這些指導方針適用於用戶端網域中的名稱,例如 「/.:/entryname」 的名稱。 如果客戶端透過「/.../DOMAIN/entryname;」從另一個網域請求名稱,客戶端定位器會將請求轉送至指定的網域;如果該網域沒有答案,則會廣播該請求。 如果網域已關閉或實際上是工作組,要求將會失敗。

注意

使用名稱服務中的條目時,請記住以下事項:

 

  • 客戶端無法使用「/.../DOMAIN/entryname」語法在其自身網域中尋找項目。 使用語法 "/.:/entryname"。 不過,您可以使用 “/.../DOMAIN/entryname” 來尋找另一個網域中的條目。
  • “/.../DOMAIN/entryname” 中的域名必須是大寫。 尋找相符專案時,定位器會區分大小寫。
  • 定位器項目名稱也會區分大小寫,但不需要大寫。
  • 當用戶端使用 「/.:/entryname」 語法時,定位器將不會搜尋其他網域中的專案,即使它們與登入網域有信任關係。
  • 廣播不會跨越 LAN 區段(例如子網)。 因此,定位器在具有多個子網的組織中會受到限制。