Идеальная сеть

В разделе «Количественное сравнение задержек» главы 3 мы рассмотрели различные составляющие задержек в сети с коммутацией пакетов. Напомним, что такими составляющим и являются показатели времени:

  • передачи данных в канал (время сериализации);
  • распространения сигнала;
  • ожидания пакета в очереди;
  • коммутации пакета.

Два первых типа задержки определяются свойствами каналов передачи данных (битовой скоростью и скоростью распространения сигнала в среде) и являются фиксированными для пакета фиксированной длины.

Две вторых составляющих зависят от характеристик сети коммутации пакетов и в общем случае являются переменными.

Будем считать, что сеть с коммутацией пакетов работает идеально, если она передает каждый бит информации с постоянной скоростью, равной скорости распространения света в физической среде. Другими словами, идеальная сеть с коммутацией пакетов не вносит никаких дополнительных задержек в передачу данных помимо тех, которые вносятся каналами связи (и работает в отношении временных характеристик передачи данных так, как если бы она была сетью с коммутацией каналов).

Результат передачи пакетов такой идеальной сетью иллюстрирует рис. 1. На верхней оси показаны значения времени поступления пакетов в сеть от узла отправителя, а на нижнем — значения времени поступления пакетов в узел назначения. Другими словами, можно сказать, что верхняя ось показывает предложенную нагрузку сети, а нижняя — результат передачи этой нагрузки через сеть.

Пусть задержка передачи пакета определяется как интервал времени между моментом отправления первого бита пакета в канал связи узлом отправления и моментом поступления первого бита пакета в узел назначения соответственно (на рисунке обозначены задержки d1, d2 и d3, пакетов 1, 2 и 3 соответственно). Как видно из рисунка, идеальная сеть доставляет все пакеты узлу назначения:

  • не потеряв ни один из них (и не исказив информацию ни в одном из них);
  • в том порядке, в котором они были отправлены;
  • с одной и той же и минимально возможной задержкой (d1 = d2 и т. д.).

Важно, что все интервалы между соседними пакетами сеть сохраняет в неизменном виде. Например, если интервал между первым и вторым пакетами составляет при отправлении t1 секунд, а между вторым и третьим — t2, то такими же интервалы останутся в узле назначения.

Надежная доставка всех пакетов с минимально возможной задержкой и сохранением временн&х интервалов между ними удовлетворит любого пользователя сети независимо оттого, трафик какого приложения он передает по сети — веб-сервиса или 1Р-телефонии.

Существуют и другие определения времени задержки пакета. Например, эту величину можно определить как время между моментом отправления первого бита пакета в канал связи узлом отправления и моментом поступления последнего бита пакета в узел назначения соответственно. Нетрудно видеть, что в этом определении в задержку пакета включено время сериализации, кроме того, понятно, что оба определения не противоречат друг другу и величина задержки, полученная в соответствии с одним определением, легко преобразуется в величину задержки, полученной в соответствии с другим. Мы выбрали первое определение для иллюстрации идеального поведения сети с коммутацией пакетов потому, что в этом случае задержка не зависит от размера пакета, чтоудобнее использовать, описывая «идеальность» обслуживания пакетов.

Теперь посмотрим, какие отклонения от идеала могут встречаться в реальной сети и какими характеристиками можно эти отклонения описывать (рис. 2).

Пакеты доставляются сетью узлу назначения с различными задержками. Как мы уже знаем, это неотъемлемое свойство сетей с коммутацией пакетов.
Случайный характер процесса образования очередей приводит к случайным задержкам, при этом задержки отдельных пакетов могут быть значительными, в десятки раз превосходя среднюю величину задержек. Неравномерность задержек приводит к неравномерным интервалам между соседними пакетами. То есть изменяется характер временных соотношений между соседними пакетами, а это может катастрофически сказаться на качестве работы некоторых приложений. Например, при цифровой передаче речи (или более обобщенно — звука) неравномерность интервалов между пакетами, несущими замеры голоса, приводит к существенным искажениям речи. Пакеты могут доставляться узлу назначения не в том порядке, в котором они были отправлены, например, на рис. 2 пакет 4 поступил в узел назначения раньше, чем пакет 3. Такие ситуации встречаются в дейтаграммных сетях, когда различные пакеты одного потока передаются через сеть различными маршрутами, а следовательно, ожидают обслуживания в разных очередях с разным уровнем задержек. Оче видно, что пакет 3 проходил через перегруженный узел или узлы, так что его суммарная задержка оказалась настолько большой, что пакет 4 прибыл раньше него.

Пакеты могут теряться в сети или же приходить в узел назначения с искаженными данными, что равносильно потере пакета, так как большинство протоколов не способно восстанавливать искаженные данные, а только определяет этот факт по значению контрольной последовательности кадра (Frame Check Sequence, FCS).

Пакеты также могут дублироваться по разным причинам, например из-за ошибочных повторных передач протоколов, обеспечивающих надежный обмен данными.

В реальной сети средняя скорость информационного потока на входе узла назначения может отличаться от средней скорости потока, направленного в сеть узлом-отправителем. Виной этому являются не задержки пакетов, а их потери. Так, в примере, показанном на рис. 2, средняя скорость исходящего потока снижается из-за потери пакета 5. Чем больше потерь и искажений пакетов происходит в сети, тем ниже скорость информационного потока.

Как видно из приведенного описания, существуют различные характеристики производительности сети (называемые также метриками производительности сети). Нельзя в общем случае говорить, что одни из этих характеристик более, а другие — менее важные. Относительная важность характеристик зависит от типа приложения, трафик которого переносит сеть. Так, существуют приложения, которые очень чувствительны к задержкам пакетов, но в то же время весьма терпимы к потере отдельного пакета — примером может служить передача голоса через пакетную сеть. Примером приложения, которое мало чувствительно к задержкам пакетов, но очень чувствительно к их потерям, является загрузка файлов. Поэтому для каждого конкретного случая  необходимо выбирать подходящий набор характеристик сети, наиболее адекватно отражающий влияние неидеальности сети на работу приложения.