Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 125
Текст из файла (страница 125)
Резервироваться могут три типа ресурсов: 1. Пропускная способность. 2. Буферное пространство. 3; Время центрального процессора. Наиболее очевидно резервирование пропускной способности. Если потоку необходима скорость 1 Мбит/с, а исходящая линия может работать со скоростью 2 Мбит/с, то направить три потока с такими параметрами по этой линии не удастся. То есть резервирование пропускной способности означает предотвращение предоставления канала большему числу абонентов, чем канал может обработать. Вторым дефицитным ресурсом является буферное пространство.
Когда прибывает пакет, он обычно оседает на сетевой интерфейсной карте (это действие управляется аппаратно). Затем программному обеспечению маршрутизатора необходимо скопировазь пакет в буфер оперативной памяти и поставить содержимое этого буфера в очередь на отправку по выбранной исходящей линии. Если оуферное пространство недоступно, входящий пакет приходится игнорировать, поскольку его просто негде сохранить. Для обеспечения хорошею качества обслуживания можно резервировать некоторую часть буферной памяти под конкретный поток, чтобы ему не пришлось бороться за буфер с другими потоками.
тогда при передаче потока ему всегда будет предоставляться вьшеленная часть Руфера, вплоть до некоторого максимума. Наконец, время центрального процесса — это еще один очень ценный ресурс. На что расходуется время работы процессора в маршрутизаторе? На обработку пакетов. Поэтому существует предельная скорость, с которой маршрутизатор Может обрабатывать пакеты. Необходимо быть уверенным в том, что процессор де перегружен, — это залог своевременной обработки каждого пакета. 468 Глава Б.
Сетевой уровень На первый взгляд кажется, что если на обработку пакета уходит, скажем, 1 мкс, то маршрутизатор способен управиться с миллионом пакетов за секунду, Одна. ко зто предположение ошибочно, так как при доставке потока всегда есть про межутки времени, в течение которых ничего не передается. Если центральному процессору для совершения своей работы важен каждый отдельный такт, то про пуск нескольких тактов из-за молчания на линии приведет к накоплению невыполненных заказов, от которых невозможно избавиться.
Однако даже если нагрузка несколько меньше теоретической емкости, все равно могут образовываться очереди и возникать задержки. Рассмотрим ситуацию, когда пакеты прибывают нерегулярно со средней скоростью прибытия Х пакетов в секунду. Время, необходимое процессору на обработку каждого пакета, также меняется, но в среднем составляет и пакетов в секунду. Предположим, что как скорость прибытия, так и скорость обслуживания имеют пуассоновское распределение. Тогда, используя теорию массового обслуживания, можно доказать, что средняя задержка Т, присущая пакету, составляет 1 1 1 1 Т= — х = — х— и 1 Х/и и 1 где р = Х/И вЂ” коэффициент использования центрального процессора.
Первый сомножитель 1/И вЂ” это задержка при отсутствии конкуренции. Второй сомножитель представляет собой дополнительную задержку, возникающую в результате конкурентной борьбы с другими потоками. Например, если Х = 950 000 пакетов/с, а и = 1 000 000 пакетов/с, тогда р = 0,95, и средняя задержка каждого пакета составляет 20 мкс вместо 1 мкс. Эти подсчеты учитывают и задержку доставки, и задержку обработки: при малом трафике отношение Х/И = О. Если на пути потока стоят, скажем, 30 маршрутизаторов, то одна только задержка обслуживания составит 600 мкс. Управление доступом Итак, в результате проведенной работы мы получили входящий трафик в виде хорошо сформированного и, возможно, следующего по единому маршруту потока, На пути потока можно заранее резервировать ресурсы.
Когда маршрутизатору предлагается обработать такой поток, он может принять или отвергнуть его, обосновывая свое решение доступной емкостью и количеством уже находящихся в обработке потоков. Процесс принятия решения об обработке или игнорировании потока сложнее, нежели простое сравнение запрашиваемых потоком параметров (пропускной способности, буферной памяти, времени центрального процессора) с имеющимися. Во-первых, хотя многие приложения и знают свои требования к пропускной способности, они понятия не имеют, какой объем буферной памяти и сколько тактов работы процессора им требуется.
Следовательно, нужен, по крайней мере, иной способ описания потоков, Далее, приложения весьма различаются по толерантности в отношении пропущенного предельного срока обработки. Наконец, некоторые приложения могут поторговаться за параметры пакетов, а некоторые не могут. Скажем, проигрыватель видео, предоставляющий обычно ЗО кадров/с, Качество обслуживания 469 может согласиться работать на 25 кадрах/с, если для 30 не хватает пропускной способности.
Аналогично, можно настраивать количество пикселов на кадр, полосу пропускания для аудиоданных и другие свойства потоков различных приложений. Поскольку в спор по поводу того, что делать с потоком, вовлечено много сторон (отправитель, приемник и все маршрутизаторы на пути между ними), поток необходимо описывать крайне аккуратно с помощью параметров, о которых можно дискутировать. Набор таких параметров называется спецификацией потока.
В типичном случае отправитель (например, сервер видеоданных) создает спецификацию потока, указывая параметры, которые он хотел бы использовать для аргументации. По мере того как эта спецификация распространяется по пути следования потока, содержащаяся в нем информация анализируется всеми маршрутизаторами, которые модифицируют параметры так, как считают нужным. Эти модификации могут быть направлены только на снижение трафика — никто не станет сознательно брать на себя больше работы, чем требует заказчик (например, указываемая в спецификации скорость передачи данных может быть пони- жена, но не повышена). Когда спецификация доходит до приемника, становятся понятны окончательные параметры. В качестве содержимого спецификации потока рассмотрим пример, базирующийся на КГС 2210 и КГС 2211 (табл. 5А).
В спецификации содержится пять параметров, первый из которых, Скорость маркврного ведра, хранит число байтов, поступатощих в «ведро» за секунду. Это максимум, который отправитель может поддерживать в течение длительного времени, усредненный по большому временному отрезку. Таблица 5.4. Пример спецификации потока Параметр Единицы измерения Скорость маркерного ведра Размер маркерного ведра 'Пиковая скорость передачи данных Минимальный размер пакета Максимальный размер пакета байт(с байт байт/с байт байт Второй параметр — размер маркерного ведра в байтах. Если, к примеру, СкоРостпь маркврного ведра составляет 1 Мбит/с, а размер ведра равен 500 Кбайт, то его можно будет наполнять данными в течение 4 с. Все, что будет посылаться после этого, будет теряться.
Третий параметр, Пиковая скорость передичи давньи, — это максимальная допустимая скорость даже для коротких промежутков времени. Отправитель пи в коем случае не должен превышать это значение. Наконец, последние два параметра определяют минимальный и максимальный Размеры пакетов, включая заголовки транспортного и сетевого уровней (на"Ример, ТСР и 1Р). Минимальный размер важен, поскольку обработка каждого пакета занимает какое-то, пусть даже очень малое, время.
Маршрутизатор, может быть, готов принимать 10 000 пакетов в секунду по 1 Кбайт каждый, но нс 470 Глава 5. Сетевой уровень готов обрабатывать 100 000 пакетов по 50 байт в секунду несмотря на то, что во втором случае скорость передачи данных меньше, чем в первом. Максимальный размер пакета не менее важен, но уже по другой причине. Дело в том, что существуют определенные внутрисетевые ограничения, которые ни в коем случае не должны быть превышены. Например, если путь потока лежит через Ес(тегпес, то максимальный размер пакета будет ограничен 1500 байтами независимо от того, какого размера пакеты могут поддерживать другие части сети. Интересно, каким образом маршрутизатор преобразует спецификацию потока в набор определенных резервируемых ресурсову Это отображение является специфическим и не стандартизованным действием.
Допустим, маршрутизатор может обрабатывать 100 000 пакетов/с. Если ему предлагается пропустить через себя поток со скоростью 1 Мбайт/с с максимальным размером пакета, составляющим 512 байт, он может легко посчитать, что такой поток дает 2048 пакетов/с, значит, под него необходимо отвести 2% времени работы процессора, а лучше немного больше, чтобы избежать больших задержек обслуживания. Если политика маршрутизатора не позволяет ему резервировать более 50% процессорного времени (что подразумевает половинную задержку) и если 49 % уже зарезервировано, то поток будет отвергнут.
Подобные вычисления необходимо производить для всех резервируемых ресурсов. Чем строже спецификация потока, тем лучше для маршрутизаторов. Если же в спецификации говорится, что Скорость маркерного ведра составляет 5 Мбайт/с, однако пакеты могут быть размером от 50 до 1500 байт, значит, скорость передачи пакетов может колебаться от 3500 до 105 000 пакетов/с.