我正在尝试估算每月 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 服务器直接提供服务的域名(这应该很有趣)。
卡普拉。