Компьютерные Сети 4 курс: различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
мНет описания правки
 
(не показано 29 промежуточных версий 2 участников)
Строка 7: Строка 7:
'''Семинаристы:''' Никита Бегишев, Лев Хотов
'''Семинаристы:''' Никита Бегишев, Лев Хотов


Чат для объявлений и обсуждений: [https://t.me/joinchat/ADLxxUwcBPkRuVeN8HscNA telegram]
Чат для объявлений и обсуждений:


ОПРОС: [https://forms.gle/tvxmMgY3pvr2Fs2n9 Форма]
ОПРОС: [https://forms.gle/tvxmMgY3pvr2Fs2n9 Форма]
Строка 34: Строка 34:
| 1  
| 1  
| 11.01.2020
| 11.01.2020
| [https://drive.google.com/open?id=1eqHoCeR_wXDh_DrjJSmUWl4TlJVbZm6i Введение в компьютерные сети. Классификация компьютерных сетей. История возникновения и развития глобальной сети Интернет. Архитектура сети Интернет. Модель OSI/ISO. Модель TCP/IP. ]
| Введение в компьютерные сети. Классификация компьютерных сетей. История возникновения и развития глобальной сети Интернет. Архитектура сети Интернет. Модель OSI/ISO. Модель TCP/IP.
|-
|-
| 2  
| 2  
| 18.01.2020  
| 18.01.2020  
| [https://drive.google.com/open?id=11gkMdBe1H0pc5oYdUjynayRYo41mz9Yn Прикладной уровень. Архитектура и принципы организации сетевых приложений. Служба DNS. Электронная почта. Протоколы HTTP, FTP. ]
| Прикладной уровень. Архитектура и принципы организации сетевых приложений. Служба DNS. Электронная почта. Протоколы HTTP, FTP.
|-
|-
| 3
| 3
| 25.01.2020  
| 25.01.2020  
| [https://drive.google.com/open?id=1DqzFIq2rvBMrMdeHp4jsjg19DurIX9L_ Транспортный уровень. Службы транспортного уровня. Протокол UDP. Протокол TCP.]
| Транспортный уровень. Службы транспортного уровня. Протокол UDP. Протокол TCP.
|-
|-
| 4  
| 4  
| 01.02.2020
| 01.02.2020
| Отмена лекции в связи с проведением Олимпиады "Высшая проба"
| Отмена лекции в связи с проведением Олимпиады "Высшая проба".
|-
|-
| 5  
| 5  
Строка 54: Строка 54:
| 6
| 6
| 15.02.2020
| 15.02.2020
| Транспортный уровень. Управление перегрузками: алгоритмы TCP Tahoe, TCP Reno.
| Транспортный уровень. Управление перегрузками: алгоритмы TCP Tahoe, TCP Reno.
|-
|-
| 7
| 7
| 22.02.2020
| 22.02.2020
| [вторая пара] [https://drive.google.com/open?id=1VuIsPZXzDrhdNiqamTuk0qSJlDbeaSz1 Сетевой уровень. IP адресация. Протоколы IPv4 и IPv6. Службы ICMP, DHCP, NAT, PAT. Принцип работы маршрутизатора.] <br>
| [вторая пара] Сетевой уровень. IP адресация. Протоколы IPv4 и IPv6. Службы ICMP, DHCP, NAT, PAT. Принцип работы маршрутизатора. <br>
[третья пара] [https://drive.google.com/open?id=1yxT5JIHtUda5mBCm1HWfGRm_D6RM5T4Y Сетевой уровень. Задачи сетевого уровня. Алгоритмы маршрутизации. Маршрутизация по состоянию канала. Маршрутизация по вектору расстояний. Иерархическая маршрутизация.]
[третья пара] Сетевой уровень. Задачи сетевого уровня. Алгоритмы маршрутизации. Маршрутизация по состоянию канала. Маршрутизация по вектору расстояний. Иерархическая маршрутизация.
|-
|-
| 8
| 8
| 29.02.2020
| 29.02.2020
| Протоколы маршрутизации (RIP, OSPF, BGP)
| Сетевой уровень. Протоколы маршрутизации (RIP, OSPF, BGP)
|-
|-
| 9
| 9
| 07.03.2020
| 07.03.2020
|  
| Канальный уровень. Сервисы канального уровня. Обнаружение и исправление ошибок. Адресация. MAC адрес. Протокол Ethernet. Принцип работы коммутатора. Виртуальные локальные сети (VLAN)
|-
|-
| 10
| 10
| 14.03.2020
| 14.03.2020
|  
| Жизненный цикл web-запроса. <br>  Сетевая безопасность. Понятие сетевой безопасности. Основные угрозы и методы защиты.
|-
|-
| 11
| 11
| 21.03.2020  
| 21.03.2020  
|  
| Перспективы развития современных сетей: программно-конфигурируемые сети (SDN) и виртуализация сетевых функций.
|}
|}


Строка 95: Строка 95:
| 25.01.2020  
| 25.01.2020  
| 165 группа: Wireshark, traceroute, Docker
| 165 группа: Wireshark, traceroute, Docker
166 группа: сокеты, RFC 2616, Docker
166 группа: сокеты, RFC 2616, Docker. Код с семинара [https://github.com/lfyuomr-gylo/hse-cs-sockets-intro здесь]
|-
|-
| 4  
| 4  
Строка 114: Строка 114:
| 7
| 7
| 22.02.2020
| 22.02.2020
|  
| 166 группа: перенесен на 29.02
|-
|-
| 8
| 8
| 29.02.2020
| 29.02.2020
|  
| 166 группа: 2 пары по iptables & network namespaces. Команды с семинара [https://gist.github.com/lfyuomr-gylo/3e4d9a5b2670e72cf878bd59665c94c9 здесь].
|-
|-
| 9
| 9
| 07.03.2020
| 07.03.2020
|  
| 166 группа: обсуждали варианты реализации RPC с использованием голых сокетов, JSON, Protobuf, HTTP, gRPC
|-
|-
| 10
| 10
| 14.03.2020
| 14.03.2020
|  
| 166 группа: обсуждали способы организации авторизации в сетевом приложении. Пример кода для работы с JWT [https://github.com/notWhaleB/hse-networks-jwt-example/tree/jwt-example здесь].
|-
|-
| 11
| 11
Строка 148: Строка 148:
|-
|-
| 1  
| 1  
| [https://drive.google.com/open?id=1lqLXJJuasUK_y-5nZdGob3-0hkAMBKGk Домашнее задание №1]
| Домашнее задание №1
| 24 февраля 23:59 MSK
| 24 февраля 23:59 MSK
|-
|-
| 2  
| 2  
|  
| Домашнее задание №2
| NN NNNNNN 23:59 MSK
| 15 марта 23:59 MSK
|-
|-
| 3  
| 3  
|  
| Домашнее задание №3
| NN NNNNNN 23:59 MSK
| 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 и выше


== Экзамен ==
== Экзамен ==
Строка 165: Строка 196:
По окончании курса проводится письменный экзамен.
По окончании курса проводится письменный экзамен.


Длительность экзамена 1 час (60 мин)
Экзамен состоится '''09 апреля (четверг)''', предварительный план:
* 12:00 - 13:00 - экзамен
* 13:00 - 16:30 - проверка работ, подведение итогов, выставление итоговых оценок.
 
[https://drive.google.com/open?id=101qTYrrblAc0iJhfH7kA4MMWKSih5KsZ Список вопросов к экзамену.]


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


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

Текущая версия от 12:45, 7 сентября 2020

О курсе

Курс читается для студентов 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с