Answers:
要记住的一件事是,默认情况下,DNS查找使用UDP。如果响应大于单个数据报所能容纳的范围,则将返回尽可能多的适合范围,并在标头中设置TC(截断)位。
请求者可以选择使用返回的内容,或者使用TCP重新尝试查询。
缓存DNS服务器不应该缓存截断的响应,因为它们不知道返回的记录集的完整性如何(响应没有说“我给您28条记录中的12条”)。
因此,最大记录数是您可以在UDP数据报中保留多少的因素。请记住,响应中需要包括授权部分,该部分的大小将根据该区域的SOA记录而有所不同。
如果您使用的是CNAME记录,这也会增加响应的大小,因为您会获得指向该对象的CNAME和A记录。
最好的选择是使用dig或“ host -v”处理各种数量的A记录,以查看查询何时超过UDP响应的最大大小。