В системах ПД широкое распространение получил метод коммутации пакетов (КП), или пакетной коммутации, являющийся разновидностью коммутации с накоплением. При КП сообщения разбиваются на меньшие части, называемые пакетами, каждый из которых имеет установленную максимальную длину.
Эти пакеты нумеруются и снабжаются адресами и прокладывают себе путь по сети (методом передачи с промежуточным хранением), которая их коммутирует.
Множество пакетов одного и того же сообщения может передаваться одновременно, что и является одним из главных преимуществ систем КП. Приемник в соответствии с заголовками пакетов выполняет сборку пакетов в исходное сообщение и отправляет его получателю. Благодаря возможности не накапливать сообщения целиком в узлах коммутации не требуется внешних запоминающих устройств, и вполне можно ограничиться оперативной памятью, а в случае ее переполнения использовать различные механизмы задержки передаваемых пакетов в местах их генерации.
Части одного и того же сообщения могут в одно и то же время находиться в различных каналах связи, более того, когда начало сообщения уже принято, его конец отправитель может еще даже не передавать в канал.
Рис. 1.10 Схема коммутации пакетов
В сети с КП осуществляется следующий процесс передачи (рис. 1.10).
· вводимое в сеть сообщение разбивается на части - пакеты длиной обычно до 1000-2000 единичных интервалов, содержащие адрес получателя. Указанное разбиение осуществляется или в оконечном пункте, если он содержит ЭВМ, или в ближайшем к получателю УК;
· если разбиение сообщения на пакеты происходит в УК, то дальнейшая передача пакетов осуществляется по мере их формирования, не дожидаясь окончания приема в УК целого сообщения;
· в узле КП пакет запоминается в оперативной памяти (ОЗУ) и по адресу определяется канал, по которому он должен быть передан;
· если этот канал к соседнему узлу свободен, то пакет немедленно передается на соседний узел КП, в котором повторяется та же' операция;
· если канал к соседнему узлу занят, то пакет может небольшое время храниться в ОЗУ до освобождения канала;
· при хранении пакеты устанавливаются в очереди по направлению передачи, причем длина очереди не превышает 3-4 пакета. Если длина очереди превышает допустимую, пакеты стираются из ОЗУ и их передача должна быть повторена.
Пакеты, относящиеся к одному сообщению, могут передаваться по разным маршрутам в зависимости от того, по какому из них в данный момент они с наименьшей задержкой могут пойти к адресату. В связи с тем, что время прохождения до сети пакетов одного сообщения может быть различным (в зависимости от маршрута и задержек в УК), порядок их перехода в ОП (к получателю) может не соответствовать порядку пакетов.
Существуют два метода пакетной коммутации - датаграммный и способ виртуальных соединений.
Датаграммный метод (ДМ). ДМ эффективен для передачи коротких сообщений. Он не требует громоздкой процедуры установления соединения между абонентами (рис. 1.11, а).
Термин датаграмма (дэйтаграмма, datagramm) применяют для обозначения самостоятельного пакета, движущегося по сети независимо от других пакетов. Пакеты доставляются получателю различными маршрутами. Эти маршруты определяются сложившейся динамической ситуацией на сети. Каждый пакет снабжается необходимым служебным маршрутным признаком, куда входит и адрес получателя.
Пакеты поступают на прием не в той последовательности, в которой они были переданы, поэтому приходится выполнять функции, связанные со сборкой пакетов.
Рис. 1.11.Методы передачи: а - датаграммный; б - виртуальный; ЗВ - запрос вызова, служебный пакет данных
Получив датаграмму, узел коммутации направляет ее в сторону смежного узла, максимально приближенного к адресату. Когда смежный узел подтверждает получение пакета, узел коммутации стирает его в своей памяти. Если подтверждение не получено, узел коммутации (УК) отправляет пакет в другой смежный узел, и так до тех пор, пока пакет не будет отправлен.
Все узлы, окружающие данный УК, ранжируются по степени близости к адресату, и каждому присваивается 1-й, 2-й и т. д. ранг. Пакет сначала посылается в узел первого ранга, при неудаче - в узел второго ранга и т. д. Эта процедура называется алгоритмом маршрутизации. Существуют алгоритмы, когда узел передачи выбирается случайно, и тогда каждая датаграмма будет идти по случайной траектории.
Датаграммный режим объединяет в себе сетевой и транспортный уровень (см. ниже), поэтому протокол передачи сети Internet называется протоколом TCP/IP, где протокол TCP - протокол четвертого транспортного уровня, a IP - сетевой протокол.
Кроме того, датаграммный режим используется, в частности, в Internet в протоколах UDP (User Datagram Protocol) и TFTP (Trivial File Transfer Protocol).
Виртуальный метод (ВМ). В ВМ предполагается предварительное установление маршрута передачи всего сообщения от отправителя до получателя с помощью специального служебного пакета - запроса вызова (ЗВ) (рис. 1.11, б).
Для этого пакета выбирается маршрут, который в случае согласия получателя этого пакета на соединение закрепляется для прохождения по нему всего трафика. То есть пакет запроса на соединение как бы прокладывает путь через сеть, по которому пойдут все пакеты, относящиеся к этому вызову. В этом есть что-то общее от процедуры коммутации каналов, когда сигнал запроса проходит через сеть, и в соответствии с его путем происходит коммутация сквозного канала, по которому потом пойдут данные. Здесь есть принципиальное отличие, которое отражено уже в названии самого соединения. В телефонной сети коммутируется реальный физический тракт, а в пакетной сети - воображаемый (виртуальный) тракт. Виртуальным он называется потому, что ему соответствует не сам канал, а логическая связка между отправителем и получателем.
В виртуальной сети абоненту-получателю направляется служебный пакет, прокладывающий виртуальное соединение. В каждом узле этот пакет оставляет распоряжение вида: пакеты k - говиртуального соединения, пришедшие из i -го канала следует направлять в j - й канал. Тем самым, виртуальное соединение существует только в памяти управляющего компьютера. Дойдя до абонента-получателя, служебный пакет запрашивает у него разрешение на передачу, сообщив, какой объем памяти понадобится для приема. Если его компьютер располагает такой памятью и свободен, то посылается согласие абоненту-отправителю на передачу сообщения. Получив подтверждение, абонент-отправитель приступает к передаче сообщения обычными пакетами.
Пакеты беспрепятственно проходят друг за другом по виртуальному соединению и в том же порядке попадают абоненту-получателю, где, освободившись от концевиков и заголовков, образуют передаваемое сообщение, которое направляется на 7-й уровень. Виртуальное соединение может существовать до тех пор, пока отправленный одним из абонентов, специальный служебный пакет не сотрет инструкции в узлах. Режим виртуальных соединений эффективен при передаче больших массивов информации и обладает всеми преимуществами методов коммутации каналов и пакетов.
Преимущества режима ВС перед датаграммным заключаются в обеспечении упорядоченности пакетов, поступающих в адрес получателя и сравнительной простоте управления потоком данных вдоль маршрута в целях ограничения нагрузки в сети и возможности предварительного резервирования ресурсов памяти на узлах коммутации.
К недостаткам следует отнести отсутствие воздействия изменившейся ситуации в сети на маршрут, который не корректируется до конца связи. Виртуальная сеть в значительно меньшей степени подвержена перегрузкам и зацикливанию пакетов, за что приходится платить худшим использованием каналов и большей чувствительностью к изменению топологии сети.