The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

27.02.2017 12:32  Проектом netcode.io предложены средства для использования UDP в web-приложениях

Авторы проекта netcode.io представили решение для создания каналов связи с браузерными web-приложениями на основе протокола UDP, позволяющего добиться минимальных задержек в доставке пакетов, недостижимых для TCP. В частности, netcode.io может оказаться полезен в браузерных играх, которые в настоящее время вынуждены использовать WebSockets для оперативного взаимодействия между клиентом и игровым сервером. Код серверной и клиентской эталонных реализаций написаны на языке Си и распространяется под лицензией BSD.

Все основные виды коммуникаций в браузере основаны на TCP, но имеется обходной путь по использованию UDP через применение предоставляемого в WebRTC режима ненадёжной передачи данных. По мнению разработчиков netcode.io, распространению WebRTC для организации связи в игровых приложения мешает усложнённость данного API и завязанность на P2P-коммуникации с необходимостью использования STUN, ICE и TURN для работы с системами за трансляторами адресов (NAT). Применению WebRTC в клиент-серверных решениях также мешает раздутость реализаций WebRTC для серверов. В частности, в настоящее время выбор сводится к wrtc или electron-webrtc, которые тянут за собой очень много лишнего, например, браузерный движок, код для работы с видео и мультимедийные кодеки. Была попытка создания обособленной реализации слоя обмена данными WebRTC, но она завязана на DTLS (TLS over UDP).

В рамках нового протокола netcode.io данный недостаток попытались обойти предоставив максимально простой интерфейс для создания защищённых клиент-серверных соединений поверх UDP, похожий на WebSockets. Netcode.io из дополнительных зависимостей завязан только на криптографическую библиотеку libsodium. Несмотря на то, что все пакеты с данными отправляются по UDP, предложенный в netcode.io протокол предусматривает обязательную предварительную установку соединения c возможностью подключения только аутентифицированных клиентов. В рамках установленного соединения поддерживается полноценный двунаправленный обмен данными, от клиента к серверу и от сервера к клиенту. Так как пакеты передаются по UDP, данные передаются максимально быстро и без задержек на упорядочивание потока и повторную отправку потерянных пакетов, что идеально для трансляции клавиатурного ввода или информации о позициях объектов в игровом пространстве.

