The OpenNET Project / Index page

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

31.03.2018 21:50  Компания Valve открыла реализацию системы TCP-подобных коммуникаций поверх UDP

Компания Valve перевела в разряд свободного ПО библиотеку GameNetworkingSockets с реализацией системы передачи сообщений поверх UDP, которая может применяться для организации высокоскоростного и надёжного сетевого обмена данными в играх. Код написан на языке С++ и поставляется под лицензией BSD.

GameNetworkingSockets реализует поверх UDP похожий на TCP протокол, обеспечивающий установку соединения, но ориентированный на передачу сообщений вместо потоков. При этом через установленный канал связи сообщения могут передаваться как в режиме гарантированной доставки, так и с использованием более быстрого режима ненадёжной передачи. Протокол поддерживает такие возможности как обработка фрагментации, пересборка пакетов, прогнозирование и ограничение пропускной способности.

Имеется встроенная поддержка шифрования канала связи. Данные в пакетах шифруются с использованием алгоритма блочного шифрования AES, а для обмена ключами и проверки сертификатов применяются цифровые подписи на базе эллиптических кривых Ed25519. Механизмы доставки ключей и выбора вектора инициализации для каждого пакета основаны на методах, применяемых в протоколе QUIC.

Разработчикам предложена библиотека c реализацией C++ класса SteamNetworkingSockets, а также инструментарий для симуляции потери пакетов и получения детальной статистики. Среди необходимых для сборки зависимостей: OpenSSL, Google protobuf, ed25519-donna, curve25519-donna и ujson (компактный парсер JSON, который уже включен в состав GameNetworkingSockets.

Из планов на будущее называется переработка кода "SNP", который отвечает за инкапсуляцию API-сообщений в UDP-пакеты и выполнение таких операций как фрагментация и пересборка слишком больших пакетов, cлияние мелких сообщений и переотправка потерянных фрагментов. В новой реализации появится более продвинутая реализация скользящего окна и полноценная возможность упорядочивания пакетов (сейчас пакет пришедший не по порядку просто отбрасывается). Также планируется уйти от применения специфичных для Steam идентификаторов CSteamID в пользу более универсальной структуры идентификации и избавиться от зависимости от OpenSSL, в котором используется только реализация AES.

  1. Главная ссылка к новости (https://www.reddit.com/r/gamed...)
  2. OpenNews: Google намерен использовать сетевой протокол QUIC в браузере Chrome по умолчанию
  3. OpenNews: Fastsocket - новая высокомасштабируемая реализация сетевой подсистемы ядра Linux
  4. OpenNews: Оценка способности сетевого стека Linux обрабатывать миллион пакетов в секунду
  5. OpenNews: Проект LibOS развивает вариант ядра Linux с сетевым стеком в форме библиотеки
  6. OpenNews: Intel представил сокращённый вариант сетевого стека для Linux
Лицензия: CC-BY
Тип: Программы
Ключевые слова: quic, udp, valve, socket, tcp, game, steam
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.6, Андрей (??), 22:06, 31/03/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +1 +/
    > TCP-подобных коммуникаций поверх UDP

    SCTP наборот.

    > GameNetworkingSockets реализует поверх UDP похожий на TCP протокол, обеспечивающий установку соединения, но ориентированный на передачу сообщений вместо потоков.

    Странно, а здесь получается, что скорее SCTP.

     
     
  • 2.7, Андрей (??), 22:07, 31/03/2018 [^] [ответить]    [к модератору]
  • +/
    наоборот*
     
  • 2.8, anonymous (??), 22:55, 31/03/2018 [^] [ответить]    [к модератору]
  • –1 +/
    Похоже под "TCP-подобных коммуникаций" подразумевалась гарантия доставки, но не очередность. Как раз таки их собственная работа, подобная SCTP.
     
  • 1.9, Аноним (-), 23:17, 31/03/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +7 +/
    Всё что угодно приходится делать, но не впиливать SCTP в винду.
     
     
  • 2.16, Аноним (-), 05:30, 01/04/2018 [^] [ответить]    [к модератору]
  • +/
    Если бы проблема только в винде была. SCTP умер из-за миллионов г%внороутеров в интернете, не умеющих NAT для него.
     
  • 2.18, anomymous (?), 09:26, 01/04/2018 [^] [ответить]    [к модератору]  
  • +/
    1) Гуглим sctp vulnerability.
    2) Понимаем, что лучше велосипед.
     
     
  • 3.28, anonymous (??), 13:54, 01/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Дело не в уязвимостях, их пофиксят Сложность в том, что надо взять и разом обно... весь текст скрыт [показать]
     
     
  • 4.33, anomymous (?), 21:47, 01/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Их за 10 лет столько было именно в SCTP, что это лучше не трогать. Даже палочкой.
     
  • 4.38, nuclight (??), 01:42, 04/04/2018 [^] [ответить]    [к модератору]  
  • +/
    И тут, ВНЕЗАПНО, основные реализации SCTP умеют инкапсулироваться в UDP именно для решения этой проблемы.
     
  • 2.24, Аноним (-), 12:54, 01/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Давно есть юзерленд стек под всех ОС включая винду https://github.com/sctplab/usrsctp
    и там есть поддержка sctp over udp
     
  • 2.41, Аноним (-), 20:38, 07/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Ну так убеди MS это сделать Во все реально используемые версии винды и прочие м... весь текст скрыт [показать]
     
  • 1.10, Аноним (-), 23:18, 31/03/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Подобного добра существует достаточно Вот, например, http udt sourceforge net... весь текст скрыт [показать]
     
  • 1.11, YetAnotherOnanym (ok), 00:19, 01/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Ну, пусть будет. Можбыть для какой-нить телеметрии или месседжинга сгодится - там тоже "message instead of stream"
     
     
  • 2.12, Crazy Alex (ok), 00:33, 01/04/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Откровенно говоря, оно почти везде лучше Даже если файл грузишь часто выгодно д... весь текст скрыт [показать]
     
     
  • 3.13, fail_ (?), 02:54, 01/04/2018 [^] [ответить]     [к модератору]  
  • +/
    имо, из-за текстовки cr lf и конец пакета , а то конгресс, немцы какие-то ... весь текст скрыт [показать]
     
  • 3.14, Аноним (-), 02:54, 01/04/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Да, действительно, наверное, там не только дороги, но сети получше))
     
     
  • 4.30, Crazy Alex (ok), 15:56, 01/04/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Да не то чтобы. Те же США славятся своим засилием DSL до сих пор. ну и прочее - мобильные сети, вайфай и прочее, кажется, только в последние лет пять стали более-менее надёжными
     
     
  • 5.31, YetAnotherOnanym (ok), 18:36, 01/04/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Хочу засилье DSL в историческом центре города-миллионника, в котором имею удовол... весь текст скрыт [показать]
     
  • 1.15, Вонни Бух и Потчк (?), 05:03, 01/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Вот еще

    https://github.com/wangyu-/UDPspeeder
    https://github.com/wangyu-/udp2raw-tunnel

     
  • 1.17, Аноним (-), 07:52, 01/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Так вроде же ENet всех победил?..
     
     
  • 2.26, srt (?), 13:30, 01/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    а еще udt или srt, но в целом не мешает писать новые реализации быстрой передачи
    касательно новости - фуфло, ничего хуже не встречал
     
  • 2.42, Аноним (-), 03:21, 08/04/2018 [^] [ответить]    [к модератору]  
  • +/
    > Так вроде же ENet всех победил?..

    Valve обнаружили в нем фатальный недостаток...

     
  • 1.19, Аноним (-), 09:30, 01/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    QUIC от гугла, µTP от битторрента, GameNetworkingSockets от валв. Кто следующий [пере]изобретёт новый протокол поверх UDP?
     
     
  • 2.27, srt (?), 13:32, 01/04/2018 [^] [ответить]    [к модератору]  
  • +/
    кто не может воспользоваться гуглом что бы найти готовые решения, тот начинает изобретать
    на самом деле разных протоколов поверх UDP много, только не все до опеннета доходят
     
  • 2.35, Crazy Alex (ok), 11:32, 02/04/2018 [^] [ответить]    [к модератору]  
  • +/
    Тот, кому потребуется ещё какая-то специфика, вестимо
     
  • 1.20, Аноним (-), 09:40, 01/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Кстати Linux системы чуть прибавили в Steam:
    http://store.steampowered.com/hwsurvey
     
     
  • 2.22, Аноним (-), 10:22, 01/04/2018 [^] [ответить]    [к модератору]  
  • +/
    Китайцам поднадоел пубг.
     
  • 1.32, XoRe (ok), 19:50, 01/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Штука специально заточена под игрушки.
     
  • 1.34, рара Кен (?), 10:32, 02/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    хром лучше всех! (грузит) Google поработал над скоростью на переходе от 64 к 65 версии! а уже 67
     
  • 1.36, Аноним (-), 15:47, 02/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    А по поводу лицензии брюзжать никто не будет?Неужели жплфанатики взрослеют?
     
     
  • 2.45, Аноним (-), 11:54, 09/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Тебе должно быть стыдно.
     
  • 1.37, IY (?), 17:17, 03/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >>применяются цифровые подписи на базе эллиптических кривых Ed25519

    никто даже не вспомнил, что в ИБ-сообществе от них уже отказались

     
  • 1.39, Дебилушка (?), 18:24, 05/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Вальвэ делает всё что угодно, но только не борется с читерами. Судя по их количеству и огромному рынку платных читерских-программ, что такое защита от читеров Вальвэ не знает вообще, зато протоколы с защитой и шифрованием у их якобы очень хорошие, и нам даже какие то достижения показывают, но все их теоретические изыскания легко разбивается о жестокую практику реального мира.
     
     
  • 2.40, Читер (?), 18:40, 05/04/2018 [^] [ответить]    [к модератору]  
  • +/
    Ну так читеры по карте летать не могут, здоровье у них не бесконечное и так далее. А вот как бы ты защитил игру от AimBot? Патруль вот сделали, но у тебя наверное есть крутые идеи, выскажи их.
     
     
  • 3.44, Аноним (-), 03:53, 08/04/2018 [^] [ответить]     [к модератору]  
  • +/
    В vendetta online круто защитились Дали aimbot всем и каждому И попробовали сд... весь текст скрыт [показать]
     
  • 2.43, Аноним (-), 03:34, 08/04/2018 [^] [ответить]     [к модератору]  
  • +/
    А представляешь, половина всяких ботов и проч - делают все то же самое что и жив... весь текст скрыт [показать]
     
     
  • 3.46, Гентушник (ok), 12:59, 09/04/2018 [^] [ответить]    [к модератору]  
  • +/
    В итоге боты будут играть с ботами, а люди останутся не у дел :)
     

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


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