我正在寻找探索我发现的怪癖的技术细节。
我有一个权威的 DNS 服务器,执行全球服务负载平衡。它以基于其负载平衡算法的优先顺序响应多个 IP 地址。因此,例如,如果所有服务都正常,但 xyz3 负载最少,则响应可能如下所示:
x.y.z.3
x.y.z.1
x.y.z.2
但是,我发现如果用户使用 Google 的 DNS (8.8.8.8),他们会得到与上面完全相同的响应。然而,OpenDNS 似乎进一步循环这些响应。
换句话说,使用 8.8.8.8 作为其 DNS 服务器的用户将始终收到以下响应:
x.y.z.3
x.y.z.1
x.y.z.2
但是使用 OpenDNS 的用户可以按任何顺序查看它们。
我可以通过只返回 xyz3 来立即解决这个问题,但我想知道:
- 有没有其他方法可以解决这个问题?
- 这种行为是否包含在 RFC 或标准中?
- OpenDNS 行为是否符合预期且正确?