Все данные передаются в шифрованном виде и для защиты от подмены верифицируются по цифровой подписи. Аутентификация при соединении с сервером осуществляется по токенам с небольшим временем жизни, выдаваемым сервером через REST API после прохождения штатной web-аутентификации по HTTPS, например, при помощи OAuth. Запросы по UDP обрабатываются сервером только при наличии корректного токена.

  1. Главная ссылка к новости (http://new.gafferongames.com/p...)
  2. OpenNews: WebTorrent, самодостаточный torrent-клиент, работающий внутри браузера
  3. OpenNews: Релиз Electron 1.0, платформы создания приложений на базе движка Chromium
  4. OpenNews: Представлена распределённая система доставки web-контента CacheP2P
  5. OpenNews: Google намерен использовать сетевой протокол QUIC в браузере Chrome по умолчанию
  6. OpenNews: Проект ZeroNet развивает технологию децентрализованных сайтов, которые невозможно закрыть
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: udp, web, browser
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 12:56, 27/02/2017 [ответить] [смотреть все]
  • +11 +/
    Продолжаем делать из браузера ОС?
     
     
  • 2.2, Аноним, 13:10, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +23 +/
    Когда они пришли за емаксом, я смолчал, ведь я не пользуюсь емаксом.
     
     
  • 3.4, Аноним, 13:14, 27/02/2017 [^] [ответить] [смотреть все]
  • +/
    Скорее они пришли и вкрутили в твой вим поддержку емакса.
     
  • 3.7, Andrey Mitrofanov, 13:40, 27/02/2017 [^] [ответить] [смотреть все]
  • –1 +/
    Поясните Вы разжигаете религиозную рознь, http fsfe org freesoftware trans... весь текст скрыт [показать]
     
     
  • 4.36, Аноним, 23:27, 27/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    А ещё есть бывают просто сны. (с)
     
  • 3.10, Аноним, 14:06, 27/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Так Емакс тем и ценен, что это именно ОС, причем правильная ОС не набор отдельн... весь текст скрыт [показать]
     
  • 2.9, Аноним, 13:59, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    Браузер давно уже стал ОС. Состоявшийся факт.
     
  • 2.17, th3m3, 15:46, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Chrome OS, Firefox OS ныне закрытая Уже как бы давно Пилится ещё на js какая-... весь текст скрыт [показать] [показать ветку]
     
  • 2.19, Аноним, 16:31, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Да.
    И ничего плохого в этом нет.
     
  • 2.42, Аноним, 06:54, 28/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Часто бывает, что какой-то продукт вылезает из своих границ и начинает предостав... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.49, Аноним, 12:46, 28/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Вы всё врёти Я больше скажу есть даже пользователи у которых нет интернета... весь текст скрыт [показать]
     
  • 1.5, AlcoBuntu, 13:20, 27/02/2017 [ответить] [смотреть все]  
  • +2 +/
    Chrome OS получила кислородный баллончик
     
  • 1.6, Аноним, 13:39, 27/02/2017 [ответить] [смотреть все]  
  • +/
    Они решили создать свой QUIC? NIH синдром?
     
     
  • 2.12, Anonim, 14:12, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Прочитай статью- там ответ
     
     
  • 3.14, Аноним, 14:36, 27/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Читал, они так и не ответили там, почему не QUIC не считая придирки к блокировк... весь текст скрыт [показать]
     
     
  • 4.43, Джо, 08:45, 28/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Quic - это же вроде такой свой вариант TCP с некоторыми плюшками, реализованный ... весь текст скрыт [показать]
     
  • 1.8, Аноним, 13:45, 27/02/2017 [ответить] [смотреть все]  
  • –4 +/
    И неважно что буквы в словах путаться будут и объекты в игровом пространстве пры... весь текст скрыт [показать]
     
     
  • 2.11, A.Stahl, 14:10, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +7 +/
    Но все динамичные игры уже давным-давно используют UDP. И объекты не прыгают и буквы не теряются. Прикинь...
     
     
  • 3.39, Аноним, 02:22, 28/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Ого, неужели Не иначе магия защищает объекты и буквы ... весь текст скрыт [показать]
     
  • 2.13, gresolio, 14:13, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +5 +/
    Сразу видно как далеки ваши взгляды от сетевого программирования для игр, особен... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.40, Аноним, 02:32, 28/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Очень здорово, спасибо, всё это реализовано в netcode io Или авторы netcode io ... весь текст скрыт [показать]
     
     
  • 4.44, Джо, 08:51, 28/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Важна принципиальная возможность доставлять данные с небольшой задержкой, будешь... весь текст скрыт [показать]
     
  • 4.60, Доктор Звездулькин, 01:54, 03/03/2017 [^] [ответить] [смотреть все]  
  • +/
    Нет, у них на сайте есть форма, куда можно отправить ТЗ на создание целой игры, ... весь текст скрыт [показать]
     
  • 2.15, Аноним, 14:47, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Есть такая вещь как прямая коррекция ошибок FEC , не знаю, используют их игроде... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.16, Аноним, 15:13, 27/02/2017 [^] [ответить] [смотреть все]  
  • +/
    У QUIC в проекте есть поддержка FEC, но на деле не используется.
     
  • 3.23, t28, 17:42, 27/02/2017 [^] [ответить] [смотреть все]  
  • +/
    > прямая коррекция ошибок (FEC)

    Не прямая, а упреждающая.

     
  • 3.61, Alex, 19:36, 09/03/2017 [^] [ответить] [смотреть все]  
  • +/
    Упрлс Зачем FEC на прикладном уровне Вы реально видели хоть один ip-шный пакет... весь текст скрыт [показать]
     
  • 2.25, zanswer CCNA RS, 17:53, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Out-of-order delivery является не меньшей проблемой для TCP, чем для UDP И хотя... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.38, Аноним, 02:21, 28/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Так в вышестоящем протоколе судя по новости специально такой обработки не сделал... весь текст скрыт [показать]
     
  • 1.18, Нанобот, 16:19, 27/02/2017 [ответить] [смотреть все]  
  • +2 +/
    получается, что для того, чтобы вернуть базовый функционал операционной системы, понадобилось делать надстройку над монстром WebRTC, который в свою очередь является надстройкой над udp. Получается netcode.io udp - надстройка над надстройкой над udp. Я к тому, что в этих ваших веб-технолониях как-то всё сильно переусложнено
     
     
  • 2.22, Илья, 17:16, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +5 +/
    Главное чтобы нпм-пакет не удалили
     
  • 1.20, Аноним, 16:52, 27/02/2017 [ответить] [смотреть все]  
  • +/
    не взлетит TOR поверху TCP только бегает ... весь текст скрыт [показать]
     
     
  • 2.24, t28, 17:44, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Причём виноват не сам TOR, а неосиляторные реализации SOCKS.
     
  • 1.21, Аноним, 17:06, 27/02/2017 [ответить] [смотреть все]  
  • +/
    Никакой браузер это не поддерживает Начинание слишком запутанное из-за переусло... весь текст скрыт [показать]
     
     
  • 2.57, Alexey, 10:41, 01/03/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    По HTTP сконнектился с microsoft.com и начал слать UDP пакеты пачками.
     
  • 1.26, Аноним, 18:28, 27/02/2017 [ответить] [смотреть все]  
  • –4 +/
    Они думают что удп пакет придет с заметно меньшей задержкой чем очередной тцп па... весь текст скрыт [показать]
     
     
  • 2.28, Аноним, 18:49, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Нет Когда имеется stateless-сервер т е в одном пакете _от_клиента_ имеется вс... весь текст скрыт [показать] [показать ветку]
     
  • 2.41, Аноним, 02:39, 28/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Им лавры 171 доброй 187 корпорации google покоя не дают покоя, тоже хотят св... весь текст скрыт [показать] [показать ветку]
     
  • 2.47, Аноним, 10:19, 28/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    TCP свойственны такие параметры как временные задержки между отправкой-получение... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.53, Led, 22:30, 28/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Всё верно вендузятники должны страдать ... весь текст скрыт [показать]
     
     
  • 4.59, zanswer CCNA RS, 05:39, 02/03/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    В Linux, по крайней мере Red Hat Enterprise Linux, данное значение равно 40 мс п... весь текст скрыт [показать]
     
  • 1.29, Аноним, 19:34, 27/02/2017 [ответить] [смотреть все]  
  • –3 +/
    Они бы лучше занялись проблемой DDOS, реализовали бы возможность блокировать вхо... весь текст скрыт [показать]
     
     
  • 2.30, Andrey Mitrofanov, 19:44, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Точно Это всё надо в броузере На js-е Да ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.35, Михрютка, 22:56, 27/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    а кто будет жаловаться - спортируем блендер!
     
  • 1.34, Михрютка, 22:55, 27/02/2017 [ответить] [смотреть все]  
  • –1 +/
    очень нужная штука, особенно сейчас, когда браузерки штурмом взяли ондроед (и слава богу скоро оставят в покое мой уютненький десктопчик)
     
  • 1.45, Аноним, 09:38, 28/02/2017 [ответить] [смотреть все]  
  • –1 +/
    Все хорошо, штука нужная, вот только с авторизацией намутили дополнительное соед... весь текст скрыт [показать]
     
  • 1.50, Валик228, 13:23, 28/02/2017 [ответить] [смотреть все]  
  • –1 +/
    уррряяяя!! наконец-то мой бравзерный ботнет научится по udp ддос-ить, а то в последнее время стало не хватать потока, знаете ли....
     
  • 1.52, Аноним, 21:25, 28/02/2017 [ответить] [смотреть все]  
  • –2 +/
    ну логичено веб-сокеты уже есть, пора запиливать УДП реализацию их а не Тисипи-... весь текст скрыт [показать]
     
  • 1.56, nuclight, 01:54, 01/03/2017 [ответить] [смотреть все]  
  • +/
    Опять UDP... Ну когда же про SCTP уже всем этим горе-изобретателям наконец кто-нибудь расскажет...
     
     
  • 2.58, vvi, 12:18, 01/03/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Тоже при прочтении новости возникли мысли об SCTP Тем более, что при его создан... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.62, Alex, 19:50, 09/03/2017 [^] [ответить] [смотреть все]  
  • +/
    Дратути SCTP страдает теми-же проблемами, что и TCP т е ретрансмиты и возможн... весь текст скрыт [показать]
     
     
  • 4.63, nuclight, 23:43, 16/03/2017 [^] [ответить] [смотреть все]  
  • +/
    Дратути Кое-кто неграмотный, и об SCTP только краем уха слышал Там, во-первых,... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor