Рубрика «networking»

Рассмотрим метод, когда нужно быстро начать знакомить группу людей перед выступлением, конференцией, презентацией или просто знакомить людей в сообществе. Назовём его «Моделируемый нетворкинг».

Фото с запуска сообщества выпускников программы "Doing Business" ВШБ МГУ.
Фото с запуска сообщества выпускников программы "Doing Business" ВШБ МГУ.

Читать полностью »

В этом году тихо и незаметно прошёл десятилетний юбилей Международного дня IPv6. Данное событие носило скорее диагностический характер проверки готовности запуска и перехода на IPv6 в масштабах интернета. Через год состоялось более активное и помпезное мероприятие, которое можно принять за точку отсчёта и начало новой эпохи глобальных вычислительных сетей.

Сквозь тернии к IPv6 - 1


Эмблема дня запуска IPv6.Читать полностью »

Сетевые соединения X11 - 1


Есть две технологии в ИТ, которые казалось должны были исчезнуть на рубеже прошлого века, но их живучесть и удобство раз за разом отодвигает их уход со сцены. Речь идет об IPv4 и X11. Если первый из них практически во всех аспектах уступает IPv6, то преимущества Wayland, как технологии над X11 очевидны не всем. Wayland вовсе не универсален, как X Windows System, он намного более прост. Это дает ему ряд преимуществ по сравнению с иксами, но в этом же кроются его недостатки.

Если говорить о преимуществах, то это в первую очередь простота реализации и долгожданное избавление пользователей графической среды Linux от таких артефактов перерисовки, как разрывы изображения, a․ k․ a․ tearing. С этим особенно часто сталкиваются обладатели видео карт NVidia. Хватает и недостатков и противники замены X-сервера напирают на гибкость использования сетевых возможностей в различных сценариях.Читать полностью »

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

Быстрая сеть в домашней лаборатории или как я связался с InfiniBand - 1

Читать полностью »

Ядерный шелл поверх ICMP - 1

TL;DR: пишу модуль ядра, который будет читать команды из пейлоада ICMP и выполнять их на сервере даже в том случае, если у вас упал SSH. Для самых нетерпеливых весь код на github.

Осторожно! Опытные программисты на C рискуют разрыдаться кровавыми слезами! Я могу ошибаться даже в терминологии, но любая критика приветствуются. Пост рассчитан на тех, кто имеет самое приблизительное представление о программировании на C и хочет заглянуть во внутренности Linux.

В комментариях к моей первой статье упомянули SoftEther VPN, который умеет мимикрировать под некоторые «обычные» протоколы, в частности, HTTPS, ICMP и даже DNS. Я представляю себе работу только первого из них, так как хорошо знаком с HTTP(S), а туннелирование поверх ICMP и DNS пришлось изучать.Читать полностью »

Pixockets: как мы написали собственную сетевую библиотеку для игрового сервера - 1

Привет! На связи Станислав Яблонский, Lead Server Developer из Pixonic.

Когда я только пришел в Pixonic, наши игровые сервера представляли собой приложения на основе Photon Realtime SDK: многофункционального, но весьма тяжелого фреймворка. Решение это, казалось бы, должно было упростить работу с сервером. Так оно и было ― до определенного момента.

Photon Realtime привязывал нас к себе тем, что приходилось использовать его для обмена данными между игроками и сервером, ― а также привязывал к ОС Windows, поскольку может работать только на ней. Это накладывало на нас ограничения как с точки зрения runtime (среды исполнения): нельзя было изменить многие важные настройки виртуальной машины .NET, ― так и операционной системы. Мы привыкли работать с Linux-серверами, а не Windows. Кроме того, они нам обходились дешевле.

Также использование Photon било по производительности как на сервере, так и на клиенте, а при профилировании образовывалась приличная нагрузка на сборщик мусора и большое количество boxing/unboxing.

Короче говоря, решение с Photon Realtime было далеко от оптимального для нас, и давно надо было что-то с этим делать ― но всегда находились более срочные задачи, и до решения проблем с сервером руки банально не доходили.

