LINUX.ORG.RU

Вопрос про выделение размера буфера для сокетов

 


0

1

Здравствуйте.

Речь идёт о железке W5500 https://www.chipdip.ru/catalog/popular/w5500 подключаемой к различным МК для работы с сетью. Имеет tcp стек и т.д.

У неё можно инициализировать до восьми сокетов (они там у неё внутри), так вот, для этих сокет есть внутренняя память - 32Кб.

Эту память можно распределять между сокетами самостоятельно, на свое усмотрение. Память эта делится условно на два (для входящих и исходящих буферов), то есть по 16Кб.

Я хочу создать три сокета - один для DNS, второй только для отправки, третий для сервера. Понятно что для сервера хочется выделить побольше этой самой внутренней памяти.

Отсюда вопрос:

Сколько памяти нужно выделить для сокета работающего с DNS (DNS-клиент). Этот сокет открывается один раз при старте, узнаёт ip для доменного имени и зарывается. Дальше он будет использоваться редко, напрмер раз в сутки.

В документации нет никаких рекомендаций потому что это видемо должен знать тот кто делает устройство и разбирается в сети.

В общем, какой размер входящего буфера порекомендуете установить для DNS сокета?


У вас DNS по tcp? Так же в dns по udp один пакет запрос — один пакет ответ. Взяли бы да и попробовали, при каком размере сокета dns перестаёт работать. Может под один пакет место всегда есть...

mky ★★★★★
()
Ответ на: комментарий от mky

Я думал может есть какое-то более менее универсальное решение.

Нужно запросить всего один домен-адрес.

Меньше 1К выделить нельзя. Выделить можно 1К, 2К, 4К, сколько посоветуете?

stD
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.