Принципы пакетной передачи данных
Коммутация пакетов
Под коммутацией в сетях передачи данных понимается совокупность операций, обеспечивающих в узлах коммутации передачу информации между входными и выходными устройствами в соответствии с указанным адресом.
При коммутации пакетов (КП) передаваемое сообщение разбивается на меньшие части, называемые пакетами, каждый из которых имеет установленную максимальную длину. Пакеты снабжаются служебной информацией, необходимой для доставки пакета, и передаются по сети.
Каждый пакет снабжается следующей служебной информацией (заголовком):
- коды начала и окончания пакета,
- адреса отправителя и получателя,
- номер пакета в сообщении,
- информация для контроля достоверности передаваемых данных в промежуточных узлах связи и в пункте назначения.
Множество пакетов одного и того же сообщения может передаваться одновременно. Приемник в соответствии с заголовками пакетов выполняет сборку пакетов в исходное сообщение и отправляет его получателю. Благодаря возможности не накапливать сообщения целиком, в узлах коммутации не требуется внешних запоминающих устройств, следовательно, можно вполне ограничиться оперативной памятью, а в случае ее переполнения использовать различные механизмы задержки передаваемых пакетов в местах их генерации.
Части одного и того же сообщения могут в одно и то же время находиться в различных каналах связи, более того: когда начало сообщения уже принято, его конец отправитель может еще даже не передавать в канал.
При пакетной коммутации приходится находить компромиссное решение, удовлетворяющее двум противоречивым требованиям:
— уменьшение задержки пакета в сети, обеспечиваемое уменьшением его длины;
— обеспечение повышения эффективности передачи информации, достигаемое, наоборот, увеличением длины пакета (при малой длине пакета длина его заголовка становится неприемлемо большой, что снижает экономическую эффективность передачи).
В сети с пакетной коммутацией максимальный размер пакета устанавливается на основе 3-х факторов:
— распределение длин пакетов,
— характеристика среды передачи (главным образом, скорость передачи),
— стоимость передачи.
Для каждой передающей среды выбирается свой оптимальный размер пакета.
Процесс передачи данных в сети с коммутацией пакетов
Процесс передачи данных в сети с КП можно представить в виде следующей последовательности операций:
- вводимое в сеть сообщение разбивается на части — пакеты, содержащие адрес конечного пункта получателя;
- в узле КП пакет запоминается в оперативной памяти (ОЗУ) и по адресу определяется канал, по которому он должен быть передан;
- если этот канал связи с соседним узлом свободен, то пакет немедленно передается на соседний узел КП, в котором повторяется та же операция;
- если канал связи с соседним узлом занят, то пакет может какое-то время храниться в ОЗУ до освобождения канала;
- сохраняемые пакеты помещаются в очередь по направлению передачи, причем длина очереди не превышает 3-4 пакета; если длина очереди превышает допустимую, пакеты стираются из ОЗУ и их передача должна быть повторена.
Пакеты, относящиеся к одному сообщению, могут передаваться по разным маршрутам в зависимости от того, по какому из них в данный момент они с наименьшей задержкой могут пойти к адресату. В связи с тем, что время прохождения по сети пакетов одного сообщения может быть различным (в зависимости от маршрута и задержки в узлах коммутации), порядок их перехода к получателю может не соответствовать порядку пакетов.
Методы пакетной коммутации
Существует два метода пакетной коммутации: дейтаграммный (датаграммный) и способ виртуальных соединений.
Дейтаграммный метод
Этот метод эффективен для передачи коротких сообщений. Он не требует громоздкой процедуры установления соединения между абонентами.
Термин «дейтаграмма» (датаграмма, datagram ) применяют для обозначения самостоятельного пакета, движущегося по сети независимо от других пакетов. Пакеты доставляются получателю различными маршрутами. Эти маршруты определяются сложившейся динамической ситуаций на сети. Каждый пакет снабжается необходимым служебным маршрутным признаком, куда входит и адрес получателя.
Пакеты поступают на прием не в той последовательности, в которой они были переданы, поэтому приходится выполнять функции, связанные со сборкой пакетов. Получив дейтаграмму, узел коммутации направляет ее в сторону смежного узла, максимально приближенного к адресату. Когда смежный узел подтверждает получение пакета, узел коммутации стирает его в своей памяти. Если подтверждение не получено, узел коммутации отправляет пакет в другой смежный узел, и так до тех пор, пока пакет не будет отправлен.
Все узлы, окружающие данный узел коммутации, ранжируются по степени близости к адресату, и каждому присваивается 1, 2 и т.д. ранг. Пакет сначала посылается в узел первого ранга, при неудаче — в узел второго ранга и т.д. Эта процедура называется алгоритмом маршрутизации. Существуют алгоритмы, когда узел передачи выбирается случайно, и тогда каждая дейтаграмма будет идти по случайной траектории.
Виртуальный метод
Этот метод предполагает предварительное установление маршрута передачи всего сообщения от отправителя до получателя с помощью специального служебного пакета — запроса вызова.
Для этого пакета выбирается маршрут, который в случае согласия получателя этого пакета на соединение закрепляется для прохождения по нему всего трафика. Пакет запроса на соединение как бы прокладывает через сеть путь , по которому пойдут все пакеты, относящиеся к этому вызову.
Метод называется виртуальным потому, что здесь не коммутируется реальный физический тракт (как, например, в телефонной сети), а устанавливается логическая связка между отправителем и получателем, — т.е. коммутируется виртуальный (воображаемый) тракт.
В виртуальной сети абоненту-получателю направляется служебный пакет, прокладывающий виртуальное соединение. В каждом узле этот пакет оставляет распоряжение вида: пакеты k -го виртуального соединения, пришедшие из i -го канала, следует направлять в j -й канал. Тем самым виртуальное соединение существует только в памяти управляющего компьютера. Дойдя до абонента-получателя, служебный пакет запрашивает у него разрешение на передачу, сообщив, какой объем памяти понадобится для приема. Если его компьютер располагает такой памятью и свободен, то посылается согласие абоненту-отправителю на передачу сообщения. Получив подтверждение, абонент-отправитель приступает к передаче сообщения обычными пакетами.
Пакеты беспрепятственно проходят друг за другом по виртуальному соединению и в том же порядке попадают абоненту-получателю, где, освободившись от заголовков и концевиков, образуют передаваемое сообщение.
Виртуальное соединение может существовать до тех пор, пока отправленный одним из абонентов специальный служебный пакет не сотрет инструкции в узлах.
Режим виртуальных соединений эффективен при передаче больших массивов информации.
Преимущества режима виртуальных соединений перед дейтаграммным заключается в обеспечении упорядоченности пакетов, поступающих в адрес получателя, и сравнительной простоте управления потоком данных вдоль маршрута в целях ограничения нагрузки в сети, в возможности предварительного резервирования ресурсов памяти на узлах коммутации.
К недостаткам следует отнести отсутствие воздействия изменившейся ситуации в сети на маршрут, который не корректируется до конца связи. Виртуальная сеть в значительно меньшей степени подвержена перегрузкам и зацикливанию пакетов, за что приходится платить худшим использованием каналов и большей чувствительностью к изменению топологии сети.
Источник
Способы передачи пакетов. Дейтаграммная передача. Виртуальный канал.
Пакеты в сети могут передаваться двумя способами:
· путем формирования «виртуального канала».
При дейтаграммном способепакеты одного и того же сообщения могут передаваться между двумя взаимодействующими пользователями по разным маршрутам. В результате такого способа передачи все пакеты приходят в конечный узел сети в разное время и в произвольной последовательности. Пакеты одного и того же сообщения, рассматриваемые в каждом узле сети как самостоятельные независимые единицы данных и передаваемые разными маршрутами, называются дейтаграммами (datagram). В узлах сети для каждой дейтаграммы всякий раз определяется наилучший путь передачи в соответствии с выбранной метрикой маршрутизации, не зависимо от того, по какому пути переданы были предыдущие дейтаграммы с такими же адресами назначения (получателя) и источника (отправителя).
Дейтаграммный способ передачи пакетов может быть реализован:
· без установления соединения между абонентами сети;
· с установлением соединения между взаимодействующими абонентами сети.
В последнем случае между взаимодействующими абонентами предварительно устанавливается соединение путём обмена служебными пакетами: «запрос на соединение» и «подтверждение соединения», означающее готовность принять передаваемые данные. В процессе установления соединения могут «оговариваться» значения параметров передачи данных, которые должны выполняться в течение сеанса связи. После установления соединения отправитель начинает передачу, причём пакеты одного и того же сообщения могут передаваться разными маршрутами, то есть дейтаграммным способом. По завершении сеанса передачи данных выполняется процедура разрыва соединения путём обмена служебными пакетами: «запрос на разрыв соединения» и «подтверждение разрыва соединения». Описанная процедура передачи пакетов с установлением соединения иллюстрируется на диаграмме.
· простота организации и реализации передачи данных – каждый пакет (дейтаграмма) сообщения передаётся независимо от других пакетов;
· в узлах сети для каждого пакета выбирается наилучший путь (маршрут);
· передача данных может выполняться как без установления соединения между взаимодействующими абонентами, так и при необходимости с установлением соединения.
· необходимость сборки сообщения в конечном узле: сообщение не может быть передано получателю, пока в конечном узле сети не соберутся все пакеты данного сообщения, поэтому в случае потери хотя бы одного пакета сообщение не сможет быть сформировано и передано получателю;
· при длительном ожидании пакетов одного и того же сообщения в конечном узле может скопиться достаточно большое количество пакетов сообщений, собранных не полностью, что требует значительных затрат на организацию в узле буферной памяти большой ёмкости;
· для предотвращения переполнения буферной памяти узла время нахождения (ожидания) пакетов одного и того же сообщения в конечном узле ограничивается, и по истечении этого времени все поступившие пакеты не полностью собранного сообщения уничтожаются, после чего выполняется запрос на повторную передачу данного сообщения; это приводит к увеличению нагрузки на сеть и, как следствие, к снижению её производительности, измеряемой количеством сообщений, передаваемых в сети за единицу времени.
Виртуальный канал
Способ передачи пакетов «виртуальный канал»заключается в формировании единого «виртуального» канала на время взаимодействия абонентов для передачи всех пакетов сообщения. Этот способ реализуется с использованием предварительного установления соединения между взаимодействующими абонентами, в процессе которого формируется наиболее рациональный единый для всех пакетов маршрут, по которому, в отличие от дейтаграммного способа, все пакеты сообщения передаются в естественной последовательности.
Пакеты П1, П2 и П3 сообщения передаются в естественной последовательности от пользователя А к пользователю В по предварительно созданному виртуальному каналу через узлы У1-У4-У7. Виртуальный канал, как и реальный физический канал в случае коммутации каналов, существует только в течение сеанса связи, при этом ресурсы реальных каналов связи (пропускная способность) и узлов сети (буферная память), находящихся на маршруте, резервируются на всё время сеанса.
«Виртуальной канал» реализуется с промежуточным хранением пакетов в узлах сети, в то время как коммутация каналов реализуется без промежуточного хранения передаваемых пакетов за счёт создания реального (а не виртуального) физического канала между абонентами сети.
· меньшие задержки в узлах сети, обусловленные резервированием ресурсов, и прежде всего пропускной способности каналов связи, в процессе установления соединения;
· небольшое время ожидания в конечном узле для сборки всего сообщения, поскольку пакеты передаются последовательно друг за другом по одному и тому же маршруту (виртуальному каналу), и вероятность того, что какой-либо пакет «заблудится» в результате неудачно выбранного маршрута или его время доставки окажется слишком большим, как это может произойти при дейтаграммном способе, близка к нулю;
· более эффективное использование буферной памяти промежуточных узлов за счёт её предварительного резервирования, а также буферной памяти в конечном узле в связи с небольшим временем ожидания прихода всех пакетов сообщения.
· наличие накладных расходов (издержек) на установление соединения;
· неэффективное использование ресурсов сети, поскольку они резервируются на всё время взаимодействия абонентов (сеанса) и не могут быть предоставлены другому соединению, даже если они в данный момент не используются.
Маршрутизация. Таблица маршрутизации. Модель маршрутизатора. Классификация методов маршрутизации. Простые методы маршрутизации. Методы фиксированной маршрутизации. Методы адаптивной маршрутизации.
Маршрутизация – одна из основных функций компьютерной сети, определяющая эффективность передачи данных. Проблема маршрутизации в компьютерных сетях аналогична проблеме организации автомобильного движения по улицам города и состоит в выборе в каждом узле сети направления передачи данных (выходного канала) из множества возможных направлений в соответствии с адресом назначения и с учётом требований, предъявляемых к качеству передачи. Очевидно, что наиболее просто маршрутизация реализуется в узлах с двумя каналами: данные, поступившие по одному каналу, автоматически направляются в другой канал узла.
Таблица маршрутизации
При наличии нескольких выходных каналов, по которым могут быть переданы данные, маршрутизация реализуется на основе таблицы маршрутизации, вид которой зависит от используемого в сети алгоритма маршрутизации. В простейшем случае каждому адресу назначения ставится в соответствие адрес следующего соседнего узла, к которому должен быть направлен пакет с указанным в заголовке адресом назначения. При наличии альтернативных маршрутов, например в многосвязных сетях, дополнительно могут быть указаны адреса других соседних узлов, через которые проходят альтернативные маршруты. При этом для каждого маршрута задаётся значение некоторой метрики, на основе которой выбирается тот или иной маршрут. В качестве метрики может использоваться расстояние до узла назначения, измеряемое, например, в хопах, пропускная способность соответствующего выходного канала связи и т.д.
Модель маршрутизатора
По входным каналам связи (ВхКС) пакеты с данными поступают во входной буфер (ВхБ) маршрутизатора. Центральный процессор (ЦП) последовательно анализирует заголовки пакетов и в соответствии с таблицей маршрутизации (ТМ) определяет направление передачи пакета и соответствующий выходной канал связи (ВыхКС). Затем пакет направляется в выходной буфер (ВыхБ) этого канала, где он ожидает освобождения канала, если последний занят передачей предыдущих пакетов. Пакеты, находящиеся в выходном буфере, образуют очередь перед каналом связи. Для дифференцированного обслуживания пакетов разных типов, имеющих разные требования к качеству обслуживания, выбор очередного пакета для передачи по каналу связи может осуществляться в соответствии с некоторой, например приоритетной, дисциплиной обслуживания.
Источник