Классификация способов коммутации данных
Под коммутацией данных понимается их передача, при которой канал передачи данных может использоваться попеременно для обмена информацией между различными пунктами информационной сети в отличие от связи через некоммутируемые каналы, обычно закрепленные за определенными абонентами. Различают следующие способы коммутации данных:
коммутация каналов – осуществляет соединение ООД двух или более станций данных и обеспечивает монопольное использование канала передачи данных до тех пор, пока соединение не будет разомкнуто;
коммутация сообщений – характеризуется тем, что создание физического канала между оконечными узлами необязательно и пересылка сообщений происходит без нарушения их целостности; вместо физического канала имеется виртуальный канал, состоящий из физических участков, и между участками возможна буферизация сообщения;
коммутация пакетов – сообщение передается по виртуальному каналу, но оно разделяется на пакеты, при этом канал передачи данных занят только во время передачи пакета (без нарушения его целостности) и по ее завершении освобождается для передачи других пакетов.
Коммутация каналов
Коммутация каналов может быть пространственной и временной.
Пространственный коммутатор размера N·M представляет собой сетку (матрицу), в которой N входов подключены к горизонтальным шинам, а М выходов – к вертикальным (рис. 1.1).
Рис. 1.1. Матрица пространственного коммутатора
В узлах сетки имеются коммутирующие элементы, причем в каждом столбце сетки может быть открыто не более чем по одному элементу. Если NМ, то коммутатор может обеспечить соединение каждого входа с не менее чем одним выходом; в противном случае коммутатор называется блокирующим, т.е. не обеспечивающим соединения любого входа с одним из выходов. Обычно применяются коммутаторы с равным числом входов и выходов N·N.
Недостаток рассмотренной схемы – большое число коммутирующих элементов в квадратной матрице, равное N2. Для устранения этого недостатка применяют многоступенчатые коммутаторы. Например, схема трехступенчатого коммутатора 6·6 имеет вид, представленный на рис. 1.2.
Рис. 1.2. Схема трехступенчатого пространственного коммутатора
Достаточным условием отсутствия блокировок входов является равенство k2n–1. Здесь k – число блоков в промежуточном каскаде; n=N/p; р – число блоков во входном каскаде. В приведенной на рис. 1.2 схеме это условие не выполнено, поэтому блокировки возможны. Например, если требуется выполнить соединение a1–d1, но ранее скоммутированы соединения a2-b2-c4-d3, a3-b3-c1-d2, то для а1 доступны шины b1, с3 и с5, однако они не ведут к d1.
В многоступенчатых коммутаторах существенно уменьшено число переключательных элементов за счет некоторого увеличения задержки. Так, при замене одноступенчатого коммутатора 1000·1000 трехступенчатым с n=22 и k=43 число переключателей уменьшается с 106до 2 · 46 · 22 · 43 + 43 · 46 · 46, т е. примерно до 0,186 · 106.
Временной коммутатор построен на основе буферной памяти, запись производится в ее ячейки последовательным опросом входов, а коммутация осуществляется благодаря считыванию данных на выходы из нужных ячеек памяти. При этом происходит задержка на время одного цикла “запись-чтение”.
В настоящее время преимущественно используется временная или смешанная коммутация.
Коммутация пакетов
Во многих случаях наиболее эффективной оказывается коммутация пакетов. Во-первых, ускоряется передача данных в сетях сложной конфигурации за счет того, что возможна параллельная передача пакетов одного сообщения на разных участках сети; во-вторых, при появлении ошибки требуется повторная передача короткого пакета, а не всего длинного сообщения. Кроме того, ограничение сверху на размер пакета позволяет обойтись меньшим объемом буферной памяти в промежуточных узлах на маршрутах передачи данных в сети.
В сетях коммутации пакетов различают два режима работы:
режим виртуальных каналов (другое название – связь с установлением соединения);
дейтаграммный режим (связь без установления соединения).
В режиме виртуальных каналов пакеты одного сообщения передаются в естественном порядке по устанавливаемому маршруту. При этом в отличие от коммутации каналов линии связи могут разделяться многими сообщениями, когда попеременно по каналу передаются пакеты разных сообщений (это так называемый режим временного мультиплексирования, иначе TDM – Time Division Method), или задерживаться в промежуточных буферах. Предусматривается контроль правильности передачи данных путем посылки от получателя к отправителю подтверждающего сообщения – положительной квитанции. Этот контроль возможен как во всех промежуточных узлах маршрута, так и только в конечном узле. Он может осуществляться стартстопным способом, при котором отправитель до тех пор не передает следующий пакет, пока не получит подтверждения о правильной передаче предыдущего пакета, или способом передачи “в окне”. Окно может включать N пакетов, и возможны задержки в получении подтверждений на протяжении окна. Так, если произошла ошибка при передаче, т.е. отправитель получает отрицательную квитанцию относительно пакета с номером К, то нужна повторная передача и она начинается с пакета К. В сетях может использоваться переменный размер окна.
В дейтаграммном режиме сообщение делится на дейтаграммы. Дейтаграмма – часть информации, передаваемая независимо от других частей одного и того же сообщения в вычислительных сетях с коммутацией пакетов. Дейтаграммы одного и того же сообщения могут передаваться в сети по разным маршрутам и поступать к адресату в произвольной последовательности, что может послужить причиной блокировок сети. На внутренних участках маршрута контроль правильности передачи не предусмотрен и надежность связи обеспечивается лишь контролем на оконечном узле.
Блокировкой сети в дейтаграммном режиме называется такая ситуация, когда в буферную память узла вычислительной сети поступило столько пакетов разных сообщений, что эта память оказывается полностью занятой. Следовательно, она не может принимать другие пакеты и не может освободиться от уже принятых, так как это возможно только после поступления всех дейтаграмм сообщения.