Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IPX/SPX
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Network protocols}} {{multiple issues| {{more citations needed|date=July 2008}} {{lead too short|date=April 2014}} {{original research|date=November 2015}} }} {{Infobox networking protocol | title = IPX/SPX | logo = | logo alt = | image = | image alt = | caption = | is stack = yes | purpose = [[LAN]] | developer = [[Novell]] | date = {{Start date and age| 1983 | | }}<!--Fill in: Year (4 digits), month and day (2 digits)--> | based on = [[Xerox Network Systems|XNS]] | influenced = | osilayer = 3 and 4 | ports = | rfcs = | hardware = [[Ethernet]], others }} '''IPX/SPX''' stands for '''Internetwork Packet Exchange/Sequenced Packet Exchange'''. [[Internetwork Packet Exchange|IPX]] and [[Sequenced Packet Exchange|SPX]] are [[networking protocol]]s used initially on networks using the (since discontinued) [[Novell]] [[NetWare]] [[operating systems]]. They also became widely used on networks deploying Microsoft Windows LANs, as they replaced NetWare LANs, but are no longer widely used. IPX/SPX was also widely used prior to and up to [[Windows XP]], which supported the protocols, while later Windows versions do not,<ref>{{Cite web |date=April 12, 2013 |title=How to play IPX / SPX games over LAN (WinXP) |url=https://oldpcgaming.net/how-to-play-ipx-spx-games-over-lan/ |access-date=February 23, 2021 |archive-date=March 2, 2021 |archive-url=https://web.archive.org/web/20210302042003/https://oldpcgaming.net/how-to-play-ipx-spx-games-over-lan/ |url-status=live }}</ref> and [[TCP/IP]] took over for networking. ==Protocol layers== IPX and SPX are derived from [[Xerox Network Systems]]' IDP and SPP protocols respectively. IPX is a [[network-layer]] protocol (layer 3 of the [[OSI model]]), while SPX is a [[transport-layer]] protocol (layer 4 of the OSI model). The SPX layer sits on top of the IPX layer and provides connection-oriented services between two nodes on the network. SPX is used primarily by [[client–server model|client–server]] applications. IPX and SPX both provide connection services similar to [[TCP/IP]], with the IPX protocol having similarities to [[Internet Protocol]], and SPX having similarities to [[Transmission Control Protocol|TCP]]. IPX/SPX was primarily designed for [[local area network]]s (LANs) and is a very efficient protocol for this purpose (typically SPX's performance exceeds that of TCP on a small LAN,{{citation needed|date=June 2011}} as in place of [[congestion window]]s and confirmatory acknowledgements, SPX uses simple [[NAK]]s). TCP/IP has, however, become the de facto standard protocol. This is in part due to its superior performance over [[wide area network]]s and the Internet (which uses IP exclusively), and also because TCP/IP is a more mature protocol,{{citation needed|date=April 2014}} designed specifically with this purpose in mind. Despite the protocols' association with NetWare, they are neither required for NetWare communication (as of NetWare 5.x), nor exclusively used on NetWare networks. NetWare communication requires an [[NetWare Core Protocol|NCP]] implementation, which can use IPX/SPX, TCP/IP, or both, as a transport. ==Implementations== Novell was largely responsible for the use of IPX as a popular computer networking protocol due to their dominance in the network operating system software market (with Novell Netware) from the late 1980s through the mid-1990s. ===DOS=== Novell's original NetWare client was written for [[DOS]]. Initial versions required a hard-linked protocol stack, where a separate executable would be created by the network administrator for each network card configuration on the network. This executable would be loaded at boot time and remain resident in memory until the system was shut down. Later implementations allowed the network stack to be loaded and unloaded dynamically, using pre-existing modules. This greatly simplified maintenance of client workstations on the network. IPX/SPX was the de facto standard for DOS-era multi-user network games. Many games' longevity were extended through tunneling programs like [[Kali (game browser)|Kali]] and [[Kahn (game browser)|Kahn]] which allowed them to be played over the internet instead of LAN-only. [[DOSBox]] emulates IPX over [[User Datagram Protocol|UDP]]. ===Windows=== Because of IPX/SPX's prevalence in LANs in the 1990s, Microsoft added support for the protocols into [[Microsoft Windows|Windows]]' networking stack, starting with [[Windows for Workgroups]] and [[Windows NT]]. Microsoft even named their implementation "[[NWLink]]", implying that the inclusion of the layer 3/4 transports provided NetWare connectivity. In reality, the protocols were supported as a native transport for Windows' [[Server Message Block|SMB]]/[[NetBIOS]], and NetWare connectivity required additional installation of an [[NetWare Core Protocol|NCP]] client (Microsoft provided a basic NetWare client with [[Windows 95]] and later, but it was not automatically installed, and initially only supported NetWare bindery mode). NWLink was still provided with Windows (up to and including [[Windows Server 2003]]), but it is neither included with nor supported in [[Windows Vista]]. Its use is strongly discouraged{{By whom|date=November 2023}} because it cannot be used for Windows networking except as a transport for NetBIOS, which is deprecated. For the most part, Novell's 32-bit Windows client software have eschewed NWLink for an alternative developed by Novell, although some versions permit use of Microsoft's IPX/SPX implementation (with warnings about potential incompatibility). ===Others=== For several years, Novell supplied a native NetWare client for [[OS/2]]. This was similar in structure to the client for DOS. Novell also published an IPX client for [[Classic Mac OS]] called MacIPX.<ref>[http://www.primarycomputer.net/english/NW5/USCOMM/RTCN_ENU/DATA/HXUW8MXG.HTM] {{Webarchive|url=https://web.archive.org/web/20110724020546/http://www.primarycomputer.net/english/NW5/USCOMM/RTCN_ENU/DATA/HXUW8MXG.HTM |date=2011-07-24 }} Some notes on MacIPX internetworking, formerly at [http://www.novell.com/documentation/nw5/docui/#../uscomm/rtcn_enu/data/hxuw8mxg.html] {{Webarchive|url=https://web.archive.org/web/20100823195310/http://www.novell.com/documentation/nw5/docui/#../uscomm/rtcn_enu/data/hxuw8mxg.html |date=2010-08-23 }}</ref> This was not only used by the Mac NetWare client, but also by games such as [[Doom (1993 video game)|Doom]] and [[Warcraft III]]<ref>[https://web.archive.org/web/20100820002451/http://us.blizzard.com/support/article.xml?locale=en_US&articleId=21196 Blizzard Support]. Web.archive.org (2010-08-20). Retrieved on 2013-09-27.</ref> for multiplayer play. Implementations have been written for various flavors of [[Unix]]/[[Linux]], both by Novell and other vendors. In particular, Novell's [[UnixWare]] supported IPX/SPX natively. However, while UnixWare could act as a client to NetWare servers, and applications could optionally support IPX/SPX as a transport, UnixWare did not provide the ability to share files or printers on a NetWare network without an additional software package. [[Open Enterprise Server#OES-Linux|Open Enterprise Server - Linux]] does not support IPX/SPX.<ref>http://www.oreilly.com/openbook/linag2/book/ch15.html {{Webarchive|url=https://web.archive.org/web/20221105111004/https://www.oreilly.com/openbook/linag2/book/ch15.html |date=2022-11-05 }} (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)</ref> The Linux kernel used to support IPX/SPX, but SPX support was removed in 2002,<ref>https://lwn.net/Articles/7208/ {{Webarchive|url=https://web.archive.org/web/20220803163939/https://lwn.net/Articles/7208/ |date=2022-08-03 }} (see: "Remove SPX and the last typedefs in IPX, create ipx_hdr")</ref> and IPX support was removed in 2018.<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7a2e838d28cff6718a0bdf66164465402f8e40ed {{Webarchive|url=https://web.archive.org/web/20221105110956/https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7a2e838d28cff6718a0bdf66164465402f8e40ed |date=2022-11-05 }} ("staging: ipx: delete it from the tree")</ref> The open source [[FreeBSD]] operating system includes an IPX/SPX stack, to support both a NetWare file system client, nwfs, as well as NetWare server using Mars NWE<ref>{{Cite web |url=http://www.freebsd.org/cgi/ports.cgi?query=mars_nwe&stype=all&sektion=all |title=FreeBSD ports info on Mars NWE |access-date=2010-05-09 |archive-date=2022-11-05 |archive-url=https://web.archive.org/web/20221105110957/https://www.freebsd.org/cgi/ports.cgi?query=mars_nwe&stype=all&sektion=all |url-status=live }}</ref><ref>{{Cite web |url=http://www.freshports.org/net/mars_nwe/ |title=Freshports info on Mars NWE |access-date=2010-05-09 |archive-date=2022-11-05 |archive-url=https://web.archive.org/web/20221105111012/https://www.freshports.org/net/mars_nwe/ |url-status=live }}</ref> (providing some functionality<ref>{{Cite web |url=http://www.novell.com/documentation/suse91/suselinux-adminguide/html/ch17s03.html |title=Novell's comments on Mars NWE |access-date=2010-05-09 |archive-date=2024-06-01 |archive-url=https://web.archive.org/web/20240601041058/http://www.novell.com/documentation/suse91/suselinux-adminguide/html/ch17s03.html |url-status=live }}</ref>). [[OpenBSD]] dropped support with version 4.2,<ref>{{Cite web |url=http://www.openbsd.org/plus42.html |title=OpenBSD 4.2 changes |access-date=2010-05-09 |archive-date=2011-04-12 |archive-url=https://web.archive.org/web/20110412185837/http://www.openbsd.org/plus42.html |url-status=live }}</ref><ref>{{Cite web |url=http://marc.info/?l=openbsd-cvs&m=118112463718127&w=2 |title=Removal of IPX from OpenBSD |access-date=2010-05-09 |archive-date=2022-11-05 |archive-url=https://web.archive.org/web/20221105110958/https://marc.info/?l=openbsd-cvs&m=118112463718127&w=2 |url-status=live }}</ref> and 4.1 needed some work to compile with IPX.<ref>[http://software.itags.org/bsd/10745/ Berkeley Software Design (BSD): building kernel support with ipx fails] {{webarchive |url=https://web.archive.org/web/20110726194806/http://software.itags.org/bsd/10745/ |date=July 26, 2011 }}</ref> ==Legacy== IPX usage has declined in recent years, as the rise of the Internet has made TCP/IP ubiquitous. Novell's initial attempt to support TCP/IP as a client protocol, called NetWare/IP, simply [[Tunneling protocol|"tunneled"]] IPX within IP packets, allowing NetWare clients and servers to communicate over pure TCP/IP networks. However, due to complex implementation and a significant loss in performance due to the tunnelling overhead, NetWare/IP was largely ignored, except as a mechanism to route IPX through TCP/IP-only routers and WAN links. NetWare 5.x introduced native support for [[NetWare Core Protocol|NCP]] over TCP/IP, which is now the preferred configuration. The successor to NetWare, [[Open Enterprise Server]], comes in two flavors: [[Open Enterprise Server#OES-NetWare|OES-NetWare]], which provides legacy support for IPX/SPX (deprecated), and [[Open Enterprise Server#OES-Linux|OES-Linux]], which only supports TCP/IP. Both Microsoft and Novell have provided support (through [[Microsoft Internet Security and Acceleration Server|Proxy Server/ISA Server]] and [[BorderManager]] respectively) for IPX/SPX as an intranet protocol to communicate through a [[Firewall (networking)|firewall]]. This allows a machine using client software to access the Internet without having TCP/IP installed locally; the client software emulates a native TCP/IP stack and provides [[WinSock]] support for local applications (e.g. web browsers), but actually communicates with the firewall over IPX/SPX. In addition to simplifying migration for legacy IPX LANs, this provides a measure of security, as the use of the IPX protocol on the internal network provides a natural barrier against intruders, should the firewall be compromised. One area where IPX remains useful is for bypassing [[Virtual private network|VPN connections]] with security policies that prohibit communication with other LAN devices (such as printers and [[network-attached storage]]) via TCP/IP.{{citation needed|date=July 2013}} ==See also== * [[Internetwork Packet Exchange]] (IPX) * [[NetWare Core Protocol]] (NCP) * [[NetBIOS Frames]] (NBF) * [[NetBIOS over TCP/IP]] (NBT) * [[NWLink]] * [[Communications protocol]] ==References== {{Reflist}} {{Authority control}} {{DEFAULTSORT:Ipx Spx}} [[Category:Network architecture]] [[Category:Novell NetWare]] [[Category:XNS based protocols]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:By whom
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite web
(
edit
)
Template:Infobox networking protocol
(
edit
)
Template:Multiple issues
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Webarchive
(
edit
)