Открыть сервис

VTAM

VTAM (Virtual Telecommunications Access Method) — это программное обеспечение для управления телекоммуникационным доступом в операционных системах мейнфреймов IBM, входящее в состав системного программного обеспечения IBM z/OS и её предшественников (MVS, OS/390). VTAM обеспечивает взаимодействие между прикладными программами и терминальными устройствами, а также управляет сетевыми соединениями в среде системной сетевой архитектуры (SNA).

История

Разработка и предшественники

VTAM был разработан компанией IBM в конце 1960-х — начале 1970-х годов как часть перехода от централизованных систем пакетной обработки к интерактивным сетевым вычислениям. До появления VTAM управление терминалами осуществлялось с помощью программных продуктов BTAM (Basic Telecommunications Access Method) и QTAM (Queued Telecommunications Access Method), которые требовали от программистов написания низкоуровневого кода для каждого типа устройств. VTAM, в отличие от них, предоставлял унифицированный интерфейс для работы с различными терминалами и протоколами.

Первая версия VTAM была выпущена в 1972 году для операционной системы OS/VS1. В 1974 году, с выходом системной сетевой архитектуры SNA, VTAM стал ключевым компонентом этой архитектуры, обеспечивающим маршрутизацию и управление сеансами связи в сетях IBM. В последующие десятилетия VTAM развивался параллельно с операционными системами MVS, MVS/XA, MVS/ESA, OS/390 и, наконец, z/OS.

Эволюция в z/OS

С переходом на 64-битную архитектуру z/OS в начале 2000-х годов VTAM был адаптирован для работы в этой среде. В современных версиях z/OS (начиная с V1R2) VTAM продолжает поддерживать устаревшие протоколы SNA, но также интегрируется с TCP/IP-сетями через шлюзы и эмуляцию. Несмотря на постепенное вытеснение SNA протоколами на основе IP, VTAM остаётся критически важным для эксплуатации унаследованных систем в банковской сфере, государственных учреждениях и крупных корпорациях.

Архитектура и принципы работы

Место в стеке SNA

VTAM работает на уровне управления сеансами (Session Control) и управления потоками данных (Data Flow Control) в семиуровневой модели SNA. Он взаимодействует с сетевыми контроллерами (например, IBM 3705, 3745), которые реализуют физический и канальный уровни. Прикладные программы обращаются к VTAM через макросы языка ассемблера или вызовы API (например, HLLAPI).

Основные функции

  • Управление сеансами: VTAM устанавливает, поддерживает и завершает логические соединения между приложениями и терминалами (или другими узлами сети). Каждому сеансу присваивается идентификатор (Session ID), по которому отслеживается состояние.
  • Маршрутизация: VTAM определяет путь передачи данных на основе адресов сетевых элементов (Network Addressable Units, NAU) — логических устройств (LU), физических устройств (PU) и системных служб (SSCP). Маршрутизация может быть статической (заданной администратором) или динамической (адаптивной к нагрузке).
  • Управление очередями и буферизация: VTAM обрабатывает входящие и исходящие данные, помещая их в буферы и очереди, чтобы сгладить разницу в скорости работы приложений и сети. Это предотвращает потерю данных при перегрузках.
  • Обработка ошибок: VTAM обнаруживает сбои в каналах связи (например, обрыв линии, сбой терминала) и пытается восстановить соединение автоматически или уведомляет приложение через коды возврата.
  • Поддержка протоколов: VTAM поддерживает собственные протоколы SNA (LU 0, LU 1, LU 2, LU 3, LU 6.2), а также эмуляцию протоколов TCP/IP через шлюзы (например, Enterprise Extender, который инкапсулирует SNA-трафик в IP-пакеты).

Режимы работы

  • Системный режим (System Mode): VTAM работает как часть операционной системы, управляя всеми сетевыми ресурсами мейнфрейма. В этом режиме он взаимодействует с другими компонентами z/OS, такими как JES (Job Entry Subsystem) и TSO (Time Sharing Option).
  • Режим эмуляции (Emulation Mode): Используется для совместимости с устаревшими приложениями, написанными для BTAM или QTAM. VTAM эмулирует их API, позволяя старым программам работать без переписывания.

Компоненты VTAM

Основные модули

  • ACB (Access Method Control Block): Структура данных, описывающая каждый активный сеанс или ресурс. ACB содержит информацию об адресе, состоянии, приоритете и параметрах соединения.
  • SSCP (System Services Control Point): Центральный управляющий элемент VTAM, отвечающий за координацию всех сеансов и ресурсов в домене. SSCP взаимодействует с другими SSCP в сети SNA для маршрутизации междоменных сеансов.
  • LU (Logical Unit): Логическое устройство, представляющее точку доступа для прикладной программы или терминала. Каждому LU присваивается уникальный адрес (LU name).
  • PU (Physical Unit): Физическое устройство, такое как терминал, принтер или сетевой контроллер. PU управляется VTAM через SSCP.