Так как мне было интересно не только решить проблему, но и лучше разобраться в работе сети, я решил взять инициативу в свои руки и попробовать написать библиотеку самостоятельно. Но, сами понимаете, дома ― дом, на работе ― работа, в результате время на разработку библиотеки находилось только в транспорте. Однако это не помешало довести идею до реализации.

Что из этого вышло ― читайте дальше.
Читать полностью »

Социальный труд и открытое проектирование. Введение - 1

Эволюция принципов мотивации и стимулирования при разработках информационных систем и других высокотехнологичных продуктов — развивается. Кроме классических, т.е. сугубо монетарно-капиталистических форм, давно присутствуют и находят всё большую популярность альтернативные формы. Пол века назад гигант IBM в рамках своей программы «Делись» призвал к безвозмездному обмену прикладными программами для своих мейнфреймов, разработанными сторонними программистами (не из благотворительных побуждений, но это не меняет сути программы).

День сегодняшний: социальное предпринимательство, краудсорсинг, «Пишем код вместе» («Social Coding», GitHub и другие социальные сети для разработчиков), разнообразные формы лицензирования freeware Open Source проектов, биржи идей и свободный обмен знаниями, технологиями, программами.

Предлагается новый формат взаимодействия «Социальный труд и открытое проектирование» и концепция его информационного ресурса (сайта). Встречаем новый старт ап (если он действительно новый). Формула предлагаемого подхода: networking, co-working, open innovation, co-creation, сrowdsourcing, сrowdfunding, научная организация труда (НОТ), стандартизация и унификация, типизация решений, активность и нефинансовая мотивация, свободный обмен опытом и наработками copyleft, Open Source, freeware и «все-все-все».
Читать полностью »

Результаты бенчмарка сетевых плагинов Kubernetes (CNI) по сети 10 Гбит-с (обновлено: апрель 2019) - 1

Это обновление моего предыдущего бенчмарка, который теперь работает на Kubernetes 1.14 с актуальной версией CNI на апрель 2019 года.

Во-первых, хочу поблагодарить команду Cilium: ребята помогли мне проверить и исправить скрипты мониторинга метрик.

Что изменилось с ноября 2018

Вот что изменилось с тех пор (если интересно):

Flannel остается самым быстрым и простым интерфейсом CNI, но все еще не поддерживает сетевые политики и шифрование.

Romana больше не поддерживается, так что мы удалили ее из бенчмарка.

WeaveNet теперь поддерживает сетевые политики для Ingress и Egress! Но производительность снизилась.

В Calico все еще нужно вручную настраивать максимальный размер пакета (MTU) для лучшей производительности. Calico предлагает два варианта установки CNI, так что можно обойтись без отдельного хранилища ETCD:

Читать полностью »

Последние несколько лет Valve работали над улучшением качества мультиплеера в Dota 2 и CS:GO при помощи ретрансляции трафика и его переноса на свою сетевую магистраль. Это позволяет защищать игры от DoS-атак, понижает пинг и повышает качество соединения. В SDK Steamworks версии 1.44 Valve выкатили новый API, предоставляющее доступ к этой службе всем партнёрам Steam.

Разработчики теперь могут использовать сетевой API Valve для своих игр в Steam - 1
Читать полностью »

На днях прошла встреча международного комитета по стандартизации C++ в американском городе Кона. Это была не просто встреча, а feature freeze! Никакие серьёзные новые идеи больше не могут просачиваться в стандарт, остаётся лишь пара встреч на добавление предварительно одобренных вещей, исправление недочётов и устранение шероховатостей.

Ожидать ли Модули и Корутины в C++20, будет ли там быстрая библиотека для форматирования вывода, сможет ли она работать с календарями, добавили ли std::stacktrace, начнёт ли компилятор сам вызывать std::move в ряде случаев, приняли ли std::flat_map? Всё это и многое другое ожидает вас под катом.

Feature freeze C++20. Coroutines, Modules и прочее - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js