Компьютерные сети
Новосибирск, осень 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
Лекция 6: Наконец-то, программирование!
- Сокеты Беркли (UDP/TCP)
Лекция 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-интерфейсов