共用方式為


DNS 或其他服務同時在 TCP 和 UDP 上運作

本文說明為何某些服務同時使用通訊協定 TCP 和 UDP。

適用於: Windows Server 2003
原始 KB 編號: 556000

摘要

DNS 和其他一些服務同時在通訊協議上運作。 我們將採用 DNS 服務範例。 兩個通訊協定彼此不同。 TCP 是聯機導向的通訊協定,它要求數據在目的地保持一致,而 UDP 為無連線通訊協定,而且不需要數據一致或不需要與主機建立連線,才能讓數據保持一致性。

UDP 封包的大小較小。 UDP 封包不能大於 512 個字節。 因此,任何應用程式都需要傳輸大於512個字節的數據,都需要有TCP到位。 例如,DNS 會基於下列有效原因使用 TCP 和 UDP。 UDP 訊息不會大於 512 個字節,而且在大於此大小時會遭到截斷。 DNS 會針對區域傳輸使用 TCP 和 UDP 進行名稱,並查詢一般 (主要) 或反向查詢。 UDP 可用來交換小型資訊,而 TCP 必須用來交換大於 512 位元組的資訊。 如果用戶端未從 DNS 取得回應,則必須在間隔 3-5 秒后,使用 TCP 重新傳輸數據。

DNS 區域資料庫中應該有一致性。 為了達成此目標,DNS 一律會使用 TCP 傳輸區域數據,因為 TCP 是可靠的,並且確定區域數據是一致的,方法是將完整區域傳送至已要求數據的其他 DNS 伺服器。

當 Windows 2000 伺服器和進階伺服器產品針對上述所有 1023 使用動態埠時,就會發生此問題。 在此情況下,您的 DNS 伺服器不應該面對因特網,也就是針對網路上的用戶端電腦執行所有標準查詢。 路由器 (ACL) 必須允許所有 UDP 輸入流量存取任何高 UDP 連接埠,才能運作。

LDAP 一律使用 TCP - 這是真的,為什麼不是 UDP,因為在用戶端和伺服器之間建立安全連線來傳送數據,這隻能使用 TCP 而非 UDP 來完成。 只有在尋找域控制器 (Kerberos) 進行驗證時,才會使用 UDP。 例如,網域用戶端會使用 DNS 尋找域控制器。

Community 解決方案內容免責聲明

Microsoft 公司和/或其各自的供應商不代表此資訊和其所含相關圖形的適用性、可靠性或精確度。 所有這類資訊和相關圖形都會以「原狀」提供,而不需要任何種類的擔保。 Microsoft 和/或其各自的供應商在這裡免責與此資訊和相關圖形相關的所有瑕疵擔保和條件,包括所有隱含的瑕疵擔保和適售性條件、適合特定用途、工作方式、職稱和非侵權。 您特別同意,在任何情況下,Microsoft 和/或其供應商都不應該對任何直接、間接、懲罰性、附帶性、特殊、衍生性損害或任何損害負責,包括,不限於使用損失、資料或獲利、因使用或無法使用此處所包含的資訊和相關圖形而產生的損害, 不論是根據合約、侵權、過失、嚴格責任,還是如此,即使 Microsoft 或其任何供應商都已獲得損害的可能性。