Главная страница « Информация « Спецкурсы «

Специальный курс «Сетевые технологии и протоколы» (Computer network technology and protocols)


Команда курса: Пономаренко Роман Евгеньевич, Егоров Владислав Игоревич и канд. физ.-мат. наук, старший научный сотрудник ИСП имени В. П. Иванникова РАН Гетьман Александр Игоревич.
Продолжительность: 18 часов лекции и 18 часов семинары.
Семестр: весенний.
Аудитория: для студентов бакалавриата (2-4 курс).
Формы отчётности: зачёт или экзамен в зависиммости от учебного плана слушателя (итог подводится по выполненным домашним заданиям, докладу, сдаче итогового испытания).
Регистрационная форма: [google-doc]
Telegram чат c актуальными сведениями о курсе: t.me/+-y0GtQNQcNAwMzky
Сайт с материалами по курсу: msu.rerand0m.ru
Таблица с баллами по курсу: [google-doc]

Аннотация


В курсе рассматриваются технологии сетевого взаимодействия и обработки сетевого трафика. Теоретическая часть курса позволяет изучить базовые термины и определения, необходимые для работы в сфере современных сетевых компьютерных технологий. В этой части курса будут рассмотрены протоколы модели tcp/ip, а также базовые механизмы обработки трафика, применимые к любому стеку протоколов. В практической части рассматриваются избранные задачи данной предметной области, такие как: обеспечение приватности и анонимности сетевого взаимодействия, сетевая адресная трансляция, эффективная обработка большого потока пакетов в различных целях и другие. В этой части курса будут рассмотрены прикладные протоколы, реализующие основные сетевые службы: DNS, DHCP, HTTP, SMTP, gRPC; протоколы, обеспечивающие защищённую передачу данных: TLS, набор протоколов IPSec; протоколы туннелирования: GRE, wireguard; протоколы, реализующие анонимные сети: tor, i2p и технологии, которые они используют: такие как проксирование (на примере socks), одноранговые сети (на примере bittorrent) и другие. В каждой теме, помимо подхода к решению той или иной проблемы будут рассмотрены сложности и ограничения, связанные с выбором конкретной архитектуры на примере конкретных протоколов. Кроме того, студенты получат практические навыки работы с сетевыми утилитами и инструментами для анализа и отладки сетевых проблем.

Тематический план курса
Темы лекций:

  1. Введение. Модели сетевого взаимодействия: Введение в курс. Обзор моделей сетевого взаимодействия. Понятие инкапсуляции, понятие протокола. Заголовки и данные. Плоскость управления и передачи данных (Control plane и Data plane).

  2. Сетевой, канальный и физический уровни модели OSI: Понятие PDU. Отличия задач, решаемых сетевым (L3) и канальным (L2) уровнями модели OSI. Механизмы обработки сетевого трафика: распознавание и разбор, копирование, пересылка данных, модификация заголовков, фрагментирование данных, разрешение сетевых адресов.

  3. Сетевой уровень модели OSI: Сетевая адресная трансляция. Способы межсетевого взаимодействия. Обзор протоколов динамической маршрутизации.

  4. Транспортный и сеансовый уровни модели OSI: Сравнение протоколов TCP и UDP. Гарантии целостности, доставки, порядка доставки. Понятие сеанса. Приоритезация, управление формой трафика.

  5. Верхние уровни модели OSI (сеансовый, представления и прикладной): Выполнение задач информационной безопасности в контексте сетей передачи данных. Реализация сетевых служб.

  6. Оверлейные сети: Обзор необходимой инфраструктуры. Варианты применения. Использование оверлейных сетей в распределённой обработке и хранении информации.

  7. Одноранговые сети: Прямое взаимодействие клиентов друг с другом. Достоинства и недостатки одноранговых сетей на примере протокола bittorrent.

Темы семинаров:

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

  2. Работа с сетевыми интерфейсами в ОС на основе Linux: Задание параметров работы канального уровня. Работа протокола ARP. Виртуальные локальные компьютерные сети (VLAN). Взаимодействие с параметрами сетевого уровня, протоколы IP и ICMP.

  3. Взаимодействие с интерфейсом сетевых сокетов ОС на основе Linux: Формирование пакетов канального, сетевого уровня средствами «сырых» сокетов. Перехват трафика.

  4. Взаимодействие с прикладными протоколами на примере DNS: Обзор структуры и схем работы протокола DNS. Реализация DNS клиента. Обзор механизмов кэширования.

  5. Применение криптографии в обработке сетевого трафика: Работа с библиотекой openssl, шифрование, генерация ключей и сертификатов.

  6. Проксирование: Обзор протоколов туннелирования в общем и проксирования в частности.

  7. Оверлейные сети: Демонстрация возможности оверлейных сетей на практике. Хостинг сайта, хостинг файла. Работа с анонимными сетями.

Литература:
1. В.Г. Олифер, Н.А. Олифер. Компьютерные сети. Принципы, технологии, протоколы
2. Д.Ф. Куроуз, К.В. Росс. Компьютерные сети. Нисходящий подход
3. Э. Таненбаум Н.Фимстер Д.Уэзеролл Компьютерные сети
4. Ran Gilagi. Network Processors

Предупреждение


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

  

© Кафедра системного программирования ВМК МГУ.

Обновлено: 16.II.2024