|
|
| (не показано 19 промежуточных версий этого же участника) |
| Строка 1: |
Строка 1: |
| = Общие сведения =
| | Честное название курса – “Сети для программистов”. Курс содержит как темы, непосредственно связанные с сетевым программированием, так и фундаментальные знания, необходимые для работы сетевым инженером. |
| * Семестр: 6 (третий курс)
| |
| * Форма контроля: диф. зачет
| |
| * '''[https://forms.gle/Lr13vnZAJGgGnyuy7 Форма регистрации на курс].
| |
| * [https://docs.google.com/spreadsheets/d/e/2PACX-1vTqe7Q05mo8L3n3scSkgHHK3kV5caPrJ_rSORf-zsTzH2gNLjwrbKJo_8VexJb_2Tad7nMZoynE3D6J/pubhtml?gid=2052604457&single=true План лекций, семинаров,домашних работ, контрольных]
| |
| * [https://docs.google.com/spreadsheets/d/e/2PACX-1vTqe7Q05mo8L3n3scSkgHHK3kV5caPrJ_rSORf-zsTzH2gNLjwrbKJo_8VexJb_2Tad7nMZoynE3D6J/pubhtml?gid=803165062&single=true Таблица с оценками]
| |
| * [https://docs.google.com/spreadsheets/d/e/2PACX-1vTqe7Q05mo8L3n3scSkgHHK3kV5caPrJ_rSORf-zsTzH2gNLjwrbKJo_8VexJb_2Tad7nMZoynE3D6J/pubhtml?gid=2017840457&single=true Статус проверки домашних заданий]
| |
| * [https://forms.gle/RF6DB7hXZ5uqo4gF9 Продление дедлайнов и дописывание КР]
| |
| * [https://t.me/+aGl2qhrfDDU5Y2My Телеграм-чат курса]
| |
|
| |
|
| === Материалы занятий ===
| | Курс логически поделен на 2 части. |
| Доступ открыт для всех аккаунтов @phystech.edu.
| |
|
| |
|
| ===== Лекции =====
| | В первой части спускаемся вниз по классическому стеку веб приложения, начиная с HTTP и DNS, заканчивая Ethernet. При разборе каждой из тем особый упор делается на безопасность. |
| * [https://www.youtube.com/playlist?list=PL4_hYwCyhAvaZsPvosV8WBajIgflGK44j Видео лекций YouTube].
| |
| * [https://drive.google.com/drive/folders/1WukRMRs74gcn5lEo5yNu6mz-AWBkkrIg?usp=sharing Видео лекций].
| |
| * [https://drive.google.com/drive/folders/1EjlJPwShH2UkMsxaFLIfvkYoAcKH3pnW?usp=sharing Слайды презентаций]
| |
| * 2020 г.
| |
| ** [https://drive.google.com/drive/folders/0B2n4K2J_6IZdfk1jdUQ4YnZtRWNCbl9YVHlvSHZjRERrOVlNVlU5dDZYWU0tN2dCRjgxVzA?resourcekey=0-cn9bfvH8nBixE3aiWvTfgA&usp=sharing Лекции]
| |
| ** [https://drive.google.com/drive/folders/0B2n4K2J_6IZdfm54OF8zMmd6aVQ0U0Y0MjFsdWdudFkxODJRVWFUcUt6bmdHUkNsYmMxRHM?resourcekey=0-wyYPEDg_OIF6mj1-4o8bLw&usp=sharing Семинары]
| |
| * 2021 г.
| |
| ** [https://drive.google.com/drive/folders/0B2n4K2J_6IZdfnNPS3JFdEdpTHM5aVFZR3dmdnlrdFNKcjlfa0dLY0lFb2l3cmtsM2VXT2s?resourcekey=0-rE3AAeTCn3pf0dgfGS86Qg&usp=sharing Лекции]
| |
| ** [https://drive.google.com/drive/folders/0B2n4K2J_6IZdfjBkRmhxc2o3d3NEdzN0RUhFeGtNSmJ6RFl3bzhOSEgzX0ViV2tXNFljbHc?resourcekey=0-t0UekU9AD2iQO6vKFmLUcg&usp=sharing Семинары]
| |
| * 2022 г. весна
| |
| ** [https://drive.google.com/drive/folders/0B2n4K2J_6IZdflFRaUJveTdvR2REdDVxTkp1cm1VRnRNWmdsSGcxWlI4Y1kyVTJmZWtBWE0?resourcekey=0-sk8F-iNm8_2O8g7SDG24IA&usp=sharing Лекции]
| |
| ** [https://drive.google.com/drive/folders/0B2n4K2J_6IZdfllmTmtMbk44V0ZkT2xtc0dXbWoweGlDQmRSTE5lT0o5dk1yd3FaOTFZOEE?resourcekey=0-P5pBLFMpgXuVvFn8dB4nXA&usp=sharing Семинары]
| |
| * 2023 г. весна
| |
| * [https://drive.google.com/drive/folders/1arIrxYGJ144cHpZ72uGI5mBsFWolczfF?usp=share_link Видео лекций].
| |
| ** [https://youtube.com/playlist?list=PLfibPMPn-PgyfrdrfmxvEAXtcjw7yfZmL Скринкасты лекций по CUDA]
| |
| * [https://drive.google.com/drive/folders/1eH2pePnbu3KqiRYtcBpDFffZXMXGA6-H?usp=share_link Слайды презентаций]
| |
| * 2023 г. осень
| |
| * [https://www.youtube.com/playlist?list=PL4_hYwCyhAvaZsPvosV8WBajIgflGK44j Видео лекций].
| |
| * [https://drive.google.com/drive/folders/1diehaQajFhzbYTLAAqmT0R_NRqU25JJX?usp=sharing Слайды презентаций]
| |
|
| |
|
| ===== Семинары =====
| | Во второй части курса начинается формирование знаний, связанных с сетевой инженерией. Начиная с обжима витой пары поднимаемся по уровням абстракций и доходим до виртуальных сетей и современных облачных решений. |
| * [https://gitlab.atp-fivt.org/courses-public/pd/global/-/tree/main/materials?ref_type=heads Коды и презентации семинаров]
| |
|
| |
|
| *[https://gitlab.atp-fivt.org/courses-public/pd/global/-/tree/main/homeworks?ref_type=heads '''Домашние задания''']
| |
| *[https://docs.google.com/spreadsheets/d/1rxr465J4VtRxXnRtID1aRy0RzhpBltpjJYKximAQMB8/edit#gid=0 Интересные ссылки]
| |
|
| |
|
| == Технические ссылки ==
| |
| * [https://docs.google.com/forms/d/e/1FAIpQLSd_JxfMFOcWdaXKLC8sydJlDtwRG-B6Puiia_h3GqORXEDUKA/viewform?usp=sf_link Форма для проблем с инфраструктурой АТП]
| |
| * В случае проблем с кластером MPI, пишите на '''parallel-cluster-atp@googlegroups.com'''.
| |
|
| |
|
| ==== Сервера ==== | | = Общие сведения = |
| * MPI & OpenMP: <pre>ssh <user>@calc.cod.phystech.edu</pre> | | * Форма контроля: |
| * CUDA: <pre>ssh <user>@lorien.atp-fivt.org</pre> | | * Начало занятий: 09.09.24 |
| * Hadoop ecosystem: <pre>ssh <user>@mipt-client.atp-fivt.org</pre> | | * [https://forms.gle/bG7KoPvAsdBFypBU9 Продление дедлайнов] |
| | * [https://t.me/+3rtAqGyQs-0xMDky Телеграм-чат курса] |
|
| |
|
| = Преподаватели = | | = Команда курса = |
| * '''Лекторы''' | | * Максим Кочуков, руководитель курса, лекции, семинарист |
| ** Ивченко Олег | | * Асхат Хайруллин, семинарист |
| ** Долуденко Алексей
| |
| ** Ахтямов Павел
| |
| ** Липовский Роман
| |
|
| |
|
| * '''Семинаристы'''
| | = План курса = |
| ** Ахтямов Павел
| | *[https://docs.google.com/spreadsheets/d/1LIRj55yOfUprJ4asGLEu_UTlHDU0DndC2ozziCSI--c/edit?usp=sharing План курса] |
| ** Чернецкий Аркадий
| |
| ** Изабелла Затикян | |
|
| |
|
| * '''Учебные ассистенты'''
| | Часть 1 |
|
| |
|
| = Критерии получения оценки =
| | *Модели OSI и TCP/IP, Wireshark; |
| Зачет выставляется на основании баллов, полученных в течение семестра.
| | *Application + Presentation: HTTP(/2), TLS, DNS; |
| | *Transport: TCP, UDP, QUIC; |
| | *Network: IPv4, IPv6, Linux networking, iptables; |
| | *Data Link: DHCP, ARP, Ethernet, WiFi; |
| | *Physical: Ethernet, RJ45, twisted pair. |
|
| |
|
| == Домашние задания ==
| | Часть 2 |
| Планируется 6 домашних заданий. Проверка включает 2 этапа:
| |
| # прохождение автоматических тестов (начиная с ДЗ по CUDA).
| |
| # code review при условии выполненного п.1. Исправления по code review можно делать в течение '''1 месяца''' после 1-го комментария.
| |
|
| |
|
| {| class="wikitable"
| | *GNS3, Топологии сетей; |
| |-
| | *Свичи, Link Aggregation, STP; |
| ! Название
| | *Маршрутизация: статическая, RIP, OSPF, BGP; |
| ! Мягкий дедлайн
| | *Безопасность и контроль доступа при построении сетей; |
| ! Жёсткий дедлайн
| | *Виртуальные сети: VLAN, Q-in-Q, VxLAN, VPN, GRE, IPSec; |
| |-
| | *Linux namespaces, CNI, сети в контейнерах. |
| | PD-2022. MPI || 04.03.2024 || 11.03.2024
| |
| |-
| |
| | PD-2022. CUDA || 25.03.2024 || 01.04.2024
| |
| |-
| |
| | PD-2022. HDFS || 15.04.2024 || 22.04.2024
| |
| |-
| |
| | PD-2022. Map-Reduce || 30.04.2024 || 07.05.2024
| |
| |-
| |
| | PD-2022. Hive || 14.05.2024 || 21.05.2024
| |
| |-
| |
| | PD-2022. Spark || 28.05.2024 || 03.06.2024
| |
| |}
| |
|
| |
|
| [https://gitlab.atp-fivt.org/courses-public/pd/global/-/tree/main/homeworks?ref_type=heads Репозиторий с домашками] | | = Важные ссылки = |
| | * [https://docs.google.com/forms/d/e/1FAIpQLScE-gMVo-AaFvF7KH_UIYivs-nDGKjktu2LaR8L2YJ_OtivOQ/viewform Регистрация на курс] |
| | * [https://t.me/+3rtAqGyQs-0xMDky Чат курса] |
| | * [https://forms.gle/yHeLgyXP3gJHiRG36 Форма на продление дедлайнов] |
|
| |
|
| * Штраф за опоздание по soft deadline: -50% | | == Материалы == |
| * Штраф за опоздание по hard deadline: -75% | | * [https://www.youtube.com/watch?v=rnFoMfY8uKY&list=PLHVUfYYv0xkkWgyC962qJsEISPmUhq0aB&index=1 Видео лекций YouTube]. |
| | * [https://drive.google.com/drive/folders/1lWAkkIUU2gPJugQqlAfx3r42S_ht8pZc?usp=sharing Видеозаписи занятий] |
| | * К каждой новой лекции по этой ссылке будут появляться слайды с новым материалом. [https://docs.google.com/presentation/d/1gtvlrsw0HAHzEs_mK0bB2hejR0vweG9F99jXqT8QdjQ/edit#slide=id.g1f10e076f13_0_0 Презентация курса] |
| | * [https://github.com/tna0y/course-networks Репозиторий курса] |
|
| |
|
| Сдавать и исправлять домашки можно до 15.06.2024.
| | = Критерии получения оценки = |
|
| |
|
| == Мини-контрольные ==
| | Максимум 16 баллов. Баллы переводятся в десятичную систему 1 к 1. |
| Состоятся 3 теста. На контрольных нельзя пользоваться ничем и никем, кроме разрешённых смотрящими вещей. Код писать не потребуется.
| |
|
| |
|
| {| class="wikitable"
| | *3 балла - Теоретический зачет в конце семестра; |
| |-
| | *3 балла - Проектирование и реализация своего reliable протокола поверх UDP (1 часть курса); |
| ! Название
| | *5 баллов - Лабораторные работы в GNS3 по проектированию сетей (2 часть курса); |
| ! Дата
| | *3 балла - Реализация атаки на протокол по выбору. |
| ! Длительность
| | *2 балла - Дополнительные баллы за работу на семинарах. |
| |-
| |
| | PD-2024s. HDFS & MapReduce || 15.04.24 || 15 мин.
| |
| |-
| |
| | PD-2024s. Hive & Spark || 27.05.24 || 20 мин.
| |
| |-
| |
| | PD-2024s. Zookeeper, Kafka, Cassandra || 03.06.24 || 15 мин.
| |
| |}
| |
|
| |
|
| В случае если вы не сможете написать КР в указанную дату по технической или другой уважительной причине, просьба заполнить [https://forms.gle/RF6DB7hXZ5uqo4gF9 '''форму на дописывание'''].
| | == Домашние задания == |
| * PD-2024s. Дописывание. HDFS & MAPREDUCE
| | На курсе планируется 2 больших дз - реализация протокола, атака, 5 лабораторных работ. |
| * PD-2024s. Дописывание. Hive & Spark
| |
|
| |
|
| = Литература =
| | ДЗ 1 |
| === MPI & OpenMP ===
| | Написание кода - демо любой атаки на протокол. Тему необходимо согласовать с семинаристом. |
| # Антонов А.С. Технологии параллельного программирования MPI и OpenMP: Учеб. пособие. Предисл.: В.А.Садовничий. - М.: Издательство Московского университета, 2012.
| | Дедлайн - зачетная неделя. |
|
| |
|
| === CUDA ===
| | ДЗ 2 |
| # Дж. Сандерс, Э. Кэррот. Технология CUDA в примерах и задачах, 2013 (рус).
| | Реализация reliable протокола поверх UDP. |
| # [http://courses.cms.caltech.edu/cs179/ Курс "GPU programming" в Caltech].
| | Дедлайн |
| # [https://www.cs.bgu.ac.il/~graph161/wiki.files/09f-GPU%20-%20Scans.pdf Лекция по Scan курсе по комп. графике, Ben-Gurion university]
| |
| # [http://developer.download.nvidia.com/compute/cuda/1.1-Beta/x86_website/projects/scan/doc/scan.pdf Parallel Prefix Sum (Scan) with CUDA, Mark Harris, NVidia]
| |
| # Книги от Nvidia: [https://developer.nvidia.com/gpugems/gpugems/contributors GPU gems], [https://developer.nvidia.com/gpugems/gpugems2/inside-front-cover GPU gems 2], [https://developer.nvidia.com/gpugems/gpugems3/foreword GPU gems 3]. Особенно интересна глава 39 из [https://developer.nvidia.com/gpugems/gpugems3/part-vi-gpu-computing/chapter-39-parallel-prefix-sum-scan-cuda GPU Gems] про Scan.
| |
|
| |
|
| === HDFS ===
| | Темы лабораторных работ |
| # [https://www.oreilly.com/library/view/hadoop-the-definitive/9781491901687/ T. White. "Hadoop. The definitive guide"], гл. 3 "Hadoop distributed filesystem". (есть русский перевод). 4е издание
| | *STP+LAG |
| # [https://storageconference.us/2010/Papers/MSST/Shvachko.pdf Статья про архитектуру HDFS от Константина Швачко (Yahoo!)]
| | *RIP |
| # [http://www.blogjava.net/DLevin/archive/2015/01/25/422428.html Статья про архитектуру HDFS в блоге HortonWorks (Китайская копия :))]
| | *OSPF+BGP |
| # [http://blog.madhukaraphatak.com/secondary-namenode---what-it-really-do/ Что в действительности делает SNN]
| | *Security |
| # [https://nancyyanyu.github.io/posts/49a14c15/ Выдержка из курсов Яндекс про HDFS]
| | *VLAN+QinQ |
Честное название курса – “Сети для программистов”. Курс содержит как темы, непосредственно связанные с сетевым программированием, так и фундаментальные знания, необходимые для работы сетевым инженером.
Курс логически поделен на 2 части.
В первой части спускаемся вниз по классическому стеку веб приложения, начиная с HTTP и DNS, заканчивая Ethernet. При разборе каждой из тем особый упор делается на безопасность.
Во второй части курса начинается формирование знаний, связанных с сетевой инженерией. Начиная с обжима витой пары поднимаемся по уровням абстракций и доходим до виртуальных сетей и современных облачных решений.
Общие сведения
Команда курса
- Максим Кочуков, руководитель курса, лекции, семинарист
- Асхат Хайруллин, семинарист
План курса
Часть 1
- Модели OSI и TCP/IP, Wireshark;
- Application + Presentation: HTTP(/2), TLS, DNS;
- Transport: TCP, UDP, QUIC;
- Network: IPv4, IPv6, Linux networking, iptables;
- Data Link: DHCP, ARP, Ethernet, WiFi;
- Physical: Ethernet, RJ45, twisted pair.
Часть 2
- GNS3, Топологии сетей;
- Свичи, Link Aggregation, STP;
- Маршрутизация: статическая, RIP, OSPF, BGP;
- Безопасность и контроль доступа при построении сетей;
- Виртуальные сети: VLAN, Q-in-Q, VxLAN, VPN, GRE, IPSec;
- Linux namespaces, CNI, сети в контейнерах.
Важные ссылки
Материалы
Критерии получения оценки
Максимум 16 баллов. Баллы переводятся в десятичную систему 1 к 1.
- 3 балла - Теоретический зачет в конце семестра;
- 3 балла - Проектирование и реализация своего reliable протокола поверх UDP (1 часть курса);
- 5 баллов - Лабораторные работы в GNS3 по проектированию сетей (2 часть курса);
- 3 балла - Реализация атаки на протокол по выбору.
- 2 балла - Дополнительные баллы за работу на семинарах.
Домашние задания
На курсе планируется 2 больших дз - реализация протокола, атака, 5 лабораторных работ.
ДЗ 1
Написание кода - демо любой атаки на протокол. Тему необходимо согласовать с семинаристом.
Дедлайн - зачетная неделя.
ДЗ 2
Реализация reliable протокола поверх UDP.
Дедлайн
Темы лабораторных работ
- STP+LAG
- RIP
- OSPF+BGP
- Security
- VLAN+QinQ