resolv : res_nsend: used send_dg 0 terrno: 110
个日志的意思很明确:
• send_dg 表示 DNS resolver 走的是 UDP datagram 发送路径。
• 返回值 0 表示这次 DNS 查询没有拿到可用响应,这个 nameserver 这轮失败了。
• terrno: 110 对应 ETIMEDOUT,也就是 Connection timed out,超时。
放到一起看,就是:DNS 请求发出去了,但等不到回包,最后按超时处理。
resolv : res_nsend: used send_dg 63 terrno: 0
是 resolver 的正常成功日志,不是错误。
send_dg表示走 DNS 的 UDP datagram 路径。63是send_dg()的返回值,表示收到了 63 字节的 DNS 回包。terrno: 0表示这次没有传输层错误,resolver 已经拿到有效响应。
也就是说,res_nsend: used send_dg 63 terrno: 0 的意思是:这次 DNS 查询通过 UDP 发出并成功收到了回复。它本身不表示断网,反而说明这一刻 DNS 至少是通的。和你前面那条 terrno: 110 正好相反,110 才是超时。