Стек протоколов сети пакетной коммутации X.25

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 22:52, 26 января 2015.
Данная статья была согласована с её автором Р.А. Бельферым 28 апреля 2012 года.

__NUMBEREDHEADINGS__

Многоуровневый принцип построения сети

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

При декомпозиции в сетях связи используют многоуровневый подход. Он заключается в следующем:

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

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

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

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

Протокол – это набор формализованных правил, процедур, спецификаций, определенный формат и способ передачи данных.

Обычно протокол обеспечивает взаимодействие между процессами, находящимися на одном иерархическом уровне, но в разных оконечных и транзитных пунктах сети. Элементы данных, пересылаемых на одном иерархическом уровне, называются элементами данных протокола блока данных PDU (Protocol Data Unit).

На рис. 1. показана пятиуровневая сеть. Объекты различных узлов сети включают соответствующие уровни. Они виртуально (логически) общаются при помощи протоколов. В действительности, данные не пересылаются с уровня n одной машины на уровень n другой машины. Вместо этого, каждый уровень машины-отправителя, начиная с верхнего, передает данные и управление уровню, лежащему ниже, пока не будет достигнут самый нижний уровень. Такие сообщения называются служебными элементами данных SDU (Service Data Unit). Ниже первого уровня находится физический носитель, по которому и производится обмен информацией. На приемной стороне пересылаемый блок данных последовательно проходит уровни машины-получателя снизу вверх. Каждый уровень выполняет свою группу функций, необходимых для приема данных.

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

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

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

Представим, что существуют два абонента Боб и Алиса (уровень 3), один из них говорит на английском языке, а другой – на французском. Поскольку нет общего языка, на котором они могут общаться непосредственно, каждый из них использует переводчика (одноранговые процессы уровня 2). Каждый из переводчиков, в свою очередь, нанимает секретаря (одноранговые процессы уровня 1). Боб желает сказать своему собеседнику «Я люблю Вас». Для этого он передает сообщение на английском языке по интерфейсу 2/3 (интерфейс, находящийся между вторым и третьим уровнем) своему переводчику. Переводчики договорились общаться на нейтральном языке – русском. Таким образом, сообщение преобразуется к виду «Я люблю Вас». Выбор языка является протоколом второго уровня и осуществляется одноранговыми процессами уровня 2. Затем переводчик отдает сообщение секретарю для передачи, например, по факсу (протокол первого уровня). Когда сообщение получено другим секретарем, оно переводится на французский язык и через интерфейс 2/3 передается абоненту Алисе. Заметим, что каждый протокол полностью независим, поскольку интерфейсы одинаковы с каждой стороны. Переводчики могут переключиться с русского языка, скажем, на финский, при условии, что оба будут согласны. При этом в интерфейсах второго уровня с первым или с третьим уровнем ничего не изменится. Подобным образом секретари могут сменить факс на электронную почту или телефон, не затрагивая (и даже не информируя) другие уровни. Каждое изменение касается только обмена информацией на своем уровне. Эта информация не будет передаваться на более высокий уровень.

Рассмотрим технический пример: как обеспечить общение для верхнего уровня пятиуровневой сети (рис. 3). Сообщение M создается приложением, работающим на уровне 5, и передается уровню 4 для передачи. Уровень 4 добавляет к сообщению заголовок (З4), например, для идентификации номера сообщения, и передает результат уровню 3. Во многих сетях сообщения (данные), передаваемые на уровне 4, не ограничиваются по размеру, однако почти всегда подобные ограничения накладываются на протокол третьего уровня. Соответственно, уровень 3 должен разбить входящее сообщение на более мелкие единицы – пакеты, предваряя каждый пакет заголовков уровня 3 – З31(для М1) и З32 (для М2). В данном примере сообщение М разбивается на две части М1 и М2. Заголовок З31 и З32 включают управляющую информацию, например, последовательные номера, позволяющие уровню 4 принимающей машины доставить сообщения своему приложению в правильном порядке, если на нижних уровнях произойдет нарушение этой последовательности. На некоторых уровнях заголовки также включают в себя размеры пересылаемых блоков данных, время пребывания в сети и другие управляющие поля.

Уровень 3 решает, какую из выходных линий использовать, то есть определяет направление дальнейшей передачи, и передает пакеты уровню 2.
Рис. 3. Пример пятиуровневой сети
Здесь рассматривается разделение нагрузки, когда часть соединения М передается по одному каналу, а другая часть по другому каналу. Уровень 2 добавляет не только заголовки З21 и З22 к каждому пакету, но также и концевики К21 и К22 – завершители пакета. Заголовки и концевики уровни 2 служат для обнаружения искаженных в канале пакетов и повтора их с буфера. Пакеты уровня 2 передаются уровню 1 для физической передачи. На приемной машине сообщение передается по уровням вверх, при этом заголовки убираются на каждом уровне по мере продвижения сообщения. Заголовки нижних уровней более высоким уровням не передаются.

