Я продолжаю изучать Rust. Я еще много не знаю, поэтому делаю много ошибок. В прошлый раз я попробовал сделать игру Змейка. Попробовал циклы, коллекции, работу с 3D Three.rs. Узнал про ggez и Amethyst. В этот раз я попробовал сделать клиент и сервер для чата. Для GUI использовал Azul. Так же смотрел Conrod, Yew и Orbtk. Попробовал многопоточность, каналы и работу с сетью. Учел ошибки прошлой статьи и постарался сделать эту более развернутой. За подробностями добро пожаловать под кат. Читать полностью »
Рубрика «udp» - 3
Изучаю Rust: Как я UDP чат сделал c Azul
2018-12-19 в 21:28, admin, рубрики: azul, C#, css, dom, functional programming, Rust, udp, Программирование, Сетевые технологииПо пути к QUIC: что лежит в основе HTTP-3
2018-11-20 в 9:15, admin, рубрики: http, HTTP/3, IT-стандарты, QUIC, tcp, udp, Блог компании Voximplant, информационная безопасность, Разработка систем связи, Сетевые технологииНовая веха Интернет-истории начинается на наших глазах: можно считать, что HTTP/3 уже объявлен. В конце октября Mark Nottingham из IETF предложил уже определиться с названием для нового протокола, надо которым IETF корпит с 2015 года. Так вместо QUIC-подобных названий появилось громкое HTTP/3. Западные издания уже писали об этом и даже не один раз. История QUIC началась в недрах Корпорации добра в 2012 году, с тех пор только серверы Google поддерживали HTTP-over-QUIC соединения, однако время идет и вот уже Facebook начал внедрять эту технологию (7 ноября, Facebook и LiteSpeed осуществили первое взаимодействие по HTTP/3); на данный момент доля сайтов, поддерживающих QUIC – 1,2%. Наконец, рабочая группа WebRTC тоже смотрит в сторону QUIC (плюс см. QUIC API), так что в обозримом будущем у нас будут видеозвонки с реалтайм-голосом. Поэтому мы решили, что будет здорово раскрыть подробности IETF QUIC: специально для Хабра мы подготовили перевод лонгрида, расставляющего точки над i. Enjoy!
Миллион видеозвонков в сутки или «Позвони маме!»
2018-10-31 в 9:47, admin, рубрики: p2p, udp, WebRTC, Блог компании Конференции Олега Бунина (Онтико), Блог компании Одноклассники, видеозвонки, высокая производительность, Работа с видео, Разработка систем связиС точки зрения пользователя, сервисы звонков выглядят довольно просто: заходишь на страницу к другому пользователю, звонишь, он снимает трубку, вы с ним разговариваете. Снаружи кажется, что все просто, но немногие знают, как сделать такой сервис. А вот Александр Тоболь (alatobol) не только знает, но и охотно делится своим опытом.
Далее текстовая версия доклада на HighLoad++ Siberia, из которой вы узнаете:
- как работают сервисы видеозвонков под капотом;
- как красиво пробить NAT — это будет интересно и специалистам из игровой сферы, которым необходимо peer-to-peer соединение;
- как устроен WebRTC, какие протоколы в него входят;
- как можно тюнить WebRTC через BigData.
О спикере: Александр Тоболь руководит разработкой платформ Видео и Ленты в ok.ru.
Читать полностью »
Написание собственной работоспособной ОС за полгода
2018-10-15 в 22:53, admin, рубрики: Brainfuck, C, dhcp, DNS, EHCI, hardware, IPv4, OSDev, SMP, tcp, udp, usb, ненормальное программирование, Процессоры, системное программирование, Совершенный код
Предыстория
Здравствуйте! Всех категорически приветствую, сегодня хотел бы рассказать Вам о своём опыте написание работоспособной ОС под архитектуру x86.
Как-то весенней ночью у меня родилась гениальная идея — попробовать себя в написании собственной ОС, которая может позволить запускать программы, работать с устройствами, да и в общем выжимать всю мощь из Intel'овской архитектуры в своих нуждах: к примеру, для своей фабрики или чего-либо иного. Моей целью было и есть написание такой ОС, которая могла бы позволить максимальную производительность для каких-то конкретных задач, не тратя процессорное время на всяческие излишества. В основном я преследую лишь спортивный интерес, получение опыта для себя в системном программировании и написания драйверов для устройств, которые используются повсеместно. Что из этого вышло — решать вам, сразу говорю, что не надо писать комментарии про создание собственного дистрибутива линукса, и преследовал интерес написать всё «From stratch» — с нуля, дабы хорошо погрузиться в тему ОСдева. Сразу хочу выразить огромную благодарность Бенджамину Лунту и форуму OSDev, так же как их Вики. Бен помог мне разобраться с EHCI, что несомненно внесло огромный вклад в мою ОС — USB устройства, они везде! Так же передо мной стояла задача создать собственную архитектуру, удобную мне, не исключая использование стандартов ELF-файлов.Читать полностью »
LLTR Часть 1: Первые шаги в OMNeT++ и INET
2018-08-16 в 2:44, admin, рубрики: async, bag-animation, broadcast, c++, channel utilization, distributed computing, eclipse, eclipse cdt, ethernet, Git, INET Framework, IP-адрес, LLTR, Mesh-сети, model, net bitrate, OMNeT++, qt, queuing, simulation, tcl, tcl/tk, tcp, throughput, tk, udp, x64dbg, асинхронное программирование, асинхронность, жучки-пакетики, Какие еще добавить теги?, каналы, маска подсети, моделирование, протокол, реверс-инжиниринг, Сетевые технологии, симуляция, системное программирование, Хакерская ценностьOMNeT++ (Objective Modular Network Testbed in C++) Discrete Event Simulator – это модульная, компонентно‑ориентированная C++ библиотека и фреймворк для дискретно‑событийного моделирования, используемая прежде всего для создания симуляторов сетей. Попросту говоря это “симулятор дискретных событий”, включающий: IDE для создания моделей, и сам симулятор (GUI).
INET Framework – “библиотека” сетевых моделей для OMNeT++.
В предыдущих частях…
0. Автоматическое определение топологии сети и неуправляемые коммутаторы. Миссия невыполнима? (+ classic Habrahabr UserCSS)
В этой части:
- создадим “свой первый” протокол (на примере LLTR Basic);
- выберем подходящий симулятор сити для отладки протокола (и создания его модели);
- познаем тонкости настройки окружения для симулятора и его IDE (конфигурирование, компиляция, линковка, тюнинг, патчинг, игнорирование устаревшей документации; и другие англицизмы в большом количестве);
- столкнемся со всем, с чем можно столкнуться, при создании своей первой модели своего первого протокола в
не своемнезнакомом симуляторе сети; - пройдем весь путь вместе:
- от счастья, принесенного успешной (наконец!) компиляции первого проекта с пустой сетью,
- до полного погружения в эксперименты с функционирующей моделью протокола;
- tutorial, все описано в виде tutorial – мы будем учиться на ошибках – будем совершать их, и будем понимать их (природу), дабы элегантно/эффективно с ними справится;
- репозиторий (git ), в коммитах и тегах которого сохранены все шаги (“Add …”, “Fix …”, “Fix …”, “Modify …”, “Correct …”, …), от начала и до конца.
Note: дополнительная информация для читателей хаба “Mesh-сети”.
{ объем изображений: 2.2+(2.1) MiB; текста: 484 KiB; смайликов: 22 шт. }
Пишем свой протокол поверх UDP
2018-06-07 в 9:38, admin, рубрики: HLS, mpeg-dash, rtp, udp, WebRTC, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, Программирование, системное программированиеПервые прямые трансляции с места событий появились в России почти 70 лет назад и вели их из передвижной телевизионной станции (ПТС), которая внешне походила на «троллейбус» и позволяла вести эфиры не из студии. А всего лишь три года назад Periscope позволил вместо «троллейбуса» использовать мобильный телефон.
Но это приложение имело ряд проблем, связанных, например, с задержками в эфирах, с невозможностью смотреть трансляции в высоком качестве и т.д.
Еще через полгода, летом 2016, Одноклассники запустили свое мобильное приложение OK Live для стриминга, в котором постарались решить эти проблемы.
Александр Тоболь отвечает за техническую часть видео в Одноклассниках и на Highload++ 2017 рассказал про то, как писать свой UDP протокол, и зачем это может потребоваться.
Из расшифровки его доклада вы узнаете все про другие протоколы стриминга видео, какие есть нюансы, и про то, какие уловки иногда требуются.
Говорят, что надо всегда начинать с архитектуры и ТЗ — якобы без этого нельзя! Так и сделаем.
Читать полностью »
Stupidly Simple DDoS Protocol (SSDP) генерирует DDoS на 100 Гбит-с
2017-07-10 в 17:53, admin, рубрики: BCP38, BGP flowspec, ddos, IP-спуфинг, netflow, ssdp, udp, Серверное администрирование, Сетевые технологии, системное администрирование, хостинг, метки: SSDPВ мае мы поделились статистикой по самым популярным атакам с отражением. Тогда средний размер атаки SSDP был в районе 12 Гбит/с, а крупнейшая атака SSDP с отражением была такой:
- 30 Мп/с (миллионов пакетов в секунду)
- 80 Гбит/с (миллиардов бит в секунду)
- 940 тыс. IP-адресов для отражения
Всё изменилось пару дней назад, когда мы заметили необычно крупное умножение пакетов SSDP. Это достойно более тщательного расследования, поскольку атака преодолела символический рубеж в 100 Гбит/с.
График пакетов в секунду:
Как улучшить качество сети, из-за чего лагают онлайн-игры и почему лучше не использовать для стримов Wi-Fi или 4G?
2017-06-06 в 11:26, admin, рубрики: 3g, 4G, cloud gaming, Playkey, tcp, udp, wi-fi, world of tanks, Блог компании Playkey, игры, избыточность, качество сети, облачные сервисы, Сетевое оборудование, сотовая связьЛаги в играх бывают по многим причинам, но две основные, как правило: недостаточно мощный компьютер и проблемы с сетью в случае онлайн-игр.
Что мешает нормально поиграть, почему фризитлагает и как улучшить ситуацию? Универсальные советы как для игроков через облачную платформу, так и в принципе для любителей онлайн-игр на ПК — в ликбезе от Алексея Лыкова.
Алексей Лыков, технический директор Playkey: Немного матчасти. Любой трафик состоит из пакетов, пересылаемых по сети. И в зависимости от качества сети некоторые пакеты могут теряться.
В пакете идет определенный сигнал. Когда пакет теряется, то два узла, взаимодействующих между собой (например, два сетевых коммутатора: на стороне игрока и на стороне сервера онлайн-игры), должны решить проблему с потерей информации. Образно их «общение» выглядит так:
Чем больше потерь, тем больше таких запросов от получателя до отправителя.
И что в итоге? Допустим, кадр состоит из нескольких пакетов. Приходят на компьютер 10 из 10 пакетов, кадр собирается и отображается. Пользователю клёво. Но если из 10 пакетов пришло 9, то картинка собраться не может.
Или, возможно, она соберется с какими-то артефактами. Мы называем это «рассыпанием» картинки. Вот как это выглядит в одном из худших случаев:
Что же происходит в сети?
Задержка в онлайн-трансляциях с веб-камеры, бессердечная ты стерва
2017-05-10 в 10:37, admin, рубрики: latency, low-latency, tcp, udp, WebRTC, Блог компании Flashphoner, браузеры, веб-камера, видеочат, задержка, низкая задержка, онлайн-трансляция, Программирование, Разработка систем связи, метки: задержка
В данной статье мы расскажем о задержке, возникающей при проведении онлайн-трансляций с веб-камеры из браузера. Почему она возникает, как ее избежать и как сделать онлайн-трансляцию действительно трансляцией в реальном времени.
Далее мы покажем что происходит с задержкой на примере реализации WebRTC и как при использовании WebRTC удается сохранить задержку на низком уровне, пригодном для комфортного общения.Читать полностью »
Юный оператор нагрузочного сервера Titanium получил два года тюрьмы
2017-04-26 в 19:16, admin, рубрики: booter, ddos, stresser, titanium, udp, Адам Мадд, бутер, информационная безопасность, Регулирование IT-сектора, метки: booter, stresser, бутер, стрессер
Среди представителей киберпреступного мира иногда попадаются очень юные таланты, которые не просто хотят заработать деньги, но в своём возрасте обладают высоким интеллектом и недюжинными способностями к программированию. Например, британский юноша Адам Мадд (Adam Mudd) пять лет назад открыл удобный веб-сервис для запуска стресс-тестов: нагрузочный сервер (стрессер) Titanium. Cервер работал в автоматическом режиме и запускал стресс-тесты по произвольному адресу, который указал клиент. Для новых клиентов предлагалось несколько бесплатных демонстрационных сеансов. Вы могли «завалить» какой-нибудь сайт просто для теста. Но в бесплатном режиме атака длилась только 60 секунд.
Суть в том, что «стрессер» якобы не делает ничего противозаконного. Здесь не используются чужие компьютеры, как в случае с DDoS. Это обычный Linux-сервер, подключенный по толстому каналу. Его задача — максимально нагрузить сервер жертвы с помощью стандартных запросов. Но в реальности такая активность всё-таки нарушает законодательство, потому что злоумышленник ставит целью вывести из строя сервер жертвы или нарушить его работу.
Читать полностью »