Подготовка курса Моделирование сетей передачи данных
Курс Моделирование сетей передачи данных.
Содержание
1 Предназначение курса
- Курс описывает не аналитическое моделирование (modeling) сетей, а моделирование путём создания натурного стенда на основе виртуализации (simulation).
- Изучается не теоретическая, а операциональная часть модели.
2 Информация по предмету
- Наименование дисциплины: Моделирование сетей передачи данных
- Объем курса:
- 4 кредита,
- 144 часа
- контактные часы: 54 часа
- самостоятельная работа: 63 часа
- контроль: 27 часов
- Курс: 4
- Семестр: 7
- Модуль: 14 (E)
- Продолжительность курса: 9 недель
- Лекции: 18 часов (2 часа/нед)
- Лабораторные работы: 36 часов (4 часа/нед)
3 БРС
| Активность | Количество | Баллы за единицу | Общие баллы |
|---|---|---|---|
| А1.1 | 14 | 3 | 42 |
| А1.2 | 14 | 2 | 28 |
| А2 | 8 | 1 | 8 |
| А3 | 1 | 12 | 12 |
| A4 | 1 | 10 | 10 |
| 100 |
Активности
- А1.1: Лабораторные работы. Выполнение.
- А1.2: Лабораторные работы. Самопроверка и взаимопроверка.
- А2: Тесты к лекциям работам.
- А3: Доклады по темам.
- A4: Итоговый контроль знаний (тест).
Разделы
- Р1: Введение в моделирование сетей передачи данных
- Р2: Моделирование производительности сетей передачи данных
Темы
- T1. Генерация трафика.
- T2. Эмуляция сетей.
- T3. Настройка пропускной способности сети.
- T4. Управление перегрузкой TCP.
- T5. Задержки и размер буфера TCP.
- T6. Повышение пропускной способности TCP.
- T7. Буферы маршрутизатора.
- T8. Контроль скорости TCP.
4 Активности
4.1 Лабораторные работы
4.2 Лекции
- Современные технологии межсетевого уровня IP.
- Параметры TCP.
- Формирование трафика на границе сети.
- Назначение, разновидности и основные функции маршрутизаторов.
- Динамическая маршрутизация.
- Статическая маршрутизация.
- Качество сетевого обслуживания (QoS).
- Средства QoS коммуникационного узла. Протоколы сигнализации QoS и службы QoS IP-уровня.
4.3 Темы докладов
- Обзор возможностей системы моделирования Mininet.
- Генераторы трафика. Особенности в разных системах моделирования.
- Эмуляция сетей передачи данных: особенности моделирования задержки передачи данных.
- Эмуляция сетей передачи данных: особенности моделирования потери, дублирования, переупорядочивания пакетов.
- Обзор алгоритмов управления трафиком:
- Алгоритм скользящего временного окна с 2 цветным маркером (Time Sliding Window with Two Color Marking).
- Алгоритм трёхцветного маркера для одного входящего потока (A Single Rate Three Color Marker).
- Двухпараметровый трёхцветный маркер (Two Rate Three Color Marker).
- Token Bucket Filter (TBF) или «маркерное ведро».
- Обзор алгоритмов управления перегрузками:
- Механизм приоритетной обработки трафика (Priority Queue).
- Алгоритм стохастического справедливого обслуживания (Stochastic Fairness Queueing, SFQ).
- Алгоритм взвешенного обслуживания (Weighted Queuing, WQ).
- Взвешенное справедливое обслуживание (Weighted Fair Queuing, WFQ).
- Алгоритм обработки очередей с малой задержкой (Low Latency Queuing, LLQ).
- Дисциплина взвешенного циклического обслуживания (Weighted Round Robin, WRR).
- Алгоритмы избежания перегрузок: обзор различных алгоритмов случайного раннего обнаружения (Random Early Detect, RED) перегрузки.
- Особенности различных типов протокола TCP (TCP Tahoe, TCP Reno, TCP New Reno, TCP Vegas, TCP Westwood).
- Обзор моделей TCP: TCP Hybla, BIC-TCP, CUBIC TCP, TCP Illinois, TCP-Veno.
- Традиционное управление перегрузкой TCP: HTCP, Cubic, Reno.
- Управление перегрузкой TCP на основе скорости: BBR.
- Задержки и размер буфера TCP.
- Повышение пропускной способности TCP с помощью параллельных потоков.
- Измерение справедливости TCP.
- Контроль скорости TCP.
- Влияние MSS на пропускную способность.
5 Программа для РПД
5.1 Генерация трафика
Методы создания искусственного сетевого трафика, приближенного к реальному. Рассматриваются классические модели источников: постоянный битрейт (CBR), переменный битрейт (VBR) и самоподобный трафик (на основе распределений Парето или дробного броуновского движения). Обсуждаются статистические характеристики: интервалы между пакетами, размеры пакетов, пуассоновский и взрывной (on/off) режимы. Демонстрируются утилиты и фреймворки для генерации трафика (Iperf, D-ITG, TRex), а также методы калибровки параметров под реальные данные.
5.2 Эмуляция сетей
Принципы эмуляции как промежуточного звена между моделированием и натурным экспериментом. Объясняется отличие эмуляции от симуляции: реальный стек протоколов работает с виртуальными сетевыми интерфейсами и управляемыми задержками/потерями. Изучаются популярные эмуляционные среды (Mininet, GNS3, NetEm, CORE). Обсуждаются возможности внесения искажений: фиксированные и вариативные задержки, джиттер, потеря пакетов, дублирование, изменение порядка. Затрагиваются вопросы масштабируемости и интеграции эмуляторов с реальным оборудованием.
5.3 Настройка пропускной способности сети
Методы управлением пропускной способностью в сетевых экспериментах. Обсуждаются программные и аппаратные ограничители скорости: tc (Linux traffic control), шейперы на базе HTB, TBF, полицеры на основе RED/token bucket. Рассматривается настройка полосы на маршрутизаторах и коммутаторах с использованием ACL, QoS классов, CBWFQ. Демонстрируется измерение реальной пропускной способности с помощью iperf и netperf, учёт протокольных накладных расходов (Ethernet, IP, TCP). Обсуждается влияние конкурирующих потоков на эффективную пропускную способность.
5.4 Управление перегрузкой TCP
Анализ механизмов управления перегрузкой TCP (congestion control) как ключевой элемент стабильности Интернета. Рассматриваются классические алгоритмы: Tahoe (Slow Start, Congestion Avoidance, Fast Retransmit), Reno (Fast Recovery), NewReno. Изучаются фазы медленного старта и избегания перегрузки, переменные cwnd (окно перегрузки) и ssthresh. Демонстрируется реакция TCP на потерю пакетов (тайм-аут, тройной ACK). Обсуждаются современные алгоритмы: Cubic (по умолчанию в Linux), BBR (модель на основе измерений полосы и RTT).
5.5 Задержки и размер буфера TCP
Связь задержки в сети (RTT) и размера буферов маршрутизаторов с производительностью TCP. Обсуждается формула «правило полосы задержки» (bandwidth-delay product, BDP) для определения необходимого размера окна. Анализируется проблема Bufferbloat — чрезмерное буферизация, приводящее к высоким задержкам (RTT) при невысокой потере пакетов. Рассматриваются алгоритмы активного управления очередью (AQM), такие как CoDel и PIE, которые ограничивают задержку. Экспериментально демонстрируется влияние размера буфера на пропускную способность и время отклика.
5.6 Повышение пропускной способности TCP
Изучаются методы увеличения эффективной пропускной способности TCP в высокоскоростных и длиннотяжёлых сетях (большое BDP). Рассматриваются модификации: TCP Window Scaling (опция масштабирования окна), Selective Acknowledgment (SACK) для выборочного подтверждения, TCP Timestamps (защита от обёртки номера последовательности). Обсуждаются высокоскоростные алгоритмы: H-TCP, Scalable TCP, FAST TCP, а также проблема честности (fairness) при совместной работе с классическими реализациями. Анализируется влияние аппаратного ускорения (checksum offload, TSO, LRO) на пропускную способность.
5.7 Очередь в маршрутизаторе
Дисциплины обслуживания очередей (queueing disciplines) в маршрутизаторах и коммутаторах. Рассматриваются простейшие схемы: FIFO (первым пришёл — первым обслужен), приоритетная очередь (PQ), взвешенное справедливое обслуживание (WFQ). Изучаются механизмы предотвращения переполнения очереди: RED (Random Early Detection) и его варианты (WRED, ARED). Анализируются параметры RED (min_th, max_th, max_p) и влияние на поведение TCP. Демонстрируется настройка очередей в Linux (tc) и Cisco. Обсуждается измерение длины очереди и задержки в реальном времени.
5.8 Контроль скорости TCP
Методы внешнего управления скоростью передачи TCP-потоков, помимо встроенного механизма перегрузки. Рассматриваются шейперы на отправителе (через изменение cwnd с помощью BPF-программ или библиотеки libtcp), прокси-серверы (TCP Splitting), применение AQM с ECN (явное уведомление о перегрузке) для передачи сигнала о снижении скорости. Обсуждается протокол TCP BBR (Bottleneck Bandwidth and RTT) как альтернативный подход, моделирующий оптимальную точку работы на графике полоса–задержка. Затрагивается контроль скорости на стороне приложения (адаптивное видео, pacing) и его взаимодействие с сетевыми механизмами.
6 Оценивание
7 Ресурсы
7.1 Запись занятий
- Rutube: Моделирование сетей передачи данных
- VKvideo: Моделирование сетей передачи данных
- Платформа: Моделирование сетей передачи данных
- Youtube: Моделирование сетей передачи данных
- Телемост
7.2 Материалы курса
