LINUX.ORG.RU

Что происходит при приеме слишком большого кол-ва пакетов в секунду (TCP сокеты)?


0

0
Здравствуйте. Поддерживаю на плаву программу, получающую большие объемы данных через tcp сокеты. Что будет происходить, если посылать ей количество пакетов, "выходящее за рамки допустимого"? Возможно ли добиться переполнения буфера TCP/IP? Какие еще могут быть проблемы на стороне принимающей программы, и как их отследить?
Читать описание протокола TCP/IP. Вкратце, обе стороны умеют договариваться в таких ситуациях. Но в критических ситуациях пакеты просто дропнуться могут.
mv ★★★★★
()
Если на примнимающией стороне никто не будет читать буфер. При этом на отправляющей стороне буфер заполниться, то передача пакетов остановиться. А отправляющая сторона ничего не сможет записать в буфер, будет получать ошибку записи, обрабатывать ошибку и снова пытаться записать то же самое.

Вот и все.

Aleks_IZA
()
на принимающей стороне проблем не будет :)
true_admin ★★★★★
()
> Возможно ли добиться переполнения буфера TCP/IP?

Да. Но проблем при этом не будет. Принимающая сторона дропнет лишнее, и отправляющая, не получив подтверждения о получении пакетов, перестанет "слать как сумашедшая". Впрочем, я даже DOS (apache) наблюдал, когда безконтрольно заваливали канал, приходилось iptables-ом рубить гада :)

Casus ★★★★★
()
Никаких проблем, по идее, на принимающей стороне не должно быть.
smh ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.