Современные компьютерные сети 2025 — различия между версиями
Irinaiv (обсуждение | вклад) |
Irinaiv (обсуждение | вклад) (→Полезные ссылки) |
||
| (не показано 7 промежуточных версий этого же участника) | |||
| Строка 87: | Строка 87: | ||
* Оценка за дополнительное задание: 90 баллов | * Оценка за дополнительное задание: 90 баллов | ||
* Итого, общая максимальная оценка – 170 баллов. | * Итого, общая максимальная оценка – 170 баллов. | ||
| + | |||
| + | =Система оценивания= | ||
| + | [https://docs.google.com/document/d/12Wz3M_SF9-m_5-mKaOWjubJ1UDhkrYbC/edit?usp=drive_link&ouid=113473794213430282367&rtpof=true&sd=true Система оценивания] | ||
| Строка 93: | Строка 96: | ||
Слушатели курса получают баллы за выполнение домашних заданий (ДЗ), выступление на семинарах, грамотные задаваемые вопросы и комментарии на лекциях и семинарах. | Слушатели курса получают баллы за выполнение домашних заданий (ДЗ), выступление на семинарах, грамотные задаваемые вопросы и комментарии на лекциях и семинарах. | ||
| − | Семинары | + | * Семинары |
Семинары являются неотъемлемой и очень важной частью курса, слушатели курса записываются на семинар через обращение к преподавателю по принципу FIFO. Слушатель, записавшийся на доклад на семинаре, готовит свое выступление в виде ppt слайдов, рассчитывая свое выступление на 15 минут. После доклада слушатель отвечает на вопросы аудитории в течение 5-10 минут. За каждый качественный вопрос или важный комментарий (оценивается преподавателем на основе своего опыта) на семинаре, задающий получает 15 баллов (необходимо сообщать ФИО и группу). | Семинары являются неотъемлемой и очень важной частью курса, слушатели курса записываются на семинар через обращение к преподавателю по принципу FIFO. Слушатель, записавшийся на доклад на семинаре, готовит свое выступление в виде ppt слайдов, рассчитывая свое выступление на 15 минут. После доклада слушатель отвечает на вопросы аудитории в течение 5-10 минут. За каждый качественный вопрос или важный комментарий (оценивается преподавателем на основе своего опыта) на семинаре, задающий получает 15 баллов (необходимо сообщать ФИО и группу). | ||
Преподаватель также заслушивает выступающего и на основе своего опыта оценивает его доклад. В зависимости от качества доклада на семинаре, выступающий получает следующие баллы: | Преподаватель также заслушивает выступающего и на основе своего опыта оценивает его доклад. В зависимости от качества доклада на семинаре, выступающий получает следующие баллы: | ||
| − | |||
| − | |||
| − | |||
| − | Программа курса содержит четыре основных семинара: | + | • Отличный доклад – 120 баллов. Критерии оценки: тема доклада полностью раскрыта, проговорены основные тезисы и подкреплены доказательствами, показано глубокое владение материалом и отличное знание предмета, отличное качество выступления – без запинок, повторений, уверенно и т.п., даны четкие ответы на большую часть вопросов. |
| + | • Хороший доклад – 100 баллов. Критерии оценки: тема доклада полностью раскрыта, проговорены основные тезисы и подкреплены доказательствами, показано хорошее владение материалом и хорошее знание предмета, хорошее качество выступления – с минимальным количеством запинок, повторений и т.п., даны четкие ответы на не менее чем половину заданных вопросов. | ||
| + | • Средний доклад – 80 баллов. Критерии оценки: тема доклада частично раскрыта, материал не содержит нужного объема, показано среднее знание и владение материалом и предметом, удовлетворительное качество выступления, даны ответы на не менее чем треть заданных вопросов. | ||
| + | |||
| + | '''Программа курса содержит четыре основных семинара:''' | ||
• L1/L2 уровни 7-уровневой модели ISO/OSI. | • L1/L2 уровни 7-уровневой модели ISO/OSI. | ||
| Строка 115: | Строка 119: | ||
Для желающих получить другие оценки, выступление на семинаре является опциональным (по желанию), но крайне приветствуется. | Для желающих получить другие оценки, выступление на семинаре является опциональным (по желанию), но крайне приветствуется. | ||
| − | Домашние (практические) задания | + | ''' Домашние (практические) задания''' |
| − | Домашние задания являются закреплением лекционного материала для его лучшего усвоения и практического знакомства с сетевыми технологиями. | + | * Домашние задания являются закреплением лекционного материала для его лучшего усвоения и практического знакомства с сетевыми технологиями. |
Домашние задания (ДЗ) в курсе охватывают следующие темы: | Домашние задания (ДЗ) в курсе охватывают следующие темы: | ||
| Строка 147: | Строка 151: | ||
Выполнение дополнительного ДЗ также подразумевает выполнение всех его частей. | Выполнение дополнительного ДЗ также подразумевает выполнение всех его частей. | ||
| − | Сдача ДЗ и оценки | + | '''Сдача ДЗ и оценки''' |
ДЗ сдаются слушателями путем отправления MR в свой репозитарий на: https://studoko.atp-fivt.org Слушатели должны входить в него (на сайт) через физтеховскую почту (кнопка входа справа сверху), после чего открывать список курсов в панели сверху и выбирать Компьютерные сети, а там кнопку записаться. | ДЗ сдаются слушателями путем отправления MR в свой репозитарий на: https://studoko.atp-fivt.org Слушатели должны входить в него (на сайт) через физтеховскую почту (кнопка входа справа сверху), после чего открывать список курсов в панели сверху и выбирать Компьютерные сети, а там кнопку записаться. | ||
| Строка 169: | Строка 173: | ||
• Если слушатель выбран на устную защиту ДЗ – он должен мочь объяснить любое произведенное им действие, полученный вывод и логику работы кода, значение тех или иных функций и т.д. | • Если слушатель выбран на устную защиту ДЗ – он должен мочь объяснить любое произведенное им действие, полученный вывод и логику работы кода, значение тех или иных функций и т.д. | ||
| − | Ошибки и пересдача | + | '''Ошибки и пересдача''' |
Если в процессе проверки проверяющем найдена грубая ошибка при выполнении ДЗ, отсутствие того или иного критерия или нескольких перечисленных выше критериев, проверяющий обращается по электронной почте (при возможности в Телеграме) к слушателю, указывает ему на ошибку(и) и дает срок в два или три дня на ее устранение. Исправленная версия также подается через MR, но слушатель при этом обязан уведомить проверяющего ДЗ о подаче исправленной версии ДЗ по тому же каналу связи и убедиться, что его исправленное ДЗ взято в работу. Такое исправление допускается только один раз. | Если в процессе проверки проверяющем найдена грубая ошибка при выполнении ДЗ, отсутствие того или иного критерия или нескольких перечисленных выше критериев, проверяющий обращается по электронной почте (при возможности в Телеграме) к слушателю, указывает ему на ошибку(и) и дает срок в два или три дня на ее устранение. Исправленная версия также подается через MR, но слушатель при этом обязан уведомить проверяющего ДЗ о подаче исправленной версии ДЗ по тому же каналу связи и убедиться, что его исправленное ДЗ взято в работу. Такое исправление допускается только один раз. | ||
| Строка 182: | Строка 186: | ||
| − | + | '''Тпы ДЗ''' | |
| − | + | ДЗ бывает основным и дополнительным. Дополнительное ДЗ – это ДЗ повышенной сложности, требующее дополнительных умственных усилий, времени и творчества при его выполнении, поэтому дополнительные ДЗ обязательны для выполнения слушателям, желающим получить отличную оценку (10, 9 и 8), а также одно дополнительное ДЗ обязательно для слушателей, желающим получить хорошо с оценкой 7. Для оценок 6,5,4,3 – выполнение этих ДЗ не требуется (они не обязательны), т.е. они опциональны (по желанию). | |
| − | Обязательные ДЗ | + | '''Обязательные ДЗ''' |
Треки по оценкам отличаются набором минимально необходимых для сдачи ДЗ, чтобы данный курс по сетям был зачтен. | Треки по оценкам отличаются набором минимально необходимых для сдачи ДЗ, чтобы данный курс по сетям был зачтен. | ||
| Строка 204: | Строка 208: | ||
С «хорошистами» (7,6,5) и «троечниками» (4,3) ситуация более сложная и требует дополнительного разъяснения. В общем этим двум категориям позволительно выполнить не все ДЗ из списка, а лишь их заданную часть и таким образом набрать минимально необходимое для зачета количество баллов. | С «хорошистами» (7,6,5) и «троечниками» (4,3) ситуация более сложная и требует дополнительного разъяснения. В общем этим двум категориям позволительно выполнить не все ДЗ из списка, а лишь их заданную часть и таким образом набрать минимально необходимое для зачета количество баллов. | ||
| − | ДЗ обязательные для сдачи «троечниками» (4,3): | + | '''ДЗ обязательные для сдачи «троечниками» (4,3):''' |
• L2 сети (80 баллов); | • L2 сети (80 баллов); | ||
| Строка 215: | Строка 219: | ||
| − | ДЗ обязательные для сдачи «хорошистами» (5): | + | ''' ДЗ обязательные для сдачи «хорошистами» (5):''' |
• L2 сети (80 баллов); | • L2 сети (80 баллов); | ||
| Строка 224: | Строка 228: | ||
Итого: 580 баллов. | Итого: 580 баллов. | ||
| − | ДЗ обязательные для сдачи «хорошистами» (6): | + | ''' ДЗ обязательные для сдачи «хорошистами» (6):''' |
Градус требований постепенно повышается. | Градус требований постепенно повышается. | ||
| Строка 237: | Строка 241: | ||
| − | ДЗ обязательные для сдачи «хорошистами» (7): | + | ''' ДЗ обязательные для сдачи «хорошистами» (7):''' |
• L2 сети (80 баллов); | • L2 сети (80 баллов); | ||
| Строка 253: | Строка 257: | ||
Итого: минимум 910 баллов с вопросами. | Итого: минимум 910 баллов с вопросами. | ||
| − | Что делать если не сдано обязательное ДЗ? | + | '''Что делать если не сдано обязательное ДЗ?''' |
Это печальный сценарий, его лучше не допускать. Однако, если в силу каких-то причин слушатель не сдал полностью (и/или провалил устную защиту) какое-то одно из обязательных ДЗ в своем треке, то у него есть следующие варианты: | Это печальный сценарий, его лучше не допускать. Однако, если в силу каких-то причин слушатель не сдал полностью (и/или провалил устную защиту) какое-то одно из обязательных ДЗ в своем треке, то у него есть следующие варианты: | ||
| Строка 264: | Строка 268: | ||
| − | Что делать если обязательное(ые) ДЗ засчитано(ы) частично ? | + | '''Что делать если обязательное(ые) ДЗ засчитано(ы) частично ?''' |
Если паче чаяния, Вам зачли такое ДЗ частично (по каким-то причинам Вы не исправили свою ошибку вовремя и т.п.) и Вам не хватает баллов для получения зачета, то у Вас есть следующие варианты: | Если паче чаяния, Вам зачли такое ДЗ частично (по каким-то причинам Вы не исправили свою ошибку вовремя и т.п.) и Вам не хватает баллов для получения зачета, то у Вас есть следующие варианты: | ||
| Строка 274: | Строка 278: | ||
| − | + | '''Коэффициент ошибок''' | |
| − | |||
У всех есть право на ошибку, поэтому для каждого трека мною введены допустимые коэффициенты ошибок в баллах, покрывающие какие-то небольшие недочеты или ошибки в ДЗ. Они варьируются для разных треков (т.к. требования к отличникам и к хорошисту с 7кой выше, чем к остальным): | У всех есть право на ошибку, поэтому для каждого трека мною введены допустимые коэффициенты ошибок в баллах, покрывающие какие-то небольшие недочеты или ошибки в ДЗ. Они варьируются для разных треков (т.к. требования к отличникам и к хорошисту с 7кой выше, чем к остальным): | ||
| Строка 289: | Строка 292: | ||
Эти баллы вычитаются из суммы минимально необходимых баллов за ДЗ для зачета курса в каждом треке. Однако эти баллы не покрывают баллы за вопросы и комментарии. | Эти баллы вычитаются из суммы минимально необходимых баллов за ДЗ для зачета курса в каждом треке. Однако эти баллы не покрывают баллы за вопросы и комментарии. | ||
| − | + | '''Критерии качественности вопросов и комментариев''' | |
Оценку качества (полезности, интересности с образовательной точки зрения) вопроса или комментария преподаватель проводит на основе своего опыта. | Оценку качества (полезности, интересности с образовательной точки зрения) вопроса или комментария преподаватель проводит на основе своего опыта. | ||
| Строка 769: | Строка 772: | ||
==Полезные ссылки== | ==Полезные ссылки== | ||
| + | [https:// Система оценивания] | ||
| + | |||
| + | [https://dzen.ru/profile/editor/id/6914713ea9b3de7cf99c3859/publications?state=published Видео занятий (Дзен)] | ||
| + | |||
| + | [https://drive.google.com/drive/folders/1HoAxJPDLiDc5YiHCMokjj4IDo8_qSw7f Видео занятий (Google диск)] | ||
[https://github.com/tna0y/course-networks: Репозиторий курса частью прикладных материалов] | [https://github.com/tna0y/course-networks: Репозиторий курса частью прикладных материалов] | ||
Текущая версия на 22:15, 3 декабря 2025
Содержание
План курса
- 1) Распределенные вычисления и сети. Зачем вообще они нужны? 7-уровневая модель OSI/ISO.
Физический уровень в сети: примеры различных сред передачи, используемые трансиверы.
- 2) Канальный уровень: разновидности 802.3 и типы фреймов Ethernet. Разделение широковещательного домена и VLAN., протоколы для предотвращения петель.
- 3) Бридж и коммутатор, принципы работы.
Лабораторная работа по L2-сетям.
- 4) Семинар по L1/L2 уровням: подготовка докладов по набору тем, выступление и обсуждение.
- 5) Сетевой уровень модели OSI/ISO.
Стек TCP/IP: cравнение стека TCP/IP и модели OSI/ISO.. IPv4/IPv6 адресация, обзор заголовков и сравнение. Варианты получения (назначения) IP-адреса. Лабораторная работа по IP-адресации.
- 6) Графы – как абстракция сети. Выдержки из теории множеств и графов. Нахождение кратчайшего пути в графе – задача маршрутизации.
Лабораторная работа по графам (основное и доп. ДЗ).
- 7) Семинар по использованию различных алгоритмов нахождения оптимальных путей в графе: подготовка докладов по набору тем, выступление и обсуждение.
- 8) Введение в маршрутизацию. Классификация протоколов маршрутизации. Обзор протоколов: RIP, ISIS.
- 9) Обзор стека маршрутизации FRR. Принципы конфигурации.
Лабораторная работа по настройке маршрутизации с использованием FRR (статическая маршрутизация, ISIS).
- 10) Обзор протокола BGP. Атрибуты и NLRI. IBGP и EBGP. Выбор наилучшего (оптимального) маршрута в BGP.
Лабораторная работа – написать собственный код для простейшего BGP-спикера на goBGP, анонсировать IPv4/IPv6 префиксы, проанализировать и вывести состояние BGP FSM.
- 11) Применение BGP в ЦОД.
Лабораторная работа по конфигурации EBGP-фабрики в ЦОД на FRR.
- 12) Семинар по маршрутизации – обсуждение и сравнение докладов по различным протоколам маршрутизации.
- 13) Транспортный уровень: протоколы TCP, UDP, QUIC. Варианты и сценарии использования.
- 14) Сетевая телеметрия. Виды и варианты использования.
Лабораторная работа: написать свой коллектор для сбора статистики по протоколу BMP.
- 15) Базовая безопасность в сетях, типы основных атак на сетевую инфраструктуру. ACL и FW. Лабораторная работа по созданию ACL.
- 16) Обзор технологий туннелирования: IPinIP, GRE, VXLAN, MPLS, Segment Routing. Traffic Engineering и SDN. Дополнительная лабораторная работа.
Полезные ссылки
Чат курса Форма регистрации на курс
План ДЗ
Лабораторная работа по L2-сетям
Цель работы:
Изучить основной функционал и принципы работы бриджей (коммутаторов). Образование петель и протокол STP, использование VLAN.
Описание основного задания: 1) Используется Containerlab для создания виртуальной топологии из двух бриджей и двух хостов. Топология сети описывается в YAML-файле. Необходимо создать пользовательскую bridge-сеть в Docker, запустить контейнеры, проверить MAC-learning на бриджах (найти МАС-адреса хостов на бриджах, запустить tcpdump перед проверкой IPv4-связности между хостами, увидеть фладинг (floodng) BUM-трафика, затем увидеть адресную отправку Ethernet-фреймов,
2) Записать в отчет схему, МАС-адреса хостов, выдержки дампа с комментариями и объяснениями.
3) Сделать второй бридж, переключить на него второй хост и соединить с бриджом 1 через veth интерфейсы. Проверить работу по п.1
4) Имитировать создание петли при помощи второго veth соединения между бриджами. Увидеть broadcast-storm, отследить поведение бриджа. Записать в отчет с комментариями.
5) Включить протокол STP на обоих бриджах, найти заблокированный порт, убедиться в работоспособности бриджей и наличии ip-связности между хостами. Записать в отчет.
Дополнительное задание:
1) При помощи tcpdump найти BPDU-фреймы, скопировать их в отчет с описание структуры. Объяснить выбор root (корневого) бриджа.
2) Сымитировать отказ линка между бриджами и отследить изменение топологии. Записать в отчет с объяснением.
3) Добавить VLAN 10 и 20 на порты бриджей к хостам, на активном порту между бриджами разрешить их передачу (802.1Q).
4) Убедиться в изоляции хостов друг от друга (отсутствие IP-связности). Снять дамп-трафика при помощи tcpdump, найти поле 802.1Q, записать образец фрейма в отчет.
5) Перевести второй хост также в VLAN 10 на его бридже, убедиться в появлении IP-связности.
6) Своими словами описать сравнение поведения хостов и передачи фреймов с разными и одинаковыми VLAN
Оценка
- Оценка за основное ДЗ: 80 баллов
- Оценка за дополнительное задание: 90 баллов
- Итого, общая максимальная оценка – 170 баллов.
Система оценивания
Описание системы оценок
Слушатели курса получают баллы за выполнение домашних заданий (ДЗ), выступление на семинарах, грамотные задаваемые вопросы и комментарии на лекциях и семинарах.
- Семинары
Семинары являются неотъемлемой и очень важной частью курса, слушатели курса записываются на семинар через обращение к преподавателю по принципу FIFO. Слушатель, записавшийся на доклад на семинаре, готовит свое выступление в виде ppt слайдов, рассчитывая свое выступление на 15 минут. После доклада слушатель отвечает на вопросы аудитории в течение 5-10 минут. За каждый качественный вопрос или важный комментарий (оценивается преподавателем на основе своего опыта) на семинаре, задающий получает 15 баллов (необходимо сообщать ФИО и группу).
Преподаватель также заслушивает выступающего и на основе своего опыта оценивает его доклад. В зависимости от качества доклада на семинаре, выступающий получает следующие баллы:
• Отличный доклад – 120 баллов. Критерии оценки: тема доклада полностью раскрыта, проговорены основные тезисы и подкреплены доказательствами, показано глубокое владение материалом и отличное знание предмета, отличное качество выступления – без запинок, повторений, уверенно и т.п., даны четкие ответы на большую часть вопросов. • Хороший доклад – 100 баллов. Критерии оценки: тема доклада полностью раскрыта, проговорены основные тезисы и подкреплены доказательствами, показано хорошее владение материалом и хорошее знание предмета, хорошее качество выступления – с минимальным количеством запинок, повторений и т.п., даны четкие ответы на не менее чем половину заданных вопросов. • Средний доклад – 80 баллов. Критерии оценки: тема доклада частично раскрыта, материал не содержит нужного объема, показано среднее знание и владение материалом и предметом, удовлетворительное качество выступления, даны ответы на не менее чем треть заданных вопросов.
Программа курса содержит четыре основных семинара:
• L1/L2 уровни 7-уровневой модели ISO/OSI. • Семинар по графам и алгоритмам. • Семинар по маршрутизации. • Один дополнительный семинар.
Кроме того, для тех слушателей, кто хочет выступить с докладом, но не смог (не успел и т.п.) могут быть организованы дополнительные мини-семинары в удобное для преподавателя время при условии, что таких желающих будет не менее чем 4-5 человек.
Для получение отличных оценок (10, 9) за курс слушателям курса необходимо выступить на двух семинарах один раз выступив с отличным докладом (120 баллов), а второй с хорошим (100 баллов). Для получение отличной оценки (8) слушателям курса также необходимо выступить на двух семинарах один раз выступив с хорошим докладом (100 баллов), а второй раз - хотя бы со средним (80 баллов), но конечно приветствуется отличное или хорошее выступление.
Для желающих получить другие оценки, выступление на семинаре является опциональным (по желанию), но крайне приветствуется.
Домашние (практические) задания
- Домашние задания являются закреплением лекционного материала для его лучшего усвоения и практического знакомства с сетевыми технологиями.
Домашние задания (ДЗ) в курсе охватывают следующие темы: • L2 сети (80 баллов); • IPv6 и SLAAC (90 баллов); • Графы и алгоритмы (100 баллов за основное, 125, 195 и 100 – за дополнительные ДЗ); • Маршрутизация (статическая 60 баллов, динамическая на основе протокола RIP 80 баллов, динамическая на основе протокола ISIS – 100 баллов); • Создание BGP-спикера на GoBGP (100 баллов основное и 100 баллов дополнительное)); • EBGP маршрутизация в фабрике ЦОД (90 за основное и 120 баллов за дополнительное); • Написание коллектора телеметрии (ВМР) (100 баллов); • Фильтры (ACL) (70 баллов).
Любое ДЗ имеет одно основное задание, которое необходимо минимально выполнить для того, чтобы получить баллы за это ДЗ (чтобы оно было зачтено).
Кроме того, некоторые наиболее важные или сложные для курса ДЗ, имеют т.н. дополнительные задания: • Графы и алгоритмы – три дополнительных ДЗ (125, 195 и 100 баллов соответственно); • Создание BGP-спикера на GoBGP (100 баллов дополнительное); • EBGP маршрутизация в фабрике ЦОД (120 баллов);
После лекции по соответствующей теме преподаватель публикует ДЗ по ней. В ДЗ содержится его описание и вопросы, на которые слушателю необходимо ответить в процессе его выполнения и занести эти ответы в отчет. Также в ДЗ может быть инструкция по необходимым настройкам (однако ее наличие опционально: определяется желанием преподавателя и наличием у него времени для ее составления). При ее отсутствии слушатель должен самостоятельно разобраться с необходимыми настройками и правильно сконфигурировать те или иные устройства, чтобы задание заработало, и он смог получить ответы на заданные в ДЗ вопросы. Формат отчета по выполненным ДЗ варьируется: в зависимости от задания это может быть MD-файл, pdf или Jupiter-notebook. Также при публикации ДЗ преподаватель публикует срок его сдачи (дедлайн), в случае нарушения этого срока слушателем ДЗ будет зачитываться со штрафом в 40% от баллов за ДЗ.
Если слушатель болел в течение срока выполнения ДЗ и имеет подтверждающий документ (допуск) он в индивидуальном порядке сообщает об этом преподавателю и ему продляется срок сдачи ДЗ без штрафа на количество дней болезни, но не более 10 дней.
В качестве рабочей среды для ДЗ слушатели курса должны использовать containerlab ( https://containerlab.dev/) – никакие иные среды для эмуляции виртуальной сети не допускаются. С инсталляцией containerlab слушатель разбирается полностью сам и действует согласно инструкциями на сайте.
ДЗ могут состоять из нескольких частей, если эти части входят в состав основного ДЗ, то все они обязательны для выполнения.
Выполнение дополнительного ДЗ также подразумевает выполнение всех его частей.
Сдача ДЗ и оценки
ДЗ сдаются слушателями путем отправления MR в свой репозитарий на: https://studoko.atp-fivt.org Слушатели должны входить в него (на сайт) через физтеховскую почту (кнопка входа справа сверху), после чего открывать список курсов в панели сверху и выбирать Компьютерные сети, а там кнопку записаться.
В случае возникновения проблем с доступом необходимо писать администраторам на почту: servers@atp-fivt.org и не беспокоить преподавателя этим вопросом.
В исключительных случаях, например, при отсутствии доступа при окончании дедлайна допускается обратиться к преподавателю лично и попросить в виде исключения принять ДЗ по почте. Такое обращение от слушателя курса допускается только один раз.
Произвольное количество слушателей (по его усмотрению) выбирается преподавателем для устной сдачи-защиты ДЗ. Задача устной защиты – убедиться в том, что ДЗ сделано студентом самостоятельно и он полностью разобрался в нем, а не просто скопипастил решение у соседа или у ИИ.
Как говорилось выше, для сдачи ДЗ и получения заявленного максимального количества баллов необходимо сделать ДЗ полностью (все части, если оно состоит из частей) и в течение заданного срока, критерии оценки для признания ДЗ полностью выполненным:
• Представлен отчет в заданном формате и содержит ФИО, электронную почту и группу слушателя;
• Отчет содержит ответы на все заданные вопросы;
• Отчет содержит все необходимые подтверждающие выводы команд (например, содержание таблицы маршрутизации, МАС-таблицы, IP-адреса на интерфейсе, вывод ping/traceroute и т.д.);
• Отчет содержит все требуемые в ДЗ объяснения или выводы;
• Если в ДЗ требуется написать тот или иной код, то к отчету должен прилагаться исходник и подробное описание процедуры инсталляции, установки зависимостей и параметров запуска, а также ожидаемый вывод (иными словами, необходима полная документация), так чтобы проверяющий мог легко его запустить и проверить работоспособность;
• Код должен быть работоспособным и выполнять нужную задачу;
• Если требуется визуализация – она присутствует в отчете;
• Если ДЗ предлагает слушателю что-то придумать или предложить какой-то свой вариант, слушатель аргументированно предлагает и описывает свой вариант;
• Если слушатель выбран на устную защиту ДЗ – он должен мочь объяснить любое произведенное им действие, полученный вывод и логику работы кода, значение тех или иных функций и т.д.
Ошибки и пересдача
Если в процессе проверки проверяющем найдена грубая ошибка при выполнении ДЗ, отсутствие того или иного критерия или нескольких перечисленных выше критериев, проверяющий обращается по электронной почте (при возможности в Телеграме) к слушателю, указывает ему на ошибку(и) и дает срок в два или три дня на ее устранение. Исправленная версия также подается через MR, но слушатель при этом обязан уведомить проверяющего ДЗ о подаче исправленной версии ДЗ по тому же каналу связи и убедиться, что его исправленное ДЗ взято в работу. Такое исправление допускается только один раз.
В случае отсутствия ответа от слушателя в течении заданного срока, это ДЗ или его часть признаются несданными полностью или частично. В случае частичной незачета ДЗ (например, не сделана или не исправлена одна часть ДЗ из трех) не зачитывается эта часть, т.е. баллы за ДЗ делятся пропорционально на части (например, 90 баллов за все ДЗ, в ДЗ три части, соответственно за ДЗ выставляется 60 баллов). При полном незачете за ДЗ слушатель получает за него 0 баллов.
Полная пересдача ДЗ (например, если слушатель по каким-то причинам не исправил множество ошибок в ДЗ вовремя, не сдал ДЗ вообще или провалил устную защиту ДЗ) возможна только при наличии возможности и свободного времени у проверяющего и не гарантируется.
Поэтому рекомендация готовить ДЗ качественно и сдавать его сразу, в крайнем случае оперативно его исправлять/дорабатывать.
Тпы ДЗ
ДЗ бывает основным и дополнительным. Дополнительное ДЗ – это ДЗ повышенной сложности, требующее дополнительных умственных усилий, времени и творчества при его выполнении, поэтому дополнительные ДЗ обязательны для выполнения слушателям, желающим получить отличную оценку (10, 9 и 8), а также одно дополнительное ДЗ обязательно для слушателей, желающим получить хорошо с оценкой 7. Для оценок 6,5,4,3 – выполнение этих ДЗ не требуется (они не обязательны), т.е. они опциональны (по желанию).
Обязательные ДЗ
Треки по оценкам отличаются набором минимально необходимых для сдачи ДЗ, чтобы данный курс по сетям был зачтен.
Например, «отличники» (10,9,8) должны сделать все перечисленные выше ДЗ (основные и дополнительные, за исключением 3го дополнительного ДЗ по графам – оно опционально для всех). Кроме того, «отличникам» необходимо активно задавать качественные вопросы и делать комментарии на лекциях или семинарах: • 10: 4 вопроса на лекциях (5*4=20 баллов) и 4 на семинарах (15*4=60 баллов) • 9: 3 вопроса на лекциях (5*3=15 баллов) и 4 на семинарах (15*4=60 баллов) • 8: 3 вопроса на лекциях (5*3=15 баллов) и 3 на семинарах (15*3=45 баллов)
Вопросы по лекциям можно задавать, в случае пропуска лекции, после прослушивания ее в записи, но не позже, чем через неделю после проведения лекции. Вопросы и комментарии на семинаре «отличникам» надо задавать на семинарах, т.к. выступление на двух из них для них обязательно.
Если «отличник» по уважительной причине не смог задать нужное количество вопросов на семинарах в течение курса, то он должен обратиться к преподавателю по электронной почте (с дублированием в Телеграме) и получить индивидуальное задание для добирания нужного количества баллов. Задание будет связано с анализом и сравнением докладов на семинарах.
С «хорошистами» (7,6,5) и «троечниками» (4,3) ситуация более сложная и требует дополнительного разъяснения. В общем этим двум категориям позволительно выполнить не все ДЗ из списка, а лишь их заданную часть и таким образом набрать минимально необходимое для зачета количество баллов.
ДЗ обязательные для сдачи «троечниками» (4,3):
• L2 сети (80 баллов); • IPv6 и SLAAC (90 баллов); • Графы и алгоритмы (100 баллов за основное ДЗ); • Маршрутизация (статическая 60 баллов, динамическая на основе протокола RIP 80 баллов); • Фильтры (ACL) (70 баллов).
Итого им необходимо набрать 480 баллов для получения 4 или 3. Для меня эти оценки равнозначны, по сути, потому они имеют одно и тоже количество баллов.
ДЗ обязательные для сдачи «хорошистами» (5):
• L2 сети (80 баллов); • IPv6 и SLAAC (90 баллов); • Графы и алгоритмы (100 баллов за основное ДЗ); • Маршрутизация (статическая 60 баллов, динамическая на основе протокола RIP 80 баллов, динамическая на основе протокола ISIS – 100 баллов); • Фильтры (ACL) (70 баллов). Итого: 580 баллов.
ДЗ обязательные для сдачи «хорошистами» (6):
Градус требований постепенно повышается.
• L2 сети (80 баллов); • IPv6 и SLAAC (90 баллов); • Графы и алгоритмы (100 баллов за основное ДЗ); • Маршрутизация (статическая 60 баллов, динамическая на основе протокола RIP 80 баллов, динамическая на основе протокола ISIS – 100 баллов); • EBGP маршрутизация в фабрике ЦОД (90 баллов за основное ДЗ); • Фильтры (ACL) (70 баллов). Итого: 670 баллов.
ДЗ обязательные для сдачи «хорошистами» (7):
• L2 сети (80 баллов); • IPv6 и SLAAC (90 баллов); • Графы и алгоритмы (100 баллов за основное ДЗ плюс любое из трех дополнительных ДЗ по графам за: 125, 195 или 100 баллов – по выбору слушателя.); • Маршрутизация (статическая 60 баллов, динамическая на основе протокола RIP 80 баллов, динамическая на основе протокола ISIS – 100 баллов); • EBGP маршрутизация в фабрике ЦОД (90 баллов за основное ДЗ); • Написание коллектора телеметрии (ВМР) (100 баллов); • Фильтры (ACL) (70 баллов). Итого: минимум 870 баллов за ДЗ. Кроме того, слушателю, желающему получить 7, надо задать минимум два качественных вопроса на лекциях (или после прослушивания лекций за это начисляется 5*2=10 баллов) и также задать два вопроса или сделать два комментария на семинарах (15*2=30 баллов). Это также обязательное условие, т.к. слушатель, желающий получить 7ку, должен проявлять активность на лекциях и семинарах.
Если слушатель «хорошист», желающий получить 7ку, по уважительной причине (болезнь, необходимость работы в этот день и т.п.) не смог посетить ни один из семинаров и/или лекций (это событие крайне маловероятно, но все же), то он обращается лично к преподавателю по электронной почте (дублирование в Телеграме), предоставляет допуски (или иные подтверждающие документы) на все даты пропущенных семинаров и/или лекций и получает индивидуальное задание от преподавателя для добирания необходимых баллов за незаданные вопросы. Задания будут по анализу и сравнению сделанных на семинарах докладов. По выполнении задания и в зависимости от качества работы, преподаватель будет решать возможно ли поставить за него необходимое количество баллов, либо нет. В последнем случае слушатель получит дополнительное задание. Больше двух итераций по этим заданиям в течение курса не допускается. Преподаватель выдает эти задания в удобное для него время.
Итого: минимум 910 баллов с вопросами.
Что делать если не сдано обязательное ДЗ?
Это печальный сценарий, его лучше не допускать. Однако, если в силу каких-то причин слушатель не сдал полностью (и/или провалил устную защиту) какое-то одно из обязательных ДЗ в своем треке, то у него есть следующие варианты: • Пересдать это ДЗ (как было сказано выше это зависит от доступности преподавателя и наличия у него времени на проверку). • Выступить на семинаре с докладом либо перекрывающим несданное ДЗ по баллам, либо если доклад получился, например, хорошим или средним (100 и 80 баллов), а Вам надо 125, то добрать недостающие баллы качественными вопросами и комментариями на лекциях-семинарах. • Выполнить другое (другие) дополнительное(ые) в Вашем треке ДЗ, чтобы перекрыть несданное ДЗ по баллам. • Ничего не делать и получить незачет по курсу.
Если не сделано два обязательных ДЗ или более в течение курса – это незачет.
Что делать если обязательное(ые) ДЗ засчитано(ы) частично ?
Если паче чаяния, Вам зачли такое ДЗ частично (по каким-то причинам Вы не исправили свою ошибку вовремя и т.п.) и Вам не хватает баллов для получения зачета, то у Вас есть следующие варианты:
• Выступить на семинаре с докладом и заработать недостающие баллы. • Задать необходимое количество качественных вопросов на лекция и/или семинарах или сделать дельные/толковые комментарии по докладам Ваших товарищей на семинаре и добрать недостающие баллы. • Выполнить другое (другие) дополнительное(ые) в Вашем треке ДЗ чтобы добрать необходимые баллы. • Ничего не делать и получить незачет по курсу.
Коэффициент ошибок
У всех есть право на ошибку, поэтому для каждого трека мною введены допустимые коэффициенты ошибок в баллах, покрывающие какие-то небольшие недочеты или ошибки в ДЗ. Они варьируются для разных треков (т.к. требования к отличникам и к хорошисту с 7кой выше, чем к остальным): 10: -20 9: -25 8: -30 7: -35 6: -40 5: -45 4: -50 3: -50
Эти баллы вычитаются из суммы минимально необходимых баллов за ДЗ для зачета курса в каждом треке. Однако эти баллы не покрывают баллы за вопросы и комментарии.
Критерии качественности вопросов и комментариев
Оценку качества (полезности, интересности с образовательной точки зрения) вопроса или комментария преподаватель проводит на основе своего опыта. Перечислю лишь некоторые необходимые критерии «качественности»: • Вопрос подсвечивает какую-то нераскрытую докладчиком сторону работы устройства, его функционала, протокола и т.д. • Вопрос заставляет задуматься над какой-то новой стороной того или иного протокола, технологии и т.п. • Вопрос или комментарий раскрывает что-то новое в использовании устройства, протокола и т.п. • Комментарий дополняет рассказ докладчика, содержит интересные примеры и т.п. • Новый неожиданный взгляд на проблему или задачу, предложение нового решения. • Комментарий существенно поправляет доклад семинариста. • И т.п.
Семинар по L1/L2-уровням:
Выбрать одну из перечисленных тем (либо предложить свою) подготовить слайды на 10-15 минутный доклад, выступить с докладом, ответить на вопросы коллег. На семинар выносится 5-6 докладов по принципу FIFO. Слушатели активно участвуют в обсуждении.
Темы для докладов:
1) Эволюция Ethernet.
2) Обзор и сравнение используемых сейчас типов Ethernet.
3) Ретроспектива фреймов Ethernet.
4) Сравнение используемых сейчас в сетях ЦОД трансиверов Ethernet
5) Архитектуры современных коммутаторов
6) Эволюция бриджей
7) Плюсы и минусы использования большого широковещательного домена
8) Сравнение протоколов STP
9) Использование VLAN: за и против.
Оценка
- Оценка за отличный доклад (оценивается семинаристом): 120 баллов
- Оценка за хороший доклад (оценивается семинаристом): 100 баллов
- Оценка за средний доклад (оценивается семинаристом): 80 баллов
- За важный вопрос или комментарий ((оценивается семинаристом)) студенту начисляется 5 баллов
Лабораторная работа по IP-адресации.
Цель работы:
Изучить на практике IPv4/IPv6-адресацию, варианты назначения IP-адресов (статический, динамический). Уметь планировать IP-адресацию.
Описание задания:
В среде Containerlab собрать топологию (YAML-файл) из двух Linux-контейнеров (условный «маршрутизатор» и хост. Назначение маршрутизатора будет разобрано позднее, сейчас это устройство, выдающее динамически IP-адреса).
На хосте и «маршрутизаторе» на интерфейсах настроить статические IPv4 и IPv6-адреса. Проверить связность (ping, ping6).
Очистить конфигурацию (сделать containerlab deploy --reconfigure).
Установить на «маршрутизаторе» Open Source варианты DHCP-серверов для IPv4/v6 (н-р: isc-dhcp-server, wide-dhcpv6-server).
Сконфигурировать пулы v4/v6-адресов для выдачи хосту.
Запустить tcpdump на хосте7
Запустить DHCP-сервера на маршрутизаторе.
Настроить IPv6 ND на «маршрутизаторе» (RA).
Проверить получение IPv4-адреса на хосте. В дампе найти DHCPv4 пакеты ( DISCOVER, OFFER и др.) и приложить их в отчет.
Проверить получение IPv6-адреса на хосте. В дампе найти DHCPv6 пакеты (SOLICIT, ADVERTISE и др.) и приложить их в отчет.
Перезапустить сетевой интерфейс между хостом и «маршрутизатором». Найти в дампе RS/RA пакеты, проанализировать флаги и определить сценарий (DHCPv6/SLAAC) приложить вывод и описание в отчет.
Уметь объяснить логику получения динамического IP-адреса для IPv4 и IPv6.
Оценка
- Оценка за ДЗ: 90 баллов
Лабораторная работа по графам.
Цель работы:
Освежить знания о графах, как об абстракции сети, подумать о прикладном применении теории графов в сетях и подготовиться к теме про маршрутизацию. Применить на практике алгоритм нахождения оптимального пути к заданным графам, оценить их вычислительную сложность. В дополнительном задании необходимо найти и использовать более сложный алгоритм нахождения оптимального пути (DCLC). Работа состоит из основного и дополнительного задания.
Описание основного задания:
Задайте следующие неориентированные мультиграфы: V= {40, 60, 80, 100, 120 }, степень вершин deg (v)= {2,3,4} при этом случайным образом задайте вершины с кратными ребрами {2, 4}. Сформируйте матрицы смежности и инцидентности. Для каждого графа сформируйте матрицу весов для каждого ребра {1,10,100} со случайным распределением по ребрам. Попытайтесь их визуализировать.
Используя алгоритм Дейкстры (или иной, в этом случае обоснуйте свой выбор) просчитайте кратчайшие пути между случайными парами вершинами (например, 10, 20), отобразите кратчайший и наиболее длинный пути между этими вершинами для каждого мультиграфа, отобразите их визуально. Посчитайте вычислительную сложность алгоритма(ов) для каждого мультиграфа. Сделайте описание и выводы по этой работе в виде страницы документации.
Описание дополнительного задания
Ориентируясь на заданные мультиграфы из 1й части, предложите наиболее оптимальный вариант алгоритма (можно придумать свой), для случая задания двух весов каждому ребру (например, на основе полосы пропускания, как в первом задании, так и задержки {10, 20,30,…, 100}) Предложите возможные критерии оптимальности для выбора маршрута. Для справки: посмотрите имеющиеся Delay Constrained Least Cost (DCLC) алгоритмы. Обоснуйте свой выбор. Напишите реализацию в коде (Python, Go) и оцените его вычислительную сложность.
Подумайте, что, если нам нужно будет добавить дополнительное ограничение для маршрута (пути) на максимальное количество, ребер. Что Вы предложите, возможно ли модифицировать алгоритм из п.1? Напишите реализацию в коде (Python6 Go) и оцените его вычислительную сложность.
По пп.1 и 2 подготовить доклад (~10-15 минут) по предложенному алгоритму (почему, преимущества, недостатки, сравнение) и выступить на семинаре (см. ниже).
Оценка
- Оценка за основное ДЗ: 100 баллов
- Оценка за дополнительное задание: п1 - 100 баллов, п2 – 50 баллов, п.3 – 120 баллов за отличный доклад (оценивается семинаристом) – см. ниже.
Семинар по графам:
Студентам, выполнившие дополнительное ДЗ (пп.1-2), предлагается возможность выступить с докладом по выбранному алгоритму. Также принимаются доклады обзорного плана по сравнению различных алгоритмов, применимости тех или иных алгоритмов для нахождения пути, проблеме DCLC. Длительность выступления – не более 15 минут. На семинар выносится 5-6 докладов по принципу FIFO. Слушатели активно участвуют в обсуждении.
Оценка
- Оценка за отличный доклад (оценивается семинаристом): 120 баллов
- Оценка за хороший доклад (оценивается семинаристом): 100 баллов
- Оценка за средний доклад (оценивается семинаристом): 80 баллов
- За важный вопрос или комментарий ((оценивается семинаристом)) студенту начисляется 5 баллов
Лабораторная работа по маршрутизации
Цель работы:
На практике проработать навыки использования статической и динамической маршрутизации в окружении Containerlab. Научиться настраивать, как статическую маршрутизацию в Linux, так и динамическую: на основе алгоритма Белмана-Форда (RIPv2) и на основе link-state протокола ISIS в маршрутизирующем стеке FRR. Понять принципы их работы, сходство и различия, сопоставить c собственной реализацией алгоритма поиска оптимального пути в графе.
Статическая Dual-Stack маршрутизация
Цель работы:
Разобраться с принципом работы и настройкой статической маршрутизации в Linux.
Описание задания: 1) Собрать заданную схему сети в Containerlab (YAML-файл) с тремя маршрутизаторами (Linux-контейнерами, r1, r2, r3) в топологии треугольник.
2) Запустить ее, назначить IPv4 и IPv6-адреса согласно плана (для dummy (dum0) и eth). Включить IPv4/v6-форвардинг (sysctl -w net.ipv4.ip_forward=1; sysctl -w net.ipv6.conf.all.forwarding=1)
3) Настроить статические маршруты так, чтобы с каждого из маршрутизаторов проходил пинг (ping, ping6) и traceroute до dummy-интерфейсов (dum0) двух других.
4) Запишите выводы команд в т.ч. выводы маршрутных таблиц ядра Линукса в отчет.
5) Уметь объяснить полученные данные и выводы.
6) Разорвите один линк между маршрутизаторами r1 и r2 (ip link set dev eth1 up), проверьте еще раз пинг и traceroute между r1 и r2, найдите, что необходимо сделать, чтобы восстановить связность. Объясните свои действия и полученные результаты. Запишите их в отчет.
7) Перечислите в отчете плюсы и минусы статической маршрутизации. Добавьте ваши мысли по ее использованию в больших сетях.
8) Разобрать собранную топологию (либо удалите все статические маршруты!).
Динамическая маршрутизация на основе протокола RIPv2 и RIPng
Цель работы:
Разобраться с принципами работы протокола RIP, уметь его настраивать.
Описание задания:
1) Соберите предыдущую топологию и назначьте те же адреса из предыдущего задания (для dummy и eth). Аналогично включить v4/v6-форвардинг.
2) Установить на все три маршрутизатора FRR, включив в конфигурационном списке демонов ripd, ripngd.
3) Настроить FRR так, чтобы он анонсировал адреса интерфейса dum0 в ripd (IPv4) и в ripngd (IPv6) каждого маршрутизатору двум другим.
4) Проверить таблицу маршрутизации на каждом из маршрутизаторов (sh ip route; sh ipv6 route), убедиться в наличии адресов dummy-интерфейсов двух других маршрутизаторов.
5) Обратить внимание на метрики до каждого из dummy-интерфейсов. Описать в отчете принцип выбора кратчайшего пути до них.
6) Проверить ping/ping6 и traceroute до двух других dummy-интерфейсов на каждом из маршрутизаторов.
7) «Погасить» (ip link set dum0 down) dummy-интерфейс на одном из маршрутизаторов, найти момент времени, когда соотв. анонс исчезнет на двух других маршрутизаторах.
8) Опишите отличия RIPv2 от RIPng.
9) Ответьте на вопрос для чего в сетях используются dummy-интерфейсы?
10) Написать скрипт (Python, Go), генерирующий конфигурации FRR для RIP, RIPng, адресов (IPv4, IPv6) интерфейсов.
11) Скрипт должен подключиться к инстансам FRR в Containerlab, провижионить сгенерированные конфигурации и проверять связность от каждого инстанса к двум другим, а также выводить на экран содержимое маршрутных таблиц.
12) Выложить скрипт и документацию к нему в заданную папку вашего проекта по этому ДЗ. Если описание делается в Jupyter notebook, то прикладывать оригинальный файл, а не pdf.
13) Уметь объяснять работу протокола маршрутизации RIP.
Динамическая маршрутизация на основе протокола ISIS L2 в Dual-Stack режиме
Цель работы:
Изучить работу link-state протокола ISIS, разобраться с логикой, типом и форматом его пакетов, научиться настраивать ISIS. Описание задания: 1) Запустить предыдущую топологию из трех маршрутизаторов, настроить v4 и v6 адреса на физически (eth) и dummy (dum0) интерфейсах, включить форвадинг для IPv4/IPv6.
2) В настройках FRR закомментировать демоны ripd, ripngd и раскоментировать isisd. Перезапустить FRR.
3) Настроить ISIS L2 на каждом маршрутизаторе: задать разный параметр NET согласно плана, включить ISIS на нужных интерфейсах, на физических интерфейсах задать L2 соседство.
4) Проверить ISIS соседство на каждом маршрутизаторе, вы должны видеть двух соседей и тип соседства должен быть L2. Приложить к отчету
5) Проверьте содержимое маршрутных таблиц (IPv4, IPv6) на каждом инстансе FRR, убедитесь, что вы видите все анонсируемые другими инстансами FRR префиксы. Приложите их к отчету с комментарием, что именно вы получили.
6) Выведите на каждом инстансе FRR cодержимое LSDB (sh isis database) для v4 и v6 , приложите его в отчет, также опишите, что вы увидели и почему.
7) Опишите в отчете отличие метрик ISIS и RIP, опишите варианты метрик в ISIS. Сделайте сравнение двух протоколов по разным параметрам (включая масштабируемость), представьте свои соображения по тому какой протокол более применим в каких сетях.
8) Симулируйте обрыв одного из линков между маршрутизаторами, отметьте, как (tcpdump) и как скоро информация об этом будет известна другим маршрутизаторам. Опишите в отчете процесс распространения информации.
9) Соберите дампы всех типов пакетов ISIS и приложите к отчету с указанием для чего используется каждый тип.
10) Найдите, кто из маршрутизаторов является DIS.
11) Измените отношения соседства между r2 и r3 на р2р. Опишите в отчете разницу (различия) с broadcast соседством с подтверждающим выводом команд на FRR. Опишите вашу точку зрения, какие отношения соседства более оптимальны для использования в реальных сетях.
12) Проверьте значение MTU на интерфейсе r2 в сторону r3 и запишите его в отчет. Измените MTU до 9000. Проверьте состояние соседства. Запишите его в отчет и объясните причину изменений. Верните MTU в первоначальное значение и проверьте снова отношение соседства.
13) Кратко опишите отличия L1 ISIS от L2 ISIS.
14) Опишите, какую структуру ISIS использует алгоритм Дейкстры. Ответьте на вопрос: будут ли общие оптимальные пути как для IPv4 топологии, так и для IPv6?
14) Написать скрипт (Python, Go), генерирующий конфигурации FRR для ISIS L2 и р2р отношений соседства, и адресов (IPv4, IPv6) интерфейсов.
15) Скрипт должен подключиться к инстансам FRR в Containerlab, провижионить сгенерированные конфигурации и проверять связность от каждого инстанса к двум другим, а также выводить на экран содержимое маршрутных таблиц, отношений соседства и LSDB.
16) Выложить скрипт и документацию к нему в заданную папку вашего проекта по этому ДЗ. Если описание делается в Jupyter notebook, то прикладывать оригинальный файл, а не pdf.
17) Уметь объяснить работу протокола ISIS.
Оценка
Оценка за это ДЗ формируется из оценок за каждую часть:
- Оценка за ДЗ по статической маршрутизации – 60 баллов.
- Оценка за ДЗ по динамической маршрутизации с использованием протокола RIP – 80 баллов.
- Оценка за ДЗ по динамической маршрутизации с использованием протокола IISIS L2 – 100 баллов.
- Итого, общая максимальная оценка – 240 баллов
Комментарии к оценке
- За каждый не сделанный пункт ДЗ вычитается 5 баллов.
- За отсутствие или неработающий скрипт для ДЗ с динамической маршрутизацией дополнительно вычитается 30 баллов.
- За плохую документацию (невнятное описание, отсутствие описание параметров запуска и описание вывода и т.п.) к скрипту – вычитается 10 баллов.
- За неумение объяснить принцип работы использованных в ДЗ протоколов динамической маршрутизации вычитается полная оценка соответствующей части ДЗ.
- За несамостоятельную работу (например, использование чужого кода) также вычитается полная оценка соответствующей части ДЗ.
Лабораторная работа по основам BGP
Цель работы:
Ознакомиться с основными принципами работы BGP и его FSM в вариантах IBGP и EBGP. Для этого написать собственную реализацию BGP-спикера. Работа состоит из основного и дополнительных заданий.
Описание основного задания:
1) Используя доступные BGP библиотеки для Python/Go написать скрипт для эмуляции BGP-спикера.
2) В качестве входных параметров он должен принимать собственный BGP ASN, RID, IP-адрес BGP-пира (для простоты везде используем только IPv4) и его ASN (тут используем только IBGP – соответственно номера ASN совпадают), IPv4 адреса локального интерфейса, которые будут анонсироваться другому BGP-пиру.
3) Необходимо будет установить все mandatory BGP-атрибуты при формировании IPv4 NLRI.
4) Скрипт должен выводить (визуализировать) и сохранять: состояние сессии (FSM), формат и содержимое отправленного и принятого NLRI, значение BGP-атрибутов.
5) В качестве соседнего BGP-пира предлагается использовать FRR (два контейнера в Containerlab, на одном FRR c базовой BGP IPv4 конфигурацией. На FRR в конфигурационном файле необходимо включить bgpd (раскоментировать) и выключить (закоментировать) isisd, ripd, ripngd.
6) (IBGP), а на втором Linux-контейнере запускается ваш скрипт.
7) Проверьте BGP сессию, маршрутные таблицы с обеих сторон, приложите выводы в отчет.
8) Выложить скрипт и документацию к нему в заданную папку вашего проекта по этому ДЗ. Если описание делается в Jupyter notebook, то прикладывать оригинальный файл, а не pdf.
9) Уметь объяснить полученные результаты и работу BGP.
Описание дополнительного задания:
1) Расширьте ваш скрипт BGP-спикера для поддержки EBGP (разные ASN, дополнительные атрибуты).
2) Модифицируйте конфигурацию FRR для eBGP.
3) Проведите проверки аналогичные первому заданию и сформируйте отчет.
4) Выложить скрипт и документацию к нему в заданную папку вашего проекта по этому ДЗ. Если описание делается в Jupyter notebook, то прикладывать оригинальный файл, а не pdf.
5) Точно понимать и уметь объяснить различия между IBGP и eBGP.
Оценка
Оценка за это ДЗ формируется из оценок за каждую часть: • Оценка за основное ДЗ – 100 баллов. • Оценка за дополнительное ДЗ – 100 баллов. • Итого, общая максимальная оценка – 200 баллов
Комментарии к оценке
- За каждый не сделанный пункт ДЗ вычитается 5 баллов.
- За отсутствие или неработающий скрипт для ДЗ оно не засчитывается совсем.
- За плохую документацию (невнятное описание, отсутствие описание параметров запуска и описание вывода и т.п.) к скрипту – вычитается 10 баллов.
- За неумение объяснить полученные результаты вычитается 60 баллов.
- За несамостоятельную работу (например, использование чужого кода) ДЗ также не засчитывается.
Лабораторная работа по конфигурации IP-фабрики в ЦОД на основе EBGP
Цель работы:
Ознакомиться с основными принципами работы и конфигурации EBGP в фабрике ЦОД. Получить практическое представление о использовании EBGP, как основного протокола маршрутизации, в IP-фабриках ЦОД. Работа состоит из основного и дополнительных заданий.
Описание основного задания: 1) Собрать CLOS-топологию (YAML-файл) в Containerlab из двух Leaf, двух Spine узлов и двух клиентских узлов (Linux-контейнеры), каждый из которых подключается к своему Leaf согласно схеме.
2) Установите и запустите FRR на Leaf/Spine-узлах, настройте IPv6-адреса на них и на клиентских узлах. Раскоментируйте в списках демонов FRR bgpd и закоментируйте isisd.
3) Используя приватные номера автономных систем (BGP ASN) cконфигурируйте eBGP на Leaf и Spine (на этом этапе достаточно сконфигурировать только один Spine). Обратите внимание на необходимость конструкции route-map для передачи префиксов в случае eBGP маршрутизации между узлами. Каждый узел Leaf и Spine должен анонсировать свой loopback префикс (RID – Router ID), кроме того, Leaf должны анонсировать IPv4-префикс интерфейса до клиентского хоста.
4) На клиентских хостах сконфигурируйте маршрут по умолчанию (default route) до «своего» Leaf.
5) Проверьте состояние BGP-сессий между Leaf и Spine (show bgp ipv6 unicast summary; show bgp ipv4 unicast summary), убедитесь, что они в состоянии Established.
6) Проверьте таблицу маршрутизации на сконфигурированных узлах, убедитесь, что в ней присутствуют все анонсированные префиксы. Запишите их в отчет.
7) Проверьте количество путей от Leaf в сторону Spine b наоборот, запишите это в отчет.
8) Обратите внимание на значение BGP атрибута next hop (NH) для IPv4 и IPv6 префиксов, кратко в отчете объясните почему оно именно такое.
9) Проверьте связность между loopback адресами Leaf и Spine (ping, traceroute). Запишите результаты в отчет.
10) Проверьте связность между клиентскими хостами через фабрику (ping, traceroute), запишите результаты в отчет.
11) Напишите скрипт (Python, Go) для генерации конфигурации Leaf и Spine узлов на FRR на основе сделанного выше ручного варианта конфигурации. Скрипт должен или подключаться к инстансу FRR и передавать конфигурацию в CLI или добавлять конфигурацию в YAML-файл Containerlab и перезапускать лабную топологию с этими конфигурационными файлами.
12) Ваш скрипт должен делать все проверки из пп.4-7, отображать вывод на экране и записывать в файл с результатами.
13) Выложить скрипт и документацию к нему в заданную папку вашего проекта по этому ДЗ. Если описание делается в Jupyter notebook, то прикладывать оригинальный файл, а не pdf.
14) Знать основные принципы работы протокола BGP, наиболее используемые атрибуты, BGP best path selection process, нюансы конфигурации eBGP для фабрики в ЦОД. Уметь это рассказать и объяснить.
Описание дополнительного задания: 1) Собрать CLOS-топологию (YAML-файл) в Containerlab из двух Leaf, четырех Spine узлов (добавляется вторая плоскость Spine) и двух клиентских узлов (Linux-контейнеры), каждый из которых подключается к своему Leaf согласно схеме.
2) Настройки аналогичны основному заданию кроме того, что теперь каждый Leaf имеет eBGP сессии к четырем Spine (по два в каждой плоскости) и клиентские хосты подключаются к «своим» Leaf также по eBGP (эмулируем продакшен сценарий маршрутизации от клиентских хостов).
3) Проведите все проверки из основного задания. Дополнительно отследите увеличившееся количество путей для ECMP между Leaf/Spine запишите в отчет.
4) Модифицируйте свой скрипт для поддержки также дополнительных Spine-плоскостей.
5) Сделайте аналогичный предыдущему отчет теперь по фабрике с двумя Spine-плоскостями. Не забудьте добавить в него проверки BGP на клиентских узлах.
Оценка
- Оценка за основное ДЗ: 90 баллов
- Оценка за дополнительное задание: 120 баллов.
- Итого, общая максимальная оценка за это ДЗ: 210 баллов.
Комментарии к оценке
- За каждый не сделанный пункт ДЗ вычитается 5 баллов.
- За отсутствие или неработающий скрипт для eBGP маршрутизации дополнительно вычитается 30 баллов.
- За плохую документацию (невнятное описание, отсутствие описание параметров запуска и описание вывода и т.п.) к скрипту – вычитается 10 баллов.
- За неумение объяснить принцип работы BGP вычитается полная оценка соответствующей части ДЗ.
- За несамостоятельную работу (например, использование чужого кода) также вычитается полная оценка соответствующей части ДЗ.
Семинар по маршрутизации:
Студентам, предлагается возможность выступить с докладом по заинтересовавшим их протоколам маршрутизации, важным аспектам использования этих протоколов, различным проблемам маршрутизации или открытым вопросам для обсуждения, новым протоколам маршрутизации и т.п. Также возможны доклады по сравнению различных протоколов маршрутизации. Длительность выступления – не более 15 минут. На семинар выносится 5-6 докладов по принципу FIFO. Слушатели активно участвуют в обсуждении.
Оценка
- Оценка за отличный доклад (оценивается семинаристом): 120 баллов
- Оценка за хороший доклад (оценивается семинаристом): 100 баллов
- Оценка за средний доклад (оценивается семинаристом): 80 баллов
- За важный вопрос или комментарий ((оценивается семинаристом)) студенту начисляется 5 баллов
Дополнительная лабораторная работа по написанию собственного коллектора сбора сетевой телеметрии по протоколу ВМР
Цель работы:
Изучить протокол ВМР для сбора сontrol-plane телеметрии, сделав его практическую имплементацию.
Описание задания:
1) Написать на Python собственную реализацию ВМР-коллектора, принимающего поток BMP телеметрии от FRR.
2) Использовать топологию из основного лабораторного задания по EBGP в фабрике ЦОД. Коллектор ВМР должен запускаться на одном из клиентских хостов, а на FRR соответствующего Leaf-узла должна быть настроена поддержка ВМР: https://docs.frrouting.org/en/latest/bmp.html
3) Ваш скрипт коллектора должен также визуализировать принятые IPv4/IPv6 префиксы и состояние ВМР сессии с логированием их в файл.
15) Выложить скрипт и документацию к нему в заданную папку вашего проекта по этому ДЗ. Если описание делается в Jupyter notebook, то прикладывать оригинальный файл, а не pdf.
4) Понимать и уметь объяснить назначение телеметрии, принципы сбора control-plane телеметрии, работу ВМР и его важность для понимания происходящего в сети.
Оценка:
- Оценка за ДЗ – 100 баллов.
- Итого, общая максимальная оценка – 100 баллов
Комментарии к оценке
- За каждый не сделанный пункт ДЗ вычитается 5 баллов.
- За отсутствие или неработающий скрипт для ДЗ оно не засчитывается совсем.
- За плохую документацию (невнятное описание, отсутствие описание параметров запуска и описание вывода и т.п.) к скрипту – вычитается 10 баллов.
- За неумение объяснить полученные результаты вычитается 50 баллов.
- За несамостоятельную работу (например, использование чужого кода) ДЗ также не засчитывается.
Лабораторная работа по созданию ACL
Цель работы: Изучить варианты создания ACL на FRR и linux.
Описание задания: 1) В качестве основы использовать топология из задания по EBGP в фабрике с одной плоскостью.
2) Убедиться, что все BGP сессии установлены и между хостами есть IPv4 связность, запишите в отчет.
3) Создайте на Leaf-1 стандартный ACL, запрещающий весь трафик от хоста 1 к хосту 2, привяжите его в направлении in на интерфейс Leaf-1 в сторону хоста 1.
4) Убедитесь в том, что IP-связность между хостами отсутствует. Приложите конфигурацию и выводы команд (sh ip access-list, ping) в отчет.
5) Уберите созданный ACL c интерфейса, убедитесь, что связность между хостами восстановилась. Приложите выводы в отчет.
6) Создайте расширенный ACL на хосте 1, запрещающий ssh соединение на хост 2 при помощи IP tables, nак чтобы все другие соединения были разрешены. Приложите в отчет вывод IP tables и подтверждение невозможности установить ssh (запрещен tcp dport 22) и возможность связности по другим tcp/udp портам.
7) Создайте расширенный ACL на Spine-1, запрещающий BGP между Spine-1 и Leaf-2. Приложите к отчету подтверждающие выводы команд с Spine-1/Leaf-2.
8) Уберите созданный выше ACL, убедитесь, что BGP-сессия между Spine-1/Leaf-2 установилась.
9) Создайте ACL на Leaf, запрещающий IPv6 трафик от хоста 1 на хост 2 и примените его. Убедитесь в его работоспособности. Также убедитесь, что IPv4-связность сохранилась. Приложите подтверждающие выводы в отчет.
10) Уметь объяснить принципы организации ACL на FRR и в IP tables.
Оценка:
- Оценка за ДЗ – 70 баллов.
Комментарии к оценке
- За каждый не сделанный пункт ДЗ вычитается 5 баллов.
- За неумение объяснить полученные результаты вычитается 40 баллов.
Полезные ссылки
[https:// Система оценивания]
Репозиторий курса частью прикладных материалов