Компьютерные сети

Новосибирск, осень 2018

Описание

В рамках курса мы разберёмся, как работают компьютерные сети, а также научимся разрабатывать различные сетевые приложения.

Чтобы успешно сдать задачи по курсу, вам потребуется:

  • опыт разработки и отладки несложных прикладных программ на языке высокого уровня: Java, C#, C, C++, и т.п.
  • знание основных структур для хранения данных в памяти: списки, словари, множества, и т.д.

Преподаватели

Список лекций

Лекция 1: L1+L2, основы L3
  • Физический уровень
  • Модель OSI/ISO
  • Коммутация каналов/пакетов
  • Канальный уровень
  • Броадкаст/Мультикаст
  • VLAN
  • Адресация IPv4
  • ARP
Лекция 2: L3
  • Повтор материалов первой лекции
  • Соединения точка-точка
  • Форвардинг, маршрутизация, TTL
  • Суммаризация маршрутов
  • Основы динамической маршрутизации
Лекция 3: L4
  • Транспортный уровень
  • Путь данных от приложения к приложению
  • UDP
  • TCP
Лекция 4: AS, dynamic routing, IPv6
  • Автономные системы
  • Обзор протоколов динамической маршрутизации
  • IPv6
Семинар 4: Играем с DNS

Смотрим примеры IPv6 в Packet Tracer

Лекция 7: Текстовые кодировки
  • Национальные кодировки
  • Unicode
  • UTF-8, UTF-16, UTF-32
  • особенности использования различных UTF-кодировок
Лекция 8: HTTP/1.1
  • WWW
  • URL/URI
  • Логика работы HTTP
  • Формат сообщений HTTP/1.1
  • Коды возврата HTTP
Лекция 9: HTTP/2
  • методы HTTP
  • проблемы HTTP/1.1, их решения в HTTP/2

  • структура потока HTTP/2: виртуальные каналы, кадры

  • server push

Лекция 11: E-mail, мгновенные сообщения
  • E-mail: SMTP, POP3, IMAP
  • Мгновенные сообщения: XMPP, ...
Лекция 12: Удалённый доступ к файлам (+бонус: IPv6)
  • Способы удалённого доступа к файлам
  • Возможности протокола FTP (загрузка)
  • Возможности протоколов SMB, NFS (монтирование)
  • Dropbox, etc. (синхронизация)
  • Повторение и забытые возможности IPv6
Лекция 13: NAT
  • Описание работы PAT (весьма распространённой разновидности NAT)
  • Ограничения NAT
  • Проблемы, возникающие в p2p-приложениях, работа STUN
Лекция 14: VPN
  • Применение виртуальных частных (и не частных) сетей
  • Обзор способов реализации
  • Разбор прохождения пакетов через VPN
  • Другие примеры применения tun-интерфейсов