У меня есть приложение с высокой пропускной способностью, в котором сервер должен передавать данные со скоростью ~ 300 Мбит / с в гигабитной сети. Есть ли другой способ, кроме UDP, для многоадресной рассылки от 1 до 10 клиентов через надежный транспортный механизм?
Это приложение очень похоже на потоковое видео в том смысле, что непрерывность потока важнее надежности. Текущее приложение немного медленнее и использует UDP в сочетании с собственной проверкой ошибок, в которой клиент знает, что нужно отбросить блок данных.
Есть ли какие-либо аппаратные варианты для передачи надежного потока TCP / IP нескольким клиентам?
Существуют ли какие-либо протоколы, которые могут туннелировать поток данных и поддерживать прямое исправление ошибок? Было бы хорошо, если бы сервер / клиенты все еще могли рассматривать это как обычный сокет.
Просто подумайте, что должен быть лучший способ, чем использовать собственное решение для многоадресной рассылки UDP.
Обратите внимание, что сервер и клиенты могут находиться в одной подсети для моего конкретного приложения. Хотя меня интересуют все ответы / варианты.
Спасибо.
Многоадресная рассылка, по определению, используется UDP. Если ваш поток действительно похож на видео, вы не хотите пытаться повторно отправить потерянные пакеты - это просто нарушит поток видео.
Если, однако, важно, чтобы все пакеты попали туда, тогда вам понадобится какой-то дайджест сообщения, который может отслеживать потерянные данные и выходить за пределы диапазона для повторной отправки любых потерянных пакетов. В качестве альтернативы, Практическая универсальная многоадресная передача может быть тем, что вы ищете - хотя это все еще экспериментальный протокол.
Убедитесь, что ваши коммутаторы поддерживают IGMP. В противном случае большинство коммутаторов не вернутся к широковещательной передаче, и широковещательный трафик со скоростью 300 Мбит / с может вызвать множество проблем в вашей сети.
Вы также можете прочитать это на IGMP Snooping.