Владимир Щербо
Представим себе на минуту каменщика, которому необходимо из 1000 сваленных в груду кирпичей разного размера выбрать несколько десятков, подходящих для постройки определенного сооружения. С подобной проблемой столкнулся бы проектировщик вычислительной сети, если бы захотел построить свою сеть на основе международных стандартов ИСО или рекомендаций МСЭ-Т (ранее МККТТ) по взаимосвязи открытых систем (ВОС), которых к настоящему времени с учетом всех изменений (Amendments) и дополнений (Addendums) наработано около тысячи.
Но реальные проблемы, с которыми сталкивается разработчик вычислительной системы или сети, оказываются еще сложнее описанной. В ВОС эти проблемы все же несколько облегчены по меньшей мере двумя факторами: все ее стандарты систематизированы по семи уровням эталонной модели (т. е. кирпичи отсортированы по отдельным этажам здания) и, кроме того, часто можно воспользоваться профилями и функциональными стандартами, созданными специальной группой по функциональной стандартизации (СГФС) совместного технического комитета (СТК1) ИСО/МЭК (т. е. применить метод крупнопанельного строительства). Сегодня же разработчики большинства систем и сетей не ограничиваются стандартной архитектурой ВОС (зачастую используя ее лишь как эталон для сравнения), а строят свои сети на основе сразу нескольких различных архитектур: ВОС, Internet, frame relay, ATM, SNA, Х.25, ISDN и др. Здесь уже нет типового строительства: разные этажи здания строятся на основе различных несовместимых между собой архитектур, и строители вынуждены изобретать и создавать нестандартные перекрытия между этими этажами, что в нашем случае означает изыскивать каждый раз многопротокольные маршрутизаторы (routers), шлюзы (gateways), мосты (bridges), устройства взаимодействия (interworking units), концентраторы, специальные контроллеры и т. п.
В данной статье мы попытаемся воспользоваться результатами работы упомянутой выше СГФС и распространить внедренный ею в ВОС метод “крупнопанельного строительства” на постройку современных информационных систем и сетей. Излагаемые в статье положения основаны на опыте работы фирмы “ИнКомА” по разработке корпоративных сетей.
Только о профилях и только ВОС
Заглянув в любой словарь русского языка, можно узнать, что “профиль” - это: 1) вид сбоку (лица, предмета); 2) сечение, разрез чего-либо (рельса, детали, дороги) и 3) совокупность специфических черт, характеризующих какую-либо деятельность (профиль вуза, предприятия). Во всех этих трех случаях можно выявить нечто общее: профиль - это часть чего-то, но такая часть, которая несет в себе некое определенное смысловое значение.
Информационная технология дала понятию “профиль” новое, четвертое значение, которое еще не вошло в словари русского языка. Согласно ISO/IEC TR 10000-1 [1], “профиль - это один или сочетание нескольких базовых стандартов с идентификацией выбранных классов, подмножеств, факультативных возможностей и параметров этих базовых стандартов, необходимых для выполнения конкретной функции”. И в этом четвертом определении профиль - это тоже некоторая часть, но уже всей совокупности базовых стандартов, имеющая некое определенное смысловое значение, связанное с необходимостью выполнения конкретной функции.
Несколько ниже мы увидим, что приведенному определению не полностью соответствуют многие, в том числе широко известные, профили и что сейчас “профилями” именуются разные по своему характеру совокупности и наборы базовых стандартов. Для того чтобы легче было разобраться в этих терминологических несоответствиях, остановимся чуть подробнее на приведенном определении профиля.
Здесь возникают по меньшей мере два вопроса, требующие пояснения: какая это часть, т. е. сколько базовых стандартов может или должен охватывать профиль, чтобы иметь право называться таковым, и каково его смысловое значение, т. е. на выполнение каких конкретных функций он ориентирован.
Ответ на вопрос, сколько базовых стандартов, вроде бы заключен в самом определении: один или несколько. А можно ли сказать: “От 0 до n стандартов?” и попытаться уточнить: что значит “несколько (n)”? Ввели же, например, теоретики такое понятие, как “пустое множество”. Но это понятие всегда вызывает у прикладника другой мучительный вопрос: так существует ли в данном случае само множество или нет? Если да, то можно ли его потрогать, а если нет, то почему “оно”(?) называется множеством?
Чтобы не ставить перед собой столь головоломных вопросов, оставим понятие “пустой профиль” на усмотрение тех же теоретиков (пусть они поломают голову), а сами перейдем к следующей величине: “один базовый стандарт”. Чем такой профиль отличается от самого базового стандарта и отличается ли он от других профилей? На первую часть этого вопроса ответ - на сей раз более конкретный - опять-таки дан в самом определении, начиная со слов “с идентификацией...” (хотя мы сейчас увидим, что этот ответ удовлетворяет не всех). А вот отличие “единичного” профиля от “множественных”, видимо, такое же, как отличие перпендикуляра от наклонной: это вырожденный случай (наклонная под углом 90о), обладающий своими специфическими особенностями.
Рассмотрим последнюю часть первого вопроса: что такое “несколько”, или n стандартов? Здесь уже не до шуток, потому что число базовых стандартов в профилях возросло за последние годы с 3 - 10, охватываемых международными функциональными стандартами (ISP - International Standardized profile; их иногда в шутку называют “международными стандартизованными профилями”, о них мы всерьез поговорим ниже), сначала до 30 - 40 (GOSIP США [2], APP [3]), а затем почти до 500 (IGOSS [4]). И даже в нашем доморощенном госпрофиле ВОС [5] число охватываемых базовых стандартов перевалило за 400. Что будет дальше - пока скрывается в тумане. О том, как разобраться в таких количествах базовых стандартов, охватываемых профилями, поразмышляем чуть ниже, а пока перейдем ко второму из двух поставленных в самом начале вопросов: о смысловой части профиля.
Существует несколько классификаций профилей, по смысловому содержанию во многом несхожих, а в чем-то даже противоречивых. Это связано прежде всего со взаимной противоречивостью различных концепций. Например, с точки зрения общей концепции открытых систем вся взаимосвязь открытых систем (ВОС) относится к коммуникационным функциям, а с точки зрения самой ВОС к коммуникационным функциям относятся только функции четырех нижних уровней эталонной модели ВОС, функции же трех ее верхних уровней - к прикладным. Кроме того, некоторые функции, разработанные в рамках ВОС совместным техническим комитетом СТК1 ИСО/МЭК (и еще ранее техническим комитетом TC 97), например административное управление (Management) системой и данными, справочные службы (Directory), машинная графика, в концепции открытых систем вынесены за рамки ее коммуникационных функций, т. е. отняты у ВОС. Такие несоответствия в классификации и терминологии характерны для начального этапа развития многих концепций и в данном случае - для концепции открытых систем.
Ниже предпринимается попытка обобщить существующие системы классификации профилей - попытка, не претендующая на истину в последней инстанции (которой, кажется, вообще не существует), а предлагаемая скорее для обсуждения (рис. 1).
Рис. 1. Классификация профилей
Все известные к настоящему времени профили предлагается разделить на три крупных класса: назовем их “профили функционального назначения” (ПФН), “профили концептуальных систем” (ПКС) и “профили конкретного применения” (ПКП). ПФН охватывают лишь отдельные прикладные или коммуникационные функции и не распространяются на всю систему. Это некие модули, блоки (как в крупнопанельном строительстве), только здесь эти блоки изготовлены не из бетона, а из тех же кирпичей (базовых стандартов), подобранных, обрубленных, подогнанных и сцементированных в расчете на заданный размер объекта (прикладную или коммуникационную функцию). К этому классу относятся как раз те профили, которые разрабатывает СГФС, сформулировавшая в ISO/IEC TR 10000-1 приведенное выше определение профилей.
ПКС охватывают всю концептуальную систему (например, ВОС, SNA, Internet, ISDN, Х.25 или frame relay) и всю относящуюся к этой системе совокупность базовых стандартов (международных, фирменных и т. п.) безотносительно конкретного практического использования этой системы. Примерами таких профилей может служить систематизированная по уровням и по функциям совокупность международных стандартов ИСО по ВОС, представленная в [5] как общая схема госпрофиля ВОС (с заменой части стандартов ИСО на ГОСТ), или профиль фирменных стандартов RFC сети Internet. Эти профили могут строиться либо на основе базовых стандартов, либо на основе ПФН, либо того и другого.
ПКП охватывают всю решаемую в рамках государства, правительства, отрасли, предприятия или подразделения информационную проблему или всю систему и подразделяются, соответственно, на правительственные (государственные), отраслевые, уровня предприятий и подразделений. Это уже готовые “здания”: многоэтажные дома, коттеджи, хозблоки, построенные либо из упомянутых выше модулей (ПФН), либо (при отсутствии таковых) из кирпичей (базовых стандартов), либо из того и другого вместе. В их взаимоотношении с профилями ПКС они могут составлять часть последних (например, версии правительственных профилей GOSIP всех стран представляют собой ту или иную выборку всей совокупности стандартов ВОС), либо, наоборот (что в последнее время происходит гораздо чаще), конкретные системы и сети строятся путем использования сразу нескольких концепций или концептуальных систем (ВОС, Internet, X.25, frame relay и др.).
Если ПКС или ПКП строятся на основе ПФН, в частности, ISP (такой подход принят, например, в IGOSS [4], и аналогичная попытка предпринята в госпрофиле ВОС), то на них автоматически распространяется приведенное выше определение профиля. Если же они были созданы до разработки ISP на основе только (или в основном) базовых стандартов и число последних достигает, как мы видели выше, нескольких десятков и даже сотен, то даже в случае проведения “идентификации выбранных классов, подмножеств...” в каждом базовом стандарте она в публикуемом документе под названием “профиль” не отражается, иначе этот документ превратился бы в многотомное сочинение, которое не каждый в состоянии прочитать. Кроме того, протоколы многих архитектур не обладают той универсальностью и избыточностью, которая характерна для протоколов ВОС, и указанная “идентификация” для их базовых стандартов обычно не требуется. По этой причине для таких профилей, как GOSIP США [2], APP [3], госпрофиль ВОС [5] и др., больше подошло бы определение: “взаимоувязанная упорядоченная совокупность базовых стандартов, ориентированная на построение системы конкретного применения”.
В настоящее время правительственные профили (GOSIP) и госпрофиль ВОС представляют собой некоторые выборки из всей совокупности базовых стандартов ВОС (версии профилей ВОС).
Отраслевые профили строятся в зависимости от применяемого в отрасли набора прикладных программ, режимов работы сети (с установлением или без установления соединения), типов используемых сетей и сетевых технологий.
Профили предприятий (подразделений) могут строиться в виде подмножества отраслевых профилей (профилей предприятий), а также независимо от них: например, если предприятие имеет свою локальную вычислительную сеть, не связанную с сетью отрасли.
Профили интерфейсов прикладных программ описаны в [3, 5]. Все они основаны частично на международных стандартах ИСО/МЭК (типичным примером служит двухчастевой стандарт ISO/IEC 9945 интерфейса переносимой операционной системы POSIX, относящийся к классу ИПОС), частично на национальных или фирменных стандартах.
Дальнейшая классификация профилей развита (и довольно глубоко) только для коммуникационных функций, и в частности для функций ВОС. Но здесь вместо слова “классификация” используется термин “таксономия” - термин, предложенный в 1813 г. швейцарским ботаником О. Декандолем в качестве синонима к слову “систематика” (растений, надо полагать). Однако современные словари русского языка трактуют это понятие уже как “теория классификации и систематизации сложно организованных областей действительности, имеющих обычно иерархическое строение” [6], а ISO/IEC TR 10000-1 - как “систематизация профилей и определение структуры, в которых они должны размещаться”.
Согласно таксономии профилей, установленной СГФС, профили ВОС подразделяются на классы, каждый из которых представляет собой набор функций, независимых (в разумных пределах) от функций других классов.
В ISO/IEC TR 10000-1 определены следующие классы профилей:
- F - профили формата обмениваемых данных и представления данных;
- Т - транспортные профили для режима с установлением соединения;
- U - транспортные профили для режима без установления соединения;
- R - ретрансляционные профили;
- А - прикладные профили, использующие профили Т;
- В - прикладные профили, использующие профили U.
Перечисленные классы профилей и взаимоотношения между ними представлены на рис. 2 (это напоминает фасад трехэтажного здания, не правда ли? - см. выше о крупнопанельном строительстве).
Рис. 2. Классификация профилей функционального назначения ВОС
Профили F определяют характеристики и представление различных видов информации, которой обмениваются профили А и В.
Транспортные профили классов Т и U определяют, каким образом обеспечиваются два режима услуг транспортного уровня ВОС: с установлением соединения (COTS - connection-oriented transport service) и без установления соединения (CLTS - connectionless transport service) с использованием двух аналогичных режимов услуг сетевого уровня (CONS и CLNS) и конкретных сетевых технологий.
Прикладные профили классов А и В определяют обеспечение протоколов обмена данными для конкретных типов применения с использованием двух указанных режимов услуг транспортного уровня.
Профили R определяют ретрансляционные функции, необходимые для обеспечения взаимодействия между системами, использующими различные профили Т или профили U. Ретрансляция между профилями Т и U не предусматривается.
Дальнейшая подробная классификация (таксономия) профилей, определяемая конкретной прикладной функцией или используемой сетевой технологией, концепция группирования профилей, возможные сочетания профилей, налагаемые на эти сочетания ограничения, рекомендации по их использованию подробно изложены в [5, 7].
Приведем примеры трех профилей: прикладного класса А, транспортного класса Т и ретрансляционного класса R.
В пятичастевом ISO/IEC ISP 10611 определены профили AMHnnn, которые устанавливают требования к унифицированному обмену сообщениями (Common messaging) в системе обработки сообщений (MHS, Message Handling Systems). В ISO/ IEC ISP 10611-3 определены профили AMH11n, устанавливающие требования, предъявляемые со стороны протоколов сервисных элементов прикладного уровня (СЭП), уровня представления данных и сеансового уровня, к протоколу передачи сообщений (протокол Р1) между агентами передачи сообщений (АПС). АПС, соответствующий профилям AMH11n, может обеспечивать нормальный режим (профиль AMH111) и/или режим X.410 (профиль AMH112) по рекомендации Х.419 МСЭ-Т (МККТТ) или по стандарту ISO/IEC 10021-6.
Используемая модель системы показана на рис. 3, а набор базовых стандартов, определяющих перечисленные функции профилей AMH11n, приведен в табл. 1.
Рис. 3. Модель передачи сообщений
ISO/IEC ISP 10608-2 определяет профиль ТА51, устанавливающий зависимые от сети требования к работе оконечной системы, подключенной к ЛВС carrier sense multiple access with collision detection (CSMA/CD), стандартизованной в ISO/IEC 8802-3.
Табл. 1. Стандарты, образующие профили AMH11H
На рис. 4 показана конфигурация системы, к которой применим профиль ТА51. Базовые стандарты, образующие профиль ТА51, приведены в табл. 2.
Рис. 4. Сценарий применимости профиля TA51
ISO/IEC ISP 10613-8 определяет профиль RA51.1111 “Ретрансляция услуг сетевого уровня в режиме без установления соединения (CLNS) между ЛВС CSMA/CD и сетью данных общего пользования с коммутацией пакетов (PSDN), использующей виртуальные соединения (VC), организованные по арендованным линиям телефонной сети общего пользования (PSTN) постоянного доступа”.
Табл. 2. Стандарты, образующие профиль TA51
Конфигурация систем, к которым применим профиль RA51.1111, приведена на рис. 5. На нем показаны две эталонные точки, однако конкретная реализация профиля RA51.1111 может иметь любое число пунктов подключения сети, каждому из которых соответствует своя эталонная точка.
Рис. 5. Сценарий применимости профиля RA51.1111
Комбинация базовых стандартов, образующих профиль RA51.1111, приведена в табл. 3.
Табл. 3. Стандарты, образующие профиль RA51.1111
В каждом из рассмотренных профилей в качестве обязательного приложения содержится “Список требований к заявке о соответствии реализации функциональному стандарту”, где в табличном виде представлены все необходимые параметры протоколов каждого из охватываемых профилем базовых стандартов, которые следует проверить (протестировать) на соответствие требованиям профиля. Этот “Список” как раз и содержит указанную в исходном определении профиля (по ISO/IEC TR 10000-1) идентификацию выбранных классов, подмножеств и др.
На основе приведенных примеров можно сделать следующий вывод. В задаче достаточно поставить следующие исходные данные: в первом примере - MHS, унифицированный обмен сообщениями (не межперсональные сообщения и не электронная передача документов), протокол передачи сообщений (P1) между АПС; во втором - ЛВС CSMA/CD по ISO/IEC 8802-3, подключенная к оконечной системе, в третьем случае - связь ЛВС CSMA/CD с сетью PSDN, использующей VC, организованные по арендованным линиям PSTN постоянного доступа, и в каждом случае мы получим однозначные цепочки базовых стандартов для трех верхних уровней в первом случае, четырех нижних уровней во втором случае и трех нижних уровней в третьем случае модели ВОС, определяющие все необходимое для передачи сообщений электронной почты на удаленную ЛВС CSMA/CD и для связи такой ЛВС с сетью PSDN. Если к указанным исходным данным мы добавим наименования конкретных профилей: AMH111, TA51 и RA51.1111, то получим таблицы всех параметров, дополнительных возможностей и других характеристик протокола, которые необходимо протестировать на соответствие стандартам ISO/IEC ISP 10611-3, ISO/IEC ISP 10608-2 и ISO/IEC ISP 10613-8 соответственно.
Как отмечалось выше, к настоящему времени в области информационных технологий в рамках комитета СТК1 ИСО/ МЭК разработано около 1000 базовых стандартов и изменений к ним, что делает весьма трудоемкой задачу выбора необходимого для построения конкретной системы набора базовых стандартов и выбора в каждом из них конкретного набора необходимых параметров.
При наличии указанных выше исходных данных (они могут быть заданы в ТЗ на разработку системы) вместо анализа сотен базовых стандартов нам достаточно иметь три взаимоувязанных “черных ящика” (рис. 6), где скрыты 18 отобранных базовых стандартов (см. табл. 1 - 3), адаптированных к решению поставленной задачи.
Рис. 6. Результат применения профилей
К середине 1997 г. в рамках СГФС разработано около 100 профилей перечисленных классов, стандартизованных в различных многочастевых ISP, в том числе:
Профили класса F:
- группа FOD “Форматы открытого документа” - ISO/IEC ISP 10610-1, 11181-1, 11182-1, 12064-1, 12064-2;
- группа FCG “Форматы обмена метафайлами машинной графики” - ISO/IEC ISP 12071-1,...-4;
- группа FDI “Обмен данными справочника” - ISO/IEC ISP 10616, 11190;
- группа FVT “Регистры профилей виртуальных терминалов” ISO/IEC ISP 11184-1,...-3, 11185-1, 11186-1;
- группа FCS “Наборы знаков” - ISO/IEC ISP 12070-1,...-9 (в стадии разработки);
Профили класса А:
- группа AMH “Системы обработки сообщений” - ISO/IEC ISP 10611-5 (унифицированный обмен сообщениями), 12062-1,...-5 (межперсональные сообщения) и 12063-1,...-5 (электронная передача сообщений);
- группа AOM “Административное управление систем” - ISO/IEC ISP 11183-1,...-3, 12059-0,...-6, 12060-1,...-4;
- группа ATP “Обработка транзакций” - ISO/IEC ISP 12061-1,...-10;
Профили класса Т:
- группа TA “COTS с использованием CLNS” - ISO/IEC ISP 10608-1,...-38;
- группы TB, TC, TD и TE “COTS с использованием CONS (при различных классах протокола транспортного уровня)” ISO/IEC ISP 10609-1,... -48;
Профили класса R:
- группа RD “Ретрансляция услуг ЛВС с использованием прозрачных мостов” - ISO/IEC ISP 10612-1,... -9;
- группа RA “Ретрансляция CLNS” - ISO/IEC ISP 10613-1,... -18;
- группа RC “Ретрансляция протокола Х.25” - ISO/IEC ISP 10614-1,... -6.
Перечисленные профили широко используются, например, в IGOSS [4], и их подробный анализ и краткие рефераты приведены в [5].
Вернемся к рис. 6 и к аналогии с крупнопанельным строительством. В результате применения профилей мы получили крупные готовые панели, необходимые нам для сборки заданной квартиры. Нам не нужно готовить раствор, подбирать, таскать кирпичи и строить из них стены - готовые стены нам доставили с завода ЖБИ. Но пока это только в рамках одного ведомства - ВОС.
В следующем разделе статьи мы рассмотрим, как можно распространить этот передовой опыт, внедренный группой СГФС СТК1 ИСО/МЭК, на другие ведомства - Internet, Frame Relay, ATM и др., где еще нет своих СГФС.
Продолжение следует
Список литературы
1. ISO/IEC TR 10000-1: 1995 Information technology. Framework and taxonomy of International Standardized Profiles. Part 1. General principles and documentation framework (см. также ГОСТ Р ISO/IEC ТО 10000-1-93 Информационная технология. Функциональный стандарт. Основы и таксономия международных функциональных стандартов. Часть 1. Основы).
2. Government Open Systems Interconnection Profile Users’ Guide, Version 2. NIST Special Publication 500-192. U.S. Government printing office, Washington, 1991.
3. Application Portability Profile (APP). The U.S. Government Open System Environment Profile Version 3.0. NIST Special Publication 500-XXX, 1995.
4. IGOSS - Industry/Government Open Systems Specification. NIST Special Publication 500-217. May 1994.
5. Щербо В. К., Козлов В. А. Функциональные стандарты в открытых системах (в двух частях). Справочное пособие. М., МЦНТИ, 1997.
6. Советский энциклопедический словарь. М., Советская энциклопедия, 1990.
7. ISO/IEC TR 10000-2: 1994 Information technology - Framework and taxonomy of International Standardized Profiles. Part 2. Principles and Taxonomy of OSI Profiles (см. также ГОСТ Р ISO/IEC ТО 10000-2-93 Информационная технология. Функциональный стандарт. Основы и таксономия международных функциональных стандартов. Часть 2. Таксономия профилей).
К Владимиру Щербо, ведущему сотруднику фирмы “ИнКомА”, можно обратиться по телефону: (095) 913-2513 или по адресу: svk@incoma.ru.