本文介绍某些服务为何同时使用协议 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 服务器不应面向 Internet,即对网络上的客户端计算机执行所有标准查询。 路由器(ACL)必须允许所有 UDP 入站流量访问任何高 UDP 端口才能正常工作。
LDAP 始终使用 TCP - 这是事实,为什么不是 UDP,因为客户端和服务器之间建立安全连接以发送数据,这只能使用 TCP 而不是 UDP 来完成。 仅当查找域控制器(Kerberos)进行身份验证时,才使用 UDP。 例如,域客户端使用 DNS 查找域控制器。
社区解决方案内容声明
Microsoft 公司和/或其供应商不对在这里所发布的信息和图片的适用性、可靠性或准确性负责。 所有此类信息和相关图形均按“原样”提供,不作任何形式的保证。 Microsoft 和/或其相应的供应商特此声明,不对本信息和相关图形提供任何保证和条件,包括所有暗示的保证和适销性条件、特定用途的适用性、工作人员的工作、所有权和非侵权。 你明确同意,在任何情况下,Microsoft 和/或其供应商都不对任何直接、间接、惩罚性、附带、特殊、后果性损害或任何损害负责,包括但不限于因以下原因或以任何方式造成的使用、数据或利润损失的损害负责:即使微软或其任何供应商已被告知有可能受到损害,但由于使用或无法使用本文所含信息和相关图形,无论是基于合同、侵权、疏忽、严格责任还是其他原因。