Почему Silverlight или Flash не поддерживают UDP-сокеты? - PullRequest
6 голосов
/ 17 декабря 2009

Я читал, что несколько плагинов для браузера поддерживают сокеты UDP (например, Java, Unity), однако самый популярный плагин, Flash, не поддерживает сокеты UDP !? И не мой любимый, Silverlight.

Теперь я знаю, что бета-версия Silverlight 4.0 имеет многоадресные UDP-сокеты, но они бесполезны в общедоступном Интернете, и именно здесь я хочу использовать материал, который я создаю для приложения в браузере. И я знаю, что Flash 10 имеет RTMFP, но все же это не работает как одноадресный сокет UDP.

Итак, я слышал некоторые теории о том, что UDP представляет собой угрозу безопасности, но я не совсем понимаю, как это больше риска, чем TCP, или как сервер политики не снижает риск. Пожалуйста, кто-нибудь объяснит мне, что здесь происходит. Спасибо.

1 Ответ

5 голосов
/ 05 января 2010

Опасная часть UDP заключается в том, что, в отличие от TCP / IP, он не выполняет рукопожатие. Фактически это означает, что может быть создано приложение для атаки, которое наводнит локальную сеть UDP-пакетами. Я думаю, что было бы трудно создать политику, которая могла бы отличить приложение для атаки от легального голосового / видео потока. Представьте себе, что эта атака происходит внутри сети: http://en.wikipedia.org/wiki/UDP_flood_attack. Даже если вы используете исходящий IP-адрес в качестве фильтра, внешний сервер не будет иметь проблем с простым игнорированием потока, поскольку нет политики для принудительного прослушивания. Внешний сервер вообще не должен отправлять что-либо обратно, только хорошие блоки будут отправлять ошибки ICMP.

Я также представляю, что могут быть довольно креативные способы преодоления брандмауэра, который поддерживает обход UDP.

В целях безопасности можно использовать прокси-сервер для преобразования UDP в TCP. Это только рентабельно для корпоративных приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...