我通过直接发送dns消息来制作解析器和名称服务器程序而不使用dns库(例如netdb.h).但我几乎没有问题.据我发现递送请求时,查询的名称服务器为我们找到了记录.nameserver用于查询其他服务器的查询是否与迭代查询类似?至少这些图像暗示了这一点.
如果客户端可以执行迭代查询或只有名称服务器可以执行迭代查询,我也很困惑?
递归dns查找:
迭代dns查找:
任何DNS客户端(或"解析器")都可以执行迭代查询.
但是,根据定义,执行迭代查询的解析程序是递归解析程序,而不是存根解析程序.
存根解析器通常实现为库,直接链接到您的可执行文件.
但是,也可以构建一个完整的递归解析器作为独立库. libunbound
是一个特别好的例子.
客户端当然可以自己进行迭代查询,而无需咨询递归解析器,但有很多理由不这样做:
DNSSEC引发了一个问题:使用DNSSEC,如果最终用户想要验证结果,则必须执行完整的迭代查询.目前尚未看到如何大规模部署支持DNSSEC的解析器.
归档时间: |
|
查看次数: |
19868 次 |
最近记录: |