SCTP: проблема с отправкой данных с задержкой более 100 мс - PullRequest
1 голос
/ 16 августа 2011

Я использую клиент SCTP для отправки 1000-байтовых данных на другой сервер SCTP через канал с задержкой 100 мс. Задержка настраивается с использованием управления трафиком (tc) и netem, доступных в Linux

tc qdisc add dev eth0 root netem delay 100ms

Я использовал код от SCTP Multihoming . Я установил время туда-обратно (максимум) до 60 секунд и сердцебиение до 10 секунд. Теперь проблема, с которой я сталкиваюсь, заключается в том, что я могу правильно отправлять от 3 до 4 пакетов по 1000 байт. После этого происходит «Сброс соединения по пиру», и из-за этого я больше не могу отправлять пакеты. Подскажите, пожалуйста, что мне нужно сделать для отправки данных SCTP по каналу с высокой задержкой. Спасибо за вашу помощь.

1 Ответ

1 голос
/ 25 августа 2011

Наконец-то я смог решить проблему.Проблема вызвана тем, что между клиентом и сервером SCTP находится NAT-блок.NAT изменяет IP-адрес, и во время обмена сообщениями сердечного ритма SCTP, поскольку IP-адрес отличается, клиент не может найти правильный IP-адрес, и из-за этой ассоциации SCTP происходит сбой.Таким образом, сервер SCTP отправляет ABORT клиенту.Я удалил NAT и все прошло нормально.

...