Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 123
Текст из файла (страница 123)
При атом в сетях, ориентированных на соединение, все пакеты потока следуют по одному и тому же маршруту, а в сетях без установления соединения они могут идти разными путями. Каждому потоку требуются определенные условия, которые можно охарактеризовать следующими четырьмя основными параметрами: надежность, задержка, флуктуация и пропускная способность.
Все вместе они формируют то, что называется качеством обслуживания (Оо5 — Яиа11гу о1 Бегу1се), необходимым потоку. Некоторые об~цие приложения особенно строго подходят к вопросу качества обслуживания, как показано в табл. 5.3. Таблица В.З. Строгие требования некоторых приложений к качеству обслуживания Приложение Низкая Низкая Слабые Слабые Слабые Низкая Средняя Средняя Низкая Средняя Средняя Низкая Средние Сильные Средняя Высокая Сильные низкая Высокая Высокая Низкая Высокая Сильные Сильные Первые четыре приложения предъявляют высокие требования к надежности.
Некорректная доставка битов должна быть исключена. Обычно зто достигается подсчетом контрольной суммы для каждого пакета и ее проверкой у получателя. Электронная почта Передача файлов Веб-доступ Удаленный доступ Аудио по зе каэу Видео по заказу Телефония Видеоконференции Надежность Задержка флуктуации Пропускная способность Высокая Высокая Высокая Высокая Низкая Низкая Низкая Низкая Качество обслуживания 469 Если пакет во время передачи был испорчен, подтверждение о его доставке не высылается, и источник вынужден передавать его повторно. Такая стратегия обеспечивает высокую надежность. Четыре последних (аудио/видео) приложения весьма толерантны к ошибкам, поэтому здесь нет никаких вычислений и проверок контрольных сумм. Приложения, занимающиеся передачей файлов, включая электронную почту и видео, не чувствительны к задержкам.
Даже если все пакеты будут доставляться с задержкой в несколько секунд, ничего страшного не произойдет. Однако интерактивные приложения — например, обеспечивающие веб-доступ или удаленный доступ, — к задержкам более критичны. Что касается приложений, работающих в реальном масштабе времени, их требования к задержкам очень строги. Если при телефонном разговоре все слова собеседников будут приходить с задержкой ровно 2,000 с, пользователи сочтут такую связь неприемлемой. С другой стороны, проигрывание видео- или аудиофайлов, хранящихся на сервере, допускает наличие некоторой задержки. Первые три приложения спокойно отнесутся к неравномерной задержке доставки пакетов, а при организации удаленного доступа этот фактор имеет более важное значение, поскольку при сильных флуктуациях символы на экране будут появляться скачками.
Видео- и особенно аудиоданные исключительно чувствительны к флуктуациям. Если пользователь просматривает видео, доставляемое на его компьютер по сети, и все кадры приходят с задержкой ровно 2,000 с, все нормально. Однако если время передачи колеблется от одной до двух секунд, то результат будет просто ужасен. При прослушивании звукозаписей будут заметны флуктуации даже в несколько миллисекунд. Наконец, приложения могут иметь различные потребности в пропускной способности. Скажем, при передаче электронной почты или при удаленном доступе высокая пропускная способность не требуется, а вот для передачи видеоданных любых типов необходима высокая производительность сети. В сетях АТМ принята следующая классификация потоков по требованиям к качеству обслуживания: 1.
Постоянная битовая скорость (например, телефония); 2. Переменная битовая скорость в реалыюм времени (например, сжатые видеоданные при проведении видеоконференций); 3. Переменная битовая скорость не в реальном времени (например, просмотр фильмов через Интернет); 4. Доступная битовая скорость (например, передача Файлов). Такое разбиение по категориям может оказаться полезным и для других целей, и для других сетей, Постоянная битовая скорость — это попытка моделирования проводной сети путем предоставления фиксированной пропускной способности и фиксированной задержки. Битовая скорость может быть переменной, например, при передаче сжатого видео, когда одни кадры удается сжать в большей степени, нежели другие. Кадр, содержащий множество разноцветных деталей, сожмется, скорее всего, плохо, и на его передачу придется потратить мноГо битов, тогда как кадр, запечатлевший белую стену, сожмется очень хорошо, 460 Глава 5.
Сетевой уровень Приложениям типа электронной почты нужно принципиальное наличие хоть какой-нибудь битовой скорости, они не чувствительны к задержкам и флуктуациям, поэтому говорят, что этим приложениям требуется «доступная битовая скорость», Методы достижения хорошего качества обслуживания Итак, мы узнали кое-что о требованиях, входящих в понятие «качество обслуживания». Как же заставить систему удовлетворять этим требованиям? Во-первых, необходимо учесть, что не существует никакой волшебной палочки. Ни один метод не обеспечивает безусловно высокое качество обслуживания. Напротив, разработано большое количество методов, практические реализации которых зачастую используют смешанные технологии.
Далее мы рассмотрим некоторые методы, применяемые разработчиками систем для повышения качества обслуживания. Избыточноеобеспечение Проще всего обеспечить такую емкость маршрутизаторов, буферной памяти и такую пропускную способность, при которых пакеты без затруднений пролетали бы по сети. Проблема здесь одна: такое решение обходится очень дорого. Со временем разработчики начинают понимать, какие параметры являются необходимыми и достаточными, и тогда такой подход оправдывает себя.
Можно сказать, что телефонная сеть является системой с избыточным обеспечением. Довольно редко бывает, чтобы вы подняли трубку и не услышали гудка. Дело в том, что в систему заложена настолько большая пропускная способность, что превысить ее оказывается тяжело. Буферизация Потоки можно сохранять в буферной памяти на принимающей стороне перед тем, как доставлять потребителю. Буферизация не сказывается на надежности и пропускной способности, но сказывается на увеличении задержки. Зато с ее помощью можно снизить уровень флуктуаций.
При передаче аудио и видео по требованию именно флуктуация представляет собой основную проблему, и буферизация помогает решить ее. Мы уже видели различия характеристик сети при высокой и низкой флуктуации на рис. 5.26. На рис. 5.27 изображен поток пакетов, доставляемый при значительной флуктуации. Пакет 1 посылается с сервера в момент времени г= 0 с и прибывает в момент времени г = 1 с. Задержка пакета 2 составляет уже не 1, а 2 с. Прибывающие пакеты буферизируются на клиентской машине. В момент времени г = 10 с начинается воспроизведение, при этом пакеты с 1-го по 6-й уже находятся в буфере, поэтому их можно оттуда извлекать через равные интервалы и воспроизводить.
К сожалению, пакету 8 не повезло: он задержался настолько, что его невозможно воспроизвести вовремя. Выдача пакетов приостанавливается до его прибытия. Возникает досадная задержка в проигрывании му- Качество обслуживания 461 зыки или фильма Проблему можно решить увеличением задержки начала выдачи пакетов, но для этого потребуется буфер большей емкости. Все коммерческие веб-сайты, на которых содержится потоковое видео или аудио, используют проигрыватели, которые начинают воспроизведение только после примерно десяти- секундной буферизации.
Пакет отправляется ЩЩЩЩЩЩЩЩ с источнике Пакет прибывает Щ Щ ЩЩЩЩ Щ Щ Пекет извлекается иэ буфера н;;-----;„ИИИИИИИ 1 в буфере Задержка воспроизведения О б 10 16 20 Рис. б.27. Сглаживание выходного потока путем буферизации пакетов Формирование трафика В приведенном ранее примере источник выдает пакеты через фиксированные интервалы времени, однако бывает, что этот процесс не является столь равномерным.
Это может приводить к перегрузке сети. Неравномерный выходной поток— это обычное дело для серверов, поддерживающих множество потоков и различные виды действий, таких как быстрая прокрутка вперед и назад, идентификация пользователя и т. д. Подход, описанный ранее (буферизация), не всегда можно применить (например, при видеоконференциях). Тем не менее, если бы удалось заставить серверы (и хосты в целом) передавать данные с предсказуемой скоростью, качество обслуживания было бы лучше.
Рассмотрим метод формирования трафика, сглаживающий выходной трафик на стороне сервера, а не на стороне клиента. При формировании графика происходит регулирование средней и пиковой скорости передачи данных. Изучавшиеся нами ранее протоколы скользящего окна ограничивают количество данных, посылаемых сразу, но не скорость, с котоРой они посылаются. Когда устанавливается виртуальный канал, пользователь и подсеть (то есть клиент и оператор связи) договариваются об определенной схеме (то есть форме) трафика для данного канала. Иногда зто действие называется соглашением об уровне обслуживания.
До тех пор пока клиент выполняет свою часть условий соглашения и посылает пакеты не чаще оговоренного в договоРе графика, оператор связи обязуется доставлять их в определенный срок. ФормиРование графика снижает перегрузку и, таким образом, помогает оператору связи выполнять свои обязательства, Подобные договоренности не столь важны при передаче файлов, но весьма существенны при передаче данных в режиме реального времени, как, например, для аудио- и видеосвязи, которые плохо переносят перегрузку. 462 Глава 5. Сетевой уровень В результате при использовании метода формирования трафика клиент сообщает оператору связи: «Мой график передачи будет выглядеть следующим образом.
Сможете ли вы это обеспечить?». Если оператор связи соглашается, то возникает вопрос о том, как оператор связи будет сообщать клиенту, что тот соблюдает соглашение, и что делать, если клиент нарушит договор. Наблюдение за потоком трафика называется политикой графика. Договориться о форме трафика и регулировать его впоследствии легче в подсетях с виртуальными каналами, чем в дейтаграммных подсетях. Тем не менее даже в дейтаграммных подсетях можно применить те же идеи к соединениям транспортного уровня. Алгоритм дырявого ведра Представьте себе ведро с маленькой дырочкой в днище, как показано на рис. 5.28, а.
Независимо от скорости, с которой вода наливается в ведро, выходной поток обладает постоянной скоростью, когда в ведре есть вода, и нулевой скоростью, когда ведро пустое. Кроме того, когда ведро наполняется, вся лишняя вода выливается через край и теряется (то есть не попадает в выходной поток под дырочкой).
впявмый ок Дырявое ведро Интврфей содержвщи дырявое вод емый ок Вода капает из дырки В $ с постоянной скоростью Сеть в б Рио. 6.2в. Дырявое ведро с водой (а); дырявое ведро с пакетами (б) Та же самая идея применима к пакетам, как показано на рис.