1. Дизайн маршрутизируемой сети
Блочная структура сети
Масштабируемые сети удобно строить блоками
Выбор протокола маршрутизации
Агрегация маршрутов
Удобно агрегировать маршруты на границах блоков
Особенности пакетной передачи
На сетевые сервисы будут влиять характеристики разных протоколов
IP
Desequencing
Jiiter
Latency
Фрагментация
TCP
MSS
Bandwidth x Delay Product (BDP) и Flow Control
Синхронизация
UDP
UDP Starvation
Desequencing/Jitter:
Нарушение порядка пакетов или их тайминга
Происходит при балансировке трафика через несколько каналов или неверно настроенном QoS
Негативно влияет на TCP и приложения реального времени
Latency:
Задержка при передаче
Возникает из-за медленных каналов или оборудования, загруженных буферов, неоптимальной маршрутизации, фргаментации
Негативно влияет на приложения реального времени (телефония, видеосвязь)
Фрагментация:
В IPv4 может выполняться на транзитных узлах
Повышенная нагрузка на CPU роутеров
Непредсказуемая задержка
Потеря фрагмента вызывает потерю всей датаграммы
В IPv6 выполняется только отправителем
Он должен знать MTU пути до получателя
Path MTU Discovery использует ICMP Packet-Too-Big
Система зранит PMTU до каждого отдельного получателя
TCP обычно избегает фрагментации, заказывая флаг DF
Адаптация к MTU происходит с помощью уменьшения MSS
MSS = MTU - Размер заголовка TCP - Размер заголовка IP
TCP Bandwidth x Delay Product
Узел-отправитель в TCP:
Ожидает подтверждения отправленных данных
Не может отправить без подтверждения больше Window Size байт
На медленных каналах (или на больших полосах пропускания) начинает играть роль Bandwidth x Delay
Bandwidth - полоса пропускания
Delay - задержка "туда-обратно"
BxD не должно превышать размер окна, в противном случае производительность TCP деградирует
LFN ("elephant", Long Fat Network, RFC 1072): BxD > 12500
Опция Window Scale может помочь
Синхронизация TCP:
В случае перегрузки интерфейса несколькими сессиями TCP
Пакеты сбрасываются по tail drop, одновременно страдают несколько сессий
В этих сессиях уменьшается окно, производительность сессии уменьшается
Затребованная сессиями полоса резко падает, перегрузка спадает
Сессии начинают "раскачиваться", возникает перегрузка, все повторяется
Помогает RED/WRED
Пакеты в сессиях сбрасываются не по tail drop, а случайным образом
UDP Starvation:
UDP не заботится о том, что случилось с отправленными данными
Если отправить данных слишком много, они будут потеряны при транзите
Если в одной очереди смешать TCP и UDP
UDP сожрет всю полосу пропускания
TCP сожмет окно до минимума
Last updated