Рубрика «Сетевые технологии» - 35

JSON-RPC? Возьмите хитрый REST - 1

Уверен, что заголовок вызвал здоровую реакцию — “ну опять началось…” Но позвольте завладеть вашим вниманием на 5-10 минут, и я постараюсь не обмануть ожидания.

Структура статьи будет такова: берется стереотипное утверждение и раскрывается “природа” возникновения этого стереотипа. Надеюсь, это позволит взглянуть на выбор парадигмы обмена данными в ваших проектах под новым углом.

Для того, чтобы была ясность в том, что такое RPC, предлагаю рассматривать стандарт JSON-RPC 2.0. C REST ясности нет. И не должно быть. Все, что нужно знать о REST — он неотличим от HTTP.

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

Операторов связи через Роскомнадзор обязуют сразу блокировать сайты, нарушающие закон о защите персональных данных - 1

Официально опубликовано подписанное 13 ноября 2019 года постановление Правительства РФ «О внесении изменения в Правила создания, формирования и ведения автоматизированной информационной системы „Реестр нарушителей прав субъектов персональных данных“. Согласно принятым изменениям, операторы связи с текущего момента обязаны блокировать сайты, содержащие информацию, нарушающую закон о персональных данных, сразу после получения по ним уведомления от Роскомнадзора.
Читать полностью »

Пишем на Go простой балансировщик - 1

Балансировщики нагрузки играют в веб-архитектуре ключевую роль. Они позволяют распределять нагрузку по нескольким бэкендам, тем самым улучшая масштабируемость. А поскольку у нас сконфигурировано несколько бэкендов, сервис становится высокодоступным, потому что в случае сбоя на одном сервере балансировщик может выбирать другой работающий сервер.

Поигравшись с профессиональными балансировщиками наподобие NGINX, я попробовал ради веселья создать простенький балансировщик. Написал я его на Go, это современный язык, поддерживающий полноценный параллелизм. Стандартная библиотека в Go имеет широкие возможности и позволяет писать высокопроизводительные приложения с меньшим количеством кода. К тому же для простоты распространения она генерирует единственный статически скомпонованный бинарник.
Читать полностью »

Мы разработали дизайн сети дата-центров, который позволяет разворачивать вычислительные кластеры размером больше 100 тысяч серверов с пиковой полосой бисекции (bisection bandwidth) свыше одного петабайта в секунду.

Из доклада Дмитрия Афанасьева вы узнаете об основных принципах нового дизайна, масштабировании топологий, возникающих при этом проблемах, вариантах их решения, об особенностях маршрутизации и масштабирования функций forwarding plane современных сетевых устройств в «плотных» (densely connected) топологиях с большим числом ECMP-маршрутов. Кроме того, Дима коротко рассказал об организации внешней связности, физическом уровне, кабельной системе и способах дальнейшего увеличения емкости.

Как масштабировать дата-центры. Доклад Яндекса - 1

— Всем добрый день! Меня зовут Дмитрий Афанасьев, я сетевой архитектор Яндекса и занимаюсь преимущественно дизайном сетей дата-центров.
Читать полностью »

Сегодня в программе: Куда еще можно применить Google Apps Script, если закончились нормальные идеи. Автоматизация работы с VPNBook через цепочку скриптов на разных языках, которые я не знаю. Недо-cURL от Mikrotik. Telegram через одно место, чтобы не оказаться в другом, самкомнадзор разрешает.
Читать полностью »

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

  • Разобраться в описаниях и спецификациях устройств шифрования
  • Отличить «бумажные» характеристики от действительно важных в реальной жизни
  • Выйти за рамки привычного набора вендоров и включить в рассмотрение любые продукты, подходящие для решения поставленной задачи
  • Задать правильные вопросы на переговорах
  • Составить тендерные требования (RFP)
  • Понять, какими характеристиками придется пожертвовать, если будет выбрана какая-то модель устройства

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

Полнофункциональный I-O реактор на голом Си - 1

Введение

