[问与答] 有个 DNS 的问题一直想不通,大佬们帮帮孩子吧

       有个应用有点问题(闭源),看报错可能和 DNS 有关,由于没法看代码,因此对物理网卡 53 的端口通信进行抓包,应用近一两周运行正常,抓包结果虽然有点离谱,但是由于应用正常运行,而且查询结果也没啥问题,就没管。
       直到今天下午,又出问题了,然后我马上分析了抓包结果,看到了一个 DNS 请求走了 TCP ,之前应用正常时,每次查询都是查本机的机器名的 A 记录和 AAAA 记录,正常的查询都走的 UDP ,然后当然响应查不到,这次和之前的区别是走了 TCP ,查询的记录是一样的。我们配的是阿里的公共 DNS ,是支持 TCP 查询 DNS 的,这次当然这次 DNS 也回复了查不到的响应,然后应用回了 DNS 响应一个 ACK 包后,就像卡死了一样,一直不挥手,这时候应用就卡死了。然后过了几分钟挥手后,估计是服务端已经断了连接了,发挥手拿不到 ACK ,一直重传了几次,连接就断了。
       请大佬们给点思路吧!

发表回复

您的电子邮箱地址不会被公开。