Компьютерные Сети 4 курс

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

О курсе

Курс читается для студентов 4-го курса ПМИ ФКН ВШЭ специализации "Распределенные системы" в 3 модулe.

Лектор: Пашков Василий Николаевич

Семинаристы: Никита Бегишев, Лев Хотов

Чат для объявлений и обсуждений:

ОПРОС: Форма

Правила выставления оценок за курс

Итоговая оценка складывается из 2-х компонент:

  • выполнение трех домашних практических заданий
  • оценка за письменный экзамен

Oнакопл = 3/16 * OДЗ1 + 3/16 * OДЗ2 + 6/16 * OДЗ3

Oитог = О накопл + 4/16 * Оэкз

Накопленная и итоговая оценки округляются арифметически.

Текущие результаты

Лекции

Неделя Дата Темы
1 11.01.2020 Введение в компьютерные сети. Классификация компьютерных сетей. История возникновения и развития глобальной сети Интернет. Архитектура сети Интернет. Модель OSI/ISO. Модель TCP/IP.
2 18.01.2020 Прикладной уровень. Архитектура и принципы организации сетевых приложений. Служба DNS. Электронная почта. Протоколы HTTP, FTP.
3 25.01.2020 Транспортный уровень. Службы транспортного уровня. Протокол UDP. Протокол TCP.
4 01.02.2020 Отмена лекции в связи с проведением Олимпиады "Высшая проба".
5 08.02.2020 Транспортный уровень. Управление потоком. Протоколы скользящего окна. Перегрузки. Управление перегрузками. AIMD. Max-min справедливость.
6 15.02.2020 Транспортный уровень. Управление перегрузками: алгоритмы TCP Tahoe, TCP Reno.
7 22.02.2020 [вторая пара] Сетевой уровень. IP адресация. Протоколы IPv4 и IPv6. Службы ICMP, DHCP, NAT, PAT. Принцип работы маршрутизатора.

[третья пара] Сетевой уровень. Задачи сетевого уровня. Алгоритмы маршрутизации. Маршрутизация по состоянию канала. Маршрутизация по вектору расстояний. Иерархическая маршрутизация.

8 29.02.2020 Сетевой уровень. Протоколы маршрутизации (RIP, OSPF, BGP)
9 07.03.2020 Канальный уровень. Сервисы канального уровня. Обнаружение и исправление ошибок. Адресация. MAC адрес. Протокол Ethernet. Принцип работы коммутатора. Виртуальные локальные сети (VLAN)
10 14.03.2020 Жизненный цикл web-запроса.
Сетевая безопасность. Понятие сетевой безопасности. Основные угрозы и методы защиты.
11 21.03.2020 Перспективы развития современных сетей: программно-конфигурируемые сети (SDN) и виртуализация сетевых функций.

Семинары

Неделя Дата Темы
1 11.01.2020 Отмена семинаров
2 18.01.2020 165 группа: сокеты, RFC 2616

166 группа: стек сетевых протоколов, Wireshark, механизм работы traceroute

3 25.01.2020 165 группа: Wireshark, traceroute, Docker

166 группа: сокеты, RFC 2616, Docker. Код с семинара здесь

4 01.02.2020 165 группа: Docker network, iperf, ssh tunneling, socat, socks5, private intranet

166 группа: ARP, nmap, ssh tunneling

5 08.02.2020 165 группа: никто не пришёл

166 группа: обсуждение ДЗ 1, SOCKS5 over SSH tunnel, private intranet

6 15.02.2020 165 группа: никто не пришёл

166 группа: повторное обсуждение ДЗ 1

7 22.02.2020 166 группа: перенесен на 29.02
8 29.02.2020 166 группа: 2 пары по iptables & network namespaces. Команды с семинара здесь.
9 07.03.2020 166 группа: обсуждали варианты реализации RPC с использованием голых сокетов, JSON, Protobuf, HTTP, gRPC
10 14.03.2020 166 группа: обсуждали способы организации авторизации в сетевом приложении. Пример кода для работы с JWT здесь.
11 21.03.2020

Домашние задания

Отправка работ:

Тема письма : [номер группы] – ДЗ №<N> – Фамилия Имя

Пример: [165] – ДЗ №3 – Иванов Иван

Адрес для отправки работ: computer-networks.hse@yandex.ru

Задание Жесткий дедлайн
1 Домашнее задание №1 24 февраля 23:59 MSK
2 Домашнее задание №2 15 марта 23:59 MSK
3 Домашнее задание №3 26 марта 23:59 MSK (продлен до 02 апреля 23:59 MSK)

Требования к ДЗ №2: Требования к программе:

1. Программа должна быть реализована на одном из следующих языков программирования: Python, C, C++, Java.

2. Программа должна работать в среде Linux.

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

4. Запрещено использование каких-либо готовых инструментов, реализующих парсинг GRAPHML или GML форматов.

5. Программа должна корректно обрабатывать все возможные ситуации ошибок и некорректного пользовательского ввода.

6. Привествуется использование графовых баз данных для хранения и работы с графами(список можно посмотреть, например, здесь: "Википедия: графовая база данных"), но не является обязательным.


В репозитории должен присутствовать README.md файл содержащий:

1. ФИО, номер группы

2. Список библиотек, которые используете в реализации

3. Описанием, как собирать (с списком зависимостей, которые нужно предаварительно установить)

4. Описание, как запускать вашу программу, как ей пользоваться

5. в папку tests положить результаты работы Вашей программы на одной или нескольких топологиях (т.е. GRAPHML или GML файл топологии и соответствующие CSV файлы)

6. Тестирование будет проводиться в ОС Ubuntu версии 18.04.4 LTS и выше

Экзамен

По окончании курса проводится письменный экзамен.

Экзамен состоится 09 апреля (четверг), предварительный план:

  • 12:00 - 13:00 - экзамен
  • 13:00 - 16:30 - проверка работ, подведение итогов, выставление итоговых оценок.

Список вопросов к экзамену.

Экзамен будет проводится в дистанционной форме. Экзамен будет включать в себя:

  • теоретические вопросы с любым количеством ответов,
  • теоретические вопросы без ответов, требующие написания развернутого ответа

Рекомендуемая литература

  • Таненбаум Э. С., Уэзеролл Д. Компьютерные сети. 5-е издание. Издательство Питер - 2012.
  • Куроуз Дж. Ф. Компьютерные сети : многоуровневая архитектура Интернета. Издательство Питер - 2004.
  • Куроуз Джеймс, Росс Кит. Компьютерные сети. Нисходящий подход.
  • Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. 4-е издание. Учебник. СПб.: Питер, 2012. - 944с