Не позволяет ли минимальный 256-байтовый SO_RCVBUF удерживать пакет?

Команда info ищет файлы в местах, определенных в переменной $ INFOPATH (обычно / usr / share / info / и т. Д.), Но если он не находит там соответствующий файл, в качестве запасного варианта он переключается на страницы man за помощью (см. Переменную $ MANPATH ) и печатает точно такое же содержание, как человек . Итак, если info -w показывает * manpages * , попробуйте man -w , чтобы получить нужную информацию.

2
16.02.2018, 16:50
1 ответ

Глядя на ранее -заданный вопрос "Каково минимальное значение SO _RCVBUF?" и это руководство по сетевому программированию , ваши подозрения кажутся правильными. UDP- и IP-пакеты будут молча отбрасываться, потому что для хранения пакета будет недостаточно места, и (насколько я понимаю, )TCP-соединения не будут работать, потому что минимальный размер окна передачи будет больше, чем размер буфера; в любом случае вы ничего не получите.

Почему минимальный размер буфера сокета такой маленький, это, вероятно, исторический артефакт в документации. Глядя на исходный код Linux v4.0 (linux/include/net/sock.h ), оказывается, что фактический минимальный размер немного больше (2048+выровненный размер sk_buff )и был в течение достаточно долгого времени .Мое предположение, почему задокументированный минимум такой низкий, заключается в том, чтобы разрешить необработанный доступ к пакетам ячеек ATM, которые были 48 -53 байта , но это всего лишь предположение.

5
27.01.2020, 21:58

Теги

Похожие вопросы