NCP
NCP (сокр. от англ. NetWare Core Protocol) — это протокол прикладного уровня, разработанный компанией Novell для операционной системы NetWare. Он является ключевым компонентом сетевой архитектуры Novell, обеспечивающим взаимодействие между клиентами и серверами в локальных вычислительных сетях (LAN). NCP предоставляет клиентским рабочим станциям доступ к файлам, принтерам, каталогам и другим сетевым ресурсам, а также управляет аутентификацией пользователей и передачей данных. Протокол был широко распространён в корпоративных сетях в 1980–1990-х годах, однако с развитием альтернативных решений (например, TCP/IP и SMB) его использование значительно сократилось.
История
Разработка и ранние версии
NCP был создан в 1983 году компанией Novell, основанной Деннисом Фэйрклафом, Джеком Дэвисом и Дарреллом Миллером. Первоначально протокол предназначался для операционной системы NetWare 68, работавшей на процессорах Motorola 68000. С выпуском NetWare 86 (1985 год) и NetWare 286 (1986 год) NCP стал стандартом для сетей на базе IBM PC-совместимых компьютеров. В этот период протокол поддерживал только простые операции, такие как открытие и закрытие файлов, чтение и запись данных, а также управление очередями печати.
Расцвет и доминирование
В конце 1980-х — начале 1990-х годов NetWare занимала лидирующие позиции на рынке сетевых операционных систем, особенно в корпоративном сегменте. NCP обеспечивал высокую производительность за счёт оптимизации под архитектуру клиент-сервер. В отличие от конкурирующих протоколов (например, SMB от Microsoft), NCP использовал минимальный объём служебной информации и поддерживал эффективное кэширование на стороне клиента. Это позволяло добиться скорости передачи данных, близкой к скорости работы с локальным диском.
Переход на TCP/IP и упадок
С середины 1990-х годов, с распространением глобальной сети Интернет и протокола TCP/IP, популярность NetWare начала снижаться. Novell предприняла попытку адаптировать NCP для работы поверх TCP/IP, выпустив в 1996 году версию NetWare 4.11 (IntranetWare), которая поддерживала как IPX/SPX, так и TCP/IP. Однако конкуренция со стороны Windows NT (с протоколом SMB/CIFS) и Linux (с NFS) оказалась слишком сильной. В 2000-х годах Novell постепенно утратила рынок, а вместе с ним и актуальность NCP. Последняя версия NetWare (6.5) была выпущена в 2003 году; поддержка прекращена в 2010 году.
Технические характеристики
Архитектура
NCP работает по принципу «запрос-ответ» (request-response). Клиент (рабочая станция) отправляет серверу запрос на выполнение определённой операции (например, открытие файла или аутентификацию), а сервер возвращает результат. Протокол является ориентированным на соединение — перед началом передачи данных устанавливается логическое соединение между клиентом и сервером.
Транспортный уровень
Изначально NCP функционировал поверх протокола IPX (Internetwork Packet Exchange) из стека Novell IPX/SPX. IPX обеспечивал негарантированную доставку дейтаграмм, в то время как SPX (Sequenced Packet Exchange) — гарантированную доставку с установлением соединения. Однако NCP использовал собственные механизмы надёжности, поэтому мог работать как поверх SPX, так и непосредственно поверх IPX. В более поздних версиях (NetWare 5.x и выше) NCP стал поддерживать работу поверх TCP/IP, используя порт 524 (TCP и UDP).
Формат пакета
Пакет NCP состоит из заголовка и полезной нагрузки. Заголовок включает:
- Тип запроса (например, чтение, запись, создание файла);
- Идентификатор соединения (уникальный номер, присвоенный клиенту);
- Длину данных;
- Контрольную сумму (опционально).
Полезная нагрузка содержит непосредственно данные (например, содержимое файла или команды управления).
Функции и возможности
Управление файлами
NCP поддерживает все стандартные операции с файлами: создание, открытие, закрытие, чтение, запись, удаление, переименование, поиск. Особенностью протокола является поддержка блокировок (file locking) — механизма, предотвращающего одновременное изменение одного и того же файла несколькими пользователями.
Управление каталогами
Протокол позволяет создавать, удалять и переименовывать каталоги, а также выполнять поиск по маске имени. Поддерживается иерархическая структура каталогов, аналогичная файловым системам DOS и Windows.
Аутентификация и безопасность
NCP реализует аутентификацию пользователей с помощью системы Novell Directory Services (NDS) (в NetWare 4.x и выше) или Bindery (в ранних версиях). Аутентификация включает проверку пароля и прав доступа. Протокол поддерживает шифрование паролей (алгоритм RSA) и целостность данных (контрольные суммы).
Управление печатью
NCP обеспечивает отправку заданий на печать на сетевые принтеры, управление очередями печати и мониторинг состояния принтеров.
Прочие функции
- Синхронизация времени (протокол NTP не использовался — применялись собственные механизмы).
- Удалённое управление (например, запуск программ на сервере).
- Службы каталогов (NDS — иерархическая база данных пользователей, групп и ресурсов).
Версии и эволюция
NCP для NetWare 2.x и 3.x
В этих версиях NCP работал исключительно поверх IPX. Поддерживалась аутентификация через Bindery (плоская база данных пользователей). Максимальный размер пакета — 512 байт (стандартный для IPX).
NCP для NetWare 4.x
С выходом NetWare 4.0 (1993 год) протокол был расширен для поддержки NDS. Появилась возможность работы поверх TCP/IP (через инкапсуляцию). Размер пакета увеличен до 1024 байт.
NCP для NetWare 5.x и 6.x
В NetWare 5.0 (1998 год) NCP получил нативную поддержку TCP/IP (порт 524). Добавлена поддержка протокола NCP over TCP (NCP/TCP). В NetWare 6.0 (2001 год) введена поддержка IPv6.
Взаимодействие с другими протоколами
IPX/SPX
NCP является прикладным протоколом стека IPX/SPX. IPX отвечает за маршрутизацию и адресацию, SPX — за надёжную доставку. NCP использует IPX для передачи дейтаграмм и SPX для установления соединения.
TCP/IP
В более поздних версиях NCP инкапсулируется в TCP (порт 524) для обеспечения надёжной передачи. Поддержка UDP (порт 524) используется для широковещательных запросов (например, поиск сервера).
SMB/CIFS
NCP является прямым конкурентом протокола SMB (Server Message Block), используемого в Windows. Оба протокола предоставляют аналогичные функции (доступ к файлам и принтерам), но NCP был оптимизирован для работы в локальных сетях с высокой нагрузкой.
Преимущества и недостатки
Преимущества
- Высокая производительность — минимальные накладные расходы и эффективное кэширование.
- Надёжность — встроенные механизмы восстановления соединения и повторной передачи.
- Гибкость — поддержка различных транспортных протоколов (IPX, TCP/IP).
- Безопасность — шифрование паролей и контроль доступа.
Недостатки
- Закрытость — протокол является проприетарным, что ограничивало его совместимость с другими системами.
- Сложность настройки — для работы требовалась специализированная инфраструктура (серверы NetWare, клиентское ПО).
- Устаревание — с переходом на TCP/IP и Windows Server NCP потерял актуальность.
Применение
Корпоративные сети
NCP активно использовался в организациях, где требовалась высокая производительность файлового обмена и централизованное управление ресурсами. Типичные области применения:
- Офисы с большим количеством рабочих станций (до нескольких сотен).
- Образовательные учреждения (университеты, школы).
- Государственные учреждения.
Наследие
Несмотря на упадок, NCP оставил след в истории сетевых технологий. Многие идеи, реализованные в NCP (например, эффективное кэширование и блокировки файлов), были заимствованы более поздними протоколами. В настоящее время NCP представляет в основном исторический интерес, хотя отдельные устаревшие системы на базе NetWare всё ещё эксплуатируются в некоторых организациях.
Интересные факты
- Название «NCP» также используется для обозначения протокола Network Control Protocol в стеке PPP (Point-to-Point Protocol), но эти протоколы не связаны между собой.
- В 1990-х годах Novell занимала до 70% рынка сетевых ОС, и NCP был де-факто стандартом для локальных сетей.
- Протокол NCP поддерживал работу с файловыми системами FAT и HPFS, а также с собственными томами NetWare (NWFS, NSS).
Источники
- Novell NetWare Documentation (1990–2003).
- «NetWare: The Complete Reference» by Tom Sheldon (1996).
- «Novell’s Guide to NetWare 4.1 Networks» by Cheryl Currid (1995).
- RFC 524 (NCP over TCP/IP).
- Статьи из журнала «Byte» (1988–1995).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →