Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка на экз по СиТ.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

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

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

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

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

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

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

Рисунок 3.7. Передача данных по сети в виде пакетов

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

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

На рисунке 3.8 показаны неравномерные потоки пакетов, поступающие от конечных узлов 3, 4 и 10 в сети на рисунке 3.7. Предположим, что эти потоки передаются в направлении коммутатора 8, а, следовательно, накладываются друг на друга при прохождении линий связи между коммутаторами 5 и 8. Получившийся в результате суммарный поток является более равномерным, чем каждый из образующих его отдельных потоков.

Рисунок 3.8. Сглаживание трафика

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

Рисунок 3.9. Буферы и очереди пакетов в коммутаторе

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

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

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

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

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

Пакетный коммутатор может работать на основании одного из трех методов продвижения пакетов:

  • дейтаграммная передача,

  • передача с установлением логического соединения,

  • передача с установлением виртуального канала.

Дейтаграммная передача

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

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

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

Передача с установлением логического соединения

Следующий способ основан на знании устройствами сети «истории» обмена данными, например запоминанием узлом отправителем числа отправленных, а узлом-получателем – числа полученных пакетов. Такая информация фиксируется в рамках логического соединения.

Процедура согласования двумя конечными узлами сети некоторых параметров процесса обмена пакетами называется установлением логического соединения.

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

Параметры соединения могут быть постоянными (например, идентификатор соединения или способ шифрования), или переменными (например, номер текущего пакета).

Рисунок 3.10. Передача без установления соединения и с установлением соединения

Процедура передачи данных с установлением соединения обычно состоит из следующих шагов (рис. 3.9):

  1. Узел-инициатор соединения отправляет узлу-получателю служебный пакет с предложением установить соединение.

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

  3. Узел-инициатор, получив подтверждение, и согласившись с параметрами передачи, начинает отправку данных.

  4. Узел-получатель периодически отправляет квитанции о получении пакетов.

  5. После передачи всех данных, узел-отправитель посылает запрос на разрыв соединения.

  6. Узел-получатель подтверждает разрыв соединения, если все данные были получены.

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

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

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

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

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

Передача с установлением виртуального канала

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

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

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

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

Использование в сети техники виртуальных каналов не делает её сетью с коммутацией каналов. Несмотря на присутствие предварительного соединения и статического пути следования данных, по ним передаются отдельные пакеты, а не потоки информации с постоянной скоростью.