IPX/SPX

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

IPX/SPX (від англ. Internetwork Packet eXchange/Sequenced Packet eXchange) — стек протоколів, що використовується в мережах Novell NetWare. Протокол IPX забезпечує мережевий рівень (доставку пакетів, аналог IP), SPX — транспортний і сеансовий рівень (аналог TCP).

Реалізації[ред. | ред. код]

Novell значною мірою відповідає за використання IPX як популярного протоколу комп'ютерних мереж через їх домінування на ринку програмного забезпечення мережевих операційних систем (з Novell Netware) з кінця 1980-х до середини 1990-х років.

DOS[ред. | ред. код]

IPX/SPX був де-факто стандартом для багатокористувацьких мережевих ігор епохи DOS. Довговічність багатьох ігор було подовжено завдяки тунельним програмам, таким як Kali і Kahn, які дозволяли грати в них через Інтернет, а не лише через локальну мережу. DOSBox емулює IPX через UDP.

Windows[ред. | ред. код]

Через поширеність IPX/SPX у локальних мережах у 1990-х роках Microsoft додала підтримку протоколів у мережевий стек Windows, починаючи з Windows для робочих груп і Windows NT. Microsoft навіть назвала свою реалізацію «NWLink», маючи на увазі, що включення транспортів рівня 3/4 забезпечило підключення NetWare.

Здебільшого 32-розрядне клієнтське програмне забезпечення Windows від Novell уникає NWLink замість альтернативи, розробленої Novell, хоча деякі версії дозволяють використовувати реалізацію IPX/SPX від Microsoft (із застереженнями про потенційну несумісність).[1]

Інші[ред. | ред. код]

Впродовж кількох років Novell постачалв рідний клієнт NetWare для OS/2. Це було схоже за структурою на клієнт для DOS.

Novell також опублікував клієнт IPX для класичної Mac OS під назвою MacIPX.[2] Це використовувалося не лише клієнтом Mac NetWare, а й такими іграми, як Doom і Warcraft III[3] для багатокористувацьких ігор.

Реалізації були написані для різних варіантів Unix/Linux як Novell, так і іншими постачальниками. Зокрема, UnixWare від Novell спочатку підтримувала IPX/SPX. Однак, хоча UnixWare міг діяти як клієнт для серверів NetWare, а програми могли додатково підтримувати IPX/SPX як транспорт, UnixWare не надавав можливості спільно використовувати файли чи принтери в мережі NetWare без додаткового програмного пакета. Open Enterprise Server - Linux не підтримує IPX/SPX.[4] Раніше ядро Linux підтримувало IPX/SPX, але підтримку SPX було скасовано в 2002 році[5], а підтримку IPX було скасовано в 2018 році.[6]

Операційна система FreeBSD з відкритим вихідним кодом містить стек IPX/SPX для підтримки як клієнта файлової системи NetWare, nwfs, так і сервера NetWare, що використовує Mars NWE[7][8] (забезпечує певну функціональність[9]). OpenBSD відмовився від підтримки версії 4.2,[10][11] і 4.1 потребувала певної роботи для компіляції з IPX..[12]

Спадщина[ред. | ред. код]

Станом на 2024 рік використання IPX зменшилося, оскільки розвиток Інтернету зробив протокол TCP/IP повсюдним. Початкова спроба Novell підтримати TCP/IP як клієнтський протокол, названа NetWare/IP, просто «тунелювала» IPX в IP-пакетах, дозволяючи клієнтам і серверам NetWare спілкуватися через чисті мережі TCP/IP. Однак через складну реалізацію та значну втрату продуктивності через накладні витрати на тунелювання NetWare/IP здебільшого ігнорували, за винятком механізму для маршрутизації IPX через маршрутизатори лише з TCP/IP та канали WAN. У NetWare 5.x представлена власна підтримка NCP через TCP/IP, яка зараз є бажаною конфігурацією. Наступник NetWare, Open Enterprise Server, доступний у двох варіантах: OES-NetWare, який забезпечує застарілу підтримку IPX/SPX (застаріле), і OES-Linux, який підтримує лише TCP/IP.

І Microsoft, і Novell надали підтримку (через проксі-сервер/ISA-сервер і BorderManager відповідно) для IPX/SPX як протоколу внутрішньої мережі для зв'язку через брандмауер. Це дозволяє машині, яка використовує клієнтське програмне забезпечення, отримувати доступ до Інтернету без локальної інсталяції TCP/IP; клієнтське програмне забезпечення емулює власний стек TCP/IP і забезпечує підтримку WinSock для локальних програм (наприклад, веб-браузерів), але насправді спілкується з брандмауером через IPX/SPX. На додаток до спрощення міграції для застарілих локальних мереж IPX, це забезпечує певний рівень безпеки, оскільки використання протоколу IPX у внутрішній мережі забезпечує природний бар'єр проти зловмисників, якщо брандмауер буде скомпрометовано.

Однією з сфер, де IPX залишається корисним, є обхід VPN-з'єднань із політикою безпеки, яка забороняє зв'язок з іншими пристроями локальної мережі (наприклад, принтерами та мережевими сховищами) через TCP/IP.

Примітки[ред. | ред. код]

  1. How to play IPX / SPX games over LAN (WinXP). 12 квітня 2013.
  2. [1] Some notes on MacIPX internetworking, formerly at [2] [Архівовано 2010-08-23 у Wayback Machine.]
  3. Blizzard Support. Web.archive.org (2010-08-20). Retrieved on 2013-09-27
  4. (note however that the statement "Alan Cox first developed IPX support for the Linux kernel in 1985" must be a misprint because it predates the kernel itself)
  5. (see: "Remove SPX and the last typedefs in IPX, create ipx_hdr")
  6. ("staging: ipx: delete it from the tree")
  7. FreeBSD ports info on Mars NWE
  8. Freshports info on Mars NWE
  9. Novell's comments on Mars NWE
  10. OpenBSD 4.2 changes
  11. Removal of IPX from OpenBSD
  12. Berkeley Software Design (BSD): building kernel support with ipx fails [Архівовано July 26, 2011, у Wayback Machine.]