ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2008 Управление, вычислительная техника и информатика № 2(3)
УДК 681.324
В.В. Кокшенев, С.П. Сущенко СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРОПУСКНОЙ СПОСОБНОСТИ
СЕЛЕКТИВНОЙ И ГРУППОВОЙ ПРОЦЕДУР ОТКАЗА ТРАНСПОРТНОГО ПРОТОКОЛА В ОДНОЗВЕННОМ ТРАКТЕ ПЕРЕДАЧИ
В работе предложена модель селективного и группового режимов повторной передачи транспортного протокола в виде цепи Маркова с дискретным временем, учитывающая влияние размера окна и длительности тайм-аута ожидания подтверждения на пропускную способность межузлового тракта. Найдены аналитические зависимости пропускной способности управляющих процедур от протокольных параметров и характеристик каналов связи.
Ключевые слова: тракт передачи, протокол, размер окна, длительность тайм-аута, уровень искажений, пропускная способность, цепь Маркова.
В современных конвергентных сетях, осуществляющих передачу данных, голоса и видео через единую инфраструктуру, существенно повышаются требования к наличию доступной полосы пропускания и, как следствие, к повышению эффективности ее использования. В работе предложена математическая модель протокола транспортного уровня, формализующая режимы селективного и группового отказа [1] цепью Маркова с дискретным временем. Моделируемая ситуация объективно точно описывает взаимодействие пограничных маршрутизаторов провайдеров интернет-услуг по протоколу EBGP [1], сопровождаемое обменом полными таблицами интернет-маршрутизации, а также в некоторых ситуациях и взаимодействие по протоколам IBGP и LDP маршрутизаторов и многоуровневых коммутаторов в провайдерских MPLS-сетях [1]. В обоих случаях характерен обмен большим количеством информации (сотни мегабайт) по TCP-сессиям в небольшие промежутки времени (при установлении сессий). Так как до окончания обмена маршрутной информацией маршрутизаторы не располагают таблицами маршрутизации для принятия решений по направлению пакетов, следовательно, во время обмена интернет-таблицами мешающий трафик в канале связи отсутствует. В модели учтена также природа волоконно-оптических линий связи, имеющих, возможно, существенно разные показатели надежности в прямом и обратном направлениях передачи. Данная ситуация нередко провоцируется неправильной инсталляцией оптических коннекторов. Несмотря на то, что большинство современных стеков протоколов TCP/IP имеют, согласно RFC 793, групповую процедуру отказа, в последнее время начинают появляться реализации с функцией селективного подтверждения для TCP, описанной в RFC 2883. Примером может служить стек протоколов TCP/IP NG операционных систем Windows Server Longhorn и Windows Vista. В связи с данным фактом возрастает актуальность исследования показателей пропускной способности селективного режима отказа.
1. Аналитическая модель
Рассмотрим обмен данных между узлами, соединенными однозвенным трактом передачи данных. Предположим, что выполняются следующие допущения:
1. Узлы тракта соединены дуплексными каналами связи, имеющими одинаковыми пропускные способности в обоих направлениях.
2. Время обработки кадров в узлах тракта одинаково.
3. В каждом узле имеется неограниченный поток кадров для передачи, и обмен выполняется кадрами одинаковой длины.
4. Потерь кадров из-за отсутствия буферной памяти в узлах тракта не происходит.
5. Вероятность потери кадра в канале связи для прямого направления передачи равна Лп, а для обратного - Л0.
Будем считать, что размер окна управляющего протокола определяется величиной -№, а 5 > ^ - задает длительность тайм-аута ожидания подтверждения. После передачи очередного сегмента, протокол копирует его в очередь переданных, но не подтвержденных данных и запускает тайм-аут. Как только размер очереди становится равным ^, управляющий протокол приостанавливает передачу в ожидании получения квитанции или истечения тайм-аута ожидания подтверждения 5. При получении подтверждения, из очереди удаляются сегменты, дошедшие до адресата без искажений. При истечении тайм-аута 5 соответствующий сегмент передается повторно, и тайм-аут запускается вновь. Будем называть тактом время г, необходимое для вывода кадра в линию. Такт определяется суммой времени обработки пакета узлом (время, прошедшее с момента поступления пакета на входном интерфейсе, до момента его помещения в очередь передачи на выходном интерфейсе), времени нахождения пакета в выходной очереди (равно 0, в силу замкнутости модели и отсутствия мешающего трафика), времени вывода пакета в линию и времени прохождения сигнала в канале связи. Селективный и групповой методы управления надежной передачей отличаются способом формирования квитанций. Селективная процедура отказа явно указывает все полученные сегменты данных, а групповая - сообщает номер первого неполученного сегмента. Таким образом, селективная управляющая процедура передает повторно лишь потерянные и искаженные кадры, в то время как групповая - все сегменты, начиная с первого недошедшего до адресата, что потенциально влечет ненужные повторные передачи и загрузку канала связи «холостым» трафиком.
Из введенных предположений нетрудно видеть, что время между поступлениями квитанций кратно г и распределено по геометрическому закону с параметром 1 - Я0, поскольку подтверждения переносятся в каждом протокольном блоке данных независимо. Тогда динамика очереди переданных, но не подтвержденных сегментов на узле-отправителе для различных режимов функционирования управляющего протокола может быть описана цепью Маркова с дискретным временем и числом состояний, равным 5 (см. рис. 1 и 2).
Рис. 1. Цепь Маркова, моделирующая динамику очереди отправленных, но неподтвержденных сегментов в узле-отправителе с селективной процедурой отказа
(1-К0 )(1-(1-Лп)) (1-К0 )(1-(1-Ки)2) (1-К0 )(1-(1 -КиГ1)
Рис. 2. Цепь Маркова, моделирующая динамику очереди отправленных, но неподтвержденных сегментов в узле-отправителе с групповой процедурой отказа
Переходные вероятности цепи Маркова для селективного и группового отказа соответственно задаются следующими зависимостями:
1; г = 0, у = 1;
1; г = 0, у = 1;
П/ =
К; г = 1, я - 2, у = г +1;
1 - К; г = 1, ™ -1, у = 1;
1 - Ко; г = я - 2, у = 0; 1; г = Я -1, у = 0;
0; иначе,
пи =
К; г = 1,5 - 2, у = г +1;
(1 - Ко )(1 - К )'; г = 1, ^ -1, у = 1;
(1 - Ко )(1 - (1 - К )г); г = 1, ^ -1, у = 0;
(1 - Ко ); г = 5 - 2, у = 0;
1; г = 5 -1, у = 0;
0; иначе.
Очевидно, что из состояния 0 в состояние 1 узел-отправитель переходит с вероятностью детерминированного события. Дальнейший рост очереди неподтвержденных сегментов происходит с вероятностью искажения подтверждения в обратном канале. Различия поведения управляющих процедур наблюдаются при получении сегмента с подтверждением:
1. При селективной процедуре повторной передачи получение отправителем подтверждения в состоянии к = 1, ж -1 вызывает переход в первое состояние, так как поступившее подтверждение не несет информации об успешности передачи последнего переданного сегмента. При получении квитанции отправителем в состоянии к = Б - 2 происходит переход в нулевое состояние, так как поступившая квитанция несет полную информацию об успешности передачи всех сегментов, которые не были подтверждены и находятся в очереди.
2. При групповой процедуре отказа получение отправителем подтверждения в состоянии с номером к = 1, ж -1 имеет два возможных исхода: если к кадров были переданы без искажений, то происходит переход в состояние номер один, так как источнику не известна судьба лишь последнего переданного кадра; иначе происходит переход в нулевое состояние, так как в этом случае были потери сегментов
и, в соответствии с логикой работы группового режима отказа, необходимо начать передачу всех сегментов, начиная с первого, не дошедшего до получателя.
Если отправитель переходит в состояние с номером 5 - 1 и в течение следующего такта не получает подтверждения (данное событие наступает с вероятность К0), то происходит переход в нулевое состояние с последующей повторной передачей содержимого всей очереди. Если, находясь в состоянии с номером 5 - 1, узел-отправитель получает квитанцию (событие наступает с вероятностью неис-кажения квитанции 1 - К0), то все равно происходит переход в состояние номер 0, но начинается передача новых сегментов.
2. Пропускная способность управляющего протокола
Определим пропускную способность рассматриваемого звена как отношение среднего объема данных, передаваемых до получения квитанции, к среднему времени получения квитанции [2]:
Сс (*, 5) = ^, г
где Ь - длина передаваемых сегментов, г - среднее время передачи сегмента с подтверждением по исследуемому тракту с учетом повторных передач из-за возможных искажений в каналах связи, ж - среднее количество сегментов, переданных верно, между последовательным получением подтверждений. Среднее время между приходами квитанции отправителю в силу геометрического распределения времени получения подтверждения составит
г
г = -
1 - я
о
Расчет среднего количества сегментов ж, передаваемых верно между последовательными получениями подтверждений, согласно [2] с учетом влияния длительности тайм-аута ожидания уведомления о корректности приема последовательности сегментов выполняется из следующего соотношения:
__ щ 5-1
" = IР 4 + I Р 4,
к=1 к=щ+1
где 4 - среднее количество сегментов, переданных без ошибок в пачке длины к,
к
определяемое соотношением 1к = ^ Р(г, к)г. Здесь Р(г,к) - вероятность безоши-
г=1
бочной передачи в прямом направлении г сегментов в пачке длины к. Согласно результатам, полученным в [3], данную величину можно представить для селективной и групповой процедур отказа соответственно в виде
; ; к ; [(1 - К У К, * < к;
РЦ, к) = Ск (1 - кп у яПк-1 и Р(1, к) = Л п', п ’
[(1 - Кп)к, * = к.
Из системы уравнений локального равновесия для состояний цепи Маркова, описывающей динамику очереди переданных, но не подтвержденных сегментов в режиме селективного отказа, с учетом условия нормировки получаем следующую функциональную зависимость вероятностей состояний Рк от уровня искажений в обратном канале связи:
(1 - Ro) Ro
w-1
1 + Rw-1 - R w - R S-1
(1 - Ro) Ro
k-1
1 + Rw-1 - Rw - RS-1
■, k = 1, S -1.
Для группового отказа аналогичная зависимость будет определяться еще и уровнем искажений в прямом канале:
(1 - R0)(R + (1 - R0 )(1 - R) R0w-1 (1 - R)w-1)
Po =
Pk =
1 + Rn - Ro + (1 - Ro )2 RoW-1 (1 - Rn )w - RS-1 (1 - Ro (1 - Rn)) ’
(1 - Ro )(1 - Ro (1 - R„))R0
k-1
1 + Rn - Ro + (1 - Ro )2 Row-1 (1 - Rn )w - RoS-1 (1 - Ro (1 - Rn))’
k1, S-1.
Используя данные решения, из (1-3) получаем окончательное выражение пропускной способности управляющей процедуры селективного Сс(^,5) и группового Сг(^,5) режимов функционирования протокола транспортного уровня:
Сс (ц>, Б) = у 2, (w, Б); Сг (w, Б) = у 2Г (w, Б).
Здесь Zc(w,S) и Zг(w,S) - нормированные индексы пропускной способности селективной и групповой процедур отказа:
Zc (w, S) = (1 - Rn)
f 1 - Rpw - wRas-l (1 - Rp) ^
1 + Ro w-1 - Ro w - Ro s-1
(4)
Zr (w,S)=(1-Rn )(1-R0 )x {Rn - Rpw [1-Rp (1-Rn)-(1-Rp )(1-Rn )w+1 -(1-RS0 -w-1 )(1-Rp (1-Rn ))(1-(1-Rn f)]} (5)
' Rn (1+Rn -Ro +(1-Ro)2RoW-1 (1-Rn)w-RoS-1 (1-Ro (1-Rn))) '
3. Сравнительный анализ селективной и групповой процедур отказа
Рассмотрим поведение нормированной потенциальной пропускной способности межузлового абонентского соединения в ряде частных случаев, определяемых различными уровнями ошибок в прямом и обратном направлениях передачи, а также значениями протокольных параметров размера окна •№ и длительности ожидания квитанций 5.
1. В случае разрыва тракта передачи в одном из направлений ^0=1 или Rп=1) нормированная пропускная способность управляющей процедуры деградирует до
0 вне зависимости от режима отказа, а в случае абсолютной надежности канала связи в обоих направлениях передачи ^0 = 0 и Rп = 0) пропускная способность управляющих протоколов принимает ожидаемое значение, равное 1.
2. Для абсолютно надежного обратного канала связи ^0 = 0) соотношения (4) и (5) приобретают вид:
1 - R
Б) = 1 - Rn и 2, (*, 5) = —п,
1+К
а для абсолютно надежного прямого канала связи ^п = 0, R0 > 0) получаем сле-
дующий результат:
. ( Б) . ( Б) 1 - Яо" - ^я/-1 (1 - Я)
2с ^, Б) = 2г Б) =------------;------------ .
1 + я0"-1 - я0" - я/-1
Отсюда видно, что при абсолютно надежной решающей обратной связи групповая процедура отказа показывает меньшую пропускную способность, чем селективный режим. Эта ситуация объясняется поведением групповой процедуры при повторных отправлениях недошедших до адресата кадров. Предположим, что происходит обмен пачками из трех кадров (щ=3). Пусть при передаче первой последовательности средний кадр потерялся. Селективная процедура отказа, формируя следующую последовательность из трех кадров, передаст второй кадр (потерявшийся) и возобновит передачу новых, в то время как групповой режим отправит кадры с номерами 2 и 3 и лишь потом начнет передавать новые. В случае же абсолютно достоверной передачи в сторону адресата, оба метода, как и следовало ожидать, имеют одинаковую пропускную способность.
3. При длительности ожидания квитанции, превосходящей размер окна на единицу (5 = •№ + 1), обеспечивается минимальное число состояний цепи Маркова с непроизводительными простоями отправителя, поскольку только в состоянии с номером источник приостанавливает передачу данных и ожидает получения квитанции на всю отправленную последовательность сегментов в течение одного такта. Выражения (4), (5) при этом принимают известный вид [2]:
Ш + 1) = (1 - ЯП - -С (1 + 41 )) ;
1 + (1 - 2Я0 ЖТ1
(1 - Яд )(1 - ){ - [1 - (1 - Яд ) - (1 - )(1 - Яд )"+ ]}
Яд (1 + Яд - Яо + (1 - Яо )2 Яо"-1 (1 - Яд ): - я: (1 - Яо (1 - Яд))) .
4. В случае неограниченной длительности тайм-аута ожидания подтверждения (5^да) и конечного размера окна (и<да) нормированные коэффициенты загрузки тракта преобразуются к виду
1 - Я к
2с (*,«) = (1 - Яп) 0 ■
w +1) =
1 + ЯПК-1 - Яо
г, (ш,«)=(1--п )(1-я0 )х
Яп -Я[1-Л 0 (1-Л п)-(1-Я0 )(1-Яп)№+1 -(1-(1-Яп)" )(1-Я0 (1-Яп)) ]}
------------------------------------------------------------------.
Яп (1+Яп - Яо + (1-Яо)2 ЯО^1 (1-Яп)")
При использовании неограниченного размера окна (^^да), а, следовательно, и неограниченной длительности тайм-аута ожидания подтверждения (5^да) получаем
(1 - Яо )(1 - Яп )
^с К да) = (1- Яд); ^г Кда) = -
1 + Яп - Яо
Для однородного уровня ошибок в обоих направлениях передачи канала связи (Rп = Ro = R) нормированные индексы быстродействия принимают вид
с К*) = (1 - Я); 2г («,«) = (1 - Я)1.
Из (4), (5) нетрудно видеть также, что 2Т (да, да) = 2с (2,3) = (1 - Я)2 . То есть для статистически однородного дуплексного тракта передачи данных потенциальные возможности режима группового отказа в режиме селективного отказа достигаются уже при w = 2 и 5 = 3. Неограниченный рост длительности тайм-аута при w = 2 обеспечивает дальнейшее увеличение индекса производительности селективного режима функционирования управляющего протокола:
2с (2, да) = (1-Я)2----------—-.
с 1 + Я(1 - Я)
Таким образом, при w > 2 и 5 > 3 значения пропускной способности селективного режима отказа мажорируют максимально достижимый уровень производительности режима группового отказа.
5. Полагая размер окна единице, а длительность тайм-аута ожидания подтверждения - двум, получаем значения пропускной способности, совпадающие с известными выражениями для стартстопного протокола:
(1 - Я0 )(1 - Яп)
гс (1,2) = ^ (1,2) = -
2
что подтверждает преемственность предложенной модели асинхронной процедуры по отношению к стартстопному протоколу.
6. Важным частным случаем значений протокольных параметров является ситуация, когда выбранный размер окна равен или превышает размер тайм-аута ожидания подтверждения ( ш > 5 ). При этом очередь переданных, но не подтвержденных кадров управляющего протокола никогда не будет содержать количество кадров больше чем 5-1. Очевидно, что пропускные способности различных режимов отказа в данном случае будут зависеть лишь от 5. Полагая в соотношениях (4), (5) w = 5, получаем следующие выражения для пропускных способностей селективной и групповой процедур отказа соответственно:
^ (5) = (1 - Яп)‘ - ШЯо - +<? -1 Яо" ;
1 - Я,
0
2 = (1 - Яп )(1 - Яр ) { - яр-1 [1 - { (1 - Яп ) - (1 - Яр )(1 - Яп )*]}
г Яп (1+Яп - Я0 + (1 - Я0 )2 яр-1 (1 - Яп )5 - яр-1 (1 - Я0 (1 - Яп ))) .
В табл. 1 и 2 приведены индексы производительности управляющих процедур протокола транспортного уровня при различных режимах функционирования для симметричных по надежности каналов связи ^п = Ro = R).
Из численных результатов, приводимых в таблицах, видно, что индекс производительности пропускной способности монотонно растет с увеличением размера окна и выходит в режим насыщения уже при > 5 для селективной процедуры отказа и при w > 4 для групповой процедуры отказа. Однако селективная процедура отказа обеспечивает большую пропускную способность, чем групповая. Анализ показывает, что с ростом надежности канала преимущество селективной процедуры отказа в сравнении с групповой снижается. Полученные результаты позволяют утверждать, что для селективной процедуры отказа при заданном размере окна показатель пропускной способности возрастает с увеличением длительности тайм-аута ожидания подтверждения и практически достигает теорети-
ческого предела при насыщении по протокольному параметру w для значений 5, превосходящих ширину окна на 2 - 4 такта, в то время как для групповой процедуры отказа аналогичный результат наблюдается при 5, превосходящем w, на 1 -
3 такта. Данные выводы подтверждают результаты, полученные в [4].
Таблица 1
Индекс пропускной способности селективной процедуры отказа
Л w Zc(w,w) Zс(w,w+1) Zс(w,w+2) Zс(w,w+3) Zс(w,w+4) Zс(w,да)
1 0,000 0,405 0,424 0,426 0,426 0,426
2 0,736 0,810 0,817 0,817 0,817 0,817
0,1 3 0,876 0,890 0,891 0,891 0,891 0,891
4 0,897 0,899 0,899 0,899 0,899 0,899
да 0,900 0,900 0,900 0,900 0,900 0,900
1 0,000 0,320 0,349 0,354 0,355 0,355
2 0,533 0,640 0,658 0,661 0,662 0,662
3 0,723 0,760 0,767 0,769 0,769 0,769
0,2 4 0,779 0,791 0,793 0,794 0,794 0,794
5 0,795 0,798 0,799 0,799 0,799 0,799
6 0,799 0,800 0,800 0,800 0,800 0,800
да 0,800 0,800 0,800 0,800 0,800 0,800
1 0,000 0,245 0,277 0,285 0,287 0,288
2 0,277 0,490 0,516 0,523 0,526 0,526
3 0,564 0,619 0,634 0,639 0,640 0,640
0,3 4 0,647 0,671 0,678 0,681 0,681 0,681
5 0,680 0,690 0,693 0,694 0,694 0,694
6 0,693 0,697 0,698 0,698 0,698 0,698
да 0,700 0,700 0,700 0,700 0,700 0,700
Таблица 2
Индекс пропускной способности групповой процедуры отказа
Л w Zг(w,w) Zг(w,w+1) Zг(w,w+2) Zг(w,w+3) Zг(w,w+4) Zг(w,да)
1 0,000 0,386 0,422 0,426 0,426 0,426
2 0,628 0,741 0,753 0,754 0,754 0,754
0,1 3 0,786 0,803 0,804 0,805 0,805 0,805
4 0,807 0,809 0,809 0,810 0,810 0,810
да 0,810 0,810 0,810 0,810 0,810 0,810
1 0,000 0,291 0,343 0,353 0,355 0,355
2 0,410 0,544 0,570 0,575 0,576 0,576
3 0,581 0,620 0,627 0,629 0,629 0,629
0,2 4 0,626 0,636 0,638 0,638 0,638 0,638
5 0,637 0,639 0,640 0,640 0,640 0,640
6 0,639 0,640 0,640 0,640 0,640 0,640
да 0,640 0,640 0,640 0,640 0,640 0,640
1 0,000 0,213 0,267 0,282 0,286 0,288
2 0,271 0,389 0,423 0,433 0,436 0,437
3 0,412 0,459 0,472 0,476 0,478 0,478
0,3 4 0,464 0,481 0,485 0,487 0,487 0,487
5 0,482 0,487 0,489 0,489 0,489 0,489
6 0,487 0,489 0,490 0,490 0,490 0,490
да 0,490 0,490 0,490 0,490 0,490 0,490
ЛИТЕРАТУРА
1. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. СПб.: Питер, 2006. 958 с.
2. Сущенко С.П. Модели систем передачи данных // Международный семинар «Статистические системы управления» 3 - 4 июля 1999 г. Дрезденский политехн. ун-т; Томск: НИИАЭМ, 1999.
3. Ge/enbe E., Labetow/le J., Рм/Ы/е G. Performance evaluation of the HDLC protocol // Com-put. Networks. 1978. V. 2. Ко. 4/5. P. 409 - 415.
4. Кокшенёв В.В. Оптимизация операционных характеристик протокола транспортного уровня при селективной процедуре отказа // Научное творчество молодежи: Материалы XI Всероссийской научно-практической конференции. Ч. 1. C. 89 - 92.
Статья представлена кафедрой прикладной информатики факультета информатики Томского государственного университета, поступила в научную редакцию 2 апреля 2008 г.