Назад | Перейти на главную страницу

Оценка пропускной способности DNS: средний размер DNS-запроса?

Я пытаюсь оценить объем трафика, который будет генерироваться 20 000 000 DNS-запросов в месяц с точки зрения пропускной способности. Я приведу свои расчеты ниже, но все они зависят от моей оценки объема данных, используемых для выполнения простого запроса A к DNS-серверу.

Судя по моим тестам, я думаю, что 50 байт - это правильно, но подумал, знает ли кто-нибудь другое.

Мои расчеты основаны на 50 байтах на запрос:

520 bytes for a DNS request
200000000 DNS monthly requests
104000000000 monthly bytes
832000000000 monthly bits
27733333333.33 daily bits
320987.65 bits/s
313.46 kb/s

Спасибо, что зашли так далеко!

Я думаю, что ваши данные нуждаются в некоторых новых приближениях, поскольку обычный ответ DNS-сервера меньше 520 байт (на самом деле, большинство маршрутизаторов (или сетевого оборудования) могут доставить вам головную боль, когда размер пакета UDP превышает отметку в 512 КБ - но мы не говорю тут только про UDP).

Вот и все - мы будем использовать два очень известных Linux-инструмента для приблизительного определения размера типичного DNS-запроса. копать linux.org + статистика

; <<>> 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-серверами (это должно быть интересно).

Каплах.