Мельников Д. А. - Организация и обеспечение безопасности информационно-технологических сетей и систем - 2012
.pdfГлава 5. Транспортная служба ИТС
Взаимодействие процессов, происходящих в ГВМ и ТВМ, обес печивается СПД, которая включает в себя (рис. 5.1): базовую СПД, осуществляющую с помощью узлов связи маршрутизацию пакетов, каналы связи и средства управления ими, подключающие ЭВМ к узлам связи.
Сеть организует виртуальные каналы и соединения между ЭВМ, а также доставку пакетов. В отношении ЭВМ сеть является единой системой, реализующей фиксированный набор функций, определенных сетевым протоколом, например протоколом Х.25. Эти функции, во-первых, недостаточны по сравнению с возлагаемыми на ИТС функциями (удаленный ввод заданий, доступ к процессам, передача файлов и др.) и, во-вторых, для надежного взаимодействия ЭВМ, поскольку не обеспечивают проверку доступности при орга низации взаимодействия процессов, преобразование данных в паке ты, сохранение работоспособности сети при уничтожении пакетов из-за отказов оборудования и перегрузок и др.
По этим причинам в ИТС для взаимодействия процессов и од новременно с этим для взаимодействия ЭВМ с СПД создается транс портная служба, назначение которой - организация одного для всей вычислительной сети интерфейса между процессами. Транспортная служба устраняет разрыв между услугами, необходимыми для эф фективного функционирования процессов и ЭВМ, и возможностя ми, реализованными в СПД.
Транспортная служба - это распределенная между многими ЭВМ система, состоящая из транспортных модулей, связывающих ЭВМ с СПД. Транспортные модули (ТМ) реализуют функции уров ня 4 ЭМВОС - управление передачей данных между процессами че рез СПД. Формы представления данных, передаваемых между взаи модействующими процессами, и процедуры, реализуемые транс портной службой, определяются транспортным протоколом (прото колом передачи данных).
Транспортная сеть (рис. 5.1) включает в себя транспортную службу и СПД, что в совокупности обеспечивает единый способ взаи модействия всех процессов и ЭВМ, подключенных к сети. Транспорт ная сеть вводит транспортный интерфейс - правило взаимодействия процессов (рис. 5.2). Транспортный интерфейс базируется на общесе тевой системе адресации процессов и портов. Он устанавливает форму
Раздел I. |
73 |
представления данных, передаваемых между процессами, и набор процедур (функций) для организации соединений между процессами и обмена данными по установленным соединениям. Транспортный интерфейс определяется транспортным протоколом, в соответствии с которым строятся транспортные модули и организуется взаимодейст вие процессов в вычислительной сети.
л г ЛГ|11 интерфейс
A--.F — главные и терминальные ЭВМ ТМ — транспортный модуль
Рис. 5.1. Транспортная сеть
74 |
Глава 5. Транспортная служба ИТС |
5.1. Транспортный протокол
Функция транспортного протокола двояка. С одной стороны, транспортный протокол определяет средства, необходимые для взаимодействия процессов, и, следовательно, ЭВМ с сетью, постро енной по правилам, определяемым сетевым протоколом Х.25. В этой части транспортный протокол в дополнение к средствам, предос тавляемым сетью, обеспечивает функционирование процессов при сбоях и отказах СПД, приводящих к потере пакетов и самопроиз вольному разъединению виртуальных каналов. В таких ситуациях транспортный протокол должен обеспечивать восстановление нор мального режима функционирования.
С другой стороны, данные, которыми обмениваются процессы, передаются в форме сообщений. Последние являются для процессов целостными объектами, не связываемыми с пакетным способом пере дачи данных. С учетом этого транспортный протокол должен преду сматривать деление сообщений, формируемых процессами, на пакеты
исборку из пакетов принимаемых сообщений. Транспортный прото кол, занимая более высокий уровень, чем сетевой протокол, «скрыва ет» от процессов специфику функционирования СПД. Наряду с этими функциями транспортный протокол должен предоставлять возмож ность вводить приоритеты для некоторых видов обслуживания, засек речивать передаваемые данные путем их шифрования и др.
Основные функции транспортного протокола - создание соеди нений между портами процессов и передача сообщений через уста новленные соединения. Создание системы портов, необходимых для взаимодействия совокупности процессов, обеспечивающих ре шение прикладной задачи, является функцией управления сеансами (сессиями), относящийся к уровню 5. В ИТС, функционирование ко торой не требует организации связи сложной конфигурации между многими процессами, создание портов может быть возложено на транспортные модули, которые в этом случае реализуют функции 4
и5 уровней управления процессами обработки данных в ЭВМ.
ЭВМ "А" |
ЭВМ "В" |
ЭВМ "С" |
<\V< П роц ессы
Т р а н сп о р тн ы й и н т е р ф е й с
■ 9-1
Рис. 5 .2 . Транспортный интерфейс
Раздел I. |
75 |
5.2. Структура сообщений
Данные между процессами передаются через транспортный интерфейс в форме сообщений - последовательности байтов, огра ничиваемой сверху достаточно большим значением. Сообщение ха рактеризуется длиной в байтах и идентифицируется адресом порта местного процесса, которым посылается сообщение, адресом порта удаленного процесса, которому посылается сообщение, порядковым номером сообщения в сеансе связи. Эти сведения указываются в за головке сообщения, формируемом и обрабатываемом транспорт ными службами вычислительной сети.
Средства управления передачей данных транспортного уров ня делят сообщения на пакеты, которые последовательно вводятся в
СПД и передаются по сети под управлением средств сетевого уров ня. Принимая последовательность пакетов, удаленная транспортная служба собирает сообщения из полей данных, переносимых в паке тах, и поставляет их в адресуемый порт в виде, совпадающем с ви дом отправленных сообщений.
Таблица 4
Процедуры транспортного интерфейса
Кл асс
Устан овл ен и е соеди н ен и я и р азъ еди н ен и е
П ередача д а н н ы х
С и н хр он и зац и я
Д ей тагр ам м н ая служ ба
П ер еклю чен и е
Наи м ен о ван и е
Ож и дан и е
Со ед и н ен и е
Со гл аси е
Отказ
Отм ен а
Ра зъ ед и н ен и е
Разр ы в
Пер ед ач а
Пр и ем
Отм ен а п ер едач и
Отм ен а п р и ем а
Пр ер ы ван и е
Пр и ем п р ер ы ван и я Рестар т
Пер ед ач а
де й т агр ам м ы
Пр и ем
де й т агр ам м ы
Пер ек лю ч ен и е
Ф ун кц и я
П о д го то вка к у ст ан о вл ен и ю соеди н ен и я
Уста н о вл ен и е со ед и н ен и я
Со гл а си е н а у стан о вл ен и е со еди н ен и я О тк аз в у ст ан о вл ен и и со еди н ен и я О тм ен а ож и д ан и я Р а зъ ед и н ен и е
Н еу п р авл я ем ы й р азр ы в соеди н ен и я
В ы дач а со о б щ ен и я д л я уд а л ен н о го п р оц есса Готовн ость к п р и ем у со о б щ ен и й
Отм ен а п р о ц ед ур ы п ер едач и
Отм ен а готовн о сти к п р и ем у
Пер ед ач а п р ер ы ван и я
Готовн ость к п р и ем у п р ер ы ван и я
По вто р н ы й стар т
Пер ед ач а д ей т агр ам м ы
Готовн ость к п р и ем у д ей т агр ам м ы
И зм е н ен и е адр еса м естн ого порта
76 |
Глава 5. Транспортная служба ИТС |
5.3. Процедуры транспортного интерфейса
Состав процедур, реализуемых транспортным протоколом для обеспечения транспортного интерфейса, представлен в табл. 4. Б от ношении использования процедур, взаимодействующие процессы (местный и удаленный) равноправны, т.е. каждый из них может ини циировать установление соединения, передачу и прием сообщений, разъединение и др. Указанные процедуры реализуются транспортны ми модулями систем - ГВМ и ТВМ - и инициируются процессами с помощью операторов обращения к процедурам. Выполнение проце дуры-оператора можно рассматривать как команду, интерпретируе мую транспортной службой и исполняемую транспортной сетью. Ко гда удаленный процесс в качестве реакции на команду инициирует процедуру транспортного интерфейса, действие удаленного процесса, определяемое этой процедурой, можно рассматривать как ответ.
Команды и ответы на них связаны с выполнением соответст вующих процедур, а реализация последних предполагает формиро вание сообщений и передачу их между транспортными модулями через СПД. Таким образом, функционирование транспортных мо дулей ИТС сводится к формированию сообщений, представлению их в пакетной форме для отправки в СПД, сборке сообщений из по ступающих пакетов и интерпретации поступающих команд и со общений-ответов в соответствии с процедурной характеристикой протокола. В результате этого транспортная служба сети реализует процедуры транспортного интерфейса, перечисленные в табл. 4.
5.4. Функционирование транспортной службы
Основные функции транспортной службы представлены в табл.4, как классы процедур, обеспечивающих реализацию соответст вующих функций. В ИТС должны существовать процессы, «готовые» взаимодействовать с процессами, создаваемыми пользователями. Го товность процесса к установлению соединения порождается процеду рой «Ожидание». В момент инициализации любой ЭВМ в ней должен быть активизирован, по крайней мере, один процесс, ожидающий ус тановления соединения. Такого рода процессы порождаются коман дой «Ожидание», в ответ на которую местная транспортная служба от крывает порт, связываемый с этим процессом.
Активизируемый процесс, например терминал, формирует команду «Соединение», содержащую адрес процесса, с которым необ ходимо установить соединение. Этот адрес, являясь общесетевым, будет интерпретирован в адрес транспортного модуля, т.е. ЭВМ, и,
Раздел I. |
77 |
если адресуемый процесс находится в состоянии ожидания, транс портная служба организует соединение между процессами по схеме, представленной на рис. 5.2. Процесс, находящийся в состоянии ожидания, реагирует на попытку со стороны другого процесса ус тановить соединение ответом «Согласие» или «Отказ». При выдаче ответа «Согласие» оба процесса обмениваются сообщениями, необ ходимыми для построения блоков связи, идентифицирующих уста навливаемое соединение.
Блоки связи формируются в транспортных модулях на каждом конце соединения и содержат в себе следующие параметры соеди нения: 1) адрес порта местной транспортной службы; 2) адрес мест ного процесса; 3) адрес порта удаленной транспортной службы; 4) адрес удаленного процесса; 5) состояние связи (установлена, разъ единена, разорвана); 6) параметры услуг, обеспечиваемых связью; 7) емкость передающего и принимающего буферов, используемых для хранения сообщений; 8) очередные номера N(S) - передаваемого и N(R) - принимаемого сообщения; 9) максимальные номера M(S) - передаваемого и M(R) - принимаемого сообщения. Фрагменты бло ков связи изображены на рис.3.1. Соединение установлено, когда в местном и удаленном транспортных модулях созданы блоки связи, идентифицирующие соединение. При организации соединения номера сообщений N(S) и N(R) устанавливаются в 0, а максимальные номера M(S) и M(R) должны быть равны по крайней мере 1.
Передача сообщений организуется на основе кредитов - разре шений на прием определенного числа сообщений. Кредит характери зуется максимальным номером принимаемого сообщения M(R), и зна чение M(R)-N(R) определяет число сообщений, которое может принять транспортная служба. Кредиты передаются с командой «Прием», фор мируемой процессом на противоположном конце соединения. Эта ко манда сообщает передающему модулю максимальный номер сообще ния M(S), который может быть принят удаленным транспортным мо дулем. Доставка сообщений производится процедурой «Передача». Ко личество реализуемых процедур «Передача» определяется имеющимся кредитом - наибольшим номером передаваемого сообщения M(S). Процедуры «Отмена передачи» и «Отмена приема» аннулируют выпол нение процедур «Передача» и «Прием». Процедура «Отмена приема»
изымает кредиты на передачу сообщений.
Для посылки срочных сообщений, которые должны доставляться без учета текущих очередей на передачу сообщений, используется процедура «Прерывание». Как правило, данные о прерывании со держат только код причины, для передачи которого требуется один байт. Передача байта прерывания инициируется командой «Преры вание», которая порождает на сетевом уровне пакет «Прерывание»,
78 Глава 5. Транспортная служба ИТС
переносимый протоколом Х.25 через сеть вне зависимости от со стояния передачи других пакетов. Для подготовки к приему таких пакетов удаленный процесс в период установления соединения должен инициировать процедуру «Прием прерывания».
В результате сбоев в работе оборудования и ошибок при переда че сообщений транспортные модули могут выйти из синхронизма, что проявляется в нарушении последовательности номеров сообщений. В этом случае передача сообщений прекращается и выполняется проце дура «Сброс», приводящая к уничтожению очередей сообщений и пе редаче пакета «Запрос сброса» в виртуальный канал. Этим пакетом уда ленный процесс извещается о сбросе средств взаимодействия. Транс портные модули уничтожают блоки связи и начинают повторно вы полнять действия по установлению нового соединения.
Дейтаграммная служба обеспечивает передачу сообщений про извольной длины в виде последовательности пакетов, каждый из которых выступает в роли независимого сообщения, идентифици руемого всеми необходимыми атрибутами. Транспортная служба собирает из поступающих дейтаграммных пакетов законченные со общения. При построении сети на основе Х.25 сборка сообщений реализуется автоматически. При передаче дейтаграмм транспорт ная служба может подтверждать доставку или информировать от правителя о невозможности доставки дейтаграммы.
Процедура «Переключение» предназначена для оповещения транспортной службы об изменении связи между процессом и портом транспортной службы. При этом в транспортную службу передается адрес нового процесса, который должен с этого момента взаимодейст вовать с удаленным процессом через ранее установленное соединение, и формируется пакет, необходимый для модификации блока связи. Необходимость в переключении возникает, когда удаленный процесс обслуживался, например, процессом ввода заданий, по завершении которого инициируется прикладной процесс, выполняющий необхо димую пользователю прикладную задачу.
Связь между процессами закрывается процедурами «Разъедине ние» и «Разрыв». Первая закрывает соединение упорядоченным обра зом: в ответ на запрос «Разъединение» удаленный процесс посылает ко манду «Разъединение» после передачи последнего сообщения; по полу чении команды «Разъединение» соединение в сети передачи данных и блоки связи аннулируются. Процедура «Разрыв» инициируется про цессом при нарушении связи в местном транспортном модуле и вызы вает немедленное прекращение связи. При этом удаленному процессу посылается диагностическая информация о причине прекращения связи, все выданные в транспортную службу и не доставленные сооб щения стираются, и виртуальное соединение ликвидируется.
Глава 6. Протоколы высокого уровня в ИТС
Транспортная сеть делает возможным доступ к средствам пере дачи данных для любых процессов, связанных с программами и тер миналами, сосредоточенными в одной ЭВМ или распределенными по различным ЭВМ ИТС. На основе процедур транспортного интерфейса строятся протоколы взаимодействия процессов, позволяющие реали зовать такие прикладные функции, как доступ терминалов к процес сам, удаленный ввод заданий, передачу файлов, распределенную об работку, электронную почту и др. Эти функции реализуются за счет взаимодействия минимум двух процессов, выполняемых одной или разными ЭВМ ИТС, и соответствующих протоколов: виртуального терминала, удаленного ввода заданий, передачи файлов и др. Указан ные протоколы, базирующиеся на использовании транспортного ин терфейса, называются протоколами высокого уровня.
Протоколы высокого уровня устанавливают стандартные для се ти способы (процедуры) выполнения прикладных функций. Необхо димость стандартизации способов вызвана неоднородностью ИТС - разнотипностью ЭВМ, операционных систем и терминалов. Реализа ция соответствующих протоколов в отношении организации и логиче ского подключения портов к процессам возлагается на средства сеан сового уровня управления, а в отношении сопряжения разнородных процессов - на средства представительского уровня - службу пред ставления данных. Важнейшая функция службы представления дан ных - сделать возможным сопряжение разнотипных терминалов с про граммами, т.е. с порожденными ими процессами. Одной из главных функций этой службы является шифрование данных пользователя.
Рис. 6.1. Организация взаимодействия процессов
80 |
Глава 6. Протоколы высокого уровня в ИТС |
В качестве терминалов - источников данных могут выступать клавиатуры, манипуляторы типа «мышь», устройства ввода с маг нитных носителей, электронных накопителей и др., а в качестве терминалов - устройств вывода - символьные дисплеи с различными размерами экранов, алфавитами и способами отображения данных (символьный, строчный, страничный), графические дисплеи, печа тающие устройства с разным алфавитом и длиной строк и пр. При всем многообразии типов ЭВМ, ОС и программ должно быть воз можным взаимодействие каждой программы с терминалами любого типа. Аналогичные проблемы возникают при вводе заданий в ЭВМ, оснащенных различными ОС, каждая из которых работает со спе цифичным языком управления заданиями; при перемещении фай лов между различными ЭВМ, функционирующими под управлени ем разных ОС; при распределенной обработке данных, выполняе мой несколькими программами, находящимися в разных ЭВМ сети.
Служба представления данных (уровень 6 ЭМВОС) обеспечи вает стандартные способы взаимодействия процессов при решении задач в вычислительной сети и образует единый интерфейс для ОС и прикладных программ (рис. 6.1). Эти функции реализуются про граммными интерпретаторами и трансляторами, которые преобра зуют данные и процедуры, соответствующие протоколам взаимо действия процессов, в форму, определяемую спецификой исполь зуемых для организации процессов ОС и ЭВМ.
Прикладной
уровень
Уровень
представления
Рис. 6.2. Сопряжение программы с терминалом
6.1.Протокол виртуального терминала
Проблема сопряжения процессов с разнотипными терминала ми может решаться на основе концепции виртуального терминала - гипотетического терминала, обобщающего в себе свойства заданно го класса терминалов. Виртуальный терминал определяется путем
Раздел I. |
81 |
описания структуры данных (порождаемых и отображаемых тер миналом), алфавита и его управляющих символов, порядка обмена управляющей информацией и данными. Прикладные программы разрабатываются с ориентацией на виртуальные терминалы и со прягаются с реальными терминалами в соответствии с рис. 6.2. Ин терфейс между программой и терминалом определяется протоколом виртуального терминала (ПВТ), в соответствии с которым интерпре тируются операторы ввода-вывода, входящие в текст программы. Сообщения, передаваемые от программы в транспортную сеть, ин терпретируются средствами терминальной системы в структуры данных, коды символов, команды и ответы, соответствующие типу реального терминала, обслуживаемого ТВМ.
Для организации взаимодействия реальных терминалов с дру гими компонентами ИТС - программами и терминалами - ITU-T ре комендует схему, приведенную на рис. 6.3. Виртуальный терминал взаимодействует с системами ИТС в соответствии с интерфейсом Х.25, определяющим порядок передачи данных через сеть с коммутацией пакетов. Процедуры взаимодействия с сетью, преобразования пакетов в символы и обратно, а также управления реальным терминалом реа лизуются ГВМ или ТВМ, к которой подключен реальный терминал.
Основные функции виртуального терминала обеспечиваются пакетным адаптером данных (ПАД), один из способов построения ко торого определен Рекомендацией Х.З ITU-T. ПАД (средство сборкиразборки пакетов) является посредником между посимвольным терминалом, вводящим и выводящим данные в виде последователь ности символов, и СПД. На адаптер возлагаются следующие основ ные функции:
осборка символов в пакеты, предназначенные для передачи в сеть;
оразборка полей данных пакетов на символы;
оуправление установлением соединения между терминалом и системами СПД и разъединением;
огенерация управляющих сигналов для посимвольного терми нала;
опередача символов с необходимыми стартстопными сигнала ми в терминал и прием символов из терминала;
ораспознавание и интерпретация сигналов прерывания и раз рыва, формируемых терминалом.
Указанные функции реализуются в нескольких модификаци ях, выбор которых определяется 18 параметрами. Значения пара метров, настраивающих пакетный адаптер на один из возможных режимов функционирования, могут устанавливаться, читаться и изменяться каждым из двух взаимодействующих процессов (мест ным и удаленным терминалом).