Коммутация каналов и пакетов
Коммутация каналов
Сети, построенные на принципе коммутации каналов, имеют богатую историю, они и сегодня нашли широкое применение в мире телекоммуникаций, являясь основой создания высокоскоростных магистральных каналов связи. Первые сеансы связи между компьютерами были осуществлены через телефонную сеть, то есть также с применением техники коммутации каналов, а пользователи, которые получают доступ в Интернет по модему, продолжают обслуживаться этими сетями, так как их данные доходят до оборудования провайдера по местной телефонной сети.
В сетях с коммутацией каналов решаются все те частные задачи коммутации, которые были сформулированы ранее. Так, в качестве информационных потоков в сетях с коммутацией каналов выступают данные, которыми обмениваются пары абонентов(Термин «абонент» принят в телефонии для обозначения конечного узла. Так как все мы — многолетние пользователи телефонной сети, то далее мы будем сопровождать наше объяснение принципа работы сетей с коммутацией каналов примерами из области телефонии.).Соответственно глобальным признаком потока является пара адресов (телефонных номеров) абонентов, связывающихся между собой. Для всех возможных потоков заранее определяются маршруты. Маршруты в сетях с коммутацией каналов задаются либо «вручную» администратором сети, либо находятся автоматически с привлечением специальных программных и аппаратных средств. Маршруты фиксируются в таблицах, в которых признакам потока ставятся в соответствие идентификаторы выходных интерфейсов коммутаторов. На основании этих таблиц происходит продвижение и мультиплексирование данных. Однако, как уже было сказано, в сетях с коммутацией каналов решение всех этих задач имеет свои особенности.
Элементарный канал
Одной из особенностей сетей с коммутацией каналов является понятие элементарного канала.
Элементарный канал (или просто канал) –это базовая техническая характеристика сети с коммутацией каналов, представляющая собой некоторое фиксированное а пределах данного типа сетей значение пропускной способности. Любая линия связи в сети c коммутацией каналов имеет пропускную способность, кратную элементарному каналу, принятому для данного типа сети .
Говоря о сетях с коммутацией каналов, мы придаем термину «канал» значение единицы пропускной способности.
Значение элементарного канала, или, другими словами, минимальная единица пропускной способности линии связи, выбирается с учетом разных факторов. Очевидно, однако, что элементарный канал не стоит выбирать меньше минимально необходимой пропускной способности для передачи ожидаемой предложенной нагрузки. Например, в традиционных телефонных сетях наиболее распространенным значением элементарного канала сегодня является скорость 64 Кбит/с — это минимально достаточная скорость для качественной цифровой передачи голоса.
ОЦИФРОВЫВАНИЕ ГОЛОСА
Задача оцифровывания голоса является частным случаем более общей проблемы — передачи аналоговой информации в дискретной форме. Она была решена в 60-е годы, когда голос начал передаваться по телефонным сетям в виде последовательности единиц и нулей. Такое преобразование основано на дискретизации непрерывных процессов как по амплитуде, так и по времени (рис).
Амплитудаисходной непрерывной функции измеряется с заданным периодом — за счет этого происходит дискретизация по времени. Затем каждый замер представляется в виде двоичного числа определенной разрядности, что означает дискретизацию по значениям — непрерывное множество возможных значений амплитуды заменяется дискретным множеством ее значений.
Для качественной передачи голоса используется частота квантования амплитуды звуковых колебаний в 8000 Гц (дискретизация по времени с интервалом 125 мкс). Для представления амплитуды одного замера чаще всего используется 8 бит кода, что дает 256 градаций звукового сигнала (дискретизация по значениям). В этом случае для передачи одного голосового канала необходима пропускная способность 64 Кбит/с: 8000 х 8 = 64 000 бит/с или 64 Кбит/с. Такой голосовой канал называют элементарным каналом цифровых телефонных сетей.
Линии связи в сетях с коммутацией пакетов (как, впрочем, и в остальных типах компьютерных сетей) имеют разную пропускную способность, одни — большую, другие — меньшую. Выбирая линии связи с разными скоростными качествами, специалисты, проектирующие сеть, стараются учесть разную интенсивность информационных потоков, которые могут возникнуть в разных фрагментах сети — чем ближе к центру сети, тем выше пропускная способность линии связи, так как магистральные линии агрегируют трафик большого количества периферийных линий связи.
Особенностью сетей с коммутацией каналов является то, что пропускная способность каждой линии связи должна быть равна целому числу элементарных каналов.
Так, линии связи, подключающие абонентов к телефонной сети, могут содержать 2,24 или 30 элементарных каналов, а линии, соединяющие коммутаторы, — 480 или 1920 каналов.
Обратимся к фрагменту сети, изображенному на рис.
Предположим, что эта сеть характеризуется элементарным каналом Р бит/с. В сети существуют линии связи разной пропускной способности, состоящие из 2, 3, 4 и 5 элементарных каналов. На рисунке показаны два абонента, A и B генерирующие во время сеанса связи (телефонного разговора) информационный поток, для которого в сети был предусмотрен маршрут, проходящий через четыре коммутатора S1, S2, S3 и S4. Предположим также, что интенсивность информационного потока между абонентами не превосходит 2Р бит/с. Тогда для обмена данными этим двум абонентам достаточно иметь в своем распоряжении по паре элементарных каналов, «выделенных» из каждой линии связи, лежащей на маршруте следования данных от пункта A к пункту В. На рисунке эти элементарные каналы, необходимые абонентам A и В, обозначены толстыми линиями.
Составной канал
Связь, построенную путем коммутации (соединения) элементарных каналов, называют составным каналом.
В рассматриваемом примере для соединения абонентов A и В был создан составной канал «толщиной» в два элементарных канала. Если изменить наше предположение и считать, что предложенная нагрузка гарантированно не превысит Р бит/с, то абонентам будет достаточно иметь в своем распоряжении составной канал, «толщиной» в один элементарный канал. В то же время абоненты, интенсивно обменивающиеся данными, могут предъявить и более высокие требования к пропускной способности составного канала. Для этого они должны в каждой линии связи зарезервировать за собой большее (но непременно одинаковое для всех линий связи) количество элементарных каналов.
Подчеркнем следующие свойства составного канала:
· составной канал на всем своем протяжении состоит из одинакового количества элементарных каналов;
· составной канал имеет постоянную и фиксированную пропускную способность на всем своем протяжении;
· составной канал создается временно на период сеанса связи двух абонентов;
· на время сеанса связи все элементарные каналы, входящие в составной канал, поступают в исключительное пользование абонентов, для которых был создан этот составной канал;
· в течение всего сеанса связи абоненты могут посылать в сеть данные со скоростью, не превышающей пропускную способность составного канала;
· данные, поступившие в составной канал, гарантированно доставляются вызываемому абоненту без задержек, потерь и с той же скоростью (скоростью источника) вне зависимости от того, существуют ли в это время в сети другие соединения или нет;
· после окончания сеанса связи элементарные каналы, входившие в соответствующий составной канал, объявляются свободными и возвращаются в пул распределяемых ресурсов для использования другими абонентами.
В сети может одновременно происходить несколько сеансов связи (обычная ситуация для телефонной сети, в которой одновременно передаются разговоры сотен и тысяч абонентов). Разделение сети между сеансами связи происходит на уровне элементарных каналов. Например (см. рис. выше), мы можем предположить, что после того как в линии связи S2-S3 было выделено два канала для связи абонентов A и В, оставшиеся три элементарных канала были распределены между тремя другими сеансами связи, проходившимив это же время и через эту же линию связи. Такое мультиплексирование позволяет одновременно передавать через каждый физический канал трафик нескольких логических соединений.
Мультиплексирование означает, что абоненты вынуждены конкурировать за ресурсы, в данном случае за элементарные каналы. Возможны ситуации, когда некоторая промежуточная линия связи уже исчерпала свободные элементарные каналы, тогда новый сеанс связи, маршрут которого пролегает через данную линию связи, не может состояться.
Для того чтобы распознать такие ситуации, обмен данными в сети с коммутацией каналов предваряется процедурой установления соединения. В соответствии с этой процедурой абонент, являющийся инициатором сеанса связи (например, абонент А в нашей сети), посылает в коммутационную сеть запрос, представляющий собой сообщение, в котором содержится адрес вызываемого абонента, например абонента В (В телефонной сети посылке запроса соответствует набор телефонного номера).
Цель запроса — проверить, можно ли образовать составной канал между вызывающим и вызываемым абонентами. А для этого требуется соблюдение двух условий: наличие требуемого числа свободных элементарных каналов в каждой линии связи, лежащей на пути от А к B, и незанятость вызываемого абонента в другом соединении.
Запрос перемещается по маршруту, определенному для информационного потока данной пары абонентов. При этом используются глобальные таблицы коммутации, ставящие в соответствие глобальному признаку потока (адресу вызываемого абонента) идентификатор выходного интерфейса коммутатора (как уже упоминалось, такие таблицы часто называют также таблицами маршрутизации).
Если в результате прохождения запроса от абонента А к абоненту В выяснилось, что ничто не препятствует установлению соединения, происходит фиксация составного канала. Для этого во всех коммутаторах вдоль пути от A до B создаются записи в локальных таблицах коммутации, в которых указывается соответствие между локальными признаками потока — номерами элементарных каналов, зарезервированных для этого сеанса связи. Только после этого составной канал считается установленным, и абоненты A и B могут начать свой сеанс связи.
Таким образом, продвижение данных в сетях с коммутацией каналов происходит в два этапа:
1. В сеть поступает служебное сообщение — запрос, который несет адрес вызываемого абонента и организует создание составного канала.
2. По подготовленному составному каналу передается основной поток данных, для передачи которого уже не требуется никакой вспомогательной информации, в том числе адреса вызываемого абонента. Коммутация данных в коммутаторах выполняется на основе локальных признаков — номеров элементарных каналов.
Запросы на установление соединения не всегда завершаются успешно. Если на пути между вызывающим и вызываемым абонентами отсутствуют свободные элементарные каналы или вызываемый узел занят, то происходит отказ в установлении соединения. Например, если во время сеанса связи абонентов A и В абонент С пошлет запрос в сеть на установление соединения с абонентом D, то он получит отказ, потому что оба необходимых ему элементарных канала, составляющих линию связи коммутаторов S3 и S4, уже выделены соединению абонентов A и В (рис.).
При отказе в установлении соединения сеть информирует вызывающего абонента специальным сообщением (Телефонная сеть в этом случае передает короткие гудки — сигнал «занято». Некоторые телефонные сети различают события «сеть занята» и «абонент занят», передавая гудки с разной частотой или используя разные тона). Чем больше нагрузка на сеть, то есть чем больше соединений она в данный момент поддерживает, тем больше вероятность отказа в удовлетворении запроса на установление нового соединения.
Мы описали процедуру установления соединения в автоматическом динамическом режиме, основанном на способности абонентов отправлять в сеть служебные сообщения — запросы на установление соединения и способности узлов сети обрабатывать такие сообщения. Подобный режим используется телефонными сетями: телефонный аппарат генерирует запрос, посылая в сеть импульсы (или тоновые сигналы), кодирующие номер вызываемого абонента, а сеть либо устанавливает соединение, либо сообщает об отказе сигналами «занято».
Однако это — не единственно возможный режим работы сети с коммутацией каналов, существует и другой статический ручной режим установления соединения. Этот режим характерен для случаев, когда необходимо установить составной канал не на время одного сеанса связи абонентов, а на более долгий срок. Создание такого долговременного канала не могут инициировать абоненты, он создается администратором сети. Очевидно, что статический ручной режим мало пригоден для традиционной телефонной сети с ее короткими сеансами связи, однако он вполне оправдан для создания высокоскоростных телекоммуникационных каналов между городами и странами на более-менее постоянной основе.
Технология коммутации каналов ориентирована на минимизацию случайных coбытий в сети, то есть это технология, стремящаяся к детерминизму. Во избежание всяких возможных неопределенностей значительная часть работы по организации информационного обмена выполняется заранее, еще до того, как начнется собственно передача данных. Сначала по заданному адресу проверяется доступность необходимых элементарных каналов на всем пути от отправителя до адресата. Затем эти каналы закрепляются на все время сеанса для исключительного использования двумя абонентами и коммутируются в один непрерывный «трубопровод» (составной канал), имеющий «шлюзовые задвижки» на стороне каждого из абонентов. После этой исчерпывающей подготовительной работы остается сделать самое малое: «открыть шлюзы» и позволить информационному потоку свободно и без помех «перетекать» между заданными точками сети (рис. ).
Неэффективность при передаче пульсирующего трафика
Сети с коммутацией каналов наиболее эффективно передают пользовательский трафик в том случае, когда скорость его постоянна в течение всего сеанса связи и максимально соответствует фиксированной пропускной способности физических линий связи сети Эффективность работы сети снижается, когда информационные потоки, генерируемые абонентами, приобретают пульсирующий характер.
Так, разговаривая по телефону, люди постоянно меняют темп речи, перемежая быстрые высказывания паузами. В результате соответствующие «голосовые» информационные потоки становятся неравномерными, а значит, снижается эффективность передачи данных. Правда, в случае телефонных разговоров это снижение оказывается вполне приемлем и позволяет широко использовать сети с коммутацией каналов для передачи голосового трафика.
Гораздо сильнее снижает эффективность сети с коммутацией каналов передача так называемого компьютерного трафика, то есть трафика, генерируемого приложениями, с которыми работает пользователь компьютера. Этот трафик практически всегда является пульсирующим. Например, когда вы загружаете из Интернета очередную страницу, скорость трафика резко возрастает, а после окончания загрузки падает практически до нуля. Если для описанного сеанса доступа в Интернет вы задействуете сеть с коммутацией канал то большую часть времени составной канал между вашим компьютером и веб-сервером будет простаивать. В то же время часть производительности сети окажется закреплен за вами и останется недоступной другим пользователям сети. Сеть в такие периоды похожа на пустой эскалатор метро, который движется, но полезную работу не выполняет, другими словами, «перевозит воздух».
Для эффективной передачи неравномерного компьютерного трафика была специально разработана техника коммутации пакетов.
Коммутация пакетов
Сети с коммутацией пакетов, так же как и сети с коммутацией каналов, состоят из коммутаторов, связанных физическими линиями связи. Однако передача данных в этих сетях происходит совершенно по-другому. Образно говоря, по сравнению с сетью с коммутацией каналов сеть с коммутацией пакетов ведет себя менее «ответственно». Например, она может принять данные для передачи, не заботясь о резервировании линий связи на пути следования этих данных и не гарантируя требуемую пропускную способность. Сеть с коммутацией пакетов не создает заранее для своих абонентов отдельных, выделенных исключительно для них каналов связи. Данные могут задерживаться и даже теряться по пути следования. Как же при таком хаосе и неопределенности сеть с коммутацией пакетов выполняет свои функции по передаче данных?
Важнейшим принципом функционирования сетей с коммутацией пакетов является представление информации, передаваемой по сети, в виде структурно отделенных друг от друга порций данных, называемых пакетами (Наряду с термином «пакет» используются также термины «кадр», «фрейм», «ячейка» и др. В данном контексте различия в значении этих терминов несущественны. В некоторых технологиях коммутации пакетов (например, в технологии виртуальных каналов) полная независимость обработки пакетов не обеспечивается).
Каждый пакет снабжен заголовком(рис.), в котором содержится адрес назначения и другая вспомогательная информация (длина поля данных, контрольная сумма и др.), используемая для доставки пакета адресату. Наличие адреса в каждом пакете является одним из важнейших особенностей техники коммутации пакетов, так как каждый пакет может быть обработан коммутатором независимо от других пакетов, составляющих сетевой трафик. Помимо заголовка у пакета может иметься еще одно дополнительное поле, размещаемое в конце пакета и поэтому называемое концевиком. В концевике обычно помещается контрольная сумма, которая позволяет проверить, была ли искажена информация при передаче через сеть или нет.
В зависимости от конкретной реализации технологии коммутации пакетов пакеты могут иметь фиксированную или переменную длину, кроме того, может меняться состав информации, размещенной в заголовках пакетов. Например, в технологии ATM пакеты (называемые там ячейками) имеют фиксированную длину, а в технологии Ethernet установлены лишь минимально и максимально возможные размеры пакетов (кадров).
Пакеты поступают в сеть без предварительного резервирования линий связи и не с фиксированной заранее заданной скоростью, как это делается в сетях с коммутацией каналов, а в том темпе, в котором их генерирует источник. Предполагается, что сеть с коммутацией пакетов, в отличие от сети с коммутацией каналов, всегда готова принять пакет от конечного узла.
Как и в сетях с коммутацией каналов, в сетях с коммутацией пакетов для каждого из потоков вручную или автоматически определяется маршрут, фиксируемый в хранящихся на коммутаторах таблицах коммутации. Пакеты, попадая на коммутатор, обрабатываются и направляются по тому или иному маршруту на основании информации, содержащейся в их заголовках, а также в таблице коммутации (рис.).
.
ПРИМЕЧАНИЕ
Процедура резервирования пропускной способности может применяться и в пакетных сетях. Однако основная идея такого резервирования принципиально отличается от идеи резервирования пропускной способности в сетях с коммутацией каналов. Разница заключается в том, что пропускная способность канала сети с коммутацией пакетов может динамически перераспределяться между информационными потоками в зависимости от текущих потребностей каждого потока, чего не может обеспечить техника коммутации каналов.
Пакеты, принадлежащие как одному и тому же, так и разным информационным потокам, при перемещении по сети могут «перемешиваться» между собой, образовывать очереди и «тормозить» друг друга. На пути пакетов могут встретиться линии связи, имеющие разную пропускную способность. В зависимости от времени суток может сильно меняться и степень загруженности линий связи. В таких условиях не исключены ситуации, когда пакеты, принадлежащими одному и тому же потоку, могут перемещаться по сети с разными скоростями и даже прийти к месту назначения не в том порядке, в котором они были отправлены.
Разделение данных на пакеты позволяет передавать неравномерный компьютерный трафик более эффективно, чем в сетях с коммутацией каналов. Это объясняется тем, что пульсации трафика от отдельных компьютеров носят случайный характер и распределяются во времени так, что их пики чаще всего не совпадают. Поэтому когда линия связи передает трафик большого количества конечных узлов, то в суммарном потоке пульсации сглаживаются, и пропускная способность линии используется более рационально, без длительных простоев. Это эффект иллюстрируется рис. ниже, на котором показаны неравномерные потоки пакетов, поступающие от конечных узлов 3,4 и 10 в сети, изображенной на рис. выше.
Предположим, что эти потоки передаются в направлении коммутатора 8, а следовательно, накладываются друг на друга при прохождении линии связи между коммутаторами 5 и 8. Получающийся в результате суммарный поток является более равномерным, чем каждый из образующих его отдельных потоков.
Буферизация пакетов
Неопределенность и асинхронность перемещения данных в сетях с коммутацией пакетов предъявляет особые требования к работе коммутаторов в таких сетях.
Главное отличие пакетных коммутаторов (Для простоты будем далее называть коммутаторы сетей с коммутацией пакетов «пакетными коммутаторами») от коммутаторов в сетях с коммутацией каналов состоит в том, что они имеют внутреннюю буферную память для временного хранения пакетов,
Действительно, пакетный коммутатор не может принять решения о продвижении пакета, не имея в своей памяти всего пакета. Коммутатор проверяет контрольную сумму, и только если она говорит о том, что данные пакета не искажены, начинает обрабатывать пакет и по адресу назначения определяет следующий коммутатор. Поэтому каждый пакет последовательно бит за битом помещается во входной буфер. Имея в виду это свойство, говорят, что сети с коммутацией пакетов используют технику сохранения с продвижением (store-and- forward). Заметим, что для этой цели достаточно иметь буфер размером в один пакет.
Коммутатору нужны буферы для согласования скоростей передачи данных в линиях связи подключенных к его интерфейсам. Действительно, если скорость поступления пакетов из одной линии связи в течение некоторого периода превышает пропускную способность той линии связи, в которую эти пакеты должны быть направлены, то во избежание потерь пакетов на целевом интерфейсе необходимо организовать выходную очередь (рис.).
Буферизация необходима пакетному коммутатору также для согласования скорости поступления пакетов со скоростью их коммутации. Если коммутирующий блок не успевает обрабатывать пакеты (анализировать заголовки и перебрасывать пакеты на нужный интерфейс), то на интерфейсах коммутатора возникают входные очереди. Очевидно, что для хранения входной очереди объем буфера должен превышать размер одного пакета. Существуют различные подходы к построению коммутирующего блока. Традиционный способ основан на одном центральном процессоре, который обслуживает все входные очереди коммутатора. Такой способ построения может приводить к большим очередям, так как производительность процессора разделяется между несколькими очередями. Современные способы построения коммутирующего блока основаны на многопроцессорном подходе, когда каждый интерфейс имеет свой встроенный процессор для обработки пакетов Кроме того, существует центральный процессор, координирующий работу интерфейсных процессоров. Использование интерфейсных процессоров повышает производительность коммутатора и уменьшает очереди во входных интерфейсах. Однако такие очереди все равно могут возникать, так как центральный процессор по-прежнему остается «узким местом".
Поскольку объем буферов в коммутаторах ограничен, иногда происходит потеря пакетов из-за переполнения буферов при временной перегрузке части сети, когда совпадают периоды пульсации нескольких информационных потоков. Для сетей с коммутацией пакетов потеря пакетов является обычным явлением, и для компенсации таких потерь в данной сетевой технологии предусмотрен ряд специальных механизмов, которые мы рассмотрим позже.
Пакетный коммутатор может работать на основании одного из трех методов продвижения пакетов:
· дейтаграммная передача;
· передача с установлением логического соединения;
· передача с установлением виртуального канала.
Дейтаграммная передача
Дейтаграммный способ передачи данных основан на том, что все передаваемые пакеты продвигаются (передаются от одного узла сети другому) независимо друг от друга на основании одних и тех же правил , процедура обработки пакета определяется только значениями параметров, которые он несет в себе и текущим состоянием сети (например, в зависимости от ее нагрузки пакет может стоять в очереди на обслуживание большее или меньшее время). Однако никакая информация об уже вырезанных пакетах сетью не хранится и в ходе обработки очередного пакета во внимание не принимается. То есть каждый отдельный пакет рассматривается сетью как совершенно независимая единица передачи — дейтаграмма.
Решение о продвижении пакета принимается на основе таблицы коммутации (Напомним, что в разных технологиях для обозначения таблиц, имеющих указанное выше функциональное назначение, могут использоваться другие термины (таблица маршрутизации, таблиц» продвижения и др.).), ставящей в соответствие адресам назначения пакетов информацию, однозначно определяющую следующий по маршруту транзитный (или конечный) узел. В качестве такой информации могут выступать идентификаторы интерфейсов данного коммутатора или адреса входных интерфейсов коммутаторов, следующих по маршруту.
На рис. показана сеть, в которой шесть конечных узлов (N1-N6) связаны семью коммутаторами (S1-S7). Показаны также несколько перемещающихся по разным маршрутам пакетов с разными адресами назначения (N1-N5), на пути которых лежит коммутатор S1.
При поступлении каждого из этих пакетов в коммутатор S1 выполняется просмотр соответствующей таблицы коммутации и выбор дальнейшего пути перемещения. Так пакет с адресом N5 будет передан коммутатором S1 на интерфейс, ведущий к коммутатору S6, где в результате подобной процедуры этот пакет будут направлен конечному узлу получателю N5.
В таблице коммутации для одного и того же адреса назначения может содержаться несколько записей, указывающих соответственно на различные адреса следующего коммутатора. Такой подход называется балансом нагрузки и используется для повышения производительности и надежности сети. В примере, показанном на рис., пакеты, поступающие в коммутатор S1 для узла назначения с адресом N2, в целях баланса нагрузки распределяются между двумя следующими коммутаторами — S2 и S3, что снижает нагрузку на каждый из них, а значит, сокращает очереди и ускоряет доставку. Некоторая «размытость» путей следования пакетов с одним и тем же адресом назначения через сеть является прямым следствием принципа независимой обработки каждого пакета, присущего дейтаграммному методу. Пакеты, следующие по одному и тому же адресу назначения, могут добираться до него разными путями также вследствие изменения состояния сети, например отказа промежуточных коммутаторов.
Дейтаграммный метод работает быстро, так как никаких предварительных действий перед отправкой данных проводить не требуется. Однако при таком методе трудно проверить факт доставки пакета узлу назначения. Этот метод не гарантирует доставку пакета, он делает это по мере возможности — для описания такого свойства используется термин доставка с максимальными усилиями (best effort).
Передача с установлением логического соединения
Следующий рассматриваемый нами способ продвижения пакетов основывается на знании устройствами сети «истории» обмена данными, например, на запоминании узлом- отправителем числа отправленных, а узлом-получателем — числа полученных пакетов. Такого рода информация фиксируется в рамках логического соединения.
Процедра согласованиядвумя конечными узлами сети некоторых параметров процесса обмена пакетами называется установлением логического соединения.
Параметры, о которых договариваются два взаимодействующих узла, называются параметрами логического соединения.
Наличие логического соединения позволяет более рационально по сравнению с дейтаграммным способом обрабатывать пакеты. Например, при потере нескольких предыдущих пакетов может быть снижена скорость отправки последующих. Или благодаря нумерации пакетов и отслеживанию номеров отправленных и принятых пакетов можно повысить надежность путем отбрасывания дубликатов, упорядочивания поступивших и повторения передачи потерянных пакетов.
Параметры соединения могут быть: постоянными, то есть не изменяющимися в течение всего соединения (например, идентификатор соединения, способ шифрования пакета или максимальный размер поля данных пакета), или переменными, то есть динамически отражающими текущее состояние соединения (например, последовательные номера передаваемых пакетов).
Когда отправитель и получатель фиксируют начало нового соединения, они, прежде всего, «договариваются» о начальных значениях параметров процедуры обмена и только после этого начинают передачу собственно данных.
Передача с установлением соединения более надежна, но требует больше времени для передачи данных и вычислительных затрат от конечных узлов, что иллюстрирует рис.
Процедура установления соединения состоит обычно из трех шагов.
1. Узел-инициатор соединения отправляет узлу-получателю служебный пакет с предложением установить соединение.
2. Если узел-получатель согласен с этим, то он посылает в ответ другой служебный пакет, подтверждающий установление соединения и предлагающий некоторые параметры, которые будут использоваться в рамках данного логического соединения. Это могут быть, например, идентификатор соединения, количество кадров, которые можно отправить без получения подтверждения и т. п.
3. Узел-инициатор соединения может закончить процесс установления соединения отправкой третьего служебного пакета, в котором сообщит, что предложенные параметры ему подходят.
Логическое соединение может быть рассчитано на передачу данных как в одном направлении — от инициатора соединения, так и в обоих направлениях. После передачи некоторого законченного набора данных, например определенного файла, узел-отправитель инициирует разрыв данного логического соединения, посылая соответствующий служебный кадр.
Заметим, что, в отличие от передачи дейтаграммного типа, в которой поддерживается только один тип кадра — информационный, передача с установлением соединения должна поддерживать как минимум два типа кадров — информационные кадры переносят собственно пользовательские данные, а служебные предназначаются для установления (разрыва) соединения.
После того как соединение установлено и все параметры согласованы, конечные узлы начинают передачу собственно данных. Пакеты данных обрабатываются коммутаторами точно так же, как и при дейтаграммной передаче: из заголовков пакетов извлекаются адреса назначения и сравниваются с записями в таблицах коммутации, содержащих информацию о следующих шагах по маршруту. Так же как дейтаграммы, пакеты, относящиеся к одному логическому соединению, в некоторых случаях (например, при отказе линии связи) могут доставляться адресату по разным маршрутам.
Однако передача с установлением соединения имеет важное отличие от дейтаграммной передачи, поскольку в ней помимо обработки пакетов на коммутаторах имеет место дополнительная обработка пакетов на конечных узлах. Например, если при установлении соединения была оговорена передача данных в зашифрованном виде, то шифрование пакетов выполняется узлом-отправителем, а расшифровка — узлом-получателем. Аналогично, для обеспечения в рамках логического соединения надежности всю работу по нумерации пакетов, отслеживанию номеров доставленных и недоставленных пакетов, посылки копий и отбрасывания дубликатов берут на себя конечные узлы.
ПРИМЕЧАНИЕ
Некоторые параметры логического соединения могут рассматриваться еще и как признаки информационного потока между узлами, установившими это логическое соединение.
Механизм установления логических соединений позволяет реализовывать дифференцированное обслуживание информационных потоков. Разное обслуживание могут получить даже потоки, относящиеся к одной и той же паре конечных узлов. Например, пара конечных узлов может установить два параллельно работающих логических соединения, одном из которых передавать данные в зашифрованном виде, а в другом — открытым текстом.
Как видим, передача с установлением соединения предоставляет больше возможностей в плане надежности и безопасности обмена данными, чем дейтаграммная передача. Однако этот способ более медленный, так как он подразумевает дополнительные вычислительные затраты на установление и поддержание логического соединения.
Передача с установлением виртуального канала
Следующий способ продвижения данных основан на частном случае логического соединения в число параметров которого входит жестко определенный для всех пакетов маршрут. То есть все пакеты, передаваемые в рамках данного соединения, должны проходить по одному и тому же закрепленному за этим соединением пути.
Единственный заранее проложенный фиксированный маршрут, соединяющий конечные узлы в сети с коммутацией пакетов, называют виртуальным каналом (virtual circuit или virtual channel)
Виртуальные каналы прокладываются для устойчивых информационных потоков. С целью выделения потока данных из общего трафика каждый пакет этого потока помечается специальным видом признака — меткой.
Так же как в сетях с установлением логических соединений, прокладка виртуального канал» начинается с отправки из узла-источника специального пакета — запроса на установлена соединения. В запросе указываются адрес назначения и метка потока, для которого прокладывается этот виртуальный канал. Запрос, проходя по сети, формирует новую запись в каждом из коммутаторов, расположенных на пути от отправителя до получателя. Запись говорит о том, каким образом коммутатор должен обслуживать пакет, имеющий заданную метку. Образованный виртуальный канал идентифицируется той же меткой (Эта метка в различных технологиях называется по-разному: номер логического канала (Logical Channel Number, LCN) в технологии Х.25, идентификатор соединения уровня канала данных (Data Link Connection Identifier, DLCI) в технологии Frame Relay, идентификатор виртуального (Virtual Channel Identifier, VCI) в технологии ATM).
После прокладки виртуального канала сеть может передавать по нему соответствующий поток данных. Во всех пакетах, которые переносят пользовательские данные, адрес назначения уже не указывается, его роль играет метка виртуального канала. При поступлении пакета на входной интерфейс коммутатор читает значение метки из заголовка пришедшего пакета и просматривает свою таблицу коммутации, по которой определяет, на какой выходной порт передать пришедший пакет.
На рис. показана сеть, в которой проложены два виртуальных канала (Virtual Channel, VC), идентифицируемых метками VC1 и VC2. Первый проходит от конечного узла с адресом N1 до конечного узла с адресом N2 через промежуточные коммутаторы S1 и S2. Второй виртуальный канал VC2 обеспечивает продвижение данных по пути N1-S1-S3-S5-N3. В общем случае, между двумя конечными узлами может быть проложено несколько виртуальных каналов, например еще один виртуальный канал между узлами N1 и N2 мог бы проходить через промежуточный коммутатор S3. На рисунке показаны два пакета, несущие в своих заголовках метки потоков VC1 и VC2, которые играют роль адресов назначения.
Таблица коммутации в сетях, использующих виртуальные каналы, отличается от таблицы коммутации в дейтаграммных сетях. Она содержит записи только о проходящих через коммутатор виртуальных каналах, а не обо всех возможных адресах назначения, как это имеет место в сетях с дейтаграммным алгоритмом продвижения. Обычно в крупной сети количество проложенных через узел виртуальных каналов существенно меньше общего количества узлов, поэтому и таблицы коммутации в этом случае намного короче, а следовательно, анализ такой таблицы занимает у коммутатора меньше времени. По той же причине метка короче адреса конечного узла, и заголовок пакета в сетях с виртуальными каналами переносит по сети вместо длинного адреса компактный идентификатор потока.
ПРИМЕЧАНИЕ
Использование в сетях техники виртуальных каналов не делает их сетями с коммутацией каналов. Хотя в подобных сетях применяется процедура предварительного установления канала, этот канал является виртуальным, то есть по нему передаются отдельные пакеты, а не потоки информации с постоянной скоростью, как в сетях с коммутацией каналов.
В одной и той же сетевой технологии могут быть задействованы разные способы продвижения данных. Так, дейтаграммный протокол IP используется для передачи данных между отдельными сетями, составляющими Интернет. В то же время обеспечением надежной доставки данных между конечными узлами этой сети занимается протокол TCP, устанавливающий логические соединения без фиксации маршрута. И наконец, Интернет — это пример сети, применяющей технику виртуальных каналов, так как в состав Интернета входит немало сетей ATM и Frame Relay, поддерживающих виртуальные каналы.