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

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

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

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

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

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


person HealthyDev    schedule 24.06.2020    source источник


Ответы (1)


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

person Alexander Zinovyev    schedule 24.06.2020