IPX/SPX

Стек протоколов IPX/SPX (от англ. internetwork packet exchange/sequenced packet exchange — межсетевой обмен пакетами/последовательный обмен пакетами) — стек протоколов, использовавшийся в сетях Novell NetWare. Протокол IPX работает на сетевом уровне модели OSI, обеспечивает доставку пакетов (аналог IP из стека TCP/IP). Протокол SPX работает на транспортном и сеансовом уровнях, обеспечивает поддержание сеанса связи и гарантированную доставку данных (аналог TCP).

История и применение

Стек протоколов IPX/SPX реализован для сетевой операционной системы NetWare, поставляемой компанией Novell с 1983 года, и считается развитием стека протоколов Xerox Network Services. IPX/SPX считался оптимальным для применения в локальных вычислительных сетях, в то время как TCP/IP предполагался более эффективным для глобальных сетей.

К концу 1990-х TCP/IP, являвшийся общепринятым стеком Интернета, фактически вытеснил IPX/SPX и из локальных вычислительных сред. Стек IPX/SPX никогда не имел применения в глобальных сетях.

Реализации

Наибольший пик популярности стека IPX/SPX пришёлся на конец 1980-х — середину 1990-х, когда у Novell NetWare практически не было конкурентов на рынке сетевых операционных систем. В связи с этим реализации протоколов присутствовали во многих сторонних продуктах, начиная с клиентских библиотек и фреймворков для операционных систем и заканчивая встраиваемыми системами.

DOS

Для DOS клиент стека протоколов IPX/SPX был разработан самой Novell и широко применялся в виде резидентной программы как в корпоративных сетях, так и для сетевых игр. Первые реализации требовали создания исполняемого файла под каждую сетевую карту, но в дальнейшем процедура настройки была упрощена, и стало возможным использовать готовые исполняемые модули.

IPX/SPX стал де-факто стандартом для сетевого взаимодействия компьютерных игр для DOS, его поддержка встречается практически во всех играх DOS, допускающих игру по сети. С прекращением поддержки стека протоколов в современных операционных системах появились программы (например, Kali или Kahn), позволяющие туннелировать трафик IPX/SPX между клиентами, позволяя тем самым играть не только в локальной сети, но и через Интернет. Популярный эмулятор DOSBox инкапсулирует протокол IPX поверх UDP.

Windows

Ввиду широкого распространения протоколов IPX/SPX в 1990-х годах компания Microsoft реализовала собственную имплементацию NWLink для Windows for Workgroups и Windows NT. Тем не менее NWLink по умолчанию использовался только как транспорт для SMB/NetBIOS, а для связи с серверами NetWare требовалось установка отдельного клиента NCP. В Windows 95 и более поздних версиях был включен базовый клиент NetWare, но по умолчанию он не устанавливался и имел ограничения в работе в сети NetWare. Поддержка IPX/SPX была удалена из стека протоколов Windows начиная с Windows Vista / Windows Server 2008.

Реализация 32-битного клиента Novell не использовала NWLink, хотя допускала взаимодействие с клиентами NWLink (с предупреждением о возможной несовместимости).

Другие ОС

Novell также поддерживала клиент NetWare для OS/2 (имевший много общего с реализацией для DOS) и для Mac OS (под названием MacIPX)[1].

Реализации протоколов были написаны под различные версии UNIX и Linux, как самой Novell, так и сторонними разработчиками. Novell UnixWare поддерживала IPX/SPX как основной протокол, хотя могла работать только как клиент в среде серверов NetWare, а публикация файлов и принтеров требовала установки дополнительного ПО. Начиная с Open Enterprise Server — Linux поддержка протоколов была удалена[2]. В ядре Linux поддержка была также окончательно удалена в 2018 году[3].

FreeBSD поддерживает IPX/SPX на уровне клиента и сервера NetWare[4][5]. OpenBSD прекратил поддержку протоколов начиная с версии 4.2[6][7].

Протоколы маршрутизации

Для IPX/SPX доступны следующие протоколы:

  • RIP;
  • EIGRP (разработан компанией «Cisco Systems»);
  • NLSP (Netware Link Services Protocol) — адаптированная для IPX версия сетевого протокола IS-IS[8].

Примечания

  1. [1] Архивная копия от 24 июля 2011 на Wayback Machine Some notes on MacIPX internetworking, formerly at [2] Архивировано 23 августа 2010 года.
  2. Linux Network Administrator's Guide, 2nd Edition: Chapter 15: IPX and the NCP Filesystem. Дата обращения: 5 ноября 2022. Архивировано 5 ноября 2022 года.
  3. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7a2e838d28cff6718a0bdf66164465402f8e40ed Архивная копия от 5 ноября 2022 на Wayback Machine («staging: ipx: delete it from the tree»)
  4. FreeBSD ports info on Mars NWE. Дата обращения: 5 ноября 2022. Архивировано 5 ноября 2022 года.
  5. Freshports info on Mars NWE. Дата обращения: 5 ноября 2022. Архивировано 5 ноября 2022 года.
  6. OpenBSD 4.2 changes. Дата обращения: 7 марта 2011. Архивировано 12 апреля 2011 года.
  7. Removal of IPX from OpenBSD. Дата обращения: 5 ноября 2022. Архивировано 5 ноября 2022 года.
  8. IPX Routing Fundamentals Архивировано 14 января 2012 года.

Литература