С 16 по 19 марта я проходил очное обучение у преподавателя Дмитрия Скоромнова. Заявленная тема курса — Архитектура современных компьютерных сетей на базе школы курсы-по-ит.рф. Это авторский курс с упором на теорию и фундаментальные знания, которые пригодятся всем, кто так или иначе связан с IT и инфраструктурой.
Введение
У меня большой опыт в системном администрировании. Я в этой профессии уже более 15-ти лет. При этом работаю в основном с серверами и программный обеспечением. Один человек задал мне вполне резонный вопрос, зачем я решил потратить время именно на этот курс. Я же не сетевой инженер, для которого глубокие знания сетей были бы актуальны.
Ответ лежит на поверхности. Сети — это база для всего. Всё, с чем придётся столкнуться в IT, работает на базе сетей. Поэтому я посчитал, что эти знания будут актуальны, чем бы я ни занимался. И это на самом деле так. Например, настраивая и обслуживая SIP телефонию, мне приходилось снимать дамп трафика и очень внимательно анализировать на уровне отдельных запросов и пакетов, чтобы решить проблему. Когда занимался беспроводными сетями, важно было понимать, как работает беспроводная связь и как лучше размещать точки доступа. Если настраиваешь firewall, надо, к примеру, понимать, из чего состоят сетевые пакеты и какие tcp флаги существуют, чтобы использовать их в правилах. При построении VPN сетей надо хорошо разбираться в маршрутизации.
Идею, думаю, вы поняли. Знания по сетям никогда и никому не будут лишними. Они дают базу, которую потом можно использовать в любой айтишной специализации, если, к примеру, вы захотите уйти с одного направления и заняться чем-то другим. Даже при кардинальной смене курса, к примеру, с Windows на Linux, сети будут точно так же актуальны для вас. Эти знания не будут утрачены и не окажутся невостребованными. Пройденный мной курс не был привязан к каким-то вендорам и системам. Давалась базовая теория стандартов и технологий.
Программа обучения
Программа заявлена очень широкая. Я не буду её здесь публиковать, потому что курс дорабатывается и меняется, так что программа может тоже измениться. Оставлю просто ссылку на сам курс — Углубленный курс «Архитектура современных компьютерных сетей».
Когда я увидел содержание, сразу понял, что будет полезно, так как некоторые темы я вообще не знал (физика и электротехника), а какие-то очень поверхностно (структура пакетов и дейтаграмм, анализ трафика в wireshark). При этом я понимал, что большую часть курса скорее всего знаю, так как раньше я в разном виде уже проходил обучение по сетям, но не с таким широким охватом тем.
В итоге получилось то, что я и ожидал. Большую часть информации с курса я знал. Оценил её примерно в 70%. Остальные 15-20% пришлись на восполнение пробелов в уже существующих знаниях и где-то 10-15% на полностью новую информацию. Приведу некоторые примеры, которые запомнились, того, что было для меня полностью новым.
Я не понимал, как сравнивать мощность беспроводного сигнала в dBm (дБм, децибел-милливаттах). Слышал краем уха, что там нелинейная зависимость, но не представлял даже примерно, как она измеряется. Как оказалось, зависимость там логарифмическая и разница между 20 и 30 дБм это разница в 10 раз, а не на треть, как может показаться. А между 20 дБм и -80 дБм разница вообще в 10 млрд раз по мощности сигнала. Касательно беспроводных сетей добавлю, что понимание частоты, когерентности, длины волны, амплитуды помогли понять физику работы wifi. Раньше вообще не было представления об этом.
Новой для меня была информация о прохождении физического сигнала по проводам. Понял, что такое коллизии и интерференция на физическом уровне. Понимая подобные вещи можно, к примеру, обжать патчкорд так, что любой тестер покажет его полностью исправным по всем жилам, но реальная скорость, которую он сможет обеспечить, будет в районе 20-30 мегабит. Пример подобного патчкорда был продемонстрирован на уроке. Нюанс там в расположении жил в коннекторе и длине распутанных проводов в парах. Понятно, что конкретно это вряд ли пригодится в реально жизни, скорее для шутки. Но само понимание физических процессов полезно, если вы работаете с физическими сетями.
У меня почти не было знаний по оптическим каналам связи. Когда впервые пришлось с ними столкнуться, было много проблем. SFP модули купил не те, как и разъёмы. Тогда же решил, что вообще не буду заниматься подобными вещами, оставляя это на откуп профильным специалистам. Сейчас появилось представление, как это всё устроено.
Я узнал, из чего состоит ethernet кадр, его формат, почему те или иные поля стоят на своих местах именно в том виде, как есть. Дальнейшее углубление в эту тему дало понимание того, как работает vlan, какие записи в кадр добавляются и в какое место. Почему именно в это место, а не где-то ещё. Что будет, если кадры с vlan будут ходить мимо коммутаторов без поддержки этой технологии и т.д. Раньше я настраивал vlan и в целом понимал, что это такое и для чего существует. Но на более низком уровне не было понимания, как это всё устроено.
Ну и в завершении отмечу, что мне стало полностью понятно, что показывает Wireshark. Вообще всё, до каждого поля. Например, вот на этой картинке.
Я и раньше использовал Wireshark, но очень условно, не до конца понимая, что там можно увидеть. Весь анализ трафика сводился к тому, что я мог посмотреть откуда и куда бегают пакеты. И в случае, если их аномально много, можно было понять, с каким хостом проблемы. Какого-то вдумчивого анализа содержимого я сделать не мог. Для меня это была в большей мере непонятная абракадабра.
Ещё один небольшой момент, который для себя отметил, и про который я не знал. Итоговый маршрут для трафика строится в первую очередь на основании самой длинной маски, а не дистанции (приоритета), как мне всегда казалось.
Как проходит обучение
Расскажу немного про сам формат. Обучение было небольшой группой в 18 человек. Проходило в обычной аудитории с проектором. У каждого слушателя свой рабочий стол.
На руках у всех был раздаточный материал в напечатанном виде. Он включал в себя все слайды, по которым вёл рассказ лектор. Материал не похож на типовую презентацию, где упор делается на краткое содержание и картинки. Здесь скорее формат коротких шпаргалок, где отражена самая суть. Потом удобно вернуться к какой-то теме и посмотреть определение или схему. В процессе обучения я следил за лектором по печатным материалам. Отметил для себя, что так лучше усваивается материал. Добавляется зрительная память и привязка информации к расположению на листе. Когда нужно вернуться назад и что-то посмотреть, быстрее находишь нужную информацию.
К каждой теме есть лабораторная работа и тестирование. Курс читался первый раз, распределение времени не отработано, так что в процессе обучения времени на тесты у нас не оставалось. Там довольно много заданий. Можно было после обучения их пройти.
Очный формат обучения такой объёмной темы подразумевает очень интенсивное обучение. Я буквально устал от него больше, чем от обычных своих дел. Давно так интенсивно не обучался. Дела все придётся отложить, если хотите усвоить материал. Отвлекаться нельзя, иначе теряется нить обучения, а там часто одно за другим идёт. Из этого следует, что переложить эту тему на онлайн уроки или офлайн курс не так просто. Трудно себя заставить интенсивно учиться столько времени. Лично я по себе знаю, что самый хороший эффект дают очные курсы, когда ты вынужден учиться и тебя ничего не отвлекает.
У меня в процессе обучения был форс мажор. Производство, где я приглядываю за серверами, всю пятницу обесточивали. То включали, то выключали электричество. Упсы разрядились, потом включили электричество, сервера запустились. Свет снова погас, всё рухнуло. В итоге внешняя корзина с дисками на одном из серверов перестала запускаться. На следующий день мой помощник пытался что-то сделать, а я параллельно разворачивал все бэкапы. Я уже не надеялся, что корзина запустится, но помогло чудо. Он разобрал её и тупо продул. Там несмотря на то, что помещение отдельное и закрыто, всё равно очень много пыли накопилось. Собрал и всё заработало. Переезжать не пришлось, хотя я уже часть сервисов поднял. Всё это делал параллельно с обучением и некоторые темы пропустил полностью. Так что имейте ввиду, для продуктивной работы нужно найти возможность не отвлекаться.
Заключение
Мне запомнился на обучении один момент, который случился в самом начале. Дмитрий попросил поднять руку тех, кто в первый раз на его обучение. На глазок мне показалось, что это была где-то треть слушателей. А две трети пришли уже не в первый раз, как и я. То есть людям нравится, как проходят курсы, и они готовый проходить у одного и того же преподавателя разные курсы по мере того, как он их готовит и проводит. Некоторые люди прилетели из других городов.
Это не первый мой опыт обучения в школе курсы-по-ит.рф. Я проходил ранее как очный курс MTCNA, так и онлайн. Могу порекомендовать её тем, кто интересуется темами, по которым есть курсы. У Дмитрия Скоромнова хороший опыт преподавания и нацеленность на результат. Курсы постоянно развиваются и дорабатываются, собирается обратная связь. Следующая редакция курса наверняка будет более эффективна в плане чёткости формулировок и ёмкости подаваемой информации. В том числе и я дал рекомендации, как на мой взгляд можно было бы улучшить курс и сделать его более эффективным. По идее, я попадал в целевую аудиторию. Этот курс хорошо подойдёт тем, у кого есть некоторые неполные знания, и он хочет их систематизировать и восполнить пробелы. У меня, к примеру, даже в университете, несмотря на то, что я по профильному образованию работаю, не было полноценного курса по сетям.
Отдельно отмечу, что после обучения вы получите удостоверение о повышении квалификации установленного образца с занесением в реестр Рособрнадзора, так как школа имеет государственную лицензию на образование.
"SPF модули купил не те" - наверное, всё-таки, SFP.
Добрый день, исправьте. Информация о маршруте попадает в RIB основываясь на методе LPM (longest prefix match) т.е самой длинной маской, а не самой короткой.
Т.е выбирая куда послать трафик до 10.0.0.10 между маршрутами 10.0.0.0/24 и 10.0.0.0/25, выиграет второй
А дальше по порядку:
LPM попадает в таблицу всегда первым; далее, если префикс сети одинаков, сравнивается происходжение маршрута, то есть AD источника; далее, при равенстве AD, - метрики конкретного протокола маршрутизации или метрики статического маршрута. В рамках метрики ужн зависит от реализации протоколов, плафтофрмы.
Поправка: В RIB маршруты попадают основываясь на AD (предварительно отобравшись от каждого протокола как лучшие)
Происходит это внутри каждого процесса, который соответсвует тому или иному источнику получения маршрутной информации (OSPF, BGP, Static и все такое прочее)
Каждый такой процесс затем передает свои данные в некий аналитический движок (Routing Table Manager в Cisco IOS). Результатом работы этого движка является заполненная таблица маршрутизации (Routing Information Base - RIB). На этом этапе, для решения конфликтов применяется Administrative Distance (AD). Допустим, 10.10.10.0/24 пришел из процесса OSPF и прописан статически. Обычно OSPF имеет более высокое значение AD (110 в Cisco) по сравнению со статикой (1). В этом примере "победит" статика. Важно, что в соперничестве участвуют только одинаковые префиксы.
Дальше формируется FIB из RIB. Дальше cef (cisco) и прочие алгоритмы для быстрого форвардинга транзитного трафика.
А выбор, через какой маршрут отправить трафик - начинается с анализа префикса по методу LPM.
Да, с маской я ошибся. Именно самой длинной, а не короткой.