Решения на основе P2P предпочитают SIP или XMPP (Jingle) для сигнализации - PullRequest
5 голосов
/ 04 апреля 2011

Это только начало, где я больше изучаю P2P и нахожу причины с точки зрения масштабируемости или чего-либо еще для: SIP или XMPP (Jingle) для следующего варианта использования:

Клиентское приложение P2P, способное выполнять передачу файлов во всех сценариях обхода сети.

// Для сигнализации (например, для подключения / определения местоположения / отключения одноранговых узлов) доступны как XMPP (Jingle), так и SIP.

Могу ли я узнать возможные причины использовать что и почему? Любое практическое использование? например.; Масштабируемость или все, что действительно имеет значение для вышеупомянутого варианта использования

1 Ответ

10 голосов
/ 05 апреля 2011

Jingle - расширение XMPP для обработки мультимедийных сеансов.По сути, Jingle является XMPP-эквивалентом SIP .

. Что касается приложения P2P-файла:

  • Jingle и SIP примерно эквивалентнынасколько масштабируемость идет.Как разделение сигнализации, так и мультимедиа обеспечивают большую гибкость (и, следовательно, сложности) в способе развертывания компонентов на стороне сервера.

  • XMPP / Jingle имеет улучшенный дизайн безопасности, что делает его гораздо более практичным дляпринудительное применение клиентов с использованием уровня сигнализации SSL.SIP поддерживает SSL, но он более замысловатый и также не пользуется широкой поддержкой в ​​реальном мире,

  • Что касается NAT, у вас будут одинаковые проблемы с обоими.Масштабируемость, которую вы получаете благодаря наличию отдельных путей передачи сигналов и мультимедиа, возвращается к нулю, когда задействован NAT.Существует несколько различных механизмов работы с NAT, последняя попытка которых ICE .ICE - это набор различных механизмов, позволяющих попытаться разрешить различные конфигурации NAT, и следует иметь в виду, что не все конфигурации могут быть разрешены, и запасным вариантом является использование сервера проксирования медиа, такого как TURN .

На вашем месте я бы использовал XMPP, но перед запуском я бы определился, какие именно конфигурации NAT должны поддерживаться.Если вам потребуется поддержка произвольных клиентов из любого места в Интернете, вы не сможете полагаться на возможность всегда устанавливать прямую P2P-связь между вашими клиентами, и именно здесь вы столкнетесь с самой большой проблемой.

...