gpt4 book ai didi

dns - 执行 NAPTR 查询

转载 作者:行者123 更新时间:2023-12-03 03:33:46 32 4
gpt4 key购买 nike

这可能看起来是一个非常简单的问题,但我还没有在互联网上找到答案。

任何人都可以告诉我如何对 SIP 域执行 NAPTR 查询吗? (这主要用于 DNS 查找),或者任何对我来说也很棒的引用(这个存在于 rfc2915 上)。

也许可以使用终端或任何工具,而且我想使用 java 来完成它,所以如果任何代码片段都会非常有帮助。

最佳答案

您要查找的 RFC 是“Session Initiation Protocol (SIP): Locating SIP Servers ”。

以下是有关如何选择传输协议(protocol)和解析 SIP 服务器地址的简短摘要。

  1. 如果指定了传输参数,则优先,
  2. 如果没有传输参数并且目标是 IP 地址,则 sip 应使用 udp 和 sips tcp,
  3. 如果没有传输参数并且目标是具有显式端口的主机名,则 sip 应使用 udp 和 sips tcp,并且应使用 A 或 AAAA 记录 DNS 查找来解析主机(第 4.2 节),
  4. 如果没有传输协议(protocol),也没有明确的端口和目标是主机名,则客户端应执行 NAPTR 查找并利用服务 SIP+D2U、SIP+D2T、SIP+D2S、SIPS+D2T 和 SIPS+D2S 的记录,
  5. 如果找到 NAPTR 记录,请选择所需的传输并查找 SRV 记录,
  6. 如果未找到 NAPTR 记录,则查找所需协议(protocol) _sip._udp、_sip._tcp、_sips._tcp、_sip._tls 的 SRV 记录
  7. 如果未找到 SRV 记录,则查找 A 或 AAAA 记录。

在现实世界中,几乎没有 SIP 提供商使用 NAPTR 记录,可能有一半或更少的人使用 SRV 记录,其余的仅依赖 A 记录。在我自己的 SIP 软件中,我关闭了 NAPTR 查找,因为它只是浪费时间,而且如果 SIP 提供商费心设置 NAPTR 记录,他们很可能也会设置标准 SRV 记录。

事后看来,SIP 协议(protocol)设计者可能应该不考虑整个 SIP 服务器地址解析,而让实现者使用标准 IP 负载平衡和故障转移机制。由于 SIP 客户端并非全部支持 SRV 记录,根据我的经验,使用此类记录总比没有好,但对于故障转移或负载平衡来说并不是一个很好的解决方案。

如果您正在寻找带有 SIP NAPTR 记录的主机名,请尝试 columbia.edu 和 snom.com,我上次检查时它们都有一些记录。

关于dns - 执行 NAPTR 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14180750/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com