
- •Глава 2
- •ПРОТОКОЛЫ МУЛЬТИМЕДИЙНЫХ ПРИЛОЖЕНИЙ
- •2.1. Общие принципы формирования пакетов
- •2.1.1. Формирование речевых пакетов. Рекомендации G.711, G.729, G.723, G.726
- •2.2. Понятие о качестве обслуживания
- •2.2.1. Параметры качества обслуживания
- •2.2.2. Дозирование и выравнивание трафика
- •2.2.3. Предотвращение перегрузки
- •2.2.4. Обслуживание очередей
- •2.3. Классы сетевого качества обслуживания
- •2.3.1. Интегральное обслуживание
- •2.3.2. Дифференцированное обслуживание
- •2.3.3. Технология коммутация по меткам
- •2.4. Сопряжение сетей коммутации каналов и пакетов
- •2.4.1. Протокол управления шлюзами
- •2.4.2. Транспортный протокол реального времени
- •2.5. Сеть на основе протокола H.323
- •2.5.1. Общие сведения
- •2.5.2. Канал регистрации, доступа и статуса. Обнаружение менеджера зоны, регистрация, определение местоположения, запрос доступа, определения состояния.
- •2.5.3. Канал управления соединением
- •2.5.4. Канал управления передачей
- •2.5.5. Дополнительные виды обслуживания
- •2.5.6. Сценарий соединения с участием менеджера зоны
- •2.6. Обеспечение безопасности в сети
- •2.6.2. Методы защиты информации
- •2.6.3. Обеспечение безопасности на сетевом уровне
- •2.6.4. Обеспечение безопасности на представительном и прикладном уровнях
- •2.7. Сеть на основе протокола SIP
- •2.7.1. Общие сведения
- •2.7.2. Регистрация абонентов
- •2.7.3. Установление соединения
- •2.7.4. Дополнительные виды обслуживания
- •2.8. Протокол управления передачей потока

