ДЛЯ ЧЕГО системному администратору свой PET-ПРОЕКТ?

Каждый админ, как на этапе погружения в сети, так и по ходу работы, сталкивается с CIDR/VLSM и расчетом масок. На сегодняшний день существует куча проверенных годами онлайн-калькуляторов, и «очередной велосипед» на этом поприще погоды не сделает. Но моя задача стояла шире: освежить знания по основам сетей и заодно прокачать навыки совместной работы с ИИ, пускай и на базовом уровне. Для меня лично этот проект послужил отличным способом привести в тонус понимание базы OSI и маршрутизации на низком уровне, а не просто по книжкам.

NetGrid Analyzer создавался в синергии с AI-ассистентом (Gemini) в рамках концепции AI-Driven Development. Стек был выбран проверенный, нативный и быстрый — Object Pascal, а в качестве среды разработки использовалась Embarcadero RAD Studio 13.1.

Путешествие получилось интересным). Выступая в роли системного архитектора, я составлял ТЗ (которое дошлифовывалось в процессе оптимизации), тестировал каскады безопасности, пограничные сценарии и проводил код-ревью. ИИ, в свою очередь, здорово помог с реализацией математического ядра, генерацией рутинного кода и Boilerplate-шаблонов.

Принципиально не хотелось использовать готовые сетевые библиотеки. Цель была — понять логику процессора и маршрутизатора до бита, поэтому весь расчет диапазонов, масок и широковещательных адресов реализован на побитовых сдвигах (bit-shifting).

В итоге получился вполне себе рабочий продукт со следующими свойствами:

• Модуль IPCalcEngine работает исключительно на беззнаковых сдвигах и масках (shl, shr, and, or, not) над UInt32 — вычисления происходят мгновенно на уровне процессора, экономя системные ресурсы;

• Приложение корректно разбирает CIDR-нотацию и рассчитывает VLSM;

• Учет особенностей RFC 1918 и RFC 3021. Для масок /31 (PtP-линки) и /32 (Single Host) утилита перестраивает вывод и убирает дублирование системных строк;

• Двухконтурная защита от переполнения. При нарезке огромных диапазонов в цикле вычислений стоит жесткое ограничение на рендеринг — 7 999 строк, что защищает RichEdit от зависания, но сохраняет 100% точность в финальном отчете. При желании ограничение можно обойти, проигнорировав предупреждение;

• Фоновое управление процессом. Очередь сообщений Windows обрабатывается через ProcessMessages, благодаря чему кнопка «Стоп» активна и позволяет в любой момент прервать ресурсоемкий расчет без перезапуска приложения;

• Интеллектуальное цветовое кодирование (Syntax Highlighting). Реализован алгоритм динамической подсветки бинарных и строковых данных для повышения читаемости отчетов;

• Добавлен экспорт готовых отчетов в текстовые форматы .doc и .rtf;

В моем случае, этот проект стал лучшим способом:

1) Доказать самому себе понимание базы OSI и маршрутизации на уровне кода.

2) Он подтвердил, что в нынешних реалиях сисадмин запросто может эффективно использовать ИИ для автоматизации и решения внутренних инфраструктурных задач.

3) Что архаичные по современным меркам инструменты разработки, на самом деле вполне живые и рабочие.

4) А проекты с нулевой коммерческой стоимостью часто обладают высокой образовательной ценностью.)

Проект создан без использования сторонних библиотек, распространяется под лицензией MIT по принципу “AS IS” (как есть — без каких-либо гарантий). Последующего обязательного развития проект не предусматривает.

📂 Исходный код проекта на GitHub 📥 Скачать готовый релиз NetGridSuite.exe (14,1 Mb) (Для корректного сохранения локальной конфигурации (автоматически создаваемого файла - config.ini) рекомендуется поместить исполняемый .exe - файл в отдельную постоянную папку на диске и запускать его оттуда с помощью ярлыка, на рабочем столе например).

Код полностью открыт, буду рад фидбеку, обсуждению, отзывам и просто новым знакомствам с коллегами по цеху.)

Кто как сам спасается от рутины с VLSM? Делитесь мнениями и опытом в комментариях!

ДЛЯ ЧЕГО системному администратору свой PET-ПРОЕКТ? | Сетка — социальная сеть от hh.ru