Компьютерные Сети 4 курс
Содержание
О курсе
Курс читается для студентов 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 |
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с