Ю.Ф.Кожанов, Колбанев М.О ИНТЕРФЕЙСЫ И ПРОТОКОЛЫ СЕТЕЙ СЛЕДУЮЩЕГО ПОКОЛЕНИЯ
______________________________________________________________________________
При B<b (рис. 2.5а) задержки в передаче пакетов отсутствуют, но в корзине всегда остаются неиспользованные маркеры. Из-за небольшого объема буфера очереди существует опасность потери пакетов во время пиковой нагрузки.
При B=b (рис. 2.5б) задержки в передаче пакетов отсутствуют, всегда происходит опустошение корзины маркеров. Для избегания потерь пакетов интенсивность поступления пакетов на входе должна точно соответствовать согласованной скорости, что редко выполняется на практике.
При B>b (рис. 2.5в) происходит опустошение корзины маркеров. Во время пиковой входящей нагрузки последний пакет в буфере очереди задерживается примерно на (B+b)/r секунд. Буфер очереди рассчитывают так, чтобы избежать потери пакетов: B=b(p-r)/r, где p=(B+b)/T0 – пиковая скорость входящего потока (на рис. 2.5в p=4 байт/с). При переполнении буфера очереди пакеты теряются (два черных пакета).
2.2.3. Предотвращение перегрузки
Хосты заинтересованы передавать информацию с максимальной скоростью, которая, однако, зависит от пропускной способности сети. Поскольку к началу сеанса связи хосты ничего о ней не знают, то они пытаются определить пропускную способность сети самостоятельно, используя алгоритм медленного старта (рис. 2.6). В начале сеанса связи в соответствии с алгоритмом медленного старта устанавливается размер окна, равным одному сегменту (win=1*MSS байт), а пороговое значение размера окна ssthresh=winr – принятому от получателя. При нормальном прохождении сегмента (получении подтверждения) передатчик каждый раз увеличивает размер окна вдвое, поэтому к моменту времени t=3 текущее значение окна передатчика будет равно win=8* MSS байт. Интенсивная передача пакетов приводит к увеличению очереди в проходных маршрутизаторах и снижению пропускной способности сети (пунктирная линия), что приводит к отбрасыванию девятого и последующих сегментов. Такой алгоритм отбрасывания последних пакетов при переполнении очереди получил название отбрасывания хвоста (tail drop).
win/MSS
Значение окна передатчика
Пропускная способность сети
8
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
RTT |
|
|
|
|
|
|
|
RTT |
|
|
|
|
|
t |
||
1 |
2 |
3 |
4 |
6 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|||||
5 |
10 |
11 |
|
Рис. 2.6. Действие алгоритма медленного старта
Не получив в течение тайм-аута (Retransmit Timer Timeout, RTT) подтверждения о приеме 9-го сегмента, TCP-источник
сбрасывает значение окна до одного сегмента (win=1* MSS байт); переустанавливает пороговое значение размера окна до величины, равной
половине текущего значения (ssthresh=8* MSS байт/2=4*MSS байт), хотя значение окна, принятое от получателя winr может иметь гораздо большее значение;
98
Глава 2 |
ПРОТОКОЛЫ МУЛЬТИМЕДИЙНЫХ ПРИЛОЖЕНИЙ |
______________________________________________________________________________
возобновляет передачу неподтвержденных сегментов, следуя алгоритму медленного старта удваивая значение окна, пока оно не достигнет порогового значения (ssthresh=4* MSS байт). При достижении порогового значения размер окна начинает увеличиваться линейно с приращением MSS байт.
В случае повторной перегрузки описанная процедура повторяется, но с новым значением ssthresh.
Подобная процедура ограничения трафика устраняет перегрузку в момент фактического переполнения очереди и хорошо работает в сети с небольшим количеством пользователей. Реально же в сети обычно находится большое количество TCP-соединений. Получив уведомление о перегрузке (по истечению RTT), множество TCP-источников практически одновременно перезапустят алгоритм медленного старта
– сбросят значение размера окна до одного сегмента и начнут экспоненциально его увеличивать, что неизбежно скоро приведет к новой перегрузке. Резкое периодическое снижение интенсивности трафика и его быстрый рост приводят к пилообразному изменению размера очереди, получившему название глобальной синхронизации (global synchronization).
Алгоритм отбрасывания хвоста приводит к резкому снижению пропускной способности сети. С целью устранения эффекта глобальной синхронизации применяют другой алгоритм управления длиной очереди – алгоритм произвольного раннего обнаружения перегрузки (Random Early Detection, RED). В соответствии с ним, вместо ожидания фактического переполнения очереди, алгоритм RED превентивно (заранее) начинает отбрасывать вновь поступающие пакеты с ненулевой вероятностью, зависящей от текущей длины очереди. Вероятностный характер отбрасывания пакетов приводит к отбрасыванию всего лишь нескольких произвольно выбранных пакетов, что является сигналом соответствующим TCP-источникам о необходимости перейти к перезапуску алгоритма медленного старта. Тем самым устраняется эффект глобальной синхронизации.
Отметим, что механизм RED не применим к протоколу UDP, который не чувствителен к потере пакетов.
Имеется несколько модификаций алгоритма RED, связанных с селекцией пакетов по значению поля IP-приоритета, по принадлежности к определенному потоку
(Weighted Random Early Detection, WRED) и т.д.
Для реализации алгоритма произвольного раннего обнаружения перегрузки маршрутизатору необходимо иметь численные значения среднего размера очереди BmidB и вероятности отбрасывания пакета prob.
Средний текущий размер очереди вычисляется по формуле
Bmid = Bmid −1 * (1 −2−n ) +bn * 2−n ,
где BmidB -1 – вычисленный ранее средний размер очереди, bn – измеренный текущий размер очереди, n – весовой коэффициент, определяемый администратором. Большое значение n приводит к доминированию предыдущего среднего значения очереди, малое
– к доминированию текущего размера очереди. Эмпирически найдено наиболее приемлемое значение n=9.
Вероятность отбрасывания пакета вычисляется по формуле
|
prob = |
Bmid − Bmax |
, |
|
|
|
|
|
|
||
|
|
B − B |
|
|
|
где BmidB |
|
max |
BmaxB |
|
|
– вычисленный выше средний текущий размер очереди, |
– |
конфигурируемое администратором значение длины очереди буфера, с которого начинает действовать алгоритм RED, B – конфигурируемое администратором максимальное значение очереди.
99
Ю.Ф.Кожанов, Колбанев М.О ИНТЕРФЕЙСЫ И ПРОТОКОЛЫ СЕТЕЙ СЛЕДУЮЩЕГО ПОКОЛЕНИЯ
______________________________________________________________________________
При малом значении очереди (BmidB < Bmax) отбрасывание пакетов не происходит, при превышении средней длины очереди допустимого значения (BmaxB < Bmid < B) вероятность отбрасывания пакетов линейно возрастает, а при достижении очереди своего максимального значения (BmidB = B) отбрасываются все вновь поступившие пакеты.
На рис. 2.7 приведены временные диаграмм обслуживания пакетов на интерфейсе, на который поступает два потока.
Рис. 2.7а демонстрирует функционирование алгоритма отбрасывания хвоста (tail drop) со значением B = 16. Пакеты первого потока представлены прямоугольниками серого цвета, пакеты второго потока – темно серого цвета. Пустые поля (не раскрашенные прямоугольники) отображают неиспользованную пропускную способность интерфейса. В начале сеанса связи в соответствии с алгоритмом медленного старта оба потока каждый раз удваивают число передаваемых пакетов, пока число пакетов в очереди маршрутизатора не достигнет B = 16. Маршрутизатор отбросит все пакеты, превысившие этот уровень. В данном случае будут отброшены пакеты обоих потоков. Каждый из потоков успел передать по TH=8 пакетов.
При обнаружении потери пакетов оба источника снизят скорость передачи до одного пакета и заново начнут удваивать число передаваемых пакетов до значения TH/2 = 4. После этого каждый из источников начнет линейно увеличивать скорость передачи, пока число пакетов в очереди маршрутизатора не превысит B = 16. Маршрутизатор снова отбрасывает все пакеты, превысившие этот уровень. В данном случае имеем типичный эффект глобальной синхронизации.
Потерянная пропускная способность маршрутизатора (не раскрашенные прямоугольники) оценивается в 106 пакетов.
Рис. 2.7б демонстрирует функционирование алгоритма произвольного раннего обнаружения перегрузки (Random Early Detection, RED) со значениями корзины маркеров BmaxB =14, B =16. Пакеты первого потока представлены прямоугольниками серого цвета, пакеты второго потока – темно серого цвета. Пустые поля (не раскрашенные прямоугольники) отображают неиспользованную пропускную способность интерфейса. В начале сеанса связи в соответствии с алгоритмом медленного старта оба потока каждый раз удваивают число передаваемых пакетов, пока число пакетов в очереди маршрутизатора не достигнет BmaxB = 14. Маршрутизатор выборочно отбросит пакеты одного из потоков. В данном случае отброшены пакеты второго потока. Каждый из потоков успел передать по TH=8 пакетов.
При обнаружении потери пакетов второй источник снизит скорость передачи до одного пакета и заново начнет удваивать число передаваемых пакетов до значения TH/2 = 4, а затем начнет увеличивать скорость передачи линейно. Источник первого потока продолжает передачу с удвоением скорости.
В следующем цикле поступит только 1 пакет второго потока и 16 пакетов первого потока. Поскольку пакетов первого потока существенно больше, то с большей вероятностью будет отброшены пакеты первого потока. При обнаружении потери пакетов первый источник снизит скорость передачи до одного пакета и заново начнет удваивать число передаваемых пакетов до значения TH/2 = 8, а затем начнет увеличивать скорость передачи линейно.
Как видно из диаграммы в случае использования алгоритма произвольного раннего обнаружения перегрузки (Random Early Detection, RED) маршрутизатор попеременно сбрасывает пакеты разных потоков, что повышает пропускную способность сети. Потерянная пропускная способность маршрутизатора (не раскрашенные прямоугольники) оценивается в 89 пакетов, что намного меньше, чем при использовании алгоритма отбрасывания хвоста.
100

Глава 2 |
ПРОТОКОЛЫ МУЛЬТИМЕДИЙНЫХ ПРИЛОЖЕНИЙ |
______________________________________________________________________________
B=16
12
8
4
t
а)
B=16
Bmax=14
12
8
4
t
б)
Рис. 2.7. Временные диаграмм обслуживания пакетов а)при алгоритме отбрасывания хвоста б)алгоритме произвольного раннего обнаружения перегрузки
101