Р.Л. Смелянский - Компьютерные сети. Том 2. Сети в ЭВМ (1130083), страница 14
Текст из файла (страница 14)
При этом устанавливается предел числа пакетов, которые процесс может направить в сеть за один определенный промежуток времени. Этот прием дает хорошие результаты, когда пакеты имеют фиксированную длину, как в СПД АТМ [361. В случае если пакеты имеют переменную длину, это соглашение ограничивает число байтов, направляемых в сеть. Например, если разрешается 500 мс мс 0 мс ме Рис. 2.16. Примеры работы алгоритма текущего ведра при разных скоростях входного потока (а...е) 58 .;::::::: за,один промежуток времени послать 2 048 байт данных, то это может '- багги два пакета по 1 024 байт или 4 пакета по 512 байт.
Если же пакет - бпдьше чем 2048 байт, например 2 560 байт, то он должен ждать следующего временнбго промежутка На рис. 2.16 показан пример использования алгоритма текущего ,.:-'. ведра со счетчиком байтов. Если имеется буфер С размером 1 Мбит, а ' '. скорость передачи равна 2 Мбит(с, то при всплеске размером 1 Мбит '.:. в,течение 40 мс (рис. 2.16, а) система легко справится с таким графи- :, ком.
При этих условиях даже неважно, с какой скоростью будет по.:, '-:ступать этот 1 Мбит данных, главное, чтобы этот всплеск графика не :: ' растянулся более чем на 500 мс. На рис. 2.16, в... е показана работа ::",:; алгоритма текущего ведра при разных скоростях входного потока. Алгоритм ведра с маркерами Алгоритм текущего ведра позволяет сгладить график, убрать не- 'регулярность передачи. Однако в целом ряде приложений бывает ,-; Полезно при наличии всплеска графика и необходимых ресурсов раз' -ейэещить УскоРить на некотоРое вРемЯ пеРедачУ пакетов в сеть. Одним .:„Из алгоритмов, позволяющих это сделать, является алгоритм ведра с ...в Маркерами, который иллюстрирует рис. 2.17 119, 59) м ° Идея этого алгоритма заключается в том, что вместе с пакетами в ведро "; Поступают маркеры (рис.
2.17, а) и пакеты уходят из ведра в сеть только ';1 йри наличии соответствующего числа маркеров (рис. 2.17, б). Таким об- .*'- разом можно накапливать маркеры и кратковременно ускорять передачу :-„-: Пакетов в сеть Квжлые оТв в ло является! мв Сети Сети Рис. 2.17. Алгоритм ведра с маркерами: а — поступление маркеров; о — истечение маркеров 59 Особенность алгоритма ведра с маркером заключается в том, что при переполнении буфера маршрутизатору будет временно запрешено перелавать пакеты. Существуют разные варианты этого алгоритма, зависяшие от длины пакетов, правил работы со счетчиком маркеров и т.д. Для реализации алгоритма ведра с маркерами необходима лишь переменная, значение которой увеличивается каждые ЬТ секунл и уменьшается с каждым посланным пакетом.
Б случае использования пакетов с нефиксированной длиной значение этой переменной увеличивается на 1 байт каждые Л7' секунд и уменьшается на длину каждого посланного пакета. Нетрудно рассчитать длительность всплеска трафика при передаче, осушествляемой на основе уравнения С ч- ро = Мо, где С вЂ” объем буфера; р — скорость поступления маркеров; о — длительность всплеска графика; М вЂ” максимальная скорость «вытекания» данных. Таким образом, о = СДМ вЂ” р).
Примеры, приведенные на рис. 2йб, г...е, иллюстрируют эту функцию для случая, когда буфер С = 250 Кбит, М= 25 Мбит 1с и р = = 2 Мбит7с. 2.3.5. Спецификация потока Формирование трафика эффективно, если отправитель, получатель и среда передачи заранее договорились о его форме. Такое соглашение, называемое спецификацией потока, представляет собой структуру данных, которая определяет как форму выходною трафика, так и качество сервиса, необходимого приложению. Спецификация потока применима как к пакетам, передаваемым по виртуальным каналам, так и к дейтаграммам.
Табл. 2.2 представляет собой пример спецификации потока. В левом столбце этой таблицы приведены характеристики выходного потока, а в правом — определены те свойства, которые приложение ожидает получить от СПД. Максимальный размер пакета определяет размер пакета, отправляемого в сеть, а чувствительность к потерям определяет допустимое приложением число байтов, теряемых в единицу времени, например в час. Пропускная способность ведра с маркерами определяет скорость его наполнения, а размер ведра с маркерами представляет собой число маркеров в байтах, помещающееся в ведре. Максимальная скорость передачи — это наибольшая скорость, с которой машина может передавать данные. Минимально допустимый интервал между потерями — параметр, важный, например при перелаче видеоланных.
Чувствительность к 60 Таблица 2.2 Пример спецификации потока Треауеиыя сервис Характеристики выходного потока Максимальный размер пакета, байт Чувствительность к потерям, байт Пропускная способность ведра е Интервал между потерями, мкс маркерами байтус Размер ведра с маркерами, баит Чувствительность к потерям пакетов, пак.
Максимальная скорость передачи, байту'с Минимальная задержка, мкс; максимальное отклонение в задержке, мкс; гарантии качества втклонение в задержке — это параметр, необходимый для тех приложений, в которых не так важно абсолютное значение задержки, как !",.:,Ее отклонение от среднего значения, т.е. равномерность. Наконец, :-:: . гарантия качества указывает на важность перечисленных требований для приложения. Например, если необходимо установить связь с приложением где-то во Владивостоке, то ясно, что требования к качеству будут ниже, чем при соединении с приложением где-то в !:: Москве. Проблема может состоять в том, что приложение может не ;.: знать, какие характеристики потока ему необходимы. 2.3.6. Управление перегрузками в сетях с виртуальными каналами До сих пор мы рассматривали методы управления перегрузками с ;.:;:,::,открытым контуром, которые скорее стараются предотвратить по- явление перегрузок, чем, обнаружив перегрузку, принять меры к ее Устранению.
Рассмотрим теперь только один метол устранения уже возникшей перегрузки в сетях с виртуальными каналами — динами :.;,ческий контроль доступа. Первый прием динамического контроля доступа, широко исполь' ': зуемый для сдерживания уже возникшей перегрузки и предотвращения ;,: ухудшения положения, называется кон |ролем на входе 1491. Идея это:::: го приема очень проста: если обнаружена перегрузка, то все, что спо:;-''' 'собствует увеличению трафика, запрещено.
Прежде всего, запрешает-:- ','ся создание новых виртуальных соелинений, а значит, и создание новых 61 :.:;:-:;.потерям пакетов характеризуется максимально допустимым для приложения числом потерянных пакетов. Минимальная задержка — это минимальный интервал времени, на которое может опоздать пакет, чтобы для приложения это было незаметно. Например, минимальная задержка пакета при передаче файла и минимальная задержка паке.;::;,;::.та при передаче видеопотока — разные величины. Максимальное соединений на транспортном уровне. Этот метод хотя и грубоват, но прост в реализации и хорошо апробирован в телефонных сетях. Второй прием разрешает установку новых виртуальных соединений, но только в обход перегруженных маршрутов, даже если такие маршруты далеко неоптимальны.
Третий прием уже упоминался — формирование трафика, при котором абонентская машина и транспортная среда договариваются перед установкой виртуального соединения о форме графика, объеме передаваемых данных, качестве сервиса и т.п. После этого транспортная среда резервирует количество ресурсов, необходимых ей для выполнения этих соглашений. Такое резервирование может происходить постоянно или только при возникновении перегрузок. Плата за резервирование — неоптимальное использование пропускной способности СПД.
2.3.7. Подавляющие пакеты Теперь рассмотрим методы управления перегрузками, используемые как в средах с виртуальными каналами, так и в средах с дейтаграммами. Эти методы, как правило, связаны с контролем нагрузки на выходе ~491. Каждый маршрутизатор может контролировать степень загрузки своих выходных линий и другие ресурсы, и поэтому всякий раз, когда при очередном вычислении загрузка оказывается выше некоторого порогового значения, соответствующая линия переводится в состояние предупрежления. Каждый пакет, маршрутизируемый через такую линию, вызывает генерацию подавляющего пакета, направляемого отправителю маршрутизируемого пакета. При этом в пакете отправителя проставляется определенный разряд, предотвращающий генерацию в дальнейшем подавляющих пакетов другими маршрутизаторами. Когда отправитель получает подавляющий пакет, он сокращает интенсивность своего трафика на определенное значение, которое является параметром метода.
Поскольку пакеты, направляемые одному и тому же получателю„могут маршрутизироваться по-разному, отправитель вправе ожидать несколько подавляющих пакетов. В течение определенного интервала времени отправитель будет игнорировать подавляющие пакеты, поступающие с направления получателя. По истечении этого интервала времени отправитель ожидает появления подавляющих пакетов в течение следующего интервала времени, и если появляется хоть один подавляющий пакет, значит, линия перегружена и отправитель опять ждет. Если в течение очередного интервала времени не поступило ни одного подавляющего пакета, отправитель может увеличить интенсивность трафика.
Существует много вариантов приведенного алгоритма [! 9, 49]. Так, например, можно использовать не только загруженность линии, но и длину очереди, наполненность буфера и параметры спецификации графика. б2 У методов управления перегрузками на основе подавляющих пакетов есть один недостаток, Если имеется несколько отправителей, -::. Работающих через одну и ту же выходную линию, то при определенных условиях маршрутизатор всем им пошлет подавляющие пакеты. Однако так как отправители независимы, то один, например, может сократить трафик значительно, а все другие — незначительно. Это приведет к несправедливому использованию пропускной способности канала между ними. Для предотвращения такой ситуации был предложен алгоритм ,:;-;.
справедливого чередования, суть которого состоит в том, что для :;,':".: каждого отправителя у выходной линии строится своя очередь. ОтПравка пакетов из этих очередей происходит по кругу, поэтому если кто-то из отправителей незначительно сократит график, это лишь увеличит скорость роста его очереди Однако и у этого алгоритма имеется недостаток: если один отпра;;.':-',, «витель использует длинные пакеты, а другой короткие, то последний получает меньшую долю пропускной способности линии. Для борьбы с этой несправедливостью алгоритм обслуживания очередей мо;:, -; дифицируется: пакеты из очередей передаются побайтно, а не весь пакет сразу Другие модификации алгоритма чередования связаны с установкой приоритетов межлу очередями, что обеспечивает ббльшую гибкость в обслуживании отправителей. Так, если имеются очереди сервера и клиента, то, естественно, очередь сервера обслуживается быстрее Представленные алгоритмы с подавляющими пакетами плохо работают в высокоскоростных сетях и на больших расстояниях.