Литература
- James F. Kurose, Keith W. Ross, Computer Networking: A Top-Down Approach Featuring the Internet, 2001, Addison Wesley Longman
- Олифер В. Г., Олифер Н. А., Компьютерные сети. Принципы, технологии, протоколы, 2003, Питер
Другие ресурсы
- Appletы-иллюстрации к Kurose, Ross, Computer NEtworking
Вопросы к экзамену
- Вопросы (возможны изменения)
Содержание лекций
8.09.2003. Глава 1. Компьютерные сети и Internet
- 1.1.1 Некоторые термины.
- 1.1.2 Описание услуг. Распределенные приложения (distributed applications). Услуги с установлением соединения и без соединения (connection-oriented service, connectionless service). Проблема с временем доставки данных (currently, the Internet does not provide a service that makes promises about how long it will take to delive the data from sender to receiver.
- 1.1.3 Некоторые ссылки: Internet Engineering Task Force, The World Wide Web Consortium, The Association for Computing Machinery
- 1.2 Что такое протокол, пример из жизни (Hi - Hi - Time ? - 14:00), пример HTTP (connection request - connection reply - GET - файл)
- 1.3 Край сети (The Network Edge), конечные системы (end systems), клиент, сервер.
- 1.4.1 Ядро сети (The Network Edge), коммутация каналов (circuit switching), коммутация пакетов (packet switching). Мультиплексирование (multiplexing), мультиплексирование по частоте и времени (time-division multiplexing, TDM, frequency division multiplexing, FDM), примеры.
15.09.2003. Глава 1. Компьютерные сети и Internet (продолжение)
- Коммутация пакетов (packet switching), маршрутизатор (router), входной и выходной буферы (input buffer, output buffer)
- Частный случай коммутации пакетов - коммутация сообщений.
- Пример времени доставки данных одним сообщением и с разбиением на пакеты. Время доставки.
- Сравнение коммутации каналов и коммутации пакетов, пример.
- 1.4.2 Virtual circuit networks, datagram networks, классификация
- 1.5.1 Сети доступа - по месту жительства, корпоративные, мобильные. Примеры.
- 1.5.2 Физические носители (physical media), витая пара (twisted pair, TP), экранированная и неэкранированная витая пара (shielded twisted pair, STP, unshielded twisted pair, UTP), коаксиальный кабель (baseband, broadband), Т-коннектор
22.09.2003. Глава 1. Компьютерные сети и Internet (продолжение)
- 1.6 Задержки (delay) и потери (loss) в сетях с коммутацией пакетов.
Задержка обработки, очереди, передачи и распространения.
dnodal = dproc + dqueue + dtrans + dprop - 1.6 Подробнее про очереди. Интенсивность трафика (соотношение скоростей поступления и обработки заявок).
- 1.7 Уровни протоколов, для чего они нужны. Пример.
- 1.7 Функции, которые может выполнять каждый из уровней (контроль ошибок, контроль потока данных, фрагментация и сборка, мультиплексирование, установка соединения).
- 1.7.2 Стек протоколов Internet
- 1.8 Иерархия поставщиков услуг Internet (ISP). NAPs, backbones
29.09.2003. Глава 2. Прикладной уровень (application layer).
- 2.1 Протоколы прикладного уровня. Клиенты и серверы. Процесс. Вопросы адресации (приложение определяется парой ip-адрес, порт; соединение определяется 2-мя такими парами). Пользовательский агент.
- 2.1.2 Требования приложений к услугам доставки. Потеря данных, пропускная способность, время доставки. Сервисы, которые обеспечивают TCP и UDP.
- 2.2 HTTP, URL, постоянные (persistent) и непостоянные соединения, формат запроса HTTP.
6.10.2003. Глава 2. Уровень приложений (продолжение).
- 2.2.3 Формат HTTP запроса и ответа. Примеры.
- 2.2.4 Аутентификация, cookies, условный GET (If-modified-since), Основной принцип работы кэш-памяти (cache), web-кэш (proxy).
13.10.2003. Глава 2. Уровень приложений (продолжение).
- 2.3 FTP
- 2.4 Электронная почта, пользовательские агенты, почтовые сервера, SMTP, MIME, примеры
20.10.2003. Глава 2. Уровень приложений (продолжение).
- 2.4.4 POP3, IMAP
- 2.5 DNS, имена и идентификаторы, служба имен, проблемы при организации службы имен доменов и методы их решения (распределенная система, кэширование DNS-ответов), иерархия серверов имен, 2 варианта работы (итеративный и рекурсивный), записи DNS, primary и secondary сервера, примеры, обратный DNS
27.10.2003. Глава 3. Транспортный уровень.
- 3.1 Транспортный уровень как средство передачи данных между процессами
- 3.2 Мультиплексирование, демультиплексирование, порт, стандартные номера портов.
- 3.3 UDP, описание. Протоколы, используемые различными приложениями
- 3.3.1 Структура сегмента UDP
- 3.3.2 Контрольная сумма UDP
- 3.4 Надежная передача данных по ненадежным каналам, общая схема
- 3.4.1 Построение протокола надежной передачи данных, необходимые возможности (обнаружение ошибок, обратная связь, повторная передача)
- 3.4.3 Go-Back-N (GBN), оно же скользящее окно (sliding window)
- 3.4.4 Selective repeat
3.11.2003. Глава 3. Транспортный уровень (продолжение).
- 3.5.1 TCP-соединение, общая схема, термины
- 3.5.2 Структура TCP-сегмента
- 3.5.3 Sequence numbers, acknowledgment numbers, initial sequence numbers (ISS)
- 3.5.8 Установление (3-way handshake) и разрыв соединения, SYN, FIN, RST
- 3.5.8 Диаграммы перехода для состояний TCP-машины на стороне клиента и сервера.
10.11.2003. Глава 3. Транспортный уровень (продолжение).
- 3.5.7 Round Trip Time (RTT) и timeout,
EstimatedRTT = (1-x) * EstimatedRTT + x * SampleRTT,
Deviation = (1-x) * Deviation + x * (SampleRTT - EstimatedRTT),
Timeout = EstimatedRTT + 4 * Deviation,
x = 0.125 (1/8) - 3.5.6 Контроль потока данных (flow control), принимающая сторона, receive buffer, receiver advertized window
- 3.7 Контроль потока данных, передающая сторона, TCP congestion control, slow start, congestion avoidance, slow start threshold, примеры и иллюстрации
- 3.7.2 время передачи файла при static congestion window, 2 случая
24.11.2003. Глава 4. Сетевой уровень
- 4.1 Основные задачи сетевого уровня
- 4.1.1 Best effort, CBR, VBR, ABR, UBR
- 4.2 Принципы маршрутизации, виды алгоритмов (глобальные, децентрализованные). Алгоритм Дийкстры. Distance Vector Routing Algorithm. Другие алгоритмы маршрутизации.
- 4.3 Автономные системы, иерархическая маршрутизация.
1.12.2003. Глава 4. Сетевой уровень (продолжение)
- 4.4 Internet Protocol (IP). Протоколы маршрутизации (RIP, OSPF, BGP), таблица маршрутизации, IP, ICMP.
- 4.4.1 Адреса IPv4, десятично-точечная нотация, сеть IP, классы сетей, CIDR, маска сети.
- Выделение адресов (динамическое, статическое), DHCP
- 4.4.2 Таблица маршрутизации, алгоритм маршрутизации.
8.12.2003. Глава 4. Сетевой уровень (продолжение)
- 4.4.3 Формат пакета IP, поля и их назначение
- 4.4.5 ICMP
- 4.6 Устройство маршрутизатора, основные технологии коммутации
15.12.2003. Глава 5. Уровень канала передачи данных (Link Layer)
- 5.1 Функции протоколов канального уровня
- 5.1.2 Адаптер
- 5.2.1 Четность (parity), бит четности, четность по строкам и по столбцам
- 5.2.3 CRC
- 5.3 Протоколы множественного доступа и локальные сети
- 5.3.1 Протоколы с разделением канала (FDM, TDM, CDMA)
- 5.3.2 Протоколы случайного доступа (CSMA)
- 5.3.3 Пошаговые (taking-turns) протоколы (опросы, передача токена)
- 5.4 Адрес в LAN (MAC-адрес), ARP, RARP
- 5.5 Ethernet (CSMA/CD), структура кадра Ethernet, технологии Ethernet
- 5.6 Хабы и коммутаторы (hubs, switches)
- 5.7 PPP
Темы для практик
15.09.2003
- 1.1 Разработка протокола взаимодействия банкомата и банка. Обсуждение возникающих при этом проблем, стандартные методы из решения (транзакции, блокировки, контрольные суммы, цифровая подпись)
- 1.5 Служебные данные. Поиск размера пакета, при котором время передачи файла минимально
29.09.2003
- 1.7 Задача про задержку при передаче голоса по сети.
- Пример оценки пропускной способности, необходимой для передачи аудио и видео в реальном времени.
13.10.2003
- 1.1 CGI (доклад)
- 1.6 servlet (доклад)
27.10.2003
- 1.1 Задача про source/destination ports
- 1.2 Задача про контрольные суммы
10.11.2003
- передача stored audio, доклад
- 3.9 Определение размера окна, при котором канал связи будет загружен на 90%
- 3.22 Определение времени передачи файла при static congestion window
24.11.2003
- Задача про EstimatedRTT