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.
Источники
- IBM Corporation. z/OS V2R5.0 VTAM Programming. IBM Redbooks, 2023.
- IBM Corporation. Systems Network Architecture: Concepts and Products. IBM, 1990.
- Т. П. Казанцев. Архитектура вычислительных систем IBM. М.: Радио и связь, 1995.
- J. Ranade. VTAM: A Guide to the Virtual Telecommunications Access Method. McGraw-Hill, 1991.
- Документация IBM по z/OS Communication Server (SC27-8695-00).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →