估计 DNS 带宽:DNS 请求的平均大小?

估计 DNS 带宽:DNS 请求的平均大小?

我正在尝试估算每月 20,000,000 个 DNS 请求将产生的带宽流量。我将在下面列出我的计算,但它们都取决于我对向 DNS 服务器发出简单 A 请求所使用的数据量的估计。

根据我的测试,我认为 50 字节差不多是正确的,但想知道是否有人有不同的看法。

我的计算基于每个查询 50 个字节:

DNS 请求为 520 字节
每月 200000000 个 DNS 请求
每月 104000000000 字节
每月 832000000000 比特
每日 27733333333.33 比特
320987.65 比特/秒
313.46 千比特/秒

感谢您阅读本文!

答案1

我认为您的数据需要一些新的近似值,因为通常的 DNS 服务器回复小于 520 字节(事实上,当 UDP 数据包大小超过 512kb 标记时,大多数路由器(或网络设备)都会让您头疼 - 但我们在这里讨论的不仅仅是 UDP)。

现在开始 - 将使用两个非常知名的 Linux 工具来近似计算典型 DNS 请求的大小。

$ dig linux.org +stats

; <<>> DiG 9.6.1-P1 <<>> linux.org +stats
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7061
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;linux.org.                     IN      A

;; ANSWER SECTION:
linux.org.              43200   IN      A       198.182.196.48

;; AUTHORITY SECTION:
linux.org.              43180   IN      NS      ns0.aitcom.net.
linux.org.              43180   IN      NS      ns.invlogic.com.

;; Query time: 239 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Oct 29 11:52:44 2009
;; MSG SIZE  rcvd: 100

如您所见,我向本地 DNS 服务器、环回接口发出了 DNS 查询(为了简单明了)。您应该对最后一行“MSG SIZE”感兴趣...

使用以下方法确认tcpdump(在环回接口上运行):

IP localhost.36855 > localhost.domain: 7061+ A? linux.org. (27)
IP localhost.domain > localhost.36855: 7061 1/2/0 A 198.182.196.48 (100)

您在每行末尾看到的就是实际大小(您正在寻找的东西)。

我建议您运行几个测试查询,并在计算中平均您的 DNS 请求大小。留意那些不是由您的 DNS 服务器直接提供服务的域名(这应该很有趣)。

卡普拉。

相关内容