Необходимо понять соотношение между виртуальным и реальным общением и разницу между протоколом и интерфейсом. Одноранговые процессы уровня 4, например, воспринимают свое общение горизонтальным, использующим протокол 4-го уровня. У каждого из них имеется процедура с названием вроде «Передать на противоположную сторону» или «Принять от противоположной стороны». На самом деле эти процедуры общаются не друг с другом, а с нижними уровнями при помощи интерфейсов 3/4.

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

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

Службы с установлением и без установления соединений, надежные и ненадежные соединения

Уровни могут предлагать вышестоящим уровням услуги двух типов: с наличием или отсутствием установления соединения. В технике связи процедура обмена сообщениями в процессе установления или разъединения соединений называется сигнализацией (signaling).

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

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

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

Пакетная коммутация

В соответствии с законом «О связи» от 18 июня 2003 года[1] для сетей связи общего пользования стратегическим направлением является коммутация пакетов.

При коммутации пакетов сообщение пользователя разбивается в оконечном узле связи на пакеты - элементы сообщения, снабженные заголовком. Например, в сети Х.25 максимальная длина поля данных пакета
Рис. 4. Передача данных в сети КП
устанавливается по согласованию (по умолчанию - 128 байт). В заголовке пакета устанавливается адресная информация, необходимая для доставки пакета в оконечное устройство получателя. В сети Х.25 используется формат адресации, определенный в рекомендации ITU-T Х.121, содержащий код зоны (всего в мире 7 зон), код определенной сети в зоне и номер сетевого терминала из десяти цифр. На рис. 4 показана передача сообщения абонента абоненту . Абонент подключён к центру коммутации А, а абонент к центру коммутации D. Перед передачей сообщение разбивается на три пакета, которые поступают получателю через транзитные центры коммутации B и C.

К сетям с коммутацией пакетов относится не только сеть Х.25, но и более современные технологии (сети Frame Relay, ATM), а также Интернет.Пропускная способность канала в сети КП при неравномерном трафике существенно выше, чем в сетях КК. Один и тот же физический канал используется для обслуживания многих абонентов, поочередно предоставляя свою пропускную способность разным соединениям абонентов. Наибольший эффект от КП достигается при высоком коэффициенте пульсации трафика пользователей сети.

Коэффициент пульсации трафика отдельного пользователя сети определяется как отношение пиковой скорости на каком-либо коротком интервале времени к средней скорости обмена данными на длинном интервале времени и может достигать значений 100:1. Если использовать коммутацию каналов, то большую часть времени канал будет простаивать. В то же время часть ресурсов сети остается закрепленной за данной парой абонентов и недоступна другим пользователям сети.

На рис. 5 приведен пример мультиплексирования пакетов разных информационных потоков в одном физическом канале.

Рис. 5. Пример мультиплексирования пакетов в одном физическом канале

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

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

Стек протокола сети пакетной коммутации стандарта X.25

Рассмотрев многоуровневый принцип построения сети, перейдем к стеку протоколов (или уровней) конкретной сети пакетной коммутации стандарта X.25.

Изучение стека протоколов именно этой сети объясняется следующими причинами:

  1. рекомендации МСЭ-Т X.25 и родственные с ней (X.3, X.28, X.75, X.121 и др.) наиболее полно соответствуют стандартизированной МСЭ-Т эталонной модели взаимодействия открытых систем OSI, (Open System Telecommunication), включающей 7 уровней. Следует отметить, что модель OSI не полностью отражают архитектуру построения современных технологий сетей связи. Несмотря на это модель OSI является прекрасным механизмом для анализа основ архитектуры этих сетей[2].
  2. многие из современных технологий имеют корни в стандарте Х.25. Сети Х.25 продолжают находится в эксплуатации (в том числе и в России – сеть общего пользования «РОСПАК», система защиты банкоматов Сбербанка России и др.).
  3. изложение принципов программного обеспечения в сети X.25 позволяет изучить процедуры функционирования технологий более современных сетей (Frame Relay, ATM, IP-сети, ОКС№7, MPLS).
  4. для классификации сетей связи используются различные признаки. Чаще всего сети делятся по величине территории, которую покрывает сеть. Причиной является отличие технологий локальных и глобальных сетей. Глобальные сети, к которым относятся сети Х.25 предназначены для обслуживания большого количества абонентов, разбросанных на большой территории – в пределах региона, страны, континента или всего земного шара. Услугами глобальной сети могут пользоваться локальные сети предприятий или отдельные компьютеры. Исторически глобальные сети появились первыми, хотя технология их значительно сложнее. Именно при их построении были впервые отражены основные концепции сетей, такие как многоуровневое построение коммуникационных протоколов, технология коммутации пакетов, требования к качеству обслуживания QoS (Quality of Service) и соглашение о гарантии обслуживания SLA (Service Level Agreements).

