Сергей Сикорский
Если вы частенько работаете по ssh удаленно, слушаете интернет-радио или
просто играете в online-игры, то наверняка замечали, что получаемое от этого
удовольствие прямо пропорционально нагрузке на вашу сеть.
Будь то Windows Update с вашей же машины, или FlashGet с соседней, все равно
приложениям надо будет «поделиться». Вот вам и «изюминка» совместного
использования интернет-канала – постоянные скачки, рывки и задержки. Иными словами,
ваши данные не получают соответствующего качества обслуживания (Quality of Service,
QoS). И к несчастью, это так же неизбежно, как налоги…
Задержки отдельных дейтаграмм на пути от
отправителя к получателю являются принципиальной особенностью сетей с коммутацией
пакетов (таких, как сети TCP/IP), из которых собственно и состоит Интернет.
Но где есть спрос – там всегда есть предложение, и на сегодняшний
день существует целый ряд технологий, позволяющих свести к минимуму влияние
«врожденных» недостатков этого метода передачи данных. О них и пойдет речь
в этой статье.
Качество обслуживания – какой
же этот «серверный» олень?
Под «качественным обслуживанием» обычно понимают выполнение
неких требований, предъявляемых приложением к сети, для удовлетворительной его
работы. Что это за требования, зависит от типа задач, решаемых приложением.
Одним важна скорость, другим – время доставки данных, третьим – и то, и
другое. В общем случае, основными критериями понятия «качества обслуживания»
являются:
n Параметры пропускной способности – минимальная,
средняя и максимальная.
n Параметры задержек – их величины и вариации.
n Параметры надежности – процент потерянных и
искаженных пакетов.
Самый простой способ гарантировать их выполнение – избыточность,
то есть если сеть будет быстрее и надежнее «чем надо», проблем наверняка
не будет. Если же это невозможно, необходимо на всем пути пакетов, из конца в
конец, обеспечить соответствующее качество обслуживания «вручную».