Коммутация пакетов
Как было сказано в разделе «Что такое Интернет?», для решения поставленных задач приложения обмениваются друг с другом сообщениями. Содержание и функции сообщений определяются разработчиком протокола. Так, сообщения могут выполнять контролирующую функцию («Привет!» при общении между людьми), содержать текстовую информацию (электронное письмо) или файл с изображением, звуком и т. п. В современных компьютерных сетях происходит автоматическое разбиение больших по объему сообщений на более мелкие фрагменты, называемые пакетами. Пакет является единицей передачи данных. При передаче пакет проходит через последовательность линий связи и коммутаторов, обычно называемых маршрутизаторами. Передача пакета по линии связи осуществляется монопольно, то есть с максимальной скоростью, которую способна обеспечить линия связи.
Большинство маршрутизаторов используют механизм передачи с промежуточным накоплением. Это означает, что перед тем, как начать передачу в выходную линию связи, маршрутизатору необходимо завершить процесс приема пакета в буфер. Таким образом, в маршрутизаторах возникает задержка накопления, обусловленная необходимостью ожидания окончания приема пакета. Время задержки накопления пропорционально длине пакета: если пакет длиной L бит необходимо передать в выходную линию связи, обладающую скоростью R бит/с, то время задержки накопления составит L/Rc.
Каждый маршрутизатор имеет множество входных и выходных линий связи. Каждая выходная линия связи имеет буфер, называемый выходным буфером, или выходной очередью. В выходном буфере хранятся все пакеты, предназначенные для передачи по линии связи. Буферы играют ключевую роль в механизме коммутации пакетов.
Если при окончании приема пакета обнаруживается, что линия связи занята, то пакет ставится в очередь в выходном буфере. Таким образом, кроме задержки накопления в маршрутизаторах присутствует задержка ожидания. Задержки ожидания являются переменными величинами и зависят от загрузки линии связи. Поскольку размеры буферов ограничены, может возникнуть ситуация, когда свободного места в буфере окажется недостаточно для помещения нового пакета. В этом случае произойдет потеря пакета — будет утрачен либо новый пакет, либо один из пакетов, находящихся в очереди. Если вернуться к примеру с ресторанами, приведенному ранее, задержка ожидания — это время, которое вы вынуждены провести у стойки, пока не освободится место за столиком, а потеря пакета — просьба к вам со стороны официанта покинуть помещение, поскольку слишком много людей, как и вы, ожидают свободного места.
На рис. 1.7 приведена структура простой сети с коммутацией пакетов. Здесь и далее пакеты представлены в виде трехмерных брусков. Ширина бруска соответствует длине пакета. В данном примере все пакеты имеют одну и ту же длину.
Предположим, что хосты А и В посылают пакеты хосту Е, при этом связь хостов А и В с первым маршрутизатором осуществляется с помощью линий связи Ethernet со скоростью 10 Мбит/с. Маршрутизатор направляет пакеты в линию связи со скоростью 1,5 Мбит/с. Если линия перегружена, пакеты ожидают ее освобождения в очереди.
Посмотрим, что происходит при одновременной передаче пакетов хостами А и В. Очевидно, что никакой синхронизации между хостами нет, и, следовательно, нельзя заранее предсказать порядок передачи пакетов. Эту особенность называют статистическим мультиплексированием. Статистическое мультиплексирование по сути противоположно временному разделению в технологии коммутации пакетов, когда за каждым каналом связи закреплен определенный слот в каждом временном кадре.
Теперь давайте подсчитаем время, необходимое для пересылки пакета длиной L бит между хостами при коммутации пакетов. Предположим, что число линий связи между хостами равно Q, при этом каждая линия связи обеспечивает скорость передачи R бит/с. Для простоты расчета примем, что задержки ожидания и распространения в сети отсутствуют и времени на установление соединения не требуется. Сначала происходит передача пакета по первой линии связи, время которой составляет L/R с; далее аналогичным образом пакет пересылается по Q — 1 линии связи, и общее время пересылки составляет QL/R с.