На рис. 6 представлен стек протоколов сети ПК Х.25.

Здесь приведена транспортная сеть, состоящая из трех центров коммутации пакетов ЦКП (ЦКП1, ЦКП2, ЦКП3) и двух оконечных станций - А и В. ЦКП включает три нижних уровня, соответствующих модели OSI:

  • физический уровень (уровень 1), осуществляющий передачу бит;
  • канальный уровень или уровень звена данных Х.25/2 (уровень 2), осуществляющий свободную от ошибок передачу по отдельному каналу связи;
  • сетевой уровень Х.25/3 (уровень 3), обеспечивающий маршрутизацию (коммутацию) сообщений по каналам, связывающим ЦКП.

На этих уровнях действуют протоколы транспортной сети между ЦКП и протоколы доступа к сети. Как правило, протоколы верхних уровней модели OSI (с 4 по 7) реализуются только на оконечных устройствах сети и являются сквозными протоколами.

Четвертый уровень в модели OSI является транспортным уровнем. Транспортный уровень располагается на оконечных станциях и обеспечивает интерфейс между транспортной сетью (ЦКП1, ЦКП2, ЦКП3) и верхними тремя уровнями обработки данных, размещенными у пользователя. Транспортный уровень, в частности, выполняет сегментирование данных, передаваемых в сеть, в случае необходимости.

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

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

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

На рис. 7 показан перенос данных в сетях ПК X.25 через все уровни оконечных устройств абонентов А и Б, а также нижние три уровня узлов транспортной сети. Здесь приняты обозначения D3, D4, D5, D6, D7 - блоки данных уровней соответственно уровней 3, 4, 5, 6, 7. Обозначения З2, З3, З4, З5, З6 – заголовки блоков данных соответственно уровней 2, 3, 4, 5, 6. Передача данных физически производится по вертикали: на передачу с верхнего уровня на нижний и на приёме наоборот. Для передачи сообщения четвертого уровня оконечного устройства (состоящего из заголовка З4 и данных Д5) оно вкладывается (инкапсулируется) в пакет третьего уровня (сетевого). При этом к пакету добавляется заголовок З3 (включающий адрес). На основе адресов заголовка производится коммутация в центре коммутации пакетов. Далее производится инкапсуляция этого пакета в кадр второго уровня. Как видно из рисунка, кроме заголовка З2 в кадр добавляется концевик К2, который служит для обнаружения на приёме искаженного в канале кадра.

Шифрование сообщений в сети пакетной коммутации

Одним из способов обеспечения противодействия угрозам информационной безопасности некоторых сетей ограниченного пользования является шифрование. При использовании шифрования необходимо решать, что именно следует шифровать и на каком уровне эталонной модели OSI следует осуществлять защиту информации. Для таких сетей коммутация информационных пакетов производится на основании таблицы маршрутизации, включающих физические адреса. В этом отношении они отличаются от сети пакетной коммутации стандарта Х.25 (подробно об этом будет изложено в главе 7) и в них предусмотрено два основных варианта шифрования: канальное и сквозное шифрование[3]. Их использование показано на рис. 8.

Рис. 8. Шифрование в сети коммутации пакетов

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

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

Какую часть каждого пакета при сквозном шифровании должен шифровать источник? Предположим, что шифрует весь пакет, включая заголовок. Но этого делать нельзя, так как выполнить расшифровку сможет только получатель. ЦКП, получивший такой пакет, не сможет прочитать заголовок и поэтому не сумеет переслать пакет в соответствии с адресом. Отсюда следует, что отправитель должен шифровать только ту часть пакета, которая содержит данные пользователя, и оставить заголовок нетронутым.

Итак, при сквозном шифровании данные пользователя оказываются защищенными, чего нельзя сказать о самом потоке данных, поскольку заголовки пакетов передаются в открытом виде. Возможность изучения структуры потока по адресам проходящих пакетов называется анализом трафика [10]. Чтобы достичь более высокого уровня защищенности, необходима комбинация канального и сквозного шифрования, например, как показано на рис. 8, на котором приведена сеть коммутации пакетов с четырьмя центрами коммутации ЦКП. К трем из этих ЦКП подключены оконечные устройства , , . Рассмотрим следующую ситуацию. Два оконечных устройства устанавливают соединение для передачи данных с использованием шифрования. Сообщения передаются пакетами, состоящими из заголовка и поля данных. Какую часть пакета должен шифровать оконечный пункт-источник сообщения ?

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

Примечания

  1. Федеральный закон Российской Федерации №126-ФЗ от 7.07.2003 (редакция от 23.02.2011) «О связи»
  2. Мур М., Притски Т., Риггс К. и др. Телекоммуникации. Спб.: БХВ-Петербург, 2003. 624с.
  3. Столингс В. Основы защиты сетей. Приложения и стандарты. М.: Вильямс, 2002. 324с.