/etc/resolv.conf配置如下:
options timeout:1 attempts:5 rotate
nameserver A
nameserver B两个配置的名称服务器都有3秒的延迟。发生下列消息交换:
Linux解析器是否会接受对查询#1的答复,因为它仍在解析地址,还是所有来自初始1秒超时的回复都被丢弃了?
不幸的是,man resolf.conf并没有真正澄清这一点。
发布于 2018-01-16 19:07:30
我在我的实验室里测试过这种行为。Linux解析器如果在解析域的同时收到成功的答复,即使回复延迟大于1秒,它也会获得成功的答复。在我的实验室中,我将DNS服务器延迟设置为3秒,并且使用{{options :1次尝试:5}} set,客户机仍然解析域。在客户端发送了对两个配置的DNS服务器的多个查询之后,接收到响应的数据包捕获。
更改默认值或{{选项超时:5次尝试:1}到{选项超时:5次尝试:1}因此减少DNS服务器故障转移延迟,同时仍然允许慢DNS服务器同时提供答案。
发布于 2018-01-16 13:48:05
DNS查询也基于RTT (往返时间),就像ICMP一样.DNS查询的RTT是对发出DNS查询与接收应答时间之间的延迟的度量,这意味着答复(在您的情况下--对从A接收的#1的答复)必须在配置的最大超时之前到达,这样才能认为它是有效的。这与ICMP的工作原理完全相同。
从技术上讲,RTT是发送信号所需的时间加上接收该信号的确认所需的时间。
https://serverfault.com/questions/892442
复制相似问题