Как стать автором
Обновить
21
0

Turing complete Researcher/Hacker

Отправить сообщение

42-й протокол жизни, вселенной и всего такого: «напутственная речь»

Время на прочтение 10 мин
Количество просмотров 13K

В свете приближающегося конца мне посоветовали написать несколько слов.


Come with me, young man, and I will take you to worlds you have never seen. (Limbo & Doctor Who)

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


Детство


Воспоминания из раздела "ненависть"


Представьте, что вам сейчас 2.5-4.9 года. Основное время вы проводите в квартире у бабушки с дедушкой (по линии отца; квартира родителей находится в этом же доме, но на другом этаже). Вы любите исследовать все вокруг, и особенно любите изучать работу сложных устройств: электронных приборов (радио, кассетные плееры), механизмов (часы), … Любите чинить их, когда они сломаются, либо чинить их, когда вы сами их сломаете при очередной разборке-сборке. [возможно, этому послужило одно событие в жизни — про него расскажу ниже]. А еще больше любите из нескольких устройств собирать одну вещь, которая вам нужна, либо улучшать одно при помощи разборки на запчасти другого.


И при этом вас "фаршируют" такими книгами как "истории Геракла" и другими детскими/недетскими книгами, которые вы начинаете ненавидеть. Ненавидите из-за того, что вся информация, которая содержится в этих книгах — бесполезна для вас, и при этом вас заставляют "поглощать" ее в большом количестве. Причем других книг в вашем окружении нет, и вы начинаете считать, что все существующие книги наполнены только бесполезной информацией. И когда вы в первый раз в жизни спрашиваете "Что такое библиотека?", и вам отвечают "место, где хранится книги"… (представьте "пожарных" из "451 градус по Фаренгейту")


Положительная сторона


А теперь вопрос: как вам удавалось разбираться в сложных устройствах, чинить их, пересобирать их — без чтения "технической литературы"? Единственное, что вам было доступно — это схемы печатных плат. На "ближайших людей" рассчитывать не приходилось, их специальности: "повар", "модельер" + экономическое образование.

Ответ...
Всего голосов 48: ↑42 и ↓6 +36
Комментарии 58

LLTR Часть 2: Алгоритм определения топологии сети по собранной статистике

Время на прочтение 46 мин
Количество просмотров 11K

Link Layer Topology Reveal logo




Q: Что у нас есть?
A: Статистика, собранная с хостов.


Q: Что мы хотим получить?
A: Топологию сети! Точнее, нужно построить правильную цепочку пиров (хостов) для RingSync.


Нам предстоит придумать алгоритм, который вначале превратит статистику в топологию сети, а затем – в цепочку пиров. Пока алгоритм выглядит так:



статистика –-[*магия*]--> топология сети --[*магия*]--> цепочка пиров

Всего голосов 40: ↑40 и ↓0 +40
Комментарии 15

LLTR Часть 1: Первые шаги в OMNeT++ и INET

Время на прочтение 24 мин
Количество просмотров 12K

OMNeT++ (Objective Modular Network Testbed in C++) Discrete Event Simulator – это модульная, компонентно‑ориентированная C++ библиотека и фреймворк для дискретно‑событийного моделирования, используемая прежде всего для создания симуляторов сетей. Попросту говоря это “симулятор дискретных событий”, включающий: IDE для создания моделей, и сам симулятор (GUI).


INET Framework – “библиотека” сетевых моделей для OMNeT++.


КДПВ: LLTR Часть 1 – OMNeT++ 5 the Open Simulator :: LLTR Model :: for freedom use


Полная версия GIF (15.7 MiB)


В предыдущих частях…


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 шт. }

Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 3

LLTR Часть 0: Автоматическое определение топологии сети и неуправляемые коммутаторы. Миссия невыполнима?

Время на прочтение 21 мин
Количество просмотров 13K
КДПВ: LLTR Часть 0 - пневмотранспорт из Футурамы


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


Начну с причины возникновения LLTR (Link Layer Topology Reveal).


У меня был один “велосипед” - синхронизатор больших файлов “на полной скорости сети”, способный за 3 часа целиком залить 120 GiB файл по Fast Ethernet (100 Мбит/с; 100BASE‑TX; дуплекс) на 1, 10, 30, или > 200 ПК. Это был очень полезный “велосипед”, т.к. скорость синхронизации файла почти не зависела от количества ПК, на которые нужно залить файл. Все бы хорошо, но он требует знания топологии сети для своей работы.


Подробнее в статье про него:

Ладно, а зачем понадобилось “гонять” 120 GiB файл по сети на такое количество ПК?

Этим файлом был VHD с операционной системой, программами, и т.п. Файл создавался на мастер‑системе, а затем распространялся на все остальные ПК. VHD был не только способом доставки системы на конечные ПК, но и давал возможность восстановления исходного состояния системы при перезагрузке ПК. Подробнее в статье: “Заморозка системы: история перехода с EWF на dVHD”.



Можно продолжить цепочку дальше, но на этом я прервусь.


Существующие протоколы обнаружения топологии канального уровня (LLDP, LLTD, CDP, …) для своей работы требуют соответствующей поддержки их со стороны всех промежуточных узлов сети. То есть они требуют как минимум управляемых свитчей, которые бы поддерживали соответствующий протокол. На Хабре уже была статья, как используя эти протоколы, “определить топологию сети на уровнях 2/3 модели OSI”.


Но что же делать, если промежуточные узлы – простые неуправляемые свитчи?


Если интересно как это можно сделать, то добро пожаловать под кат. Обещаю наличие множества иллюстраций и примеров.


{ объем изображений: 924 KiB; текста: 69 KiB; смайликов: 9 шт. }

Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 13

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность