ПрограммированиеФорумСеть

Максимальный размер входного буфера UDP-сокета (3 стр)

Страницы: 1 2 3
#30
8:19, 17 янв 2018

Ramm
>> net.core.rmem_max
Открывай доку и вперед.

#31
8:32, 17 янв 2018

Dampire
Атлична.
https://cesbo.com/ru/linux/networking/
16 Мб минимум, это в случае самого тормозного адаптера.
Про 200 Кб буфер по умолчанию можно услышать тут:
http://wm-help.net/lib/b/book/3584178044/226
Максимальный размер приемного буфера сокета в BSD/OS 2.1 по умолчанию равен 262 144 байта
Это 1996 год.

#32
9:01, 17 янв 2018

Ramm
> 16 Мб минимум, это в случае самого тормозного адаптера.
> Про 200 Кб буфер по умолчанию можно услышать тут:
За базар отвечаешь?
2k18, Elementary OS 0.4.1 (Ubuntu-based)
123 | Максимальный размер входного буфера UDP-сокета

#33
9:07, 17 янв 2018

И тебе никто не говорит, что ты не можешь изменить. Ты можешь задать размер до 4G в rmem_max. Только вот беда. Ни один вменяемый человек не даст твоему launch-скрипту root доступ. Будешь просить каждого игрока менять максимальный размер.

#34
9:07, 17 янв 2018

Dampire
> За базар отвечаешь?
Чувачок, что за гоп-стоп на Геймдеве?
Хочешь сказать, что у тебя в системе стоит умолчание в 200 Кб, а значит в программах больше и не выставить?

#35
9:09, 17 янв 2018

Ramm
Чувачок, ты знаешь разницу про rmem_max и rmem_default? Если не знаешь - иди читай документацию, утомило уже разжевывать в n-ный раз. Или телефон гони, раз гоп-стоп.

#36
9:37, 17 янв 2018

net.core.rmem_default - Указывает размер по умолчанию буфера для сокета получения данных по сети.
net.core.rmem_max - Максимальный размер буфера сокета для получения данных по сети.
Насколько я понял, rmem_default - размер буфера сокета, который поставится по дефолту, я могу поставить ему другой размер, но он не может быть больше rmem_max? Так?

Второе.
Я во втором вопросе в первом своем посте (на первой странице) об этом спросил, фактически только сейчас приходим к ответу на него...
В Виндовз есть подобное ограничение? Про дефолтное значение понятно - 8Кб. А максимальный размер есть?
Dampire
> Чувачок ...
Ути-пути, какие мы обидчивые =) Не обижайся =*

#37
10:20, 17 янв 2018

Ramm
> В Виндовз есть подобное ограничение? Про дефолтное значение понятно - 8Кб. А максимальный размер есть?
Вот ни фига не "понятно". Если ты проведешь простейший эксперимент в современной локальной сети на витых парах, увидишь что благополучно ходят udp-пакеты размером в 64кб. В интернет такие большие скорее всего не уйдут. На С++ они благополучно отправляются и принимаются без всяких настроек, на С# - не знаю, может там и есть то самое ограничение в 8кб.

Максимальный размер - 64кб. Формат пакетов не предполагает больших величин, там всего два байта под длину.

#38
10:40, 17 янв 2018

Zab
Не путай MTU и размер буфера.
Ramm
> В Виндовз есть подобное ограничение? Про дефолтное значение понятно - 8Кб. А максимальный размер есть?
Я верю, ты справишься.
http://letmegooglethat.com/?q=windows+max+udp+buffer+size+registry

#39
10:46, 17 янв 2018

Вот тут прочитал
https://www.securitylab.ru/analytics/243414.php

С правами пользователя можно изменить размер буфера по умолчанию, но для изменения его максимального размера требуются права администратора. Заметьте, что большинство сегодняшних Unix-Like систем по умолчанию имеют значение максимального размера буфера TCP всего лишь 256K. В Windows нет максимального размера буфера по умолчанию, но администратор может его установить.

Но это про TCP...
Zab
> Вот ни фига не "понятно". Если ты проведешь простейший эксперимент в
> современной локальной сети на витых парах, увидишь что благополучно ходят
> udp-пакеты размером в 64кб. В интернет такие большие скорее всего не уйдут. На
> С++ они благополучно отправляются и принимаются, на С# - не знаю, может там и
> есть то самое ограничение в 8кб.
В C#, по крайней мере, все очень хитро устроено, с таким буфером, в 8 Кб, он все равно примет пакет, даже если он больше этих 8 Кб.
Для эксперимента можешь отправить 10 пакетов по 1 Кб, но не считывать их по одному, а считать все разом - посмотри сколько будет на сокете.

#40
11:00, 17 янв 2018

Dampire
> Я верю, ты справишься.
Бред. При чем тут реестр винды? Нафига мне менять значение размера буфера сокета по умолчанию, которое винда выделяет любому сокету, когда я сам могу внутри своей программы менять значение размера буфера для своего сокета?
Ты предлагаешь мне залезть в систему и изменить rmem_default, а мне надо тупо узнать размер rmem_max, если проводить аналогии с линуксом!

https://docs.oracle.com/cd/E13924_01/coh.340/e13818/perftune.htm#CACIEGCC
On Windows:

Windows does not impose a buffer size restriction by default.

https://access.redhat.com/documentation/en-US/JBoss_Enterprise_We… dpbuffer.html

Table 23.1. Default Max UDP Buffer Sizes

Operating System  Default Max UDP Buffer (in bytes)
Linux      131071
Windows      No known limit
Solaris      262144
FreeBSD, Darwin  262144
AIX        1048576

Короче, безлимит в винде. Почему такой геморрой в линуксе и так урезан размер буфера - загадка.

Страницы: 1 2 3
ПрограммированиеФорумСеть

Тема в архиве.