SCTP: передача по обоим интерфейсам одновременно

На моей машине у меня есть 2 интерфейса, подключенных к другой машине с 2 интерфейсами. Я хочу использовать оба интерфейса одновременно для передачи данных. С точки зрения SCTP, каждая машина является конечной точкой. Итак, я использовал розетку один к одному. На стороне сервера пробовал привязатьINADDR_ANY так же как bind() первый и bindx()секунда. На стороне клиента я попробовалconnect() а также connectx(). Что бы я ни пробовал, SCTP использует только один из двух интерфейсов одновременно.

Я также протестировал функцию sctp на Iperf и тестовое приложение в исходном коде. Ничего не работает.

Что мне здесь не хватает? Приходится ли вам отправлять каждый пакет вручную с одного или другого адреса на тот или иной адрес?

Безусловно, должна быть функция, позволяющая создавать несколько потоков, каждый из которых обеспечивает связь между парой определенных адресов. Затем, когда вы отправляете пакет, SCTP автоматически выбирает, в какой поток отправить пакет.

Заранее спасибо!

1 ответ

То, что вы просите, называется одновременной многопутевой передачей, функцией, которая не поддерживается SCTP (по крайней мере, не в соответствии с RFC 4960). Как описано в RFC 4960, по умолчанию SCTP передает данные по первичному пути. Другие пути должны отслеживаться по тактовому сигналу и использоваться при сбое передачи по первичному пути.

Другие вопросы по тегам