I/O реактор (однопоточный цикл событий) — это паттерн для написания высоконагруженного ПО, используемый во многих популярных решениях:

В данной статье мы рассмотрим подноготную I/O реактора и принцип его работы, напишем реализацию на меньше, чем 200 строк кода и заставим простой HTTP сервер обрабатывать свыше 40 миллионов запросов/мин.

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

Бойтесь уязвимостей, воркэраунды приносящих. Часть 1: FragmentSmack-SegmentSmack - 1

Всем привет! Меня зовут Дмитрий Самсонов, я работаю ведущим системным администратором в «Одноклассниках». У нас более 7 тыс. физических серверов, 11 тыс. контейнеров в нашем облаке и 200 приложений, которые в различной конфигурации формируют 700 различных кластеров. Подавляющее большинство серверов работают под управлением CentOS 7.
14 августа 2018 г. была опубликована информация об уязвимости FragmentSmack
(CVE-2018-5391) и SegmentSmack (CVE-2018-5390). Это уязвимости с сетевым вектором атаки и достаточно высокой оценкой (7.5), которая грозит отказом в обслуживании (DoS) из-за исчерпания ресурсов (CPU). Фикс в ядре для FragmentSmack на тот момент предложен не был, более того, он вышел значительно позже публикации информации об уязвимости. Для устранения SegmentSmack предлагалось обновить ядро. Сам пакет с обновлением был выпущен в тот же день, оставалось только установить его.
Нет, мы совсем не против обновления ядра! Однако есть нюансы…
Читать полностью »

В первых двух статьях я поднял вопрос автоматизации и набросал её фреймворк, во второй сделал отступление в виртуализацию сети, как первый подход к автоматизации настройки сервисов.
А теперь пришло время нарисовать схему физической сети.

Если вы не на короткой ноге с устройством сетей датацентров, то я настоятельно рекомендую начать со статьи о них.

Все выпуски:

Описанные в этой серии практики должны быть применимы к сети любого типа, любого масштаба с любым многообразием вендоров (нет). Однако нельзя описать универсальный пример применения этих подходов. Поэтому я остановлюсь на современной архитектуре сети ДЦ: Фабрике Клоза.
DCI сделаем на MPLS L3VPN.

Поверх физической сети работает Overlay-сеть с хоста (это может быть VXLAN OpenStack'а или Tungsten Fabric или что угодно другое, что требует от сети только базовой IP-связности).

Автоматизация Для Самых Маленьких. Часть Вторая. Дизайн сети - 1

В этом случае получится сравнительно простой сценарий для автоматизации, потому что имеем много оборудования, настраивающегося одинаковым образом.

Мы выберем сферический ДЦ в вакууме:

  • Одна версия дизайна везде.
  • Два вендора, образующих две плоскости сети.
  • Один ДЦ похож на другой как две капли воды.


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

Введение

Домен-фронтинг на базе TLS 1.3 - 1
Современные корпоративные системы фильтрации контента, от таких именитых производителей как Cisco, BlueCoat, FireEye имеют довольно много общего с более мощными их собратьями — DPI системами, которые усиленно внедряются на национальном уровне. Суть работы и тех и других в том, чтобы производить досмотр входящего и исходящего интернет трафика и, на основании черных/белых списков, принимать решение о запрете интернет-соединения. А так как и те, и другие в основах своей работы полагаются на схожие принципы, то и способы их обхода также будут иметь много общего.

Одной из технологий, позволяющей достаточно эффективно обходить как DPI, так и корпоративные системы, является технология домен-фронтинга. Ее суть состоит в том, что мы идем на заблокированный ресурс, прикрываясь другим, публичным доменом, с хорошей репутацией, который заведомо не будет блокирован ни одной системой, например google.com.

О данной технологии было написано уже достаточно много статей и приведено много примеров. Однако популярные и обсуждаемые в последнее время технологии DNS-over-HTTPS и encrypted-SNI, а также новая версия протокола TLS 1.3 дают возможность рассмотреть еще один вариант домен-фронтинга.
Читать полностью »


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