DNS递归查询与迭代查询

直接区别:
递归查询给出查询结果;迭代查询给出查询提示,客户端必须根据提示再次查询。

示例:
A向B发送递归查询请求,B向C发送迭代查询请求(下一节将介绍迭代查询),得到C给出的提示后,B向D发送迭代查询请求,得到D给出的提示后, B向E发出迭代请求,得到E给出的提示后,B向F发出迭代查询请求,得到F给出的提示后,B得到了F返回G的IP地址,B向A返回G的IP地址,整个查询结束。

递归查询的安全风险:
DNS放大攻击,攻击者利用大量支持递归查询的DNS服务器,伪造DNS查询请求,改请求的返回IP地址为被攻击者的IP,当大量的DNS服务器查询结束后会同时向该被攻击IP发送查询结果,如Vaughan和Evron所写,“一个包含60字节请求的DNS查询可以得到超过4000字节的应答,回应数据包被放大了60倍。”,该攻击由此得名。

正常的DNS查询图示:

DNS递归查询与迭代查询

 

DNS放大攻击图示:

DNS递归查询与迭代查询

 

转载于:https://www.cnblogs.com/landonxu/archive/2012/06/26/2563956.html