Как украсть control plane или приготовление EIGRP для Juniper

Автор: admin от 15-07-2015, 22:01, посмотрело: 504

Как известно, SDN первоначально определялось как возможность физического разделения control и data plane. Хочу показать реализацию этой идеи без openflow и специальных контроллеров. В качестве control plane будет выступать отладочная плата ODROID-C1 с IOS запущеным внутри Dynamips. Как data plane выступает Juniper EX-2200.

На плате будет работать протокол EIGRP, строить таблицу маршрутизации, а коммутатор на основании этой таблицы пересылать данные.

Сначала объясню почему такой выбор:

  • EIGRP широко известный протокол, полноценно реализованый только на устройствах cisco

  • Juniper — т.к. второй по популярности вендор

  • Juniper EX-2200 — самая младшая модель, так что метод будет работать со всеми более старшими

  • ODROID-C1 был в своё время выбран из-за «честной» 1G сетевой карты (можно использовать любой сервер с linux).

  • EX-2200 — по ширине меньше юнита, и в свободное место полностью помещается отладочная плата, так что вся конструкция помещается в 1U и не требует дополнительного места в стойке



  • Как это будет работать в 2х словах:
    есть сеть построеная на оборудовании cisco, протокол маршрутизации EIGRP. Добавляем коммутатор Juniper EX-2200, соединяем его так «как нужно»(т.е. как боевой маршрутизатор). В Коммутатор включаем отладочную плату с Dynamips, перенаправляем в неё весь служебный трафик протокола маршрутизации. Виртуальная cisco строит таблицу маршрутизации и через redistribute отдаёт её коммутатору. В итоге весь трафик с данными будет пересылаться по таблице маршрутизации построенной протоколом EIGRP.

    Категория: Системное администрирование, Сетевые технологии

     

    «И» вам не «и» краткое! О важности нормализации Unicode

    Автор: admin от 15-07-2015, 20:38, посмотрело: 378

    «И» вам не «и» краткое! О важности нормализации Unicode

    За последние полгода интернет просто наводнила «буква» «и». Я встречал ее на новостных сайтах, в мессенджерах, на хабрахабре и geektimes. «О чем вообще речь?» — спросите вы — «Я вижу обычную букву й!». Вам повезло. Я вижу ее так:
















    «И» вам не «и» краткое! О важности нормализации Unicode
    «И» вам не «и» краткое! О важности нормализации Unicode
    «И» вам не «и» краткое! О важности нормализации Unicode
    «И» вам не «и» краткое! О важности нормализации Unicode
    «И» вам не «и» краткое! О важности нормализации Unicode
    Если вы из тех счастливчиков, у кого буква «и» выглядит так же, как и «настоящая» «й», вот вам фокус: скопируйте ее (букву «и») в блокнот, поставьте курсор в конец буквы и нажмите backspace. Магия, отвал башки просто!
    Как же так получается?

    Графемы, глифы, code points, компоновка и байты


    Очень краткое введение:
    Графема — то, что мы привыкли называть буквой в смысле единицы текста. Глиф является единицей графики, и может графически представлять саму графему или же ее часть (например, различные диактрические знаки: ударения, умлауты, надстрочное двоеточие у буквы ё и т.д.).
    Code Point — то, как записывается текст в представлении Unicode. Одна графема может записываться разными code points.
    Code Points кодируются различным байтовым представлением в завимости от стандарта: UTF-8, UTF-16, UTF-32, BE, LE…
    Языки программирования, как правило, работают с code points; для нас, людей, привычно мыслить глифами.

    Давайте же наконец разберемся с нашей буквой и. Что же в ней такого особенного?
    Эта буква представляет из себя одну графему («и» краткое), но записана она двумя code points:

    U+000438 CYRILLIC SMALL LETTER I
    U+000306 COMBINING BREVE

    Если вы проделали фокус с нажатием backspace, вы как раз и стерли COMBINING BREVE, или, говоря полиграфическим языком, значок краткости над гласной.

    Обычная буква «и» краткое, которую мы все с вами привыкли набирать клавиатурой, представляет из себя композитный символ, который записывается одним code point:

    U+000439 CYRILLIC SMALL LETTER SHORT I

    Категория: Программирование » Веб-разработка

     

    Fault detection на примере определения поверхности автономной машинкой

    Автор: admin от 15-07-2015, 19:59, посмотрело: 876

    Fault detection на примере определения поверхности автономной машинкойВсем привет!

    В этой статье я расскажу про то, как мы делали автономную машинку на базе нашей ОС Embox, которая детектирует изменение типа поверхности, по которой едет.

    Так случилось, что в Новый Год у меня в руках оказалась китайская машинка на радиоуправлении. К сожалению, она не ездила. Чека из магазина у меня не было (машинка была подарком), да и, честно говоря, хотелось её разобрать и посмотреть на элементы схемы. Обычным способом схему было не достать, нужно было выпаивать. Пожалуй, в тот самый момент, когда я взялся за паяльник, я и понял, что вернуть машинку в магазин уже точно не получится. Короче говоря, всю зиму на моём подоконнике так и пылились запчасти, пока однажды мне на глаза не попалась статья от NASA про обнаружение разладки в марсоходе.

    Только представьте на минуту: где-то далеко на красной планете едет марсоход, обвешанный датчиками, по поверхности, которую едва ли можно назвать дружелюбной. Поэтому нужно следить за тем, чтобы он не перевернулся, не застрял в песках, не скатился с горки, или наоборот на нее не заехал. Как это сделать? Вот на такой непростой вопрос мне и хотелось ответить.

    Категория: Программирование, Сделай Сам

     

    Правоохранительные органы закрыли известный киберпреступный форум Darkode

    Автор: admin от 15-07-2015, 19:47, посмотрело: 836

    Правоохранительные органы США и ЕС осуществили масштабную облаву на организаторов одного из самых известных киберпреступных форумов Darkode. По информации веб-сайта известной организации Europol, им удалось произвести аресты 28 человек, связанных с Darkode, в том числе, арестован 27-летний администратор форума, известный как Mafi/Crim/Synthet!c. На текущий момент вместо стартовой страницы форума, на сайте размещено следующее уведомление.

    Правоохранительные органы закрыли известный киберпреступный форум Darkode

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

    Категория: Информационная безопасность

     

    Материалы Третьей конференции «Технологии Wolfram» (СПбГЭУ, 2015)

    Автор: admin от 15-07-2015, 19:24, посмотрело: 565

    Материалы Третьей конференции «Технологии Wolfram» (СПбГЭУ, 2015)

    9 июня 2015 года в Санкт-Петербургском государственном экономическом университете (СПбГЭУ) прошла Третья конференция «Технологии Wolfram», которую посетило более 250 человек. Мы рады представить вам ее материалы: это большое количество записей выступлений докладчиков, а также их презентации, которые вы можете скачать и подробно изучить, а также использовать все коды, приведенные в докладах, в своей работе или хобби.

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

    Категория: Программирование

     

    OpenAdAdapter — простое управление мобильной рекламой

    Автор: admin от 15-07-2015, 18:16, посмотрело: 380

    Несколько лет назад я решил, что вставлять одну рекламную сеть в мобильное приложение недостаточно эффективно и засунул несколько сетей, а этой зимой решил переписать и выложить эту разработку на github. Так и родился OpenAdAdapter.

    OpenAdAdapter — это библиотека для мобильных игр (Android и iOS, лицензия Apache 2.0). Я решил делать адаптер для игр, а не для всех приложений, чтобы API был проще. Под игрой я понимаю приложение, у которого на весь экран один GL канвас, и баннер расположен сверху или снизу. Когда баннер есть, канву надо чуть подвинуть. То есть разработчик просто говорит: покажи баннер снизу, без того, чтобы вникать как сеть Х засунуть в лайот. Многие игры разрабатываются с помощью SDK и движков типа Marmalade или Unity. Там добраться до нативной платформы и изучить все нюансы реализации колбеков, это отдельное джитсу. Кстати, как раз поэтому в OpenAdAdapter нет колбеков.

    Предполагается, что API OpenAdAdapter можно вызывать из любого потока. (Я так задумывал, но опасаюсь зарекаться). Все методы статичные.

    На данный момент поддерживаются следующие сети:

    Android

    — AdColony
    — Admob
    — AerServ
    — Chartboost
    — Heyzap
    — InMobi

    iOS

    — AdColony
    — Admob
    — AerServ
    — Chartboost
    — Heyzap
    — InMobi
    — iAd

    Категория: Программирование, Веб-разработка, Game Development, Google, Android, iOS

     

    История одного факапа или почему итеративность — это необходимое, но не достаточное условие для Agile

    Автор: admin от 15-07-2015, 17:57, посмотрело: 484

    В данной статье идет речь о итерациях, которые включают в себя все этапы разработки ПО, от зарождения идеи до выпуска релиза. Не путать с итерациями, которые используются на этапе реализации в каскадо-водопаде, план таких итераций строится на основании уже хорошо проработанного ТЗ и архитектуры, а в конце каждой итерации нет сбора обратной связи и изменения требований.

    Небольшой экскурс: молодая и небольшая компания, успешно применяющая Agile-подходы и Scrum в частности, вела всю разработку ПО одним отделом, разбитым на несколько Scrum-команд. Каждая Scrum-команда разрабатывала свой продукт и всё было хорошо.

    Категория: Программирование » Веб-разработка

     

    Быстрая и удобная генерация IL

    Автор: admin от 15-07-2015, 17:53, посмотрело: 434

    Я много раз сталкивался с задачей динамической генерации кода (например, при написании эффективного сериализатора или компилятора DSL). Это можно делать разными способами, какой из них лучший – дискуссия для отдельной статьи. По ряду причин я предпочитаю Reflection.Emit и CIL (Common Intermediate Language) и расскажу, с какими проблемами пришлось столкнуться на этом пути, а также об их решении: умной обертке над ILGenerator – GroboIL из библиотеки Graceful Emit.

    Хочу отметить при этом, что иногда встречаются ситуации, когда у нас нет большого выбора: например, при написании сериализатора необходимо иметь доступ к приватным полям, и приходится использовать IL. Кстати, известный сериализатор protobuf-net содержит несколько сотен IL-инструкций.

    Если вы ни разу не сталкивались с использованием IL-кода, то статья может показаться сложной для понимания, поскольку содержит много примеров кода с использованием IL. Для получения базовых знаний рекомендую прочитать статью Introduction to IL Assembly Language.

    Категория: Программирование

     

    Создание CloudFoundry/IBM Bluemix buildpack или веб сервис на Awk (gawk)

    Автор: admin от 15-07-2015, 16:30, посмотрело: 342

    gawk — глазеть разинув рот, таращить глаза

    Создание CloudFoundry/IBM Bluemix buildpack или веб сервис на Awk (gawk)

    Дальше никаких шуток, я действительно опишу как запустить Awk (Gawk) веб сервис на IBM Bluemix.

    CloudFoundry и созданная на его основе платформа IBM Bluemix поддерживают много разных языков программирования и веб фреймворков. Все это благодаря поддержке билдпаков (мой перевод слова buildpack). Билдпак можно рассматривать как плагин, который отвечает за установку и настройку среды выполнения приложения. Создают билдпак обычно в двух случаях.

    Категория: Программирование » Веб-разработка

     

    Удаленное включение по Mac-адресу C# (Wake On Lan)

    Автор: admin от 15-07-2015, 16:07, посмотрело: 1242

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

    • Сканирование локальной сети, получение IP-адреса, HostName, Mac-address;

    • Создание "magic packet" и отправка.


    Вот так примерно выглядит созданная программа:

    Удаленное включение по Mac-адресу C# (Wake On Lan)

    Итак, приступим к выполнению первого пункта.

    Категория: Программирование

     
    Назад Вперед