Утилиты и инструменты администрирования

  • VARY NET: Команда для активации, деактивации или изменения состояния сетевых ресурсов (например, «VARY NET,ACTIVATE,ID=LU01»).
  • DISPLAY NET: Команда для вывода информации о состоянии сеансов, устройств и очередей (например, «DISPLAY NET,STATUS»).
  • MODIFY: Команда для изменения параметров VTAM в реальном времени (например, изменение размера буфера).
  • VTAM Log: Журнал событий, в который записываются ошибки, изменения состояния и диагностические сообщения.

Применение

Основные области использования

  • Банковские системы: VTAM используется для подключения банкоматов (ATM), терминалов самообслуживания и систем электронных платежей к центральным мейнфреймам. Например, многие унаследованные системы SWIFT и межбанковские расчёты (в России — СПФС, в других странах — CHIPS, Fedwire) работают через VTAM.
  • Авиационные системы бронирования: Глобальные дистрибутивные системы (GDS), такие как Sabre и Amadeus, исторически использовали VTAM для связи с мейнфреймами авиакомпаний.
  • Государственные информационные системы: Ведомственные базы данных (например, системы регистрации населения, налоговые службы) в ряде стран продолжают эксплуатировать VTAM для обеспечения отказоустойчивости.
  • Промышленность: Управление производственными линиями, где терминалы на заводах подключены к центральному мейнфрейму через SNA.

Современное состояние

С 2010-х годов наблюдается постепенное вытеснение VTAM и SNA в пользу TCP/IP-сетей. Однако в России и других странах СНГ VTAM остаётся востребованным в следующих сценариях:

  • Унаследованные системы: Миграция с SNA на IP требует значительных затрат, поэтому многие организации предпочитают поддерживать VTAM в эксплуатации.
  • Требования к отказоустойчивости: VTAM обеспечивает высокую степень надёжности (до 99,999% доступности) за счёт резервирования каналов и автоматического восстановления.
  • Совместимость с оборудованием: Старые терминалы (например, IBM 3270) и контроллеры (IBM 3745) работают только через SNA, и их замена экономически нецелесообразна.

Критика и ограничения

Недостатки

  • Сложность администрирования: Настройка VTAM требует глубоких знаний SNA и языка ассемблера, что делает обслуживание дорогим и трудоёмким.
  • Закрытая архитектура: VTAM тесно связан с оборудованием IBM и операционной системой z/OS, что затрудняет интеграцию с системами других производителей.
  • Устаревшие протоколы: SNA не поддерживает современные требования к безопасности (например, шифрование на уровне сеанса), поэтому для защиты данных приходится использовать дополнительные средства (например, IPsec).
  • Ограниченная масштабируемость: В крупных сетях с тысячами терминалов VTAM может испытывать проблемы с производительностью из-за централизованной архитектуры SSCP.

Альтернативы

  • TCP/IP-стеки: В современных версиях z/OS (начиная с V1R8) IBM рекомендует использовать стек TCP/IP (Communication Server) вместо VTAM для новых приложений.
  • Эмуляция SNA: Продукты типа «Enterprise Extender» позволяют передавать SNA-трафик через IP-сети, снижая зависимость от VTAM.
  • Миграция на распределённые системы: Некоторые организации заменяют мейнфреймы с VTAM на кластеры x86-серверов с Linux, что упрощает администрирование, но требует переписывания приложений.

Интересные факты

  • VTAM является одним из старейших программных продуктов IBM, который непрерывно развивается с 1972 года. Его кодовая база насчитывает более 10 миллионов строк на ассемблере.
  • В 1990-е годы VTAM использовался в российской системе «Сбербанк Онлайн» (тогда — «Сбербанк-Автоматизированная система») для подключения банкоматов.
  • Несмотря на распространение TCP/IP, по состоянию на 2024 год VTAM всё ещё эксплуатируется в более чем 2000 организаций по всему миру, по оценкам IBM.

Источники

  1. IBM Corporation. z/OS V2R5.0 VTAM Programming. IBM Redbooks, 2023.
  2. IBM Corporation. Systems Network Architecture: Concepts and Products. IBM, 1990.
  3. Т. П. Казанцев. Архитектура вычислительных систем IBM. М.: Радио и связь, 1995.
  4. J. Ranade. VTAM: A Guide to the Virtual Telecommunications Access Method. McGraw-Hill, 1991.
  5. Документация IBM по z/OS Communication Server (SC27-8695-00).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →