DNS 或其他服務同時適用于 TCP 和 UDP

適用於: Microsoft Windows Server 2003 Datacenter Edition (32-bit x86)Microsoft Windows Server 2003 Enterprise Edition (32-bit x86)Microsoft Windows Server 2003 Standard Edition (32-bit x86)

撰寫


Nirmal Sharma MVP

社區解決方案內容免責聲明


MICROSOFT CORPORATION 和/或其各自的供應商不提供本文所含之資訊與相關圖形的適用性、可靠性或準確性的標記法。 所有這些資訊與相關圖形都是以「原樣」提供,不含任何類型的擔保。 MICROSOFT 與/或其各自的供應商特此沒有任何關於此資訊與相關圖形的保證及條件,包括適售性、特定用途的適用性、WORKMANLIKE 工作、標題與未侵權的所有默示擔保及條件。 您明確同意,對於任何直接、間接、PUNITIVE、偶然、特殊的情況,MICROSOFT 與/或其供應商概不承擔任何責任。衍生損失或任何損害(包括但不限於使用中的損失、資料或利潤),不論是根據合約、侵權、過失、嚴格責任或其他方式(無論是依據合約、侵權、過失、STRICT 責任或其他),即使 MICROSOFT 或其任何供應商已收到損害的可能性,也是如此。

摘要


下列知識庫說明為什麼某些服務同時使用通訊協定: TCP 和 UDP。

其他相關資訊


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-這是正確的,因為在用戶端與伺服器之間建立安全連線來傳送資料,而這只能使用 TCP not UDP 來完成。 UDP 只會在尋找驗證的網網域控制站(Kerberos)時使用。 例如,網域用戶端使用 DNS 尋找網網域控制站。