Коммутация пакетов

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

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

Каждый пакет снабжается следующей служебной информацией (заголовком):

  • коды начала и окончания пакета,
  • адреса отправителя и получателя,
  • номер пакета в сообщении,
  • информация для контроля достоверности передаваемых данных в промежуточных узлах связи и в пункте назначения.

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

Части одного и того же сообщения могут в одно и то же время находиться в различных каналах связи, более того: когда начало сообщения уже принято, его конец отправитель может еще даже не передавать в канал.

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

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

 

Процесс передачи данных в сети с коммутацией пакетов

Процесс передачи данных в сети с КП можно представить в виде следующей последовательности операций:

  • вводимое в сеть сообщение разбивается на части - пакеты, содержащие адрес конечного пункта получателя;
  • в узле КП пакет запоминается в оперативной памяти (ОЗУ) и по адресу определяется канал, по которому он должен быть передан;
  • если этот канал связи с соседним узлом свободен, то пакет немедленно передается на соседний узел КП, в котором повторяется та же операция;
  • если канал связи с соседним узлом занят, то пакет может какое-то время храниться в ОЗУ до освобождения канала;
  • сохраняемые пакеты помещаются в очередь по направлению передачи, причем длина очереди не превышает 3-4 пакета; если длина очереди превышает допустимую, пакеты стираются из ОЗУ и их передача должна быть повторена.

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

 

Методы пакетной коммутации

Существует два метода пакетной коммутации: дейтаграммный (датаграммный) и способ виртуальных соединений.

Дейтаграммный метод

Этот метод эффективен для передачи коротких сообщений. Он не требует громоздкой процедуры установления соединения между абонентами.

Термин "дейтаграмма" (датаграмма, datagram) применяют для обозначения самостоятельного пакета, движущегося по сети независимо от других пакетов. Пакеты доставляются получателю различными маршрутами. Эти маршруты определяются сложившейся динамической ситуаций на сети. Каждый пакет снабжается необходимым служебным маршрутным признаком, куда входит и адрес получателя.

Пакеты поступают на прием не в той последовательности, в которой они были переданы, поэтому приходится выполнять функции, связанные со сборкой пакетов. Получив дейтаграмму, узел коммутации направляет ее в сторону смежного узла, максимально приближенного к адресату. Когда смежный узел подтверждает получение пакета, узел коммутации стирает его в своей памяти. Если подтверждение не получено, узел коммутации отправляет пакет в другой смежный узел, и так до тех пор, пока пакет не будет отправлен.

Все узлы, окружающие данный узел коммутации, ранжируются по степени близости к адресату, и каждому присваивается 1, 2 и т.д. ранг. Пакет сначала посылается в узел первого ранга, при неудаче - в узел второго ранга и т.д. Эта процедура называется алгоритмом маршрутизации. Существуют алгоритмы, когда узел передачи выбирается случайно, и тогда каждая дейтаграмма будет идти по случайной траектории.

Виртуальный метод

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

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

Метод называется виртуальным потому, что здесь не коммутируется реальный физический тракт (как, например, в телефонной сети), а устанавливается логическая связка между отправителем и получателем, - т.е. коммутируется виртуальный (воображаемый) тракт.

В виртуальной сети абоненту-получателю направляется служебный пакет, прокладывающий виртуальное соединение. В каждом узле этот пакет оставляет распоряжение вида: пакеты k-го виртуального соединения, пришедшие из i-го канала, следует направлять в j-й канал. Тем самым виртуальное соединение существует только в памяти управляющего компьютера. Дойдя до абонента-получателя, служебный пакет запрашивает у него разрешение на передачу, сообщив, какой объем памяти понадобится для приема. Если его компьютер располагает такой памятью и свободен, то посылается согласие абоненту-отправителю на передачу сообщения. Получив подтверждение, абонент-отправитель приступает к передаче сообщения обычными пакетами.

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

Виртуальное соединение может существовать до тех пор, пока отправленный одним из абонентов специальный служебный пакет не сотрет инструкции в узлах.

Режим виртуальных соединений эффективен при передаче больших массивов информации.

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

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