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

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Важные ссылки)
 
(не показано 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

Текущая версия на 10:50, 4 сентября 2024

Честное название курса – “Сети для программистов”. Курс содержит как темы, непосредственно связанные с сетевым программированием, так и фундаментальные знания, необходимые для работы сетевым инженером.

Курс логически поделен на 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